@diagrammo/dgmo 0.49.0 → 0.50.1

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 (198) hide show
  1. package/.cursorrules +6 -2
  2. package/.github/copilot-instructions.md +6 -2
  3. package/.windsurfrules +6 -2
  4. package/SKILL.md +6 -2
  5. package/dist/advanced.js +557 -195
  6. package/dist/auto.js +129 -119
  7. package/dist/auto.mjs +19496 -12761
  8. package/dist/block.js +145 -48
  9. package/dist/{charts-d3-EW3YQTEA.js → charts-d3-LR6D3D7A.js} +5 -5
  10. package/dist/{chunk-5FGDJIJX.js → chunk-2C56LEML.js} +3 -3
  11. package/dist/{chunk-XJ7J6WOO.js → chunk-2KGXHFYK.js} +4 -4
  12. package/dist/{chunk-T7IKPCMI.js → chunk-3LH5CLP4.js} +3 -3
  13. package/dist/{chunk-ZDUQGL3N.js → chunk-3LKM6FMW.js} +2 -2
  14. package/dist/{chunk-4FIV4K4Z.js → chunk-3NODSS6A.js} +7 -7
  15. package/dist/{chunk-4BD7EVPK.js → chunk-3P2DKJCG.js} +2 -2
  16. package/dist/{chunk-TC3YWBFO.js → chunk-3UIKSPFB.js} +35 -9
  17. package/dist/{chunk-SJEGO2QL.js → chunk-3XGZF2QJ.js} +4 -4
  18. package/dist/chunk-3XPUDB7B.js +420 -0
  19. package/dist/{chunk-O5MQPK7E.js → chunk-3Y2DRD7S.js} +3 -3
  20. package/dist/chunk-3YPY3OXD.js +354 -0
  21. package/dist/{chunk-N4J5KGWG.js → chunk-4MJ7M6YL.js} +8 -8
  22. package/dist/{chunk-JFPY3UJ7.js → chunk-4S52SK6G.js} +8 -8
  23. package/dist/{chunk-ALRHIR6I.js → chunk-5GJYGP5Z.js} +4 -4
  24. package/dist/{chunk-SQDFK5ZQ.js → chunk-5OWVC2A6.js} +3 -3
  25. package/dist/{chunk-7VLUGEMJ.js → chunk-66NVRO4K.js} +4 -4
  26. package/dist/{chunk-ZREZOIGS.js → chunk-66RUL3XF.js} +6 -6
  27. package/dist/{chunk-MJCG5K2O.js → chunk-6BFZKBGD.js} +2 -2
  28. package/dist/{chunk-2WMBWZY2.js → chunk-6HJBFVLO.js} +3 -3
  29. package/dist/{chunk-XCC2RENT.js → chunk-6IAA2QQ2.js} +2 -2
  30. package/dist/{chunk-B57V3DWN.js → chunk-7L3R6I3U.js} +3 -3
  31. package/dist/chunk-7PQYTZMA.js +681 -0
  32. package/dist/{chunk-6SA7FJE4.js → chunk-7QKLIMRZ.js} +10 -10
  33. package/dist/{chunk-YTN572Q2.js → chunk-7TV5Y53Y.js} +2 -2
  34. package/dist/{chunk-6CLKNXVP.js → chunk-BBGDM4NQ.js} +457 -78
  35. package/dist/{chunk-3NFJWFNP.js → chunk-BDXC7MDK.js} +1045 -124
  36. package/dist/{chunk-D5AVQCDN.js → chunk-BH3UYK36.js} +3 -3
  37. package/dist/chunk-BTUTZMPT.js +482 -0
  38. package/dist/{chunk-LVHPTBO3.js → chunk-C2CVAM3U.js} +4 -4
  39. package/dist/{chunk-BCT5G2VN.js → chunk-DFTFPYUD.js} +5 -5
  40. package/dist/{chunk-KV6Y2HE6.js → chunk-DSWVNQVS.js} +4 -4
  41. package/dist/{chunk-4YNP6O47.js → chunk-DZXYF2F5.js} +13 -3
  42. package/dist/{chunk-FUCAB3KQ.js → chunk-EAMEADTV.js} +3 -3
  43. package/dist/chunk-FA6K3FWM.js +940 -0
  44. package/dist/{chunk-HBVD67XG.js → chunk-FJUNPCYI.js} +2 -2
  45. package/dist/{chunk-6VE3VLWM.js → chunk-GBE54KY6.js} +6 -5
  46. package/dist/{chunk-YRVLP7UU.js → chunk-GKC3HILQ.js} +4 -4
  47. package/dist/{chunk-ZXL6MB4R.js → chunk-GL5UZ6NY.js} +3 -3
  48. package/dist/{chunk-GB3YZTAM.js → chunk-H73FP42Q.js} +5 -5
  49. package/dist/{chunk-4UDKKGHH.js → chunk-HEVYAHLW.js} +2 -2
  50. package/dist/{chunk-DDTJ5N7Q.js → chunk-HLJVEAOF.js} +6 -6
  51. package/dist/{chunk-CLR4A2N2.js → chunk-HTMN2Z6U.js} +4 -4
  52. package/dist/{chunk-TLKMTQYL.js → chunk-I2WKW7C7.js} +3 -3
  53. package/dist/{chunk-IUK7AGD4.js → chunk-I7F2A35O.js} +2 -2
  54. package/dist/{chunk-IBC35BTK.js → chunk-IUMPEA64.js} +2 -2
  55. package/dist/{chunk-5XCM7UUW.js → chunk-J6K7RP6P.js} +100 -36
  56. package/dist/{chunk-AJ2PEY7J.js → chunk-JJUOHGX2.js} +2 -2
  57. package/dist/{chunk-CEHZOPGM.js → chunk-KFZYNWWO.js} +2 -2
  58. package/dist/{chunk-4NQ3IKUM.js → chunk-KHEYDLMT.js} +5 -5
  59. package/dist/{chunk-YM2BSPYW.js → chunk-LE4MYMLI.js} +2 -2
  60. package/dist/{chunk-PU3AUQPA.js → chunk-M5RXSRO2.js} +2 -2
  61. package/dist/{chunk-XKTN7CZF.js → chunk-MCZ5LBZD.js} +4 -4
  62. package/dist/{chunk-35BBZDFE.js → chunk-NU3XLTGP.js} +4 -4
  63. package/dist/{chunk-BPIJLRYE.js → chunk-NWED7CYO.js} +3 -3
  64. package/dist/{chunk-YYX3SU6H.js → chunk-OMNGQPEZ.js} +257 -101
  65. package/dist/{chunk-BGJV5ATD.js → chunk-ONA5KPV3.js} +2 -2
  66. package/dist/{chunk-ZNQX6QWH.js → chunk-OTAL43EH.js} +6 -2
  67. package/dist/{chunk-F743CM2N.js → chunk-OTQKUHRS.js} +3 -3
  68. package/dist/{chunk-KUBBJ2CD.js → chunk-P7CE7LXL.js} +6 -6
  69. package/dist/{chunk-UVCXZEGU.js → chunk-PFHVU7UA.js} +2 -2
  70. package/dist/{chunk-5ZZLLBFK.js → chunk-PGEGPSCZ.js} +2 -2
  71. package/dist/chunk-Q4V4XQWV.js +158 -0
  72. package/dist/{chunk-IHLSHCPZ.js → chunk-QJP6PG7F.js} +5 -5
  73. package/dist/{chunk-EYN7VFKL.js → chunk-QROYX7TT.js} +3 -3
  74. package/dist/chunk-QXKWYZNR.js +379 -0
  75. package/dist/{chunk-VC3TR4NL.js → chunk-RZ6YKEUJ.js} +3 -3
  76. package/dist/{chunk-K6HNAY5V.js → chunk-SCHXJTZL.js} +2 -2
  77. package/dist/{chunk-7OVSJI2V.js → chunk-SQLNBA64.js} +3 -3
  78. package/dist/{chunk-65RTDUZH.js → chunk-SXRTRMEE.js} +3 -3
  79. package/dist/{chunk-3BIAFYD2.js → chunk-T4VOVZT5.js} +2 -2
  80. package/dist/{chunk-UWDO3O52.js → chunk-TN35C5KM.js} +2 -2
  81. package/dist/{chunk-IFK3GIUW.js → chunk-TSA237IM.js} +2 -2
  82. package/dist/{chunk-DKEPS5LH.js → chunk-U2HGPLZS.js} +36 -2
  83. package/dist/{chunk-4HVNZ7WF.js → chunk-VBYSIOOY.js} +3 -3
  84. package/dist/{chunk-ZTLWVRNS.js → chunk-VDOOQZUD.js} +2 -2
  85. package/dist/{chunk-RTERS6S5.js → chunk-VUJGMJE6.js} +4 -4
  86. package/dist/{chunk-X2CH42BN.js → chunk-VVW3F3MD.js} +7 -7
  87. package/dist/{chunk-RI4NIMFP.js → chunk-VVZRV54S.js} +75 -35
  88. package/dist/{chunk-LG4TWW4U.js → chunk-WW32K72E.js} +8 -8
  89. package/dist/{chunk-NVT6C2VE.js → chunk-X6EZPSW6.js} +4 -4
  90. package/dist/{chunk-KQAEKMIX.js → chunk-XDXNDSKO.js} +2 -2
  91. package/dist/{chunk-FMKTYMP4.js → chunk-XJLKLU4D.js} +3 -3
  92. package/dist/chunk-Y4RNXEAO.js +952 -0
  93. package/dist/{chunk-26RVGM44.js → chunk-YIA4LEX4.js} +15 -7
  94. package/dist/chunk-YNRDWYZP.js +295 -0
  95. package/dist/{chunk-SGHSY3LU.js → chunk-Z6XJQ6KO.js} +81 -6
  96. package/dist/{chunk-SVDWQGX2.js → chunk-ZAD4HV2G.js} +139 -78
  97. package/dist/cli.cjs +153 -144
  98. package/dist/clock.d.ts +10 -0
  99. package/dist/clock.js +235 -0
  100. package/dist/countdown.d.ts +12 -0
  101. package/dist/countdown.js +450 -0
  102. package/dist/dgmo-router-YTU3ENAX.js +84 -0
  103. package/dist/{dimensions-WSIJXT5Q.js → dimensions-OTBKC5M6.js} +5 -5
  104. package/dist/editor.js +39 -1
  105. package/dist/element.js +131 -121
  106. package/dist/element.mjs +19496 -12761
  107. package/dist/{flowchart-parser-IVZN7CQN.js → flowchart-parser-OE4WHLTF.js} +4 -4
  108. package/dist/{flowchart-renderer-GMI2U3DD.js → flowchart-renderer-GPCSMTOR.js} +6 -6
  109. package/dist/highlight.d.ts +17 -1
  110. package/dist/highlight.js +156 -5
  111. package/dist/index.js +50 -45
  112. package/dist/{layout-HQMBPJVS.js → layout-46366KBT.js} +2 -2
  113. package/dist/{layout-D42XE4RE.js → layout-5BG6DFCU.js} +3 -3
  114. package/dist/{layout-K2ZN3Q42.js → layout-7MZ5NF2N.js} +4 -4
  115. package/dist/{layout-4Z5JM7PT.js → layout-FWODLIMP.js} +4 -4
  116. package/dist/{layout-GZ2CWONU.js → layout-J36454XU.js} +4 -4
  117. package/dist/{layout-S3EK4IYO.js → layout-LD6XTLD6.js} +4 -4
  118. package/dist/{parser-CLMFZWCC.js → parser-36HVKU5U.js} +5 -5
  119. package/dist/{parser-MCJWF5G3.js → parser-4AI5ZN5F.js} +3 -3
  120. package/dist/{parser-DERPY5KC.js → parser-4NO6VZ6S.js} +4 -4
  121. package/dist/parser-4WQQQXCG.js +13 -0
  122. package/dist/{parser-4ROBKVUR.js → parser-5OXGPNBF.js} +5 -5
  123. package/dist/{parser-XWUDFJ7P.js → parser-AGVYTQXV.js} +4 -4
  124. package/dist/{parser-TITK4YW6.js → parser-AXKBDGNO.js} +5 -5
  125. package/dist/parser-B5FVS7O6.js +11 -0
  126. package/dist/parser-CSFUN3CT.js +14 -0
  127. package/dist/parser-CVMEDULU.js +15 -0
  128. package/dist/{parser-KPMN5KKE.js → parser-D5VILGN2.js} +4 -4
  129. package/dist/{parser-IKZFTLOJ.js → parser-DFFEDKHH.js} +3 -3
  130. package/dist/{parser-JD7OQ2E6.js → parser-H3XEPFPV.js} +4 -4
  131. package/dist/{parser-UBGPTIZD.js → parser-HYRTF3DO.js} +3 -3
  132. package/dist/{parser-K647FRI4.js → parser-IBWNAPY4.js} +3 -3
  133. package/dist/{parser-4BKIFG2C.js → parser-IJBMRXMC.js} +5 -5
  134. package/dist/{parser-MBJSBTL5.js → parser-JJR52VAT.js} +5 -5
  135. package/dist/{parser-SMBJO3XN.js → parser-K3XXLMUW.js} +4 -4
  136. package/dist/{parser-OBQG655V.js → parser-KCR2WS3V.js} +4 -4
  137. package/dist/{parser-HVJFTOXL.js → parser-LWKKBNSA.js} +3 -3
  138. package/dist/{parser-ZYC3XGNS.js → parser-MPCE5JBG.js} +4 -4
  139. package/dist/{parser-QJYS7KQQ.js → parser-MTOMTWTD.js} +4 -4
  140. package/dist/{parser-GFSOPDB7.js → parser-O4HIUN6G.js} +4 -4
  141. package/dist/{parser-BL7Z72EY.js → parser-PSA4UBSP.js} +4 -4
  142. package/dist/{parser-TNYX5S7E.js → parser-RV4M6AS2.js} +4 -4
  143. package/dist/parser-RZPVAQVX.js +11 -0
  144. package/dist/{parser-UGA23PYK.js → parser-TGQZJ5OT.js} +4 -4
  145. package/dist/parser-TXND652E.js +13 -0
  146. package/dist/{parser-WISPH7LW.js → parser-VKOJM7KS.js} +4 -4
  147. package/dist/{parser-ZKF5K2H2.js → parser-W4PQUGX3.js} +4 -4
  148. package/dist/{parser-MRBPXXIV.js → parser-WAV5JRPT.js} +4 -4
  149. package/dist/{parser-D6ONJQFR.js → parser-YS7TOS2K.js} +3 -3
  150. package/dist/pert.d.ts +8 -0
  151. package/dist/{renderer-VFUVRNLK.js → renderer-2AZ5HJFK.js} +4 -4
  152. package/dist/{renderer-V3JEMWMM.js → renderer-2QPMJ2DA.js} +6 -6
  153. package/dist/renderer-45PSOL3E.js +19 -0
  154. package/dist/{renderer-BB5PREMY.js → renderer-4ITCHBT7.js} +4 -4
  155. package/dist/{renderer-XEKIRPI6.js → renderer-5DSEWF74.js} +5 -5
  156. package/dist/{renderer-QNHUXCRL.js → renderer-6OKF44KS.js} +9 -9
  157. package/dist/renderer-72LGR2YF.js +14 -0
  158. package/dist/{renderer-YHXPN3GF.js → renderer-7SD6MSBS.js} +7 -7
  159. package/dist/renderer-A5VE5BCI.js +24 -0
  160. package/dist/{renderer-A5VFZQQK.js → renderer-AUW2BE6G.js} +6 -6
  161. package/dist/{renderer-LWGJFT3D.js → renderer-B5TBNZJE.js} +5 -5
  162. package/dist/{renderer-4IUPINAE.js → renderer-BSR2O2H6.js} +7 -7
  163. package/dist/{renderer-DKESNMU5.js → renderer-CYB4LK3G.js} +6 -6
  164. package/dist/{renderer-MFJ7HY2H.js → renderer-FF24KZCI.js} +5 -5
  165. package/dist/{renderer-CGW7QPNA.js → renderer-FPE3J5VZ.js} +7 -7
  166. package/dist/{renderer-6T3KK4S3.js → renderer-FYSVXL7M.js} +7 -7
  167. package/dist/{renderer-THD6V5TL.js → renderer-HDCCZURL.js} +9 -7
  168. package/dist/{renderer-TPIBXNOS.js → renderer-JCCHNECZ.js} +6 -6
  169. package/dist/{renderer-QL5KO6SK.js → renderer-KS7YZJE2.js} +7 -7
  170. package/dist/{renderer-SQ3JUAI7.js → renderer-NGXZTRK6.js} +6 -6
  171. package/dist/{renderer-MJDDU27W.js → renderer-ODUUOPVT.js} +10 -10
  172. package/dist/renderer-PJM35LJN.js +17 -0
  173. package/dist/{renderer-TYXRHMRI.js → renderer-PPIHO5FI.js} +9 -9
  174. package/dist/{renderer-W5RMOURB.js → renderer-PSMMZCKH.js} +6 -6
  175. package/dist/{renderer-UZF3JROD.js → renderer-QAOBLRXV.js} +8 -8
  176. package/dist/{renderer-ROV756WT.js → renderer-R2WNIC2C.js} +5 -5
  177. package/dist/{renderer-VICQ4WNY.js → renderer-SBS3YWU5.js} +5 -5
  178. package/dist/{renderer-6L3NBEY5.js → renderer-UYMQQCJK.js} +6 -6
  179. package/dist/{renderer-radial-MHO2VDXN.js → renderer-radial-F7X5F2VU.js} +6 -6
  180. package/dist/{state-parser-RX3GXOIB.js → state-parser-3REXRK3R.js} +4 -4
  181. package/dist/{state-renderer-AJUKGNWU.js → state-renderer-XYLNRWXR.js} +6 -6
  182. package/docs/ai-integration.md +6 -2
  183. package/docs/language-reference.md +253 -22
  184. package/gallery/fixtures/body.dgmo +17 -0
  185. package/gallery/fixtures/bracket.dgmo +30 -0
  186. package/gallery/fixtures/clock.dgmo +8 -0
  187. package/gallery/fixtures/countdown.dgmo +3 -0
  188. package/gallery/fixtures/goal.dgmo +4 -0
  189. package/package.json +12 -4
  190. package/dist/advanced.d.ts +0 -6162
  191. package/dist/auto.d.ts +0 -54
  192. package/dist/block.d.ts +0 -123
  193. package/dist/dgmo-router-ODKPEJ3P.js +0 -79
  194. package/dist/element.d.ts +0 -62
  195. package/dist/index.d.ts +0 -166
  196. package/dist/parser-667RGSUW.js +0 -13
  197. package/dist/parser-J3P2D6IP.js +0 -13
  198. package/dist/themes-1-CuKpeH.d.ts +0 -908
