@diagrammo/dgmo 0.52.0 → 0.54.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 (339) hide show
  1. package/.cursorrules +59 -58
  2. package/.github/copilot-instructions.md +59 -58
  3. package/.windsurfrules +59 -58
  4. package/SKILL.md +59 -58
  5. package/dist/advanced.d.ts +101 -230
  6. package/dist/advanced.js +330 -658
  7. package/dist/analyzer-TDN5KJFP.js +15 -0
  8. package/dist/auto.css +14 -6
  9. package/dist/auto.js +163 -139
  10. package/dist/auto.mjs +1859 -885
  11. package/dist/block.css +14 -6
  12. package/dist/block.js +96 -81
  13. package/dist/calculator-VBIT6GQF.js +11 -0
  14. package/dist/chart-meta-CPNVUZ5J.d.ts +232 -0
  15. package/dist/chart-meta.d.ts +2 -0
  16. package/dist/chart-meta.js +108 -0
  17. package/dist/charts-d3-25E4VWXO.js +27 -0
  18. package/dist/chunk-2CW5ZTNH.js +58 -0
  19. package/dist/{chunk-BPY242XU.js → chunk-2NYXI35Z.js} +32 -14
  20. package/dist/{chunk-AUIM2NVH.js → chunk-2NZOHEP4.js} +7 -8
  21. package/dist/{chunk-HFMYN6N2.js → chunk-3B2GXZCX.js} +4 -3
  22. package/dist/chunk-3FRO35WW.js +1158 -0
  23. package/dist/{chunk-J7TLCB2Q.js → chunk-3IUHKMJI.js} +2 -2
  24. package/dist/{chunk-R3YSD62R.js → chunk-3KHJJP3J.js} +3 -3
  25. package/dist/{chunk-6LBQ7ELG.js → chunk-3SBHODJ4.js} +36 -17
  26. package/dist/{chunk-4UNQ6X24.js → chunk-3SEEP2JM.js} +4 -4
  27. package/dist/{chunk-7L4UJOY6.js → chunk-3TYUXC7D.js} +2 -2
  28. package/dist/{chunk-Y2ZE3MSG.js → chunk-43E26CDA.js} +2 -2
  29. package/dist/{chunk-CCNDLW7Z.js → chunk-47JNEKJA.js} +9 -9
  30. package/dist/{chunk-WCT3NYCV.js → chunk-4ASYQ347.js} +33 -8
  31. package/dist/{chunk-I5IGB56C.js → chunk-4QV26TEG.js} +41 -1
  32. package/dist/{chunk-INE5YJBZ.js → chunk-4T6OCSJ2.js} +8 -8
  33. package/dist/{chunk-CXK4DZH3.js → chunk-4W2PE66Q.js} +12 -2
  34. package/dist/{chunk-7KINELPI.js → chunk-4ZIKWVSQ.js} +17 -16
  35. package/dist/{chunk-JED6ZDEE.js → chunk-5HWPEYWB.js} +2 -2
  36. package/dist/{chunk-HWX6ZHF3.js → chunk-5VXU6MND.js} +6 -6
  37. package/dist/{chunk-44VCIPHF.js → chunk-5XSNLXU5.js} +23 -20
  38. package/dist/{chunk-4AQRFDXL.js → chunk-62Y27T4C.js} +2 -2
  39. package/dist/{chunk-QHXCAEMX.js → chunk-6KL7TFLS.js} +5 -5
  40. package/dist/{chunk-5BHJZH62.js → chunk-6OYDOQ2Q.js} +18 -6
  41. package/dist/{chunk-5HILBT7X.js → chunk-7JDTNFAK.js} +3 -3
  42. package/dist/{chunk-JRCOYRRH.js → chunk-7K6NDSXH.js} +9 -9
  43. package/dist/{chunk-5NGAO4QK.js → chunk-7SP4C6EV.js} +11 -11
  44. package/dist/{chunk-I46X5VUA.js → chunk-7TF3QOOD.js} +25 -1
  45. package/dist/{chunk-WRNFDFPU.js → chunk-7U4OR7CD.js} +2 -2
  46. package/dist/{chunk-5RP7JRVP.js → chunk-7UPFTBOW.js} +21 -17
  47. package/dist/{chunk-AAXZDUOV.js → chunk-A3BDLDYG.js} +17 -16
  48. package/dist/{chunk-GCYTI3DE.js → chunk-ADCHLNWT.js} +56 -10
  49. package/dist/{chunk-QBZYACOG.js → chunk-ADYKAKE3.js} +3 -3
  50. package/dist/{chunk-HHKO6SKY.js → chunk-AHTTKERF.js} +3 -3
  51. package/dist/{chunk-BKVOYV6I.js → chunk-AJFHNS67.js} +15 -15
  52. package/dist/{chunk-EMLPOL77.js → chunk-AQEYUVGJ.js} +124 -41
  53. package/dist/{chunk-3LK5DNED.js → chunk-B4XS2AF2.js} +3 -3
  54. package/dist/{chunk-REJAIQ5S.js → chunk-B7N5KYXQ.js} +16 -16
  55. package/dist/chunk-BEOAKGNA.js +484 -0
  56. package/dist/{chunk-SMRFPVLQ.js → chunk-BM7MG6HT.js} +4 -4
  57. package/dist/{chunk-P3NRSSUU.js → chunk-BULHGPHK.js} +3 -3
  58. package/dist/{chunk-QZX5S6R3.js → chunk-BWYFIVZF.js} +149 -89
  59. package/dist/{chunk-UBLHQTLV.js → chunk-BZJIITYM.js} +11 -10
  60. package/dist/{chunk-PRI2OD4E.js → chunk-C2UORMIA.js} +11 -6
  61. package/dist/{chunk-3YRPZ7ZZ.js → chunk-CCGWX6AO.js} +4 -4
  62. package/dist/{chunk-H7KENAZO.js → chunk-COJW2NEY.js} +73 -13
  63. package/dist/{chunk-WBRZJOEC.js → chunk-COVYNAKJ.js} +6 -6
  64. package/dist/{chunk-7QE3XMRK.js → chunk-CSHFU6LT.js} +13 -13
  65. package/dist/{chunk-6EJITS44.js → chunk-DLU643TF.js} +7 -7
  66. package/dist/{chunk-LBMS4AW6.js → chunk-DPGQ5UMO.js} +14 -14
  67. package/dist/{chunk-LTXOLDUZ.js → chunk-EAI6XJ7D.js} +12 -5
  68. package/dist/{chunk-FT3ZYWET.js → chunk-EPRF3ZRV.js} +11 -10
  69. package/dist/chunk-EQOMY4PY.js +404 -0
  70. package/dist/{chunk-USZW2HHU.js → chunk-EQW6HOP4.js} +4 -3
  71. package/dist/{chunk-HBPDFCQY.js → chunk-F7XM366V.js} +10 -9
  72. package/dist/{chunk-DYWQFQJP.js → chunk-FFVFZLRT.js} +57 -24
  73. package/dist/{chunk-77FGAVZC.js → chunk-FR6UFVSV.js} +19 -17
  74. package/dist/{chunk-MUE65OTD.js → chunk-FVMKCZHF.js} +8 -6
  75. package/dist/{chunk-3QD7VP3U.js → chunk-GK32ZFZY.js} +17 -10
  76. package/dist/{chunk-TJVLKNGR.js → chunk-GKYHWJXI.js} +5 -5
  77. package/dist/{chunk-FQMUHRVC.js → chunk-GQ5ECRP4.js} +13 -10
  78. package/dist/{chunk-5QKQSSPO.js → chunk-GRM2A4BG.js} +4 -4
  79. package/dist/{chunk-OTOHI4JO.js → chunk-H3HFC3SQ.js} +2 -2
  80. package/dist/{chunk-BPIZNB5O.js → chunk-HAA25PLC.js} +10 -10
  81. package/dist/{chunk-YIBAWQGJ.js → chunk-HFEOOQ46.js} +4 -4
  82. package/dist/{chunk-J76PIKAT.js → chunk-HO3RCNF6.js} +3 -3
  83. package/dist/{chunk-7DF4J4RL.js → chunk-I47VHSPS.js} +19 -13
  84. package/dist/{chunk-5SEVICBT.js → chunk-ICKXIMBA.js} +10 -9
  85. package/dist/{chunk-A44USUV7.js → chunk-ICZ7M6IZ.js} +23 -17
  86. package/dist/{chunk-SWSIKFEB.js → chunk-IOIMQHQ6.js} +4 -4
  87. package/dist/{chunk-6HQH6JZE.js → chunk-IYNKLCAZ.js} +7 -7
  88. package/dist/{chunk-YAA6IID3.js → chunk-J7HQPVYH.js} +2 -2
  89. package/dist/{chunk-WBM7ZNDI.js → chunk-JYDMBWRP.js} +35 -18
  90. package/dist/{chunk-ZJV7GYR4.js → chunk-KBVOVDYP.js} +8 -8
  91. package/dist/{chunk-ICPJPQ5C.js → chunk-KDK5EKUR.js} +3 -3
  92. package/dist/{chunk-FHGVORFO.js → chunk-KINOX74I.js} +12 -12
  93. package/dist/{chunk-XD6ZYURY.js → chunk-KQ3FNRGR.js} +7 -14
  94. package/dist/{chunk-3HGU63UY.js → chunk-KQYQECWQ.js} +17 -16
  95. package/dist/{chunk-MUVJ57EP.js → chunk-KS5ZSM5T.js} +20 -17
  96. package/dist/{chunk-FY5MSZAP.js → chunk-KV4HLIJE.js} +21 -6
  97. package/dist/{chunk-LGT3PZCJ.js → chunk-LPJ6H5X4.js} +17 -17
  98. package/dist/{chunk-ONU3U4GL.js → chunk-LRSW4JLE.js} +52 -16
  99. package/dist/{chunk-TPFKKXCB.js → chunk-M24VXUFG.js} +7 -7
  100. package/dist/{chunk-QJMKPUYK.js → chunk-M3H7ZE6C.js} +21 -14
  101. package/dist/{chunk-QVENJMNX.js → chunk-MEQYZZFR.js} +2 -2
  102. package/dist/{chunk-75G3Q4DK.js → chunk-MTZOXISJ.js} +9 -9
  103. package/dist/{chunk-J7KJR3R6.js → chunk-N7BSBAVP.js} +133 -696
  104. package/dist/{chunk-VQOCMUWI.js → chunk-NUTWTV6G.js} +13 -11
  105. package/dist/{chunk-7BIZCTAX.js → chunk-O576GYAP.js} +3 -3
  106. package/dist/{chunk-H6PI3KJT.js → chunk-ODUT5WMC.js} +2 -2
  107. package/dist/{chunk-AL672HNE.js → chunk-OJ435DQZ.js} +17 -7
  108. package/dist/{chunk-3HF5YEFJ.js → chunk-OR3R27CU.js} +4 -4
  109. package/dist/{chunk-QGATPIPX.js → chunk-OSXQKC3S.js} +35 -23
  110. package/dist/{chunk-FUPF2UYQ.js → chunk-PIXZTCKH.js} +51 -108
  111. package/dist/{chunk-QOOUC2J5.js → chunk-Q5IHQ4NW.js} +12 -2
  112. package/dist/{chunk-4IHAV6O7.js → chunk-QBYP2FBZ.js} +10 -478
  113. package/dist/{chunk-GU46PPT3.js → chunk-QXGACPS2.js} +5 -5
  114. package/dist/{chunk-FMDSF3OV.js → chunk-QZAW5SFH.js} +2 -2
  115. package/dist/{chunk-YTMTPUH4.js → chunk-R5BGGBFF.js} +4 -4
  116. package/dist/{chunk-KGVZ5VGH.js → chunk-RIEAN4D5.js} +16 -12
  117. package/dist/{chunk-5223KXFD.js → chunk-RJ5LBZ5U.js} +7 -7
  118. package/dist/{chunk-K4EOKJA6.js → chunk-RRGKMJYL.js} +45 -18
  119. package/dist/{chunk-TTIM6YTT.js → chunk-S7FOIURR.js} +14 -13
  120. package/dist/{chunk-IM6PDDCE.js → chunk-S7YFT3PO.js} +78 -23
  121. package/dist/{chunk-ZEF5M5MB.js → chunk-SBOAZ7YK.js} +82 -296
  122. package/dist/{chunk-6NYWYNBI.js → chunk-SSHS42QG.js} +6 -6
  123. package/dist/{chunk-NNS4E7CW.js → chunk-T3FAJAJT.js} +18 -9
  124. package/dist/{chunk-ROOE4R4Y.js → chunk-T7Y554OK.js} +146 -18
  125. package/dist/chunk-TGOMHUOV.js +218 -0
  126. package/dist/{chunk-K2I2XOZD.js → chunk-TJN2OIVG.js} +30 -15
  127. package/dist/{chunk-VILVLS7P.js → chunk-TLNVYWPA.js} +8 -4
  128. package/dist/{chunk-GJFAMOGK.js → chunk-U4IN6AHE.js} +7 -7
  129. package/dist/chunk-U7VO6JAA.js +566 -0
  130. package/dist/{chunk-MX2EY5Y7.js → chunk-UEU6IYKY.js} +2 -2
  131. package/dist/{chunk-J6QROYDA.js → chunk-UIT7E6UF.js} +26 -10
  132. package/dist/{chunk-Z72XRXD4.js → chunk-UJRTPOHH.js} +3 -3
  133. package/dist/{chunk-TYS6CSS5.js → chunk-UU6LUYUH.js} +2 -2
  134. package/dist/{chunk-VL2O2F3W.js → chunk-VHO3YBTB.js} +2 -2
  135. package/dist/{chunk-4YFKQ5WT.js → chunk-VMSBMIHW.js} +5 -5
  136. package/dist/{chunk-Z5QVYKR7.js → chunk-VQFDBNYF.js} +4 -4
  137. package/dist/{chunk-UNURMIQO.js → chunk-W6PCFRPL.js} +4 -4
  138. package/dist/{chunk-FFUN5D66.js → chunk-WF64MW5G.js} +2 -2
  139. package/dist/{chunk-T4A4TSTJ.js → chunk-WKNAJ4BR.js} +20 -18
  140. package/dist/{chunk-CIRFIL4M.js → chunk-WW4BQ744.js} +11 -11
  141. package/dist/{chunk-ARGMQ3H4.js → chunk-WWHECSYZ.js} +3 -3
  142. package/dist/{chunk-ZNWAYU6N.js → chunk-XWODFBHJ.js} +73 -18
  143. package/dist/{chunk-HQQNCY7W.js → chunk-YENNFS5F.js} +10 -10
  144. package/dist/{chunk-TLVIHFRO.js → chunk-ZKPPI6BF.js} +2 -2
  145. package/dist/cli.cjs +173 -157
  146. package/dist/clock.js +9 -1
  147. package/dist/completion-registry.d.ts +129 -0
  148. package/dist/completion-registry.js +1270 -0
  149. package/dist/{compute-G55RG53N.js → compute-JAP5E2E4.js} +2 -2
  150. package/dist/countdown.js +4 -3
  151. package/dist/dgmo-router-TGZWFIZO.js +88 -0
  152. package/dist/dimensions-L6BXQXXL.js +22 -0
  153. package/dist/editor.js +51 -5
  154. package/dist/element.js +163 -139
  155. package/dist/element.mjs +1859 -885
  156. package/dist/flowchart-parser-UKYOW3VM.js +21 -0
  157. package/dist/{flowchart-renderer-MNCDS7MV.js → flowchart-renderer-DCFKUDDR.js} +16 -16
  158. package/dist/highlight.js +55 -6
  159. package/dist/index.d.ts +4 -2
  160. package/dist/index.js +89 -81
  161. package/dist/layout-25Y3VDYF.js +19 -0
  162. package/dist/layout-4SPLI4HG.js +15 -0
  163. package/dist/layout-5XGYNYVT.js +9 -0
  164. package/dist/{layout-OAC4PEAC.js → layout-A6OIGZN2.js} +7 -7
  165. package/dist/layout-AZUPXWSK.js +15 -0
  166. package/dist/{layout-F4WO357A.js → layout-CAAKQX4W.js} +3 -3
  167. package/dist/{layout-A5UHRWVH.js → layout-CB3XWCOI.js} +3 -3
  168. package/dist/layout-CH4HFFRD.js +15 -0
  169. package/dist/layout-G2ABQJQZ.js +20 -0
  170. package/dist/{layout-7QXCNOVS.js → layout-HBWT2G23.js} +3 -3
  171. package/dist/{layout-2L3WMRYU.js → layout-ITLPDG6M.js} +9 -8
  172. package/dist/layout-NF4EWFLT.js +17 -0
  173. package/dist/layout-NY7MHJCL.js +15 -0
  174. package/dist/layout-QBNAMEOA.js +19 -0
  175. package/dist/layout-SP7HJWKA.js +17 -0
  176. package/dist/{layout-search-55FU6HD3.js → layout-search-LUI475P3.js} +56 -35
  177. package/dist/legend-constants-B77VKB3R.js +54 -0
  178. package/dist/{palettes-UDLZ2SA4.js → palettes-FGTNFARW.js} +4 -4
  179. package/dist/parser-2UWWNTFL.js +12 -0
  180. package/dist/parser-3RXYQSA7.js +18 -0
  181. package/dist/parser-5C3PEZK3.js +11 -0
  182. package/dist/parser-66RYGJRB.js +20 -0
  183. package/dist/parser-6GN5YJBJ.js +13 -0
  184. package/dist/parser-6MQM7WT3.js +15 -0
  185. package/dist/{parser-DQAFLUJB.js → parser-7UI6UQ7B.js} +7 -7
  186. package/dist/parser-B2A7XOAK.js +12 -0
  187. package/dist/parser-CCNJKDDA.js +16 -0
  188. package/dist/parser-ESHNUFME.js +13 -0
  189. package/dist/parser-F4FEU57T.js +11 -0
  190. package/dist/parser-FHRMFUNX.js +15 -0
  191. package/dist/parser-FPCWDYQV.js +13 -0
  192. package/dist/parser-FY3YFFBS.js +20 -0
  193. package/dist/parser-GML6V2KZ.js +14 -0
  194. package/dist/parser-HA3PF5FL.js +15 -0
  195. package/dist/parser-KTYF6WO5.js +11 -0
  196. package/dist/{parser-ZL5QUFVH.js → parser-LTA2BOZO.js} +5 -5
  197. package/dist/parser-LU7UAKNB.js +13 -0
  198. package/dist/parser-MHKYQPC2.js +11 -0
  199. package/dist/parser-MVSYFK63.js +17 -0
  200. package/dist/parser-O7YQYFEN.js +15 -0
  201. package/dist/parser-OPIXXUY4.js +21 -0
  202. package/dist/parser-S4EJPNVN.js +19 -0
  203. package/dist/parser-T3D7BV6O.js +11 -0
  204. package/dist/{parser-YKYMQG3B.js → parser-VVE4THG3.js} +6 -6
  205. package/dist/parser-WPPJGB4R.js +12 -0
  206. package/dist/parser-X5XLFY4Z.js +22 -0
  207. package/dist/parser-XCPMEB2Z.js +11 -0
  208. package/dist/parser-XRDUX2AR.js +14 -0
  209. package/dist/parser-YPWYT46P.js +16 -0
  210. package/dist/parser-YULS5MLD.js +13 -0
  211. package/dist/pert.d.ts +2 -0
  212. package/dist/registry-CaSw0PSH.d.ts +350 -0
  213. package/dist/renderer-2DME63VZ.js +16 -0
  214. package/dist/renderer-3VY3VXJE.js +37 -0
  215. package/dist/renderer-4A32DX5L.js +24 -0
  216. package/dist/renderer-4K5YYX5R.js +28 -0
  217. package/dist/renderer-6CFML5G3.js +22 -0
  218. package/dist/renderer-7HMZ5OCJ.js +16 -0
  219. package/dist/renderer-7ZNVOVFG.js +16 -0
  220. package/dist/{renderer-CQY6ATOS.js → renderer-B7Y6I7JX.js} +9 -8
  221. package/dist/renderer-C3RI4OPJ.js +33 -0
  222. package/dist/renderer-CJ56SUMF.js +26 -0
  223. package/dist/renderer-COJZZ4F6.js +25 -0
  224. package/dist/renderer-FXMGCSRP.js +26 -0
  225. package/dist/{renderer-HSHHVYWF.js → renderer-G4UOW3RH.js} +7 -7
  226. package/dist/renderer-HQ4JFZOV.js +27 -0
  227. package/dist/{renderer-NHO46CT2.js → renderer-K7XLVPH5.js} +6 -6
  228. package/dist/{renderer-ZWIH4WDW.js → renderer-LHVCKEWF.js} +13 -13
  229. package/dist/renderer-OZX5KGQM.js +21 -0
  230. package/dist/{renderer-3F7OS2AX.js → renderer-P3YQES7B.js} +16 -16
  231. package/dist/renderer-PLVIARM7.js +24 -0
  232. package/dist/renderer-RA4PTAMF.js +19 -0
  233. package/dist/renderer-RMAM2SOJ.js +28 -0
  234. package/dist/renderer-SES7QZYL.js +37 -0
  235. package/dist/renderer-TQ5QDZOE.js +22 -0
  236. package/dist/renderer-V5SNTPAM.js +27 -0
  237. package/dist/{renderer-5DAKMIU2.js → renderer-WCWI4I6A.js} +5 -5
  238. package/dist/renderer-WVD6G2TS.js +34 -0
  239. package/dist/{renderer-DT4XRFEP.js → renderer-X2LYSMLU.js} +7 -7
  240. package/dist/renderer-Y3NXZINM.js +24 -0
  241. package/dist/{renderer-KNFTTOBL.js → renderer-YEFOOULC.js} +14 -14
  242. package/dist/renderer-YP3P6UVT.js +24 -0
  243. package/dist/renderer-YVMETH6V.js +29 -0
  244. package/dist/renderer-Z4GNKNXO.js +24 -0
  245. package/dist/renderer-radial-VYBZAXXE.js +21 -0
  246. package/dist/{resolver-EMTGNR3D.js → resolver-WFKZYBJ2.js} +4 -4
  247. package/dist/state-parser-VIW2WNA5.js +19 -0
  248. package/dist/state-renderer-H22AQD3U.js +38 -0
  249. package/dist/{themes-32xj5ZTW.d.ts → themes-tbBkIVsn.d.ts} +2 -349
  250. package/docs/ai-integration.md +59 -58
  251. package/docs/language-reference.md +323 -286
  252. package/fonts/Inter-Bold.woff2 +0 -0
  253. package/fonts/Inter-Regular.woff2 +0 -0
  254. package/gallery/fixtures/boxes-and-lines-diverging.dgmo +1 -2
  255. package/gallery/fixtures/boxes-and-lines.dgmo +1 -1
  256. package/gallery/fixtures/clock.dgmo +1 -1
  257. package/gallery/fixtures/event-line.dgmo +1 -1
  258. package/gallery/fixtures/gantt-full.dgmo +1 -1
  259. package/gallery/fixtures/gantt-sprints.dgmo +9 -9
  260. package/gallery/fixtures/gantt.dgmo +1 -1
  261. package/gallery/fixtures/legacy-syntax-backcompat.dgmo +16 -0
  262. package/gallery/fixtures/state-tags.dgmo +40 -0
  263. package/gallery/fixtures/swimlane.dgmo +1 -1
  264. package/gallery/fixtures/timeline-intraday.dgmo +1 -1
  265. package/package.json +9 -1
  266. package/dist/analyzer-BJ54GIFB.js +0 -15
  267. package/dist/calculator-LDYQCDDY.js +0 -11
  268. package/dist/charts-d3-MXEP6BNP.js +0 -26
  269. package/dist/chunk-BRENJ2BQ.js +0 -714
  270. package/dist/chunk-FQ7HTV52.js +0 -364
  271. package/dist/dgmo-router-X7ZGAPIE.js +0 -86
  272. package/dist/dimensions-45H6JQEY.js +0 -22
  273. package/dist/flowchart-parser-UKELHBSB.js +0 -21
  274. package/dist/layout-46N4JJYK.js +0 -17
  275. package/dist/layout-A4XWNVID.js +0 -14
  276. package/dist/layout-AM2JWW3X.js +0 -15
  277. package/dist/layout-EE6GE46Y.js +0 -17
  278. package/dist/layout-G23F7LDH.js +0 -9
  279. package/dist/layout-GM4UGR7B.js +0 -19
  280. package/dist/layout-GQQJXNYH.js +0 -15
  281. package/dist/layout-IIE2S5FK.js +0 -20
  282. package/dist/layout-VMCRX66I.js +0 -14
  283. package/dist/layout-ZDOSXL5G.js +0 -19
  284. package/dist/parser-2ECN6JA2.js +0 -16
  285. package/dist/parser-4WTIHM5J.js +0 -11
  286. package/dist/parser-5H2BTSJQ.js +0 -11
  287. package/dist/parser-75KVXUNS.js +0 -16
  288. package/dist/parser-774AC53T.js +0 -13
  289. package/dist/parser-BE4YCSRU.js +0 -11
  290. package/dist/parser-CNGUQUQI.js +0 -11
  291. package/dist/parser-DEUUSQIN.js +0 -22
  292. package/dist/parser-EYCKNKQA.js +0 -21
  293. package/dist/parser-FXISIU6A.js +0 -14
  294. package/dist/parser-GTB4XC7P.js +0 -18
  295. package/dist/parser-GVEPAUSD.js +0 -12
  296. package/dist/parser-HSQGTY4G.js +0 -19
  297. package/dist/parser-HVKRINUS.js +0 -11
  298. package/dist/parser-J5MIEYO4.js +0 -15
  299. package/dist/parser-KMZIXLDZ.js +0 -13
  300. package/dist/parser-LJHXWSXU.js +0 -14
  301. package/dist/parser-PT3W72G5.js +0 -15
  302. package/dist/parser-SBJQDPHL.js +0 -15
  303. package/dist/parser-SUWWWCMX.js +0 -12
  304. package/dist/parser-SXDRNZOA.js +0 -13
  305. package/dist/parser-UMILOW3M.js +0 -14
  306. package/dist/parser-UP3AZ367.js +0 -13
  307. package/dist/parser-WHPRV3X5.js +0 -20
  308. package/dist/parser-WX3UODSJ.js +0 -12
  309. package/dist/parser-XCIEN3KN.js +0 -13
  310. package/dist/parser-XIRTUMVN.js +0 -18
  311. package/dist/parser-YKCGIG45.js +0 -11
  312. package/dist/parser-ZGM2OJ6Y.js +0 -22
  313. package/dist/renderer-4QB4K7Q3.js +0 -24
  314. package/dist/renderer-5H4SY7YY.js +0 -22
  315. package/dist/renderer-5PIQPFOX.js +0 -16
  316. package/dist/renderer-6MU37QF5.js +0 -19
  317. package/dist/renderer-AQVMWJ4M.js +0 -27
  318. package/dist/renderer-BDDW6K7N.js +0 -24
  319. package/dist/renderer-BNB3VIDY.js +0 -26
  320. package/dist/renderer-CVW75CXL.js +0 -37
  321. package/dist/renderer-ERHBSTQT.js +0 -25
  322. package/dist/renderer-IDPVUFNB.js +0 -28
  323. package/dist/renderer-ILX6BGKR.js +0 -21
  324. package/dist/renderer-JP663HKG.js +0 -22
  325. package/dist/renderer-MVUZBESR.js +0 -16
  326. package/dist/renderer-N4EBR2FV.js +0 -28
  327. package/dist/renderer-NO2QJ5LZ.js +0 -27
  328. package/dist/renderer-OGFV5RXX.js +0 -34
  329. package/dist/renderer-PDLESJMS.js +0 -37
  330. package/dist/renderer-T4MTNINC.js +0 -24
  331. package/dist/renderer-TOUGFGTM.js +0 -24
  332. package/dist/renderer-U3KPD43Y.js +0 -34
  333. package/dist/renderer-X334IJU2.js +0 -26
  334. package/dist/renderer-Y5OAMOCR.js +0 -23
  335. package/dist/renderer-YONAKAJU.js +0 -16
  336. package/dist/renderer-YWMI6Y2U.js +0 -29
  337. package/dist/renderer-radial-7CGZMVMS.js +0 -21
  338. package/dist/state-parser-BATWAID2.js +0 -18
  339. package/dist/state-renderer-3FKZJ3LP.js +0 -34
