@diagrammo/dgmo 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) 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 +65 -230
  6. package/dist/advanced.js +278 -611
  7. package/dist/analyzer-TDN5KJFP.js +15 -0
  8. package/dist/auto.css +14 -6
  9. package/dist/auto.js +142 -132
  10. package/dist/auto.mjs +1117 -452
  11. package/dist/block.css +14 -6
  12. package/dist/block.js +85 -72
  13. package/dist/calculator-VBIT6GQF.js +11 -0
  14. package/dist/chart-meta-CPNVUZ5J.d.ts +232 -0
  15. package/dist/chart-meta.d.ts +2 -0
  16. package/dist/chart-meta.js +105 -0
  17. package/dist/charts-d3-DH2XA45I.js +26 -0
  18. package/dist/{chunk-QJMKPUYK.js → chunk-22OQWBWD.js} +14 -7
  19. package/dist/{chunk-5NGAO4QK.js → chunk-27STWBOK.js} +10 -8
  20. package/dist/{chunk-QGATPIPX.js → chunk-2QC4HXCY.js} +31 -17
  21. package/dist/{chunk-HFMYN6N2.js → chunk-3B2GXZCX.js} +4 -3
  22. package/dist/{chunk-6HQH6JZE.js → chunk-3BEKKRH5.js} +10 -10
  23. package/dist/{chunk-AL672HNE.js → chunk-3CZLWOCI.js} +17 -7
  24. package/dist/{chunk-J7TLCB2Q.js → chunk-3IUHKMJI.js} +2 -2
  25. package/dist/{chunk-7L4UJOY6.js → chunk-3TYUXC7D.js} +2 -2
  26. package/dist/{chunk-Y2ZE3MSG.js → chunk-43E26CDA.js} +2 -2
  27. package/dist/{chunk-YTMTPUH4.js → chunk-4ASVFYB2.js} +6 -6
  28. package/dist/{chunk-WCT3NYCV.js → chunk-4ASYQ347.js} +33 -8
  29. package/dist/{chunk-ZNWAYU6N.js → chunk-4K42RUGC.js} +33 -9
  30. package/dist/{chunk-I5IGB56C.js → chunk-4QV26TEG.js} +41 -1
  31. package/dist/{chunk-QOOUC2J5.js → chunk-4RGZFA7H.js} +2 -2
  32. package/dist/{chunk-CXK4DZH3.js → chunk-4W2PE66Q.js} +12 -2
  33. package/dist/{chunk-CIRFIL4M.js → chunk-4WGMGKCZ.js} +13 -13
  34. package/dist/{chunk-JED6ZDEE.js → chunk-5HWPEYWB.js} +2 -2
  35. package/dist/{chunk-VQOCMUWI.js → chunk-65V6IRFN.js} +16 -14
  36. package/dist/{chunk-R3YSD62R.js → chunk-6AUZPPAV.js} +3 -3
  37. package/dist/{chunk-FQ7HTV52.js → chunk-6DCOIN4W.js} +33 -5
  38. package/dist/{chunk-MUE65OTD.js → chunk-6HTRCTAS.js} +4 -4
  39. package/dist/{chunk-TJVLKNGR.js → chunk-6KY7OCZC.js} +5 -5
  40. package/dist/{chunk-YAA6IID3.js → chunk-774C2FF3.js} +2 -2
  41. package/dist/{chunk-UBLHQTLV.js → chunk-7GUF6SDR.js} +15 -14
  42. package/dist/{chunk-5HILBT7X.js → chunk-7JDTNFAK.js} +3 -3
  43. package/dist/{chunk-QBZYACOG.js → chunk-ADYKAKE3.js} +3 -3
  44. package/dist/{chunk-H7KENAZO.js → chunk-AHXIMHDQ.js} +74 -14
  45. package/dist/chunk-AIMLCDAO.js +404 -0
  46. package/dist/{chunk-4IHAV6O7.js → chunk-ALYZ3MAA.js} +4 -4
  47. package/dist/{chunk-ROOE4R4Y.js → chunk-AN2DQB3G.js} +146 -18
  48. package/dist/{chunk-GCYTI3DE.js → chunk-AZNXGWDC.js} +56 -10
  49. package/dist/{chunk-3LK5DNED.js → chunk-B4XS2AF2.js} +3 -3
  50. package/dist/{chunk-3HF5YEFJ.js → chunk-BD3WGY4T.js} +4 -4
  51. package/dist/{chunk-4AQRFDXL.js → chunk-BFDVEO5R.js} +2 -2
  52. package/dist/{chunk-REJAIQ5S.js → chunk-BR7AYN76.js} +8 -8
  53. package/dist/{chunk-P3NRSSUU.js → chunk-BULHGPHK.js} +3 -3
  54. package/dist/{chunk-VILVLS7P.js → chunk-CK2GMDXD.js} +8 -4
  55. package/dist/{chunk-HHKO6SKY.js → chunk-CMVZWP32.js} +3 -3
  56. package/dist/{chunk-GJFAMOGK.js → chunk-CQFNIIQN.js} +7 -7
  57. package/dist/{chunk-FT3ZYWET.js → chunk-DWUMPMV2.js} +11 -10
  58. package/dist/{chunk-USZW2HHU.js → chunk-EQW6HOP4.js} +4 -3
  59. package/dist/{chunk-Z5QVYKR7.js → chunk-FFXCKZOU.js} +4 -4
  60. package/dist/{chunk-WRNFDFPU.js → chunk-FGDSTT3F.js} +2 -2
  61. package/dist/{chunk-FY5MSZAP.js → chunk-FLDC7ZAK.js} +21 -6
  62. package/dist/{chunk-AAXZDUOV.js → chunk-FT7TPPZ5.js} +17 -16
  63. package/dist/{chunk-3QD7VP3U.js → chunk-FUKNRLIJ.js} +14 -7
  64. package/dist/{chunk-3YRPZ7ZZ.js → chunk-FXCB7H5O.js} +4 -4
  65. package/dist/{chunk-SMRFPVLQ.js → chunk-GABSL6TH.js} +4 -4
  66. package/dist/{chunk-BKVOYV6I.js → chunk-GAWKIIPO.js} +17 -17
  67. package/dist/{chunk-HWX6ZHF3.js → chunk-GMAH572Z.js} +6 -6
  68. package/dist/{chunk-MUVJ57EP.js → chunk-GMIJ35PW.js} +23 -20
  69. package/dist/{chunk-7QE3XMRK.js → chunk-GQ644SPD.js} +18 -18
  70. package/dist/{chunk-5QKQSSPO.js → chunk-GRM2A4BG.js} +4 -4
  71. package/dist/{chunk-J7KJR3R6.js → chunk-GWQJKTFS.js} +133 -696
  72. package/dist/{chunk-OTOHI4JO.js → chunk-H3HFC3SQ.js} +2 -2
  73. package/dist/{chunk-SWSIKFEB.js → chunk-HE5J53SZ.js} +4 -4
  74. package/dist/{chunk-7BIZCTAX.js → chunk-HNBY6CNV.js} +3 -3
  75. package/dist/{chunk-J76PIKAT.js → chunk-HO3RCNF6.js} +3 -3
  76. package/dist/{chunk-44VCIPHF.js → chunk-HORZ5H2L.js} +26 -23
  77. package/dist/{chunk-MX2EY5Y7.js → chunk-HOXKNRON.js} +2 -2
  78. package/dist/{chunk-LTXOLDUZ.js → chunk-I64ECJX3.js} +12 -5
  79. package/dist/{chunk-4YFKQ5WT.js → chunk-IQJCVREL.js} +8 -8
  80. package/dist/{chunk-YIBAWQGJ.js → chunk-J7HI6G3G.js} +7 -7
  81. package/dist/{chunk-ICPJPQ5C.js → chunk-JHOAH4TI.js} +3 -3
  82. package/dist/{chunk-6EJITS44.js → chunk-JTMSWEIW.js} +6 -6
  83. package/dist/{chunk-WBM7ZNDI.js → chunk-JYDMBWRP.js} +35 -18
  84. package/dist/{chunk-7DF4J4RL.js → chunk-KKHCNSKK.js} +17 -11
  85. package/dist/{chunk-4UNQ6X24.js → chunk-KUSAVOWZ.js} +4 -4
  86. package/dist/{chunk-77FGAVZC.js → chunk-LC3FFD43.js} +21 -19
  87. package/dist/{chunk-INE5YJBZ.js → chunk-LHILKFDP.js} +10 -10
  88. package/dist/{chunk-ONU3U4GL.js → chunk-LQHVDZYC.js} +52 -16
  89. package/dist/{chunk-75G3Q4DK.js → chunk-MA3HJZHB.js} +5 -5
  90. package/dist/{chunk-QVENJMNX.js → chunk-MEQYZZFR.js} +2 -2
  91. package/dist/{chunk-IM6PDDCE.js → chunk-NNUMX6WX.js} +42 -12
  92. package/dist/{chunk-FQMUHRVC.js → chunk-NNYFQOTK.js} +14 -13
  93. package/dist/{chunk-H6PI3KJT.js → chunk-ODUT5WMC.js} +2 -2
  94. package/dist/{chunk-K4EOKJA6.js → chunk-P3H7QVDH.js} +42 -15
  95. package/dist/{chunk-FUPF2UYQ.js → chunk-PIXZTCKH.js} +51 -108
  96. package/dist/{chunk-BPY242XU.js → chunk-PKNNHU7H.js} +19 -8
  97. package/dist/{chunk-BPIZNB5O.js → chunk-PT4SW76W.js} +11 -11
  98. package/dist/{chunk-UNURMIQO.js → chunk-PV2QO7QL.js} +4 -4
  99. package/dist/{chunk-LGT3PZCJ.js → chunk-PYO4TJJ3.js} +17 -17
  100. package/dist/{chunk-EMLPOL77.js → chunk-Q7AH665U.js} +15 -8
  101. package/dist/{chunk-LBMS4AW6.js → chunk-QAALSCKI.js} +14 -14
  102. package/dist/{chunk-JRCOYRRH.js → chunk-QI3BOLQB.js} +8 -8
  103. package/dist/{chunk-CCNDLW7Z.js → chunk-QWIBT6DS.js} +13 -13
  104. package/dist/{chunk-GU46PPT3.js → chunk-QXGACPS2.js} +5 -5
  105. package/dist/{chunk-FMDSF3OV.js → chunk-QZAW5SFH.js} +2 -2
  106. package/dist/{chunk-QHXCAEMX.js → chunk-R5NH5BZG.js} +8 -8
  107. package/dist/{chunk-5223KXFD.js → chunk-RJ5LBZ5U.js} +7 -7
  108. package/dist/{chunk-PRI2OD4E.js → chunk-RW5PEJ7D.js} +11 -6
  109. package/dist/{chunk-DYWQFQJP.js → chunk-SG4PRYO3.js} +22 -20
  110. package/dist/{chunk-NNS4E7CW.js → chunk-SGPFVDUL.js} +15 -6
  111. package/dist/{chunk-ZEF5M5MB.js → chunk-SQCBSFT5.js} +72 -74
  112. package/dist/{chunk-3HGU63UY.js → chunk-U7NKYLX2.js} +14 -13
  113. package/dist/chunk-U7VO6JAA.js +566 -0
  114. package/dist/{chunk-ZJV7GYR4.js → chunk-UFQJMOVZ.js} +10 -10
  115. package/dist/{chunk-Z72XRXD4.js → chunk-UJRTPOHH.js} +3 -3
  116. package/dist/{chunk-J6QROYDA.js → chunk-UK6DKJLD.js} +26 -10
  117. package/dist/{chunk-QZX5S6R3.js → chunk-UKP5HWB5.js} +149 -89
  118. package/dist/{chunk-T4A4TSTJ.js → chunk-UQRIKAMH.js} +21 -19
  119. package/dist/{chunk-TYS6CSS5.js → chunk-UU6LUYUH.js} +2 -2
  120. package/dist/{chunk-5BHJZH62.js → chunk-UVDCHR4E.js} +18 -6
  121. package/dist/{chunk-HQQNCY7W.js → chunk-VAO6ANGC.js} +5 -5
  122. package/dist/{chunk-6NYWYNBI.js → chunk-VGNIDAPQ.js} +4 -4
  123. package/dist/{chunk-VL2O2F3W.js → chunk-VHO3YBTB.js} +2 -2
  124. package/dist/{chunk-FHGVORFO.js → chunk-VIRANCNY.js} +14 -14
  125. package/dist/{chunk-XD6ZYURY.js → chunk-VJHBSPGF.js} +7 -14
  126. package/dist/{chunk-5RP7JRVP.js → chunk-VKNCC2GX.js} +12 -8
  127. package/dist/{chunk-TPFKKXCB.js → chunk-VRRDUYOK.js} +7 -7
  128. package/dist/{chunk-K2I2XOZD.js → chunk-W2DINCHL.js} +11 -11
  129. package/dist/{chunk-AUIM2NVH.js → chunk-W5KMNC5U.js} +8 -8
  130. package/dist/{chunk-FFUN5D66.js → chunk-WF64MW5G.js} +2 -2
  131. package/dist/{chunk-6LBQ7ELG.js → chunk-X3RXGSCZ.js} +40 -21
  132. package/dist/{chunk-HBPDFCQY.js → chunk-XEAQDIMF.js} +7 -6
  133. package/dist/{chunk-TTIM6YTT.js → chunk-XG4NWFPY.js} +17 -16
  134. package/dist/{chunk-7KINELPI.js → chunk-XQ4KN6JQ.js} +23 -23
  135. package/dist/{chunk-WBRZJOEC.js → chunk-XY3UDKKH.js} +4 -4
  136. package/dist/{chunk-5SEVICBT.js → chunk-YG2BEIQU.js} +14 -13
  137. package/dist/{chunk-BRENJ2BQ.js → chunk-YJVA3QUU.js} +24 -4
  138. package/dist/{chunk-KGVZ5VGH.js → chunk-YR43LJT5.js} +16 -15
  139. package/dist/{chunk-TLVIHFRO.js → chunk-ZKPPI6BF.js} +2 -2
  140. package/dist/{chunk-ARGMQ3H4.js → chunk-ZXUAPTCK.js} +3 -3
  141. package/dist/cli.cjs +156 -154
  142. package/dist/clock.js +9 -1
  143. package/dist/countdown.js +4 -3
  144. package/dist/dgmo-router-B4S23EBH.js +86 -0
  145. package/dist/dimensions-K6PGYYGT.js +22 -0
  146. package/dist/editor.js +33 -5
  147. package/dist/element.js +142 -132
  148. package/dist/element.mjs +1117 -452
  149. package/dist/flowchart-parser-LALR6J6F.js +21 -0
  150. package/dist/{flowchart-renderer-MNCDS7MV.js → flowchart-renderer-DXYB5YRF.js} +14 -14
  151. package/dist/highlight.js +37 -6
  152. package/dist/index.d.ts +4 -2
  153. package/dist/index.js +78 -73
  154. package/dist/layout-3BVDMKXI.js +15 -0
  155. package/dist/layout-3M5UYJHY.js +14 -0
  156. package/dist/{layout-2L3WMRYU.js → layout-3V2A4MUE.js} +8 -8
  157. package/dist/layout-4IHCMWZN.js +19 -0
  158. package/dist/layout-5XGYNYVT.js +9 -0
  159. package/dist/layout-AZUPXWSK.js +15 -0
  160. package/dist/{layout-F4WO357A.js → layout-CAAKQX4W.js} +3 -3
  161. package/dist/{layout-A5UHRWVH.js → layout-CB3XWCOI.js} +3 -3
  162. package/dist/{layout-OAC4PEAC.js → layout-E6HR6PXH.js} +7 -7
  163. package/dist/{layout-7QXCNOVS.js → layout-HBWT2G23.js} +3 -3
  164. package/dist/layout-KPQWJNAG.js +14 -0
  165. package/dist/layout-OL2XFJXA.js +17 -0
  166. package/dist/layout-WCAIKGZG.js +19 -0
  167. package/dist/layout-WSMPBQ4Q.js +17 -0
  168. package/dist/layout-ZE5DRJWX.js +20 -0
  169. package/dist/{layout-search-55FU6HD3.js → layout-search-34DPZD43.js} +51 -35
  170. package/dist/legend-constants-P5EQWRQQ.js +49 -0
  171. package/dist/{palettes-UDLZ2SA4.js → palettes-FGTNFARW.js} +4 -4
  172. package/dist/{parser-EYCKNKQA.js → parser-275KP7JO.js} +8 -8
  173. package/dist/parser-27Z76SN3.js +22 -0
  174. package/dist/parser-3CODK6RG.js +15 -0
  175. package/dist/{parser-YKYMQG3B.js → parser-3KIGEEJM.js} +6 -6
  176. package/dist/parser-3VSWEKBF.js +15 -0
  177. package/dist/parser-4E4I3GNT.js +13 -0
  178. package/dist/parser-5FGJSQNS.js +12 -0
  179. package/dist/parser-5HQXCNOS.js +12 -0
  180. package/dist/parser-5QPFOB5F.js +12 -0
  181. package/dist/parser-6B6SSZT7.js +11 -0
  182. package/dist/parser-6PPHAXXH.js +14 -0
  183. package/dist/parser-7JHWEWXM.js +13 -0
  184. package/dist/{parser-DQAFLUJB.js → parser-7JVIDLLR.js} +7 -7
  185. package/dist/parser-CKA3QMAG.js +18 -0
  186. package/dist/parser-CRKLXGW7.js +13 -0
  187. package/dist/parser-EXNBDNGY.js +11 -0
  188. package/dist/parser-FF4BMRSB.js +16 -0
  189. package/dist/parser-FOOFEJQU.js +13 -0
  190. package/dist/parser-G26MTBFS.js +11 -0
  191. package/dist/parser-GKP2MHHL.js +11 -0
  192. package/dist/parser-GN2MM5CC.js +11 -0
  193. package/dist/parser-IKWK2ZU3.js +18 -0
  194. package/dist/parser-IVGHXLZP.js +14 -0
  195. package/dist/parser-NNIL3HXU.js +11 -0
  196. package/dist/parser-RNLTBIJ6.js +19 -0
  197. package/dist/parser-UWRX52PC.js +16 -0
  198. package/dist/parser-VOERD6XR.js +14 -0
  199. package/dist/parser-XNKJCMMA.js +13 -0
  200. package/dist/parser-XVPTRWZ4.js +15 -0
  201. package/dist/parser-YSLNDFLV.js +22 -0
  202. package/dist/{parser-ZL5QUFVH.js → parser-ZGNXYFPS.js} +5 -5
  203. package/dist/parser-ZQDQTB4X.js +20 -0
  204. package/dist/pert.d.ts +2 -0
  205. package/dist/registry-CaSw0PSH.d.ts +350 -0
  206. package/dist/renderer-2C6DJRYN.js +24 -0
  207. package/dist/renderer-5MPN7CXZ.js +19 -0
  208. package/dist/renderer-6EN5XXJZ.js +27 -0
  209. package/dist/renderer-6WRYVM5R.js +24 -0
  210. package/dist/renderer-7NQSTQMQ.js +16 -0
  211. package/dist/renderer-7ZNVOVFG.js +16 -0
  212. package/dist/{renderer-DT4XRFEP.js → renderer-AK2WO4EI.js} +7 -7
  213. package/dist/renderer-COLQFSFV.js +26 -0
  214. package/dist/{renderer-3F7OS2AX.js → renderer-CWEFGEIC.js} +15 -15
  215. package/dist/renderer-D3BRNOMV.js +29 -0
  216. package/dist/renderer-HIFQVEJA.js +22 -0
  217. package/dist/renderer-JCZG6AYU.js +28 -0
  218. package/dist/{renderer-ZWIH4WDW.js → renderer-JTCX6PCG.js} +13 -13
  219. package/dist/renderer-JWGQSTMR.js +37 -0
  220. package/dist/{renderer-NHO46CT2.js → renderer-K7XLVPH5.js} +6 -6
  221. package/dist/renderer-KARQF3F3.js +22 -0
  222. package/dist/renderer-LVZAHRP6.js +34 -0
  223. package/dist/{renderer-CQY6ATOS.js → renderer-NE5W7CQP.js} +8 -8
  224. package/dist/renderer-QD2SJF2I.js +34 -0
  225. package/dist/renderer-RLMOTXZ6.js +37 -0
  226. package/dist/renderer-SQ54MDSA.js +26 -0
  227. package/dist/{renderer-HSHHVYWF.js → renderer-TYHGXAVT.js} +7 -7
  228. package/dist/renderer-UKXW2QPE.js +23 -0
  229. package/dist/renderer-UPF7NRTI.js +28 -0
  230. package/dist/renderer-VMH6L6CP.js +24 -0
  231. package/dist/{renderer-5DAKMIU2.js → renderer-WCWI4I6A.js} +5 -5
  232. package/dist/renderer-WFSUBKUL.js +25 -0
  233. package/dist/renderer-WNFXYYGL.js +21 -0
  234. package/dist/{renderer-KNFTTOBL.js → renderer-XTXSOK3L.js} +14 -14
  235. package/dist/renderer-YUKPS27O.js +24 -0
  236. package/dist/renderer-YUXGXGSW.js +27 -0
  237. package/dist/renderer-ZBTEX2JK.js +16 -0
  238. package/dist/renderer-radial-WF6VOUOD.js +21 -0
  239. package/dist/{resolver-EMTGNR3D.js → resolver-WFKZYBJ2.js} +4 -4
  240. package/dist/state-parser-L7DHZIQO.js +19 -0
  241. package/dist/state-renderer-TFEUOP4H.js +38 -0
  242. package/dist/{themes-32xj5ZTW.d.ts → themes-tbBkIVsn.d.ts} +2 -349
  243. package/docs/ai-integration.md +59 -58
  244. package/docs/language-reference.md +323 -286
  245. package/fonts/Inter-Bold.woff2 +0 -0
  246. package/fonts/Inter-Regular.woff2 +0 -0
  247. package/gallery/fixtures/boxes-and-lines-diverging.dgmo +1 -2
  248. package/gallery/fixtures/boxes-and-lines.dgmo +1 -1
  249. package/gallery/fixtures/clock.dgmo +1 -1
  250. package/gallery/fixtures/event-line.dgmo +1 -1
  251. package/gallery/fixtures/gantt-full.dgmo +1 -1
  252. package/gallery/fixtures/gantt-sprints.dgmo +9 -9
  253. package/gallery/fixtures/gantt.dgmo +1 -1
  254. package/gallery/fixtures/legacy-syntax-backcompat.dgmo +16 -0
  255. package/gallery/fixtures/state-tags.dgmo +40 -0
  256. package/gallery/fixtures/swimlane.dgmo +1 -1
  257. package/gallery/fixtures/timeline-intraday.dgmo +1 -1
  258. package/package.json +5 -1
  259. package/dist/analyzer-BJ54GIFB.js +0 -15
  260. package/dist/calculator-LDYQCDDY.js +0 -11
  261. package/dist/charts-d3-MXEP6BNP.js +0 -26
  262. package/dist/dgmo-router-X7ZGAPIE.js +0 -86
  263. package/dist/dimensions-45H6JQEY.js +0 -22
  264. package/dist/flowchart-parser-UKELHBSB.js +0 -21
  265. package/dist/layout-46N4JJYK.js +0 -17
  266. package/dist/layout-A4XWNVID.js +0 -14
  267. package/dist/layout-AM2JWW3X.js +0 -15
  268. package/dist/layout-EE6GE46Y.js +0 -17
  269. package/dist/layout-G23F7LDH.js +0 -9
  270. package/dist/layout-GM4UGR7B.js +0 -19
  271. package/dist/layout-GQQJXNYH.js +0 -15
  272. package/dist/layout-IIE2S5FK.js +0 -20
  273. package/dist/layout-VMCRX66I.js +0 -14
  274. package/dist/layout-ZDOSXL5G.js +0 -19
  275. package/dist/parser-2ECN6JA2.js +0 -16
  276. package/dist/parser-4WTIHM5J.js +0 -11
  277. package/dist/parser-5H2BTSJQ.js +0 -11
  278. package/dist/parser-75KVXUNS.js +0 -16
  279. package/dist/parser-774AC53T.js +0 -13
  280. package/dist/parser-BE4YCSRU.js +0 -11
  281. package/dist/parser-CNGUQUQI.js +0 -11
  282. package/dist/parser-DEUUSQIN.js +0 -22
  283. package/dist/parser-FXISIU6A.js +0 -14
  284. package/dist/parser-GTB4XC7P.js +0 -18
  285. package/dist/parser-GVEPAUSD.js +0 -12
  286. package/dist/parser-HSQGTY4G.js +0 -19
  287. package/dist/parser-HVKRINUS.js +0 -11
  288. package/dist/parser-J5MIEYO4.js +0 -15
  289. package/dist/parser-KMZIXLDZ.js +0 -13
  290. package/dist/parser-LJHXWSXU.js +0 -14
  291. package/dist/parser-PT3W72G5.js +0 -15
  292. package/dist/parser-SBJQDPHL.js +0 -15
  293. package/dist/parser-SUWWWCMX.js +0 -12
  294. package/dist/parser-SXDRNZOA.js +0 -13
  295. package/dist/parser-UMILOW3M.js +0 -14
  296. package/dist/parser-UP3AZ367.js +0 -13
  297. package/dist/parser-WHPRV3X5.js +0 -20
  298. package/dist/parser-WX3UODSJ.js +0 -12
  299. package/dist/parser-XCIEN3KN.js +0 -13
  300. package/dist/parser-XIRTUMVN.js +0 -18
  301. package/dist/parser-YKCGIG45.js +0 -11
  302. package/dist/parser-ZGM2OJ6Y.js +0 -22
  303. package/dist/renderer-4QB4K7Q3.js +0 -24
  304. package/dist/renderer-5H4SY7YY.js +0 -22
  305. package/dist/renderer-5PIQPFOX.js +0 -16
  306. package/dist/renderer-6MU37QF5.js +0 -19
  307. package/dist/renderer-AQVMWJ4M.js +0 -27
  308. package/dist/renderer-BDDW6K7N.js +0 -24
  309. package/dist/renderer-BNB3VIDY.js +0 -26
  310. package/dist/renderer-CVW75CXL.js +0 -37
  311. package/dist/renderer-ERHBSTQT.js +0 -25
  312. package/dist/renderer-IDPVUFNB.js +0 -28
  313. package/dist/renderer-ILX6BGKR.js +0 -21
  314. package/dist/renderer-JP663HKG.js +0 -22
  315. package/dist/renderer-MVUZBESR.js +0 -16
  316. package/dist/renderer-N4EBR2FV.js +0 -28
  317. package/dist/renderer-NO2QJ5LZ.js +0 -27
  318. package/dist/renderer-OGFV5RXX.js +0 -34
  319. package/dist/renderer-PDLESJMS.js +0 -37
  320. package/dist/renderer-T4MTNINC.js +0 -24
  321. package/dist/renderer-TOUGFGTM.js +0 -24
  322. package/dist/renderer-U3KPD43Y.js +0 -34
  323. package/dist/renderer-X334IJU2.js +0 -26
  324. package/dist/renderer-Y5OAMOCR.js +0 -23
  325. package/dist/renderer-YONAKAJU.js +0 -16
  326. package/dist/renderer-YWMI6Y2U.js +0 -29
  327. package/dist/renderer-radial-7CGZMVMS.js +0 -21
  328. package/dist/state-parser-BATWAID2.js +0 -18
  329. 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,99 @@ import {
3
3
  docsLink,
4
4
  normalizeSvgForEmbed,
5
5
  renderErrorCard
6
- } from "./chunk-GJFAMOGK.js";
6
+ } from "./chunk-CQFNIIQN.js";
7
7
  import {
8
- encodeDiagramUrl,
9
8
  render
10
- } from "./chunk-J7KJR3R6.js";
11
- import "./chunk-7KINELPI.js";
9
+ } from "./chunk-GWQJKTFS.js";
10
+ import "./chunk-SG4PRYO3.js";
11
+ import "./chunk-VHO3YBTB.js";
12
+ import "./chunk-XQ4KN6JQ.js";
12
13
  import "./chunk-YRYKTYMQ.js";
