@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 wr=Object.getOwnPropertyDescriptor;var _r=Object.getOwnPropertyNames;var Cr=Object.getPrototypeOf,Yr=Object.prototype.hasOwnProperty;var Lr=(e,t)=>{for(var o in t)fe(e,o,{get:t[o],enumerable:!0})},so=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of _r(t))!Yr.call(e,a)&&a!==o&&fe(e,a,{get:()=>t[a],enumerable:!(r=wr(t,a))||r.enumerable});return e};var Ct=(e,t,o)=>(o=e!=null?vr(Cr(e)):{},so(t||!e||!e.__esModule?fe(o,"default",{value:e,enumerable:!0}):o,e)),Fr=e=>so(fe({},"__esModule",{value:!0}),e);var Ir={};Lr(Ir,{BrushAction:()=>Eo,EventArea:()=>$o,GG:()=>jo,Labels:()=>tr,LegendOrientation:()=>To,ScaleFill:()=>hr,ScaleRadius:()=>Gr,ScaleStroke:()=>kr,ScaleStrokeDasharray:()=>Tr,ScaleX:()=>gr,ScaleY:()=>yr,Theme:()=>rr,Tooltip:()=>ir,TooltipContainer:()=>dr,TooltipPosition:()=>de,XTooltip:()=>fr,YTooltip:()=>cr,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:()=>io,radiusScaleState:()=>ge,strokeDasharrayState:()=>ie,strokeScaleState:()=>se,themeState:()=>rt,tooltipState:()=>yt,unfocusNodes:()=>uo,useGG:()=>qt,usePageVisibility:()=>qo.usePageVisibility,useUnZoom:()=>De,widen:()=>po,xScaleState:()=>xt,yScaleState:()=>St,zoomState:()=>Yt});module.exports=Fr(Ir);var bt=Ct(require("react"),1),Jo=require("jotai");var jt=require("d3-time-format"),io=(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"),Ft=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 s={top:10,right:20,bottom:10,left:30,...c},{x:i,y:n,fill:k,stroke:h,strokeDasharray:v,hasZeroXBaseLine:x,hasZeroYBaseLine:Y,geomGroupAccessors:V,y0Aes:G,y1Aes:X,geomAesYs:F,geomAesStrokes:O,geomAesFills:$,geomAesStrokeDasharrays:I}=e,{domain:W,type:U,reverse:A}=i||{},{domain:w,type:u,reverse:K}=n||{},{domain:g,type:ut,values:vt,reverse:ct}=k||{},{domain:At,type:Ot,values:st,reverse:Rt}=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||(F.length?F[0]:void 0),It=wt??X??G,Vt=r.stroke||(O.length?O[0]:void 0),L=r.fill||($.length?$[0]:void 0),M=r.strokeDasharray||(I.length?I[0]:void 0),kt,it=t.map(r.x).find(S=>S!=null);if(Et(it)){let S=W||(0,Ft.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([s.left,a-s.right]).domain(p?S:[0,0])}else if(typeof it=="number"){let S=(0,Ft.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([s.left,a-s.right]).domain(_?p:[0,1])}else if(!Number.isFinite(it)||typeof it=="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([s.left,a-s.right]).domain(_)}A&&kt?.domain(kt.domain().reverse());let pt;if(It){let S=t.map(It).find(p=>p!=null);if(Et(S)){let p=w||(0,Ft.extent)(t,wt),_=typeof p[0]<"u"&&typeof p[1]<"u";pt=(0,j.scaleTime)().range([l-s.bottom,s.top]).domain(_?p:[0,1])}else if(typeof S=="number"){let p=(0,Ft.extent)(t,wt),_=w??[Y?0:p[0],p[1]],q=typeof _[0]<"u"&&typeof _[1]<"u";pt=(u||j.scaleLinear)().range([l-s.bottom,s.top]).domain(q?_:[0,1])}else if(!Number.isFinite(S)||typeof S=="string"){let p=Array.from(new Set(o.map(It))),_=Array.from(new Set(t.map(It))),q=w||_.filter(Pt=>m?Pt!==null&&typeof Pt<"u":!0).sort((Pt,te)=>Nt(Pt,te,p));pt=(0,j.scaleBand)().range([s.top,l-s.bottom]).domain(q)}}else pt=(0,j.scaleLinear)().range([l-s.bottom,s.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,Ft.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,Ft.extent)(t,Vt),J=_().domain(p).interpolator(st||ot.interpolateViridis);break;case"sequentialLog":p=At||(0,Ft.extent)(t,Vt),J=_().domain(p).interpolator(st||ot.interpolateViridis);break;case"sequentialSqrt":p=At||(0,Ft.extent)(t,Vt),J=_().domain(p).interpolator(st||ot.interpolateViridis);break;case"ordinal":Q=!0,p=At||ft,J=_().domain(p).range(st||oe);break;default:Q=!0,p=At||ft,J=_().domain(p).range(st||oe)}}else if(!Number.isFinite(S)||typeof S=="string"){Q=!0;let p=At||ft;J=(0,j.scaleOrdinal)().domain(p).range(st||oe)}else if(Et(S)||typeof S=="number"){let p=At||(0,Ft.extent)(t,Vt);J=(0,j.scaleSequential)().domain(p).interpolator(st||ot.interpolateViridis)}}Rt&&J?.domain(J.domain().reverse());let _t;if(M){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,s)=>l&&!l.includes(s))?.forEach(m=>{let s=m;Object.entries(r).forEach(([i,n])=>{s.style[i]=n})}),Object.entries(o).forEach(([m,s])=>{l?.forEach(i=>{a[i].style[m]=s})})},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(s=>!r.includes(s)),m=Object.keys(l).reduce((s,i)=>{let n=s;return r.includes(i)&&(n[i]=l[i]),n},{});c.forEach(s=>{let i={};i[t]=s,i[o]=l[s],a.push({...i,...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 s={key:Et(c)?c.valueOf():c,i:m};return l.forEach(i=>{let n=e.find(k=>Et(t(k))?t(k).valueOf()===c.valueOf()&&o(k)===i:t(k)===c&&o(k)===i);n&&(s[i]=r(n)??void 0)}),s})};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"),en=(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"),se=(0,bo.atom)({});var Do=require("jotai"),ie=(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),Fe=e=>Le.default.Children.toArray(e).reduce((o,r)=>r.type===Le.default.Fragment?o.concat(Fe(r.props.children)):(o.push(r),o),[]);var mt=Ct(require("react"),1),ye=require("d3-axis"),Re=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:s,margin:i,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:F}]=(0,me.useAtom)(xt),[O,$]=(0,mt.useState)(!0);(0,mt.useEffect)(()=>{let u=setTimeout(()=>$(!1),0);return()=>clearTimeout(u)},[]);let I=(0,mt.useRef)(null),W=(0,mt.useRef)(null),A=(s&&Y?(0,ye.axisBottom)(h).tickFormat((u,K)=>Y({value:u,index:K,width:s})):(0,ye.axisBottom)(h)).tickSizeOuter(0).ticks(s&&typeof V=="function"?V(s):V),w=(0,ye.axisBottom)(h).tickSize(-n+i.top+i.bottom).tickSizeOuter(0).tickFormat(()=>"").ticks(s&&typeof V=="function"?V(s):V);return(0,mt.useEffect)(()=>{let u=(0,Re.select)(I.current),K=(0,Ao.transition)().duration(c);t?u.transition(K).call(A):u.call(A);let g=(0,Re.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"),F&&u.attr("class",F),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,F]),O?null:mt.default.createElement(mt.default.Fragment,null,mt.default.createElement("g",{ref:I,transform:`translate(0, ${n-i.bottom})`}),mt.default.createElement("g",{ref:W,transform:`translate(0, ${n-i.bottom})`}),x.x&&mt.default.createElement("g",null,mt.default.createElement("text",{"data-testid":"__gg_x_label",style:{transform:`translate(${i.left+2}px, ${n-i.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"),Ie=require("d3-selection"),Vo=require("d3-transition"),Se=require("jotai");var ze=({ggState:e,animate:t})=>{let[{axis:o,axisY:r,grid:a,font:l,animationDuration:c}]=(0,Se.useAtom)(rt),{aes:m,height:s,width:i,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),[F,O]=(0,Tt.useState)(!0);(0,Tt.useEffect)(()=>{let w=setTimeout(()=>O(!1),0);return()=>clearTimeout(w)},[]);let $=(0,Tt.useRef)(null),I=(0,Tt.useRef)(null),U=(i&&x?(0,xe.axisLeft)(h).tickFormat((w,u)=>x({value:w,index:u,width:i})):(0,xe.axisLeft)(h)).tickSizeOuter(0).ticks(s&&typeof Y=="function"?Y(s):Y),A=(0,xe.axisLeft)(h).tickSize(-i+n.left+n.right).tickSizeOuter(0).tickFormat(()=>"").ticks(s&&typeof Y=="function"?Y(s):Y);return(0,Tt.useEffect)(()=>{let w=(0,Ie.select)($.current),u=(0,Vo.transition)().duration(c);t?w.transition(u).call(U):w.call(U);let K=(0,Ie.select)(I.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]),F?null:Tt.default.createElement(Tt.default.Fragment,null,Tt.default.createElement("g",{ref:$,transform:`translate(${n.left}, 0)`}),Tt.default.createElement("g",{ref:I,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:s,headerColor:i,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)(se),[X]=(0,Ut.useAtom)(ie),F=(0,Go.usePageVisibility)(),[O,$]=(0,C.useState)(e),I={top:10,right:20,bottom:40,left:30,...a},W=Math.min(window.innerWidth-15,o),U=e,A=[],w=[],u=!1;Fe(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=[],st=[],Rt=[],$t=[],Zt=[];A.forEach(L=>{let M=L.props,kt=re(M.aes,!0);kt&&st.push(kt),M.aes?.x&&vt.push(M.aes.x),M.aes?.y&&ct.push(M.aes.y),M.aes?.y0&&At.push(M.aes.y0),M.aes?.y1&&Ot.push(M.aes.y1),M.aes?.stroke&&Rt.push(M.aes.stroke),M.aes?.strokeDasharray&&$t.push(M.aes.strokeDasharray),M.aes?.fill&&Zt.push(M.aes.fill);let it=L.type.displayName.includes("Bar");it&&g.push(!M.freeBaseLine),it||K.push(M.position),L.type.displayName.includes("Col")&&ut.push(!M.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:O,aes:t,width:W,height:r,margin:I,copiedScales:le({scalesState:{x,y:Y,geomAesYs:ct,y0Aes:Xt,y1Aes:Dt,hasZeroXBaseLine:Q,hasZeroYBaseLine:ft,geomGroupAccessors:st,geomAesStrokes:Rt,geomAesStrokeDasharrays:$t,geomAesFills:Zt,fill:V,stroke:G,strokeDasharray:X},data:e,copiedData:U,aes:t,width:W,height:r,margin:I,shouldExcludeMissingXYFromDomains:u}),scales:le({scalesState:{x,y:Y,geomAesYs:ct,y0Aes:Xt,y1Aes:Dt,hasZeroXBaseLine:Q,hasZeroYBaseLine:ft,geomGroupAccessors:st,geomAesStrokes:Rt,geomAesStrokeDasharrays:$t,geomAesFills:Zt,fill:V,stroke:G,strokeDasharray:X},data:O,copiedData:U,aes:t,width:W,height:r,margin:I,shouldExcludeMissingXYFromDomains:u})}),[l,e,O,U,t,W,r,I,x,Y,V,G,X,Q,ft]),It=L=>{$(L)};(0,C.useEffect)(()=>{$(e)},[e]);let Vt=(0,C.useRef)(null);return wt?C.default.createElement(vo.Provider,{value:{ggState:wt,updateData:It}},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:i,fontFamily:s?.family}},m.header),n&&h&&m?.y&&C.default.createElement("div",{"data-testid":"__gg_y_label",style:{position:"relative",top:I.top,marginLeft:8,marginBottom:2,fontSize:h?.label?.fontSize||n?.label?.fontSize||12,fontFamily:h?.label?.fontFamily||n?.label?.fontFamily||s?.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},F&&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(ze,{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(s=>({...s,domain:m??r?.original})),t(s=>({...s,domain:c??o?.original})),a(s=>({...s,xDomain:{...s.xDomain,current:void 0},yDomain:{...s.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",Fo="#eaeaeaee",Mo="#333",Ro={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,Io=({x:e,y:t,onClick:o,isBrushing:r,id:a})=>{let[l,c]=(0,ht.useState)(!1),m=(0,ht.useCallback)(()=>{c(i=>!i)},[c]),s=(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:{...Ro,background:l?Fo:Oe,color:l?Mo:$e},onClick:o,onMouseOver:m,onMouseOut:s,onFocus:m,onBlur:s},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),zo=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),Mr="#22222288",Bo=Ze.default.forwardRef((e,t)=>Ze.default.createElement("rect",{ref:t,fill:"transparent",style:{pointerEvents:"none",fill:Mr,transition:"fill 100ms ease-in-out"}})),Oo=({children:e,id:t})=>{let o=document.getElementById(`__gg-brush-exclusion-${t}`);return o?(0,zo.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:s,data:i,aes:n,customXExtent:k,customYExtent:h,getYValExtent:v,positionKeys:x,disabled:Y,showTooltip:V=!0,brushAction:G,isZoomedOut:X,stackXMidpoints:F,stackYMidpoints:O,xBandScale:$,yBandScale:I,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:st,reverse:Rt},$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),It=De(),Vt=(0,f.useRef)(null),L=(0,f.useRef)(!1),M=(0,f.useRef)(!1),kt=(0,f.useRef)(null),it=(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)(()=>!!s,[s]),[q,Pt]=(0,f.useState)(!1),te=i?.map(e),Ee=i?.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(i),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)(()=>i??[],[i]),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),[i,Qe,to]),dt=(0,f.useMemo)(()=>{if(!O)return;let d=$?.domain().map(y=>{let E=g?.xScale(y),b=O.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))},[O,g?.yScale,$,N,g?.xScale,r]),Te=(0,f.useMemo)(()=>{if(!dt||!_)return;let d=($?.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,$,r,A,u]),at=(0,f.useMemo)(()=>{if(!F)return;let d=I?.domain().map(y=>{let E=g?.yScale(y),b=F.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))},[F,g?.yScale,g?.xScale,I,N]),Ae=(0,f.useMemo)(()=>{let d=A-(u.left+u.right)>0;if(!at||!_||!d)return;let y=(I?.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(M.current&&it.current){it.current={...it.current,x1:d,y1:y};let{x0:E,x1:b,y0:D,y1:T}=it.current,P=g?.xScale.range(),Z=g?.yScale.range(),z=(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),R=(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(z-u.left+H,0)}px`),_t.current.setAttribute("height",`${R-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",`${R-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",`${R}px`),J.current.setAttribute("width",`${A-u.right-u.left+H*2}px`),J.current.setAttribute("height",`${Math.max(w-R-u.bottom+H,0)}px`))}},[S,p,u,g,dt,at]),Ve=(0,f.useCallback)(d=>{if(d.preventDefault(),M.current&&it.current){let{x0:y,x1:E,y0:b,y1:D}=it.current;Ht(),ce();let T=i?.filter(z=>{let Gt=e(z),et=t(z);return S||dt?Kt(Gt,y,E):p||at?Kt(et,b,D):Kt(Gt,y,E)&&Kt(et,b,D)}),P=T?.some(z=>n?.x?.(z)),Z=T?.some(z=>n?.y?.(z)??n?.y0?.(z));if(T&&T.length&&P&&Z){let z=[g?.xScale.invert(Math.min(y,E)),g?.xScale.invert(Math.max(y,E))];z=Zt?z.reverse():z;let Gt=v?v(T):(0,Qt.extent)(T.map(B=>{let lt=n?.y&&n.y(B),zt=n?.y0&&n.y0(B),gt=n?.y1&&n.y1(B);return(0,Qt.extent)([lt,zt,gt])}).flat()),et=st?[(0,Qt.max)([Gt[0],st[0]]),(0,Qt.min)([Gt[1],st[1]])]:Gt;et=Rt?et:et.reverse();let R=S?et:[g?.yScale.invert(Math.min(b,D)),g?.yScale.invert(Math.max(b,D))];R=Rt?R:R.reverse(),Nt(B=>({...B,domain:z})),$t(B=>({...B,domain:R})),wt(B=>({...B,xDomain:{...B.xDomain,current:z},yDomain:{...B.yDomain,current:R}})),Q&&Q({x:z,y:R})}}M.current=!1,kt.current&&clearTimeout(kt.current)},[Ht,ce,K,S,p,dt,at,Zt,Rt,n,g,t,Xt,Dt,Q,Ot,v]),ro=(0,f.useCallback)(d=>{if(L.current&&i&&i.length){let[y,E]=(0,Ne.pointer)(d,Vt.current),[b,D]=[Math.floor(y),Math.floor(E)];if(M.current&&G&&!N)oo(b,D);else if(V){let T=ee.find(b,D);if(dt){let R=$?.step?.()??1,B=(b-u.left+($?.padding?.()??0)*R/2)/R,lt=Math.min(Math.floor(Math.max(0,B)),dt.length-1),zt=dt[lt].delaunay.find(b,D),gt=dt[lt].data[zt];T=i.findIndex(Bt=>n?.x?.(Bt)?.valueOf()===gt.xVal&&g?.groupAccessor?.(Bt)===gt.groupVal)}if(at){let R=I?.step?.()??1,B=D+u.top-a+(I?.padding?.()??0)*R/2,lt=Math.min(Math.floor(Math.max(0,B)/R),at.length-1),zt=at[lt].delaunay.find(b,D),gt=at[lt].data[zt];T=i.findIndex(Bt=>n?.y?.(Bt)===gt.yVal&&g?.groupAccessor?.(Bt)===gt.groupVal)}let P=i[T],Z=g?.xScale.domain(),z=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&&z&&(z.includes(n?.y(P))||Kt(n?.y(P),z[0],z[1]));if(S&&n?.x&&Gt){let R=e(P);if(vt&&e(vt[0])===R)return;let B=[],lt=[];i.forEach((gt,Bt)=>{n.x&&n.x(gt)?.toString()===n.x(P)?.toString()&&(B.push(gt),lt.push(Bt))});let zt=document.getElementsByClassName(`__gg-tooltip-${ut}`);Array.from(zt).forEach(gt=>{let Bt=gt;Bt.style.transform=`translate(${R}px, 0)`}),l&&l({d:B,i:lt}),ct(gt=>({...gt,datum:B}))}else if(p&&n?.y&&et){if(vt&&t(vt[0])===t(P))return;let R=[],B=[];i.forEach((lt,zt)=>{n?.y&&n.y(lt)?.toString()===n.y(P)?.toString()&&(R.push(lt),B.push(zt))}),l&&l({d:R,i:B}),ct(lt=>({...lt,datum:R}))}else Gt&&et&&(l&&l({d:[P],i:[T]}),ct(R=>({...R,datum:[P]})))}}},[i,n,ct,A,ee,at,dt,l,S,p,vt,g,$,I,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"&&It({customXExtent:k,customYExtent:h}),V&&Ht(),G&&ce(),ft&&ft()},[Lt,Ht,ce,$t,Nt,wt,h,Dt?.original,Xt?.original,G,V,ft,It,Ot]),no=(0,f.useCallback)(d=>{let[y,E]=(0,Ne.pointer)(d,Vt.current);if(document.onselectstart=()=>!1,d.detail>1&&d.preventDefault(),i&&i.length&&G&&!N&&(kt.current=setTimeout(()=>{m(),Ht(),Pt(!0),M.current=!0,it.current={x0:y,x1:y,y0:E,y1:E}},180)),c&&i&&i.length){let b=ee.find(y,E),D=i[b];if(S&&n?.x){let T=[],P=[];i.forEach((Z,z)=>{n.x&&n.x(Z)?.valueOf()===n.x(D)?.valueOf()&&(T.push(Z),P.push(z))}),c({d:T,i:P})}else if(p&&n?.y){let T=[],P=[];i.forEach((Z,z)=>{n?.y&&n.y(Z)?.toString()===n.y(D)?.toString()&&(T.push(Z),P.push(z))}),c({d:T,i:P})}else c({d:[D],i:[b]})}return A},[i,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(i&&at){let T=E;i.forEach((P,Z)=>{n?.y?.(P)===T.yVal&&g?.groupAccessor?.(P)===T.groupVal&&(b.push(P),D.push(Z))})}else if(i&&dt){let T=E;i.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}),s&&s(b,D)}},[q,l,s,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(Io,{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},s=(0,bt.useRef)(null),[i,n]=(0,bt.useState)(m?s.current?.clientWidth:a);(0,bt.useLayoutEffect)(()=>{m&&n(s.current?.clientWidth)},[m]),(0,bt.useEffect)(()=>{let h=new ResizeObserver(v=>{let x=v[0].contentRect;m&&n(x.width)});return s.current&&m&&h.observe(s.current),()=>{s.current&&m&&h.unobserve(s.current)}},[m]);let k=(0,bt.useMemo)(()=>Pe(),[]);return bt.default.createElement("div",{ref:s},bt.default.createElement(Jo.Provider,null,bt.default.createElement(wo,{data:o.map((h,v)=>({...h,gg_gen_index:v})),aes:r,width:i,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:s,legend:i,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(s,x.axisY),legend:i?{...x.legend,...i}:x.legend,tooltip:n?{...x.tooltip,...n}:x.tooltip}))},[h,e,t,o,r,a,l,c,m,s,i,n,k]),null};var nr=require("react"),sr=require("jotai");var ir=({keepInParent:e,position:t,xAxis:o,content:r,xFormat:a,yFormat:l,measureFormat:c,datum:m,dx:s,dy:i})=>{let[,n]=(0,sr.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:s,dy:i}))},[e,t,o,r,a,l,c,m,n,s,i]),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=2,ur=8,Rr=5,cr=({id:e,left:t,top:o,value:r,wait:a})=>{let{ggState:l}=qt()||{},{width:c,height:m}=l||{width:0,height:0},[{position:s,keepInParent:i,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]),F=(0,nt.useMemo)(()=>k?typeof k=="number"?k:k({height:m,y:-o}):0,[k,m,o]),O=(0,nt.useMemo)(()=>typeof i=="boolean"?i:i?i({width:c,x:t}):!0,[i,c,t]),$=(0,nt.useCallback)(()=>{if(G.current){let I=G.current?.clientWidth||0,W=G.current?.clientHeight||0,U=t+ur+X;O&&U&&U<mr?U=mr:O&&t>c/2&&(U=t-I-ur-X),x(U);let A=o-(s==="data"?W/2:0)-Rr+F;V(A)}},[c,t,o,s,O,X,F]);return(0,nt.useEffect)(()=>{let I=setTimeout(()=>{$()},10);return()=>clearTimeout(I)},[$,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 Mt=Ct(require("react"),1),Ue=require("jotai");var fr=({id:e,left:t,top:o,value:r,yPosition:a="below",align:l="center"})=>{let{width:c,margin:m}=qt()?.ggState||{width:0},[{font:s}]=(0,Ue.useAtom)(rt),[{keepInParent:i}]=(0,Ue.useAtom)(yt),[n,k]=(0,Mt.useState)(0),[h,v]=(0,Mt.useState)(0),x=(0,Mt.useRef)(null);return(0,Mt.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 F=Y&&t-X,O=F&&Y&&F+Y;i&&F&&F<m.left?F=m.left:i&&F&&Y&&O&&O>c&&(F=c-Y-2),v(o-(a==="above"?(V||0)+8:0)),F&&k(F)},[c,t,o,e,i,a,l]),Mt.default.createElement(ar,{id:e},Mt.default.createElement("div",{ref:x,style:{fontFamily:s?.family,pointerEvents:"none",position:"absolute",left:n||-9999,top:h||-9999,whiteSpace:"nowrap"}},r))};var pr=Ct(require("react"),1),Xr={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"},dr=({children:e,style:t})=>pr.default.createElement("div",{style:{...Xr,...t}},e);var qe=require("react"),Je=require("jotai");var gr=({type:e,format:t,numTicks:o,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m})=>{let[,s]=(0,Je.useAtom)(xt),[,i]=(0,Je.useAtom)(Yt);return(0,qe.useEffect)(()=>{s(n=>({...n,type:e,format:t,numTicks:o||n.numTicks,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m,isFixed:!!r}))},[s,e,t,o,r,a,l,c,m]),(0,qe.useEffect)(()=>{i(n=>({...n,xDomain:{...n.xDomain,original:r}}))},[i,r]),null};var je=require("react"),Ke=require("jotai");var yr=({type:e,format:t,numTicks:o,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m})=>{let[,s]=(0,Ke.useAtom)(St),[,i]=(0,Ke.useAtom)(Yt);return(0,je.useEffect)(()=>{s(n=>({...n,type:e,format:t,numTicks:o||n.numTicks,domain:r,reverse:a,highlightOnFocus:l,focusedTicks:c,className:m,isFixed:!!r}))},[s,e,t,o,r,a,l,c,m]),(0,je.useEffect)(()=>{i(n=>({...n,yDomain:{...n.yDomain,original:r}}))},[i,r]),null};var xr=require("react"),Sr=require("jotai");var hr=({type:e,domain:t,values:o,reverse:r})=>{let[,a]=(0,Sr.useAtom)(ne);return(0,xr.useEffect)(()=>{a({type:e,domain:t,values:o,reverse:r})},[a,e,t,o,r]),null};var br=require("react"),Dr=require("jotai");var kr=({type:e,domain:t,values:o,reverse:r})=>{let[,a]=(0,Dr.useAtom)(se);return(0,br.useEffect)(()=>{a({type:e,domain:t,values:o,reverse:r})},[a,e,t,o,r]),null};var Pr=require("react"),Er=require("jotai");var Tr=({domain:e,values:t})=>{let[,o]=(0,Er.useAtom)(ie);return(0,Pr.useEffect)(()=>{o({domain:e,values:t})},[o,e,t]),null};var Ar=require("react"),Vr=require("jotai");var Gr=({domain:e,range:t})=>{let[,o]=(0,Vr.useAtom)(ge);return(0,Ar.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