offsite 0.0.34 → 0.0.36
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/apps/server/dist/main.mjs +3078 -2942
- package/apps/server/dist/main.mjs.map +1 -1
- package/apps/server/drizzle/20261021070005_project_positions/migration.sql +3 -0
- package/apps/server/drizzle/20261021070005_project_positions/snapshot.json +315 -0
- package/apps/web/dist/assets/abnfDiagram-WEYOIA3C-CNZkoxwt.js +1 -0
- package/apps/web/dist/assets/arc-DgcGdgmL.js +1 -0
- package/apps/web/dist/assets/architecture-WOLXFQ4H-O--ui1FL.js +1 -0
- package/apps/web/dist/assets/architectureDiagram-ZHVYKT53-Bt5qygpd.js +36 -0
- package/apps/web/dist/assets/array-BifhSqXX.js +1 -0
- package/apps/web/dist/assets/{audio-player-DPpDuqFI.js → audio-player-BBuXiV2_.js} +1 -1
- package/apps/web/dist/assets/blockDiagram-RJAE7QA3-BDcALlM7.js +140 -0
- package/apps/web/dist/assets/button-BF3wjXXJ.js +1 -0
- package/apps/web/dist/assets/c4Diagram-XDPPPE54-DltmZnfl.js +38 -0
- package/apps/web/dist/assets/channel-BiaErSWu.js +1 -0
- package/apps/web/dist/assets/chunk-24IY7LWP-BnbC-kCW.js +1 -0
- package/apps/web/dist/assets/chunk-2E7WHVMD-DI9Z3LRJ.js +88 -0
- package/apps/web/dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/apps/web/dist/assets/chunk-3M4EKCLJ-DOMgvaXT.js +1 -0
- package/apps/web/dist/assets/chunk-4EMNKR2T-Bmu5iPEB.js +1 -0
- package/apps/web/dist/assets/chunk-4S7OKTRW-Bg7nzAWG.js +1 -0
- package/apps/web/dist/assets/chunk-53FOQ5SW-f76P46nL.js +1 -0
- package/apps/web/dist/assets/chunk-55XCU76K-DsrsQaHP.js +1 -0
- package/apps/web/dist/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/apps/web/dist/assets/chunk-7S6XSTFO-VvdR34BD.js +2 -0
- package/apps/web/dist/assets/chunk-AQDTSKZB-DWCLLcEu.js +72 -0
- package/apps/web/dist/assets/chunk-BP2KR52E-CwyHPMMJ.js +2 -0
- package/apps/web/dist/assets/chunk-DSNLSHJZ-Npz5XPWZ.js +129 -0
- package/apps/web/dist/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
- package/apps/web/dist/assets/chunk-EJLWFMJV-DyjKClu9.js +2 -0
- package/apps/web/dist/assets/chunk-F6S3BTY2-CZGFqKcE.js +2 -0
- package/apps/web/dist/assets/chunk-HAGFOTED-B1IVU9Z4.js +62 -0
- package/apps/web/dist/assets/chunk-HNE4Q36P-ByoLUQMm.js +1 -0
- package/apps/web/dist/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
- package/apps/web/dist/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/apps/web/dist/assets/chunk-KPI5JJXK-CYaUTtMz.js +1 -0
- package/apps/web/dist/assets/chunk-LNGE3PJU-Cz3NAIRA.js +34 -0
- package/apps/web/dist/assets/chunk-NGNAAXSQ-C2Wy9Xmz.js +136 -0
- package/apps/web/dist/assets/chunk-NQOKRVIF-B4RCKBlg.js +213 -0
- package/apps/web/dist/assets/chunk-OD3NTWWA-tWtUB_cI.js +1 -0
- package/apps/web/dist/assets/chunk-OYAV6JZA-rT8O_-D6.js +1 -0
- package/apps/web/dist/assets/chunk-QNH66VMT-BbxTKInC.js +1 -0
- package/apps/web/dist/assets/chunk-TPMEZKFX-mvOucSjo.js +1 -0
- package/apps/web/dist/assets/chunk-UHW7PFBP-Cu9Ayl_R.js +1 -0
- package/apps/web/dist/assets/chunk-VPELOWWC-Dw8jWE1Y.js +1 -0
- package/apps/web/dist/assets/chunk-VQ5W62QI-yc2D7bI8.js +1 -0
- package/apps/web/dist/assets/chunk-VTWWFHGB-CErZyUMc.js +1 -0
- package/apps/web/dist/assets/chunk-VZTHESGH-BsQ8KQ39.js +1 -0
- package/apps/web/dist/assets/chunk-WQQL4CDK-BAxY1EoE.js +10 -0
- package/apps/web/dist/assets/chunk-XXDRQBXY-RlzOQ08v.js +1 -0
- package/apps/web/dist/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/apps/web/dist/assets/chunk-YK26KJH5-CFTvfUrJ.js +1 -0
- package/apps/web/dist/assets/chunk-YZO67HFG-B_UXK566.js +1 -0
- package/apps/web/dist/assets/chunk-ZAUX2LTX-BaD-GxqC.js +1 -0
- package/apps/web/dist/assets/chunk-ZCHMQSOR-BoFxnrLn.js +2 -0
- package/apps/web/dist/assets/chunk-ZO67DCNQ-DQMJSBMv.js +2 -0
- package/apps/web/dist/assets/classDiagram-v2-4MYWR3UA-CrgsmZ1r.js +217 -0
- package/apps/web/dist/assets/cose-bilkent-JH36ORCC-Ci-t6eKT.js +1 -0
- package/apps/web/dist/assets/cynefin-EF2NZ3EQ-B22Il0Q0.js +1 -0
- package/apps/web/dist/assets/cynefinDiagram-WF24UDRP-Boik6NMW.js +62 -0
- package/apps/web/dist/assets/cytoscape.esm-BegBNzOV.js +321 -0
- package/apps/web/dist/assets/dagre-NK4GIZVX-BSfLeunL.js +4 -0
- package/apps/web/dist/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/apps/web/dist/assets/diagram-CBK3MWTC-BHJqlY6f.js +24 -0
- package/apps/web/dist/assets/diagram-I5XIIV2D-B_jxetms.js +24 -0
- package/apps/web/dist/assets/diagram-ODIL2UCW-DfqD5uqI.js +30 -0
- package/apps/web/dist/assets/diagram-PFBEJUXE-1aq8qGYY.js +3 -0
- package/apps/web/dist/assets/diagram-RJA3I4VV-KG9CFGTL.js +41 -0
- package/apps/web/dist/assets/diagram-TYUNFSNR-Do2jo9yU.js +200 -0
- package/apps/web/dist/assets/dist-B_J_HbC0.js +1 -0
- package/apps/web/dist/assets/dist-CkDQKgh1.js +153 -0
- package/apps/web/dist/assets/dist-CwYFZY7g.js +1 -0
- package/apps/web/dist/assets/ebnfDiagram-V4P3TTPT-D2ts5XpU.js +1 -0
- package/apps/web/dist/assets/elk-QONTBCTQ-B_GGAzMO.js +27 -0
- package/apps/web/dist/assets/erDiagram-KYQIGQAA-2dqvdzye.js +99 -0
- package/apps/web/dist/assets/eventmodeling-K75KTNOO-CXHQFMgp.js +1 -0
- package/apps/web/dist/assets/flowDiagram-IUGLLWBU-CtZHqT3f.js +1 -0
- package/apps/web/dist/assets/ganttDiagram-R7GPNTJY-BqiF1UBm.js +292 -0
- package/apps/web/dist/assets/gitGraph-VSP46ZUC-TdWHDRg-.js +1 -0
- package/apps/web/dist/assets/gitGraphDiagram-PDYL7XHY-CmG5ZO6p.js +106 -0
- package/apps/web/dist/assets/graphlib-DS17s2tU.js +1 -0
- package/apps/web/dist/assets/image-viewer-4LhMaTO_.js +1 -0
- package/apps/web/dist/assets/index-NMfUawX9.css +2 -0
- package/apps/web/dist/assets/index-yfoAg16U.js +782 -0
- package/apps/web/dist/assets/info-OHQRW6UA-vNA4W1BY.js +1 -0
- package/apps/web/dist/assets/infoDiagram-MVDRKAX5-BKX9UC-k.js +2 -0
- package/apps/web/dist/assets/init-C-OQMol4.js +1 -0
- package/apps/web/dist/assets/ishikawaDiagram-HPEHV2GE-B4qnWXRg.js +70 -0
- package/apps/web/dist/assets/journeyDiagram-BOSHW7O7-BiKpcTEm.js +139 -0
- package/apps/web/dist/assets/jsx-runtime-DKj5X9O4.js +1 -0
- package/apps/web/dist/assets/kanban-definition-FNSA4HC5-D0QGHPZw.js +89 -0
- package/apps/web/dist/assets/katex-B_JcIwqj.js +257 -0
- package/apps/web/dist/assets/line-QLqjjjjp.js +1 -0
- package/apps/web/dist/assets/linear-DzP0d4la.js +1 -0
- package/apps/web/dist/assets/mermaid-parser.core-BHOBNwvf.js +4 -0
- package/apps/web/dist/assets/mermaid.core-BvdElKsv.js +11 -0
- package/apps/web/dist/assets/mindmap-definition-6OY57UG3-BXYDkcmu.js +98 -0
- package/apps/web/dist/assets/ordinal-BDEzSJ7C.js +1 -0
- package/apps/web/dist/assets/packet-JDAUHWVQ-B8hYuedA.js +1 -0
- package/apps/web/dist/assets/path-fybaL0A-.js +1 -0
- package/apps/web/dist/assets/pegDiagram-ECIUJNBX-CKUDNsQa.js +1 -0
- package/apps/web/dist/assets/pie-XZMESJXO-Dot5dfKq.js +1 -0
- package/apps/web/dist/assets/pieDiagram-GNMPY74T-CYBpcOWI.js +39 -0
- package/apps/web/dist/assets/preload-helper-BLdHbfdN.js +1 -0
- package/apps/web/dist/assets/{preview-dialog-CPvYDNeU.js → preview-dialog-jk_R2034.js} +1 -1
- package/apps/web/dist/assets/quadrantDiagram-D57K4MC3-Ce4rstAB.js +7 -0
- package/apps/web/dist/assets/radar-ABXABTNO-B-JNDxsg.js +1 -0
- package/apps/web/dist/assets/railroad-I3PHUGI6-CZyDVcgN.js +1 -0
- package/apps/web/dist/assets/railroad-abnf-LNEFI6M7-Vj_R5cg2.js +1 -0
- package/apps/web/dist/assets/railroad-ebnf-DWYD2UWJ-CUdwkvqU.js +1 -0
- package/apps/web/dist/assets/railroad-peg-JR7BVNR7-Cx8B3Fw_.js +1 -0
- package/apps/web/dist/assets/railroadDiagram-Y72NRBL7-DJFwL-gy.js +1 -0
- package/apps/web/dist/assets/{react-BlUBLzv4.js → react-99wk3OSj.js} +1 -1
- package/apps/web/dist/assets/requirementDiagram-EQYSW5RA-BRGd7bW2.js +84 -0
- package/apps/web/dist/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
- package/apps/web/dist/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/apps/web/dist/assets/sankeyDiagram-SY24JHO5-K6n9GTvI.js +40 -0
- package/apps/web/dist/assets/sequenceDiagram-BLEHNHQU-C5fTKXFr.js +169 -0
- package/apps/web/dist/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
- package/apps/web/dist/assets/src-BbHDS76q.js +1 -0
- package/apps/web/dist/assets/stateDiagram-v2-A6IESKWZ-DmuliVkN.js +291 -0
- package/apps/web/dist/assets/swimlanes-B3ENRKFQ-C6184yrk.js +1 -0
- package/apps/web/dist/assets/swimlanesDiagram-AYQRV4AK-C7v5ZG8a.js +8 -0
- package/apps/web/dist/assets/tags-DrTyXsO5.js +1 -0
- package/apps/web/dist/assets/timeline-definition-JXYKGLGB-9zgkFWSz.js +120 -0
- package/apps/web/dist/assets/tooltip-CiWlkHa6.js +1 -0
- package/apps/web/dist/assets/treeView-D4JQ5SDB-C4nFWZ36.js +1 -0
- package/apps/web/dist/assets/treemap-SAJKECNS-BtKhU7nu.js +1 -0
- package/apps/web/dist/assets/usecaseDiagram-WPOLBNNX-GhuLCvVh.js +328 -0
- package/apps/web/dist/assets/vennDiagram-Q3Y3IDCW-CkqSz3Ut.js +34 -0
- package/apps/web/dist/assets/{video-player-DsF9gAr6.js → video-player-Bcow2OC5.js} +1 -1
- package/apps/web/dist/assets/video-player-hDoAwJRk.js +1 -0
- package/apps/web/dist/assets/video-viewer-CJ129jI3.js +1 -0
- package/apps/web/dist/assets/wardley-7MLQ67FV-zgQ1s-nD.js +1 -0
- package/apps/web/dist/assets/wardleyDiagram-IVAIDKWA-CQSNfHYl.js +78 -0
- package/apps/web/dist/assets/xychartDiagram-4URNHDU4-oZoMdVOh.js +7 -0
- package/apps/web/dist/assets/zoomable-image-CZlWBm_z.js +41 -0
- package/apps/web/dist/assets/zoomable-image-DyuZJmov.js +1 -0
- package/apps/web/dist/index.html +10 -7
- package/apps/web/dist/sw.js +1 -1
- package/package.json +1 -1
- package/apps/web/dist/assets/button-B9gb3kFa.js +0 -1
- package/apps/web/dist/assets/dist-BJ6NAVkJ.js +0 -153
- package/apps/web/dist/assets/dist-BYXo5M-b.js +0 -1
- package/apps/web/dist/assets/image-viewer-Cqc2TB1C.js +0 -1
- package/apps/web/dist/assets/index-BiXADRAn.js +0 -782
- package/apps/web/dist/assets/index-CwgEGzdv.css +0 -2
- package/apps/web/dist/assets/jsx-runtime-D3jfb0Ew.js +0 -1
- package/apps/web/dist/assets/tooltip-CVzJHuCM.js +0 -1
- package/apps/web/dist/assets/video-player-4TBQR7ei.js +0 -1
- package/apps/web/dist/assets/video-viewer-DAKoRaNT.js +0 -1
- package/apps/web/dist/assets/zoomable-image-8K4_Vqt3.js +0 -41
- package/apps/web/dist/assets/zoomable-image-DKc1MmY3.js +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{i as e}from"./chunk-7S6XSTFO-VvdR34BD.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as n}from"./src-BbHDS76q.js";import{C as r,H as i,U as a,_ as o,a as s,c,f as l,it as u,nt as d,q as f,rt as p,tt as m,v as h,y as g}from"./chunk-DSNLSHJZ-Npz5XPWZ.js";import{t as _}from"./chunk-OYAV6JZA-rT8O_-D6.js";import{t as v}from"./rough.esm-Dy-Kn_BL.js";var y=(e,t)=>p(e,`a`,-t),b=1e-10;function x(e,t){let n=C(e),r=n.filter(t=>S(t,e)),i=0,a=0,o=[];if(r.length>1){let t=O(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=T(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=w(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(T(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-b,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}function S(e,t){return t.every(t=>T(e,t)<t.radius+b)}function C(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=D(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}function w(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function T(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function E(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return w(e,r)+w(t,i)}function D(e,t){let n=T(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}function O(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}function k(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}function A(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}function j(e,t){return A(e).map(()=>A(t))}function M(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}function N(e){return Math.sqrt(M(e,e))}function P(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}function F(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}function I(e,t,n){n||={};let r=n.maxIterations||t.length*200,i=n.nonZeroDelta||1.05,a=n.zeroDelta||.001,o=n.minErrorDelta||1e-6,s=n.minErrorDelta||1e-5,c=n.rho===void 0?1:n.rho,l=n.chi===void 0?2:n.chi,u=n.psi===void 0?-.5:n.psi,d=n.sigma===void 0?.5:n.sigma,f,p=t.length,m=Array(p+1);m[0]=t,m[0].fx=e(t),m[0].id=0;for(let n=0;n<p;++n){let r=t.slice();r[n]=r[n]?r[n]*i:a,m[n+1]=r,m[n+1].fx=e(r),m[n+1].id=n+1}function h(e){for(let t=0;t<e.length;t++)m[p][t]=e[t];m[p].fx=e.fx}let g=(e,t)=>e.fx-t.fx,_=t.slice(),v=t.slice(),y=t.slice(),b=t.slice();for(let t=0;t<r;++t){if(m.sort(g),n.history){let e=m.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),n.history.push({x:m[0].slice(),fx:m[0].fx,simplex:e})}f=0;for(let e=0;e<p;++e)f=Math.max(f,Math.abs(m[0][e]-m[1][e]));if(Math.abs(m[0].fx-m[p].fx)<o&&f<s)break;for(let e=0;e<p;++e){_[e]=0;for(let t=0;t<p;++t)_[e]+=m[t][e];_[e]/=p}let t=m[p];if(F(v,1+c,_,-c,t),v.fx=e(v),v.fx<m[0].fx)F(b,1+l,_,-l,t),b.fx=e(b),b.fx<v.fx?h(b):h(v);else if(v.fx>=m[p-1].fx){let n=!1;if(v.fx>t.fx?(F(y,1+u,_,-u,t),y.fx=e(y),y.fx<t.fx?h(y):n=!0):(F(y,1-u*c,_,u*c,t),y.fx=e(y),y.fx<v.fx?h(y):n=!0),n){if(d>=1)break;for(let t=1;t<m.length;++t)F(m[t],1-d,m[0],d,m[t]),m[t].fx=e(m[t])}}else h(v)}return m.sort(g),{fx:m[0].fx,x:m[0]}}function L(e,t,n,r,i,a,o){let s=n.fx,c=M(n.fxprime,t),l=s,u=s,d=c,f=0;i||=1,a||=1e-6,o||=.1;function p(u,f,p){for(let m=0;m<16;++m)if(i=(u+f)/2,F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||l>=p)f=i;else{if(Math.abs(d)<=-o*c)return i;d*(f-u)>=0&&(f=u),u=i,p=l}return 0}for(let m=0;m<10;++m){if(F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||m&&l>=u)return p(f,i,u);if(Math.abs(d)<=-o*c)return i;if(d>=0)return p(i,f,l);u=l,f=i,i*=2}return i}function R(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),P(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=L(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)P(o,r.fxprime,-1);else{F(a,1,i.fxprime,-1,r.fxprime);let e=M(r.fxprime,r.fxprime),t=Math.max(0,M(a,i.fxprime)/e);F(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(N(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}function ee(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||ae,r=t.lossFunction||B,i=ne(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=I(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}var te=1e-10;function z(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+te?Math.abs(e-t):k(r=>E(e,t,r)-n,0,e+t)}function ne(e,t={}){let n=t.distinct,r=e.map(e=>Object.assign({},e));function i(e){return e.join(`;`)}if(n){let e=new Map;for(let t of r)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of r)t.sets.length<3&&(t.size=e.get(i(t.sets)))}let a=[],o=new Set;for(let e of r)if(e.sets.length===1)a.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];o.add(i(e.sets)),o.add(i([n,t]))}a.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<a.length;++e){let t=a[e];for(let n=e+1;n<a.length;++n){let e=a[n];o.has(i([t,e]))||r.push({sets:[t,e],size:0})}}return r}function re(e,t,n){let r=j(t.length,t.length),i=j(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=z(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}function ie(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}function ae(e,t={}){let n=se(e,t),r=t.lossFunction||B;if(e.length>=8){let i=oe(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}function oe(e,t={}){let n=t.restarts||10,r=[],i={};for(let t of e)t.sets.length===1&&(i[t.sets[0]]=r.length,r.push(t));let{distances:a,constraints:o}=re(e,r,i),s=N(a.map(N))/a.length;a=a.map(e=>e.map(e=>e/s));let c=(e,t)=>ie(e,t,a,o),l=null;for(let e=0;e<n;++e){let e=R(c,A(a.length*2).map(Math.random),t);(!l||e.fx<l.fx)&&(l=e)}let u=l.x,d={};for(let e=0;e<r.length;++e){let t=r[e];d[t.sets[0]]={x:u[2*e]*s,y:u[2*e+1]*s,radius:Math.sqrt(t.size/Math.PI)}}if(t.history)for(let e of t.history)P(e.x,s);return d}function se(e,t){let n=t&&t.lossFunction?t.lossFunction:B,r={},i={};for(let t of e)if(t.sets.length===1){let e=t.sets[0];r[e]={x:1e10,y:1e10,rowid:r.length,size:t.size,radius:Math.sqrt(t.size/Math.PI)},i[e]=[]}e=e.filter(e=>e.sets.length===2);for(let t of e){let e=t.weight==null?1:t.weight,n=t.sets[0],a=t.sets[1];t.size+te>=Math.min(r[n].size,r[a].size)&&(e=0),i[n].push({set:a,size:t.size,weight:e}),i[a].push({set:n,size:t.size,weight:e})}let a=[];Object.keys(i).forEach(e=>{let t=0;for(let n=0;n<i[e].length;++n)t+=i[e][n].size*i[e][n].weight;a.push({set:e,size:t})});function o(e,t){return t.size-e.size}a.sort(o);let s={};function c(e){return e.set in s}function l(e,t){r[t].x=e.x,r[t].y=e.y,s[t]=!0}l({x:0,y:0},a[0].set);for(let t=1;t<a.length;++t){let s=a[t].set,d=i[s].filter(c),f=r[s];if(d.sort(o),d.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var u=0;u<d.length;++u){let e=r[d[u].set],t=z(f.radius,e.radius,d[u].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=u+1;n<d.length;++n){let i=r[d[n].set],a=z(f.radius,i.radius,d[n].size),o=D({x:e.x,y:e.y,radius:t},{x:i.x,y:i.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let t of p){r[s].x=t.x,r[s].y=t.y;let i=n(r,e);i<m&&(m=i,h=t)}l(h,s)}return r}function B(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}function ce(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}function le(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&T(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}function ue(e){e.forEach(e=>{e.parent=e});function t(e){return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function n(e,n){let r=t(e);r.parent=t(n)}for(let t=0;t<e.length;++t)for(let r=t+1;r<e.length;++r){let i=e[t].radius+e[r].radius;T(e[t],e[r])+1e-10<i&&n(e[r],e[t])}let r=new Map;for(let n=0;n<e.length;++n){let i=t(e[n]).parent.setid;r.has(i)||r.set(i,[]),r.get(i).push(e[n])}return e.forEach(e=>{delete e.parent}),Array.from(r.values())}function V(e){let t=t=>({max:e.reduce((e,n)=>Math.max(e,n[t]+n.radius),-1/0),min:e.reduce((e,n)=>Math.min(e,n[t]-n.radius),1/0)});return{xRange:t(`x`),yRange:t(`y`)}}function de(e,t,n){t??=Math.PI/2;let r=me(e).map(e=>Object.assign({},e)),i=ue(r);for(let e of i){le(e,t,n);let r=V(e);e.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),e.bounds=r}i.sort((e,t)=>t.size-e.size),r=i[0];let a=r.bounds,o=(a.xRange.max-a.xRange.min)/50;function s(e,t,n){if(!e)return;let i=e.bounds,s,c;if(t)s=a.xRange.max-i.xRange.min+o;else{s=a.xRange.max-i.xRange.max;let e=(i.xRange.max-i.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;e<0&&(s+=e)}if(n)c=a.yRange.max-i.yRange.min+o;else{c=a.yRange.max-i.yRange.max;let e=(i.yRange.max-i.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=s,t.y+=c,r.push(t)}let c=1;for(;c<i.length;)s(i[c],!0,!1),s(i[c+1],!1,!0),s(i[c+2],!0,!0),c+=3,a=V(r);return pe(r)}function fe(e,t,n,r,i){let a=me(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=V(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return pe(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}function pe(e){let t={};for(let n of e)t[n.setid]=n;return t}function me(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}function he(e={}){let t=!1,n=600,r=350,i=15,a=1e3,o=Math.PI/2,s=!0,c=null,l=!0,u=!0,d=null,f=null,p=!1,m=null,h=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,g={},_=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],v=0,y=function(e){if(e in g)return g[e];var t=g[e]=_[v];return v+=1,v>=_.length&&(v=0),t},b=ee,x=B;function S(g){let _=g.datum(),v=new Set;_.forEach(e=>{e.size==0&&e.sets.length==1&&v.add(e.sets[0])}),_=_.filter(e=>!e.sets.some(e=>v.has(e)));let S={},C={};if(_.length>0){let e=b(_,{lossFunction:x,distinct:p});s&&(e=de(e,o,f)),S=fe(e,n,r,i,c),C=ve(S,_,h)}let w={};_.forEach(e=>{e.label&&(w[e.sets]=e.label)});function T(e){if(e.sets in w)return w[e.sets];if(e.sets.length==1)return``+e.sets[0]}g.selectAll(`svg`).data([S]).enter().append(`svg`);let E=g.select(`svg`);t?E.attr(`viewBox`,`0 0 ${n} ${r}`):E.attr(`width`,n).attr(`height`,r);let D={},O=!1;E.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!p&&(O=!0,D[e.sets[0]]=be(t))});function k(e){return t=>Ce(e.sets.map(e=>{let i=D[e],a=S[e];return i||={x:n/2,y:r/2,radius:1},a||={x:n/2,y:r/2,radius:1},{x:i.x*(1-t)+a.x*t,y:i.y*(1-t)+a.y*t,radius:i.radius*(1-t)+a.radius*t}}),m)}let A=E.selectAll(`.venn-area`).data(_,e=>e.sets),j=A.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),M=j.append(`path`),N=j.append(`text`).attr(`class`,`label`).text(e=>T(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,n/2).attr(`y`,r/2);u&&(M.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:y(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,t=>t.colour||t.color?`#FFF`:e.textFill?e.textFill:t.sets.length==1?y(t.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(a):e}let F=g;O&&typeof F.transition==`function`?(F=P(g),F.selectAll(`path`).attrTween(`d`,k)):F.selectAll(`path`).attr(`d`,e=>Ce(e.sets.map(e=>S[e])),m);let I=F.selectAll(`text`).filter(e=>e.sets in C).text(e=>T(e)).attr(`x`,e=>Math.floor(C[e.sets].x)).attr(`y`,e=>Math.floor(C[e.sets].y));l&&(O?`on`in I?I.on(`end`,H(S,T)):I.each(`end`,H(S,T)):I.each(H(S,T)));let L=P(A.exit()).remove();typeof A.transition==`function`&&L.selectAll(`path`).attrTween(`d`,k);let R=L.selectAll(`text`).attr(`x`,n/2).attr(`y`,r/2);return d!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,d),R.style(`font-size`,`0px`)),{circles:S,textCentres:C,nodes:A,enter:j,update:F,exit:L}}return S.wrap=function(e){return arguments.length?(l=e,S):l},S.useViewBox=function(){return t=!0,S},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.padding=function(e){return arguments.length?(i=e,S):i},S.distinct=function(e){return arguments.length?(p=e,S):p},S.colours=function(e){return arguments.length?(y=e,S):y},S.colors=function(e){return arguments.length?(y=e,S):y},S.fontSize=function(e){return arguments.length?(d=e,S):d},S.round=function(e){return arguments.length?(m=e,S):m},S.duration=function(e){return arguments.length?(a=e,S):a},S.layoutFunction=function(e){return arguments.length?(b=e,S):b},S.normalize=function(e){return arguments.length?(s=e,S):s},S.scaleToFit=function(e){return arguments.length?(c=e,S):c},S.styled=function(e){return arguments.length?(u=e,S):u},S.orientation=function(e){return arguments.length?(o=e,S):o},S.orientationOrder=function(e){return arguments.length?(f=e,S):f},S.lossFunction=function(e){return arguments.length?(x=e==="default"?B:e===`logRatio`?ce:e,S):x},S}function H(e,t){return function(n){let r=this,i=e[n.sets[0]].radius||50,a=t(n)||``,o=a.split(/\s+/).reverse(),s=(a.length+o.length)/3,c=o.pop(),l=[c],u=0,d=1.1;r.textContent=null;let f=[];function p(e){let t=r.ownerDocument.createElementNS(r.namespaceURI,`tspan`);return t.textContent=e,f.push(t),r.append(t),t}let m=p(c);for(;c=o.pop(),c;){l.push(c);let e=l.join(` `);m.textContent=e,e.length>s&&m.getComputedTextLength()>i&&(l.pop(),m.textContent=l.join(` `),l=[c],m=p(c),u++)}let h=.35-u*d/2,g=r.getAttribute(`x`),_=r.getAttribute(`y`);f.forEach((e,t)=>{e.setAttribute(`x`,g),e.setAttribute(`y`,_),e.setAttribute(`dy`,`${h+t*d}em`)})}}function U(e,t,n){let r=t[0].radius-T(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-T(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=T(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}function ge(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=U(r[0],e,t);for(let n=1;n<r.length;++n){let o=U(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=I(n=>-1*U({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(T(s,t)>t.radius){c=!1;break}for(let e of t)if(T(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return x(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?ge(e,[]):O(l.arcs.map(e=>e.p1))}function _e(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=T(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}function ve(e,t,n){let r={},i=_e(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=ge(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}function ye(e,t,n){let r=[];return r.push(`
|
|
2
|
+
M`,e,t),r.push(`
|
|
3
|
+
m`,-n,0),r.push(`
|
|
4
|
+
a`,n,n,0,1,0,n*2,0),r.push(`
|
|
5
|
+
a`,n,n,0,1,0,-n*2,0),r.join(` `)}function be(e){let t=e.split(` `);return{x:Number.parseFloat(t[1]),y:Number.parseFloat(t[2]),radius:-Number.parseFloat(t[4])}}function xe(e){if(e.length===0)return[];let t={};return x(e,t),t.arcs}function Se(e,t){if(e.length===0)return`M 0 0`;let n=10**(t||0),r=t==null?e=>e:e=>Math.round(e*n)/n;if(e.length==1){let t=e[0].circle;return ye(r(t.x),r(t.y),r(t.radius))}let i=[`
|
|
6
|
+
M`,r(e[0].p2.x),r(e[0].p2.y)];for(let t of e){let e=r(t.circle.radius);i.push(`
|
|
7
|
+
A`,e,e,0,+!!t.large,+!!t.sweep,r(t.p1.x),r(t.p1.y))}return i.join(` `)}function Ce(e,t){return Se(xe(e),t)}function we(e,t={}){let{lossFunction:n,layoutFunction:r=ee,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:o,width:s=600,height:c=350,padding:l=15,scaleToFit:u=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=t,m=r(e,{lossFunction:n==="default"||!n?B:n===`logRatio`?ce:n,distinct:f});i&&(m=de(m,a,o));let h=fe(m,s,c,l,u),g=ve(h,e,d),_=new Map(Object.keys(h).map(e=>[e,{set:e,x:h[e].x,y:h[e].y,radius:h[e].radius}])),v=e.map(e=>{let t=e.sets.map(e=>_.get(e)),n=xe(t);return{circles:t,arcs:n,path:Se(n,p),area:e,has:new Set(e.sets)}});function y(e){let t=``;for(let n of v)n.has.size>e.length&&e.every(e=>n.has.has(e))&&(t+=` `+n.path);return t}return v.map(({circles:e,arcs:t,path:n,area:r})=>({data:r,text:g[r.sets],circles:e,arcs:t,path:n,distinctPath:n+y(r.sets)}))}var W=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[5,8],r=[7,8,11,12,17,19,22,24],i=[1,17],a=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],c=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],d=[1,56],f=[1,58],p=[1,59],m=[1,60],h=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],g={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:`error`,5:`VENN`,7:`EOF`,8:`NEWLINE`,11:`TITLE`,12:`SET`,14:`BRACKET_LABEL`,15:`COLON`,16:`NUMERIC`,17:`UNION`,19:`TEXT`,20:`IDENTIFIER`,21:`STRING`,22:`INDENT_TEXT`,24:`STYLE`,27:`COMMA`,31:`HEXCOLOR`,32:`RGBCOLOR`,33:`RGBACOLOR`},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:case 3:case 4:this.$=[];break;case 5:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=a[s];break;case 8:r.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:r.addSubsetData([a[s]],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 10:r.addSubsetData([a[s-1]],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 11:r.addSubsetData([a[s-2]],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 12:r.addSubsetData([a[s-3]],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 13:if(a[s].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s]),r.addSubsetData(a[s],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 14:if(a[s-1].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-1]),r.addSubsetData(a[s-1],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 15:if(a[s-2].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-2]),r.addSubsetData(a[s-2],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 16:if(a[s-3].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-3]),r.addSubsetData(a[s-3],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 17:case 18:case 19:r.addTextData(a[s-1],a[s],void 0);break;case 20:case 21:r.addTextData(a[s-2],a[s-1],a[s]);break;case 23:r.addStyleData(a[s-1],a[s]);break;case 24:case 25:case 26:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s],void 0);break;case 27:case 28:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s-1],a[s]);break;case 29:case 41:this.$=[a[s]];break;case 30:case 42:this.$=[...a[s-2],a[s]];break;case 31:this.$=[a[s-2],a[s]];break;case 33:this.$=a[s].join(` `);break;case 34:this.$=[a[s]];break;case 35:a[s-1].push(a[s]),this.$=a[s-1];break;case 43:case 44:this.$=a[s]}},`anonymous`),table:[e(n,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},e(r,[2,4],{6:5}),e(n,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},e(r,[2,5]),e(r,[2,6]),e(r,[2,7]),e(r,[2,8]),{13:16,20:i,21:a},{13:20,18:19,20:i,21:a},{13:20,18:21,20:i,21:a},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:i,21:a},e(r,[2,9],{14:[1,27],15:[1,28]}),e(o,[2,43]),e(o,[2,44]),e(r,[2,13],{14:[1,29],15:[1,30],27:s}),e(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},e(r,[2,22]),e(r,[2,24],{14:[1,35]}),e(r,[2,25],{14:[1,36]}),e(r,[2,26]),{20:c,25:37,26:38,27:s},e(r,[2,10],{15:[1,40]}),{16:[1,41]},e(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:i,21:a},e(r,[2,17],{14:[1,45]}),e(r,[2,18],{14:[1,46]}),e(r,[2,19]),e(r,[2,27]),e(r,[2,28]),e(r,[2,23],{27:[1,47]}),e(l,[2,29]),{15:[1,48]},{16:[1,49]},e(r,[2,11]),{16:[1,50]},e(r,[2,15]),e(o,[2,42]),e(r,[2,20]),e(r,[2,21]),{20:c,26:51},{16:u,20:d,21:[1,53],28:52,29:54,30:55,31:f,32:p,33:m},e(r,[2,12]),e(r,[2,16]),e(l,[2,30]),e(l,[2,31]),e(l,[2,32]),e(l,[2,33],{30:61,16:u,20:d,31:f,32:p,33:m}),e(h,[2,34]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),e(h,[2,39]),e(h,[2,40]),e(h,[2,35])],defaultActions:{6:[2,1]},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
8
|
+
`+h.showPosition()+`
|
|
9
|
+
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};g.lexer=(function(){return{EOF:1,parseError:t(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:t(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:t(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:t(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:t(function(){return this._more=!0,this},`more`),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
10
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:t(function(e){this.unput(this.match.slice(e))},`less`),pastInput:t(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:t(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:t(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
11
|
+
`+t+`^`},`showPosition`),test_match:t(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:t(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e!==!1&&e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
|
|
12
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:t(function(){return this.next()||this.lex()},`lex`),begin:t(function(e){this.conditionStack.push(e)},`begin`),popState:t(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:t(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:t(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:t(function(e){this.begin(e)},`pushState`),stateStackSize:t(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:t(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:break;case 3:if(e.getIndentMode&&e.getIndentMode())return e.consumeIndentText=!0,this.begin(`INITIAL`),22;break;case 4:break;case 5:e.setIndentMode&&e.setIndentMode(!1),this.begin(`INITIAL`),this.unput(t.yytext);break;case 6:return this.begin(`bol`),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(e.consumeIndentText)e.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return t.yytext=t.yytext.slice(2,-2),14;case 17:return t.yytext=t.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},`anonymous`),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}}})();function _(){this.yy={}}return t(_,`Parser`),_.prototype=g,g.Parser=_,new _})();W.parser=W;var Te=W,G=[],K=[],q=[],J=new Set,Y,X=!1,Ee=t((e,t,n)=>{let r=Q(e).sort(),i=n??10/e.length**2;Y=r,r.length===1&&J.add(r[0]),G.push({sets:r,size:i,label:t?Z(t):void 0})},`addSubsetData`),De=t(()=>G,`getSubsetData`),Z=t(e=>{let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t},`normalizeText`),Oe=t(e=>e&&Z(e),`normalizeStyleValue`),ke=t((e,t,n)=>{let r=Z(t);K.push({sets:Q(e).sort(),id:r,label:n?Z(n):void 0})},`addTextData`),Ae=t((e,t)=>{let n=Q(e).sort(),r={};for(let[e,n]of t)r[e]=Oe(n)??n;q.push({targets:n,styles:r})},`addStyleData`),je=t(()=>q,`getStyleData`),Q=t(e=>e.map(e=>Z(e)),`normalizeIdentifierList`),Me=t(e=>{let t=Q(e).filter(e=>!J.has(e));if(t.length>0)throw Error(`unknown set identifier: ${t.join(`, `)}`)},`validateUnionIdentifiers`),Ne=t(()=>K,`getTextData`),Pe=t(()=>Y,`getCurrentSets`),Fe=t(()=>X,`getIndentMode`),Ie=t(e=>{X=e},`setIndentMode`),Le=l.venn;function Re(){return e(Le,g().venn)}t(Re,`getConfig`);var ze={getConfig:Re,clear:t(()=>{s(),G.length=0,K.length=0,q.length=0,J.clear(),Y=void 0,X=!1},`customClear`),setAccTitle:a,getAccTitle:h,setDiagramTitle:f,getDiagramTitle:r,getAccDescription:o,setAccDescription:i,addSubsetData:Ee,getSubsetData:De,addTextData:ke,addStyleData:Ae,validateUnionIdentifiers:Me,getTextData:Ne,getStyleData:je,getCurrentSets:Pe,getIndentMode:Fe,setIndentMode:Ie},Be=t(e=>`
|
|
13
|
+
.venn-title {
|
|
14
|
+
font-size: 32px;
|
|
15
|
+
fill: ${e.vennTitleTextColor};
|
|
16
|
+
font-family: ${e.fontFamily};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.venn-circle text {
|
|
20
|
+
font-size: 48px;
|
|
21
|
+
font-family: ${e.fontFamily};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.venn-intersection text {
|
|
25
|
+
font-size: 48px;
|
|
26
|
+
fill: ${e.vennSetTextColor};
|
|
27
|
+
font-family: ${e.fontFamily};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.venn-text-node {
|
|
31
|
+
font-family: ${e.fontFamily};
|
|
32
|
+
color: ${e.vennSetTextColor};
|
|
33
|
+
}
|
|
34
|
+
`,`getStyles`);function Ve(e){let t=new Map;for(let n of e){let e=n.targets.join(`|`),r=t.get(e);r?Object.assign(r,n.styles):t.set(e,{...n.styles})}return t}t(Ve,`buildStyleByKey`);var He=t((e,t,r,i)=>{let a=i.db,o=a.getConfig?.(),{themeVariables:s,look:l,handDrawnSeed:f}=g(),p=l===`handDrawn`,h=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),b=a.getDiagramTitle?.(),x=a.getSubsetData(),S=a.getTextData(),C=Ve(a.getStyleData()),w=We(x),T=o?.width??800,E=o?.height??450,D=T/1600,O=b?48*D:0,k=s.primaryTextColor??s.textColor,A=_(t);A.attr(`viewBox`,`0 0 ${T} ${E}`),b&&A.append(`text`).text(b).attr(`class`,`venn-title`).attr(`font-size`,`${32*D}px`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`x`,`50%`).attr(`y`,32*D).style(`fill`,s.vennTitleTextColor||s.titleColor);let j=n(document.createElement(`div`)),M=he().width(T).height(E-O);j.datum(w).call(M);let N=p?v.svg(j.select(`svg`).node()):void 0,P=we(w,{width:T,height:E-O,padding:o?.padding??15}),F=new Map;for(let e of P){let t=$([...e.data.sets].sort());F.set(t,e)}S.length>0&&Ue(o,F,j,S,D,C);let I=u(s.background||`#f4f4f4`);j.selectAll(`.venn-circle`).each(function(e,t){let r=n(this),i=$([...e.sets].sort()),a=C.get(i),o=h.length>0?h[t%h.length]:void 0,c=a?.fill||o||s.primaryColor;r.classed(`venn-set-${t%8}`,!0);let l=a?.[`fill-opacity`]??.1,u=a?.stroke||c,g=a?.[`stroke-width`]||`${5*D}`;if(p&&N){let e=F.get(i);if(e&&e.circles.length>0){let n=e.circles[0],i=N.circle(n.x,n.y,n.radius*2,{roughness:.7,seed:f,fill:y(c,.7),fillStyle:`hachure`,fillWeight:2,hachureGap:8,hachureAngle:-41+t*60,stroke:u,strokeWidth:parseFloat(String(g))});r.select(`path`).remove(),r.node()?.insertBefore(i,r.select(`text`).node())}}else r.select(`path`).style(`fill`,c).style(`fill-opacity`,l).style(`stroke`,u).style(`stroke-width`,g).style(`stroke-opacity`,.95);let _=a?.color||(I?d(c,30):m(c,30));r.select(`text`).style(`font-size`,`${48*D}px`).style(`fill`,_)}),p&&N?j.selectAll(`.venn-intersection`).each(function(e){let t=n(this),r=$([...e.sets].sort()),i=C.get(r),a=i?.fill;if(a){let e=t.select(`path`),n=e.attr(`d`);if(n){let t=N.path(n,{roughness:.7,seed:f,fill:y(a,.3),fillStyle:`cross-hatch`,fillWeight:2,hachureGap:6,hachureAngle:60,stroke:`none`}),r=e.node();r?.parentNode?.insertBefore(t,r),e.remove()}}else t.select(`path`).style(`fill-opacity`,0);t.select(`text`).style(`font-size`,`${48*D}px`).style(`fill`,i?.color??s.vennSetTextColor??k)}):(j.selectAll(`.venn-intersection text`).style(`font-size`,`${48*D}px`).style(`fill`,e=>{let t=$([...e.sets].sort());return C.get(t)?.color??s.vennSetTextColor??k}),j.selectAll(`.venn-intersection path`).style(`fill-opacity`,e=>{let t=$([...e.sets].sort());return+!!C.get(t)?.fill}).style(`fill`,e=>{let t=$([...e.sets].sort());return C.get(t)?.fill??`transparent`}));let L=A.append(`g`).attr(`transform`,`translate(0, ${O})`),R=j.select(`svg`).node();if(R&&`childNodes`in R)for(let e of[...R.childNodes])L.node()?.appendChild(e);c(A,E,T,o?.useMaxWidth??!0)},`draw`);function $(e){return e.join(`|`)}t($,`stableSetsKey`);function Ue(e,t,n,r,i,a){let o=e?.useDebugLayout??!1,s=n.select(`svg`).append(`g`).attr(`class`,`venn-text-nodes`),c=new Map;for(let e of r){let t=$(e.sets),n=c.get(t);n?n.push(e):c.set(t,[e])}for(let[e,n]of c.entries()){let r=t.get(e);if(!r?.text)continue;let c=r.text.x,l=r.text.y,u=Math.min(...r.circles.map(e=>e.radius)),d=Math.min(...r.circles.map(e=>e.radius-Math.hypot(c-e.x,l-e.y))),f=Number.isFinite(d)?Math.max(0,d):0;f===0&&Number.isFinite(u)&&(f=u*.6);let p=s.append(`g`).attr(`class`,`venn-text-area`).attr(`font-size`,`${40*i}px`);o&&p.append(`circle`).attr(`class`,`venn-text-debug-circle`).attr(`cx`,c).attr(`cy`,l).attr(`r`,f).attr(`fill`,`none`).attr(`stroke`,`purple`).attr(`stroke-width`,1.5*i).attr(`stroke-dasharray`,`${6*i} ${4*i}`);let m=Math.max(80*i,f*2*.95),h=Math.max(60*i,f*2*.95),g=(r.data.label&&r.data.label.length>0?Math.min(32*i,f*.25):0)+(n.length<=2?30*i:0),_=c-m/2,v=l-h/2+g,y=Math.max(1,Math.ceil(Math.sqrt(n.length))),b=Math.max(1,Math.ceil(n.length/y)),x=m/y,S=h/b;for(let[e,t]of n.entries()){let n=e%y,r=Math.floor(e/y),s=_+x*(n+.5),c=v+S*(r+.5);o&&p.append(`rect`).attr(`class`,`venn-text-debug-cell`).attr(`x`,_+x*n).attr(`y`,v+S*r).attr(`width`,x).attr(`height`,S).attr(`fill`,`none`).attr(`stroke`,`teal`).attr(`stroke-width`,1*i).attr(`stroke-dasharray`,`${4*i} ${3*i}`);let l=x*.9,u=S*.9,d=p.append(`foreignObject`).attr(`class`,`venn-text-node-fo`).attr(`width`,l).attr(`height`,u).attr(`x`,s-l/2).attr(`y`,c-u/2).attr(`overflow`,`visible`),f=a.get(t.id)?.color,m=d.append(`xhtml:span`).attr(`class`,`venn-text-node`).style(`display`,`flex`).style(`width`,`100%`).style(`height`,`100%`).style(`white-space`,`normal`).style(`align-items`,`center`).style(`justify-content`,`center`).style(`text-align`,`center`).style(`overflow-wrap`,`normal`).style(`word-break`,`normal`).text(t.label??t.id);f&&m.style(`color`,f)}}}t(Ue,`renderTextNodes`);function We(e){let t=new Set(e.map(e=>[...e.sets].sort().join(`|`))),n=new Map(e.filter(e=>e.sets.length===1&&e.size!==void 0).map(e=>[e.sets[0],e.size])),r=[];for(let i of e){if(i.sets.length<3)continue;let e=[...i.sets].sort();for(let i=0;i<e.length-1;i++)for(let a=i+1;a<e.length;a++){let o=[e[i],e[a]],s=o.join(`|`);if(!t.has(s)){t.add(s);let e=n.get(o[0]),i=n.get(o[1]),a=e!==void 0&&i!==void 0?Math.min(e,i)/4:2.5;r.push({sets:o,size:a,label:``})}}}return r.length>0?[...e,...r]:e}t(We,`ensurePairwiseSubsets`);var Ge={parser:Te,db:ze,renderer:{draw:He},styles:Be};export{Ge as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-
|
|
1
|
+
import{t as e}from"./jsx-runtime-DKj5X9O4.js";import{a as t,c as n,d as r,f as i,i as a,l as o,n as s,o as c,p as l,r as u,s as d,t as f,u as p}from"./react-99wk3OSj.js";var m=e();function h(e){return(0,m.jsxs)(s,{className:`size-full outline-none [--media-background-color:black] [--media-control-background:transparent] [--media-control-hover-background:rgb(255_255_255/12%)] [--media-font-family:inherit] [--media-range-track-border-radius:9999px]`,children:[(0,m.jsx)(`video`,{slot:`media`,src:e.src,"aria-label":e.label,autoPlay:!0,playsInline:!0,preload:`auto`,className:`size-full object-contain`}),(0,m.jsx)(a,{slot:`centered-chrome`,noAutohide:!0}),(0,m.jsxs)(f,{className:`w-full bg-linear-to-t from-black/70 to-transparent px-2 pt-6 pb-1 *:p-2.5 max-sm:flex-wrap max-sm:*:p-2`,children:[(0,m.jsx)(d,{}),(0,m.jsx)(o,{seekOffset:10}),(0,m.jsx)(p,{seekOffset:10}),(0,m.jsx)(i,{className:`grow max-sm:order-first max-sm:min-h-0 max-sm:basis-full`}),(0,m.jsx)(r,{showDuration:!0,className:`max-sm:mr-auto`}),(0,m.jsx)(t,{}),(0,m.jsx)(l,{className:`max-sm:hidden`}),(0,m.jsx)(n,{}),(0,m.jsx)(c,{className:`max-sm:hidden`}),(0,m.jsx)(u,{})]})]})}export{h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{t as VideoPlayer}from"./video-player-Bcow2OC5.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-DKj5X9O4.js";import{n as t,t as n}from"./preview-dialog-jk_R2034.js";import{t as r}from"./video-player-Bcow2OC5.js";var i=e();function a(e){return(0,i.jsxs)(n,{open:!0,onClose:e.onClose,children:[(0,i.jsx)(t,{title:e.name}),(0,i.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,i.jsx)(r,{src:e.src,label:e.label})})]})}export{a as VideoViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-NGNAAXSQ-C2Wy9Xmz.js";export{n as createWardleyServices}from"./chunk-53FOQ5SW-f76P46nL.js";
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import{i as e}from"./chunk-7S6XSTFO-VvdR34BD.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-BbHDS76q.js";import{C as r,E as i,H as a,U as o,_ as s,a as c,b as l,c as u,q as d,v as f,y as p}from"./chunk-DSNLSHJZ-Npz5XPWZ.js";import{t as m}from"./chunk-OYAV6JZA-rT8O_-D6.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as g}from"./mermaid-parser.core-BHOBNwvf.js";var _=t((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),v=t((e,t,n)=>({x:_(t,`${n} evolution`),y:_(e,`${n} visibility`)}),`toCoordinates`),y=t(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),b=t(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),x=t((e,t)=>{if(h(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=v(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=v(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=v(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=_(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=y(e.fromPort)??y(e.toPort),{flow:i,label:a}=b(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(t.resolveNodeId(e.from),t.resolveNodeId(e.to),n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=_(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=v(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=v(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=v(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=v(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),S={parser:{yy:void 0},parse:t(async e=>{let t=await g(`wardley`,e);n.debug(t);let r=S.parser?.yy;if(!r||typeof r.addNode!=`function`)throw Error(`parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);x(t,r)},`parse`)},C=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(let[t,n]of this.nodes)if(n.label===e)return t;return e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function w(){return l()[`wardley-beta`]}t(w,`getConfig`);function T(e,t,n,r,i,a,o,s,c){C.addNode({id:e,label:t,x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}t(T,`addNode`);function E(e,t,n=!1,r,i){C.addLink({source:e,target:t,dashed:n,label:r,flow:i})}t(E,`addLink`);function D(e,t,n){C.addTrend({nodeId:e,targetX:t,targetY:n})}t(D,`addTrend`);function O(e,t,n){C.addAnnotation({number:e,coordinates:t,text:n})}t(O,`addAnnotation`);function k(e,t,n){C.addNote({text:e,x:t,y:n})}t(k,`addNote`);function A(e,t,n){C.addAccelerator({name:e,x:t,y:n})}t(A,`addAccelerator`);function j(e,t,n){C.addDeaccelerator({name:e,x:t,y:n})}t(j,`addDeaccelerator`);function M(e,t){C.setAnnotationsBox(e,t)}t(M,`setAnnotationsBox`);function N(e,t){C.setSize(e,t)}t(N,`setSize`);function P(e){C.startPipeline(e)}t(P,`startPipeline`);function F(e,t){C.addPipelineComponent(e,t)}t(F,`addPipelineComponent`);function I(e){C.setAxes(e)}t(I,`updateAxes`);function L(e){return C.getNode(e)}t(L,`getNode`);function R(e){return C.resolveNodeId(e)}t(R,`resolveNodeId`);function z(){return C.build()}t(z,`getWardleyData`);function B(){C.clear(),c()}t(B,`clear`);var V={getConfig:w,addNode:T,addLink:E,addTrend:D,addAnnotation:O,addNote:k,addAccelerator:A,addDeaccelerator:j,setAnnotationsBox:M,setSize:N,startPipeline:P,addPipelineComponent:F,updateAxes:I,getNode:L,resolveNodeId:R,getWardleyData:z,clear:B,setAccTitle:o,getAccTitle:f,setDiagramTitle:d,getDiagramTitle:r,getAccDescription:s,setAccDescription:a},H=[`Genesis`,`Custom Built`,`Product`,`Commodity`],U=t(()=>{let{themeVariables:e}=l();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),W=t(()=>{let e=l()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),G={parser:S,db:V,renderer:{draw:t((e,r,i,a)=>{n.debug(`Rendering Wardley map
|
|
2
|
+
`+e);let o=W(),s=U(),c=o.nodeRadius*1.6,l=a.db,d=l.getWardleyData(),f=l.getDiagramTitle(),p=d.size?.width??o.width,h=d.size?.height??o.height,g=m(r);g.selectAll(`*`).remove(),u(g,h,p,o.useMaxWidth),g.attr(`viewBox`,`0 0 ${p} ${h}`);let _=g.append(`g`).attr(`class`,`wardley-map`),v=g.append(`defs`);v.append(`marker`).attr(`id`,`arrow-${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(`fill`,s.evolutionStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-end-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-start-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,1).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 10 0 L 0 5 L 10 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),_.append(`rect`).attr(`class`,`wardley-background`).attr(`width`,p).attr(`height`,h).attr(`fill`,s.backgroundColor);let y=p-o.padding*2,b=h-o.padding*2;f&&_.append(`text`).attr(`class`,`wardley-title`).attr(`x`,p/2).attr(`y`,o.padding/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize*1.05).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let x=t(e=>o.padding+e/100*y,`projectX`),S=t(e=>h-o.padding-e/100*b,`projectY`),C=_.append(`g`).attr(`class`,`wardley-axes`);C.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,h-o.padding).attr(`y2`,h-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1),C.append(`line`).attr(`x1`,o.padding).attr(`x2`,o.padding).attr(`y1`,o.padding).attr(`y2`,h-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1);let w=d.axes.xLabel??`Evolution`,T=d.axes.yLabel??`Visibility`;C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-x`).attr(`x`,o.padding+y/2).attr(`y`,h-o.padding/4).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).text(w),C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-y`).attr(`x`,o.padding/3).attr(`y`,o.padding+b/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`transform`,`rotate(-90 ${o.padding/3} ${o.padding+b/2})`).text(T);let E=d.axes.stages&&d.axes.stages.length>0?d.axes.stages:H;if(E.length>0){let e=_.append(`g`).attr(`class`,`wardley-stages`),t=d.axes.stageBoundaries,n=[];if(t&&t.length===E.length){let e=0;t.forEach(t=>{n.push({start:e,end:t}),e=t})}else{let e=1/E.length;E.forEach((t,r)=>{n.push({start:r*e,end:(r+1)*e})})}E.forEach((t,r)=>{let i=n[r],a=o.padding+i.start*y,c=(a+(o.padding+i.end*y))/2;r>0&&e.append(`line`).attr(`x1`,a).attr(`x2`,a).attr(`y1`,o.padding).attr(`y2`,h-o.padding).attr(`stroke`,`#000`).attr(`stroke-width`,1).attr(`stroke-dasharray`,`5 5`).attr(`opacity`,.8),e.append(`text`).attr(`class`,`wardley-stage-label`).attr(`x`,c).attr(`y`,h-o.padding/1.5).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize-2).attr(`text-anchor`,`middle`).text(t)})}if(o.showGrid){let e=_.append(`g`).attr(`class`,`wardley-grid`);for(let t=1;t<4;t++){let n=t/4,r=o.padding+y*n;e.append(`line`).attr(`x1`,r).attr(`x2`,r).attr(`y1`,o.padding).attr(`y2`,h-o.padding).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`),e.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,h-o.padding-b*n).attr(`y2`,h-o.padding-b*n).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`)}}let D=new Map;if(d.nodes.forEach(e=>{D.set(e.id,{x:x(e.x),y:S(e.y),node:e})}),d.pipelines.length>0){let e=_.append(`g`).attr(`class`,`wardley-pipelines`),t=_.append(`g`).attr(`class`,`wardley-pipeline-links`);d.pipelines.forEach(n=>{if(n.componentIds.length===0)return;let r=n.componentIds.map(e=>({id:e,pos:D.get(e),node:d.nodes.find(t=>t.id===e)})).filter(e=>e.pos&&e.node).sort((e,t)=>e.node.x-t.node.x);for(let e=0;e<r.length-1;e++){let n=r[e],i=r[e+1];t.append(`line`).attr(`class`,`wardley-pipeline-evolution-link`).attr(`x1`,n.pos.x).attr(`y1`,n.pos.y).attr(`x2`,i.pos.x).attr(`y2`,i.pos.y).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`)}let i=1/0,a=-1/0,l=0;if(n.componentIds.forEach(e=>{let t=D.get(e);t&&(i=Math.min(i,t.x),a=Math.max(a,t.x),l=t.y)}),i!==1/0&&a!==-1/0){let t=o.nodeRadius*4,r=l-t/2,u=D.get(n.nodeId);u&&(u.x=(i+a)/2,u.y=r-c/6),e.append(`rect`).attr(`class`,`wardley-pipeline-box`).attr(`x`,i-15).attr(`y`,r).attr(`width`,a-i+30).attr(`height`,t).attr(`fill`,`none`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}})}let O=_.append(`g`).attr(`class`,`wardley-links`),k=new Map;d.pipelines.forEach(e=>{k.set(e.nodeId,new Set(e.componentIds))});let A=d.links.filter(e=>!(!D.has(e.source)||!D.has(e.target)||k.get(e.target)?.has(e.source)));O.selectAll(`line`).data(A).enter().append(`line`).attr(`class`,e=>`wardley-link${e.dashed?` wardley-link--dashed`:``}`).attr(`x1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.x+i/s*r}).attr(`y1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.y+a/s*r}).attr(`x2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.x+i/s*r}).attr(`y2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.y+a/s*r}).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,e=>e.dashed?`6 6`:null).attr(`marker-end`,e=>e.flow===`forward`||e.flow===`bidirectional`?`url(#link-arrow-end-${r})`:null).attr(`marker-start`,e=>e.flow===`backward`||e.flow===`bidirectional`?`url(#link-arrow-start-${r})`:null),O.selectAll(`text`).data(A.filter(e=>e.label)).enter().append(`text`).attr(`class`,`wardley-link-label`).attr(`x`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=n.y-t.y,a=n.x-t.x;return r+i/Math.sqrt(a*a+i*i)*8}).attr(`y`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.y+n.y)/2,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return r+-i/o*8}).attr(`fill`,s.axisTextColor).attr(`font-size`,o.labelFontSize).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`transform`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=(t.y+n.y)/2,a=n.x-t.x,o=n.y-t.y,s=Math.sqrt(a*a+o*o),c=o/s,l=-a/s,u=r+c*8,d=i+l*8,f=Math.atan2(o,a)*180/Math.PI;return(f>90||f<-90)&&(f+=180),`rotate(${f} ${u} ${d})`}).text(e=>e.label);let j=_.append(`g`).attr(`class`,`wardley-trends`),M=d.trends.map(e=>{let t=D.get(e.nodeId);if(!t)return null;let n=x(e.targetX),r=S(e.targetY),i=n-t.x,a=r-t.y,s=Math.sqrt(i*i+a*a),c=o.nodeRadius+2;return{origin:t,targetX:n,targetY:r,adjustedX2:s>c?n-i/s*c:n,adjustedY2:s>c?r-a/s*c:r}}).filter(e=>e!==null);j.selectAll(`line`).data(M).enter().append(`line`).attr(`class`,`wardley-trend`).attr(`x1`,e=>e.origin.x).attr(`y1`,e=>e.origin.y).attr(`x2`,e=>e.adjustedX2).attr(`y2`,e=>e.adjustedY2).attr(`stroke`,s.evolutionStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`).attr(`marker-end`,`url(#arrow-${r})`);let N=_.append(`g`).attr(`class`,`wardley-nodes`).selectAll(`g`).data(d.nodes).enter().append(`g`).attr(`class`,e=>[`wardley-node`,e.className?`wardley-node--${e.className}`:``].filter(Boolean).join(` `));N.filter(e=>e.sourceStrategy===`outsource`).append(`circle`).attr(`class`,`wardley-outsource-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#666`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`buy`).append(`circle`).attr(`class`,`wardley-buy-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#ccc`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`build`).append(`circle`).attr(`class`,`wardley-build-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#eee`).attr(`stroke`,`#000`).attr(`stroke-width`,1);let P=N.filter(e=>e.sourceStrategy===`market`);P.append(`circle`).attr(`class`,`wardley-market-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>!e.isPipelineParent&&e.sourceStrategy!==`market`&&e.className!==`anchor`).append(`circle`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1);let F=o.nodeRadius*.7,I=o.nodeRadius*1.2;if(P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x).attr(`y1`,e=>D.get(e.id).y-I).attr(`x2`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x).attr(`y2`,e=>D.get(e.id).y-I).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y-I).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),N.filter(e=>e.isPipelineParent===!0).append(`rect`).attr(`x`,e=>D.get(e.id).x-c/2).attr(`y`,e=>D.get(e.id).y-c/2).attr(`width`,c).attr(`height`,c).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.inertia===!0).append(`line`).attr(`class`,`wardley-inertia`).attr(`x1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c:o.nodeRadius*2;return t.y-n/2}).attr(`x2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c:o.nodeRadius*2;return t.y+n/2}).attr(`stroke`,s.componentStroke).attr(`stroke-width`,6),N.append(`text`).attr(`x`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetX===void 0?t.x:t.x+e.labelOffsetX;let n=o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetX===void 0&&(n+=10);let r=e.labelOffsetX??n;return t.x+r}).attr(`y`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetY===void 0?t.y-3:t.y+e.labelOffsetY;let n=-o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetY===void 0&&(n-=10);let r=e.labelOffsetY??n;return t.y+r}).attr(`class`,`wardley-node-label`).attr(`fill`,e=>e.className===`evolved`?s.evolutionStroke:e.className===`anchor`?`#000`:s.componentLabelColor).attr(`font-size`,o.labelFontSize).attr(`font-weight`,e=>e.className===`anchor`?`bold`:`normal`).attr(`text-anchor`,e=>e.className===`anchor`?`middle`:`start`).attr(`dominant-baseline`,e=>e.className===`anchor`?`middle`:`auto`).text(e=>e.label),d.annotations.length>0){let e=_.append(`g`).attr(`class`,`wardley-annotations`);if(d.annotations.forEach(t=>{let n=t.coordinates.map(e=>({x:x(e.x),y:S(e.y)}));if(n.length>1)for(let t=0;t<n.length-1;t++)e.append(`line`).attr(`class`,`wardley-annotation-line`).attr(`x1`,n[t].x).attr(`y1`,n[t].y).attr(`x2`,n[t+1].x).attr(`y2`,n[t+1].y).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`stroke-dasharray`,`4 4`);n.forEach(n=>{let r=e.append(`g`).attr(`class`,`wardley-annotation`);r.append(`circle`).attr(`cx`,n.x).attr(`cy`,n.y).attr(`r`,10).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5),r.append(`text`).attr(`x`,n.x).attr(`y`,n.y).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,10).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.number)})}),d.annotationsBox){let t=x(d.annotationsBox.x),n=S(d.annotationsBox.y),r=e.append(`g`).attr(`class`,`wardley-annotations-box`),i=[...d.annotations].filter(e=>e.text).sort((e,t)=>e.number-t.number),a=[];if(i.forEach((e,i)=>{let o=r.append(`text`).attr(`x`,t+10).attr(`y`,n+10+(i+1)*16).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`middle`).text(`${e.number}. ${e.text}`);a.push(o)}),a.length>0){let e=0,c=0;a.forEach(t=>{let n=t.node(),r=n.getComputedTextLength();e=Math.max(e,r);let i=n.getBBox();c=Math.max(c,i.height)});let l=e+20+105,u=i.length*16+20+c/2,d=o.padding,f=p-o.padding-l,m=o.padding,g=h-o.padding-u;t=Math.max(d,Math.min(t,f)),n=Math.max(m,Math.min(n,g)),a.forEach((e,r)=>{e.attr(`x`,t+10).attr(`y`,n+10+(r+1)*16)}),r.insert(`rect`,`text`).attr(`x`,t).attr(`y`,n).attr(`width`,l).attr(`height`,u).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}}}if(d.notes.length>0){let e=_.append(`g`).attr(`class`,`wardley-notes`);d.notes.forEach(t=>{let n=x(t.x),r=S(t.y);e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,`start`).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.text)})}if(d.accelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-accelerators`);d.accelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
|
|
3
|
+
M ${n} ${r-15}
|
|
4
|
+
L ${n+60-20} ${r-15}
|
|
5
|
+
L ${n+60-20} ${r-15-8}
|
|
6
|
+
L ${n+60} ${r}
|
|
7
|
+
L ${n+60-20} ${r+15+8}
|
|
8
|
+
L ${n+60-20} ${r+15}
|
|
9
|
+
L ${n} ${r+15}
|
|
10
|
+
Z
|
|
11
|
+
`;e.append(`path`).attr(`d`,i).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),e.append(`text`).attr(`x`,n+30).attr(`y`,r+15+15).attr(`text-anchor`,`middle`).attr(`font-size`,10).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.name)})}if(d.deaccelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-deaccelerators`);d.deaccelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
|
|
12
|
+
M ${n+60} ${r-15}
|
|
13
|
+
L ${n+20} ${r-15}
|
|
14
|
+
L ${n+20} ${r-15-8}
|
|
15
|
+
L ${n} ${r}
|
|
16
|
+
L ${n+20} ${r+15+8}
|
|
17
|
+
L ${n+20} ${r+15}
|
|
18
|
+
L ${n+60} ${r+15}
|
|
19
|
+
Z
|
|
20
|
+
`;e.append(`path`).attr(`d`,i).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),e.append(`text`).attr(`x`,n+30).attr(`y`,r+15+15).attr(`text-anchor`,`middle`).attr(`font-size`,10).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.name)})}},`draw`)},styles:t(({wardley:t}={})=>{let n=i(),r=p(),a=e(n,r.themeVariables),o=e(a.wardley,t);return`
|
|
21
|
+
.wardley-background {
|
|
22
|
+
fill: ${o.backgroundColor};
|
|
23
|
+
}
|
|
24
|
+
.wardley-axes line, .wardley-axes path {
|
|
25
|
+
stroke: ${o.axisColor};
|
|
26
|
+
}
|
|
27
|
+
.wardley-axis-label {
|
|
28
|
+
fill: ${o.axisTextColor};
|
|
29
|
+
}
|
|
30
|
+
.wardley-stage-label {
|
|
31
|
+
fill: ${o.axisTextColor};
|
|
32
|
+
}
|
|
33
|
+
.wardley-grid line {
|
|
34
|
+
stroke: ${o.gridColor};
|
|
35
|
+
}
|
|
36
|
+
.wardley-node circle {
|
|
37
|
+
fill: ${o.componentFill};
|
|
38
|
+
stroke: ${o.componentStroke};
|
|
39
|
+
}
|
|
40
|
+
.wardley-node-label {
|
|
41
|
+
fill: ${o.componentLabelColor};
|
|
42
|
+
}
|
|
43
|
+
.wardley-link {
|
|
44
|
+
stroke: ${o.linkStroke};
|
|
45
|
+
}
|
|
46
|
+
.wardley-link--dashed {
|
|
47
|
+
stroke-dasharray: 4 4;
|
|
48
|
+
}
|
|
49
|
+
.wardley-link-label {
|
|
50
|
+
fill: ${o.axisTextColor};
|
|
51
|
+
}
|
|
52
|
+
.wardley-trend line {
|
|
53
|
+
stroke: ${o.evolutionStroke};
|
|
54
|
+
}
|
|
55
|
+
.wardley-annotation-line {
|
|
56
|
+
stroke: ${o.annotationStroke};
|
|
57
|
+
}
|
|
58
|
+
.wardley-annotation circle {
|
|
59
|
+
fill: ${o.annotationFill};
|
|
60
|
+
stroke: ${o.annotationStroke};
|
|
61
|
+
}
|
|
62
|
+
.wardley-annotation text {
|
|
63
|
+
fill: ${o.annotationTextColor};
|
|
64
|
+
}
|
|
65
|
+
.wardley-annotations-box rect {
|
|
66
|
+
fill: ${o.annotationFill};
|
|
67
|
+
stroke: ${o.annotationStroke};
|
|
68
|
+
}
|
|
69
|
+
.wardley-annotations-box text {
|
|
70
|
+
fill: ${o.annotationTextColor};
|
|
71
|
+
}
|
|
72
|
+
.wardley-pipeline-box {
|
|
73
|
+
stroke: ${o.componentStroke};
|
|
74
|
+
}
|
|
75
|
+
.wardley-notes text {
|
|
76
|
+
fill: ${o.axisTextColor};
|
|
77
|
+
}
|
|
78
|
+
`},`styles`)};export{G as diagram};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{i as e}from"./chunk-7S6XSTFO-VvdR34BD.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-BbHDS76q.js";import{C as r,E as i,H as a,U as o,_ as s,a as c,c as l,f as u,q as d,v as f,y as p,z as m}from"./chunk-DSNLSHJZ-Npz5XPWZ.js";import{t as h}from"./linear-DzP0d4la.js";import{t as g}from"./ordinal-BDEzSJ7C.js";import{t as _}from"./init-C-OQMol4.js";import{t as v}from"./line-QLqjjjjp.js";import{t as y}from"./chunk-OYAV6JZA-rT8O_-D6.js";import"./chunk-YZO67HFG-B_UXK566.js";import{t as b}from"./chunk-AQDTSKZB-DWCLLcEu.js";function x(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function S(){var e=g().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=x(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return S(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},_.apply(d(),arguments)}var C=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],a=[1,5],o=[1,6],s=[1,7],c=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],f=[1,29],p=[1,30],m=[1,31],h=[1,32],g=[1,33],_=[1,34],v=[1,35],y=[1,36],b=[1,37],x=[1,43],S=[1,42],C=[1,47],w=[1,50],T=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],D=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],O=[1,65],k=[26,28],A={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:`error`,5:`XYCHART`,8:`CHART_ORIENTATION`,10:`title`,12:`X_AXIS`,14:`Y_AXIS`,16:`LINE`,18:`BAR`,19:`acc_title`,20:`acc_title_value`,21:`acc_descr`,22:`acc_descr_value`,23:`acc_descr_multiline_value`,24:`SQUARE_BRACES_START`,26:`SQUARE_BRACES_END`,28:`COMMA`,29:`NUMBER_WITH_DECIMAL`,30:`STR`,33:`ARROW_DELIMITER`,36:`NEWLINE`,37:`SEMI`,38:`EOF`,40:`MD_STR`,42:`AMP`,43:`NUM`,44:`ALPHA`,45:`PLUS`,46:`EQUALS`,47:`MULT`,48:`DOT`,49:`BRKT`,50:`MINUS`,51:`UNDERSCORE`},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.setOrientation(a[s]);break;case 9:r.setDiagramTitle(a[s].text.trim());break;case 12:r.setLineData({text:``,type:`text`},a[s]);break;case 13:r.setLineData(a[s-1],a[s]);break;case 14:r.setBarData({text:``,type:`text`},a[s]);break;case 15:r.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 19:this.$=a[s-1];break;case 20:case 30:this.$=[a[s-2],...a[s]];break;case 21:case 31:this.$=[a[s]];break;case 22:this.$={value:Number(a[s-1]),label:a[s]};break;case 23:this.$={value:Number(a[s]),label:``};break;case 24:r.setXAxisTitle(a[s]);break;case 25:r.setXAxisTitle(a[s-1]);break;case 26:r.setXAxisTitle({type:`text`,text:``});break;case 27:r.setXAxisBand(a[s]);break;case 28:r.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 29:this.$=a[s-1];break;case 32:r.setYAxisTitle(a[s]);break;case 33:r.setYAxisTitle(a[s-1]);break;case 34:r.setYAxisTitle({type:`text`,text:``});break;case 35:r.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 39:this.$={text:a[s],type:`text`};break;case 40:this.$={text:a[s],type:`text`};break;case 41:this.$={text:a[s],type:`markdown`};break;case 42:this.$=a[s];break;case 43:this.$=a[s-1]+``+a[s]}},`anonymous`),table:[e(n,r,{3:1,4:2,7:4,5:i,36:a,37:o,38:s}),{1:[3]},e(n,r,{4:2,7:4,3:8,5:i,36:a,37:o,38:s}),e(n,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:o,38:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(c,[2,36]),e(c,[2,37]),e(c,[2,38]),{1:[2,1]},e(n,r,{4:2,7:4,3:21,5:i,36:a,37:o,38:s}),{1:[2,3]},e(c,[2,5]),e(n,[2,7],{4:22,36:a,37:o,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:39,13:38,24:x,29:S,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:45,15:44,29:C,30:l,35:46,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:49,17:48,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:52,17:51,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{20:[1,53]},{22:[1,54]},e(T,[2,18]),{1:[2,2]},e(T,[2,8]),e(T,[2,9]),e(E,[2,39],{41:55,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b}),e(E,[2,40]),e(E,[2,41]),e(D,[2,42]),e(D,[2,44]),e(D,[2,45]),e(D,[2,46]),e(D,[2,47]),e(D,[2,48]),e(D,[2,49]),e(D,[2,50]),e(D,[2,51]),e(D,[2,52]),e(D,[2,53]),e(T,[2,10]),e(T,[2,24],{32:41,31:56,24:x,29:S}),e(T,[2,26]),e(T,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},e(T,[2,11]),e(T,[2,32],{35:60,29:C}),e(T,[2,34]),{33:[1,61]},e(T,[2,12]),{17:62,24:w},{25:63,27:64,29:O},e(T,[2,14]),{17:66,24:w},e(T,[2,16]),e(T,[2,17]),e(D,[2,43]),e(T,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},e(T,[2,33]),{29:[1,70]},e(T,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},e(k,[2,23],{30:[1,73]}),e(T,[2,15]),e(T,[2,28]),e(T,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},e(T,[2,35]),e(T,[2,19]),{25:75,27:64,29:O},e(k,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
|
+
`+h.showPosition()+`
|
|
3
|
+
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};A.lexer=(function(){return{EOF:1,parseError:t(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:t(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:t(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:t(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:t(function(){return this._more=!0,this},`more`),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:t(function(e){this.unput(this.match.slice(e))},`less`),pastInput:t(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:t(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:t(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
5
|
+
`+t+`^`},`showPosition`),test_match:t(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:t(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e!==!1&&e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:t(function(){return this.next()||this.lex()},`lex`),begin:t(function(e){this.conditionStack.push(e)},`begin`),popState:t(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:t(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:t(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:t(function(e){this.begin(e)},`pushState`),stateStackSize:t(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:t(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:return this.popState(),36;case 3:return this.popState(),36;case 4:return 36;case 5:break;case 6:return 10;case 7:return this.pushState(`acc_title`),19;case 8:return this.popState(),`acc_title_value`;case 9:return this.pushState(`acc_descr`),21;case 10:return this.popState(),`acc_descr_value`;case 11:this.pushState(`acc_descr_multiline`);break;case 12:this.popState();break;case 13:return`acc_descr_multiline_value`;case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState(`axis_data`),`X_AXIS`;case 18:return this.pushState(`axis_data`),`Y_AXIS`;case 19:return this.pushState(`axis_band_data`),24;case 20:return 33;case 21:return this.pushState(`data`),16;case 22:return this.pushState(`data`),18;case 23:return this.pushState(`data_inner`),24;case 24:return 29;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState(`string`);break;case 28:this.popState();break;case 29:return`STR`;case 30:return 24;case 31:return 26;case 32:return 44;case 33:return`COLON`;case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 44:break;case 45:return 37;case 46:return 38}},`anonymous`),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}}})();function j(){this.yy={}}return t(j,`Parser`),j.prototype=A,A.Parser=j,new j})();C.parser=C;var w=C;function T(e){return e.type===`bar`}t(T,`isBarPlot`);function E(e){return e.type===`band`}t(E,`isBandAxisData`);function D(e){return e.type===`linear`}t(D,`isLinearAxisData`);var O=class{constructor(e){this.parentGroup=e}static{t(this,`TextDimensionCalculatorWithFont`)}getMaxDimension(e,n){if(!this.parentGroup)return{width:e.reduce((e,t)=>Math.max(t.length,e),0)*n,height:n};let r={width:0,height:0},i=this.parentGroup.append(`g`).attr(`visibility`,`hidden`).attr(`font-size`,n),a=i.node()?.getScreenCTM?.(),o=t(e=>e&&e>0?e:1,`toScale`),s=o(a?.a),c=o(a?.d);for(let t of e){let e=b(i,1,t),a=e?e.width/s:t.length*n,o=e?e.height/c:n;r.width=Math.max(r.width,a),r.height=Math.max(r.height,o)}return i.remove(),r}},k=.7,A=.2,j=class{constructor(e,t,n,r){this.axisConfig=e,this.title=t,this.textDimensionCalculator=n,this.axisThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition=`left`,this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition=`left`,this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}static{t(this,`BaseAxis`)}setRange(e){this.range=e,this.axisPosition===`left`||this.axisPosition===`right`?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){k*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(k*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let t=e.height;if(this.axisConfig.showAxisLine&&t>this.axisConfig.axisLineWidth&&(t-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),r=A*e.width;this.outerPadding=Math.min(n.width/2,r);let i=n.height;this.axisPosition===`bottom`&&this.normalizedLabelRotationInRad!==0&&(i=Math.max(i,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*n.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*n.height))),i+=this.axisConfig.labelPadding*2,this.labelTextHeight=n.height,i<=t&&(t-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&t>=this.axisConfig.tickLength&&(this.showTick=!0,t-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,n<=t&&(t-=n,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-t}calculateSpaceIfDrawnVertical(e){let t=e.width;if(this.axisConfig.showAxisLine&&t>this.axisConfig.axisLineWidth&&(t-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),r=A*e.height;this.outerPadding=Math.min(n.height/2,r);let i=n.width+this.axisConfig.labelPadding*2;i<=t&&(t-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&t>=this.axisConfig.tickLength&&(this.showTick=!0,t-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,n<=t&&(t-=n,this.showTitle=!0)}this.boundingRect.width=e.width-t,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition===`left`||this.axisPosition===`right`?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateOffsetByRotation(e){let t=this.normalizedLabelRotationInRad;return t===0?0:Math.sin(t)*this.getLabelDimension()[e]/2}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let t=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:`path`,groupTexts:[`left-axis`,`axisl-line`],data:[{path:`M ${t},${this.boundingRect.y} L ${t},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:`text`,groupTexts:[`left-axis`,`label`],data:this.getTickValues().map(e=>({text:e.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(e),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:`middle`,horizontalPos:`right`}))}),this.showTick){let t=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:`path`,groupTexts:[`left-axis`,`ticks`],data:this.getTickValues().map(e=>({path:`M ${t},${this.getScaleValue(e)} L ${t-this.axisConfig.tickLength},${this.getScaleValue(e)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:`text`,groupTexts:[`left-axis`,`title`],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:`top`,horizontalPos:`center`}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let t=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:`path`,groupTexts:[`bottom-axis`,`axis-line`],data:[{path:`M ${this.boundingRect.x},${t} L ${this.boundingRect.x+this.boundingRect.width},${t}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:`text`,groupTexts:[`bottom-axis`,`label`],data:this.getTickValues().map(e=>({text:e.toString(),x:this.getScaleValue(e)+this.calculateOffsetByRotation(`height`),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation(`width`)),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:this.normalizedLabelRotationInRad*180/Math.PI,verticalPos:`top`,horizontalPos:`center`}))}),this.showTick){let t=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:`path`,groupTexts:[`bottom-axis`,`ticks`],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${t} L ${this.getScaleValue(e)},${t+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:`text`,groupTexts:[`bottom-axis`,`title`],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:`top`,horizontalPos:`center`}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let t=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:`path`,groupTexts:[`top-axis`,`axis-line`],data:[{path:`M ${this.boundingRect.x},${t} L ${this.boundingRect.x+this.boundingRect.width},${t}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:`text`,groupTexts:[`top-axis`,`label`],data:this.getTickValues().map(e=>({text:e.toString(),x:this.getScaleValue(e),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:`top`,horizontalPos:`center`}))}),this.showTick){let t=this.boundingRect.y;e.push({type:`path`,groupTexts:[`top-axis`,`ticks`],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${t+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(e)},${t+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:`text`,groupTexts:[`top-axis`,`title`],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:`top`,horizontalPos:`center`}]}),e}getDrawableElements(){if(this.axisPosition===`left`)return this.getDrawableElementsForLeftAxis();if(this.axisPosition===`right`)throw Error(`Drawing of right axis is not implemented`);return this.axisPosition===`bottom`?this.getDrawableElementsForBottomAxis():this.axisPosition===`top`?this.getDrawableElementsForTopAxis():[]}},M=class extends j{static{t(this,`BandAxis`)}constructor(e,t,n,r,i){super(e,r,i,t),this.categories=n,this.scale=S().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=S().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),n.trace(`BandAxis axis final categories, range: `,this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},ee=class extends j{static{t(this,`LinearAxis`)}constructor(e,t,n,r,i){super(e,r,i,t),this.domain=n,this.scale=h().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition===`left`&&e.reverse(),this.scale=h().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}};function N(e,t,n,r){let i=new O(r);return E(e)?new M(t,n,e.categories,e.title,i):new ee(t,n,[e.min,e.max],e.title,i)}t(N,`getAxis`);var te=class{constructor(e,t,n,r){this.textDimensionCalculator=e,this.chartConfig=t,this.chartData=n,this.chartThemeConfig=r,this.titleWidth=0,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{t(this,`ChartTitle`)}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let t=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(t.width,e.width),r=t.height+2*this.chartConfig.titlePadding;return r<=e.height&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=r,this.titleWidth=t.width,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}alignTo(e,t){let n=Math.min(this.titleWidth,this.chartConfig.width)/2,r=Math.min(Math.max((e+t)/2,n),this.chartConfig.width-n);this.boundingRect.x=r-n,this.boundingRect.width=n*2}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:[`chart-title`],type:`text`,data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:`middle`,horizontalPos:`center`,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};function P(e,t,n,r){return new te(new O(r),e,t,n)}t(P,`getChartTitleComponent`);var ne=.75,re=.5,ie=.35;function F(e){return{fontSize:e,markerSize:e*ne,markerSpacing:e*ie,itemSpacing:e*re}}t(F,`getLegendLayout`);var ae=class{constructor(e,t,n,r){this.textDimensionCalculator=e,this.chartConfig=t,this.chartData=n,this.chartThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.visiblePlots=[]}static{t(this,`ChartLegend`)}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){if(this.visiblePlots=this.chartConfig.showLegend?this.chartData.plots.filter(e=>e.title):[],this.visiblePlots.length===0)return this.boundingRect.width=0,this.boundingRect.height=0,{width:0,height:0};let{fontSize:t,markerSize:n,markerSpacing:r,itemSpacing:i}=F(this.chartConfig.legendFontSize),a=this.textDimensionCalculator.getMaxDimension(this.visiblePlots.map(e=>e.title),t),o=this.chartConfig.legendPadding*2+n+r+a.width,s=this.chartConfig.legendPadding*2+this.visiblePlots.length*t+(this.visiblePlots.length-1)*i;return o<=e.width&&s<=e.height?(this.boundingRect.width=o,this.boundingRect.height=s):(this.visiblePlots=[],this.boundingRect.width=0,this.boundingRect.height=0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(this.visiblePlots.length===0)return[];let{fontSize:e,markerSize:t,markerSpacing:n,itemSpacing:r}=F(this.chartConfig.legendFontSize),i=e+r,a=this.boundingRect.x+this.chartConfig.legendPadding,o=this.boundingRect.y+this.chartConfig.legendPadding,s=[],c=[];for(let[e,n]of this.visiblePlots.entries())if(T(n))s.push({x:a,y:o+e*i,width:t,height:t,fill:n.fill,strokeFill:n.fill,strokeWidth:0});else{let r=o+e*i+t/2;c.push({path:`M ${a},${r} L ${a+t},${r}`,strokeFill:n.strokeFill,strokeWidth:n.strokeWidth})}return[{groupTexts:[`legend`,`markers`],type:`rect`,data:s},{groupTexts:[`legend`,`markers`],type:`path`,data:c},{groupTexts:[`legend`,`label`],type:`text`,data:this.visiblePlots.map((r,s)=>({text:r.title,x:a+t+n,y:o+s*i+t/2,fill:this.chartThemeConfig.legendTextColor,fontSize:e,rotation:0,verticalPos:`middle`,horizontalPos:`left`}))}]}};function I(e,t,n,r){return new ae(new O(r),e,t,n)}t(I,`getChartLegendComponent`);var oe=class{constructor(e,t,n,r,i){this.plotData=e,this.xAxis=t,this.yAxis=n,this.orientation=r,this.plotIndex=i}static{t(this,`LinePlot`)}getDrawableElement(){let e=this.plotData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]),t;if(t=this.orientation===`horizontal`?v().y(e=>e[0]).x(e=>e[1])(e):v().x(e=>e[0]).y(e=>e[1])(e),!t)return[];let n=[{groupTexts:[`plot`,`line-plot-${this.plotIndex}`],type:`path`,data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){let t=[];for(let[n,[r,i]]of e.entries()){let e=this.plotData.pointLabels[n];e&&(this.orientation===`horizontal`?t.push({x:i+10,y:r,text:e,fill:this.plotData.strokeFill,verticalPos:`middle`,horizontalPos:`left`,fontSize:12,rotation:0}):t.push({x:r,y:i-10,text:e,fill:this.plotData.strokeFill,verticalPos:`middle`,horizontalPos:`center`,fontSize:12,rotation:0}))}t.length>0&&n.push({groupTexts:[`plot`,`line-plot-${this.plotIndex}`,`labels`],type:`text`,data:t})}return n}},se=class{constructor(e,t,n,r,i,a){this.barData=e,this.boundingRect=t,this.xAxis=n,this.yAxis=r,this.orientation=i,this.plotIndex=a}static{t(this,`BarPlot`)}getDrawableElement(){let e=this.barData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]),t=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*.95,n=t/2;return this.orientation===`horizontal`?[{groupTexts:[`plot`,`bar-plot-${this.plotIndex}`],type:`rect`,data:e.map(e=>({x:this.boundingRect.x,y:e[0]-n,height:t,width:e[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:[`plot`,`bar-plot-${this.plotIndex}`],type:`rect`,data:e.map(e=>({x:e[0]-n,y:e[1],width:t,height:this.boundingRect.y+this.boundingRect.height-e[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},ce=class{constructor(e,t,n){this.chartConfig=e,this.chartData=t,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}static{t(this,`BasePlot`)}setAxes(e,t){this.xAxis=e,this.yAxis=t}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error(`Axes must be passed to render Plots`);let e=[];for(let[t,n]of this.chartData.plots.entries())switch(n.type){case`line`:{let r=new oe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,t);e.push(...r.getDrawableElement())}break;case`bar`:{let r=new se(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,t);e.push(...r.getDrawableElement())}}return e}};function le(e,t,n){return new ce(e,t,n)}t(le,`getPlotComponent`);var ue=class{constructor(e,t,n,r){this.chartConfig=e,this.chartData=t,this.componentStore={title:P(e,t,n,r),plot:le(e,t,n),legend:I(e,t,n,r),xAxis:N(t.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},r),yAxis:N(t.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},r)}}static{t(this,`Orchestrator`)}calculateVerticalSpace(){let e=this.chartConfig.width,t=this.chartConfig.height,n=0,r=0,i={width:0,height:0},a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),s=this.componentStore.plot.calculateSpace({width:a,height:o});e-=s.width,t-=s.height,s=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:t}),r=s.height,t-=s.height,this.componentStore.xAxis.setAxisPosition(`bottom`),s=this.componentStore.xAxis.calculateSpace({width:e,height:t}),t-=s.height,this.componentStore.yAxis.setAxisPosition(`left`),s=this.componentStore.yAxis.calculateSpace({width:e,height:t}),n=s.width,e-=s.width,i=this.componentStore.legend.calculateSpace({width:e,height:o}),e-=i.width,e>0&&(a+=e,e=0),t>0&&(o+=t,t=0),this.componentStore.plot.calculateSpace({width:a,height:o}),this.componentStore.plot.setBoundingBoxXY({x:n,y:r}),this.componentStore.title.alignTo(n,n+a),this.componentStore.legend.setBoundingBoxXY({x:n+a,y:r+Math.max((o-i.height)/2,0)}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:r+o}),this.componentStore.yAxis.setRange([r,r+o]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:r}),this.chartData.plots.some(e=>T(e))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,t=this.chartConfig.height,n=0,r=0,i=0,a={width:0,height:0},o=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),c=this.componentStore.plot.calculateSpace({width:o,height:s});e-=c.width,t-=c.height,c=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:t}),n=c.height,t-=c.height,this.componentStore.xAxis.setAxisPosition(`left`),c=this.componentStore.xAxis.calculateSpace({width:e,height:t}),e-=c.width,r=c.width,this.componentStore.yAxis.setAxisPosition(`top`),c=this.componentStore.yAxis.calculateSpace({width:e,height:t}),t-=c.height,i=n+c.height,a=this.componentStore.legend.calculateSpace({width:e,height:s}),e-=a.width,e>0&&(o+=e,e=0),t>0&&(s+=t,t=0),this.componentStore.plot.calculateSpace({width:o,height:s}),this.componentStore.plot.setBoundingBoxXY({x:r,y:i}),this.componentStore.title.alignTo(r,r+o),this.componentStore.legend.setBoundingBoxXY({x:r+o,y:i+Math.max((s-a.height)/2,0)}),this.componentStore.yAxis.setRange([r,r+o]),this.componentStore.yAxis.setBoundingBoxXY({x:r,y:n}),this.componentStore.xAxis.setRange([i,i+s]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(e=>T(e))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation===`horizontal`?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let t of Object.values(this.componentStore))e.push(...t.getDrawableElements());return e}},de=class{static{t(this,`XYChartBuilder`)}static build(e,t,n,r){return new ue(e,t,n,r).getDrawableElement()}},L=0,R,z=K(),B=G(),V=q(),H=B.plotColorPalette.split(`,`).map(e=>e.trim()),U=!1,W=!1;function G(){let t=i(),n=p();return e(t.xyChart,n.themeVariables.xyChart)}t(G,`getChartDefaultThemeConfig`);function K(){let t=p();return e(u.xyChart,t.xyChart)}t(K,`getChartDefaultConfig`);function q(){return{yAxis:{type:`linear`,title:``,min:1/0,max:-1/0},xAxis:{type:`band`,title:``,categories:[]},title:``,plots:[]}}t(q,`getChartDefaultData`);function J(e){let t=p();return m(e.trim(),t)}t(J,`textSanitizer`);function Y(e){R=e}t(Y,`setTmpSVGG`);function fe(e){e===`horizontal`?z.chartOrientation=`horizontal`:z.chartOrientation=`vertical`}t(fe,`setOrientation`);function pe(e){V.xAxis.title=J(e.text)}t(pe,`setXAxisTitle`);function X(e,t){V.xAxis={type:`linear`,title:V.xAxis.title,min:e,max:t},U=!0}t(X,`setXAxisRangeData`);function me(e){V.xAxis={type:`band`,title:V.xAxis.title,categories:e.map(e=>J(e.text))},U=!0}t(me,`setXAxisBand`);function he(e){V.yAxis.title=J(e.text)}t(he,`setYAxisTitle`);function Z(e,t){V.yAxis={type:`linear`,title:V.yAxis.title,min:e,max:t},W=!0}t(Z,`setYAxisRangeData`);function ge(e){let t=Math.min(...e),n=Math.max(...e),r=D(V.yAxis)?V.yAxis.min:1/0,i=D(V.yAxis)?V.yAxis.max:-1/0;V.yAxis={type:`linear`,title:V.yAxis.title,min:Math.min(r,t),max:Math.max(i,n)}}t(ge,`setYAxisRangeFromPlotData`);function Q(e){let t=[];if(e.length===0)return t;if(!U){let t=D(V.xAxis)?V.xAxis.min:1/0,n=D(V.xAxis)?V.xAxis.max:-1/0;X(Math.min(t,1),Math.max(n,e.length))}if(E(V.xAxis)&&e.length>V.xAxis.categories.length&&(e=e.slice(0,V.xAxis.categories.length)),W||ge(e),E(V.xAxis)&&(t=V.xAxis.categories.map((t,n)=>[t,e[n]])),D(V.xAxis)){let n=V.xAxis.min,r=V.xAxis.max;if(e.length===1)t=[[`${n}`,e[0]]];else{let i=(r-n)/(e.length-1);t=e.map((e,t)=>[`${n+t*i}`,e])}}return t}t(Q,`transformDataWithoutCategory`);function $(e){return H[e===0?0:e%H.length]}t($,`getPlotColorFromPalette`);function _e(e,t){let n=t.map(e=>e.value),r=t.map(e=>e.label?J(e.label):``),i=Q(n),a=r.some(e=>e!==``);V.plots.push({type:`line`,title:J(e.text),strokeFill:$(L),strokeWidth:2,data:i,...a?{pointLabels:r}:{}}),L++}t(_e,`setLineData`);function ve(e,t){let n=Q(t.map(e=>e.value));V.plots.push({type:`bar`,title:J(e.text),fill:$(L),data:n}),L++}t(ve,`setBarData`);function ye(){if(V.plots.length===0)throw Error(`No Plot to render, please provide a plot with some data`);return V.title=r(),de.build(z,V,B,R)}t(ye,`getDrawableElem`);function be(){return B}t(be,`getChartThemeConfig`);function xe(){return z}t(xe,`getChartConfig`);function Se(){return V}t(Se,`getXYChartData`);var Ce={parser:w,db:{getDrawableElem:ye,clear:t(function(){c(),L=0,z=K(),V=q(),B=G(),H=B.plotColorPalette.split(`,`).map(e=>e.trim()),U=!1,W=!1},`clear`),setAccTitle:o,getAccTitle:f,setDiagramTitle:d,getDiagramTitle:r,getAccDescription:s,setAccDescription:a,setOrientation:fe,setXAxisTitle:pe,setXAxisRangeData:X,setXAxisBand:me,setYAxisTitle:he,setYAxisRangeData:Z,setLineData:_e,setBarData:ve,setTmpSVGG:Y,getChartThemeConfig:be,getChartConfig:xe,getXYChartData:Se},renderer:{draw:t((e,r,i,a)=>{let o=a.db,s=o.getChartThemeConfig(),c=o.getChartConfig(),u=o.getXYChartData().plots[0].data.map(e=>e[1]);function d(e){return e===`top`?`text-before-edge`:`middle`}t(d,`getDominantBaseLine`);function f(e){return e===`left`?`start`:e===`right`?`end`:`middle`}t(f,`getTextAnchor`);function p(e){return`translate(${e.x}, ${e.y}) rotate(${e.rotation||0})`}t(p,`getTextTransformation`),n.debug(`Rendering xychart chart
|
|
7
|
+
`+e);let m=y(r),h=m.append(`g`).attr(`class`,`main`),g=h.append(`rect`).attr(`width`,c.width).attr(`height`,c.height).attr(`class`,`background`);l(m,c.height,c.width,!0),m.attr(`viewBox`,`0 0 ${c.width} ${c.height}`),g.attr(`fill`,s.backgroundColor),o.setTmpSVGG(m.append(`g`).attr(`class`,`mermaid-tmp-group`));let _=o.getDrawableElem(),v={};function b(e){let t=h,n=``;for(let[r]of e.entries()){let i=h;r>0&&v[n]&&(i=v[n]),n+=e[r],t=v[n],t||=v[n]=i.append(`g`).attr(`class`,e[r])}return t}t(b,`getGroup`);for(let e of _){if(e.data.length===0)continue;let n=b(e.groupTexts);switch(e.type){case`rect`:if(n.selectAll(`rect`).data(e.data).enter().append(`rect`).attr(`x`,e=>e.x).attr(`y`,e=>e.y).attr(`width`,e=>e.width).attr(`height`,e=>e.height).attr(`fill`,e=>e.fill).attr(`stroke`,e=>e.strokeFill).attr(`stroke-width`,e=>e.strokeWidth),c.showDataLabel){let r=c.showDataLabelOutsideBar;if(c.chartOrientation===`horizontal`){let i=function(e,t){let{data:n,label:r}=e;return t*r.length*a<=n.width-o};t(i,`fitsHorizontally`);let a=.7,o=10,c=e.data.map((e,t)=>({data:e,label:u[t].toString()})).filter(e=>e.data.width>0&&e.data.height>0),l=c.map(e=>{let{data:t}=e,n=t.height*.7;for(;!i(e,n)&&n>0;)--n;return n}),d=Math.floor(Math.min(...l)),f=t(e=>r?e.data.x+e.data.width+10:e.data.x+e.data.width-10,`determineLabelXPosition`);n.selectAll(`text`).data(c).enter().append(`text`).attr(`x`,f).attr(`y`,e=>e.data.y+e.data.height/2).attr(`text-anchor`,r?`start`:`end`).attr(`dominant-baseline`,`middle`).attr(`fill`,s.dataLabelColor).attr(`font-size`,`${d}px`).text(e=>e.label)}else{let i=function(e,t,n){let{data:r,label:i}=e,a=t*i.length*.7,o=r.x+r.width/2,s=o-a/2,c=o+a/2,l=s>=r.x&&c<=r.x+r.width,u=r.y+n+t<=r.y+r.height;return l&&u};t(i,`fitsInBar`);let a=e.data.map((e,t)=>({data:e,label:u[t].toString()})).filter(e=>e.data.width>0&&e.data.height>0),o=a.map(e=>{let{data:t,label:n}=e,r=t.width/(n.length*.7);for(;!i(e,r,10)&&r>0;)--r;return r}),c=Math.floor(Math.min(...o)),l=t(e=>r?e.data.y-10:e.data.y+10,`determineLabelYPosition`);n.selectAll(`text`).data(a).enter().append(`text`).attr(`x`,e=>e.data.x+e.data.width/2).attr(`y`,l).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r?`auto`:`hanging`).attr(`fill`,s.dataLabelColor).attr(`font-size`,`${c}px`).text(e=>e.label)}}break;case`text`:n.selectAll(`text`).data(e.data).enter().append(`text`).attr(`x`,0).attr(`y`,0).attr(`fill`,e=>e.fill).attr(`font-size`,e=>e.fontSize).attr(`dominant-baseline`,e=>d(e.verticalPos)).attr(`text-anchor`,e=>f(e.horizontalPos)).attr(`transform`,e=>p(e)).text(e=>e.text);break;case`path`:n.selectAll(`path`).data(e.data).enter().append(`path`).attr(`d`,e=>e.path).attr(`fill`,e=>e.fill?e.fill:`none`).attr(`stroke`,e=>e.strokeFill).attr(`stroke-width`,e=>e.strokeWidth)}}},`draw`)}};export{Ce as diagram};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,t as n}from"./jsx-runtime-DKj5X9O4.js";import{t as r,x as i}from"./button-BF3wjXXJ.js";import{c as a,l as o,t as s}from"./tooltip-CiWlkHa6.js";var c=[[`path`,{d:`M9.13432 2.5C6.46805 2.56075 4.9107 2.81456 3.84664 3.87493C2.91537 4.80297 2.60406 6.10756 2.5 8.2M14.8657 2.5C17.532 2.56075 19.0893 2.81456 20.1534 3.87493C21.0846 4.80297 21.3959 6.10756 21.5 8.2M14.8657 21.5C17.532 21.4392 19.0893 21.1854 20.1534 20.1251C21.0846 19.197 21.3959 17.8924 21.5 15.8M9.13432 21.5C6.46805 21.4392 4.9107 21.1854 3.84664 20.1251C2.91537 19.197 2.60406 17.8924 2.5 15.8`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],l=e(t()),u=n(),d=function(e,t){return Number(e.toFixed(t))},f=function(e,t){return typeof e==`number`?e:t},p=function(e,t,n){n&&typeof n==`function`&&n(e,t)},m={easeOut:function(e){return-Math.cos(e*Math.PI)/2+.5},linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return e*(2-e)},easeInOutQuad:function(e){return e<.5?2*e*e:-1+(4-2*e)*e},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return--e*e*e+1},easeInOutCubic:function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1- --e*e*e*e},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1+--e*e*e*e*e},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e}},h=function(e){var t=e.animationResolve;e.animationResolve=null,t?.()},g=function(e){e.animationFrame!==null&&cancelAnimationFrame(e.animationFrame),e.animationFrame=null,e.isAnimating=!1,e.animation=null,e.velocity=null,h(e)};function _(e,t,n,r,i){if(!e.mounted)i?.();else{var a=new Date().getTime(),o=1;g(e);var s=function(){if(e.mounted&&e.animation===s){var i=new Date().getTime()-a,c=i/n,l=m[t],u=l(c);if(i>=n){e.animation=null,e.animationFrame=null;var d=e.animationResolve;e.animationResolve=null,r(o),d?.(),e.flushResizeAlignment()}else r(u),e.animationFrame=requestAnimationFrame(s)}};e.animation=s,e.animationResolve=i??null,e.animationFrame=requestAnimationFrame(s)}}function v(e){var t=e.scale,n=e.positionX,r=e.positionY;return!(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(r))}function y(e,t,n,r){var i=v(t);if(!e.mounted||!i)return Promise.resolve();var a=e.setState,o=e.state,s=o.scale,c=o.positionX,l=o.positionY,u=t.scale-s,d=t.positionX-c,f=t.positionY-l;return n===0?(a(t.scale,t.positionX,t.positionY),Promise.resolve()):new Promise(function(t){_(e,r,n,function(t){e.isAnimating=t!==1,a(s+u*t,c+d*t,l+f*t)},t)})}function b(e,t,n){var r=e.clientWidth,i=e.clientHeight,a=t.offsetWidth,o=t.offsetHeight,s=a*n,c=o*n;return{wrapperWidth:r,wrapperHeight:i,newContentWidth:s,newDiffWidth:r-s,newContentHeight:c,newDiffHeight:i-c}}var x=function(e,t,n,r,i,a,o){var s=e>t?n*(o?.5:1):0,c=r>i?a*(o?.5:1):0;return{minPositionX:e-t-s,maxPositionX:s,minPositionY:r-i-c,maxPositionY:c,scaleWidthFactor:s,scaleHeightFactor:c}},S=function(e,t){var n=e.wrapperComponent,r=e.contentComponent,i=e.setup,a=i.centerZoomedOut,o=i.disablePadding;if(!n||!r)throw Error(`Components are not mounted`);var s=b(n,r,t),c=s.wrapperWidth,l=s.wrapperHeight,u=s.newContentWidth,d=s.newContentHeight,f=s.newDiffWidth,p=s.newDiffHeight,m=x(c,u,f,l,d,p,!!a);o&&c>=u&&l>=d&&!a&&(m.minPositionX=0,m.maxPositionX=0,m.minPositionY=0,m.maxPositionY=0);var h=e.setup,g=h.minPositionX,_=h.maxPositionX,v=h.minPositionY,y=h.maxPositionY;return g!=null&&(m.minPositionX=c*(1-t)+g*t),_!=null&&(m.maxPositionX=_*t),v!=null&&(m.minPositionY=l*(1-t)+v*t),y!=null&&(m.maxPositionY=y*t),m},C=function(e,t,n,r){return d(r?e<t?t:e>n?n:e:e,2)},w=function(e,t){var n=S(e,t);return e.bounds=n,n};function T(e,t,n,r,i,a,o){var s=n.minPositionX,c=n.minPositionY,l=n.maxPositionX,u=n.maxPositionY,d=0,f=0;return o&&(d=i,f=a),{x:C(e,s-d,l+d,r),y:C(t,c-f,u+f,r)}}function E(e,t,n,r,i,a){var o=e.state,s=o.scale,c=o.positionX,l=o.positionY,u=r-s;return!Number.isFinite(t)||!Number.isFinite(n)?(console.error(`Mouse X and Y position were not provided!`),{x:c,y:l}):T(c-t*u,l-n*u,i,a,0,0,null)}var D=1e-7;function O(e,t,n,r,i){var a=i?r:0,o=Math.max(t-a,D),s=n+a;return!Number.isNaN(n)&&e>=s?s:!Number.isNaN(t)&&e<=o?o:Math.max(e,D)}var k=function(e,t){var n=e.setup.panning.excluded,r=e.isInitialized,i=e.wrapperComponent,a=t.target,o=function(e){return!!e&&typeof e==`object`&&e.nodeType===1&&typeof e.contains==`function`},s=typeof t.composedPath==`function`?t.composedPath().some(function(e){return o(e)&&!!i?.contains(e)}):!!i?.contains(a);return!(!(r&&a&&s)||J(a,n)||Ge(a)||Y(a))},A=function(e){var t=e.isInitialized,n=e.isPanning,r=e.setup.panning.disabled;return!!(t&&n&&!r)},j=function(e,t){var n=e.state,r=n.positionX,i=n.positionY;e.isPanning=!0;var a=t.clientX,o=t.clientY;e.startCoords={x:a-r,y:o-i}},ee=function(e,t){var n=t.touches,r=e.state,i=r.positionX,a=r.positionY;if(e.isPanning=!0,n.length===1){var o=n[0].clientX,s=n[0].clientY;e.startCoords={x:o-i,y:s-a}}};function te(e){var t=e.state,n=t.positionX,r=t.positionY,i=t.scale,a=e.setup,o=a.disabled,s=a.limitToBounds,c=a.centerZoomedOut,l=e.wrapperComponent;if(!o&&l&&e.bounds){var u=e.bounds,d=u.maxPositionX,f=u.minPositionX,p=u.maxPositionY,m=u.minPositionY,h=n>d||n<f,g=r>p||r<m,_=E(e,n>d?l.clientWidth:e.setup.minPositionX||0,r>p?l.clientHeight:e.setup.minPositionY||0,i,e.bounds,s||c),v=_.x,y=_.y;return{scale:i,positionX:h?v:n,positionY:g?y:r}}}function M(e,t,n,r,i){var a=e.setup.limitToBounds,o=e.wrapperComponent,s=e.bounds,c=e.state,l=c.scale,u=c.positionX,d=c.positionY;if(!(o===null||s===null||t===u&&n===d)){var f=T(t,n,s,a,r,i,o),p=f.x,m=f.y;e.setState(l,p,m)}}var ne=function(e,t,n){var r=e.startCoords,i=e.state,a=e.setup.panning,o=a.lockAxisX,s=a.lockAxisY,c=i.positionX,l=i.positionY;if(!r)return{x:c,y:l};var u=t-r.x,d=n-r.y;return{x:o?c:u,y:s?l:d}},N=function(e,t,n){var r=e.setup,i=e.state,a=r.minScale,o=r.disablePadding,s=r.centerZoomedOut,c=n??i.scale;return t>0&&c>=a&&!o&&!s?t:0},P;(function(e){e.TRACK_PAD=`track_pad`,e.MOUSE=`mouse`,e.TOUCH=`touch`})(P||={});var re=function(e){var t=e.mounted,n=e.wrapperComponent,r=e.contentComponent,i=e.setup,a=i.disabled,o=i.velocityAnimation,s=i.limitToBounds,c=e.state.scale;return o.disabled||a||!t||!n||!r?!1:!s||n.clientWidth<r.offsetWidth*c||n.clientHeight<r.offsetHeight*c},ie=function(e){var t=e.mounted,n=e.velocity,r=e.bounds,i=e.setup,a=i.disabled;return!(i.velocityAnimation.disabled||a||!t||!n||!r)};function ae(e,t){var n=e.setup.velocityAnimation,r=n.animationTime,i=n.maxAnimationTime,a=n.inertia;return Math.min(r*Math.max(1,Math.abs(t/a)),i)}function oe(e,t,n,r,i,a,o,s,c,l){if(i){if(t>o&&n>o){var u=o+(e-o)*l;return u>c?c:u<o?o:u}if(t<a&&n<a){var u=a+(e-a)*l;return u<s?s:u>a?a:u}}return r?t:C(e,a,o,i)}function se(e){var t=1,n=e.clientWidth/window.innerWidth;return Number.isNaN(n)?t:Math.min(t,n)}var F=function(e,t,n){var r=0,i=e*n;return Number.isNaN(i)?r:e<0?Math.max(i,-t):Math.min(i,t)};function ce(e,t,n){var r,i;if(re(e)){var a=e.lastMousePosition,o=e.velocityTime,s=e.setup,c=e.wrapperComponent,l=s.velocityAnimation,u=l.maxStrengthMouse,d=l.maxStrengthTouch,f=l.sensitivityTouch,p=l.sensitivityMouse,m=Date.now();if(a&&o&&c){var h=se(c),g=(r={},r[P.TOUCH]=f,r[P.MOUSE]=p,r)[n],_=(i={},i[P.TOUCH]=d,i[P.MOUSE]=u,i)[n],v=t.x-a.x,y=t.y-a.y,b=F(v/h,_,g),x=F(y/h,_,g),S=m-o,C=v*v+y*y;e.velocity={velocityX:b,velocityY:x,total:F(Math.sqrt(C)/S,_,g)}}e.lastMousePosition=t,e.velocityTime=m}}function le(e){var t=e.velocity,n=e.bounds,r=e.setup,i=e.wrapperComponent;if(ie(e)&&t&&n&&i){var a=t.velocityX,o=t.velocityY,s=t.total,c=n.maxPositionX,l=n.minPositionX,u=n.maxPositionY,d=n.minPositionY,f=r.limitToBounds,p=r.autoAlignment,h=r.zoomAnimation,g=r.panning,v=g.lockAxisY,y=g.lockAxisX,b=h.animationType,x=p.sizeX,S=p.sizeY,C=p.velocityAlignmentTime,w=ae(e,s),T=Math.max(w,C),E=N(e,x),D=N(e,S),O=E*i.clientWidth/100,k=D*i.clientHeight/100,A=c+O,j=l-O,ee=u+k,te=d-k,M=e.state,ne=new Date().getTime();_(e,b,T,function(t){var n=e.state,r=n.scale,i=n.positionX,s=n.positionY,h=(new Date().getTime()-ne)/C,g=m[p.animationType],_=1-g(Math.min(1,h)),b=1-t,x=i+a*b,S=s+o*b,w=oe(x,M.positionX,i,y,f,l,c,j,A,_),T=oe(S,M.positionY,s,v,f,d,u,te,ee,_);if(i!==x||s!==S){e.setState(r,w,T);var E=e.props.onPanning;E&&E(W(e),{})}})}}function ue(e,t){var n=e.state,r=n.scale;e.panStartPosition={x:n.positionX,y:n.positionY},g(e),w(e,r),`touches`in t?ee(e,t):j(e,t)}function de(e,t){var n=e.state.scale,r=e.setup,i=r.minScale,a=r.autoAlignment,o=a.disabled,s=a.sizeX,c=a.sizeY,l=a.animationTime,u=a.animationType;if(!(o||n<i||!s&&!c)){e.isResizeAlignmentPending&&w(e,n);var d=te(e);if(d){var f=e.state,p=f.positionX,m=f.positionY;(d.positionX!==p||d.positionY!==m)&&y(e,d,t??l,u)}}}function fe(e,t,n,r){var i=e.startCoords,a=e.setup.autoAlignment,o=a.sizeX,s=a.sizeY;if(i){var c=ne(e,t,n),l=c.x,u=c.y,d=N(e,o),f=N(e,s);ce(e,{x:l,y:u},r),M(e,l,u,d,f)}}function pe(e,t){if(e.isPanning){var n=e.velocity,r=e.wrapperComponent,i=e.contentComponent;e.isPanning=!1;var a=e.state,o=a.positionX,s=a.positionY,c=a.scale,l=e.panStartPosition;if(e.panStartPosition=null,l){var u=o-l.x,d=s-l.y;if(u*u+d*d<=25)return}e.isAnimating=!1,e.animation=null,e.isResizeAlignmentPending&&w(e,c);var f=r?.clientWidth||0,p=r?.clientHeight||0,m=(i?.offsetWidth||0)*c,h=(i?.offsetHeight||0)*c,g=!e.setup.limitToBounds||f<m||p<h;!t&&n&&n.total>.1&&g?le(e):de(e)}}function I(e,t,n,r){var i=e.setup,a=i.minScale,o=i.maxScale,s=i.limitToBounds,c=O(d(t,2),a,o,0,!1),l=E(e,n,r,c,w(e,c),s);return{scale:c,positionX:l.x,positionY:l.y}}function me(e,t,n){var r=e.state.scale,i=e.wrapperComponent,a=e.setup,o=a.minScale,s=a.maxScale,c=a.limitToBounds,l=a.zoomAnimation,u=l.disabled,d=l.animationTime,f=l.animationType,p=u||r>=o&&r<=s;if((r>=1||c)&&de(e),!p&&i&&e.mounted){var m=t||i.clientWidth/2,h=n||i.clientHeight/2,g=I(e,r<o?o:s,m,h);g&&y(e,g,d,f)}}var L=function(){return L=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},L.apply(this,arguments)};function he(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var R={previousScale:1,scale:1,positionX:0,positionY:0},z={disabled:!1,minPositionX:null,maxPositionX:null,minPositionY:null,maxPositionY:null,minScale:1,maxScale:8,limitToBounds:!0,centerZoomedOut:!1,centerOnInit:!1,fitOnInit:!1,disablePadding:!1,smooth:!0,detached:!1,wheel:{step:.015,disabled:!1,wheelDisabled:!1,touchPadDisabled:!1,activationKeys:[],excluded:[]},trackPadPanning:{disabled:!0,velocityDisabled:!1,lockAxisX:!1,lockAxisY:!1,activationKeys:[],excluded:[]},panning:{disabled:!1,velocityDisabled:!1,lockAxisX:!1,lockAxisY:!1,allowLeftClickPan:!0,allowMiddleClickPan:!0,allowRightClickPan:!0,activationKeys:[],excluded:[]},pinch:{step:5,disabled:!1,allowPanning:!0,excluded:[]},keyboard:{disabled:!0,panStep:50,zoomStep:.25,animationTime:100,animationType:`easeOut`,excluded:[]},doubleClick:{disabled:!1,step:.7,mode:`zoomIn`,animationType:`easeOut`,animationTime:200,excluded:[]},zoomAnimation:{disabled:!1,size:.4,animationTime:200,animationType:`easeOut`},autoAlignment:{disabled:!1,sizeX:100,sizeY:100,animationTime:200,velocityAlignmentTime:400,animationType:`easeOut`},velocityAnimation:{disabled:!1,sensitivityMouse:1,sensitivityTouch:1.2,maxStrengthMouse:20,maxStrengthTouch:40,inertia:1,animationTime:300,maxAnimationTime:800,animationType:`easeOut`}},B={wrapperClass:`react-transform-wrapper`,contentClass:`react-transform-component`},ge=function(e){var t=Math.max(e.minScale??z.minScale,1e-7),n=e.maxScale??z.maxScale,r=e.initialScale??R.scale,i=Math.min(Math.max(r,t),n);return{previousScale:i,scale:i,positionX:C(e.initialPositionX??R.positionX,e.minPositionX??-1/0,e.maxPositionX??1/0,e.minPositionX!=null||e.maxPositionX!=null),positionY:C(e.initialPositionY??R.positionY,e.minPositionY??-1/0,e.maxPositionY??1/0,e.minPositionY!=null||e.maxPositionY!=null)}},_e=function(e){var t=L({},z);return Object.keys(e).forEach(function(n){var r=n,i=e[r]!==void 0;if(z[r]!==void 0&&i){var a=Object.prototype.toString.call(z[r]);t[r]=a===`[object Object]`?L(L({},z[r]),e[r]):a===`[object Array]`?he(he([],z[r],!0),e[r],!0):e[r]}}),t.minScale<=0&&(t.minScale=1e-7),t},ve=function(e,t,n){var r=e.state.scale,i=e.wrapperComponent,a=e.setup,o=a.maxScale,s=a.minScale,c=a.zoomAnimation.size;if(!i)throw Error(`Wrapper is not mounted`);return O(d(r+t*n,3),s,o,c,!1)};function V(e,t,n,r){var i=e.wrapperComponent,a=e.props,o=a.onZoomStart,s=a.onZoom,c=a.onZoomStop,l=new MouseEvent(`mousemove`,{bubbles:!0}),u=W(e);p(u,l,o),p(u,l,s);var d=y(e,t,n,r),f=i?.ownerDocument?.defaultView??(typeof window<`u`?window:null);return f&&f.setTimeout(function(){e.mounted&&p(W(e),l,c)},n),d}function ye(e,t,n,r,i){var a=e.wrapperComponent,o=e.state,s=o.scale,c=o.positionX,l=o.positionY,u=e.setup.zoomAnimation;if(!a)return console.error(`No WrapperComponent found`),Promise.resolve();var d=u.disabled?0:r,f=a.clientWidth,p=a.clientHeight,m=(f/2-c)/s,h=(p/2-l)/s,g=I(e,ve(e,t,n),m,h);return g?V(e,g,d,i):(console.error(`Error during zoom event. New transformation state was not calculated.`),Promise.resolve())}function be(e,t,n,r){var i=e.wrapperComponent,a=e.props,o=a.onPanningStart,s=a.onPanning,c=a.onPanningStop,l=new MouseEvent(`mousemove`,{bubbles:!0}),u=W(e);p(u,l,o),p(u,l,s);var d=y(e,t,n,r),f=i?.ownerDocument?.defaultView??(typeof window<`u`?window:null);return f&&f.setTimeout(function(){e.mounted&&p(W(e),l,c)},n),d}function H(e,t,n,r){t===void 0&&(t=`contain`);var i=e.wrapperComponent,a=e.contentComponent,o=e.setup;if(!i||!a)return null;var s=a.offsetWidth,c=a.offsetHeight,l=i.clientWidth,u=i.clientHeight;if(!s||!c||!l||!u)return null;var d=l/s,f=u/c,p=t===`cover`?Math.max(d,f):Math.min(d,f);return r!==void 0&&(p=Math.min(p,r)),n!==void 0&&(p=Math.max(p,n)),p=O(p,o.minScale,o.maxScale,0,!1),Z(p,i,a)}function xe(e,t,n,r){var i=e.setup,a=e.wrapperComponent,o=e.contentComponent,s=i.limitToBounds,c=i.centerOnInit,l=i.fitOnInit,u=ge(e.props),d=e.state,f=d.scale,p=d.positionX,m=d.positionY;if(!a)return Promise.resolve();if(l){var h=H(e,l===`cover`?`cover`:`contain`);if(h)return f===h.scale&&p===h.positionX&&m===h.positionY?Promise.resolve():(r?.(),V(e,h,t,n))}var g=u.positionX,_=u.positionY;if(c&&o){var v=Z(u.scale,a,o);g=v.positionX,_=v.positionY}var y=S(e,u.scale),b=T(g,_,y,s,0,0,a),x={scale:u.scale,positionX:b.x,positionY:b.y};return f===u.scale&&p===u.positionX&&m===u.positionY?Promise.resolve():(r?.(),V(e,x,t,n))}var Se=function(e){if(`getBoundingClientRect`in e){var t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}return e};function Ce(e){var t=e.map(Se),n=Math.min.apply(Math,t.map(function(e){return e.x})),r=Math.min.apply(Math,t.map(function(e){return e.y})),i=Math.max.apply(Math,t.map(function(e){return e.x+e.width})),a=Math.max.apply(Math,t.map(function(e){return e.y+e.height}));return{x:n,y:r,width:i-n,height:a-r}}function we(e,t,n,r){var i=Se(e),a=t.getBoundingClientRect(),o=n.getBoundingClientRect(),s=a.x*r.scale,c=a.y*r.scale;return{x:(i.x-o.x+s)/r.scale,y:(i.y-o.y+c)/r.scale}}function Te(e,t,n,r,i,a,o){r===void 0&&(r=0),i===void 0&&(i=0);var s=e.wrapperComponent,c=e.contentComponent,l=e.state,u=e.setup,d=u.limitToBounds,f=u.minScale,p=u.maxScale;if(!s||!c)return l;var m=s.getBoundingClientRect(),h=we(t,s,c,l),g=h.x,_=h.y,v=t.width/l.scale,y=t.height/l.scale,b=s.clientWidth/v,x=s.clientHeight/y,C=n||Math.min(b,x);o!==void 0&&(C=Math.min(C,o)),a!==void 0&&(C=Math.max(C,a));var w=O(C,f,p,0,!1),E=(m.width-v*w)/2,D=(m.height-y*w)/2,k=T((m.left-g)*w+E+r,(m.top-_)*w+D+i,S(e,w),d,0,0,s);return{positionX:k.x,positionY:k.y,scale:w}}function Ee(e,t,n){var r=e.wrapperComponent,i=e.state;if(!r)return{x:0,y:0};var a=r.getBoundingClientRect();return{x:(t-a.left-i.positionX)/i.scale,y:(n-a.top-i.positionY)/i.scale}}function De(e,t,n){var r=e.wrapperComponent,i=e.state;if(!r)return{x:0,y:0};var a=r.getBoundingClientRect();return{x:a.left+i.positionX+t*i.scale,y:a.top+i.positionY+n*i.scale}}var Oe=function(e){return function(t,n,r){return t===void 0&&(t=.5),n===void 0&&(n=300),r===void 0&&(r=`easeOut`),ye(e,1,t,n,r)}},ke=function(e){return function(t,n,r){return t===void 0&&(t=.5),n===void 0&&(n=300),r===void 0&&(r=`easeOut`),ye(e,-1,t,n,r)}},Ae=function(e){return function(t,n,r,i,a){i===void 0&&(i=300),a===void 0&&(a=`easeOut`);var o=e.state,s=o.positionX,c=o.positionY,l=o.scale,u=e.wrapperComponent,d=e.contentComponent;return e.setup.disabled||!u||!d?Promise.resolve():y(e,{positionX:Number.isNaN(t)?s:t,positionY:Number.isNaN(n)?c:n,scale:Number.isNaN(r)?l:r},i,a)}},je=function(e){return function(t,n){return t===void 0&&(t=200),n===void 0&&(n=`easeOut`),xe(e,t,n)}},Me=function(e){return function(t,n,r){n===void 0&&(n=200),r===void 0&&(r=`easeOut`);var i=e.state,a=e.wrapperComponent,o=e.contentComponent;return a&&o?y(e,Z(t||i.scale,a,o),n,r):Promise.resolve()}},Ne=function(e){return function(t,n,r,i,a){i===void 0&&(i=300),a===void 0&&(a=`easeOut`);var o=e.wrapperComponent,s=e.contentComponent,c=e.setup;if(c.disabled||!o||!s)return Promise.resolve();var l=Ee(e,n,r),u=I(e,t,l.x,l.y);return u?V(e,u,c.zoomAnimation.disabled?0:i,a):Promise.resolve()}},Pe=function(e){return function(t,n){return Ee(e,t,n)}},Fe=function(e){return function(t,n){return De(e,t,n)}},Ie=function(e,t){var n=e.wrapperComponent;if(!n)return[];var r=n.getRootNode(),i=r&&`getElementById`in r?r:n.ownerDocument??(typeof document<`u`?document:null);return(Array.isArray(t)?t:[t]).map(function(e){return typeof e==`string`?i?.getElementById(e):e}).filter(function(e){return!!e&&n.contains(e)})},Le=function(e){return function(t,n,r,i,a,o){r===void 0&&(r=600),i===void 0&&(i=`easeOut`),a===void 0&&(a=0),o===void 0&&(o=0),g(e);var s=typeof n==`object`&&n?n:{scale:n},c=Ie(e,t);return!e.wrapperComponent||c.length===0?Promise.resolve():y(e,Te(e,Ce(c),s.scale,s.offsetX??a,s.offsetY??o,s.minScale,s.maxScale),s.animationTime??r,s.animationType??i)}},Re=function(e){return function(t){t===void 0&&(t={});var n=e.wrapperComponent,r=e.contentComponent,i=e.setup;if(i.disabled||!n||!r)return Promise.resolve();var a=H(e,t.mode??`contain`,t.minScale,t.maxScale);return a?V(e,a,i.zoomAnimation.disabled?0:t.animationTime??200,t.animationType??`easeOut`):Promise.resolve()}},ze=function(e){return function(t,n,r,i){r===void 0&&(r=200),i===void 0&&(i=`easeOut`);var a=e.wrapperComponent,o=e.contentComponent,s=e.setup,c=e.state;if(s.disabled||!a||!o||!Number.isFinite(t)||!Number.isFinite(n))return Promise.resolve();var l=w(e,c.scale),u=T(c.positionX+t,c.positionY+n,l,s.limitToBounds,0,0,a),d=u.x,f=u.y;return d===c.positionX&&f===c.positionY?Promise.resolve():be(e,{scale:c.scale,positionX:d,positionY:f},r,i)}},U=function(e){return{instance:e,state:e.state,zoomIn:Oe(e),zoomOut:ke(e),setTransform:Ae(e),resetTransform:je(e),centerView:Me(e),zoomToElement:Le(e),zoomToPoint:Ne(e),clientToContent:Pe(e),contentToClient:Fe(e),fitToView:Re(e),panBy:ze(e)}},Be=function(e){return{instance:e,state:e.state}},W=function(e){var t={};return Object.assign(t,Be(e)),Object.assign(t,U(e)),t},G=!1;function K(){try{return{get passive(){return G=!0,!1}}}catch{return G=!1,G}}var q=`.${B.wrapperClass}`,J=function(e,t){return t.some(function(t){return e.matches(`${q} ${t}, ${q} .${t}, ${q} ${t} *, ${q} .${t} *`)})},Ve=new Set([`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),He=`[contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]`,Ue=`[draggable="true"]`,We=function(e){return!e||typeof e.closest!=`function`?null:e},Y=function(e){var t=We(e);return t?Ve.has(t.tagName)||t.isContentEditable?!0:t.closest(He)!==null:!1},Ge=function(e){var t=We(e);return t?t.closest(Ue)!==null:!1},X=function(e){e&&clearTimeout(e)},Ke=function(e){return Number.parseFloat(e.toFixed(8))},qe=function(e,t,n){return`translate(${e}px, ${t}px) scale(${Ke(n)})`},Z=function(e,t,n){var r=n.offsetWidth*e,i=n.offsetHeight*e;return{scale:e,positionX:(t.clientWidth-r)/2,positionY:(t.clientHeight-i)/2}};function Je(e,t){e!=null&&(typeof e==`function`?e(t):e.current=t)}function Ye(e){return function(t){e.forEach(function(e){typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var Xe=typeof window<`u`?l.useLayoutEffect:l.useEffect,Ze={panLeft:[`ArrowLeft`],panRight:[`ArrowRight`],panUp:[`ArrowUp`],panDown:[`ArrowDown`],zoomIn:[`+`,`=`],zoomOut:[`-`,`_`],reset:[`0`]},Qe=function(e){return Object.values(Ze).some(function(t){return t.includes(e)})};function $e(e,t){var n=e.setup,r=n.disabled,i=n.keyboard,a=n.panning;if(r||i.disabled||t.defaultPrevented||t.ctrlKey||t.metaKey||t.altKey||!Qe(t.key))return!1;var o=t.target;if(Y(o)||o&&typeof o.matches==`function`&&J(o,i.excluded))return!1;var s=i.panStep,c=i.zoomStep,l=i.animationTime,u=i.animationType,d=U(e),f=t.key,p=a.lockAxisX?0:s,m=a.lockAxisY?0:s;return f===`ArrowLeft`?d.panBy(p,0,l,u):f===`ArrowRight`?d.panBy(-p,0,l,u):f===`ArrowUp`?d.panBy(0,m,l,u):f===`ArrowDown`?d.panBy(0,-m,l,u):f===`+`||f===`=`?d.zoomIn(c,l,u):f===`-`||f===`_`?d.zoomOut(c,l,u):f===`0`&&d.resetTransform(l,u),t.cancelable&&t.preventDefault(),t.stopPropagation(),!0}var et=function(e,t){return{wrapperWidth:e.offsetWidth,wrapperHeight:e.offsetHeight,contentWidth:t.offsetWidth,contentHeight:t.offsetHeight}},tt=function(e,t){return!e||e.wrapperWidth!==t.wrapperWidth||e.wrapperHeight!==t.wrapperHeight||e.contentWidth!==t.contentWidth||e.contentHeight!==t.contentHeight},nt=function(e){return e.isPanning||e.isPinching},rt=function(e){return nt(e)||e.wheelStopEventTimer!==null||e.wheelAnimationTimer!==null};function it(e){var t=e.wrapperComponent,n=e.contentComponent,r=e.setup,i=e.state;if(!t||!n)return null;var a=w(e,i.scale),o=r.limitToBounds,s=r.centerZoomedOut;if(!o&&!s)return null;var c=T(i.positionX,i.positionY,a,!0,0,0,t),l=c.x,u=c.y;return l===d(i.positionX,2)&&u===d(i.positionY,2)?null:{scale:i.scale,positionX:l,positionY:u}}var at=function(e){e.animation=null,e.animationFrame=null,e.isAnimating=!1,e.resizeAnimation=null};function ot(e){var t=e.setup.autoAlignment.animationTime,n=Math.max(t/5,1);g(e);var r=Date.now(),i=function(){if(e.mounted&&e.animation===i){var t=Date.now(),a=Math.max(t-r,1);r=t;var o=it(e);if(!o)at(e);else{var s=e.state,c=s.scale,l=s.positionX,u=s.positionY,d=1-Math.exp(-a/n),f=l+(o.positionX-l)*d,p=u+(o.positionY-u)*d,m=Math.abs(o.positionX-f)<.5&&Math.abs(o.positionY-p)<.5;m&&(f=o.positionX,p=o.positionY),e.isAnimating=!m,e.setState(c,f,p),m?at(e):e.animationFrame=requestAnimationFrame(i)}}};e.animation=i,e.resizeAnimation=i,e.animationResolve=null,e.animationFrame=requestAnimationFrame(i)}function st(e){if(e.setup.disabled)w(e,e.state.scale);else if(nt(e))e.isResizeAlignmentPending=!0;else{var t=e.animation!==null&&e.animation===e.resizeAnimation;if(e.animation&&!t){var n=e.state.scale,r=e.setup,i=r.minScale,a=r.maxScale;if(n<i||n>a){e.isResizeAlignmentPending=!0;return}g(e)}var o=it(e);o?t||(e.setup.autoAlignment.animationTime===0?e.setState(o.scale,o.positionX,o.positionY):ot(e)):t&&at(e)}}function ct(e){var t=e.wrapperComponent,n=e.contentComponent;if(t&&n){var r=et(t,n);tt(e.measuredSizes,r)&&(e.measuredSizes=r,st(e))}}var lt=function(e,t){var n=e.setup.wheel,r=n.disabled,i=n.wheelDisabled,a=n.touchPadDisabled,o=n.excluded,s=e.isInitialized,c=e.isPanning,l=t.target;return!(!s||c||r||!l||t.deltaY===0||i&&!t.ctrlKey||a&&t.ctrlKey||J(l,o)||!e.isPressingKeys(e.setup.wheel.activationKeys))},ut=function(e,t){var n=e.setup,r=n.disabled,i=n.trackPadPanning,a=i.activationKeys,o=i.excluded;if(!e.wrapperComponent||!e.contentComponent||r||i.disabled||t.ctrlKey||lt(e,t))return!1;var s=t.target;return!(J(s,o)||!e.isPressingKeys(a))},dt=function(e){return e?e.deltaY<0?1:-1:0};function ft(e,t){return f(t,dt(e))}function pt(e,t,n){var r=t.getBoundingClientRect(),i=0,a=0;if(`clientX`in e)i=(e.clientX-r.left)/n,a=(e.clientY-r.top)/n;else{var o=e.touches[0];i=(o.clientX-r.left)/n,a=(o.clientY-r.top)/n}return Number.isNaN(i)||Number.isNaN(a)?(console.error(`No mouse or touch offset found`),{x:0,y:0}):{x:i,y:a}}var mt=function(e,t,n,r,i){var a=e.state.scale,o=e.wrapperComponent,s=e.setup,c=s.maxScale,l=s.minScale,u=s.zoomAnimation,d=s.disablePadding,f=u.size,p=u.disabled;if(!o)throw Error(`Wrapper is not mounted`);var m=a+t*n;return i?m:O(m,l,c,f,!r&&!p&&!d)},ht=function(e,t){var n=e.previousWheelEvent,r=e.state.scale,i=e.setup,a=i.maxScale,o=i.minScale;return n?r<a||r>o||Math.sign(n.deltaY)!==Math.sign(t.deltaY)||n.deltaY>0&&n.deltaY<t.deltaY||n.deltaY<0&&n.deltaY>t.deltaY||Math.sign(n.deltaY)!==Math.sign(t.deltaY):!1},gt=function(e,t){var n=e.setup.pinch,r=n.disabled,i=n.excluded,a=e.isInitialized,o=t.target;return!(!(a&&!r&&o)||J(o,i))},_t=function(e){var t=e.setup.pinch.disabled,n=e.isInitialized,r=e.pinchStartDistance;return!(!n||t||r===null)},vt=function(e,t,n){var r=n.getBoundingClientRect(),i=e.touches,a=i[0].clientX-r.left,o=i[0].clientY-r.top,s=i[1].clientX-r.left,c=i[1].clientY-r.top;return{x:(a+s)/2/t,y:(o+c)/2/t}},yt=function(e){return Math.sqrt((e.touches[0].pageX-e.touches[1].pageX)**2+(e.touches[0].pageY-e.touches[1].pageY)**2)},bt=5,xt=function(e,t){var n=e.pinchStartScale,r=e.pinchStartDistance,i=e.setup,a=i.maxScale,o=i.minScale,s=i.zoomAnimation,c=i.disablePadding,l=i.pinch,u=s.size,f=s.disabled,p=l.step;if(!n||r===null)throw Error(`Pinch touches distance was not provided`);if(t<0)return e.state.scale;var m=n+(t/r*n-n)*(p/bt);return O(m===1/0?0:d(m,10),o,a,u,!f&&!c)},St=160,Ct=100,wt=function(e,t){var n=e.props,r=n.onWheelStart,i=n.onZoomStart;g(e),e.wheelStopEventTimer||(p(W(e),t,r),p(W(e),t,i))},Tt=function(e,t){var n=e.props,r=n.onWheel,i=n.onZoom,a=e.contentComponent,o=e.setup,s=e.state.scale,c=o.limitToBounds,l=o.centerZoomedOut,u=o.zoomAnimation,d=o.wheel,f=o.disablePadding,m=o.smooth,h=u.size,g=u.disabled,_=d.step;if(!a)throw Error(`Component not mounted`);t.cancelable&&t.preventDefault(),t.stopPropagation();var v=mt(e,ft(t,null),m?_*Math.abs(t.deltaY):_,!t.ctrlKey);if(s!==v){var y=w(e,v),b=pt(t,a,s),x=c&&(g||h===0||l||f),S=E(e,b.x,b.y,v,y,x),C=S.x,T=S.y;e.previousWheelEvent=t,e.setState(v,C,T),p(W(e),t,r),p(W(e),t,i)}},Et=function(e,t){var n=e.props,r=n.onWheelStop,i=n.onZoomStop;X(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(me(e,t.x,t.y),e.wheelAnimationTimer=null,e.flushResizeAlignment())},Ct),ht(e,t)&&(X(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,p(W(e),t,r),p(W(e),t,i),e.flushResizeAlignment())},St))},Dt=function(e,t){var n=e.props,r=n.onWheelStart,i=n.onPanningStart;g(e),e.wheelStopEventTimer||(e.wheelAnimationTimer||w(e,e.state.scale),p(W(e),t,r),p(W(e),t,i))},Ot=function(e,t){var n=e.props,r=n.onWheelStop,i=n.onPanningStop;X(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(me(e,t.x,t.y),e.wheelAnimationTimer=null,e.flushResizeAlignment())},Ct),ht(e,t)&&(X(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,p(W(e),t,r),p(W(e),t,i),e.flushResizeAlignment())},St))},kt=function(e){for(var t=0,n=0,r=0;r<2;r+=1)t+=e.touches[r].clientX,n+=e.touches[r].clientY;return{x:t/2,y:n/2}},At=function(e,t){var n=yt(t);e.pinchStartDistance=n,e.lastDistance=n,e.pinchStartScale=e.state.scale,e.isPanning=!1,e.isPinching=!0,e.pinchPreviousCenter=kt(t),g(e)},jt=function(e,t){var n=e.contentComponent,r=e.pinchStartDistance,i=e.wrapperComponent,a=e.pinchPreviousCenter,o=e.state.scale,s=e.setup,c=s.limitToBounds,l=s.centerZoomedOut,u=s.zoomAnimation,d=s.autoAlignment,f=s.pinch,p=s.panning,m=u.disabled,h=u.size,g=f.allowPanning;if(r!==null&&n){var _=vt(t,o,n);if(Number.isFinite(_.x)&&Number.isFinite(_.y)){var v=yt(t),y=xt(e,v),b=kt(t),x=o/y,S=(b.x-(a?.x||0))*x,C=(b.y-(a?.y||0))*x;if(y!==o||S!==0||C!==0){e.pinchPreviousCenter=b;var D=w(e,y),O=c&&(m||h===0||l),k=E(e,_.x,_.y,y,D,O),A=k.x,j=k.y;if(e.pinchMidpoint=_,e.lastDistance=v,p.disabled||!g)e.setState(y,A,j);else{var ee=d.sizeX,te=d.sizeY,M=N(e,ee,y),ne=N(e,te,y),P=T(A+S,j+C,D,c,M,ne,i),re=P.x,ie=P.y;e.setState(y,re,ie)}}}}},Mt=function(e){var t=e.pinchMidpoint;e.velocity=null,e.lastDistance=null,e.pinchMidpoint=null,e.pinchStartScale=null,e.pinchStartDistance=null,e.isPinching=!1,me(e,t?.x,t?.y)},Nt=function(e,t){var n=e.props.onZoomStop,r=e.setup.doubleClick.animationTime;X(e.doubleClickStopEventTimer),e.doubleClickStopEventTimer=setTimeout(function(){e.doubleClickStopEventTimer=null,e.mounted&&p(W(e),t,n)},r)},Pt=function(e,t){var n=e.props,r=n.onZoomStart,i=n.onZoom,a=e.setup.doubleClick,o=a.animationTime,s=a.animationType;p(W(e),t,r),xe(e,o,s,function(){return p(W(e),t,i)}),Nt(e,t)};function Ft(e,t){return e===`toggle`?t===1?1:-1:e===`zoomOut`?-1:1}function It(e,t){var n=e.setup,r=e.doubleClickStopEventTimer,i=e.state,a=e.contentComponent,o=i.scale,s=e.props,c=s.onZoomStart,l=s.onZoom,u=n.doubleClick,d=u.disabled,f=u.mode,m=u.step,h=u.animationTime,g=u.animationType;if(!d&&!r){if(f===`reset`)return Pt(e,t);if(!a)return console.error(`No ContentComponent found`);var _=ve(e,Ft(f,e.state.scale),m);if(o!==_){p(W(e),t,c);var v=pt(t,a,o),b=I(e,_,v.x,v.y);if(!b)return console.error(`Error during zoom event. New transformation state was not calculated.`);p(W(e),t,l),y(e,b,h,g),Nt(e,t)}}}var Lt=function(e,t){var n=e.isInitialized,r=e.setup,i=e.wrapperComponent,a=r.doubleClick,o=a.disabled,s=a.excluded,c=t.target,l=i?.contains(c);return!(!(n&&c&&l&&!o)||J(c,s)||Y(c))},Rt=function(){function e(e){var t=this;this.mounted=!0,this.onChangeCallbacks=new Set,this.onInitCallbacks=new Set,this.onTransformCallbacks=new Set,this.wrapperComponent=null,this.contentComponent=null,this.isInitialized=!1,this.bounds=null,this.previousWheelEvent=null,this.wheelStopEventTimer=null,this.wheelAnimationTimer=null,this.isPanning=!1,this.isWheelPanning=!1,this.startCoords=null,this.panStartPosition=null,this.lastTouch=null,this.isPinching=!1,this.distance=null,this.lastDistance=null,this.pinchStartDistance=null,this.pinchStartScale=null,this.pinchMidpoint=null,this.pinchPreviousCenter=null,this.doubleClickStopEventTimer=null,this.velocity=null,this.velocityTime=null,this.lastMousePosition=null,this.isAnimating=!1,this.animation=null,this.animationFrame=null,this.animationResolve=null,this.initObserverTimer=null,this.isInitialLayoutPending=!1,this.measuredSizes=null,this.isResizeAlignmentPending=!1,this.resizeAnimation=null,this.pressedKeys={},this.selectionLock=null,this.mount=function(){t.mounted=!0,t.initializeWindowEvents()},this.unmount=function(){t.mounted=!1,t.cleanupWindowEvents()},this.update=function(e){t.props=e,t.setup=_e(e),t.wrapperComponent&&t.contentComponent&&!rt(t)&&w(t,t.state.scale)},this.clearTimers=function(){t.wheelStopEventTimer&&clearTimeout(t.wheelStopEventTimer),t.wheelAnimationTimer&&clearTimeout(t.wheelAnimationTimer),t.doubleClickStopEventTimer&&clearTimeout(t.doubleClickStopEventTimer),t.initObserverTimer&&clearTimeout(t.initObserverTimer),t.wheelStopEventTimer=null,t.wheelAnimationTimer=null,t.doubleClickStopEventTimer=null,t.initObserverTimer=null},this.initializeWindowEvents=function(){var e,n,r,i=K(),a=t.wrapperComponent?.ownerDocument,o=a?.defaultView;(e=t.wrapperComponent)==null||e.addEventListener(`wheel`,t.onWheelPanning,i),(n=t.wrapperComponent)==null||n.addEventListener(`keyup`,t.setKeyUnPressed,i),(r=t.wrapperComponent)==null||r.addEventListener(`keydown`,t.setKeyPressed,i),o?.addEventListener(`mousedown`,t.onPanningStart,i),o?.addEventListener(`mousemove`,t.onPanning,i),o?.addEventListener(`mouseup`,t.onPanningStop,i),a?.addEventListener(`mouseleave`,t.clearPanning,i),o?.addEventListener(`keyup`,t.setKeyUnPressed,i),o?.addEventListener(`keydown`,t.setKeyPressed,i),o?.addEventListener(`blur`,t.handleWindowBlur)},this.cleanupWindowEvents=function(){var e,n,r,i,a=K(),o=t.wrapperComponent?.ownerDocument,s=o?.defaultView;s?.removeEventListener(`mousedown`,t.onPanningStart,a),s?.removeEventListener(`mousemove`,t.onPanning,a),s?.removeEventListener(`mouseup`,t.onPanningStop,a),o?.removeEventListener(`mouseleave`,t.clearPanning,a),s?.removeEventListener(`keyup`,t.setKeyUnPressed,a),s?.removeEventListener(`keydown`,t.setKeyPressed,a),s?.removeEventListener(`blur`,t.handleWindowBlur),(e=t.wrapperComponent)==null||e.removeEventListener(`wheel`,t.onWheelPanning,a),(n=t.wrapperComponent)==null||n.removeEventListener(`keyup`,t.setKeyUnPressed,a),(r=t.wrapperComponent)==null||r.removeEventListener(`keydown`,t.setKeyPressed,a),t.cleanupWrapperEvents(),t.clearTimers(),g(t),t.unlockTextSelection(),(i=t.observer)==null||i.disconnect(),t.observer=void 0,t.isInitialLayoutPending=!1,t.isResizeAlignmentPending=!1,t.resizeAnimation=null},this.cleanupWrapperEvents=function(){var e=t.wrapperComponent;if(e){var n=K();e.removeEventListener(`wheel`,t.onWheelZoom,n),e.removeEventListener(`dblclick`,t.onDoubleClick,n),e.removeEventListener(`keydown`,t.onKeyboardNavigation,n),e.removeEventListener(`touchstart`,t.onTouchPanningStart,n),e.removeEventListener(`touchmove`,t.onTouchPanning,n),e.removeEventListener(`touchend`,t.onTouchPanningStop,n)}},this.handleInitializeWrapperEvents=function(e){var n=K();e.addEventListener(`wheel`,t.onWheelZoom,n),e.addEventListener(`dblclick`,t.onDoubleClick,n),e.addEventListener(`keydown`,t.onKeyboardNavigation,n),e.addEventListener(`touchstart`,t.onTouchPanningStart,n),e.addEventListener(`touchmove`,t.onTouchPanning,n),e.addEventListener(`touchend`,t.onTouchPanningStop,n)},this.handleInitialize=function(){var e=t.setup,n=e.centerOnInit,r=e.fitOnInit;if(t.applyTransformation(),t.onInitCallbacks.forEach(function(e){return e(W(t))}),n||r){var i=t.applyInitialLayout();t.isInitialLayoutPending=!0,t.initObserverTimer&&clearTimeout(t.initObserverTimer),i&&(t.initObserverTimer=setTimeout(function(){t.initObserverTimer=null,t.isInitialLayoutPending=!1},5e3))}},this.observeSizes=function(e,n){var r;(r=t.observer)==null||r.disconnect(),t.observer=void 0,t.measuredSizes=et(e,n),typeof ResizeObserver<`u`&&(t.observer=new ResizeObserver(t.onSizeChange),t.observer.observe(e),t.observer.observe(n))},this.onSizeChange=function(){var e=t,n=e.wrapperComponent,r=e.contentComponent;if(t.mounted&&n&&r){if(t.isInitialLayoutPending){if(!((r.offsetWidth>0||r.offsetHeight>0)&&n.clientWidth>0&&n.clientHeight>0))return;t.isInitialLayoutPending=!1,t.initObserverTimer&&clearTimeout(t.initObserverTimer),t.initObserverTimer=null,t.onInitCallbacks.forEach(function(e){return e(W(t))}),t.applyInitialLayout(),t.measuredSizes=et(n,r),w(t,t.state.scale)}else ct(t)}},this.flushResizeAlignment=function(){t.isResizeAlignmentPending&&(t.isResizeAlignmentPending=!1,st(t))},this.onWheelZoom=function(e){t.setup.disabled||(t.syncModifierKeys(e),lt(t,e)&&(wt(t,e),Tt(t,e),Et(t,e)))},this.onWheelPanning=function(e){var n=t.props.onPanning,r=t.setup.trackPadPanning,i=r.lockAxisX,a=r.lockAxisY;if(t.syncModifierKeys(e),ut(t,e)){e.cancelable&&e.preventDefault(),e.stopPropagation();var o=t.state,s=o.positionX,c=o.positionY,l=s-e.deltaX,u=c-e.deltaY,d=i?s:l,f=a?c:u,m=t.setup.autoAlignment,h=m.sizeX,g=m.sizeY,_=N(t,h),v=N(t,g);(d!==s||f!==c)&&(Dt(t,e),M(t,d,f,_,v),p(W(t),e,n),Ot(t,e))}},this.onPanningStart=function(e){var n=t.setup,r=n.disabled,i=n.panning,a=t.props.onPanningStart;r||i.disabled||(t.syncModifierKeys(e),k(t,e)&&t.isPressingKeys(t.setup.panning.activationKeys)&&(e.button!==0||t.setup.panning.allowLeftClickPan)&&(e.button!==1||t.setup.panning.allowMiddleClickPan)&&(e.button!==2||t.setup.panning.allowRightClickPan)&&(e.cancelable&&e.preventDefault(),e.stopPropagation(),g(t),ue(t,e),t.lockTextSelection(),t.focusForKeyboard(),p(W(t),e,a)))},this.onPanning=function(e){var n=t.setup.disabled,r=t.props.onPanning;n||(t.syncModifierKeys(e),t.isPanning&&e.buttons===0?t.clearPanning(e):A(t)&&t.isPressingKeys(t.setup.panning.activationKeys)&&(e.cancelable&&e.preventDefault(),e.stopPropagation(),fe(t,e.clientX,e.clientY,P.MOUSE),p(W(t),e,r)))},this.onPanningStop=function(e){var n=t.setup.panning.velocityDisabled,r=t.props.onPanningStop;t.isPanning&&(t.unlockTextSelection(),pe(t,n),p(W(t),e,r),t.flushResizeAlignment())},this.onPinchStart=function(e){var n=t.setup.disabled,r=t.props.onPinchStart;n||gt(t,e)&&(At(t,e),g(t),p(W(t),e,r))},this.onPinch=function(e){var n=t.setup.disabled,r=t.props.onPinch;n||_t(t)&&(e.cancelable&&e.preventDefault(),e.stopPropagation(),jt(t,e),p(W(t),e,r))},this.onPinchStop=function(e){var n=t.props.onPinchStop;t.pinchStartScale&&(Mt(t),p(W(t),e,n),t.flushResizeAlignment())},this.onTouchPanningStart=function(e){var n=t.setup,r=n.disabled,i=n.doubleClick,a=t.props.onPanningStart;if(!r){var o=!i?.disabled,s=t.lastTouch&&+new Date-t.lastTouch<200;if(o&&s&&e.touches.length===1)t.lastTouch=null,t.onDoubleClick(e);else{t.lastTouch=+new Date,g(t);var c=e.touches,l=c.length===1,u=c.length===2,d=k(t,e);if(l){if(!d||t.setup.panning.disabled)return;g(t),ue(t,e),t.lockTextSelection(),t.focusForKeyboard(),p(W(t),e,a)}u&&t.onPinchStart(e)}}},this.onTouchPanning=function(e){var n=t.setup.disabled,r=t.props.onPanning;if(t.isPanning&&e.touches.length===1){if(n||!A(t))return;e.cancelable&&e.preventDefault(),e.stopPropagation();var i=e.touches[0];fe(t,i.clientX,i.clientY,P.TOUCH),p(W(t),e,r)}else e.touches.length>1&&t.onPinch(e)},this.onTouchPanningStop=function(e){t.onPanningStop(e),t.onPinchStop(e)},this.onDoubleClick=function(e){t.setup.disabled||Lt(t,e)&&It(t,e)},this.clearPanning=function(e){t.isPanning&&t.onPanningStop(e)},this.handleWindowBlur=function(){t.pressedKeys={},t.isPanning&&(t.isPanning=!1,t.startCoords=null),t.unlockTextSelection(),t.flushResizeAlignment()},this.syncModifierKeys=function(e){var n=e.ctrlKey,r=e.metaKey,i=e.shiftKey,a=e.altKey;typeof n==`boolean`&&(t.pressedKeys.Control=n),typeof r==`boolean`&&(t.pressedKeys.Meta=r),typeof i==`boolean`&&(t.pressedKeys.Shift=i),typeof a==`boolean`&&(t.pressedKeys.Alt=a)},this.setKeyPressed=function(e){t.pressedKeys[e.key]=!0},this.setKeyUnPressed=function(e){t.pressedKeys[e.key]=!1},this.isPressingKeys=function(e){return typeof e==`function`?e(Object.entries(t.pressedKeys).filter(function(e){return e[1]}).map(function(e){return e[0]})):!e.length||!!e.every(function(e){return t.pressedKeys[e]})},this.onKeyboardNavigation=function(e){$e(t,e)},this.focusForKeyboard=function(){var e=t.wrapperComponent;if(e&&!t.setup.keyboard.disabled){var n=e.ownerDocument?.activeElement;n&&e.contains(n)||typeof e.focus==`function`&&e.focus({preventScroll:!0})}},this.lockTextSelection=function(){var e=t.wrapperComponent;e&&!t.selectionLock&&(t.selectionLock={userSelect:e.style.userSelect,webkitUserSelect:e.style.webkitUserSelect},e.style.userSelect=`none`,e.style.webkitUserSelect=`none`)},this.unlockTextSelection=function(){var e=t.selectionLock;t.selectionLock=null;var n=t.wrapperComponent;n&&e&&(n.style.userSelect=e.userSelect,n.style.webkitUserSelect=e.webkitUserSelect)},this.applyInitialLayout=function(){var e=t.setup.fitOnInit,n=t,r=n.wrapperComponent,i=n.contentComponent,a=!!r&&!!i&&r.clientWidth>0&&r.clientHeight>0&&(i.offsetWidth>0||i.offsetHeight>0);if(e){var o=H(t,e===`cover`?`cover`:`contain`);if(o)return t.setState(o.scale,o.positionX,o.positionY),a}return t.setCenter(),a},this.setCenter=function(){if(t.wrapperComponent&&t.contentComponent){var e=Z(t.state.scale,t.wrapperComponent,t.contentComponent);t.setState(e.scale,e.positionX,e.positionY)}},this.handleTransformStyles=function(e,n,r){return t.props.customTransform?t.props.customTransform(e,n,r):qe(e,n,r)},this.getContext=function(){return W(t)},this.applyTransformation=function(){if(t.mounted&&t.contentComponent){var e=t.state,n=e.scale,r=e.positionX,i=e.positionY,a=t.handleTransformStyles(r,i,n);t.props.detached||(t.contentComponent.style.transform=a),t.onTransformCallbacks.forEach(function(e){return e({scale:n,positionX:r,positionY:i,previousScale:t.state.previousScale,ref:W(t)})})}},this.setState=function(e,n,r){var i=t.props.onTransform;if(!Number.isNaN(e)&&!Number.isNaN(n)&&!Number.isNaN(r)){var a=Math.max(e,1e-7);a!==t.state.scale&&(t.state.previousScale=t.state.scale,t.state.scale=a),t.state.positionX=n,t.state.positionY=r,t.applyTransformation();var o=W(t);t.onChangeCallbacks.forEach(function(e){return e(o)}),p(o,{scale:t.state.scale,positionX:n,positionY:r},i)}else console.error(`Detected NaN set state values`)},this.onTransform=function(e){return t.onTransformCallbacks.has(e)||t.onTransformCallbacks.add(e),function(){t.onTransformCallbacks.delete(e)}},this.onChange=function(e){return t.onChangeCallbacks.has(e)||t.onChangeCallbacks.add(e),function(){t.onChangeCallbacks.delete(e)}},this.onInit=function(e){return t.onInitCallbacks.has(e)||t.onInitCallbacks.add(e),function(){t.onInitCallbacks.delete(e)}},this.init=function(e,n){t.mounted=!0,t.cleanupWindowEvents(),t.wrapperComponent=e,t.contentComponent=n,w(t,t.state.scale),t.handleInitializeWrapperEvents(e),t.handleInitialize(),t.observeSizes(e,n),t.initializeWindowEvents(),t.isInitialized=!0;var r=W(t);p(r,void 0,t.props.onInit),Je(t.props.ref,r)},this.props=e,this.setup=_e(this.props),this.state=ge(this.props)}return e}(),Q=l.createContext(null),zt=function(e,t){return typeof e==`function`?e(t):e},Bt=l.forwardRef(function(e,t){var n=(0,l.useRef)(null);n.current===null&&(n.current=new Rt(e));var r=n.current,i=zt(e.children,U(r));return(0,l.useImperativeHandle)(t,function(){return U(r)},[r]),(0,l.useEffect)(function(){return r.mount(),function(){r.unmount()}},[r]),(0,l.useEffect)(function(){r.update(e)},[r,e]),(0,u.jsx)(Q.Provider,L({value:r},{children:i}))});l.forwardRef(function(e,t){var n=(0,l.useRef)(null),r=(0,l.useContext)(Q);return Xe(function(){var e=function(e){if(n.current){var t=0,i=0;n.current.style.transform=r.handleTransformStyles(t,i,1/e)}};return e(r.state.scale),r.onChange(function(t){e(t.instance.state.scale)})},[r]),(0,u.jsx)(`div`,L({},e,{ref:Ye([n,t])}))});function Vt(e,t){t===void 0&&(t={});var n=t.insertAt;if(e&&typeof document<`u`){var r=document.head||document.getElementsByTagName(`head`)[0],i=document.createElement(`style`);i.type=`text/css`,n===`top`&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var Ht=`.transform-component-module_wrapper__SPB86 {
|
|
2
|
+
position: relative;
|
|
3
|
+
width: -moz-fit-content;
|
|
4
|
+
width: fit-content;
|
|
5
|
+
height: -moz-fit-content;
|
|
6
|
+
height: fit-content;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
-webkit-touch-callout: none; /* iOS Safari */
|
|
9
|
+
/* Text stays selectable (#467); the instance applies an inline lock
|
|
10
|
+
only while a pan gesture is active. */
|
|
11
|
+
margin: 0;
|
|
12
|
+
padding: 0;
|
|
13
|
+
transform: translate3d(0, 0, 0);
|
|
14
|
+
}
|
|
15
|
+
.transform-component-module_content__FBWxo {
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-wrap: wrap;
|
|
18
|
+
width: -moz-fit-content;
|
|
19
|
+
width: fit-content;
|
|
20
|
+
height: -moz-fit-content;
|
|
21
|
+
height: fit-content;
|
|
22
|
+
margin: 0;
|
|
23
|
+
padding: 0;
|
|
24
|
+
transform-origin: 0% 0%;
|
|
25
|
+
}
|
|
26
|
+
.transform-component-module_content__FBWxo img {
|
|
27
|
+
pointer-events: none;
|
|
28
|
+
}
|
|
29
|
+
.transform-component-module_infiniteGrid__Z-aP3 {
|
|
30
|
+
position: absolute;
|
|
31
|
+
inset: 0;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
background-image: radial-gradient(
|
|
34
|
+
circle,
|
|
35
|
+
rgba(0, 0, 0, 0.12) 1px,
|
|
36
|
+
transparent 1px
|
|
37
|
+
);
|
|
38
|
+
background-size: 20px 20px;
|
|
39
|
+
background-position: 0 0;
|
|
40
|
+
}
|
|
41
|
+
`,$={wrapper:`transform-component-module_wrapper__SPB86`,content:`transform-component-module_content__FBWxo`,infiniteGrid:`transform-component-module_infiniteGrid__Z-aP3`};Vt(Ht);var Ut=function(e){var t=e.children,n=e.wrapperClass,r=n===void 0?``:n,i=e.contentClass,a=i===void 0?``:i,o=e.wrapperStyle,s=e.contentStyle,c=e.wrapperProps,d=c===void 0?{}:c,f=e.contentProps,p=f===void 0?{}:f,m=e.infinite,h=m!==void 0&&m,g=(0,l.useContext)(Q),_=g.init,v=g.cleanupWindowEvents,y=(0,l.useRef)(null),b=(0,l.useRef)(null),x=(0,l.useRef)(null);Xe(function(){var e=y.current,t=b.current;return e!==null&&t!==null&&_&&_?.(e,t),function(){v?.()}},[]),(0,l.useEffect)(function(){if(h){var e=x.current;if(e){var t=function(){var t=g.state,n=t.positionX,r=t.positionY;e.style.backgroundPosition=`${n}px ${r}px`};return t(),g.onChange(t)}}},[h,g]);var S=!g.setup.keyboard?.disabled;return(0,u.jsxs)(`div`,L({tabIndex:S?0:void 0},d,{ref:y,className:`${B.wrapperClass} ${$.wrapper} ${r}`,style:o},{children:[h&&(0,u.jsx)(`div`,{ref:x,className:$.infiniteGrid,"aria-hidden":!0}),(0,u.jsx)(`div`,L({},p,{ref:b,className:`${B.contentClass} ${$.content} ${a}`,style:L(L({transformOrigin:`0 0`},s),{transform:qe(g.state.positionX,g.state.positionY,g.state.scale)})},{children:t}))]}))};function Wt(e,t){return Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))}function Gt(e){var t=e.elementX,n=e.elementY,r=e.elementWidth,i=e.elementHeight,a=e.scale,o=e.positionX,s=e.positionY,c=e.viewportWidth,l=e.viewportHeight,u=e.margin,d=u===void 0?0:u,f=e.threshold,p=f===void 0?0:f,m={x:-d,y:-d,width:c+2*d,height:l+2*d},h={x:t*a+o,y:n*a+s,width:r*a,height:i*a};if(p<=0){var g=h.x<m.x+m.width&&h.x+h.width>m.x,_=h.y<m.y+m.height&&h.y+h.height>m.y;return g&&_}var v=h.width*h.height;return v<=0?!1:Wt(m,h)/v>=p}l.forwardRef(function(e,t){var n=e.x,r=e.y,i=e.width,a=e.height,o=e.margin,s=o===void 0?0:o,c=e.threshold,d=c===void 0?0:c,f=e.placeholder,p=f===void 0?null:f,m=e.onShow,h=e.onHide,g=e.children,_=e.className,v=e.style,y=(0,l.useContext)(Q),b=function(){var e=y.wrapperComponent;return e?Gt({elementX:n,elementY:r,elementWidth:i,elementHeight:a,scale:y.state.scale,positionX:y.state.positionX,positionY:y.state.positionY,viewportWidth:e.clientWidth,viewportHeight:e.clientHeight,margin:s,threshold:d}):!1},x=(0,l.useState)(b),S=x[0],C=x[1],w=(0,l.useRef)(!1),T=(0,l.useRef)(m),E=(0,l.useRef)(h);return T.current=m,E.current=h,Xe(function(){var e=function(){var e,t;if(y.wrapperComponent){var n=b();n!==w.current&&(w.current=n,C(n),n?(e=T.current)==null||e.call(T):(t=E.current)==null||t.call(E))}};e();var t=y.onChange(e),n;return y.wrapperComponent||(n=y.onInit(function(){return e()})),function(){t(),n?.()}},[y,n,r,i,a,s,d]),S?(0,u.jsx)(`div`,L({ref:t,className:_,style:v},{children:g})):p?(0,u.jsx)(u.Fragment,{children:p}):null});function Kt(e){return(0,u.jsx)(Bt,{minScale:1,maxScale:12,wheel:{wheelDisabled:!0},trackPadPanning:{disabled:!1},doubleClick:{mode:`toggle`,step:1.5},keyboard:{disabled:!1},children:t=>(0,u.jsxs)(`div`,{className:`relative size-full`,children:[(0,u.jsx)(Ut,{wrapperClass:`size-full! outline-none`,contentClass:`size-full! items-center justify-center p-4 sm:p-12`,children:(0,u.jsx)(`img`,{src:e.src,alt:e.alt,draggable:!1,className:`max-h-full max-w-full object-contain select-none`})}),(0,u.jsxs)(`div`,{className:`absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center gap-0.5 rounded-full bg-black/60 p-1 text-white backdrop-blur-sm`,children:[(0,u.jsx)(s,{label:`Zoom out`,children:(0,u.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Zoom out`,className:`rounded-full text-white hover:bg-white/15`,onClick:()=>void t.zoomOut(),children:(0,u.jsx)(i,{icon:o,className:`size-4 text-current`})})}),(0,u.jsx)(s,{label:`Zoom in`,children:(0,u.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Zoom in`,className:`rounded-full text-white hover:bg-white/15`,onClick:()=>void t.zoomIn(),children:(0,u.jsx)(i,{icon:a,className:`size-4 text-current`})})}),(0,u.jsx)(s,{label:`Fit to screen`,children:(0,u.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Fit to screen`,className:`rounded-full text-white hover:bg-white/15`,onClick:()=>void t.resetTransform(),children:(0,u.jsx)(i,{icon:c,className:`size-4 text-current`})})})]})]})})}export{Kt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{t as ZoomableImage}from"./zoomable-image-CZlWBm_z.js";
|
package/apps/web/dist/index.html
CHANGED
|
@@ -10,14 +10,17 @@
|
|
|
10
10
|
name="viewport"
|
|
11
11
|
content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"
|
|
12
12
|
/>
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-yfoAg16U.js"></script>
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dd_uD5pT.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DKj5X9O4.js">
|
|
15
16
|
<link rel="modulepreload" crossorigin href="/assets/utils-PtDt7m8t.js">
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/button-
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
18
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
19
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
20
|
-
<link rel="
|
|
17
|
+
<link rel="modulepreload" crossorigin href="/assets/button-BF3wjXXJ.js">
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/tags-DrTyXsO5.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/tooltip-CiWlkHa6.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="/assets/preview-dialog-jk_R2034.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="/assets/preload-helper-BLdHbfdN.js">
|
|
22
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-CkDQKgh1.js">
|
|
23
|
+
<link rel="stylesheet" crossorigin href="/assets/index-NMfUawX9.css">
|
|
21
24
|
<link rel="manifest" href="/manifest.webmanifest"></head>
|
|
22
25
|
<body>
|
|
23
26
|
<div id="root"></div>
|