14
+ import "./chunk-ADYKAKE3.js";
13
15
  import "./chunk-YYVTBZZC.js";
14
- import "./chunk-AUIM2NVH.js";
15
- import "./chunk-ZEF5M5MB.js";
16
- import "./chunk-MUE65OTD.js";
17
- import "./chunk-FT3ZYWET.js";
16
+ import "./chunk-W5KMNC5U.js";
17
+ import "./chunk-774C2FF3.js";
18
+ import "./chunk-A4GOY3PE.js";
19
+ import "./chunk-6KFWC4CO.js";
20
+ import {
21
+ encodeDiagramUrl
22
+ } from "./chunk-U7VO6JAA.js";
23
+ import "./chunk-SQCBSFT5.js";
24
+ import "./chunk-Q7AH665U.js";
25
+ import "./chunk-4K42RUGC.js";
26
+ import "./chunk-KUSAVOWZ.js";
27
+ import "./chunk-NR5HCAUD.js";
28
+ import "./chunk-6HTRCTAS.js";
29
+ import "./chunk-DWUMPMV2.js";
18
30
  import {
19
31
  monthIndex,
20
32
  weekdayIndex
21
33
  } from "./chunk-OQKP2X3D.js";
22
- import "./chunk-FY5MSZAP.js";
34
+ import "./chunk-FLDC7ZAK.js";
23
35
  import "./chunk-APKUAJ2L.js";
