@diagrammo/dgmo 0.50.1 → 0.51.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 (235) hide show
  1. package/dist/advanced.d.ts +6640 -0
  2. package/dist/advanced.js +207 -161
  3. package/dist/{analyzer-UYKBXAKR.js → analyzer-BJ54GIFB.js} +3 -3
  4. package/dist/auto.css +31 -8
  5. package/dist/auto.d.ts +60 -0
  6. package/dist/auto.js +169 -133
  7. package/dist/auto.mjs +2245 -1030
  8. package/dist/block.css +28 -8
  9. package/dist/block.d.ts +130 -0
  10. package/dist/block.js +103 -68
  11. package/dist/{charts-d3-LR6D3D7A.js → charts-d3-7E4B4IMW.js} +9 -9
  12. package/dist/{chunk-6IAA2QQ2.js → chunk-2EQMXBBQ.js} +2 -2
  13. package/dist/{chunk-XJLKLU4D.js → chunk-2ILHQOL3.js} +3 -3
  14. package/dist/{chunk-SXRTRMEE.js → chunk-2UJSV2VT.js} +3 -3
  15. package/dist/{chunk-LE4MYMLI.js → chunk-32XPAAET.js} +5 -5
  16. package/dist/{chunk-NU3XLTGP.js → chunk-332ZR4QU.js} +4 -4
  17. package/dist/{chunk-F7BFXWNQ.js → chunk-3JLKYGBQ.js} +2 -2
  18. package/dist/{chunk-QROYX7TT.js → chunk-3LV2NCB6.js} +3 -3
  19. package/dist/{chunk-ZAD4HV2G.js → chunk-3ODS2VGL.js} +99 -99
  20. package/dist/{chunk-3XGZF2QJ.js → chunk-3YSQZ75W.js} +6 -6
  21. package/dist/{chunk-FJUNPCYI.js → chunk-467TVMQL.js} +2 -2
  22. package/dist/{chunk-HHXOONLX.js → chunk-4B5YISOR.js} +38 -1
  23. package/dist/{chunk-6HJBFVLO.js → chunk-4QZ43D7I.js} +3 -3
  24. package/dist/{chunk-4S52SK6G.js → chunk-4VWJ4LW2.js} +15 -8
  25. package/dist/chunk-4XFBQT5O.js +35 -0
  26. package/dist/{chunk-2C56LEML.js → chunk-5F5ELR3V.js} +3 -3
  27. package/dist/{chunk-EAMEADTV.js → chunk-5PDTIBLV.js} +83 -21
  28. package/dist/{chunk-C2CVAM3U.js → chunk-5PZT4DQG.js} +160 -87
  29. package/dist/{chunk-IAEC4KLA.js → chunk-5QKQSSPO.js} +2 -2
  30. package/dist/{chunk-5OWVC2A6.js → chunk-5SVOCD5W.js} +6 -6
  31. package/dist/{chunk-VBYSIOOY.js → chunk-5WPNFSXP.js} +3 -3
  32. package/dist/{chunk-4MJ7M6YL.js → chunk-5X6YQA2J.js} +7 -7
  33. package/dist/{chunk-JJUOHGX2.js → chunk-65WJYYKJ.js} +4 -4
  34. package/dist/{chunk-3UIKSPFB.js → chunk-6BQFET7X.js} +3 -3
  35. package/dist/{chunk-U2HGPLZS.js → chunk-6H7O2OPM.js} +14 -1
  36. package/dist/{chunk-DZXYF2F5.js → chunk-6K2M4VSR.js} +3 -3
  37. package/dist/{chunk-PGEGPSCZ.js → chunk-6MNGECP2.js} +2 -2
  38. package/dist/{chunk-3XPUDB7B.js → chunk-6NFYEQDX.js} +266 -38
  39. package/dist/{chunk-4XK3FLFB.js → chunk-6NYWYNBI.js} +3 -3
  40. package/dist/{chunk-TWQUYVP3.js → chunk-7DF4J4RL.js} +4 -4
  41. package/dist/{chunk-H73FP42Q.js → chunk-7DYOELRK.js} +3 -3
  42. package/dist/{chunk-L3UHP6TD.js → chunk-7L4UJOY6.js} +1 -2
  43. package/dist/{chunk-QJP6PG7F.js → chunk-AB7INMR5.js} +9 -9
  44. package/dist/{chunk-3LKM6FMW.js → chunk-AE7II3E3.js} +2 -2
  45. package/dist/{chunk-BTUTZMPT.js → chunk-AFIEPDLX.js} +97 -42
  46. package/dist/chunk-APKUAJ2L.js +220 -0
  47. package/dist/{chunk-X6EZPSW6.js → chunk-AXW3M6OQ.js} +7 -7
  48. package/dist/{chunk-66RUL3XF.js → chunk-B63YB7X3.js} +5 -5
  49. package/dist/{chunk-DSWVNQVS.js → chunk-BGP54HVR.js} +4 -59
  50. package/dist/{chunk-3NODSS6A.js → chunk-BYJBIALT.js} +7 -7
  51. package/dist/{chunk-3YPY3OXD.js → chunk-CC4YRBWV.js} +2 -2
  52. package/dist/{chunk-HLJVEAOF.js → chunk-DY7XLRHK.js} +8 -33
  53. package/dist/{chunk-OMNGQPEZ.js → chunk-E7Y3SYKW.js} +3 -3
  54. package/dist/{chunk-HTMN2Z6U.js → chunk-EDA6C7MV.js} +50 -7
  55. package/dist/{chunk-7L3R6I3U.js → chunk-ENRS56GC.js} +3 -3
  56. package/dist/{chunk-2KGXHFYK.js → chunk-EXOQP75F.js} +7 -7
  57. package/dist/{chunk-BBGDM4NQ.js → chunk-F3FYUFUH.js} +26 -8
  58. package/dist/{chunk-GL5UZ6NY.js → chunk-FC5I2KXV.js} +3 -3
  59. package/dist/{chunk-VVW3F3MD.js → chunk-FTBZV6NE.js} +9 -9
  60. package/dist/{chunk-7QKLIMRZ.js → chunk-G3PF3S7P.js} +41 -46
  61. package/dist/{chunk-J6K7RP6P.js → chunk-GD6L76WD.js} +3 -3
  62. package/dist/{chunk-I2WKW7C7.js → chunk-GGHRAITI.js} +3 -3
  63. package/dist/{chunk-YIA4LEX4.js → chunk-GNSFLJAA.js} +96 -4
  64. package/dist/{chunk-IUMPEA64.js → chunk-GROLTAWZ.js} +4 -4
  65. package/dist/{chunk-Q4V4XQWV.js → chunk-GTWKD3QT.js} +2 -2
  66. package/dist/{chunk-F2L5GCQ4.js → chunk-GU46PPT3.js} +3 -3
  67. package/dist/{chunk-6IUAK7RZ.js → chunk-H6PI3KJT.js} +2 -2
  68. package/dist/{chunk-SCQ5VPUF.js → chunk-HFMYN6N2.js} +2 -2
  69. package/dist/{chunk-GKC3HILQ.js → chunk-I2QZFCS2.js} +27 -4
  70. package/dist/{chunk-MCZ5LBZD.js → chunk-IE477RQZ.js} +7 -7
  71. package/dist/{chunk-3Y2DRD7S.js → chunk-IEDMFNU7.js} +3 -3
  72. package/dist/{chunk-M5RXSRO2.js → chunk-IEWG6J7C.js} +4 -4
  73. package/dist/{chunk-P7CE7LXL.js → chunk-IUJODQKX.js} +6 -6
  74. package/dist/{chunk-NWED7CYO.js → chunk-IUO34HKW.js} +6 -6
  75. package/dist/{chunk-NX4EQS3U.js → chunk-J76PIKAT.js} +2 -2
  76. package/dist/{chunk-O7WP4ZD4.js → chunk-JED6ZDEE.js} +2 -2
  77. package/dist/{chunk-6BFZKBGD.js → chunk-JJXGQIRV.js} +2 -2
  78. package/dist/{chunk-O7NUCTFU.js → chunk-JM4LEPY3.js} +2 -2
  79. package/dist/{chunk-VDOOQZUD.js → chunk-JSSX2SX4.js} +4 -4
  80. package/dist/{chunk-SQLNBA64.js → chunk-KFNWFNAA.js} +3 -3
  81. package/dist/{chunk-VVZRV54S.js → chunk-KJGG2JKQ.js} +143 -82
  82. package/dist/{chunk-OTAL43EH.js → chunk-LV4BETUU.js} +8 -2
  83. package/dist/{chunk-VUJGMJE6.js → chunk-MVN25IF6.js} +4 -4
  84. package/dist/{chunk-CLD2OKV7.js → chunk-MX2EY5Y7.js} +2 -2
  85. package/dist/{chunk-Y4RNXEAO.js → chunk-ND76YJCN.js} +139 -25
  86. package/dist/{chunk-KFZYNWWO.js → chunk-NEQ6GJXB.js} +4 -4
  87. package/dist/{chunk-PFHVU7UA.js → chunk-NI3XQBPB.js} +2 -2
  88. package/dist/{chunk-WW32K72E.js → chunk-OJTXTQA2.js} +9 -9
  89. package/dist/{chunk-YNRDWYZP.js → chunk-OQKP2X3D.js} +170 -51
  90. package/dist/{chunk-AHGF2YYA.js → chunk-OTOHI4JO.js} +2 -2
  91. package/dist/{chunk-HEVYAHLW.js → chunk-OU7HLO7I.js} +4 -4
  92. package/dist/{chunk-GBE54KY6.js → chunk-OZPBJM5Q.js} +3 -3
  93. package/dist/{chunk-EOFPYPAU.js → chunk-P3NRSSUU.js} +51 -11
  94. package/dist/{chunk-TSA237IM.js → chunk-PZDBOK2Q.js} +2 -2
  95. package/dist/{chunk-3P2DKJCG.js → chunk-Q62FEYK3.js} +2 -2
  96. package/dist/{chunk-DFTFPYUD.js → chunk-QHI5XVUJ.js} +7 -7
  97. package/dist/{chunk-HQCHYB5F.js → chunk-QOOUC2J5.js} +2 -2
  98. package/dist/{chunk-XDXNDSKO.js → chunk-QZPEGJOM.js} +5 -2
  99. package/dist/{chunk-TN35C5KM.js → chunk-RAHVMKBG.js} +2 -2
  100. package/dist/chunk-RBDIYLA5.js +267 -0
  101. package/dist/{chunk-OTQKUHRS.js → chunk-RBHWPDBB.js} +3 -3
  102. package/dist/{chunk-BH3UYK36.js → chunk-RLFVAKEO.js} +3 -3
  103. package/dist/{chunk-3LH5CLP4.js → chunk-RXKTSFDL.js} +150 -5
  104. package/dist/{chunk-RZ6YKEUJ.js → chunk-TK2VQQX2.js} +6 -6
  105. package/dist/{chunk-I7F2A35O.js → chunk-TMACGPW5.js} +25 -47
  106. package/dist/{chunk-5GJYGP5Z.js → chunk-TRM2J7ZN.js} +8 -8
  107. package/dist/{chunk-BCYVE3N5.js → chunk-TYS6CSS5.js} +2 -2
  108. package/dist/{chunk-7PQYTZMA.js → chunk-U5SI5NIM.js} +95 -232
  109. package/dist/{chunk-KHEYDLMT.js → chunk-VB4UJ3H2.js} +2 -2
  110. package/dist/{chunk-HGN652MU.js → chunk-VL2O2F3W.js} +2 -2
  111. package/dist/{chunk-ONA5KPV3.js → chunk-VNSXLA6G.js} +4 -4
  112. package/dist/{chunk-CMCR5WBW.js → chunk-WBRZJOEC.js} +3 -3
  113. package/dist/{chunk-5LWQH6QV.js → chunk-WCT3NYCV.js} +1 -1
  114. package/dist/{chunk-T4VOVZT5.js → chunk-WJ7RW65H.js} +4 -4
  115. package/dist/{chunk-SCHXJTZL.js → chunk-WQLMU7VG.js} +2 -2
  116. package/dist/{chunk-C4GQDB5L.js → chunk-WRNFDFPU.js} +2 -2
  117. package/dist/{chunk-66NVRO4K.js → chunk-X7EC3L2H.js} +7 -7
  118. package/dist/{chunk-QXKWYZNR.js → chunk-XEQXCIBC.js} +3 -3
  119. package/dist/{chunk-C63UWAKM.js → chunk-Y2ZE3MSG.js} +2 -2
  120. package/dist/{chunk-FA6K3FWM.js → chunk-Y6GBQTBK.js} +6 -6
  121. package/dist/{chunk-7UEMZREK.js → chunk-YAA6IID3.js} +2 -2
  122. package/dist/{chunk-PZFVK3IH.js → chunk-YGJZWZTY.js} +2 -2
  123. package/dist/{chunk-7TV5Y53Y.js → chunk-ZJ3LS7DW.js} +3 -3
  124. package/dist/{chunk-PH5X4GIP.js → chunk-ZO27FGJS.js} +2 -2
  125. package/dist/cli.cjs +163 -147
  126. package/dist/clock.js +91 -5
  127. package/dist/countdown.js +208 -82
  128. package/dist/dgmo-router-Y2VEX46B.js +86 -0
  129. package/dist/dimensions-F7B5C4BJ.js +22 -0
  130. package/dist/editor.js +14 -1
  131. package/dist/element.d.ts +68 -0
  132. package/dist/element.js +170 -134
  133. package/dist/element.mjs +2209 -1015
  134. package/dist/{flowchart-parser-OE4WHLTF.js → flowchart-parser-MY53QWTZ.js} +4 -4
  135. package/dist/{flowchart-renderer-GPCSMTOR.js → flowchart-renderer-AQSMEMYF.js} +8 -8
  136. package/dist/highlight.js +14 -1
  137. package/dist/index.d.ts +185 -0
  138. package/dist/index.js +57 -53
  139. package/dist/{layout-7SKMFYHL.js → layout-46N4JJYK.js} +5 -5
  140. package/dist/layout-4DIUOX2T.js +14 -0
  141. package/dist/{layout-7H4H46CS.js → layout-7QXCNOVS.js} +3 -3
  142. package/dist/{layout-NXG63LWH.js → layout-AM2JWW3X.js} +4 -4
  143. package/dist/{layout-7MZ5NF2N.js → layout-CBCLPMSG.js} +5 -5
  144. package/dist/{layout-DC4TVXER.js → layout-EE6GE46Y.js} +5 -5
  145. package/dist/{layout-FGQWRYYW.js → layout-F4WO357A.js} +3 -3
  146. package/dist/layout-G23F7LDH.js +9 -0
  147. package/dist/{layout-QNUQLEHU.js → layout-HYZPWAK5.js} +3 -3
  148. package/dist/{layout-FWODLIMP.js → layout-JDJAEQ3P.js} +6 -6
  149. package/dist/layout-MUPRALE5.js +14 -0
  150. package/dist/{layout-34CLNICW.js → layout-OAC4PEAC.js} +5 -5
  151. package/dist/{layout-5BG6DFCU.js → layout-YVTNOTN4.js} +6 -6
  152. package/dist/{layout-PUQCB6AN.js → layout-ZDOSXL5G.js} +7 -7
  153. package/dist/{layout-search-QS44PI5R.js → layout-search-55FU6HD3.js} +6 -157
  154. package/dist/map-data/gazetteer.json +1 -1
  155. package/dist/{parser-36HVKU5U.js → parser-2Q2T4C3B.js} +6 -5
  156. package/dist/{parser-B5FVS7O6.js → parser-3A42DZ72.js} +3 -3
  157. package/dist/{parser-CSFUN3CT.js → parser-4RFTKAQX.js} +5 -4
  158. package/dist/{parser-IJBMRXMC.js → parser-57ILIFZ2.js} +5 -5
  159. package/dist/{parser-DFFEDKHH.js → parser-5A2UWU6B.js} +3 -3
  160. package/dist/{parser-H3XEPFPV.js → parser-5PDYJGWA.js} +4 -4
  161. package/dist/{parser-O4HIUN6G.js → parser-6BJEXUFX.js} +4 -4
  162. package/dist/{parser-MTOMTWTD.js → parser-6ZKABF5S.js} +6 -5
  163. package/dist/{parser-WAV5JRPT.js → parser-AIMHGJRR.js} +4 -4
  164. package/dist/{parser-TXND652E.js → parser-AZJ25OKK.js} +4 -4
  165. package/dist/{parser-4AI5ZN5F.js → parser-B77S5SZM.js} +3 -3
  166. package/dist/{parser-IBWNAPY4.js → parser-BEPSWJAD.js} +3 -3
  167. package/dist/{parser-D5VILGN2.js → parser-BKI42XBQ.js} +4 -4
  168. package/dist/{parser-LWKKBNSA.js → parser-C3D7MVXY.js} +3 -3
  169. package/dist/{parser-HYRTF3DO.js → parser-CDG7CHV5.js} +3 -3
  170. package/dist/{parser-CVMEDULU.js → parser-CZOJ7XQ6.js} +4 -4
  171. package/dist/{parser-AXKBDGNO.js → parser-E2RL6JYF.js} +5 -5
  172. package/dist/{parser-PSA4UBSP.js → parser-EH5VE7ZN.js} +4 -4
  173. package/dist/{parser-K3XXLMUW.js → parser-FQ6GZFMR.js} +4 -4
  174. package/dist/{parser-RV4M6AS2.js → parser-GKLZKEIK.js} +4 -4
  175. package/dist/{parser-MPCE5JBG.js → parser-H6ABKHZZ.js} +4 -4
  176. package/dist/{parser-RZPVAQVX.js → parser-I6GGFKOQ.js} +4 -3
  177. package/dist/{parser-W4PQUGX3.js → parser-JA7JQ7NF.js} +4 -4
  178. package/dist/{parser-5OXGPNBF.js → parser-KKTJ6M3Y.js} +5 -5
  179. package/dist/parser-OK22AC6Y.js +14 -0
  180. package/dist/{parser-4NO6VZ6S.js → parser-OK2ILHRT.js} +4 -4
  181. package/dist/{parser-YS7TOS2K.js → parser-OUTPNJWC.js} +3 -3
  182. package/dist/{parser-KCR2WS3V.js → parser-PORDUX5E.js} +4 -4
  183. package/dist/{parser-VKOJM7KS.js → parser-SRVFR7PM.js} +4 -4
  184. package/dist/{parser-TGQZJ5OT.js → parser-UKFFZCFJ.js} +4 -4
  185. package/dist/{parser-JJR52VAT.js → parser-UMWPLORP.js} +5 -5
  186. package/dist/{parser-AGVYTQXV.js → parser-Z4TZV2CB.js} +4 -4
  187. package/dist/{renderer-A5VE5BCI.js → renderer-2AUFT3E2.js} +8 -8
  188. package/dist/{renderer-FPE3J5VZ.js → renderer-2HTNBIF2.js} +11 -11
  189. package/dist/{renderer-R2WNIC2C.js → renderer-3K3IB7D5.js} +8 -8
  190. package/dist/{renderer-2AZ5HJFK.js → renderer-3YNIWF5I.js} +4 -4
  191. package/dist/{renderer-PJM35LJN.js → renderer-3YPZHMOU.js} +3 -3
  192. package/dist/{renderer-JCCHNECZ.js → renderer-4WR6WMVF.js} +9 -9
  193. package/dist/{renderer-HDCCZURL.js → renderer-66MERVQ2.js} +9 -9
  194. package/dist/{renderer-2QPMJ2DA.js → renderer-6RKQPNJI.js} +9 -9
  195. package/dist/{renderer-FYSVXL7M.js → renderer-ARMJBP6C.js} +11 -11
  196. package/dist/{renderer-6OKF44KS.js → renderer-CO2DW7S7.js} +13 -13
  197. package/dist/{renderer-BSR2O2H6.js → renderer-EDJ2O4S5.js} +13 -12
  198. package/dist/{renderer-CYB4LK3G.js → renderer-F7U3MFCV.js} +9 -9
  199. package/dist/{renderer-72LGR2YF.js → renderer-GD2COXVL.js} +4 -2
  200. package/dist/{renderer-B5TBNZJE.js → renderer-GQIESYEM.js} +8 -8
  201. package/dist/{renderer-ODUUOPVT.js → renderer-HCKJDFXD.js} +13 -13
  202. package/dist/{renderer-QAOBLRXV.js → renderer-HYGHO4SJ.js} +10 -10
  203. package/dist/{renderer-5DSEWF74.js → renderer-JC3RDUT7.js} +8 -8
  204. package/dist/{renderer-7RH2SI3B.js → renderer-KQB7UGDS.js} +3 -3
  205. package/dist/{renderer-45PSOL3E.js → renderer-NKJ24TEA.js} +5 -5
  206. package/dist/{renderer-AUW2BE6G.js → renderer-OYO67VZK.js} +9 -9
  207. package/dist/{renderer-DAXMXIKD.js → renderer-QIWVHWZO.js} +3 -3
  208. package/dist/{renderer-PSMMZCKH.js → renderer-QRWACQRI.js} +8 -8
  209. package/dist/{renderer-4ITCHBT7.js → renderer-QXGN5H3A.js} +5 -5
  210. package/dist/renderer-QXPP4TA2.js +27 -0
  211. package/dist/{renderer-KS7YZJE2.js → renderer-RGIYOTKJ.js} +10 -10
  212. package/dist/{renderer-FF24KZCI.js → renderer-RHT4MHFU.js} +8 -8
  213. package/dist/{renderer-PPIHO5FI.js → renderer-RYR3TJ46.js} +12 -11
  214. package/dist/{renderer-NGXZTRK6.js → renderer-SRKDNDFB.js} +8 -8
  215. package/dist/{renderer-SBS3YWU5.js → renderer-TGTUABCI.js} +8 -8
  216. package/dist/{renderer-7SD6MSBS.js → renderer-TXJFKPOG.js} +11 -11
  217. package/dist/{renderer-HVCU2C3Z.js → renderer-UV6MI64M.js} +3 -3
  218. package/dist/renderer-radial-FWABAZHB.js +21 -0
  219. package/dist/{resolver-FHBCO3PL.js → resolver-EMTGNR3D.js} +4 -3
  220. package/dist/{state-parser-3REXRK3R.js → state-parser-6T6CNMPX.js} +4 -4
  221. package/dist/{state-renderer-XYLNRWXR.js → state-renderer-AWZ3ECAX.js} +8 -8
  222. package/dist/themes-32xj5ZTW.d.ts +943 -0
  223. package/docs/language-reference.md +98 -10
  224. package/gallery/fixtures/clock.dgmo +3 -3
  225. package/gallery/fixtures/countdown-far.dgmo +2 -0
  226. package/gallery/fixtures/countdown-tz.dgmo +5 -0
  227. package/package.json +1 -1
  228. package/dist/dgmo-router-YTU3ENAX.js +0 -84
  229. package/dist/dimensions-OTBKC5M6.js +0 -22
  230. package/dist/layout-6RDJHS6E.js +0 -9
  231. package/dist/layout-J36454XU.js +0 -14
  232. package/dist/layout-LD6XTLD6.js +0 -14
  233. package/dist/parser-4WQQQXCG.js +0 -13
  234. package/dist/renderer-UYMQQCJK.js +0 -24
  235. package/dist/renderer-radial-F7X5F2VU.js +0 -21
