diff --git a/examples/.gitignore b/examples/.gitignore index 7b1056d..10ae580 100644 --- a/examples/.gitignore +++ b/examples/.gitignore @@ -1,4 +1,4 @@ .ipynb_checkpoints __marimo__ out/* - +__pycache__ diff --git a/js-applet/src/graph-widget.tsx b/js-applet/src/graph-widget.tsx index ac61dba..f9320ca 100644 --- a/js-applet/src/graph-widget.tsx +++ b/js-applet/src/graph-widget.tsx @@ -112,7 +112,7 @@ function GraphWidget() { const [height] = useModelState("height"); const [width] = useModelState("width"); const [theme] = useModelState("theme"); - const [gesture, setGesture] = useState("box"); + const [gesture, setGesture] = useState("single"); const { layout, nvlOptions, zoom, pan, layoutOptions, showLayoutButton } = options ?? {}; const setLayout = (layout: Layout) => { diff --git a/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/index.html b/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/index.html index 980eef4..d661cc2 100644 --- a/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/index.html +++ b/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/index.html @@ -1551,7 +1551,7 @@ * @preserve */var fdr=hw.exports,Bj;function vdr(){return Bj||(Bj=1,(function(o,r){(function(e,t){o.exports=t()})(fdr,(function(){for(var e=function(Q,ir,pr){return ir===void 0&&(ir=0),pr===void 0&&(pr=1),Qpr?pr:Q},t=e,n=function(Q){Q._clipped=!1,Q._unclipped=Q.slice(0);for(var ir=0;ir<=3;ir++)ir<3?((Q[ir]<0||Q[ir]>255)&&(Q._clipped=!0),Q[ir]=t(Q[ir],0,255)):ir===3&&(Q[ir]=t(Q[ir],0,1));return Q},a={},i=0,c=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];i=3?Array.prototype.slice.call(Q):s(Q[0])=="object"&&ir?ir.split("").filter(function(pr){return Q[0][pr]!==void 0}).map(function(pr){return Q[0][pr]}):Q[0]},g=d,b=function(Q){if(Q.length<2)return null;var ir=Q.length-1;return g(Q[ir])=="string"?Q[ir].toLowerCase():null},f=Math.PI,v={clip_rgb:n,limit:e,type:d,unpack:u,last:b,TWOPI:f*2,PITHIRD:f/3,DEG2RAD:f/180,RAD2DEG:180/f},p={format:{},autodetect:[]},m=v.last,y=v.clip_rgb,k=v.type,x=p,S=function(){for(var ir=[],pr=arguments.length;pr--;)ir[pr]=arguments[pr];var Rr=this;if(k(ir[0])==="object"&&ir[0].constructor&&ir[0].constructor===this.constructor)return ir[0];var Fr=m(ir),Gr=!1;if(!Fr){Gr=!0,x.sorted||(x.autodetect=x.autodetect.sort(function(ge,qe){return qe.p-ge.p}),x.sorted=!0);for(var zr=0,Qr=x.autodetect;zr4?Q[4]:1;return Gr===1?[0,0,0,zr]:[pr>=1?0:255*(1-pr)*(1-Gr),Rr>=1?0:255*(1-Rr)*(1-Gr),Fr>=1?0:255*(1-Fr)*(1-Gr),zr]},F=z,W=O,q=_,V=p,K=v.unpack,$=v.type,X=L;q.prototype.cmyk=function(){return X(this._rgb)},W.cmyk=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(q,[null].concat(Q,["cmyk"])))},V.format.cmyk=F,V.autodetect.push({p:2,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=K(Q,"cmyk"),$(Q)==="array"&&Q.length===4)return"cmyk"}});var Z=v.unpack,lr=v.last,tr=function(Q){return Math.round(Q*100)/100},or=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=Z(Q,"hsla"),Rr=lr(Q)||"lsa";return pr[0]=tr(pr[0]||0),pr[1]=tr(pr[1]*100)+"%",pr[2]=tr(pr[2]*100)+"%",Rr==="hsla"||pr.length>3&&pr[3]<1?(pr[3]=pr.length>3?pr[3]:1,Rr="hsla"):pr.length=3,Rr+"("+pr.join(",")+")"},dr=or,sr=v.unpack,fr=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];Q=sr(Q,"rgba");var pr=Q[0],Rr=Q[1],Fr=Q[2];pr/=255,Rr/=255,Fr/=255;var Gr=Math.min(pr,Rr,Fr),zr=Math.max(pr,Rr,Fr),Qr=(zr+Gr)/2,$r,ve;return zr===Gr?($r=0,ve=Number.NaN):$r=Qr<.5?(zr-Gr)/(zr+Gr):(zr-Gr)/(2-zr-Gr),pr==zr?ve=(Rr-Fr)/(zr-Gr):Rr==zr?ve=2+(Fr-pr)/(zr-Gr):Fr==zr&&(ve=4+(pr-Rr)/(zr-Gr)),ve*=60,ve<0&&(ve+=360),Q.length>3&&Q[3]!==void 0?[ve,$r,Qr,Q[3]]:[ve,$r,Qr]},ur=fr,cr=v.unpack,gr=v.last,vr=dr,Or=ur,Ir=Math.round,Mr=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=cr(Q,"rgba"),Rr=gr(Q)||"rgb";return Rr.substr(0,3)=="hsl"?vr(Or(pr),Rr):(pr[0]=Ir(pr[0]),pr[1]=Ir(pr[1]),pr[2]=Ir(pr[2]),(Rr==="rgba"||pr.length>3&&pr[3]<1)&&(pr[3]=pr.length>3?pr[3]:1,Rr="rgba"),Rr+"("+pr.slice(0,Rr==="rgb"?3:4).join(",")+")")},Nr=Mr,Ar=v.unpack,Y=Math.round,J=function(){for(var Q,ir=[],pr=arguments.length;pr--;)ir[pr]=arguments[pr];ir=Ar(ir,"hsl");var Rr=ir[0],Fr=ir[1],Gr=ir[2],zr,Qr,$r;if(Fr===0)zr=Qr=$r=Gr*255;else{var ve=[0,0,0],ge=[0,0,0],qe=Gr<.5?Gr*(1+Fr):Gr+Fr-Gr*Fr,Ae=2*Gr-qe,$e=Rr/360;ve[0]=$e+1/3,ve[1]=$e,ve[2]=$e-1/3;for(var Ze=0;Ze<3;Ze++)ve[Ze]<0&&(ve[Ze]+=1),ve[Ze]>1&&(ve[Ze]-=1),6*ve[Ze]<1?ge[Ze]=Ae+(qe-Ae)*6*ve[Ze]:2*ve[Ze]<1?ge[Ze]=qe:3*ve[Ze]<2?ge[Ze]=Ae+(qe-Ae)*(2/3-ve[Ze])*6:ge[Ze]=Ae;Q=[Y(ge[0]*255),Y(ge[1]*255),Y(ge[2]*255)],zr=Q[0],Qr=Q[1],$r=Q[2]}return ir.length>3?[zr,Qr,$r,ir[3]]:[zr,Qr,$r,1]},nr=J,wr=nr,Er=p,Pr=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,Dr=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Yr=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,ie=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ke=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,we=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Pe=Math.round,Me=function(Q){Q=Q.toLowerCase().trim();var ir;if(Er.format.named)try{return Er.format.named(Q)}catch{}if(ir=Q.match(Pr)){for(var pr=ir.slice(1,4),Rr=0;Rr<3;Rr++)pr[Rr]=+pr[Rr];return pr[3]=1,pr}if(ir=Q.match(Dr)){for(var Fr=ir.slice(1,5),Gr=0;Gr<4;Gr++)Fr[Gr]=+Fr[Gr];return Fr}if(ir=Q.match(Yr)){for(var zr=ir.slice(1,4),Qr=0;Qr<3;Qr++)zr[Qr]=Pe(zr[Qr]*2.55);return zr[3]=1,zr}if(ir=Q.match(ie)){for(var $r=ir.slice(1,5),ve=0;ve<3;ve++)$r[ve]=Pe($r[ve]*2.55);return $r[3]=+$r[3],$r}if(ir=Q.match(ke)){var ge=ir.slice(1,4);ge[1]*=.01,ge[2]*=.01;var qe=wr(ge);return qe[3]=1,qe}if(ir=Q.match(we)){var Ae=ir.slice(1,4);Ae[1]*=.01,Ae[2]*=.01;var $e=wr(Ae);return $e[3]=+ir[4],$e}};Me.test=function(Q){return Pr.test(Q)||Dr.test(Q)||Yr.test(Q)||ie.test(Q)||ke.test(Q)||we.test(Q)};var he=Me,ee=O,yr=_,Ur=p,Jr=v.type,Zr=Nr,te=he;yr.prototype.css=function(Q){return Zr(this._rgb,Q)},ee.css=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(yr,[null].concat(Q,["css"])))},Ur.format.css=te,Ur.autodetect.push({p:5,test:function(Q){for(var ir=[],pr=arguments.length-1;pr-- >0;)ir[pr]=arguments[pr+1];if(!ir.length&&Jr(Q)==="string"&&te.test(Q))return"css"}});var De=_,se=O,Le=p,Ce=v.unpack;Le.format.gl=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=Ce(Q,"rgba");return pr[0]*=255,pr[1]*=255,pr[2]*=255,pr},se.gl=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(De,[null].concat(Q,["gl"])))},De.prototype.gl=function(){var Q=this._rgb;return[Q[0]/255,Q[1]/255,Q[2]/255,Q[3]]};var je=v.unpack,Ye=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=je(Q,"rgb"),Rr=pr[0],Fr=pr[1],Gr=pr[2],zr=Math.min(Rr,Fr,Gr),Qr=Math.max(Rr,Fr,Gr),$r=Qr-zr,ve=$r*100/255,ge=zr/(255-$r)*100,qe;return $r===0?qe=Number.NaN:(Rr===Qr&&(qe=(Fr-Gr)/$r),Fr===Qr&&(qe=2+(Gr-Rr)/$r),Gr===Qr&&(qe=4+(Rr-Fr)/$r),qe*=60,qe<0&&(qe+=360)),[qe,ve,ge]},co=Ye,Ue=v.unpack,Ro=Math.floor,Xe=function(){for(var Q,ir,pr,Rr,Fr,Gr,zr=[],Qr=arguments.length;Qr--;)zr[Qr]=arguments[Qr];zr=Ue(zr,"hcg");var $r=zr[0],ve=zr[1],ge=zr[2],qe,Ae,$e;ge=ge*255;var Ze=ve*255;if(ve===0)qe=Ae=$e=ge;else{$r===360&&($r=0),$r>360&&($r-=360),$r<0&&($r+=360),$r/=60;var et=Ro($r),Oo=$r-et,Qo=ge*(1-ve),ht=Qo+Ze*(1-Oo),da=Qo+Ze*Oo,Bn=Qo+Ze;switch(et){case 0:Q=[Bn,da,Qo],qe=Q[0],Ae=Q[1],$e=Q[2];break;case 1:ir=[ht,Bn,Qo],qe=ir[0],Ae=ir[1],$e=ir[2];break;case 2:pr=[Qo,Bn,da],qe=pr[0],Ae=pr[1],$e=pr[2];break;case 3:Rr=[Qo,ht,Bn],qe=Rr[0],Ae=Rr[1],$e=Rr[2];break;case 4:Fr=[da,Qo,Bn],qe=Fr[0],Ae=Fr[1],$e=Fr[2];break;case 5:Gr=[Bn,Qo,ht],qe=Gr[0],Ae=Gr[1],$e=Gr[2];break}}return[qe,Ae,$e,zr.length>3?zr[3]:1]},Vo=Xe,Bo=v.unpack,mo=v.type,lo=O,ct=_,Uo=p,lt=co;ct.prototype.hcg=function(){return lt(this._rgb)},lo.hcg=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(ct,[null].concat(Q,["hcg"])))},Uo.format.hcg=Vo,Uo.autodetect.push({p:1,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=Bo(Q,"hcg"),mo(Q)==="array"&&Q.length===3)return"hcg"}});var mt=v.unpack,wt=v.last,yt=Math.round,xt=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=mt(Q,"rgba"),Rr=pr[0],Fr=pr[1],Gr=pr[2],zr=pr[3],Qr=wt(Q)||"auto";zr===void 0&&(zr=1),Qr==="auto"&&(Qr=zr<1?"rgba":"rgb"),Rr=yt(Rr),Fr=yt(Fr),Gr=yt(Gr);var $r=Rr<<16|Fr<<8|Gr,ve="000000"+$r.toString(16);ve=ve.substr(ve.length-6);var ge="0"+yt(zr*255).toString(16);switch(ge=ge.substr(ge.length-2),Qr.toLowerCase()){case"rgba":return"#"+ve+ge;case"argb":return"#"+ge+ve;default:return"#"+ve}},it=xt,Lt=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,gn=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,vt=function(Q){if(Q.match(Lt)){(Q.length===4||Q.length===7)&&(Q=Q.substr(1)),Q.length===3&&(Q=Q.split(""),Q=Q[0]+Q[0]+Q[1]+Q[1]+Q[2]+Q[2]);var ir=parseInt(Q,16),pr=ir>>16,Rr=ir>>8&255,Fr=ir&255;return[pr,Rr,Fr,1]}if(Q.match(gn)){(Q.length===5||Q.length===9)&&(Q=Q.substr(1)),Q.length===4&&(Q=Q.split(""),Q=Q[0]+Q[0]+Q[1]+Q[1]+Q[2]+Q[2]+Q[3]+Q[3]);var Gr=parseInt(Q,16),zr=Gr>>24&255,Qr=Gr>>16&255,$r=Gr>>8&255,ve=Math.round((Gr&255)/255*100)/100;return[zr,Qr,$r,ve]}throw new Error("unknown hex color: "+Q)},pt=vt,$t=O,wn=_,No=v.type,va=p,bn=it;wn.prototype.hex=function(Q){return bn(this._rgb,Q)},$t.hex=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(wn,[null].concat(Q,["hex"])))},va.format.hex=pt,va.autodetect.push({p:4,test:function(Q){for(var ir=[],pr=arguments.length-1;pr-- >0;)ir[pr]=arguments[pr+1];if(!ir.length&&No(Q)==="string"&&[3,4,5,6,7,8,9].indexOf(Q.length)>=0)return"hex"}});var ze=v.unpack,ho=v.TWOPI,rn=Math.min,Vt=Math.sqrt,gc=Math.acos,ja=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=ze(Q,"rgb"),Rr=pr[0],Fr=pr[1],Gr=pr[2];Rr/=255,Fr/=255,Gr/=255;var zr,Qr=rn(Rr,Fr,Gr),$r=(Rr+Fr+Gr)/3,ve=$r>0?1-Qr/$r:0;return ve===0?zr=NaN:(zr=(Rr-Fr+(Rr-Gr))/2,zr/=Vt((Rr-Fr)*(Rr-Fr)+(Rr-Gr)*(Fr-Gr)),zr=gc(zr),Gr>Fr&&(zr=ho-zr),zr/=ho),[zr*360,ve,$r]},Dn=ja,Yo=v.unpack,Lo=v.limit,na=v.TWOPI,Uc=v.PITHIRD,hl=Math.cos,pa=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];Q=Yo(Q,"hsi");var pr=Q[0],Rr=Q[1],Fr=Q[2],Gr,zr,Qr;return isNaN(pr)&&(pr=0),isNaN(Rr)&&(Rr=0),pr>360&&(pr-=360),pr<0&&(pr+=360),pr/=360,pr<1/3?(Qr=(1-Rr)/3,Gr=(1+Rr*hl(na*pr)/hl(Uc-na*pr))/3,zr=1-(Qr+Gr)):pr<2/3?(pr-=1/3,Gr=(1-Rr)/3,zr=(1+Rr*hl(na*pr)/hl(Uc-na*pr))/3,Qr=1-(Gr+zr)):(pr-=2/3,zr=(1-Rr)/3,Qr=(1+Rr*hl(na*pr)/hl(Uc-na*pr))/3,Gr=1-(zr+Qr)),Gr=Lo(Fr*Gr*3),zr=Lo(Fr*zr*3),Qr=Lo(Fr*Qr*3),[Gr*255,zr*255,Qr*255,Q.length>3?Q[3]:1]},Fc=pa,jt=v.unpack,Nn=v.type,Ln=O,Rs=_,fl=p,aa=Dn;Rs.prototype.hsi=function(){return aa(this._rgb)},Ln.hsi=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Rs,[null].concat(Q,["hsi"])))},fl.format.hsi=Fc,fl.autodetect.push({p:2,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=jt(Q,"hsi"),Nn(Q)==="array"&&Q.length===3)return"hsi"}});var Vd=v.unpack,Rg=v.type,Qa=O,Wd=_,Yd=p,tu=ur;Wd.prototype.hsl=function(){return tu(this._rgb)},Qa.hsl=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Wd,[null].concat(Q,["hsl"])))},Yd.format.hsl=nr,Yd.autodetect.push({p:2,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=Vd(Q,"hsl"),Rg(Q)==="array"&&Q.length===3)return"hsl"}});var Yn=v.unpack,nu=Math.min,za=Math.max,Gi=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];Q=Yn(Q,"rgb");var pr=Q[0],Rr=Q[1],Fr=Q[2],Gr=nu(pr,Rr,Fr),zr=za(pr,Rr,Fr),Qr=zr-Gr,$r,ve,ge;return ge=zr/255,zr===0?($r=Number.NaN,ve=0):(ve=Qr/zr,pr===zr&&($r=(Rr-Fr)/Qr),Rr===zr&&($r=2+(Fr-pr)/Qr),Fr===zr&&($r=4+(pr-Rr)/Qr),$r*=60,$r<0&&($r+=360)),[$r,ve,ge]},qu=Gi,bc=v.unpack,Ps=Math.floor,Xd=function(){for(var Q,ir,pr,Rr,Fr,Gr,zr=[],Qr=arguments.length;Qr--;)zr[Qr]=arguments[Qr];zr=bc(zr,"hsv");var $r=zr[0],ve=zr[1],ge=zr[2],qe,Ae,$e;if(ge*=255,ve===0)qe=Ae=$e=ge;else{$r===360&&($r=0),$r>360&&($r-=360),$r<0&&($r+=360),$r/=60;var Ze=Ps($r),et=$r-Ze,Oo=ge*(1-ve),Qo=ge*(1-ve*et),ht=ge*(1-ve*(1-et));switch(Ze){case 0:Q=[ge,ht,Oo],qe=Q[0],Ae=Q[1],$e=Q[2];break;case 1:ir=[Qo,ge,Oo],qe=ir[0],Ae=ir[1],$e=ir[2];break;case 2:pr=[Oo,ge,ht],qe=pr[0],Ae=pr[1],$e=pr[2];break;case 3:Rr=[Oo,Qo,ge],qe=Rr[0],Ae=Rr[1],$e=Rr[2];break;case 4:Fr=[ht,Oo,ge],qe=Fr[0],Ae=Fr[1],$e=Fr[2];break;case 5:Gr=[ge,Oo,Qo],qe=Gr[0],Ae=Gr[1],$e=Gr[2];break}}return[qe,Ae,$e,zr.length>3?zr[3]:1]},en=Xd,qc=v.unpack,$l=v.type,Gc=O,Kd=_,au=p,vl=qu;Kd.prototype.hsv=function(){return vl(this._rgb)},Gc.hsv=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Kd,[null].concat(Q,["hsv"])))},au.format.hsv=en,au.autodetect.push({p:2,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=qc(Q,"hsv"),$l(Q)==="array"&&Q.length===3)return"hsv"}});var yi={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},wi=yi,Gu=v.unpack,iu=Math.pow,pl=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=Gu(Q,"rgb"),Rr=pr[0],Fr=pr[1],Gr=pr[2],zr=Qd(Rr,Fr,Gr),Qr=zr[0],$r=zr[1],ve=zr[2],ge=116*$r-16;return[ge<0?0:ge,500*(Qr-$r),200*($r-ve)]},di=function(Q){return(Q/=255)<=.04045?Q/12.92:iu((Q+.055)/1.055,2.4)},rd=function(Q){return Q>wi.t3?iu(Q,1/3):Q/wi.t2+wi.t0},Qd=function(Q,ir,pr){Q=di(Q),ir=di(ir),pr=di(pr);var Rr=rd((.4124564*Q+.3575761*ir+.1804375*pr)/wi.Xn),Fr=rd((.2126729*Q+.7151522*ir+.072175*pr)/wi.Yn),Gr=rd((.0193339*Q+.119192*ir+.9503041*pr)/wi.Zn);return[Rr,Fr,Gr]},Hi=pl,hc=yi,zt=v.unpack,Jo=Math.pow,Zd=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];Q=zt(Q,"lab");var pr=Q[0],Rr=Q[1],Fr=Q[2],Gr,zr,Qr,$r,ve,ge;return zr=(pr+16)/116,Gr=isNaN(Rr)?zr:zr+Rr/500,Qr=isNaN(Fr)?zr:zr-Fr/200,zr=hc.Yn*Ms(zr),Gr=hc.Xn*Ms(Gr),Qr=hc.Zn*Ms(Qr),$r=fc(3.2404542*Gr-1.5371385*zr-.4985314*Qr),ve=fc(-.969266*Gr+1.8760108*zr+.041556*Qr),ge=fc(.0556434*Gr-.2040259*zr+1.0572252*Qr),[$r,ve,ge,Q.length>3?Q[3]:1]},fc=function(Q){return 255*(Q<=.00304?12.92*Q:1.055*Jo(Q,1/2.4)-.055)},Ms=function(Q){return Q>hc.t1?Q*Q*Q:hc.t2*(Q-hc.t0)},Oa=Zd,ed=v.unpack,cu=v.type,Jd=O,od=_,xn=p,$d=Hi;od.prototype.lab=function(){return $d(this._rgb)},Jd.lab=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(od,[null].concat(Q,["lab"])))},xn.format.lab=Oa,xn.autodetect.push({p:2,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=ed(Q,"lab"),cu(Q)==="array"&&Q.length===3)return"lab"}});var ia=v.unpack,kl=v.RAD2DEG,lu=Math.sqrt,ka=Math.atan2,ma=Math.round,ml=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=ia(Q,"lab"),Rr=pr[0],Fr=pr[1],Gr=pr[2],zr=lu(Fr*Fr+Gr*Gr),Qr=(ka(Gr,Fr)*kl+360)%360;return ma(zr*1e4)===0&&(Qr=Number.NaN),[Rr,zr,Qr]},si=ml,Vi=v.unpack,ce=Hi,xe=si,fe=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=Vi(Q,"rgb"),Rr=pr[0],Fr=pr[1],Gr=pr[2],zr=ce(Rr,Fr,Gr),Qr=zr[0],$r=zr[1],ve=zr[2];return xe(Qr,$r,ve)},We=fe,no=v.unpack,Et=v.DEG2RAD,ca=Math.sin,Ba=Math.cos,Qt=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=no(Q,"lch"),Rr=pr[0],Fr=pr[1],Gr=pr[2];return isNaN(Gr)&&(Gr=0),Gr=Gr*Et,[Rr,Ba(Gr)*Fr,ca(Gr)*Fr]},rs=Qt,En=v.unpack,ya=rs,du=Oa,xh=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];Q=En(Q,"lch");var pr=Q[0],Rr=Q[1],Fr=Q[2],Gr=ya(pr,Rr,Fr),zr=Gr[0],Qr=Gr[1],$r=Gr[2],ve=du(zr,Qr,$r),ge=ve[0],qe=ve[1],Ae=ve[2];return[ge,qe,Ae,Q.length>3?Q[3]:1]},td=xh,Pg=v.unpack,Mg=td,Ut=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=Pg(Q,"hcl").reverse();return Mg.apply(void 0,pr)},Eh=Ut,Hu=v.unpack,nd=v.type,Sh=O,Vu=_,su=p,Hc=We;Vu.prototype.lch=function(){return Hc(this._rgb)},Vu.prototype.hcl=function(){return Hc(this._rgb).reverse()},Sh.lch=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Vu,[null].concat(Q,["lch"])))},Sh.hcl=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Vu,[null].concat(Q,["hcl"])))},su.format.lch=td,su.format.hcl=Eh,["lch","hcl"].forEach(function(Q){return su.autodetect.push({p:2,test:function(){for(var ir=[],pr=arguments.length;pr--;)ir[pr]=arguments[pr];if(ir=Hu(ir,Q),nd(ir)==="array"&&ir.length===3)return Q}})});var yl={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Is=yl,Ab=_,es=p,Wu=v.type,Ds=Is,wl=pt,xi=it;Ab.prototype.name=function(){for(var Q=xi(this._rgb,"rgb"),ir=0,pr=Object.keys(Ds);ir0;)ir[pr]=arguments[pr+1];if(!ir.length&&Wu(Q)==="string"&&Ds[Q.toLowerCase()])return"named"}});var Ns=v.unpack,Vc=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=Ns(Q,"rgb"),Rr=pr[0],Fr=pr[1],Gr=pr[2];return(Rr<<16)+(Fr<<8)+Gr},uu=Vc,Tb=v.type,Yu=function(Q){if(Tb(Q)=="number"&&Q>=0&&Q<=16777215){var ir=Q>>16,pr=Q>>8&255,Rr=Q&255;return[ir,pr,Rr,1]}throw new Error("unknown num color: "+Q)},Xu=Yu,Ig=O,os=_,Ku=p,Ls=v.type,Dg=uu;os.prototype.num=function(){return Dg(this._rgb)},Ig.num=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(os,[null].concat(Q,["num"])))},Ku.format.num=Xu,Ku.autodetect.push({p:5,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q.length===1&&Ls(Q[0])==="number"&&Q[0]>=0&&Q[0]<=16777215)return"num"}});var Cb=O,gu=_,jn=p,hn=v.unpack,Qu=v.type,_h=Math.round;gu.prototype.rgb=function(Q){return Q===void 0&&(Q=!0),Q===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(_h)},gu.prototype.rgba=function(Q){return Q===void 0&&(Q=!0),this._rgb.slice(0,4).map(function(ir,pr){return pr<3?Q===!1?ir:_h(ir):ir})},Cb.rgb=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(gu,[null].concat(Q,["rgb"])))},jn.format.rgb=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=hn(Q,"rgba");return pr[3]===void 0&&(pr[3]=1),pr},jn.autodetect.push({p:3,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=hn(Q,"rgba"),Qu(Q)==="array"&&(Q.length===3||Q.length===4&&Qu(Q[3])=="number"&&Q[3]>=0&&Q[3]<=1))return"rgb"}});var Zu=Math.log,Yf=function(Q){var ir=Q/100,pr,Rr,Fr;return ir<66?(pr=255,Rr=ir<6?0:-155.25485562709179-.44596950469579133*(Rr=ir-2)+104.49216199393888*Zu(Rr),Fr=ir<20?0:-254.76935184120902+.8274096064007395*(Fr=ir-10)+115.67994401066147*Zu(Fr)):(pr=351.97690566805693+.114206453784165*(pr=ir-55)-40.25366309332127*Zu(pr),Rr=325.4494125711974+.07943456536662342*(Rr=ir-50)-28.0852963507957*Zu(Rr),Fr=255),[pr,Rr,Fr,1]},ad=Yf,on=ad,ts=v.unpack,js=Math.round,bu=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];for(var pr=ts(Q,"rgb"),Rr=pr[0],Fr=pr[2],Gr=1e3,zr=4e4,Qr=.4,$r;zr-Gr>Qr;){$r=(zr+Gr)*.5;var ve=on($r);ve[2]/ve[0]>=Fr/Rr?zr=$r:Gr=$r}return js($r)},hu=bu,zs=O,Wc=_,ns=p,Wr=hu;Wc.prototype.temp=Wc.prototype.kelvin=Wc.prototype.temperature=function(){return Wr(this._rgb)},zs.temp=zs.kelvin=zs.temperature=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Wc,[null].concat(Q,["temp"])))},ns.format.temp=ns.format.kelvin=ns.format.temperature=ad;var ue=v.unpack,le=Math.cbrt,Qe=Math.pow,Po=Math.sign,$o=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=ue(Q,"rgb"),Rr=pr[0],Fr=pr[1],Gr=pr[2],zr=[mr(Rr/255),mr(Fr/255),mr(Gr/255)],Qr=zr[0],$r=zr[1],ve=zr[2],ge=le(.4122214708*Qr+.5363325363*$r+.0514459929*ve),qe=le(.2119034982*Qr+.6806995451*$r+.1073969566*ve),Ae=le(.0883024619*Qr+.2817188376*$r+.6299787005*ve);return[.2104542553*ge+.793617785*qe-.0040720468*Ae,1.9779984951*ge-2.428592205*qe+.4505937099*Ae,.0259040371*ge+.7827717662*qe-.808675766*Ae]},cn=$o;function mr(Q){var ir=Math.abs(Q);return ir<.04045?Q/12.92:(Po(Q)||1)*Qe((ir+.055)/1.055,2.4)}var id=v.unpack,Wi=Math.pow,Sn=Math.sign,nt=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];Q=id(Q,"lab");var pr=Q[0],Rr=Q[1],Fr=Q[2],Gr=Wi(pr+.3963377774*Rr+.2158037573*Fr,3),zr=Wi(pr-.1055613458*Rr-.0638541728*Fr,3),Qr=Wi(pr-.0894841775*Rr-1.291485548*Fr,3);return[255*Za(4.0767416621*Gr-3.3077115913*zr+.2309699292*Qr),255*Za(-1.2684380046*Gr+2.6097574011*zr-.3413193965*Qr),255*Za(-.0041960863*Gr-.7034186147*zr+1.707614701*Qr),Q.length>3?Q[3]:1]},cd=nt;function Za(Q){var ir=Math.abs(Q);return ir>.0031308?(Sn(Q)||1)*(1.055*Wi(ir,1/2.4)-.055):Q*12.92}var vc=v.unpack,xl=v.type,rt=O,Ng=_,fu=p,Ei=cn;Ng.prototype.oklab=function(){return Ei(this._rgb)},rt.oklab=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Ng,[null].concat(Q,["oklab"])))},fu.format.oklab=cd,fu.autodetect.push({p:3,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=vc(Q,"oklab"),xl(Q)==="array"&&Q.length===3)return"oklab"}});var Lg=v.unpack,Si=cn,El=si,ld=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];var pr=Lg(Q,"rgb"),Rr=pr[0],Fr=pr[1],Gr=pr[2],zr=Si(Rr,Fr,Gr),Qr=zr[0],$r=zr[1],ve=zr[2];return El(Qr,$r,ve)},Yc=ld,as=v.unpack,pc=rs,kc=cd,dd=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];Q=as(Q,"lch");var pr=Q[0],Rr=Q[1],Fr=Q[2],Gr=pc(pr,Rr,Fr),zr=Gr[0],Qr=Gr[1],$r=Gr[2],ve=kc(zr,Qr,$r),ge=ve[0],qe=ve[1],Ae=ve[2];return[ge,qe,Ae,Q.length>3?Q[3]:1]},Ja=dd,Sl=v.unpack,Rb=v.type,Xn=O,Ua=_,_i=p,Oh=Yc;Ua.prototype.oklch=function(){return Oh(this._rgb)},Xn.oklch=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];return new(Function.prototype.bind.apply(Ua,[null].concat(Q,["oklch"])))},_i.format.oklch=Ja,_i.autodetect.push({p:3,test:function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];if(Q=Sl(Q,"oklch"),Rb(Q)==="array"&&Q.length===3)return"oklch"}});var is=_,cs=v.type;is.prototype.alpha=function(Q,ir){return ir===void 0&&(ir=!1),Q!==void 0&&cs(Q)==="number"?ir?(this._rgb[3]=Q,this):new is([this._rgb[0],this._rgb[1],this._rgb[2],Q],"rgb"):this._rgb[3]};var zn=_;zn.prototype.clipped=function(){return this._rgb._clipped||!1};var Yi=_,vu=yi;Yi.prototype.darken=function(Q){Q===void 0&&(Q=1);var ir=this,pr=ir.lab();return pr[0]-=vu.Kn*Q,new Yi(pr,"lab").alpha(ir.alpha(),!0)},Yi.prototype.brighten=function(Q){return Q===void 0&&(Q=1),this.darken(-Q)},Yi.prototype.darker=Yi.prototype.darken,Yi.prototype.brighter=Yi.prototype.brighten;var Xc=_;Xc.prototype.get=function(Q){var ir=Q.split("."),pr=ir[0],Rr=ir[1],Fr=this[pr]();if(Rr){var Gr=pr.indexOf(Rr)-(pr.substr(0,2)==="ok"?2:0);if(Gr>-1)return Fr[Gr];throw new Error("unknown channel "+Rr+" in mode "+pr)}else return Fr};var la=_,sd=v.type,mc=Math.pow,Rn=1e-7,St=20;la.prototype.luminance=function(Q){if(Q!==void 0&&sd(Q)==="number"){if(Q===0)return new la([0,0,0,this._rgb[3]],"rgb");if(Q===1)return new la([255,255,255,this._rgb[3]],"rgb");var ir=this.luminance(),pr="rgb",Rr=St,Fr=function(zr,Qr){var $r=zr.interpolate(Qr,.5,pr),ve=$r.luminance();return Math.abs(Q-ve)Q?Fr(zr,$r):Fr($r,Qr)},Gr=(ir>Q?Fr(new la([0,0,0]),this):Fr(this,new la([255,255,255]))).rgb();return new la(Gr.concat([this._rgb[3]]))}return Oi.apply(void 0,this._rgb.slice(0,3))};var Oi=function(Q,ir,pr){return Q=Ai(Q),ir=Ai(ir),pr=Ai(pr),.2126*Q+.7152*ir+.0722*pr},Ai=function(Q){return Q/=255,Q<=.03928?Q/12.92:mc((Q+.055)/1.055,2.4)},Kn={},Xi=_,Fa=v.type,qa=Kn,ud=function(Q,ir,pr){pr===void 0&&(pr=.5);for(var Rr=[],Fr=arguments.length-3;Fr-- >0;)Rr[Fr]=arguments[Fr+3];var Gr=Rr[0]||"lrgb";if(!qa[Gr]&&!Rr.length&&(Gr=Object.keys(qa)[0]),!qa[Gr])throw new Error("interpolation mode "+Gr+" is not defined");return Fa(Q)!=="object"&&(Q=new Xi(Q)),Fa(ir)!=="object"&&(ir=new Xi(ir)),qa[Gr](Q,ir,pr).alpha(Q.alpha()+pr*(ir.alpha()-Q.alpha()))},Kc=_,ls=ud;Kc.prototype.mix=Kc.prototype.interpolate=function(Q,ir){ir===void 0&&(ir=.5);for(var pr=[],Rr=arguments.length-2;Rr-- >0;)pr[Rr]=arguments[Rr+2];return ls.apply(void 0,[this,Q,ir].concat(pr))};var ds=_;ds.prototype.premultiply=function(Q){Q===void 0&&(Q=!1);var ir=this._rgb,pr=ir[3];return Q?(this._rgb=[ir[0]*pr,ir[1]*pr,ir[2]*pr,pr],this):new ds([ir[0]*pr,ir[1]*pr,ir[2]*pr,pr],"rgb")};var _n=_,Rt=yi;_n.prototype.saturate=function(Q){Q===void 0&&(Q=1);var ir=this,pr=ir.lch();return pr[1]+=Rt.Kn*Q,pr[1]<0&&(pr[1]=0),new _n(pr,"lch").alpha(ir.alpha(),!0)},_n.prototype.desaturate=function(Q){return Q===void 0&&(Q=1),this.saturate(-Q)};var bt=_,_l=v.type;bt.prototype.set=function(Q,ir,pr){pr===void 0&&(pr=!1);var Rr=Q.split("."),Fr=Rr[0],Gr=Rr[1],zr=this[Fr]();if(Gr){var Qr=Fr.indexOf(Gr)-(Fr.substr(0,2)==="ok"?2:0);if(Qr>-1){if(_l(ir)=="string")switch(ir.charAt(0)){case"+":zr[Qr]+=+ir;break;case"-":zr[Qr]+=+ir;break;case"*":zr[Qr]*=+ir.substr(1);break;case"/":zr[Qr]/=+ir.substr(1);break;default:zr[Qr]=+ir}else if(_l(ir)==="number")zr[Qr]=ir;else throw new Error("unsupported value for Color.set");var $r=new bt(zr,Fr);return pr?(this._rgb=$r._rgb,this):$r}throw new Error("unknown channel "+Gr+" in mode "+Fr)}else return zr};var Ki=_,pu=function(Q,ir,pr){var Rr=Q._rgb,Fr=ir._rgb;return new Ki(Rr[0]+pr*(Fr[0]-Rr[0]),Rr[1]+pr*(Fr[1]-Rr[1]),Rr[2]+pr*(Fr[2]-Rr[2]),"rgb")};Kn.rgb=pu;var gd=_,ss=Math.sqrt,yc=Math.pow,bd=function(Q,ir,pr){var Rr=Q._rgb,Fr=Rr[0],Gr=Rr[1],zr=Rr[2],Qr=ir._rgb,$r=Qr[0],ve=Qr[1],ge=Qr[2];return new gd(ss(yc(Fr,2)*(1-pr)+yc($r,2)*pr),ss(yc(Gr,2)*(1-pr)+yc(ve,2)*pr),ss(yc(zr,2)*(1-pr)+yc(ge,2)*pr),"rgb")};Kn.lrgb=bd;var xr=_,Ol=function(Q,ir,pr){var Rr=Q.lab(),Fr=ir.lab();return new xr(Rr[0]+pr*(Fr[0]-Rr[0]),Rr[1]+pr*(Fr[1]-Rr[1]),Rr[2]+pr*(Fr[2]-Rr[2]),"lab")};Kn.lab=Ol;var Qc=_,ao=function(Q,ir,pr,Rr){var Fr,Gr,zr,Qr;Rr==="hsl"?(zr=Q.hsl(),Qr=ir.hsl()):Rr==="hsv"?(zr=Q.hsv(),Qr=ir.hsv()):Rr==="hcg"?(zr=Q.hcg(),Qr=ir.hcg()):Rr==="hsi"?(zr=Q.hsi(),Qr=ir.hsi()):Rr==="lch"||Rr==="hcl"?(Rr="hcl",zr=Q.hcl(),Qr=ir.hcl()):Rr==="oklch"&&(zr=Q.oklch().reverse(),Qr=ir.oklch().reverse());var $r,ve,ge,qe,Ae,$e;(Rr.substr(0,1)==="h"||Rr==="oklch")&&(Fr=zr,$r=Fr[0],ge=Fr[1],Ae=Fr[2],Gr=Qr,ve=Gr[0],qe=Gr[1],$e=Gr[2]);var Ze,et,Oo,Qo;return!isNaN($r)&&!isNaN(ve)?(ve>$r&&ve-$r>180?Qo=ve-($r+360):ve<$r&&$r-ve>180?Qo=ve+360-$r:Qo=ve-$r,et=$r+pr*Qo):isNaN($r)?isNaN(ve)?et=Number.NaN:(et=ve,(Ae==1||Ae==0)&&Rr!="hsv"&&(Ze=qe)):(et=$r,($e==1||$e==0)&&Rr!="hsv"&&(Ze=ge)),Ze===void 0&&(Ze=ge+pr*(qe-ge)),Oo=Ae+pr*($e-Ae),Rr==="oklch"?new Qc([Oo,Ze,et],Rr):new Qc([et,Ze,Oo],Rr)},Xo=ao,Al=function(Q,ir,pr){return Xo(Q,ir,pr,"lch")};Kn.lch=Al,Kn.hcl=Al;var wc=_,Tl=function(Q,ir,pr){var Rr=Q.num(),Fr=ir.num();return new wc(Rr+pr*(Fr-Rr),"num")};Kn.num=Tl;var hd=ao,Pb=function(Q,ir,pr){return hd(Q,ir,pr,"hcg")};Kn.hcg=Pb;var Ga=ao,jg=function(Q,ir,pr){return Ga(Q,ir,pr,"hsi")};Kn.hsi=jg;var Cl=ao,wa=function(Q,ir,pr){return Cl(Q,ir,pr,"hsl")};Kn.hsl=wa;var Qi=ao,Mb=function(Q,ir,pr){return Qi(Q,ir,pr,"hsv")};Kn.hsv=Mb;var Zi=_,us=function(Q,ir,pr){var Rr=Q.oklab(),Fr=ir.oklab();return new Zi(Rr[0]+pr*(Fr[0]-Rr[0]),Rr[1]+pr*(Fr[1]-Rr[1]),Rr[2]+pr*(Fr[2]-Rr[2]),"oklab")};Kn.oklab=us;var Ib=ao,Qn=function(Q,ir,pr){return Ib(Q,ir,pr,"oklch")};Kn.oklch=Qn;var $a=_,ku=v.clip_rgb,fd=Math.pow,mu=Math.sqrt,Rl=Math.PI,vd=Math.cos,ui=Math.sin,Ah=Math.atan2,gs=function(Q,ir,pr){ir===void 0&&(ir="lrgb"),pr===void 0&&(pr=null);var Rr=Q.length;pr||(pr=Array.from(new Array(Rr)).map(function(){return 1}));var Fr=Rr/pr.reduce(function(et,Oo){return et+Oo});if(pr.forEach(function(et,Oo){pr[Oo]*=Fr}),Q=Q.map(function(et){return new $a(et)}),ir==="lrgb")return Ji(Q,pr);for(var Gr=Q.shift(),zr=Gr.get(ir),Qr=[],$r=0,ve=0,ge=0;ge=360;)Ze-=360;zr[$e]=Ze}else zr[$e]=zr[$e]/Qr[$e];return Ae/=Rr,new $a(zr,ir).alpha(Ae>.99999?1:Ae,!0)},Ji=function(Q,ir){for(var pr=Q.length,Rr=[0,0,0,0],Fr=0;Fr.9999999&&(Rr[3]=1),new $a(ku(Rr))},Aa=O,Pl=v.type,Ju=Math.pow,$u=function(Q){var ir="rgb",pr=Aa("#ccc"),Rr=0,Fr=[0,1],Gr=[],zr=[0,0],Qr=!1,$r=[],ve=!1,ge=0,qe=1,Ae=!1,$e={},Ze=!0,et=1,Oo=function(Ie){if(Ie=Ie||["#fff","#000"],Ie&&Pl(Ie)==="string"&&Aa.brewer&&Aa.brewer[Ie.toLowerCase()]&&(Ie=Aa.brewer[Ie.toLowerCase()]),Pl(Ie)==="array"){Ie.length===1&&(Ie=[Ie[0],Ie[0]]),Ie=Ie.slice(0);for(var po=0;po=Qr[ot];)ot++;return ot-1}return 0},ht=function(Ie){return Ie},da=function(Ie){return Ie},Bn=function(Ie,po){var ot,ko;if(po==null&&(po=!1),isNaN(Ie)||Ie===null)return pr;if(po)ko=Ie;else if(Qr&&Qr.length>2){var ra=Qo(Ie);ko=ra/(Qr.length-2)}else qe!==ge?ko=(Ie-ge)/(qe-ge):ko=1;ko=da(ko),po||(ko=ht(ko)),et!==1&&(ko=Ju(ko,et)),ko=zr[0]+ko*(1-zr[0]-zr[1]),ko=Math.min(1,Math.max(0,ko));var kt=Math.floor(ko*1e4);if(Ze&&$e[kt])ot=$e[kt];else{if(Pl($r)==="array")for(var st=0;st=Mt&&st===Gr.length-1){ot=$r[st];break}if(ko>Mt&&ko2){var st=Ie.map(function(_t,qt){return qt/(Ie.length-1)}),Mt=Ie.map(function(_t){return(_t-ge)/(qe-ge)});Mt.every(function(_t,qt){return st[qt]===_t})||(da=function(_t){if(_t<=0||_t>=1)return _t;for(var qt=0;_t>=Mt[qt+1];)qt++;var oc=(_t-Mt[qt])/(Mt[qt+1]-Mt[qt]),wd=st[qt]+oc*(st[qt+1]-st[qt]);return wd})}}return Fr=[ge,qe],dt},dt.mode=function(Ie){return arguments.length?(ir=Ie,ei(),dt):ir},dt.range=function(Ie,po){return Oo(Ie),dt},dt.out=function(Ie){return ve=Ie,dt},dt.spread=function(Ie){return arguments.length?(Rr=Ie,dt):Rr},dt.correctLightness=function(Ie){return Ie==null&&(Ie=!0),Ae=Ie,ei(),Ae?ht=function(po){for(var ot=Bn(0,!0).lab()[0],ko=Bn(1,!0).lab()[0],ra=ot>ko,kt=Bn(po,!0).lab()[0],st=ot+(ko-ot)*po,Mt=kt-st,_t=0,qt=1,oc=20;Math.abs(Mt)>.01&&oc-- >0;)(function(){return ra&&(Mt*=-1),Mt<0?(_t=po,po+=(qt-po)*.5):(qt=po,po+=(_t-po)*.5),kt=Bn(po,!0).lab()[0],Mt=kt-st})();return po}:ht=function(po){return po},dt},dt.padding=function(Ie){return Ie!=null?(Pl(Ie)==="number"&&(Ie=[Ie,Ie]),zr=Ie,dt):zr},dt.colors=function(Ie,po){arguments.length<2&&(po="hex");var ot=[];if(arguments.length===0)ot=$r.slice(0);else if(Ie===1)ot=[dt(.5)];else if(Ie>1){var ko=Fr[0],ra=Fr[1]-ko;ot=Bs(0,Ie).map(function(qt){return dt(ko+qt/(Ie-1)*ra)})}else{Q=[];var kt=[];if(Qr&&Qr.length>2)for(var st=1,Mt=Qr.length,_t=1<=Mt;_t?stMt;_t?st++:st--)kt.push((Qr[st-1]+Qr[st])*.5);else kt=Fr;ot=kt.map(function(qt){return dt(qt)})}return Aa[po]&&(ot=ot.map(function(qt){return qt[po]()})),ot},dt.cache=function(Ie){return Ie!=null?(Ze=Ie,dt):Ze},dt.gamma=function(Ie){return Ie!=null?(et=Ie,dt):et},dt.nodata=function(Ie){return Ie!=null?(pr=Aa(Ie),dt):pr},dt};function Bs(Q,ir,pr){for(var Rr=[],Fr=QGr;Fr?zr++:zr--)Rr.push(zr);return Rr}var pd=_,Ta=$u,$i=function(Q){for(var ir=[1,1],pr=1;pr=5){var ve,ge,qe;ve=Q.map(function(Ae){return Ae.lab()}),qe=Q.length-1,ge=$i(qe),Fr=function(Ae){var $e=1-Ae,Ze=[0,1,2].map(function(et){return ve.reduce(function(Oo,Qo,ht){return Oo+ge[ht]*Math.pow($e,qe-ht)*Math.pow(Ae,ht)*Qo[et]},0)});return new pd(Ze,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return Fr},kd=function(Q){var ir=rg(Q);return ir.scale=function(){return Ta(ir)},ir},Ti=O,Zn=function(Q,ir,pr){if(!Zn[pr])throw new Error("unknown blend mode "+pr);return Zn[pr](Q,ir)},Ml=function(Q){return function(ir,pr){var Rr=Ti(pr).rgb(),Fr=Ti(ir).rgb();return Ti.rgb(Q(Rr,Fr))}},gi=function(Q){return function(ir,pr){var Rr=[];return Rr[0]=Q(ir[0],pr[0]),Rr[1]=Q(ir[1],pr[1]),Rr[2]=Q(ir[2],pr[2]),Rr}},Il=function(Q){return Q},Ci=function(Q,ir){return Q*ir/255},Us=function(Q,ir){return Q>ir?ir:Q},Ri=function(Q,ir){return Q>ir?Q:ir},ri=function(Q,ir){return 255*(1-(1-Q/255)*(1-ir/255))},eg=function(Q,ir){return ir<128?2*Q*ir/255:255*(1-2*(1-Q/255)*(1-ir/255))},Dl=function(Q,ir){return 255*(1-(1-ir/255)/(Q/255))},yu=function(Q,ir){return Q===255?255:(Q=255*(ir/255)/(1-Q/255),Q>255?255:Q)};Zn.normal=Ml(gi(Il)),Zn.multiply=Ml(gi(Ci)),Zn.screen=Ml(gi(ri)),Zn.overlay=Ml(gi(eg)),Zn.darken=Ml(gi(Us)),Zn.lighten=Ml(gi(Ri)),Zn.dodge=Ml(gi(yu)),Zn.burn=Ml(gi(Dl));for(var rc=Zn,bi=v.type,og=v.clip_rgb,Nl=v.TWOPI,Zc=Math.pow,wu=Math.sin,xc=Math.cos,Jn=O,bs=function(Q,ir,pr,Rr,Fr){Q===void 0&&(Q=300),ir===void 0&&(ir=-1.5),pr===void 0&&(pr=1),Rr===void 0&&(Rr=1),Fr===void 0&&(Fr=[0,1]);var Gr=0,zr;bi(Fr)==="array"?zr=Fr[1]-Fr[0]:(zr=0,Fr=[Fr,Fr]);var Qr=function($r){var ve=Nl*((Q+120)/360+ir*$r),ge=Zc(Fr[0]+zr*$r,Rr),qe=Gr!==0?pr[0]+$r*Gr:pr,Ae=qe*ge*(1-ge)/2,$e=xc(ve),Ze=wu(ve),et=ge+Ae*(-.14861*$e+1.78277*Ze),Oo=ge+Ae*(-.29227*$e-.90649*Ze),Qo=ge+Ae*(1.97294*$e);return Jn(og([et*255,Oo*255,Qo*255,1]))};return Qr.start=function($r){return $r==null?Q:(Q=$r,Qr)},Qr.rotations=function($r){return $r==null?ir:(ir=$r,Qr)},Qr.gamma=function($r){return $r==null?Rr:(Rr=$r,Qr)},Qr.hue=function($r){return $r==null?pr:(pr=$r,bi(pr)==="array"?(Gr=pr[1]-pr[0],Gr===0&&(pr=pr[1])):Gr=0,Qr)},Qr.lightness=function($r){return $r==null?Fr:(bi($r)==="array"?(Fr=$r,zr=$r[1]-$r[0]):(Fr=[$r,$r],zr=0),Qr)},Qr.scale=function(){return Jn.scale(Qr)},Qr.hue(pr),Qr},xu=_,Ec="0123456789abcdef",Sc=Math.floor,Jc=Math.random,_c=function(){for(var Q="#",ir=0;ir<6;ir++)Q+=Ec.charAt(Sc(Jc()*16));return new xu(Q,"hex")},Fs=d,$n=Math.log,Ll=Math.pow,ro=Math.floor,hi=Math.abs,$c=function(Q,ir){ir===void 0&&(ir=null);var pr={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return Fs(Q)==="object"&&(Q=Object.values(Q)),Q.forEach(function(Rr){ir&&Fs(Rr)==="object"&&(Rr=Rr[ir]),Rr!=null&&!isNaN(Rr)&&(pr.values.push(Rr),pr.sum+=Rr,Rrpr.max&&(pr.max=Rr),pr.count+=1)}),pr.domain=[pr.min,pr.max],pr.limits=function(Rr,Fr){return Oc(pr,Rr,Fr)},pr},Oc=function(Q,ir,pr){ir===void 0&&(ir="equal"),pr===void 0&&(pr=7),Fs(Q)=="array"&&(Q=$c(Q));var Rr=Q.min,Fr=Q.max,Gr=Q.values.sort(function(ig,_u){return ig-_u});if(pr===1)return[Rr,Fr];var zr=[];if(ir.substr(0,1)==="c"&&(zr.push(Rr),zr.push(Fr)),ir.substr(0,1)==="e"){zr.push(Rr);for(var Qr=1;Qr 0");var $r=Math.LOG10E*$n(Rr),ve=Math.LOG10E*$n(Fr);zr.push(Rr);for(var ge=1;ge200&&(da=!1)}for(var zl={},ks=0;ksRr?(pr+.05)/(Rr+.05):(Rr+.05)/(pr+.05)},Pn=_,ec=Math.sqrt,Pt=Math.pow,_o=Math.min,Ko=Math.max,fn=Math.atan2,hs=Math.abs,md=Math.cos,Ac=Math.sin,ng=Math.exp,fs=Math.PI,yd=function(Q,ir,pr,Rr,Fr){pr===void 0&&(pr=1),Rr===void 0&&(Rr=1),Fr===void 0&&(Fr=1);var Gr=function(xa){return 360*xa/(2*fs)},zr=function(xa){return 2*fs*xa/360};Q=new Pn(Q),ir=new Pn(ir);var Qr=Array.from(Q.lab()),$r=Qr[0],ve=Qr[1],ge=Qr[2],qe=Array.from(ir.lab()),Ae=qe[0],$e=qe[1],Ze=qe[2],et=($r+Ae)/2,Oo=ec(Pt(ve,2)+Pt(ge,2)),Qo=ec(Pt($e,2)+Pt(Ze,2)),ht=(Oo+Qo)/2,da=.5*(1-ec(Pt(ht,7)/(Pt(ht,7)+Pt(25,7)))),Bn=ve*(1+da),ei=$e*(1+da),dt=ec(Pt(Bn,2)+Pt(ge,2)),Ie=ec(Pt(ei,2)+Pt(Ze,2)),po=(dt+Ie)/2,ot=Gr(fn(ge,Bn)),ko=Gr(fn(Ze,ei)),ra=ot>=0?ot:ot+360,kt=ko>=0?ko:ko+360,st=hs(ra-kt)>180?(ra+kt+360)/2:(ra+kt)/2,Mt=1-.17*md(zr(st-30))+.24*md(zr(2*st))+.32*md(zr(3*st+6))-.2*md(zr(4*st-63)),_t=kt-ra;_t=hs(_t)<=180?_t:kt<=ra?_t+360:_t-360,_t=2*ec(dt*Ie)*Ac(zr(_t)/2);var qt=Ae-$r,oc=Ie-dt,wd=1+.015*Pt(et-50,2)/ec(20+Pt(et-50,2)),zl=1+.045*po,ks=1+.015*po*Mt,Bl=30*ng(-Pt((st-275)/25,2)),Tc=2*ec(Pt(po,7)/(Pt(po,7)+Pt(25,7))),xd=-Tc*Ac(2*zr(Bl)),Un=ec(Pt(qt/(pr*wd),2)+Pt(oc/(Rr*zl),2)+Pt(_t/(Fr*ks),2)+xd*(oc/(Rr*zl))*(_t/(Fr*ks)));return Ko(0,_o(100,Un))},Db=_,ln=function(Q,ir,pr){pr===void 0&&(pr="lab"),Q=new Db(Q),ir=new Db(ir);var Rr=Q.get(pr),Fr=ir.get(pr),Gr=0;for(var zr in Rr){var Qr=(Rr[zr]||0)-(Fr[zr]||0);Gr+=Qr*Qr}return Math.sqrt(Gr)},ag=_,vs=function(){for(var Q=[],ir=arguments.length;ir--;)Q[ir]=arguments[ir];try{return new(Function.prototype.bind.apply(ag,[null].concat(Q))),!0}catch{return!1}},Eu=O,qs=$u,Th={cool:function(){return qs([Eu.hsl(180,1,.9),Eu.hsl(250,.7,.4)])},hot:function(){return qs(["#000","#f00","#ff0","#fff"]).mode("rgb")}},jl={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},ps=0,Su=Object.keys(jl);ps`#${[parseInt(o.substring(1,3),16),parseInt(o.substring(3,5),16),parseInt(o.substring(5,7),16)].map(e=>{let t=parseInt((e*(100+r)/100).toString(),10);const n=(t=t<255?t:255).toString(16);return n.length===1?`0${n}`:n}).join("")}`;function QG(o){let r=0,e=0;const t=o.length;for(;e{const c=KG.contrast(o,i);c>a&&(n=i,a=c)}),as%(g-u)+u;return KG.oklch(d(i,t,e)/100,d(c,a,n)/100,d(l,0,360)).hex()}function ydr(o,r){const e=mdr(o,r),t=kdr(e,-20),n=ZG(e,["#2A2C34","#FFFFFF"]);return{backgroundColor:e,borderColor:t,textColor:n}}const eS=Xl.palette.neutral[40],JG=Xl.palette.neutral[40],oS=(o="",r="")=>o.toLowerCase().localeCompare(r.toLowerCase());function wdr(o){var r;const[e]=o;if(e===void 0)return JG;const t={};for(const i of o)t[i]=((r=t[i])!==null&&r!==void 0?r:0)+1;let n=0,a=e;for(const[i,c]of Object.entries(t))c>n&&(n=c,a=i);return a}function Uj(o){return Object.entries(o).reduce((r,[e,t])=>(r[e]={mostCommonColor:wdr(t),totalCount:t.length},r),{})}const xdr=[/^name$/i,/^title$/i,/^label$/i,/name$/i,/description$/i,/^.+/];function Edr(o){const r=o.filter(t=>t.type==="property").map(t=>t.captionKey);for(const t of xdr){const n=r.find(a=>t.test(a));if(n!==void 0)return{captionKey:n,type:"property"}}const e=o.find(t=>t.type==="type");return e||o.find(t=>t.type==="id")}const Sdr=o=>{const r=Object.keys(o.properties).map(n=>({captionKey:n,type:"property"}));r.push({type:"id"},{type:"type"});const e=Edr(r);if((e==null?void 0:e.type)==="property"){const n=o.properties[e.captionKey];if(n!==void 0)return n.type==="string"?[{value:n.stringified.slice(1,-1)}]:[{value:n.stringified}]}const[t]=o.labels;return(e==null?void 0:e.type)==="type"&&t!==void 0?[{value:t}]:[{value:o.id}]};function _dr(o,r){const e={},t={},n={},a={},i=o.map(u=>{var g;const[b]=u.labels,f=Object.assign(Object.assign({captions:Sdr(u),color:(g=u.color)!==null&&g!==void 0?g:b===void 0?JG:ydr(b).backgroundColor},u),{labels:void 0,properties:void 0});return n[u.id]={color:f.color,id:u.id,labelsSorted:[...u.labels].sort(oS),properties:u.properties},u.labels.forEach(v=>{var p;e[v]=[...(p=e[v])!==null&&p!==void 0?p:[],f.color]}),f}),c=r.map(u=>{var g,b,f;return a[u.id]={color:(g=u.color)!==null&&g!==void 0?g:eS,id:u.id,properties:u.properties,type:u.type},t[u.type]=[...(b=t[u.type])!==null&&b!==void 0?b:[],(f=u.color)!==null&&f!==void 0?f:eS],Object.assign(Object.assign({captions:[{value:u.type}],color:eS},u),{properties:void 0,type:void 0})}),l=Uj(e),d=Uj(t);return{dataLookupTable:{labelMetaData:l,labels:Object.keys(l).sort((u,g)=>oS(u,g)),nodes:n,relationships:a,typeMetaData:d,types:Object.keys(d).sort((u,g)=>oS(u,g))},nodes:i,rels:c}}const Fj=/(?:https?|s?ftp|bolt):\/\/(?:(?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))?\))+(?:\((?:[^\s()<>]+|(?:\(?:[^\s()<>]+\)))?\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))?/gi,Odr=({text:o})=>{var r;const e=o??"",t=(r=e.match(Fj))!==null&&r!==void 0?r:[];return _r.jsx(_r.Fragment,{children:e.split(Fj).map((n,a)=>_r.jsxs(Da.Fragment,{children:[n,t[a]&&_r.jsx("a",{href:t[a],target:"_blank",rel:"noopener noreferrer",className:"hover:underline",children:t[a]})]},`clickable-url-${a}`))})},Adr=Da.memo(Odr),Tdr="…",Cdr=900,Rdr=150,Pdr=300,Mdr=({value:o,width:r,type:e})=>{const[t,n]=kr.useState(!1),a=r>Cdr?Pdr:Rdr,i=()=>{n(!0)};let c=t?o:o.slice(0,a);const l=c.length!==o.length;return c+=l?Tdr:"",_r.jsxs(_r.Fragment,{children:[e.startsWith("Array")&&"[",_r.jsx(Adr,{text:c}),l&&_r.jsx("button",{type:"button",onClick:i,className:"ndl-properties-show-all-button",children:" Show all"}),e.startsWith("Array")&&"]"]})},Idr=({properties:o,paneWidth:r})=>_r.jsxs("div",{className:"ndl-graph-visualization-properties-table",children:[_r.jsxs("div",{className:"ndl-properties-header",children:[_r.jsx(xg,{variant:"body-small",className:"ndl-properties-header-key",children:"Key"}),_r.jsx(xg,{variant:"body-small",children:"Value"})]}),Object.entries(o).map(([e,{stringified:t,type:n}])=>_r.jsxs("div",{className:"ndl-properties-row",children:[_r.jsx(xg,{variant:"body-small",className:"ndl-properties-key",children:e}),_r.jsx("div",{className:"ndl-properties-value",children:_r.jsx(Mdr,{value:t,width:r,type:n})}),_r.jsx("div",{className:"ndl-properties-clipboard-button",children:_r.jsx(Kz,{textToCopy:`${e}: ${t}`,size:"small",tooltipProps:{placement:"left",type:"simple"}})})]},e))]}),Ddr=({paneWidth:o=400})=>{const{selected:r,nvlGraph:e}=Hd(),t=kr.useMemo(()=>{const[c]=r.nodeIds;if(c!==void 0)return e.dataLookupTable.nodes[c]},[r,e]),n=kr.useMemo(()=>{const[c]=r.relationshipIds;if(c!==void 0)return e.dataLookupTable.relationships[c]},[r,e]),a=kr.useMemo(()=>{if(t)return{data:t,dataType:"node"};if(n)return{data:n,dataType:"relationship"}},[t,n]);if(a===void 0)return null;const i=[{key:"",type:"String",value:`${a.data.id}`},...Object.keys(a.data.properties).map(c=>({key:c,type:a.data.properties[c].type,value:a.data.properties[c].stringified}))];return _r.jsxs(_r.Fragment,{children:[_r.jsxs(o0.Title,{children:[_r.jsx("h6",{className:"ndl-details-title",children:a.dataType==="node"?"Node details":"Relationship details"}),_r.jsx(Kz,{textToCopy:i.map(c=>`${c.key}: ${c.value}`).join(` `),size:"small"})]}),_r.jsxs(o0.Content,{children:[_r.jsx("div",{className:"ndl-details-tags",children:a.dataType==="node"?a.data.labelsSorted.map(c=>{var l,d;return _r.jsx(Rw,{type:"node",color:(d=(l=e.dataLookupTable.labelMetaData[c])===null||l===void 0?void 0:l.mostCommonColor)!==null&&d!==void 0?d:"",as:"span",htmlAttributes:{tabIndex:0},children:c},c)}):_r.jsx(Rw,{type:"relationship",color:a.data.color,as:"span",htmlAttributes:{tabIndex:0},children:a.data.type},a.data.type)}),_r.jsx("div",{className:"ndl-details-divider"}),_r.jsx(Idr,{properties:a.data.properties,paneWidth:o})]})]})},Ndr=({children:o})=>{const[r,e]=kr.useState(0),t=kr.useRef(null),n=l=>{var d,s;const u=(s=(d=t.current)===null||d===void 0?void 0:d.children[l])===null||s===void 0?void 0:s.children[0];u instanceof HTMLElement&&u.focus()},a=kr.useMemo(()=>Da.Children.count(o),[o]),i=kr.useCallback(l=>{l>=a?e(a-1):e(Math.max(0,l))},[a,e]),c=l=>{let d=r;l.key==="ArrowRight"||l.key==="ArrowDown"?(d=(r+1)%Da.Children.count(o),i(d)):(l.key==="ArrowLeft"||l.key==="ArrowUp")&&(d=(r-1+Da.Children.count(o))%Da.Children.count(o),i(d)),n(d)};return _r.jsx("ul",{onKeyDown:l=>c(l),ref:t,style:{all:"inherit",listStyleType:"none"},children:Da.Children.map(o,(l,d)=>{if(!Da.isValidElement(l))return null;const s=kr.cloneElement(l,{tabIndex:r===d?0:-1});return _r.jsx("li",{children:s},d)})})},Ldr=o=>typeof o=="function";function qj({initiallyShown:o,children:r,isButtonGroup:e}){const[t,n]=kr.useState(!1),a=()=>n(u=>!u),i=r.length,c=i>o,l=t?i:o,d=i-l;if(i===0)return null;const s=r.slice(0,l).map(u=>Ldr(u)?u():u);return _r.jsxs(_r.Fragment,{children:[e===!0?_r.jsx(Ndr,{children:s}):_r.jsx("div",{style:{all:"inherit"},children:s}),c&&_r.jsx(nX,{size:"small",onClick:a,children:t?"Show less":`Show all (${d} more)`})]})}const Gj=25,jdr=()=>{const{nvlGraph:o}=Hd();return _r.jsxs(_r.Fragment,{children:[_r.jsx(o0.Title,{children:_r.jsx(xg,{variant:"title-4",children:"Results overview"})}),_r.jsx(o0.Content,{children:_r.jsxs("div",{className:"ndl-graph-visualization-overview-panel",children:[o.dataLookupTable.labels.length>0&&_r.jsxs("div",{className:"ndl-overview-section",children:[_r.jsx("div",{className:"ndl-overview-header",children:_r.jsxs("span",{children:["Nodes",` (${o.nodes.length.toLocaleString()})`]})}),_r.jsx("div",{className:"ndl-overview-items",children:_r.jsx(qj,{initiallyShown:Gj,isButtonGroup:!0,children:o.dataLookupTable.labels.map(r=>function(){var t,n,a,i;return _r.jsxs(Rw,{type:"node",htmlAttributes:{tabIndex:-1},color:(n=(t=o.dataLookupTable.labelMetaData[r])===null||t===void 0?void 0:t.mostCommonColor)!==null&&n!==void 0?n:"",as:"span",children:[r," (",(i=(a=o.dataLookupTable.labelMetaData[r])===null||a===void 0?void 0:a.totalCount)!==null&&i!==void 0?i:0,")"]},r)})})})]}),o.dataLookupTable.types.length>0&&_r.jsxs("div",{className:"ndl-overview-relationships-section",children:[_r.jsxs("span",{className:"ndl-overview-relationships-title",children:["Relationships",` (${o.rels.length.toLocaleString()})`]}),_r.jsx("div",{className:"ndl-overview-items",children:_r.jsx(qj,{initiallyShown:Gj,isButtonGroup:!0,children:o.dataLookupTable.types.map(r=>{var e,t,n,a;return _r.jsxs(Rw,{type:"relationship",htmlAttributes:{tabIndex:-1},color:(t=(e=o.dataLookupTable.typeMetaData[r])===null||e===void 0?void 0:e.mostCommonColor)!==null&&t!==void 0?t:"",as:"span",children:[r," (",(a=(n=o.dataLookupTable.typeMetaData[r])===null||n===void 0?void 0:n.totalCount)!==null&&a!==void 0?a:0,")"]},r)})})})]})]})})]})},zdr=()=>{const{selected:o}=Hd();return kr.useMemo(()=>o.nodeIds.length>0||o.relationshipIds.length>0,[o])?_r.jsx(Ddr,{}):_r.jsx(jdr,{})},H1=o=>!zj&&o.ctrlKey||zj&&o.metaKey,sm=o=>o.target instanceof HTMLElement?o.target.isContentEditable||["INPUT","TEXTAREA"].includes(o.target.tagName):!1;function Bdr({selected:o,setSelected:r,gesture:e,interactionMode:t,setInteractionMode:n,mouseEventCallbacks:a,nvlGraph:i,highlightedNodeIds:c,highlightedRelationshipIds:l}){const d=kr.useCallback(Mr=>{t==="select"&&Mr.key===" "&&n("pan")},[t,n]),s=kr.useCallback(Mr=>{t==="pan"&&Mr.key===" "&&n("select")},[t,n]);kr.useEffect(()=>(document.addEventListener("keydown",d),document.addEventListener("keyup",s),()=>{document.removeEventListener("keydown",d),document.removeEventListener("keyup",s)}),[d,s]);const{onBoxSelect:u,onLassoSelect:g,onLassoStarted:b,onBoxStarted:f,onPan:v=!0,onHover:p,onHoverNodeMargin:m,onNodeClick:y,onRelationshipClick:k,onDragStart:x,onDragEnd:S,onDrawEnded:_,onDrawStarted:E,onCanvasClick:O,onNodeDoubleClick:R,onRelationshipDoubleClick:D}=a,I=kr.useCallback(Mr=>{sm(Mr)||(r({nodeIds:[],relationshipIds:[]}),typeof O=="function"&&O(Mr))},[O,r]),L=kr.useCallback((Mr,Nr)=>{n("drag");const Ar=Mr.map(Y=>Y.id);if(o.nodeIds.length===0||H1(Nr)){r({nodeIds:Ar,relationshipIds:o.relationshipIds});return}r({nodeIds:Ar,relationshipIds:o.relationshipIds}),typeof x=="function"&&x(Mr,Nr)},[r,x,o,n]),j=kr.useCallback((Mr,Nr)=>{typeof S=="function"&&S(Mr,Nr),n("select")},[S,n]),z=kr.useCallback(Mr=>{typeof E=="function"&&E(Mr)},[E]),F=kr.useCallback((Mr,Nr,Ar)=>{typeof _=="function"&&_(Mr,Nr,Ar)},[_]),W=kr.useCallback((Mr,Nr,Ar)=>{if(!sm(Ar)){if(H1(Ar))if(o.nodeIds.includes(Mr.id)){const J=o.nodeIds.filter(nr=>nr!==Mr.id);r({nodeIds:J,relationshipIds:o.relationshipIds})}else{const J=[...o.nodeIds,Mr.id];r({nodeIds:J,relationshipIds:o.relationshipIds})}else r({nodeIds:[Mr.id],relationshipIds:[]});typeof y=="function"&&y(Mr,Nr,Ar)}},[r,o,y]),q=kr.useCallback((Mr,Nr,Ar)=>{if(!sm(Ar)){if(H1(Ar))if(o.relationshipIds.includes(Mr.id)){const J=o.relationshipIds.filter(nr=>nr!==Mr.id);r({nodeIds:o.nodeIds,relationshipIds:J})}else{const J=[...o.relationshipIds,Mr.id];r({nodeIds:o.nodeIds,relationshipIds:J})}else r({nodeIds:[],relationshipIds:[Mr.id]});typeof k=="function"&&k(Mr,Nr,Ar)}},[r,o,k]),V=kr.useCallback((Mr,Nr,Ar)=>{sm(Ar)||typeof R=="function"&&R(Mr,Nr,Ar)},[R]),K=kr.useCallback((Mr,Nr,Ar)=>{sm(Ar)||typeof D=="function"&&D(Mr,Nr,Ar)},[D]),$=kr.useCallback((Mr,Nr,Ar)=>{const Y=Mr.map(nr=>nr.id),J=Nr.map(nr=>nr.id);if(H1(Ar)){const nr=o.nodeIds,wr=o.relationshipIds,Er=(Yr,ie)=>[...new Set([...Yr,...ie].filter(ke=>!Yr.includes(ke)||!ie.includes(ke)))],Pr=Er(nr,Y),Dr=Er(wr,J);r({nodeIds:Pr,relationshipIds:Dr})}else r({nodeIds:Y,relationshipIds:J})},[r,o]),X=kr.useCallback(({nodes:Mr,rels:Nr},Ar)=>{$(Mr,Nr,Ar),typeof g=="function"&&g({nodes:Mr,rels:Nr},Ar)},[$,g]),Z=kr.useCallback(({nodes:Mr,rels:Nr},Ar)=>{$(Mr,Nr,Ar),typeof u=="function"&&u({nodes:Mr,rels:Nr},Ar)},[$,u]),lr=t==="draw",tr=t==="select",or=tr&&e==="box",dr=tr&&e==="lasso",sr=t==="pan"||tr&&e==="single",fr=t==="drag"||t==="select",ur=kr.useMemo(()=>{var Mr;return Object.assign(Object.assign({},a),{onBoxSelect:or?Z:!1,onBoxStarted:or?f:!1,onCanvasClick:tr?I:!1,onDragEnd:fr?j:!1,onDragStart:fr?L:!1,onDrawEnded:lr?F:!1,onDrawStarted:lr?z:!1,onHover:tr?p:!1,onHoverNodeMargin:lr?m:!1,onLassoSelect:dr?X:!1,onLassoStarted:dr?b:!1,onNodeClick:tr?W:!1,onNodeDoubleClick:tr?V:!1,onPan:sr?v:!1,onRelationshipClick:tr?q:!1,onRelationshipDoubleClick:tr?K:!1,onZoom:(Mr=a.onZoom)!==null&&Mr!==void 0?Mr:!0})},[fr,or,dr,sr,lr,tr,a,Z,f,I,j,L,F,z,p,m,X,b,W,V,v,q,K]),cr=kr.useMemo(()=>({nodeIds:new Set(o.nodeIds),relIds:new Set(o.relationshipIds)}),[o]),gr=kr.useMemo(()=>c!==void 0?new Set(c):null,[c]),vr=kr.useMemo(()=>l!==void 0?new Set(l):null,[l]),Or=kr.useMemo(()=>i.nodes.map(Mr=>Object.assign(Object.assign({},Mr),{disabled:gr?!gr.has(Mr.id):!1,selected:cr.nodeIds.has(Mr.id)})),[i.nodes,cr,gr]),Ir=kr.useMemo(()=>i.rels.map(Mr=>Object.assign(Object.assign({},Mr),{disabled:vr?!vr.has(Mr.id):!1,selected:cr.relIds.has(Mr.id)})),[i.rels,cr,vr]);return{nodesWithState:Or,relsWithState:Ir,wrappedMouseEventCallbacks:ur}}var Udr=function(o,r){var e={};for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&r.indexOf(t)<0&&(e[t]=o[t]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(o);n_r.jsx("div",{className:Ct(Fdr[e],r),children:o}),qdr={disableTelemetry:!0,disableWebGL:!0,maxZoom:3,minZoom:.05,relationshipThreshold:.55},W1={bottomLeftIsland:null,bottomRightIsland:_r.jsxs(Zz,{orientation:"vertical",isFloating:!0,size:"small",children:[_r.jsx(HG,{})," ",_r.jsx(VG,{})," ",_r.jsx(WG,{})]}),topLeftIsland:null,topRightIsland:_r.jsxs("div",{className:"ndl-graph-visualization-default-download-group",children:[_r.jsx(XG,{})," ",_r.jsx(YG,{})]})};function ii(o){var r,e,{nvlRef:t,nvlCallbacks:n,nvlOptions:a,sidepanel:i,nodes:c,rels:l,highlightedNodeIds:d,highlightedRelationshipIds:s,topLeftIsland:u=W1.topLeftIsland,topRightIsland:g=W1.topRightIsland,bottomLeftIsland:b=W1.bottomLeftIsland,bottomRightIsland:f=W1.bottomRightIsland,gesture:v="single",setGesture:p,layout:m,setLayout:y,portalTarget:k,selected:x,setSelected:S,interactionMode:_,setInteractionMode:E,mouseEventCallbacks:O={},className:R,style:D,htmlAttributes:I,ref:L,as:j}=o,z=Udr(o,["nvlRef","nvlCallbacks","nvlOptions","sidepanel","nodes","rels","highlightedNodeIds","highlightedRelationshipIds","topLeftIsland","topRightIsland","bottomLeftIsland","bottomRightIsland","gesture","setGesture","layout","setLayout","portalTarget","selected","setSelected","interactionMode","setInteractionMode","mouseEventCallbacks","className","style","htmlAttributes","ref","as"]);const F=kr.useMemo(()=>t??Da.createRef(),[t]),W=kr.useId(),{theme:q}=_x(),{bg:V,border:K,text:$}=Xl.theme[q].color.neutral,[X,Z]=kr.useState(0);kr.useEffect(()=>{Z(J=>J+1)},[q]);const[lr,tr]=jv({isControlled:_!==void 0,onChange:E,state:_??"select"}),[or,dr]=jv({isControlled:x!==void 0,onChange:S,state:x??{nodeIds:[],relationshipIds:[]}}),[sr,fr]=jv({isControlled:m!==void 0,onChange:y,state:m??"d3Force"}),ur=kr.useMemo(()=>_dr(c,l),[c,l]),{nodesWithState:cr,relsWithState:gr,wrappedMouseEventCallbacks:vr}=Bdr({gesture:v,highlightedNodeIds:d,highlightedRelationshipIds:s,interactionMode:lr,mouseEventCallbacks:O,nvlGraph:ur,selected:or,setInteractionMode:tr,setSelected:dr}),[Or,Ir]=jv({isControlled:(i==null?void 0:i.isSidePanelOpen)!==void 0,onChange:i==null?void 0:i.setIsSidePanelOpen,state:(r=i==null?void 0:i.isSidePanelOpen)!==null&&r!==void 0?r:!0}),[Mr,Nr]=jv({isControlled:(i==null?void 0:i.sidePanelWidth)!==void 0,onChange:i==null?void 0:i.onSidePanelResize,state:(e=i==null?void 0:i.sidePanelWidth)!==null&&e!==void 0?e:400}),Ar=kr.useMemo(()=>i===void 0?{children:_r.jsx(ii.SingleSelectionSidePanelContents,{}),isSidePanelOpen:Or,onSidePanelResize:Nr,setIsSidePanelOpen:Ir,sidePanelWidth:Mr}:i,[i,Or,Ir,Mr,Nr]),Y=j??"div";return _r.jsx(Y,Object.assign({ref:L,className:Ct("ndl-graph-visualization-container",R),style:D},I,{children:_r.jsxs(qG.Provider,{value:{gesture:v,interactionMode:lr,layout:sr,nvlGraph:ur,nvlInstance:F,portalTarget:k,selected:or,setGesture:p,setLayout:fr,sidepanel:Ar},children:[_r.jsxs("div",{className:"ndl-graph-visualization",children:[_r.jsx(rdr,Object.assign({layout:sr,nodes:cr,rels:gr,nvlOptions:Object.assign(Object.assign(Object.assign({},qdr),{instanceId:W,styling:{defaultRelationshipColor:K.strongest,disabledItemColor:V.strong,disabledItemFontColor:$.weakest,dropShadowColor:K.weak,selectedInnerBorderColor:V.default}}),a),nvlCallbacks:Object.assign({onLayoutComputing(J){var nr;J||(nr=F.current)===null||nr===void 0||nr.fit(F.current.getNodes().map(wr=>wr.id),{noPan:!0})}},n),mouseEventCallbacks:vr,ref:F},z),X),u!==null&&_r.jsx(V1,{placement:"top-left",children:u}),g!==null&&_r.jsx(V1,{placement:"top-right",children:g}),b!==null&&_r.jsx(V1,{placement:"bottom-left",children:b}),f!==null&&_r.jsx(V1,{placement:"bottom-right",children:f})]}),Ar&&_r.jsx(o0,{sidepanel:Ar})]})}))}ii.ZoomInButton=HG;ii.ZoomOutButton=VG;ii.ZoomToFitButton=WG;ii.ToggleSidePanelButton=YG;ii.DownloadButton=XG;ii.BoxSelectButton=idr;ii.LassoSelectButton=cdr;ii.SingleSelectButton=adr;ii.SearchButton=ldr;ii.SingleSelectionSidePanelContents=zdr;ii.LayoutSelectButton=sdr;ii.GestureSelectButton=gdr;function Gdr(o){return Array.isArray(o)&&o.every(r=>typeof r=="string")}function Hdr(o){return o.map(r=>{const e=Gdr(r.properties.labels)?r.properties.labels:[];return{...r,id:r.id,labels:r.caption?[r.caption]:e,properties:Object.entries(r.properties).reduce((t,[n,a])=>{if(n==="labels")return t;const i=typeof a;return t[n]={stringified:i==="string"?`"${a}"`:String(a),type:i},t},{})}})}function Vdr(o){return o.map(r=>({...r,id:r.id,type:r.caption??r.properties.type??"",properties:Object.entries(r.properties).reduce((e,[t,n])=>(t==="type"||(e[t]={stringified:String(n),type:typeof n}),e),{}),from:r.from,to:r.to}))}class Wdr extends kr.Component{constructor(r){super(r),this.state={error:null}}static getDerivedStateFromError(r){return{error:r}}componentDidCatch(r,e){console.error("[neo4j-viz] Rendering error:",r,e.componentStack)}render(){return this.state.error?_r.jsxs("div",{style:{padding:"24px",fontFamily:"system-ui, sans-serif",color:"#c0392b",background:"#fdf0ef",borderRadius:"8px",border:"1px solid #e6b0aa",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center"},children:[_r.jsx("h3",{style:{margin:"0 0 8px"},children:"Graph rendering failed"}),_r.jsx("pre",{style:{margin:0,whiteSpace:"pre-wrap",fontSize:"13px",color:"#6c3428"},children:this.state.error.message})]}):this.props.children}}function Ydr(){if(document.body.classList.contains("vscode-light")||document.body.classList.contains("light-theme"))return"light";if(document.body.classList.contains("vscode-dark")||document.body.classList.contains("dark-theme"))return"dark";const r=window.getComputedStyle(document.body,null).getPropertyValue("background-color").match(/\d+/g);if(!r||r.length<3)return"light";const e=Number(r[0])*.2126+Number(r[1])*.7152+Number(r[2])*.0722;return e===0&&r.length>3&&r[3]==="0"?"light":e<128?"dark":"light"}function Xdr(o){return o==="auto"?Ydr():o}const Hj=(tS.match(/@font-face\s*\{[^}]*\}/g)||[]).join(` -`);if(Hj){const o=document.createElement("style");o.textContent=Hj,document.head.appendChild(o)}let Vj=!1;function Kdr(o){if(Vj)return;Vj=!0;const r=o.getRootNode();if(r instanceof ShadowRoot){const e=new CSSStyleSheet;e.replaceSync(tS),r.adoptedStyleSheets=[...r.adoptedStyleSheets,e]}else{const e=document.createElement("style");e.textContent=tS,document.head.appendChild(e)}}function Qdr(){const[o]=Y0("nodes"),[r]=Y0("relationships"),[e,t]=Y0("options"),[n]=Y0("height"),[a]=Y0("width"),[i]=Y0("theme"),[c,l]=kr.useState("box"),{layout:d,nvlOptions:s,zoom:u,pan:g,layoutOptions:b,showLayoutButton:f}=e??{},v=I=>{t({...e,layout:I})},p=kr.useRef(null),m=Xdr(i??"auto"),[y,k]=kr.useState(null);kr.useEffect(()=>{p.current&&(Kdr(p.current),p.current.getRootNode()instanceof ShadowRoot&&k(p.current))},[]);const[x,S]=kr.useMemo(()=>[Hdr(o??[]),Vdr(r??[])],[o,r]),_=kr.useMemo(()=>({...s,minZoom:0,maxZoom:1e3,disableWebWorkers:!0}),[s]),[E,O]=kr.useState(!1),[R,D]=kr.useState(300);return _r.jsx(TY,{theme:m,wrapperProps:{isWrappingChildren:!1},children:_r.jsx("div",{ref:p,style:{height:n??"600px",width:a??"100%"},children:_r.jsx(ii,{nodes:x,rels:S,gesture:c,setGesture:l,layout:d,setLayout:v,nvlOptions:_,zoom:u,pan:g,layoutOptions:b,portalTarget:y,sidepanel:{isSidePanelOpen:E,setIsSidePanelOpen:O,onSidePanelResize:D,sidePanelWidth:R,children:_r.jsx(ii.SingleSelectionSidePanelContents,{})},topLeftIsland:_r.jsx(ii.DownloadButton,{tooltipPlacement:"right"}),topRightIsland:_r.jsx(ii.ToggleSidePanelButton,{tooltipPlacement:"left"}),bottomRightIsland:_r.jsxs(Zz,{size:"medium",orientation:"horizontal",children:[_r.jsx(ii.GestureSelectButton,{menuPlacement:"top-end-bottom-end",tooltipPlacement:"top"}),_r.jsx(aS,{orientation:"vertical"}),_r.jsx(ii.ZoomInButton,{tooltipPlacement:"top"}),_r.jsx(ii.ZoomOutButton,{tooltipPlacement:"top"}),_r.jsx(ii.ZoomToFitButton,{tooltipPlacement:"top"}),f&&_r.jsxs(_r.Fragment,{children:[_r.jsx(aS,{orientation:"vertical"}),_r.jsx(ii.LayoutSelectButton,{menuPlacement:"top-end-bottom-end",tooltipPlacement:"top"})]})]})})})})}function Zdr(){return _r.jsx(Wdr,{children:_r.jsx(Qdr,{})})}const Jdr=mH(Zdr),$dr={render:Jdr},p2=window.__NEO4J_VIZ_DATA__;if(!p2)throw document.body.innerHTML=` +`);if(Hj){const o=document.createElement("style");o.textContent=Hj,document.head.appendChild(o)}let Vj=!1;function Kdr(o){if(Vj)return;Vj=!0;const r=o.getRootNode();if(r instanceof ShadowRoot){const e=new CSSStyleSheet;e.replaceSync(tS),r.adoptedStyleSheets=[...r.adoptedStyleSheets,e]}else{const e=document.createElement("style");e.textContent=tS,document.head.appendChild(e)}}function Qdr(){const[o]=Y0("nodes"),[r]=Y0("relationships"),[e,t]=Y0("options"),[n]=Y0("height"),[a]=Y0("width"),[i]=Y0("theme"),[c,l]=kr.useState("single"),{layout:d,nvlOptions:s,zoom:u,pan:g,layoutOptions:b,showLayoutButton:f}=e??{},v=I=>{t({...e,layout:I})},p=kr.useRef(null),m=Xdr(i??"auto"),[y,k]=kr.useState(null);kr.useEffect(()=>{p.current&&(Kdr(p.current),p.current.getRootNode()instanceof ShadowRoot&&k(p.current))},[]);const[x,S]=kr.useMemo(()=>[Hdr(o??[]),Vdr(r??[])],[o,r]),_=kr.useMemo(()=>({...s,minZoom:0,maxZoom:1e3,disableWebWorkers:!0}),[s]),[E,O]=kr.useState(!1),[R,D]=kr.useState(300);return _r.jsx(TY,{theme:m,wrapperProps:{isWrappingChildren:!1},children:_r.jsx("div",{ref:p,style:{height:n??"600px",width:a??"100%"},children:_r.jsx(ii,{nodes:x,rels:S,gesture:c,setGesture:l,layout:d,setLayout:v,nvlOptions:_,zoom:u,pan:g,layoutOptions:b,portalTarget:y,sidepanel:{isSidePanelOpen:E,setIsSidePanelOpen:O,onSidePanelResize:D,sidePanelWidth:R,children:_r.jsx(ii.SingleSelectionSidePanelContents,{})},topLeftIsland:_r.jsx(ii.DownloadButton,{tooltipPlacement:"right"}),topRightIsland:_r.jsx(ii.ToggleSidePanelButton,{tooltipPlacement:"left"}),bottomRightIsland:_r.jsxs(Zz,{size:"medium",orientation:"horizontal",children:[_r.jsx(ii.GestureSelectButton,{menuPlacement:"top-end-bottom-end",tooltipPlacement:"top"}),_r.jsx(aS,{orientation:"vertical"}),_r.jsx(ii.ZoomInButton,{tooltipPlacement:"top"}),_r.jsx(ii.ZoomOutButton,{tooltipPlacement:"top"}),_r.jsx(ii.ZoomToFitButton,{tooltipPlacement:"top"}),f&&_r.jsxs(_r.Fragment,{children:[_r.jsx(aS,{orientation:"vertical"}),_r.jsx(ii.LayoutSelectButton,{menuPlacement:"top-end-bottom-end",tooltipPlacement:"top"})]})]})})})})}function Zdr(){return _r.jsx(Wdr,{children:_r.jsx(Qdr,{})})}const Jdr=mH(Zdr),$dr={render:Jdr},p2=window.__NEO4J_VIZ_DATA__;if(!p2)throw document.body.innerHTML=`

Missing visualization data

Expected window.__NEO4J_VIZ_DATA__ to be set.

diff --git a/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/widget.js b/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/widget.js index 8b844de..38f2890 100644 --- a/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/widget.js +++ b/python-wrapper/src/neo4j_viz/resources/nvl_entrypoint/widget.js @@ -82239,7 +82239,7 @@ function Ydr(o) { } } function Xdr() { - const [o] = Y0("nodes"), [r] = Y0("relationships"), [e, t] = Y0("options"), [n] = Y0("height"), [a] = Y0("width"), [i] = Y0("theme"), [c, l] = kr.useState("box"), { layout: d, nvlOptions: s, zoom: u, pan: g, layoutOptions: b, showLayoutButton: f } = e ?? {}, v = (I) => { + const [o] = Y0("nodes"), [r] = Y0("relationships"), [e, t] = Y0("options"), [n] = Y0("height"), [a] = Y0("width"), [i] = Y0("theme"), [c, l] = kr.useState("single"), { layout: d, nvlOptions: s, zoom: u, pan: g, layoutOptions: b, showLayoutButton: f } = e ?? {}, v = (I) => { t({ ...e, layout: I }); }, p = kr.useRef(null), m = Wdr(i ?? "auto"), [y, k] = kr.useState(null); kr.useEffect(() => { diff --git a/python-wrapper/src/neo4j_viz/widget.py b/python-wrapper/src/neo4j_viz/widget.py index d701474..433d411 100644 --- a/python-wrapper/src/neo4j_viz/widget.py +++ b/python-wrapper/src/neo4j_viz/widget.py @@ -84,6 +84,9 @@ def from_graph_data( theme=theme, ) + def __str__(self) -> str: + return f"GraphWidget(nodes={len(self.nodes)}, relationships={len(self.relationships)}, options={self.options}, theme={self.theme}, width={self.width}, height={self.height})" + def add_data( self, nodes: Node | list[Node] | None = None, relationships: Relationship | list[Relationship] | None = None ) -> None: