@diagrammo/dgmo 0.92.1 → 0.94.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 +103 -38
- package/dist/advanced.js +457 -423
- package/dist/block.d.ts +2 -2
- package/dist/block.js +75 -70
- package/dist/{chart-meta-BBqLnv5q.d.ts → chart-meta-BbjsRY7o.d.ts} +2 -2
- package/dist/chart-meta.d.ts +3 -3
- package/dist/chart-meta.js +25 -19
- package/dist/{chart-types-CbXlZFLd.d.ts → chart-types-Cppnp31G.d.ts} +173 -4
- package/dist/{charts-d3-QUUDVETP.js → charts-d3-SZV2SFTM.js} +7 -6
- package/dist/{chunk-ADNIO3XY.js → chunk-2FDQEQID.js} +5 -5
- package/dist/{chunk-QUGC7GWB.js → chunk-2HSHWPTO.js} +15 -15
- package/dist/{chunk-L5NW3PVL.js → chunk-2I4UQG7W.js} +1 -1
- package/dist/{chunk-2YAFDND3.js → chunk-2MS623GW.js} +4 -6
- package/dist/{chunk-73EYNV4O.js → chunk-2XMTZ5JR.js} +4 -6
- package/dist/{chunk-ZJAK6C7Y.js → chunk-3PP746YM.js} +6 -1
- package/dist/{chunk-MDVJYRJT.js → chunk-3TWBMU7K.js} +22 -22
- package/dist/{chunk-FTUMRSGT.js → chunk-3ZP3QC47.js} +8 -288
- package/dist/{chunk-J2E7EUER.js → chunk-4EX4OKGZ.js} +86 -23
- package/dist/{chunk-Y2V5AEVG.js → chunk-4SP6OUO7.js} +1952 -1824
- package/dist/{chunk-HIWHIYLD.js → chunk-4TEPDQHJ.js} +19 -19
- package/dist/{chunk-DEFBUZWV.js → chunk-5HAYT43L.js} +70 -54
- package/dist/{chunk-6WVX4KNP.js → chunk-5ZUZZDW5.js} +97 -297
- package/dist/{chunk-X5BUX2GK.js → chunk-6JCTW74W.js} +7 -5
- package/dist/{chunk-Q6W2K33N.js → chunk-6XLMTAEX.js} +1 -1
- package/dist/{chunk-ONYO5WJW.js → chunk-7IOZ6JE4.js} +21 -21
- package/dist/chunk-7SXV7NUS.js +416 -0
- package/dist/{chunk-NPWVOFB3.js → chunk-7WEYXYLC.js} +1 -1
- package/dist/{chunk-GE7ICBX6.js → chunk-AM42TLSZ.js} +102 -97
- package/dist/{chunk-WLLO3PZ3.js → chunk-AYUSD4Z6.js} +45 -19
- package/dist/{chunk-45QUTYPD.js → chunk-B25IWGDH.js} +69 -20
- package/dist/{chunk-JKST4RTT.js → chunk-BH2SF4TT.js} +6 -6
- package/dist/{chunk-6OIMUSDX.js → chunk-C6G36F5S.js} +9 -9
- package/dist/{chunk-DRFGIOZ6.js → chunk-CIHHTS5B.js} +4 -6
- package/dist/chunk-CYTFO2LF.js +209 -0
- package/dist/{chunk-Q2UFOKPB.js → chunk-DDIOWNHS.js} +22 -22
- package/dist/{chunk-Q6ZQX2HX.js → chunk-DLJJOCIT.js} +4 -6
- package/dist/{chunk-26BBJUBW.js → chunk-DNM3XZCK.js} +4 -6
- package/dist/{chunk-AUS7V54P.js → chunk-ERT7XDQW.js} +1 -1
- package/dist/{chunk-7ENDOHAA.js → chunk-FMAVHTYB.js} +919 -927
- package/dist/{chunk-URQIWIKX.js → chunk-FWVE373X.js} +4 -4
- package/dist/{chunk-VOR32OHN.js → chunk-G3HZ4PGE.js} +13 -15
- package/dist/{chunk-RBFJT23E.js → chunk-GWQRTA5W.js} +6 -6
- package/dist/chunk-GXCDD6NG.js +24 -0
- package/dist/{chunk-3PFMGNOM.js → chunk-HHVIE45A.js} +26 -11
- package/dist/{chunk-MXAP37W6.js → chunk-HI6R27YA.js} +16 -7
- package/dist/{chunk-QQPNCXAO.js → chunk-I37S3EZE.js} +18 -18
- package/dist/{chunk-YITHYQCL.js → chunk-IGJEKO2P.js} +8 -8
- package/dist/{chunk-BZX7QCXJ.js → chunk-IHN6WDEY.js} +15 -15
- package/dist/{chunk-QT3KDDXK.js → chunk-IN7XI6NO.js} +0 -7
- package/dist/{chunk-4QLGGQNO.js → chunk-IZHGT5HD.js} +44 -18
- package/dist/{chunk-5SSTVFPX.js → chunk-JT2BG7LM.js} +5 -7
- package/dist/{chunk-2BJW7FSF.js → chunk-KBEWVCK3.js} +1 -1
- package/dist/{chunk-DUPZ2BBY.js → chunk-KBHT5XEY.js} +143 -6
- package/dist/{chunk-V4D2ZQBE.js → chunk-KRPLP5LP.js} +6 -1
- package/dist/{chunk-QKY6W4NA.js → chunk-KSZB7TIY.js} +25 -25
- package/dist/{chunk-6ZL2XYM7.js → chunk-MLY5ALOV.js} +6 -6
- package/dist/{chunk-VSOZZYLK.js → chunk-NERQSSYD.js} +20 -9
- package/dist/{chunk-OQW4ETJX.js → chunk-NM5V5EKY.js} +6 -1
- package/dist/{chunk-EBSFSOJC.js → chunk-NOQB4KMV.js} +22 -22
- package/dist/{chunk-6BNNLVAR.js → chunk-NPDVWFAQ.js} +6 -1
- package/dist/{chunk-FSJ3ZA6N.js → chunk-OSSTOSXU.js} +12 -12
- package/dist/chunk-P7TRFL4P.js +54 -0
- package/dist/{chunk-A4PNWAUW.js → chunk-PGSGJLUR.js} +6 -1
- package/dist/{chunk-S7W75MIM.js → chunk-QKPOIJBT.js} +23 -5
- package/dist/{chunk-YO6AQU4A.js → chunk-QPQWY5RU.js} +12 -12
- package/dist/{chunk-NREU4JFE.js → chunk-RBVFNUAL.js} +6 -8
- package/dist/{chunk-5EBYPETE.js → chunk-RESEJSCV.js} +3 -5
- package/dist/{chunk-BRSM6Z34.js → chunk-RITTLIDJ.js} +14 -14
- package/dist/{chunk-MX4SZLSV.js → chunk-S5Y3OO3V.js} +16 -8
- package/dist/{chunk-O5WUZGPV.js → chunk-TASRGDYP.js} +18 -18
- package/dist/{chunk-HXULJZA2.js → chunk-TDAGJJPZ.js} +6 -1
- package/dist/chunk-UCHZJJIT.js +421 -0
- package/dist/{chunk-42UJ23H3.js → chunk-UIEKW4SG.js} +1 -0
- package/dist/{chunk-WFA6IULY.js → chunk-URRAWU5D.js} +5 -0
- package/dist/{chunk-IGKFOHBG.js → chunk-VBMRZCMQ.js} +13 -13
- package/dist/{chunk-JRWUHLRP.js → chunk-VDY2GR6U.js} +51 -8
- package/dist/{chunk-EJS3K44P.js → chunk-VGAMBOOC.js} +5 -3
- package/dist/{chunk-B5PEKSRH.js → chunk-VSAKEMDD.js} +6 -1
- package/dist/chunk-WTTIODDV.js +9 -0
- package/dist/{chunk-JLU52ZDT.js → chunk-XJQ6Z3FO.js} +10 -10
- package/dist/{chunk-KTGZDMDX.js → chunk-XKCRKD2B.js} +140 -53
- package/dist/{chunk-LRP5FXST.js → chunk-YQMIKX54.js} +61 -24
- package/dist/{chunk-H5UEVW6Q.js → chunk-ZD3QCNB7.js} +1 -1
- package/dist/clock.js +168 -0
- package/dist/completion-registry.js +3 -1
- package/dist/countdown.js +36 -395
- package/dist/{dgmo-router-4UAPPIKN.js → dgmo-router-E5O7RJSW.js} +50 -43
- package/dist/{dimensions-SCNVYLRF.js → dimensions-DS6FWLRY.js} +3 -3
- package/dist/{d3-BThYBTQk.d.ts → export-context-Ceh3wr0E.d.ts} +2 -8
- package/dist/{flowchart-parser-NA75YQ77.js → flowchart-parser-NZXASOZG.js} +8 -3
- package/dist/{flowchart-renderer-6MGGX4RC.js → flowchart-renderer-PTCRIANF.js} +17 -19
- package/dist/index.d.ts +8 -7
- package/dist/index.js +80 -74
- package/dist/{layout-MBVBAMPA.js → layout-3TSVAGWH.js} +2 -2
- package/dist/layout-ISSBWBH7.js +24 -0
- package/dist/layout-IT4ZTV6C.js +24 -0
- package/dist/{layout-BNLFQHSB.js → layout-U3AH6M7J.js} +9 -10
- package/dist/layout-VC3MXRB4.js +29 -0
- package/dist/layout-VDCJOZSH.js +11 -0
- package/dist/{layout-search-PMYL3VWS.js → layout-search-BBX2BMEF.js} +11 -12
- package/dist/{palettes-IN7ZFRJM.js → palettes-4Y7CL2QL.js} +4 -2
- package/dist/{parser-QYISOAGR.js → parser-4RFY7D52.js} +8 -3
- package/dist/{parser-3MK56JZC.js → parser-4Y6PODW6.js} +2 -2
- package/dist/{parser-GX5YLRIP.js → parser-7QKQ4P4P.js} +8 -3
- package/dist/{parser-2NWH5JUS.js → parser-A3AN76RQ.js} +2 -1
- package/dist/{parser-LCJ76UXS.js → parser-BT4NI6JY.js} +5 -1
- package/dist/{parser-FXDS4JDK.js → parser-F7NDRPMA.js} +2 -2
- package/dist/{parser-BES6LV3G.js → parser-GDLKUBTO.js} +5 -1
- package/dist/{parser-SEUTXN6U.js → parser-KJPPUN4D.js} +2 -2
- package/dist/{parser-SIKL4PLF.js → parser-KMKVFET2.js} +5 -1
- package/dist/{parser-5LW5JDYG.js → parser-NL73FSFI.js} +5 -1
- package/dist/{parser-VA7ZQQTA.js → parser-NUU3DVW4.js} +5 -1
- package/dist/{parser-XZUKNZPB.js → parser-R3LPEQIT.js} +7 -1
- package/dist/{parser-X23GRTQJ.js → parser-RCIEKN7Y.js} +5 -1
- package/dist/{parser-L6RWDXQN.js → parser-TAYRTCPR.js} +8 -3
- package/dist/redraw-AHW7EUUF.js +1698 -0
- package/dist/redraw-STZ4WJAI.js +73 -0
- package/dist/{renderer-LM4ICK6I.js → renderer-2LYX6NHN.js} +4 -5
- package/dist/{renderer-NHTR7IRR.js → renderer-3NLDX7DQ.js} +4 -5
- package/dist/{renderer-TO2NVJP3.js → renderer-4SE7R22T.js} +50 -45
- package/dist/{renderer-3IHQI4A4.js → renderer-53B523PM.js} +11 -10
- package/dist/{renderer-3JY6JAQJ.js → renderer-7OGGV327.js} +5 -6
- package/dist/{renderer-2FVUPBGV.js → renderer-AM7P4LN7.js} +1 -1
- package/dist/{renderer-5VKPB4LL.js → renderer-BXD5KVSR.js} +5 -5
- package/dist/{renderer-OAR5VPH4.js → renderer-DAZWHNLI.js} +2 -2
- package/dist/{renderer-WIU5BJUK.js → renderer-DDWDCM2K.js} +2 -2
- package/dist/{renderer-3QAFDXEY.js → renderer-FMTLSOCX.js} +16 -12
- package/dist/{renderer-JEJT3YET.js → renderer-HX6ICPDX.js} +2 -3
- package/dist/{renderer-NDA2FFYB.js → renderer-ISQJ2ELA.js} +5 -5
- package/dist/{renderer-XGG2UNXT.js → renderer-IXBOT6DU.js} +3 -4
- package/dist/{renderer-S3YCLJKL.js → renderer-J3GPDK73.js} +20 -22
- package/dist/{renderer-DVNMCYHZ.js → renderer-J7ZSTJUE.js} +15 -15
- package/dist/{renderer-ALWVK3EJ.js → renderer-JJ4QW3SK.js} +6 -6
- package/dist/{renderer-RUSFL7WU.js → renderer-JYHA6R2D.js} +8 -7
- package/dist/{renderer-5TZVFQ7K.js → renderer-KJ3V5BYP.js} +7 -8
- package/dist/{renderer-RSK6QFWN.js → renderer-LNP23NSM.js} +7 -9
- package/dist/{renderer-ZHGHTSNG.js → renderer-M5DUMITP.js} +13 -12
- package/dist/{renderer-O6DY46AV.js → renderer-MWZC7TMD.js} +7 -7
- package/dist/{renderer-DC7C5Q3G.js → renderer-NOYLNVTI.js} +2 -2
- package/dist/{renderer-ISSDGK54.js → renderer-O6RP52CQ.js} +3 -3
- package/dist/{renderer-ZGY7P4BM.js → renderer-OUDHH5MV.js} +19 -22
- package/dist/{renderer-QGIHLZOJ.js → renderer-PHLCYVSN.js} +9 -10
- package/dist/{renderer-VPIELEE5.js → renderer-QTPWRRJ7.js} +8 -9
- package/dist/{renderer-LQP3AGEJ.js → renderer-RUSQJFFC.js} +3 -4
- package/dist/{renderer-MM27BSBO.js → renderer-TINHO2IO.js} +3 -4
- package/dist/{renderer-7ZZG5HR3.js → renderer-UTEEJDGB.js} +9 -9
- package/dist/{renderer-J5FKF423.js → renderer-W4MUMXJE.js} +7 -4
- package/dist/{renderer-XO57LTU4.js → renderer-WPN2SXGT.js} +5 -5
- package/dist/{renderer-ZZ6MWVB7.js → renderer-XCLARXCK.js} +4 -4
- package/dist/{renderer-J666LZXJ.js → renderer-XOWDERU2.js} +8 -8
- package/dist/{state-parser-TIR2ORJY.js → state-parser-KPVW5CRI.js} +8 -3
- package/dist/{state-renderer-G6SUXU4J.js → state-renderer-ZVEI265C.js} +18 -21
- package/dist/{tag-groups-DsoVpAY-.d.ts → tag-groups-DydewK3D.d.ts} +2 -173
- package/dist/{themes-DRNjxX7Q.d.ts → themes-DzIH3Hjv.d.ts} +3 -2
- package/docs/ai-integration.md +1 -1
- package/docs/language-reference.md +23 -2
- package/gallery/fixtures/whiteboard.dgmo +3 -0
- package/package.json +2 -6
- package/dist/chunk-3Y63RFJL.js +0 -75
- package/dist/chunk-5DH3KYFH.js +0 -20
- package/dist/chunk-O753JUEZ.js +0 -67
- package/dist/chunk-RJNZHFNG.js +0 -51
- package/dist/chunk-Z6DXWULM.js +0 -23
- package/dist/layout-5USEVQBY.js +0 -25
- package/dist/layout-J3AGFZZ7.js +0 -10
- package/dist/layout-S3RLVPH4.js +0 -25
- package/dist/layout-WRG4APSJ.js +0 -32
- package/dist/{chunk-DGUGE67L.js → chunk-CDYV46JE.js} +3 -3
- package/dist/{chunk-TKAB3FTK.js → chunk-DRQSB72S.js} +11 -11
- package/dist/{chunk-ZKP77MB3.js → chunk-FVTYJUXR.js} +5 -5
- package/dist/{chunk-MA42PIGJ.js → chunk-H5NVCOEJ.js} +4 -4
- package/dist/{chunk-BEA4D7OS.js → chunk-IXHWS2HI.js} +3 -3
- package/dist/{chunk-SOHZDW6N.js → chunk-UXNA2H2V.js} +3 -3
- package/dist/{chunk-NO3UX6AP.js → chunk-V2NQV7VL.js} +4 -4
package/docs/ai-integration.md
CHANGED
|
@@ -112,7 +112,7 @@ Valid markup is the floor, not the goal. A good diagram reads at a glance. Apply
|
|
|
112
112
|
- **Always title it.** Every diagram gets a short title on the type-declaration line (`flowchart Checkout Flow`, `sequence Checkout`, `boxes-and-lines Service Map`) so it is self-describing — never leave the bare type keyword alone. Infer a fitting title from the request when the user gives none.
|
|
113
113
|
<!-- TITLE end -->
|
|
114
114
|
<!-- CATEGORIZE start -->
|
|
115
|
-
- **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line, family and
|
|
115
|
+
- **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line, family, sketch and whiteboard** take the tag group but no `active-tag` line — declare the group and stop there; on event-line, family and sketch the line would be drawn as an element. **Class, flowchart, wireframe, raci, cycle, pyramid, ring, sankey, tech-radar, venn, version-control, wordcloud, arc, bar, clock, countdown, funnel, function, goal, heatmap, line, pie, polar-area, quadrant, radar, scatter and slope** take no tag group at all — skip this rule for them. Most report the lines; cycle, pyramid, ring, sankey, venn, version-control and wordcloud read them as content, and flowchart and tech-radar drop them without a word. Only the 11 named palette colors exist, and they re-resolve per palette/theme. Color the grouping so the categories — and the boundaries between them — read at a glance. **Buckets, not name tags — never 1:1.** A tag group must have _fewer_ values than it has members: each color should bucket two or more items so the palette compresses the diagram into a few meaningful kinds (aim for ~2–4 categories, and keep distinct colors well under half the item count). If you find yourself giving nearly every item its own value, you've enumerated, not categorized — merge the singletons up a level until each color groups at least two (a `cache` and a `database` are both `datastore`; a caller and a gateway are both `client`; two microservices are both `service`). One color per item is the same visual noise as random colors — the grouping only earns its place when a color means "these belong together." Leave items uncolored only when they genuinely form a single undifferentiated kind, or the user asked for no color.
|
|
116
116
|
<!-- CATEGORIZE end -->
|
|
117
117
|
- **Keep labels short.** A few words per node. Move detail into notes or metadata, never a full sentence inside a label.
|
|
118
118
|
- **Let the defaults show.** Don't add `no-*` opt-outs unless the user asked to hide or disable something — they strip helpful labels, values, and color.
|
|
@@ -98,7 +98,7 @@ Valid markup is the floor, not the goal. A good diagram reads at a glance. Apply
|
|
|
98
98
|
- **Always title it.** Every diagram gets a short title on the type-declaration line (`flowchart Checkout Flow`, `sequence Checkout`, `boxes-and-lines Service Map`) so it is self-describing — never leave the bare type keyword alone. Infer a fitting title from the request when the user gives none.
|
|
99
99
|
<!-- TITLE end -->
|
|
100
100
|
<!-- CATEGORIZE start -->
|
|
101
|
-
- **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line, family and
|
|
101
|
+
- **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line, family, sketch and whiteboard** take the tag group but no `active-tag` line — declare the group and stop there; on event-line, family and sketch the line would be drawn as an element. **Class, flowchart, wireframe, raci, cycle, pyramid, ring, sankey, tech-radar, venn, version-control, wordcloud, arc, bar, clock, countdown, funnel, function, goal, heatmap, line, pie, polar-area, quadrant, radar, scatter and slope** take no tag group at all — skip this rule for them. Most report the lines; cycle, pyramid, ring, sankey, venn, version-control and wordcloud read them as content, and flowchart and tech-radar drop them without a word. Only the 11 named palette colors exist, and they re-resolve per palette/theme. Color the grouping so the categories — and the boundaries between them — read at a glance. **Buckets, not name tags — never 1:1.** A tag group must have _fewer_ values than it has members: each color should bucket two or more items so the palette compresses the diagram into a few meaningful kinds (aim for ~2–4 categories, and keep distinct colors well under half the item count). If you find yourself giving nearly every item its own value, you've enumerated, not categorized — merge the singletons up a level until each color groups at least two (a `cache` and a `database` are both `datastore`; a caller and a gateway are both `client`; two microservices are both `service`). One color per item is the same visual noise as random colors — the grouping only earns its place when a color means "these belong together." Leave items uncolored only when they genuinely form a single undifferentiated kind, or the user asked for no color.
|
|
102
102
|
<!-- CATEGORIZE end -->
|
|
103
103
|
- **Keep labels short.** A few words per node. Move detail into notes or metadata, never a full sentence inside a label.
|
|
104
104
|
- **Let the defaults show.** Don't add `no-*` opt-outs unless the user asked to hide or disable something — they strip helpful labels, values, and color.
|
|
@@ -215,7 +215,7 @@ tag GroupName as <alias>
|
|
|
215
215
|
- Must appear before diagram content
|
|
216
216
|
- Bare shorthand is not an alias (TD-18): `tag Priority p` declares a group _named_ "Priority p" — no alias registers, so `p:` assignments silently miss. The parser warns on this shape (spaced name, no alias, alias-shaped trailing word), suggesting `tag Priority as p` or a quoted name
|
|
217
217
|
|
|
218
|
-
**Diagram types that support tags**: the tag model is near-universal across the structural types — sequence, infra, org, c4, er, kanban, gantt, sitemap, timeline, boxes-and-lines, state (§5.7), pert, swimlane, mindmap, journey-map, event-line, treemap, map, block, sketch, bracket and
|
|
218
|
+
**Diagram types that support tags**: the tag model is near-universal across the structural types — sequence, infra, org, c4, er, kanban, gantt, sitemap, timeline, boxes-and-lines, state (§5.7), pert, swimlane, mindmap, journey-map, event-line, treemap, map, block, sketch, bracket, family and whiteboard all accept `tag <Group> as <alias>` blocks (a whiteboard's names its colours — §24Ea). Check the per-type Options section for the exact directive set; if a type draws a tag legend, it takes tags. **Flowchart, wireframe, raci and class take no tags** — a `tag` block or `active-tag` on any of them is ignored with a warning, because what an element looks like is fixed by what it is (a flowchart's shape, a wireframe's state keywords, a class's trailing colour word) or by the roles (raci).
|
|
219
219
|
|
|
220
220
|
### 1.4 Same-Line Metadata
|
|
221
221
|
|
|
@@ -4066,6 +4066,19 @@ An `arrow` takes `heads: both` for a head at each end. Arrows and lines take `be
|
|
|
4066
4066
|
|
|
4067
4067
|
`color:` takes a palette **name**: `ink` (the default, never written — the theme's text colour, near-black on light and near-white on dark), `red`, `green`, `blue`, `teal`, `purple`, `orange`, `yellow`, `cyan`, `gray`. Each takes the palette's own light or dark shade. No hex values. A `note` defaults to `yellow` instead of `ink`, and writes `color:` only when it is not yellow.
|
|
4068
4068
|
|
|
4069
|
+
A `tag` block gives a colour a **meaning**. Each entry is a name and the colour it names; shapes keep their own `color:`, so the name attaches to the colour, never to a shape:
|
|
4070
|
+
|
|
4071
|
+
```
|
|
4072
|
+
whiteboard Launch plan
|
|
4073
|
+
tag Meaning
|
|
4074
|
+
Blocked red
|
|
4075
|
+
Done green
|
|
4076
|
+
rectangle Legal review at: 0 0, size: 160 80, color: red
|
|
4077
|
+
rectangle Copy at: 200 0, size: 160 80, color: green
|
|
4078
|
+
```
|
|
4079
|
+
|
|
4080
|
+
With two or more colours on the board, a legend sits centred above it, below the title, one dot per colour. A colour with an entry shows its name; while no colour is named the legend is drawn faintly, as bare dots. Under two colours there is no legend. `ink` is no colour, and a note in its default yellow does not count. An entry must end with one of the nine colour names, or it is ignored with a warning. Only the first `tag` block is shown.
|
|
4081
|
+
|
|
4069
4082
|
### Images
|
|
4070
4083
|
|
|
4071
4084
|
An image whose ref cannot be loaded — a local file that is not there, or a copied fence — draws a plain box at its size labelled _image not uploaded_. It is never an error.
|
|
@@ -4654,6 +4667,8 @@ The directive set is **13, all colon-free**: six naming intent the renderer can'
|
|
|
4654
4667
|
|
|
4655
4668
|
A pointer to a diagram published at Diagrammo Cloud — the file holds no drawing of its own, and whoever opens it sees the publisher's current version. Renders as a reference card until a host resolves it.
|
|
4656
4669
|
|
|
4670
|
+
**Where the link comes from.** In the Diagrammo app, open the diagram and press Share on the left rail (or ⌘E / Ctrl+E), then "Show on the web" → "Show"; or right-click the diagram in the file list and choose "Show and copy link". Either route copies the link to the clipboard. A diagram that is shown on the web wears an amber globe; pressing the lit amber globe on the left rail copies the link again.
|
|
4671
|
+
|
|
4657
4672
|
**Do not author one from scratch.** A pointer needs a diagram id only the publisher can hand out, so it arrives by being saved from a shared link. It is not offered in any chart-type picker for that reason.
|
|
4658
4673
|
|
|
4659
4674
|
Two forms. The titled form names the diagram and carries a `url` directive:
|
|
@@ -4669,6 +4684,12 @@ The shorthand form is one line, and is what a docs-site fence contains:
|
|
|
4669
4684
|
live-link dgm_01M1JBN56CAVS728HPWDACVNMC
|
|
4670
4685
|
```
|
|
4671
4686
|
|
|
4687
|
+
In a docs-site or Obsidian fence the bare link on a line of its own does the same job:
|
|
4688
|
+
|
|
4689
|
+
```
|
|
4690
|
+
https://online.diagrammo.app/d/dgm_01M1JBN56CAVS728HPWDACVNMC
|
|
4691
|
+
```
|
|
4692
|
+
|
|
4672
4693
|
The id may be the whole share link instead — `live-link ` followed by a paste resolves exactly as the id does:
|
|
4673
4694
|
|
|
4674
4695
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diagrammo/dgmo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.94.0",
|
|
4
4
|
"description": "DGMO diagram markup language — parser, renderer, and color system",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Diagrammo LLC",
|
|
@@ -77,10 +77,6 @@
|
|
|
77
77
|
"docs/*.md",
|
|
78
78
|
"gallery/fixtures"
|
|
79
79
|
],
|
|
80
|
-
"sideEffects": [
|
|
81
|
-
"./src/palettes/*.ts",
|
|
82
|
-
"./dist/palettes/*"
|
|
83
|
-
],
|
|
84
80
|
"scripts": {
|
|
85
81
|
"codegen": "lezer-generator src/editor/dgmo.grammar -o src/editor/dgmo.grammar.js",
|
|
86
82
|
"fonts": "node scripts/build-fonts.mjs",
|
|
@@ -148,7 +144,7 @@
|
|
|
148
144
|
},
|
|
149
145
|
"pnpm": {
|
|
150
146
|
"overrides": {
|
|
151
|
-
"undici": "^7.
|
|
147
|
+
"undici": "^7.30.1"
|
|
152
148
|
}
|
|
153
149
|
},
|
|
154
150
|
"devDependencies": {
|
package/dist/chunk-3Y63RFJL.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
extractColor,
|
|
3
|
-
measureIndent
|
|
4
|
-
} from "./chunk-TIIZIAGS.js";
|
|
5
|
-
import {
|
|
6
|
-
makeDgmoError
|
|
7
|
-
} from "./chunk-BYU54C3S.js";
|
|
8
|
-
|
|
9
|
-
// src/utils/notes/parse.ts
|
|
10
|
-
function parseNoteHeader(rest) {
|
|
11
|
-
const t = rest.trim();
|
|
12
|
-
const quoted = t.match(/^"([^"]+)"\s*(.*)$/);
|
|
13
|
-
if (quoted) {
|
|
14
|
-
return { ref: quoted[1].trim(), inlineBody: quoted[2].trim() };
|
|
15
|
-
}
|
|
16
|
-
const m = t.match(/^(\S+)\s*(.*)$/);
|
|
17
|
-
if (m) {
|
|
18
|
-
return { ref: m[1], inlineBody: m[2].trim() };
|
|
19
|
-
}
|
|
20
|
-
return { ref: t, inlineBody: "" };
|
|
21
|
-
}
|
|
22
|
-
function collectNoteBody(lines, noteIndex, noteIndent, inlineBody) {
|
|
23
|
-
const parts = [];
|
|
24
|
-
if (inlineBody) parts.push(inlineBody);
|
|
25
|
-
let lastIndex = noteIndex;
|
|
26
|
-
let endLineNumber = noteIndex + 1;
|
|
27
|
-
for (let j = noteIndex + 1; j < lines.length; j++) {
|
|
28
|
-
const raw = lines[j];
|
|
29
|
-
const trimmed = raw.trim();
|
|
30
|
-
if (!trimmed) break;
|
|
31
|
-
if (measureIndent(raw) <= noteIndent) break;
|
|
32
|
-
parts.push(trimmed);
|
|
33
|
-
lastIndex = j;
|
|
34
|
-
endLineNumber = j + 1;
|
|
35
|
-
}
|
|
36
|
-
return { body: parts.join("\n"), endLineNumber, lastIndex };
|
|
37
|
-
}
|
|
38
|
-
function tryCollectNote(lines, index, indent, palette, diagnostics) {
|
|
39
|
-
const trimmed = lines[index].trim();
|
|
40
|
-
const m = trimmed.match(/^note\s+(.+)$/i);
|
|
41
|
-
if (!m || /^note\s+->/i.test(trimmed)) return null;
|
|
42
|
-
const lineNumber = index + 1;
|
|
43
|
-
const { label: headerNoColor, color } = extractColor(
|
|
44
|
-
m[1],
|
|
45
|
-
palette,
|
|
46
|
-
diagnostics,
|
|
47
|
-
lineNumber
|
|
48
|
-
);
|
|
49
|
-
const { ref, inlineBody } = parseNoteHeader(headerNoColor);
|
|
50
|
-
const collected = collectNoteBody(lines, index, indent, inlineBody);
|
|
51
|
-
if (!collected.body.trim()) {
|
|
52
|
-
diagnostics.push(
|
|
53
|
-
makeDgmoError(
|
|
54
|
-
lineNumber,
|
|
55
|
-
`Note on "${ref}" has no text \u2014 ignored.`,
|
|
56
|
-
"warning"
|
|
57
|
-
)
|
|
58
|
-
);
|
|
59
|
-
return { lastIndex: collected.lastIndex };
|
|
60
|
-
}
|
|
61
|
-
return {
|
|
62
|
-
note: {
|
|
63
|
-
ref,
|
|
64
|
-
body: collected.body,
|
|
65
|
-
...color && { color },
|
|
66
|
-
lineNumber,
|
|
67
|
-
endLineNumber: collected.endLineNumber
|
|
68
|
-
},
|
|
69
|
-
lastIndex: collected.lastIndex
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export {
|
|
74
|
-
tryCollectNote
|
|
75
|
-
};
|
package/dist/chunk-5DH3KYFH.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// src/utils/note-box/constants.ts
|
|
2
|
-
var NOTE_MAX_W = 200;
|
|
3
|
-
var NOTE_FOLD = 10;
|
|
4
|
-
var NOTE_PAD_H = 8;
|
|
5
|
-
var NOTE_PAD_V = 6;
|
|
6
|
-
var NOTE_FONT_SIZE = 10;
|
|
7
|
-
var NOTE_LINE_H = 14;
|
|
8
|
-
var NOTE_GAP = 22;
|
|
9
|
-
var NOTE_BULLET_INDENT = 10;
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
NOTE_MAX_W,
|
|
13
|
-
NOTE_FOLD,
|
|
14
|
-
NOTE_PAD_H,
|
|
15
|
-
NOTE_PAD_V,
|
|
16
|
-
NOTE_FONT_SIZE,
|
|
17
|
-
NOTE_LINE_H,
|
|
18
|
-
NOTE_GAP,
|
|
19
|
-
NOTE_BULLET_INDENT
|
|
20
|
-
};
|
package/dist/chunk-O753JUEZ.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
normalizeName
|
|
3
|
-
} from "./chunk-NOTA6TEI.js";
|
|
4
|
-
import {
|
|
5
|
-
makeDgmoError,
|
|
6
|
-
suggest
|
|
7
|
-
} from "./chunk-BYU54C3S.js";
|
|
8
|
-
|
|
9
|
-
// src/utils/notes/resolve.ts
|
|
10
|
-
function resolveNotes(notes, targets, diagnostics) {
|
|
11
|
-
const byNodeId = /* @__PURE__ */ new Map();
|
|
12
|
-
if (notes.length === 0) return byNodeId;
|
|
13
|
-
const byNormLabel = /* @__PURE__ */ new Map();
|
|
14
|
-
for (const t of targets) {
|
|
15
|
-
const key = normalizeName(t.label);
|
|
16
|
-
const arr = byNormLabel.get(key);
|
|
17
|
-
if (arr) arr.push(t);
|
|
18
|
-
else byNormLabel.set(key, [t]);
|
|
19
|
-
}
|
|
20
|
-
for (const note of notes) {
|
|
21
|
-
const matches = byNormLabel.get(normalizeName(note.ref));
|
|
22
|
-
if (!matches || matches.length === 0) {
|
|
23
|
-
if (diagnostics) {
|
|
24
|
-
const hint = suggest(
|
|
25
|
-
note.ref,
|
|
26
|
-
targets.map((t) => t.label)
|
|
27
|
-
);
|
|
28
|
-
diagnostics.push(
|
|
29
|
-
makeDgmoError(
|
|
30
|
-
note.lineNumber,
|
|
31
|
-
`Note references unknown node id "${note.ref}".${hint ? " " + hint : ""}`,
|
|
32
|
-
"error"
|
|
33
|
-
)
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const target = matches[0];
|
|
39
|
-
if (matches.length > 1 && diagnostics) {
|
|
40
|
-
diagnostics.push(
|
|
41
|
-
makeDgmoError(
|
|
42
|
-
note.lineNumber,
|
|
43
|
-
`Note ref "${note.ref}" matches ${matches.length} nodes; attaching to the first.`,
|
|
44
|
-
"warning"
|
|
45
|
-
)
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
if (byNodeId.has(target.id)) {
|
|
49
|
-
if (diagnostics) {
|
|
50
|
-
diagnostics.push(
|
|
51
|
-
makeDgmoError(
|
|
52
|
-
note.lineNumber,
|
|
53
|
-
`Multiple notes on node "${target.label}"; keeping the first.`,
|
|
54
|
-
"warning"
|
|
55
|
-
)
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
byNodeId.set(target.id, note);
|
|
61
|
-
}
|
|
62
|
-
return byNodeId;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export {
|
|
66
|
-
resolveNotes
|
|
67
|
-
};
|
package/dist/chunk-RJNZHFNG.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NOTE_BULLET_INDENT,
|
|
3
|
-
NOTE_FOLD,
|
|
4
|
-
NOTE_FONT_SIZE,
|
|
5
|
-
NOTE_LINE_H,
|
|
6
|
-
NOTE_MAX_W,
|
|
7
|
-
NOTE_PAD_H,
|
|
8
|
-
NOTE_PAD_V
|
|
9
|
-
} from "./chunk-5DH3KYFH.js";
|
|
10
|
-
import {
|
|
11
|
-
wrapDescriptionLines
|
|
12
|
-
} from "./chunk-NPWVOFB3.js";
|
|
13
|
-
import {
|
|
14
|
-
measureText
|
|
15
|
-
} from "./chunk-KAO7JL4I.js";
|
|
16
|
-
|
|
17
|
-
// src/utils/note-box/metrics.ts
|
|
18
|
-
function normalizeBulletLine(line) {
|
|
19
|
-
return line.replace(/^\s*[-*]\s+/, "\u2022 ");
|
|
20
|
-
}
|
|
21
|
-
function wrapNoteBody(body, textMaxWidth, fontSize = NOTE_FONT_SIZE) {
|
|
22
|
-
const sourceLines = body.split("\n").map(normalizeBulletLine);
|
|
23
|
-
return wrapDescriptionLines(
|
|
24
|
-
sourceLines,
|
|
25
|
-
textMaxWidth,
|
|
26
|
-
(s) => measureText(s, fontSize)
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
function noteBoxSize(body, opts = {}) {
|
|
30
|
-
const fontSize = opts.fontSize ?? NOTE_FONT_SIZE;
|
|
31
|
-
const maxW = opts.maxW ?? NOTE_MAX_W;
|
|
32
|
-
const textMaxWidth = maxW - NOTE_PAD_H * 2;
|
|
33
|
-
const lines = wrapNoteBody(body, textMaxWidth, fontSize);
|
|
34
|
-
let maxLineW = 0;
|
|
35
|
-
for (const line of lines) {
|
|
36
|
-
const indent = line.kind === "plain" ? 0 : NOTE_BULLET_INDENT;
|
|
37
|
-
const w = measureText(line.text, fontSize) + indent;
|
|
38
|
-
if (w > maxLineW) maxLineW = w;
|
|
39
|
-
}
|
|
40
|
-
const width = Math.min(
|
|
41
|
-
maxW,
|
|
42
|
-
Math.max(80, maxLineW + NOTE_PAD_H * 2 + NOTE_FOLD)
|
|
43
|
-
);
|
|
44
|
-
const height = Math.max(1, lines.length) * NOTE_LINE_H + NOTE_PAD_V * 2;
|
|
45
|
-
return { width, height, lines };
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export {
|
|
49
|
-
wrapNoteBody,
|
|
50
|
-
noteBoxSize
|
|
51
|
-
};
|
package/dist/chunk-Z6DXWULM.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// src/utils/safe-href.ts
|
|
2
|
-
var ALLOWED_SCHEMES = ["http", "https", "mailto"];
|
|
3
|
-
var SCHEME_RE = /^([a-z][a-z0-9+.-]*):/i;
|
|
4
|
-
var LEADING_TRIM_RE = /^[\x00-\x20]+/;
|
|
5
|
-
var URL_STRIP_RE = /[\x09\x0A\x0D]/g;
|
|
6
|
-
function safeHref(url) {
|
|
7
|
-
if (typeof url !== "string") return null;
|
|
8
|
-
const trimmed = url.replace(URL_STRIP_RE, "").replace(LEADING_TRIM_RE, "");
|
|
9
|
-
if (trimmed.length === 0) return null;
|
|
10
|
-
const match = SCHEME_RE.exec(trimmed);
|
|
11
|
-
if (!match) {
|
|
12
|
-
return url;
|
|
13
|
-
}
|
|
14
|
-
const scheme = match[1].toLowerCase();
|
|
15
|
-
if (ALLOWED_SCHEMES.includes(scheme)) {
|
|
16
|
-
return url;
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
safeHref
|
|
23
|
-
};
|
package/dist/layout-5USEVQBY.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
layoutERDiagram
|
|
3
|
-
} from "./chunk-MXAP37W6.js";
|
|
4
|
-
import "./chunk-HXULJZA2.js";
|
|
5
|
-
import "./chunk-X5BUX2GK.js";
|
|
6
|
-
import "./chunk-EJS3K44P.js";
|
|
7
|
-
import "./chunk-FTUMRSGT.js";
|
|
8
|
-
import "./chunk-RJNZHFNG.js";
|
|
9
|
-
import "./chunk-JRWUHLRP.js";
|
|
10
|
-
import "./chunk-5DH3KYFH.js";
|
|
11
|
-
import "./chunk-QT3KDDXK.js";
|
|
12
|
-
import "./chunk-NPWVOFB3.js";
|
|
13
|
-
import "./chunk-S7W75MIM.js";
|
|
14
|
-
import "./chunk-Z6DXWULM.js";
|
|
15
|
-
import "./chunk-ICLB27PZ.js";
|
|
16
|
-
import "./chunk-O753JUEZ.js";
|
|
17
|
-
import "./chunk-NOTA6TEI.js";
|
|
18
|
-
import "./chunk-KAO7JL4I.js";
|
|
19
|
-
import "./chunk-6GXLAKUH.js";
|
|
20
|
-
import "./chunk-3J7O3CU6.js";
|
|
21
|
-
import "./chunk-BYU54C3S.js";
|
|
22
|
-
import "./chunk-YLJ4XMA6.js";
|
|
23
|
-
export {
|
|
24
|
-
layoutERDiagram
|
|
25
|
-
};
|
package/dist/layout-J3AGFZZ7.js
DELETED
package/dist/layout-S3RLVPH4.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
layoutClassDiagram
|
|
3
|
-
} from "./chunk-5EBYPETE.js";
|
|
4
|
-
import "./chunk-HXULJZA2.js";
|
|
5
|
-
import "./chunk-X5BUX2GK.js";
|
|
6
|
-
import "./chunk-EJS3K44P.js";
|
|
7
|
-
import "./chunk-FTUMRSGT.js";
|
|
8
|
-
import "./chunk-RJNZHFNG.js";
|
|
9
|
-
import "./chunk-JRWUHLRP.js";
|
|
10
|
-
import "./chunk-5DH3KYFH.js";
|
|
11
|
-
import "./chunk-QT3KDDXK.js";
|
|
12
|
-
import "./chunk-NPWVOFB3.js";
|
|
13
|
-
import "./chunk-S7W75MIM.js";
|
|
14
|
-
import "./chunk-Z6DXWULM.js";
|
|
15
|
-
import "./chunk-ICLB27PZ.js";
|
|
16
|
-
import "./chunk-O753JUEZ.js";
|
|
17
|
-
import "./chunk-NOTA6TEI.js";
|
|
18
|
-
import "./chunk-KAO7JL4I.js";
|
|
19
|
-
import "./chunk-6GXLAKUH.js";
|
|
20
|
-
import "./chunk-3J7O3CU6.js";
|
|
21
|
-
import "./chunk-BYU54C3S.js";
|
|
22
|
-
import "./chunk-YLJ4XMA6.js";
|
|
23
|
-
export {
|
|
24
|
-
layoutClassDiagram
|
|
25
|
-
};
|
package/dist/layout-WRG4APSJ.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NODE_LABEL_LINE_HEIGHT,
|
|
3
|
-
layoutGraph,
|
|
4
|
-
wrapNodeLabel
|
|
5
|
-
} from "./chunk-5SSTVFPX.js";
|
|
6
|
-
import "./chunk-HXULJZA2.js";
|
|
7
|
-
import "./chunk-X5BUX2GK.js";
|
|
8
|
-
import "./chunk-EJS3K44P.js";
|
|
9
|
-
import "./chunk-FTUMRSGT.js";
|
|
10
|
-
import "./chunk-RJNZHFNG.js";
|
|
11
|
-
import "./chunk-JRWUHLRP.js";
|
|
12
|
-
import "./chunk-5DH3KYFH.js";
|
|
13
|
-
import "./chunk-QT3KDDXK.js";
|
|
14
|
-
import "./chunk-NPWVOFB3.js";
|
|
15
|
-
import "./chunk-S7W75MIM.js";
|
|
16
|
-
import "./chunk-Z6DXWULM.js";
|
|
17
|
-
import "./chunk-ICLB27PZ.js";
|
|
18
|
-
import "./chunk-NXMESY4J.js";
|
|
19
|
-
import "./chunk-3Y63RFJL.js";
|
|
20
|
-
import "./chunk-O753JUEZ.js";
|
|
21
|
-
import "./chunk-NOTA6TEI.js";
|
|
22
|
-
import "./chunk-TIIZIAGS.js";
|
|
23
|
-
import "./chunk-KAO7JL4I.js";
|
|
24
|
-
import "./chunk-6GXLAKUH.js";
|
|
25
|
-
import "./chunk-3J7O3CU6.js";
|
|
26
|
-
import "./chunk-BYU54C3S.js";
|
|
27
|
-
import "./chunk-YLJ4XMA6.js";
|
|
28
|
-
export {
|
|
29
|
-
NODE_LABEL_LINE_HEIGHT,
|
|
30
|
-
layoutGraph,
|
|
31
|
-
wrapNodeLabel
|
|
32
|
-
};
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildSwatches
|
|
3
3
|
} from "./chunk-T7NWBVSC.js";
|
|
4
|
-
import {
|
|
5
|
-
now
|
|
6
|
-
} from "./chunk-3DPOIW3W.js";
|
|
7
4
|
import {
|
|
8
5
|
fixedParts,
|
|
9
6
|
fixedTimeCells,
|
|
@@ -14,6 +11,9 @@ import {
|
|
|
14
11
|
workStatus,
|
|
15
12
|
zoneParts
|
|
16
13
|
} from "./chunk-A2RUBBVT.js";
|
|
14
|
+
import {
|
|
15
|
+
now
|
|
16
|
+
} from "./chunk-3DPOIW3W.js";
|
|
17
17
|
import {
|
|
18
18
|
FONT_FAMILY
|
|
19
19
|
} from "./chunk-ICLB27PZ.js";
|
|
@@ -5,12 +5,17 @@ import {
|
|
|
5
5
|
renderCollapseBar,
|
|
6
6
|
renderNodeCard
|
|
7
7
|
} from "./chunk-R2K5L4UA.js";
|
|
8
|
+
import {
|
|
9
|
+
extractExportSvg,
|
|
10
|
+
runInExportContainer
|
|
11
|
+
} from "./chunk-TOHTKLKE.js";
|
|
8
12
|
import {
|
|
9
13
|
ScaleContext
|
|
10
14
|
} from "./chunk-24YPR5EH.js";
|
|
11
15
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
TITLE_FONT_SIZE,
|
|
17
|
+
TITLE_FONT_WEIGHT
|
|
18
|
+
} from "./chunk-VLC6WNRD.js";
|
|
14
19
|
import {
|
|
15
20
|
CARD_RADIUS,
|
|
16
21
|
COLLAPSE_BAR_HEIGHT,
|
|
@@ -29,22 +34,17 @@ import {
|
|
|
29
34
|
SEPARATOR_GAP
|
|
30
35
|
} from "./chunk-XCKNFFKM.js";
|
|
31
36
|
import {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
} from "./chunk-TOHTKLKE.js";
|
|
37
|
+
renderIntegratedLegend
|
|
38
|
+
} from "./chunk-NMS5XSLX.js";
|
|
35
39
|
import {
|
|
36
40
|
getMaxLegendReservedHeight
|
|
37
41
|
} from "./chunk-JILEYZ2V.js";
|
|
38
42
|
import {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
} from "./chunk-VLC6WNRD.js";
|
|
43
|
+
parseOrg
|
|
44
|
+
} from "./chunk-5OTA2PUH.js";
|
|
42
45
|
import {
|
|
43
46
|
FONT_FAMILY
|
|
44
47
|
} from "./chunk-ICLB27PZ.js";
|
|
45
|
-
import {
|
|
46
|
-
parseOrg
|
|
47
|
-
} from "./chunk-5OTA2PUH.js";
|
|
48
48
|
import {
|
|
49
49
|
resolveTagColor,
|
|
50
50
|
tagAttrKey
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
appendArrowheadMarkers
|
|
3
3
|
} from "./chunk-XBJJP2HN.js";
|
|
4
|
-
import {
|
|
5
|
-
ARROWHEAD_HEIGHT,
|
|
6
|
-
ARROWHEAD_WIDTH,
|
|
7
|
-
EDGE_DASH
|
|
8
|
-
} from "./chunk-XCKNFFKM.js";
|
|
9
4
|
import {
|
|
10
5
|
TITLE_FONT_SIZE,
|
|
11
6
|
TITLE_FONT_WEIGHT,
|
|
12
7
|
TITLE_Y
|
|
13
8
|
} from "./chunk-VLC6WNRD.js";
|
|
9
|
+
import {
|
|
10
|
+
ARROWHEAD_HEIGHT,
|
|
11
|
+
ARROWHEAD_WIDTH,
|
|
12
|
+
EDGE_DASH
|
|
13
|
+
} from "./chunk-XCKNFFKM.js";
|
|
14
14
|
import {
|
|
15
15
|
FONT_FAMILY
|
|
16
16
|
} from "./chunk-ICLB27PZ.js";
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
familyCardRows
|
|
3
3
|
} from "./chunk-IVKC4GID.js";
|
|
4
|
+
import {
|
|
5
|
+
buildCoupleQuotient,
|
|
6
|
+
rankClasses
|
|
7
|
+
} from "./chunk-QQJUTGQH.js";
|
|
4
8
|
import {
|
|
5
9
|
HEADER_HEIGHT,
|
|
6
10
|
LABEL_FONT_SIZE,
|
|
@@ -8,10 +12,6 @@ import {
|
|
|
8
12
|
META_LINE_HEIGHT,
|
|
9
13
|
SEPARATOR_GAP
|
|
10
14
|
} from "./chunk-XCKNFFKM.js";
|
|
11
|
-
import {
|
|
12
|
-
buildCoupleQuotient,
|
|
13
|
-
rankClasses
|
|
14
|
-
} from "./chunk-QQJUTGQH.js";
|
|
15
15
|
import {
|
|
16
16
|
measureText
|
|
17
17
|
} from "./chunk-KAO7JL4I.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
inferParticipantType
|
|
3
3
|
} from "./chunk-C3Z4DX3V.js";
|
|
4
|
-
import {
|
|
5
|
-
parseInArrowLabel
|
|
6
|
-
} from "./chunk-N7VMGZCU.js";
|
|
7
4
|
import {
|
|
8
5
|
tryStripDescriptionKeyword
|
|
9
6
|
} from "./chunk-IYULMRBE.js";
|
|
7
|
+
import {
|
|
8
|
+
parseInArrowLabel
|
|
9
|
+
} from "./chunk-N7VMGZCU.js";
|
|
10
10
|
import {
|
|
11
11
|
normalizeName
|
|
12
12
|
} from "./chunk-NOTA6TEI.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GRAPH_DX
|
|
3
3
|
} from "./chunk-TIVMAITN.js";
|
|
4
|
-
import {
|
|
5
|
-
parseInArrowLabel
|
|
6
|
-
} from "./chunk-N7VMGZCU.js";
|
|
7
4
|
import {
|
|
8
5
|
tryStripDescriptionKeyword
|
|
9
6
|
} from "./chunk-IYULMRBE.js";
|
|
7
|
+
import {
|
|
8
|
+
parseInArrowLabel
|
|
9
|
+
} from "./chunk-N7VMGZCU.js";
|
|
10
10
|
import {
|
|
11
11
|
displayName,
|
|
12
12
|
normalizeName
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EDGE_DASH,
|
|
3
|
-
HAIRLINE_DASH
|
|
4
|
-
} from "./chunk-XCKNFFKM.js";
|
|
5
1
|
import {
|
|
6
2
|
TITLE_FONT_SIZE,
|
|
7
3
|
TITLE_FONT_WEIGHT,
|
|
8
4
|
TITLE_Y
|
|
9
5
|
} from "./chunk-VLC6WNRD.js";
|
|
6
|
+
import {
|
|
7
|
+
EDGE_DASH,
|
|
8
|
+
HAIRLINE_DASH
|
|
9
|
+
} from "./chunk-XCKNFFKM.js";
|
|
10
10
|
import {
|
|
11
11
|
FONT_FAMILY
|
|
12
12
|
} from "./chunk-ICLB27PZ.js";
|