PageSourceSearch

https://www.freebc.org/assets/cynefinDiagram-5FMLGOSQ-t4oVxJJR.js

js freebc.org collected 2026-10-07 12:37:18 UTC 11,951 bytes, 62 lines download raw bytes

vendor: 4,609 bytes, line 1
1import{p as xt}from"./chunk-JWPE2WC7-BhXc-_xC.js";import{s as gt,g as $t,q as bt,p as wt,a as Ct,b as vt,_ as i,l as Y,G as Dt,d as kt,r as At,D as U,A as Q,E as Tt,X as at}from"./mermaid.core-DMz-tEN9.js";import{p as Bt}from"./cynefin-OW5HDTMX-DOiSPtr6.js";import"./index-BbN0-VeI.js";import"./constants-DAWul56a.js";import"./chunk-62JRHF6Z-bfD53SOp.js";import"./mermaid-NA5CF7SZ-BW-qNGGt.js";import"./chunk-ZA36QIGN-Dq1Fkfik.js";import"./jsx-runtime-u17CrQMm.js";import"./Button-DmMEzNVw.js";import"./useHover-CzmIqD15.js";import"./usePress-3lCCvr6b.js";import"./index-DBzAvLVe.js";import"./icon-CwkHE3DH.js";import"./index-CDpyLZpS.js";import"./popover-Bhy_zgj0.js";import"./Dialog-BG5YzsK1.js";import"./FocusScope-oqnhLXFu.js";import"./VisuallyHidden-q1NBfwCb.js";import"./index-1i1syFfE.js";import"./button-DRcrZ6dN.js";import"./radio-group-C6OtSvt6.js";import"./useFormValidation-BjyAfLpO.js";import"./Label-BtVzf35a.js";import"./useSlot-CnzSNurq.js";import"./field-BJaIK68s.js";import"./freebc-logo-dark-6JRgUcu9.js";import"./paragraph-DF-eS1Gr.js";import"./StepProgress-CEdcqf3x.js";import"./header-C0smGzNw.js";import"./methodSlugs-BVCwE0DF.js";import"./schemas-BdPyM-YW.js";import"./CookieBanner-BekpxL5y.js";import"./resetVisitorIdentity-BQ95LcRG.js";import"./visitorBootstrap-Y4scAR2D.js";import"./useTranslation-3Qrhfb_e.js";import"./context-CoWWtjvn.js";import"./Trans-DRFLHH82.js";import"./i18next-Cm10fOe7.js";import"./featureFlags-B_-_Lj8a.js";import"./logger-dBxPFjkU.js";import"./LocalStorageProvider-BwGvbneT.js";import"./methods-mbBMuTYW.js";import"./input-DVAAwZbe.js";import"./Input-CgmZSlN-.js";import"./index-BkzU2qH-.js";import"./parse-BAgr0IfG.js";import"./helpers-CV61HEKM.js";import"./index-CzZrtqVF.js";import"./emailMe-igzsz98x.js";import"./MethodLabels-D7myVQIE.js";import"./Select-LclSQMWS.js";import"./DragAndDrop-5s64eDsR.js";import"./Modal-ozEIpyXh.js";import"./card-DzTowZFt.js";import"./a11y-yERX5OOZ.js";import"./Banner-Dr18bpFK.js";import"./index-BG7ZdmCr.js";import"./formatLlmOutputToSsml-BC6vs2WN.js";import"./utils-DfrdhlvH.js";import"./Checkbox-C9NCF2Xb.js";import"./useToggleState-D13tW15H.js";var rt=i(()=>({domains:new Map,transitions:[]}),"createDefaultData"),G=rt(),St=i(()=>G.domains,"getDomains"),Mt=i(()=>G.transitions,"getTransitions"),zt=i(t=>{if(t)for(const e of t){const o=e.domain,n=(e.items??[]).map(c=>({label:c.label}));G.domains.set(o,{name:o,items:n})}},"setDomains"),Lt=i(t=>{t&&(G.transitions=t.filter(e=>e.from===e.to?(Y.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=i(()=>U({...Tt.cynefin,...Q().cynefin}),"getConfig"),Pt=i(()=>{At(),G=rt()},"clear"),X={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},It=i(t=>{xt(t,X),X.setDomains(t.domains),X.setTransitions(t.transitions)},"populate"),Wt={parse:i(async t=>{const e=await Bt("cynefin",t);Y.debug(e),It(e)},"parse")};function V(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}i(V,"seededRandom");function it(t){let e=0;for(let o=0;o<t.length;o++){const n=t.charCodeAt(o);e=(e<<5)-e+n,e|=0}return e}i(it,"hashString");function st(t,e){return typeof t=="number"&&Number.isFinite(t)&&t!==0?t:it(e)}i(st,"resolveSeed");function ct(t,e,o,n){const c=t/2,d=n??t*.015,v=7,W=e/v,m=[];for(let a=0;a<=v;a++){const f=V(o+a*17)*d*2-d;m.push({x:c+f,y:a*W})}let D=`M${m[0].x},${m[0].y}`;for(let a=0;a<m.length-1;a++){const f=m[a],s=m[a+1],p=(f.y+s.y)/2,b=a%2===0?1:-1,h=d*1.5*b*V(o+a*31+7),R=f.x+h,_=p,E=s.x-h;D+=` C${R},${_} ${E},${p} ${s.x},${s.y}`}return D}i(ct,"generateFoldPath");function lt(t,e,o,n){const c=e/2,d=n??e*.015,v=7,W=t/v,m=[];for(let a=0;a<=v;a++){const f=V(o+a*23)*d*2-d;m.push({x:a*W,y:c+f})}let D=`M${m[0].x},${m[0].y}`;for(let a=0;a<m.length-1;a++){const f=m[a],s=m[a+1],p=(f.x+s.x)/2,b=a%2===0?1:-1,h=d*1.5*b*V(o+a*37+11),R=p,_=f.y+h,E=p,z=s.y-h;D+=` C${R},${_} ${E},${z} ${s.x},${s.y}`}return D}i(lt,"generateHorizontalBoundary");function mt(t,e){const o=t/2,n=e*.5,c=e,d=t*.03;return[`M${o},${n}`,`C${o+d},${n+(c-n)*.2}`,`${o-d*1.5},${n+(c-n)*.55}`,`${o+d*.5},${n+(c-n)*.75}`,`C${o-d},${n+(c-n)*.85}`,`${o+d*.3},${n+(c-n)*.95}`,`${o},${c}`].join(" ")}i(mt,"generateCliffPath");function pt(t,e,o,n){return[`M${t-o},${e}`,`A${o},${n} 0 1,1 ${t+o},${e}`,`A${o},${n} 0 1,1 ${t-o},${e}`,"Z"].join(" ")}i(pt,"generateConfusionPath");
1var nt={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},Rt=i((t,e)=>{const o=t/2,n=e/2;return{complex:{cx:o/2,cy:n/2,x:0,y:0,w:o,h:n},complicated:{cx:o+o/2,cy:n/2,x:o,y:0,w:o,h:n},chaotic:{cx:o/2,cy:n+n/2,x:0,y:n,w:o,h:n},clear:{cx:o+o/2,cy:n+n/2,x:o,y:n,w:o,h:n},confusion:{cx:o,cy:n,x:o*.7,y:n*.7,w:o*.6,h:n*.6}}},"getDomainLayouts"),_t=i(()=>{const t=at(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinDomainColors"),q=3,Et=i((t,e,o,n)=>{const c=n.db,d=c.getDomains(),v=c.getTransitions(),W=c.getDiagramTitle(),m=c.getAccTitle(),D=c.getAccDescription(),a=c.getConfig(),f=_t();Y.debug("Rendering Cynefin diagram");const s=a.width,p=a.height,b=a.padding,h=a.showDomainDescriptions,R=a.boundaryAmplitude,_=s+b*2,E=p+b*2,z={complex:f.complexBg,complicated:f.complicatedBg,clear:f.clearBg,chaotic:f.chaoticBg,confusion:f.confusionBg},k=Dt(e);kt(k,E,_,a.useMaxWidth??!0),k.attr("viewBox",`0 0 ${_} ${E}`),m&&k.append("title").text(m),D&&k.append("desc").text(D);const A=k.append("g").attr("transform",`translate(${b}, ${b})`),F=Rt(s,p),Z=st(a.seed,e),dt=A.append("g").attr("class","cynefin-backgrounds"),O=["complex","complicated","chaotic","clear"];for(const l of O){const r=F[l];dt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=A.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(s,p,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(s,p,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",mt(s,p)).attr("fill","none");const ft=s*.15,yt=p*.15;A.append("path").attr("class","cynefinConfusion").attr("d",pt(s/2,p/2,ft,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=A.append("g").attr("class","cynefin-labels");for(const l of O){const r=F[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",s/2).attr("y",h?p/2-10:p/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=A.append("g").attr("class","cynefin-subtitles");for(const r of O){const u=F[r],y=nt[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",s/2).attr("y",p/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(nt.confusion.practice)}const K=A.append("g").attr("class","cynefin-items"),T=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=d.get(l);if(!r||r.items.length===0)continue;const u=F[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>q&&(N=r.items.length-q,L=r.items.slice(0,q));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(T+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const H=x.getBBox();H.width>0&&($=H.width)}const C=$+tt*2,I=u.cx-C/2;M.attr("transform",`translate(${I}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",T/2)}),N>0){const g=B+L.length*(T+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const I=$.getBBox();I.width>0&&(P=I.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",T/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=A.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=F[y.from],N=F[y.to];if(!L||!N)return;
1if(y.from===y.to){Y.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),I=C*.15,H=-x/C,ht=$/C,et=M+H*I,ot=P+ht*I;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${ot} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",ot-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}W&&A.append("text").attr("class","cynefinTitle").attr("x",s/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(W)},"draw"),Ft={draw:Et},Vt=i(()=>{const t=at(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinTheme"),Gt=i(()=>{const t=Vt();return`
2	.cynefinDomain {
3		stroke: none;
4	}
5	.cynefinDomainLabel {
6		font-size: ${t.domainFontSize}px;
7		font-weight: bold;
8		fill: ${t.labelColor};
9	}
10	.cynefinSubtitle {
11		font-size: ${t.itemFontSize-1}px;
12		fill: ${t.textColor};
13		font-style: italic;
14	}
15	.cynefinItem {
16		fill-opacity: 0.95;
17		stroke: ${t.boundaryColor};
18		stroke-width: 1;
19	}
20	.cynefinItemText {
21		font-size: ${t.itemFontSize}px;
22		fill: ${t.textColor};
23	}
24	.cynefinItemOverflow {
25		fill-opacity: 0.6;
26		stroke: ${t.boundaryColor};
27		stroke-width: 1;
28		stroke-dasharray: 3 2;
29	}
30	.cynefinBoundary {
31		stroke: ${t.boundaryColor};
32		stroke-width: ${t.boundaryWidth};
33		stroke-dasharray: 6 3;
34	}
35	.cynefinCliff {
36		stroke: ${t.cliffColor};
37		stroke-width: ${t.cliffWidth};
38	}
39	.cynefinConfusion {
40		stroke: ${t.boundaryColor};
41		stroke-width: 1.5;
42		stroke-dasharray: 4 2;
43	}
44	.cynefinArrowLine {
45		stroke: ${t.arrowColor};
46		stroke-width: ${t.arrowWidth};
47		fill: none;
48	}
49	.cynefinArrowHead {
50		fill: ${t.arrowColor};
51		stroke: none;
52	}
53	.cynefinArrowLabel {
54		font-size: ${t.itemFontSize-1}px;
55		fill: ${t.textColor};
56	}
57	.cynefinTitle {
58		font-size: ${t.domainFontSize+2}px;
59		font-weight: bold;
60		fill: ${t.labelColor};
61	}
62	`},"styles"),Ht=Gt,Je={parser:Wt,db:X,renderer:Ft,styles:Ht};export{Je as diagram};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.