package/dist/block.css CHANGED
@@ -27,17 +27,25 @@
27
27
 
28
28
  /* === Toolbar ===
29
29
  * The diagram is the star: the toolbar is an overlay pinned to the diagram's
30
- * top-right corner (position:absolute — it reserves no layout space, so the
31
- * block is exactly as tall as the chart). It stays fully transparent until
32
- * the block is hovered or focused, or the source panel is open. It is the
33
- * <summary> of the source <details>, so toggling works without any JS.
34
- * No text labels, no disclosure triangle — three wordless icon buttons. */
30
+ * bottom-right corner (position:absolute — it reserves no layout space, so the
31
+ * block is exactly as tall as the chart). Bottom-right (not top-right) so it
32
+ * never collides with a host's own top-right chart chrome — e.g. Obsidian's
33
+ * code-block copy button. It stays fully transparent until the block is
34
+ * hovered or focused, or the source panel is open. It is the <summary> of the
35
+ * source <details>, so toggling works without any JS. No text labels, no
36
+ * disclosure triangle — three wordless icon buttons.
37
+ *
38
+ * Anchored to .dgmo-source-wrap (position:relative below), whose top edge is
39
+ * always the diagram's bottom edge — bottom:calc(100% + gap) therefore keeps
40
+ * the toolbar at the diagram's bottom-right whether the source panel is open or
41
+ * closed (a figure-anchored bottom would drift down below the open code). */
35
42
  .dgmo-source-wrap {
36
43
  margin: 0;
44
+ position: relative;
37
45
  }