@@ -9,10 +9,10 @@ import {
9
9
  } from "./chunk-YYVTBZZC.js";
10
10
  import {
11
11
  renderIntegratedLegend
12
- } from "./chunk-HEVYAHLW.js";
12
+ } from "./chunk-OU7HLO7I.js";
13
13
  import {
14
14
  getMaxLegendReservedHeight
15
- } from "./chunk-7UEMZREK.js";
15
+ } from "./chunk-YAA6IID3.js";
16
16
  import {
17
17
  TITLE_FONT_SIZE,
18
18
  TITLE_FONT_WEIGHT,
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  measureText,
26
26
  truncateText
27
- } from "./chunk-5LWQH6QV.js";
27
+ } from "./chunk-WCT3NYCV.js";
28
28
  import {
29
29
  contrastText,
30
30
  mix,
@@ -35,11 +35,11 @@ import {
35
35
  isSequenceBlock,
36
36
  isSequenceNote,
37
37
  isSequenceSection
38
- } from "./chunk-BH3UYK36.js";
38
+ } from "./chunk-RLFVAKEO.js";
39
39
  import {
40
40
  resolveActiveTagGroup,
41
41
  tagAttrKey
42
- } from "./chunk-FJUNPCYI.js";
42
+ } from "./chunk-467TVMQL.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-3XGZF2QJ.js.map
1851
+ //# sourceMappingURL=chunk-3YSQZ75W.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  stripQuotes,
3
3
  tokenizeQuoteAware
