@diffohq/diffo 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +2 -2
  2. package/dist/cli.mjs +111 -22
  3. package/dist/client/assets/{abnfDiagram-VCTEODGH-BK74b0Uj.js → abnfDiagram-O67JEVCF-DdDBSVZ4.js} +1 -1
  4. package/dist/client/assets/{arc-BZJjnFHJ.js → arc-BgNb6rn9.js} +1 -1
  5. package/dist/client/assets/architecture-7GRP2DOG-CYv-P09J.js +1 -0
  6. package/dist/client/assets/architectureDiagram-NJMV4G6O-HNLU6Z_V.js +36 -0
  7. package/dist/client/assets/{blockDiagram-I7D4REHJ-BWSjZ0YR.js → blockDiagram-BEXU5L5S-DO434Dqm.js} +15 -4
  8. package/dist/client/assets/c4Diagram-YGBWAQC7-CkhXDWcc.js +38 -0
  9. package/dist/client/assets/channel-eN698CVO.js +1 -0
  10. package/dist/client/assets/chunk-3FUC2YCW-DTfKImVL.js +2 -0
  11. package/dist/client/assets/{chunk-GVQU2GXP-3NWb-Kjs.js → chunk-5DYCD2WN-9Pj_Xuzv.js} +1 -1
  12. package/dist/client/assets/{chunk-PWAF6VOD-BRN4CzQ0.js → chunk-742MDFTN-DRQNNbBo.js} +1 -1
  13. package/dist/client/assets/chunk-7INBJB4K-BqnHF3P0.js +62 -0
  14. package/dist/client/assets/chunk-7M6MHVWA-NTwtPxj_.js +213 -0
  15. package/dist/client/assets/chunk-7PRAP22T-reFtaiUY.js +1 -0
  16. package/dist/client/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  17. package/dist/client/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-DzxwRta7.js} +9 -9
  18. package/dist/client/assets/{chunk-SVP7TREG-CsO-w42m.js → chunk-GTNCS2PH-BbSQqqTd.js} +1 -1
  19. package/dist/client/assets/{chunk-F27PBJKO-C6X74WsU.js → chunk-GWA4HPMP-B3OAiKhC.js} +1 -1
  20. package/dist/client/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  21. package/dist/client/assets/chunk-MBY4JIJT-CNIWhzdY.js +72 -0
  22. package/dist/client/assets/chunk-NETBCI7D-Cu2GMg5A.js +1 -0
  23. package/dist/client/assets/chunk-O7XYJQB3-C616frX3.js +126 -0
  24. package/dist/client/assets/chunk-UA2S7LBM-_7jUrSu1.js +1 -0
  25. package/dist/client/assets/{chunk-POPQ4Y6H-DKwUAqbe.js → chunk-WEXAMYUT--WmuTjt8.js} +1 -1
  26. package/dist/client/assets/{chunk-XXDRQBXY-BikhrMBF.js → chunk-XXDRQBXY-CH68Fn6G.js} +1 -1
  27. package/dist/client/assets/{chunk-OSK3NFVY-BJ8i4cd-.js → chunk-Z7XXMR3K-CMGWkbdd.js} +3 -3
  28. package/dist/client/assets/{chunk-75Z2AOVW-B_bGdfJP.js → chunk-ZIGJFQKS-Bupo8UEA.js} +2 -2
  29. package/dist/client/assets/classDiagram-v2-NBCMYWYE-BlYlsN2U.js +217 -0
  30. package/dist/client/assets/{core-BJUznnCg.js → core-BuHBGQx-.js} +2 -2
  31. package/dist/client/assets/cose-bilkent-JH36ORCC-BtFdPq63.js +1 -0
  32. package/dist/client/assets/cynefin-OW5HDTMX-DQ0j2-fq.js +1 -0
  33. package/dist/client/assets/cynefinDiagram-VND7K2PF-DnctQE5u.js +62 -0
  34. package/dist/client/assets/cytoscape.esm-Yq6u8L66.js +321 -0
  35. package/dist/client/assets/dagre-6A5THRUB-u940AeXp.js +4 -0
  36. package/dist/client/assets/diagram-22UHCM2B-B1jzZKtP.js +200 -0
  37. package/dist/client/assets/{diagram-VX7I27RA-BmHtC5T2.js → diagram-3UASUU5V-BY_6wxmf.js} +2 -2
  38. package/dist/client/assets/{diagram-VSXAHHWV-BMNFierD.js → diagram-ATOU4E4O-CTsYtnJJ.js} +3 -3
  39. package/dist/client/assets/{diagram-S7CK7UJ4-C1jP2NX5.js → diagram-CDSNMT55-DuEJO9EQ.js} +3 -3
  40. package/dist/client/assets/{diagram-Z3DM3KII-CzCV6KsS.js → diagram-MLGK6HIB-CZ10U2Mk.js} +1 -1
  41. package/dist/client/assets/diagram-MPIPVDR6-CkO6cJlF.js +41 -0
  42. package/dist/client/assets/dist-DFkgQY1o.js +142 -0
  43. package/dist/client/assets/{dist-bii_eoxi.js → dist-DkqXbsqN.js} +1 -1
  44. package/dist/client/assets/{ebnfDiagram-PWID7BFC-DuVnjPWa.js → ebnfDiagram-ZINNZB2B-BJtnMhOp.js} +1 -1
  45. package/dist/client/assets/elk-276RUBZZ-CShSerV4.js +27 -0
  46. package/dist/client/assets/{engine-oniguruma-BlIEwGaN.js → engine-oniguruma-DDtqknzG.js} +1 -1
  47. package/dist/client/assets/{erDiagram-RLTQ6QDP-CtwYHyZu.js → erDiagram-OPXOYQCR-2VvQxgaY.js} +15 -15
  48. package/dist/client/assets/eventmodeling-NTZA5JFV-Ur4Uzv5y.js +1 -0
  49. package/dist/client/assets/flowDiagram-KWPJA3E3-BQS1w4s1.js +1 -0
  50. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-CR8Sa06t.js → ganttDiagram-FUAMR5RP-hQJ3ga2L.js} +2 -2
  51. package/dist/client/assets/gitGraph-4MIJSDKK-CVt38-tW.js +1 -0
  52. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-C36JIyKh.js → gitGraphDiagram-X574FWY7-X6_FAtp_.js} +4 -4
  53. package/dist/client/assets/index-t7j89PJp.js +91 -0
  54. package/dist/client/assets/info-A6RAGUB7-CsIS2T8y.js +1 -0
  55. package/dist/client/assets/infoDiagram-VRGFBTTK-CNesth4F.js +2 -0
  56. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-CsPYEqSH.js → ishikawaDiagram-OU5B5YK6-C3uowhy1.js} +2 -2
  57. package/dist/client/assets/{journeyDiagram-3NMN7TZE-DbHeKN0X.js → journeyDiagram-ZHPQQLJL-Bti7zdNB.js} +3 -3
  58. package/dist/client/assets/{kanban-definition-UXKFOSKX-CbYeTY2r.js → kanban-definition-PNTS6WVX-Co13mJCW.js} +10 -10
  59. package/dist/client/assets/{katex-CXMH3UgJ.js → katex-ZlcWpGUi.js} +2 -2
  60. package/dist/client/assets/{line-BeOqlVB1.js → line-CodMwzVg.js} +1 -1
  61. package/dist/client/assets/linear-D9CKVpWI.js +1 -0
  62. package/dist/client/assets/{mermaid-parser.core-BLSiQUXp.js → mermaid-parser.core-OY76TKUN.js} +3 -3
  63. package/dist/client/assets/mermaid.core-DWE2Tn2R.js +44 -0
  64. package/dist/client/assets/{mindmap-definition-YA3MSWOX-o49TTsg4.js → mindmap-definition-NLK3R4M7-DJ3MEvZg.js} +25 -25
  65. package/dist/client/assets/packet-AYTQ26CC-CW1j_hFQ.js +1 -0
  66. package/dist/client/assets/{pegDiagram-XKGWAZYB-CZxoewnI.js → pegDiagram-GJSIUBJH-hOvLvBiF.js} +1 -1
  67. package/dist/client/assets/pie-WAS4IAKB-D1KPtuKA.js +1 -0
  68. package/dist/client/assets/{pieDiagram-E7YTZNPT-dAiwtigh.js → pieDiagram-5QR66LMP-CJN1M2lG.js} +2 -2
  69. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-mefTaSBl.js → quadrantDiagram-O4NWA36T-DOysLQ6R.js} +3 -3
  70. package/dist/client/assets/radar-RG4KPBEZ-B7XCBnIS.js +1 -0
  71. package/dist/client/assets/railroad-74A4TZTK-0nmMIDEw.js +1 -0
  72. package/dist/client/assets/railroad-abnf-HS5TGJTU-DJU_abQP.js +1 -0
  73. package/dist/client/assets/railroad-ebnf-LZEXJU2U-_TwNbNw6.js +1 -0
  74. package/dist/client/assets/railroad-peg-WCYAUIDC-CAYsrf-p.js +1 -0
  75. package/dist/client/assets/{railroadDiagram-O6MQD6OU-DdhfhlaU.js → railroadDiagram-XR7U4H2S-BXbeU-WV.js} +1 -1
  76. package/dist/client/assets/{requirementDiagram-BXWQKSXE-BVrRfVMy.js → requirementDiagram-PLB6GJNP-D3G2HYv-.js} +11 -11
  77. package/dist/client/assets/sankeyDiagram-IPEJSGJF-CFSa-Gk4.js +40 -0
  78. package/dist/client/assets/sequenceDiagram-PO4LG4MO-BvmuQTlz.js +169 -0
  79. package/dist/client/assets/{src-CfhDi0bm.js → src-CplSIRuf.js} +1 -1
  80. package/dist/client/assets/stateDiagram-v2-GCMORJYK-C_ceCfHy.js +291 -0
  81. package/dist/client/assets/swimlanes-2SLR337P-D-n44lEC.js +1 -0
  82. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-DrlgJMk7.js +8 -0
  83. package/dist/client/assets/timeline-definition-EJHVYXUP-DKYNs1Uj.js +120 -0
  84. package/dist/client/assets/treeView-Q6P3EWNA-COW2UiIS.js +1 -0
  85. package/dist/client/assets/treemap-WGGIJYW6-DJOuJZmF.js +1 -0
  86. package/dist/client/assets/usecaseDiagram-POWQR4AR-BTmpbeJZ.js +328 -0
  87. package/dist/client/assets/vennDiagram-UO4OBE2U-C37AKEaJ.js +34 -0
  88. package/dist/client/assets/wardley-WFR3VGLG-CpVTtNOC.js +1 -0
  89. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-CFaIuWQk.js → wardleyDiagram-VNRHLVJA-ja-hiiVC.js} +3 -3
  90. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-et5vk4QS.js → xychartDiagram-PMCCYNJV-BsDoacSf.js} +3 -3
  91. package/dist/client/index.html +1 -1
  92. package/package.json +4 -4
  93. package/plugin.json +1 -1
  94. package/skills/diffo/SKILL.md +17 -8
  95. package/dist/client/assets/architecture-7GRP2DOG-BMofp_0u.js +0 -1
  96. package/dist/client/assets/architectureDiagram-5GKGNRK7-BBjd1L77.js +0 -36
  97. package/dist/client/assets/c4Diagram-7LVT6UL2-z-xUGKCJ.js +0 -38
  98. package/dist/client/assets/channel-CmX7fcUa.js +0 -1
  99. package/dist/client/assets/chunk-4HAMMTFA-CAN-T2o-.js +0 -62
  100. package/dist/client/assets/chunk-DU6HZSFF-wyqPpFTy.js +0 -125
  101. package/dist/client/assets/chunk-GMAD6QVW-DBossm8a.js +0 -72
  102. package/dist/client/assets/chunk-IMKFNOWR-BCvjP66C.js +0 -231
  103. package/dist/client/assets/chunk-L3NEJ4N5-DppEbElX.js +0 -1
  104. package/dist/client/assets/chunk-P2QGCYS3-fvNVbdI1.js +0 -1
  105. package/dist/client/assets/chunk-SHT3W25Y-BfzjiqOe.js +0 -168
  106. package/dist/client/assets/chunk-TICWLB2K-DPzmokY4.js +0 -206
  107. package/dist/client/assets/classDiagram-ZZMXUADV-BSMgXeCj.js +0 -1
  108. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BSMgXeCj.js +0 -1
  109. package/dist/client/assets/cose-bilkent-JH36ORCC-CBu7-BXr.js +0 -1
  110. package/dist/client/assets/cynefin-OW5HDTMX-iJEmw--0.js +0 -1
  111. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-B4JnaLZu.js +0 -62
  112. package/dist/client/assets/cytoscape.esm-CGd-uY3x.js +0 -321
  113. package/dist/client/assets/dagre-GXQ25YYZ-bmDafESr.js +0 -4
  114. package/dist/client/assets/dagre-PrKaheQc.js +0 -1
  115. package/dist/client/assets/diagram-UQ7AKVKN-DssGkq6D.js +0 -41
  116. package/dist/client/assets/dist-BT7WB1vp.js +0 -142
  117. package/dist/client/assets/eventmodeling-NTZA5JFV-DBQsn9JF.js +0 -1
  118. package/dist/client/assets/flowDiagram-HODETNUW-C_zt1wER.js +0 -1
  119. package/dist/client/assets/gitGraph-4MIJSDKK-DoWc_DJ0.js +0 -1
  120. package/dist/client/assets/index-BUq9UmeC.js +0 -91
  121. package/dist/client/assets/info-A6RAGUB7-DULcTga7.js +0 -1
  122. package/dist/client/assets/infoDiagram-27XIBGKW-eQbUxJ9T.js +0 -2
  123. package/dist/client/assets/linear-D5d3UlAm.js +0 -1
  124. package/dist/client/assets/mermaid.core-BoXUi08V.js +0 -44
  125. package/dist/client/assets/packet-AYTQ26CC-Blxpg-nI.js +0 -1
  126. package/dist/client/assets/pie-WAS4IAKB-D-fqeiW7.js +0 -1
  127. package/dist/client/assets/radar-RG4KPBEZ-VaODqy4w.js +0 -1
  128. package/dist/client/assets/railroad-74A4TZTK-BwoigfOV.js +0 -1
  129. package/dist/client/assets/railroad-abnf-HS5TGJTU-BYYKbIBi.js +0 -1
  130. package/dist/client/assets/railroad-ebnf-LZEXJU2U-BFA23uel.js +0 -1
  131. package/dist/client/assets/railroad-peg-WCYAUIDC-Cq02Hm_P.js +0 -1
  132. package/dist/client/assets/sankeyDiagram-P5KCCOFB-BalSSH4U.js +0 -40
  133. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-B2KsE_Z_.js +0 -162
  134. package/dist/client/assets/stateDiagram-D77RDMKH-CoH6bKG5.js +0 -1
  135. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-rXsredo-.js +0 -1
  136. package/dist/client/assets/swimlanes-42K2YHIH-3IkzoE1X.js +0 -1
  137. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-BeXrrDxh.js +0 -8
  138. package/dist/client/assets/timeline-definition-24CTP7MA-B2M9pP5h.js +0 -120
  139. package/dist/client/assets/treeView-Q6P3EWNA-Brp55dHV.js +0 -1
  140. package/dist/client/assets/treemap-WGGIJYW6-zRe9RDJV.js +0 -1
  141. package/dist/client/assets/vennDiagram-4TSXK5OY-PNF-rFET.js +0 -34
  142. package/dist/client/assets/wardley-WFR3VGLG-BSDDZIR6.js +0 -1