package/dist/block.js CHANGED
@@ -1,83 +1,91 @@
1
1
  import {
2
2
  normalizeSvgForEmbed,
3
3
  renderErrorCard
4
- } from "./chunk-26RVGM44.js";
4
+ } from "./chunk-YIA4LEX4.js";
5
5
  import {
6
6
  encodeDiagramUrl,
7
7
  render
8
- } from "./chunk-SVDWQGX2.js";
9
- import "./chunk-RI4NIMFP.js";
10
- import "./chunk-5ZZLLBFK.js";
11
- import "./chunk-TC3YWBFO.js";
12
- import "./chunk-JFPY3UJ7.js";
13
- import "./chunk-HGN652MU.js";
14
- import "./chunk-KQAEKMIX.js";
15
- import "./chunk-ZREZOIGS.js";
8
+ } from "./chunk-ZAD4HV2G.js";
9
+ import "./chunk-66RUL3XF.js";
16
10
  import "./chunk-YRYKTYMQ.js";
17
11
  import "./chunk-YYVTBZZC.js";
12
+ import "./chunk-HEVYAHLW.js";
13
+ import "./chunk-VVZRV54S.js";
14
+ import "./chunk-Q4V4XQWV.js";
15
+ import "./chunk-BTUTZMPT.js";
16
+ import {
17
+ monthIndex,
18
+ weekdayIndex
19
+ } from "./chunk-YNRDWYZP.js";
20
+ import "./chunk-3XPUDB7B.js";
21
+ import "./chunk-QXKWYZNR.js";
22
+ import "./chunk-PGEGPSCZ.js";
23
+ import "./chunk-3UIKSPFB.js";
24
+ import "./chunk-BDXC7MDK.js";
25
+ import "./chunk-4S52SK6G.js";
26
+ import "./chunk-HGN652MU.js";
18
27
  import "./chunk-U6EQI3U6.js";