4
- } from "./chunk-OTAL43EH.js";
4
+ } from "./chunk-LV4BETUU.js";
5
5
  import {
6
6
  CATEGORICAL_COLOR_ORDER,
7
7
  RECOGNIZED_COLOR_NAMES,
@@ -250,4 +250,4 @@ export {
250
250
  resolveActiveTagGroup,
251
251
  matchTagBlockHeading
252
252
  };
253
- //# sourceMappingURL=chunk-FJUNPCYI.js.map
253
+ //# sourceMappingURL=chunk-467TVMQL.js.map
@@ -113,6 +113,43 @@ var MAP_DX = {
113
113
  message: (p) => `"${p.name ?? ""}" is both a country and a US state \u2014 resolved as ${p.layer ?? ""} (${p.chosenId ?? ""}). Pin it with an ISO code (${p.stateId ?? ""} / ${p.countryId ?? ""}) or name + scope ("${p.name ?? ""} US" / "${p.name ?? ""} ${p.countryId ?? ""}").`,
114
114
  hint: "The name collides between a country and a US state \u2014 pin it with an ISO code or a `US` / `US-XX` scope.",
115
115
  example: "map\nGeorgia heat: 2"
116
+ },
117
+ CLOCK_TZ_INVALID: {
118
+ // Runtime severity: 'warning' (matches W_ prefix). A POI's valued
119
+ // `clock: <zone>` is neither a known IANA zone nor a fixed offset — the pin
120
+ // renders normally but gets no time card (BL-122).
121
+ code: "W_MAP_CLOCK_TZ_INVALID",
122
+ severity: "warning",
123
+ chartType: "map",
124
+ title: "Unrecognized time zone",
125
+ message: (p) => `\`clock: ${p.name ?? ""}\` is not a known IANA zone or offset \u2014 this pin renders without a time card. Use an IANA id (\`clock: Asia/Tokyo\`) or a fixed offset (\`clock: UTC+9\`).`,
126
+ hint: "Use an IANA zone id (`clock: Asia/Tokyo`) or a fixed offset (`clock: UTC+9`).",
127
+ example: "map\npoi Tokyo clock"
128
+ },
129
+ CLOCK_TZ_NEEDED: {
130
+ // Runtime severity: 'warning' (matches W_ prefix). A bare `clock` pin
131
+ // resolved to no IANA zone — a bare-coord pin (no gazetteer entry) or a rare
132
+ // city GeoNames didn't zone. Named cities auto-derive their zone; coords name
133
+ // it with a valued `clock: <zone>` (BL-122).
134
+ code: "W_MAP_CLOCK_TZ_NEEDED",
135
+ severity: "warning",
136
+ chartType: "map",
137
+ title: "Clock pin needs a time zone",
138
+ message: () => `This \`clock\` pin has no known time zone \u2014 a named city derives its zone automatically, but a bare-coordinate pin needs a valued \`clock: <zone>\` (e.g. \`clock: America/Denver\` or \`clock: UTC-7\`). Rendered without a time card.`,
139
+ hint: "Name the zone with `clock: <IANA/zone>` \u2014 coordinate pins can\u2019t derive one on their own.",
140
+ example: "map\npoi 39.74 -104.98 as Field clock: America/Denver"
141
+ },
142
+ CLOCK_TZ_OVERRIDE: {
143
+ // Runtime severity: 'warning' (matches W_ prefix). A named city's valued
144
+ // `clock: <zone>` contradicts the gazetteer's real zone for that city —
145
+ // usually a mistake. Honored, but flagged (BL-122).
146
+ code: "W_MAP_CLOCK_TZ_OVERRIDE",
147
+ severity: "warning",
148
+ chartType: "map",
149
+ title: "Time zone overrides the city",
150
+ message: (p) => `\`clock: ${p.name ?? ""}\` overrides this city's actual zone (${p.tz ?? ""}) \u2014 using your value. Use a bare \`clock\` to take the city's real zone.`,
151
+ hint: "A named city derives its own zone \u2014 use a bare `clock` unless you mean to override it.",
152
+ example: "map\npoi Denver clock"
116
153
  }
117
154
  };