38
46
  .dgmo-toolbar {
39
47
  position: absolute;
40
- top: 0.4em;
48
+ bottom: calc(100% + 0.4em);
41
49
  right: 0.4em;
42
50
  z-index: 2;
43
51
  display: flex;
package/dist/block.js CHANGED
@@ -3,97 +3,101 @@ import {
3
3
  docsLink,
4
4
  normalizeSvgForEmbed,
5
5
  renderErrorCard
6
- } from "./chunk-GJFAMOGK.js";
6
+ } from "./chunk-U4IN6AHE.js";
7
7
  import {
8
- encodeDiagramUrl,
9
8
  render
10
- } from "./chunk-J7KJR3R6.js";
11
- import "./chunk-7KINELPI.js";
9
+ } from "./chunk-N7BSBAVP.js";
10
+ import "./chunk-FFVFZLRT.js";
11
+ import "./chunk-VHO3YBTB.js";
12
+ import "./chunk-4ZIKWVSQ.js";
12
13
  import "./chunk-YRYKTYMQ.js";
13
14
  import "./chunk-YYVTBZZC.js";
14
- import "./chunk-AUIM2NVH.js";
15
- import "./chunk-ZEF5M5MB.js";
16
- import "./chunk-MUE65OTD.js";
17
- import "./chunk-FT3ZYWET.js";
15
+ import "./chunk-ADYKAKE3.js";
16
+ import "./chunk-2NZOHEP4.js";
17
+ import "./chunk-J7HQPVYH.js";
18
+ import "./chunk-A4GOY3PE.js";
19
+ import "./chunk-6KFWC4CO.js";
20
+ import {
21
+ encodeDiagramUrl
22
+ } from "./chunk-U7VO6JAA.js";
23
+ import "./chunk-SBOAZ7YK.js";
24
+ import "./chunk-VQFDBNYF.js";
25
+ import "./chunk-AQEYUVGJ.js";
26
+ import "./chunk-2CW5ZTNH.js";
27
+ import "./chunk-BDXC7MDK.js";
28
+ import "./chunk-W6PCFRPL.js";
29
+ import "./chunk-XWODFBHJ.js";
30
+ import "./chunk-3SEEP2JM.js";
31
+ import "./chunk-NR5HCAUD.js";
32
+ import "./chunk-FVMKCZHF.js";
33
+ import "./chunk-EPRF3ZRV.js";
18
34
  import {
19
35
  monthIndex,
20
36
  weekdayIndex
21
37
  } from "./chunk-OQKP2X3D.js";