19
- import "./chunk-3NFJWFNP.js";
20
- import "./chunk-4UDKKGHH.js";
21
28
  import "./chunk-7UEMZREK.js";
22
29
  import "./chunk-A4GOY3PE.js";
23
30
  import "./chunk-6KFWC4CO.js";
24
31
  import "./chunk-HQCHYB5F.js";
25
32
  import "./chunk-5LWQH6QV.js";
26
- import "./chunk-TLKMTQYL.js";
27
- import "./chunk-IFK3GIUW.js";
28
- import "./chunk-XCC2RENT.js";
29
- import "./chunk-2WMBWZY2.js";
30
- import "./chunk-4BD7EVPK.js";
31
- import "./chunk-ZDUQGL3N.js";
32
- import "./chunk-FMKTYMP4.js";
33
- import "./chunk-B57V3DWN.js";
33
+ import "./chunk-XDXNDSKO.js";
34
+ import "./chunk-I2WKW7C7.js";
35
+ import "./chunk-TSA237IM.js";
36
+ import "./chunk-6IAA2QQ2.js";
37
+ import "./chunk-6HJBFVLO.js";
38
+ import "./chunk-3P2DKJCG.js";
39
+ import "./chunk-3LKM6FMW.js";
40
+ import "./chunk-XJLKLU4D.js";
41
+ import "./chunk-7L3R6I3U.js";
34
42
  import "./chunk-NNAAJVBU.js";