118
155
  var MAP_DIAGNOSTICS = Object.values(MAP_DX);
@@ -121,4 +158,4 @@ export {
121
158
  MAP_DX,
122
159
  MAP_DIAGNOSTICS
123
160
  };
124
- //# sourceMappingURL=chunk-HHXOONLX.js.map
161
+ //# sourceMappingURL=chunk-4B5YISOR.js.map
@@ -8,7 +8,7 @@ import {
8
8
  stripDefaultModifier,
9
9
  tagAttrKey,
10
10
  validateTagGroupNames
11
- } from "./chunk-FJUNPCYI.js";
11
+ } from "./chunk-467TVMQL.js";
12
12
  import {
13
13
  JOURNEY_MAP_REGISTRY,
14
14
  OPTION_NOCOLON_RE,
@@ -19,7 +19,7 @@ import {
19
19
  splitNameAndMeta,
20
20
  warnUnknownMetaKeys,
21
21
  withTagAliases
22
- } from "./chunk-OTAL43EH.js";
22
+ } from "./chunk-LV4BETUU.js";
23
23
  import {
24
24
  resolveColorWithDiagnostic
25
25
  } from "./chunk-TLVIHFRO.js";
@@ -406,4 +406,4 @@ function parseStepLine(trimmed, lineNumber, counter, aliasMap, warn, diagnostics
406
406
  export {
407
407
  parseJourneyMap
408
408
  };
409
- //# sourceMappingURL=chunk-6HJBFVLO.js.map
409
+ //# sourceMappingURL=chunk-4QZ43D7I.js.map
@@ -2,7 +2,7 @@ import {
2
2
  computeQuadrantPointLabels,
3
3
  rectCircleOverlap,
4
4
  rectsOverlap
5
- } from "./chunk-HGN652MU.js";
5
+ } from "./chunk-VL2O2F3W.js";
6
6
  import {
7
7
  EXPORT_HEIGHT,
8
8
  EXPORT_WIDTH,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-U6EQI3U6.js";
15
15
  import {
16
16
  computeLegendLayout
17
- } from "./chunk-7UEMZREK.js";
17
+ } from "./chunk-YAA6IID3.js";
18
18
  import {
19
19
  FONT_FAMILY
20
20
  } from "./chunk-6KFWC4CO.js";
@@ -23,16 +23,16 @@ import {
23
23
  LEGEND_ENTRY_FONT_SIZE,
24
24
  LEGEND_HEIGHT,
25
25
  LEGEND_PILL_FONT_SIZE
26
- } from "./chunk-HQCHYB5F.js";
26
+ } from "./chunk-QOOUC2J5.js";
27
27
  import {
28
28
  measureText
29
- } from "./chunk-5LWQH6QV.js";
29
+ } from "./chunk-WCT3NYCV.js";
30
30
  import {
31
31
  getExtendedChartLegendGroups,
32
32
  getSimpleChartLegendGroups,
33
33
  parseChart,
34
34
  parseExtendedChart
35
- } from "./chunk-XDXNDSKO.js";
35
+ } from "./chunk-QZPEGJOM.js";
36
36
  import {
37
37
  contrastText,
38
38
  getSegmentColors,
@@ -44,7 +44,7 @@ import {
44
44
  } from "./chunk-P6T66CCZ.js";
45
45
  import {
46
46
  tagAttrKey
47
- } from "./chunk-FJUNPCYI.js";
47
+ } from "./chunk-467TVMQL.js";
48
48
 
49
49
  // src/utils/legend-svg.ts
50
50
  function esc(s) {
@@ -438,7 +438,14 @@ function renderLine(svg, chart, width, height, colors, palette, isDark, textColo
438
438
  hi = Math.max(hi, v);
439
439
  }
440
440
  if (!isFinite(lo)) return [0, 1];
441
- if (lo > 0) lo = 0;
441
+ if (chart.noAutoY) {
442
+ if (lo > 0) lo = 0;
443
+ } else {
444
+ const pad = (hi - lo) * 0.05 || Math.abs(hi) * 0.05 || 1;
445
+ const nlo = lo - pad;
446
+ lo = lo >= 0 && nlo < 0 ? 0 : nlo;
447
+ hi = hi + pad;
448
+ }
442
449
  if (lo === hi) hi = lo + 1;
443
450
  return [lo, hi];
444
451
  };
@@ -1694,4 +1701,4 @@ export {
1694
1701
  supportsD3DataChart,
1695
1702
  renderDataChartD3
1696
1703
  };
1697
- //# sourceMappingURL=chunk-4S52SK6G.js.map
1704
+ //# sourceMappingURL=chunk-4VWJ4LW2.js.map
@@ -0,0 +1,35 @@
1
+ import {
2
+ mix
3
+ } from "./chunk-P6T66CCZ.js";
4
+ import {
5
+ resolveColor
6
+ } from "./chunk-TLVIHFRO.js";
7
+
8
+ // src/clock/swatches.ts
9
+ function buildSwatches(palette, muted) {
10
+ const bg = palette.bg;
11
+ const day = resolveColor("orange", palette) ?? "#d98a1f";
12
+ const night = resolveColor("blue", palette) ?? "#4864b0";
13
+ const ok = resolveColor("green", palette) ?? "#3f9e59";
14
+ const soon = resolveColor("orange", palette) ?? "#c9761a";
15
+ return {
16
+ day,
17
+ night,
18
+ dayTint: mix(day, bg, 14),
19
+ nightTint: mix(night, bg, 14),
20
+ ok,
21
+ soon,
22
+ off: muted,
23
+ okSoft: mix(ok, bg, 14),
24
+ soonSoft: mix(soon, bg, 14),
25
+ offSoft: mix(muted, bg, 16),
26
+ // Sundown indicator: a yellow sun by day, a blue moon by night.
27
+ sunIcon: resolveColor("yellow", palette) ?? "#f4b400",
28
+ moonIcon: night
29
+ };
30
+ }
31
+
32
+ export {
33
+ buildSwatches
34
+ };
35
+ //# sourceMappingURL=chunk-4XFBQT5O.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tryCollectNote
3
- } from "./chunk-SCHXJTZL.js";
3
+ } from "./chunk-WQLMU7VG.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-OTAL43EH.js";
20
+ } from "./chunk-LV4BETUU.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-2C56LEML.js.map
415
+ //# sourceMappingURL=chunk-5F5ELR3V.js.map
@@ -1,10 +1,13 @@
1
1
  import {
2
- formatLocalISODate,
3
- parseLocalISODate
4
- } from "./chunk-L3UHP6TD.js";
2
+ formatLocalISODate
3
+ } from "./chunk-7L4UJOY6.js";
5
4
  import {
6
5
  parseDuration
7
6
  } from "./chunk-USZW2HHU.js";