24
- import "./chunk-PRI2OD4E.js";
25
- import "./chunk-4IHAV6O7.js";
26
- import "./chunk-Z5QVYKR7.js";
36
+ import "./chunk-RW5PEJ7D.js";
37
+ import "./chunk-ALYZ3MAA.js";
38
+ import "./chunk-FFXCKZOU.js";
27
39
  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";
40
+ import "./chunk-MA3HJZHB.js";
41
+ import "./chunk-QQJUTGQH.js";
42
+ import "./chunk-3CZLWOCI.js";
43
+ import "./chunk-GABSL6TH.js";
44
+ import "./chunk-CK2GMDXD.js";
45
+ import "./chunk-HNBY6CNV.js";
46
+ import "./chunk-VJHBSPGF.js";
47
+ import "./chunk-JHOAH4TI.js";
48
+ import "./chunk-PV2QO7QL.js";
49
+ import "./chunk-FUKNRLIJ.js";
50
+ import "./chunk-PKNNHU7H.js";
51
+ import "./chunk-NNUMX6WX.js";
52
+ import "./chunk-2QC4HXCY.js";
53
+ import "./chunk-27STWBOK.js";
49
54
  import {
50
55
  REGISTRY_COLON_KEY_TOKENS,
51
56
  REGISTRY_CONTROL_TOKENS,
52
57
  REGISTRY_DIRECTIVE_TOKENS,
53
58
  REGISTRY_MODIFIER_TOKENS,
54
59
  REGISTRY_STATUS_TOKENS
55
- } from "./chunk-FQ7HTV52.js";
56
- import "./chunk-5RP7JRVP.js";
57
- import "./chunk-HQQNCY7W.js";
60
+ } from "./chunk-6DCOIN4W.js";
61
+ import "./chunk-VKNCC2GX.js";
62
+ import "./chunk-VAO6ANGC.js";
58
63
  import "./chunk-RT7ACF77.js";
