@diagrammo/dgmo 0.49.0 → 0.50.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 +6 -2
- package/.github/copilot-instructions.md +6 -2
- package/.windsurfrules +6 -2
- package/SKILL.md +6 -2
- package/dist/advanced.d.ts +419 -12
- package/dist/advanced.js +557 -195
- package/dist/auto.js +129 -119
- package/dist/auto.mjs +11543 -4815
- package/dist/block.js +145 -48
- package/dist/{charts-d3-EW3YQTEA.js → charts-d3-DKUD7MQE.js} +5 -5
- package/dist/{chunk-5FGDJIJX.js → chunk-2C56LEML.js} +3 -3
- package/dist/{chunk-35BBZDFE.js → chunk-2JJ2KNPI.js} +4 -4
- package/dist/{chunk-ZTLWVRNS.js → chunk-2QYTMIRR.js} +2 -2
- package/dist/{chunk-VC3TR4NL.js → chunk-3G6TMNVF.js} +3 -3
- package/dist/{chunk-ZDUQGL3N.js → chunk-3LKM6FMW.js} +2 -2
- package/dist/{chunk-4BD7EVPK.js → chunk-3P2DKJCG.js} +2 -2
- package/dist/{chunk-6CLKNXVP.js → chunk-3TDRHT4J.js} +457 -78
- package/dist/chunk-3XPUDB7B.js +420 -0
- package/dist/{chunk-DDTJ5N7Q.js → chunk-3ZPC476N.js} +6 -6
- package/dist/{chunk-BPIJLRYE.js → chunk-4BMJQFNK.js} +3 -3
- package/dist/{chunk-N4J5KGWG.js → chunk-4S723I74.js} +8 -8
- package/dist/{chunk-4YNP6O47.js → chunk-5JSWBPZZ.js} +3 -3
- package/dist/{chunk-KUBBJ2CD.js → chunk-5Z736BSU.js} +6 -6
- package/dist/{chunk-MJCG5K2O.js → chunk-6BFZKBGD.js} +2 -2
- package/dist/{chunk-XCC2RENT.js → chunk-6IAA2QQ2.js} +2 -2
- package/dist/{chunk-FUCAB3KQ.js → chunk-6M5PJFQG.js} +3 -3
- package/dist/{chunk-T7IKPCMI.js → chunk-6X4AKWLF.js} +3 -3
- package/dist/{chunk-JFPY3UJ7.js → chunk-6ZT4U37Q.js} +8 -8
- package/dist/{chunk-CLR4A2N2.js → chunk-7G2ER4CY.js} +4 -4
- package/dist/chunk-7PQYTZMA.js +681 -0
- package/dist/{chunk-LG4TWW4U.js → chunk-7RB5Q6MB.js} +8 -8
- package/dist/{chunk-7OVSJI2V.js → chunk-A3WQVFBS.js} +3 -3
- package/dist/{chunk-X2CH42BN.js → chunk-ASS5YYIZ.js} +7 -7
- package/dist/{chunk-3NFJWFNP.js → chunk-BDXC7MDK.js} +1045 -124
- package/dist/chunk-BTUTZMPT.js +482 -0
- package/dist/{chunk-UVCXZEGU.js → chunk-CVV36CWI.js} +2 -2
- package/dist/{chunk-TC3YWBFO.js → chunk-DMJJ3CEQ.js} +29 -8
- package/dist/{chunk-NVT6C2VE.js → chunk-EJTKV7CY.js} +4 -4
- package/dist/{chunk-4NQ3IKUM.js → chunk-ER5SCQWQ.js} +5 -5
- package/dist/{chunk-7VLUGEMJ.js → chunk-F5UDBSJY.js} +4 -4
- package/dist/{chunk-IHLSHCPZ.js → chunk-FAL7NOK3.js} +5 -5
- package/dist/{chunk-YRVLP7UU.js → chunk-FB2WHOEQ.js} +4 -4
- package/dist/chunk-FL4IOQ37.js +379 -0
- package/dist/{chunk-6VE3VLWM.js → chunk-GBE54KY6.js} +6 -5
- package/dist/{chunk-ZXL6MB4R.js → chunk-GL5UZ6NY.js} +3 -3
- package/dist/{chunk-3BIAFYD2.js → chunk-GPWHQ5FJ.js} +2 -2
- package/dist/chunk-GROQGHCT.js +960 -0
- package/dist/{chunk-GB3YZTAM.js → chunk-H73FP42Q.js} +5 -5
- package/dist/{chunk-O5MQPK7E.js → chunk-I4IFRCUB.js} +3 -3
- package/dist/{chunk-IUK7AGD4.js → chunk-I7F2A35O.js} +2 -2
- package/dist/{chunk-YTN572Q2.js → chunk-IA3FJYWR.js} +2 -2
- package/dist/{chunk-RI4NIMFP.js → chunk-JFYIP7XU.js} +75 -35
- package/dist/{chunk-UWDO3O52.js → chunk-JZNMXEIV.js} +2 -2
- package/dist/chunk-KJXIHOVL.js +940 -0
- package/dist/{chunk-26RVGM44.js → chunk-L2ZTFHAY.js} +2 -2
- package/dist/{chunk-PU3AUQPA.js → chunk-M5RXSRO2.js} +2 -2
- package/dist/{chunk-XKTN7CZF.js → chunk-NFFIKVNO.js} +4 -4
- package/dist/{chunk-SVDWQGX2.js → chunk-NISQC5KW.js} +139 -78
- package/dist/{chunk-4HVNZ7WF.js → chunk-O4VUFXIH.js} +3 -3
- package/dist/{chunk-F743CM2N.js → chunk-O76UD6VJ.js} +3 -3
- package/dist/{chunk-TLKMTQYL.js → chunk-OHQEMBLI.js} +3 -3
- package/dist/{chunk-BGJV5ATD.js → chunk-ONA5KPV3.js} +2 -2
- package/dist/{chunk-ZNQX6QWH.js → chunk-OTAL43EH.js} +6 -2
- package/dist/{chunk-FMKTYMP4.js → chunk-OTP5KVLO.js} +3 -3
- package/dist/{chunk-5ZZLLBFK.js → chunk-PGEGPSCZ.js} +2 -2
- package/dist/{chunk-XJ7J6WOO.js → chunk-PJUGRJHJ.js} +4 -4
- package/dist/{chunk-6SA7FJE4.js → chunk-PLZI6KPM.js} +10 -10
- package/dist/{chunk-AJ2PEY7J.js → chunk-PMN3Q7RJ.js} +2 -2
- package/dist/chunk-Q4V4XQWV.js +158 -0
- package/dist/{chunk-5XCM7UUW.js → chunk-QDFNCATJ.js} +99 -35
- package/dist/{chunk-CEHZOPGM.js → chunk-QFQ35BTO.js} +2 -2
- package/dist/{chunk-4UDKKGHH.js → chunk-QUJGFNFN.js} +2 -2
- package/dist/{chunk-IBC35BTK.js → chunk-R56LASIN.js} +2 -2
- package/dist/{chunk-SJEGO2QL.js → chunk-RV26LTUU.js} +4 -4
- package/dist/chunk-RV6A2B5S.js +354 -0
- package/dist/{chunk-65RTDUZH.js → chunk-S5GRONXL.js} +3 -3
- package/dist/{chunk-K6HNAY5V.js → chunk-SCHXJTZL.js} +2 -2
- package/dist/{chunk-ALRHIR6I.js → chunk-SGFZZAUO.js} +4 -4
- package/dist/{chunk-KV6Y2HE6.js → chunk-SU2VBK4L.js} +4 -4
- package/dist/{chunk-D5AVQCDN.js → chunk-T4BRO3Z6.js} +3 -3
- package/dist/{chunk-IFK3GIUW.js → chunk-TSA237IM.js} +2 -2
- package/dist/{chunk-SQDFK5ZQ.js → chunk-TWCLK2GA.js} +3 -3
- package/dist/{chunk-DKEPS5LH.js → chunk-U2HGPLZS.js} +36 -2
- package/dist/{chunk-EYN7VFKL.js → chunk-URSQLCTR.js} +3 -3
- package/dist/{chunk-BCT5G2VN.js → chunk-UUS2GIJZ.js} +5 -5
- package/dist/{chunk-LVHPTBO3.js → chunk-UXOSVCLJ.js} +4 -4
- package/dist/{chunk-HBVD67XG.js → chunk-WCUHAQKB.js} +2 -2
- package/dist/{chunk-YYX3SU6H.js → chunk-WWN566I7.js} +257 -101
- package/dist/{chunk-YM2BSPYW.js → chunk-X2NMFTG3.js} +2 -2
- package/dist/{chunk-ZREZOIGS.js → chunk-XCLHOZAM.js} +6 -6
- package/dist/{chunk-KQAEKMIX.js → chunk-XDXNDSKO.js} +2 -2
- package/dist/{chunk-RTERS6S5.js → chunk-XMVQ5F4M.js} +4 -4
- package/dist/{chunk-4FIV4K4Z.js → chunk-YA7D2N2O.js} +7 -7
- package/dist/{chunk-B57V3DWN.js → chunk-YB3FW24O.js} +3 -3
- package/dist/chunk-YNRDWYZP.js +295 -0
- package/dist/{chunk-2WMBWZY2.js → chunk-YZLMKW4T.js} +3 -3
- package/dist/{chunk-SGHSY3LU.js → chunk-Z6XJQ6KO.js} +81 -6
- package/dist/cli.cjs +153 -144
- package/dist/clock.d.ts +10 -0
- package/dist/clock.js +235 -0
- package/dist/countdown.d.ts +12 -0
- package/dist/countdown.js +450 -0
- package/dist/dgmo-router-QOMFCOOV.js +84 -0
- package/dist/{dimensions-WSIJXT5Q.js → dimensions-P5FSX2QN.js} +5 -5
- package/dist/editor.js +39 -1
- package/dist/element.js +131 -121
- package/dist/element.mjs +11543 -4815
- package/dist/{flowchart-parser-IVZN7CQN.js → flowchart-parser-OE4WHLTF.js} +4 -4
- package/dist/{flowchart-renderer-GMI2U3DD.js → flowchart-renderer-GPCSMTOR.js} +6 -6
- package/dist/highlight.d.ts +17 -1
- package/dist/highlight.js +156 -5
- package/dist/index.js +50 -45
- package/dist/{layout-HQMBPJVS.js → layout-46366KBT.js} +2 -2
- package/dist/{layout-D42XE4RE.js → layout-5BG6DFCU.js} +3 -3
- package/dist/{layout-K2ZN3Q42.js → layout-T3OZU5QW.js} +4 -4
- package/dist/{layout-S3EK4IYO.js → layout-TJIWF7EM.js} +4 -4
- package/dist/{layout-GZ2CWONU.js → layout-VYELEAW7.js} +4 -4
- package/dist/{layout-4Z5JM7PT.js → layout-WZHNDT2O.js} +4 -4
- package/dist/{parser-OBQG655V.js → parser-45DENHFZ.js} +4 -4
- package/dist/{parser-MCJWF5G3.js → parser-4AI5ZN5F.js} +3 -3
- package/dist/{parser-SMBJO3XN.js → parser-4P36TUVD.js} +4 -4
- package/dist/{parser-ZYC3XGNS.js → parser-5AURY4A6.js} +4 -4
- package/dist/{parser-WISPH7LW.js → parser-A2BEFMGK.js} +4 -4
- package/dist/parser-B5FVS7O6.js +11 -0
- package/dist/{parser-KPMN5KKE.js → parser-C2HF2C2E.js} +4 -4
- package/dist/parser-CSFUN3CT.js +14 -0
- package/dist/{parser-TITK4YW6.js → parser-D3QT6GWN.js} +5 -5
- package/dist/{parser-ZKF5K2H2.js → parser-D5637H5H.js} +4 -4
- package/dist/{parser-IKZFTLOJ.js → parser-DFFEDKHH.js} +3 -3
- package/dist/parser-DOKMZXVZ.js +13 -0
- package/dist/parser-FMPCVFRK.js +15 -0
- package/dist/{parser-UBGPTIZD.js → parser-HYRTF3DO.js} +3 -3
- package/dist/{parser-TNYX5S7E.js → parser-I2UIJKVQ.js} +4 -4
- package/dist/{parser-K647FRI4.js → parser-IBWNAPY4.js} +3 -3
- package/dist/{parser-JD7OQ2E6.js → parser-KUQWRPIT.js} +4 -4
- package/dist/{parser-HVJFTOXL.js → parser-LWKKBNSA.js} +3 -3
- package/dist/{parser-4ROBKVUR.js → parser-O4QFCUW7.js} +5 -5
- package/dist/{parser-BL7Z72EY.js → parser-PGMQDD4G.js} +4 -4
- package/dist/{parser-QJYS7KQQ.js → parser-Q4QKCIWQ.js} +4 -4
- package/dist/{parser-UGA23PYK.js → parser-QTOB4KFL.js} +4 -4
- package/dist/{parser-DERPY5KC.js → parser-QYYM4QVW.js} +4 -4
- package/dist/{parser-GFSOPDB7.js → parser-RZMQP7MM.js} +4 -4
- package/dist/parser-RZPVAQVX.js +11 -0
- package/dist/parser-SOUJOEYI.js +13 -0
- package/dist/{parser-MBJSBTL5.js → parser-UQE5OWZI.js} +5 -5
- package/dist/{parser-MRBPXXIV.js → parser-WAV5JRPT.js} +4 -4
- package/dist/{parser-4BKIFG2C.js → parser-YLKYBRIT.js} +5 -5
- package/dist/{parser-D6ONJQFR.js → parser-YS7TOS2K.js} +3 -3
- package/dist/{parser-CLMFZWCC.js → parser-ZSOWUBML.js} +5 -5
- package/dist/{parser-XWUDFJ7P.js → parser-ZTBATMLX.js} +4 -4
- package/dist/{renderer-LWGJFT3D.js → renderer-35HSIDMZ.js} +5 -5
- package/dist/{renderer-BB5PREMY.js → renderer-4ITCHBT7.js} +4 -4
- package/dist/{renderer-YHXPN3GF.js → renderer-67NPCBIS.js} +7 -7
- package/dist/{renderer-TPIBXNOS.js → renderer-6GHYK7DX.js} +6 -6
- package/dist/{renderer-VICQ4WNY.js → renderer-6RNGHC5Z.js} +5 -5
- package/dist/renderer-72LGR2YF.js +14 -0
- package/dist/{renderer-W5RMOURB.js → renderer-7SWMIFMM.js} +6 -6
- package/dist/{renderer-6L3NBEY5.js → renderer-BBCEFILK.js} +6 -6
- package/dist/{renderer-VFUVRNLK.js → renderer-BSW7SRIZ.js} +4 -4
- package/dist/{renderer-CGW7QPNA.js → renderer-BY533UWU.js} +7 -7
- package/dist/{renderer-V3JEMWMM.js → renderer-BZSBPTZJ.js} +6 -6
- package/dist/{renderer-DKESNMU5.js → renderer-CXUC4KAD.js} +6 -6
- package/dist/{renderer-XEKIRPI6.js → renderer-FZUKFUNZ.js} +5 -5
- package/dist/renderer-G2NLGNKF.js +17 -0
- package/dist/{renderer-THD6V5TL.js → renderer-GO3FE3RA.js} +9 -7
- package/dist/{renderer-ROV756WT.js → renderer-HPGR6USK.js} +5 -5
- package/dist/renderer-ICJN2SA2.js +24 -0
- package/dist/{renderer-4IUPINAE.js → renderer-INEXO7B6.js} +7 -7
- package/dist/{renderer-SQ3JUAI7.js → renderer-KDYCFRBX.js} +6 -6
- package/dist/renderer-KY4KQBTF.js +19 -0
- package/dist/{renderer-MJDDU27W.js → renderer-LBN65V45.js} +10 -10
- package/dist/{renderer-UZF3JROD.js → renderer-MGBWOCXG.js} +8 -8
- package/dist/{renderer-MFJ7HY2H.js → renderer-O4JKUGKO.js} +5 -5
- package/dist/{renderer-QL5KO6SK.js → renderer-OOGFODWP.js} +7 -7
- package/dist/{renderer-A5VFZQQK.js → renderer-Q6ZKPLS6.js} +6 -6
- package/dist/{renderer-TYXRHMRI.js → renderer-SZQ326M5.js} +9 -9
- package/dist/{renderer-6T3KK4S3.js → renderer-TKG6LS4U.js} +7 -7
- package/dist/{renderer-QNHUXCRL.js → renderer-TQMZGDAX.js} +9 -9
- package/dist/{renderer-radial-MHO2VDXN.js → renderer-radial-JELMHQ24.js} +6 -6
- package/dist/{state-parser-RX3GXOIB.js → state-parser-3REXRK3R.js} +4 -4
- package/dist/{state-renderer-AJUKGNWU.js → state-renderer-XYLNRWXR.js} +6 -6
- package/docs/ai-integration.md +6 -2
- package/docs/language-reference.md +253 -22
- package/gallery/fixtures/body.dgmo +17 -0
- package/gallery/fixtures/bracket.dgmo +30 -0
- package/gallery/fixtures/clock.dgmo +8 -0
- package/gallery/fixtures/countdown.dgmo +3 -0
- package/gallery/fixtures/goal.dgmo +4 -0
- package/package.json +12 -4
- package/dist/dgmo-router-ODKPEJ3P.js +0 -79
- package/dist/parser-667RGSUW.js +0 -13
- package/dist/parser-J3P2D6IP.js +0 -13
|
@@ -217,10 +217,14 @@ var ALL_CHART_TYPES = /* @__PURE__ */ new Set([
|
|
|
217
217
|
"ring",
|
|
218
218
|
"treemap",
|
|
219
219
|
"block",
|
|
220
|
+
"goal",
|
|
221
|
+
"countdown",
|
|
222
|
+
"clock",
|
|
220
223
|
"sketch",
|
|
221
224
|
"raci",
|
|
222
225
|
"map",
|
|
223
|
-
"family"
|
|
226
|
+
"family",
|
|
227
|
+
"bracket"
|
|
224
228
|
]);
|
|
225
229
|
function measureIndent(line) {
|
|
226
230
|
let indent = 0;
|
|
@@ -671,4 +675,4 @@ export {
|
|
|
671
675
|
splitNameAndMeta,
|
|
672
676
|
warnUnknownMetaKeys
|
|
673
677
|
};
|
|
674
|
-
//# sourceMappingURL=chunk-
|
|
678
|
+
//# sourceMappingURL=chunk-OTAL43EH.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
tagAttrKey,
|
|
8
8
|
validateTagGroupNames,
|
|
9
9
|
validateTagValues
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WCUHAQKB.js";
|
|
11
11
|
import {
|
|
12
12
|
TREEMAP_REGISTRY,
|
|
13
13
|
extractColor,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
stripQuotes,
|
|
19
19
|
warnUnknownMetaKeys,
|
|
20
20
|
withTagAliases
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-OTAL43EH.js";
|
|
22
22
|
import {
|
|
23
23
|
emit,
|
|
24
24
|
formatDgmoError,
|
|
@@ -377,4 +377,4 @@ export {
|
|
|
377
377
|
TREEMAP_DIAGNOSTICS,
|
|
378
378
|
parseTreemap
|
|
379
379
|
};
|
|
380
|
-
//# sourceMappingURL=chunk-
|
|
380
|
+
//# sourceMappingURL=chunk-OTP5KVLO.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
splitNameAndMeta,
|
|
11
11
|
tryParseSharedOption,
|
|
12
12
|
warnUnknownMetaKeys
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-OTAL43EH.js";
|
|
14
14
|
import {
|
|
15
15
|
resolveColorWithDiagnostic
|
|
16
16
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -952,4 +952,4 @@ export {
|
|
|
952
952
|
parseRaci,
|
|
953
953
|
allTasks
|
|
954
954
|
};
|
|
955
|
-
//# sourceMappingURL=chunk-
|
|
955
|
+
//# sourceMappingURL=chunk-PGEGPSCZ.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-YYVTBZZC.js";
|
|
22
22
|
import {
|
|
23
23
|
renderIntegratedLegend
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-QUJGFNFN.js";
|
|
25
25
|
import {
|
|
26
26
|
FONT_FAMILY
|
|
27
27
|
} from "./chunk-6KFWC4CO.js";
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
} from "./chunk-5LWQH6QV.js";
|
|
33
33
|
import {
|
|
34
34
|
parseJourneyMap
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-YZLMKW4T.js";
|
|
36
36
|
import {
|
|
37
37
|
contrastText,
|
|
38
38
|
mix,
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
import {
|
|
42
42
|
resolveActiveTagGroup,
|
|
43
43
|
tagAttrKey
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-WCUHAQKB.js";
|
|
45
45
|
|
|
46
46
|
// src/journey-map/renderer.ts
|
|
47
47
|
import * as d3 from "d3-selection";
|
|
@@ -848,4 +848,4 @@ export {
|
|
|
848
848
|
renderJourneyMap,
|
|
849
849
|
renderJourneyMapForExport
|
|
850
850
|
};
|
|
851
|
-
//# sourceMappingURL=chunk-
|
|
851
|
+
//# sourceMappingURL=chunk-PJUGRJHJ.js.map
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
renderNodeCard
|
|
3
|
-
} from "./chunk-AHGF2YYA.js";
|
|
4
1
|
import {
|
|
5
2
|
renderInlineText
|
|
6
3
|
} from "./chunk-3HDBAXF5.js";
|
|
4
|
+
import {
|
|
5
|
+
wrapDescriptionLines
|
|
6
|
+
} from "./chunk-BMR4CIEO.js";
|
|
7
|
+
import {
|
|
8
|
+
renderNodeCard
|
|
9
|
+
} from "./chunk-AHGF2YYA.js";
|
|
7
10
|
import {
|
|
8
11
|
CARD_RADIUS,
|
|
9
12
|
HEADER_HEIGHT,
|
|
@@ -11,15 +14,12 @@ import {
|
|
|
11
14
|
NODE_STROKE_WIDTH,
|
|
12
15
|
SEPARATOR_GAP
|
|
13
16
|
} from "./chunk-3CIOJ5YJ.js";
|
|
14
|
-
import {
|
|
15
|
-
wrapDescriptionLines
|
|
16
|
-
} from "./chunk-BMR4CIEO.js";
|
|
17
17
|
import {
|
|
18
18
|
formatDateLabel
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-XCLHOZAM.js";
|
|
20
20
|
import {
|
|
21
21
|
renderIntegratedLegend
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-QUJGFNFN.js";
|
|
23
23
|
import {
|
|
24
24
|
TITLE_FONT_SIZE,
|
|
25
25
|
TITLE_FONT_WEIGHT,
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
import {
|
|
42
42
|
resolveActiveTagGroup,
|
|
43
43
|
resolveTagColor
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-WCUHAQKB.js";
|
|
45
45
|
import {
|
|
46
46
|
resolveColor
|
|
47
47
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -987,4 +987,4 @@ export {
|
|
|
987
987
|
focusEventLine,
|
|
988
988
|
renderEventLineForExport
|
|
989
989
|
};
|
|
990
|
-
//# sourceMappingURL=chunk-
|
|
990
|
+
//# sourceMappingURL=chunk-PLZI6KPM.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-YYVTBZZC.js";
|
|
10
10
|
import {
|
|
11
11
|
renderIntegratedLegend
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-QUJGFNFN.js";
|
|
13
13
|
import {
|
|
14
14
|
TITLE_FONT_SIZE,
|
|
15
15
|
TITLE_FONT_WEIGHT,
|
|
@@ -964,4 +964,4 @@ export {
|
|
|
964
964
|
renderCycle,
|
|
965
965
|
renderCycleForExport
|
|
966
966
|
};
|
|
967
|
-
//# sourceMappingURL=chunk-
|
|
967
|
+
//# sourceMappingURL=chunk-PMN3Q7RJ.js.map
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import {
|
|
2
|
+
extractColor,
|
|
3
|
+
measureIndent,
|
|
4
|
+
parseFirstLine,
|
|
5
|
+
tryParseSharedOption
|
|
6
|
+
} from "./chunk-OTAL43EH.js";
|
|
7
|
+
import {
|
|
8
|
+
makeDgmoError,
|
|
9
|
+
makeFail
|
|
10
|
+
} from "./chunk-CXK4DZH3.js";
|
|
11
|
+
|
|
12
|
+
// src/goal/parser.ts
|
|
13
|
+
function parseGoalNumber(token) {
|
|
14
|
+
if (token.includes(",")) return null;
|
|
15
|
+
const n = parseFloat(token.replace(/_/g, ""));
|
|
16
|
+
return Number.isFinite(n) ? n : null;
|
|
17
|
+
}
|
|
18
|
+
function parseGoal(content, palette) {
|
|
19
|
+
const options = {
|
|
20
|
+
noPercent: false,
|
|
21
|
+
noValue: false,
|
|
22
|
+
solidFill: false,
|
|
23
|
+
noTitle: false,
|
|
24
|
+
noAutoColor: false,
|
|
25
|
+
noNote: false
|
|
26
|
+
};
|
|
27
|
+
const result = {
|
|
28
|
+
type: "goal",
|
|
29
|
+
title: null,
|
|
30
|
+
titleLineNumber: null,
|
|
31
|
+
description: null,
|
|
32
|
+
mode: "bar",
|
|
33
|
+
now: 0,
|
|
34
|
+
target: 0,
|
|
35
|
+
hasTarget: false,
|
|
36
|
+
options,
|
|
37
|
+
diagnostics: [],
|
|
38
|
+
error: null
|
|
39
|
+
};
|
|
40
|
+
const fail = makeFail(result);
|
|
41
|
+
const warn = (line, message) => {
|
|
42
|
+
result.diagnostics.push(makeDgmoError(line, message, "warning"));
|
|
43
|
+
};
|
|
44
|
+
const softError = (line, message) => {
|
|
45
|
+
result.diagnostics.push(makeDgmoError(line, message, "error"));
|
|
46
|
+
};
|
|
47
|
+
if (!content?.trim()) return fail(0, "No content provided");
|
|
48
|
+
const lines = content.split("\n");
|
|
49
|
+
let headerParsed = false;
|
|
50
|
+
let sawNow = false;
|
|
51
|
+
const sharedOpts = {};
|
|
52
|
+
for (let i = 0; i < lines.length; i++) {
|
|
53
|
+
const lineNum = i + 1;
|
|
54
|
+
const raw = lines[i];
|
|
55
|
+
const trimmed = raw.trim();
|
|
56
|
+
if (!trimmed || trimmed.startsWith("//")) continue;
|
|
57
|
+
if (!headerParsed) {
|
|
58
|
+
const first = parseFirstLine(trimmed);
|
|
59
|
+
if (first?.chartType !== "goal") {
|
|
60
|
+
return fail(lineNum, 'Expected "goal [Title]" as the first line.');
|
|
61
|
+
}
|
|
62
|
+
if (first.title) {
|
|
63
|
+
const { label, color } = extractColor(
|
|
64
|
+
first.title,
|
|
65
|
+
palette,
|
|
66
|
+
result.diagnostics,
|
|
67
|
+
lineNum
|
|
68
|
+
);
|
|
69
|
+
result.title = label || null;
|
|
70
|
+
if (color !== void 0) result.color = color;
|
|
71
|
+
}
|
|
72
|
+
result.titleLineNumber = lineNum;
|
|
73
|
+
headerParsed = true;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
const noteHeader = trimmed.match(/^note(?:\s+(.+))?$/i);
|
|
77
|
+
if (noteHeader && measureIndent(raw) === 0) {
|
|
78
|
+
const body = [];
|
|
79
|
+
if (noteHeader[1]) body.push(noteHeader[1].trim());
|
|
80
|
+
while (i + 1 < lines.length && measureIndent(lines[i + 1]) > 0) {
|
|
81
|
+
body.push(lines[i + 1].trim());
|
|
82
|
+
i++;
|
|
83
|
+
}
|
|
84
|
+
result.description = body.length ? body.join("\n") : null;
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (measureIndent(raw) > 0) {
|
|
88
|
+
warn(
|
|
89
|
+
lineNum,
|
|
90
|
+
`Indented content "${trimmed}" ignored \u2014 goal is a single value.`
|
|
91
|
+
);
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const lower = trimmed.toLowerCase();
|
|
95
|
+
if (lower === "thermometer" || lower === "gauge") {
|
|
96
|
+
result.mode = lower;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (lower === "no-percent") {
|
|
100
|
+
options.noPercent = true;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (lower === "no-value") {
|
|
104
|
+
options.noValue = true;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (lower === "no-auto-color") {
|
|
108
|
+
options.noAutoColor = true;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (lower === "no-note") {
|
|
112
|
+
options.noNote = true;
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (tryParseSharedOption(trimmed, sharedOpts)) {
|
|
116
|
+
if (sharedOpts["solid-fill"] === "on") options.solidFill = true;
|
|
117
|
+
if (sharedOpts["no-title"] === "on") options.noTitle = true;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
const kv = trimmed.match(/^(now|target)\s+(.+)$/i);
|
|
121
|
+
if (kv) {
|
|
122
|
+
const key = kv[1].toLowerCase();
|
|
123
|
+
const value = parseGoalNumber(kv[2].trim());
|
|
124
|
+
if (value === null) {
|
|
125
|
+
softError(lineNum, `"${key}" needs a number (got "${kv[2].trim()}").`);
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (key === "now") {
|
|
129
|
+
result.now = value;
|
|
130
|
+
sawNow = true;
|
|
131
|
+
} else {
|
|
132
|
+
if (value <= 0) {
|
|
133
|
+
softError(lineNum, '"target" must be greater than 0.');
|
|
134
|
+
} else {
|
|
135
|
+
result.target = value;
|
|
136
|
+
result.hasTarget = true;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
warn(lineNum, `Unrecognized line "${trimmed}".`);
|
|
142
|
+
}
|
|
143
|
+
if (!sawNow) {
|
|
144
|
+
warn(result.titleLineNumber ?? 1, 'Missing "now" value \u2014 treating as 0.');
|
|
145
|
+
}
|
|
146
|
+
if (!result.hasTarget) {
|
|
147
|
+
softError(
|
|
148
|
+
result.titleLineNumber ?? 1,
|
|
149
|
+
'Missing or invalid "target" \u2014 a goal needs a target > 0.'
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
return result;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export {
|
|
156
|
+
parseGoal
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=chunk-Q4V4XQWV.js.map
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
renderIntegratedLegend
|
|
3
|
+
} from "./chunk-QUJGFNFN.js";
|
|
1
4
|
import {
|
|
2
5
|
getFigure,
|
|
6
|
+
getPartGeom,
|
|
3
7
|
resolvePartKey
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import {
|
|
6
|
-
renderIntegratedLegend
|
|
7
|
-
} from "./chunk-4UDKKGHH.js";
|
|
8
|
+
} from "./chunk-BDXC7MDK.js";
|
|
8
9
|
import {
|
|
9
10
|
FONT_FAMILY
|
|
10
11
|
} from "./chunk-6KFWC4CO.js";
|
|
@@ -14,8 +15,9 @@ import {
|
|
|
14
15
|
} from "./chunk-P6T66CCZ.js";
|
|
15
16
|
import {
|
|
16
17
|
resolveActiveTagGroup,
|
|
17
|
-
resolveTagColor
|
|
18
|
-
|
|
18
|
+
resolveTagColor,
|
|
19
|
+
tagAttrKey
|
|
20
|
+
} from "./chunk-WCUHAQKB.js";
|
|
19
21
|
import {
|
|
20
22
|
resolveColor
|
|
21
23
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -33,17 +35,33 @@ var OUTER_MARGIN = 30;
|
|
|
33
35
|
var CENTER_COL = 420;
|
|
34
36
|
var LABEL_FONT = 23;
|
|
35
37
|
var NOTE_FONT = 17;
|
|
36
|
-
function
|
|
38
|
+
function pathStartX(d) {
|
|
39
|
+
const m = d.match(/[Mm]\s*(-?[\d.]+)/);
|
|
40
|
+
return m ? parseFloat(m[1]) : 0;
|
|
41
|
+
}
|
|
42
|
+
function partKey(part) {
|
|
43
|
+
return (part.side ? `${part.side} ` : "") + part.name.toLowerCase();
|
|
44
|
+
}
|
|
45
|
+
function partLabel(part) {
|
|
46
|
+
return part.side ? `${part.side} ${part.name}` : part.name;
|
|
47
|
+
}
|
|
48
|
+
function sideCenter(centers, side, view) {
|
|
49
|
+
const wantScreenRight = view === "front" ? side === "left" : side === "right";
|
|
50
|
+
return centers.reduce(
|
|
51
|
+
(best, c) => wantScreenRight ? c.x > best.x ? c : best : c.x < best.x ? c : best
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function renderFigureBody(fig, view, parts, partColor, emphKey, form, palette, defs) {
|
|
37
55
|
const [vx, vy, vw, vh] = fig.viewBox.split(" ").map(Number);
|
|
38
56
|
const muscleFill = mix(palette.bg, palette.border, 0.7);
|
|
39
57
|
const seam = palette.bg;
|
|
40
58
|
const outlineStroke = palette.textMuted;
|
|
59
|
+
const gid = `body-skin-${vx}-${vy}`;
|
|
60
|
+
defs.push(
|
|
61
|
+
`<linearGradient id="${gid}" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="${mix(palette.surface, palette.bg, 0.4)}"/><stop offset="1" stop-color="${mix(palette.border, palette.bg, 0.3)}"/></linearGradient>`
|
|
62
|
+
);
|
|
41
63
|
let out = "";
|
|
42
64
|
if (form === "skin") {
|
|
43
|
-
const gid = `body-skin-${vx}-${vy}`;
|
|
44
|
-
defs.push(
|
|
45
|
-
`<linearGradient id="${gid}" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="${mix(palette.surface, palette.bg, 0.4)}"/><stop offset="1" stop-color="${mix(palette.border, palette.bg, 0.3)}"/></linearGradient>`
|
|
46
|
-
);
|
|
47
65
|
out += `<path d="${fig.outline}" fill="url(#${gid})"/>`;
|
|
48
66
|
for (const d of fig.headPaths) {
|
|
49
67
|
out += `<path d="${d}" fill="url(#${gid})" stroke="${outlineStroke}" stroke-width="2.5"/>`;
|
|
@@ -53,55 +71,95 @@ function renderFigureBody(fig, parts, partColor, form, palette, defs) {
|
|
|
53
71
|
out += `<path d="${d}" fill="${hairFill}" stroke="${outlineStroke}" stroke-width="1.5"/>`;
|
|
54
72
|
}
|
|
55
73
|
} else {
|
|
74
|
+
out += `<path d="${fig.outline}" fill="url(#${gid})"/>`;
|
|
56
75
|
for (const d of fig.base) {
|
|
57
|
-
out += `<path d="${d}" fill="${muscleFill}" stroke="${seam}" stroke-width="1"/>`;
|
|
76
|
+
out += `<path d="${d}" fill="${muscleFill}" fill-opacity="0.55" stroke="${seam}" stroke-width="1"/>`;
|
|
77
|
+
}
|
|
78
|
+
for (const d of fig.headPaths) {
|
|
79
|
+
out += `<path d="${d}" fill="url(#${gid})" stroke="${outlineStroke}" stroke-width="2.5"/>`;
|
|
80
|
+
}
|
|
81
|
+
for (const d of fig.hairPaths) {
|
|
82
|
+
out += `<path d="${d}" fill="none" stroke="${outlineStroke}" stroke-width="2.5"/>`;
|
|
58
83
|
}
|
|
59
84
|
}
|
|
60
85
|
const anchors = /* @__PURE__ */ new Map();
|
|
86
|
+
const cxMid = vx + vw / 2;
|
|
61
87
|
for (const part of parts) {
|
|
62
88
|
const key = resolvePartKey(fig, part.name);
|
|
63
89
|
if (!key) continue;
|
|
64
|
-
const geom = fig
|
|
90
|
+
const geom = getPartGeom(fig, key);
|
|
65
91
|
const color = partColor(part);
|
|
66
|
-
const
|
|
92
|
+
const emph = emphKey(part).toLowerCase();
|
|
93
|
+
const dataLine = ` class="dgmo-body-part" data-line-number="${part.lineNumber}" data-emph-key="${esc(emph)}"`;
|
|
94
|
+
let paths = geom.paths;
|
|
95
|
+
if (part.side) {
|
|
96
|
+
const wantScreenRight = view === "front" ? part.side === "left" : part.side === "right";
|
|
97
|
+
const sidePaths = geom.paths.filter(
|
|
98
|
+
(d) => wantScreenRight ? pathStartX(d) >= cxMid : pathStartX(d) < cxMid
|
|
99
|
+
);
|
|
100
|
+
if (sidePaths.length) paths = sidePaths;
|
|
101
|
+
}
|
|
67
102
|
if (form === "skin") {
|
|
68
|
-
for (const d of
|
|
103
|
+
for (const d of paths) {
|
|
69
104
|
out += `<path${dataLine} d="${d}" fill="${color}" fill-opacity="0.5" stroke="${color}" stroke-width="1.5"/>`;
|
|
70
105
|
}
|
|
71
106
|
} else {
|
|
72
|
-
|
|
73
|
-
|
|
107
|
+
const lightFill = mix(color, palette.bg, 70);
|
|
108
|
+
for (const d of paths) {
|
|
109
|
+
out += `<path${dataLine} d="${d}" fill="${lightFill}" stroke="${color}" stroke-width="1.5"/>`;
|
|
74
110
|
}
|
|
75
111
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
112
|
+
const allCenters = geom.centers?.length ? geom.centers.map((c) => ({ x: c.x, y: c.y })) : [{ x: geom.anchor.x, y: geom.anchor.y }];
|
|
113
|
+
const chosen = part.side && allCenters.length > 1 ? sideCenter(allCenters, part.side, view) : null;
|
|
114
|
+
anchors.set(partKey(part), {
|
|
115
|
+
x: chosen?.x ?? geom.anchor.x,
|
|
116
|
+
y: chosen?.y ?? geom.anchor.y,
|
|
117
|
+
centers: chosen ? [chosen] : allCenters,
|
|
79
118
|
color,
|
|
119
|
+
emph,
|
|
80
120
|
part
|
|
81
121
|
});
|
|
82
122
|
}
|
|
83
123
|
out += `<path d="${fig.outline}" fill="none" stroke="${outlineStroke}" stroke-width="2.5"/>`;
|
|
84
124
|
return { fig, body: out, anchors, vx, vy, vw, vh };
|
|
85
125
|
}
|
|
126
|
+
function nearestCenter(a, targetX) {
|
|
127
|
+
let best = a.centers[0] ?? { x: a.x, y: a.y };
|
|
128
|
+
let bestD = Math.abs(best.x - targetX);
|
|
129
|
+
for (const c of a.centers) {
|
|
130
|
+
const d = Math.abs(c.x - targetX);
|
|
131
|
+
if (d < bestD) {
|
|
132
|
+
bestD = d;
|
|
133
|
+
best = c;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return best;
|
|
137
|
+
}
|
|
86
138
|
function gutterLabels(r, palette) {
|
|
87
139
|
const { vx, vw, vh } = r;
|
|
88
140
|
const cx = vx + vw / 2;
|
|
89
141
|
const list = [...r.anchors.values()];
|
|
90
|
-
const
|
|
91
|
-
const
|
|
142
|
+
const band = vw * 0.1;
|
|
143
|
+
const left = list.filter((a) => a.x < cx - band);
|
|
144
|
+
const right = list.filter((a) => a.x > cx + band);
|
|
145
|
+
const mid = list.filter((a) => a.x >= cx - band && a.x <= cx + band).sort((a, b) => a.y - b.y);
|
|
146
|
+
for (const a of mid) (left.length <= right.length ? left : right).push(a);
|
|
92
147
|
let labels = "";
|
|
93
148
|
const place = (arr, side) => {
|
|
94
149
|
const gx = side === "L" ? vx - 14 : vx + vw + 14;
|
|
150
|
+
const sx = side === "L" ? gx + 26 : gx - 26;
|
|
95
151
|
const anchorX = side === "L" ? "end" : "start";
|
|
96
152
|
const minGap = vh * 0.05;
|
|
153
|
+
const rows = arr.map((a) => ({ a, tgt: nearestCenter(a, gx) })).sort((p, q) => p.tgt.y - q.tgt.y);
|
|
97
154
|
let prevY = -1e9;
|
|
98
|
-
for (const a of
|
|
99
|
-
const ly = Math.max(
|
|
155
|
+
for (const { a, tgt } of rows) {
|
|
156
|
+
const ly = Math.max(tgt.y, prevY + minGap);
|
|
100
157
|
prevY = ly;
|
|
101
158
|
const note = a.part.notes.length ? a.part.notes[0] : "";
|
|
102
|
-
|
|
159
|
+
const dl = ` class="dgmo-body-part" data-line-number="${a.part.lineNumber}" data-emph-key="${esc(a.emph)}"`;
|
|
160
|
+
labels += `<path${dl} d="M${sx} ${ly} L${tgt.x} ${tgt.y}" stroke="${a.color}" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" fill="none" opacity="0.85"/><circle${dl} cx="${tgt.x}" cy="${tgt.y}" r="5.5" fill="${a.color}" stroke="${palette.bg}" stroke-width="2" vector-effect="non-scaling-stroke"/><text${dl} x="${gx}" y="${ly + (note ? -2 : 7)}" text-anchor="${anchorX}" font-size="${LABEL_FONT}" font-weight="700" fill="${palette.text}">${esc(partLabel(a.part))}</text>`;
|
|
103
161
|
if (note) {
|
|
104
|
-
labels += `<text x="${gx}" y="${ly +
|
|
162
|
+
labels += `<text${dl} x="${gx}" y="${ly + 22}" text-anchor="${anchorX}" font-size="${NOTE_FONT}" fill="${palette.textMuted}">${esc(note)}</text>`;
|
|
105
163
|
}
|
|
106
164
|
}
|
|
107
165
|
};
|
|
@@ -117,12 +175,15 @@ function renderBody(container, parsed, palette, _isDark, _onClickItem, exportDim
|
|
|
117
175
|
tagOverride
|
|
118
176
|
);
|
|
119
177
|
const partColor = (part) => resolveTagColor(part.metadata, parsed.tagGroups, activeGroup) ?? accent;
|
|
178
|
+
const emphKey = (part) => activeGroup ? part.metadata[tagAttrKey(activeGroup)] ?? "" : "";
|
|
120
179
|
const defs = [];
|
|
121
180
|
const rendered = parsed.options.views.map(
|
|
122
181
|
(view) => renderFigureBody(
|
|
123
182
|
getFigure(parsed.options.sex, view),
|
|
183
|
+
view,
|
|
124
184
|
parsed.parts,
|
|
125
185
|
partColor,
|
|
186
|
+
emphKey,
|
|
126
187
|
parsed.options.form,
|
|
127
188
|
palette,
|
|
128
189
|
defs
|
|
@@ -166,19 +227,21 @@ function renderBody(container, parsed, palette, _isDark, _onClickItem, exportDim
|
|
|
166
227
|
const seen = /* @__PURE__ */ new Set();
|
|
167
228
|
const items = [];
|
|
168
229
|
for (const part of parsed.parts) {
|
|
169
|
-
const nm = part
|
|
230
|
+
const nm = partKey(part);
|
|
170
231
|
if (seen.has(nm)) continue;
|
|
171
232
|
const aL = fL.anchors.get(nm);
|
|
172
233
|
const aR = fR.anchors.get(nm);
|
|
173
234
|
if (!aL && !aR) continue;
|
|
174
235
|
seen.add(nm);
|
|
175
|
-
const left = aL ? mapL(aL) : void 0;
|
|
176
|
-
const right = aR ? mapR(aR) : void 0;
|
|
236
|
+
const left = aL ? mapL(nearestCenter(aL, fL.vx + fL.vw)) : void 0;
|
|
237
|
+
const right = aR ? mapR(nearestCenter(aR, fR.vx)) : void 0;
|
|
177
238
|
const ys = [left?.y, right?.y].filter((v) => v != null);
|
|
178
239
|
items.push({
|
|
179
|
-
name: part
|
|
240
|
+
name: partLabel(part),
|
|
180
241
|
note: part.notes.length ? part.notes[0] : "",
|
|
181
242
|
color: (aL ?? aR).color,
|
|
243
|
+
emph: (aL ?? aR).emph,
|
|
244
|
+
line: part.lineNumber,
|
|
182
245
|
...left && { left },
|
|
183
246
|
...right && { right },
|
|
184
247
|
y: ys.reduce((s, v) => s + v, 0) / ys.length
|
|
@@ -194,15 +257,16 @@ function renderBody(container, parsed, palette, _isDark, _onClickItem, exportDim
|
|
|
194
257
|
let labels = "";
|
|
195
258
|
const stub = 96;
|
|
196
259
|
for (const it of items) {
|
|
260
|
+
const dl = ` class="dgmo-body-part" data-line-number="${it.line}" data-emph-key="${esc(it.emph)}"`;
|
|
197
261
|
if (it.left) {
|
|
198
|
-
labels += `<path d="M${(centerX - stub).toFixed(1)} ${it.y.toFixed(1)} L${it.left.x.toFixed(1)} ${it.left.y.toFixed(1)}" stroke="${it.color}" stroke-width="
|
|
262
|
+
labels += `<path${dl} d="M${(centerX - stub).toFixed(1)} ${it.y.toFixed(1)} L${it.left.x.toFixed(1)} ${it.left.y.toFixed(1)}" stroke="${it.color}" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" fill="none" opacity="0.85"/><circle${dl} cx="${it.left.x.toFixed(1)}" cy="${it.left.y.toFixed(1)}" r="5.5" fill="${it.color}" stroke="${palette.bg}" stroke-width="2" vector-effect="non-scaling-stroke"/>`;
|
|
199
263
|
}
|
|
200
264
|
if (it.right) {
|
|
201
|
-
labels += `<path d="M${(centerX + stub).toFixed(1)} ${it.y.toFixed(1)} L${it.right.x.toFixed(1)} ${it.right.y.toFixed(1)}" stroke="${it.color}" stroke-width="
|
|
265
|
+
labels += `<path${dl} d="M${(centerX + stub).toFixed(1)} ${it.y.toFixed(1)} L${it.right.x.toFixed(1)} ${it.right.y.toFixed(1)}" stroke="${it.color}" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" fill="none" opacity="0.85"/><circle${dl} cx="${it.right.x.toFixed(1)}" cy="${it.right.y.toFixed(1)}" r="5.5" fill="${it.color}" stroke="${palette.bg}" stroke-width="2" vector-effect="non-scaling-stroke"/>`;
|
|
202
266
|
}
|
|
203
|
-
labels += `<text x="${centerX}" y="${(it.y - 3).toFixed(1)}" text-anchor="middle" font-size="${LABEL_FONT}" font-weight="700" fill="${palette.text}">${esc(it.name)}</text>`;
|
|
267
|
+
labels += `<text${dl} x="${centerX}" y="${(it.y - 3).toFixed(1)}" text-anchor="middle" font-size="${LABEL_FONT}" font-weight="700" fill="${palette.text}">${esc(it.name)}</text>`;
|
|
204
268
|
if (it.note) {
|
|
205
|
-
labels += `<text x="${centerX}" y="${(it.y + 20).toFixed(1)}" text-anchor="middle" font-size="${NOTE_FONT}" fill="${palette.textMuted}">${esc(it.note)}</text>`;
|
|
269
|
+
labels += `<text${dl} x="${centerX}" y="${(it.y + 20).toFixed(1)}" text-anchor="middle" font-size="${NOTE_FONT}" fill="${palette.textMuted}">${esc(it.note)}</text>`;
|
|
206
270
|
}
|
|
207
271
|
}
|
|
208
272
|
body += labels;
|
|
@@ -258,4 +322,4 @@ export {
|
|
|
258
322
|
renderBody,
|
|
259
323
|
renderBodyForExport
|
|
260
324
|
};
|
|
261
|
-
//# sourceMappingURL=chunk-
|
|
325
|
+
//# sourceMappingURL=chunk-QDFNCATJ.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-5LWQH6QV.js";
|
|
16
16
|
import {
|
|
17
17
|
tagAttrKey
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-WCUHAQKB.js";
|
|
19
19
|
|
|
20
20
|
// src/c4/layout.ts
|
|
21
21
|
import dagre from "@dagrejs/dagre";
|
|
@@ -1682,4 +1682,4 @@ export {
|
|
|
1682
1682
|
layoutC4Components,
|
|
1683
1683
|
layoutC4Deployment
|
|
1684
1684
|
};
|
|
1685
|
-
//# sourceMappingURL=chunk-
|
|
1685
|
+
//# sourceMappingURL=chunk-QFQ35BTO.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-P6T66CCZ.js";
|
|
22
22
|
import {
|
|
23
23
|
tagAttrKey
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-WCUHAQKB.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-QUJGFNFN.js.map
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
injectDefaultTagMetadata,
|
|
20
20
|
resolveTagColor,
|
|
21
21
|
tagAttrKey
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-WCUHAQKB.js";
|
|
23
23
|
|
|
24
24
|
// src/org/layout.ts
|
|
25
25
|
import { hierarchy, tree } from "d3-hierarchy";
|
|
@@ -810,4 +810,4 @@ function layoutOrg(parsed, hiddenCounts, activeTagGroup, hiddenAttributes, expan
|
|
|
810
810
|
export {
|
|
811
811
|
layoutOrg
|
|
812
812
|
};
|
|
813
|
-
//# sourceMappingURL=chunk-
|
|
813
|
+
//# sourceMappingURL=chunk-R56LASIN.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-YYVTBZZC.js";
|
|
10
10
|
import {
|
|
11
11
|
renderIntegratedLegend
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-QUJGFNFN.js";
|
|
13
13
|
import {
|
|
14
14
|
getMaxLegendReservedHeight
|
|
15
15
|
} from "./chunk-7UEMZREK.js";
|
|
@@ -35,11 +35,11 @@ import {
|
|
|
35
35
|
isSequenceBlock,
|
|
36
36
|
isSequenceNote,
|
|
37
37
|
isSequenceSection
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-T4BRO3Z6.js";
|
|
39
39
|
import {
|
|
40
40
|
resolveActiveTagGroup,
|
|
41
41
|
tagAttrKey
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-WCUHAQKB.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-
|
|
1851
|
+
//# sourceMappingURL=chunk-RV26LTUU.js.map
|