35
- import "./chunk-RTERS6S5.js";
36
- import "./chunk-LVHPTBO3.js";
37
- import "./chunk-YRVLP7UU.js";
43
+ import "./chunk-VUJGMJE6.js";
44
+ import "./chunk-C2CVAM3U.js";
45
+ import "./chunk-GKC3HILQ.js";
38
46
  import {
39
47
  REGISTRY_COLON_KEY_TOKENS,
40
48
  REGISTRY_CONTROL_TOKENS,
41
49
  REGISTRY_DIRECTIVE_TOKENS,
42
50
  REGISTRY_MODIFIER_TOKENS,
43
51
  REGISTRY_STATUS_TOKENS
44
- } from "./chunk-DKEPS5LH.js";
45
- import "./chunk-KV6Y2HE6.js";
46
- import "./chunk-4YNP6O47.js";
52
+ } from "./chunk-U2HGPLZS.js";
53
+ import "./chunk-DSWVNQVS.js";
54
+ import "./chunk-DZXYF2F5.js";
47
55
  import "./chunk-XHVV4NVW.js";
48
- import "./chunk-YYX3SU6H.js";
49
- import "./chunk-4HVNZ7WF.js";
56
+ import "./chunk-OMNGQPEZ.js";
57
+ import "./chunk-VBYSIOOY.js";
50
58
  import "./chunk-QQJUTGQH.js";