22
- import "./chunk-FY5MSZAP.js";
38
+ import "./chunk-KV4HLIJE.js";
23
39
  import "./chunk-APKUAJ2L.js";
24
- import "./chunk-PRI2OD4E.js";
25
- import "./chunk-4IHAV6O7.js";
26
- import "./chunk-Z5QVYKR7.js";
27
- import "./chunk-BDXC7MDK.js";
28
- import "./chunk-DYWQFQJP.js";
29
- import "./chunk-VL2O2F3W.js";
30
- import "./chunk-QBZYACOG.js";
31
- import "./chunk-YAA6IID3.js";
32
- import "./chunk-A4GOY3PE.js";
33
- import "./chunk-6KFWC4CO.js";
34
- import "./chunk-QOOUC2J5.js";
35
- import "./chunk-WCT3NYCV.js";
36
- import "./chunk-EMLPOL77.js";
37
- import "./chunk-SMRFPVLQ.js";
38
- import "./chunk-VILVLS7P.js";
39
- import "./chunk-7BIZCTAX.js";
40
- import "./chunk-XD6ZYURY.js";
41
- import "./chunk-ICPJPQ5C.js";
42
- import "./chunk-UNURMIQO.js";
43
- import "./chunk-ZNWAYU6N.js";
44
- import "./chunk-4UNQ6X24.js";
45
- import "./chunk-NR5HCAUD.js";
46
- import "./chunk-IM6PDDCE.js";
47
- import "./chunk-QGATPIPX.js";
48
- import "./chunk-5NGAO4QK.js";
49
- import {
50
- REGISTRY_COLON_KEY_TOKENS,
51
- REGISTRY_CONTROL_TOKENS,
52
- REGISTRY_DIRECTIVE_TOKENS,
53
- REGISTRY_MODIFIER_TOKENS,
54
- REGISTRY_STATUS_TOKENS
55
- } from "./chunk-FQ7HTV52.js";
56
- import "./chunk-5RP7JRVP.js";
57
- import "./chunk-HQQNCY7W.js";
58
- import "./chunk-RT7ACF77.js";
59
- import "./chunk-LTXOLDUZ.js";
60
- import "./chunk-75G3Q4DK.js";
40
+ import "./chunk-C2UORMIA.js";
41
+ import "./chunk-QBYP2FBZ.js";
42
+ import "./chunk-EAI6XJ7D.js";
43
+ import "./chunk-MTZOXISJ.js";
61
44
  import "./chunk-QQJUTGQH.js";
