@agent-link/server 0.1.538 → 0.1.540
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/package.json +4 -3
- package/web/dist/assets/{abnfDiagram-VRR7QNED-v8zWrjoC.js → abnfDiagram-VRR7QNED-D1hyJ-hn.js} +1 -1
- package/web/dist/assets/{arc-B5GKGWbC.js → arc-BuJJgjYt.js} +1 -1
- package/web/dist/assets/{architectureDiagram-ZJ3FMSHR-Dbl9Ux9-.js → architectureDiagram-ZJ3FMSHR-A9THC2Cc.js} +1 -1
- package/web/dist/assets/{blockDiagram-677ZJIJ3-1YKIFOf1.js → blockDiagram-677ZJIJ3-De9_CtWv.js} +1 -1
- package/web/dist/assets/{c4Diagram-LMCZKHZV-BFjLi3Aq.js → c4Diagram-LMCZKHZV-DeZVA52a.js} +1 -1
- package/web/dist/assets/channel-D0HU8H5o.js +1 -0
- package/web/dist/assets/{chunk-2Q5K7J3B-DgdTCY8R.js → chunk-2Q5K7J3B-DlDecKcs.js} +1 -1
- package/web/dist/assets/{chunk-32BRIVSS-C_Sdh-Gb.js → chunk-32BRIVSS-BhpTBz4U.js} +1 -1
- package/web/dist/assets/{chunk-5VM5RSS4-ClYZJ82b.js → chunk-5VM5RSS4-DE8R6mLs.js} +1 -1
- package/web/dist/assets/{chunk-EX3LRPZG-CgTjRsVI.js → chunk-EX3LRPZG-t_9lUdF-.js} +1 -1
- package/web/dist/assets/{chunk-JWPE2WC7-Dvi-x4dH.js → chunk-JWPE2WC7-D8olqveE.js} +1 -1
- package/web/dist/assets/{chunk-MOJQB5TN-iK74YNWs.js → chunk-MOJQB5TN-qQmIJLhN.js} +1 -1
- package/web/dist/assets/{chunk-RYQCIY6F-BpEM4XKm.js → chunk-RYQCIY6F-o8VHYTB2.js} +1 -1
- package/web/dist/assets/{chunk-V7JOEXUC-p6jkX0pp.js → chunk-V7JOEXUC-DGpoi6XB.js} +1 -1
- package/web/dist/assets/{chunk-VR4S4FIN-CdmfUGnI.js → chunk-VR4S4FIN-BjtiAe03.js} +1 -1
- package/web/dist/assets/{chunk-XXDRQBXY-jQHvtf7Y.js → chunk-XXDRQBXY-Bf9B2FsN.js} +1 -1
- package/web/dist/assets/classDiagram-OUVF2IWQ-DQaRrb-b.js +1 -0
- package/web/dist/assets/classDiagram-v2-EOCWNBFH-DQaRrb-b.js +1 -0
- package/web/dist/assets/{cose-bilkent-JH36ORCC-CYU7uAdH.js → cose-bilkent-JH36ORCC-CUu8D0Zk.js} +1 -1
- package/web/dist/assets/{cssMode-CkeIamVF.js → cssMode-BBGTtP8x.js} +1 -1
- package/web/dist/assets/{cynefin-VYW2F7L2-CuE8IoQA.js → cynefin-VYW2F7L2-DVyQShfu.js} +1 -1
- package/web/dist/assets/{cynefinDiagram-TSTJHNR4-Bk3IY4v3.js → cynefinDiagram-TSTJHNR4-5-G2jXgr.js} +1 -1
- package/web/dist/assets/{dagre-VKFMJZFB-EJGJ8Unh.js → dagre-VKFMJZFB-BVIWNamr.js} +1 -1
- package/web/dist/assets/{diagram-FQU43EPY-B7-x7ujW.js → diagram-FQU43EPY-DB_8HU4p.js} +1 -1
- package/web/dist/assets/{diagram-G47NLZAW-CjVYgbBC.js → diagram-G47NLZAW-BuC9KdPo.js} +1 -1
- package/web/dist/assets/{diagram-NH7WQ7WH-DOBiygSk.js → diagram-NH7WQ7WH-DEjdAGik.js} +1 -1
- package/web/dist/assets/{diagram-OA4YK3LP-BeqAsIvC.js → diagram-OA4YK3LP-CpUMGDrP.js} +1 -1
- package/web/dist/assets/{diagram-WEI45ONY-Dz5ycNiE.js → diagram-WEI45ONY-CD-UVma6.js} +1 -1
- package/web/dist/assets/{ebnfDiagram-CCIWWBDH-Bcnqidg3.js → ebnfDiagram-CCIWWBDH-Crk2X-Xr.js} +1 -1
- package/web/dist/assets/{editor.main-CgHXuI1T.js → editor.main-DX1kz8I2.js} +3 -3
- package/web/dist/assets/{erDiagram-Q63AITRT-BwaD538T.js → erDiagram-Q63AITRT-POwYozga.js} +1 -1
- package/web/dist/assets/{flowDiagram-23GEKE2U-DBywwy14.js → flowDiagram-23GEKE2U-5jmZ5k5e.js} +1 -1
- package/web/dist/assets/{freemarker2-attQ6DKC.js → freemarker2-mDrCFxI5.js} +1 -1
- package/web/dist/assets/{ganttDiagram-NO4QXBWP-CJg1vCCC.js → ganttDiagram-NO4QXBWP-B9Mdj-u5.js} +1 -1
- package/web/dist/assets/{gitGraphDiagram-IHSO6WYX-Jx5rHBs_.js → gitGraphDiagram-IHSO6WYX-CNPSE7ls.js} +1 -1
- package/web/dist/assets/{handlebars-B-ygpenC.js → handlebars--G4a_6Oo.js} +1 -1
- package/web/dist/assets/{html-ndi3wy_l.js → html-tA32frga.js} +1 -1
- package/web/dist/assets/{htmlMode-qTuZCS19.js → htmlMode-CggNnIWF.js} +1 -1
- package/web/dist/assets/{index-DyV-bHVC.js → index-AdB8XHXv.js} +6 -6
- package/web/dist/assets/index-D5K63qug.css +32 -0
- package/web/dist/assets/{infoDiagram-FWYZ7A6U-BEFhMUXj.js → infoDiagram-FWYZ7A6U-CyB7Vvcb.js} +1 -1
- package/web/dist/assets/{ishikawaDiagram-FXEZZL3T-DExRNEBC.js → ishikawaDiagram-FXEZZL3T-DLMZ7H1X.js} +1 -1
- package/web/dist/assets/{javascript-FEz7WVb9.js → javascript-DMkX6-SC.js} +1 -1
- package/web/dist/assets/{journeyDiagram-5HDEW3XC-DIlSMYx4.js → journeyDiagram-5HDEW3XC-_nk1wTqH.js} +1 -1
- package/web/dist/assets/{jsonMode-DiW0WmnW.js → jsonMode-BatVhCGs.js} +1 -1
- package/web/dist/assets/{kanban-definition-HUTT4EX6-DOKCAcBv.js → kanban-definition-HUTT4EX6-Cz1JY0qx.js} +1 -1
- package/web/dist/assets/{linear-eZ6eIIvZ.js → linear-DkQS0EVl.js} +1 -1
- package/web/dist/assets/{liquid-D8KsZQoZ.js → liquid-JdcJe3Mn.js} +1 -1
- package/web/dist/assets/{lspLanguageFeatures-BQKUKUbx.js → lspLanguageFeatures-BDC0ynk1.js} +1 -1
- package/web/dist/assets/{mdx-GD_GAPZ8.js → mdx-C0s6E9Ya.js} +1 -1
- package/web/dist/assets/{mermaid.core-C4a3RQhj.js → mermaid.core-DQSlETG7.js} +2 -2
- package/web/dist/assets/{mindmap-definition-LN4V7U3C-CKYYKk1-.js → mindmap-definition-LN4V7U3C-oNTOwQOU.js} +1 -1
- package/web/dist/assets/{pegDiagram-2B236MQR-CQhG4kxD.js → pegDiagram-2B236MQR-8BmSEVOy.js} +1 -1
- package/web/dist/assets/{pieDiagram-ENE6RG2P-dKij5CVx.js → pieDiagram-ENE6RG2P-DRIltoVc.js} +1 -1
- package/web/dist/assets/{python-YGKRPDiw.js → python-DQKjtSgN.js} +1 -1
- package/web/dist/assets/{quadrantDiagram-ABIIQ3AL-v1_PVyp0.js → quadrantDiagram-ABIIQ3AL-BJfMAp1Q.js} +1 -1
- package/web/dist/assets/{railroadDiagram-RFXS5EU6-DN_GgX6f.js → railroadDiagram-RFXS5EU6-Dj9-wyZY.js} +1 -1
- package/web/dist/assets/{razor-BCW3GQAg.js → razor-CL-fmDzS.js} +1 -1
- package/web/dist/assets/{requirementDiagram-TGXJPOKE-0DyHcCcr.js → requirementDiagram-TGXJPOKE-fPYOczdV.js} +1 -1
- package/web/dist/assets/{sankeyDiagram-HTMAVEWB-C67sJXlQ.js → sankeyDiagram-HTMAVEWB-DyjpctG7.js} +1 -1
- package/web/dist/assets/{sequenceDiagram-DBY2YBRQ-DiC-QboR.js → sequenceDiagram-DBY2YBRQ-RaZs5E3b.js} +1 -1
- package/web/dist/assets/{sizeCapture-X5ZJPWSS-c8srD5kT.js → sizeCapture-X5ZJPWSS-BfOA5cbO.js} +1 -1
- package/web/dist/assets/{stateDiagram-2N3HPSRC-BOc1ntS6.js → stateDiagram-2N3HPSRC-CdxgHSfH.js} +1 -1
- package/web/dist/assets/stateDiagram-v2-6OUMAXLB-vTVKrqt9.js +1 -0
- package/web/dist/assets/{swimlanes-5IMT3BWC-CFgMT0Er.js → swimlanes-5IMT3BWC-B19jLFc4.js} +2 -2
- package/web/dist/assets/swimlanesDiagram-G3AALYLV-CbIyNKp1.js +1 -0
- package/web/dist/assets/{timeline-definition-FHXFAJF6-DgmH37q0.js → timeline-definition-FHXFAJF6-CYSSTJjP.js} +1 -1
- package/web/dist/assets/{tsMode-M3wbPnMH.js → tsMode-I7W52vRp.js} +1 -1
- package/web/dist/assets/{typescript-DZfPfOgw.js → typescript-BkUlxSfm.js} +1 -1
- package/web/dist/assets/{vennDiagram-L72KCM5P-BcPfgqMW.js → vennDiagram-L72KCM5P-CJ5m4qeA.js} +1 -1
- package/web/dist/assets/{wardleyDiagram-EHGQE667-B8KESZXV.js → wardleyDiagram-EHGQE667-CpaSYOZD.js} +1 -1
- package/web/dist/assets/{xml-CwVvpm39.js → xml-B6uP1aJC.js} +1 -1
- package/web/dist/assets/{xychartDiagram-FW5EYKEG-QYcDNHiO.js → xychartDiagram-FW5EYKEG-EqZ9r0f-.js} +1 -1
- package/web/dist/assets/{yaml-GszwldOD.js → yaml-BzfObSCH.js} +1 -1
- package/web/dist/index.html +2 -2
- package/web/dist/assets/channel-BqcAGGR5.js +0 -1
- package/web/dist/assets/classDiagram-OUVF2IWQ-BISqOfze.js +0 -1
- package/web/dist/assets/classDiagram-v2-EOCWNBFH-BISqOfze.js +0 -1
- package/web/dist/assets/index-DXanOGbR.css +0 -32
- package/web/dist/assets/stateDiagram-v2-6OUMAXLB-BBBUTIt4.js +0 -1
- package/web/dist/assets/swimlanesDiagram-G3AALYLV-BIw8cOLQ.js +0 -1
package/web/dist/assets/{cynefinDiagram-TSTJHNR4-Bk3IY4v3.js → cynefinDiagram-TSTJHNR4-5-G2jXgr.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as t}from"./chunk-JWPE2WC7-Dvi-x4dH.js";import{s as e,g as n,p as a,o as r,a as o,b as i,_ as s,l as c,F as l,e as d,q as f,B as p,z as m,D as y,W as x}from"./mermaid.core-C4a3RQhj.js";import{p as h}from"./cynefin-VYW2F7L2-CuE8IoQA.js";import"./index-DyV-bHVC.js";var $=s(()=>({domains:new Map,transitions:[]}),"createDefaultData"),g=$(),u={getDomains:s(()=>g.domains,"getDomains"),getTransitions:s(()=>g.transitions,"getTransitions"),setDomains:s(t=>{if(t)for(const e of t){const t=e.domain,n=(e.items??[]).map(t=>({label:t.label}));g.domains.set(t,{name:t,items:n})}},"setDomains"),setTransitions:s(t=>{t&&(g.transitions=t.filter(t=>t.from!==t.to||(c.warn(`Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`),!1)).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))},"setTransitions"),getConfig:s(()=>p({...y.cynefin,...m().cynefin}),"getConfig"),clear:s(()=>{f(),g=$()},"clear"),setAccTitle:i,getAccTitle:o,setDiagramTitle:r,getDiagramTitle:a,getAccDescription:n,setAccDescription:e},b=s(e=>{t(e,u),u.setDomains(e.domains),u.setTransitions(e.transitions)},"populate"),w={parse:s(async t=>{const e=await h("cynefin",t);c.debug(e),b(e)},"parse")};function C(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296}function k(t){let e=0;for(let n=0;n<t.length;n++){e=(e<<5)-e+t.charCodeAt(n),e|=0}return e}function D(t,e){return"number"==typeof t&&Number.isFinite(t)&&0!==t?t:k(e)}function B(t,e,n,a){const r=t/2,o=a??.015*t,i=e/7,s=[];for(let l=0;l<=7;l++){const t=C(n+17*l)*o*2-o;s.push({x:r+t,y:l*i})}let c=`M${s[0].x},${s[0].y}`;for(let l=0;l<s.length-1;l++){const t=s[l],e=s[l+1],a=(t.y+e.y)/2,r=1.5*o*(l%2==0?1:-1)*C(n+31*l+7);c+=` C${t.x+r},${a} ${e.x-r},${a} ${e.x},${e.y}`}return c}function A(t,e,n,a){const r=e/2,o=a??.015*e,i=t/7,s=[];for(let l=0;l<=7;l++){const t=C(n+23*l)*o*2-o;s.push({x:l*i,y:r+t})}let c=`M${s[0].x},${s[0].y}`;for(let l=0;l<s.length-1;l++){const t=s[l],e=s[l+1],a=(t.x+e.x)/2,r=1.5*o*(l%2==0?1:-1)*C(n+37*l+11);c+=` C${a},${t.y+r} ${a},${e.y-r} ${e.x},${e.y}`}return c}function T(t,e){const n=t/2,a=.5*e,r=.03*t;return[`M${n},${a}`,`C${n+r},${a+.2*(e-a)}`,`${n-1.5*r},${a+.55*(e-a)}`,`${n+.5*r},${a+.75*(e-a)}`,`C${n-r},${a+.85*(e-a)}`,`${n+.3*r},${a+.95*(e-a)}`,`${n},${e}`].join(" ")}function S(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(C,"seededRandom"),s(k,"hashString"),s(D,"resolveSeed"),s(B,"generateFoldPath"),s(A,"generateHorizontalBoundary"),s(T,"generateCliffPath"),s(S,"generateConfusionPath");var z={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"}},v=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:.7*n,y:.7*a,w:.6*n,h:.6*a}}},"getDomainLayouts"),L=s(()=>{const t=x(),e=m();return p(t,e.themeVariables).cynefin},"getCynefinDomainColors"),M={draw:s((t,e,n,a)=>{const r=a.db,o=r.getDomains(),i=r.getTransitions(),s=r.getDiagramTitle(),f=r.getAccTitle(),p=r.getAccDescription(),m=r.getConfig(),y=L();c.debug("Rendering Cynefin diagram");const x=m.width,h=m.height,$=m.padding,g=m.showDomainDescriptions,u=m.boundaryAmplitude,b=x+2*$,w=h+2*$,C={complex:y.complexBg,complicated:y.complicatedBg,clear:y.clearBg,chaotic:y.chaoticBg,confusion:y.confusionBg},k=l(e);d(k,w,b,m.useMaxWidth??!0),k.attr("viewBox",`0 0 ${b} ${w}`),f&&k.append("title").text(f),p&&k.append("desc").text(p);const M=k.append("g").attr("transform",`translate(${$}, ${$})`),F=v(x,h),P=D(m.seed,e),W=M.append("g").attr("class","cynefin-backgrounds"),I=["complex","complicated","chaotic","clear"];for(const c of I){const t=F[c];W.append("rect").attr("class","cynefinDomain").attr("x",t.x).attr("y",t.y).attr("width",t.w).attr("height",t.h).attr("fill",C[c]).attr("fill-opacity",.4).attr("stroke","none")}const j=M.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",B(x,h,P,u)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",A(x,h,P+100,u)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",T(x,h)).attr("fill","none");const R=.15*x,E=.15*h;M.append("path").attr("class","cynefinConfusion").attr("d",S(x/2,h/2,R,E)).attr("fill",C.confusion).attr("fill-opacity",.5);const H=M.append("g").attr("class","cynefin-labels");for(const c of I){const t=F[c];H.append("text").attr("class","cynefinDomainLabel").attr("x",t.cx).attr("y",g?t.cy-30:t.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(c.charAt(0).toUpperCase()+c.slice(1))}if(H.append("text").attr("class","cynefinDomainLabel").attr("x",x/2).attr("y",g?h/2-10:h/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),g){const t=M.append("g").attr("class","cynefin-subtitles");for(const e of I){const n=F[e],a=z[e];t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.model),t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.practice)}t.append("text").attr("class","cynefinSubtitle").attr("x",x/2).attr("y",h/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(z.confusion.practice)}const V=M.append("g").attr("class","cynefin-items"),q=26,N=["complex","complicated","chaotic","clear","confusion"];for(const c of N){const t=o.get(c);if(!t||0===t.items.length)continue;const e=F[c],n="confusion"===c;let a,r=t.items,i=0;if(n&&t.items.length>3&&(i=t.items.length-3,r=t.items.slice(0,3)),n){const t=g?22:14;a=e.cy+t}else a=e.cy+(g?25:15);if([...r].forEach((t,n)=>{const r=a+30*n,o=V.append("g"),i=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(t.label);let s=7*t.label.length;const l=i.node();if(l&&"function"==typeof l.getBBox){const t=l.getBBox();t.width>0&&(s=t.width)}const d=s+20,f=e.cx-d/2;o.attr("transform",`translate(${f}, ${r})`),o.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",d).attr("height",q).attr("rx",4).attr("ry",4).attr("fill",C[c]).attr("fill-opacity",.95),i.attr("x",d/2).attr("y",13)}),i>0){const t=a+30*r.length,n=`+${i} more`,o=V.append("g"),s=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(n);let l=7*n.length;const d=s.node();if(d&&"function"==typeof d.getBBox){const t=d.getBBox();t.width>0&&(l=t.width)}const f=l+20,p=e.cx-f/2;o.attr("transform",`translate(${p}, ${t})`),o.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f).attr("height",q).attr("rx",4).attr("ry",4).attr("fill",C[c]).attr("fill-opacity",.6),s.attr("x",f/2).attr("y",13)}}if(i.length>0){const t=k.select("defs").empty()?k.append("defs"):k.select("defs"),n=`cynefin-arrow-${e}`;t.append("marker").attr("id",n).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 a=M.append("g").attr("class","cynefin-arrows");i.forEach(t=>{const e=F[t.from],r=F[t.to];if(!e||!r)return;if(t.from===t.to)return void c.warn(`Cynefin renderer: skipping self-loop on domain "${t.from}"`);const o=e.cx,i=e.cy,s=r.cx,l=r.cy,d=(o+s)/2,f=(i+l)/2,p=s-o,m=l-i,y=Math.sqrt(p*p+m*m),x=.15*y,h=d+-m/y*x,$=f+p/y*x;a.append("path").attr("class","cynefinArrowLine").attr("d",`M${o},${i} Q${h},${$} ${s},${l}`).attr("fill","none").attr("marker-end",`url(#${n})`),t.label&&a.append("text").attr("class","cynefinArrowLabel").attr("x",h).attr("y",$-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(t.label)})}s&&M.append("text").attr("class","cynefinTitle").attr("x",x/2).attr("y",-$/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(s)},"draw")},F=s(()=>{const t=x(),e=m();return p(t,e.themeVariables).cynefin},"getCynefinTheme"),P={parser:w,db:u,renderer:M,styles:s(()=>{const t=F();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`},"styles")};export{P as diagram};
|
|
1
|
+
import{p as t}from"./chunk-JWPE2WC7-D8olqveE.js";import{s as e,g as n,p as a,o as r,a as o,b as i,_ as s,l as c,F as l,e as d,q as f,B as p,z as m,D as y,W as x}from"./mermaid.core-DQSlETG7.js";import{p as h}from"./cynefin-VYW2F7L2-DVyQShfu.js";import"./index-AdB8XHXv.js";var $=s(()=>({domains:new Map,transitions:[]}),"createDefaultData"),g=$(),u={getDomains:s(()=>g.domains,"getDomains"),getTransitions:s(()=>g.transitions,"getTransitions"),setDomains:s(t=>{if(t)for(const e of t){const t=e.domain,n=(e.items??[]).map(t=>({label:t.label}));g.domains.set(t,{name:t,items:n})}},"setDomains"),setTransitions:s(t=>{t&&(g.transitions=t.filter(t=>t.from!==t.to||(c.warn(`Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`),!1)).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))},"setTransitions"),getConfig:s(()=>p({...y.cynefin,...m().cynefin}),"getConfig"),clear:s(()=>{f(),g=$()},"clear"),setAccTitle:i,getAccTitle:o,setDiagramTitle:r,getDiagramTitle:a,getAccDescription:n,setAccDescription:e},b=s(e=>{t(e,u),u.setDomains(e.domains),u.setTransitions(e.transitions)},"populate"),w={parse:s(async t=>{const e=await h("cynefin",t);c.debug(e),b(e)},"parse")};function C(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296}function k(t){let e=0;for(let n=0;n<t.length;n++){e=(e<<5)-e+t.charCodeAt(n),e|=0}return e}function D(t,e){return"number"==typeof t&&Number.isFinite(t)&&0!==t?t:k(e)}function B(t,e,n,a){const r=t/2,o=a??.015*t,i=e/7,s=[];for(let l=0;l<=7;l++){const t=C(n+17*l)*o*2-o;s.push({x:r+t,y:l*i})}let c=`M${s[0].x},${s[0].y}`;for(let l=0;l<s.length-1;l++){const t=s[l],e=s[l+1],a=(t.y+e.y)/2,r=1.5*o*(l%2==0?1:-1)*C(n+31*l+7);c+=` C${t.x+r},${a} ${e.x-r},${a} ${e.x},${e.y}`}return c}function A(t,e,n,a){const r=e/2,o=a??.015*e,i=t/7,s=[];for(let l=0;l<=7;l++){const t=C(n+23*l)*o*2-o;s.push({x:l*i,y:r+t})}let c=`M${s[0].x},${s[0].y}`;for(let l=0;l<s.length-1;l++){const t=s[l],e=s[l+1],a=(t.x+e.x)/2,r=1.5*o*(l%2==0?1:-1)*C(n+37*l+11);c+=` C${a},${t.y+r} ${a},${e.y-r} ${e.x},${e.y}`}return c}function T(t,e){const n=t/2,a=.5*e,r=.03*t;return[`M${n},${a}`,`C${n+r},${a+.2*(e-a)}`,`${n-1.5*r},${a+.55*(e-a)}`,`${n+.5*r},${a+.75*(e-a)}`,`C${n-r},${a+.85*(e-a)}`,`${n+.3*r},${a+.95*(e-a)}`,`${n},${e}`].join(" ")}function S(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(C,"seededRandom"),s(k,"hashString"),s(D,"resolveSeed"),s(B,"generateFoldPath"),s(A,"generateHorizontalBoundary"),s(T,"generateCliffPath"),s(S,"generateConfusionPath");var z={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"}},v=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:.7*n,y:.7*a,w:.6*n,h:.6*a}}},"getDomainLayouts"),L=s(()=>{const t=x(),e=m();return p(t,e.themeVariables).cynefin},"getCynefinDomainColors"),M={draw:s((t,e,n,a)=>{const r=a.db,o=r.getDomains(),i=r.getTransitions(),s=r.getDiagramTitle(),f=r.getAccTitle(),p=r.getAccDescription(),m=r.getConfig(),y=L();c.debug("Rendering Cynefin diagram");const x=m.width,h=m.height,$=m.padding,g=m.showDomainDescriptions,u=m.boundaryAmplitude,b=x+2*$,w=h+2*$,C={complex:y.complexBg,complicated:y.complicatedBg,clear:y.clearBg,chaotic:y.chaoticBg,confusion:y.confusionBg},k=l(e);d(k,w,b,m.useMaxWidth??!0),k.attr("viewBox",`0 0 ${b} ${w}`),f&&k.append("title").text(f),p&&k.append("desc").text(p);const M=k.append("g").attr("transform",`translate(${$}, ${$})`),F=v(x,h),P=D(m.seed,e),W=M.append("g").attr("class","cynefin-backgrounds"),I=["complex","complicated","chaotic","clear"];for(const c of I){const t=F[c];W.append("rect").attr("class","cynefinDomain").attr("x",t.x).attr("y",t.y).attr("width",t.w).attr("height",t.h).attr("fill",C[c]).attr("fill-opacity",.4).attr("stroke","none")}const j=M.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",B(x,h,P,u)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",A(x,h,P+100,u)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",T(x,h)).attr("fill","none");const R=.15*x,E=.15*h;M.append("path").attr("class","cynefinConfusion").attr("d",S(x/2,h/2,R,E)).attr("fill",C.confusion).attr("fill-opacity",.5);const H=M.append("g").attr("class","cynefin-labels");for(const c of I){const t=F[c];H.append("text").attr("class","cynefinDomainLabel").attr("x",t.cx).attr("y",g?t.cy-30:t.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(c.charAt(0).toUpperCase()+c.slice(1))}if(H.append("text").attr("class","cynefinDomainLabel").attr("x",x/2).attr("y",g?h/2-10:h/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),g){const t=M.append("g").attr("class","cynefin-subtitles");for(const e of I){const n=F[e],a=z[e];t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.model),t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.practice)}t.append("text").attr("class","cynefinSubtitle").attr("x",x/2).attr("y",h/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(z.confusion.practice)}const V=M.append("g").attr("class","cynefin-items"),q=26,N=["complex","complicated","chaotic","clear","confusion"];for(const c of N){const t=o.get(c);if(!t||0===t.items.length)continue;const e=F[c],n="confusion"===c;let a,r=t.items,i=0;if(n&&t.items.length>3&&(i=t.items.length-3,r=t.items.slice(0,3)),n){const t=g?22:14;a=e.cy+t}else a=e.cy+(g?25:15);if([...r].forEach((t,n)=>{const r=a+30*n,o=V.append("g"),i=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(t.label);let s=7*t.label.length;const l=i.node();if(l&&"function"==typeof l.getBBox){const t=l.getBBox();t.width>0&&(s=t.width)}const d=s+20,f=e.cx-d/2;o.attr("transform",`translate(${f}, ${r})`),o.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",d).attr("height",q).attr("rx",4).attr("ry",4).attr("fill",C[c]).attr("fill-opacity",.95),i.attr("x",d/2).attr("y",13)}),i>0){const t=a+30*r.length,n=`+${i} more`,o=V.append("g"),s=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(n);let l=7*n.length;const d=s.node();if(d&&"function"==typeof d.getBBox){const t=d.getBBox();t.width>0&&(l=t.width)}const f=l+20,p=e.cx-f/2;o.attr("transform",`translate(${p}, ${t})`),o.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f).attr("height",q).attr("rx",4).attr("ry",4).attr("fill",C[c]).attr("fill-opacity",.6),s.attr("x",f/2).attr("y",13)}}if(i.length>0){const t=k.select("defs").empty()?k.append("defs"):k.select("defs"),n=`cynefin-arrow-${e}`;t.append("marker").attr("id",n).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 a=M.append("g").attr("class","cynefin-arrows");i.forEach(t=>{const e=F[t.from],r=F[t.to];if(!e||!r)return;if(t.from===t.to)return void c.warn(`Cynefin renderer: skipping self-loop on domain "${t.from}"`);const o=e.cx,i=e.cy,s=r.cx,l=r.cy,d=(o+s)/2,f=(i+l)/2,p=s-o,m=l-i,y=Math.sqrt(p*p+m*m),x=.15*y,h=d+-m/y*x,$=f+p/y*x;a.append("path").attr("class","cynefinArrowLine").attr("d",`M${o},${i} Q${h},${$} ${s},${l}`).attr("fill","none").attr("marker-end",`url(#${n})`),t.label&&a.append("text").attr("class","cynefinArrowLabel").attr("x",h).attr("y",$-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(t.label)})}s&&M.append("text").attr("class","cynefinTitle").attr("x",x/2).attr("y",-$/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(s)},"draw")},F=s(()=>{const t=x(),e=m();return p(t,e.themeVariables).cynefin},"getCynefinTheme"),P={parser:w,db:u,renderer:M,styles:s(()=>{const t=F();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`},"styles")};export{P as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,w as t,a as r,f as a,b as n,s as i}from"./chunk-RYQCIY6F-
|
|
1
|
+
import{c as e,w as t,a as r,f as a,b as n,s as i}from"./chunk-RYQCIY6F-o8VHYTB2.js";import{_ as o,al as d,am as s,an as l,ao as g,l as c,c as h,ap as f,aq as p,af as u,ar as y,ag as m,ae as w,as as x,at as v,au as b}from"./mermaid.core-DQSlETG7.js";import{G as X}from"./graph-DaY0Al7L.js";import{l as L}from"./layout-CdIFZZ-x.js";import"./map-CKQHuyK8.js";import"./index-AdB8XHXv.js";var S=o((e,t,r)=>Math.max(t,Math.min(r,e)),"clamp"),E=o((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),N=o(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e,"shouldMergeSelfLoopSegments"),C=o((e,t,r,a,n)=>{const i=[],o=new Set;if(r.forEach(({start:e,end:t})=>{e!==a&&o.add(e),t!==a&&o.add(t)}),o.forEach(t=>{const r=e.node(t);"number"==typeof(null==r?void 0:r.x)&&"number"==typeof(null==r?void 0:r.y)&&i.push(r)}),0===i.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof(null==e?void 0:e.x)&&"number"==typeof(null==e?void 0:e.y)&&i.push(e)})}),0===i.length)return E(n);const d=i.reduce((e,t)=>({x:e.x+t.x/i.length,y:e.y+t.y/i.length}),{x:0,y:0}),s=d.x-t.x,l=d.y-t.y;return Math.abs(s)>Math.abs(l)?s>0?"right":"left":Math.abs(l)>0?l>0?"bottom":"top":E(n)},"getSelfLoopSide"),I=o((e,t="top",r=0,a=0)=>{const n=e.x,i=e.y-r,o=e.width/2,d=e.height/2,s=Math.max(36,Math.min(100,.8*e.width)),l=S(Math.max(a,.35*e.width),36,s),g=S(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":{const e=i+d;return[{x:n-l/2,y:e},{x:n-l/2,y:e+g},{x:n+l/2,y:e+g},{x:n+l/2,y:e}]}case"right":{const e=n+o;return[{x:e,y:i-l/2},{x:e+g,y:i-l/2},{x:e+g,y:i+l/2},{x:e,y:i+l/2}]}case"left":{const e=n-o;return[{x:e,y:i-l/2},{x:e-g,y:i-l/2},{x:e-g,y:i+l/2},{x:e,y:i+l/2}]}default:{const e=i-d;return[{x:n-l/2,y:e},{x:n-l/2,y:e-g},{x:n+l/2,y:e-g},{x:n+l/2,y:e}]}}},"getSelfLoopPoints"),M=o((e,t,r="top",a=0,n={})=>{const i=e.x,o=e.y-a,d=n.width??0,s=n.height??0;switch(r){case"bottom":return{x:i,y:Math.max(...t.map(e=>e.y))+s/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+d/2+4,y:o};case"left":return{x:Math.min(...t.map(e=>e.x))-d/2-4,y:o};default:return{x:i,y:Math.min(...t.map(e=>e.y))-s/2-4}}},"getSelfLoopLabelPosition"),R=o((e,t=0,{mergeSelfLoops:r=!0}={})=>{var a;const n=new Map,i=[],o=null==(a=e.graph())?void 0:a.rankdir;return e.edges().forEach(t=>{const a=e.edge(t);if(r&&a.selfLoop){const e=a.selfLoop.id;n.has(e)||n.set(e,[]),n.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),n.forEach(r=>{if(3!==r.length)return void r.forEach(e=>i.push(e));r.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);const[a,n,d]=r,s=a.edge.originalEdge??n.edge.originalEdge??d.edge.originalEdge??n.edge,l=e.node(s.start);if(!l)return void r.forEach(e=>i.push(e));const g={width:n.edge.width,height:n.edge.height},c=C(e,l,r,s.start,o),h=I(l,c,t,g.width??0),f=M(l,h,c,t,g),p={...n.edge,...s,id:s.id,points:h,start:s.start,end:s.end,x:f.x,y:f.y,width:g.width,height:g.height,labelStyle:n.edge.labelStyle,fromCluster:a.edge.fromCluster??n.edge.fromCluster??d.edge.fromCluster,toCluster:a.edge.toCluster??n.edge.toCluster??d.edge.toCluster};delete p.selfLoop,delete p.originalEdge,i.push({edge:p,start:p.start,end:p.end})}),i},"getEdgesToRender"),P=o(async(e,r,d,s,l,g)=>{c.warn("Graph in recursive render:XAX",t(r),l);const h=r.graph().rankdir;c.trace("Dir in recursive render - dir:",h);const X=e.insert("g").attr("class","root");r.nodes()?c.info("Recursive render XXX",r.nodes()):c.info("No nodes found for",r),r.edges().length>0&&c.info("Recursive edges",r.edge(r.edges()[0]));const S=X.insert("g").attr("class","clusters"),E=X.insert("g").attr("class","edgePaths"),C=X.insert("g").attr("class","edgeLabels"),I=X.insert("g").attr("class","nodes"),M=N(d);await Promise.all(r.nodes().map(async function(e){const t=r.node(e);if(void 0!==l){const t=JSON.parse(JSON.stringify(l.clusterData));c.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",t.height,"\nParent cluster",l.height),r.setNode(l.id,t),r.parent(e)||(c.trace("Setting parent",e,l.id),r.setParent(e,l.id,t))}if(c.info("(Insert) Node XXX"+e+": "+JSON.stringify(r.node(e))),null==t?void 0:t.clusterNode){c.info("Cluster identified XBX",e,t.width,r.node(e));const{ranksep:a,nodesep:n}=r.graph();t.graph.setGraph({...t.graph.graph(),ranksep:a+25,nodesep:n});const i=await P(I,t.graph,d,s,r.node(e),g),o=i.elem;f(t,o),t.diff=i.diff||0,c.info("New compound node after recursive render XAX",e,"width",t.width,"height",t.height),p(o,t)}else r.children(e).length>0?(c.trace("Cluster - the non recursive path XBX",e,t.id,t,t.width,"Graph:",r),c.trace(a(t.id,r)),n.set(t.id,{id:a(t.id,r),node:t})):(c.trace("Node - the non recursive path XAX",e,I,r.node(e),h),await u(I,r.node(e),{config:g,dir:h}))}));const G=o(async()=>{const e=r.edges().map(async function(e){const t=r.edge(e.v,e.w,e.name);if(c.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),c.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(r.edge(e))),c.info("Fix",n,"ids:",e.v,e.w,"Translating: ",n.get(e.v),n.get(e.w)),M&&t.selfLoop){if(1!==t.selfLoop.order)return;const e=t.id;return t.id=t.selfLoop.id,await b(C,t),void(t.id=e)}await b(C,t)});await Promise.all(e)},"processEdges");await G(),c.info("Graph before layout:",JSON.stringify(t(r))),c.info("############################################# XXX"),c.info("### Layout ### XXX"),c.info("############################################# XXX"),L(r),c.info("Graph after layout:",JSON.stringify(t(r)));let k=0,{subGraphTitleTotalMargin:O}=y(g);await Promise.all(i(r).map(async function(e){var t;const a=r.node(e);if(c.info("Position XBX => "+e+": ("+a.x,","+a.y,") width: ",a.width," height: ",a.height),null==a?void 0:a.clusterNode)a.y+=O,c.info("A tainted cluster node XBX1",e,a.id,a.width,a.height,a.x,a.y,r.parent(e)),n.get(a.id).node=a,m(a);else if(r.children(e).length>0){c.info("A pure cluster node XBX1",e,a.id,a.x,a.y,a.width,a.height,r.parent(e)),a.height+=O,r.node(a.parentId);const i=(null==a?void 0:a.padding)/2||0,o=(null==(t=null==a?void 0:a.labelBBox)?void 0:t.height)||0,d=o-i||0;c.debug("OffsetY",d,"labelHeight",o,"halfPadding",i),await w(S,a),n.get(a.id).node=a}else{const e=r.node(a.parentId);a.y+=O/2,c.info("A regular node XBX1 - using the padding",a.id,"parent",a.parentId,a.width,a.height,a.x,a.y,"offsetY",a.offsetY,"parent",e,null==e?void 0:e.offsetY,a),m(a)}}));const T=O/2;return R(r,T,{mergeSelfLoops:M}).forEach(function({edge:e,start:t,end:a}){c.info("Edge "+t+" -> "+a+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=T);const i=r.node(t),o=r.node(a),l=x(E,e,n,d,i,o,s);v(e,l)}),r.nodes().forEach(function(e){const t=r.node(e);c.info(e,t.type,t.diff),t.isGroup&&(k=t.diff)}),c.warn("Returning from recursive render XAX",X,k),{elem:X,diff:k}},"recursiveRender"),G=o(async(a,n)=>{var i,o,f,p,u,y;const m=new X({multigraph:!0,compound:!0}).setGraph({rankdir:a.direction,nodesep:(null==(i=a.config)?void 0:i.nodeSpacing)||(null==(f=null==(o=a.config)?void 0:o.flowchart)?void 0:f.nodeSpacing)||a.nodeSpacing,ranksep:(null==(p=a.config)?void 0:p.rankSpacing)||(null==(y=null==(u=a.config)?void 0:u.flowchart)?void 0:y.rankSpacing)||a.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),w=n.select("g");d(w,a.markers,a.type,a.diagramId),s(),l(),g(),e(),a.nodes.forEach(e=>{m.setNode(e.id,{...e}),e.parentId&&m.setParent(e.id,e.parentId)}),c.debug("Edges:",a.edges),a.edges.forEach(e=>{if(e.start===e.end){const t=e.start,r=t+"---"+t+"---1",a=t+"---"+t+"---2",n=m.node(t);m.setNode(r,{domId:r,id:r,parentId:n.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),m.setParent(r,n.parentId),m.setNode(a,{domId:a,id:a,parentId:n.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),m.setParent(a,n.parentId);const i=structuredClone(e),o=structuredClone(e),d=structuredClone(e),s=structuredClone(e);o.originalEdge=i,o.selfLoop={id:i.id,order:0},d.originalEdge=i,d.selfLoop={id:i.id,order:1},s.originalEdge=i,s.selfLoop={id:i.id,order:2},o.label="",o.arrowTypeEnd="none",o.endLabelLeft="",o.endLabelRight="",o.startLabelLeft="",o.id=t+"-cyclic-special-1",d.startLabelRight="",d.startLabelLeft="",d.endLabelLeft="",d.endLabelRight="",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=t+"-cyclic-special-mid",s.label="",s.startLabelRight="",s.startLabelLeft="",s.arrowTypeStart="none",n.isGroup&&(o.fromCluster=t,s.toCluster=t),s.id=t+"-cyclic-special-2",s.arrowTypeStart="none",m.setEdge(t,r,o,t+"-cyclic-special-0"),m.setEdge(r,a,d,t+"-cyclic-special-1"),m.setEdge(a,t,s,t+"-cyclic-special-2")}else m.setEdge(e.start,e.end,{...e},e.id)}),c.warn("Graph at first:",JSON.stringify(t(m))),r(m),c.warn("Graph after XAX:",JSON.stringify(t(m)));const x=h();await P(w,m,a.type,a.diagramId,void 0,x)},"render");export{R as getEdgesToRender,G as render};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e}from"./chunk-JWPE2WC7-Dvi-x4dH.js";import{p as t,o as n,s as a,g as i,a as r,b as o,_ as s,l,c as d,d as m,A as c,q as x,B as u,z as f,D as g,i as h,w as b,aj as p}from"./mermaid.core-C4a3RQhj.js";import{p as w,i as v}from"./cynefin-VYW2F7L2-CuE8IoQA.js";import"./index-DyV-bHVC.js";var y="position frame",P="frame positioned",M="position relation",k="relation positioned",S=s(function(e){l.debug("options str",e)},"setOptions"),B=s(function(){return{}},"getOptions"),F=s(function(){$(),x()},"clear");function $(){W={}}s($,"reset");var A=g.eventmodeling,E=s(()=>u({...A,...f().eventmodeling}),"getConfig"),W={};function R(){let e=I;const{ast:t}=W,n=H();if(!t)throw new Error("No data for EventModel");return t.frames.forEach((a,i)=>{const r=X(a,t.dataEntities,n);let o;e=re(e,{$kind:y,index:i,frame:a,textProps:r}),_(a)?(l.debug("source frame",a.sourceFrames),o=t.frames.filter(e=>a.sourceFrames.some(t=>t.$refText===e.name)),o.forEach(t=>{e=re(e,{$kind:M,index:i,frame:a,sourceFrame:t})})):e=re(e,{$kind:M,index:i,frame:a})}),e={...e,sortedSwimlanesArray:Y(e.swimlanes)},e}function O(e){W.ast=e}s(R,"getState"),s(O,"setAst");var T={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function H(){return T}s(H,"getDiagramProps");var I={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function C(e){const t=e.split(".");if(2===t.length)return t[0]}function D(e){const t=e.split(".");return 2===t.length?t[1]:e}function j(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function N(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{const a=Number.parseInt(e);return a>t&&a<n}).map(e=>Number.parseInt(e)))+1}function U(e,t){const n=C(e.entityIdentifier),a=j(t,n);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return a?{index:a.index,label:a.namespace||T.labelUiAutomation}:n?{index:N(t,0,100),label:T.labelUiAutomationPrefix+n}:{index:0,label:T.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return a?{index:a.index,label:a.namespace||T.labelCommandReadModel}:n?{index:N(t,100,200),label:T.labelCommandReadModelPrefix+n}:{index:100,label:T.labelCommandReadModel};default:return a?{index:a.index,label:a.namespace||T.labelEvents}:n?{index:N(t,200,300),label:T.labelEventsPrefix+n}:{index:200,label:T.labelEvents}}}function V(e){const{themeVariables:t}=f();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function X(e,t,n){const a=f(),i=h(D(e.entityIdentifier)??"",a);let r;const o={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let s=`<b>${b(i,n.textMaxWidth,o)}</b>`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=h(r,a),r=b(r,n.textMaxWidth,o),r=r.replaceAll(" "," ")),e.dataReference){const i=t.find(t=>{var n;return t.name===(null==(n=e.dataReference)?void 0:n.$refText)});i&&(r=i.dataBlockValue,r=r.substring(r.indexOf("{\n")+2),r=r.substring(0,r.lastIndexOf("}")-1),r=h(r,a),r=b(r,n.textMaxWidth,o),r=r.replaceAll(" "," "),r+="<br/>")}const d=void 0!==r;d&&(s+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${r}</code>`);const m=p(s,{fontSize:o.fontSize,fontWeight:o.fontWeight,fontFamily:o.fontFamily}),c={content:s,width:d?m.width/3:m.width,height:m.height};return l.debug(`[${e.name}] ${e.entityIdentifier} text`,c),c}function z(e,t){const n=t,a=V(n.frame),i={width:n.textProps.width+2*T.boxTextPadding,height:n.textProps.height+2*T.boxTextPadding};return[{$kind:P,frame:n.frame,index:n.index,visual:a,dimension:i,textProps:n.textProps}]}function G(e,t,n){return void 0===t?T.contentStartX:t.index===e.index&&e.r?e.r+T.boxPadding:void 0===n?T.contentStartX:n.r-T.boxOverlap+T.boxPadding}function L(e,t){const n=[...e.map(e=>e.r),t];return Math.max(...n)}function Y(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function q(e,t){const n=t,a=U(n.frame,e.swimlanes);let i;i=a.index in e.swimlanes?e.swimlanes[a.index]:{index:a.index,label:a.label,r:0,y:a.index*T.swimlaneMinHeight+T.swimlaneGap,height:T.swimlaneMinHeight,maxHeight:T.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,s={width:Math.max(T.boxMinWidth,Math.min(T.boxMaxWidth,n.dimension.width))+2*T.boxPadding,height:Math.max(T.boxMinHeight,Math.min(T.boxMaxHeight,n.dimension.height))+2*T.boxPadding},l=G(i,o,r),d=l+s.width+T.boxPadding,m=L(Object.values(e.swimlanes),d);i.r=l+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(T.swimlaneMinHeight,i.maxHeight)+2*T.swimlanePadding;const c={x:l,y:T.swimlanePadding+i.y,r:d,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},x={...e,boxes:[...e.boxes,c],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:a.index,previousFrame:n.frame,maxR:m},u=Y(x.swimlanes);u.length>0&&(u[0].y=0);for(let f=1;f<u.length;f++){const e=u[f],t=u[f-1];e.y=t.y+t.height+T.swimlaneGap}return x}function J(e,t){return 0===e&&0===t.sourceFrames.length}function _(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function K(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function Q(e,t,n){if(!(n<0))for(let a=n;a>=0;a--){const n=e[a];if(n.swimlane.index!==t)return n}}function Z(e,t){const n=t;if(v(n.frame)||J(n.index,n.frame))return[];const a=K(e.boxes,n.frame);if(void 0===a)throw new Error(`Target box not found for frame ${n.frame.name}`);let i;if(i=n.sourceFrame?K(e.boxes,n.sourceFrame):Q(e.boxes,a.swimlane.index,n.index-1),void 0===i)return[];return[{$kind:k,frame:n.frame,index:n.index,sourceBox:i,targetBox:a}]}function ee(e,t){const n=t,a={visual:{fill:"none",stroke:"#000"},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,a]}}s(C,"extractNamespace"),s(D,"extractName"),s(j,"findSwimlaneByNamespace"),s(N,"findNextAvailableIndex"),s(U,"calculateSwimlaneProps"),s(V,"calculateEntityVisualProps"),s(X,"calculateTextProps"),s(z,"decidePositionFrame"),s(G,"calculateX"),s(L,"calculateMaxRight"),s(Y,"sortedSwimlanesArray"),s(q,"evolveFramePositioned"),s(J,"isFirstFrame"),s(_,"hasSourceFrame"),s(K,"findBoxByFrame"),s(Q,"findBoxByLineIndex"),s(Z,"decidePositionRelation"),s(ee,"evolveRelationPositioned");var te={[y]:z,[M]:Z},ne={[P]:q,[k]:ee};function ae(e,t){const n=te[t.$kind];if(null==n)return[];const a=n(e,t);return l.debug("decided events",a),a}function ie(e,t){const n=t.reduce((e,t)=>{const n=ne[t.$kind];return null==n?e:n(e,t)},e);return l.debug("evolve events",{state:e,newState:n,events:t}),n}function re(e,t){return ie(e,ae(e,t))}s(ae,"decide"),s(ie,"evolve"),s(re,"dispatch");var oe={getConfig:E,setOptions:S,getOptions:B,clear:F,setAccTitle:o,getAccTitle:r,getAccDescription:i,setAccDescription:a,setDiagramTitle:n,getDiagramTitle:t,setAst:O,getDiagramProps:H,getState:R},se={parse:s(async t=>{const n=await w("eventmodeling",t);l.debug(n),oe.setAst(n),e(n,oe)},"parse")},le=d(),de=null==le?void 0:le.eventmodeling;function me(e,t){return n=>{const a=n.swimlane.y+t.swimlanePadding,i=e.append("g").attr("class","em-box");i.append("rect").attr("x",n.x).attr("y",a).attr("rx","3").attr("width",n.dimension.width).attr("height",n.dimension.height).attr("stroke",n.visual.stroke).attr("fill",n.visual.fill);i.append("foreignObject").attr("x",n.x+t.boxPadding).attr("y",a+10).attr("width",n.dimension.width-2*t.boxPadding).attr("height",n.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(n.text)}}function ce(e,t){return e>t}function xe(e,t,n,a){return i=>{const r=i.sourceBox.swimlane.y+t.swimlanePadding,o=i.targetBox.swimlane.y+t.swimlanePadding,s=ce(r,o),d=i.sourceBox.x+2*i.sourceBox.dimension.width/3,m=i.targetBox.x+i.targetBox.dimension.width/3;let c,x;l.debug(`rendering relation up=${s} for `,{sourceBox:i.sourceBox,targetBox:i.targetBox}),s?(c=r,x=o+i.targetBox.dimension.height):(c=r+i.sourceBox.dimension.height,x=o);const u=a.emRelationStroke??i.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",i.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${n})`).attr("d",`M${d} ${c} L${m} ${x}`)}}function ue(e,t,n,a){return i=>{const r=e.append("g").attr("class","em-swimlane"),o=a.emSwimlaneBackgroundOdd??"rgb(250,250,250)",s=a.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",i.y).attr("rx","3").attr("width",t+n.swimlanePadding).attr("height",i.height).attr("fill",o).attr("stroke",s),r.append("text").attr("font-weight",n.swimlaneTextFontWeight).attr("x",30).attr("y",i.y+30).text(i.label)}}s(me,"renderD3Box"),s(ce,"dirUpwards"),s(xe,"renderD3Relation"),s(ue,"renderD3Swimlane");var fe={parser:se,db:oe,renderer:{draw:s(function(e,t,n,a){if(l.debug("in eventmodeling renderer",e+"\n","id:",t,n),!de)throw new Error("EventModeling config not found");const i=a.db,{themeVariables:r,eventmodeling:o}=d(),s=m(`[id="${t}"]`),x=i.getDiagramProps(),u=i.getState(),f=`em-arrowhead-${t}`,g=r.emArrowhead??"#000000";u.sortedSwimlanesArray.forEach(ue(s,u.maxR,x,r)),u.boxes.forEach(me(s,x)),u.relations.forEach(xe(s,x,f,r));s.append("defs").append("marker").attr("id",f).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",g),c(void 0,s,(null==o?void 0:o.padding)??30,null==o?void 0:o.useMaxWidth)},"draw")},styles:s(e=>"","getStyles")};export{fe as diagram};
|
|
1
|
+
import{p as e}from"./chunk-JWPE2WC7-D8olqveE.js";import{p as t,o as n,s as a,g as i,a as r,b as o,_ as s,l,c as d,d as m,A as c,q as x,B as u,z as f,D as g,i as h,w as b,aj as p}from"./mermaid.core-DQSlETG7.js";import{p as w,i as v}from"./cynefin-VYW2F7L2-DVyQShfu.js";import"./index-AdB8XHXv.js";var y="position frame",P="frame positioned",M="position relation",k="relation positioned",S=s(function(e){l.debug("options str",e)},"setOptions"),B=s(function(){return{}},"getOptions"),F=s(function(){$(),x()},"clear");function $(){W={}}s($,"reset");var A=g.eventmodeling,E=s(()=>u({...A,...f().eventmodeling}),"getConfig"),W={};function R(){let e=I;const{ast:t}=W,n=H();if(!t)throw new Error("No data for EventModel");return t.frames.forEach((a,i)=>{const r=X(a,t.dataEntities,n);let o;e=re(e,{$kind:y,index:i,frame:a,textProps:r}),_(a)?(l.debug("source frame",a.sourceFrames),o=t.frames.filter(e=>a.sourceFrames.some(t=>t.$refText===e.name)),o.forEach(t=>{e=re(e,{$kind:M,index:i,frame:a,sourceFrame:t})})):e=re(e,{$kind:M,index:i,frame:a})}),e={...e,sortedSwimlanesArray:Y(e.swimlanes)},e}function O(e){W.ast=e}s(R,"getState"),s(O,"setAst");var T={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function H(){return T}s(H,"getDiagramProps");var I={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function C(e){const t=e.split(".");if(2===t.length)return t[0]}function D(e){const t=e.split(".");return 2===t.length?t[1]:e}function j(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function N(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{const a=Number.parseInt(e);return a>t&&a<n}).map(e=>Number.parseInt(e)))+1}function U(e,t){const n=C(e.entityIdentifier),a=j(t,n);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return a?{index:a.index,label:a.namespace||T.labelUiAutomation}:n?{index:N(t,0,100),label:T.labelUiAutomationPrefix+n}:{index:0,label:T.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return a?{index:a.index,label:a.namespace||T.labelCommandReadModel}:n?{index:N(t,100,200),label:T.labelCommandReadModelPrefix+n}:{index:100,label:T.labelCommandReadModel};default:return a?{index:a.index,label:a.namespace||T.labelEvents}:n?{index:N(t,200,300),label:T.labelEventsPrefix+n}:{index:200,label:T.labelEvents}}}function V(e){const{themeVariables:t}=f();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function X(e,t,n){const a=f(),i=h(D(e.entityIdentifier)??"",a);let r;const o={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let s=`<b>${b(i,n.textMaxWidth,o)}</b>`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=h(r,a),r=b(r,n.textMaxWidth,o),r=r.replaceAll(" "," ")),e.dataReference){const i=t.find(t=>{var n;return t.name===(null==(n=e.dataReference)?void 0:n.$refText)});i&&(r=i.dataBlockValue,r=r.substring(r.indexOf("{\n")+2),r=r.substring(0,r.lastIndexOf("}")-1),r=h(r,a),r=b(r,n.textMaxWidth,o),r=r.replaceAll(" "," "),r+="<br/>")}const d=void 0!==r;d&&(s+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${r}</code>`);const m=p(s,{fontSize:o.fontSize,fontWeight:o.fontWeight,fontFamily:o.fontFamily}),c={content:s,width:d?m.width/3:m.width,height:m.height};return l.debug(`[${e.name}] ${e.entityIdentifier} text`,c),c}function z(e,t){const n=t,a=V(n.frame),i={width:n.textProps.width+2*T.boxTextPadding,height:n.textProps.height+2*T.boxTextPadding};return[{$kind:P,frame:n.frame,index:n.index,visual:a,dimension:i,textProps:n.textProps}]}function G(e,t,n){return void 0===t?T.contentStartX:t.index===e.index&&e.r?e.r+T.boxPadding:void 0===n?T.contentStartX:n.r-T.boxOverlap+T.boxPadding}function L(e,t){const n=[...e.map(e=>e.r),t];return Math.max(...n)}function Y(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function q(e,t){const n=t,a=U(n.frame,e.swimlanes);let i;i=a.index in e.swimlanes?e.swimlanes[a.index]:{index:a.index,label:a.label,r:0,y:a.index*T.swimlaneMinHeight+T.swimlaneGap,height:T.swimlaneMinHeight,maxHeight:T.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,s={width:Math.max(T.boxMinWidth,Math.min(T.boxMaxWidth,n.dimension.width))+2*T.boxPadding,height:Math.max(T.boxMinHeight,Math.min(T.boxMaxHeight,n.dimension.height))+2*T.boxPadding},l=G(i,o,r),d=l+s.width+T.boxPadding,m=L(Object.values(e.swimlanes),d);i.r=l+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(T.swimlaneMinHeight,i.maxHeight)+2*T.swimlanePadding;const c={x:l,y:T.swimlanePadding+i.y,r:d,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},x={...e,boxes:[...e.boxes,c],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:a.index,previousFrame:n.frame,maxR:m},u=Y(x.swimlanes);u.length>0&&(u[0].y=0);for(let f=1;f<u.length;f++){const e=u[f],t=u[f-1];e.y=t.y+t.height+T.swimlaneGap}return x}function J(e,t){return 0===e&&0===t.sourceFrames.length}function _(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function K(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function Q(e,t,n){if(!(n<0))for(let a=n;a>=0;a--){const n=e[a];if(n.swimlane.index!==t)return n}}function Z(e,t){const n=t;if(v(n.frame)||J(n.index,n.frame))return[];const a=K(e.boxes,n.frame);if(void 0===a)throw new Error(`Target box not found for frame ${n.frame.name}`);let i;if(i=n.sourceFrame?K(e.boxes,n.sourceFrame):Q(e.boxes,a.swimlane.index,n.index-1),void 0===i)return[];return[{$kind:k,frame:n.frame,index:n.index,sourceBox:i,targetBox:a}]}function ee(e,t){const n=t,a={visual:{fill:"none",stroke:"#000"},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,a]}}s(C,"extractNamespace"),s(D,"extractName"),s(j,"findSwimlaneByNamespace"),s(N,"findNextAvailableIndex"),s(U,"calculateSwimlaneProps"),s(V,"calculateEntityVisualProps"),s(X,"calculateTextProps"),s(z,"decidePositionFrame"),s(G,"calculateX"),s(L,"calculateMaxRight"),s(Y,"sortedSwimlanesArray"),s(q,"evolveFramePositioned"),s(J,"isFirstFrame"),s(_,"hasSourceFrame"),s(K,"findBoxByFrame"),s(Q,"findBoxByLineIndex"),s(Z,"decidePositionRelation"),s(ee,"evolveRelationPositioned");var te={[y]:z,[M]:Z},ne={[P]:q,[k]:ee};function ae(e,t){const n=te[t.$kind];if(null==n)return[];const a=n(e,t);return l.debug("decided events",a),a}function ie(e,t){const n=t.reduce((e,t)=>{const n=ne[t.$kind];return null==n?e:n(e,t)},e);return l.debug("evolve events",{state:e,newState:n,events:t}),n}function re(e,t){return ie(e,ae(e,t))}s(ae,"decide"),s(ie,"evolve"),s(re,"dispatch");var oe={getConfig:E,setOptions:S,getOptions:B,clear:F,setAccTitle:o,getAccTitle:r,getAccDescription:i,setAccDescription:a,setDiagramTitle:n,getDiagramTitle:t,setAst:O,getDiagramProps:H,getState:R},se={parse:s(async t=>{const n=await w("eventmodeling",t);l.debug(n),oe.setAst(n),e(n,oe)},"parse")},le=d(),de=null==le?void 0:le.eventmodeling;function me(e,t){return n=>{const a=n.swimlane.y+t.swimlanePadding,i=e.append("g").attr("class","em-box");i.append("rect").attr("x",n.x).attr("y",a).attr("rx","3").attr("width",n.dimension.width).attr("height",n.dimension.height).attr("stroke",n.visual.stroke).attr("fill",n.visual.fill);i.append("foreignObject").attr("x",n.x+t.boxPadding).attr("y",a+10).attr("width",n.dimension.width-2*t.boxPadding).attr("height",n.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(n.text)}}function ce(e,t){return e>t}function xe(e,t,n,a){return i=>{const r=i.sourceBox.swimlane.y+t.swimlanePadding,o=i.targetBox.swimlane.y+t.swimlanePadding,s=ce(r,o),d=i.sourceBox.x+2*i.sourceBox.dimension.width/3,m=i.targetBox.x+i.targetBox.dimension.width/3;let c,x;l.debug(`rendering relation up=${s} for `,{sourceBox:i.sourceBox,targetBox:i.targetBox}),s?(c=r,x=o+i.targetBox.dimension.height):(c=r+i.sourceBox.dimension.height,x=o);const u=a.emRelationStroke??i.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",i.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${n})`).attr("d",`M${d} ${c} L${m} ${x}`)}}function ue(e,t,n,a){return i=>{const r=e.append("g").attr("class","em-swimlane"),o=a.emSwimlaneBackgroundOdd??"rgb(250,250,250)",s=a.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",i.y).attr("rx","3").attr("width",t+n.swimlanePadding).attr("height",i.height).attr("fill",o).attr("stroke",s),r.append("text").attr("font-weight",n.swimlaneTextFontWeight).attr("x",30).attr("y",i.y+30).text(i.label)}}s(me,"renderD3Box"),s(ce,"dirUpwards"),s(xe,"renderD3Relation"),s(ue,"renderD3Swimlane");var fe={parser:se,db:oe,renderer:{draw:s(function(e,t,n,a){if(l.debug("in eventmodeling renderer",e+"\n","id:",t,n),!de)throw new Error("EventModeling config not found");const i=a.db,{themeVariables:r,eventmodeling:o}=d(),s=m(`[id="${t}"]`),x=i.getDiagramProps(),u=i.getState(),f=`em-arrowhead-${t}`,g=r.emArrowhead??"#000000";u.sortedSwimlanesArray.forEach(ue(s,u.maxR,x,r)),u.boxes.forEach(me(s,x)),u.relations.forEach(xe(s,x,f,r));s.append("defs").append("marker").attr("id",f).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",g),c(void 0,s,(null==o?void 0:o.padding)??30,null==o?void 0:o.useMaxWidth)},"draw")},styles:s(e=>"","getStyles")};export{fe as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;import{p as t}from"./chunk-JWPE2WC7-Dvi-x4dH.js";import{_ as a,W as n,z as r,B as l,F as s,e as o,l as i,bd as c,d,b as p,a as h,o as u,p as f,g as m,s as y,D as g,be as x,q as S}from"./mermaid.core-C4a3RQhj.js";import{s as v}from"./chunk-VR4S4FIN-CdmfUGnI.js";import{p as b}from"./cynefin-VYW2F7L2-CuE8IoQA.js";import{b as C}from"./defaultLocale-BsH76t_G.js";import{o as w}from"./ordinal-CVjKTKEW.js";import"./index-DyV-bHVC.js";import"./init-C0SZ43gy.js";function $(e){var t=0,a=e.children,n=a&&a.length;if(n)for(;--n>=0;)t+=a[n].value;else t=1;e.value=t}function L(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=k)):void 0===t&&(t=M);for(var a,n,r,l,s,o=new F(e),i=[o];a=i.pop();)if((r=t(a.data))&&(s=(r=Array.from(r)).length))for(a.children=r,l=s-1;l>=0;--l)i.push(n=r[l]=new F(r[l])),n.parent=a,n.depth=a.depth+1;return o.eachBefore(z)}function M(e){return e.children}function k(e){return Array.isArray(e)?e[1]:null}function T(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function z(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function F(e){this.data=e,this.depth=this.height=0,this.parent=null}function P(){return 0}function N(e){return function(){return e}}function A(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function B(e,t,a,n,r){for(var l,s=e.children,o=-1,i=s.length,c=e.value&&(n-t)/e.value;++o<i;)(l=s[o]).y0=a,l.y1=r,l.x0=t,l.x1=t+=l.value*c}function W(e,t,a,n,r){for(var l,s=e.children,o=-1,i=s.length,c=e.value&&(r-a)/e.value;++o<i;)(l=s[o]).x0=t,l.x1=n,l.y0=a,l.y1=a+=l.value*c}F.prototype=L.prototype={constructor:F,count:function(){return this.eachAfter($)},each:function(e,t){let a=-1;for(const n of this)e.call(t,n,++a,this);return this},eachAfter:function(e,t){for(var a,n,r,l=this,s=[l],o=[],i=-1;l=s.pop();)if(o.push(l),a=l.children)for(n=0,r=a.length;n<r;++n)s.push(a[n]);for(;l=o.pop();)e.call(t,l,++i,this);return this},eachBefore:function(e,t){for(var a,n,r=this,l=[r],s=-1;r=l.pop();)if(e.call(t,r,++s,this),a=r.children)for(n=a.length-1;n>=0;--n)l.push(a[n]);return this},find:function(e,t){let a=-1;for(const n of this)if(e.call(t,n,++a,this))return n},sum:function(e){return this.eachAfter(function(t){for(var a=+e(t.data)||0,n=t.children,r=n&&n.length;--r>=0;)a+=n[r].value;t.value=a})},sort:function(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function(e){for(var t=this,a=function(e,t){if(e===t)return e;var a=e.ancestors(),n=t.ancestors(),r=null;e=a.pop(),t=n.pop();for(;e===t;)r=e,e=a.pop(),t=n.pop();return r}(t,e),n=[t];t!==a;)t=t.parent,n.push(t);for(var r=n.length;e!==a;)n.splice(r,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function(){var e=this,t=[];return e.each(function(a){a!==e&&t.push({source:a.parent,target:a})}),t},copy:function(){return L(this).eachBefore(T)},[Symbol.iterator]:function*(){var e,t,a,n,r=this,l=[r];do{for(e=l.reverse(),l=[];r=e.pop();)if(yield r,t=r.children)for(a=0,n=t.length;a<n;++a)l.push(t[a])}while(l.length)}};const j=function e(t){function a(e,a,n,r,l){!function(e,t,a,n,r,l){for(var s,o,i,c,d,p,h,u,f,m,y,g=[],x=t.children,S=0,v=0,b=x.length,C=t.value;S<b;){i=r-a,c=l-n;do{d=x[v++].value}while(!d&&v<b);for(p=h=d,y=d*d*(m=Math.max(c/i,i/c)/(C*e)),f=Math.max(h/y,y/p);v<b;++v){if(d+=o=x[v].value,o<p&&(p=o),o>h&&(h=o),y=d*d*m,(u=Math.max(h/y,y/p))>f){d-=o;break}f=u}g.push(s={value:d,dice:i<c,children:x.slice(S,v)}),s.dice?B(s,a,n,r,C?n+=c*d/C:l):W(s,a,n,C?a+=i*d/C:r,l),C-=d,S=v}}(t,e,a,n,r,l)}return a.ratio=function(t){return e((t=+t)>1?t:1)},a}((1+Math.sqrt(5))/2);function D(){var e=j,t=!1,a=1,n=1,r=[0],l=P,s=P,o=P,i=P,c=P;function d(e){return e.x0=e.y0=0,e.x1=a,e.y1=n,e.eachBefore(p),r=[0],t&&e.eachBefore(A),e}function p(t){var a=r[t.depth],n=t.x0+a,d=t.y0+a,p=t.x1-a,h=t.y1-a;p<n&&(n=p=(n+p)/2),h<d&&(d=h=(d+h)/2),t.x0=n,t.y0=d,t.x1=p,t.y1=h,t.children&&(a=r[t.depth+1]=l(t)/2,n+=c(t)-a,d+=s(t)-a,(p-=o(t)-a)<n&&(n=p=(n+p)/2),(h-=i(t)-a)<d&&(d=h=(d+h)/2),e(t,n,d,p,h))}return d.round=function(e){return arguments.length?(t=!!e,d):t},d.size=function(e){return arguments.length?(a=+e[0],n=+e[1],d):[a,n]},d.tile=function(t){return arguments.length?(e=function(e){if("function"!=typeof e)throw new Error;return e}(t),d):e},d.padding=function(e){return arguments.length?d.paddingInner(e).paddingOuter(e):d.paddingInner()},d.paddingInner=function(e){return arguments.length?(l="function"==typeof e?e:N(+e),d):l},d.paddingOuter=function(e){return arguments.length?d.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):d.paddingTop()},d.paddingTop=function(e){return arguments.length?(s="function"==typeof e?e:N(+e),d):s},d.paddingRight=function(e){return arguments.length?(o="function"==typeof e?e:N(+e),d):o},d.paddingBottom=function(e){return arguments.length?(i="function"==typeof e?e:N(+e),d):i},d.paddingLeft=function(e){return arguments.length?(c="function"==typeof e?e:N(+e),d):c},d}var V=(a(e=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=p,this.getAccTitle=h,this.setDiagramTitle=u,this.getDiagramTitle=f,this.getAccDescription=m,this.setAccDescription=y}getNodes(){return this.nodes}getConfig(){const e=g,t=r();return l({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??(this.root=e))}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){const a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},n=t.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");n&&n.forEach(e=>{x(e)&&((null==a?void 0:a.textStyles)?a.textStyles.push(e):a.textStyles=[e]),(null==a?void 0:a.styles)?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){var t;return(null==(t=this.classes.get(e))?void 0:t.styles)??[]}clear(){S(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},"TreeMapDB"),e);function R(e){if(!e.length)return[];const t=[],a=[];return e.forEach(e=>{const n={name:e.name,children:"Leaf"===e.type?void 0:[]};for(n.classSelector=null==e?void 0:e.classSelector,(null==e?void 0:e.cssCompiledStyles)&&(n.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(n.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(n);else{const e=a[a.length-1].node;e.children?e.children.push(n):e.children=[n]}"Leaf"!==e.type&&a.push({node:n,level:e.level})}),t}a(R,"buildHierarchy");var I=a((e,n)=>{t(e,n);const r=[];for(const t of e.TreemapRows??[])"ClassDefStatement"===t.$type&&n.addClass(t.className??"",t.styleText??"");for(const t of e.TreemapRows??[]){const e=t.item;if(!e)continue;const a=t.indent?parseInt(t.indent):0,l=E(e),s=e.classSelector?n.getStylesForClass(e.classSelector):[],o=s.length>0?s:void 0,i={level:a,name:l,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:o};r.push(i)}const l=R(r),s=a((e,t)=>{for(const a of e)n.addNode(a,t),a.children&&a.children.length>0&&s(a.children,t+1)},"addNodesRecursively");s(l,0)},"populate"),E=a(e=>e.name?String(e.name):"","getItemName"),H={parser:{yy:void 0},parse:a(async e=>{var t;try{const a=b,n=await a("treemap",e);i.debug("Treemap AST:",n);const r=null==(t=H.parser)?void 0:t.yy;if(!(r instanceof V))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");I(n,r)}catch(a){throw i.error("Error parsing treemap:",a),a}},"parse")},q=10,G={draw:a((e,t,n,l)=>{const p=l.db,h=p.getConfig(),u=h.padding??10,f=p.getDiagramTitle(),m=p.getRoot(),{themeVariables:y}=r();if(!m)return;const g=f?30:0,x=s(t),S=h.nodeWidth?h.nodeWidth*q:960,b=h.nodeHeight?h.nodeHeight*q:500,$=S,M=b+g;let k;x.attr("viewBox",`0 0 ${$} ${M}`),o(x,M,$,h.useMaxWidth);try{const e=h.valueFormat||",";if("$0,0"===e)k=a(e=>"$"+C(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),n=t?t[0]:"";k=a(e=>"$"+C(","+n)(e),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);k=a(e=>"$"+C(t||"")(e),"valueFormat")}else k=C(e)}catch(K){i.error("Error creating format function:",K),k=C(",")}const T=w().range(["transparent",y.cScale0,y.cScale1,y.cScale2,y.cScale3,y.cScale4,y.cScale5,y.cScale6,y.cScale7,y.cScale8,y.cScale9,y.cScale10,y.cScale11]),z=w().range(["transparent",y.cScalePeer0,y.cScalePeer1,y.cScalePeer2,y.cScalePeer3,y.cScalePeer4,y.cScalePeer5,y.cScalePeer6,y.cScalePeer7,y.cScalePeer8,y.cScalePeer9,y.cScalePeer10,y.cScalePeer11]),F=w().range([y.cScaleLabel0,y.cScaleLabel1,y.cScaleLabel2,y.cScaleLabel3,y.cScaleLabel4,y.cScaleLabel5,y.cScaleLabel6,y.cScaleLabel7,y.cScaleLabel8,y.cScaleLabel9,y.cScaleLabel10,y.cScaleLabel11]);f&&x.append("text").attr("x",$/2).attr("y",g/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(f);const P=x.append("g").attr("transform",`translate(0, ${g})`).attr("class","treemapContainer"),N=L(m).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),A=D().size([S,b]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(u).paddingLeft(e=>e.children&&e.children.length>0?q:0).paddingRight(e=>e.children&&e.children.length>0?q:0).paddingBottom(e=>e.children&&e.children.length>0?q:0).round(!0)(N),B=A.descendants().filter(e=>e.children&&e.children.length>0),W=P.selectAll(".treemapSection").data(B).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),W.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>T(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>z(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";const t=c({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,a)=>`url(#clip-section-${t}-${a})`).attr("style",e=>{if(0===e.depth)return"display: none;";return"dominant-baseline: middle; font-size: 12px; fill:"+F(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")}).each(function(e){if(0===e.depth)return;const t=d(this),a=e.data.name;t.text(a);const n=e.x1-e.x0;let r;if(!1!==h.showValues&&e.value){r=n-10-30-10-6}else{r=n-6-6}const l=Math.max(15,r),s=t.node();if(s.getComputedTextLength()>l){const e="...";let n=a;for(;n.length>0;){if(n=a.substring(0,n.length-1),0===n.length){t.text(e),s.getComputedTextLength()>l&&t.text("");break}if(t.text(n+e),s.getComputedTextLength()<=l)break}}}),!1!==h.showValues&&W.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?k(e.value):"").attr("font-style","italic").attr("style",e=>{if(0===e.depth)return"display: none;";return"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+F(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")});const j=A.leaves(),V=j.length>20,R=V?16:38,I=V?14:28,E=V?4:8,H=V?4:6,G=V?2:4,O=V?8:10,J=V?1:2,Y=P.selectAll(".treemapLeafGroup").data(j).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);Y.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?T(e.parent.data.name):T(e.data.name)).attr("style",e=>c({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?T(e.parent.data.name):T(e.data.name)).attr("stroke-width",3),Y.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4));if(Y.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${R}px;fill:`+F(e.data.name)+";"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){const t=d(this),a=e.x1-e.x0,n=e.y1-e.y0,r=t.node(),l=a-2*G,s=n-2*G;if(l<O||s<O)return void t.style("display","none");let o=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>l&&o>E;)o--,t.style("font-size",`${o}px`);let i=Math.max(H,Math.min(I,Math.round(.6*o))),c=o+J+i;for(;c>s&&o>E&&(o--,i=Math.max(H,Math.min(I,Math.round(.6*o))),!(i<H&&o===E));)t.style("font-size",`${o}px`),c=o+J+i;t.style("font-size",`${o}px`),V?(o<E||s<E)&&t.style("display","none"):(r.getComputedTextLength()>l||o<E||s<o)&&t.style("display","none")}),!1!==h.showValues){Y.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${I}px;fill:`+F(e.data.name)+";"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?k(e.value):"").each(function(e){const t=d(this),a=this.parentNode;if(!a)return void t.style("display","none");const n=d(a).select(".treemapLabel");if(n.empty()||"none"===n.style("display"))return void t.style("display","none");const r=parseFloat(n.style("font-size")),l=Math.max(H,Math.min(I,Math.round(.6*r)));t.style("font-size",`${l}px`);const s=(e.y1-e.y0)/2+r/2+J;t.attr("y",s);const o=e.x1-e.x0,i=e.y1-e.y0-4,c=o-2*G;t.node().getComputedTextLength()>c||s+l>i||l<H?t.style("display","none"):t.style("display",null)})}const _=h.diagramPadding??8;v(x,_,"flowchart",(null==h?void 0:h.useMaxWidth)||!1)},"draw"),getClasses:a(function(e,t){return t.db.getClasses()},"getClasses")},O={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},J=a(({treemap:e}={})=>{const t=n(),a=r(),s=l(t,a.themeVariables),o=l(O,e),i=o.titleColor??s.titleColor,c=o.labelColor??s.textColor,d=o.valueColor??s.textColor;return`\n .treemapNode.section {\n stroke: ${o.sectionStrokeColor};\n stroke-width: ${o.sectionStrokeWidth};\n fill: ${o.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${o.leafStrokeColor};\n stroke-width: ${o.leafStrokeWidth};\n fill: ${o.leafFillColor};\n }\n .treemapLabel {\n fill: ${c};\n font-size: ${o.labelFontSize};\n }\n .treemapValue {\n fill: ${d};\n font-size: ${o.valueFontSize};\n }\n .treemapTitle {\n fill: ${i};\n font-size: ${o.titleFontSize};\n }\n `},"getStyles"),Y={parser:H,get db(){return new V},renderer:G,styles:J};export{Y as diagram};
|
|
1
|
+
var e;import{p as t}from"./chunk-JWPE2WC7-D8olqveE.js";import{_ as a,W as n,z as r,B as l,F as s,e as o,l as i,bd as c,d,b as p,a as h,o as u,p as f,g as m,s as y,D as g,be as x,q as S}from"./mermaid.core-DQSlETG7.js";import{s as v}from"./chunk-VR4S4FIN-BjtiAe03.js";import{p as b}from"./cynefin-VYW2F7L2-DVyQShfu.js";import{b as C}from"./defaultLocale-BsH76t_G.js";import{o as w}from"./ordinal-CVjKTKEW.js";import"./index-AdB8XHXv.js";import"./init-C0SZ43gy.js";function $(e){var t=0,a=e.children,n=a&&a.length;if(n)for(;--n>=0;)t+=a[n].value;else t=1;e.value=t}function L(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=k)):void 0===t&&(t=M);for(var a,n,r,l,s,o=new F(e),i=[o];a=i.pop();)if((r=t(a.data))&&(s=(r=Array.from(r)).length))for(a.children=r,l=s-1;l>=0;--l)i.push(n=r[l]=new F(r[l])),n.parent=a,n.depth=a.depth+1;return o.eachBefore(z)}function M(e){return e.children}function k(e){return Array.isArray(e)?e[1]:null}function T(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function z(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function F(e){this.data=e,this.depth=this.height=0,this.parent=null}function P(){return 0}function N(e){return function(){return e}}function A(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function B(e,t,a,n,r){for(var l,s=e.children,o=-1,i=s.length,c=e.value&&(n-t)/e.value;++o<i;)(l=s[o]).y0=a,l.y1=r,l.x0=t,l.x1=t+=l.value*c}function W(e,t,a,n,r){for(var l,s=e.children,o=-1,i=s.length,c=e.value&&(r-a)/e.value;++o<i;)(l=s[o]).x0=t,l.x1=n,l.y0=a,l.y1=a+=l.value*c}F.prototype=L.prototype={constructor:F,count:function(){return this.eachAfter($)},each:function(e,t){let a=-1;for(const n of this)e.call(t,n,++a,this);return this},eachAfter:function(e,t){for(var a,n,r,l=this,s=[l],o=[],i=-1;l=s.pop();)if(o.push(l),a=l.children)for(n=0,r=a.length;n<r;++n)s.push(a[n]);for(;l=o.pop();)e.call(t,l,++i,this);return this},eachBefore:function(e,t){for(var a,n,r=this,l=[r],s=-1;r=l.pop();)if(e.call(t,r,++s,this),a=r.children)for(n=a.length-1;n>=0;--n)l.push(a[n]);return this},find:function(e,t){let a=-1;for(const n of this)if(e.call(t,n,++a,this))return n},sum:function(e){return this.eachAfter(function(t){for(var a=+e(t.data)||0,n=t.children,r=n&&n.length;--r>=0;)a+=n[r].value;t.value=a})},sort:function(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function(e){for(var t=this,a=function(e,t){if(e===t)return e;var a=e.ancestors(),n=t.ancestors(),r=null;e=a.pop(),t=n.pop();for(;e===t;)r=e,e=a.pop(),t=n.pop();return r}(t,e),n=[t];t!==a;)t=t.parent,n.push(t);for(var r=n.length;e!==a;)n.splice(r,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function(){var e=this,t=[];return e.each(function(a){a!==e&&t.push({source:a.parent,target:a})}),t},copy:function(){return L(this).eachBefore(T)},[Symbol.iterator]:function*(){var e,t,a,n,r=this,l=[r];do{for(e=l.reverse(),l=[];r=e.pop();)if(yield r,t=r.children)for(a=0,n=t.length;a<n;++a)l.push(t[a])}while(l.length)}};const j=function e(t){function a(e,a,n,r,l){!function(e,t,a,n,r,l){for(var s,o,i,c,d,p,h,u,f,m,y,g=[],x=t.children,S=0,v=0,b=x.length,C=t.value;S<b;){i=r-a,c=l-n;do{d=x[v++].value}while(!d&&v<b);for(p=h=d,y=d*d*(m=Math.max(c/i,i/c)/(C*e)),f=Math.max(h/y,y/p);v<b;++v){if(d+=o=x[v].value,o<p&&(p=o),o>h&&(h=o),y=d*d*m,(u=Math.max(h/y,y/p))>f){d-=o;break}f=u}g.push(s={value:d,dice:i<c,children:x.slice(S,v)}),s.dice?B(s,a,n,r,C?n+=c*d/C:l):W(s,a,n,C?a+=i*d/C:r,l),C-=d,S=v}}(t,e,a,n,r,l)}return a.ratio=function(t){return e((t=+t)>1?t:1)},a}((1+Math.sqrt(5))/2);function D(){var e=j,t=!1,a=1,n=1,r=[0],l=P,s=P,o=P,i=P,c=P;function d(e){return e.x0=e.y0=0,e.x1=a,e.y1=n,e.eachBefore(p),r=[0],t&&e.eachBefore(A),e}function p(t){var a=r[t.depth],n=t.x0+a,d=t.y0+a,p=t.x1-a,h=t.y1-a;p<n&&(n=p=(n+p)/2),h<d&&(d=h=(d+h)/2),t.x0=n,t.y0=d,t.x1=p,t.y1=h,t.children&&(a=r[t.depth+1]=l(t)/2,n+=c(t)-a,d+=s(t)-a,(p-=o(t)-a)<n&&(n=p=(n+p)/2),(h-=i(t)-a)<d&&(d=h=(d+h)/2),e(t,n,d,p,h))}return d.round=function(e){return arguments.length?(t=!!e,d):t},d.size=function(e){return arguments.length?(a=+e[0],n=+e[1],d):[a,n]},d.tile=function(t){return arguments.length?(e=function(e){if("function"!=typeof e)throw new Error;return e}(t),d):e},d.padding=function(e){return arguments.length?d.paddingInner(e).paddingOuter(e):d.paddingInner()},d.paddingInner=function(e){return arguments.length?(l="function"==typeof e?e:N(+e),d):l},d.paddingOuter=function(e){return arguments.length?d.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):d.paddingTop()},d.paddingTop=function(e){return arguments.length?(s="function"==typeof e?e:N(+e),d):s},d.paddingRight=function(e){return arguments.length?(o="function"==typeof e?e:N(+e),d):o},d.paddingBottom=function(e){return arguments.length?(i="function"==typeof e?e:N(+e),d):i},d.paddingLeft=function(e){return arguments.length?(c="function"==typeof e?e:N(+e),d):c},d}var V=(a(e=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=p,this.getAccTitle=h,this.setDiagramTitle=u,this.getDiagramTitle=f,this.getAccDescription=m,this.setAccDescription=y}getNodes(){return this.nodes}getConfig(){const e=g,t=r();return l({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??(this.root=e))}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){const a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},n=t.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");n&&n.forEach(e=>{x(e)&&((null==a?void 0:a.textStyles)?a.textStyles.push(e):a.textStyles=[e]),(null==a?void 0:a.styles)?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){var t;return(null==(t=this.classes.get(e))?void 0:t.styles)??[]}clear(){S(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},"TreeMapDB"),e);function R(e){if(!e.length)return[];const t=[],a=[];return e.forEach(e=>{const n={name:e.name,children:"Leaf"===e.type?void 0:[]};for(n.classSelector=null==e?void 0:e.classSelector,(null==e?void 0:e.cssCompiledStyles)&&(n.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(n.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(n);else{const e=a[a.length-1].node;e.children?e.children.push(n):e.children=[n]}"Leaf"!==e.type&&a.push({node:n,level:e.level})}),t}a(R,"buildHierarchy");var I=a((e,n)=>{t(e,n);const r=[];for(const t of e.TreemapRows??[])"ClassDefStatement"===t.$type&&n.addClass(t.className??"",t.styleText??"");for(const t of e.TreemapRows??[]){const e=t.item;if(!e)continue;const a=t.indent?parseInt(t.indent):0,l=E(e),s=e.classSelector?n.getStylesForClass(e.classSelector):[],o=s.length>0?s:void 0,i={level:a,name:l,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:o};r.push(i)}const l=R(r),s=a((e,t)=>{for(const a of e)n.addNode(a,t),a.children&&a.children.length>0&&s(a.children,t+1)},"addNodesRecursively");s(l,0)},"populate"),E=a(e=>e.name?String(e.name):"","getItemName"),H={parser:{yy:void 0},parse:a(async e=>{var t;try{const a=b,n=await a("treemap",e);i.debug("Treemap AST:",n);const r=null==(t=H.parser)?void 0:t.yy;if(!(r instanceof V))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");I(n,r)}catch(a){throw i.error("Error parsing treemap:",a),a}},"parse")},q=10,G={draw:a((e,t,n,l)=>{const p=l.db,h=p.getConfig(),u=h.padding??10,f=p.getDiagramTitle(),m=p.getRoot(),{themeVariables:y}=r();if(!m)return;const g=f?30:0,x=s(t),S=h.nodeWidth?h.nodeWidth*q:960,b=h.nodeHeight?h.nodeHeight*q:500,$=S,M=b+g;let k;x.attr("viewBox",`0 0 ${$} ${M}`),o(x,M,$,h.useMaxWidth);try{const e=h.valueFormat||",";if("$0,0"===e)k=a(e=>"$"+C(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),n=t?t[0]:"";k=a(e=>"$"+C(","+n)(e),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);k=a(e=>"$"+C(t||"")(e),"valueFormat")}else k=C(e)}catch(K){i.error("Error creating format function:",K),k=C(",")}const T=w().range(["transparent",y.cScale0,y.cScale1,y.cScale2,y.cScale3,y.cScale4,y.cScale5,y.cScale6,y.cScale7,y.cScale8,y.cScale9,y.cScale10,y.cScale11]),z=w().range(["transparent",y.cScalePeer0,y.cScalePeer1,y.cScalePeer2,y.cScalePeer3,y.cScalePeer4,y.cScalePeer5,y.cScalePeer6,y.cScalePeer7,y.cScalePeer8,y.cScalePeer9,y.cScalePeer10,y.cScalePeer11]),F=w().range([y.cScaleLabel0,y.cScaleLabel1,y.cScaleLabel2,y.cScaleLabel3,y.cScaleLabel4,y.cScaleLabel5,y.cScaleLabel6,y.cScaleLabel7,y.cScaleLabel8,y.cScaleLabel9,y.cScaleLabel10,y.cScaleLabel11]);f&&x.append("text").attr("x",$/2).attr("y",g/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(f);const P=x.append("g").attr("transform",`translate(0, ${g})`).attr("class","treemapContainer"),N=L(m).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),A=D().size([S,b]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(u).paddingLeft(e=>e.children&&e.children.length>0?q:0).paddingRight(e=>e.children&&e.children.length>0?q:0).paddingBottom(e=>e.children&&e.children.length>0?q:0).round(!0)(N),B=A.descendants().filter(e=>e.children&&e.children.length>0),W=P.selectAll(".treemapSection").data(B).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),W.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>T(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>z(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";const t=c({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,a)=>`url(#clip-section-${t}-${a})`).attr("style",e=>{if(0===e.depth)return"display: none;";return"dominant-baseline: middle; font-size: 12px; fill:"+F(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")}).each(function(e){if(0===e.depth)return;const t=d(this),a=e.data.name;t.text(a);const n=e.x1-e.x0;let r;if(!1!==h.showValues&&e.value){r=n-10-30-10-6}else{r=n-6-6}const l=Math.max(15,r),s=t.node();if(s.getComputedTextLength()>l){const e="...";let n=a;for(;n.length>0;){if(n=a.substring(0,n.length-1),0===n.length){t.text(e),s.getComputedTextLength()>l&&t.text("");break}if(t.text(n+e),s.getComputedTextLength()<=l)break}}}),!1!==h.showValues&&W.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?k(e.value):"").attr("font-style","italic").attr("style",e=>{if(0===e.depth)return"display: none;";return"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+F(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")});const j=A.leaves(),V=j.length>20,R=V?16:38,I=V?14:28,E=V?4:8,H=V?4:6,G=V?2:4,O=V?8:10,J=V?1:2,Y=P.selectAll(".treemapLeafGroup").data(j).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);Y.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?T(e.parent.data.name):T(e.data.name)).attr("style",e=>c({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?T(e.parent.data.name):T(e.data.name)).attr("stroke-width",3),Y.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4));if(Y.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${R}px;fill:`+F(e.data.name)+";"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){const t=d(this),a=e.x1-e.x0,n=e.y1-e.y0,r=t.node(),l=a-2*G,s=n-2*G;if(l<O||s<O)return void t.style("display","none");let o=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>l&&o>E;)o--,t.style("font-size",`${o}px`);let i=Math.max(H,Math.min(I,Math.round(.6*o))),c=o+J+i;for(;c>s&&o>E&&(o--,i=Math.max(H,Math.min(I,Math.round(.6*o))),!(i<H&&o===E));)t.style("font-size",`${o}px`),c=o+J+i;t.style("font-size",`${o}px`),V?(o<E||s<E)&&t.style("display","none"):(r.getComputedTextLength()>l||o<E||s<o)&&t.style("display","none")}),!1!==h.showValues){Y.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${I}px;fill:`+F(e.data.name)+";"+c({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?k(e.value):"").each(function(e){const t=d(this),a=this.parentNode;if(!a)return void t.style("display","none");const n=d(a).select(".treemapLabel");if(n.empty()||"none"===n.style("display"))return void t.style("display","none");const r=parseFloat(n.style("font-size")),l=Math.max(H,Math.min(I,Math.round(.6*r)));t.style("font-size",`${l}px`);const s=(e.y1-e.y0)/2+r/2+J;t.attr("y",s);const o=e.x1-e.x0,i=e.y1-e.y0-4,c=o-2*G;t.node().getComputedTextLength()>c||s+l>i||l<H?t.style("display","none"):t.style("display",null)})}const _=h.diagramPadding??8;v(x,_,"flowchart",(null==h?void 0:h.useMaxWidth)||!1)},"draw"),getClasses:a(function(e,t){return t.db.getClasses()},"getClasses")},O={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},J=a(({treemap:e}={})=>{const t=n(),a=r(),s=l(t,a.themeVariables),o=l(O,e),i=o.titleColor??s.titleColor,c=o.labelColor??s.textColor,d=o.valueColor??s.textColor;return`\n .treemapNode.section {\n stroke: ${o.sectionStrokeColor};\n stroke-width: ${o.sectionStrokeWidth};\n fill: ${o.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${o.leafStrokeColor};\n stroke-width: ${o.leafStrokeWidth};\n fill: ${o.leafFillColor};\n }\n .treemapLabel {\n fill: ${c};\n font-size: ${o.labelFontSize};\n }\n .treemapValue {\n fill: ${d};\n font-size: ${o.valueFontSize};\n }\n .treemapTitle {\n fill: ${i};\n font-size: ${o.titleFontSize};\n }\n `},"getStyles"),Y={parser:H,get db(){return new V},renderer:G,styles:J};export{Y as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t;import{p as e}from"./chunk-JWPE2WC7-
|
|
1
|
+
var t;import{p as e}from"./chunk-JWPE2WC7-D8olqveE.js";import{_ as a,B as r,F as s,e as o,l as i,b as n,a as l,o as c,p as d,g as p,s as b,z as h,D as k,q as g}from"./mermaid.core-DQSlETG7.js";import{p as f}from"./cynefin-VYW2F7L2-DVyQShfu.js";import"./index-AdB8XHXv.js";var u=k.packet,w=(a(t=class{constructor(){this.packet=[],this.setAccTitle=n,this.getAccTitle=l,this.setDiagramTitle=c,this.getDiagramTitle=d,this.getAccDescription=p,this.setAccDescription=b}getConfig(){const t=r({...u,...h().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){g(),this.packet=[]}},"PacketDB"),t),m=a((t,a)=>{e(t,a);let r=-1,s=[],o=1;const{bitsPerRow:n}=a.getConfig();for(let{start:e,end:l,bits:c,label:d}of t.blocks){if(void 0!==e&&void 0!==l&&l<e)throw new Error(`Packet block ${e} - ${l} is invalid. End must be greater than start.`);if(e??(e=r+1),e!==r+1)throw new Error(`Packet block ${e} - ${l??e} is not contiguous. It should start from ${r+1}.`);if(0===c)throw new Error(`Packet block ${e} is invalid. Cannot have a zero bit field.`);for(l??(l=e+(c??1)-1),c??(c=l-e+1),r=l,i.debug(`Packet block ${e} - ${r} with label ${d}`);s.length<=n+1&&a.getPacket().length<1e4;){const[t,r]=x({start:e,end:l,bits:c,label:d},o,n);if(s.push(t),t.end+1===o*n&&(a.pushWord(s),s=[],o++),!r)break;({start:e,end:l,bits:c,label:d}=r)}}a.pushWord(s)},"populate"),x=a((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];const r=e*a-1,s=e*a;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:s,end:t.end,label:t.label,bits:t.end-s}]},"getNextFittingBlock"),y={parser:{yy:void 0},parse:a(async t=>{var e;const a=await f("packet",t),r=null==(e=y.parser)?void 0:e.yy;if(!(r instanceof w))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");i.debug(a),m(a,r)},"parse")},$=a((t,e,a,r)=>{const i=r.db,n=i.getConfig(),{rowHeight:l,paddingY:c,bitWidth:d,bitsPerRow:p}=n,b=i.getPacket(),h=i.getDiagramTitle(),k=l+c,g=k*(b.length+1)-(h?0:l),f=d*p+2,u=s(e);u.attr("viewBox",`0 0 ${f} ${g}`),o(u,g,f,n.useMaxWidth);for(const[s,o]of b.entries())B(u,o,s,n);u.append("text").text(h).attr("x",f/2).attr("y",g-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),B=a((t,e,a,{rowHeight:r,paddingX:s,paddingY:o,bitWidth:i,bitsPerRow:n,showBits:l})=>{const c=t.append("g"),d=a*(r+o)+o;for(const p of e){const t=p.start%n*i+1,e=(p.end-p.start+1)*i-s;if(c.append("rect").attr("x",t).attr("y",d).attr("width",e).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",t+e/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(p.label),!l)continue;const a=p.end===p.start,o=d-2;c.append("text").attr("x",t+(a?e/2:0)).attr("y",o).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",a?"middle":"start").text(p.start),a||c.append("text").attr("x",t+e).attr("y",o).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(p.end)}},"drawWord"),C={draw:$},v={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},P=a(({packet:t}={})=>{const e=r(v,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`},"styles"),W={parser:y,get db(){return new w},renderer:C,styles:P};export{W as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as e}from"./chunk-2Q5K7J3B-
|
|
1
|
+
import{I as e}from"./chunk-2Q5K7J3B-DlDecKcs.js";import{p as t}from"./chunk-JWPE2WC7-D8olqveE.js";import{o as n,b as i,s as o,p as r,g as s,a,_ as c,B as d,l,F as h,e as p,z as f,q as g,i as u,ah as w,D as x,ai as m}from"./mermaid.core-DQSlETG7.js";import{p as v}from"./cynefin-VYW2F7L2-DVyQShfu.js";import"./index-AdB8XHXv.js";var b=/[─━│┃└┗├┣]/,y=/[└┗├┣]/,k=/[─━]/,$=/^[\s│┃]+$/,B=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,V=/^\s*%%/;function C(e){return e.some(e=>b.test(e))}function I(e){for(const t of e){const e=y.exec(t);if((null==e?void 0:e.index)&&e.index>0)return e.index}return 4}function T(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{const i=parseInt(n,10),o=t.get(i);return o?`line ${o}`:e})}function M(e){const t=e.split("\n"),n=new Map;let i=-1;for(const[c,d]of t.entries())if("treeView-beta"===d.trim()){i=c;break}if(-1===i)return{text:e,lineMap:n};const o=[];for(let c=i+1;c<t.length;c++){const e=t[c];""===e.trim()||V.test(e)||B.test(e)||($.test(e)||o.push(e.replace(/\t/g," ")))}if(!C(o))return{text:e,lineMap:n};const r=I(o),s=[];let a=0;for(let c=0;c<=i;c++)s.push(t[c]),a++,n.set(a,c+1);for(let c=i+1;c<t.length;c++){const e=t[c],i=c+1;if(""===e.trim()){s.push(e),a++,n.set(a,i);continue}if(V.test(e)){s.push(e),a++,n.set(a,i);continue}if(B.test(e)){s.push(e),a++,n.set(a,i);continue}if($.test(e))continue;const o=e.replace(/\t/g," "),d=y.exec(o);if(void 0!==(null==d?void 0:d.index)){const e=d.index,t=Math.round(e/r)+1;let c=e+1;for(;c<o.length&&k.test(o[c]);)c++;for(;c<o.length&&" "===o[c];)c++;const l=o.slice(c).trimEnd();if(!l)throw new Error(`Line ${i}: Empty node — expected a filename or directory name after the box-drawing prefix`);const h=" ".repeat(t);s.push(h+l),a++,n.set(a,i)}else{if(/^[\s─━│┃└┗├┣]+$/.test(o))continue;if(b.test(o))s.push(e),a++,n.set(a,i);else{if(/^\s+/.test(o))throw new Error(`Line ${i}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);s.push(e),a++,n.set(a,i)}}}return{text:s.join("\n"),lineMap:n}}c(C,"isBoxDrawingFormat"),c(I,"inferSegmentWidth"),c(T,"remapErrorLines"),c(M,"preprocessBoxDrawing");var E=new e(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),A=c(()=>{E.reset(),g()},"clear"),D=c(()=>E.records.stack[0],"getRoot"),z=c(()=>E.records.cnt,"getCount"),W=x.treeView,j=c(()=>d(W,f().treeView),"getConfig"),L={clear:A,addNode:c((e,t,n,i,o,r)=>{for(;e<=E.records.stack[E.records.stack.length-1].level;)E.records.stack.pop();const s={id:E.records.cnt++,level:e,name:t,nodeType:n,icon:o,cssClass:i,description:r,children:[]};E.records.stack[E.records.stack.length-1].children.push(s),E.records.stack.push(s)},"addNode"),getRoot:D,getCount:z,getConfig:j,getAccTitle:a,getAccDescription:s,getDiagramTitle:r,setAccDescription:o,setAccTitle:i,setDiagramTitle:n},S=c(e=>{t(e,L);for(const t of e.nodes){const e="number"==typeof t.indent?t.indent:0;let n=t.name;const i=n.endsWith("/");i&&(n=n.slice(0,-1));const o=i?"directory":"file",r=t.classAnnotation||void 0,s=t.iconAnnotation,a=void 0!==s?s||"none":void 0,c=t.descAnnotation||void 0,d=c?u(c,f()):void 0;L.addNode(e,n,o,r,a,d)}},"populate"),X={parse:c(async e=>{const{text:t,lineMap:n}=M(e);try{const e=await v("treeView",t);l.debug(e),S(e)}catch(i){throw n.size>0&&i instanceof Error&&(i.message=T(i.message,n)),i}},"parse")},N={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 R(e,t){var n;const i=null==(n=null==t?void 0:t.filenameIcons)?void 0:n[e];if(i)return i;const o=e.lastIndexOf(".");if(o>0){const n=e.substring(o).toLowerCase(),i=null==t?void 0:t.extensionIcons;return(null==i?void 0:i[n])??(null==i?void 0:i[n.slice(1)])}}function F(e,t){return e.includes(":")?e:e in N.icons||!t?`${N.prefix}:${e}`:`${t}:${e}`}function Y(e,t){if("none"!==e.icon){if(e.icon)return F(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){const n=R(e.name,t);if("none"===n)return;if(n)return F(n,t.defaultIconPack)}return`${N.prefix}:${"directory"===e.nodeType?"folder":"file"}`}}}c(R,"detectIcon"),c(F,"qualifyIcon"),c(Y,"getNodeIcon"),m([{name:N.prefix,icons:N}]);var H=c((e,t)=>`tv-icon-${e}-${t.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),P=c(async(e,t,n,i)=>{const o=new Set,r=c(e=>{const t=Y(e,n);t&&o.add(t),e.children.forEach(r)},"collect");if(r(t),0===o.size)return;const s=await Promise.all([...o].map(async e=>({icon:e,svg:await w(e,{height:14,width:14})}))),a=e.append("defs");for(const{icon:c,svg:d}of s)a.append("g").attr("id",H(i,c)).html(d)},"injectIconDefs"),G=c((e,t,n,i,o,r)=>{var s;const a=i.append("g");let c="treeView-node-label";"directory"===n.nodeType&&(c+=" treeView-node-dir"),n.cssClass&&(c+=` ${n.cssClass}`);const d=Y(n,o),l=void 0!==d;d&&a.append("use").attr("xlink:href",`#${H(r,d)}`).attr("x",e+o.paddingX).attr("y",t+o.paddingY).attr("class","treeView-node-icon");const h=a.append("text").text(n.name).attr("dominant-baseline","middle").attr("class",c),{height:p,width:f}=h.node().getBBox(),g=p+2*o.paddingY,u=e+o.paddingX+(l?18:0);h.attr("x",u),h.attr("y",t+g/2);const w=u+f,x=f+2*o.paddingX+(l?18:0);return n.BBox={x:e,y:t,width:x,height:g},(null==(s=n.cssClass)?void 0:s.split(/\s+/).includes("highlight"))&&a.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",g-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:n,nodeGroup:a,labelRightEdge:w,centerY:t+g/2}},"positionLabel"),q=c((e,t,n,i,o,r)=>e.append("line").attr("x1",t).attr("y1",n).attr("x2",i).attr("y2",o).attr("stroke-width",r).attr("class","treeView-node-line"),"positionLine"),J=c((e,t,n,i)=>{var o;let r=0,s=0;const a=[],d=c((e,t,n,o)=>{const c=o*(n.rowIndent+n.paddingX),d=G(c,r,t,e,n,i);a.push(d);const{height:l,width:h}=t.BBox;q(e,c-n.rowIndent,r+l/2,c,r+l/2,n.lineThickness),s=Math.max(s,c+h),r+=l},"drawNode"),l=c((t,i=0)=>{d(e,t,n,i),t.children.forEach(e=>{l(e,i+1)});const{x:o,y:r,height:s}=t.BBox;if(t.children.length){const{y:i,height:a}=t.children[t.children.length-1].BBox;q(e,o+n.paddingX,r+s,o+n.paddingX,i+a/2+n.lineThickness/2,n.lineThickness)}},"processNode");l(t);const h=a.filter(e=>e.node.description);if(h.length>0){const e=Math.max(...a.map(e=>e.labelRightEdge))+16;for(const t of h){const i=t.nodeGroup.append("text").text(t.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",e).attr("y",t.centerY).node().getBBox();s=Math.max(s,e+i.width+n.paddingX)}}for(const c of a)if(null==(o=c.node.cssClass)?void 0:o.split(/\s+/).includes("highlight")){const e=c.nodeGroup.select(".treeView-highlight-bg");if(!e.empty()){const t=s-c.node.BBox.x+8;e.attr("width",t),s=Math.max(s,c.node.BBox.x+t+2)}}return{totalHeight:r,totalWidth:s}},"drawTree"),Z={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},K={db:L,renderer:{draw:c(async(e,t,n,i)=>{l.debug("Rendering treeView diagram\n"+e);const o=i.db,r=o.getRoot(),s=o.getConfig(),a=h(t);await P(a,r,s,t);const c=a.append("g");c.attr("class","tree-view");const{totalHeight:d,totalWidth:f}=J(c,r,s,t);a.attr("viewBox",`-${s.lineThickness/2} 0 ${f} ${d}`),p(a,d,f,s.useMaxWidth)},"draw")},parser:X,styles:c(({treeView:e})=>{const{labelFontSize:t,labelColor:n,lineColor:i,iconColor:o,descriptionColor:r,highlightBg:s,highlightStroke:a}=d(Z,e);return`\n .treeView-node-label {\n font-size: ${t};\n fill: ${n};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${i};\n }\n .treeView-node-icon {\n color: ${o};\n }\n .treeView-node-description {\n font-size: ${t};\n fill: ${r};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${s};\n stroke: ${a};\n stroke-width: 1;\n }\n `},"styles")};export{K as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as t}from"./chunk-JWPE2WC7-
|
|
1
|
+
import{p as t}from"./chunk-JWPE2WC7-D8olqveE.js";import{s as e,g as a,p as r,o as n,a as s,b as i,_ as o,F as l,q as c,B as d,z as u,D as g,l as p,W as x,e as h}from"./mermaid.core-DQSlETG7.js";import{p as m}from"./cynefin-VYW2F7L2-DVyQShfu.js";import"./index-AdB8XHXv.js";var f={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},$={axes:[],curves:[],options:f},v=structuredClone($),y=g.radar,w=o(()=>d({...y,...u().radar}),"getConfig"),b=o(()=>v.axes,"getAxes"),C=o(()=>v.curves,"getCurves"),M=o(()=>v.options,"getOptions"),L=o(t=>{v.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),T=o(t=>{v.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:k(t.entries)}))},"setCurves"),k=o(t=>{if(null==t[0].axis)return t.map(t=>t.value);const e=b();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(e=>{const a=t.find(t=>{var a;return(null==(a=t.axis)?void 0:a.$refText)===e.name});if(void 0===a)throw new Error("Missing entry for axis "+e.label);return a.value})},"computeCurveEntries"),A={getAxes:b,getCurves:C,getOptions:M,setAxes:L,setCurves:T,setOptions:o(t=>{var e,a,r,n,s;const i=t.reduce((t,e)=>(t[e.name]=e,t),{});v.options={showLegend:(null==(e=i.showLegend)?void 0:e.value)??f.showLegend,ticks:(null==(a=i.ticks)?void 0:a.value)??f.ticks,max:(null==(r=i.max)?void 0:r.value)??f.max,min:(null==(n=i.min)?void 0:n.value)??f.min,graticule:(null==(s=i.graticule)?void 0:s.value)??f.graticule}},"setOptions"),getConfig:w,clear:o(()=>{c(),v=structuredClone($)},"clear"),setAccTitle:i,getAccTitle:s,setDiagramTitle:n,getDiagramTitle:r,getAccDescription:a,setAccDescription:e},O=o(e=>{t(e,A);const{axes:a,curves:r,options:n}=e;A.setAxes(a),A.setCurves(r),A.setOptions(n)},"populate"),S={parse:o(async t=>{const e=await m("radar",t);p.debug(e),O(e)},"parse")},F=o((t,e,a,r)=>{const n=r.db,s=n.getAxes(),i=n.getCurves(),o=n.getOptions(),c=n.getConfig(),d=n.getDiagramTitle(),u=l(e),g=I(u,c),p=o.max??Math.max(...i.map(t=>Math.max(...t.entries))),x=o.min,h=Math.min(c.width,c.height)/2;E(g,s,h,o.ticks,o.graticule),W(g,s,h,c),z(g,s,i,x,p,o.graticule,c),D(g,i,o.showLegend,c),g.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),I=o((t,e)=>{const a=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom,n=e.marginLeft+e.width/2,s=e.marginTop+e.height/2;return h(t,r,a,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${a} ${r}`).attr("overflow","visible"),t.append("g").attr("transform",`translate(${n}, ${s})`)},"drawFrame"),E=o((t,e,a,r,n)=>{if("circle"===n)for(let s=0;s<r;s++){const e=a*(s+1)/r;t.append("circle").attr("r",e).attr("class","radarGraticule")}else if("polygon"===n){const n=e.length;for(let s=0;s<r;s++){const i=a*(s+1)/r,o=e.map((t,e)=>{const a=2*e*Math.PI/n-Math.PI/2;return`${i*Math.cos(a)},${i*Math.sin(a)}`}).join(" ");t.append("polygon").attr("points",o).attr("class","radarGraticule")}}},"drawGraticule"),W=o((t,e,a,r)=>{const n=e.length;for(let s=0;s<n;s++){const i=e[s].label,o=2*s*Math.PI/n-Math.PI/2,l=Math.cos(o),c=Math.sin(o);t.append("line").attr("x1",0).attr("y1",0).attr("x2",a*r.axisScaleFactor*l).attr("y2",a*r.axisScaleFactor*c).attr("class","radarAxisLine");const d=l>.01?"start":l<-.01?"end":"middle",u=c>.01?"hanging":c<-.01?"auto":"central",g=4;t.append("text").text(i).attr("x",a*r.axisLabelFactor*l+g*l).attr("y",a*r.axisLabelFactor*c+g*c).attr("text-anchor",d).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function z(t,e,a,r,n,s,i){const o=e.length,l=Math.min(i.width,i.height)/2;a.forEach((e,a)=>{if(e.entries.length!==o)return;const c=e.entries.map((t,e)=>{const a=2*Math.PI*e/o-Math.PI/2,s=P(t,r,n,l);return{x:s*Math.cos(a),y:s*Math.sin(a)}});"circle"===s?t.append("path").attr("d",j(c,i.curveTension)).attr("class",`radarCurve-${a}`):"polygon"===s&&t.append("polygon").attr("points",c.map(t=>`${t.x},${t.y}`).join(" ")).attr("class",`radarCurve-${a}`)})}function P(t,e,a,r){return r*(Math.min(Math.max(t,e),a)-e)/(a-e)}function j(t,e){const a=t.length;let r=`M${t[0].x},${t[0].y}`;for(let n=0;n<a;n++){const s=t[(n-1+a)%a],i=t[n],o=t[(n+1)%a],l=t[(n+2)%a],c={x:i.x+(o.x-s.x)*e,y:i.y+(o.y-s.y)*e},d={x:o.x-(l.x-i.x)*e,y:o.y-(l.y-i.y)*e};r+=` C${c.x},${c.y} ${d.x},${d.y} ${o.x},${o.y}`}return`${r} Z`}function D(t,e,a,r){if(!a)return;const n=3*(r.width/2+r.marginRight)/4,s=3*-(r.height/2+r.marginTop)/4;e.forEach((e,a)=>{const r=t.append("g").attr("transform",`translate(${n}, ${s+20*a})`);r.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${a}`),r.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}o(z,"drawCurves"),o(P,"relativeRadius"),o(j,"closedRoundCurve"),o(D,"drawLegend");var R={draw:F},B=o((t,e)=>{let a="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++){const n=t[`cScale${r}`];a+=`\n\t\t.radarCurve-${r} {\n\t\t\tcolor: ${n};\n\t\t\tfill: ${n};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${n};\n\t\t\tstroke-width: ${e.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${r} {\n\t\t\tfill: ${n};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${n};\n\t\t}\n\t\t`}return a},"genIndexStyles"),G=o(t=>{const e=x(),a=u(),r=d(e,a.themeVariables);return{themeVariables:r,radarOptions:d(r.radar,t)}},"buildRadarStyleOptions"),V={parser:S,db:A,renderer:R,styles:o(({radar:t}={})=>{const{themeVariables:e,radarOptions:a}=G(t);return`\n\t.radarTitle {\n\t\tfont-size: ${e.fontSize};\n\t\tcolor: ${e.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${a.axisColor};\n\t\tstroke-width: ${a.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tfont-size: ${a.axisLabelFontSize}px;\n\t\tcolor: ${a.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${a.graticuleColor};\n\t\tfill-opacity: ${a.graticuleOpacity};\n\t\tstroke: ${a.graticuleColor};\n\t\tstroke-width: ${a.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${a.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${B(e,a)}\n\t`},"styles")};export{V as diagram};
|
package/web/dist/assets/{ebnfDiagram-CCIWWBDH-Bcnqidg3.js → ebnfDiagram-CCIWWBDH-Crk2X-Xr.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as e,r,d as t}from"./chunk-MOJQB5TN-
|
|
1
|
+
import{g as e,r,d as t}from"./chunk-MOJQB5TN-qQmIJLhN.js";import{p as n}from"./chunk-JWPE2WC7-D8olqveE.js";import{_ as a,l as s}from"./mermaid.core-DQSlETG7.js";import{M as o,a as i}from"./cynefin-VYW2F7L2-DVyQShfu.js";import"./index-AdB8XHXv.js";var p=i().RailroadEbnf.parser.LangiumParser,m=a(e=>{const r=e.alternatives.map(l);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformChoice"),l=a(e=>{const r=e.elements.map(c);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),u=a(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return m(e.element);case"EbnfOptional":return{type:"optional",element:m(e.element)};case"EbnfRepetition":return{type:"repetition",element:m(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),f=a((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},u(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),c=a(e=>e.postfixes.reduce((e,r)=>f(e,r),u(e.base)),"transformTerm"),y=a(e=>({name:e.name,definition:m(e.definition)}),"transformRule"),E=a(e=>{n(e,t),e.title&&t.setTitle(e.title),e.rules.map(e=>t.addRule(y(e)))},"populateDb"),d={parser:{parse:a(e=>{t.clear(),s.debug("[EBNF Parser] Starting Langium parse");const r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new o(r);const n=r.value;s.debug("[EBNF Parser] Parsed rules:",n.rules.length),E(n),s.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:t}},db:t,renderer:r,styles:e};export{d as diagram};
|