59
- import "./chunk-LTXOLDUZ.js";
60
- import "./chunk-75G3Q4DK.js";
61
- 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";
64
+ import "./chunk-I64ECJX3.js";
65
+ import "./chunk-AN2DQB3G.js";
66
+ import "./chunk-VRRDUYOK.js";
67
+ import "./chunk-BR7AYN76.js";
68
+ import "./chunk-SGPFVDUL.js";
69
+ import "./chunk-XEAQDIMF.js";
70
+ import "./chunk-IYULMRBE.js";
71
+ import "./chunk-P3H7QVDH.js";
72
+ import "./chunk-3TYUXC7D.js";
73
+ import "./chunk-EQW6HOP4.js";
74
+ import "./chunk-UK6DKJLD.js";
75
+ import "./chunk-6AUZPPAV.js";
71
76
  import {
72
77
  scanMonthNameDates
73
78
  } from "./chunk-DAOFNU6J.js";
74
- import "./chunk-3YRPZ7ZZ.js";
75
- import "./chunk-3QD7VP3U.js";
76
- import "./chunk-BPY242XU.js";
77
- import "./chunk-IYULMRBE.js";
79
+ import "./chunk-FXCB7H5O.js";
78
80
  import {
79
81
  resolvePaletteOrFallback
80
82
  } from "./chunk-R3XI2VC7.js";