62
- import "./chunk-AL672HNE.js";
63
- import "./chunk-REJAIQ5S.js";
64
- import "./chunk-NNS4E7CW.js";
65
- import "./chunk-HBPDFCQY.js";
66
- import "./chunk-K4EOKJA6.js";
67
- import "./chunk-7L4UJOY6.js";
68
- import "./chunk-USZW2HHU.js";
69
- import "./chunk-J6QROYDA.js";
70
- import "./chunk-R3YSD62R.js";
45
+ import "./chunk-OJ435DQZ.js";
46
+ import "./chunk-TLNVYWPA.js";
47
+ import "./chunk-O576GYAP.js";
48
+ import "./chunk-KQ3FNRGR.js";
49
+ import "./chunk-KDK5EKUR.js";
50
+ import "./chunk-CCGWX6AO.js";
51
+ import "./chunk-GK32ZFZY.js";
52
+ import "./chunk-2NYXI35Z.js";
53
+ import "./chunk-S7YFT3PO.js";
54
+ import "./chunk-OSXQKC3S.js";
55
+ import "./chunk-7SP4C6EV.js";
56
+ import "./chunk-7UPFTBOW.js";
57
+ import "./chunk-YENNFS5F.js";
58
+ import "./chunk-RT7ACF77.js";
59
+ import "./chunk-DLU643TF.js";
60
+ import "./chunk-7TF3QOOD.js";
61
+ import "./chunk-T7Y554OK.js";
62
+ import "./chunk-NXMESY4J.js";
63
+ import "./chunk-M24VXUFG.js";
64
+ import "./chunk-B7N5KYXQ.js";
65
+ import "./chunk-WWHECSYZ.js";
66
+ import "./chunk-QZAW5SFH.js";
67
+ import "./chunk-T3FAJAJT.js";
68
+ import "./chunk-F7XM366V.js";
69
+ import "./chunk-IYULMRBE.js";
70
+ import "./chunk-RRGKMJYL.js";
71
+ import "./chunk-3TYUXC7D.js";
72
+ import "./chunk-EQW6HOP4.js";
73
+ import "./chunk-UIT7E6UF.js";
74
+ import "./chunk-3KHJJP3J.js";
71
75
  import {
72
76
  scanMonthNameDates
73
77
  } from "./chunk-DAOFNU6J.js";
74
- import "./chunk-3YRPZ7ZZ.js";
75
- import "./chunk-3QD7VP3U.js";
76
- import "./chunk-BPY242XU.js";
77
- import "./chunk-IYULMRBE.js";
78
+ import "./chunk-TGOMHUOV.js";
79
+ import "./chunk-BEOAKGNA.js";
80
+ import "./chunk-BM7MG6HT.js";
78
81
  import {
79
82
  resolvePaletteOrFallback
80
83
  } from "./chunk-R3XI2VC7.js";
81
- import "./chunk-WBM7ZNDI.js";
82
- import "./chunk-QJMKPUYK.js";
84
+ import "./chunk-Q5IHQ4NW.js";
85
+ import "./chunk-4ASYQ347.js";
86
+ import "./chunk-JYDMBWRP.js";
87
+ import "./chunk-M3H7ZE6C.js";
83
88
  import "./chunk-C3Z4DX3V.js";
84
- import "./chunk-HHKO6SKY.js";
85
- import "./chunk-6EJITS44.js";
86
- import "./chunk-I46X5VUA.js";
87
- import "./chunk-ROOE4R4Y.js";
88
- import "./chunk-NXMESY4J.js";
89
- import "./chunk-TPFKKXCB.js";
90
- import "./chunk-ARGMQ3H4.js";
91
- import "./chunk-FMDSF3OV.js";
92
- import "./chunk-FFUN5D66.js";
89
+ import "./chunk-WF64MW5G.js";
93
90
  import "./chunk-NOTA6TEI.js";
94
- import "./chunk-BRENJ2BQ.js";
95
- import "./chunk-TLVIHFRO.js";
96
- import "./chunk-CXK4DZH3.js";
91
+ import "./chunk-AHTTKERF.js";
92
+ import {
93
+ REGISTRY_COLON_KEY_TOKENS,
94
+ REGISTRY_CONTROL_TOKENS,
95
+ REGISTRY_DIRECTIVE_TOKENS,
96
+ REGISTRY_MODIFIER_TOKENS,
97
+ REGISTRY_STATUS_TOKENS
98
+ } from "./chunk-3FRO35WW.js";
99
+ import "./chunk-ZKPPI6BF.js";
100
+ import "./chunk-4W2PE66Q.js";
97
101
  import "./chunk-5WRI5ZAA.js";
98
102
 
99
103
  // src/editor/dgmo.grammar.js
