@ours.network/messenger-server 1.0.16 → 1.0.18
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/README.md +44 -0
- package/dist/chunks/{chunk-XTLMQC4C.js → chunk-PRK6P4OX.js} +1 -1
- package/dist/chunks/{server-E57EQNMC.js → server-JWHXNVMM.js} +1493 -1139
- package/dist/cli.js +4 -3
- package/dist/web/assets/{abnfDiagram-N423BO3Z-zYLPcj1g.js → abnfDiagram-N423BO3Z-CaNAt0IP.js} +2 -2
- package/dist/web/assets/{abnfDiagram-N423BO3Z-zYLPcj1g.js.map → abnfDiagram-N423BO3Z-CaNAt0IP.js.map} +1 -1
- package/dist/web/assets/{arc-BFMe4chQ.js → arc-ri02Lqr2.js} +2 -2
- package/dist/web/assets/{arc-BFMe4chQ.js.map → arc-ri02Lqr2.js.map} +1 -1
- package/dist/web/assets/{architectureDiagram-T3A2C74G-BKelkZKH.js → architectureDiagram-T3A2C74G-BcWe26Zl.js} +2 -2
- package/dist/web/assets/{architectureDiagram-T3A2C74G-BKelkZKH.js.map → architectureDiagram-T3A2C74G-BcWe26Zl.js.map} +1 -1
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-CHED2d6n.js → blockDiagram-VBNYF7ZC-B9XdY5wU.js} +2 -2
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-CHED2d6n.js.map → blockDiagram-VBNYF7ZC-B9XdY5wU.js.map} +1 -1
- package/dist/web/assets/{browser-C90Z8xCa.js → browser-PbepkUqh.js} +2 -2
- package/dist/web/assets/{browser-C90Z8xCa.js.map → browser-PbepkUqh.js.map} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-BM9MTPjg.js → c4Diagram-5PPSVZJV-BOhZdiso.js} +2 -2
- package/dist/web/assets/{c4Diagram-5PPSVZJV-BM9MTPjg.js.map → c4Diagram-5PPSVZJV-BOhZdiso.js.map} +1 -1
- package/dist/web/assets/channel-B-t5DHUk.js +2 -0
- package/dist/web/assets/{channel-CNo4GWLb.js.map → channel-B-t5DHUk.js.map} +1 -1
- package/dist/web/assets/{chunk-2GRJ4B5K-C4iVGbxx.js → chunk-2GRJ4B5K-BmDtDHkM.js} +2 -2
- package/dist/web/assets/{chunk-2GRJ4B5K-C4iVGbxx.js.map → chunk-2GRJ4B5K-BmDtDHkM.js.map} +1 -1
- package/dist/web/assets/{chunk-2Q5K7J3B-Dve8Pse2.js → chunk-2Q5K7J3B-BO2yESYY.js} +2 -2
- package/dist/web/assets/{chunk-2Q5K7J3B-Dve8Pse2.js.map → chunk-2Q5K7J3B-BO2yESYY.js.map} +1 -1
- package/dist/web/assets/{chunk-5RXB4S5H-C2oB-qjN.js → chunk-5RXB4S5H-kiRAsZwd.js} +2 -2
- package/dist/web/assets/{chunk-5RXB4S5H-C2oB-qjN.js.map → chunk-5RXB4S5H-kiRAsZwd.js.map} +1 -1
- package/dist/web/assets/{chunk-5VM5RSS4-DWcZ1FCf.js → chunk-5VM5RSS4-xV0NOwF4.js} +2 -2
- package/dist/web/assets/{chunk-5VM5RSS4-DWcZ1FCf.js.map → chunk-5VM5RSS4-xV0NOwF4.js.map} +1 -1
- package/dist/web/assets/{chunk-6Q2QTUOP-DiQ5-a8V.js → chunk-6Q2QTUOP-8NePja9o.js} +2 -2
- package/dist/web/assets/{chunk-6Q2QTUOP-DiQ5-a8V.js.map → chunk-6Q2QTUOP-8NePja9o.js.map} +1 -1
- package/dist/web/assets/{chunk-GF5L2VYU-CFdwjOhW.js → chunk-GF5L2VYU-CUJFN94c.js} +2 -2
- package/dist/web/assets/{chunk-GF5L2VYU-CFdwjOhW.js.map → chunk-GF5L2VYU-CUJFN94c.js.map} +1 -1
- package/dist/web/assets/{chunk-JWPE2WC7-Bw73DQVt.js → chunk-JWPE2WC7-CmSXGXsn.js} +2 -2
- package/dist/web/assets/{chunk-JWPE2WC7-Bw73DQVt.js.map → chunk-JWPE2WC7-CmSXGXsn.js.map} +1 -1
- package/dist/web/assets/{chunk-KBJHAD2P-DjRu5gDe.js → chunk-KBJHAD2P-BwZFX8JQ.js} +2 -2
- package/dist/web/assets/{chunk-KBJHAD2P-DjRu5gDe.js.map → chunk-KBJHAD2P-BwZFX8JQ.js.map} +1 -1
- package/dist/web/assets/{chunk-RYQCIY6F-DH_lQJgv.js → chunk-RYQCIY6F-Dc_jHsY9.js} +2 -2
- package/dist/web/assets/{chunk-RYQCIY6F-DH_lQJgv.js.map → chunk-RYQCIY6F-Dc_jHsY9.js.map} +1 -1
- package/dist/web/assets/{chunk-XXDRQBXY-D-sQ51mo.js → chunk-XXDRQBXY-BSpU2O2R.js} +2 -2
- package/dist/web/assets/{chunk-XXDRQBXY-D-sQ51mo.js.map → chunk-XXDRQBXY-BSpU2O2R.js.map} +1 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-GYNSwMqh.js +2 -0
- package/dist/web/assets/{classDiagram-JCYQIIEL-n1b9u-Rf.js.map → classDiagram-JCYQIIEL-GYNSwMqh.js.map} +1 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-GYNSwMqh.js +2 -0
- package/dist/web/assets/{classDiagram-v2-OCEON4UE-n1b9u-Rf.js.map → classDiagram-v2-OCEON4UE-GYNSwMqh.js.map} +1 -1
- package/dist/web/assets/{cose-bilkent-JH36ORCC-DqKiC30z.js → cose-bilkent-JH36ORCC-D-4EPeBC.js} +2 -2
- package/dist/web/assets/{cose-bilkent-JH36ORCC-DqKiC30z.js.map → cose-bilkent-JH36ORCC-D-4EPeBC.js.map} +1 -1
- package/dist/web/assets/{cynefin-VYW2F7L2-NdwQRwjo.js → cynefin-VYW2F7L2-DghzfVZI.js} +2 -2
- package/dist/web/assets/{cynefin-VYW2F7L2-NdwQRwjo.js.map → cynefin-VYW2F7L2-DghzfVZI.js.map} +1 -1
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-BQAM0nx5.js → cynefinDiagram-MW4NZA55-BHcay-r_.js} +2 -2
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-BQAM0nx5.js.map → cynefinDiagram-MW4NZA55-BHcay-r_.js.map} +1 -1
- package/dist/web/assets/{dagre-VZM6K2ZE-BakUuCWI.js → dagre-VZM6K2ZE-Des0F0T2.js} +2 -2
- package/dist/web/assets/{dagre-VZM6K2ZE-BakUuCWI.js.map → dagre-VZM6K2ZE-Des0F0T2.js.map} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-DqlokNoJ.js → diagram-7IWD3JNH-CyIsW9-s.js} +2 -2
- package/dist/web/assets/{diagram-7IWD3JNH-DqlokNoJ.js.map → diagram-7IWD3JNH-CyIsW9-s.js.map} +1 -1
- package/dist/web/assets/{diagram-B4RE2ZJO-CxfL2Ohr.js → diagram-B4RE2ZJO-CPfT5zo4.js} +2 -2
- package/dist/web/assets/{diagram-B4RE2ZJO-CxfL2Ohr.js.map → diagram-B4RE2ZJO-CPfT5zo4.js.map} +1 -1
- package/dist/web/assets/{diagram-LBJQPF4R-Bf5hVD55.js → diagram-LBJQPF4R-BnhAYxgj.js} +2 -2
- package/dist/web/assets/{diagram-LBJQPF4R-Bf5hVD55.js.map → diagram-LBJQPF4R-BnhAYxgj.js.map} +1 -1
- package/dist/web/assets/{diagram-Q27KOJAE-CvO71PHg.js → diagram-Q27KOJAE-BTUkMYjS.js} +2 -2
- package/dist/web/assets/{diagram-Q27KOJAE-CvO71PHg.js.map → diagram-Q27KOJAE-BTUkMYjS.js.map} +1 -1
- package/dist/web/assets/{diagram-UB23O5K3-iQhxWPij.js → diagram-UB23O5K3-BO_rjksX.js} +2 -2
- package/dist/web/assets/{diagram-UB23O5K3-iQhxWPij.js.map → diagram-UB23O5K3-BO_rjksX.js.map} +1 -1
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-3knPZeRi.js → ebnfDiagram-BXEA7PRR-Bfw7baSq.js} +2 -2
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-3knPZeRi.js.map → ebnfDiagram-BXEA7PRR-Bfw7baSq.js.map} +1 -1
- package/dist/web/assets/{erDiagram-JOGREHBK-BusNzhCo.js → erDiagram-JOGREHBK-CGBfvZDV.js} +2 -2
- package/dist/web/assets/{erDiagram-JOGREHBK-BusNzhCo.js.map → erDiagram-JOGREHBK-CGBfvZDV.js.map} +1 -1
- package/dist/web/assets/{flowDiagram-UKHOOZJN-D1GiHCui.js → flowDiagram-UKHOOZJN-B5EmiiTz.js} +2 -2
- package/dist/web/assets/{flowDiagram-UKHOOZJN-D1GiHCui.js.map → flowDiagram-UKHOOZJN-B5EmiiTz.js.map} +1 -1
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-cQM02Z_A.js → ganttDiagram-PKOTCBZU-CGqSoEb0.js} +2 -2
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-cQM02Z_A.js.map → ganttDiagram-PKOTCBZU-CGqSoEb0.js.map} +1 -1
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-mys_yOmq.js → gitGraphDiagram-DS77QQ5N-DH6rsz4e.js} +2 -2
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-mys_yOmq.js.map → gitGraphDiagram-DS77QQ5N-DH6rsz4e.js.map} +1 -1
- package/dist/web/assets/index-C00qXlD3.js +321 -0
- package/dist/web/assets/index-C00qXlD3.js.map +1 -0
- package/dist/web/assets/index-x_ixrgA8.css +1 -0
- package/dist/web/assets/{infoDiagram-6WML65LV-CYUIhFE6.js → infoDiagram-6WML65LV-8GyCoK8Y.js} +2 -2
- package/dist/web/assets/{infoDiagram-6WML65LV-CYUIhFE6.js.map → infoDiagram-6WML65LV-8GyCoK8Y.js.map} +1 -1
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-D0gaNJgz.js → ishikawaDiagram-WSZJBQD7-DsTRK7c-.js} +2 -2
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-D0gaNJgz.js.map → ishikawaDiagram-WSZJBQD7-DsTRK7c-.js.map} +1 -1
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-DIhXjZwD.js → journeyDiagram-NVQOT4AX-CoEJq9zb.js} +2 -2
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-DIhXjZwD.js.map → journeyDiagram-NVQOT4AX-CoEJq9zb.js.map} +1 -1
- package/dist/web/assets/{jsQR-C8ubx0fr.js → jsQR-BOfQcojE.js} +2 -2
- package/dist/web/assets/{jsQR-C8ubx0fr.js.map → jsQR-BOfQcojE.js.map} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-BxGDo3GN.js → kanban-definition-27J2QSJJ-DIzs-NjM.js} +2 -2
- package/dist/web/assets/{kanban-definition-27J2QSJJ-BxGDo3GN.js.map → kanban-definition-27J2QSJJ-DIzs-NjM.js.map} +1 -1
- package/dist/web/assets/{linear-CUc_zRCa.js → linear-DFz1zZyg.js} +2 -2
- package/dist/web/assets/{linear-CUc_zRCa.js.map → linear-DFz1zZyg.js.map} +1 -1
- package/dist/web/assets/{mermaid.core-CT_PukdE.js → mermaid.core-f1Ho-4dn.js} +5 -5
- package/dist/web/assets/{mermaid.core-CT_PukdE.js.map → mermaid.core-f1Ho-4dn.js.map} +1 -1
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-DzSWAB1J.js → mindmap-definition-FAOFIHXS-BGel_L1u.js} +2 -2
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-DzSWAB1J.js.map → mindmap-definition-FAOFIHXS-BGel_L1u.js.map} +1 -1
- package/dist/web/assets/{pegDiagram-VL7TDLO6-B7M9OfRG.js → pegDiagram-VL7TDLO6-CH3zwC78.js} +2 -2
- package/dist/web/assets/{pegDiagram-VL7TDLO6-B7M9OfRG.js.map → pegDiagram-VL7TDLO6-CH3zwC78.js.map} +1 -1
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-BcYxwyY_.js → pieDiagram-7S7Q4E2Y-DENb9y8v.js} +2 -2
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-BcYxwyY_.js.map → pieDiagram-7S7Q4E2Y-DENb9y8v.js.map} +1 -1
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-Cqm-8BCr.js → quadrantDiagram-CIZ2JOQS-BLK1220s.js} +2 -2
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-Cqm-8BCr.js.map → quadrantDiagram-CIZ2JOQS-BLK1220s.js.map} +1 -1
- package/dist/web/assets/{railroadDiagram-AXF67PYL-Cd4kbtKm.js → railroadDiagram-AXF67PYL-BBDl06Il.js} +2 -2
- package/dist/web/assets/{railroadDiagram-AXF67PYL-Cd4kbtKm.js.map → railroadDiagram-AXF67PYL-BBDl06Il.js.map} +1 -1
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-0QC6DgKB.js → requirementDiagram-LRYGKXZP-Kfi1Dz3z.js} +2 -2
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-0QC6DgKB.js.map → requirementDiagram-LRYGKXZP-Kfi1Dz3z.js.map} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-Dbw_ZsTK.js → sankeyDiagram-W5VNT64P-C4iAR6nR.js} +2 -2
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-Dbw_ZsTK.js.map → sankeyDiagram-W5VNT64P-C4iAR6nR.js.map} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-CTtqv5hy.js → sequenceDiagram-SI44F4Z6-CKRWa4zT.js} +2 -2
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-CTtqv5hy.js.map → sequenceDiagram-SI44F4Z6-CKRWa4zT.js.map} +1 -1
- package/dist/web/assets/{sizeCapture-X5ZJPWSS-DEKrTD1X.js → sizeCapture-X5ZJPWSS-BNtX7Lu1.js} +2 -2
- package/dist/web/assets/{sizeCapture-X5ZJPWSS-DEKrTD1X.js.map → sizeCapture-X5ZJPWSS-BNtX7Lu1.js.map} +1 -1
- package/dist/web/assets/{stateDiagram-OKZ733FA-QTIZuWV9.js → stateDiagram-OKZ733FA-5ZsbTa9R.js} +2 -2
- package/dist/web/assets/{stateDiagram-OKZ733FA-QTIZuWV9.js.map → stateDiagram-OKZ733FA-5ZsbTa9R.js.map} +1 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DTZRWphk.js +2 -0
- package/dist/web/assets/{stateDiagram-v2-UEYNNEHI-CrwRGZAU.js.map → stateDiagram-v2-UEYNNEHI-DTZRWphk.js.map} +1 -1
- package/dist/web/assets/{swimlanes-SLNWSIFB-uVYP6afm.js → swimlanes-SLNWSIFB-g2hMvWhj.js} +3 -3
- package/dist/web/assets/{swimlanes-SLNWSIFB-uVYP6afm.js.map → swimlanes-SLNWSIFB-g2hMvWhj.js.map} +1 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DhyxkK3y.js +9 -0
- package/dist/web/assets/{swimlanesDiagram-ULZ7WXOC-Ck34axny.js.map → swimlanesDiagram-ULZ7WXOC-DhyxkK3y.js.map} +1 -1
- package/dist/web/assets/{timeline-definition-Z64GVDOM-qp3Mh9Uw.js → timeline-definition-Z64GVDOM-CDKcjIt1.js} +2 -2
- package/dist/web/assets/{timeline-definition-Z64GVDOM-qp3Mh9Uw.js.map → timeline-definition-Z64GVDOM-CDKcjIt1.js.map} +1 -1
- package/dist/web/assets/{vennDiagram-T6HMQDX7-BV12qOhE.js → vennDiagram-T6HMQDX7-tW7OofM5.js} +2 -2
- package/dist/web/assets/{vennDiagram-T6HMQDX7-BV12qOhE.js.map → vennDiagram-T6HMQDX7-tW7OofM5.js.map} +1 -1
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-CD3UVrjV.js → wardleyDiagram-T6FBY63Y-CFrWaO2w.js} +2 -2
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-CD3UVrjV.js.map → wardleyDiagram-T6FBY63Y-CFrWaO2w.js.map} +1 -1
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-cB0ynd1S.js → xychartDiagram-ELKLHX3M-Ci3g3fFj.js} +2 -2
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-cB0ynd1S.js.map → xychartDiagram-ELKLHX3M-Ci3g3fFj.js.map} +1 -1
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/web/version.json +1 -1
- package/package.json +9 -8
- package/dist/web/assets/channel-CNo4GWLb.js +0 -2
- package/dist/web/assets/classDiagram-JCYQIIEL-n1b9u-Rf.js +0 -2
- package/dist/web/assets/classDiagram-v2-OCEON4UE-n1b9u-Rf.js +0 -2
- package/dist/web/assets/index-BWQQ5ucz.css +0 -1
- package/dist/web/assets/index-CAvELUgG.js +0 -321
- package/dist/web/assets/index-CAvELUgG.js.map +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CrwRGZAU.js +0 -2
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-Ck34axny.js +0 -9
package/dist/web/assets/{cynefinDiagram-MW4NZA55-BQAM0nx5.js → cynefinDiagram-MW4NZA55-BHcay-r_.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as xt}from"./chunk-JWPE2WC7-
|
|
1
|
+
import{p as xt}from"./chunk-JWPE2WC7-CmSXGXsn.js";import{s as gt,g as $t,o as bt,n as wt,a as Ct,b as vt,_ as s,l as O,D as Dt,e as kt,p as At,A as U,y as Q,B as Tt,E as ot}from"./mermaid.core-f1Ho-4dn.js";import{p as Bt}from"./cynefin-VYW2F7L2-DghzfVZI.js";import"./index-C00qXlD3.js";var rt=s(()=>({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(O.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>U({...Tt.cynefin,...Q().cynefin}),"getConfig"),Pt=s(()=>{At(),H=rt()},"clear"),Y={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},It=s(t=>{xt(t,Y),Y.setDomains(t.domains),Y.setTransitions(t.transitions)},"populate"),Wt={parse:s(async t=>{const e=await Bt("cynefin",t);O.debug(e),It(e)},"parse")};function V(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(V,"seededRandom");function st(t){let e=0;for(let n=0;n<t.length;n++){const a=t.charCodeAt(n);e=(e<<5)-e+a,e|=0}return e}s(st,"hashString");function it(t,e){return typeof t=="number"&&Number.isFinite(t)&&t!==0?t:st(e)}s(it,"resolveSeed");function ct(t,e,n,a){const c=t/2,m=a??t*.015,v=7,W=e/v,d=[];for(let o=0;o<=v;o++){const p=V(n+o*17)*m*2-m;d.push({x:c+p,y:o*W})}let D=`M${d[0].x},${d[0].y}`;for(let o=0;o<d.length-1;o++){const p=d[o],i=d[o+1],f=(p.y+i.y)/2,b=o%2===0?1:-1,h=m*1.5*b*V(n+o*31+7),R=p.x+h,_=f,E=i.x-h;D+=` C${R},${_} ${E},${f} ${i.x},${i.y}`}return D}s(ct,"generateFoldPath");function lt(t,e,n,a){const c=e/2,m=a??e*.015,v=7,W=t/v,d=[];for(let o=0;o<=v;o++){const p=V(n+o*23)*m*2-m;d.push({x:o*W,y:c+p})}let D=`M${d[0].x},${d[0].y}`;for(let o=0;o<d.length-1;o++){const p=d[o],i=d[o+1],f=(p.x+i.x)/2,b=o%2===0?1:-1,h=m*1.5*b*V(n+o*37+11),R=f,_=p.y+h,E=f,z=i.y-h;D+=` C${R},${_} ${E},${z} ${i.x},${i.y}`}return D}s(lt,"generateHorizontalBoundary");function dt(t,e){const n=t/2,a=e*.5,c=e,m=t*.03;return[`M${n},${a}`,`C${n+m},${a+(c-a)*.2}`,`${n-m*1.5},${a+(c-a)*.55}`,`${n+m*.5},${a+(c-a)*.75}`,`C${n-m},${a+(c-a)*.85}`,`${n+m*.3},${a+(c-a)*.95}`,`${n},${c}`].join(" ")}s(dt,"generateCliffPath");function ft(t,e,n,a){return[`M${t-n},${e}`,`A${n},${a} 0 1,1 ${t+n},${e}`,`A${n},${a} 0 1,1 ${t-n},${e}`,"Z"].join(" ")}s(ft,"generateConfusionPath");var at={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},Rt=s((t,e)=>{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),_t=s(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinDomainColors"),q=3,Et=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),W=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=_t();O.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,_=i+b*2,E=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,E,_,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${_} ${E}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const A=k.append("g").attr("transform",`translate(${b}, ${b})`),F=Rt(i,f),Z=it(o.seed,e),mt=A.append("g").attr("class","cynefin-backgrounds"),X=["complex","complicated","chaotic","clear"];for(const l of X){const r=F[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=A.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;A.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=A.append("g").attr("class","cynefin-labels");for(const l of X){const r=F[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=A.append("g").attr("class","cynefin-subtitles");for(const r of X){const u=F[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=A.append("g").attr("class","cynefin-items"),T=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=F[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>q&&(N=r.items.length-q,L=r.items.slice(0,q));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(T+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,I=u.cx-C/2;M.attr("transform",`translate(${I}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",T/2)}),N>0){const g=B+L.length*(T+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const I=$.getBBox();I.width>0&&(P=I.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",T/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=A.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=F[y.from],N=F[y.to];if(!L||!N)return;if(y.from===y.to){O.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),I=C*.15,G=-x/C,ht=$/C,et=M+G*I,nt=P+ht*I;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}W&&A.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(W)},"draw"),Ft={draw:Et},Vt=s(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Vt();return`
|
|
2
2
|
.cynefinDomain {
|
|
3
3
|
stroke: none;
|
|
4
4
|
}
|
|
@@ -60,4 +60,4 @@ import{p as xt}from"./chunk-JWPE2WC7-Bw73DQVt.js";import{s as gt,g as $t,o as bt
|
|
|
60
60
|
fill: ${t.labelColor};
|
|
61
61
|
}
|
|
62
62
|
`},"styles"),Gt=Ht,qt={parser:Wt,db:Y,renderer:Ft,styles:Gt};export{qt as diagram};
|
|
63
|
-
//# sourceMappingURL=cynefinDiagram-MW4NZA55-
|
|
63
|
+
//# sourceMappingURL=cynefinDiagram-MW4NZA55-BHcay-r_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cynefinDiagram-MW4NZA55-BQAM0nx5.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/cynefinDiagram-MW4NZA55.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-3NCLNEKW.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-NSK5VX7P.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-I66GZJ75.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/cynefin/cynefinParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/cynefin/cynefinDb.ts\nvar createDefaultData = /* @__PURE__ */ __name(() => ({\n domains: /* @__PURE__ */ new Map(),\n transitions: []\n}), \"createDefaultData\");\nvar data = createDefaultData();\nvar getDomains = /* @__PURE__ */ __name(() => data.domains, \"getDomains\");\nvar getTransitions = /* @__PURE__ */ __name(() => data.transitions, \"getTransitions\");\nvar setDomains = /* @__PURE__ */ __name((blocks) => {\n if (!blocks) {\n return;\n }\n for (const block of blocks) {\n const domainName = block.domain;\n const items = (block.items ?? []).map((item) => ({\n label: item.label\n }));\n data.domains.set(domainName, {\n name: domainName,\n items\n });\n }\n}, \"setDomains\");\nvar setTransitions = /* @__PURE__ */ __name((transitions) => {\n if (!transitions) {\n return;\n }\n data.transitions = transitions.filter((t) => {\n if (t.from === t.to) {\n log.warn(\n `Cynefin: self-loop transition on domain \"${t.from}\" is not meaningful and will be skipped.`\n );\n return false;\n }\n return true;\n }).map((t) => ({\n from: t.from,\n to: t.to,\n label: t.label || void 0\n }));\n}, \"setTransitions\");\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge({\n ...defaultConfig_default.cynefin,\n ...getConfig().cynefin\n });\n}, \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = createDefaultData();\n}, \"clear\");\nvar db = {\n getDomains,\n getTransitions,\n setDomains,\n setTransitions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/cynefin/cynefinParser.ts\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n db.setDomains(ast.domains);\n db.setTransitions(ast.transitions);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"cynefin\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/cynefin/cynefinBoundaries.ts\nfunction seededRandom(seed) {\n let t = seed + 1831565813 | 0;\n t = Math.imul(t ^ t >>> 15, t | 1);\n t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n return ((t ^ t >>> 14) >>> 0) / 4294967296;\n}\n__name(seededRandom, \"seededRandom\");\nfunction hashString(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash |= 0;\n }\n return hash;\n}\n__name(hashString, \"hashString\");\nfunction resolveSeed(configuredSeed, id) {\n if (typeof configuredSeed === \"number\" && Number.isFinite(configuredSeed) && configuredSeed !== 0) {\n return configuredSeed;\n }\n return hashString(id);\n}\n__name(resolveSeed, \"resolveSeed\");\nfunction generateFoldPath(width, height, seed, amplitudeOverride) {\n const cx = width / 2;\n const amplitude = amplitudeOverride ?? width * 0.015;\n const segments = 7;\n const segHeight = height / segments;\n const points = [];\n for (let i = 0; i <= segments; i++) {\n const jitter = seededRandom(seed + i * 17) * amplitude * 2 - amplitude;\n points.push({ x: cx + jitter, y: i * segHeight });\n }\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < points.length - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const midY = (p0.y + p1.y) / 2;\n const dir = i % 2 === 0 ? 1 : -1;\n const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 31 + 7);\n const cp1x = p0.x + offset;\n const cp1y = midY;\n const cp2x = p1.x - offset;\n const cp2y = midY;\n d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;\n }\n return d;\n}\n__name(generateFoldPath, \"generateFoldPath\");\nfunction generateHorizontalBoundary(width, height, seed, amplitudeOverride) {\n const cy = height / 2;\n const amplitude = amplitudeOverride ?? height * 0.015;\n const segments = 7;\n const segWidth = width / segments;\n const points = [];\n for (let i = 0; i <= segments; i++) {\n const jitter = seededRandom(seed + i * 23) * amplitude * 2 - amplitude;\n points.push({ x: i * segWidth, y: cy + jitter });\n }\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < points.length - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const midX = (p0.x + p1.x) / 2;\n const dir = i % 2 === 0 ? 1 : -1;\n const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 37 + 11);\n const cp1x = midX;\n const cp1y = p0.y + offset;\n const cp2x = midX;\n const cp2y = p1.y - offset;\n d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;\n }\n return d;\n}\n__name(generateHorizontalBoundary, \"generateHorizontalBoundary\");\nfunction generateCliffPath(width, height) {\n const cx = width / 2;\n const topY = height * 0.5;\n const bottomY = height;\n const amplitude = width * 0.03;\n return [\n `M${cx},${topY}`,\n `C${cx + amplitude},${topY + (bottomY - topY) * 0.2}`,\n `${cx - amplitude * 1.5},${topY + (bottomY - topY) * 0.55}`,\n `${cx + amplitude * 0.5},${topY + (bottomY - topY) * 0.75}`,\n `C${cx - amplitude},${topY + (bottomY - topY) * 0.85}`,\n `${cx + amplitude * 0.3},${topY + (bottomY - topY) * 0.95}`,\n `${cx},${bottomY}`\n ].join(\" \");\n}\n__name(generateCliffPath, \"generateCliffPath\");\nfunction generateConfusionPath(cx, cy, rx, ry) {\n return [\n `M${cx - rx},${cy}`,\n `A${rx},${ry} 0 1,1 ${cx + rx},${cy}`,\n `A${rx},${ry} 0 1,1 ${cx - rx},${cy}`,\n \"Z\"\n ].join(\" \");\n}\n__name(generateConfusionPath, \"generateConfusionPath\");\n\n// src/diagrams/cynefin/cynefinRenderer.ts\nvar DOMAIN_META = {\n complex: { model: \"Probe \\u2192 Sense \\u2192 Respond\", practice: \"Emergent Practices\" },\n complicated: { model: \"Sense \\u2192 Analyse \\u2192 Respond\", practice: \"Good Practices\" },\n clear: { model: \"Sense \\u2192 Categorise \\u2192 Respond\", practice: \"Best Practices\" },\n chaotic: { model: \"Act \\u2192 Sense \\u2192 Respond\", practice: \"Novel Practices\" },\n confusion: { model: \"\", practice: \"Disorder\" }\n};\nvar getDomainLayouts = /* @__PURE__ */ __name((width, height) => {\n const hw = width / 2;\n const hh = height / 2;\n return {\n complex: { cx: hw / 2, cy: hh / 2, x: 0, y: 0, w: hw, h: hh },\n complicated: { cx: hw + hw / 2, cy: hh / 2, x: hw, y: 0, w: hw, h: hh },\n chaotic: { cx: hw / 2, cy: hh + hh / 2, x: 0, y: hh, w: hw, h: hh },\n clear: { cx: hw + hw / 2, cy: hh + hh / 2, x: hw, y: hh, w: hw, h: hh },\n confusion: { cx: hw, cy: hh, x: hw * 0.7, y: hh * 0.7, w: hw * 0.6, h: hh * 0.6 }\n };\n}, \"getDomainLayouts\");\nvar getCynefinDomainColors = /* @__PURE__ */ __name(() => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n return themeVariables.cynefin;\n}, \"getCynefinDomainColors\");\nvar MAX_CONFUSION_ITEMS = 3;\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const domains = db2.getDomains();\n const transitions = db2.getTransitions();\n const title = db2.getDiagramTitle();\n const accTitle = db2.getAccTitle();\n const accDescription = db2.getAccDescription();\n const config = db2.getConfig();\n const domainColors = getCynefinDomainColors();\n log.debug(\"Rendering Cynefin diagram\");\n const width = config.width;\n const height = config.height;\n const padding = config.padding;\n const showDomainDescriptions = config.showDomainDescriptions;\n const boundaryAmplitude = config.boundaryAmplitude;\n const totalWidth = width + padding * 2;\n const totalHeight = height + padding * 2;\n const domainBg = {\n complex: domainColors.complexBg,\n complicated: domainColors.complicatedBg,\n clear: domainColors.clearBg,\n chaotic: domainColors.chaoticBg,\n confusion: domainColors.confusionBg\n };\n const svg = selectSvgElement(id);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`);\n if (accTitle) {\n svg.append(\"title\").text(accTitle);\n }\n if (accDescription) {\n svg.append(\"desc\").text(accDescription);\n }\n const root = svg.append(\"g\").attr(\"transform\", `translate(${padding}, ${padding})`);\n const layouts = getDomainLayouts(width, height);\n const seed = resolveSeed(config.seed, id);\n const bgGroup = root.append(\"g\").attr(\"class\", \"cynefin-backgrounds\");\n const quadrantDomains = [\"complex\", \"complicated\", \"chaotic\", \"clear\"];\n for (const domainName of quadrantDomains) {\n const layout = layouts[domainName];\n bgGroup.append(\"rect\").attr(\"class\", \"cynefinDomain\").attr(\"x\", layout.x).attr(\"y\", layout.y).attr(\"width\", layout.w).attr(\"height\", layout.h).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.4).attr(\"stroke\", \"none\");\n }\n const boundaryGroup = root.append(\"g\").attr(\"class\", \"cynefin-boundaries\");\n boundaryGroup.append(\"path\").attr(\"class\", \"cynefinBoundary\").attr(\"d\", generateFoldPath(width, height, seed, boundaryAmplitude)).attr(\"fill\", \"none\");\n boundaryGroup.append(\"path\").attr(\"class\", \"cynefinBoundary\").attr(\"d\", generateHorizontalBoundary(width, height, seed + 100, boundaryAmplitude)).attr(\"fill\", \"none\");\n boundaryGroup.append(\"path\").attr(\"class\", \"cynefinCliff\").attr(\"d\", generateCliffPath(width, height)).attr(\"fill\", \"none\");\n const confusionRx = width * 0.15;\n const confusionRy = height * 0.15;\n root.append(\"path\").attr(\"class\", \"cynefinConfusion\").attr(\"d\", generateConfusionPath(width / 2, height / 2, confusionRx, confusionRy)).attr(\"fill\", domainBg.confusion).attr(\"fill-opacity\", 0.5);\n const labelGroup = root.append(\"g\").attr(\"class\", \"cynefin-labels\");\n for (const domainName of quadrantDomains) {\n const layout = layouts[domainName];\n labelGroup.append(\"text\").attr(\"class\", \"cynefinDomainLabel\").attr(\"x\", layout.cx).attr(\"y\", showDomainDescriptions ? layout.cy - 30 : layout.cy).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(domainName.charAt(0).toUpperCase() + domainName.slice(1));\n }\n labelGroup.append(\"text\").attr(\"class\", \"cynefinDomainLabel\").attr(\"x\", width / 2).attr(\"y\", showDomainDescriptions ? height / 2 - 10 : height / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(\"Confusion\");\n if (showDomainDescriptions) {\n const subtitleGroup = root.append(\"g\").attr(\"class\", \"cynefin-subtitles\");\n for (const domainName of quadrantDomains) {\n const layout = layouts[domainName];\n const meta = DOMAIN_META[domainName];\n subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", layout.cx).attr(\"y\", layout.cy - 10).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(meta.model);\n subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", layout.cx).attr(\"y\", layout.cy + 5).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(meta.practice);\n }\n subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", width / 2).attr(\"y\", height / 2 + 8).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(DOMAIN_META.confusion.practice);\n }\n const itemGroup = root.append(\"g\").attr(\"class\", \"cynefin-items\");\n const itemHeight = 26;\n const itemPaddingX = 10;\n const allDomains = [\"complex\", \"complicated\", \"chaotic\", \"clear\", \"confusion\"];\n for (const domainName of allDomains) {\n const domain = domains.get(domainName);\n if (!domain || domain.items.length === 0) {\n continue;\n }\n const layout = layouts[domainName];\n const isConfusion = domainName === \"confusion\";\n let itemsToRender = domain.items;\n let overflowCount = 0;\n if (isConfusion && domain.items.length > MAX_CONFUSION_ITEMS) {\n overflowCount = domain.items.length - MAX_CONFUSION_ITEMS;\n itemsToRender = domain.items.slice(0, MAX_CONFUSION_ITEMS);\n }\n let startY;\n if (isConfusion) {\n const labelOffset = showDomainDescriptions ? 22 : 14;\n startY = layout.cy + labelOffset;\n } else {\n startY = layout.cy + (showDomainDescriptions ? 25 : 15);\n }\n [...itemsToRender].forEach((item, idx) => {\n const itemY = startY + idx * (itemHeight + 4);\n const g = itemGroup.append(\"g\");\n const textEl = g.append(\"text\").attr(\"class\", \"cynefinItemText\").attr(\"x\", 0).attr(\"y\", itemHeight / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"central\").text(item.label);\n let measuredWidth = item.label.length * 7;\n const textNode = textEl.node();\n if (textNode && typeof textNode.getBBox === \"function\") {\n const bbox = textNode.getBBox();\n if (bbox.width > 0) {\n measuredWidth = bbox.width;\n }\n }\n const badgeWidth = measuredWidth + itemPaddingX * 2;\n const itemX = layout.cx - badgeWidth / 2;\n g.attr(\"transform\", `translate(${itemX}, ${itemY})`);\n g.insert(\"rect\", \"text\").attr(\"class\", \"cynefinItem\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", badgeWidth).attr(\"height\", itemHeight).attr(\"rx\", 4).attr(\"ry\", 4).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.95);\n textEl.attr(\"x\", badgeWidth / 2).attr(\"y\", itemHeight / 2);\n });\n if (overflowCount > 0) {\n const overflowY = startY + itemsToRender.length * (itemHeight + 4);\n const overflowLabel = `+${overflowCount} more`;\n const g = itemGroup.append(\"g\");\n const textEl = g.append(\"text\").attr(\"class\", \"cynefinItemText\").attr(\"x\", 0).attr(\"y\", itemHeight / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"central\").text(overflowLabel);\n let measuredWidth = overflowLabel.length * 7;\n const textNode = textEl.node();\n if (textNode && typeof textNode.getBBox === \"function\") {\n const bbox = textNode.getBBox();\n if (bbox.width > 0) {\n measuredWidth = bbox.width;\n }\n }\n const badgeWidth = measuredWidth + itemPaddingX * 2;\n const itemX = layout.cx - badgeWidth / 2;\n g.attr(\"transform\", `translate(${itemX}, ${overflowY})`);\n g.insert(\"rect\", \"text\").attr(\"class\", \"cynefinItemOverflow\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", badgeWidth).attr(\"height\", itemHeight).attr(\"rx\", 4).attr(\"ry\", 4).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.6);\n textEl.attr(\"x\", badgeWidth / 2).attr(\"y\", itemHeight / 2);\n }\n }\n if (transitions.length > 0) {\n const defs = svg.select(\"defs\").empty() ? svg.append(\"defs\") : svg.select(\"defs\");\n const markerId = `cynefin-arrow-${id}`;\n defs.append(\"marker\").attr(\"id\", markerId).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerWidth\", 6).attr(\"markerHeight\", 6).attr(\"orient\", \"auto-start-reverse\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"class\", \"cynefinArrowHead\");\n const arrowGroup = root.append(\"g\").attr(\"class\", \"cynefin-arrows\");\n transitions.forEach((transition) => {\n const fromLayout = layouts[transition.from];\n const toLayout = layouts[transition.to];\n if (!fromLayout || !toLayout) {\n return;\n }\n if (transition.from === transition.to) {\n log.warn(`Cynefin renderer: skipping self-loop on domain \"${transition.from}\"`);\n return;\n }\n const x1 = fromLayout.cx;\n const y1 = fromLayout.cy;\n const x2 = toLayout.cx;\n const y2 = toLayout.cy;\n const mx = (x1 + x2) / 2;\n const my = (y1 + y2) / 2;\n const dx = x2 - x1;\n const dy = y2 - y1;\n const len = Math.sqrt(dx * dx + dy * dy);\n const offsetAmount = len * 0.15;\n const nx = -dy / len;\n const ny = dx / len;\n const cpx = mx + nx * offsetAmount;\n const cpy = my + ny * offsetAmount;\n arrowGroup.append(\"path\").attr(\"class\", \"cynefinArrowLine\").attr(\"d\", `M${x1},${y1} Q${cpx},${cpy} ${x2},${y2}`).attr(\"fill\", \"none\").attr(\"marker-end\", `url(#${markerId})`);\n if (transition.label) {\n arrowGroup.append(\"text\").attr(\"class\", \"cynefinArrowLabel\").attr(\"x\", cpx).attr(\"y\", cpy - 6).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"auto\").text(transition.label);\n }\n });\n }\n if (title) {\n root.append(\"text\").attr(\"class\", \"cynefinTitle\").attr(\"x\", width / 2).attr(\"y\", -padding / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(title);\n }\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/cynefin/styles.ts\nvar getCynefinTheme = /* @__PURE__ */ __name(() => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n return themeVariables.cynefin;\n}, \"getCynefinTheme\");\nvar styles = /* @__PURE__ */ __name(() => {\n const t = getCynefinTheme();\n return `\n\t.cynefinDomain {\n\t\tstroke: none;\n\t}\n\t.cynefinDomainLabel {\n\t\tfont-size: ${t.domainFontSize}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t.cynefinSubtitle {\n\t\tfont-size: ${t.itemFontSize - 1}px;\n\t\tfill: ${t.textColor};\n\t\tfont-style: italic;\n\t}\n\t.cynefinItem {\n\t\tfill-opacity: 0.95;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t}\n\t.cynefinItemText {\n\t\tfont-size: ${t.itemFontSize}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinItemOverflow {\n\t\tfill-opacity: 0.6;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t\tstroke-dasharray: 3 2;\n\t}\n\t.cynefinBoundary {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: ${t.boundaryWidth};\n\t\tstroke-dasharray: 6 3;\n\t}\n\t.cynefinCliff {\n\t\tstroke: ${t.cliffColor};\n\t\tstroke-width: ${t.cliffWidth};\n\t}\n\t.cynefinConfusion {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1.5;\n\t\tstroke-dasharray: 4 2;\n\t}\n\t.cynefinArrowLine {\n\t\tstroke: ${t.arrowColor};\n\t\tstroke-width: ${t.arrowWidth};\n\t\tfill: none;\n\t}\n\t.cynefinArrowHead {\n\t\tfill: ${t.arrowColor};\n\t\tstroke: none;\n\t}\n\t.cynefinArrowLabel {\n\t\tfont-size: ${t.itemFontSize - 1}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinTitle {\n\t\tfont-size: ${t.domainFontSize + 2}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t`;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/cynefin/cynefinDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["createDefaultData","__name","data","getDomains","getTransitions","setDomains","blocks","block","domainName","items","item","setTransitions","transitions","t","log","getConfig2","cleanAndMerge","defaultConfig_default","getConfig","clear2","clear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","populate","ast","populateCommonDb","parser","input","parse","seededRandom","seed","hashString","str","hash","i","ch","resolveSeed","configuredSeed","id","generateFoldPath","width","height","amplitudeOverride","cx","amplitude","segments","segHeight","points","jitter","d","p0","p1","midY","dir","offset","cp1x","cp1y","cp2x","generateHorizontalBoundary","cy","segWidth","midX","cp2y","generateCliffPath","topY","bottomY","generateConfusionPath","rx","ry","DOMAIN_META","getDomainLayouts","hw","hh","getCynefinDomainColors","defaultThemeVariables","getThemeVariables","currentConfig","MAX_CONFUSION_ITEMS","draw","_text","_version","diagram2","db2","domains","title","accTitle","accDescription","config","domainColors","padding","showDomainDescriptions","boundaryAmplitude","totalWidth","totalHeight","domainBg","svg","selectSvgElement","configureSvgSize","root","layouts","bgGroup","quadrantDomains","layout","boundaryGroup","confusionRx","confusionRy","labelGroup","subtitleGroup","meta","itemGroup","itemHeight","itemPaddingX","allDomains","domain","isConfusion","itemsToRender","overflowCount","startY","labelOffset","idx","itemY","g","textEl","measuredWidth","textNode","bbox","badgeWidth","itemX","overflowY","overflowLabel","defs","markerId","arrowGroup","transition","fromLayout","toLayout","x1","y1","x2","y2","mx","my","dx","dy","len","offsetAmount","nx","ny","cpx","cpy","renderer","getCynefinTheme","styles","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"cynefinDiagram-MW4NZA55-BHcay-r_.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/cynefinDiagram-MW4NZA55.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-3NCLNEKW.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-NSK5VX7P.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-I66GZJ75.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/cynefin/cynefinParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/cynefin/cynefinDb.ts\nvar createDefaultData = /* @__PURE__ */ __name(() => ({\n domains: /* @__PURE__ */ new Map(),\n transitions: []\n}), \"createDefaultData\");\nvar data = createDefaultData();\nvar getDomains = /* @__PURE__ */ __name(() => data.domains, \"getDomains\");\nvar getTransitions = /* @__PURE__ */ __name(() => data.transitions, \"getTransitions\");\nvar setDomains = /* @__PURE__ */ __name((blocks) => {\n if (!blocks) {\n return;\n }\n for (const block of blocks) {\n const domainName = block.domain;\n const items = (block.items ?? []).map((item) => ({\n label: item.label\n }));\n data.domains.set(domainName, {\n name: domainName,\n items\n });\n }\n}, \"setDomains\");\nvar setTransitions = /* @__PURE__ */ __name((transitions) => {\n if (!transitions) {\n return;\n }\n data.transitions = transitions.filter((t) => {\n if (t.from === t.to) {\n log.warn(\n `Cynefin: self-loop transition on domain \"${t.from}\" is not meaningful and will be skipped.`\n );\n return false;\n }\n return true;\n }).map((t) => ({\n from: t.from,\n to: t.to,\n label: t.label || void 0\n }));\n}, \"setTransitions\");\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge({\n ...defaultConfig_default.cynefin,\n ...getConfig().cynefin\n });\n}, \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = createDefaultData();\n}, \"clear\");\nvar db = {\n getDomains,\n getTransitions,\n setDomains,\n setTransitions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/cynefin/cynefinParser.ts\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n db.setDomains(ast.domains);\n db.setTransitions(ast.transitions);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"cynefin\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/cynefin/cynefinBoundaries.ts\nfunction seededRandom(seed) {\n let t = seed + 1831565813 | 0;\n t = Math.imul(t ^ t >>> 15, t | 1);\n t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n return ((t ^ t >>> 14) >>> 0) / 4294967296;\n}\n__name(seededRandom, \"seededRandom\");\nfunction hashString(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash |= 0;\n }\n return hash;\n}\n__name(hashString, \"hashString\");\nfunction resolveSeed(configuredSeed, id) {\n if (typeof configuredSeed === \"number\" && Number.isFinite(configuredSeed) && configuredSeed !== 0) {\n return configuredSeed;\n }\n return hashString(id);\n}\n__name(resolveSeed, \"resolveSeed\");\nfunction generateFoldPath(width, height, seed, amplitudeOverride) {\n const cx = width / 2;\n const amplitude = amplitudeOverride ?? width * 0.015;\n const segments = 7;\n const segHeight = height / segments;\n const points = [];\n for (let i = 0; i <= segments; i++) {\n const jitter = seededRandom(seed + i * 17) * amplitude * 2 - amplitude;\n points.push({ x: cx + jitter, y: i * segHeight });\n }\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < points.length - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const midY = (p0.y + p1.y) / 2;\n const dir = i % 2 === 0 ? 1 : -1;\n const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 31 + 7);\n const cp1x = p0.x + offset;\n const cp1y = midY;\n const cp2x = p1.x - offset;\n const cp2y = midY;\n d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;\n }\n return d;\n}\n__name(generateFoldPath, \"generateFoldPath\");\nfunction generateHorizontalBoundary(width, height, seed, amplitudeOverride) {\n const cy = height / 2;\n const amplitude = amplitudeOverride ?? height * 0.015;\n const segments = 7;\n const segWidth = width / segments;\n const points = [];\n for (let i = 0; i <= segments; i++) {\n const jitter = seededRandom(seed + i * 23) * amplitude * 2 - amplitude;\n points.push({ x: i * segWidth, y: cy + jitter });\n }\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < points.length - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const midX = (p0.x + p1.x) / 2;\n const dir = i % 2 === 0 ? 1 : -1;\n const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 37 + 11);\n const cp1x = midX;\n const cp1y = p0.y + offset;\n const cp2x = midX;\n const cp2y = p1.y - offset;\n d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;\n }\n return d;\n}\n__name(generateHorizontalBoundary, \"generateHorizontalBoundary\");\nfunction generateCliffPath(width, height) {\n const cx = width / 2;\n const topY = height * 0.5;\n const bottomY = height;\n const amplitude = width * 0.03;\n return [\n `M${cx},${topY}`,\n `C${cx + amplitude},${topY + (bottomY - topY) * 0.2}`,\n `${cx - amplitude * 1.5},${topY + (bottomY - topY) * 0.55}`,\n `${cx + amplitude * 0.5},${topY + (bottomY - topY) * 0.75}`,\n `C${cx - amplitude},${topY + (bottomY - topY) * 0.85}`,\n `${cx + amplitude * 0.3},${topY + (bottomY - topY) * 0.95}`,\n `${cx},${bottomY}`\n ].join(\" \");\n}\n__name(generateCliffPath, \"generateCliffPath\");\nfunction generateConfusionPath(cx, cy, rx, ry) {\n return [\n `M${cx - rx},${cy}`,\n `A${rx},${ry} 0 1,1 ${cx + rx},${cy}`,\n `A${rx},${ry} 0 1,1 ${cx - rx},${cy}`,\n \"Z\"\n ].join(\" \");\n}\n__name(generateConfusionPath, \"generateConfusionPath\");\n\n// src/diagrams/cynefin/cynefinRenderer.ts\nvar DOMAIN_META = {\n complex: { model: \"Probe \\u2192 Sense \\u2192 Respond\", practice: \"Emergent Practices\" },\n complicated: { model: \"Sense \\u2192 Analyse \\u2192 Respond\", practice: \"Good Practices\" },\n clear: { model: \"Sense \\u2192 Categorise \\u2192 Respond\", practice: \"Best Practices\" },\n chaotic: { model: \"Act \\u2192 Sense \\u2192 Respond\", practice: \"Novel Practices\" },\n confusion: { model: \"\", practice: \"Disorder\" }\n};\nvar getDomainLayouts = /* @__PURE__ */ __name((width, height) => {\n const hw = width / 2;\n const hh = height / 2;\n return {\n complex: { cx: hw / 2, cy: hh / 2, x: 0, y: 0, w: hw, h: hh },\n complicated: { cx: hw + hw / 2, cy: hh / 2, x: hw, y: 0, w: hw, h: hh },\n chaotic: { cx: hw / 2, cy: hh + hh / 2, x: 0, y: hh, w: hw, h: hh },\n clear: { cx: hw + hw / 2, cy: hh + hh / 2, x: hw, y: hh, w: hw, h: hh },\n confusion: { cx: hw, cy: hh, x: hw * 0.7, y: hh * 0.7, w: hw * 0.6, h: hh * 0.6 }\n };\n}, \"getDomainLayouts\");\nvar getCynefinDomainColors = /* @__PURE__ */ __name(() => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n return themeVariables.cynefin;\n}, \"getCynefinDomainColors\");\nvar MAX_CONFUSION_ITEMS = 3;\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const domains = db2.getDomains();\n const transitions = db2.getTransitions();\n const title = db2.getDiagramTitle();\n const accTitle = db2.getAccTitle();\n const accDescription = db2.getAccDescription();\n const config = db2.getConfig();\n const domainColors = getCynefinDomainColors();\n log.debug(\"Rendering Cynefin diagram\");\n const width = config.width;\n const height = config.height;\n const padding = config.padding;\n const showDomainDescriptions = config.showDomainDescriptions;\n const boundaryAmplitude = config.boundaryAmplitude;\n const totalWidth = width + padding * 2;\n const totalHeight = height + padding * 2;\n const domainBg = {\n complex: domainColors.complexBg,\n complicated: domainColors.complicatedBg,\n clear: domainColors.clearBg,\n chaotic: domainColors.chaoticBg,\n confusion: domainColors.confusionBg\n };\n const svg = selectSvgElement(id);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`);\n if (accTitle) {\n svg.append(\"title\").text(accTitle);\n }\n if (accDescription) {\n svg.append(\"desc\").text(accDescription);\n }\n const root = svg.append(\"g\").attr(\"transform\", `translate(${padding}, ${padding})`);\n const layouts = getDomainLayouts(width, height);\n const seed = resolveSeed(config.seed, id);\n const bgGroup = root.append(\"g\").attr(\"class\", \"cynefin-backgrounds\");\n const quadrantDomains = [\"complex\", \"complicated\", \"chaotic\", \"clear\"];\n for (const domainName of quadrantDomains) {\n const layout = layouts[domainName];\n bgGroup.append(\"rect\").attr(\"class\", \"cynefinDomain\").attr(\"x\", layout.x).attr(\"y\", layout.y).attr(\"width\", layout.w).attr(\"height\", layout.h).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.4).attr(\"stroke\", \"none\");\n }\n const boundaryGroup = root.append(\"g\").attr(\"class\", \"cynefin-boundaries\");\n boundaryGroup.append(\"path\").attr(\"class\", \"cynefinBoundary\").attr(\"d\", generateFoldPath(width, height, seed, boundaryAmplitude)).attr(\"fill\", \"none\");\n boundaryGroup.append(\"path\").attr(\"class\", \"cynefinBoundary\").attr(\"d\", generateHorizontalBoundary(width, height, seed + 100, boundaryAmplitude)).attr(\"fill\", \"none\");\n boundaryGroup.append(\"path\").attr(\"class\", \"cynefinCliff\").attr(\"d\", generateCliffPath(width, height)).attr(\"fill\", \"none\");\n const confusionRx = width * 0.15;\n const confusionRy = height * 0.15;\n root.append(\"path\").attr(\"class\", \"cynefinConfusion\").attr(\"d\", generateConfusionPath(width / 2, height / 2, confusionRx, confusionRy)).attr(\"fill\", domainBg.confusion).attr(\"fill-opacity\", 0.5);\n const labelGroup = root.append(\"g\").attr(\"class\", \"cynefin-labels\");\n for (const domainName of quadrantDomains) {\n const layout = layouts[domainName];\n labelGroup.append(\"text\").attr(\"class\", \"cynefinDomainLabel\").attr(\"x\", layout.cx).attr(\"y\", showDomainDescriptions ? layout.cy - 30 : layout.cy).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(domainName.charAt(0).toUpperCase() + domainName.slice(1));\n }\n labelGroup.append(\"text\").attr(\"class\", \"cynefinDomainLabel\").attr(\"x\", width / 2).attr(\"y\", showDomainDescriptions ? height / 2 - 10 : height / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(\"Confusion\");\n if (showDomainDescriptions) {\n const subtitleGroup = root.append(\"g\").attr(\"class\", \"cynefin-subtitles\");\n for (const domainName of quadrantDomains) {\n const layout = layouts[domainName];\n const meta = DOMAIN_META[domainName];\n subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", layout.cx).attr(\"y\", layout.cy - 10).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(meta.model);\n subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", layout.cx).attr(\"y\", layout.cy + 5).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(meta.practice);\n }\n subtitleGroup.append(\"text\").attr(\"class\", \"cynefinSubtitle\").attr(\"x\", width / 2).attr(\"y\", height / 2 + 8).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(DOMAIN_META.confusion.practice);\n }\n const itemGroup = root.append(\"g\").attr(\"class\", \"cynefin-items\");\n const itemHeight = 26;\n const itemPaddingX = 10;\n const allDomains = [\"complex\", \"complicated\", \"chaotic\", \"clear\", \"confusion\"];\n for (const domainName of allDomains) {\n const domain = domains.get(domainName);\n if (!domain || domain.items.length === 0) {\n continue;\n }\n const layout = layouts[domainName];\n const isConfusion = domainName === \"confusion\";\n let itemsToRender = domain.items;\n let overflowCount = 0;\n if (isConfusion && domain.items.length > MAX_CONFUSION_ITEMS) {\n overflowCount = domain.items.length - MAX_CONFUSION_ITEMS;\n itemsToRender = domain.items.slice(0, MAX_CONFUSION_ITEMS);\n }\n let startY;\n if (isConfusion) {\n const labelOffset = showDomainDescriptions ? 22 : 14;\n startY = layout.cy + labelOffset;\n } else {\n startY = layout.cy + (showDomainDescriptions ? 25 : 15);\n }\n [...itemsToRender].forEach((item, idx) => {\n const itemY = startY + idx * (itemHeight + 4);\n const g = itemGroup.append(\"g\");\n const textEl = g.append(\"text\").attr(\"class\", \"cynefinItemText\").attr(\"x\", 0).attr(\"y\", itemHeight / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"central\").text(item.label);\n let measuredWidth = item.label.length * 7;\n const textNode = textEl.node();\n if (textNode && typeof textNode.getBBox === \"function\") {\n const bbox = textNode.getBBox();\n if (bbox.width > 0) {\n measuredWidth = bbox.width;\n }\n }\n const badgeWidth = measuredWidth + itemPaddingX * 2;\n const itemX = layout.cx - badgeWidth / 2;\n g.attr(\"transform\", `translate(${itemX}, ${itemY})`);\n g.insert(\"rect\", \"text\").attr(\"class\", \"cynefinItem\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", badgeWidth).attr(\"height\", itemHeight).attr(\"rx\", 4).attr(\"ry\", 4).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.95);\n textEl.attr(\"x\", badgeWidth / 2).attr(\"y\", itemHeight / 2);\n });\n if (overflowCount > 0) {\n const overflowY = startY + itemsToRender.length * (itemHeight + 4);\n const overflowLabel = `+${overflowCount} more`;\n const g = itemGroup.append(\"g\");\n const textEl = g.append(\"text\").attr(\"class\", \"cynefinItemText\").attr(\"x\", 0).attr(\"y\", itemHeight / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"central\").text(overflowLabel);\n let measuredWidth = overflowLabel.length * 7;\n const textNode = textEl.node();\n if (textNode && typeof textNode.getBBox === \"function\") {\n const bbox = textNode.getBBox();\n if (bbox.width > 0) {\n measuredWidth = bbox.width;\n }\n }\n const badgeWidth = measuredWidth + itemPaddingX * 2;\n const itemX = layout.cx - badgeWidth / 2;\n g.attr(\"transform\", `translate(${itemX}, ${overflowY})`);\n g.insert(\"rect\", \"text\").attr(\"class\", \"cynefinItemOverflow\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", badgeWidth).attr(\"height\", itemHeight).attr(\"rx\", 4).attr(\"ry\", 4).attr(\"fill\", domainBg[domainName]).attr(\"fill-opacity\", 0.6);\n textEl.attr(\"x\", badgeWidth / 2).attr(\"y\", itemHeight / 2);\n }\n }\n if (transitions.length > 0) {\n const defs = svg.select(\"defs\").empty() ? svg.append(\"defs\") : svg.select(\"defs\");\n const markerId = `cynefin-arrow-${id}`;\n defs.append(\"marker\").attr(\"id\", markerId).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerWidth\", 6).attr(\"markerHeight\", 6).attr(\"orient\", \"auto-start-reverse\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"class\", \"cynefinArrowHead\");\n const arrowGroup = root.append(\"g\").attr(\"class\", \"cynefin-arrows\");\n transitions.forEach((transition) => {\n const fromLayout = layouts[transition.from];\n const toLayout = layouts[transition.to];\n if (!fromLayout || !toLayout) {\n return;\n }\n if (transition.from === transition.to) {\n log.warn(`Cynefin renderer: skipping self-loop on domain \"${transition.from}\"`);\n return;\n }\n const x1 = fromLayout.cx;\n const y1 = fromLayout.cy;\n const x2 = toLayout.cx;\n const y2 = toLayout.cy;\n const mx = (x1 + x2) / 2;\n const my = (y1 + y2) / 2;\n const dx = x2 - x1;\n const dy = y2 - y1;\n const len = Math.sqrt(dx * dx + dy * dy);\n const offsetAmount = len * 0.15;\n const nx = -dy / len;\n const ny = dx / len;\n const cpx = mx + nx * offsetAmount;\n const cpy = my + ny * offsetAmount;\n arrowGroup.append(\"path\").attr(\"class\", \"cynefinArrowLine\").attr(\"d\", `M${x1},${y1} Q${cpx},${cpy} ${x2},${y2}`).attr(\"fill\", \"none\").attr(\"marker-end\", `url(#${markerId})`);\n if (transition.label) {\n arrowGroup.append(\"text\").attr(\"class\", \"cynefinArrowLabel\").attr(\"x\", cpx).attr(\"y\", cpy - 6).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"auto\").text(transition.label);\n }\n });\n }\n if (title) {\n root.append(\"text\").attr(\"class\", \"cynefinTitle\").attr(\"x\", width / 2).attr(\"y\", -padding / 2).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(title);\n }\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/cynefin/styles.ts\nvar getCynefinTheme = /* @__PURE__ */ __name(() => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n return themeVariables.cynefin;\n}, \"getCynefinTheme\");\nvar styles = /* @__PURE__ */ __name(() => {\n const t = getCynefinTheme();\n return `\n\t.cynefinDomain {\n\t\tstroke: none;\n\t}\n\t.cynefinDomainLabel {\n\t\tfont-size: ${t.domainFontSize}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t.cynefinSubtitle {\n\t\tfont-size: ${t.itemFontSize - 1}px;\n\t\tfill: ${t.textColor};\n\t\tfont-style: italic;\n\t}\n\t.cynefinItem {\n\t\tfill-opacity: 0.95;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t}\n\t.cynefinItemText {\n\t\tfont-size: ${t.itemFontSize}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinItemOverflow {\n\t\tfill-opacity: 0.6;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t\tstroke-dasharray: 3 2;\n\t}\n\t.cynefinBoundary {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: ${t.boundaryWidth};\n\t\tstroke-dasharray: 6 3;\n\t}\n\t.cynefinCliff {\n\t\tstroke: ${t.cliffColor};\n\t\tstroke-width: ${t.cliffWidth};\n\t}\n\t.cynefinConfusion {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1.5;\n\t\tstroke-dasharray: 4 2;\n\t}\n\t.cynefinArrowLine {\n\t\tstroke: ${t.arrowColor};\n\t\tstroke-width: ${t.arrowWidth};\n\t\tfill: none;\n\t}\n\t.cynefinArrowHead {\n\t\tfill: ${t.arrowColor};\n\t\tstroke: none;\n\t}\n\t.cynefinArrowLabel {\n\t\tfont-size: ${t.itemFontSize - 1}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinTitle {\n\t\tfont-size: ${t.domainFontSize + 2}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t`;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/cynefin/cynefinDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["createDefaultData","__name","data","getDomains","getTransitions","setDomains","blocks","block","domainName","items","item","setTransitions","transitions","t","log","getConfig2","cleanAndMerge","defaultConfig_default","getConfig","clear2","clear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","populate","ast","populateCommonDb","parser","input","parse","seededRandom","seed","hashString","str","hash","i","ch","resolveSeed","configuredSeed","id","generateFoldPath","width","height","amplitudeOverride","cx","amplitude","segments","segHeight","points","jitter","d","p0","p1","midY","dir","offset","cp1x","cp1y","cp2x","generateHorizontalBoundary","cy","segWidth","midX","cp2y","generateCliffPath","topY","bottomY","generateConfusionPath","rx","ry","DOMAIN_META","getDomainLayouts","hw","hh","getCynefinDomainColors","defaultThemeVariables","getThemeVariables","currentConfig","MAX_CONFUSION_ITEMS","draw","_text","_version","diagram2","db2","domains","title","accTitle","accDescription","config","domainColors","padding","showDomainDescriptions","boundaryAmplitude","totalWidth","totalHeight","domainBg","svg","selectSvgElement","configureSvgSize","root","layouts","bgGroup","quadrantDomains","layout","boundaryGroup","confusionRx","confusionRy","labelGroup","subtitleGroup","meta","itemGroup","itemHeight","itemPaddingX","allDomains","domain","isConfusion","itemsToRender","overflowCount","startY","labelOffset","idx","itemY","g","textEl","measuredWidth","textNode","bbox","badgeWidth","itemX","overflowY","overflowLabel","defs","markerId","arrowGroup","transition","fromLayout","toLayout","x1","y1","x2","y2","mx","my","dx","dy","len","offsetAmount","nx","ny","cpx","cpy","renderer","getCynefinTheme","styles","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{c as O,w as I,a as J,f as P,b as E,s as A}from"./chunk-RYQCIY6F-
|
|
1
|
+
import{c as O,w as I,a as J,f as P,b as E,s as A}from"./chunk-RYQCIY6F-Dc_jHsY9.js";import{_ as w,am as v,an as D,ao as H,ap as Y,l,c as _,aq as W,ar as $,ae as j,as as q,af as R,ad as F,at as z,au as K,av as G}from"./mermaid.core-f1Ho-4dn.js";import{G as Q}from"./graph-gxHQN9-b.js";import{l as U}from"./layout-CpcJW2by.js";import"./map-CKPHyBGT.js";import"./index-C00qXlD3.js";var C=w((s,t,g)=>Math.max(t,Math.min(g,s)),"clamp"),B=w((s="TB")=>{switch(s){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),V=w(s=>s==="flowchart"||s==="flowchart-v2"||s==="stateDiagram","shouldMergeSelfLoopSegments"),Z=w((s,t,g,y,c)=>{const o=[],r=new Set;if(g.forEach(({start:i,end:n})=>{i!==y&&r.add(i),n!==y&&r.add(n)}),r.forEach(i=>{const n=s.node(i);typeof n?.x=="number"&&typeof n?.y=="number"&&o.push(n)}),o.length===0&&g.forEach(({edge:i})=>{(i.points??[]).forEach(n=>{typeof n?.x=="number"&&typeof n?.y=="number"&&o.push(n)})}),o.length===0)return B(c);const f=o.reduce((i,n)=>({x:i.x+n.x/o.length,y:i.y+n.y/o.length}),{x:0,y:0}),h=f.x-t.x,a=f.y-t.y;return Math.abs(h)>Math.abs(a)?h>0?"right":"left":Math.abs(a)>0?a>0?"bottom":"top":B(c)},"getSelfLoopSide"),ee=w((s,t="top",g=0,y=0)=>{const c=s.x,o=s.y-g,r=s.width/2,f=s.height/2,h=Math.max(36,Math.min(100,s.width*.8)),a=C(Math.max(y,s.width*.35),36,h),i=C(Math.min(s.width,s.height)*.45,24,48);switch(t){case"bottom":{const n=o+f;return[{x:c-a/2,y:n},{x:c-a/2,y:n+i},{x:c+a/2,y:n+i},{x:c+a/2,y:n}]}case"right":{const n=c+r;return[{x:n,y:o-a/2},{x:n+i,y:o-a/2},{x:n+i,y:o+a/2},{x:n,y:o+a/2}]}case"left":{const n=c-r;return[{x:n,y:o-a/2},{x:n-i,y:o-a/2},{x:n-i,y:o+a/2},{x:n,y:o+a/2}]}case"top":default:{const n=o-f;return[{x:c-a/2,y:n},{x:c-a/2,y:n-i},{x:c+a/2,y:n-i},{x:c+a/2,y:n}]}}},"getSelfLoopPoints"),te=w((s,t,g="top",y=0,c={})=>{const r=s.x,f=s.y-y,h=c.width??0,a=c.height??0;switch(g){case"bottom":return{x:r,y:Math.max(...t.map(i=>i.y))+a/2+4};case"right":return{x:Math.max(...t.map(i=>i.x))+h/2+4,y:f};case"left":return{x:Math.min(...t.map(i=>i.x))-h/2-4,y:f};case"top":default:return{x:r,y:Math.min(...t.map(i=>i.y))-a/2-4}}},"getSelfLoopLabelPosition"),ne=w((s,t=0,{mergeSelfLoops:g=!0}={})=>{const y=new Map,c=[],o=s.graph()?.rankdir;return s.edges().forEach(r=>{const f=s.edge(r);if(g&&f.selfLoop){const h=f.selfLoop.id;y.has(h)||y.set(h,[]),y.get(h).push({edge:f,start:r.v,end:r.w})}else c.push({edge:f,start:r.v,end:r.w})}),y.forEach(r=>{if(r.length!==3){r.forEach(L=>c.push(L));return}r.sort((L,d)=>L.edge.selfLoop.order-d.edge.selfLoop.order);const[f,h,a]=r,i=f.edge.originalEdge??h.edge.originalEdge??a.edge.originalEdge??h.edge,n=s.node(i.start);if(!n){r.forEach(L=>c.push(L));return}const p={width:h.edge.width,height:h.edge.height},m=Z(s,n,r,i.start,o),X=ee(n,m,t,p.width??0),S=te(n,X,m,t,p),b={...h.edge,...i,id:i.id,points:X,start:i.start,end:i.end,x:S.x,y:S.y,width:p.width,height:p.height,labelStyle:h.edge.labelStyle,fromCluster:f.edge.fromCluster??h.edge.fromCluster??a.edge.fromCluster,toCluster:f.edge.toCluster??h.edge.toCluster??a.edge.toCluster};delete b.selfLoop,delete b.originalEdge,c.push({edge:b,start:b.start,end:b.end})}),c},"getEdgesToRender"),T=w(async(s,t,g,y,c,o)=>{l.warn("Graph in recursive render:XAX",I(t),c);const r=t.graph().rankdir;l.trace("Dir in recursive render - dir:",r);const f=s.insert("g").attr("class","root");t.nodes()?l.info("Recursive render XXX",t.nodes()):l.info("No nodes found for",t),t.edges().length>0&&l.info("Recursive edges",t.edge(t.edges()[0]));const h=f.insert("g").attr("class","clusters"),a=f.insert("g").attr("class","edgePaths"),i=f.insert("g").attr("class","edgeLabels"),n=f.insert("g").attr("class","nodes"),p=V(g);await Promise.all(t.nodes().map(async function(d){const e=t.node(d);if(c!==void 0){const u=JSON.parse(JSON.stringify(c.clusterData));l.trace(`Setting data for parent cluster XXX
|
|
2
2
|
Node.id = `,d,`
|
|
3
3
|
data=`,u.height,`
|
|
4
4
|
Parent cluster`,c.height),t.setNode(c.id,u),t.parent(d)||(l.trace("Setting parent",d,c.id),t.setParent(d,c.id,u))}if(l.info("(Insert) Node XXX"+d+": "+JSON.stringify(t.node(d))),e?.clusterNode){l.info("Cluster identified XBX",d,e.width,t.node(d));const{ranksep:u,nodesep:x}=t.graph();e.graph.setGraph({...e.graph.graph(),ranksep:u+25,nodesep:x});const N=await T(n,e.graph,g,y,t.node(d),o),M=N.elem;W(e,M),e.diff=N.diff||0,l.info("New compound node after recursive render XAX",d,"width",e.width,"height",e.height),$(M,e)}else t.children(d).length>0?(l.trace("Cluster - the non recursive path XBX",d,e.id,e,e.width,"Graph:",t),l.trace(P(e.id,t)),E.set(e.id,{id:P(e.id,t),node:e})):(l.trace("Node - the non recursive path XAX",d,n,t.node(d),r),await j(n,t.node(d),{config:o,dir:r}))})),await w(async()=>{const d=t.edges().map(async function(e){const u=t.edge(e.v,e.w,e.name);if(l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),l.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),l.info("Fix",E,"ids:",e.v,e.w,"Translating: ",E.get(e.v),E.get(e.w)),p&&u.selfLoop){if(u.selfLoop.order!==1)return;const x=u.id;u.id=u.selfLoop.id,await G(i,u),u.id=x;return}await G(i,u)});await Promise.all(d)},"processEdges")(),l.info("Graph before layout:",JSON.stringify(I(t))),l.info("############################################# XXX"),l.info("### Layout ### XXX"),l.info("############################################# XXX"),U(t),l.info("Graph after layout:",JSON.stringify(I(t)));let X=0,{subGraphTitleTotalMargin:S}=q(o);await Promise.all(A(t).map(async function(d){const e=t.node(d);if(l.info("Position XBX => "+d+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e?.clusterNode)e.y+=S,l.info("A tainted cluster node XBX1",d,e.id,e.width,e.height,e.x,e.y,t.parent(d)),E.get(e.id).node=e,R(e);else if(t.children(d).length>0){l.info("A pure cluster node XBX1",d,e.id,e.x,e.y,e.width,e.height,t.parent(d)),e.height+=S,t.node(e.parentId);const u=e?.padding/2||0,x=e?.labelBBox?.height||0,N=x-u||0;l.debug("OffsetY",N,"labelHeight",x,"halfPadding",u),await F(h,e),E.get(e.id).node=e}else{const u=t.node(e.parentId);e.y+=S/2,l.info("A regular node XBX1 - using the padding",e.id,"parent",e.parentId,e.width,e.height,e.x,e.y,"offsetY",e.offsetY,"parent",u,u?.offsetY,e),R(e)}}));const b=S/2;return ne(t,b,{mergeSelfLoops:p}).forEach(function({edge:d,start:e,end:u}){l.info("Edge "+e+" -> "+u+": "+JSON.stringify(d),d),d.points.forEach(k=>k.y+=b);const x=t.node(e),N=t.node(u),M=z(a,d,E,g,x,N,y);K(d,M)}),t.nodes().forEach(function(d){const e=t.node(d);l.info(d,e.type,e.diff),e.isGroup&&(X=e.diff)}),l.warn("Returning from recursive render XAX",f,X),{elem:f,diff:X}},"recursiveRender"),ce=w(async(s,t)=>{const g=new Q({multigraph:!0,compound:!0}).setGraph({rankdir:s.direction,nodesep:s.config?.nodeSpacing||s.config?.flowchart?.nodeSpacing||s.nodeSpacing,ranksep:s.config?.rankSpacing||s.config?.flowchart?.rankSpacing||s.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),y=t.select("g");v(y,s.markers,s.type,s.diagramId),D(),H(),Y(),O(),s.nodes.forEach(o=>{g.setNode(o.id,{...o}),o.parentId&&g.setParent(o.id,o.parentId)}),l.debug("Edges:",s.edges),s.edges.forEach(o=>{if(o.start===o.end){const r=o.start,f=r+"---"+r+"---1",h=r+"---"+r+"---2",a=g.node(r);g.setNode(f,{domId:f,id:f,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),g.setParent(f,a.parentId),g.setNode(h,{domId:h,id:h,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),g.setParent(h,a.parentId);const i=structuredClone(o),n=structuredClone(o),p=structuredClone(o),m=structuredClone(o);n.originalEdge=i,n.selfLoop={id:i.id,order:0},p.originalEdge=i,p.selfLoop={id:i.id,order:1},m.originalEdge=i,m.selfLoop={id:i.id,order:2},n.label="",n.arrowTypeEnd="none",n.endLabelLeft="",n.endLabelRight="",n.startLabelLeft="",n.id=r+"-cyclic-special-1",p.startLabelRight="",p.startLabelLeft="",p.endLabelLeft="",p.endLabelRight="",p.arrowTypeStart="none",p.arrowTypeEnd="none",p.id=r+"-cyclic-special-mid",m.label="",m.startLabelRight="",m.startLabelLeft="",m.arrowTypeStart="none",a.isGroup&&(n.fromCluster=r,m.toCluster=r),m.id=r+"-cyclic-special-2",m.arrowTypeStart="none",g.setEdge(r,f,n,r+"-cyclic-special-0"),g.setEdge(f,h,p,r+"-cyclic-special-1"),g.setEdge(h,r,m,r+"-cyclic-special-2")}else g.setEdge(o.start,o.end,{...o},o.id)}),l.warn("Graph at first:",JSON.stringify(I(g))),J(g),l.warn("Graph after XAX:",JSON.stringify(I(g)));const c=_();await T(y,g,s.type,s.diagramId,void 0,c)},"render");export{ne as getEdgesToRender,ce as render};
|
|
5
|
-
//# sourceMappingURL=dagre-VZM6K2ZE-
|
|
5
|
+
//# sourceMappingURL=dagre-VZM6K2ZE-Des0F0T2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dagre-VZM6K2ZE-BakUuCWI.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-VZM6K2ZE.mjs"],"sourcesContent":["import {\n adjustClustersAndEdges,\n clear as clear4,\n clusterDb,\n findNonClusterChild,\n sortNodesByHierarchy\n} from \"./chunk-RYQCIY6F.mjs\";\nimport {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-7Z6QIM7H.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-QR6OTTB3.mjs\";\nimport \"./chunk-W5SLKNZC.mjs\";\nimport \"./chunk-7BUUIJ7U.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-UBXNYLIW.mjs\";\nimport \"./chunk-WRU74C26.mjs\";\nimport \"./chunk-4I5QYGJK.mjs\";\nimport \"./chunk-NSK5VX7P.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-I66GZJ75.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nvar clamp = /* @__PURE__ */ __name((value, min, max) => Math.max(min, Math.min(max, value)), \"clamp\");\nvar getDefaultSelfLoopSide = /* @__PURE__ */ __name((rankdir = \"TB\") => {\n switch (rankdir) {\n case \"BT\":\n return \"bottom\";\n case \"LR\":\n return \"right\";\n case \"RL\":\n return \"left\";\n case \"TB\":\n default:\n return \"top\";\n }\n}, \"getDefaultSelfLoopSide\");\nvar shouldMergeSelfLoopSegments = /* @__PURE__ */ __name((diagramType) => diagramType === \"flowchart\" || diagramType === \"flowchart-v2\" || diagramType === \"stateDiagram\", \"shouldMergeSelfLoopSegments\");\nvar getSelfLoopSide = /* @__PURE__ */ __name((graph, node, segments, originalNodeId, rankdir) => {\n const layoutHints = [];\n const dummyNodeIds = /* @__PURE__ */ new Set();\n segments.forEach(({ start, end }) => {\n if (start !== originalNodeId) {\n dummyNodeIds.add(start);\n }\n if (end !== originalNodeId) {\n dummyNodeIds.add(end);\n }\n });\n dummyNodeIds.forEach((id) => {\n const dummyNode = graph.node(id);\n if (typeof dummyNode?.x === \"number\" && typeof dummyNode?.y === \"number\") {\n layoutHints.push(dummyNode);\n }\n });\n if (layoutHints.length === 0) {\n segments.forEach(({ edge }) => {\n (edge.points ?? []).forEach((point) => {\n if (typeof point?.x === \"number\" && typeof point?.y === \"number\") {\n layoutHints.push(point);\n }\n });\n });\n }\n if (layoutHints.length === 0) {\n return getDefaultSelfLoopSide(rankdir);\n }\n const center = layoutHints.reduce(\n (acc, point) => ({\n x: acc.x + point.x / layoutHints.length,\n y: acc.y + point.y / layoutHints.length\n }),\n { x: 0, y: 0 }\n );\n const dx = center.x - node.x;\n const dy = center.y - node.y;\n if (Math.abs(dx) > Math.abs(dy)) {\n return dx > 0 ? \"right\" : \"left\";\n }\n if (Math.abs(dy) > 0) {\n return dy > 0 ? \"bottom\" : \"top\";\n }\n return getDefaultSelfLoopSide(rankdir);\n}, \"getSelfLoopSide\");\nvar getSelfLoopPoints = /* @__PURE__ */ __name((node, side = \"top\", yOffset = 0, labelWidth = 0) => {\n const x = node.x;\n const y = node.y - yOffset;\n const halfWidth = node.width / 2;\n const halfHeight = node.height / 2;\n const maxSpan = Math.max(36, Math.min(100, node.width * 0.8));\n const span = clamp(Math.max(labelWidth, node.width * 0.35), 36, maxSpan);\n const depth = clamp(Math.min(node.width, node.height) * 0.45, 24, 48);\n switch (side) {\n case \"bottom\": {\n const bottom = y + halfHeight;\n return [\n { x: x - span / 2, y: bottom },\n { x: x - span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom }\n ];\n }\n case \"right\": {\n const right = x + halfWidth;\n return [\n { x: right, y: y - span / 2 },\n { x: right + depth, y: y - span / 2 },\n { x: right + depth, y: y + span / 2 },\n { x: right, y: y + span / 2 }\n ];\n }\n case \"left\": {\n const left = x - halfWidth;\n return [\n { x: left, y: y - span / 2 },\n { x: left - depth, y: y - span / 2 },\n { x: left - depth, y: y + span / 2 },\n { x: left, y: y + span / 2 }\n ];\n }\n case \"top\":\n default: {\n const top = y - halfHeight;\n return [\n { x: x - span / 2, y: top },\n { x: x - span / 2, y: top - depth },\n { x: x + span / 2, y: top - depth },\n { x: x + span / 2, y: top }\n ];\n }\n }\n}, \"getSelfLoopPoints\");\nvar getSelfLoopLabelPosition = /* @__PURE__ */ __name((node, points, side = \"top\", yOffset = 0, label = {}) => {\n const gap = 4;\n const x = node.x;\n const y = node.y - yOffset;\n const labelWidth = label.width ?? 0;\n const labelHeight = label.height ?? 0;\n switch (side) {\n case \"bottom\":\n return { x, y: Math.max(...points.map((point) => point.y)) + labelHeight / 2 + gap };\n case \"right\":\n return { x: Math.max(...points.map((point) => point.x)) + labelWidth / 2 + gap, y };\n case \"left\":\n return { x: Math.min(...points.map((point) => point.x)) - labelWidth / 2 - gap, y };\n case \"top\":\n default:\n return { x, y: Math.min(...points.map((point) => point.y)) - labelHeight / 2 - gap };\n }\n}, \"getSelfLoopLabelPosition\");\nvar getEdgesToRender = /* @__PURE__ */ __name((graph, yOffset = 0, { mergeSelfLoops = true } = {}) => {\n const selfLoopEdgeGroups = /* @__PURE__ */ new Map();\n const edgesToRender = [];\n const rankdir = graph.graph()?.rankdir;\n graph.edges().forEach((e) => {\n const edge = graph.edge(e);\n if (mergeSelfLoops && edge.selfLoop) {\n const key = edge.selfLoop.id;\n if (!selfLoopEdgeGroups.has(key)) {\n selfLoopEdgeGroups.set(key, []);\n }\n selfLoopEdgeGroups.get(key).push({ edge, start: e.v, end: e.w });\n } else {\n edgesToRender.push({ edge, start: e.v, end: e.w });\n }\n });\n selfLoopEdgeGroups.forEach((segments) => {\n if (segments.length !== 3) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n segments.sort((a, b) => a.edge.selfLoop.order - b.edge.selfLoop.order);\n const [firstSegment, middleSegment, lastSegment] = segments;\n const originalEdge = firstSegment.edge.originalEdge ?? middleSegment.edge.originalEdge ?? lastSegment.edge.originalEdge ?? middleSegment.edge;\n const node = graph.node(originalEdge.start);\n if (!node) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n const label = {\n width: middleSegment.edge.width,\n height: middleSegment.edge.height\n };\n const side = getSelfLoopSide(graph, node, segments, originalEdge.start, rankdir);\n const points = getSelfLoopPoints(node, side, yOffset, label.width ?? 0);\n const labelPosition = getSelfLoopLabelPosition(node, points, side, yOffset, label);\n const mergedEdge = {\n ...middleSegment.edge,\n ...originalEdge,\n id: originalEdge.id,\n points,\n start: originalEdge.start,\n end: originalEdge.end,\n x: labelPosition.x,\n y: labelPosition.y,\n width: label.width,\n height: label.height,\n labelStyle: middleSegment.edge.labelStyle,\n fromCluster: firstSegment.edge.fromCluster ?? middleSegment.edge.fromCluster ?? lastSegment.edge.fromCluster,\n toCluster: firstSegment.edge.toCluster ?? middleSegment.edge.toCluster ?? lastSegment.edge.toCluster\n };\n delete mergedEdge.selfLoop;\n delete mergedEdge.originalEdge;\n edgesToRender.push({ edge: mergedEdge, start: mergedEdge.start, end: mergedEdge.end });\n });\n return edgesToRender;\n}, \"getEdgesToRender\");\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n const mergeSelfLoops = shouldMergeSelfLoopSegments(diagramType);\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n if (mergeSelfLoops && edge.selfLoop) {\n if (edge.selfLoop.order !== 1) {\n return;\n }\n const segmentId = edge.id;\n edge.id = edge.selfLoop.id;\n await insertEdgeLabel(edgeLabels, edge);\n edge.id = segmentId;\n return;\n }\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n const edgeOffsetY = subGraphTitleTotalMargin / 2;\n const edgesToRender = getEdgesToRender(graph, edgeOffsetY, { mergeSelfLoops });\n edgesToRender.forEach(function({ edge, start, end }) {\n log.info(\"Edge \" + start + \" -> \" + end + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += edgeOffsetY);\n const startNode = graph.node(start);\n const endNode = graph.node(end);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const originalEdge = structuredClone(edge);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.originalEdge = originalEdge;\n edge1.selfLoop = { id: originalEdge.id, order: 0 };\n edgeMid.originalEdge = originalEdge;\n edgeMid.selfLoop = { id: originalEdge.id, order: 1 };\n edge2.originalEdge = originalEdge;\n edge2.selfLoop = { id: originalEdge.id, order: 2 };\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyclic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n getEdgesToRender,\n render\n};\n"],"names":["clamp","__name","value","min","max","getDefaultSelfLoopSide","rankdir","shouldMergeSelfLoopSegments","diagramType","getSelfLoopSide","graph","node","segments","originalNodeId","layoutHints","dummyNodeIds","start","end","id","dummyNode","edge","point","center","acc","dx","dy","getSelfLoopPoints","side","yOffset","labelWidth","x","y","halfWidth","halfHeight","maxSpan","span","depth","bottom","right","left","top","getSelfLoopLabelPosition","points","label","labelHeight","getEdgesToRender","mergeSelfLoops","selfLoopEdgeGroups","edgesToRender","e","key","segment","a","b","firstSegment","middleSegment","lastSegment","originalEdge","labelPosition","mergedEdge","recursiveRender","_elem","parentCluster","siteConfig","log","graphlibJson.write","dir","elem","clusters","edgePaths","edgeLabels","nodes","v","data","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","clusterDb","insertNode","edgePromises","segmentId","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","sortNodesByHierarchy","positionNode","halfPadding","offsetY","insertCluster","parent","edgeOffsetY","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib.Graph","element","markers_default","clear3","clear2","clear","clear4","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","adjustClustersAndEdges","getConfig"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"dagre-VZM6K2ZE-Des0F0T2.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-VZM6K2ZE.mjs"],"sourcesContent":["import {\n adjustClustersAndEdges,\n clear as clear4,\n clusterDb,\n findNonClusterChild,\n sortNodesByHierarchy\n} from \"./chunk-RYQCIY6F.mjs\";\nimport {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-7Z6QIM7H.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-QR6OTTB3.mjs\";\nimport \"./chunk-W5SLKNZC.mjs\";\nimport \"./chunk-7BUUIJ7U.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-UBXNYLIW.mjs\";\nimport \"./chunk-WRU74C26.mjs\";\nimport \"./chunk-4I5QYGJK.mjs\";\nimport \"./chunk-NSK5VX7P.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-I66GZJ75.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nvar clamp = /* @__PURE__ */ __name((value, min, max) => Math.max(min, Math.min(max, value)), \"clamp\");\nvar getDefaultSelfLoopSide = /* @__PURE__ */ __name((rankdir = \"TB\") => {\n switch (rankdir) {\n case \"BT\":\n return \"bottom\";\n case \"LR\":\n return \"right\";\n case \"RL\":\n return \"left\";\n case \"TB\":\n default:\n return \"top\";\n }\n}, \"getDefaultSelfLoopSide\");\nvar shouldMergeSelfLoopSegments = /* @__PURE__ */ __name((diagramType) => diagramType === \"flowchart\" || diagramType === \"flowchart-v2\" || diagramType === \"stateDiagram\", \"shouldMergeSelfLoopSegments\");\nvar getSelfLoopSide = /* @__PURE__ */ __name((graph, node, segments, originalNodeId, rankdir) => {\n const layoutHints = [];\n const dummyNodeIds = /* @__PURE__ */ new Set();\n segments.forEach(({ start, end }) => {\n if (start !== originalNodeId) {\n dummyNodeIds.add(start);\n }\n if (end !== originalNodeId) {\n dummyNodeIds.add(end);\n }\n });\n dummyNodeIds.forEach((id) => {\n const dummyNode = graph.node(id);\n if (typeof dummyNode?.x === \"number\" && typeof dummyNode?.y === \"number\") {\n layoutHints.push(dummyNode);\n }\n });\n if (layoutHints.length === 0) {\n segments.forEach(({ edge }) => {\n (edge.points ?? []).forEach((point) => {\n if (typeof point?.x === \"number\" && typeof point?.y === \"number\") {\n layoutHints.push(point);\n }\n });\n });\n }\n if (layoutHints.length === 0) {\n return getDefaultSelfLoopSide(rankdir);\n }\n const center = layoutHints.reduce(\n (acc, point) => ({\n x: acc.x + point.x / layoutHints.length,\n y: acc.y + point.y / layoutHints.length\n }),\n { x: 0, y: 0 }\n );\n const dx = center.x - node.x;\n const dy = center.y - node.y;\n if (Math.abs(dx) > Math.abs(dy)) {\n return dx > 0 ? \"right\" : \"left\";\n }\n if (Math.abs(dy) > 0) {\n return dy > 0 ? \"bottom\" : \"top\";\n }\n return getDefaultSelfLoopSide(rankdir);\n}, \"getSelfLoopSide\");\nvar getSelfLoopPoints = /* @__PURE__ */ __name((node, side = \"top\", yOffset = 0, labelWidth = 0) => {\n const x = node.x;\n const y = node.y - yOffset;\n const halfWidth = node.width / 2;\n const halfHeight = node.height / 2;\n const maxSpan = Math.max(36, Math.min(100, node.width * 0.8));\n const span = clamp(Math.max(labelWidth, node.width * 0.35), 36, maxSpan);\n const depth = clamp(Math.min(node.width, node.height) * 0.45, 24, 48);\n switch (side) {\n case \"bottom\": {\n const bottom = y + halfHeight;\n return [\n { x: x - span / 2, y: bottom },\n { x: x - span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom + depth },\n { x: x + span / 2, y: bottom }\n ];\n }\n case \"right\": {\n const right = x + halfWidth;\n return [\n { x: right, y: y - span / 2 },\n { x: right + depth, y: y - span / 2 },\n { x: right + depth, y: y + span / 2 },\n { x: right, y: y + span / 2 }\n ];\n }\n case \"left\": {\n const left = x - halfWidth;\n return [\n { x: left, y: y - span / 2 },\n { x: left - depth, y: y - span / 2 },\n { x: left - depth, y: y + span / 2 },\n { x: left, y: y + span / 2 }\n ];\n }\n case \"top\":\n default: {\n const top = y - halfHeight;\n return [\n { x: x - span / 2, y: top },\n { x: x - span / 2, y: top - depth },\n { x: x + span / 2, y: top - depth },\n { x: x + span / 2, y: top }\n ];\n }\n }\n}, \"getSelfLoopPoints\");\nvar getSelfLoopLabelPosition = /* @__PURE__ */ __name((node, points, side = \"top\", yOffset = 0, label = {}) => {\n const gap = 4;\n const x = node.x;\n const y = node.y - yOffset;\n const labelWidth = label.width ?? 0;\n const labelHeight = label.height ?? 0;\n switch (side) {\n case \"bottom\":\n return { x, y: Math.max(...points.map((point) => point.y)) + labelHeight / 2 + gap };\n case \"right\":\n return { x: Math.max(...points.map((point) => point.x)) + labelWidth / 2 + gap, y };\n case \"left\":\n return { x: Math.min(...points.map((point) => point.x)) - labelWidth / 2 - gap, y };\n case \"top\":\n default:\n return { x, y: Math.min(...points.map((point) => point.y)) - labelHeight / 2 - gap };\n }\n}, \"getSelfLoopLabelPosition\");\nvar getEdgesToRender = /* @__PURE__ */ __name((graph, yOffset = 0, { mergeSelfLoops = true } = {}) => {\n const selfLoopEdgeGroups = /* @__PURE__ */ new Map();\n const edgesToRender = [];\n const rankdir = graph.graph()?.rankdir;\n graph.edges().forEach((e) => {\n const edge = graph.edge(e);\n if (mergeSelfLoops && edge.selfLoop) {\n const key = edge.selfLoop.id;\n if (!selfLoopEdgeGroups.has(key)) {\n selfLoopEdgeGroups.set(key, []);\n }\n selfLoopEdgeGroups.get(key).push({ edge, start: e.v, end: e.w });\n } else {\n edgesToRender.push({ edge, start: e.v, end: e.w });\n }\n });\n selfLoopEdgeGroups.forEach((segments) => {\n if (segments.length !== 3) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n segments.sort((a, b) => a.edge.selfLoop.order - b.edge.selfLoop.order);\n const [firstSegment, middleSegment, lastSegment] = segments;\n const originalEdge = firstSegment.edge.originalEdge ?? middleSegment.edge.originalEdge ?? lastSegment.edge.originalEdge ?? middleSegment.edge;\n const node = graph.node(originalEdge.start);\n if (!node) {\n segments.forEach((segment) => edgesToRender.push(segment));\n return;\n }\n const label = {\n width: middleSegment.edge.width,\n height: middleSegment.edge.height\n };\n const side = getSelfLoopSide(graph, node, segments, originalEdge.start, rankdir);\n const points = getSelfLoopPoints(node, side, yOffset, label.width ?? 0);\n const labelPosition = getSelfLoopLabelPosition(node, points, side, yOffset, label);\n const mergedEdge = {\n ...middleSegment.edge,\n ...originalEdge,\n id: originalEdge.id,\n points,\n start: originalEdge.start,\n end: originalEdge.end,\n x: labelPosition.x,\n y: labelPosition.y,\n width: label.width,\n height: label.height,\n labelStyle: middleSegment.edge.labelStyle,\n fromCluster: firstSegment.edge.fromCluster ?? middleSegment.edge.fromCluster ?? lastSegment.edge.fromCluster,\n toCluster: firstSegment.edge.toCluster ?? middleSegment.edge.toCluster ?? lastSegment.edge.toCluster\n };\n delete mergedEdge.selfLoop;\n delete mergedEdge.originalEdge;\n edgesToRender.push({ edge: mergedEdge, start: mergedEdge.start, end: mergedEdge.end });\n });\n return edgesToRender;\n}, \"getEdgesToRender\");\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n const mergeSelfLoops = shouldMergeSelfLoopSegments(diagramType);\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n if (mergeSelfLoops && edge.selfLoop) {\n if (edge.selfLoop.order !== 1) {\n return;\n }\n const segmentId = edge.id;\n edge.id = edge.selfLoop.id;\n await insertEdgeLabel(edgeLabels, edge);\n edge.id = segmentId;\n return;\n }\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n const edgeOffsetY = subGraphTitleTotalMargin / 2;\n const edgesToRender = getEdgesToRender(graph, edgeOffsetY, { mergeSelfLoops });\n edgesToRender.forEach(function({ edge, start, end }) {\n log.info(\"Edge \" + start + \" -> \" + end + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += edgeOffsetY);\n const startNode = graph.node(start);\n const endNode = graph.node(end);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const originalEdge = structuredClone(edge);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.originalEdge = originalEdge;\n edge1.selfLoop = { id: originalEdge.id, order: 0 };\n edgeMid.originalEdge = originalEdge;\n edgeMid.selfLoop = { id: originalEdge.id, order: 1 };\n edge2.originalEdge = originalEdge;\n edge2.selfLoop = { id: originalEdge.id, order: 2 };\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyclic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n getEdgesToRender,\n render\n};\n"],"names":["clamp","__name","value","min","max","getDefaultSelfLoopSide","rankdir","shouldMergeSelfLoopSegments","diagramType","getSelfLoopSide","graph","node","segments","originalNodeId","layoutHints","dummyNodeIds","start","end","id","dummyNode","edge","point","center","acc","dx","dy","getSelfLoopPoints","side","yOffset","labelWidth","x","y","halfWidth","halfHeight","maxSpan","span","depth","bottom","right","left","top","getSelfLoopLabelPosition","points","label","labelHeight","getEdgesToRender","mergeSelfLoops","selfLoopEdgeGroups","edgesToRender","e","key","segment","a","b","firstSegment","middleSegment","lastSegment","originalEdge","labelPosition","mergedEdge","recursiveRender","_elem","parentCluster","siteConfig","log","graphlibJson.write","dir","elem","clusters","edgePaths","edgeLabels","nodes","v","data","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","findNonClusterChild","clusterDb","insertNode","edgePromises","segmentId","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","sortNodesByHierarchy","positionNode","halfPadding","offsetY","insertCluster","parent","edgeOffsetY","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib.Graph","element","markers_default","clear3","clear2","clear","clear4","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","adjustClustersAndEdges","getConfig"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{I as X}from"./chunk-2Q5K7J3B-
|
|
1
|
+
import{I as X}from"./chunk-2Q5K7J3B-BO2yESYY.js";import{p as O}from"./chunk-JWPE2WC7-CmSXGXsn.js";import{n as G,b as Y,s as P,o as j,g as F,a as Z,_ as f,A,l as D,D as q,e as U,y as N,p as J,i as K,ai as Q,B as ee,aj as te}from"./mermaid.core-f1Ho-4dn.js";import{p as ne}from"./cynefin-VYW2F7L2-DghzfVZI.js";import"./index-C00qXlD3.js";var E=/[─━│┃└┗├┣]/,S=/[└┗├┣]/,re=/[─━]/,V=/^[\s│┃]+$/,$=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,k=/^\s*%%/,ie=" ";function L(n){return n.some(e=>E.test(e))}f(L,"isBoxDrawingFormat");function _(n){for(const e of n){const t=S.exec(e);if(t?.index&&t.index>0)return t.index}return 4}f(_,"inferSegmentWidth");function M(n,e){return n.replace(/\bline\s+(\d+)\b/gi,(t,r)=>{const i=parseInt(r,10),a=e.get(i);return a?`line ${a}`:t})}f(M,"remapErrorLines");function R(n){const e=n.split(`
|
|
2
2
|
`),t=new Map;let r=-1;for(const[s,o]of e.entries())if(o.trim()==="treeView-beta"){r=s;break}if(r===-1)return{text:n,lineMap:t};const i=[];for(let s=r+1;s<e.length;s++){const o=e[s];o.trim()===""||k.test(o)||$.test(o)||V.test(o)||i.push(o.replace(/\t/g," "))}if(!L(i))return{text:n,lineMap:t};const a=_(i),c=[];let l=0;for(let s=0;s<=r;s++)c.push(e[s]),l++,t.set(l,s+1);for(let s=r+1;s<e.length;s++){const o=e[s],h=o.trim(),p=s+1;if(h===""){c.push(o),l++,t.set(l,p);continue}if(k.test(o)){c.push(o),l++,t.set(l,p);continue}if($.test(o)){c.push(o),l++,t.set(l,p);continue}if(V.test(o))continue;const d=o.replace(/\t/g," "),w=S.exec(d);if(w?.index!==void 0){const g=w.index,m=Math.round(g/a)+1;let u=g+1;for(;u<d.length&&re.test(d[u]);)u++;for(;u<d.length&&d[u]===" ";)u++;const v=d.slice(u).trimEnd();if(!v)throw new Error(`Line ${p}: Empty node — expected a filename or directory name after the box-drawing prefix`);const W=ie.repeat(m);c.push(W+v),l++,t.set(l,p)}else{if(/^[\s─━│┃└┗├┣]+$/.test(d))continue;if(E.test(d))c.push(o),l++,t.set(l,p);else{if(/^\s+/.test(d))throw new Error(`Line ${p}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);c.push(o),l++,t.set(l,p)}}}return{text:c.join(`
|
|
3
3
|
`),lineMap:t}}f(R,"preprocessBoxDrawing");var x=new X(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),oe=f(()=>{x.reset(),J()},"clear"),se=f(()=>x.records.stack[0],"getRoot"),ae=f(()=>x.records.cnt,"getCount"),ce=ee.treeView,le=f(()=>A(ce,N().treeView),"getConfig"),de=f((n,e,t,r,i,a)=>{for(;n<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const c={id:x.records.cnt++,level:n,name:e,nodeType:t,icon:i,cssClass:r,description:a,children:[]};x.records.stack[x.records.stack.length-1].children.push(c),x.records.stack.push(c)},"addNode"),he={clear:oe,addNode:de,getRoot:se,getCount:ae,getConfig:le,getAccTitle:Z,getAccDescription:F,getDiagramTitle:j,setAccDescription:P,setAccTitle:Y,setDiagramTitle:G},I=he,pe=f(n=>{O(n,I);for(const e of n.nodes){const t=typeof e.indent=="number"?e.indent:0;let r=e.name;const i=r.endsWith("/");i&&(r=r.slice(0,-1));const a=i?"directory":"file",c=e.classAnnotation||void 0,l=e.iconAnnotation,s=l!==void 0?l||"none":void 0,o=e.descAnnotation||void 0,h=o?K(o,N()):void 0;I.addNode(t,r,a,c,s,h)}},"populate"),fe={parse:f(async n=>{const{text:e,lineMap:t}=R(n);try{const r=await ne("treeView",e);D.debug(r),pe(r)}catch(r){throw t.size>0&&r instanceof Error&&(r.message=M(r.message,t)),r}},"parse")},b={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function H(n,e){const t=e?.filenameIcons?.[n];if(t)return t;const r=n.lastIndexOf(".");if(r>0){const i=n.substring(r).toLowerCase(),a=e?.extensionIcons;return a?.[i]??a?.[i.slice(1)]}}f(H,"detectIcon");function C(n,e){return n.includes(":")?n:n in b.icons||!e?`${b.prefix}:${n}`:`${e}:${n}`}f(C,"qualifyIcon");function B(n,e){if(n.icon!=="none"){if(n.icon)return C(n.icon,e.defaultIconPack);if(e.showIcons){if(n.nodeType==="file"){const t=H(n.name,e);if(t==="none")return;if(t)return C(t,e.defaultIconPack)}return`${b.prefix}:${n.nodeType==="directory"?"folder":"file"}`}}}f(B,"getNodeIcon");te([{name:b.prefix,icons:b}]);var y=14,ge=4,ue=16,z=f((n,e)=>`tv-icon-${n}-${e.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),we=f(async(n,e,t,r)=>{const i=new Set,a=f(s=>{const o=B(s,t);o&&i.add(o),s.children.forEach(a)},"collect");if(a(e),i.size===0)return;const c=await Promise.all([...i].map(async s=>({icon:s,svg:await Q(s,{height:y,width:y})}))),l=n.append("defs");for(const{icon:s,svg:o}of c)l.append("g").attr("id",z(r,s)).html(o)},"injectIconDefs"),me=f((n,e,t,r,i,a)=>{const c=r.append("g");let l="treeView-node-label";t.nodeType==="directory"&&(l+=" treeView-node-dir"),t.cssClass&&(l+=` ${t.cssClass}`);const s=y+ge,o=B(t,i),h=o!==void 0;o&&c.append("use").attr("xlink:href",`#${z(a,o)}`).attr("x",n+i.paddingX).attr("y",e+i.paddingY).attr("class","treeView-node-icon");const p=c.append("text").text(t.name).attr("dominant-baseline","middle").attr("class",l),{height:d,width:w}=p.node().getBBox(),g=d+i.paddingY*2,m=n+i.paddingX+(h?s:0);p.attr("x",m),p.attr("y",e+g/2);const u=m+w,v=w+i.paddingX*2+(h?s:0);return t.BBox={x:n,y:e,width:v,height:g},t.cssClass?.split(/\s+/).includes("highlight")&&c.insert("rect",":first-child").attr("x",n).attr("y",e+1).attr("width",0).attr("height",g-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:t,nodeGroup:c,labelRightEdge:u,centerY:e+g/2}},"positionLabel"),T=f((n,e,t,r,i,a)=>n.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),xe=f((n,e,t,r)=>{let i=0,a=0;const c=[],l=f((h,p,d,w)=>{const g=w*(d.rowIndent+d.paddingX),m=me(g,i,p,h,d,r);c.push(m);const{height:u,width:v}=p.BBox;T(h,g-d.rowIndent,i+u/2,g,i+u/2,d.lineThickness),a=Math.max(a,g+v),i+=u},"drawNode"),s=f((h,p=0)=>{l(n,h,t,p),h.children.forEach(m=>{s(m,p+1)});const{x:d,y:w,height:g}=h.BBox;if(h.children.length){const{y:m,height:u}=h.children[h.children.length-1].BBox;T(n,d+t.paddingX,w+g,d+t.paddingX,m+u/2+t.lineThickness/2,t.lineThickness)}},"processNode");s(e);const o=c.filter(h=>h.node.description);if(o.length>0){const p=Math.max(...c.map(d=>d.labelRightEdge))+ue;for(const d of o){const g=d.nodeGroup.append("text").text(d.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",p).attr("y",d.centerY).node().getBBox();a=Math.max(a,p+g.width+t.paddingX)}}for(const h of c)if(h.node.cssClass?.split(/\s+/).includes("highlight")){const p=h.nodeGroup.select(".treeView-highlight-bg");if(!p.empty()){const d=a-h.node.BBox.x+8;p.attr("width",d),a=Math.max(a,h.node.BBox.x+d+2)}}return{totalHeight:i,totalWidth:a}},"drawTree"),ve=f(async(n,e,t,r)=>{D.debug(`Rendering treeView diagram
|
|
4
4
|
`+n);const i=r.db,a=i.getRoot(),c=i.getConfig(),l=q(e);await we(l,a,c,e);const s=l.append("g");s.attr("class","tree-view");const{totalHeight:o,totalWidth:h}=xe(s,a,c,e);l.attr("viewBox",`-${c.lineThickness/2} 0 ${h} ${o}`),U(l,o,h,c.useMaxWidth)},"draw"),be={draw:ve},Ie=be,Ce={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},ye=f(({treeView:n})=>{const{labelFontSize:e,labelColor:t,lineColor:r,iconColor:i,descriptionColor:a,highlightBg:c,highlightStroke:l}=A(Ce,n);return`
|
|
@@ -28,4 +28,4 @@ import{I as X}from"./chunk-2Q5K7J3B-Dve8Pse2.js";import{p as O}from"./chunk-JWPE
|
|
|
28
28
|
stroke-width: 1;
|
|
29
29
|
}
|
|
30
30
|
`},"styles"),Be=ye,De={db:I,renderer:Ie,parser:fe,styles:Be};export{De as diagram};
|
|
31
|
-
//# sourceMappingURL=diagram-7IWD3JNH-
|
|
31
|
+
//# sourceMappingURL=diagram-7IWD3JNH-CyIsW9-s.js.map
|