51
- import "./chunk-65RTDUZH.js";
52
- import "./chunk-35BBZDFE.js";
53
- import "./chunk-F743CM2N.js";
54
- import "./chunk-7OVSJI2V.js";
55
- import "./chunk-FUCAB3KQ.js";
59
+ import "./chunk-SXRTRMEE.js";
60
+ import "./chunk-NU3XLTGP.js";
61
+ import "./chunk-OTQKUHRS.js";
62
+ import "./chunk-SQLNBA64.js";
63
+ import "./chunk-EAMEADTV.js";
56
64
  import "./chunk-L3UHP6TD.js";
57
65
  import "./chunk-USZW2HHU.js";
58
- import "./chunk-CLR4A2N2.js";
59
- import "./chunk-IUK7AGD4.js";
60
- import "./chunk-MJCG5K2O.js";
61
- import "./chunk-O5MQPK7E.js";
62
- import "./chunk-EYN7VFKL.js";
66
+ import "./chunk-HTMN2Z6U.js";
67
+ import "./chunk-I7F2A35O.js";
68
+ import "./chunk-6BFZKBGD.js";
69
+ import "./chunk-3Y2DRD7S.js";
70
+ import "./chunk-QROYX7TT.js";
63
71
  import "./chunk-IYULMRBE.js";
64
72
  import {
65
73
  resolvePaletteOrFallback
66
74
  } from "./chunk-R3XI2VC7.js";
67
75
  import "./chunk-P6T66CCZ.js";
68
- import "./chunk-D5AVQCDN.js";
76
+ import "./chunk-BH3UYK36.js";
69
77
  import "./chunk-C3Z4DX3V.js";
70
- import "./chunk-HBVD67XG.js";
71
- import "./chunk-6VE3VLWM.js";
78
+ import "./chunk-FJUNPCYI.js";
79
+ import "./chunk-GBE54KY6.js";
72
80
  import "./chunk-I46X5VUA.js";
73
- import "./chunk-5FGDJIJX.js";
81
+ import "./chunk-2C56LEML.js";
74
82
  import "./chunk-NXMESY4J.js";
75
- import "./chunk-ZXL6MB4R.js";
76
- import "./chunk-K6HNAY5V.js";
83
+ import "./chunk-GL5UZ6NY.js";
84
+ import "./chunk-SCHXJTZL.js";
77
85
  import "./chunk-FMDSF3OV.js";
78
86
  import "./chunk-FFUN5D66.js";
79
87
  import "./chunk-NOTA6TEI.js";
80
- import "./chunk-ZNQX6QWH.js";
88
+ import "./chunk-OTAL43EH.js";
81
89
  import "./chunk-TLVIHFRO.js";
82
90
  import "./chunk-CXK4DZH3.js";
83
91
  import "./chunk-5WRI5ZAA.js";
