@graphique/graphique
Version:
A data visualization system for React based on the Grammar of Graphics.
4 lines • 37.8 kB
JavaScript
;var Vr=Object.create;var fe=Object.defineProperty;var Gr=Object.getOwnPropertyDescriptor;var vr=Object.getOwnPropertyNames;var wr=Object.getPrototypeOf,_r=Object.prototype.hasOwnProperty;var Cr=(e,t)=>{for(var o in t)fe(e,o,{get:t[o],enumerable:!0})},io=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of vr(t))!_r.call(e,a)&&a!==o&&fe(e,a,{get:()=>t[a],enumerable:!(r=Gr(t,a))||r.enumerable});return e};var Ct=(e,t,o)=>(o=e!=null?Vr(wr(e)):{},io(t||!e||!e.__esModule?fe(o,"default",{value:e,enumerable:!0}):o,e)),Yr=e=>io(fe({},"__esModule",{value:!0}),e);var Rr={};Cr(Rr,{BrushAction:()=>Eo,EventArea:()=>$o,GG:()=>jo,Labels:()=>tr,LegendOrientation:()=>To,ScaleFill:()=>xr,ScaleRadius:()=>Ar,ScaleStroke:()=>br,ScaleStrokeDasharray:()=>Pr,ScaleX:()=>pr,ScaleY:()=>dr,Theme:()=>rr,Tooltip:()=>sr,TooltipContainer:()=>fr,TooltipPosition:()=>de,XTooltip:()=>ur,YTooltip:()=>mr,Zoom:()=>Be,autoScale:()=>le,createSequentialScheme:()=>_e,debounce:()=>lo,defaultDasharrays:()=>we,defaultInterpolator:()=>ot.interpolateViridis,defaultScheme:()=>oe,defineGroupAccessor:()=>re,elongate:()=>fo,fillScaleState:()=>ne,focusNodes:()=>mo,formatDate:()=>pe,formatMissing:()=>No,formatMonth:()=>ao,generateID:()=>Pe,getYAlongPath:()=>co,isDate:()=>Et,labelsState:()=>Wt,nodeToString:()=>Uo,parseDate:()=>so,radiusScaleState:()=>ge,strokeDasharrayState:()=>se,strokeScaleState:()=>ie,themeState:()=>rt,tooltipState:()=>yt,unfocusNodes:()=>uo,useGG:()=>qt,usePageVisibility:()=>qo.usePageVisibility,useUnZoom:()=>De,widen:()=>po,xScaleState:()=>xt,yScaleState:()=>St,zoomState:()=>Yt});module.exports=Yr(Rr);var bt=Ct(require("react"),1),Jo=require("jotai");var jt=require("d3-time-format"),so=(e,t="%Y-%m-%d")=>(0,jt.timeParse)(t)(e),Et=e=>Object.prototype.toString.call(e)==="[object Date]",ao=(e,t=!1)=>{let o;return t?o=e.getMonth()===0?(0,jt.timeFormat)("%b %Y")(e):(0,jt.timeFormat)("%b")(e):o=(0,jt.timeFormat)("%b %Y")(e),o},pe=(e,t="%b %d, %Y")=>(0,jt.timeFormat)(t)(e);var j=require("d3-scale"),Mt=require("d3-array");var ot=require("d3-scale-chromatic"),oe=[ot.schemeTableau10[0],ot.schemeTableau10[1],ot.schemeTableau10[4],ot.schemeTableau10[2],ot.schemeTableau10[3],...ot.schemeTableau10.slice(5)],we=["0","2,2","5,4","2,8,2","15,4","8,2,8"];var _e=(e=ot.interpolateViridis,t=5)=>{let o=[];for(let r=0;r<t;r+=1)o.push(e(r/(t-1)));return o};var re=(e,t=!1)=>{if(!(!e&&t))return e?.fill||e?.stroke||e?.strokeDasharray||e?.group||(t?void 0:()=>"__group")};var le=({scalesState:e,data:t,copiedData:o,aes:r,width:a=500,height:l=450,margin:c,shouldExcludeMissingXYFromDomains:m})=>{let i={top:10,right:20,bottom:10,left:30,...c},{x:s,y:n,fill:k,stroke:h,strokeDasharray:v,hasZeroXBaseLine:x,hasZeroYBaseLine:Y,geomGroupAccessors:V,y0Aes:G,y1Aes:X,geomAesYs:M,geomAesStrokes:$,geomAesFills:B,geomAesStrokeDasharrays:z}=e,{domain:W,type:U,reverse:A}=s||{},{domain:w,type:u,reverse:K}=n||{},{domain:g,type:ut,values:vt,reverse:ct}=k||{},{domain:At,type:Ot,values:it,reverse:Ft}=h||{},{domain:$t,values:Zt}=v||{},Nt=(S,p,_)=>_.indexOf(S)-_.indexOf(p),Xt=V.length?V[0]:void 0,Dt=r?.fill||r?.stroke||r?.strokeDasharray||r?.group?re(r):Xt,Q=r.group||V.length||!1,ft=Dt?Array.from(new Set(t.map(Dt))):["__group"],wt=r.y||(M.length?M[0]:void 0),zt=wt??X??G,Vt=r.stroke||($.length?$[0]:void 0),L=r.fill||(B.length?B[0]:void 0),R=r.strokeDasharray||(z.length?z[0]:void 0),kt,st=t.map(r.x).find(S=>S!=null);if(Et(st)){let S=W||(0,Mt.extent)(t,r.x),p=typeof S[0]<"u"&&typeof S[1]<"u"&&S[0].valueOf()!==0&&S[1].valueOf()!==0;kt=(0,j.scaleTime)().range([i.left,a-i.right]).domain(p?S:[0,0])}else if(typeof st=="number"){let S=(0,Mt.extent)(t,r.x),p=W||[x?0:S[0],S[1]],_=typeof p[0]<"u"&&typeof p[1]<"u";kt=(U||j.scaleLinear)().range([i.left,a-i.right]).domain(_?p:[0,1])}else if(!Number.isFinite(st)||typeof st=="string"){let S=Array.from(new Set(o.map(r.x))),p=Array.from(new Set(t.map(r.x))),_=W||p.filter(q=>m?q!==null&&typeof q<"u":!0).sort((q,Pt)=>Nt(q,Pt,S));kt=(0,j.scaleBand)().range([i.left,a-i.right]).domain(_)}A&&kt?.domain(kt.domain().reverse());let pt;if(zt){let S=t.map(zt).find(p=>p!=null);if(Et(S)){let p=w||(0,Mt.extent)(t,wt),_=typeof p[0]<"u"&&typeof p[1]<"u";pt=(0,j.scaleTime)().range([l-i.bottom,i.top]).domain(_?p:[0,1])}else if(typeof S=="number"){let p=(0,Mt.extent)(t,wt),_=w??[Y?0:p[0],p[1]],q=typeof _[0]<"u"&&typeof _[1]<"u";pt=(u||j.scaleLinear)().range([l-i.bottom,i.top]).domain(q?_:[0,1])}else if(!Number.isFinite(S)||typeof S=="string"){let p=Array.from(new Set(o.map(zt))),_=Array.from(new Set(t.map(zt))),q=w||_.filter(Pt=>m?Pt!==null&&typeof Pt<"u":!0).sort((Pt,te)=>Nt(Pt,te,p));pt=(0,j.scaleBand)().range([i.top,l-i.bottom]).domain(q)}}else pt=(0,j.scaleLinear)().range([l-i.bottom,i.top]).domain([0,1]);K&&pt?.domain(pt.domain().reverse());let tt;if(L){let S=t.map(L).find(N=>N!=null),p=g||(0,Mt.extent)(t,L),_=vt||ot.interpolateViridis,q=g||ft,Pt=g||t.map(N=>Dt?Dt(N):"__group"),te=vt||oe,Ee=vt||_e(_);if(ut){let N=ut;N()?.invertExtent?tt=N().domain(N.name==="quantize"?p:Pt).range(Ee):N()?.interpolator?tt=N().domain(p).interpolator(_):(Q=!0,tt=N().domain(q).range(te))}else!Number.isFinite(S)||typeof S=="string"?(Q=!0,tt=(0,j.scaleOrdinal)().domain(q).range(te)):(Et(S)||typeof S=="number")&&(Q=!1,tt=(0,j.scaleSequential)().domain(p).interpolator(_))}ct&&tt?.interpolator&&tt?.domain(tt.domain().reverse());let J;if(Vt){let S=t.map(Vt).find(p=>p!=null);if(Ot){let p,_=Ot;switch(Ot.name){case"sequential":p=At||(0,Mt.extent)(t,Vt),J=_().domain(p).interpolator(it||ot.interpolateViridis);break;case"sequentialLog":p=At||(0,Mt.extent)(t,Vt),J=_().domain(p).interpolator(it||ot.interpolateViridis);break;case"sequentialSqrt":p=At||(0,Mt.extent)(t,Vt),J=_().domain(p).interpolator(it||ot.interpolateViridis);break;case"ordinal":Q=!0,p=At||ft,J=_().domain(p).range(it||oe);break;default:Q=!0,p=At||ft,J=_().domain(p).range(it||oe)}}else if(!Number.isFinite(S)||typeof S=="string"){Q=!0;let p=At||ft;J=(0,j.scaleOrdinal)().domain(p).range(it||oe)}else if(Et(S)||typeof S=="number"){let p=At||(0,Mt.extent)(t,Vt);J=(0,j.scaleSequential)().domain(p).interpolator(it||ot.interpolateViridis)}}Ft&&J?.domain(J.domain().reverse());let _t;if(R){Q=!0;let S=$t||ft;_t=(0,j.scaleOrdinal)().domain(S).range(Zt||we)}return{xScale:kt,yScale:pt,fillScale:tt,strokeScale:J,strokeDasharrayScale:_t,groupAccessor:Dt,groups:Q?ft:void 0}};var lo=(e,t)=>{let o;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r),o=null},e)}};var mo=({nodes:e,focusedIndex:t,focusedStyles:o,unfocusedStyles:r})=>{let a=e,l=typeof t<"u"?[t].flat():void 0;Array.from(e)?.filter((m,i)=>l&&!l.includes(i))?.forEach(m=>{let i=m;Object.entries(r).forEach(([s,n])=>{i.style[s]=n})}),Object.entries(o).forEach(([m,i])=>{l?.forEach(s=>{a[s].style[m]=i})})},uo=({nodes:e,baseStyles:t})=>{Array.from(e).forEach(o=>{let r=o;Object.entries(t).forEach(([a,l])=>{r.style[a]=l})})};var co=(e,t,o=.01)=>{let r=t.getTotalLength(),a=0,l=t.getPointAtLength((r+a)/2),c=50,m=0;for(;(e<l.x-o||e>l.x+o)&&(l=t.getPointAtLength((r+a)/2),e<l.x?r=(a+r)/2:a=(a+r)/2,m+=1,!(c<m)););return l.y};var fo=(e,t,o,r)=>{let a=[];return e.forEach(l=>{let c=Object.keys(l).filter(i=>!r.includes(i)),m=Object.keys(l).reduce((i,s)=>{let n=i;return r.includes(s)&&(n[s]=l[s]),n},{});c.forEach(i=>{let s={};s[t]=i,s[o]=l[i],a.push({...s,...m})})}),a};var po=(e,t,o,r)=>{let a=Array.from(new Set(e.map(c=>Et(t(c))?t(c).valueOf():t(c)))),l=Array.from(new Set(e.map(o)));return a.map((c,m)=>{let i={key:Et(c)?c.valueOf():c,i:m};return l.forEach(s=>{let n=e.find(k=>Et(t(k))?t(k).valueOf()===c.valueOf()&&o(k)===s:t(k)===c&&o(k)===s);n&&(i[s]=r(n)??void 0)}),i})};var f=Ct(require("react"),1),ke=require("d3-delaunay"),ae=require("jotai"),Ne=require("d3-selection"),Qt=require("d3-array");var go=require("jotai"),Wt=(0,go.atom)({header:"",x:"",y:""});var Ce=require("jotai"),Kr=(0,Ce.atom)({}),rt=(0,Ce.atom)({markerStroke:"#fff",defaultStroke:"#777777ee",defaultFill:"#777777ee",font:{family:`system-ui, BlinkMacSystemFont, Segoe UI,
Roboto, Oxygen-Sans, Ubuntu, Cantarell,
Helvetica Neue, sans-serif`},grid:{},axis:{showAxisLine:!1},axisX:{stroke:"#33333333",showAxisLine:!1},axisY:{stroke:"#33333333",showAxisLine:!1},geoms:{},legend:{},tooltip:{},animationDuration:1e3});var yo=require("jotai");var de=(o=>(o.TOP="top",o.DATA="data",o))(de||{}),Ye=e=>Et(e)?pe(e):typeof e=="number"?e.toLocaleString(void 0,{maximumFractionDigits:2}):e,yt=(0,yo.atom)({position:"data",keepInParent:!0,xFormat:Ye,yFormat:Ye,measureFormat:Ye,xAxis:!1,dx:()=>0,dy:()=>0});var xo=require("jotai"),xt=(0,xo.atom)({numTicks:e=>{if(e&&e<500)return 3;if(e<800)return 5}});var So=require("jotai"),St=(0,So.atom)({numTicks:e=>e&&e<500?4:void 0});var ho=require("jotai"),ne=(0,ho.atom)({});var bo=require("jotai"),ie=(0,bo.atom)({});var Do=require("jotai"),se=(0,Do.atom)({});var ko=require("jotai"),ge=(0,ko.atom)({range:[3,30]});var Po=require("jotai"),Yt=(0,Po.atom)({});var Eo=(t=>(t.ZOOM="zoom",t))(Eo||{});var To=(o=>(o.H="horizontal",o.V="vertical",o))(To||{});var C=Ct(require("react"),1),Ut=require("jotai"),Go=require("react-page-visibility");var Le=Ct(require("react"),1),Me=e=>Le.default.Children.toArray(e).reduce((o,r)=>r.type===Le.default.Fragment?o.concat(Me(r.props.children)):(o.push(r),o),[]);var mt=Ct(require("react"),1),ye=require("d3-axis"),Fe=require("d3-selection"),Ao=require("d3-transition"),me=require("jotai");var Xe=({ggState:e,animate:t})=>{let[{axis:o,axisX:r,grid:a,font:l,animationDuration:c}]=(0,me.useAtom)(rt),{aes:m,width:i,margin:s,height:n,scales:k}=e||{width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}},h=k?.xScale,[{datum:v}]=(0,me.useAtom)(yt),[x]=(0,me.useAtom)(Wt),[{format:Y,numTicks:V,highlightOnFocus:G,focusedTicks:X,className:M}]=(0,me.useAtom)(xt),[$,B]=(0,mt.useState)(!0);(0,mt.useEffect)(()=>{let u=setTimeout(()=>B(!1),0);return()=>clearTimeout(u)},[]);let z=(0,mt.useRef)(null),W=(0,mt.useRef)(null),A=(i&&Y?(0,ye.axisBottom)(h).tickFormat((u,K)=>Y({value:u,index:K,width:i})):(0,ye.axisBottom)(h)).tickSizeOuter(0).ticks(i&&typeof V=="function"?V(i):V),w=(0,ye.axisBottom)(h).tickSize(-n+s.top+s.bottom).tickSizeOuter(0).tickFormat(()=>"").ticks(i&&typeof V=="function"?V(i):V);return(0,mt.useEffect)(()=>{let u=(0,Fe.select)(z.current),K=(0,Ao.transition)().duration(c);t?u.transition(K).call(A):u.call(A);let g=(0,Fe.select)(W.current);t?g.transition(K).call(w):g.call(w),u.select("path").attr("stroke",(o?.showAxisLine||r?.showAxisLine)&&(o?.stroke||r?.stroke)||"none").attr("fill","none"),u.selectAll("line").attr("stroke",r?.tickStroke||o?.tickStroke||a?.stroke||"currentColor").style("opacity",r?.tickStroke||o?.tickStroke||a?.stroke?1:.08),u.selectAll("text").data(h.bandwidth?h.domain():[]).style("opacity",ut=>h.bandwidth&&v&&G&&m?.x?m?.x(v[0])===ut||X?.includes(String(ut))?1:.4:h.bandwidth&&X?X?.includes(String(ut))?1:.4:r?.tickLabel?.color||o?.tickLabel?.color?1:.8),u.selectAll("text").attr("fill",r?.tickLabel?.color||o?.tickLabel?.color||"currentColor").attr("data-testid","__gg_x_tick_label").style("font-size",r?.tickLabel?.fontSize||o?.tickLabel?.fontSize||"12px").style("font-family",r?.tickLabel?.fontFamily||o?.tickLabel?.fontFamily||l?.family||"sans-serif"),M&&u.attr("class",M),g.selectAll("line").attr("stroke",a?.stroke===null?"transparent":a?.stroke||"currentColor").style("opacity",a?.stroke?1:.08),g.select("path").attr("stroke","none")},[o,r,a,A,w,l,t,m,v,G,X,h,M]),$?null:mt.default.createElement(mt.default.Fragment,null,mt.default.createElement("g",{ref:z,transform:`translate(0, ${n-s.bottom})`}),mt.default.createElement("g",{ref:W,transform:`translate(0, ${n-s.bottom})`}),x.x&&mt.default.createElement("g",null,mt.default.createElement("text",{"data-testid":"__gg_x_label",style:{transform:`translate(${s.left+2}px, ${n-s.bottom+36}px)`,pointerEvents:"none",fontFamily:r?.label?.fontFamily||o?.label?.fontFamily||l?.family,fontSize:r?.label?.fontSize||o?.label?.fontSize||12,fill:r?.label?.color||o?.label?.color||"currentColor",fontWeight:600}},x.x)))};var Tt=Ct(require("react"),1),xe=require("d3-axis"),ze=require("d3-selection"),Vo=require("d3-transition"),Se=require("jotai");var Ie=({ggState:e,animate:t})=>{let[{axis:o,axisY:r,grid:a,font:l,animationDuration:c}]=(0,Se.useAtom)(rt),{aes:m,height:i,width:s,margin:n,scales:k}=e||{width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}},h=k?.yScale,[{datum:v}]=(0,Se.useAtom)(yt),[{format:x,numTicks:Y,highlightOnFocus:V,focusedTicks:G,className:X}]=(0,Se.useAtom)(St),[M,$]=(0,Tt.useState)(!0);(0,Tt.useEffect)(()=>{let w=setTimeout(()=>$(!1),0);return()=>clearTimeout(w)},[]);let B=(0,Tt.useRef)(null),z=(0,Tt.useRef)(null),U=(s&&x?(0,xe.axisLeft)(h).tickFormat((w,u)=>x({value:w,index:u,width:s})):(0,xe.axisLeft)(h)).tickSizeOuter(0).ticks(i&&typeof Y=="function"?Y(i):Y),A=(0,xe.axisLeft)(h).tickSize(-s+n.left+n.right).tickSizeOuter(0).tickFormat(()=>"").ticks(i&&typeof Y=="function"?Y(i):Y);return(0,Tt.useEffect)(()=>{let w=(0,ze.select)(B.current),u=(0,Vo.transition)().duration(c);t?w.transition(u).call(U):w.call(U);let K=(0,ze.select)(z.current);t?K.transition(u).call(A):K.call(A),w.select("path").attr("stroke",(o?.showAxisLine||r?.showAxisLine)&&(o?.stroke||r?.stroke)||"none").attr("fill","none"),w.selectAll("line").attr("stroke",r?.tickStroke||o?.tickStroke||a?.stroke||"currentColor").style("opacity",r?.tickStroke||o?.tickStroke||a?.stroke?1:.08),w.selectAll("text").data(h.bandwidth?h.domain():[]).style("opacity",g=>h.bandwidth&&v&&V&&m?.y?m?.y(v[0])===g||G?.includes(String(g))?1:.4:h.bandwidth&&G?G?.includes(String(g))?1:.4:r?.tickLabel?.color||o?.tickLabel?.color?1:.8),w.selectAll("text").attr("fill",r?.tickLabel?.color||o?.tickLabel?.color||"currentColor").attr("data-testid","__gg_y_tick_label").style("font-size",r?.tickLabel?.fontSize||o?.tickLabel?.fontSize||"12px").style("font-family",r?.tickLabel?.fontFamily||o?.tickLabel?.fontFamily||l?.family||"sans-serif"),X&&w.attr("class",X),K.selectAll("line").attr("stroke",a?.stroke===null?"transparent":a?.stroke||"currentColor").style("opacity",a?.stroke?1:.08),K.select("path").attr("stroke","none")},[o,r,a,U,A,l,t,m,v,V,G,h,X]),M?null:Tt.default.createElement(Tt.default.Fragment,null,Tt.default.createElement("g",{ref:B,transform:`translate(${n.left}, 0)`}),Tt.default.createElement("g",{ref:z,transform:`translate(${n.left}, 0)`}))};var vo=(0,C.createContext)(void 0),wo=({data:e,aes:t,width:o=500,height:r=450,margin:a,id:l,children:c})=>{let[m]=(0,Ut.useAtom)(Wt),[{font:i,headerColor:s,axis:n,axisX:k,axisY:h,animationDuration:v}]=(0,Ut.useAtom)(rt),[x]=(0,Ut.useAtom)(xt),[Y]=(0,Ut.useAtom)(St),[V]=(0,Ut.useAtom)(ne),[G]=(0,Ut.useAtom)(ie),[X]=(0,Ut.useAtom)(se),M=(0,Go.usePageVisibility)(),[$,B]=(0,C.useState)(e),z={top:10,right:20,bottom:40,left:30,...a},W=Math.min(window.innerWidth-15,o),U=e,A=[],w=[],u=!1;Me(c).forEach(L=>{C.default.isValidElement(L)&&(L.type?.displayName?.includes("Geom")?A.push(L):w.push(L))});let K=[],g=[],ut=[],vt=[],ct=[],At=[],Ot=[],it=[],Ft=[],$t=[],Zt=[];A.forEach(L=>{let R=L.props,kt=re(R.aes,!0);kt&&it.push(kt),R.aes?.x&&vt.push(R.aes.x),R.aes?.y&&ct.push(R.aes.y),R.aes?.y0&&At.push(R.aes.y0),R.aes?.y1&&Ot.push(R.aes.y1),R.aes?.stroke&&Ft.push(R.aes.stroke),R.aes?.strokeDasharray&&$t.push(R.aes.strokeDasharray),R.aes?.fill&&Zt.push(R.aes.fill);let st=L.type.displayName.includes("Bar");st&&g.push(!R.freeBaseLine),st||K.push(R.position),L.type.displayName.includes("Col")&&ut.push(!R.freeBaseLine),L.type.displayName.includes("Tile")&&(u=!0)});let Nt=A.find(L=>L.type.displayName.includes("Area")),Xt=Nt?.props?.aes?.y0,Dt=Nt?.props?.aes?.y1,Q=g.some(L=>L),ft=ut.some(L=>L),wt=(0,C.useMemo)(()=>({id:l,copiedData:U,data:$,aes:t,width:W,height:r,margin:z,copiedScales:le({scalesState:{x,y:Y,geomAesYs:ct,y0Aes:Xt,y1Aes:Dt,hasZeroXBaseLine:Q,hasZeroYBaseLine:ft,geomGroupAccessors:it,geomAesStrokes:Ft,geomAesStrokeDasharrays:$t,geomAesFills:Zt,fill:V,stroke:G,strokeDasharray:X},data:e,copiedData:U,aes:t,width:W,height:r,margin:z,shouldExcludeMissingXYFromDomains:u}),scales:le({scalesState:{x,y:Y,geomAesYs:ct,y0Aes:Xt,y1Aes:Dt,hasZeroXBaseLine:Q,hasZeroYBaseLine:ft,geomGroupAccessors:it,geomAesStrokes:Ft,geomAesStrokeDasharrays:$t,geomAesFills:Zt,fill:V,stroke:G,strokeDasharray:X},data:$,copiedData:U,aes:t,width:W,height:r,margin:z,shouldExcludeMissingXYFromDomains:u})}),[l,e,$,U,t,W,r,z,x,Y,V,G,X,Q,ft]),zt=L=>{B(L)};(0,C.useEffect)(()=>{B(e)},[e]);let Vt=(0,C.useRef)(null);return wt?C.default.createElement(vo.Provider,{value:{ggState:wt,updateData:zt}},C.default.createElement("div",{id:`__gg_${l}`,style:{position:"relative",height:r},"data-testid":"__gg_gg"},m?.header&&C.default.createElement("div",{"data-testid":"__gg_header_label",style:{marginBottom:4,color:s,fontFamily:i?.family}},m.header),n&&h&&m?.y&&C.default.createElement("div",{"data-testid":"__gg_y_label",style:{position:"relative",top:z.top,marginLeft:8,marginBottom:2,fontSize:h?.label?.fontSize||n?.label?.fontSize||12,fontFamily:h?.label?.fontFamily||n?.label?.fontFamily||i?.family,lineHeight:1.2,color:h?.label?.color||n?.label?.color,minHeight:20,fontWeight:600}},m?.y),C.default.createElement("svg",{ref:Vt,width:W,height:r},M&&C.default.createElement(C.default.Fragment,null,n&&k&&C.default.createElement(Xe,{ggState:wt,animate:typeof v<"u"&&v>0}),n&&h&&C.default.createElement(Ie,{ggState:wt,animate:typeof v<"u"&&v>0}),A,C.default.createElement("g",{id:`__gg-brush-exclusion-${l}`}))),C.default.createElement("div",{style:{position:"relative"}},C.default.createElement("div",{id:`__gg-zoom-out-button-${l}`,"data-testid":"__gg_zoom_out_button"})),C.default.createElement("div",{style:{position:"relative"}},C.default.createElement("div",{id:`__gg-tooltip-x-${l}`,"data-testid":"__gg_x_tooltip"}),C.default.createElement("div",{id:`__gg-tooltip-y-${l}`,"data-testid":"__gg_y_tooltip"})),C.default.createElement("div",null,w))):null},qt=()=>(0,C.useContext)(vo);var _o=require("react"),he=require("jotai");var Be=({onZoom:e,onUnzoom:t,xDomain:o,yDomain:r})=>{let[,a]=(0,he.useAtom)(Yt),[,l]=(0,he.useAtom)(xt),[,c]=(0,he.useAtom)(St);return(0,_o.useEffect)(()=>{a(m=>({...m,xDomain:{...m.xDomain,current:o??m?.xDomain?.current},yDomain:{...m.yDomain,current:r??m?.yDomain?.current},onZoom:e,onUnzoom:t})),l(m=>({...m,domain:o??m?.domain})),c(m=>({...m,domain:r??m?.domain}))},[e,t,o,r]),null};var Co=require("react"),be=require("jotai");var De=()=>{let[,e]=(0,be.useAtom)(St),[,t]=(0,be.useAtom)(xt),[{xDomain:o,yDomain:r},a]=(0,be.useAtom)(Yt);return(0,Co.useCallback)(({customXExtent:c,customYExtent:m})=>{e(i=>({...i,domain:m??r?.original})),t(i=>({...i,domain:c??o?.original})),a(i=>({...i,xDomain:{...i.xDomain,current:void 0},yDomain:{...i.yDomain,current:void 0}}))},[e,t,a,o?.original,r?.original])};var ht=Ct(require("react"),1);var Yo=require("react-dom"),Lo=({children:e,id:t})=>{let o=document.getElementById(`__gg-zoom-out-button-${t}`);return o?(0,Yo.createPortal)(e,o):null};var Oe="#f0f0f0ee",$e="#666",Mo="#eaeaeaee",Ro="#333",Fo={cursor:"pointer",width:28,height:28,background:Oe,border:"1px solid #ddddddee",borderRadius:3,color:$e,padding:2,transition:"background 200ms, color 300ms"},Xo={display:"flex",alignItems:"center",justifyContent:"center"};var Jt=28,zo=({x:e,y:t,onClick:o,isBrushing:r,id:a})=>{let[l,c]=(0,ht.useState)(!1),m=(0,ht.useCallback)(()=>{c(s=>!s)},[c]),i=(0,ht.useCallback)(()=>c(!1),[c]);return ht.default.createElement(Lo,{id:a},ht.default.createElement("div",{style:{position:"absolute",left:e-Jt-2,bottom:t-Jt-8,width:Jt,height:Jt,pointerEvents:r?"none":void 0}},ht.default.createElement("button",{type:"button","aria-label":"zoom out",style:{...Fo,background:l?Mo:Oe,color:l?Ro:$e},onClick:o,onMouseOver:m,onMouseOut:i,onFocus:m,onBlur:i},ht.default.createElement("div",{style:Xo},ht.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:Jt-10,height:Jt-10,viewBox:`0 0 ${Jt-4} ${Jt-4}`,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ht.default.createElement("circle",{cx:"11",cy:"11",r:"8"}),ht.default.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}),ht.default.createElement("line",{x1:"8",y1:"11",x2:"14",y2:"11"}))))))};var Ze=Ct(require("react"),1),Io=require("react-dom"),Kt=(e,t,o)=>typeof e<"u"&&typeof t<"u"&&typeof o<"u"&&e>=Math.min(t,o)&&e<=Math.max(t,o),Lr="#22222288",Bo=Ze.default.forwardRef((e,t)=>Ze.default.createElement("rect",{ref:t,fill:"transparent",style:{pointerEvents:"none",fill:Lr,transition:"fill 100ms ease-in-out"}})),Oo=({children:e,id:t})=>{let o=document.getElementById(`__gg-brush-exclusion-${t}`);return o?(0,Io.createPortal)(e,o):null};var H=2,$o=({x:e,y:t,group:o,xAdj:r=0,yAdj:a=0,onMouseOver:l,onClick:c,onMouseLeave:m,onDatumFocus:i,data:s,aes:n,customXExtent:k,customYExtent:h,getYValExtent:v,positionKeys:x,disabled:Y,showTooltip:V=!0,brushAction:G,isZoomedOut:X,stackXMidpoints:M,stackYMidpoints:$,xBandScale:B,yBandScale:z,fill:W})=>{let{ggState:U}=qt()||{},{width:A,height:w,margin:u,data:K,scales:g,id:ut}=U||{width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}},[{datum:vt},ct]=(0,ae.useAtom)(yt),[{animationDuration:At,geoms:Ot}]=(0,ae.useAtom)(rt),[{domain:it,reverse:Ft},$t]=(0,ae.useAtom)(St),[{reverse:Zt},Nt]=(0,ae.useAtom)(xt),[{xDomain:Xt,yDomain:Dt,onZoom:Q,onUnzoom:ft},wt]=(0,ae.useAtom)(Yt),zt=De(),Vt=(0,f.useRef)(null),L=(0,f.useRef)(!1),R=(0,f.useRef)(!1),kt=(0,f.useRef)(null),st=(0,f.useRef)(),pt=(0,f.useRef)(null),tt=(0,f.useRef)(null),J=(0,f.useRef)(null),_t=(0,f.useRef)(null),S=(0,f.useMemo)(()=>o==="x",[o]),p=(0,f.useMemo)(()=>o==="y",[o]),_=(0,f.useMemo)(()=>!!i,[i]),[q,Pt]=(0,f.useState)(!1),te=s?.map(e),Ee=s?.map(t);(0,f.useEffect)(()=>{L.current=!1;let y=setTimeout(()=>{L.current=!0},(At??1e3)+50);return()=>clearTimeout(y)},[JSON.stringify(K),JSON.stringify(s),JSON.stringify(te),JSON.stringify(Ee),A,At,Xt,Dt,x]);let N=(0,f.useMemo)(()=>typeof g?.xScale.domain()[0]=="string"||typeof g?.yScale.domain()[0]=="string",[g?.xScale,g?.yScale]),ue=(0,f.useMemo)(()=>s??[],[s]),Qe=(0,f.useCallback)(d=>(e(d)??0)+r,[e,r]),to=(0,f.useCallback)(d=>(t(d)??0)+a,[t,a]),ee=(0,f.useMemo)(()=>ke.Delaunay.from(ue,Qe,to),[s,Qe,to]),dt=(0,f.useMemo)(()=>{if(!$)return;let d=B?.domain().map(y=>{let E=g?.xScale(y),b=$.filter(D=>D.xVal===y.valueOf());return{delaunay:ke.Delaunay.from(b,D=>g?.xScale(D.xVal)??0,D=>g?.yScale(D.yVal)),xVal:E,data:b}});return N?d:d?.sort((y,E)=>(y.xVal??0)-(E.xVal??0))},[$,g?.yScale,B,N,g?.xScale,r]),Te=(0,f.useMemo)(()=>{if(!dt||!_)return;let d=(B?.step?.()??0)/2;return dt.map(y=>({voronoi:y.delaunay.voronoi([(y?.xVal??0)+r-d,u.top,(y?.xVal??0)+d+r,w-u.bottom]),data:y.data}))},[dt,g?.xScale,B,r,A,u]),at=(0,f.useMemo)(()=>{if(!M)return;let d=z?.domain().map(y=>{let E=g?.yScale(y),b=M.filter(D=>D.yVal===y);return{delaunay:ke.Delaunay.from([...b],D=>g?.xScale(D.xVal),D=>g?.yScale(D.yVal)),yVal:E,data:b}});return N?d:d?.sort((y,E)=>(y.yVal??0)-(E.yVal??0))},[M,g?.yScale,g?.xScale,z,N]),Ae=(0,f.useMemo)(()=>{let d=A-(u.left+u.right)>0;if(!at||!_||!d)return;let y=(z?.step?.()??0)/2;return at.map(E=>({voronoi:E.delaunay.voronoi([u.left,(E.yVal??0)-y+a,A-u.right,(E.yVal??0)+y+a]),data:E.data}))},[at,g?.yScale,a,A,u]),eo=(0,f.useMemo)(()=>{let d=A-(u.left+u.right)>0&&w-(u.bottom+u.top)>0;if(!(!_||!d))return ee.voronoi([u.left,u.top,A-u.right,w-u.bottom])},[ee,_]),Ht=(0,f.useCallback)(()=>{ct(d=>({...d,datum:void 0}))},[ct]),ce=(0,f.useCallback)(()=>{_t.current&&_t.current.setAttribute("width","0px"),Pt(!1)},[Pt]),oo=(0,f.useCallback)((d,y)=>{if(R.current&&st.current){st.current={...st.current,x1:d,y1:y};let{x0:E,x1:b,y0:D,y1:T}=st.current,P=g?.xScale.range(),Z=g?.yScale.range(),I=(at||p)&&P?P[0]:Math.min(E,b),Gt=(at||p)&&P?P[1]:Math.max(E,b),et=(dt||S)&&Z?Z[1]-H:Math.min(D,T),F=(dt||S)&&Z?Z[0]+H:Math.max(D,T);_t.current&&(_t.current.setAttribute("x",`${u.left-H}px`),_t.current.setAttribute("y",`${et}px`),_t.current.setAttribute("width",`${Math.max(I-u.left+H,0)}px`),_t.current.setAttribute("height",`${F-et}px`)),tt.current&&(tt.current.setAttribute("x",`${Gt}px`),tt.current.setAttribute("y",`${et}px`),tt.current.setAttribute("width",`${Math.max(A-u.right-Gt+H,0)}px`),tt.current.setAttribute("height",`${F-et}px`)),pt.current&&(pt.current.setAttribute("x",`${u.left-H}px`),pt.current.setAttribute("y",`${u.top-H}px`),pt.current.setAttribute("width",`${A-u.right-u.left+H*2}px`),pt.current.setAttribute("height",`${Math.max(et-u.top+H,0)}px`)),J.current&&(J.current.setAttribute("x",`${u.left-H}px`),J.current.setAttribute("y",`${F}px`),J.current.setAttribute("width",`${A-u.right-u.left+H*2}px`),J.current.setAttribute("height",`${Math.max(w-F-u.bottom+H,0)}px`))}},[S,p,u,g,dt,at]),Ve=(0,f.useCallback)(d=>{if(d.preventDefault(),R.current&&st.current){let{x0:y,x1:E,y0:b,y1:D}=st.current;Ht(),ce();let T=s?.filter(I=>{let Gt=e(I),et=t(I);return S||dt?Kt(Gt,y,E):p||at?Kt(et,b,D):Kt(Gt,y,E)&&Kt(et,b,D)}),P=T?.some(I=>n?.x?.(I)),Z=T?.some(I=>n?.y?.(I)??n?.y0?.(I));if(T&&T.length&&P&&Z){let I=[g?.xScale.invert(Math.min(y,E)),g?.xScale.invert(Math.max(y,E))];I=Zt?I.reverse():I;let Gt=v?v(T):(0,Qt.extent)(T.map(O=>{let lt=n?.y&&n.y(O),It=n?.y0&&n.y0(O),gt=n?.y1&&n.y1(O);return(0,Qt.extent)([lt,It,gt])}).flat()),et=it?[(0,Qt.max)([Gt[0],it[0]]),(0,Qt.min)([Gt[1],it[1]])]:Gt;et=Ft?et:et.reverse();let F=S?et:[g?.yScale.invert(Math.min(b,D)),g?.yScale.invert(Math.max(b,D))];F=Ft?F:F.reverse(),Nt(O=>({...O,domain:I})),$t(O=>({...O,domain:F})),wt(O=>({...O,xDomain:{...O.xDomain,current:I},yDomain:{...O.yDomain,current:F}})),Q&&Q({x:I,y:F})}}R.current=!1,kt.current&&clearTimeout(kt.current)},[Ht,ce,K,S,p,dt,at,Zt,Ft,n,g,t,Xt,Dt,Q,Ot,v]),ro=(0,f.useCallback)(d=>{if(L.current&&s&&s.length){let[y,E]=(0,Ne.pointer)(d,Vt.current),[b,D]=[Math.floor(y),Math.floor(E)];if(R.current&&G&&!N)oo(b,D);else if(V){let T=ee.find(b,D);if(dt){let F=B?.step?.()??1,O=(b-u.left+(B?.padding?.()??0)*F/2)/F,lt=Math.min(Math.floor(Math.max(0,O)),dt.length-1),It=dt[lt].delaunay.find(b,D),gt=dt[lt].data[It];T=s.findIndex(Bt=>n?.x?.(Bt)?.valueOf()===gt.xVal&&g?.groupAccessor?.(Bt)===gt.groupVal)}if(at){let F=z?.step?.()??1,O=D+u.top-a+(z?.padding?.()??0)*F/2,lt=Math.min(Math.floor(Math.max(0,O)/F),at.length-1),It=at[lt].delaunay.find(b,D),gt=at[lt].data[It];T=s.findIndex(Bt=>n?.y?.(Bt)===gt.yVal&&g?.groupAccessor?.(Bt)===gt.groupVal)}let P=s[T],Z=g?.xScale.domain(),I=g?.yScale.domain(),Gt=["x","y"].includes(W??"")||n?.x&&Z&&(Z.includes(n?.x(P)?.valueOf())||Kt(n?.x(P)?.valueOf(),Z[0],Z[1])),et=["x","y"].includes(W??"")||n?.y&&I&&(I.includes(n?.y(P))||Kt(n?.y(P),I[0],I[1]));if(S&&n?.x&&Gt){let F=e(P);if(vt&&e(vt[0])===F)return;let O=[],lt=[];s.forEach((gt,Bt)=>{n.x&&n.x(gt)?.toString()===n.x(P)?.toString()&&(O.push(gt),lt.push(Bt))});let It=document.getElementsByClassName(`__gg-tooltip-${ut}`);Array.from(It).forEach(gt=>{let Bt=gt;Bt.style.transform=`translate(${F}px, 0)`}),l&&l({d:O,i:lt}),ct(gt=>({...gt,datum:O}))}else if(p&&n?.y&&et){if(vt&&t(vt[0])===t(P))return;let F=[],O=[];s.forEach((lt,It)=>{n?.y&&n.y(lt)?.toString()===n.y(P)?.toString()&&(F.push(lt),O.push(It))}),l&&l({d:F,i:O}),ct(lt=>({...lt,datum:F}))}else Gt&&et&&(l&&l({d:[P],i:[T]}),ct(F=>({...F,datum:[P]})))}}},[s,n,ct,A,ee,at,dt,l,S,p,vt,g,B,z,oo,G,N,W,u.top,u.left]),Lt=(0,f.useCallback)(d=>{L.current&&(m&&m(),V&&Ht(),q&&Ve(d)),document.onselectstart=()=>!0},[V,Ht,m,q]),Ge=(0,f.useCallback)(d=>{Lt(d),G==="zoom"&&zt({customXExtent:k,customYExtent:h}),V&&Ht(),G&&ce(),ft&&ft()},[Lt,Ht,ce,$t,Nt,wt,h,Dt?.original,Xt?.original,G,V,ft,zt,Ot]),no=(0,f.useCallback)(d=>{let[y,E]=(0,Ne.pointer)(d,Vt.current);if(document.onselectstart=()=>!1,d.detail>1&&d.preventDefault(),s&&s.length&&G&&!N&&(kt.current=setTimeout(()=>{m(),Ht(),Pt(!0),R.current=!0,st.current={x0:y,x1:y,y0:E,y1:E}},180)),c&&s&&s.length){let b=ee.find(y,E),D=s[b];if(S&&n?.x){let T=[],P=[];s.forEach((Z,I)=>{n.x&&n.x(Z)?.valueOf()===n.x(D)?.valueOf()&&(T.push(Z),P.push(I))}),c({d:T,i:P})}else if(p&&n?.y){let T=[],P=[];s.forEach((Z,I)=>{n?.y&&n.y(Z)?.toString()===n.y(D)?.toString()&&(T.push(Z),P.push(I))}),c({d:T,i:P})}else c({d:[D],i:[b]})}return A},[s,A,c,ee,n,o,m,Ht,G,N]),ve=(0,f.useCallback)((d,y)=>{if(L.current&&d&&d.length&&!q){let E=d[y],b=[],D=[];if(S&&n?.x)d.forEach((T,P)=>{n?.x&&n.x(T)?.toString()===n.x(E)?.toString()&&(b.push(T),D.push(P))});else if(p&&n?.y)d.forEach((T,P)=>{n?.y&&n.y(T)?.toString()===n.y(E)?.toString()&&(b.push(T),D.push(P))});else if(s&&at){let T=E;s.forEach((P,Z)=>{n?.y?.(P)===T.yVal&&g?.groupAccessor?.(P)===T.groupVal&&(b.push(P),D.push(Z))})}else if(s&&dt){let T=E;s.forEach((P,Z)=>{n?.x?.(P)?.valueOf()===T.xVal&&g?.groupAccessor?.(P)===T.groupVal&&(b.push(P),D.push(Z))})}else b.push(E),D.push(y);ct(T=>({...T,datum:b})),l&&l({d:b,i:D}),i&&i(b,D)}},[q,l,i,p,at,n?.y,g?.groupAccessor,ct]);return f.default.createElement(f.default.Fragment,null,f.default.createElement("g",null,!Y&&f.default.createElement(f.default.Fragment,null,f.default.createElement("clipPath",{id:`__gg_canvas_${ut}`},f.default.createElement("rect",{width:A-u.right-u.left+H*2,height:w-u.bottom-u.top+H*2,x:u.left-H,y:u.top-H,fill:"transparent"})),f.default.createElement("rect",{ref:Vt,width:A-u.right-u.left+H*2,height:w-u.bottom-u.top+H,x:u.left-H,y:u.top-H,fill:"transparent",onMouseMove:ro,onMouseLeave:Lt,onPointerMove:ro,onPointerLeave:Lt,onMouseDown:no,onMouseUp:Ve,onDoubleClick:Ge,style:{pointerEvents:_&&!c?"none":void 0,cursor:c&&L.current?"pointer":void 0},"data-testid":"__gg_event_area"}),q&&f.default.createElement(Oo,{id:ut},[pt,tt,J,_t].map((d,y)=>f.default.createElement(Bo,{ref:d,key:`exclusion-${y.toString()}`}))),(Xt?.current||Dt?.current)&&!X&&f.default.createElement(zo,{id:ut,x:A-u.right,y:w,onClick:Ge,isBrushing:q}))),!Te&&!Ae&&eo&&ue&&!G&&f.default.createElement("g",{onMouseLeave:Lt,onPointerLeave:Lt},ue.map((d,y)=>f.default.createElement("path",{key:`cell-${y.toString()}`,style:{pointerEvents:"all",cursor:c?"pointer":void 0},d:eo.renderCell(y),fill:"none",onMouseOver:()=>ve(ue,y),onMouseDown:no,onMouseUp:Ve,onDoubleClick:Ge,"data-testid":`__gg_event_voronoi_${y}`}))),Te&&!G&&Te.map((d,y)=>f.default.createElement("g",{key:`xGroup-voronoi-${y.toString()}`,onMouseLeave:Lt,onPointerLeave:Lt},d.data.map((E,b)=>f.default.createElement("path",{key:`cell-${y.toString()}-${b.toString()}`,style:{pointerEvents:"all"},d:d.voronoi.renderCell(b),fill:"none",onMouseOver:()=>ve(d.data,b)})))),Ae&&!G&&Ae.map((d,y)=>f.default.createElement("g",{key:`yGroup-voronoi-${y.toString()}`,onMouseLeave:Lt,onPointerLeave:Lt},d.data.map((E,b)=>f.default.createElement("path",{key:`cell-${y.toString()}-${b.toString()}`,style:{pointerEvents:"all"},d:d.voronoi.renderCell(b),fill:"none",onMouseOver:()=>ve(d.data,b)})))))};var Zo=require("nanoid"),Pe=()=>(0,Zo.nanoid)(10);var No=e=>{let t;switch(e){case null:t="[null]";break;case void 0:t="[undefined]";break;default:t=e}return t};var Ho=require("react-dom"),Wo=require("react-dom/client"),Uo=e=>{let t=document.createElement("div"),o=(0,Wo.createRoot)(t);return(0,Ho.flushSync)(()=>o.render(e)),t.innerText};var qo=require("react-page-visibility");var jo=({children:e,...t})=>{let{data:o,aes:r,width:a,height:l,margin:c,isContainerWidth:m}={...t},i=(0,bt.useRef)(null),[s,n]=(0,bt.useState)(m?i.current?.clientWidth:a);(0,bt.useLayoutEffect)(()=>{m&&n(i.current?.clientWidth)},[m]),(0,bt.useEffect)(()=>{let h=new ResizeObserver(v=>{let x=v[0].contentRect;m&&n(x.width)});return i.current&&m&&h.observe(i.current),()=>{i.current&&m&&h.unobserve(i.current)}},[m]);let k=(0,bt.useMemo)(()=>Pe(),[]);return bt.default.createElement("div",{ref:i},bt.default.createElement(Jo.Provider,null,bt.default.createElement(wo,{data:o.map((h,v)=>({...h,gg_gen_index:v})),aes:r,width:s,height:l,margin:c,id:k},e)))};var Ko=require("react"),Qo=require("jotai");var tr=({header:e,x:t,y:o})=>{let[,r]=(0,Qo.useAtom)(Wt);return(0,Ko.useEffect)(()=>{r({header:e,x:t,y:o})},[r,e,t,o]),null};var er=require("react"),or=require("jotai");var rr=({headerColor:e,markerStroke:t,defaultStroke:o,defaultFill:r,font:a,grid:l,axis:c,axisX:m,axisY:i,legend:s,tooltip:n,animationDuration:k})=>{let[,h]=(0,or.useAtom)(rt),v=(x,Y)=>{let V;return typeof x<"u"?x===null?V=x:V={...Y,...x}:V=Y,V};return(0,er.useEffect)(()=>{h(x=>({...x,headerColor:e??x.headerColor,markerStroke:t??x.markerStroke,defaultStroke:o??x.defaultStroke,defaultFill:r??x.defaultFill,animationDuration:k??x.animationDuration,font:a?{...x.font,...a}:x.font,grid:l?{...x.grid,...l}:x.grid,axis:v(c,x.axis),axisX:v(m,x.axisX),axisY:v(i,x.axisY),legend:s?{...x.legend,...s}:x.legend,tooltip:n?{...x.tooltip,...n}:x.tooltip}))},[h,e,t,o,r,a,l,c,m,i,s,n,k]),null};var nr=require("react"),ir=require("jotai");var sr=({keepInParent:e,position:t,xAxis:o,content:r,xFormat:a,yFormat:l,measureFormat:c,datum:m,dx:i,dy:s})=>{let[,n]=(0,ir.useAtom)(yt);return(0,nr.useEffect)(()=>{n(k=>({...k,keepInParent:typeof e>"u"?!0:e,xAxis:o||k.xAxis,position:t||k.position,content:r||k.content,xFormat:a||k.xFormat,yFormat:l||k.yFormat,measureFormat:c||k.measureFormat,datum:m,dx:i,dy:s}))},[e,t,o,r,a,l,c,m,n,i,s]),null};var nt=Ct(require("react"),1),We=require("jotai");var He=require("react-dom"),ar=({children:e,id:t})=>{let o=document.getElementById(`__gg-tooltip-x-${t}`);return o?(0,He.createPortal)(e,o):null},lr=({children:e,id:t})=>{let o=document.getElementById(`__gg-tooltip-y-${t}`);return o?(0,He.createPortal)(e,o):null};var mr=({id:e,left:t,top:o,value:r,wait:a})=>{let{ggState:l}=qt()||{},{width:c,height:m}=l||{width:0,height:0},[{position:i,keepInParent:s,dx:n,dy:k}]=(0,We.useAtom)(yt),[{font:h}]=(0,We.useAtom)(rt),[v,x]=(0,nt.useState)(void 0),[Y,V]=(0,nt.useState)(void 0),G=(0,nt.useRef)(null),X=(0,nt.useMemo)(()=>n?typeof n=="number"?n:n({width:c,x:t}):0,[n,c,t]),M=(0,nt.useMemo)(()=>k?typeof k=="number"?k:k({height:m,y:-o}):0,[k,m,o]),$=(0,nt.useMemo)(()=>typeof s=="boolean"?s:s?s({width:c,x:t}):!0,[s,c,t]),B=(0,nt.useCallback)(()=>{if(G.current){let z=G.current?.clientWidth||0,W=G.current?.clientHeight||0,U=t+8+X;$&&U&&U<2?U=2:$&&t>c/2&&(U=t-z-8-X),x(U);let A=o-(i==="data"?W/2:0)-5+M;V(A)}},[c,t,o,i,$,X,M]);return(0,nt.useEffect)(()=>{if(a){let z=setTimeout(()=>{B()},0);return()=>clearTimeout(z)}return B(),()=>{}},[B,a]),nt.default.createElement(lr,{id:e},nt.default.createElement("div",{ref:G,style:{fontFamily:h?.family,left:v||-9999,top:Y,pointerEvents:"none",position:"absolute",whiteSpace:"nowrap"}},r))};var Rt=Ct(require("react"),1),Ue=require("jotai");var ur=({id:e,left:t,top:o,value:r,yPosition:a="below",align:l="center"})=>{let{width:c,margin:m}=qt()?.ggState||{width:0},[{font:i}]=(0,Ue.useAtom)(rt),[{keepInParent:s}]=(0,Ue.useAtom)(yt),[n,k]=(0,Rt.useState)(0),[h,v]=(0,Rt.useState)(0),x=(0,Rt.useRef)(null);return(0,Rt.useEffect)(()=>{let Y=x.current?.clientWidth||0,V=x.current?.clientHeight||0,G=Y/2,X;l==="center"?X=G:l==="right"?X=0:X=G*2;let M=Y&&t-X,$=M&&Y&&M+Y;s&&M&&M<m.left?M=m.left:s&&M&&Y&&$&&$>c&&(M=c-Y-2),v(o-(a==="above"?(V||0)+8:0)),M&&k(M)},[c,t,o,e,s,a,l]),Rt.default.createElement(ar,{id:e},Rt.default.createElement("div",{ref:x,style:{fontFamily:i?.family,pointerEvents:"none",position:"absolute",left:n||-9999,top:h||-9999,whiteSpace:"nowrap"}},r))};var cr=Ct(require("react"),1),Mr={fontSize:12,padding:"4px 6px 4px 6px",color:"#111",background:"#fefefee9",border:"1px solid #eee",borderRadius:2,boxShadow:"rgba(0, 0, 0, 0.5) 0px 1px 4px"},fr=({children:e,style:t})=>cr.default.createElement("div",{style:{...Mr,...t}},e);var qe=require("react"),Je=require("jotai");var pr=({type:e,format:t,numTicks:o,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m})=>{let[,i]=(0,Je.useAtom)(xt),[,s]=(0,Je.useAtom)(Yt);return(0,qe.useEffect)(()=>{i(n=>({...n,type:e,format:t,numTicks:o||n.numTicks,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m,isFixed:!!r}))},[i,e,t,o,r,a,l,c,m]),(0,qe.useEffect)(()=>{s(n=>({...n,xDomain:{...n.xDomain,original:r}}))},[s,r]),null};var je=require("react"),Ke=require("jotai");var dr=({type:e,format:t,numTicks:o,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m})=>{let[,i]=(0,Ke.useAtom)(St),[,s]=(0,Ke.useAtom)(Yt);return(0,je.useEffect)(()=>{i(n=>({...n,type:e,format:t,numTicks:o||n.numTicks,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m,isFixed:!!r}))},[i,e,t,o,r,a,l,c,m]),(0,je.useEffect)(()=>{s(n=>({...n,yDomain:{...n.yDomain,original:r}}))},[s,r]),null};var gr=require("react"),yr=require("jotai");var xr=({type:e,domain:t,values:o,reverse:r})=>{let[,a]=(0,yr.useAtom)(ne);return(0,gr.useEffect)(()=>{a({type:e,domain:t,values:o,reverse:r})},[a,e,t,o,r]),null};var Sr=require("react"),hr=require("jotai");var br=({type:e,domain:t,values:o,reverse:r})=>{let[,a]=(0,hr.useAtom)(ie);return(0,Sr.useEffect)(()=>{a({type:e,domain:t,values:o,reverse:r})},[a,e,t,o,r]),null};var Dr=require("react"),kr=require("jotai");var Pr=({domain:e,values:t})=>{let[,o]=(0,kr.useAtom)(se);return(0,Dr.useEffect)(()=>{o({domain:e,values:t})},[o,e,t]),null};var Er=require("react"),Tr=require("jotai");var Ar=({domain:e,range:t})=>{let[,o]=(0,Tr.useAtom)(ge);return(0,Er.useEffect)(()=>{o(r=>({...r,domain:e||r.domain,range:t||r.range}))},[o,e,t]),null};0&&(module.exports={BrushAction,EventArea,GG,Labels,LegendOrientation,ScaleFill,ScaleRadius,ScaleStroke,ScaleStrokeDasharray,ScaleX,ScaleY,Theme,Tooltip,TooltipContainer,TooltipPosition,XTooltip,YTooltip,Zoom,autoScale,createSequentialScheme,debounce,defaultDasharrays,defaultInterpolator,defaultScheme,defineGroupAccessor,elongate,fillScaleState,focusNodes,formatDate,formatMissing,formatMonth,generateID,getYAlongPath,isDate,labelsState,nodeToString,parseDate,radiusScaleState,strokeDasharrayState,strokeScaleState,themeState,tooltipState,unfocusNodes,useGG,usePageVisibility,useUnZoom,widen,xScaleState,yScaleState,zoomState});
//# sourceMappingURL=index.cjs.map