@diagrammo/dgmo 0.50.2 → 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.
- package/dist/advanced.d.ts +85 -23
- package/dist/advanced.js +207 -161
- package/dist/{analyzer-UYKBXAKR.js → analyzer-BJ54GIFB.js} +3 -3
- package/dist/auto.css +31 -8
- package/dist/auto.d.ts +6 -0
- package/dist/auto.js +169 -133
- package/dist/auto.mjs +2148 -1024
- package/dist/block.css +28 -8
- package/dist/block.js +97 -68
- package/dist/{charts-d3-MUW3LTML.js → charts-d3-7E4B4IMW.js} +9 -9
- package/dist/{chunk-6IAA2QQ2.js → chunk-2EQMXBBQ.js} +2 -2
- package/dist/{chunk-XJLKLU4D.js → chunk-2ILHQOL3.js} +3 -3
- package/dist/{chunk-SXRTRMEE.js → chunk-2UJSV2VT.js} +3 -3
- package/dist/{chunk-LE4MYMLI.js → chunk-32XPAAET.js} +5 -5
- package/dist/{chunk-NU3XLTGP.js → chunk-332ZR4QU.js} +4 -4
- package/dist/{chunk-F7BFXWNQ.js → chunk-3JLKYGBQ.js} +2 -2
- package/dist/{chunk-QROYX7TT.js → chunk-3LV2NCB6.js} +3 -3
- package/dist/{chunk-SVTI362O.js → chunk-3ODS2VGL.js} +97 -97
- package/dist/{chunk-3XGZF2QJ.js → chunk-3YSQZ75W.js} +6 -6
- package/dist/{chunk-FJUNPCYI.js → chunk-467TVMQL.js} +2 -2
- package/dist/{chunk-HHXOONLX.js → chunk-4B5YISOR.js} +38 -1
- package/dist/{chunk-6HJBFVLO.js → chunk-4QZ43D7I.js} +3 -3
- package/dist/{chunk-QJJZSROI.js → chunk-4VWJ4LW2.js} +7 -7
- package/dist/chunk-4XFBQT5O.js +35 -0
- package/dist/{chunk-2C56LEML.js → chunk-5F5ELR3V.js} +3 -3
- package/dist/{chunk-EAMEADTV.js → chunk-5PDTIBLV.js} +83 -21
- package/dist/{chunk-C2CVAM3U.js → chunk-5PZT4DQG.js} +160 -87
- package/dist/{chunk-IAEC4KLA.js → chunk-5QKQSSPO.js} +2 -2
- package/dist/{chunk-5OWVC2A6.js → chunk-5SVOCD5W.js} +6 -6
- package/dist/{chunk-VBYSIOOY.js → chunk-5WPNFSXP.js} +3 -3
- package/dist/{chunk-4MJ7M6YL.js → chunk-5X6YQA2J.js} +7 -7
- package/dist/{chunk-JJUOHGX2.js → chunk-65WJYYKJ.js} +4 -4
- package/dist/{chunk-3UIKSPFB.js → chunk-6BQFET7X.js} +3 -3
- package/dist/{chunk-U2HGPLZS.js → chunk-6H7O2OPM.js} +14 -1
- package/dist/{chunk-DZXYF2F5.js → chunk-6K2M4VSR.js} +3 -3
- package/dist/{chunk-PGEGPSCZ.js → chunk-6MNGECP2.js} +2 -2
- package/dist/{chunk-3XPUDB7B.js → chunk-6NFYEQDX.js} +266 -38
- package/dist/{chunk-4XK3FLFB.js → chunk-6NYWYNBI.js} +3 -3
- package/dist/{chunk-TWQUYVP3.js → chunk-7DF4J4RL.js} +4 -4
- package/dist/{chunk-H73FP42Q.js → chunk-7DYOELRK.js} +3 -3
- package/dist/{chunk-L3UHP6TD.js → chunk-7L4UJOY6.js} +1 -2
- package/dist/{chunk-QJP6PG7F.js → chunk-AB7INMR5.js} +9 -9
- package/dist/{chunk-3LKM6FMW.js → chunk-AE7II3E3.js} +2 -2
- package/dist/{chunk-BTUTZMPT.js → chunk-AFIEPDLX.js} +97 -42
- package/dist/chunk-APKUAJ2L.js +220 -0
- package/dist/{chunk-X6EZPSW6.js → chunk-AXW3M6OQ.js} +7 -7
- package/dist/{chunk-66RUL3XF.js → chunk-B63YB7X3.js} +5 -5
- package/dist/{chunk-DSWVNQVS.js → chunk-BGP54HVR.js} +4 -59
- package/dist/{chunk-3NODSS6A.js → chunk-BYJBIALT.js} +7 -7
- package/dist/{chunk-3YPY3OXD.js → chunk-CC4YRBWV.js} +2 -2
- package/dist/{chunk-HLJVEAOF.js → chunk-DY7XLRHK.js} +8 -33
- package/dist/{chunk-OMNGQPEZ.js → chunk-E7Y3SYKW.js} +3 -3
- package/dist/{chunk-HTMN2Z6U.js → chunk-EDA6C7MV.js} +50 -7
- package/dist/{chunk-7L3R6I3U.js → chunk-ENRS56GC.js} +3 -3
- package/dist/{chunk-2KGXHFYK.js → chunk-EXOQP75F.js} +7 -7
- package/dist/{chunk-BBGDM4NQ.js → chunk-F3FYUFUH.js} +26 -8
- package/dist/{chunk-GL5UZ6NY.js → chunk-FC5I2KXV.js} +3 -3
- package/dist/{chunk-VVW3F3MD.js → chunk-FTBZV6NE.js} +9 -9
- package/dist/{chunk-7QKLIMRZ.js → chunk-G3PF3S7P.js} +41 -46
- package/dist/{chunk-J6K7RP6P.js → chunk-GD6L76WD.js} +3 -3
- package/dist/{chunk-I2WKW7C7.js → chunk-GGHRAITI.js} +3 -3
- package/dist/{chunk-DN66GPY5.js → chunk-GNSFLJAA.js} +24 -3
- package/dist/{chunk-IUMPEA64.js → chunk-GROLTAWZ.js} +4 -4
- package/dist/{chunk-Q4V4XQWV.js → chunk-GTWKD3QT.js} +2 -2
- package/dist/{chunk-F2L5GCQ4.js → chunk-GU46PPT3.js} +3 -3
- package/dist/{chunk-6IUAK7RZ.js → chunk-H6PI3KJT.js} +2 -2
- package/dist/{chunk-SCQ5VPUF.js → chunk-HFMYN6N2.js} +2 -2
- package/dist/{chunk-GKC3HILQ.js → chunk-I2QZFCS2.js} +27 -4
- package/dist/{chunk-MCZ5LBZD.js → chunk-IE477RQZ.js} +7 -7
- package/dist/{chunk-3Y2DRD7S.js → chunk-IEDMFNU7.js} +3 -3
- package/dist/{chunk-M5RXSRO2.js → chunk-IEWG6J7C.js} +4 -4
- package/dist/{chunk-P7CE7LXL.js → chunk-IUJODQKX.js} +6 -6
- package/dist/{chunk-NWED7CYO.js → chunk-IUO34HKW.js} +6 -6
- package/dist/{chunk-NX4EQS3U.js → chunk-J76PIKAT.js} +2 -2
- package/dist/{chunk-O7WP4ZD4.js → chunk-JED6ZDEE.js} +2 -2
- package/dist/{chunk-6BFZKBGD.js → chunk-JJXGQIRV.js} +2 -2
- package/dist/{chunk-O7NUCTFU.js → chunk-JM4LEPY3.js} +2 -2
- package/dist/{chunk-VDOOQZUD.js → chunk-JSSX2SX4.js} +4 -4
- package/dist/{chunk-SQLNBA64.js → chunk-KFNWFNAA.js} +3 -3
- package/dist/{chunk-KQ57MHRO.js → chunk-KJGG2JKQ.js} +143 -82
- package/dist/{chunk-OTAL43EH.js → chunk-LV4BETUU.js} +8 -2
- package/dist/{chunk-VUJGMJE6.js → chunk-MVN25IF6.js} +4 -4
- package/dist/{chunk-CLD2OKV7.js → chunk-MX2EY5Y7.js} +2 -2
- package/dist/{chunk-T5SHNNGP.js → chunk-ND76YJCN.js} +59 -25
- package/dist/{chunk-KFZYNWWO.js → chunk-NEQ6GJXB.js} +4 -4
- package/dist/{chunk-PFHVU7UA.js → chunk-NI3XQBPB.js} +2 -2
- package/dist/{chunk-WW32K72E.js → chunk-OJTXTQA2.js} +9 -9
- package/dist/{chunk-YNRDWYZP.js → chunk-OQKP2X3D.js} +170 -51
- package/dist/{chunk-AHGF2YYA.js → chunk-OTOHI4JO.js} +2 -2
- package/dist/{chunk-HEVYAHLW.js → chunk-OU7HLO7I.js} +4 -4
- package/dist/{chunk-GBE54KY6.js → chunk-OZPBJM5Q.js} +3 -3
- package/dist/{chunk-EOFPYPAU.js → chunk-P3NRSSUU.js} +51 -11
- package/dist/{chunk-TSA237IM.js → chunk-PZDBOK2Q.js} +2 -2
- package/dist/{chunk-3P2DKJCG.js → chunk-Q62FEYK3.js} +2 -2
- package/dist/{chunk-DFTFPYUD.js → chunk-QHI5XVUJ.js} +7 -7
- package/dist/{chunk-HQCHYB5F.js → chunk-QOOUC2J5.js} +2 -2
- package/dist/{chunk-XEGTMVYY.js → chunk-QZPEGJOM.js} +2 -2
- package/dist/{chunk-TN35C5KM.js → chunk-RAHVMKBG.js} +2 -2
- package/dist/chunk-RBDIYLA5.js +267 -0
- package/dist/{chunk-OTQKUHRS.js → chunk-RBHWPDBB.js} +3 -3
- package/dist/{chunk-BH3UYK36.js → chunk-RLFVAKEO.js} +3 -3
- package/dist/{chunk-3LH5CLP4.js → chunk-RXKTSFDL.js} +150 -5
- package/dist/{chunk-RZ6YKEUJ.js → chunk-TK2VQQX2.js} +6 -6
- package/dist/{chunk-I7F2A35O.js → chunk-TMACGPW5.js} +25 -47
- package/dist/{chunk-5GJYGP5Z.js → chunk-TRM2J7ZN.js} +8 -8
- package/dist/{chunk-BCYVE3N5.js → chunk-TYS6CSS5.js} +2 -2
- package/dist/{chunk-5WFIYXQ6.js → chunk-U5SI5NIM.js} +91 -228
- package/dist/{chunk-KHEYDLMT.js → chunk-VB4UJ3H2.js} +2 -2
- package/dist/{chunk-HGN652MU.js → chunk-VL2O2F3W.js} +2 -2
- package/dist/{chunk-ONA5KPV3.js → chunk-VNSXLA6G.js} +4 -4
- package/dist/{chunk-CMCR5WBW.js → chunk-WBRZJOEC.js} +3 -3
- package/dist/{chunk-5LWQH6QV.js → chunk-WCT3NYCV.js} +1 -1
- package/dist/{chunk-T4VOVZT5.js → chunk-WJ7RW65H.js} +4 -4
- package/dist/{chunk-SCHXJTZL.js → chunk-WQLMU7VG.js} +2 -2
- package/dist/{chunk-C4GQDB5L.js → chunk-WRNFDFPU.js} +2 -2
- package/dist/{chunk-66NVRO4K.js → chunk-X7EC3L2H.js} +7 -7
- package/dist/{chunk-QXKWYZNR.js → chunk-XEQXCIBC.js} +3 -3
- package/dist/{chunk-C63UWAKM.js → chunk-Y2ZE3MSG.js} +2 -2
- package/dist/{chunk-FA6K3FWM.js → chunk-Y6GBQTBK.js} +6 -6
- package/dist/{chunk-7UEMZREK.js → chunk-YAA6IID3.js} +2 -2
- package/dist/{chunk-PZFVK3IH.js → chunk-YGJZWZTY.js} +2 -2
- package/dist/{chunk-7TV5Y53Y.js → chunk-ZJ3LS7DW.js} +3 -3
- package/dist/{chunk-PH5X4GIP.js → chunk-ZO27FGJS.js} +2 -2
- package/dist/cli.cjs +163 -147
- package/dist/clock.js +91 -5
- package/dist/countdown.js +208 -82
- package/dist/dgmo-router-Y2VEX46B.js +86 -0
- package/dist/dimensions-F7B5C4BJ.js +22 -0
- package/dist/editor.js +14 -1
- package/dist/element.d.ts +6 -0
- package/dist/element.js +170 -134
- package/dist/element.mjs +2112 -1009
- package/dist/{flowchart-parser-OE4WHLTF.js → flowchart-parser-MY53QWTZ.js} +4 -4
- package/dist/{flowchart-renderer-GPCSMTOR.js → flowchart-renderer-AQSMEMYF.js} +8 -8
- package/dist/highlight.js +14 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +55 -53
- package/dist/{layout-7SKMFYHL.js → layout-46N4JJYK.js} +5 -5
- package/dist/layout-4DIUOX2T.js +14 -0
- package/dist/{layout-7H4H46CS.js → layout-7QXCNOVS.js} +3 -3
- package/dist/{layout-NXG63LWH.js → layout-AM2JWW3X.js} +4 -4
- package/dist/{layout-7MZ5NF2N.js → layout-CBCLPMSG.js} +5 -5
- package/dist/{layout-DC4TVXER.js → layout-EE6GE46Y.js} +5 -5
- package/dist/{layout-FGQWRYYW.js → layout-F4WO357A.js} +3 -3
- package/dist/layout-G23F7LDH.js +9 -0
- package/dist/{layout-QNUQLEHU.js → layout-HYZPWAK5.js} +3 -3
- package/dist/{layout-FWODLIMP.js → layout-JDJAEQ3P.js} +6 -6
- package/dist/layout-MUPRALE5.js +14 -0
- package/dist/{layout-34CLNICW.js → layout-OAC4PEAC.js} +5 -5
- package/dist/{layout-5BG6DFCU.js → layout-YVTNOTN4.js} +6 -6
- package/dist/{layout-PUQCB6AN.js → layout-ZDOSXL5G.js} +7 -7
- package/dist/{layout-search-QS44PI5R.js → layout-search-55FU6HD3.js} +6 -157
- package/dist/map-data/gazetteer.json +1 -1
- package/dist/{parser-36HVKU5U.js → parser-2Q2T4C3B.js} +6 -5
- package/dist/{parser-B5FVS7O6.js → parser-3A42DZ72.js} +3 -3
- package/dist/{parser-CSFUN3CT.js → parser-4RFTKAQX.js} +5 -4
- package/dist/{parser-IJBMRXMC.js → parser-57ILIFZ2.js} +5 -5
- package/dist/{parser-DFFEDKHH.js → parser-5A2UWU6B.js} +3 -3
- package/dist/{parser-H3XEPFPV.js → parser-5PDYJGWA.js} +4 -4
- package/dist/{parser-O4HIUN6G.js → parser-6BJEXUFX.js} +4 -4
- package/dist/{parser-MTOMTWTD.js → parser-6ZKABF5S.js} +6 -5
- package/dist/{parser-WAV5JRPT.js → parser-AIMHGJRR.js} +4 -4
- package/dist/{parser-TXND652E.js → parser-AZJ25OKK.js} +4 -4
- package/dist/{parser-4AI5ZN5F.js → parser-B77S5SZM.js} +3 -3
- package/dist/{parser-IBWNAPY4.js → parser-BEPSWJAD.js} +3 -3
- package/dist/{parser-D5VILGN2.js → parser-BKI42XBQ.js} +4 -4
- package/dist/{parser-LWKKBNSA.js → parser-C3D7MVXY.js} +3 -3
- package/dist/{parser-HYRTF3DO.js → parser-CDG7CHV5.js} +3 -3
- package/dist/{parser-CVMEDULU.js → parser-CZOJ7XQ6.js} +4 -4
- package/dist/{parser-AXKBDGNO.js → parser-E2RL6JYF.js} +5 -5
- package/dist/{parser-PSA4UBSP.js → parser-EH5VE7ZN.js} +4 -4
- package/dist/{parser-K3XXLMUW.js → parser-FQ6GZFMR.js} +4 -4
- package/dist/{parser-RV4M6AS2.js → parser-GKLZKEIK.js} +4 -4
- package/dist/{parser-MPCE5JBG.js → parser-H6ABKHZZ.js} +4 -4
- package/dist/{parser-RZPVAQVX.js → parser-I6GGFKOQ.js} +4 -3
- package/dist/{parser-W4PQUGX3.js → parser-JA7JQ7NF.js} +4 -4
- package/dist/{parser-5OXGPNBF.js → parser-KKTJ6M3Y.js} +5 -5
- package/dist/parser-OK22AC6Y.js +14 -0
- package/dist/{parser-4NO6VZ6S.js → parser-OK2ILHRT.js} +4 -4
- package/dist/{parser-YS7TOS2K.js → parser-OUTPNJWC.js} +3 -3
- package/dist/{parser-KCR2WS3V.js → parser-PORDUX5E.js} +4 -4
- package/dist/{parser-VKOJM7KS.js → parser-SRVFR7PM.js} +4 -4
- package/dist/{parser-TGQZJ5OT.js → parser-UKFFZCFJ.js} +4 -4
- package/dist/{parser-JJR52VAT.js → parser-UMWPLORP.js} +5 -5
- package/dist/{parser-AGVYTQXV.js → parser-Z4TZV2CB.js} +4 -4
- package/dist/{renderer-A5VE5BCI.js → renderer-2AUFT3E2.js} +8 -8
- package/dist/{renderer-FPE3J5VZ.js → renderer-2HTNBIF2.js} +11 -11
- package/dist/{renderer-R2WNIC2C.js → renderer-3K3IB7D5.js} +8 -8
- package/dist/{renderer-2AZ5HJFK.js → renderer-3YNIWF5I.js} +4 -4
- package/dist/{renderer-P5ROYQGU.js → renderer-3YPZHMOU.js} +3 -3
- package/dist/{renderer-JCCHNECZ.js → renderer-4WR6WMVF.js} +9 -9
- package/dist/{renderer-HDCCZURL.js → renderer-66MERVQ2.js} +9 -9
- package/dist/{renderer-2QPMJ2DA.js → renderer-6RKQPNJI.js} +9 -9
- package/dist/{renderer-FYSVXL7M.js → renderer-ARMJBP6C.js} +11 -11
- package/dist/{renderer-6OKF44KS.js → renderer-CO2DW7S7.js} +13 -13
- package/dist/{renderer-BSR2O2H6.js → renderer-EDJ2O4S5.js} +13 -12
- package/dist/{renderer-CYB4LK3G.js → renderer-F7U3MFCV.js} +9 -9
- package/dist/{renderer-5KVCNMOJ.js → renderer-GD2COXVL.js} +4 -2
- package/dist/{renderer-B5TBNZJE.js → renderer-GQIESYEM.js} +8 -8
- package/dist/{renderer-ODUUOPVT.js → renderer-HCKJDFXD.js} +13 -13
- package/dist/{renderer-QAOBLRXV.js → renderer-HYGHO4SJ.js} +10 -10
- package/dist/{renderer-5DSEWF74.js → renderer-JC3RDUT7.js} +8 -8
- package/dist/{renderer-7RH2SI3B.js → renderer-KQB7UGDS.js} +3 -3
- package/dist/{renderer-45PSOL3E.js → renderer-NKJ24TEA.js} +5 -5
- package/dist/{renderer-AUW2BE6G.js → renderer-OYO67VZK.js} +9 -9
- package/dist/{renderer-DAXMXIKD.js → renderer-QIWVHWZO.js} +3 -3
- package/dist/{renderer-PSMMZCKH.js → renderer-QRWACQRI.js} +8 -8
- package/dist/{renderer-4ITCHBT7.js → renderer-QXGN5H3A.js} +5 -5
- package/dist/renderer-QXPP4TA2.js +27 -0
- package/dist/{renderer-KS7YZJE2.js → renderer-RGIYOTKJ.js} +10 -10
- package/dist/{renderer-FF24KZCI.js → renderer-RHT4MHFU.js} +8 -8
- package/dist/{renderer-PPIHO5FI.js → renderer-RYR3TJ46.js} +12 -11
- package/dist/{renderer-NGXZTRK6.js → renderer-SRKDNDFB.js} +8 -8
- package/dist/{renderer-SBS3YWU5.js → renderer-TGTUABCI.js} +8 -8
- package/dist/{renderer-7SD6MSBS.js → renderer-TXJFKPOG.js} +11 -11
- package/dist/{renderer-HVCU2C3Z.js → renderer-UV6MI64M.js} +3 -3
- package/dist/renderer-radial-FWABAZHB.js +21 -0
- package/dist/{resolver-FHBCO3PL.js → resolver-EMTGNR3D.js} +4 -3
- package/dist/{state-parser-3REXRK3R.js → state-parser-6T6CNMPX.js} +4 -4
- package/dist/{state-renderer-XYLNRWXR.js → state-renderer-AWZ3ECAX.js} +8 -8
- package/dist/{themes-PdPR1-hC.d.ts → themes-32xj5ZTW.d.ts} +27 -0
- package/docs/language-reference.md +93 -10
- package/gallery/fixtures/clock.dgmo +3 -3
- package/gallery/fixtures/countdown-tz.dgmo +5 -0
- package/package.json +1 -1
- package/dist/dgmo-router-CE2G67FV.js +0 -84
- package/dist/dimensions-OTBKC5M6.js +0 -22
- package/dist/layout-6RDJHS6E.js +0 -9
- package/dist/layout-J36454XU.js +0 -14
- package/dist/layout-LD6XTLD6.js +0 -14
- package/dist/parser-4WQQQXCG.js +0 -13
- package/dist/renderer-UYMQQCJK.js +0 -24
- package/dist/renderer-radial-F7X5F2VU.js +0 -21
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseGoal
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GTWKD3QT.js";
|
|
4
4
|
import {
|
|
5
5
|
parseCountdown
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AFIEPDLX.js";
|
|
7
7
|
import {
|
|
8
8
|
parseClock
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-6NFYEQDX.js";
|
|
10
10
|
import {
|
|
11
11
|
parseBracket
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XEQXCIBC.js";
|
|
13
13
|
import {
|
|
14
14
|
allTasks,
|
|
15
15
|
parseRaci
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-6MNGECP2.js";
|
|
17
17
|
import {
|
|
18
18
|
parseBody
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-6BQFET7X.js";
|
|
20
20
|
import {
|
|
21
21
|
EXTENDED_CHART_DOORS,
|
|
22
22
|
parseChart,
|
|
@@ -25,109 +25,115 @@ import {
|
|
|
25
25
|
parseHeatmap,
|
|
26
26
|
parseSankey,
|
|
27
27
|
parseScatter
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-QZPEGJOM.js";
|
|
29
29
|
import {
|
|
30
30
|
parseWireframe
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-GGHRAITI.js";
|
|
32
32
|
import {
|
|
33
33
|
parseTechRadar
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-PZDBOK2Q.js";
|
|
35
35
|
import {
|
|
36
36
|
parseCycle
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-2EQMXBBQ.js";
|
|
38
38
|
import {
|
|
39
39
|
parseJourneyMap
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-4QZ43D7I.js";
|
|
41
41
|
import {
|
|
42
42
|
parsePyramid
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-Q62FEYK3.js";
|
|
44
44
|
import {
|
|
45
45
|
parseRing
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-AE7II3E3.js";
|
|
47
47
|
import {
|
|
48
48
|
parseTreemap
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-2ILHQOL3.js";
|
|
50
50
|
import {
|
|
51
51
|
parseBlock
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-ENRS56GC.js";
|
|
53
53
|
import {
|
|
54
54
|
parseInfra
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-MVN25IF6.js";
|
|
56
56
|
import {
|
|
57
57
|
parseGantt
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-5PZT4DQG.js";
|
|
59
59
|
import {
|
|
60
60
|
parseMap
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-I2QZFCS2.js";
|
|
62
62
|
import {
|
|
63
63
|
parseBoxesAndLines
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-BGP54HVR.js";
|
|
65
65
|
import {
|
|
66
66
|
parseSketch
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-6K2M4VSR.js";
|
|
68
68
|
import {
|
|
69
69
|
parseSwimlane
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-E7Y3SYKW.js";
|
|
71
71
|
import {
|
|
72
72
|
parseFamily
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-5WPNFSXP.js";
|
|
74
74
|
import {
|
|
75
75
|
parseMindmap
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-2UJSV2VT.js";
|
|
77
77
|
import {
|
|
78
78
|
looksLikeERDiagram,
|
|
79
79
|
parseERDiagram
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-332ZR4QU.js";
|
|
81
81
|
import {
|
|
82
82
|
looksLikeOrg,
|
|
83
83
|
parseOrg
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-RBHWPDBB.js";
|
|
85
85
|
import {
|
|
86
86
|
looksLikeSitemap,
|
|
87
87
|
parseSitemap
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-KFNWFNAA.js";
|
|
89
89
|
import {
|
|
90
90
|
looksLikePert,
|
|
91
91
|
parsePert
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-5PDTIBLV.js";
|
|
93
93
|
import {
|
|
94
94
|
parseEventLine
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-EDA6C7MV.js";
|
|
96
96
|
import {
|
|
97
97
|
parseTimelineEventLine
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-TMACGPW5.js";
|
|
99
|
+
import {
|
|
100
|
+
makeYearContext,
|
|
101
|
+
parseDateToken,
|
|
102
|
+
resolveTokenYear,
|
|
103
|
+
toInternal
|
|
104
|
+
} from "./chunk-RBDIYLA5.js";
|
|
99
105
|
import {
|
|
100
106
|
parseVersionControl
|
|
101
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-JJXGQIRV.js";
|
|
102
108
|
import {
|
|
103
109
|
parseKanban
|
|
104
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-IEDMFNU7.js";
|
|
105
111
|
import {
|
|
106
112
|
parseC4
|
|
107
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-3LV2NCB6.js";
|
|
108
114
|
import {
|
|
109
115
|
looksLikeSequence,
|
|
110
116
|
parseSequenceDgmo
|
|
111
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-RLFVAKEO.js";
|
|
112
118
|
import {
|
|
113
119
|
matchTagBlockHeading,
|
|
114
120
|
stripDefaultModifier,
|
|
115
121
|
tagAttrKey,
|
|
116
122
|
validateTagGroupNames,
|
|
117
123
|
validateTagValues
|
|
118
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-467TVMQL.js";
|
|
119
125
|
import {
|
|
120
126
|
looksLikeFlowchart,
|
|
121
127
|
parseFlowchart
|
|
122
|
-
} from "./chunk-
|
|
128
|
+
} from "./chunk-OZPBJM5Q.js";
|
|
123
129
|
import {
|
|
124
130
|
looksLikeState,
|
|
125
131
|
parseState
|
|
126
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-5F5ELR3V.js";
|
|
127
133
|
import {
|
|
128
134
|
looksLikeClassDiagram,
|
|
129
135
|
parseClassDiagram
|
|
130
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-FC5I2KXV.js";
|
|
131
137
|
import {
|
|
132
138
|
TIMELINE_REGISTRY,
|
|
133
139
|
collectIndentedValues,
|
|
@@ -138,7 +144,7 @@ import {
|
|
|
138
144
|
peelTrailingColorName,
|
|
139
145
|
splitNameAndMeta,
|
|
140
146
|
withTagAliases
|
|
141
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-LV4BETUU.js";
|
|
142
148
|
import {
|
|
143
149
|
resolveColorWithDiagnostic
|
|
144
150
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -212,6 +218,67 @@ function parseVisualizationFull(content, palette) {
|
|
|
212
218
|
return fail(0, "Empty content");
|
|
213
219
|
}
|
|
214
220
|
const lines = content.split("\n");
|
|
221
|
+
let tlDateOrder = "mdy";
|
|
222
|
+
let tlNoCurrentYear = false;
|
|
223
|
+
let tlDirectiveYear = null;
|
|
224
|
+
for (const raw of lines) {
|
|
225
|
+
const t = raw.trim().toLowerCase();
|
|
226
|
+
if (t === "no-current-year") tlNoCurrentYear = true;
|
|
227
|
+
else if (t === "date-order dmy") tlDateOrder = "dmy";
|
|
228
|
+
else if (t === "date-order mdy") tlDateOrder = "mdy";
|
|
229
|
+
else {
|
|
230
|
+
const ym = t.match(/^year\s+(\d{1,4})$/);
|
|
231
|
+
if (ym) tlDirectiveYear = parseInt(ym[1], 10);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
let tlPrescan = null;
|
|
235
|
+
for (const raw of lines) {
|
|
236
|
+
const t = raw.trim();
|
|
237
|
+
if (!t) continue;
|
|
238
|
+
const p = parseDateToken(t, { dateOrder: tlDateOrder });
|
|
239
|
+
if (p?.token.year != null) {
|
|
240
|
+
tlPrescan = p.token.sign * p.token.year;
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
const tlYearCtx = makeYearContext({
|
|
245
|
+
order: tlDateOrder,
|
|
246
|
+
directiveYear: tlDirectiveYear,
|
|
247
|
+
prescanYear: tlPrescan,
|
|
248
|
+
noCurrentYear: tlNoCurrentYear
|
|
249
|
+
});
|
|
250
|
+
const tlDateCtx = {
|
|
251
|
+
order: tlDateOrder,
|
|
252
|
+
resolve: (tok) => resolveTokenYear(tok, tlYearCtx)
|
|
253
|
+
};
|
|
254
|
+
const isTlDateDirective = (t) => t === "no-current-year" || t === "date-order dmy" || t === "date-order mdy" || /^year\s+\d{1,4}$/.test(t);
|
|
255
|
+
const tlBaseYear = tlDirectiveYear ?? tlPrescan;
|
|
256
|
+
const tlCurrentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
257
|
+
const tlResolveYear = (tok) => {
|
|
258
|
+
if (tok.year != null) return toInternal(tok, tok.year);
|
|
259
|
+
if (tlBaseYear == null && tlNoCurrentYear) return null;
|
|
260
|
+
return toInternal(tok, tlBaseYear ?? tlCurrentYear);
|
|
261
|
+
};
|
|
262
|
+
const TL_TRAILING_COLOR = /\s+(red|orange|yellow|green|blue|purple|teal|cyan|gray|black|white)\s*$/;
|
|
263
|
+
const splitTrailingColor = (s) => {
|
|
264
|
+
const m = s.match(TL_TRAILING_COLOR);
|
|
265
|
+
return m ? { label: s.slice(0, m.index).trim(), color: m[1].toLowerCase() } : { label: s.trim(), color: null };
|
|
266
|
+
};
|
|
267
|
+
const tlLeadingDate = (s) => {
|
|
268
|
+
const res = parseDateToken(s, { dateOrder: tlDateOrder });
|
|
269
|
+
if (!res || res.consumed === 0 || res.token.invalidTime) return null;
|
|
270
|
+
const iso = tlResolveYear(res.token);
|
|
271
|
+
return iso == null ? null : { iso, rest: s.slice(res.consumed) };
|
|
272
|
+
};
|
|
273
|
+
const tlLeadingRange = (s) => {
|
|
274
|
+
const a = tlLeadingDate(s);
|
|
275
|
+
if (!a) return null;
|
|
276
|
+
const arrow = a.rest.match(/^\s*(?:->|–>)\s*/);
|
|
277
|
+
if (!arrow) return null;
|
|
278
|
+
const b = tlLeadingDate(a.rest.slice(arrow[0].length));
|
|
279
|
+
if (!b) return null;
|
|
280
|
+
return { start: a.iso, end: b.iso, rest: b.rest };
|
|
281
|
+
};
|
|
215
282
|
const freeformLines = [];
|
|
216
283
|
let currentArcGroup = null;
|
|
217
284
|
let currentTimelineGroup = null;
|
|
@@ -253,6 +320,9 @@ function parseVisualizationFull(content, palette) {
|
|
|
253
320
|
}
|
|
254
321
|
}
|
|
255
322
|
if (result.type === "timeline" && indent === 0) {
|
|
323
|
+
if (isTlDateDirective(line.toLowerCase())) {
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
256
326
|
const tagBlockMatch = matchTagBlockHeading(line);
|
|
257
327
|
if (tagBlockMatch) {
|
|
258
328
|
const newGroup = {
|
|
@@ -449,18 +519,15 @@ function parseVisualizationFull(content, palette) {
|
|
|
449
519
|
inTimelineEraBlock = false;
|
|
450
520
|
} else {
|
|
451
521
|
if (line.startsWith("//")) continue;
|
|
452
|
-
const
|
|
453
|
-
|
|
454
|
-
)
|
|
455
|
-
if (eraEntryMatch) {
|
|
456
|
-
const colorAnnotation = eraEntryMatch[4]?.trim() || null;
|
|
522
|
+
const eraRange = tlLeadingRange(line);
|
|
523
|
+
const eraParsed = eraRange && splitTrailingColor(eraRange.rest);
|
|
524
|
+
if (eraRange && eraParsed && eraParsed.label) {
|
|
457
525
|
result.timelineEras.push({
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
colorAnnotation,
|
|
526
|
+
startDate: eraRange.start,
|
|
527
|
+
endDate: eraRange.end,
|
|
528
|
+
label: eraParsed.label,
|
|
529
|
+
color: eraParsed.color ? resolveColorWithDiagnostic(
|
|
530
|
+
eraParsed.color,
|
|
464
531
|
lineNumber,
|
|
465
532
|
result.diagnostics,
|
|
466
533
|
palette
|
|
@@ -481,17 +548,14 @@ function parseVisualizationFull(content, palette) {
|
|
|
481
548
|
inTimelineMarkerBlock = false;
|
|
482
549
|
} else {
|
|
483
550
|
if (line.startsWith("//")) continue;
|
|
484
|
-
const
|
|
485
|
-
|
|
486
|
-
)
|
|
487
|
-
if (markerEntryMatch) {
|
|
488
|
-
const colorAnnotation = markerEntryMatch[3]?.trim() || null;
|
|
551
|
+
const markerLd = tlLeadingDate(line);
|
|
552
|
+
const markerParsed = markerLd && splitTrailingColor(markerLd.rest);
|
|
553
|
+
if (markerLd && markerParsed && markerParsed.label) {
|
|
489
554
|
result.timelineMarkers.push({
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
colorAnnotation,
|
|
555
|
+
date: markerLd.iso,
|
|
556
|
+
label: markerParsed.label,
|
|
557
|
+
color: markerParsed.color ? resolveColorWithDiagnostic(
|
|
558
|
+
markerParsed.color,
|
|
495
559
|
lineNumber,
|
|
496
560
|
result.diagnostics,
|
|
497
561
|
palette
|
|
@@ -518,18 +582,16 @@ function parseVisualizationFull(content, palette) {
|
|
|
518
582
|
timelineMarkerBlockIndent = indent;
|
|
519
583
|
continue;
|
|
520
584
|
}
|
|
521
|
-
const
|
|
522
|
-
|
|
523
|
-
);
|
|
524
|
-
if (
|
|
525
|
-
const colorAnnotation = eraMatch[4]?.trim() || null;
|
|
585
|
+
const eraInline = line.match(/^era\s+(.+)$/i);
|
|
586
|
+
const eraInlineRange = eraInline && tlLeadingRange(eraInline[1]);
|
|
587
|
+
const eraInlineParsed = eraInlineRange && splitTrailingColor(eraInlineRange.rest);
|
|
588
|
+
if (eraInlineRange && eraInlineParsed && eraInlineParsed.label) {
|
|
526
589
|
result.timelineEras.push({
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
colorAnnotation,
|
|
590
|
+
startDate: eraInlineRange.start,
|
|
591
|
+
endDate: eraInlineRange.end,
|
|
592
|
+
label: eraInlineParsed.label,
|
|
593
|
+
color: eraInlineParsed.color ? resolveColorWithDiagnostic(
|
|
594
|
+
eraInlineParsed.color,
|
|
533
595
|
lineNumber,
|
|
534
596
|
result.diagnostics,
|
|
535
597
|
palette
|
|
@@ -538,17 +600,15 @@ function parseVisualizationFull(content, palette) {
|
|
|
538
600
|
});
|
|
539
601
|
continue;
|
|
540
602
|
}
|
|
541
|
-
const
|
|
542
|
-
|
|
543
|
-
);
|
|
544
|
-
if (
|
|
545
|
-
const colorAnnotation = markerMatch[3]?.trim() || null;
|
|
603
|
+
const markerInline = line.match(/^marker\s+(.+)$/i);
|
|
604
|
+
const markerInlineLd = markerInline && tlLeadingDate(markerInline[1]);
|
|
605
|
+
const markerInlineParsed = markerInlineLd && splitTrailingColor(markerInlineLd.rest);
|
|
606
|
+
if (markerInlineLd && markerInlineParsed && markerInlineParsed.label) {
|
|
546
607
|
result.timelineMarkers.push({
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
colorAnnotation,
|
|
608
|
+
date: markerInlineLd.iso,
|
|
609
|
+
label: markerInlineParsed.label,
|
|
610
|
+
color: markerInlineParsed.color ? resolveColorWithDiagnostic(
|
|
611
|
+
markerInlineParsed.color,
|
|
552
612
|
lineNumber,
|
|
553
613
|
result.diagnostics,
|
|
554
614
|
palette
|
|
@@ -604,7 +664,8 @@ function parseVisualizationFull(content, palette) {
|
|
|
604
664
|
currentTimelineGroup,
|
|
605
665
|
currentTimelineGroupMeta,
|
|
606
666
|
timelineAliasMap,
|
|
607
|
-
tlRegistry
|
|
667
|
+
tlRegistry,
|
|
668
|
+
tlDateCtx
|
|
608
669
|
);
|
|
609
670
|
if (eventResult) {
|
|
610
671
|
result.diagnostics.push(...eventResult.diagnostics);
|
|
@@ -2162,4 +2223,4 @@ export {
|
|
|
2162
2223
|
knownChartTypeIds,
|
|
2163
2224
|
parseDgmo
|
|
2164
2225
|
};
|
|
2165
|
-
//# sourceMappingURL=chunk-
|
|
2226
|
+
//# sourceMappingURL=chunk-KJGG2JKQ.js.map
|
|
@@ -40,7 +40,13 @@ var MAP_REGISTRY = staticRegistry([
|
|
|
40
40
|
"size",
|
|
41
41
|
"width",
|
|
42
42
|
"label",
|
|
43
|
-
"style"
|
|
43
|
+
"style",
|
|
44
|
+
// `clock` (BL-122): the time-card control. Bare (`poi Denver clock`) → a card
|
|
45
|
+
// with the zone auto-derived from the place; valued (`clock: Europe/Oslo`) →
|
|
46
|
+
// that IANA id or fixed offset (`clock: UTC+9`) as the zone, for bare-coord
|
|
47
|
+
// pins or to override a city. Reserved so the valued form peels off the POI
|
|
48
|
+
// name cleanly; the BARE flag is peeled separately in handlePoi (no colon).
|
|
49
|
+
"clock"
|
|
44
50
|
// `surface:` was removed in the 2026-06-02 defaults-on review — it is no longer
|
|
45
51
|
// a recognized metadata key (the route/edge surface feature was cut; §24B.7).
|
|
46
52
|
// A stray `surface: water` is no longer captured as a reserved key.
|
|
@@ -675,4 +681,4 @@ export {
|
|
|
675
681
|
splitNameAndMeta,
|
|
676
682
|
warnUnknownMetaKeys
|
|
677
683
|
};
|
|
678
|
-
//# sourceMappingURL=chunk-
|
|
684
|
+
//# sourceMappingURL=chunk-LV4BETUU.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
INFRA_BEHAVIOR_KEY_SET,
|
|
3
3
|
INFRA_EDGE_ONLY_KEY_SET,
|
|
4
4
|
INFRA_TOP_LEVEL_OPTION_SET
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6H7O2OPM.js";
|
|
6
6
|
import {
|
|
7
7
|
tryStripDescriptionKeyword
|
|
8
8
|
} from "./chunk-IYULMRBE.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
stripDefaultModifier,
|
|
12
12
|
tagAttrKey,
|
|
13
13
|
validateTagGroupNames
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-467TVMQL.js";
|
|
15
15
|
import {
|
|
16
16
|
GRAPH_DX
|
|
17
17
|
} from "./chunk-I46X5VUA.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
tryParseSharedOption,
|
|
31
31
|
warnUnknownMetaKeys,
|
|
32
32
|
withTagAliases
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-LV4BETUU.js";
|
|
34
34
|
import {
|
|
35
35
|
isRecognizedColorName
|
|
36
36
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -890,4 +890,4 @@ export {
|
|
|
890
890
|
parseInfra,
|
|
891
891
|
extractSymbols
|
|
892
892
|
};
|
|
893
|
-
//# sourceMappingURL=chunk-
|
|
893
|
+
//# sourceMappingURL=chunk-MVN25IF6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
acyclicOrient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WRNFDFPU.js";
|
|
4
4
|
|
|
5
5
|
// src/swimlane/layout.ts
|
|
6
6
|
var MARGIN = 30;
|
|
@@ -419,4 +419,4 @@ function layoutSwimlane(parsed) {
|
|
|
419
419
|
export {
|
|
420
420
|
layoutSwimlane
|
|
421
421
|
};
|
|
422
|
-
//# sourceMappingURL=chunk-
|
|
422
|
+
//# sourceMappingURL=chunk-MX2EY5Y7.js.map
|
|
@@ -8,14 +8,17 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
DAY_MS,
|
|
10
10
|
applyOrdinalTemplate,
|
|
11
|
+
dayStart,
|
|
11
12
|
formatCompound,
|
|
12
13
|
formatCount,
|
|
13
14
|
formatDateShort,
|
|
14
15
|
formatFooter,
|
|
15
16
|
formatHuman,
|
|
16
17
|
formatWordsDetail,
|
|
17
|
-
ordinalFor
|
|
18
|
-
|
|
18
|
+
ordinalFor,
|
|
19
|
+
sameDay,
|
|
20
|
+
splitClockSeconds
|
|
21
|
+
} from "./chunk-OQKP2X3D.js";
|
|
19
22
|
import {
|
|
20
23
|
FONT_FAMILY
|
|
21
24
|
} from "./chunk-6KFWC4CO.js";
|
|
@@ -33,23 +36,24 @@ import * as d3Selection from "d3-selection";
|
|
|
33
36
|
function bakedHero(parsed, now) {
|
|
34
37
|
const resolved = parsed.resolvedMs;
|
|
35
38
|
if (resolved === null) return "\u2014";
|
|
39
|
+
const tz = parsed.tz;
|
|
36
40
|
const remaining = resolved - now;
|
|
37
41
|
if (!parsed.rule && remaining <= 0) {
|
|
38
42
|
if (parsed.expired !== null) return parsed.expired;
|
|
39
43
|
const elapsed = -remaining;
|
|
40
44
|
if (elapsed <= 0) return "Now!";
|
|
41
45
|
if (parsed.units === "compound" || parsed.units === "human")
|
|
42
|
-
return `${formatCompound(resolved, now)} ago`;
|
|
46
|
+
return `${formatCompound(resolved, now, 2, tz)} ago`;
|
|
43
47
|
const bu = parsed.units === "full" || parsed.units === "clock" ? "days" : parsed.units;
|
|
44
48
|
return `${formatCount(elapsed, { units: bu, round: parsed.round, fields: parsed.fields })} ago`;
|
|
45
49
|
}
|
|
46
|
-
if (parsed.rule &&
|
|
50
|
+
if (parsed.rule && sameDay(resolved, now, tz))
|
|
47
51
|
return parsed.onDay ?? "Today!";
|
|
48
52
|
if (parsed.units === "human") {
|
|
49
|
-
const [hn, ht] = parsed.hasTime ? [now, resolved] : [
|
|
50
|
-
return formatHuman(hn, ht).big;
|
|
53
|
+
const [hn, ht] = parsed.hasTime ? [now, resolved] : [dayStart(now, tz), dayStart(resolved, tz)];
|
|
54
|
+
return formatHuman(hn, ht, tz).big;
|
|
51
55
|
}
|
|
52
|
-
if (parsed.units === "compound") return formatCompound(now, resolved);
|
|
56
|
+
if (parsed.units === "compound") return formatCompound(now, resolved, 2, tz);
|
|
53
57
|
const bakeUnits = parsed.units === "full" || parsed.units === "clock" ? "days" : parsed.units;
|
|
54
58
|
return formatCount(Math.max(0, remaining), {
|
|
55
59
|
units: bakeUnits,
|
|
@@ -57,11 +61,6 @@ function bakedHero(parsed, now) {
|
|
|
57
61
|
fields: parsed.fields
|
|
58
62
|
});
|
|
59
63
|
}
|
|
60
|
-
function sameLocalDay(a, b) {
|
|
61
|
-
const x = new Date(a);
|
|
62
|
-
const y = new Date(b);
|
|
63
|
-
return x.getFullYear() === y.getFullYear() && x.getMonth() === y.getMonth() && x.getDate() === y.getDate();
|
|
64
|
-
}
|
|
65
64
|
function stampRecur(sel, parsed) {
|
|
66
65
|
const r = parsed.rule;
|
|
67
66
|
if (!r) return;
|
|
@@ -78,6 +77,7 @@ function stampRecur(sel, parsed) {
|
|
|
78
77
|
if (r.intervalUnit !== void 0)
|
|
79
78
|
sel.attr("data-dgmo-recur-interval-unit", r.intervalUnit);
|
|
80
79
|
if (r.anchorMs !== void 0) sel.attr("data-dgmo-recur-anchor", r.anchorMs);
|
|
80
|
+
if (r.tz !== void 0) sel.attr("data-dgmo-recur-tz", r.tz);
|
|
81
81
|
}
|
|
82
82
|
var MON_ABBR = [
|
|
83
83
|
"Jan",
|
|
@@ -150,7 +150,7 @@ function aLine(svg, x1, y1, x2, y2, stroke, sw, opacity) {
|
|
|
150
150
|
const l = svg.append("line").attr("x1", x1).attr("y1", y1).attr("x2", x2).attr("y2", y2).attr("stroke", stroke).attr("stroke-width", sw);
|
|
151
151
|
if (opacity != null) l.attr("opacity", opacity);
|
|
152
152
|
}
|
|
153
|
-
var REPEAT_ICON_PATH = "m17 2 4 4-4 4 M3 11v-1a4 4 0 0 1 4-4h14
|
|
153
|
+
var REPEAT_ICON_PATH = "m17 2 4 4-4 4 M3 11v-1a4 4 0 0 1 4-4h14 M7 22l-4-4 4-4 M21 13v1a4 4 0 0 1-4 4H3";
|
|
154
154
|
function recurGlyph(svg, cx, cy, r, color) {
|
|
155
155
|
const side = r * 2.4;
|
|
156
156
|
const scale = side / 24;
|
|
@@ -162,7 +162,7 @@ function recurGlyph(svg, cx, cy, r, color) {
|
|
|
162
162
|
}
|
|
163
163
|
function haloRect(svg, x, y, w, h, rx, C) {
|
|
164
164
|
aRect(svg, x - 1, y - 1, w + 2, h + 2, rx + 1, "none", C.bg, 2);
|
|
165
|
-
|
|
165
|
+
svg.append("rect").attr("class", "dgmo-countdown-target-ring").attr("x", x - 3).attr("y", y - 3).attr("width", w + 6).attr("height", h + 6).attr("rx", rx + 3).attr("fill", "none").attr("stroke", C.event).attr("stroke-width", 2);
|
|
166
166
|
}
|
|
167
167
|
function pickBand(nowMs, resolvedMs, hasTime) {
|
|
168
168
|
const days = dayDelta(nowMs, resolvedMs);
|
|
@@ -826,6 +826,13 @@ function vizClock(svg, g, nowMs, targetMs, C) {
|
|
|
826
826
|
function pad2(n) {
|
|
827
827
|
return n < 10 ? "0" + n : String(n);
|
|
828
828
|
}
|
|
829
|
+
function paintClock(sel, str, secSize, secFill) {
|
|
830
|
+
const { lead, sec } = splitClockSeconds(str);
|
|
831
|
+
sel.attr("font-variant-numeric", "tabular-nums").attr("data-dgmo-cd-clock", "").attr("data-dgmo-cd-sec-size", secSize).attr("data-dgmo-cd-sec-fill", secFill).text(null);
|
|
832
|
+
sel.append("tspan").attr("data-cd-lead", "").text(lead);
|
|
833
|
+
if (sec !== null)
|
|
834
|
+
sel.append("tspan").attr("data-cd-sec", "").attr("font-size", secSize).attr("fill", secFill).attr("font-weight", 700).text(sec);
|
|
835
|
+
}
|
|
829
836
|
function drawBand(svg, kind, g, nowMs, resolvedMs, C) {
|
|
830
837
|
switch (kind) {
|
|
831
838
|
case "years":
|
|
@@ -874,6 +881,18 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
874
881
|
const banked = resolveColor("green", palette) ?? muted;
|
|
875
882
|
const faint = mix(palette.text, themeBaseBg(palette, isDark), 72);
|
|
876
883
|
const svg = d3Selection.select(container).append("svg").attr("width", width).attr("preserveAspectRatio", "xMidYMid meet").attr("xmlns", "http://www.w3.org/2000/svg").attr("role", "img").attr("aria-label", `${parsed.title ?? "Countdown"}: ${hero}`).style("font-family", FONT_FAMILY);
|
|
884
|
+
svg.append("style").text(`
|
|
885
|
+
@keyframes dgmo-countdown-flash {
|
|
886
|
+
0%, 100% { opacity: 1; stroke-width: 2; }
|
|
887
|
+
50% { opacity: 0.45; stroke-width: 3; }
|
|
888
|
+
}
|
|
889
|
+
.dgmo-countdown-target-ring {
|
|
890
|
+
animation: dgmo-countdown-flash 1.8s ease-in-out infinite;
|
|
891
|
+
}
|
|
892
|
+
@media (prefers-reduced-motion: reduce) {
|
|
893
|
+
.dgmo-countdown-target-ring { animation: none; }
|
|
894
|
+
}
|
|
895
|
+
`);
|
|
877
896
|
const bgRect = svg.append("rect").attr("width", width).attr("fill", palette.bg);
|
|
878
897
|
const estWidth = (t, fs) => t.length * fs * 0.58;
|
|
879
898
|
const fitFont = (t, base, maxW, min) => {
|
|
@@ -893,10 +912,12 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
893
912
|
fields: parsed.fields
|
|
894
913
|
}) : hero;
|
|
895
914
|
const heroMaxW = contentW * 0.44;
|
|
896
|
-
const
|
|
897
|
-
const heroW = Math.min(heroMaxW, estWidth(heroSizeStr, heroFont));
|
|
915
|
+
const sizeStr = estWidth(hero, 1) > estWidth(heroSizeStr, 1) ? hero : heroSizeStr;
|
|
898
916
|
const gapMid = Math.max(28, Math.round(width * 0.03));
|
|
899
|
-
const
|
|
917
|
+
const stacked = estWidth(sizeStr, 26) > heroMaxW;
|
|
918
|
+
const heroFont = fitFont(sizeStr, 96, stacked ? contentW : heroMaxW, 26);
|
|
919
|
+
const heroW = stacked ? contentW : Math.min(heroMaxW, estWidth(sizeStr, heroFont));
|
|
920
|
+
const leftW = stacked ? contentW : Math.max(contentW * 0.42, contentW - heroW - gapMid);
|
|
900
921
|
const titleBase = 40;
|
|
901
922
|
let titleFont = 0;
|
|
902
923
|
let titleLines = [];
|
|
@@ -908,7 +929,7 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
908
929
|
}
|
|
909
930
|
const eyebrowText = ordinal !== null ? applyOrdinalTemplate(parsed.sinceLabel ?? `Nth ${label}`, ordinal) : null;
|
|
910
931
|
const eyebrowFont = 16;
|
|
911
|
-
const footerText = resolved !== null ? formatFooter(resolved, parsed.hasTime) : null;
|
|
932
|
+
const footerText = resolved !== null ? formatFooter(resolved, parsed.hasTime, parsed.tz) : null;
|
|
912
933
|
const footerFont = 17;
|
|
913
934
|
const noteFont = 19;
|
|
914
935
|
const asofFont = 13;
|
|
@@ -926,7 +947,7 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
926
947
|
});
|
|
927
948
|
y += Math.round(titleFont * 0.45);
|
|
928
949
|
const heroLeft = width - padX - heroW;
|
|
929
|
-
const ruleRight = Math.max(leftX + 40, heroLeft - 20);
|
|
950
|
+
const ruleRight = stacked ? width - padX : Math.max(leftX + 40, heroLeft - 20);
|
|
930
951
|
svg.append("line").attr("x1", leftX).attr("x2", ruleRight).attr("y1", y).attr("y2", y).attr("stroke", mix(palette.text, palette.bg, 14)).attr("stroke-width", 1.25);
|
|
931
952
|
y += Math.round(titleFont * 0.5);
|
|
932
953
|
}
|
|
@@ -974,8 +995,12 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
974
995
|
units: "clock",
|
|
975
996
|
round: parsed.round,
|
|
976
997
|
fields: parsed.fields
|
|
977
|
-
}) : formatHuman(
|
|
978
|
-
|
|
998
|
+
}) : formatHuman(
|
|
999
|
+
dayStart(now, parsed.tz),
|
|
1000
|
+
dayStart(resolved, parsed.tz),
|
|
1001
|
+
parsed.tz
|
|
1002
|
+
).sub || null : null;
|
|
1003
|
+
const heroCapTop = stacked ? leftBottom + Math.round(heroFont * 0.2) : padY + 0.28 * titleFont;
|
|
979
1004
|
const heroBaseline = heroCapTop + 0.72 * heroFont;
|
|
980
1005
|
const heroBlockBottom = heroBaseline + (subText ? heroFont * 0.28 + detailFont : 0);
|
|
981
1006
|
const contentBottom = Math.max(leftBottom, heroBlockBottom);
|
|
@@ -990,6 +1015,7 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
990
1015
|
);
|
|
991
1016
|
svg.attr("height", bannerH).attr("viewBox", `0 0 ${width} ${bannerH}`);
|
|
992
1017
|
bgRect.attr("height", bannerH);
|
|
1018
|
+
const bandC = bandColors(palette, accent, muted, faint);
|
|
993
1019
|
if (hasBand && resolved !== null) {
|
|
994
1020
|
drawBand(
|
|
995
1021
|
svg,
|
|
@@ -997,10 +1023,11 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
997
1023
|
{ left: leftX, top: bandTop, contentW: width - 2 * padX, height: BAND_H },
|
|
998
1024
|
now,
|
|
999
1025
|
resolved,
|
|
1000
|
-
|
|
1026
|
+
bandC
|
|
1001
1027
|
);
|
|
1002
1028
|
}
|
|
1003
|
-
const value = svg.append("text").attr("class", "countdown-value").attr("x", width - padX).attr("y", heroBaseline).attr("text-anchor", "end").attr("dominant-baseline", "alphabetic").attr("fill", accent).attr("font-family", FONT_FAMILY).attr("font-size", heroFont).attr("font-weight", 800).attr("data-dgmo-countdown-units", parsed.units).attr("data-dgmo-countdown-round", parsed.round).attr("data-dgmo-countdown-fields", parsed.fields.join(",")).attr("data-dgmo-countdown-expired", parsed.expired).attr("aria-label", `${parsed.title ?? "Countdown"}: ${hero}`)
|
|
1029
|
+
const value = svg.append("text").attr("class", "countdown-value").attr("x", stacked ? leftX : width - padX).attr("y", heroBaseline).attr("text-anchor", stacked ? "start" : "end").attr("dominant-baseline", "alphabetic").attr("fill", accent).attr("font-family", FONT_FAMILY).attr("font-size", heroFont).attr("font-weight", 800).attr("data-dgmo-countdown-units", parsed.units).attr("data-dgmo-countdown-round", parsed.round).attr("data-dgmo-countdown-fields", parsed.fields.join(",")).attr("data-dgmo-countdown-expired", parsed.expired).attr("aria-label", `${parsed.title ?? "Countdown"}: ${hero}`);
|
|
1030
|
+
paintClock(value, hero, Math.round(heroFont * 0.55), bandC.now);
|
|
1004
1031
|
if (parsed.rule && resolved !== null) {
|
|
1005
1032
|
value.attr("data-dgmo-countdown", new Date(resolved).toISOString());
|
|
1006
1033
|
} else if (parsed.target) {
|
|
@@ -1009,6 +1036,7 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
1009
1036
|
if (parsed.title) value.attr("data-dgmo-countdown-title", parsed.title);
|
|
1010
1037
|
if (parsed.onDay) value.attr("data-dgmo-countdown-onday", parsed.onDay);
|
|
1011
1038
|
if (parsed.hasTime) value.attr("data-dgmo-countdown-hastime", "1");
|
|
1039
|
+
if (parsed.tz) value.attr("data-dgmo-countdown-tz", parsed.tz);
|
|
1012
1040
|
if (parsed.since !== null) {
|
|
1013
1041
|
value.attr("data-dgmo-countdown-since", parsed.since);
|
|
1014
1042
|
value.attr(
|
|
@@ -1018,7 +1046,13 @@ function renderCountdown(container, parsed, palette, isDark, exportDims) {
|
|
|
1018
1046
|
}
|
|
1019
1047
|
stampRecur(value, parsed);
|
|
1020
1048
|
if (subText) {
|
|
1021
|
-
svg.append("text").attr("x", width - padX).attr("y", heroBaseline + heroFont * 0.28 + detailFont).attr("text-anchor", "end").attr("dominant-baseline", "alphabetic").attr("fill", muted).attr("font-family", FONT_FAMILY).attr("font-size", detailFont).attr("font-weight", 500).attr("data-dgmo-countdown-detail", "")
|
|
1049
|
+
const detailSel = svg.append("text").attr("x", stacked ? leftX : width - padX).attr("y", heroBaseline + heroFont * 0.28 + detailFont).attr("text-anchor", stacked ? "start" : "end").attr("dominant-baseline", "alphabetic").attr("fill", muted).attr("font-family", FONT_FAMILY).attr("font-size", detailFont).attr("font-weight", 500).attr("data-dgmo-countdown-detail", "");
|
|
1050
|
+
paintClock(
|
|
1051
|
+
detailSel,
|
|
1052
|
+
subText,
|
|
1053
|
+
Math.round(detailFont * 0.66),
|
|
1054
|
+
bandC.now
|
|
1055
|
+
);
|
|
1022
1056
|
}
|
|
1023
1057
|
}
|
|
1024
1058
|
function renderCountdownForExport(container, parsed, palette, isDark, exportDims) {
|
|
@@ -1029,4 +1063,4 @@ export {
|
|
|
1029
1063
|
renderCountdown,
|
|
1030
1064
|
renderCountdownForExport
|
|
1031
1065
|
};
|
|
1032
|
-
//# sourceMappingURL=chunk-
|
|
1066
|
+
//# sourceMappingURL=chunk-ND76YJCN.js.map
|