@@ -105,6 +113,7 @@ var CHART_TYPES = /* @__PURE__ */ new Set([
105
113
  "c4",
106
114
  "state",
107
115
  "sitemap",
116
+ "bracket",
108
117
  "infra",
109
118
  "gantt",
110
119
  "pert",
@@ -119,6 +128,9 @@ var CHART_TYPES = /* @__PURE__ */ new Set([
119
128
  "ring",
120
129
  "treemap",
121
130
  "block",
131
+ "goal",
132
+ "countdown",
133
+ "clock",
122
134
  "sketch",
123
135
  "raci",
124
136
  "cycle",
@@ -230,6 +242,14 @@ var OVERRIDE_IN_LABEL = /* @__PURE__ */ new Set([
230
242
  "Duration",
231
243
  "DateLiteral"
232
244
  ]);
245
+ var LABEL_WORD_NODES = /* @__PURE__ */ new Set([
246
+ "Identifier",
247
+ "ChartType",
248
+ "TagKeyword",
249
+ "DirectiveKeyword",
250
+ "ControlKeyword",
251
+ "ModifierKeyword"
252
+ ]);
233
253
  var KEYWORD_STARTS = /* @__PURE__ */ new Set([
234
254
  "TagKeyword",
235
255
  "DirectiveKeyword",
@@ -273,6 +293,7 @@ function highlightDgmo(source) {
273
293
  applyAttributeKeys(tokens);
274
294
  applyLabelOverrides(tokens);
275
295
  applyNoteContent(tokens);
296
+ applyRecurringLine(tokens);
276
297
  return tokens;
277
298
  }
278
299
  var ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
@@ -412,14 +433,14 @@ function applyLabelOverrides(tokens) {
412
433
  }
413
434
  const hasArrow = firstDashTildeIdx >= 0 && lastArrowIdx > firstDashTildeIdx;
414
435
  if (!hasArrow) continue;
415
- let labelHasIdentifier = false;
436
+ let labelHasWord = false;
416
437
  for (let li = firstDashTildeIdx + 1; li < lastArrowIdx; li++) {
417
- if (nonWs[li].nodeName === "Identifier") {
418
- labelHasIdentifier = true;
438
+ if (LABEL_WORD_NODES.has(nonWs[li].nodeName)) {
439
+ labelHasWord = true;
419
440
  break;
420
441
  }
421
442
  }
422
- if (!labelHasIdentifier) continue;
443
+ if (!labelHasWord) continue;
423
444
  for (let li = firstDashTildeIdx + 1; li < lastArrowIdx; li++) {
424
445
  const ref = nonWs[li];
425
446
  if (OVERRIDE_IN_LABEL.has(ref.nodeName)) {
@@ -431,6 +452,82 @@ function applyLabelOverrides(tokens) {
431
452
  }
432
453
  }
433
454
  }
455
+ var RECUR_LEADERS = /* @__PURE__ */ new Set([
456
+ "every",
457
+ "on",
458
+ "at",
459
+ "from",
460
+ "on-day",
461
+ "since-label"
462
+ ]);
463
+ var RECUR_CONNECTORS = /* @__PURE__ */ new Set(["on", "at", "from"]);
464
+ var RECUR_CADENCE_WORDS = /* @__PURE__ */ new Set([
465
+ "year",
466
+ "month",
467
+ "week",
468
+ "day",
469
+ "days",
470
+ "weeks",
471
+ "months"
472
+ ]);
473
+ function isRecurOrdinal(token) {
474
+ return /^(?:\d+(?:st|nd|rd|th)|last)$/i.test(token);
475
+ }
476
+ function classifyRecurrenceLine(line) {
477
+ const spans = [];
478
+ const toks = [];
479
+ const re = /\S+/g;
480
+ let m;
481
+ while ((m = re.exec(line)) !== null) {
482
+ toks.push({ t: m[0], s: m.index, e: m.index + m[0].length });
483
+ }
484
+ if (toks.length === 0) return spans;
485
+ const lead = toks[0].t.toLowerCase();
486
+ if (!RECUR_LEADERS.has(lead)) return spans;
487
+ const everyLine = lead === "every";
488
+ let seenConnector = false;
489
+ for (let i = 0; i < toks.length; i++) {
490
+ const { t, s, e } = toks[i];
491
+ const low = t.toLowerCase();
492
+ if (i === 0) {
493
+ spans.push({ start: s, end: e, role: "keyword" });
494
+ continue;
495
+ }
496
+ if (RECUR_CONNECTORS.has(low)) {
497
+ spans.push({ start: s, end: e, role: "keyword" });
498
+ seenConnector = true;
499
+ continue;
500
+ }
501
+ if (everyLine && !seenConnector && RECUR_CADENCE_WORDS.has(low)) {
502
+ spans.push({ start: s, end: e, role: "keyword" });
503
+ continue;
504
+ }
505
+ if (isRecurOrdinal(low) || monthIndex(t) !== null || weekdayIndex(t) !== null) {
506
+ spans.push({ start: s, end: e, role: "modifier" });
507
+ }
508
+ }
509
+ return spans;
510
+ }
511
+ function applyRecurringLine(tokens) {
512
+ const fullText = tokens.map((t) => t.text).join("");
513
+ const lines = fullText.split("\n");
514
+ const firstContent = lines.find((l) => {
515
+ const t = l.trim();
516
+ return t.length > 0 && !t.startsWith("//");
517
+ });
518
+ if (firstContent?.trim().split(/\s+/)[0].toLowerCase() !== "countdown") {
519
+ return;
520
+ }
521
+ let offset = 0;
522
+ for (const lineText of lines) {
523
+ if (!/^\s/.test(lineText)) {
524
+ for (const sp of classifyRecurrenceLine(lineText)) {
525
+ markTokensInRange(tokens, offset + sp.start, offset + sp.end, sp.role);
526
+ }
527
+ }
528
+ offset += lineText.length + 1;
529
+ }
530
+ }
434
531
  var NOTE_HEAD_RE = /^note(\s|$)/i;
435
532
  function applyNoteContent(tokens) {
436
533
  const fullText = tokens.map((t) => t.text).join("");
@@ -2,19 +2,19 @@ import {
2
2
  D3_DATA_CHART_TYPES,
3
3
  renderDataChartD3,
4
4
  supportsD3DataChart
5
- } from "./chunk-JFPY3UJ7.js";
5
+ } from "./chunk-4S52SK6G.js";
6
6
  import "./chunk-HGN652MU.js";
7
- import "./chunk-KQAEKMIX.js";
8
7
  import "./chunk-U6EQI3U6.js";
9
8
  import "./chunk-7UEMZREK.js";
10
9
  import "./chunk-A4GOY3PE.js";
11
10
  import "./chunk-6KFWC4CO.js";
12
11
  import "./chunk-HQCHYB5F.js";
13
12
  import "./chunk-5LWQH6QV.js";
13
+ import "./chunk-XDXNDSKO.js";
14
14
  import "./chunk-R3XI2VC7.js";
15
15
  import "./chunk-P6T66CCZ.js";
16
- import "./chunk-HBVD67XG.js";
17
- import "./chunk-ZNQX6QWH.js";
16
+ import "./chunk-FJUNPCYI.js";
17
+ import "./chunk-OTAL43EH.js";
18
18
  import "./chunk-TLVIHFRO.js";
19
19
  import "./chunk-CXK4DZH3.js";
20
20
  import "./chunk-5WRI5ZAA.js";
@@ -23,4 +23,4 @@ export {
23
23
  renderDataChartD3,
24
24
  supportsD3DataChart
25
25
  };
26
- //# sourceMappingURL=charts-d3-EW3YQTEA.js.map
26
+ //# sourceMappingURL=charts-d3-LR6D3D7A.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tryCollectNote
3
- } from "./chunk-K6HNAY5V.js";
3
+ } from "./chunk-SCHXJTZL.js";
4
4
  import {
5
5
  resolveNotes
6
6
  } from "./chunk-FMDSF3OV.js";
@@ -17,7 +17,7 @@ import {
17
17
  measureIndent,
18
18
  parseFirstLine,
19
19
  tryParseSharedOption
20
- } from "./chunk-ZNQX6QWH.js";
20
+ } from "./chunk-OTAL43EH.js";
21
21
  import {
22
22
  resolveColorWithDiagnostic
23
23
  } from "./chunk-TLVIHFRO.js";
@@ -412,4 +412,4 @@ export {
412
412
  parseState,
413
413
  looksLikeState
414
414
  };
415
- //# sourceMappingURL=chunk-5FGDJIJX.js.map
415
+ //# sourceMappingURL=chunk-2C56LEML.js.map
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-YYVTBZZC.js";
22
22
  import {
23
23
  renderIntegratedLegend
24
- } from "./chunk-4UDKKGHH.js";
24
+ } from "./chunk-HEVYAHLW.js";
25
25
  import {
26
26
  FONT_FAMILY
27
27
  } from "./chunk-6KFWC4CO.js";
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-5LWQH6QV.js";
33
33
  import {
34
34
  parseJourneyMap
35
- } from "./chunk-2WMBWZY2.js";
35
+ } from "./chunk-6HJBFVLO.js";
36
36
  import {
37
37
  contrastText,
38
38
  mix,
@@ -41,7 +41,7 @@ import {
41
41
  import {
42
42
  resolveActiveTagGroup,
43
43
  tagAttrKey
44
- } from "./chunk-HBVD67XG.js";
44
+ } from "./chunk-FJUNPCYI.js";
45
45
 
46
46
  // src/journey-map/renderer.ts
47
47
  import * as d3 from "d3-selection";
@@ -848,4 +848,4 @@ export {
848
848
  renderJourneyMap,
849
849
  renderJourneyMapForExport
850
850
  };
851
- //# sourceMappingURL=chunk-XJ7J6WOO.js.map
851
+ //# sourceMappingURL=chunk-2KGXHFYK.js.map
@@ -3,10 +3,10 @@ import {
3
3
  mapLegendConfig,
4
4
  mapLegendGroups,
5
5
  parsePathRings
6
- } from "./chunk-YM2BSPYW.js";
6
+ } from "./chunk-LE4MYMLI.js";
7
7
  import {
8
8
  renderIntegratedLegend
9
- } from "./chunk-4UDKKGHH.js";
9
+ } from "./chunk-HEVYAHLW.js";
10
10
  import {
11
11
  TITLE_FONT_SIZE,
12
12
  TITLE_FONT_WEIGHT,
@@ -644,4 +644,4 @@ export {
644
644
  renderMap,
645
645
  renderMapForExport
646
646
  };
647
- //# sourceMappingURL=chunk-T7IKPCMI.js.map
647
+ //# sourceMappingURL=chunk-3LH5CLP4.js.map
@@ -5,7 +5,7 @@ import {
5
5
  splitNameAndMeta,
6
6
  tryParseSharedOption,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-ZNQX6QWH.js";
8
+ } from "./chunk-OTAL43EH.js";
9
9
  import {
10
10
  RECOGNIZED_COLOR_NAMES,
11
11
  resolveColor
@@ -165,4 +165,4 @@ function parseRing(content) {
165
165
  export {
166
166
  parseRing
167
167
  };
168
- //# sourceMappingURL=chunk-ZDUQGL3N.js.map
168
+ //# sourceMappingURL=chunk-3LKM6FMW.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- layoutERDiagram
3
- } from "./chunk-4XK3FLFB.js";
4
1
  import {
5
2
  NOTE_BADGE_RADIUS,
6
3
  noteConnectorPoints,
@@ -8,6 +5,9 @@ import {
8
5
  renderNoteBox,
9
6
  renderNoteConnector
10
7
  } from "./chunk-JEUJOX5X.js";
8
+ import {
9
+ layoutERDiagram
10
+ } from "./chunk-4XK3FLFB.js";
11
11
  import {
12
12
  EDGE_STROKE_WIDTH,
13
13
  NODE_STROKE_WIDTH
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-YYVTBZZC.js";
18
18
  import {
19
19
  renderIntegratedLegend
20
- } from "./chunk-4UDKKGHH.js";
20
+ } from "./chunk-HEVYAHLW.js";
21
21
  import {
22
22
  TITLE_FONT_SIZE,
23
23
  TITLE_FONT_WEIGHT,
@@ -34,7 +34,7 @@ import {
34
34
  } from "./chunk-5LWQH6QV.js";
35
35
  import {
36
36
  parseERDiagram
37
- } from "./chunk-35BBZDFE.js";
37
+ } from "./chunk-NU3XLTGP.js";
38
38
  import {
39
39
  contrastText,
40
40
  getSeriesColors,
@@ -43,7 +43,7 @@ import {
43
43
  import {
44
44
  resolveTagColor,
45
45
  tagAttrKey
46
- } from "./chunk-HBVD67XG.js";
46
+ } from "./chunk-FJUNPCYI.js";
47
47
 
48
48
  // src/er/renderer.ts
49
49
  import * as d3Selection from "d3-selection";
@@ -545,4 +545,4 @@ export {
545
545
  renderERDiagram,
546
546
  renderERDiagramForExport
547
547
  };
548
- //# sourceMappingURL=chunk-4FIV4K4Z.js.map
548
+ //# sourceMappingURL=chunk-3NODSS6A.js.map
@@ -5,7 +5,7 @@ import {
5
5
  splitNameAndMeta,
6
6
  tryParseSharedOption,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-ZNQX6QWH.js";
8
+ } from "./chunk-OTAL43EH.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
@@ -127,4 +127,4 @@ function parsePyramid(content) {
127
127
  export {
128
128
  parsePyramid
129
129
  };
130
- //# sourceMappingURL=chunk-4BD7EVPK.js.map
130
+ //# sourceMappingURL=chunk-3P2DKJCG.js.map
@@ -1,19 +1,20 @@
1
1
  import {
2
+ BODY_TERMS,
2
3
  getFigure,
3
4
  resolvePartKey
4
- } from "./chunk-3NFJWFNP.js";
5
+ } from "./chunk-BDXC7MDK.js";
5
6
  import {
6
7
  AUTO_TAG_COLOR_SENTINEL,
7
8
  finalizeAutoTagColors,
8
9
  matchTagBlockHeading,
9
10
  stripDefaultModifier,
10
11
  tagAttrKey
11
- } from "./chunk-HBVD67XG.js";
12
+ } from "./chunk-FJUNPCYI.js";
12
13
  import {
13
14
  extractColor,
14
15
  measureIndent,
15
16
  parseFirstLine
16
- } from "./chunk-ZNQX6QWH.js";
17
+ } from "./chunk-OTAL43EH.js";
17
18
  import {
18
19
  emit
19
20
  } from "./chunk-CXK4DZH3.js";
@@ -74,7 +75,8 @@ function parseBody(content, palette) {
74
75
  form: "muscle",
75
76
  sex: "male",
76
77
  views,
77
- noLegend: false
78
+ noLegend: false,
79
+ noTitle: false
78
80
  };
79
81
  const tagGroups = [];
80
82
  const parts = [];
@@ -134,6 +136,10 @@ function parseBody(content, palette) {
134
136
  options.noLegend = true;
135
137
  continue;
136
138
  }
139
+ if (/^no-title$/i.test(trimmed)) {
140
+ options.noTitle = true;
141
+ continue;
142
+ }
137
143
  }
138
144
  const tagBlockMatch = matchTagBlockHeading(trimmed);
139
145
  if (tagBlockMatch && !contentStarted) {
@@ -189,17 +195,28 @@ function parseBody(content, palette) {
189
195
  if (m) {
190
196
  contentStarted = true;
191
197
  currentTagGroup = null;
198
+ let name = m[1];
199
+ let rest = m[2] ?? "";
200
+ let side;
201
+ if (/^(left|right)$/i.test(name)) {
202
+ const m2 = rest.match(PART_RE);
203
+ if (m2) {
204
+ side = name.toLowerCase();
205
+ name = m2[1];
206
+ rest = m2[2] ?? "";
207
+ }
208
+ }
192
209
  const metadata = {};
193
- const rest = m[2] ?? "";
194
210
  for (const pair of rest.matchAll(META_PAIR_RE)) {
195
211
  const key = aliasMap.get(pair[1].toLowerCase()) ?? tagAttrKey(pair[1]);
196
212
  metadata[key] = pair[2].trim();
197
213
  }
198
214
  currentPart = {
199
- name: m[1],
215
+ name,
200
216
  metadata,
201
217
  notes: [],
202
- lineNumber
218
+ lineNumber,
219
+ ...side && { side }
203
220
  };
204
221
  parts.push(currentPart);
205
222
  continue;
@@ -225,9 +242,18 @@ function parseBody(content, palette) {
225
242
  diagnostics
226
243
  };
227
244
  }
245
+ function extractSymbols(docText) {
246
+ const parsed = parseBody(docText);
247
+ const figures = (parsed.options.views.length ? parsed.options.views : ["front"]).map((v) => getFigure(parsed.options.sex, v));
248
+ const entities = BODY_TERMS.filter(
249
+ (t) => t === "left" || t === "right" || figures.some((f) => resolvePartKey(f, t))
250
+ );
251
+ return { kind: "body", entities };
252
+ }
228
253
 
229
254
  export {
230
255
  BODY_DIAGNOSTICS,
231
- parseBody
256
+ parseBody,
257
+ extractSymbols
232
258
  };
233
- //# sourceMappingURL=chunk-TC3YWBFO.js.map
259
+ //# sourceMappingURL=chunk-3UIKSPFB.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-YYVTBZZC.js";
10
10
  import {
11
11
  renderIntegratedLegend
12
- } from "./chunk-4UDKKGHH.js";
12
+ } from "./chunk-HEVYAHLW.js";
13
13
  import {
14
14
  getMaxLegendReservedHeight
15
15
  } from "./chunk-7UEMZREK.js";
@@ -35,11 +35,11 @@ import {
35
35
  isSequenceBlock,
36
36
  isSequenceNote,
37
37
  isSequenceSection
38
- } from "./chunk-D5AVQCDN.js";
38
+ } from "./chunk-BH3UYK36.js";
39
39
  import {
40
40
  resolveActiveTagGroup,
41
41
  tagAttrKey
42
- } from "./chunk-HBVD67XG.js";
42
+ } from "./chunk-FJUNPCYI.js";
43
43
 
44
44
  // src/sequence/renderer.ts
45
45
  import * as d3Selection from "d3-selection";
@@ -1848,4 +1848,4 @@ export {
1848
1848
  renderSequenceDiagram,
1849
1849
  buildNoteMessageMap
1850
1850
  };
1851
- //# sourceMappingURL=chunk-SJEGO2QL.js.map
1851
+ //# sourceMappingURL=chunk-3XGZF2QJ.js.map