81
- import "./chunk-WBM7ZNDI.js";
82
- import "./chunk-QJMKPUYK.js";
83
+ import "./chunk-JYDMBWRP.js";
84
+ import "./chunk-4RGZFA7H.js";
85
+ import "./chunk-4ASYQ347.js";
86
+ import "./chunk-22OQWBWD.js";
83
87
  import "./chunk-C3Z4DX3V.js";
84
- import "./chunk-HHKO6SKY.js";
85
- import "./chunk-6EJITS44.js";
88
+ import "./chunk-CMVZWP32.js";
89
+ import "./chunk-JTMSWEIW.js";
86
90
  import "./chunk-I46X5VUA.js";
87
- import "./chunk-ROOE4R4Y.js";
88
91
  import "./chunk-NXMESY4J.js";
89
- import "./chunk-TPFKKXCB.js";
90
- import "./chunk-ARGMQ3H4.js";
91
- import "./chunk-FMDSF3OV.js";
92
- import "./chunk-FFUN5D66.js";
92
+ import "./chunk-ZXUAPTCK.js";
93
+ import "./chunk-QZAW5SFH.js";
94
+ import "./chunk-WF64MW5G.js";
93
95
  import "./chunk-NOTA6TEI.js";
94
- import "./chunk-BRENJ2BQ.js";
95
- import "./chunk-TLVIHFRO.js";
96
- import "./chunk-CXK4DZH3.js";
96
+ import "./chunk-YJVA3QUU.js";
97
+ import "./chunk-ZKPPI6BF.js";
98
+ import "./chunk-4W2PE66Q.js";
97
99
  import "./chunk-5WRI5ZAA.js";