@@ -189,7 +193,7 @@ var parser = LRParser.deserialize({
189
193
  maxTerm: 40,
190
194
  skippedNodes: [0],
191
195
  repeatNodeCount: 2,
192
- tokenData: ">l~RzOX#uXY#zYZ$VZp#upq#zqr#urs$[st#uux#uxy%eyz%lz{%s{|%z|}&R}!O&Y!O!P#u!P!Q&i!Q!['Y![!]1q!]!^#u!^!_1x!_!`2P!`!a2^!a!b2e!b!c#u!c!}2l!}#O5r#O#P#u#P#Q5w#Q#R#u#R#S2l#S#T#u#T#[2l#[#]6O#]#o2l#o#p#u#p#q>O#q#r#u#r#s>V#s;'S#u;'S;=`>f<%lO#u~#zOq~~$PQv~XY#zpq#z~$[Ow~~$aUq~OY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~$vUOY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~%_Oo~~%bP;=`<%l$s~%lOc~q~~%sOd~q~~%zOm~q~~&ROj~q~~&YOi~q~~&aPk~q~!`!a&d~&iOX~~&nPq~!P!Q&q~&vSV~OY&qZ;'S&q;'S;=`'S<%lO&q~'VP;=`<%l&q~'a_^~q~uv(`|}(e}!O)b!O!P*l!P!Q,]!Q![,v#R#S1]#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h+m#k#l+m#m#n+m~(eO]~~(hP!Q![(k~(nP!Q![(q~(tP!Q![(w~(|Q^~|}(e!O!P)S~)VP!Q![)Y~)_P^~!Q![)Y~)eP!Q![)h~)mQ[~}!O)s!Q![*d~)vP!Q![)y~)|P!Q![*P~*UP[~!Q![*X~*[P!Q![*_~*dO[~~*iP[~}!O)s~*oP!Q![*r~*wY^~uv(`!Q![*r#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h+m#k#l+m#m#n+m~+jP#W#X+m~+rPZ~!a!b+u~+zOZ~~,PQZ~!a!b+u#]#^,V~,YP#b#c+m~,`P!Q![,c~,hQ[~!P!Q)s!Q![,n~,sP[~!P!Q)s~,{_^~uv(`|}(e}!O)b!O!P*l!P!Q,]!Q![-z#R#S1]#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h+m#k#l+m#m#n+m~.P]^~uv(`|}(e!O!P*l!Q![.x#R#S1]#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h+m#k#l+m#m#n+m~.}]^~uv(`}!O/v!O!P*l!Q![0b#R#S1]#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h+m#k#l+m#m#n+m~/yP!Q![/|~0PP!Q![0S~0XP[~}!O0[~0_P!Q![*X~0g[^~uv(`!O!P*l!Q![0b#R#S1]#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h+m#k#l+m#m#n+m~1`P!Q![1c~1hR^~!O!P)S!Q![1c#R#S1]~1xOh~q~~2POe~q~~2UPq~!_!`2X~2^O_~~2eOf~q~~2lOn~q~~2s_p~q~qr3rst3rvw3rwx3r{|3r}!O4v!O!P3r!P!Q3r!Q![3r!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#o3r~3w_p~qr3rst3rvw3rwx3r{|3r}!O4v!O!P3r!P!Q3r!Q![3r!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#o3r~4y]qr3rst3rvw3rwx3r{|3r!O!P3r!P!Q3r!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#o3r~5wOa~~6OOb~q~~6Vap~q~qr3rst3rvw3rwx3r{|3r}!O4v!O!P3r!P!Q3r!Q![3r!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#h3r#h#i7[#i#o3r~7aap~qr3rst3rvw3rwx3r{|3r}!O4v!O!P3r!P!Q3r!Q![3r!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#h3r#h#i8f#i#o3r~8kap~qr3rst3rvw3rwx3r{|3r}!O4v!O!P3r!P!Q3r!Q![3r!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#d3r#d#e9p#e#o3r~9ubp~qr3rst3rvw3rwx3r{|3r}!O4v!O!P3r!P!Q3r!Q![3r![!]:}!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#g3r#g#h<w#h#o3r~;QP!P!Q;T~;WP!P!Q;Z~;^YOX;|Zp;|qy;|z|;|}!`;|!a#P;|#Q#p;|#q;'S;|;'S;=`<q<%lO;|~<RY`~OX;|Zp;|qy;|z|;|}!`;|!a#P;|#Q#p;|#q;'S;|;'S;=`<q<%lO;|~<tP;=`<%l;|~<|`p~qr3rst3rvw3rwx3r{|3r}!O4v!O!P3r!P!Q3r!Q![3r![!]:}!_!`3r!a!b3r!b!c3r!c!}3r#R#S3r#T#o3r~>VOg~q~~>^Pl~q~!`!a>a~>fOY~~>iP;=`<%l#u",
196
+ tokenData: ">w~RzOX#uXY#zYZ$VZp#upq#zqr#urs$[st#uux#uxy%eyz%lz{%s{|%z|}&R}!O&Y!O!P#u!P!Q&i!Q!['Y![!]1|!]!^#u!^!_2T!_!`2[!`!a2i!a!b2p!b!c#u!c!}2w!}#O5}#O#P#u#P#Q6S#Q#R#u#R#S2w#S#T#u#T#[2w#[#]6Z#]#o2w#o#p#u#p#q>Z#q#r#u#r#s>b#s;'S#u;'S;=`>q<%lO#u~#zOq~~$PQv~XY#zpq#z~$[Ow~~$aUq~OY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~$vUOY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~%_Oo~~%bP;=`<%l$s~%lOc~q~~%sOd~q~~%zOm~q~~&ROj~q~~&YOi~q~~&aPk~q~!`!a&d~&iOX~~&nPq~!P!Q&q~&vSV~OY&qZ;'S&q;'S;=`'S<%lO&q~'VP;=`<%l&q~'a_^~q~uv(`|}(e}!O)b!O!P*l!P!Q,h!Q![-R#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~(eO]~~(hP!Q![(k~(nP!Q![(q~(tP!Q![(w~(|Q^~|}(e!O!P)S~)VP!Q![)Y~)_P^~!Q![)Y~)eP!Q![)h~)mQ[~}!O)s!Q![*d~)vP!Q![)y~)|P!Q![*P~*UP[~!Q![*X~*[P!Q![*_~*dO[~~*iP[~}!O)s~*oP!Q![*r~*wY^~uv(`!Q![*r#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~+jP#W#X+m~+rPZ~!a!b+u~+zOZ~~,PQZ~!a!b+u#]#^,V~,YP#b#c+m~,bQZ~!a!b+u#d#e+m~,kP!Q![,n~,sQ[~!P!Q)s!Q![,y~-OP[~!P!Q)s~-W_^~uv(`|}(e}!O)b!O!P*l!P!Q,h!Q![.V#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~.[]^~uv(`|}(e!O!P*l!Q![/T#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~/Y]^~uv(`}!O0R!O!P*l!Q![0m#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~0UP!Q![0X~0[P!Q![0_~0dP[~}!O0g~0jP!Q![*X~0r[^~uv(`!O!P*l!Q![0m#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~1kP!Q![1n~1sR^~!O!P)S!Q![1n#R#S1h~2TOh~q~~2[Oe~q~~2aPq~!_!`2d~2iO_~~2pOf~q~~2wOn~q~~3O_p~q~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~4S_p~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~5U]qr3}st3}vw3}wx3}{|3}!O!P3}!P!Q3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~6SOa~~6ZOb~q~~6bap~q~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#h3}#h#i7g#i#o3}~7lap~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#h3}#h#i8q#i#o3}~8vap~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#d3}#d#e9{#e#o3}~:Qbp~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}![!];Y!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#g3}#g#h=S#h#o3}~;]P!P!Q;`~;cP!P!Q;f~;iYOX<XZp<Xqy<Xz|<X}!`<X!a#P<X#Q#p<X#q;'S<X;'S;=`<|<%lO<X~<^Y`~OX<XZp<Xqy<Xz|<X}!`<X!a#P<X#Q#p<X#q;'S<X;'S;=`<|<%lO<X~=PP;=`<%l<X~=X`p~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}![!];Y!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~>bOg~q~~>iPl~q~!`!a>l~>qOY~~>tP;=`<%l#u",
193
197
  tokenizers: [0],
194
198
  topRules: { "Document": [0, 6] },
195
199
  specialized: [{ term: 32, get: (value, stack) => specializeKeyword(value, stack) << 1, external: specializeKeyword }],
@@ -325,7 +329,10 @@ var ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
325
329
  "pain",
326
330
  "opportunity",
327
331
  "thought",
328
- "collapsed",
332
+ // `collapsed` moved to the registry as a bare MODIFIER keyword (decision
333
+ // #48 made the bare flag canonical). It must NOT be listed here too: the
334
+ // ATTRIBUTE_KEYS colon gate only fires on `default` tokens, so a bare
335
+ // keyword classification wins and a duplicate entry would be dead weight.
329
336
  "tech",
330
337
  "span",
331
338
  "split",
@@ -652,17 +659,25 @@ var BLOCK_CSS = `
652
659
 
653
660
  /* === Toolbar ===
654
661
  * The diagram is the star: the toolbar is an overlay pinned to the diagram's
655
- * top-right corner (position:absolute \u2014 it reserves no layout space, so the
656
- * block is exactly as tall as the chart). It stays fully transparent until
657
- * the block is hovered or focused, or the source panel is open. It is the
658
- * <summary> of the source <details>, so toggling works without any JS.
659
- * No text labels, no disclosure triangle \u2014 three wordless icon buttons. */
662
+ * bottom-right corner (position:absolute \u2014 it reserves no layout space, so the
663
+ * block is exactly as tall as the chart). Bottom-right (not top-right) so it
664
+ * never collides with a host's own top-right chart chrome \u2014 e.g. Obsidian's
665
+ * code-block copy button. It stays fully transparent until the block is
666
+ * hovered or focused, or the source panel is open. It is the <summary> of the
667
+ * source <details>, so toggling works without any JS. No text labels, no
668
+ * disclosure triangle \u2014 three wordless icon buttons.
669
+ *
670
+ * Anchored to .dgmo-source-wrap (position:relative below), whose top edge is
671
+ * always the diagram's bottom edge \u2014 bottom:calc(100% + gap) therefore keeps
672
+ * the toolbar at the diagram's bottom-right whether the source panel is open or
673
+ * closed (a figure-anchored bottom would drift down below the open code). */
660
674
  .dgmo-source-wrap {
661
675
  margin: 0;
676
+ position: relative;
662
677
  }
663
678
  .dgmo-toolbar {
664
679
  position: absolute;
665
- top: 0.4em;
680
+ bottom: calc(100% + 0.4em);
666
681
  right: 0.4em;
667
682
  z-index: 2;
668
683
  display: flex;
@@ -0,0 +1,11 @@
1
+ import {
2
+ calculateSchedule
3
+ } from "./chunk-UJRTPOHH.js";
4
+ import "./chunk-EQW6HOP4.js";
5
+ import "./chunk-NOTA6TEI.js";
6
+ import "./chunk-4W2PE66Q.js";
7
+ import "./chunk-5WRI5ZAA.js";
8
+ export {
9
+ calculateSchedule
10
+ };
11
+ //# sourceMappingURL=calculator-VBIT6GQF.js.map
@@ -0,0 +1,232 @@
1
+ import { e as PaletteColors, T as TagGroup, D as DgmoError } from './registry-CaSw0PSH.js';
2
+
3
+ /** Convert hex (#RRGGBB or #RGB) to { h, s, l } with h in degrees, s/l as percentages. */
4
+ declare function hexToHSL(hex: string): {
5
+ h: number;
6
+ s: number;
7
+ l: number;
8
+ };
9
+ /** Convert { h (degrees), s (%), l (%) } back to #RRGGBB hex string. */
10
+ declare function hslToHex(h: number, s: number, l: number): string;
11
+ /** Convert hex to "H S% L%" string for CSS custom properties. */
12
+ declare function hexToHSLString(hex: string): string;
13
+ /**
14
+ * Blend a color toward white (light mode quadrant fills).
15
+ * amount: 0 = original, 1 = white
16
+ */
17
+ declare function tint(hex: string, amount: number): string;
18
+ /**
19
+ * Blend a color toward a dark base (dark mode quadrant fills).
20
+ * amount: 0 = original, 1 = base
21
+ */
22
+ declare function shade(hex: string, base: string, amount: number): string;
23
+ /**
24
+ * Blend two hex colors by percentage.
25
+ * `pct` = 0 → 100% of `b`, `pct` = 100 → 100% of `a`.
26
+ *
27
+ * Used by all renderers for tinted fills and strokes.
28
+ */
29
+ declare function mix(a: string, b: string, pct: number): string;
30
+ /**
31
+ * Pick `lightText` or `darkText` for placement on top of `bg`.
32
+ *
33
+ * Three-tier decision:
34
+ * 1. **High-luminance fill (luminance > 0.55)** → `darkText`. Yellows, peaches,
35
+ * light cyans — dark text reads better and a light cream on light yellow is
36
+ * unreadable.
37
+ * 2. **Pastel fill (min RGB channel ≥ 100, luminance ≤ 0.55)** → defer to WCAG
38
+ * ratio. Pastels have no near-zero channel and tend to read as "soft" —
39
+ * dark text usually wins by ratio (catppuccin dark mauve `#cba6f7` min 166,
40
+ * ratio 9.35:1; tokyo-night dark red `#f7768e` min 118, ratio 7.86:1; and
41
+ * tokyo-night green `#9ece6a` min 106, ratio 11.4:1 all correctly pick dark).
42
+ * 3. **Saturated fill (min RGB < 100, luminance ≤ 0.55)** → `lightText`. At least
43
+ * one channel near zero signals true saturation — gruvbox dark green
44
+ * `#b8bb26` (min 38), blueprint blue `#1f5e8c` (min 31), bold red/blue
45
+ * (min 0), solarized blue `#268bd2` (min 38). The user consistently
46
+ * prefers light text on these for visual punch.
47
+ *
48
+ * `min RGB` discriminates pastel-vs-saturated more reliably than `max-min`
49
+ * (vibrance): tokyo-night and catppuccin dark are pastels with high max RGB,
50
+ * so vibrance alone misclassifies them as "saturated."
51
+ *
52
+ * Tinted fills (luminance ~0.7+ in light themes / ~0.02–0.14 in dark themes)
53
+ * are unambiguous in either branch; only fill-solid output shifts here.
54
+ */
55
+ declare function contrastText(bg: string, lightText: string, darkText: string): string;
56
+ declare function shapeFill(palette: PaletteColors, intent: string, isDark: boolean, opts?: {
57
+ mode?: 'solid' | 'outline' | undefined;
58
+ }): string;
59
+ /**
60
+ * Derive the 8-color series rotation from a palette's named colors, in the
61
+ * shared {@link CATEGORICAL_COLOR_ORDER} (RGB-seeded, max-contrast). Tag
62
+ * swatches and chart series colors thus share one canonical rotation.
63
+ */
64
+ declare function getSeriesColors(palette: PaletteColors): string[];
65
+
66
+ interface OrgNode {
67
+ readonly id: string;
68
+ readonly label: string;
69
+ readonly metadata: Readonly<Record<string, string>>;
70
+ readonly children: readonly OrgNode[];
71
+ readonly parentId: string | null;
72
+ readonly isContainer: boolean;
73
+ readonly lineNumber: number;
74
+ readonly color?: string;
75
+ }
76
+ interface ParsedOrg {
77
+ readonly title: string | null;
78
+ readonly titleLineNumber: number | null;
79
+ readonly roots: readonly OrgNode[];
80
+ readonly tagGroups: readonly TagGroup[];
81
+ readonly options: Readonly<Record<string, string>>;
82
+ /**
83
+ * Resolved layout direction (§7.5). `direction-lr` / `direction-tb` are a
84
+ * mutually-exclusive boolean pair (§1.9, last one wins). Defaults to 'TB',
85
+ * which is the orientation org charts have always rendered.
86
+ */
87
+ readonly direction: 'LR' | 'TB';
88
+ readonly diagnostics: readonly DgmoError[];
89
+ readonly error: string | null;
90
+ }
91
+ declare function parseOrg(content: string, palette?: PaletteColors): ParsedOrg;
92
+
93
+ /**
94
+ * Substitute `start-date now` with the host-local resolved date.
95
+ * Pass the result to `encodeDiagramUrl` so the share-link captures
96
+ * the resolved date, not the literal token.
97
+ *
98
+ * Lines without `start-date now` (explicit-date lines, comments,
99
+ * other directives, activity lines containing the word "now") pass
100
+ * through verbatim.
101
+ */
102
+ declare function normalizePertSourceForShare(dsl: string): string;
103
+
104
+ /**
105
+ * Shared parser utilities — extracted from individual parsers to eliminate
106
+ * duplication of measureIndent, extractColor, header regexes, and
107
+ * pipe-metadata parsing.
108
+ */
109
+
110
+ /** Complete set of recognized chart type identifiers. */
111
+ declare const ALL_CHART_TYPES: Set<string>;
112
+ /**
113
+ * Cross-chart fill treatment (spec §1.9 fill family). Absent ⇒ the canonical
114
+ * 25% tint (`fill-tint` is the explicit spelling of that default).
115
+ */
116
+ type FillMode = 'solid' | 'outline';
117
+ /**
118
+ * Parse the first non-empty, non-comment line to extract chart type and optional title.
119
+ * The first token is matched against `ALL_CHART_TYPES`; the remainder is the title.
120
+ *
121
+ * Returns `null` if the first token is not a recognized chart type.
122
+ */
123
+ declare function parseFirstLine(line: string): {
124
+ chartType: string;
125
+ title: string | undefined;
126
+ } | null;
127
+
128
+ /** Marker alphabet member for any variant. */
129
+ type RaciMarker = 'R' | 'A' | 'S' | 'C' | 'I' | 'D';
130
+ /** Variant identifier — selects alphabet + constraint rule set. */
131
+ type RaciVariant = 'raci' | 'rasci' | 'daci';
132
+ /**
133
+ * One `Role: <markers>` line under a task.
134
+ *
135
+ * `id` is the normalized role key — used by mutations to look up the
136
+ * cell and by validation to detect unknown roles. `displayName` is the
137
+ * first-seen casing/spacing for rendering.
138
+ */
139
+ interface RaciRoleAssignment {
140
+ readonly id: string;
141
+ readonly displayName: string;
142
+ readonly markers: readonly RaciMarker[];
143
+ readonly lineNumber: number;
144
+ readonly endLineNumber: number;
145
+ }
146
+ /** One task — flush-left under a phase or directly under the chart. */
147
+ interface RaciTask {
148
+ readonly id: string;
149
+ readonly displayName: string;
150
+ readonly description: string;
151
+ readonly roleAssignments: readonly RaciRoleAssignment[];
152
+ readonly lineNumber: number;
153
+ readonly endLineNumber: number;
154
+ }
155
+ /** Optional `[Phase Label]` group header — one level deep. */
156
+ interface RaciPhase {
157
+ readonly id: string;
158
+ readonly displayName: string;
159
+ /** Optional palette color from a `[Label](color)` suffix on the bracket. */
160
+ readonly color?: string;
161
+ readonly tasks: readonly RaciTask[];
162
+ readonly lineNumber: number;
163
+ readonly endLineNumber: number;
164
+ }
165
+ /** Top-level parse result. */
166
+ interface ParsedRaci {
167
+ readonly type: 'raci';
168
+ /** Optional title from the chart-type header line. */
169
+ readonly title?: string;
170
+ readonly titleLineNumber?: number;
171
+ /** Variant selected by directive, or by chart-type id when absent. */
172
+ readonly variant: RaciVariant;
173
+ /**
174
+ * Canonical column order. Populated either from an explicit
175
+ * `roles:` directive or, when absent, from first-seen role usage.
176
+ */
177
+ readonly roles: readonly string[];
178
+ /** Display name for each role (parallel to `roles`). */
179
+ readonly roleDisplayNames: readonly string[];
180
+ /**
181
+ * Optional per-role palette color from the `Cap blue` trailing-token
182
+ * suffix in the roles block (or the long pipe form `Cap | color: blue`).
183
+ * Parallel to `roles`; entries default to `undefined` (renderer falls
184
+ * back to the neutral column tint).
185
+ */
186
+ readonly roleColors: ReadonlyArray<string | undefined>;
187
+ readonly phases: readonly RaciPhase[];
188
+ /** Tasks declared without a parent phase. */
189
+ readonly tasksWithoutPhase: readonly RaciTask[];
190
+ readonly options: Readonly<Record<string, string>>;
191
+ readonly diagnostics: readonly DgmoError[];
192
+ readonly error: string | null;
193
+ }
194
+
195
+ /**
196
+ * Parse RACI/RASCI/DACI source. The leading chart-type id (if a
197
+ * recognized variant id) acts as a hint for default variant when the
198
+ * `variant` directive is absent.
199
+ */
200
+ declare function parseRaci(content: string, palette?: PaletteColors): ParsedRaci;
201
+
202
+ /**
203
+ * Async or sync file reader. Receives an absolute path, returns content.
204
+ * Throwing means "file not found".
205
+ */
206
+ type ReadFileFn = (path: string) => string | Promise<string>;
207
+ /** Tracks the original source file and line for an imported line. */
208
+ interface ImportSource {
209
+ /** Absolute path of the file this line originates from */
210
+ filePath: string;
211
+ /** 1-based line number in the original (pre-resolution) source file */
212
+ sourceLine: number;
213
+ }
214
+ interface ResolveImportsResult {
215
+ content: string;
216
+ diagnostics: DgmoError[];
217
+ /** resolvedLine (1-based index) → originalLine (1-based) or null for inserted lines */
218
+ lineMap: (number | null)[];
219
+ /** resolvedLine (1-based index) → import source info or null for non-imported lines */
220
+ importSourceMap: (ImportSource | null)[];
221
+ }
222
+ /**
223
+ * Pre-processes org chart content, resolving `tags` and `import` directives.
224
+ *
225
+ * @param content - Raw .dgmo file content
226
+ * @param filePath - Absolute path of the file (for relative path resolution)
227
+ * @param readFileFn - Function to read files (sync or async)
228
+ * @returns Merged content with all imports resolved + diagnostics
229
+ */
230
+ declare function resolveOrgImports(content: string, filePath: string, readFileFn: ReadFileFn): Promise<ResolveImportsResult>;
231
+
232
+ export { ALL_CHART_TYPES as A, type FillMode as F, type ImportSource as I, type OrgNode as O, type ParsedOrg as P, type RaciMarker as R, type ParsedRaci as a, type RaciVariant as b, type RaciTask as c, type RaciPhase as d, type RaciRoleAssignment as e, type ReadFileFn as f, type ResolveImportsResult as g, contrastText as h, getSeriesColors as i, hexToHSL as j, hexToHSLString as k, hslToHex as l, mix as m, normalizePertSourceForShare as n, parseOrg as o, parseFirstLine as p, parseRaci as q, resolveOrgImports as r, shade as s, shapeFill as t, tint as u };
@@ -0,0 +1,2 @@
1
+ export { b as ChartTypeMeta, C as CompactViewState, l as DecodedDiagramUrl, m as EncodeDiagramUrlOptions, n as EncodeDiagramUrlResult, e as PaletteColors, f as chartTypes, s as decodeDiagramUrl, t as decodeViewState, u as encodeDiagramUrl, v as encodeViewState, x as getAvailablePalettes, i as getPalette, G as parseDgmoChartType } from './registry-CaSw0PSH.js';
2
+ export { A as ALL_CHART_TYPES, O as OrgNode, P as ParsedOrg, k as hexToHSLString, n as normalizePertSourceForShare, p as parseFirstLine, o as parseOrg, q as parseRaci, r as resolveOrgImports } from './chart-meta-CPNVUZ5J.js';
@@ -0,0 +1,108 @@
1
+ import {
2
+ normalizePertSourceForShare,
3
+ resolveOrgImports
4
+ } from "./chunk-EQOMY4PY.js";
5
+ import {
6
+ decodeDiagramUrl,
7
+ decodeViewState,
8
+ encodeDiagramUrl,
9
+ encodeViewState
10
+ } from "./chunk-U7VO6JAA.js";
11
+ import {
12
+ parseDgmoChartType
13
+ } from "./chunk-SBOAZ7YK.js";
14
+ import "./chunk-VQFDBNYF.js";
15
+ import "./chunk-AQEYUVGJ.js";
16
+ import "./chunk-2CW5ZTNH.js";
17
+ import "./chunk-BDXC7MDK.js";
18
+ import "./chunk-W6PCFRPL.js";
19
+ import "./chunk-XWODFBHJ.js";
20
+ import "./chunk-3SEEP2JM.js";
21
+ import "./chunk-NR5HCAUD.js";
22
+ import "./chunk-FVMKCZHF.js";
23
+ import "./chunk-EPRF3ZRV.js";
24
+ import "./chunk-OQKP2X3D.js";
25
+ import "./chunk-KV4HLIJE.js";
26
+ import "./chunk-APKUAJ2L.js";
27
+ import "./chunk-C2UORMIA.js";
28
+ import {
29
+ parseRaci
30
+ } from "./chunk-QBYP2FBZ.js";
31
+ import "./chunk-EAI6XJ7D.js";
32
+ import "./chunk-MTZOXISJ.js";
33
+ import "./chunk-QQJUTGQH.js";
34
+ import "./chunk-OJ435DQZ.js";
35
+ import "./chunk-TLNVYWPA.js";
36
+ import "./chunk-O576GYAP.js";
37
+ import "./chunk-KQ3FNRGR.js";
38
+ import "./chunk-KDK5EKUR.js";
39
+ import "./chunk-CCGWX6AO.js";
40
+ import "./chunk-GK32ZFZY.js";
41
+ import "./chunk-2NYXI35Z.js";
42
+ import "./chunk-S7YFT3PO.js";
43
+ import "./chunk-OSXQKC3S.js";
44
+ import "./chunk-7SP4C6EV.js";
45
+ import "./chunk-7UPFTBOW.js";
46
+ import "./chunk-YENNFS5F.js";
47
+ import "./chunk-RT7ACF77.js";
48
+ import "./chunk-DLU643TF.js";
49
+ import "./chunk-7TF3QOOD.js";
50
+ import "./chunk-T7Y554OK.js";
51
+ import "./chunk-NXMESY4J.js";
52
+ import "./chunk-M24VXUFG.js";
53
+ import "./chunk-B7N5KYXQ.js";
54
+ import "./chunk-WWHECSYZ.js";
55
+ import "./chunk-QZAW5SFH.js";
56
+ import {
57
+ parseOrg
58
+ } from "./chunk-T3FAJAJT.js";
59
+ import "./chunk-F7XM366V.js";
60
+ import "./chunk-IYULMRBE.js";
61
+ import "./chunk-RRGKMJYL.js";
62
+ import "./chunk-3TYUXC7D.js";
63
+ import "./chunk-EQW6HOP4.js";
64
+ import "./chunk-UIT7E6UF.js";
65
+ import "./chunk-3KHJJP3J.js";
66
+ import "./chunk-DAOFNU6J.js";
67
+ import {
68
+ chartTypes
69
+ } from "./chunk-TGOMHUOV.js";
70
+ import "./chunk-BEOAKGNA.js";
71
+ import "./chunk-BM7MG6HT.js";
72
+ import {
73
+ getAvailablePalettes,
74
+ getPalette
75
+ } from "./chunk-R3XI2VC7.js";
76
+ import {
77
+ hexToHSLString
78
+ } from "./chunk-JYDMBWRP.js";
79
+ import "./chunk-M3H7ZE6C.js";
80
+ import "./chunk-C3Z4DX3V.js";
81
+ import "./chunk-WF64MW5G.js";
82
+ import "./chunk-NOTA6TEI.js";
83
+ import "./chunk-AHTTKERF.js";
84
+ import {
85
+ ALL_CHART_TYPES,
86
+ parseFirstLine
87
+ } from "./chunk-3FRO35WW.js";
88
+ import "./chunk-ZKPPI6BF.js";
89
+ import "./chunk-4W2PE66Q.js";
90
+ import "./chunk-5WRI5ZAA.js";
91
+ export {
92
+ ALL_CHART_TYPES,
93
+ chartTypes,
94
+ decodeDiagramUrl,
95
+ decodeViewState,
96
+ encodeDiagramUrl,
97
+ encodeViewState,
98
+ getAvailablePalettes,
99
+ getPalette,
100
+ hexToHSLString,
101
+ normalizePertSourceForShare,
102
+ parseDgmoChartType,
103
+ parseFirstLine,
104
+ parseOrg,
105
+ parseRaci,
106
+ resolveOrgImports
107
+ };
108
+ //# sourceMappingURL=chart-meta.js.map
@@ -0,0 +1,27 @@
1
+ import {
2
+ D3_DATA_CHART_TYPES,
3
+ renderDataChartD3,
4
+ supportsD3DataChart
5
+ } from "./chunk-FFVFZLRT.js";
6
+ import "./chunk-VHO3YBTB.js";
7
+ import "./chunk-ADYKAKE3.js";
8
+ import "./chunk-J7HQPVYH.js";
9
+ import "./chunk-A4GOY3PE.js";
10
+ import "./chunk-6KFWC4CO.js";
11
+ import "./chunk-AQEYUVGJ.js";
12
+ import "./chunk-2CW5ZTNH.js";
13
+ import "./chunk-R3XI2VC7.js";
14
+ import "./chunk-Q5IHQ4NW.js";
15
+ import "./chunk-4ASYQ347.js";
16
+ import "./chunk-JYDMBWRP.js";
17
+ import "./chunk-AHTTKERF.js";
18
+ import "./chunk-3FRO35WW.js";
19
+ import "./chunk-ZKPPI6BF.js";
20
+ import "./chunk-4W2PE66Q.js";
21
+ import "./chunk-5WRI5ZAA.js";
22
+ export {
23
+ D3_DATA_CHART_TYPES,
24
+ renderDataChartD3,
25
+ supportsD3DataChart
26
+ };
27
+ //# sourceMappingURL=charts-d3-25E4VWXO.js.map