@@ -0,0 +1,62 @@
1
+ import{n as e}from"./mermaid-parser.core-OY76TKUN.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-CplSIRuf.js";import{D as r,H as i,U as a,a as o,b as s,c,f as l,q as u,v as d,w as f,y as p}from"./chunk-O7XYJQB3-C616frX3.js";import{i as m}from"./chunk-ZIGJFQKS-Bupo8UEA.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as g}from"./mermaid.core-DWE2Tn2R.js";var _=t(()=>({domains:new Map,transitions:[]}),`createDefaultData`),v=_(),y={getDomains:t(()=>v.domains,`getDomains`),getTransitions:t(()=>v.transitions,`getTransitions`),setDomains:t(e=>{if(e)for(let t of e){let e=t.domain,n=(t.items??[]).map(e=>({label:e.label}));v.domains.set(e,{name:e,items:n})}},`setDomains`),setTransitions:t(e=>{e&&(v.transitions=e.filter(e=>e.from!==e.to||(n.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1)).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},`setTransitions`),getConfig:t(()=>m({...l.cynefin,...s().cynefin}),`getConfig`),clear:t(()=>{o(),v=_()},`clear`),setAccTitle:a,getAccTitle:p,setDiagramTitle:u,getDiagramTitle:f,getAccDescription:d,setAccDescription:i},b=t(e=>{h(e,y),y.setDomains(e.domains),y.setTransitions(e.transitions)},`populate`),x={parse:t(async t=>{let r=await e(`cynefin`,t);n.debug(r),b(r)},`parse`)};function S(e){let t=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}t(S,`seededRandom`);function C(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t|=0}return t}t(C,`hashString`);function w(e,t){return typeof e==`number`&&Number.isFinite(e)&&e!==0?e:C(t)}t(w,`resolveSeed`);function T(e,t,n,r){let i=e/2,a=r??e*.015,o=t/7,s=[];for(let e=0;e<=7;e++){let t=S(n+e*17)*a*2-a;s.push({x:i+t,y:e*o})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.y+r.y)/2,o=e%2==0?1:-1,l=a*1.5*o*S(n+e*31+7),u=t.x+l,d=i,f=r.x-l;c+=` C${u},${d} ${f},${i} ${r.x},${r.y}`}return c}t(T,`generateFoldPath`);function E(e,t,n,r){let i=t/2,a=r??t*.015,o=e/7,s=[];for(let e=0;e<=7;e++){let t=S(n+e*23)*a*2-a;s.push({x:e*o,y:i+t})}let c=`M${s[0].x},${s[0].y}`;for(let e=0;e<s.length-1;e++){let t=s[e],r=s[e+1],i=(t.x+r.x)/2,o=e%2==0?1:-1,l=a*1.5*o*S(n+e*37+11),u=i,d=t.y+l,f=i,p=r.y-l;c+=` C${u},${d} ${f},${p} ${r.x},${r.y}`}return c}t(E,`generateHorizontalBoundary`);function D(e,t){let n=e/2,r=t*.5,i=t,a=e*.03;return[`M${n},${r}`,`C${n+a},${r+(i-r)*.2}`,`${n-a*1.5},${r+(i-r)*.55}`,`${n+a*.5},${r+(i-r)*.75}`,`C${n-a},${r+(i-r)*.85}`,`${n+a*.3},${r+(i-r)*.95}`,`${n},${i}`].join(` `)}t(D,`generateCliffPath`);function O(e,t,n,r){return[`M${e-n},${t}`,`A${n},${r} 0 1,1 ${e+n},${t}`,`A${n},${r} 0 1,1 ${e-n},${t}`,`Z`].join(` `)}t(O,`generateConfusionPath`);var k={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`}},A=t((e,t)=>{let n=e/2,r=t/2;return{complex:{cx:n/2,cy:r/2,x:0,y:0,w:n,h:r},complicated:{cx:n+n/2,cy:r/2,x:n,y:0,w:n,h:r},chaotic:{cx:n/2,cy:r+r/2,x:0,y:r,w:n,h:r},clear:{cx:n+n/2,cy:r+r/2,x:n,y:r,w:n,h:r},confusion:{cx:n,cy:r,x:n*.7,y:r*.7,w:n*.6,h:r*.6}}},`getDomainLayouts`),j=t(()=>{let e=r(),t=s();return m(e,t.themeVariables).cynefin},`getCynefinDomainColors`),M=3,N={draw:t((e,t,r,i)=>{let a=i.db,o=a.getDomains(),s=a.getTransitions(),l=a.getDiagramTitle(),u=a.getAccTitle(),d=a.getAccDescription(),f=a.getConfig(),p=j();n.debug(`Rendering Cynefin diagram`);let m=f.width,h=f.height,_=f.padding,v=f.showDomainDescriptions,y=f.boundaryAmplitude,b=m+_*2,x=h+_*2,S={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},C=g(t);c(C,x,b,f.useMaxWidth??!0),C.attr(`viewBox`,`0 0 ${b} ${x}`),u&&C.append(`title`).text(u),d&&C.append(`desc`).text(d);let N=C.append(`g`).attr(`transform`,`translate(${_}, ${_})`),P=A(m,h),F=w(f.seed,t),I=N.append(`g`).attr(`class`,`cynefin-backgrounds`),L=[`complex`,`complicated`,`chaotic`,`clear`];for(let e of L){let t=P[e];I.append(`rect`).attr(`class`,`cynefinDomain`).attr(`x`,t.x).attr(`y`,t.y).attr(`width`,t.w).attr(`height`,t.h).attr(`fill`,S[e]).attr(`fill-opacity`,.4).attr(`stroke`,`none`)}let R=N.append(`g`).attr(`class`,`cynefin-boundaries`);R.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,T(m,h,F,y)).attr(`fill`,`none`),R.append(`path`).attr(`class`,`cynefinBoundary`).attr(`d`,E(m,h,F+100,y)).attr(`fill`,`none`),R.append(`path`).attr(`class`,`cynefinCliff`).attr(`d`,D(m,h)).attr(`fill`,`none`);let z=m*.15,B=h*.15;N.append(`path`).attr(`class`,`cynefinConfusion`).attr(`d`,O(m/2,h/2,z,B)).attr(`fill`,S.confusion).attr(`fill-opacity`,.5);let V=N.append(`g`).attr(`class`,`cynefin-labels`);for(let e of L){let t=P[e];V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,t.cx).attr(`y`,v?t.cy-30:t.cy).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(e.charAt(0).toUpperCase()+e.slice(1))}if(V.append(`text`).attr(`class`,`cynefinDomainLabel`).attr(`x`,m/2).attr(`y`,v?h/2-10:h/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(`Confusion`),v){let e=N.append(`g`).attr(`class`,`cynefin-subtitles`);for(let t of L){let n=P[t],r=k[t];e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.model),e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,n.cx).attr(`y`,n.cy+5).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(r.practice)}e.append(`text`).attr(`class`,`cynefinSubtitle`).attr(`x`,m/2).attr(`y`,h/2+8).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(k.confusion.practice)}let H=N.append(`g`).attr(`class`,`cynefin-items`);for(let e of[`complex`,`complicated`,`chaotic`,`clear`,`confusion`]){let t=o.get(e);if(!t||t.items.length===0)continue;let n=P[e],r=e===`confusion`,i=t.items,a=0;r&&t.items.length>M&&(a=t.items.length-M,i=t.items.slice(0,M));let s;if(r){let e=v?22:14;s=n.cy+e}else s=n.cy+(v?25:15);if([...i].forEach((t,r)=>{let i=s+r*30,a=H.append(`g`),o=a.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,13).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(t.label),c=t.label.length*7,l=o.node();if(l&&typeof l.getBBox==`function`){let e=l.getBBox();e.width>0&&(c=e.width)}let u=c+20,d=n.cx-u/2;a.attr(`transform`,`translate(${d}, ${i})`),a.insert(`rect`,`text`).attr(`class`,`cynefinItem`).attr(`x`,0).attr(`y`,0).attr(`width`,u).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.95),o.attr(`x`,u/2).attr(`y`,13)}),a>0){let t=s+i.length*30,r=`+${a} more`,o=H.append(`g`),c=o.append(`text`).attr(`class`,`cynefinItemText`).attr(`x`,0).attr(`y`,13).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).text(r),l=r.length*7,u=c.node();if(u&&typeof u.getBBox==`function`){let e=u.getBBox();e.width>0&&(l=e.width)}let d=l+20,f=n.cx-d/2;o.attr(`transform`,`translate(${f}, ${t})`),o.insert(`rect`,`text`).attr(`class`,`cynefinItemOverflow`).attr(`x`,0).attr(`y`,0).attr(`width`,d).attr(`height`,26).attr(`rx`,4).attr(`ry`,4).attr(`fill`,S[e]).attr(`fill-opacity`,.6),c.attr(`x`,d/2).attr(`y`,13)}}if(s.length>0){let e=C.select(`defs`).empty()?C.append(`defs`):C.select(`defs`),r=`cynefin-arrow-${t}`;e.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`);let i=N.append(`g`).attr(`class`,`cynefin-arrows`);s.forEach(e=>{let t=P[e.from],a=P[e.to];if(!t||!a)return;if(e.from===e.to){n.warn(`Cynefin renderer: skipping self-loop on domain "${e.from}"`);return}let o=t.cx,s=t.cy,c=a.cx,l=a.cy,u=(o+c)/2,d=(s+l)/2,f=c-o,p=l-s,m=Math.sqrt(f*f+p*p),h=m*.15,g=-p/m,_=f/m,v=u+g*h,y=d+_*h;i.append(`path`).attr(`class`,`cynefinArrowLine`).attr(`d`,`M${o},${s} Q${v},${y} ${c},${l}`).attr(`fill`,`none`).attr(`marker-end`,`url(#${r})`),e.label&&i.append(`text`).attr(`class`,`cynefinArrowLabel`).attr(`x`,v).attr(`y`,y-6).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`auto`).text(e.label)})}l&&N.append(`text`).attr(`class`,`cynefinTitle`).attr(`x`,m/2).attr(`y`,-_/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(l)},`draw`)},P=t(()=>{let e=r(),t=s();return m(e,t.themeVariables).cynefin},`getCynefinTheme`),F={parser:x,db:y,renderer:N,styles:t(()=>{let e=P();return`
2
+ .cynefinDomain {
3
+ stroke: none;
4
+ }
5
+ .cynefinDomainLabel {
6
+ font-size: ${e.domainFontSize}px;
7
+ font-weight: bold;
8
+ fill: ${e.labelColor};
9
+ }
10
+ .cynefinSubtitle {
11
+ font-size: ${e.itemFontSize-1}px;
12
+ fill: ${e.textColor};
13
+ font-style: italic;
14
+ }
15
+ .cynefinItem {
16
+ fill-opacity: 0.95;
17
+ stroke: ${e.boundaryColor};
18
+ stroke-width: 1;
19
+ }
20
+ .cynefinItemText {
21
+ font-size: ${e.itemFontSize}px;
22
+ fill: ${e.textColor};
23
+ }
24
+ .cynefinItemOverflow {
25
+ fill-opacity: 0.6;
26
+ stroke: ${e.boundaryColor};
27
+ stroke-width: 1;
28
+ stroke-dasharray: 3 2;
29
+ }
30
+ .cynefinBoundary {
31
+ stroke: ${e.boundaryColor};
32
+ stroke-width: ${e.boundaryWidth};
33
+ stroke-dasharray: 6 3;
34
+ }
35
+ .cynefinCliff {
36
+ stroke: ${e.cliffColor};
37
+ stroke-width: ${e.cliffWidth};
38
+ }
39
+ .cynefinConfusion {
40
+ stroke: ${e.boundaryColor};
41
+ stroke-width: 1.5;
42
+ stroke-dasharray: 4 2;
43
+ }
44
+ .cynefinArrowLine {
45
+ stroke: ${e.arrowColor};
46
+ stroke-width: ${e.arrowWidth};
47
+ fill: none;
48
+ }
49
+ .cynefinArrowHead {
50
+ fill: ${e.arrowColor};
51
+ stroke: none;
52
+ }
53
+ .cynefinArrowLabel {
54
+ font-size: ${e.itemFontSize-1}px;
55
+ fill: ${e.textColor};
56
+ }
57
+ .cynefinTitle {
58
+ font-size: ${e.domainFontSize+2}px;
59
+ font-weight: bold;
60
+ fill: ${e.labelColor};
61
+ }
62
+ `},`styles`)};export{F as diagram};