98
100
 
99
101
  // src/editor/dgmo.grammar.js
@@ -189,7 +191,7 @@ var parser = LRParser.deserialize({
189
191
  maxTerm: 40,
190
192
  skippedNodes: [0],
191
193
  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",
194
+ 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
195
  tokenizers: [0],
194
196
  topRules: { "Document": [0, 6] },
195
197
  specialized: [{ term: 32, get: (value, stack) => specializeKeyword(value, stack) << 1, external: specializeKeyword }],
@@ -325,7 +327,10 @@ var ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
325
327
  "pain",
326
328
  "opportunity",
327
329
  "thought",
328
- "collapsed",
330
+ // `collapsed` moved to the registry as a bare MODIFIER keyword (decision
331
+ // #48 made the bare flag canonical). It must NOT be listed here too: the
332
+ // ATTRIBUTE_KEYS colon gate only fires on `default` tokens, so a bare
333
+ // keyword classification wins and a duplicate entry would be dead weight.
329
334
  "tech",
330
335
  "span",
331
336
  "split",
@@ -652,17 +657,25 @@ var BLOCK_CSS = `
652
657
 
653
658
  /* === Toolbar ===
654
659
  * 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. */
660
+ * bottom-right corner (position:absolute \u2014 it reserves no layout space, so the
661
+ * block is exactly as tall as the chart). Bottom-right (not top-right) so it
662
+ * never collides with a host's own top-right chart chrome \u2014 e.g. Obsidian's
663
+ * code-block copy button. It stays fully transparent until the block is
664
+ * hovered or focused, or the source panel is open. It is the <summary> of the
665
+ * source <details>, so toggling works without any JS. No text labels, no
666
+ * disclosure triangle \u2014 three wordless icon buttons.
667
+ *
668
+ * Anchored to .dgmo-source-wrap (position:relative below), whose top edge is
669
+ * always the diagram's bottom edge \u2014 bottom:calc(100% + gap) therefore keeps
670
+ * the toolbar at the diagram's bottom-right whether the source panel is open or
671
+ * closed (a figure-anchored bottom would drift down below the open code). */
660
672
  .dgmo-source-wrap {
661
673
  margin: 0;
674
+ position: relative;
662
675
  }
663
676
  .dgmo-toolbar {
664
677
  position: absolute;
665
- top: 0.4em;
678
+ bottom: calc(100% + 0.4em);
666
679
  right: 0.4em;
667
680
  z-index: 2;
668
681
  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,105 @@
1
+ import {
2
+ normalizePertSourceForShare,
3
+ resolveOrgImports
4
+ } from "./chunk-AIMLCDAO.js";
5
+ import {
6
+ decodeDiagramUrl,
7
+ decodeViewState,
8
+ encodeDiagramUrl,
9
+ encodeViewState
10
+ } from "./chunk-U7VO6JAA.js";
11
+ import {
12
+ chartTypes,
13
+ parseDgmoChartType
14
+ } from "./chunk-SQCBSFT5.js";
15
+ import "./chunk-Q7AH665U.js";
16
+ import "./chunk-4K42RUGC.js";
17
+ import "./chunk-KUSAVOWZ.js";
18
+ import "./chunk-NR5HCAUD.js";
19
+ import "./chunk-6HTRCTAS.js";
20
+ import "./chunk-DWUMPMV2.js";
21
+ import "./chunk-OQKP2X3D.js";
22
+ import "./chunk-FLDC7ZAK.js";
23
+ import "./chunk-APKUAJ2L.js";
24
+ import "./chunk-RW5PEJ7D.js";
25
+ import {
26
+ parseRaci
27
+ } from "./chunk-ALYZ3MAA.js";
28
+ import "./chunk-FFXCKZOU.js";
29
+ import "./chunk-BDXC7MDK.js";
30
+ import "./chunk-MA3HJZHB.js";
31
+ import "./chunk-QQJUTGQH.js";
32
+ import "./chunk-3CZLWOCI.js";
33
+ import "./chunk-GABSL6TH.js";
34
+ import "./chunk-CK2GMDXD.js";
35
+ import "./chunk-HNBY6CNV.js";
36
+ import "./chunk-VJHBSPGF.js";
37
+ import "./chunk-JHOAH4TI.js";
38
+ import "./chunk-PV2QO7QL.js";
39
+ import "./chunk-FUKNRLIJ.js";
40
+ import "./chunk-PKNNHU7H.js";
41
+ import "./chunk-NNUMX6WX.js";
42
+ import "./chunk-2QC4HXCY.js";
43
+ import "./chunk-27STWBOK.js";
44
+ import "./chunk-6DCOIN4W.js";
45
+ import "./chunk-VKNCC2GX.js";
46
+ import "./chunk-VAO6ANGC.js";
47
+ import "./chunk-RT7ACF77.js";
48
+ import "./chunk-I64ECJX3.js";
49
+ import "./chunk-AN2DQB3G.js";
50
+ import "./chunk-VRRDUYOK.js";
51
+ import "./chunk-BR7AYN76.js";
52
+ import {
53
+ parseOrg
54
+ } from "./chunk-SGPFVDUL.js";
55
+ import "./chunk-XEAQDIMF.js";
56
+ import "./chunk-IYULMRBE.js";
57
+ import "./chunk-P3H7QVDH.js";
58
+ import "./chunk-3TYUXC7D.js";
59
+ import "./chunk-EQW6HOP4.js";
60
+ import "./chunk-UK6DKJLD.js";
61
+ import "./chunk-6AUZPPAV.js";
62
+ import "./chunk-DAOFNU6J.js";
63
+ import "./chunk-FXCB7H5O.js";
64
+ import {
65
+ getAvailablePalettes,
66
+ getPalette
67
+ } from "./chunk-R3XI2VC7.js";
68
+ import {
69
+ hexToHSLString
70
+ } from "./chunk-JYDMBWRP.js";
71
+ import "./chunk-22OQWBWD.js";
72
+ import "./chunk-C3Z4DX3V.js";
73
+ import "./chunk-CMVZWP32.js";
74
+ import "./chunk-JTMSWEIW.js";
75
+ import "./chunk-I46X5VUA.js";
76
+ import "./chunk-NXMESY4J.js";
77
+ import "./chunk-ZXUAPTCK.js";
78
+ import "./chunk-QZAW5SFH.js";
79
+ import "./chunk-WF64MW5G.js";
80
+ import "./chunk-NOTA6TEI.js";
81
+ import {
82
+ ALL_CHART_TYPES,
83
+ parseFirstLine
84
+ } from "./chunk-YJVA3QUU.js";
85
+ import "./chunk-ZKPPI6BF.js";
86
+ import "./chunk-4W2PE66Q.js";
87
+ import "./chunk-5WRI5ZAA.js";
88
+ export {
89
+ ALL_CHART_TYPES,
90
+ chartTypes,
91
+ decodeDiagramUrl,
92
+ decodeViewState,
93
+ encodeDiagramUrl,
94
+ encodeViewState,
95
+ getAvailablePalettes,
96
+ getPalette,
97
+ hexToHSLString,
98
+ normalizePertSourceForShare,
99
+ parseDgmoChartType,
100
+ parseFirstLine,
101
+ parseOrg,
102
+ parseRaci,
103
+ resolveOrgImports
104
+ };
105
+ //# sourceMappingURL=chart-meta.js.map
@@ -0,0 +1,26 @@
1
+ import {
2
+ D3_DATA_CHART_TYPES,
3
+ renderDataChartD3,
4
+ supportsD3DataChart
5
+ } from "./chunk-SG4PRYO3.js";
6
+ import "./chunk-VHO3YBTB.js";
7
+ import "./chunk-ADYKAKE3.js";
8
+ import "./chunk-774C2FF3.js";
9
+ import "./chunk-A4GOY3PE.js";
10
+ import "./chunk-6KFWC4CO.js";
11
+ import "./chunk-Q7AH665U.js";
12
+ import "./chunk-R3XI2VC7.js";
13
+ import "./chunk-JYDMBWRP.js";
14
+ import "./chunk-4RGZFA7H.js";
15
+ import "./chunk-4ASYQ347.js";
16
+ import "./chunk-CMVZWP32.js";
17
+ import "./chunk-YJVA3QUU.js";
18
+ import "./chunk-ZKPPI6BF.js";
19
+ import "./chunk-4W2PE66Q.js";
20
+ import "./chunk-5WRI5ZAA.js";
21
+ export {
22
+ D3_DATA_CHART_TYPES,
23
+ renderDataChartD3,
24
+ supportsD3DataChart
25
+ };
26
+ //# sourceMappingURL=charts-d3-DH2XA45I.js.map