@diagrammo/dgmo 0.50.2 → 0.52.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/.cursorrules +15 -19
- package/.github/copilot-instructions.md +15 -19
- package/.windsurfrules +15 -19
- package/SKILL.md +15 -19
- package/dist/advanced.d.ts +155 -65
- package/dist/advanced.js +231 -189
- 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 +171 -133
- package/dist/auto.mjs +3062 -1478
- package/dist/block.css +28 -8
- package/dist/block.js +138 -72
- package/dist/charts-d3-MXEP6BNP.js +26 -0
- package/dist/{chunk-3YPY3OXD.js → chunk-3HF5YEFJ.js} +17 -7
- package/dist/{chunk-4MJ7M6YL.js → chunk-3HGU63UY.js} +14 -13
- package/dist/chunk-3LK5DNED.js +35 -0
- package/dist/{chunk-3Y2DRD7S.js → chunk-3QD7VP3U.js} +9 -4
- package/dist/{chunk-6BFZKBGD.js → chunk-3YRPZ7ZZ.js} +2 -2
- package/dist/{chunk-WW32K72E.js → chunk-44VCIPHF.js} +25 -21
- package/dist/{chunk-TN35C5KM.js → chunk-4AQRFDXL.js} +2 -2
- package/dist/{chunk-HHXOONLX.js → chunk-4B5YISOR.js} +38 -1
- package/dist/{chunk-PGEGPSCZ.js → chunk-4IHAV6O7.js} +2 -2
- package/dist/{chunk-7L3R6I3U.js → chunk-4UNQ6X24.js} +10 -7
- package/dist/{chunk-O7NUCTFU.js → chunk-4YFKQ5WT.js} +7 -4
- package/dist/{chunk-5WFIYXQ6.js → chunk-5223KXFD.js} +122 -242
- package/dist/{chunk-PFHVU7UA.js → chunk-5BHJZH62.js} +3 -3
- package/dist/{chunk-QYTPPDAO.js → chunk-5HILBT7X.js} +2 -2
- package/dist/{chunk-GKC3HILQ.js → chunk-5NGAO4QK.js} +27 -4
- package/dist/{chunk-IAEC4KLA.js → chunk-5QKQSSPO.js} +2 -2
- package/dist/{chunk-DSWVNQVS.js → chunk-5RP7JRVP.js} +4 -59
- package/dist/{chunk-MCZ5LBZD.js → chunk-5SEVICBT.js} +8 -8
- package/dist/{chunk-GBE54KY6.js → chunk-6EJITS44.js} +8 -5
- package/dist/{chunk-BBGDM4NQ.js → chunk-6HQH6JZE.js} +35 -16
- package/dist/{chunk-66NVRO4K.js → chunk-6LBQ7ELG.js} +17 -18
- package/dist/{chunk-4XK3FLFB.js → chunk-6NYWYNBI.js} +3 -3
- package/dist/{chunk-VBYSIOOY.js → chunk-75G3Q4DK.js} +3 -3
- package/dist/{chunk-3NODSS6A.js → chunk-77FGAVZC.js} +13 -10
- package/dist/{chunk-6IAA2QQ2.js → chunk-7BIZCTAX.js} +2 -2
- package/dist/{chunk-TWQUYVP3.js → chunk-7DF4J4RL.js} +4 -4
- package/dist/{chunk-66RUL3XF.js → chunk-7KINELPI.js} +111 -49
- package/dist/{chunk-L3UHP6TD.js → chunk-7L4UJOY6.js} +1 -2
- package/dist/{chunk-QJP6PG7F.js → chunk-7QE3XMRK.js} +19 -18
- package/dist/{chunk-P7CE7LXL.js → chunk-AAXZDUOV.js} +18 -17
- package/dist/{chunk-SXRTRMEE.js → chunk-AL672HNE.js} +3 -3
- package/dist/chunk-APKUAJ2L.js +220 -0
- package/dist/{chunk-SCHXJTZL.js → chunk-ARGMQ3H4.js} +2 -2
- package/dist/{chunk-HEVYAHLW.js → chunk-AUIM2NVH.js} +5 -5
- package/dist/{chunk-3LH5CLP4.js → chunk-BKVOYV6I.js} +143 -6
- package/dist/{chunk-RZ6YKEUJ.js → chunk-BPIZNB5O.js} +17 -15
- package/dist/{chunk-QROYX7TT.js → chunk-BPY242XU.js} +6 -4
- package/dist/{chunk-OTAL43EH.js → chunk-BRENJ2BQ.js} +39 -3
- package/dist/{chunk-FA6K3FWM.js → chunk-CCNDLW7Z.js} +44 -22
- package/dist/{chunk-2KGXHFYK.js → chunk-CIRFIL4M.js} +49 -29
- package/dist/chunk-DAOFNU6J.js +283 -0
- package/dist/{chunk-QJJZSROI.js → chunk-DYWQFQJP.js} +48 -38
- package/dist/{chunk-XEGTMVYY.js → chunk-EMLPOL77.js} +15 -8
- package/dist/{chunk-NWED7CYO.js → chunk-FHGVORFO.js} +29 -25
- package/dist/{chunk-U2HGPLZS.js → chunk-FQ7HTV52.js} +17 -2
- package/dist/{chunk-H73FP42Q.js → chunk-FQMUHRVC.js} +70 -31
- package/dist/{chunk-BTUTZMPT.js → chunk-FT3ZYWET.js} +108 -42
- package/dist/{chunk-T5SHNNGP.js → chunk-FUPF2UYQ.js} +92 -34
- package/dist/{chunk-3XPUDB7B.js → chunk-FY5MSZAP.js} +279 -39
- package/dist/{chunk-M5RXSRO2.js → chunk-GCYTI3DE.js} +42 -33
- package/dist/{chunk-DN66GPY5.js → chunk-GJFAMOGK.js} +24 -3
- package/dist/{chunk-F2L5GCQ4.js → chunk-GU46PPT3.js} +3 -3
- package/dist/{chunk-6IUAK7RZ.js → chunk-H6PI3KJT.js} +2 -2
- package/dist/{chunk-ONA5KPV3.js → chunk-H7KENAZO.js} +18 -14
- package/dist/{chunk-SQLNBA64.js → chunk-HBPDFCQY.js} +3 -3
- package/dist/{chunk-SCQ5VPUF.js → chunk-HFMYN6N2.js} +2 -2
- package/dist/{chunk-FJUNPCYI.js → chunk-HHKO6SKY.js} +2 -2
- package/dist/{chunk-DZXYF2F5.js → chunk-HQQNCY7W.js} +21 -8
- package/dist/{chunk-7TV5Y53Y.js → chunk-HWX6ZHF3.js} +3 -3
- package/dist/{chunk-3P2DKJCG.js → chunk-ICPJPQ5C.js} +2 -2
- package/dist/{chunk-VUJGMJE6.js → chunk-IM6PDDCE.js} +4 -4
- package/dist/{chunk-JJUOHGX2.js → chunk-INE5YJBZ.js} +13 -8
- package/dist/{chunk-HTMN2Z6U.js → chunk-J6QROYDA.js} +58 -11
- package/dist/{chunk-NX4EQS3U.js → chunk-J76PIKAT.js} +2 -2
- package/dist/{chunk-SVTI362O.js → chunk-J7KJR3R6.js} +129 -109
- package/dist/{chunk-JEUJOX5X.js → chunk-J7TLCB2Q.js} +2 -2
- package/dist/{chunk-O7WP4ZD4.js → chunk-JED6ZDEE.js} +2 -2
- package/dist/{chunk-J6K7RP6P.js → chunk-JRCOYRRH.js} +19 -7
- package/dist/{chunk-7QKLIMRZ.js → chunk-K2I2XOZD.js} +46 -51
- package/dist/{chunk-EAMEADTV.js → chunk-K4EOKJA6.js} +96 -24
- package/dist/{chunk-5OWVC2A6.js → chunk-KGVZ5VGH.js} +13 -10
- package/dist/{chunk-DFTFPYUD.js → chunk-LBMS4AW6.js} +22 -21
- package/dist/{chunk-VVW3F3MD.js → chunk-LGT3PZCJ.js} +27 -19
- package/dist/{chunk-OMNGQPEZ.js → chunk-LTXOLDUZ.js} +9 -6
- package/dist/{chunk-Q4V4XQWV.js → chunk-MUE65OTD.js} +5 -4
- package/dist/{chunk-5GJYGP5Z.js → chunk-MUVJ57EP.js} +14 -18
- package/dist/{chunk-CLD2OKV7.js → chunk-MX2EY5Y7.js} +2 -2
- package/dist/{chunk-OTQKUHRS.js → chunk-NNS4E7CW.js} +6 -4
- package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
- package/dist/{chunk-KFZYNWWO.js → chunk-ONU3U4GL.js} +4 -4
- package/dist/{chunk-YNRDWYZP.js → chunk-OQKP2X3D.js} +170 -51
- package/dist/{chunk-AHGF2YYA.js → chunk-OTOHI4JO.js} +2 -2
- package/dist/{chunk-EOFPYPAU.js → chunk-P3NRSSUU.js} +51 -11
- package/dist/{chunk-QXKWYZNR.js → chunk-PRI2OD4E.js} +10 -3
- package/dist/{chunk-U6EQI3U6.js → chunk-QBZYACOG.js} +3 -3
- package/dist/{chunk-C2CVAM3U.js → chunk-QGATPIPX.js} +170 -91
- package/dist/{chunk-PZFVK3IH.js → chunk-QHXCAEMX.js} +8 -5
- package/dist/{chunk-BH3UYK36.js → chunk-QJMKPUYK.js} +15 -5
- package/dist/{chunk-HQCHYB5F.js → chunk-QOOUC2J5.js} +2 -2
- package/dist/{chunk-Z6XJQ6KO.js → chunk-QVENJMNX.js} +2 -2
- package/dist/{chunk-IUMPEA64.js → chunk-QZX5S6R3.js} +4 -4
- package/dist/{chunk-I7F2A35O.js → chunk-R3YSD62R.js} +25 -47
- package/dist/{chunk-NU3XLTGP.js → chunk-REJAIQ5S.js} +4 -4
- package/dist/{chunk-2C56LEML.js → chunk-ROOE4R4Y.js} +8 -5
- package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
- package/dist/{chunk-I2WKW7C7.js → chunk-SMRFPVLQ.js} +3 -3
- package/dist/{chunk-VDOOQZUD.js → chunk-SWSIKFEB.js} +4 -4
- package/dist/{chunk-HLJVEAOF.js → chunk-T4A4TSTJ.js} +19 -45
- package/dist/{chunk-KHEYDLMT.js → chunk-TJVLKNGR.js} +20 -10
- package/dist/{chunk-GL5UZ6NY.js → chunk-TPFKKXCB.js} +3 -3
- package/dist/{chunk-X6EZPSW6.js → chunk-TTIM6YTT.js} +31 -21
- package/dist/{chunk-BCYVE3N5.js → chunk-TYS6CSS5.js} +2 -2
- package/dist/{chunk-T4VOVZT5.js → chunk-UBLHQTLV.js} +15 -14
- package/dist/{chunk-3LKM6FMW.js → chunk-UNURMIQO.js} +2 -2
- package/dist/{chunk-TSA237IM.js → chunk-VILVLS7P.js} +5 -3
- package/dist/{chunk-HGN652MU.js → chunk-VL2O2F3W.js} +2 -2
- package/dist/{chunk-3XGZF2QJ.js → chunk-VQOCMUWI.js} +39 -28
- package/dist/{chunk-P6T66CCZ.js → chunk-WBM7ZNDI.js} +3 -2
- package/dist/{chunk-CMCR5WBW.js → chunk-WBRZJOEC.js} +3 -3
- package/dist/{chunk-5LWQH6QV.js → chunk-WCT3NYCV.js} +1 -1
- package/dist/{chunk-C4GQDB5L.js → chunk-WRNFDFPU.js} +2 -2
- package/dist/{chunk-6HJBFVLO.js → chunk-XD6ZYURY.js} +9 -4
- package/dist/{chunk-C63UWAKM.js → chunk-Y2ZE3MSG.js} +2 -2
- package/dist/{chunk-7UEMZREK.js → chunk-YAA6IID3.js} +2 -2
- package/dist/{chunk-F7BFXWNQ.js → chunk-YIBAWQGJ.js} +7 -4
- package/dist/{chunk-PH5X4GIP.js → chunk-YTMTPUH4.js} +8 -5
- package/dist/{chunk-3UIKSPFB.js → chunk-Z5QVYKR7.js} +11 -3
- package/dist/{chunk-KQ57MHRO.js → chunk-ZEF5M5MB.js} +155 -87
- package/dist/{chunk-LE4MYMLI.js → chunk-ZJV7GYR4.js} +6 -6
- package/dist/{chunk-XJLKLU4D.js → chunk-ZNWAYU6N.js} +11 -7
- package/dist/cli.cjs +165 -148
- package/dist/clock.js +105 -25
- package/dist/countdown.js +208 -82
- package/dist/dgmo-router-X7ZGAPIE.js +86 -0
- package/dist/dimensions-45H6JQEY.js +22 -0
- package/dist/editor.js +17 -2
- package/dist/element.d.ts +6 -0
- package/dist/element.js +172 -134
- package/dist/element.mjs +3026 -1463
- package/dist/{flowchart-parser-OE4WHLTF.js → flowchart-parser-UKELHBSB.js} +4 -4
- package/dist/{flowchart-renderer-GPCSMTOR.js → flowchart-renderer-MNCDS7MV.js} +10 -10
- package/dist/highlight.d.ts +21 -1
- package/dist/highlight.js +106 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +59 -57
- package/dist/{layout-FWODLIMP.js → layout-2L3WMRYU.js} +6 -6
- package/dist/{layout-7SKMFYHL.js → layout-46N4JJYK.js} +5 -5
- package/dist/{layout-7H4H46CS.js → layout-7QXCNOVS.js} +3 -3
- package/dist/layout-A4XWNVID.js +14 -0
- package/dist/{layout-46366KBT.js → layout-A5UHRWVH.js} +3 -3
- package/dist/{layout-NXG63LWH.js → layout-AM2JWW3X.js} +4 -4
- 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-GM4UGR7B.js} +5 -4
- package/dist/{layout-7MZ5NF2N.js → layout-GQQJXNYH.js} +5 -5
- package/dist/{layout-5BG6DFCU.js → layout-IIE2S5FK.js} +6 -6
- package/dist/{layout-34CLNICW.js → layout-OAC4PEAC.js} +5 -5
- package/dist/layout-VMCRX66I.js +14 -0
- 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/{palettes-PRJ2RI6D.js → palettes-UDLZ2SA4.js} +2 -2
- package/dist/{parser-D5VILGN2.js → parser-2ECN6JA2.js} +4 -4
- package/dist/{parser-LWKKBNSA.js → parser-4WTIHM5J.js} +3 -3
- package/dist/{parser-DFFEDKHH.js → parser-5H2BTSJQ.js} +3 -3
- package/dist/{parser-4NO6VZ6S.js → parser-75KVXUNS.js} +4 -4
- package/dist/{parser-VKOJM7KS.js → parser-774AC53T.js} +4 -4
- package/dist/{parser-IBWNAPY4.js → parser-BE4YCSRU.js} +3 -3
- package/dist/{parser-4AI5ZN5F.js → parser-CNGUQUQI.js} +3 -3
- package/dist/{parser-36HVKU5U.js → parser-DEUUSQIN.js} +7 -6
- package/dist/{parser-H3XEPFPV.js → parser-DQAFLUJB.js} +4 -4
- package/dist/{parser-5OXGPNBF.js → parser-EYCKNKQA.js} +5 -5
- package/dist/{parser-TGQZJ5OT.js → parser-FXISIU6A.js} +4 -4
- package/dist/{parser-JJR52VAT.js → parser-GTB4XC7P.js} +5 -5
- package/dist/{parser-AGVYTQXV.js → parser-GVEPAUSD.js} +4 -4
- package/dist/{parser-WAV5JRPT.js → parser-HSQGTY4G.js} +4 -4
- package/dist/{parser-YS7TOS2K.js → parser-HVKRINUS.js} +3 -3
- package/dist/{parser-W4PQUGX3.js → parser-J5MIEYO4.js} +5 -5
- package/dist/parser-KMZIXLDZ.js +13 -0
- package/dist/{parser-HYRTF3DO.js → parser-LJHXWSXU.js} +3 -3
- package/dist/{parser-KCR2WS3V.js → parser-PT3W72G5.js} +4 -4
- package/dist/{parser-CVMEDULU.js → parser-SBJQDPHL.js} +4 -4
- package/dist/{parser-RZPVAQVX.js → parser-SUWWWCMX.js} +4 -3
- package/dist/{parser-TXND652E.js → parser-SXDRNZOA.js} +4 -4
- package/dist/parser-UMILOW3M.js +14 -0
- package/dist/{parser-RV4M6AS2.js → parser-UP3AZ367.js} +4 -4
- package/dist/{parser-IJBMRXMC.js → parser-WHPRV3X5.js} +5 -5
- package/dist/{parser-MPCE5JBG.js → parser-WX3UODSJ.js} +4 -4
- package/dist/{parser-K3XXLMUW.js → parser-XCIEN3KN.js} +4 -4
- package/dist/{parser-AXKBDGNO.js → parser-XIRTUMVN.js} +5 -5
- package/dist/{parser-B5FVS7O6.js → parser-YKCGIG45.js} +3 -3
- package/dist/{parser-PSA4UBSP.js → parser-YKYMQG3B.js} +4 -4
- package/dist/{parser-MTOMTWTD.js → parser-ZGM2OJ6Y.js} +6 -5
- package/dist/{parser-CSFUN3CT.js → parser-ZL5QUFVH.js} +5 -4
- package/dist/pert.d.ts +2 -2
- package/dist/{renderer-PPIHO5FI.js → renderer-3F7OS2AX.js} +14 -13
- package/dist/{renderer-SBS3YWU5.js → renderer-4QB4K7Q3.js} +9 -9
- package/dist/{renderer-GHPZMFU2.js → renderer-5DAKMIU2.js} +3 -3
- package/dist/{renderer-R2WNIC2C.js → renderer-5H4SY7YY.js} +9 -9
- package/dist/{renderer-DAXMXIKD.js → renderer-5PIQPFOX.js} +5 -4
- package/dist/{renderer-45PSOL3E.js → renderer-6MU37QF5.js} +6 -6
- package/dist/renderer-AQVMWJ4M.js +27 -0
- package/dist/{renderer-A5VE5BCI.js → renderer-BDDW6K7N.js} +9 -9
- package/dist/{renderer-AUW2BE6G.js → renderer-BNB3VIDY.js} +10 -10
- package/dist/{renderer-4ITCHBT7.js → renderer-CQY6ATOS.js} +6 -6
- package/dist/{renderer-6OKF44KS.js → renderer-CVW75CXL.js} +15 -15
- package/dist/{renderer-7RH2SI3B.js → renderer-DT4XRFEP.js} +5 -4
- package/dist/{renderer-B5TBNZJE.js → renderer-ERHBSTQT.js} +9 -9
- package/dist/{renderer-HVCU2C3Z.js → renderer-HSHHVYWF.js} +5 -4
- package/dist/renderer-IDPVUFNB.js +28 -0
- package/dist/renderer-ILX6BGKR.js +21 -0
- package/dist/renderer-JP663HKG.js +22 -0
- package/dist/{renderer-KS7YZJE2.js → renderer-KNFTTOBL.js} +11 -11
- package/dist/{renderer-2AZ5HJFK.js → renderer-MVUZBESR.js} +5 -5
- package/dist/{renderer-QAOBLRXV.js → renderer-N4EBR2FV.js} +11 -11
- package/dist/{renderer-P5ROYQGU.js → renderer-NHO46CT2.js} +4 -4
- package/dist/{renderer-NGXZTRK6.js → renderer-NO2QJ5LZ.js} +10 -10
- package/dist/{renderer-FPE3J5VZ.js → renderer-OGFV5RXX.js} +12 -12
- package/dist/{renderer-ODUUOPVT.js → renderer-PDLESJMS.js} +15 -15
- package/dist/renderer-T4MTNINC.js +24 -0
- package/dist/renderer-TOUGFGTM.js +24 -0
- package/dist/{renderer-BSR2O2H6.js → renderer-U3KPD43Y.js} +14 -13
- package/dist/{renderer-JCCHNECZ.js → renderer-X334IJU2.js} +10 -10
- package/dist/{renderer-5DSEWF74.js → renderer-Y5OAMOCR.js} +9 -9
- package/dist/{renderer-5KVCNMOJ.js → renderer-YONAKAJU.js} +5 -3
- package/dist/{renderer-7SD6MSBS.js → renderer-YWMI6Y2U.js} +12 -12
- package/dist/{renderer-2QPMJ2DA.js → renderer-ZWIH4WDW.js} +10 -10
- package/dist/renderer-radial-7CGZMVMS.js +21 -0
- package/dist/{resolver-FHBCO3PL.js → resolver-EMTGNR3D.js} +4 -3
- package/dist/{state-parser-3REXRK3R.js → state-parser-BATWAID2.js} +4 -4
- package/dist/{state-renderer-XYLNRWXR.js → state-renderer-3FKZJ3LP.js} +10 -10
- package/dist/{themes-PdPR1-hC.d.ts → themes-32xj5ZTW.d.ts} +27 -0
- package/docs/ai-integration.md +15 -19
- package/docs/language-reference.md +106 -21
- package/gallery/fixtures/clock.dgmo +3 -3
- package/gallery/fixtures/countdown-tz.dgmo +5 -0
- package/package.json +1 -1
- package/dist/charts-d3-MUW3LTML.js +0 -26
- 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/parser-O4HIUN6G.js +0 -13
- package/dist/renderer-CYB4LK3G.js +0 -22
- package/dist/renderer-FF24KZCI.js +0 -24
- package/dist/renderer-FYSVXL7M.js +0 -28
- package/dist/renderer-HDCCZURL.js +0 -24
- package/dist/renderer-PSMMZCKH.js +0 -21
- package/dist/renderer-UYMQQCJK.js +0 -24
- package/dist/renderer-radial-F7X5F2VU.js +0 -21
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
layoutClassDiagram
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WBRZJOEC.js";
|
|
4
4
|
import {
|
|
5
5
|
NOTE_BADGE_RADIUS,
|
|
6
6
|
noteConnectorPoints,
|
|
7
7
|
renderNoteBadge,
|
|
8
8
|
renderNoteBox,
|
|
9
9
|
renderNoteConnector
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-J7TLCB2Q.js";
|
|
11
11
|
import {
|
|
12
12
|
extractExportSvg,
|
|
13
13
|
runInExportContainer
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-YYVTBZZC.js";
|
|
22
22
|
import {
|
|
23
23
|
renderIntegratedLegend
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-AUIM2NVH.js";
|
|
25
25
|
import {
|
|
26
26
|
TITLE_FONT_SIZE,
|
|
27
27
|
TITLE_FONT_WEIGHT,
|
|
@@ -32,17 +32,20 @@ import {
|
|
|
32
32
|
} from "./chunk-6KFWC4CO.js";
|
|
33
33
|
import {
|
|
34
34
|
LEGEND_HEIGHT
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-QOOUC2J5.js";
|
|
36
36
|
import {
|
|
37
37
|
measureText
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-WCT3NYCV.js";
|
|
39
39
|
import {
|
|
40
40
|
contrastText,
|
|
41
41
|
shapeFill
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
43
43
|
import {
|
|
44
44
|
parseClassDiagram
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-TPFKKXCB.js";
|
|
46
|
+
import {
|
|
47
|
+
fillModeFromOptions
|
|
48
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
46
49
|
|
|
47
50
|
// src/class/renderer.ts
|
|
48
51
|
import * as d3Selection from "d3-selection";
|
|
@@ -68,11 +71,9 @@ function modifierColor(modifier, palette, colorOff) {
|
|
|
68
71
|
return palette.colors.teal;
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
|
-
function nodeFill(palette, isDark, modifier, nodeColor, colorOff,
|
|
74
|
+
function nodeFill(palette, isDark, modifier, nodeColor, colorOff, fillMode) {
|
|
72
75
|
const color = nodeColor ?? modifierColor(modifier, palette, colorOff);
|
|
73
|
-
return shapeFill(palette, color, isDark, {
|
|
74
|
-
...solid !== void 0 && { solid }
|
|
75
|
-
});
|
|
76
|
+
return shapeFill(palette, color, isDark, { mode: fillMode });
|
|
76
77
|
}
|
|
77
78
|
function nodeStroke(palette, modifier, nodeColor, colorOff) {
|
|
78
79
|
return nodeColor ?? modifierColor(modifier, palette, colorOff);
|
|
@@ -259,14 +260,14 @@ function renderClassDiagram(container, parsed, layout, palette, isDark, onClickI
|
|
|
259
260
|
const colorOff = !!parsed.options?.["no-auto-color"];
|
|
260
261
|
const neutralize = hasLegend && !isLegendExpanded && !node.color;
|
|
261
262
|
const effectiveColor = neutralize ? palette.primary : node.color;
|
|
262
|
-
const
|
|
263
|
+
const fillMode = fillModeFromOptions(parsed.options ?? {});
|
|
263
264
|
const fill = nodeFill(
|
|
264
265
|
palette,
|
|
265
266
|
isDark,
|
|
266
267
|
node.modifier,
|
|
267
268
|
effectiveColor,
|
|
268
269
|
colorOff,
|
|
269
|
-
|
|
270
|
+
fillMode
|
|
270
271
|
);
|
|
271
272
|
const stroke = nodeStroke(palette, node.modifier, effectiveColor, colorOff);
|
|
272
273
|
const onFillText = contrastText(
|
|
@@ -289,14 +290,14 @@ function renderClassDiagram(container, parsed, layout, palette, isDark, onClickI
|
|
|
289
290
|
const fields = node.members.filter((m) => !m.isMethod);
|
|
290
291
|
const methods = node.members.filter((m) => m.isMethod);
|
|
291
292
|
if (isEnum) {
|
|
292
|
-
nodeG.append("line").attr("x1", -w / 2).attr("y1", yPos).attr("x2", w / 2).attr("y2", yPos).attr("stroke", solid ? onFillText : stroke).attr("stroke-width", 0.5).attr("stroke-opacity", 0.5);
|
|
293
|
+
nodeG.append("line").attr("x1", -w / 2).attr("y1", yPos).attr("x2", w / 2).attr("y2", yPos).attr("stroke", fillMode === "solid" ? onFillText : stroke).attr("stroke-width", 0.5).attr("stroke-opacity", 0.5);
|
|
293
294
|
let memberY = yPos + sCompartmentPaddingY;
|
|
294
295
|
for (const member of node.members) {
|
|
295
296
|
nodeG.append("text").attr("x", -w / 2 + sMemberPaddingX).attr("y", memberY + sMemberLineHeight / 2).attr("dominant-baseline", "central").attr("fill", onFillText).attr("font-size", sMemberFontSize).text(member.name);
|
|
296
297
|
memberY += sMemberLineHeight;
|
|
297
298
|
}
|
|
298
299
|
} else {
|
|
299
|
-
nodeG.append("line").attr("x1", -w / 2).attr("y1", yPos).attr("x2", w / 2).attr("y2", yPos).attr("stroke", solid ? onFillText : stroke).attr("stroke-width", 0.5).attr("stroke-opacity", 0.5);
|
|
300
|
+
nodeG.append("line").attr("x1", -w / 2).attr("y1", yPos).attr("x2", w / 2).attr("y2", yPos).attr("stroke", fillMode === "solid" ? onFillText : stroke).attr("stroke-width", 0.5).attr("stroke-opacity", 0.5);
|
|
300
301
|
if (fields.length > 0) {
|
|
301
302
|
let memberY = yPos + sCompartmentPaddingY;
|
|
302
303
|
for (const field of fields) {
|
|
@@ -312,7 +313,7 @@ function renderClassDiagram(container, parsed, layout, palette, isDark, onClickI
|
|
|
312
313
|
}
|
|
313
314
|
}
|
|
314
315
|
yPos += node.fieldsHeight;
|
|
315
|
-
nodeG.append("line").attr("x1", -w / 2).attr("y1", yPos).attr("x2", w / 2).attr("y2", yPos).attr("stroke", solid ? onFillText : stroke).attr("stroke-width", 0.5).attr("stroke-opacity", 0.5);
|
|
316
|
+
nodeG.append("line").attr("x1", -w / 2).attr("y1", yPos).attr("x2", w / 2).attr("y2", yPos).attr("stroke", fillMode === "solid" ? onFillText : stroke).attr("stroke-width", 0.5).attr("stroke-opacity", 0.5);
|
|
316
317
|
if (methods.length > 0) {
|
|
317
318
|
let memberY = yPos + sCompartmentPaddingY;
|
|
318
319
|
for (const method of methods) {
|
|
@@ -407,4 +408,4 @@ export {
|
|
|
407
408
|
renderClassDiagram,
|
|
408
409
|
renderClassDiagramForExport
|
|
409
410
|
};
|
|
410
|
-
//# sourceMappingURL=chunk-
|
|
411
|
+
//# sourceMappingURL=chunk-AAXZDUOV.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
tagAttrKey,
|
|
11
11
|
validateTagGroupNames,
|
|
12
12
|
validateTagValues
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-HHKO6SKY.js";
|
|
14
14
|
import {
|
|
15
15
|
MINDMAP_REGISTRY,
|
|
16
16
|
OPTION_NOCOLON_RE,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
tryParseSharedOption,
|
|
22
22
|
warnUnknownMetaKeys,
|
|
23
23
|
withTagAliases
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
25
25
|
import {
|
|
26
26
|
formatDgmoError,
|
|
27
27
|
makeDgmoError,
|
|
@@ -313,4 +313,4 @@ function findMetadataParent(indent, indentStack) {
|
|
|
313
313
|
export {
|
|
314
314
|
parseMindmap
|
|
315
315
|
};
|
|
316
|
-
//# sourceMappingURL=chunk-
|
|
316
|
+
//# sourceMappingURL=chunk-AL672HNE.js.map
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// src/clock/resolve.ts
|
|
2
|
+
var CLOCK_RAMP = [
|
|
3
|
+
[0, "#3d478f"],
|
|
4
|
+
[4, "#4a4d8c"],
|
|
5
|
+
[6, "#c98a6b"],
|
|
6
|
+
[8, "#d9a441"],
|
|
7
|
+
[11, "#e0b23c"],
|
|
8
|
+
[13, "#4f96c4"],
|
|
9
|
+
[16, "#cc7a33"],
|
|
10
|
+
[19, "#8a5aa0"],
|
|
11
|
+
[24, "#3d478f"]
|
|
12
|
+
];
|
|
13
|
+
function hexLerp(a, b, t) {
|
|
14
|
+
const pa = [1, 3, 5].map((i) => parseInt(a.slice(i, i + 2), 16));
|
|
15
|
+
const pb = [1, 3, 5].map((i) => parseInt(b.slice(i, i + 2), 16));
|
|
16
|
+
const c = pa.map(
|
|
17
|
+
(v, i) => Math.round(v + (pb[i] - v) * t).toString(16).padStart(2, "0")
|
|
18
|
+
);
|
|
19
|
+
return `#${c.join("")}`;
|
|
20
|
+
}
|
|
21
|
+
function rampColor(h) {
|
|
22
|
+
const hh = (h % 24 + 24) % 24;
|
|
23
|
+
for (let i = 0; i < CLOCK_RAMP.length - 1; i++) {
|
|
24
|
+
const [h0, c0] = CLOCK_RAMP[i];
|
|
25
|
+
const [h1, c1] = CLOCK_RAMP[i + 1];
|
|
26
|
+
if (hh >= h0 && hh <= h1) return hexLerp(c0, c1, (hh - h0) / (h1 - h0));
|
|
27
|
+
}
|
|
28
|
+
return CLOCK_RAMP[0][1];
|
|
29
|
+
}
|
|
30
|
+
var SOON_MIN = 60;
|
|
31
|
+
var RAD = Math.PI / 180;
|
|
32
|
+
var DAY_MS = 864e5;
|
|
33
|
+
var J1970 = 2440588;
|
|
34
|
+
var J2000 = 2451545;
|
|
35
|
+
function zoneParts(zone, nowMs) {
|
|
36
|
+
const d = new Date(nowMs);
|
|
37
|
+
try {
|
|
38
|
+
const o = {};
|
|
39
|
+
new Intl.DateTimeFormat("en-US", {
|
|
40
|
+
timeZone: zone,
|
|
41
|
+
hour12: false,
|
|
42
|
+
hour: "2-digit",
|
|
43
|
+
minute: "2-digit",
|
|
44
|
+
second: "2-digit",
|
|
45
|
+
weekday: "short"
|
|
46
|
+
}).formatToParts(d).forEach((x) => {
|
|
47
|
+
o[x.type] = x.value;
|
|
48
|
+
});
|
|
49
|
+
const off = new Intl.DateTimeFormat("en-US", {
|
|
50
|
+
timeZone: zone,
|
|
51
|
+
timeZoneName: "shortOffset"
|
|
52
|
+
}).formatToParts(d).find((x) => x.type === "timeZoneName");
|
|
53
|
+
return {
|
|
54
|
+
h: parseInt(o["hour"], 10) % 24,
|
|
55
|
+
m: parseInt(o["minute"], 10),
|
|
56
|
+
s: parseInt(o["second"], 10),
|
|
57
|
+
weekday: o["weekday"],
|
|
58
|
+
offsetLabel: off ? off.value.replace("GMT", "UTC") : ""
|
|
59
|
+
};
|
|
60
|
+
} catch {
|
|
61
|
+
return {
|
|
62
|
+
h: d.getUTCHours(),
|
|
63
|
+
m: d.getUTCMinutes(),
|
|
64
|
+
s: d.getUTCSeconds(),
|
|
65
|
+
weekday: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][d.getUTCDay()],
|
|
66
|
+
offsetLabel: "UTC"
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function pad2(n) {
|
|
71
|
+
return n < 10 ? "0" + n : String(n);
|
|
72
|
+
}
|
|
73
|
+
function isValidZone(zone) {
|
|
74
|
+
try {
|
|
75
|
+
new Intl.DateTimeFormat("en-US", { timeZone: zone });
|
|
76
|
+
return true;
|
|
77
|
+
} catch {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
var WEEKDAY_SHORT = [
|
|
82
|
+
"Sun",
|
|
83
|
+
"Mon",
|
|
84
|
+
"Tue",
|
|
85
|
+
"Wed",
|
|
86
|
+
"Thu",
|
|
87
|
+
"Fri",
|
|
88
|
+
"Sat"
|
|
89
|
+
];
|
|
90
|
+
function parseFixedOffset(token) {
|
|
91
|
+
const m = token.trim().match(/^(?:UTC|GMT)\s*([+-])?\s*(\d{1,2})?(?::?(\d{2}))?$/i);
|
|
92
|
+
if (!m) return null;
|
|
93
|
+
if (!m[1] && !m[2] && !m[3]) return 0;
|
|
94
|
+
if (!m[1] || !m[2]) return null;
|
|
95
|
+
const sign = m[1] === "-" ? -1 : 1;
|
|
96
|
+
const h = Number(m[2]);
|
|
97
|
+
const mm = m[3] ? Number(m[3]) : 0;
|
|
98
|
+
if (h > 14 || mm > 59) return null;
|
|
99
|
+
const total = sign * (h * 60 + mm);
|
|
100
|
+
if (total < -12 * 60 || total > 14 * 60) return null;
|
|
101
|
+
return total;
|
|
102
|
+
}
|
|
103
|
+
function formatOffsetLabel(offsetMin) {
|
|
104
|
+
if (offsetMin === 0) return "UTC";
|
|
105
|
+
const sign = offsetMin < 0 ? "-" : "+";
|
|
106
|
+
const abs = Math.abs(offsetMin);
|
|
107
|
+
const h = Math.floor(abs / 60);
|
|
108
|
+
const mm = abs % 60;
|
|
109
|
+
return `UTC${sign}${h}${mm ? ":" + pad2(mm) : ""}`;
|
|
110
|
+
}
|
|
111
|
+
function fixedParts(offsetMin, nowMs) {
|
|
112
|
+
const d = new Date(nowMs + offsetMin * 6e4);
|
|
113
|
+
return {
|
|
114
|
+
h: d.getUTCHours(),
|
|
115
|
+
m: d.getUTCMinutes(),
|
|
116
|
+
s: d.getUTCSeconds(),
|
|
117
|
+
weekday: WEEKDAY_SHORT[d.getUTCDay()],
|
|
118
|
+
offsetLabel: formatOffsetLabel(offsetMin)
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function formatTime(h, m, s, hours12) {
|
|
122
|
+
const sec = pad2(s);
|
|
123
|
+
if (hours12) {
|
|
124
|
+
const ap = h < 12 ? "am" : "pm";
|
|
125
|
+
let hr = h % 12;
|
|
126
|
+
if (hr === 0) hr = 12;
|
|
127
|
+
return { main: `${hr}:${pad2(m)}`, sec, ap };
|
|
128
|
+
}
|
|
129
|
+
return { main: `${pad2(h)}:${pad2(m)}`, sec, ap: "" };
|
|
130
|
+
}
|
|
131
|
+
function fmtDelta(ms) {
|
|
132
|
+
const m = Math.max(0, Math.round(ms / 6e4));
|
|
133
|
+
if (m < 90) return `${m}m`;
|
|
134
|
+
return `${Math.floor(m / 60)}h ${m % 60}m`;
|
|
135
|
+
}
|
|
136
|
+
function workStatus(parts, work) {
|
|
137
|
+
if (!work) return null;
|
|
138
|
+
const min = parts.h * 60 + parts.m;
|
|
139
|
+
if (!work.days[parts.weekday]) return { cls: "off", text: "Weekend" };
|
|
140
|
+
if (min < work.startMin) {
|
|
141
|
+
const d = work.startMin - min;
|
|
142
|
+
return {
|
|
143
|
+
cls: d <= SOON_MIN ? "soon" : "off",
|
|
144
|
+
text: `starts in ${fmtDelta(d * 6e4)}`
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
if (min < work.endMin) {
|
|
148
|
+
return { cls: "ok", text: `${fmtDelta((work.endMin - min) * 6e4)} left` };
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
cls: "off",
|
|
152
|
+
text: `ended ${fmtDelta((min - work.endMin) * 6e4)} ago`
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
function toJulian(ms) {
|
|
156
|
+
return ms / DAY_MS - 0.5 + J1970;
|
|
157
|
+
}
|
|
158
|
+
function fromJulian(j) {
|
|
159
|
+
return (j + 0.5 - J1970) * DAY_MS;
|
|
160
|
+
}
|
|
161
|
+
function sunTimes(nowMs, lat, lon) {
|
|
162
|
+
const lw = -lon * RAD;
|
|
163
|
+
const phi = lat * RAD;
|
|
164
|
+
const J = toJulian(nowMs);
|
|
165
|
+
const n = Math.round(J - J2000 - 9e-4 - lw / (2 * Math.PI));
|
|
166
|
+
const Jn = J2000 + 9e-4 + lw / (2 * Math.PI) + n;
|
|
167
|
+
const M = (357.5291 + 0.98560028 * (Jn - J2000)) * RAD;
|
|
168
|
+
const C = (1.9148 * Math.sin(M) + 0.02 * Math.sin(2 * M) + 3e-4 * Math.sin(3 * M)) * RAD;
|
|
169
|
+
const L = M + C + Math.PI + 102.9372 * RAD;
|
|
170
|
+
const Jt = Jn + 53e-4 * Math.sin(M) - 69e-4 * Math.sin(2 * L);
|
|
171
|
+
const dec = Math.asin(Math.sin(L) * Math.sin(23.44 * RAD));
|
|
172
|
+
const cw = (Math.sin(-0.833 * RAD) - Math.sin(phi) * Math.sin(dec)) / (Math.cos(phi) * Math.cos(dec));
|
|
173
|
+
if (cw > 1) return { polar: "night" };
|
|
174
|
+
if (cw < -1) return { polar: "day" };
|
|
175
|
+
const w = Math.acos(cw);
|
|
176
|
+
const Jset = J2000 + 9e-4 + (w + lw) / (2 * Math.PI) + n + 53e-4 * Math.sin(M) - 69e-4 * Math.sin(2 * L);
|
|
177
|
+
return {
|
|
178
|
+
sunriseMs: fromJulian(Jt - (Jset - Jt)),
|
|
179
|
+
sunsetMs: fromJulian(Jset)
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
function sunLine(nowMs, lat, lon) {
|
|
183
|
+
const t = sunTimes(nowMs, lat, lon);
|
|
184
|
+
if (t.polar) {
|
|
185
|
+
return {
|
|
186
|
+
up: t.polar === "day",
|
|
187
|
+
text: t.polar === "day" ? "midnight sun" : "polar night"
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
if (nowMs < t.sunriseMs) {
|
|
191
|
+
return { up: false, text: `sunrise in ${fmtDelta(t.sunriseMs - nowMs)}` };
|
|
192
|
+
}
|
|
193
|
+
if (nowMs < t.sunsetMs) {
|
|
194
|
+
return { up: true, text: `sunset in ${fmtDelta(t.sunsetMs - nowMs)}` };
|
|
195
|
+
}
|
|
196
|
+
const tm = sunTimes(nowMs + DAY_MS, lat, lon);
|
|
197
|
+
if (tm.polar) return { up: false, text: "sunrise in \u2014" };
|
|
198
|
+
return { up: false, text: `sunrise in ${fmtDelta(tm.sunriseMs - nowMs)}` };
|
|
199
|
+
}
|
|
200
|
+
function handAngles(h, m, s) {
|
|
201
|
+
return {
|
|
202
|
+
hour: (h % 12 + m / 60) * 30,
|
|
203
|
+
minute: (m + s / 60) * 6,
|
|
204
|
+
second: s * 6
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export {
|
|
209
|
+
rampColor,
|
|
210
|
+
zoneParts,
|
|
211
|
+
isValidZone,
|
|
212
|
+
parseFixedOffset,
|
|
213
|
+
formatOffsetLabel,
|
|
214
|
+
fixedParts,
|
|
215
|
+
formatTime,
|
|
216
|
+
workStatus,
|
|
217
|
+
sunLine,
|
|
218
|
+
handAngles
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=chunk-APKUAJ2L.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
extractColor,
|
|
3
3
|
measureIndent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
5
5
|
import {
|
|
6
6
|
makeDgmoError
|
|
7
7
|
} from "./chunk-CXK4DZH3.js";
|
|
@@ -73,4 +73,4 @@ function tryCollectNote(lines, index, indent, palette, diagnostics) {
|
|
|
73
73
|
export {
|
|
74
74
|
tryCollectNote
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-ARGMQ3H4.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeLegendLayout
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YAA6IID3.js";
|
|
4
4
|
import {
|
|
5
5
|
FONT_FAMILY
|
|
6
6
|
} from "./chunk-6KFWC4CO.js";
|
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
LEGEND_TOGGLE_DOT_R,
|
|
15
15
|
LEGEND_TOGGLE_OFF_OPACITY,
|
|
16
16
|
measureLegendText
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-QOOUC2J5.js";
|
|
18
18
|
import {
|
|
19
19
|
mix,
|
|
20
20
|
valueRampStops
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
22
22
|
import {
|
|
23
23
|
tagAttrKey
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-HHKO6SKY.js";
|
|
25
25
|
|
|
26
26
|
// src/utils/legend-d3.ts
|
|
27
27
|
var LEGEND_TEXT_DY = "0.32em";
|
|
@@ -293,4 +293,4 @@ export {
|
|
|
293
293
|
renderLegendD3,
|
|
294
294
|
renderIntegratedLegend
|
|
295
295
|
};
|
|
296
|
-
//# sourceMappingURL=chunk-
|
|
296
|
+
//# sourceMappingURL=chunk-AUIM2NVH.js.map
|
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildSwatches
|
|
3
|
+
} from "./chunk-3LK5DNED.js";
|
|
1
4
|
import {
|
|
2
5
|
layoutMap,
|
|
3
6
|
mapLegendConfig,
|
|
4
7
|
mapLegendGroups,
|
|
5
8
|
parsePathRings
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZJV7GYR4.js";
|
|
7
10
|
import {
|
|
8
11
|
renderIntegratedLegend
|
|
9
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AUIM2NVH.js";
|
|
13
|
+
import {
|
|
14
|
+
parseClock
|
|
15
|
+
} from "./chunk-FY5MSZAP.js";
|
|
16
|
+
import {
|
|
17
|
+
fixedParts,
|
|
18
|
+
formatTime,
|
|
19
|
+
sunLine,
|
|
20
|
+
workStatus,
|
|
21
|
+
zoneParts
|
|
22
|
+
} from "./chunk-APKUAJ2L.js";
|
|
10
23
|
import {
|
|
11
24
|
TITLE_FONT_SIZE,
|
|
12
25
|
TITLE_FONT_WEIGHT,
|
|
@@ -17,13 +30,124 @@ import {
|
|
|
17
30
|
} from "./chunk-6KFWC4CO.js";
|
|
18
31
|
import {
|
|
19
32
|
measureText
|
|
20
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-WCT3NYCV.js";
|
|
21
34
|
import {
|
|
22
|
-
mix
|
|
23
|
-
|
|
35
|
+
mix,
|
|
36
|
+
themeBaseBg
|
|
37
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
24
38
|
|
|
25
39
|
// src/map/renderer.ts
|
|
26
40
|
import * as d3Selection from "d3-selection";
|
|
41
|
+
|
|
42
|
+
// src/map/clock-card.ts
|
|
43
|
+
var WEEKDAY_ABBR = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
44
|
+
var clamp = (v, lo, hi) => Math.max(lo, Math.min(hi, v));
|
|
45
|
+
function workFromDirectives(d) {
|
|
46
|
+
if (d.clockHours === void 0) return null;
|
|
47
|
+
const src = `clock
|
|
48
|
+
hours ${d.clockHours}` + (d.clockDays !== void 0 ? `
|
|
49
|
+
days ${d.clockDays}` : "");
|
|
50
|
+
const w = parseClock(src).work;
|
|
51
|
+
if (!w) return null;
|
|
52
|
+
return { startMin: w.startMin, endMin: w.endMin, days: w.days };
|
|
53
|
+
}
|
|
54
|
+
function partsFor(poi, now) {
|
|
55
|
+
return poi.tzFixedOffsetMin !== void 0 ? fixedParts(poi.tzFixedOffsetMin, now) : zoneParts(poi.tz, now);
|
|
56
|
+
}
|
|
57
|
+
function renderClockCards(gCards, layout, resolved, palette, isDark, now, frameW, frameH) {
|
|
58
|
+
const withTz = resolved.pois.filter((p) => p.tz !== void 0);
|
|
59
|
+
if (withTz.length === 0) return;
|
|
60
|
+
const byId = new Map(withTz.map((p) => [p.id, p]));
|
|
61
|
+
const baseBg = themeBaseBg(palette, isDark);
|
|
62
|
+
const muted = mix(palette.text, baseBg, 55);
|
|
63
|
+
const sw = buildSwatches(palette, muted);
|
|
64
|
+
const cardFill = mix(palette.text, palette.bg, 6);
|
|
65
|
+
const border = mix(palette.text, palette.bg, 32);
|
|
66
|
+
const work = workFromDirectives(resolved.directives);
|
|
67
|
+
const hours12 = true;
|
|
68
|
+
for (const lp of layout) {
|
|
69
|
+
const poi = byId.get(lp.id);
|
|
70
|
+
if (!poi) continue;
|
|
71
|
+
const parts = partsFor(poi, now);
|
|
72
|
+
const hasCoords = Number.isFinite(poi.lat) && Number.isFinite(poi.lon);
|
|
73
|
+
const isFixed = poi.tzFixedOffsetMin !== void 0;
|
|
74
|
+
const sun = !isFixed && hasCoords ? sunLine(now, poi.lat, poi.lon) : null;
|
|
75
|
+
const ts = formatTime(parts.h, parts.m, parts.s, hours12);
|
|
76
|
+
const status = workStatus(parts, work);
|
|
77
|
+
const viewerWeekday = WEEKDAY_ABBR[new Date(now).getDay()];
|
|
78
|
+
const showWeekday = parts.weekday !== viewerWeekday;
|
|
79
|
+
const line2 = [showWeekday ? parts.weekday : null, status?.text].filter(Boolean).join(" \xB7 ");
|
|
80
|
+
const mainFont = 18;
|
|
81
|
+
const sf = 8;
|
|
82
|
+
const advance = (s, f) => [...s].reduce((w, c) => w + f * (c === ":" ? 0.334 : 0.6), 0);
|
|
83
|
+
const mainW = advance(ts.main, mainFont);
|
|
84
|
+
const secW = advance(`:${ts.sec}`, sf);
|
|
85
|
+
const stackW = Math.max(secW, ts.ap ? measureText(ts.ap, sf) : 0);
|
|
86
|
+
const stackGap = 6;
|
|
87
|
+
const padX = 9;
|
|
88
|
+
const iconR = 3.5;
|
|
89
|
+
const iconGap = 5;
|
|
90
|
+
const line2Icon = status ? iconR * 2 + iconGap : 0;
|
|
91
|
+
const line1W = mainW + stackGap + stackW;
|
|
92
|
+
const line2W = line2Icon + measureText(line2, 10.5);
|
|
93
|
+
const cardW = Math.max(line1W, line2W) + padX * 2;
|
|
94
|
+
const cardH = 44;
|
|
95
|
+
const leaderGap = 7;
|
|
96
|
+
const M = 6;
|
|
97
|
+
const cx = lp.cx;
|
|
98
|
+
const below = lp.cy - lp.r - leaderGap - cardH < M;
|
|
99
|
+
const cardTop = clamp(
|
|
100
|
+
below ? lp.cy + lp.r + leaderGap : lp.cy - lp.r - leaderGap - cardH,
|
|
101
|
+
M,
|
|
102
|
+
frameH - cardH - M
|
|
103
|
+
);
|
|
104
|
+
const cardLeft = clamp(cx - cardW / 2, M, frameW - cardW - M);
|
|
105
|
+
const g = gCards.append("g").attr("data-dgmo-clock", "").attr("data-dgmo-clock-zone", poi.tz).attr("data-dgmo-clock-hours12", hours12 ? "1" : "0").attr("data-dgmo-clock-sun", sun ? "1" : "0").attr("data-line-number", poi.lineNumber).attr("data-poi-clock", poi.id).attr("data-dgmo-clock-c-day", sw.day).attr("data-dgmo-clock-c-night", sw.night).attr("data-dgmo-clock-c-day-soft", sw.dayTint).attr("data-dgmo-clock-c-night-soft", sw.nightTint).attr("data-dgmo-clock-c-ok", sw.ok).attr("data-dgmo-clock-c-soon", sw.soon).attr("data-dgmo-clock-c-off", sw.off).attr("data-dgmo-clock-c-ok-soft", sw.okSoft).attr("data-dgmo-clock-c-soon-soft", sw.soonSoft).attr("data-dgmo-clock-c-off-soft", sw.offSoft);
|
|
106
|
+
if (hasCoords) {
|
|
107
|
+
g.attr("data-dgmo-clock-lat", poi.lat).attr(
|
|
108
|
+
"data-dgmo-clock-lon",
|
|
109
|
+
poi.lon
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
if (isFixed) g.attr("data-dgmo-clock-fixed-offset", poi.tzFixedOffsetMin);
|
|
113
|
+
if (work) {
|
|
114
|
+
g.attr("data-dgmo-clock-work-start", work.startMin).attr("data-dgmo-clock-work-end", work.endMin).attr(
|
|
115
|
+
"data-dgmo-clock-work-days",
|
|
116
|
+
WEEKDAY_ABBR.filter((d) => work.days[d]).join(",")
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
const leaderX = clamp(cx, cardLeft + 10, cardLeft + cardW - 10);
|
|
120
|
+
g.append("line").attr("x1", cx).attr("y1", below ? lp.cy + lp.r : lp.cy - lp.r).attr("x2", leaderX).attr("y2", below ? cardTop : cardTop + cardH).attr("stroke", border).attr("stroke-width", 1);
|
|
121
|
+
g.append("rect").attr("x", cardLeft).attr("y", cardTop).attr("width", cardW).attr("height", cardH).attr("rx", 6).attr("fill", cardFill).attr("stroke", border).attr("stroke-width", 1);
|
|
122
|
+
const statusColor = (cls) => cls === "ok" ? sw.ok : cls === "soon" ? sw.soon : sw.off;
|
|
123
|
+
const line1Y = cardTop + 20;
|
|
124
|
+
const timeX = cardLeft + padX;
|
|
125
|
+
g.append("text").attr("data-dgmo-clock-digital-part", "main").attr("x", timeX).attr("y", line1Y).attr("font-family", FONT_FAMILY).attr("fill", palette.text).attr("font-size", mainFont).attr("font-weight", 600).attr("textLength", mainW).attr("lengthAdjust", "spacing").style("font-variant-numeric", "tabular-nums").text(ts.main);
|
|
126
|
+
const stackX = timeX + mainW + stackGap;
|
|
127
|
+
const capTop = line1Y - mainFont * 0.7;
|
|
128
|
+
g.append("text").attr("data-dgmo-clock-digital-part", "sec").attr("x", stackX).attr("y", capTop + sf * 0.72).attr("font-family", FONT_FAMILY).attr("fill", muted).attr("font-size", sf).attr("textLength", secW).attr("lengthAdjust", "spacing").style("font-variant-numeric", "tabular-nums").text(`:${ts.sec}`);
|
|
129
|
+
g.append("text").attr("data-dgmo-clock-digital-part", "ap").attr("x", stackX).attr("y", line1Y).attr("font-family", FONT_FAMILY).attr("fill", muted).attr("font-size", sf).text(ts.ap);
|
|
130
|
+
const line2Y = cardTop + 36;
|
|
131
|
+
if (status) {
|
|
132
|
+
g.append("circle").attr("data-dgmo-clock-status-icon", "").attr("cx", cardLeft + padX + iconR).attr("cy", line2Y - 3.5).attr("r", iconR).attr("fill", statusColor(status.cls));
|
|
133
|
+
}
|
|
134
|
+
const l2 = g.append("text").attr("x", cardLeft + padX + line2Icon).attr("y", line2Y).attr("font-family", FONT_FAMILY).attr("font-size", 10.5).attr("fill", muted);
|
|
135
|
+
let needSep = false;
|
|
136
|
+
if (showWeekday) {
|
|
137
|
+
l2.append("tspan").text(parts.weekday);
|
|
138
|
+
needSep = true;
|
|
139
|
+
}
|
|
140
|
+
if (status) {
|
|
141
|
+
if (needSep) l2.append("tspan").text(" \xB7 ");
|
|
142
|
+
l2.append("tspan").attr("data-dgmo-clock-status", "").attr(
|
|
143
|
+
"fill",
|
|
144
|
+
status.cls === "ok" ? sw.ok : status.cls === "soon" ? sw.soon : sw.off
|
|
145
|
+
).text(status.text);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// src/map/renderer.ts
|
|
27
151
|
var LABEL_FONT = 11;
|
|
28
152
|
function pointInRing(px, py, ring) {
|
|
29
153
|
let inside = false;
|
|
@@ -586,6 +710,19 @@ function renderMap(container, resolved, data, palette, isDark, onClickItem, expo
|
|
|
586
710
|
);
|
|
587
711
|
}
|
|
588
712
|
}
|
|
713
|
+
if (resolved.pois.some((p) => p.tz !== void 0)) {
|
|
714
|
+
const gCards = svg.append("g").attr("class", "dgmo-map-clock-cards");
|
|
715
|
+
renderClockCards(
|
|
716
|
+
gCards,
|
|
717
|
+
layout.pois,
|
|
718
|
+
resolved,
|
|
719
|
+
palette,
|
|
720
|
+
isDark,
|
|
721
|
+
Date.now(),
|
|
722
|
+
width,
|
|
723
|
+
height
|
|
724
|
+
);
|
|
725
|
+
}
|
|
589
726
|
if (layout.legend) {
|
|
590
727
|
const legendY = (layout.title ? TITLE_Y + TITLE_FONT_SIZE : 0) + (layout.subtitle ? TITLE_FONT_SIZE : 0) + 8;
|
|
591
728
|
const legendG = svg.append("g").attr("class", "dgmo-map-legend").attr("transform", `translate(0, ${legendY})`);
|
|
@@ -644,4 +781,4 @@ export {
|
|
|
644
781
|
renderMap,
|
|
645
782
|
renderMapForExport
|
|
646
783
|
};
|
|
647
|
-
//# sourceMappingURL=chunk-
|
|
784
|
+
//# sourceMappingURL=chunk-BKVOYV6I.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderIntegratedLegend
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AUIM2NVH.js";
|
|
4
4
|
import {
|
|
5
5
|
getMaxLegendReservedHeight
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YAA6IID3.js";
|
|
7
7
|
import {
|
|
8
8
|
TITLE_FONT_SIZE,
|
|
9
9
|
TITLE_FONT_WEIGHT,
|
|
@@ -14,20 +14,21 @@ import {
|
|
|
14
14
|
} from "./chunk-6KFWC4CO.js";
|
|
15
15
|
import {
|
|
16
16
|
LEGEND_GROUP_GAP
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-QOOUC2J5.js";
|
|
18
18
|
import {
|
|
19
19
|
measureText
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-WCT3NYCV.js";
|
|
21
21
|
import {
|
|
22
22
|
isBlockNode
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-NR5HCAUD.js";
|
|
24
24
|
import {
|
|
25
|
-
mix
|
|
26
|
-
|
|
25
|
+
mix,
|
|
26
|
+
themeBaseBg
|
|
27
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
27
28
|
import {
|
|
28
29
|
resolveTagColor,
|
|
29
30
|
tagAttrKey
|
|
30
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-HHKO6SKY.js";
|
|
31
32
|
|
|
32
33
|
// src/block/renderer.ts
|
|
33
34
|
import * as d3Selection from "d3-selection";
|
|
@@ -223,7 +224,8 @@ function renderBlock(container, parsed, palette, isDark, exportDims, options = {
|
|
|
223
224
|
activeGroup,
|
|
224
225
|
activeKey: activeGroup ? tagAttrKey(activeGroup) : null,
|
|
225
226
|
neutral,
|
|
226
|
-
|
|
227
|
+
fillMode: opts.fillMode,
|
|
228
|
+
isDark,
|
|
227
229
|
onToggle: options.onToggle
|
|
228
230
|
});
|
|
229
231
|
if (legend) {
|
|
@@ -262,7 +264,7 @@ function clipLabel(s, maxWidth, fs) {
|
|
|
262
264
|
}
|
|
263
265
|
var clipCounter = 0;
|
|
264
266
|
function drawItems(g, items, ctx, path = []) {
|
|
265
|
-
const { palette,
|
|
267
|
+
const { palette, fillMode } = ctx;
|
|
266
268
|
for (const it of items) {
|
|
267
269
|
if (it.type === "empty") {
|
|
268
270
|
g.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 7).attr("fill", "none").attr("stroke", ctx.neutral).attr("stroke-width", 1).attr("stroke-dasharray", "3 4").attr("opacity", 0.7);
|
|
@@ -280,17 +282,17 @@ function drawItems(g, items, ctx, path = []) {
|
|
|
280
282
|
if (v) cell.attr(`data-tag-${ctx.activeKey}`, v);
|
|
281
283
|
}
|
|
282
284
|
if (it.type === "collapsed") {
|
|
283
|
-
const fill2 = color ? solid ? color : mix(color, palette.bg, 12) : palette.surface;
|
|
285
|
+
const fill2 = color ? fillMode === "solid" ? color : fillMode === "outline" ? themeBaseBg(palette, ctx.isDark) : mix(color, palette.bg, 12) : palette.surface;
|
|
284
286
|
const cid = `dgmo-block-clip-${clipCounter++}`;
|
|
285
287
|
cell.append("clipPath").attr("id", cid).append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 10);
|
|
286
288
|
cell.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 10).attr("fill", fill2).attr("stroke", stroke).attr("stroke-width", 1.5);
|
|
287
289
|
cell.append("text").attr("x", it.x + it.w / 2).attr("y", it.y + it.h / 2 + 4).attr("text-anchor", "middle").attr("font-size", 12.5).attr("font-weight", 700).attr("fill", palette.text).text(clipLabel(it.label ?? "", it.w - 24, 12.5));
|
|
288
|
-
cell.append("rect").attr("x", it.x).attr("y", it.y + it.h - BLOCK_BAR_H).attr("width", it.w).attr("height", BLOCK_BAR_H).attr("fill", solid && color ? palette.text : stroke).attr("clip-path", `url(#${cid})`);
|
|
290
|
+
cell.append("rect").attr("x", it.x).attr("y", it.y + it.h - BLOCK_BAR_H).attr("width", it.w).attr("height", BLOCK_BAR_H).attr("fill", fillMode === "solid" && color ? palette.text : stroke).attr("clip-path", `url(#${cid})`);
|
|
289
291
|
bindToggle(cell, it, ctx, it.h);
|
|
290
292
|
continue;
|
|
291
293
|
}
|
|
292
294
|
if (it.type === "container") {
|
|
293
|
-
const fill2 = color ? solid ? color : mix(color, palette.bg, 7) : palette.surface;
|
|
295
|
+
const fill2 = color ? fillMode === "solid" ? color : fillMode === "outline" ? themeBaseBg(palette, ctx.isDark) : mix(color, palette.bg, 7) : palette.surface;
|
|
294
296
|
cell.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 10).attr("fill", fill2).attr("stroke", stroke).attr("stroke-width", 1.5);
|
|
295
297
|
const sizeMetric = Math.min(it.w, it.h * 2.5);
|
|
296
298
|
const headerFs = Math.max(
|
|
@@ -305,7 +307,7 @@ function drawItems(g, items, ctx, path = []) {
|
|
|
305
307
|
if (it.inner) drawItems(g, it.inner, ctx, itemPath);
|
|
306
308
|
continue;
|
|
307
309
|
}
|
|
308
|
-
const fill = color ? solid ? mix(color, palette.bg, 80) : mix(color, palette.bg, 14) : palette.bg;
|
|
310
|
+
const fill = color ? fillMode === "solid" ? mix(color, palette.bg, 80) : fillMode === "outline" ? themeBaseBg(palette, ctx.isDark) : mix(color, palette.bg, 14) : palette.bg;
|
|
309
311
|
cell.attr("data-leaf", "true");
|
|
310
312
|
cell.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 8).attr("fill", fill).attr("stroke", stroke).attr("stroke-width", 1.25);
|
|
311
313
|
cell.append("text").attr("x", it.x + it.w / 2).attr("y", it.y + it.h / 2 + 5).attr("text-anchor", "middle").attr("font-size", 13).attr("font-weight", 600).attr("fill", palette.text).text(clipLabel(it.label ?? "", it.w - 16, 13));
|
|
@@ -359,4 +361,4 @@ export {
|
|
|
359
361
|
renderBlock,
|
|
360
362
|
authoredCollapsedIds
|
|
361
363
|
};
|
|
362
|
-
//# sourceMappingURL=chunk-
|
|
364
|
+
//# sourceMappingURL=chunk-BPIZNB5O.js.map
|