7
+ import {
8
+ parseDateToken,
9
+ toInternal
10
+ } from "./chunk-RBDIYLA5.js";
8
11
  import {
9
12
  AUTO_TAG_COLOR_SENTINEL,
10
13
  finalizeAutoTagColors,
@@ -14,7 +17,7 @@ import {
14
17
  tagAttrKey,
15
18
  validateTagGroupNames,
16
19
  validateTagValues
17
- } from "./chunk-FJUNPCYI.js";
20
+ } from "./chunk-467TVMQL.js";
18
21
  import {
19
22
  normalizeName
20
23
  } from "./chunk-NOTA6TEI.js";
@@ -25,7 +28,7 @@ import {
25
28
  splitNameAndMeta,
26
29
  warnUnknownMetaKeys,
27
30
  withTagAliases
28
- } from "./chunk-OTAL43EH.js";
31
+ } from "./chunk-LV4BETUU.js";
29
32
  import {
30
33
  emit,
31
34
  makeDgmoError,
@@ -81,7 +84,7 @@ var PERT_DX = {
81
84
  const date = p.trimmed ?? p.value;
82
85
  return date ? `Invalid date '${String(date)}' for ${String(key)}. Expected YYYY-MM-DD.` : `Invalid date for ${String(key)}. Expected YYYY-MM-DD.`;
83
86
  },
84
- hint: "Use a calendar-valid ISO date, e.g. `2026-06-01` (dashes, not slashes).",
87
+ hint: "Use a calendar-valid date \u2014 ISO (`2026-06-01`), slash (`6/1/2026`), or month-name (`Jun 1, 2026`).",
85
88
  example: "pert\nstart-date 2026-13-99\nA 1 2 3\n"
86
89
  },
87
90
  NEAR_DIRECTIVE: {
@@ -139,7 +142,11 @@ var DIRECTIVE_KEYS = /* @__PURE__ */ new Set([
139
142
  "sprint-length",
140
143
  "sprint-number",
141
144
  "sprint-start",
142
- "active-tag"
145
+ "active-tag",
146
+ // Universal date directives (§ BL-121); effect captured in the prescan.
147
+ "year",
148
+ "date-order",
149
+ "no-current-year"
143
150
  ]);
144
151
  var RESERVED_PIPE_KEYS = /* @__PURE__ */ new Set([
145
152
  "confidence",
@@ -152,14 +159,16 @@ var NEAR_DIRECTIVE_HINTS = [
152
159
  matches: /^(low|medium|high)$/i
153
160
  },
154
161
  {
162
+ // ISO, numeric slash (§ BL-121), or `now`. Month-name forms are omitted
163
+ // to avoid flagging activities like `start the engines`.
155
164
  stem: "start",
156
165
  canonical: "start-date",
157
- matches: /^(\d{4}-\d{2}-\d{2}|now)$/i
166
+ matches: /^(\d{4}-\d{2}-\d{2}|\d{1,2}\/\d{1,2}(?:\/\d{2,4})?|now)$/i
158
167
  },
159
168
  {
160
169
  stem: "end",
161
170
  canonical: "end-date",
162
- matches: /^\d{4}-\d{2}-\d{2}$/
171
+ matches: /^(\d{4}-\d{2}-\d{2}|\d{1,2}\/\d{1,2}(?:\/\d{2,4})?)$/
163
172
  },
164
173
  {
165
174
  stem: "time",
@@ -374,6 +383,15 @@ function parsePipeMetadata(raw, aliasMap = /* @__PURE__ */ new Map()) {
374
383
  }
375
384
  return out;
376
385
  }
386
+ function prescanPertYear(lines, order) {
387
+ for (const raw of lines) {
388
+ const m = raw.trim().match(/^(?:start-date|end-date|sprint-start)\s+(.+)$/i);
389
+ if (!m) continue;
390
+ const res = parseDateToken(m[1].trim(), { dateOrder: order });
391
+ if (res?.token.year != null) return res.token.sign * res.token.year;
392
+ }
393
+ return null;
394
+ }
377
395
  function parsePert(content, parseOpts = {}) {
378
396
  const lines = content.split("\n");
379
397
  const diagnostics = [];
@@ -384,6 +402,19 @@ function parsePert(content, parseOpts = {}) {
384
402
  diagnostics.push(makeDgmoError(line, msg, "warning", code));
385
403
  };
386
404
  const today = formatLocalISODate(parseOpts.now ?? /* @__PURE__ */ new Date());
405
+ let dateOrder = "mdy";
406
+ let directiveYear = null;
407
+ let noCurrentYear = false;
408
+ for (const raw of lines) {
409
+ const t = raw.trim();
410
+ const dm = t.match(/^date-order\s+(mdy|dmy)$/i);
411
+ if (dm) dateOrder = dm[1].toLowerCase();
412
+ const ym = t.match(/^year\s+(\d{1,4})$/i);
413
+ if (ym) directiveYear = parseInt(ym[1], 10);
414
+ if (t.toLowerCase() === "no-current-year") noCurrentYear = true;
415
+ }
416
+ const currentYear = parseInt(today.slice(0, 4), 10);
417
+ const baseYear = directiveYear ?? prescanPertYear(lines, dateOrder);
387
418
  const options = { ...DEFAULT_OPTIONS, today };
388
419
  let title = null;
389
420
  let firstAnchorLine = null;
@@ -629,7 +660,8 @@ function parsePert(content, parseOpts = {}) {
629
660
  options,
630
661
  diagnostics,
631
662
  firstAnchorLine,
632
- firstAnchorKey
663
+ firstAnchorKey,
664
+ { order: dateOrder, baseYear, currentYear, noCurrentYear }
633
665
  );
634
666
  if (!hadAnchor && options.anchor !== null) {
635
667
  firstAnchorLine = lineNumber;
@@ -640,7 +672,12 @@ function parsePert(content, parseOpts = {}) {
640
672
  }
641
673
  continue;
642
674
  }
643
- applyDirective(head, value, lineNumber, options, error, warn);
675
+ applyDirective(head, value, lineNumber, options, error, warn, {
676
+ order: dateOrder,
677
+ baseYear,
678
+ currentYear,
679
+ noCurrentYear
680
+ });
644
681
  continue;
645
682
  }
646
683
  }
@@ -907,8 +944,14 @@ function parsePert(content, parseOpts = {}) {
907
944
  error: firstFatal ? firstFatal.message : null
908
945
  };
909
946
  }
910
- function applyDirective(key, value, lineNumber, options, error, warn) {
947
+ function applyDirective(key, value, lineNumber, options, error, warn, dateCfg) {
911
948
  switch (key) {
949
+ // Universal date directives (§ BL-121) — captured in the parsePert prescan;
950
+ // consumed here so they don't warn as unknown.
951
+ case "year":
952
+ case "date-order":
953
+ case "no-current-year":
954
+ return;
912
955
  case "time-unit": {
913
956
  const valid = [
914
957
  "min",
@@ -984,15 +1027,18 @@ function applyDirective(key, value, lineNumber, options, error, warn) {
984
1027
  return;
985
1028
  }
986
1029
  case "sprint-start": {
987
- if (!/^\d{4}-\d{2}-\d{2}$/.test(value)) {
1030
+ const res = parseDateToken(value.trim(), { dateOrder: dateCfg.order });
1031
+ const yr = res?.token.year ?? dateCfg.baseYear ?? dateCfg.currentYear;
1032
+ const iso = res?.consumed === value.trim().length && !res.token.invalidTime && res.token.grain >= 3 && !res.token.hasTime ? toInternal(res.token, yr) : null;
1033
+ if (!iso) {
988
1034
  warn(
989
1035
  lineNumber,
990
- `sprint-start requires a full date (YYYY-MM-DD), got "${value}".`
1036
+ `sprint-start requires a full date (e.g. YYYY-MM-DD, 7/4, or Jul 4), got "${value}".`
991
1037
  );
992
- } else if (Number.isNaN((/* @__PURE__ */ new Date(value + "T00:00:00")).getTime())) {
1038
+ } else if (Number.isNaN((/* @__PURE__ */ new Date(iso + "T00:00:00")).getTime())) {
993
1039
  warn(lineNumber, `sprint-start is not a valid date: "${value}".`);
994
1040
  } else {
995
- options.sprintStart = value;
1041
+ options.sprintStart = iso;
996
1042
  }
997
1043
  return;
998
1044
  }
@@ -1069,7 +1115,7 @@ function applyDirective(key, value, lineNumber, options, error, warn) {
1069
1115
  }
1070
1116
  }
1071
1117
  }
1072
- function applyAnchorDirective(key, value, lineNumber, options, diagnostics, firstAnchorLine, firstAnchorKey) {
1118
+ function applyAnchorDirective(key, value, lineNumber, options, diagnostics, firstAnchorLine, firstAnchorKey, dateCfg) {
1073
1119
  if (options.anchor !== null) {
1074
1120
  diagnostics.push(
1075
1121
  emit(PERT_DX.BOTH_ANCHORS, lineNumber, {
@@ -1095,12 +1141,28 @@ function applyAnchorDirective(key, value, lineNumber, options, diagnostics, firs
1095
1141
  options.anchor = { kind: "forward", date: options.today };
1096
1142
  return;
1097
1143
  }
1098
- const parsed = parseLocalISODate(trimmed);
1099
- if (!parsed) {
1144
+ const res = parseDateToken(trimmed, { dateOrder: dateCfg.order });
1145
+ if (res?.consumed !== trimmed.length || res.token.invalidTime || res.token.grain < 3) {
1146
+ diagnostics.push(emit(PERT_DX.INVALID_DATE, lineNumber, { trimmed, key }));
1147
+ return;
1148
+ }
1149
+ let year = res.token.year;
1150
+ if (year == null) {
1151
+ if (dateCfg.baseYear == null && dateCfg.noCurrentYear) {
1152
+ diagnostics.push(
1153
+ emit(PERT_DX.INVALID_DATE, lineNumber, { trimmed, key })
1154
+ );
1155
+ return;
1156
+ }
1157
+ year = dateCfg.baseYear ?? dateCfg.currentYear;
1158
+ }
1159
+ const probe = new Date(year, res.token.month - 1, res.token.day);
1160
+ if (probe.getFullYear() !== year || probe.getMonth() !== res.token.month - 1 || probe.getDate() !== res.token.day) {
1100
1161
  diagnostics.push(emit(PERT_DX.INVALID_DATE, lineNumber, { trimmed, key }));
1101
1162
  return;
1102
1163
  }
1103
- options.anchor = key === "start-date" ? { kind: "forward", date: trimmed } : { kind: "backward", date: trimmed };
1164
+ const iso = toInternal(res.token, year);
1165
+ options.anchor = key === "start-date" ? { kind: "forward", date: iso } : { kind: "backward", date: iso };
1104
1166
  }
1105
1167
  function classifyGroup(group, edges) {
1106
1168
  const members = new Set(group.activityIds);
@@ -1152,4 +1214,4 @@ export {
1152
1214
  extractPertSymbols,
1153
1215
  looksLikePert
1154
1216
  };
1155
- //# sourceMappingURL=chunk-EAMEADTV.js.map
1217
+ //# sourceMappingURL=chunk-5PDTIBLV.js.map