@graphysdk/react-renderer 1.9.0-beta.1790103324329 → 1.9.0-beta.1790233123402

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- require('./use-target-boundary.css');var Ca=Object.create,Xe=Object.defineProperty,Ma=Object.getOwnPropertyDescriptor,Ba=Object.getOwnPropertyNames,Ia=Object.getPrototypeOf,Ta=Object.prototype.hasOwnProperty,Oa=(e,t)=>{let r={};for(var n in e)Xe(r,n,{get:e[n],enumerable:!0});return t||Xe(r,Symbol.toStringTag,{value:"Module"}),r},La=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(var o=Ba(t),a=0,i=o.length,c;a<i;a++)c=o[a],!Ta.call(e,c)&&c!==r&&Xe(e,c,{get:(l=>t[l]).bind(null,c),enumerable:!(n=Ma(t,c))||n.enumerable});return e},Tt=(e,t,r)=>(r=e!=null?Ca(Ia(e)):{},La(t||!e||!e.__esModule?Xe(r,"default",{value:e,enumerable:!0}):r,e));const x=require("./theme.contract.css-DKDKSByt.cjs");let u=require("@graphysdk/viz-engine"),g=require("react"),s=require("react/jsx-runtime"),xe=require("zustand"),E=require("motion/react"),Na=require("d3-interpolate-path"),U=require("zustand/react/shallow"),Ot=require("@vanilla-extract/dynamic"),Lt=require("zustand/vanilla"),Jr=require("react-dom"),D=require("clsx");D=Tt(D,1);let jt=require("lodash-es/merge");jt=Tt(jt,1);let Fa=require("react-intl"),z=require("@floating-ui/react-dom"),Ha=require("color2k");typeof window<"u"&&(window.__GRAPHY_SDK__??={},window.__GRAPHY_SDK__.reactRenderer="1.9.0-beta.1790103324329");function Zr(e){for(const t of e)(t.severity==="error"?console.error:console.warn)(`[graphy] ${t.code}: ${t.message}`,t)}var Nt=(0,g.createContext)(null),H=()=>{const e=(0,g.useContext)(Nt);if(!e)throw new Error("useGraph* hooks must be used inside a <GraphProvider>");return e},O=e=>{const{store:t}=H();return(0,xe.useStore)(t,r=>e(r.scene))},Ft=()=>H().styleResolver,N=e=>Ee()(e),M=()=>{const e=Ft(),t=O(r=>r.chrome);return e.readers({chrome:t})},_r=e=>{const t=Ee(),r=O(n=>n.layers).find(n=>n.id===e);return r===void 0?null:t(r)},Da=()=>{const e=Ee(),t=O(r=>r.layers);return(0,g.useMemo)(()=>r=>{const n=(0,u.readAnchoredObservation)(t,r);if(n!==null)return(0,u.readGeomColor)({geom:e},n.layer,n.observation)},[t,e])},Ga=e=>{const t=Ee(),r=O(n=>n.layers);return(0,g.useMemo)(()=>n=>{const o=(0,u.readAnchoredObservation)(r,n);if(o===null)return{};const a=(0,u.resolveSwatchGeomPaint)(t,o.layer,o.observation,{width:e,height:e});return{color:(0,u.readGeomColor)({geom:t},o.layer,o.observation),alpha:a.alpha,cornerRadius:a.cornerRadiusPx}},[r,t,e])},Ee=()=>{const e=Ft();return O(t=>e.readers(t).geom)},Wa={centerX:0,centerY:0,radius:1},De=e=>{const t=Math.min(e.width,e.height);return{centerX:(e.width-t)/2+t/2,centerY:(e.height-t)/2+t/2,radius:t/2}},V=(e,t,r=Wa)=>{const n=(0,u.polarToUnit)(e,t);return{x:r.centerX+n.x*r.radius,y:r.centerY-n.y*r.radius}},ve=(e,t)=>({x:(0,u.toViewBoxX)(e),y:(0,u.toViewBoxY)(t)}),X=(e,t)=>{const r=V(e,t);return{x:(r.x+1)/2,y:(r.y+1)/2}},Va=2,Ua=.7,de=({hit:e,project:t=ve})=>{const r=_r(e.layerId);if(!e.anchored)return null;const n=r?.get("fill",e.observation)??u.DEFAULT_GEOM_COLOR,o=((0,u.getAlpha)(e.observation)??1)*Ua,a=(r?.get("size",e.observation)??u.DEFAULT_POINT_SIZE_PX)/2,i=r?.get("stroke",e.observation,"hovered")??u.DEFAULT_HOVER_AFFORDANCE_COLOR,c=t(e.x,e.y);return(0,s.jsx)("circle",{cx:(0,u.toPercent)(c.x),cy:(0,u.toPercent)(c.y),r:a,fill:n,opacity:o,stroke:i,strokeWidth:Va,"data-testid":"companion-point"})};var xr=10**2,F=e=>Math.round(e*xr)/xr,Ka=e=>e.map(({x:t,y:r})=>`M${F(t)},${F(r)}h0`).join(""),Ya=(e,t,r)=>{const n=r.axis==="x",o=n?e.y:e.x,a=n?e.x:e.y,i=n?e.height:e.width,c=n?e.width:e.height,l=Math.max(Math.min(r.from,r.to),a),d=Math.min(Math.max(r.from,r.to),a+c);if(d-l<=0||i<=0)return"";const h=Math.max(0,Math.min(t,i/2)),f=Math.max(0,Math.min(t,c/2)),m=a+f,v=a+c-f,p=o+i,A=n?0:1,y=(P,I)=>{const[L,Z]=n?[I,P]:[P,I];return`${F(L)},${F(Z)}`},[S,b]=(n?[f,h]:[h,f]).map(F),w=(P,I)=>`A${S},${b} 0 0 ${A} ${y(P,I)}`,j=P=>{if(h<=0||f<=0)return 0;const I=P<m?m-P:P>v?P-v:0,L=Math.min(1,I/f);return h*(1-Math.sqrt(1-L*L))},k=(P,I)=>h>0&&f>0&&(Math.max(P,I)<=m||Math.min(P,I)>=v),B=[l,...new Set([m,v].filter(P=>P>l&&P<d)),d],C=[`M${y(o+j(l),l)}`,`L${y(p-j(l),l)}`];for(let P=1;P<B.length;P++){const I=B[P-1]??l,L=B[P]??d;C.push(k(I,L)?w(p-j(L),L):`L${y(p,L)}`)}C.push(`L${y(o+j(d),d)}`);for(let P=B.length-1;P>0;P--){const I=B[P]??d,L=B[P-1]??l;C.push(k(I,L)?w(o+j(L),L):`L${y(o,L)}`)}return`${C.join("")}Z`},$r=(e,t,r)=>{const n=e.digits?.()??null,o=n===null?null:10**n,a=l=>o===null?l:Math.round(l*o)/o,i=(l,d)=>en(a(l),a(d),r);let c="";return e.context({moveTo:(l,d)=>{c+=`M${i(l,d)}`},lineTo:(l,d)=>{c+=`L${i(l,d)}`},bezierCurveTo:(l,d,h,f,m,v)=>{c+=`C${i(l,d)},${i(h,f)},${i(m,v)}`},closePath:()=>{c+="Z"}}),e(t),e.context(null),c},wt=(e,t)=>{let r="";for(let n=0;n<e.length;n++){const o=e[n];o!==void 0&&(r+=`${n===0?"M":"L"}${en(o.x,o.y,t)}`)}return r===""?"":`${r}Z`},qe=(e,t)=>({x:e.x*t.width,y:e.y*t.height}),en=(e,t,{origin:r,scaleX:n,scaleY:o})=>`${F(r.x+e*n)},${F(r.y+t*o)}`,za=({layer:e,coordSystem:t,panelRect:r,shouldAnimateTransitions:n})=>{const{areaGenerator:o}=(0,u.createAreaPathGenerators)(t,e.params),a={origin:{x:0,y:0},scaleX:r.width,scaleY:r.height};let i="";const c=[];e.data.groupBy(u.GROUP_VARIABLES.group).forEach(d=>{const h=(0,u.prepareAreaObservations)([...d],e.params.missingValues),[f]=h;if(f!==void 0){if(h.length===1){const m=Qa(f,t,r);m!==null&&c.push(m);return}i+=$r(o,h,a)}});const l=i===""?[]:[{kind:"region",pathData:i,shouldAnimateTransitions:n}];return c.length>0&&l.push({kind:"dots",centers:c,size:u.DEFAULT_POINT_SIZE_PX}),l},Qa=(e,t,r)=>{if(t.mainAxis==="y"){const a=(0,u.getY)(e),i=(0,u.getXMax)(e)??(0,u.getX)(e);return a===null||i===null?null:qe(ve(i,a),r)}const n=(0,u.getX)(e),o=(0,u.getYMax)(e)??(0,u.getY)(e);return n===null||o===null?null:qe(ve(n,o),r)},J="_1d8mpa10",q={type:"spring",stiffness:500,damping:60,mass:1},Xa={duration:0},Ht=e=>e?q:Xa,Je=(e,t,r)=>{const n=(0,E.useMotionValue)(e),o=(0,g.useRef)(r);return(0,g.useEffect)(()=>{const a=r!==void 0&&r===o.current;if(o.current=r,n.get()===e)return;if(a){n.set(e);return}const i=(0,Na.interpolatePath)(n.get(),e),c=(0,E.animate)(0,1,{...t,onUpdate:l=>n.set(i(l))});return()=>c.stop()},[t,e,r,n]),n},tn=({shouldAnimateTransitions:e,...t})=>e?(0,s.jsx)(Ja,{...t}):(0,s.jsx)(qa,{...t}),qa=({fillPath:e,linePath:t,fill:r,fillOpacity:n,stroke:o,strokeWidth:a,strokeOpacity:i,strokeDasharray:c,opacity:l})=>(0,s.jsxs)("g",{opacity:l,children:[(0,s.jsx)("path",{d:e,fill:r,fillOpacity:n,stroke:"none"}),(0,s.jsx)("path",{d:t,fill:"none",stroke:o,strokeWidth:a,strokeOpacity:i,strokeDasharray:c,vectorEffect:"non-scaling-stroke"})]}),Ja=({fillPath:e,linePath:t,fill:r,fillOpacity:n,stroke:o,strokeWidth:a,strokeOpacity:i,strokeDasharray:c,opacity:l})=>{const d=Je(e,q),h=Je(t,q);return(0,s.jsxs)("g",{opacity:l,children:[(0,s.jsx)(E.motion.path,{d,fill:r,fillOpacity:n,stroke:"none"}),(0,s.jsx)(E.motion.path,{d:h,fill:"none",stroke:o,strokeWidth:a,strokeOpacity:i,strokeDasharray:c,vectorEffect:"non-scaling-stroke"})]})},Dt=(e,t)=>{const r=(t!==void 0?e.delayByKey[t]:void 0)??0;return{duration:e.durationSeconds,ease:e.growAxis==="angle"?"circOut":"backOut",delay:r}},Za=e=>({duration:e.durationSeconds,ease:"easeOut"}),_a=e=>({duration:e.durationSeconds,ease:"easeOut"}),$a=e=>es(e)+e.durationSeconds,es=e=>{switch(e.type){case"grow":return Object.values(e.delayByKey).reduce((t,r)=>Math.max(t,r),0);case"wipe":case"fade":return 0}},yr=1.1,Ar=1.5,rn=({intro:e,children:t})=>{const r=(0,g.useId)();return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("clipPath",{id:r,children:(0,s.jsx)(E.motion.rect,{...ts(e.axis),transition:Za(e)})}),(0,s.jsx)("g",{clipPath:`url(#${r})`,children:t})]})},ts=e=>e==="x"?{x:-.05,y:-.25,height:Ar,initial:{width:0},animate:{width:yr}}:{x:-.25,y:-.05,width:Ar,initial:{height:0},animate:{height:yr}},rs=(0,g.memo)(function({layer:t,coordSystem:r,shouldAnimateTransitions:n,intro:o}){const a=o?.type==="wipe"?o:null,{lineGenerator:i,areaGenerator:c}=(0,g.useMemo)(()=>(0,u.createAreaPathGenerators)(r,t.params),[t.params,r]),l=N(t),d=(0,g.useMemo)(()=>{const h=(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id),f=[];return t.data.groupBy(u.GROUP_VARIABLES.group).forEach(m=>{const v=(0,u.prepareAreaObservations)([...m],t.params.missingValues),p=c(v),A=i(v);if(!p||!A)return;const y=v[0];if(!y)return;const S=l.get("fill",y),b=l.get("stroke",y)??S,w=l.get("strokeWidth",y),j=(0,u.toStrokeDasharray)(l.get("dashArray",y),l.get("strokeWidth",y));f.push({key:h(y),areaPath:p,linePath:A,fill:S,stroke:b,fillOpacity:l.get("fillAlpha",y)*l.get("alpha",y),strokeWidth:w,strokeOpacity:l.get("strokeAlpha",y)*l.get("alpha",y),strokeDasharray:j})}),f},[c,i,t.data,t.id,t.mapping,t.params,l]).map(h=>(0,s.jsx)(ns,{areaPath:h.areaPath,linePath:h.linePath,fill:h.fill,stroke:h.stroke,fillOpacity:h.fillOpacity,strokeWidth:h.strokeWidth,strokeOpacity:h.strokeOpacity,strokeDasharray:h.strokeDasharray,shouldAnimateTransitions:n},h.key));return(0,s.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"area",className:J,children:a?(0,s.jsx)(rn,{intro:a,children:d}):d})}),ns=({areaPath:e,linePath:t,fill:r,stroke:n,fillOpacity:o,strokeWidth:a,strokeOpacity:i,strokeDasharray:c,shouldAnimateTransitions:l})=>(0,s.jsx)(tn,{fillPath:e,linePath:t,fill:r,fillOpacity:o,stroke:n,strokeWidth:a,strokeOpacity:i,strokeDasharray:c,shouldAnimateTransitions:l}),os="_324dw20",nn=1,as=.4,ss=.2,is=1,ls=.5,cs=2.25,Re=({hit:e,project:t=ve,...r})=>{const n=_r(e.layerId);if(!e.anchored)return null;const o=n?.get("fill",e.observation)??u.DEFAULT_GEOM_COLOR,a=(0,u.getAlpha)(e.observation)??1,i=n?.get("stroke",e.observation,"hovered")??u.DEFAULT_HOVER_AFFORDANCE_COLOR,c=t(e.x,e.y),l=(0,u.toPercent)(c.x),d=(0,u.toPercent)(c.y),h=us(e.observation,n),{ringRadius:f,ringWidth:m}=ds(h);return(0,s.jsxs)("g",{...r,className:os,children:[(0,s.jsx)("circle",{cx:l,cy:d,r:f,fill:"none",stroke:i,strokeWidth:m}),(0,s.jsx)("circle",{cx:l,cy:d,r:h,fill:o,opacity:a,stroke:i,strokeWidth:nn})]})},us=(e,t)=>{const r=t?.get("size",e),n=(0,u.getSize)(e)??null;return n!==null?(r??n)/cs:(r??12)/2},ds=e=>{const t=Math.max(is,e*as),r=Math.max(ls,e*ss);return{ringRadius:e+nn/2+r+t/2,ringWidth:t}},hs=({layer:e,coordSystem:t,primary:r,companions:n})=>{const o=N(e),a=(0,u.getGroup)(r.observation),i=(0,g.useMemo)(()=>(0,u.prepareAreaObservations)([...e.data.filter(u.GROUP_VARIABLES.group,"eq",a)],e.params.missingValues),[e.data,e.params.missingValues,a]),{areaPath:c,linePath:l}=(0,g.useMemo)(()=>{const{lineGenerator:A,areaGenerator:y}=(0,u.createAreaPathGenerators)(t,e.params);return{areaPath:y(i)??"",linePath:A(i)??""}},[t,e.params,i]);if(!c||!l)return null;const d=o.get("fill",r.observation),h=o.get("stroke",r.observation)??d,f=o.get("alpha",r.observation),m=o.get("fillAlpha",r.observation)*f,v=o.get("strokeWidth",r.observation),p=(0,u.toStrokeDasharray)(o.get("dashArray",r.observation),o.get("strokeWidth",r.observation));return(0,s.jsxs)("g",{"data-testid":"hovered-area",children:[(0,s.jsxs)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"area",className:J,children:[(0,s.jsx)("path",{d:c,fill:d,fillOpacity:m,stroke:"none","data-testid":"hovered-area-fill"}),(0,s.jsx)("path",{d:l,fill:"none",stroke:h,strokeWidth:v,strokeOpacity:o.get("strokeAlpha",r.observation)*f,strokeDasharray:p,vectorEffect:"non-scaling-stroke","data-testid":"hovered-area-edge"})]}),n.map(A=>(0,s.jsx)(de,{hit:A},`companion-${A.layerId}-${A.pointIndex}`)),(0,s.jsx)(Re,{hit:r,"data-testid":"hovered-area-point"})]})},gs={geom:"area",coord:"cartesian",swatchShape:"area",guideMode:"crosshair",render:({layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n})=>(0,s.jsx)(rs,{layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n}),renderHover:({layer:e,coordSystem:t,primary:r,group:n,related:o})=>(0,s.jsx)(hs,{layer:e,coordSystem:t,primary:r,companions:[...n,...o]}),renderHoverCompanions:({related:e})=>(0,s.jsx)(s.Fragment,{children:e.map(t=>(0,s.jsx)(de,{hit:t},`companion-${t.layerId}-${t.pointIndex}`))}),getEditOutlineShapes:za,getOverlayAnchor:({observation:e,coordSystem:t})=>{if(t.mainAxis==="x"){const o=(0,u.getX)(e),a=(0,u.getYMax)(e)??(0,u.getY)(e);return o===null||a===null?null:{x:o,y:a}}const r=(0,u.getY)(e),n=(0,u.getXMax)(e)??(0,u.getX)(e);return r===null||n===null?null:{x:n,y:r}}},on=e=>{const t=new WeakMap;return(r,...n)=>{const o=t.get(r);if(o!==void 0&&o.args.every((i,c)=>i===n[c]))return o.result;const a=e(r,...n);return t.set(r,{args:n,result:a}),a}},nt=(e,t)=>({stroke:e.get("stroke",t),strokeWidth:e.get("strokeWidth",t),cornerRadius:e.get("cornerRadius",t),strokeAlpha:e.get("strokeAlpha",t)}),an=(e,t,r,n)=>{const o=new Map;for(const i of e.data){const c=(0,u.getBarRectBounds)(t,i);if(!c)continue;const l=(0,u.buildColumnKey)(t,c),d=n(i,c),h=o.get(l);h===void 0?o.set(l,{firstObservation:i,members:[d]}):h.members.push(d)}const a=new Map;for(const[i,{firstObservation:c,members:l}]of o)a.set(i,{style:nt(r,c),bounds:(0,u.getBoundingRect)(l),members:l});return a},Gt=(e,t,r)=>{const n=new Map;for(const[o,{style:a,bounds:i}]of an(e,t,r,ms))n.set(o,{style:a,bounds:i});return n},sn=(e,t,r,n)=>{const o=(0,u.getBarRectBounds)(t,n);return o?e.get((0,u.buildColumnKey)(t,o))??{style:nt(r,n),bounds:o}:null},me=(e,t)=>({x:e.x*t.width,y:e.y*t.height,width:e.width*t.width,height:e.height*t.height}),Pt=(e,t)=>({x:e.x-t,y:e.y-t,width:Math.max(0,e.width+t*2),height:Math.max(0,e.height+t*2)}),ae=(e,t)=>{const r=F(e.x),n=F(e.y),o=F(e.x+e.width),a=F(e.y+e.height),i=F(Math.max(0,Math.min(t,e.width/2))),c=F(Math.max(0,Math.min(t,e.height/2)));if(i<=0||c<=0)return`M${r},${n}H${o}V${a}H${r}Z`;const l=`A${i},${c} 0 0 1 `,[d,h,f,m]=[`${r}`,`${n}`,`${o}`,`${a}`],v=`${F(r+i)}`,p=`${F(o-i)}`,A=`${F(n+c)}`,y=`${F(a-c)}`;return`M${v},${h}H${p}${l}${f},${A}V${y}${l}${p},${m}H${v}${l}${d},${y}V${A}${l}${v},${h}Z`},fs=({observation:e,mainAxis:t,styleReaders:r,column:n,panelRect:o})=>{const a=(0,g.useId)(),i=(0,g.useId)(),c=(0,u.getBarRectBounds)(t,e);if(!c)return null;const l=me(c,o),d=me(n.bounds,o),{stroke:h,strokeWidth:f,cornerRadius:m,strokeAlpha:v}=n.style,p=(0,u.resolveBarBorderRadiusPx)({cornerRadius:m,mainAxis:t,bounds:d}),A=ae(l,0),y=ae(d,p),S=r.get("fill",e),b=r.get("alpha",e)*r.get("fillAlpha",e),w=(0,u.resolveBarBorderTreatment)(f);return(0,s.jsxs)("g",{clipPath:`url(#${a})`,children:[(0,s.jsx)("clipPath",{id:a,children:(0,s.jsx)("path",{d:A})}),(0,s.jsx)("clipPath",{id:i,children:(0,s.jsx)("path",{d:y})}),(0,s.jsxs)("g",{clipPath:`url(#${i})`,children:[(0,s.jsx)("path",{d:A,fill:S,opacity:b,"data-testid":"highlight-bar-segment"}),h!==void 0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("path",{d:A,fill:"none",stroke:h,strokeWidth:w.separatorWidth,opacity:b,"data-testid":"highlight-bar-segment-border"}),(0,s.jsx)("path",{d:y,fill:"none",stroke:h,strokeWidth:w.outlineWidth,opacity:v})]})]})]})},vs=({layer:e,sourceLayer:t,coordSystem:r,panelRect:n})=>{const o=N(t),a=(0,g.useMemo)(()=>Gt(t,r.mainAxis,o),[t,r.mainAxis,o]),i=(0,u.createStableKeyGenerator)(e.data,e.mapping,e.id),c=[];for(const l of e.data){const d=sn(a,r.mainAxis,o,l);d!==null&&c.push((0,s.jsx)(fs,{observation:l,mainAxis:r.mainAxis,styleReaders:o,column:d,panelRect:n},i(l)))}return c},ms=(e,t)=>t,ps=on(Gt),xs=({layer:e,sourceLayer:t,coordSystem:r,panelRect:n,styleReaders:o,shouldAnimateTransitions:a})=>{const{mainAxis:i}=r,c=ps(t,i,o),l=ys(e.data);let d="";for(let h=0;h<e.data.size();h++){const f=(0,u.buildBarRectBounds)(i,{xMin:l.xMin[h]??null,xMax:l.xMax[h]??null,yMin:l.yMin[h]??null,yMax:l.yMax?.[h]??null,y:l.y?.[h]??null});if(f===null)continue;const m=c.get((0,u.buildColumnKey)(i,f));if(m===void 0)continue;const v=me(m.bounds,n),p=me(f,n),A=(0,u.resolveBarBorderRadiusPx)({cornerRadius:m.style.cornerRadius,mainAxis:i,bounds:v});d+=As(p,v)?ae(v,A):Ya(v,A,i==="x"?{axis:"y",from:p.y,to:p.y+p.height}:{axis:"x",from:p.x,to:p.x+p.width})}return d===""?[]:[{kind:"region",pathData:d,shouldAnimateTransitions:a}]},ys=e=>{const t=r=>e.hasVariable(r)?e.getValues(r,{type:"numeric"}):null;return{xMin:e.getValues(u.POSITION_VARIABLES.xMin,{type:"numeric"}),xMax:e.getValues(u.POSITION_VARIABLES.xMax,{type:"numeric"}),yMin:e.getValues(u.POSITION_VARIABLES.yMin,{type:"numeric"}),yMax:t(u.POSITION_VARIABLES.yMax),y:t(u.POSITION_VARIABLES.y)}},As=(e,t)=>Math.abs(e.x-t.x)<.5&&Math.abs(e.y-t.y)<.5&&Math.abs(e.width-t.width)<.5&&Math.abs(e.height-t.height)<.5,kt=(e,t,r)=>{const n=r===void 0?e.activeIntro:r,o=(0,g.useRef)(n?Dt(n,t):null),a=(0,g.useRef)(e.shouldAnimateTransitions);return a.current=e.shouldAnimateTransitions,(0,g.useCallback)(()=>{const i=o.current;return o.current=null,i??Ht(a.current)},[])},ot=(e,t)=>{const r=(0,g.useRef)(!0);(0,g.useEffect)(()=>{r.current=!1},[]);const n=r.current;return(0,g.useMemo)(()=>({isAnimated:t||e!==null,isLayerEntrance:n,activeIntro:n?e:null,shouldAnimateTransitions:t}),[e,t,n])},ln=(e,t)=>t.growAxis==="x"?{x:t.baseline,y:e.y,width:0,height:e.height}:{x:e.x,y:t.baseline,width:e.width,height:0},bs=(0,g.memo)(function({layer:t,coordSystem:r,shouldAnimateTransitions:n,intro:o}){const a=(0,g.useId)(),i=N(t),c=ot(o?.type==="grow"&&(o.growAxis==="x"||o.growAxis==="y")?o:null,n);return(0,s.jsx)(s.Fragment,{children:(0,g.useMemo)(()=>{const l=(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id);return[...an(t,r.mainAxis,i,(d,h)=>({key:l(d),...h,fill:i.get("fill",d),opacity:i.get("alpha",d)*i.get("fillAlpha",d)})).values()].map(({members:d,style:h,bounds:f},m)=>{const v=h.stroke===void 0?void 0:(0,u.resolveBarBorderTreatment)(h.strokeWidth);return{key:d[0]?.key??String(m),id:`${a}${m}`,bars:d,...f,radii:Ps({cornerRadius:h.cornerRadius,mainAxis:r.mainAxis,bounds:f}),stroke:h.stroke,outlineOpacity:h.strokeAlpha,clippedStrokeWidth:v?.outlineWidth,separatorStrokeWidth:v?.separatorWidth}})},[a,r.mainAxis,t,i]).map(l=>{if(l.bars.length===1&&l.stroke===void 0){const[d]=l.bars;if(!d)return null;const{key:h,...f}=d;return(0,s.jsx)(Ze,{...f,...l.radii,animation:c,introKey:h},h)}return c.isAnimated?(0,s.jsx)(js,{column:l,animation:c},l.key):(0,s.jsx)(Ss,{column:l,animation:c},l.key)})})}),Ss=({column:e,animation:t})=>{const{id:r,bars:n,radii:o,stroke:a,outlineOpacity:i,clippedStrokeWidth:c,separatorStrokeWidth:l}=e,d=a!==void 0,h=(0,s.jsx)("clipPath",{id:r,children:(0,s.jsx)(br,{bounds:e,radii:o})});if(n.length===1){const[f]=n;if(!f)return null;const{key:m,...v}=f;return(0,s.jsxs)(s.Fragment,{children:[h,(0,s.jsx)("g",{clipPath:`url(#${r})`,children:(0,s.jsx)(Ze,{...v,...o,stroke:a,strokeWidth:c,animation:t},m)})]})}return(0,s.jsxs)(s.Fragment,{children:[h,(0,s.jsxs)("g",{clipPath:`url(#${r})`,children:[n.map(f=>{const{key:m,...v}=f;return(0,s.jsx)(Ze,{...v,stroke:a,strokeWidth:l,animation:t},m)}),d&&(0,s.jsx)(br,{bounds:e,radii:o,fill:"none",stroke:a,strokeWidth:c,opacity:i})]})]})},js=({column:e,animation:t})=>{const{id:r,bars:n,radii:o,stroke:a,outlineOpacity:i,clippedStrokeWidth:c,separatorStrokeWidth:l}=e,d=a!==void 0,h=ws(e,t,n[0]?.key),f={style:{transformBox:"view-box",x:h.x,y:h.y,width:h.width,height:h.height},rx:o.rx,ry:o.ry},m=(0,s.jsx)("clipPath",{id:r,children:(0,s.jsx)(E.motion.rect,{...f})});if(n.length===1){const[v]=n;return(0,s.jsxs)(s.Fragment,{children:[m,(0,s.jsx)("g",{clipPath:`url(#${r})`,children:(0,s.jsx)(E.motion.rect,{...f,fill:v?.fill,opacity:v?.opacity,stroke:a,strokeWidth:c})})]})}return(0,s.jsxs)(s.Fragment,{children:[m,(0,s.jsxs)("g",{clipPath:`url(#${r})`,children:[n.map(v=>{const{key:p,...A}=v;return(0,s.jsx)(Ze,{...A,stroke:a,strokeWidth:l,animation:t,introKey:p},p)}),d&&(0,s.jsx)(E.motion.rect,{...f,fill:"none",stroke:a,strokeWidth:c,opacity:i})]})]})},Ze=({animation:e,introKey:t,rx:r,ry:n,stroke:o,strokeWidth:a,...i})=>{const{isAnimated:c,activeIntro:l,shouldAnimateTransitions:d}=e;if(c){const h=l?ln(i,l):null;return(0,s.jsx)(E.motion.rect,{initial:h?{x:(0,u.toPercent)(h.x),y:(0,u.toPercent)(h.y),width:(0,u.toPercent)(h.width),height:(0,u.toPercent)(h.height),opacity:i.opacity}:!1,style:{transformBox:"view-box"},transition:l?Dt(l,t):Ht(d),fill:i.fill,opacity:i.opacity,rx:r,ry:n,stroke:o,strokeWidth:a,animate:{x:(0,u.toPercent)(i.x),y:(0,u.toPercent)(i.y),width:(0,u.toPercent)(i.width),height:(0,u.toPercent)(i.height),opacity:i.opacity}})}return(0,s.jsx)("rect",{style:{transformBox:"view-box"},x:(0,u.toPercent)(i.x),y:(0,u.toPercent)(i.y),width:(0,u.toPercent)(i.width),height:(0,u.toPercent)(i.height),fill:i.fill,opacity:i.opacity,rx:r,ry:n,stroke:o,strokeWidth:a})},br=({bounds:e,radii:t,fill:r,stroke:n,strokeWidth:o,opacity:a})=>(0,s.jsx)("rect",{x:(0,u.toPercent)(e.x),y:(0,u.toPercent)(e.y),width:(0,u.toPercent)(e.width),height:(0,u.toPercent)(e.height),rx:t.rx,ry:t.ry,fill:r,stroke:n,strokeWidth:o,opacity:a}),ws=(e,t,r)=>{const n=t.activeIntro?ln(e,t.activeIntro):e,o=(0,E.useMotionValue)(n.x),a=(0,E.useMotionValue)(n.y),i=(0,E.useMotionValue)(n.width),c=(0,E.useMotionValue)(n.height),l=kt(t,r);return(0,g.useEffect)(()=>{const d=l(),h=[(0,E.animate)(o,e.x,d),(0,E.animate)(a,e.y,d),(0,E.animate)(i,e.width,d),(0,E.animate)(c,e.height,d)];return()=>{for(const f of h)f.stop()}},[o,a,i,c,e.x,e.y,e.width,e.height,l]),{x:(0,E.useTransform)(o,u.toPercent),y:(0,E.useTransform)(a,u.toPercent),width:(0,E.useTransform)(i,u.toPercent),height:(0,E.useTransform)(c,u.toPercent)}};function Ps(e){const t=(0,u.resolveBarCornerRadiiPx)(e);if(e.cornerRadius!=="full")return t;const r={};return t.rx!==void 0&&(r.rx=(0,u.toPercent)(t.rx)),t.ry!==void 0&&(r.ry=(0,u.toPercent)(t.ry)),r}var ks="_1suo8ub0",vt=3,Es=({layer:e,coordSystem:t,primary:r,panelRect:n})=>{const o=N(e),a=(0,g.useId)(),i=(0,g.useId)(),c=(0,g.useId)(),l=(0,g.useMemo)(()=>Gt(e,t.mainAxis,o),[e,t.mainAxis,o]),d=(0,u.getBarRectBounds)(t.mainAxis,r.observation),h=sn(l,t.mainAxis,o,r.observation);if(!d||h===null)return null;const f=me(d,n),m=me(h.bounds,n),{stroke:v,strokeWidth:p,cornerRadius:A,strokeAlpha:y}=h.style,S=(0,u.resolveBarBorderRadiusPx)({cornerRadius:A,mainAxis:t.mainAxis,bounds:m}),b=ae(f,0),w=ae(m,S),j=ae(Pt(f,vt),0),k=ae(Pt(m,vt),S>0?S+vt:0),B=o.get("fill",r.observation),C=o.get("alpha",r.observation)*o.get("fillAlpha",r.observation),P=o.get("stroke",r.observation,"hovered"),I=(0,u.resolveBarBorderTreatment)(p);return(0,s.jsxs)("g",{"data-testid":"hovered-bar",children:[(0,s.jsx)("clipPath",{id:a,children:(0,s.jsx)("path",{d:k})}),(0,s.jsx)("clipPath",{id:i,children:(0,s.jsx)("path",{d:b})}),(0,s.jsx)("clipPath",{id:c,children:(0,s.jsx)("path",{d:w})}),(0,s.jsx)("g",{className:ks,children:(0,s.jsx)("g",{clipPath:`url(#${a})`,children:(0,s.jsx)("path",{d:j,fill:P,"data-testid":"hovered-bar-border"})})}),(0,s.jsx)("g",{clipPath:`url(#${i})`,children:(0,s.jsxs)("g",{clipPath:`url(#${c})`,children:[(0,s.jsx)("path",{d:b,fill:B,opacity:C,"data-testid":"hovered-bar-fill"}),v!==void 0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("path",{d:b,fill:"none",stroke:v,strokeWidth:I.separatorWidth,opacity:C,"data-testid":"hovered-bar-inner-border"}),(0,s.jsx)("path",{d:w,fill:"none",stroke:v,strokeWidth:I.outlineWidth,opacity:y})]})]})})]})},Rs={geom:"bar",coord:"cartesian",swatchShape:"square",guideMode:"band",render:({layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n})=>(0,s.jsx)(bs,{layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n}),renderHighlight:({layer:e,sourceLayer:t,coordSystem:r,panelRect:n})=>(0,s.jsx)(vs,{layer:e,sourceLayer:t,coordSystem:r,panelRect:n}),renderHover:({layer:e,coordSystem:t,primary:r,panelRect:n})=>(0,s.jsx)(Es,{layer:e,coordSystem:t,primary:r,panelRect:n}),renderHoverCompanions:()=>null,getEditOutlineShapes:xs},Cs=({layer:e,panelRect:t,styleReaders:r,shouldAnimateTransitions:n})=>{const o=(0,u.createLinePathGenerator)(e.params),a={origin:{x:0,y:0},scaleX:t.width,scaleY:t.height},i=[],c=[];return e.data.groupBy(u.GROUP_VARIABLES.group).forEach(l=>{const d=(0,u.prepareLineObservations)([...l],e.params.missingValues),[h]=d;if(h===void 0)return;if(d.length===1){const m=Ms(h,t);m!==null&&c.push(m);return}const f=$r(o,d,a);f!==""&&i.push({kind:"stroke",key:String((0,u.getGroup)(h)),pathData:f,width:r.get("strokeWidth",h),shouldAnimateTransitions:n})}),c.length>0&&i.push({kind:"dots",centers:c,size:u.DEFAULT_POINT_SIZE_PX}),i},Ms=(e,t)=>{const r=(0,u.getX)(e),n=(0,u.getY)(e);return r===null||n===null?null:qe(ve(r,n),t)},Bs=(0,g.memo)(function({layer:t,shouldAnimateTransitions:r,intro:n}){const o=n?.type==="wipe"?n:null,a=(0,g.useMemo)(()=>(0,u.createLinePathGenerator)(t.params),[t.params]),i=(0,g.useMemo)(()=>(0,u.createLineFillAreaGenerator)(t.params),[t.params]),c=N(t),l=(0,g.useMemo)(()=>{const d=(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id),h=[];return t.data.groupBy(u.GROUP_VARIABLES.group).forEach(f=>{const m=(0,u.prepareLineObservations)([...f],t.params.missingValues),v=a(m);if(!v)return;const p=m[0];if(!p)return;const A=c.get("fillAlpha",p),y=A===void 0?void 0:i(m)??void 0,S=c.get("stroke",p),b=c.get("fill",p)??S,w=c.get("strokeWidth",p),j=(0,u.toStrokeDasharray)(c.get("dashArray",p),c.get("strokeWidth",p));h.push({key:d(p),pathData:v,fillPath:y,fillAlpha:A,stroke:S,fill:b,opacity:c.get("alpha",p),strokeAlpha:c.get("strokeAlpha",p),strokeWidth:w,strokeDasharray:j})}),h},[a,i,t.data,t.id,t.mapping,t.params,c]).map(d=>(0,s.jsx)(Is,{pathData:d.pathData,fillPath:d.fillPath,fillAlpha:d.fillAlpha,stroke:d.stroke,fill:d.fill,strokeWidth:d.strokeWidth,opacity:d.opacity,strokeAlpha:d.strokeAlpha,strokeDasharray:d.strokeDasharray,shouldAnimateTransitions:r},d.key));return(0,s.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"line",className:J,children:o?(0,s.jsx)(rn,{intro:o,children:l}):l})}),Is=({pathData:e,fillPath:t,fillAlpha:r,stroke:n,fill:o,strokeWidth:a,opacity:i,strokeAlpha:c,strokeDasharray:l,shouldAnimateTransitions:d})=>t!==void 0&&r!==void 0?(0,s.jsx)(Ts,{fillPath:t,fillAlpha:r,fill:o,linePath:e,stroke:n,strokeWidth:a,opacity:i,strokeAlpha:c,strokeDasharray:l,shouldAnimateTransitions:d}):d?(0,s.jsx)(Os,{pathData:e,stroke:n,strokeWidth:a,opacity:i,strokeAlpha:c,strokeDasharray:l}):(0,s.jsx)("path",{d:e,fill:"none",stroke:n,strokeWidth:a,opacity:i,strokeOpacity:c,strokeDasharray:l,vectorEffect:"non-scaling-stroke"}),Ts=({fillPath:e,fillAlpha:t,linePath:r,stroke:n,fill:o,strokeWidth:a,opacity:i,strokeAlpha:c,strokeDasharray:l,shouldAnimateTransitions:d})=>{const h=`line_fill_gradient_${(0,g.useId)()}`;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("defs",{children:(0,s.jsxs)("linearGradient",{id:h,gradientTransform:"rotate(90 0.5 0.5)",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:o}),(0,s.jsx)("stop",{offset:"70%",stopColor:o,stopOpacity:0}),(0,s.jsx)("stop",{offset:"100%",stopColor:o,stopOpacity:0})]})}),(0,s.jsx)(tn,{fillPath:e,linePath:r,fill:`url(#${h})`,fillOpacity:t,stroke:n,strokeWidth:a,strokeOpacity:c,opacity:i,strokeDasharray:l,shouldAnimateTransitions:d})]})},Os=({pathData:e,stroke:t,strokeWidth:r,opacity:n,strokeAlpha:o,strokeDasharray:a})=>{const i=Je(e,q);return(0,s.jsx)(E.motion.path,{d:i,fill:"none",stroke:t,strokeWidth:r,opacity:n,strokeOpacity:o,strokeDasharray:a,vectorEffect:"non-scaling-stroke"})},Ls=({layer:e,primary:t,companions:r})=>{const n=N(e),o=(0,u.getGroup)(t.observation),a=(0,g.useMemo)(()=>(0,u.prepareLineObservations)([...e.data.filter(u.GROUP_VARIABLES.group,"eq",o)],e.params.missingValues),[e.data,e.params.missingValues,o]),i=(0,g.useMemo)(()=>(0,u.createLinePathGenerator)(e.params)(a),[e.params,a]);if(!i)return null;const c=n.get("stroke",t.observation),l=n.get("alpha",t.observation),d=n.get("strokeWidth",t.observation),h=(0,u.toStrokeDasharray)(n.get("dashArray",t.observation),n.get("strokeWidth",t.observation));return(0,s.jsxs)("g",{"data-testid":"hovered-line",children:[(0,s.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"line",className:J,children:(0,s.jsx)("path",{d:i,fill:"none",stroke:c,strokeWidth:d,opacity:l,strokeOpacity:n.get("strokeAlpha",t.observation),strokeDasharray:h,vectorEffect:"non-scaling-stroke","data-testid":"hovered-line-path"})}),r.map(f=>(0,s.jsx)(de,{hit:f},`companion-${f.layerId}-${f.pointIndex}`)),(0,s.jsx)(Re,{hit:t,"data-testid":"hovered-line-point"})]})},Ns={geom:"line",coord:"cartesian",swatchShape:"line",guideMode:"crosshair",render:({layer:e,shouldAnimateTransitions:t,intro:r})=>(0,s.jsx)(Bs,{layer:e,shouldAnimateTransitions:t,intro:r}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,s.jsx)(Ls,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,s.jsx)(s.Fragment,{children:e.map(t=>(0,s.jsx)(de,{hit:t},`companion-${t.layerId}-${t.pointIndex}`))}),getEditOutlineShapes:Cs,getOverlayAnchor:({observation:e})=>{const t=(0,u.getX)(e),r=(0,u.getY)(e);return t===null||r===null?null:{x:t,y:r}}},cn=({observation:e,project:t,styleReaders:r,animation:n,introKey:o})=>{const a=un(e,t);if(a===null)return null;const i=(0,u.toPercent)(a.x),c=(0,u.toPercent)(a.y),l=r.get("size",e)/2,d=r.get("fill",e),h=r.get("alpha",e),f=r.get("fillAlpha",e),m=r.get("strokeAlpha",e),v=r.get("stroke",e),p=r.get("strokeWidth",e),{isAnimated:A,activeIntro:y,shouldAnimateTransitions:S}=n;return A?(0,s.jsx)(E.motion.circle,{initial:y?{cx:i,cy:c,r:0,opacity:0}:!1,transition:y?Dt(y,o):Ht(S),fill:d,fillOpacity:f,stroke:v,strokeOpacity:m,strokeWidth:p,animate:{cx:i,cy:c,r:l,opacity:h}}):(0,s.jsx)("circle",{cx:i,cy:c,r:l,fill:d,fillOpacity:f,opacity:h,stroke:v,strokeOpacity:m,strokeWidth:p})},un=(e,t)=>{const r=(0,u.getX)(e),n=(0,u.getY)(e);return r===null||n===null?null:t(r,n)},dn=({layer:e,panelRect:t,styleReaders:r,project:n})=>{const o=new Map;for(const a of e.data){const i=un(a,n);if(i===null)continue;const c=r.get("size",a)+r.get("strokeWidth",a),l=o.get(c)??[];l.push(qe(i,t)),o.set(c,l)}return[...o].map(([a,i])=>({kind:"dots",centers:i,size:a}))},Fs=(0,g.memo)(function({layer:t,shouldAnimateTransitions:r,intro:n}){const o=N(t),a=ot(n?.type==="grow"&&n.growAxis==="size"?n:null,r);return(0,g.useMemo)(()=>{const i=a.activeIntro?(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id):null,c=[];let l=0;for(const d of t.data)c.push((0,s.jsx)(cn,{observation:d,project:ve,styleReaders:o,animation:a,introKey:i?.(d)},String(l++)));return c},[t.data,t.mapping,t.id,o,a])}),Sr=({primary:e,companions:t})=>{const r=(0,s.jsxs)(s.Fragment,{children:[t.map(n=>(0,s.jsx)(de,{hit:n},`companion-${n.layerId}-${n.pointIndex}`)),e?(0,s.jsx)(Re,{hit:e}):null]});return e?(0,s.jsx)("g",{"data-testid":"hovered-point",children:r}):r},Hs={geom:"point",coord:"cartesian",swatchShape:"circle",render:({layer:e,shouldAnimateTransitions:t,intro:r})=>(0,s.jsx)(Fs,{layer:e,shouldAnimateTransitions:t,intro:r}),renderHover:({primary:e,group:t,related:r})=>(0,s.jsx)(Sr,{primary:e,companions:[...t,...r]}),renderHoverCompanions:({related:e})=>(0,s.jsx)(Sr,{companions:e}),getEditOutlineShapes:e=>dn({...e,project:ve}),getOverlayAnchor:({observation:e})=>{const t=(0,u.getX)(e),r=(0,u.getY)(e);return t===null||r===null?null:{x:t,y:r}}},Ge=`"Stack Sans Text", 'Inter', -apple-system, BlinkMacSystemFont, 'Open Sans', 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu',
2
- 'Cantarell', 'Helvetica Neue', 'NotoSansArabic', 'NotoSansJP', 'NotoSansSC', 'NotoSansKR', 'NotoSerifKR', sans-serif, 'Apple Color Emoji', 'NotoColorEmoji'`,Ds=Ge,Oe={regular:u.NAMED_WEIGHTS.regular,medium:u.NAMED_WEIGHTS.medium,semibold:u.NAMED_WEIGHTS.semiBold,bold:u.NAMED_WEIGHTS.bold,extraBold:u.NAMED_WEIGHTS.extraBold},_={xxs:1,xs:1.1,sm:1.2,md:1.4,lg:1.6,xl:2,editorBody:1.5,headingSm:1.8,headingMd:2.2,headingLg:2.8},Q={xxs:1,xs:1,sm:1.3,md:1.43,lg:1,xl:1,editorBody:1.47,headingSm:1.25,headingMd:1.41,headingLg:1.29},$=e=>`${e}em`,hn={textScale:"1",fontFamily:Ge,fontFamilyHeading:Ds,fontWeightRegular:Oe.regular.toString(),fontWeightMedium:Oe.medium.toString(),fontWeightSemibold:Oe.semibold.toString(),fontWeightBold:Oe.bold.toString(),fontWeightExtraBold:Oe.extraBold.toString(),fontSizeXxs:$(_.xxs),fontSizeXs:$(_.xs),fontSizeSm:$(_.sm),fontSizeMd:$(_.md),fontSizeLg:$(_.lg),fontSizeXl:$(_.xl),fontLineHeightXxs:Q.xxs.toString(),fontLineHeightXs:Q.xs.toString(),fontLineHeightSm:Q.sm.toString(),fontLineHeightMd:Q.md.toString(),fontLineHeightLg:Q.lg.toString(),fontLineHeightXl:Q.xl.toString()},gn={fontSizeEditorBody:$(_.editorBody),fontSizeHeadingSm:$(_.headingSm),fontSizeHeadingMd:$(_.headingMd),fontSizeHeadingLg:$(_.headingLg),fontLineHeightEditorBody:Q.editorBody.toString(),fontLineHeightHeadingSm:Q.headingSm.toString(),fontLineHeightHeadingMd:Q.headingMd.toString(),fontLineHeightHeadingLg:Q.headingLg.toString()},T=(e,t,r,n=x.vars.fontFamily)=>`${e} ${t}/${r} ${n}`,fn={fontUITooltip:T(x.vars.fontWeightMedium,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontUITooltipSecondary:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontButton:T(x.vars.fontWeightMedium,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontInput:T(x.vars.fontWeightMedium,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontInputLabel:T(x.vars.fontWeightMedium,x.vars.fontSizeXxs,x.vars.fontLineHeightXxs),fontSelectLabel:T(x.vars.fontWeightMedium,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontSelectDescription:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontColorSelectLabel:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontMenuTitle:T(x.vars.fontWeightSemibold,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontMenuGroupTitle:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontMenuItemLabel:T(x.vars.fontWeightMedium,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontMenuItemLabelSecondary:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontErrorBoundaryTitle:T(x.vars.fontWeightSemibold,x.vars.fontSizeHeadingSm,x.vars.fontLineHeightHeadingSm),fontErrorBoundaryMessage:T(x.vars.fontWeightMedium,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontTableCell:T(x.vars.fontWeightMedium,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontTableHeaderCell:T(x.vars.fontWeightSemibold,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontSourceLabel:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontSourceLink:T(x.vars.fontWeightRegular,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontTextEditorH1:T(x.vars.fontWeightBold,x.vars.fontSizeHeadingLg,x.vars.fontLineHeightHeadingLg,x.vars.fontFamilyHeading),fontTextEditorH2:T(x.vars.fontWeightBold,x.vars.fontSizeHeadingMd,x.vars.fontLineHeightHeadingMd,x.vars.fontFamilyHeading),fontTextEditorH3:T(x.vars.fontWeightSemibold,x.vars.fontSizeHeadingSm,x.vars.fontLineHeightHeadingSm,x.vars.fontFamilyHeading),fontTextEditorH6:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontTextEditorBody:T(x.vars.fontWeightMedium,x.vars.fontSizeEditorBody,x.vars.fontLineHeightEditorBody),fontTextEditorLink:T(x.vars.fontWeightRegular,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontHighlightModeTitle:T(x.vars.fontWeightBold,x.vars.fontSizeMd,x.vars.fontLineHeightMd),fontHighlightModeSubtitle:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontEditorControlLabel:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontEditorControlValue:T(x.vars.fontWeightMedium,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontEditorSectionTitle:T(x.vars.fontWeightSemibold,x.vars.fontSizeSm,x.vars.fontLineHeightSm),fontEditorCaption:T(x.vars.fontWeightMedium,x.vars.fontSizeXxs,x.vars.fontLineHeightXxs)},Gs=Q.sm,Ws=(e,t)=>({familyDefault:mt(t)??mt(e.fontFamily)??mt(Ge)??""}),mt=e=>e===void 0||e.includes("var(")?null:e.replace(/\s+/g," ").trim(),G=(e,t)=>`color-mix(in srgb, transparent, ${e} ${t*100}%)`,vn=(e,t)=>`hsl(from ${e} h s calc(l * ${1-t}))`,Vs=(e,t)=>`hsl(from ${e} h s calc(l * ${1+t}))`,Us=e=>/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e),Ks=e=>e.length===0?!1:typeof CSS<"u"&&typeof CSS.supports=="function"?CSS.supports("color",e):/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(e),pt=e=>`${e}px`,mn={tooltipRowGap:"4px",editorControlHeight:pt(32),legendSwatchGap:pt(8),headlineRowGap:pt(2)},je={panelOverlay:5,textToolbar:10,textToolbarTooltip:20,textToolbarPopover:30,legendPopover:40,editorOverlay:900,editorOverlayPopover:950,tooltip:1e3},pn={elevationXs:"0 0 2px rgba(15, 15, 24, 0.12), 0 2px 2px rgba(14, 14, 52, 0.08)",elevationSm:"0 0 4px rgba(15, 15, 24, 0.12), 0 4px 4px rgba(14, 14, 52, 0.08)",elevationMd:"0 0 8px rgba(15, 15, 24, 0.12), 0 8px 8px rgba(14, 14, 52, 0.08)",elevationLg:"0 0 16px rgba(15, 15, 24, 0.12), 0 16px 16px rgba(14, 14, 52, 0.08)"},xn={radiiXs:"4px",radiiSm:"6px",radiiMd:"8px",radiiLg:"12px"},yn={zIndexToolbar:`${je.textToolbar}`,zIndexToolbarTooltip:`${je.textToolbarTooltip}`,zIndexToolbarPopover:`${je.textToolbarPopover}`,zIndexEditorPopover:`${je.editorOverlayPopover}`},Ys=8,be=e=>`${Ys*e}px`,An={spaceXxs:be(.25),spaceXs:be(.5),spaceSm:be(.75),spaceMd:be(1),spaceLg:be(1.5),spaceXl:be(2)},zs={transparent:"transparent",white:"#FFFFFF",black:"#000000",gray100:"#000000",gray95:"#0D0D0D",gray90:"#1A1A1A",gray85:"#1F1F1F",gray80:"#2A2A2A",gray75:"#2e2e2e",gray70:"#353535",gray60:"#494949",gray50:"#6F6F6F",gray0:"#FFFFFF",red60:"#CB3333",red50:"#F93939",amber70:"#F48135",amber50:"#FEAE47",amber40:"#FFC849",amber30:"#ffd061",green60:"#0AC600",green50:"#42CD69",blue80:"#2E62FF",blue60:"#3D70FF",purple50:"#7B56EA",purple30:"#E093FE",grayGradient80:"linear-gradient(to top, #222429, #31353f)"},Qs={textPrimary:x.vars.gray0,textSecondary:G(x.vars.textPrimary,.8),textDisabled:G(x.vars.textPrimary,.5),iconPrimary:"currentColor",iconSecondary:G(x.vars.textPrimary,.6),iconStickerBackground:x.vars.gray70,border100:x.vars.gray0,border50:G(x.vars.gray0,.5),border10:G(x.vars.gray0,.1),brand:x.vars.purple50,success:x.vars.green50,warning:x.vars.amber50,alert:x.vars.red50,sunkenBackground:x.vars.gray100,defaultBackground:x.vars.gray90,raisedBackground:x.vars.gray80,overlayBackground:x.vars.gray90,overlayBorderGradient:x.vars.grayGradient80},Xs={graphBackground:x.vars.gray90,legendFocusOutlineColor:x.vars.border50,toolbarBackgroundColor:x.vars.overlayBackground,toolbarButtonBackgroundColor:"transparent",toolbarButtonBackgroundColorHovered:x.vars.gray80,toolbarButtonBackgroundColorSelected:x.vars.gray60,toolbarSeparatorColor:x.vars.gray60,annotationOutlineColor:x.vars.blue60,editMenuTriggerIconColor:x.vars.white},qs={canvasDefault:"#FFFFFF",canvasBlue:"#60a5fa",canvasCyan:"#22d3ee",canvasGreen:"#34d399",canvasYellow:"#FFC800",canvasOrange:"#fb923c",canvasRed:"#f87171",canvasPink:"#F979D9",canvasPurple:"#a78bfa",canvasGray:"#a8a29e",canvasInverse:"#000000"},Js={...zs,...Qs,...pn,...xn,...An,...yn,...Xs,...qs,...mn,...hn,...gn,...fn},Zs={transparent:"transparent",white:"#FFFFFF",black:"#000000",gray100:"#FFFFFF",gray95:"#FCFCFC",gray90:"#FAFAFA",gray85:"#F5F5F5",gray80:"#F0F0F0",gray75:"#E8E8E8",gray70:"#E5E5E5",gray60:"#CCCCCC",gray50:"#C4C4C4",gray0:"#1D2129",red60:"#E14B49",red50:"#F93939",amber70:"#FFBA8C",amber50:"#FFC849",amber40:"#FEAE47",amber30:"#E7A816",green60:"#06B299",green50:"#42CD69",blue80:"#2E62FF",blue60:"#3D70FF",purple50:"#7B56EA",purple30:"#E093FE",grayGradient80:"linear-gradient(to top, #F0F0F1, #F9F9FF)"},_s={textPrimary:x.vars.black,textSecondary:G(x.vars.textPrimary,.6),textDisabled:G(x.vars.textPrimary,.5),iconPrimary:"currentColor",iconSecondary:G(x.vars.textPrimary,.6),iconStickerBackground:x.vars.gray100,brand:x.vars.purple50,success:x.vars.green50,warning:x.vars.amber50,alert:x.vars.red50,border100:x.vars.gray0,border50:G(x.vars.gray0,.5),border10:G(x.vars.gray0,.1),sunkenBackground:x.vars.gray90,defaultBackground:x.vars.gray100,raisedBackground:x.vars.gray85,overlayBackground:x.vars.gray100,overlayBorderGradient:x.vars.border10},$s={graphBackground:x.vars.gray100,legendFocusOutlineColor:x.vars.border50,toolbarBackgroundColor:x.vars.overlayBackground,toolbarButtonBackgroundColor:"transparent",toolbarButtonBackgroundColorHovered:x.vars.gray80,toolbarButtonBackgroundColorSelected:x.vars.gray60,toolbarSeparatorColor:x.vars.gray60,annotationOutlineColor:x.vars.blue60,editMenuTriggerIconColor:"#3d414c"},ei={canvasDefault:"#000000",canvasBlue:"#3b82f6",canvasCyan:"#06b6d4",canvasGreen:"#10b981",canvasYellow:"#E5B400",canvasOrange:"#f97316",canvasRed:"#ef4444",canvasPink:"#E845BF",canvasPurple:"#8b5cf6",canvasGray:"#78716c",canvasInverse:"#ffffff"},ti={...Zs,..._s,...pn,...xn,...An,...yn,...$s,...ei,...mn,...hn,...gn,...fn},Wt=(e,t={})=>{const r={};for(const[n,o]of Object.entries(t))o!=null&&(r[n]=o);return{...e==="dark"?Js:ti,...r}},bn=(e,t={},r)=>{const n=Wt(e,t);return{legendSwatchGap:jr(n.legendSwatchGap,8),headlineRowGap:jr(n.headlineRowGap,2),fonts:Ws(n,r)}},ri=Object.freeze(bn("light"));function jr(e,t){const r=e.trim();if(!/^-?\d*\.?\d+(px)?$/.test(r))return t;const n=Number.parseFloat(r);return Number.isFinite(n)?n:t}var Sn=(0,g.createContext)(ri),ni=({metrics:e,children:t})=>(0,s.jsx)(Sn.Provider,{value:e,children:t}),ye=()=>(0,g.useContext)(Sn),R=(e,...t)=>(0,g.useMemo)(()=>e(...t),[e,...t]),at=(e,t,r)=>{const n=Ee(),o=O(a=>e===void 0?void 0:(0,u.findLayerById)(a.layers,e));return(0,g.useMemo)(()=>{if(o===void 0)return{};const a=(0,u.readColorGroupObservation)(o,t),i=(0,u.resolveSwatchGeomPaint)(n,o,a,{width:r,height:r});return{alpha:i.alpha,cornerRadius:i.cornerRadiusPx}},[o,n,t,r])},oi=/\p{Emoji_Presentation}|\p{Emoji}\uFE0F/gu,jn="😀",wn=class Pn{constructor(){this.emojiCorrections=new Map,this.currentFont="";const t=new OffscreenCanvas(1,1).getContext("2d");if(!t)throw new Error("Failed to create OffscreenCanvas 2D context");this.ctx=t}static async create(){return typeof document<"u"&&"fonts"in document&&await document.fonts.ready,new Pn}measureText(t,r){const n=(0,u.buildFontString)(r);this.setFont(n);const{width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:i}=this.ctx.measureText(t);let c=o;const l=ai(t);if(l>0){const d=this.getEmojiCorrection(n);c-=d*l}return{width:c,height:a+i,ascent:a,descent:i}}setFont(t){this.currentFont!==t&&(this.ctx.font=t,this.currentFont=t)}getEmojiCorrection(t){const r=this.emojiCorrections.get(t);if(r!==void 0)return r;this.setFont(t);const n=this.ctx.measureText(jn).width,o=si(t);let a=0;if(o!==null){const i=n-o;a=i>.5?i:0}return this.emojiCorrections.set(t,a),a}},oe=null,ai=e=>{const t=e.match(oi);return t?t.length:0},si=e=>{const t=ii();return t?(t.style.font=e,t.getBoundingClientRect().width):null},ii=()=>typeof document>"u"?null:(oe||(oe=document.createElement("span"),oe.style.position="absolute",oe.style.visibility="hidden",oe.style.whiteSpace="nowrap",oe.style.left="-9999px",oe.textContent=jn,document.body.appendChild(oe)),oe),kn=(0,g.createContext)(null),wr=3e3,En=({children:e,measurer:t})=>{const[r,n]=(0,g.useState)(null);(0,g.useEffect)(()=>{if(t!==void 0)return;let a=!1;const i=()=>{a||n(li())};if(!(typeof document<"u"&&"fonts"in document)){i();return}const c=setTimeout(()=>{a||(console.warn(`[graphy] FONT_READY_TIMEOUT: document.fonts.ready has not settled in ${wr}ms; painting with the fonts available so far.`),i())},wr),l=()=>{clearTimeout(c),i()};return document.fonts.ready.then(l,l),document.fonts.addEventListener("loadingdone",l),()=>{a=!0,clearTimeout(c),document.fonts.removeEventListener("loadingdone",l)}},[t]);const o=t??r;return o===null?null:(0,s.jsx)(kn.Provider,{value:o,children:e})},le=()=>{const e=(0,g.useContext)(kn);if(e===null)throw new Error("useTextMeasurer must be used inside a <TextMeasurerProvider>.");return e},li=()=>{try{return new u.CachedTextMeasurer(new wn)}catch{return new u.CachedTextMeasurer(new u.HeuristicTextMeasurer)}},Rn=(0,g.createContext)(null),ci=Rn.Provider,ui=null,re=()=>(0,g.useContext)(Rn)??(ui??=Un()),di=11.7,hi=.5,Pr=21.6,gi="0 0 10 18",fi="M2.48935 16.9323L9.07098 9.82964C9.51595 9.34944 9.51504 8.60728 9.0689 8.12818L2.48866 1.06172C1.85811 0.384586 0.974477 0 0.049217 0H0V18H0.0443689C0.972463 18 1.85854 17.6131 2.48935 16.9323Z",vi="_16vokpr0",mi=(e,t)=>e.mapping.y!==void 0!=(t.mainAxis==="y"),pi=(e,t)=>{const r=(0,u.toPercent)(e?1-t:t);return e?{x1:"0%",y1:r,x2:"100%",y2:r}:{x1:r,y1:"0%",x2:r,y2:"100%"}},xi=(e,t)=>{const r=(0,u.toStrokeDasharray)(e,t);return r===void 0?{}:{strokeDasharray:r,strokeLinecap:"round",...(e[0]??0)>1?{strokeMiterlimit:16}:{}}},yi=(e,t)=>Ye(e)&&Ye(t)?`${e}: ${t}`:Ye(e)?e:Ye(t)?t:null,Ai=e=>e?14:0,bi=(e,t)=>e*hi-Ai(t)-10,Si=(e,t,r)=>{const n=e*r,o=-13-n,a=r+13-n-t;return a<o?o:Math.min(Math.max(-t/2,o),a)},Ye=e=>e!=null&&e.trim()!=="",Cn=Object.freeze({}),Vt=(0,g.createContext)(Cn),ji=({slots:e,children:t})=>(0,s.jsx)(Vt.Provider,{value:e??Cn,children:t});function ee(e,t){const r=(0,g.useContext)(Vt)[e];return r===void 0?t:typeof r=="object"&&Pi(r)?r.render:r}function wi(){const e=(0,g.useContext)(Vt);return{measureAxis:e.AxisTicks?.measure,measureAxisLabel:e.AxisLabel?.measure,measureLegend:e.Legend?.measure,measureHeadline:e.Headline?.measure.measureHeadline,measureHeadlineItemWidths:e.Headline?.measure.measureHeadlineItemWidths}}function Pi(e){return"render"in e&&"measure"in e}var ki="_2qyyu60",Ei=2,Ri=12,Ci=12,kr=1,Er=2,Mi=4,We=e=>(0,s.jsx)(ee("Swatch",Mn),{...e}),Mn=({shape:e,color:t,lineType:r="solid",width:n=Ri,height:o=Ci,strokeWidth:a=Ei,alpha:i,cornerRadius:c})=>(0,s.jsx)("svg",{className:ki,width:n,height:o,viewBox:`0 0 ${n} ${o}`,"aria-hidden":!0,"data-testid":"chart-swatch","data-shape":e,children:Bi({shape:e,color:t,lineType:r,width:n,height:o,strokeWidth:a,alpha:i,cornerRadius:c})}),Bi=({shape:e,color:t,lineType:r,width:n,height:o,strokeWidth:a,alpha:i,cornerRadius:c})=>{const l=Ii(r,n);switch(e){case"square":return(0,s.jsx)("rect",{x:1,y:1,width:n-2,height:o-2,rx:c??2,fill:t,opacity:i});case"line":return(0,s.jsx)("line",{x1:l.x1,y1:o/2,x2:l.x2,y2:o/2,stroke:t,strokeWidth:a,strokeLinecap:l.linecap,strokeDasharray:l.dashArray,opacity:i});case"circle":{const d=(Math.min(n,o)-2)/2;return(0,s.jsx)("circle",{cx:n/2,cy:o/2,r:d,fill:t,opacity:i})}case"area":{const d=o/2-1;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("rect",{x:1,y:d,width:n-2,height:o-d-1,fill:t,opacity:i??.45}),(0,s.jsx)("line",{x1:l.x1,y1:d,x2:l.x2,y2:d,stroke:t,strokeWidth:a,strokeLinecap:l.linecap,strokeDasharray:l.dashArray})]})}case"slice":return(0,s.jsx)("path",{d:`M 0 ${o} L ${n} ${o} A ${n} ${o} 0 0 0 0 0 Z`,fill:t,opacity:i});default:return e}},Ii=(e,t)=>e==="solid"?{x1:0,x2:t,dashArray:void 0,linecap:"round"}:e==="dashed"?{x1:0,x2:t,dashArray:`${(t-kr*(Er-1))/Er} ${kr}`,linecap:"butt"}:{x1:0,x2:t,dashArray:`1 ${t/(Mi-1)}`,linecap:"round"},pe=e=>({fontFamily:e.fontFamily??x.vars.fontFamily,fontSize:e.fontSize,fontWeight:e.fontWeight}),Se=e=>({fontFamily:e.fontFamily??x.vars.fontFamily,fontSize:e.fontSize,fontWeight:e.fontWeight,lineHeight:e.lineHeight,color:e.textColor}),se=e=>({fontFamily:e.fontFamily??x.vars.fontFamily,fontSize:e.fontSize,fontWeight:e.fontWeight,lineHeight:e.lineHeight,color:e.textColor}),Ti=(e,t)=>(0,Ot.assignInlineVars)({[e.fontFamily]:t.fontFamily??x.vars.fontFamily,[e.fontSize]:`${t.fontSize}px`,[e.fontWeight]:String(t.fontWeight),[e.lineHeight]:String(t.lineHeight),[e.textColor]:t.textColor}),Oi=({labelPosition:e,linePosition:t,color:r,pillWidth:n,pillHeight:o,text:a,shouldAnimateTransitions:i})=>{const c=e==="start",l=c?-13:-(n-13),d=c?l+n-5:l+5-12,h=c?void 0:`rotate(180 ${d+12/2} ${o/2})`,f=c?"0%":"100%",m=(0,u.toPercent)(1-t),v=(0,s.jsxs)("g",{transform:`translate(0, ${-o/2})`,pointerEvents:"none",children:[(0,s.jsx)("rect",{x:l,y:0,width:n,height:o,rx:6,fill:r}),(0,s.jsx)("g",{transform:h,children:(0,s.jsx)("svg",{x:d,y:(o-Pr)/2,width:12,height:Pr,viewBox:gi,overflow:"visible",children:(0,s.jsx)("path",{d:fi,fill:r})})}),(0,s.jsx)("g",{transform:`translate(${l+5}, ${o/2})`,children:a})]});return i?(0,s.jsx)(E.motion.svg,{initial:!1,transition:q,x:f,animate:{y:m},overflow:"visible",children:v}):(0,s.jsx)("svg",{x:f,y:m,overflow:"visible",children:v})},Li=({labelPosition:e,linePosition:t,color:r,pillWidth:n,pillHeight:o,panelWidth:a,text:i,shouldAnimateTransitions:c})=>{const l=e==="start",d=l?-13:-(o-13),h=(0,u.toPercent)(t),f=l?"100%":"0%",m=(0,s.jsxs)("g",{transform:`translate(${Si(t,n,a)}, 0)`,pointerEvents:"none",children:[(0,s.jsx)("rect",{x:0,y:d,width:n,height:o,rx:6,fill:r}),(0,s.jsx)("g",{transform:`translate(5, ${d+o/2})`,children:i})]});return c?(0,s.jsx)(E.motion.svg,{initial:!1,transition:q,y:f,animate:{x:h},overflow:"visible",children:m}):(0,s.jsx)("svg",{x:h,y:f,overflow:"visible",children:m})},Ni=({label:e,textStyle:t,textWidth:r,labelPosition:n,isHorizontalLine:o,position:a,color:i,textColor:c,symbolShape:l,symbolColor:d,symbolAlpha:h,symbolCornerRadius:f,panelWidth:m,shouldAnimateTransitions:v})=>{const p=l===null?0:14,A=r+p+10,y=Math.max(di,(0,u.computeLineBoxHeight)(t))+10,S=(0,s.jsxs)(s.Fragment,{children:[l!==null&&d!==null&&(0,s.jsx)("g",{transform:`translate(0, ${-10/2})`,children:(0,s.jsx)(We,{shape:l,color:d,surface:"rule-label",width:10,height:10,alpha:h,cornerRadius:f})}),(0,s.jsx)("text",{x:p,textAnchor:"start",dominantBaseline:"central",fill:c,style:pe(t),children:e})]});return o?(0,s.jsx)(Oi,{labelPosition:n,linePosition:a,color:i,pillWidth:A,pillHeight:y,text:S,shouldAnimateTransitions:v}):(0,s.jsx)(Li,{labelPosition:n,linePosition:a,color:i,pillWidth:A,pillHeight:y,panelWidth:m,text:S,shouldAnimateTransitions:v})},Fi=({strokeWidth:e,dashArray:t,isHorizontalLine:r,position:n,lineColor:o,shouldAnimateTransitions:a})=>{const i=pi(r,n),c=xi(t,e);return a?(0,s.jsx)(E.motion.line,{initial:!1,transition:q,animate:{x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},...c,stroke:o,strokeWidth:e,vectorEffect:"non-scaling-stroke"}):(0,s.jsx)("line",{...i,...c,stroke:o,strokeWidth:e,vectorEffect:"non-scaling-stroke"})},Hi=(0,g.memo)(function({layer:t,coordSystem:r,formattingLocale:n,shouldAnimateTransitions:o,panelWidth:a}){const i=le(),c=re(),{guides:l,numberFormat:d,specLayers:h,colorScale:f}=O((0,U.useShallow)(W=>({guides:W.guides,numberFormat:W.config.numberFormat,specLayers:W.spec.layers,colorScale:W.scales.color}))),m=(0,g.useMemo)(()=>(0,u.buildAverageLineSymbols)(h,f).get(t.id)??null,[h,f,t.id]),v=m?c(m.geom,r.type)?.swatchShape??"square":null,p=at(m?.layerId,m?.groupValue,10),A=(0,g.useMemo)(()=>yi(t.params.label,(0,u.formatRuleValue)({guides:l,numberFormat:d,layer:t,locale:n})),[l,d,n,t]),{fonts:y}=ye(),S=M(),b=R(u.resolveRuleLabelStyle,S.geom.rule.label(t),S.graph()),w=(0,g.useMemo)(()=>(0,u.toFontSpec)(b,y.familyDefault),[b,y.familyDefault]),j=(0,g.useMemo)(()=>A===null?null:(0,u.truncateToWidth)(A,bi(a,v!==null),W=>i.measureText(W,w).width),[A,a,v,w,i]),k=(0,g.useMemo)(()=>j===null?0:i.measureText(j,w).width,[j,w,i]),B=N(t),C=t.data.getFirst();if(!C)return null;const P=B.get("stroke",C),I=b.textColor??(0,u.pickReadableTextColor)(P),L=mi(t,r),Z=L?(0,u.getY)(C):(0,u.getX)(C);return Z===null?null:(0,s.jsxs)("g",{"data-geom":"rule",className:vi,children:[(0,s.jsx)(Fi,{strokeWidth:B.get("strokeWidth",C),dashArray:B.get("dashArray",C),isHorizontalLine:L,position:Z,lineColor:P,shouldAnimateTransitions:o}),j!==null&&j!==""&&(0,s.jsx)(Ni,{label:j,textStyle:b,textWidth:k,labelPosition:t.params.labelPosition,isHorizontalLine:L,position:Z,color:P,textColor:I,symbolShape:v,symbolColor:m?.color??null,symbolAlpha:p.alpha,symbolCornerRadius:p.cornerRadius,panelWidth:a,shouldAnimateTransitions:o})]})}),Di={geom:"rule",coord:"cartesian",render:({layer:e,coordSystem:t,formattingLocale:r,shouldAnimateTransitions:n,panelRect:o})=>(0,s.jsx)(Hi,{layer:e,coordSystem:t,formattingLocale:r,shouldAnimateTransitions:n,panelWidth:o.width}),renderHover:()=>null,renderHoverCompanions:()=>null},Gi=({layer:e,panelRect:t,styleReaders:r,shouldAnimateTransitions:n})=>{let o="";for(const a of e.data){const i=(0,u.getPaintedTileRect)(a);i!==null&&(o+=ae(me(i,t),r.get("cornerRadius",a)))}return o===""?[]:[{kind:"region",pathData:o,shouldAnimateTransitions:n}]},Wi=(0,g.memo)(function({layer:t,shouldAnimateTransitions:r,intro:n}){const o=n?.type==="fade"?n:null,a=N(t),i=(0,g.useMemo)(()=>{const c=(0,u.createStableCellKeyGenerator)(t.data,t.mapping,t.id),l=[];for(const d of t.data){const h=(0,u.getPaintedTileRect)(d);h&&l.push({key:c(d),...h,fill:a.get("fill",d),opacity:a.get("alpha",d)*a.get("fillAlpha",d),rx:a.get("cornerRadius",d),stroke:a.get("stroke",d),strokeWidth:a.get("strokeWidth",d)})}return l.map(({key:d,...h})=>(0,s.jsx)(Vi,{...h,isAnimated:r},d))},[t,a,r]);return o?(0,s.jsx)(E.motion.g,{initial:{opacity:0},animate:{opacity:1},transition:_a(o),children:i}):i}),Vi=({isAnimated:e,...t})=>e?(0,s.jsx)(E.motion.rect,{initial:!1,style:{transformBox:"view-box"},transition:q,fill:t.fill,opacity:t.opacity,rx:t.rx,stroke:t.stroke,strokeWidth:t.strokeWidth,animate:{x:(0,u.toPercent)(t.x),y:(0,u.toPercent)(t.y),width:(0,u.toPercent)(t.width),height:(0,u.toPercent)(t.height)}}):(0,s.jsx)("rect",{style:{transformBox:"view-box"},x:(0,u.toPercent)(t.x),y:(0,u.toPercent)(t.y),width:(0,u.toPercent)(t.width),height:(0,u.toPercent)(t.height),fill:t.fill,opacity:t.opacity,rx:t.rx,stroke:t.stroke,strokeWidth:t.strokeWidth}),Ui=({layer:e,primary:t,panelRect:r})=>{const n=N(e),o=(0,u.getPaintedTileRect)(t.observation);if(!o)return null;const a=n.get("fill",t.observation),i=n.get("alpha",t.observation)*n.get("fillAlpha",t.observation),c=n.get("stroke",t.observation,"hovered")??u.DEFAULT_HOVER_AFFORDANCE_COLOR,l=n.get("strokeWidth",t.observation,"hovered"),d=n.get("cornerRadius",t.observation,"hovered"),h=o.x*r.width,f=o.y*r.height,m=o.width*r.width,v=o.height*r.height;return(0,s.jsxs)("g",{"data-testid":"hovered-tile",children:[(0,s.jsx)("rect",{x:h-l,y:f-l,width:m+l*2,height:v+l*2,rx:d+l,fill:c,"data-testid":"hovered-tile-border"}),(0,s.jsx)("rect",{x:(0,u.toPercent)(o.x),y:(0,u.toPercent)(o.y),width:(0,u.toPercent)(o.width),height:(0,u.toPercent)(o.height),rx:d,fill:a,opacity:i,"data-testid":"hovered-tile-fill"})]})},Ki={geom:"tile",coord:"cartesian",swatchShape:"square",guideMode:null,render:({layer:e,shouldAnimateTransitions:t,intro:r})=>(0,s.jsx)(Wi,{layer:e,shouldAnimateTransitions:t,intro:r}),renderHover:({layer:e,primary:t,panelRect:r})=>(0,s.jsx)(Ui,{layer:e,primary:t,panelRect:r}),renderHoverCompanions:()=>null,getEditOutlineShapes:Gi},_e=({primary:e,companions:t})=>{const r=(0,s.jsxs)(s.Fragment,{children:[t.map(n=>(0,s.jsx)(de,{hit:n,project:X},`companion-${n.layerId}-${n.pointIndex}`)),e?(0,s.jsx)(Re,{hit:e,project:X}):null]});return e?(0,s.jsx)("g",{"data-testid":"hovered-point",children:r}):r},Bn=e=>{const t=De(e);return{origin:{x:t.centerX,y:t.centerY},scaleX:t.radius,scaleY:t.radius}},Yi=e=>({...De(e),digits:2}),In=(e,t,r)=>V(e,t,De(r)),Et=e=>{const[t,...r]=e;if(!t)return"";const n=r.map(o=>`L ${o.x} ${o.y}`).join(" ");return`M ${t.x} ${t.y} ${n} Z`},zi=(0,g.memo)(function({layer:t}){const r=N(t),n=(0,g.useMemo)(()=>{const o=(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id),a=[];return t.data.groupBy(u.GROUP_VARIABLES.group).forEach(i=>{const c=[...i],l=Tn(c);if(!l)return;const d=c[0];d&&a.push({key:o(d),fillPath:l.fillPath,outlinePath:l.outlinePath,fill:r.get("fill",d),stroke:r.get("stroke",d)??r.get("fill",d),fillOpacity:r.get("fillAlpha",d)*r.get("alpha",d),strokeOpacity:r.get("strokeAlpha",d)*r.get("alpha",d),strokeWidth:r.get("strokeWidth",d)})}),a},[t.data,t.id,t.mapping,r]);return(0,s.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"area",className:J,children:n.map(o=>(0,s.jsxs)("g",{children:[(0,s.jsx)("path",{d:o.fillPath,fill:o.fill,fillOpacity:o.fillOpacity,fillRule:"evenodd"}),(0,s.jsx)("path",{d:o.outlinePath,fill:"none",stroke:o.stroke,strokeWidth:o.strokeWidth,opacity:o.strokeOpacity,vectorEffect:"non-scaling-stroke"})]},o.key))})}),Tn=e=>{const t=On(e);if(t===null)return null;const r=Et(t.outer);return{fillPath:t.hole===null?r:`${r} ${Et(t.hole)}`,outlinePath:r}},On=e=>{const t=[];for(const o of e){const a=(0,u.getX)(o),{innerRadius:i,outerRadius:c}=(0,u.getRadiusExtent)(o);a===null||i===null||c===null||t.push({angle:a,outer:V(a,c),inner:V(a,i)})}if(t.length===0)return null;t.sort((o,a)=>o.angle-a.angle);const r=t.map(o=>o.outer),n=t.map(o=>o.inner);return{outer:r,hole:n.some(o=>o.x!==0||o.y!==0)?[...n].reverse():null}},Qi=({layer:e,panelRect:t})=>{const r=Bn(t),n=[],o=[];return e.data.groupBy(u.GROUP_VARIABLES.group).forEach(a=>{const i=[...a],[c]=i;if(c===void 0)return;if(i.length===1){const h=(0,u.getX)(c),f=(0,u.getYMax)(c)??(0,u.getY)(c);h!==null&&f!==null&&o.push(In(h,f,t));return}const l=On(i);if(l===null)return;const d=l.hole===null?"":wt(l.hole,r);n.push({kind:"region",key:String((0,u.getGroup)(c)),pathData:wt(l.outer,r)+d,fillRule:"evenodd"})}),o.length>0&&n.push({kind:"dots",centers:o,size:u.DEFAULT_POINT_SIZE_PX}),n},Xi=({layer:e,primary:t,companions:r})=>{const n=N(e),o=(0,u.getGroup)(t.observation),a=(0,g.useMemo)(()=>Tn([...e.data.filter(u.GROUP_VARIABLES.group,"eq",o)]),[e.data,o]);if(!a)return null;const i=n.get("fill",t.observation),c=n.get("stroke",t.observation)??i,l=n.get("alpha",t.observation),d=n.get("fillAlpha",t.observation)*l,h=n.get("strokeAlpha",t.observation)*l,f=n.get("strokeWidth",t.observation);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"area","data-testid":"hovered-area",className:J,children:[(0,s.jsx)("path",{d:a.fillPath,fill:i,fillOpacity:d,fillRule:"evenodd","data-testid":"hovered-area-fill"}),(0,s.jsx)("path",{d:a.outlinePath,fill:"none",stroke:c,strokeWidth:f,opacity:h,vectorEffect:"non-scaling-stroke","data-testid":"hovered-area-edge"})]}),r.map(m=>(0,s.jsx)(de,{hit:m,project:X},`companion-${m.layerId}-${m.pointIndex}`)),(0,s.jsx)(Re,{hit:t,project:X,"data-testid":"hovered-area-point"})]})},qi={geom:"area",coord:"polar",swatchShape:"area",guideMode:"crosshair",render:({layer:e})=>(0,s.jsx)(zi,{layer:e}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,s.jsx)(Xi,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,s.jsx)(_e,{companions:e}),getEditOutlineShapes:Qi,getOverlayAnchor:({observation:e})=>{const t=(0,u.getX)(e),r=(0,u.getYMax)(e)??(0,u.getY)(e);if(t===null||r===null)return null;const{x:n,y:o}=X(t,r);return{x:n,y:1-o}}},Ut=e=>{const{startAngle:t,endAngle:r}=(0,u.getAngleExtent)(e),{innerRadius:n,outerRadius:o}=(0,u.getRadiusExtent)(e);return t===null||r===null||n===null||o===null?null:{startAngle:t,endAngle:r,innerRadius:n,outerRadius:o}},Ln=(e,t,r,n)=>{const o=new Map;for(const i of e.data){const c=Ut(i);if(c===null)continue;const l=(0,u.buildSliceGroupKey)(t,c),d=n(i,c),h=o.get(l);h===void 0?o.set(l,{firstObservation:i,members:[d]}):h.members.push(d)}const a=new Map;for(const[i,{firstObservation:c,members:l}]of o)a.set(i,{style:nt(r,c),union:(0,u.getUnionExtent)(l),members:l});return a},Kt=(e,t,r)=>{const n=Ln(e,t,r,(a,i)=>i),o=new Map;for(const[a,{style:i,union:c}]of n)o.set(a,{style:i,union:c});return o},Ji=(e,t,r,n,o)=>e.get((0,u.buildSliceGroupKey)(t,o))??{style:nt(r,n),union:(0,u.getUnionExtent)([o])},Yt=({style:e,union:t})=>(0,u.resolvePolarBarCornerRadiusUnit)(e.cornerRadius,t.outerRadius-t.innerRadius),Nn=(e,t,r,n)=>(0,u.buildPolarBarArcPath)({...t.union,cornerRadius:Yt(t),slice:r==="x"?{axis:"radius",from:e.innerRadius,to:e.outerRadius}:{axis:"angle",from:e.startAngle,to:e.endAngle}},n),Zi=on(Kt),_i=({layer:e,sourceLayer:t,coordSystem:r,panelRect:n,styleReaders:o,shouldAnimateTransitions:a})=>{const{bandAxis:i}=r,c=Zi(t,i,o),l=Yi(n);let d="";for(const h of e.data){const f=Ut(h);if(f===null)continue;const m=c.get((0,u.buildSliceGroupKey)(i,f));m!==void 0&&(d+=Nn(f,m,i,l)??"")}return d===""?[]:[{kind:"region",pathData:d,shouldAnimateTransitions:a}]},Rr=Math.PI*2,$e=(e,t)=>({stroke:e,strokeWidth:t,vectorEffect:"non-scaling-stroke"}),$i=(0,g.memo)(function({layer:t,coordSystem:r,shouldAnimateTransitions:n,intro:o}){const a=(0,g.useId)(),i=ot(o?.type==="grow"&&(o.growAxis==="angle"||o.growAxis==="radius")?o:null,n),c=r.bandAxis!=="x",l=N(t),d=(0,g.useMemo)(()=>{const h=(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id);return[...Ln(t,r.bandAxis,l,(f,m)=>({key:h(f),...m,fill:l.get("fill",f),opacity:l.get("alpha",f)*l.get("fillAlpha",f)})).values()].map((f,m)=>({...f,key:f.members[0]?.key??String(m)}))},[t,r.bandAxis,l]);return(0,s.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"bar",className:J,children:d.map((h,f)=>{const{stroke:m,strokeWidth:v,strokeAlpha:p}=h.style,A=m!==void 0,y=(0,u.resolveBarBorderTreatment)(v),S=m===void 0?{}:$e(m,y.separatorWidth),b=m===void 0?void 0:$e(m,y.outlineWidth),w=h.members.map(C=>{const{key:P,...I}=C;return i.isAnimated?(0,s.jsx)(el,{...I,animation:i,sweepsInOnLateMount:c,introKey:P,pathProps:{fill:I.fill,opacity:I.opacity,...S}},P):(0,s.jsx)("path",{d:(0,u.buildPolarBarArcPath)(I)??void 0,fill:I.fill,opacity:I.opacity,...S},P)}),j=Yt(h);if(!A&&j<=0)return(0,s.jsx)(g.Fragment,{children:w},h.key);const k=`${a}${f}`;if(i.isAnimated)return(0,s.jsx)("g",{clipPath:`url(#${k})`,children:(0,s.jsx)(tl,{...h.union,cornerRadius:j,animation:i,sweepsInOnLateMount:c,introKey:h.members[0]?.key,clipId:k,outlineProps:b,outlineOpacity:p,children:w})},h.key);const B=(0,u.buildPolarBarArcPath)({...h.union,cornerRadius:j});return(0,s.jsxs)("g",{clipPath:`url(#${k})`,children:[(0,s.jsx)("clipPath",{id:k,children:(0,s.jsx)("path",{d:B})}),w,b!==void 0&&(0,s.jsx)("path",{d:B,fill:"none",opacity:p,...b})]},h.key)})})}),Fn=({startAngle:e,endAngle:t,innerRadius:r,outerRadius:n,cornerRadius:o,animation:a,sweepsInOnLateMount:i,introKey:c})=>{const l=a.activeIntro?.growAxis==="angle"?a.activeIntro:null,d=a.activeIntro?.growAxis==="radius"?a.activeIntro:null,h=i&&!a.isLayerEntrance,f=l?.baseline??(h?Rr:e),m=l?.baseline??(h?Rr:t),v=d?d.baseline:r,p=d?d.baseline:n,A=(0,E.useMotionValue)(f),y=(0,E.useMotionValue)(m),S=(0,E.useMotionValue)(v),b=(0,E.useMotionValue)(p),w=(0,E.useMotionValue)((0,u.buildPolarBarArcPath)({startAngle:f,endAngle:m,innerRadius:v,outerRadius:p,cornerRadius:o})??""),j=kt(a,c,l);(0,g.useEffect)(()=>{const B=j(),C=[(0,E.animate)(A,e,B),(0,E.animate)(y,t,B)];return()=>{for(const P of C)P.stop()}},[A,y,e,t,j]);const k=kt(a,c,d);return(0,g.useEffect)(()=>{const B=k(),C=[(0,E.animate)(S,r,B),(0,E.animate)(b,n,B)];return()=>{for(const P of C)P.stop()}},[S,b,r,n,k]),(0,g.useEffect)(()=>{const B=()=>{w.set((0,u.buildPolarBarArcPath)({startAngle:A.get(),endAngle:y.get(),innerRadius:S.get(),outerRadius:b.get(),cornerRadius:o})??"")};B();const C=[A,y,S,b].map(P=>P.on("change",B));return()=>{for(const P of C)P()}},[A,y,S,b,o,w]),w},el=({pathProps:e,...t})=>{const r=Fn(t);return(0,s.jsx)(E.motion.path,{d:r,transition:q,...e})},tl=({clipId:e,outlineProps:t,outlineOpacity:r,children:n,...o})=>{const a=Fn(o);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("clipPath",{id:e,children:(0,s.jsx)(E.motion.path,{d:a})}),n,t!==void 0&&(0,s.jsx)(E.motion.path,{d:a,fill:"none",opacity:r,transition:q,...t})]})},rl=(e,t,r)=>{const n=e==="solo"||e==="floor",o=e==="solo"||e==="ceiling",a=!(0,u.isFullTurnSweep)(r.startAngle,r.endAngle);return t==="x"?{innerArc:n,outerArc:o,startSpoke:a,endSpoke:a}:{innerArc:!0,outerArc:!0,startSpoke:n&&a,endSpoke:o&&a}},Hn=({observation:e,bandAxis:t,styleReaders:r,groupPaints:n})=>{const o=(0,g.useId)(),a=Ut(e);if(a===null)return null;const i=Ji(n,t,r,e,a),c=Nn(a,i,t);if(c===void 0)return null;const l=r.get("fill",e),d=r.get("alpha",e)*r.get("fillAlpha",e),{stroke:h,strokeWidth:f,strokeAlpha:m}=i.style;if(h===void 0)return(0,s.jsx)("path",{d:c,fill:l,opacity:d,"data-testid":"arc-segment"});const v=(0,u.resolveBarBorderTreatment)(f),p=rl((0,u.getStackRole)(e),t,i.union),A=ol(a,al(p)),y=(0,u.buildPolarBarArcPath)({...i.union,cornerRadius:Yt(i)});return(0,s.jsxs)("g",{clipPath:`url(#${o})`,"data-testid":"arc-segment",children:[(0,s.jsx)("clipPath",{id:o,children:(0,s.jsx)("path",{d:c})}),(0,s.jsx)("path",{d:c,fill:l,opacity:d}),A!==""&&(0,s.jsx)("path",{d:A,fill:"none",opacity:d,...$e(h,v.separatorWidth)}),(0,s.jsx)("path",{d:y,fill:"none",opacity:m,...$e(h,v.outlineWidth)})]})},nl=({layer:e,sourceLayer:t,coordSystem:r})=>{const n=N(t),o=(0,g.useMemo)(()=>Kt(t,r.bandAxis,n),[t,r.bandAxis,n]),a=(0,u.createStableKeyGenerator)(e.data,e.mapping,e.id),i=[];for(const c of e.data)i.push((0,s.jsx)(Hn,{observation:c,bandAxis:r.bandAxis,styleReaders:n,groupPaints:o},a(c)));return(0,s.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"bar",className:J,children:i})},Ne=(e,t)=>{const r=V(t,e);return`${r.x},${r.y}`},Cr=(e,t,r)=>{if(e<=0)return"";const n=Ne(e,t);if((0,u.isFullTurnSweep)(t,r))return`M${n}A${e},${e} 0 1 1 ${Ne(e,t+Math.PI)}A${e},${e} 0 1 1 ${n}`;const o=r-t;return`M${n}A${e},${e} 0 ${Math.abs(o)>Math.PI?1:0} ${o>=0?1:0} ${Ne(e,r)}`},Mr=(e,t,r)=>`M${Ne(t,e)}L${Ne(r,e)}`,ol=(e,t)=>{const{startAngle:r,endAngle:n,innerRadius:o,outerRadius:a}=e,i=(0,u.isFullTurnSweep)(r,n);return[t.innerArc?Cr(o,r,n):"",t.outerArc?Cr(a,r,n):"",t.startSpoke&&!i?Mr(r,o,a):"",t.endSpoke&&!i?Mr(n,o,a):""].filter(Boolean).join("")},al=e=>({innerArc:!e.innerArc,outerArc:!e.outerArc,startSpoke:!e.startSpoke,endSpoke:!e.endSpoke}),sl=({layer:e,coordSystem:t,primary:r})=>{const n=N(e),o=(0,g.useMemo)(()=>Kt(e,t.bandAxis,n),[e,t.bandAxis,n]);return(0,s.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"arc","data-testid":"hovered-arc",className:J,children:(0,s.jsx)(Hn,{observation:r.observation,bandAxis:t.bandAxis,styleReaders:n,groupPaints:o})})},il={geom:"bar",coord:"polar",swatchShape:"slice",guideMode:"band",render:({layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n})=>(0,s.jsx)($i,{layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n}),renderHighlight:({layer:e,sourceLayer:t,coordSystem:r})=>(0,s.jsx)(nl,{layer:e,sourceLayer:t,coordSystem:r}),renderHover:({layer:e,coordSystem:t,primary:r})=>(0,s.jsx)(sl,{layer:e,coordSystem:t,primary:r}),renderHoverCompanions:()=>null,getEditOutlineShapes:_i},ll=(0,g.memo)(function({layer:t}){const r=N(t),n=(0,g.useMemo)(()=>{const o=(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id),a=[];return t.data.groupBy(u.GROUP_VARIABLES.group).forEach(i=>{const c=[...i],l=Dn(c);if(!l)return;const d=c[0];d&&a.push({key:o(d),pathData:l,color:r.get("stroke",d),opacity:r.get("alpha",d),strokeOpacity:r.get("strokeAlpha",d),strokeWidth:r.get("strokeWidth",d),strokeDasharray:(0,u.toStrokeDasharray)(r.get("dashArray",d),r.get("strokeWidth",d))})}),a},[t.data,t.id,t.mapping,r]);return(0,s.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"line",className:J,children:n.map(o=>(0,s.jsx)("path",{d:o.pathData,fill:"none",stroke:o.color,strokeWidth:o.strokeWidth,opacity:o.opacity,strokeOpacity:o.strokeOpacity,strokeDasharray:o.strokeDasharray,vectorEffect:"non-scaling-stroke"},o.key))})}),Dn=e=>{const t=Gn(e);return t.length===0?null:Et(t)},Gn=e=>{const t=[];for(const r of e){const n=(0,u.getX)(r),o=(0,u.getY)(r);n===null||o===null||t.push({angle:n,point:V(n,o)})}return t.sort((r,n)=>r.angle-n.angle),t.map(r=>r.point)},cl=({layer:e,panelRect:t,styleReaders:r})=>{const n=Bn(t),o=[],a=[];return e.data.groupBy(u.GROUP_VARIABLES.group).forEach(i=>{const c=[...i],[l]=c;if(l===void 0)return;if(c.length===1){const h=(0,u.getX)(l),f=(0,u.getY)(l);h!==null&&f!==null&&a.push(In(h,f,t));return}const d=wt(Gn(c),n);d!==""&&o.push({kind:"stroke",key:String((0,u.getGroup)(l)),pathData:d,width:r.get("strokeWidth",l)})}),a.length>0&&o.push({kind:"dots",centers:a,size:u.DEFAULT_POINT_SIZE_PX}),o},ul=({layer:e,primary:t,companions:r})=>{const n=N(e),o=(0,u.getGroup)(t.observation),a=(0,g.useMemo)(()=>Dn([...e.data.filter(u.GROUP_VARIABLES.group,"eq",o)]),[e.data,o]);if(!a)return null;const i=n.get("stroke",t.observation),c=n.get("alpha",t.observation),l=n.get("strokeWidth",t.observation),d=(0,u.toStrokeDasharray)(n.get("dashArray",t.observation),n.get("strokeWidth",t.observation));return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"line","data-testid":"hovered-line",className:J,children:(0,s.jsx)("path",{d:a,fill:"none",stroke:i,strokeWidth:l,opacity:c,strokeOpacity:n.get("strokeAlpha",t.observation),strokeDasharray:d,vectorEffect:"non-scaling-stroke","data-testid":"hovered-line-path"})}),r.map(h=>(0,s.jsx)(de,{hit:h,project:X},`companion-${h.layerId}-${h.pointIndex}`)),(0,s.jsx)(Re,{hit:t,project:X,"data-testid":"hovered-line-point"})]})},dl={geom:"line",coord:"polar",swatchShape:"line",guideMode:"crosshair",render:({layer:e})=>(0,s.jsx)(ll,{layer:e}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,s.jsx)(ul,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,s.jsx)(_e,{companions:e}),getEditOutlineShapes:cl,getOverlayAnchor:({observation:e})=>{const t=(0,u.getX)(e),r=(0,u.getY)(e);if(t===null||r===null)return null;const{x:n,y:o}=X(t,r);return{x:n,y:1-o}}},hl=(0,g.memo)(function({layer:t,shouldAnimateTransitions:r,intro:n}){const o=N(t),a=ot(n?.type==="grow"&&n.growAxis==="size"?n:null,r);return(0,g.useMemo)(()=>{const i=a.activeIntro?(0,u.createStableKeyGenerator)(t.data,t.mapping,t.id):null,c=[];let l=0;for(const d of t.data)c.push((0,s.jsx)(cn,{observation:d,project:X,styleReaders:o,animation:a,introKey:i?.(d)},String(l++)));return c},[t.data,t.mapping,t.id,o,a])}),gl={geom:"point",coord:"polar",swatchShape:"circle",render:({layer:e,shouldAnimateTransitions:t,intro:r})=>(0,s.jsx)(hl,{layer:e,shouldAnimateTransitions:t,intro:r}),renderHover:({primary:e,group:t,related:r})=>(0,s.jsx)(_e,{primary:e,companions:[...t,...r]}),renderHoverCompanions:({related:e})=>(0,s.jsx)(_e,{companions:e}),getEditOutlineShapes:e=>dn({...e,project:X}),getOverlayAnchor:({observation:e})=>{const t=(0,u.getX)(e),r=(0,u.getY)(e);if(t===null||r===null)return null;const{x:n,y:o}=X(t,r);return{x:n,y:1-o}}},Wn={bar:{cartesian:Rs,polar:il},line:{cartesian:Ns,polar:dl},area:{cartesian:gs,polar:qi},point:{cartesian:Hs,polar:gl},rule:{cartesian:Di},tile:{cartesian:Ki}};function st(e){return typeof e=="function"?{overlay:!1,fn:e}:{overlay:!0,fn:e.fn}}function Vn(e){return e?st(e.render).overlay:!1}function fl(e,t){return typeof e=="string"?{...t,geom:e}:{...t,definition:e,geom:e.type}}function Un(e=[]){const t={};for(const[r,n]of Object.entries(Wn))t[r]={...n};for(const r of e)(t[r.geom]??={})[r.coord]=r;return(r,n)=>t[r]?.[n]??null}var vl=()=>(0,Lt.createStore)(e=>({boundary:null,setBoundary:t=>e(r=>ml(r.boundary,t)?r:{boundary:t})})),Rt=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,ml=(e,t)=>e===t?!0:e===null||t===null?!1:Rt(e.frame,t.frame)&&Rt(e.client,t.client),et=e=>{const t=(0,g.useRef)(e);return t.current=e,t},pl=()=>{const e=new Map;return(0,Lt.createStore)(t=>({hover:u.RESTING_HOVER_STATE,tooltipAnchor:null,pointerRegions:[],isPointerSuspended:!1,isQueryOwnedByEditor:!1,setHoverState:r=>t(n=>n.hover===r?n:{hover:r}),setTooltipAnchor:r=>t(n=>xl(n.tooltipAnchor,r)?n:{tooltipAnchor:r}),publishPointerRegions:(r,n)=>{n.length===0?e.delete(r):e.set(r,n);const o=(0,u.orderPointerRegions)(e);t(a=>(0,u.arePointerRegionListsEqual)(a.pointerRegions,o)?a:{pointerRegions:o})},setPointerSuspended:r=>t(n=>n.isPointerSuspended===r?n:{isPointerSuspended:r}),setQueryOwnedByEditor:r=>t(n=>n.isQueryOwnedByEditor===r?n:{isQueryOwnedByEditor:r})}))},xl=(e,t)=>e===t?!0:e===null||t===null?!1:e.x===t.x&&e.y===t.y&&e.placement===t.placement&&e.annotationId===t.annotationId,yl=(e,t)=>{const r=(0,g.useMemo)(()=>({layers:e,coordSystem:t}),[e,t]),n=(0,g.useRef)(null);n.current===null&&(n.current=new u.HoverEngine(r));const o=n.current,a=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{if(!a.current){a.current=!0;return}o.update(r)},[o,r]),o},Kn=(0,g.createContext)(null),Yn=({children:e})=>{const{layers:t,coordSystem:r}=O((0,U.useShallow)(c=>({layers:c.layers,coordSystem:c.coordSystem}))),n=yl(t,r),[o]=(0,g.useState)(()=>pl()),a=(0,g.useRef)(null),i=(0,g.useRef)(null);return i.current===null&&(i.current={engine:n,store:o,overlayRef:a}),(0,s.jsx)(Kn.Provider,{value:i.current,children:e})},he=()=>{const e=(0,g.useContext)(Kn);if(e===null)throw new Error("useHoverContext must be used inside a <HoverProvider>.");return e};function zn(e,t){const{engine:r}=he(),n=(0,g.useRef)(t);(0,g.useEffect)(()=>{n.current=t},[t]),(0,g.useEffect)(()=>(r.registerHitTester(e,o=>n.current(o)),()=>r.unregisterHitTester(e)),[r,e])}var Al=({hitTest:e,input:t})=>{const r=(0,g.useMemo)(()=>e(t),[e,t.layer.data,t.panelRect.x,t.panelRect.y,t.panelRect.width,t.panelRect.height]);return zn(t.layer.id,r),null},bl="graphy_root",zt=()=>typeof document>"u"?null:document.getElementById(bl)??document.body,Sl="_10igzta0",Qn=({rect:e,zIndex:t,container:r,boxRef:n,children:o,...a})=>r===null?null:(0,Jr.createPortal)((0,s.jsx)("div",{...a,ref:n,className:Sl,style:{transform:`translate(${e.left}px, ${e.top}px)`,width:e.width,height:e.height,zIndex:t},children:o}),r),jl=({rect:e,children:t})=>{const[r]=(0,g.useState)(zt);return(0,s.jsx)(Qn,{rect:e,zIndex:je.panelOverlay,container:r,children:t})},Xn=(e,t)=>{const r=et(e),n=et(t),o=(0,g.useRef)(null),a=(0,g.useRef)(null),i=(0,g.useMemo)(()=>{const c=()=>{a.current!==null&&(clearTimeout(a.current),a.current=null),o.current=null},l=()=>{a.current!==null&&(clearTimeout(a.current),a.current=null);const h=o.current;h!==null&&(o.current=null,r.current(...h))};return{run:(...h)=>{if(n.current<=0){r.current(...h);return}o.current=h,a.current!==null&&clearTimeout(a.current),a.current=setTimeout(l,n.current)},flush:l,cancel:c}},[r,n]);return(0,g.useEffect)(()=>()=>{a.current!==null&&clearTimeout(a.current)},[]),i},wl={width:0,height:0,isDefault:!0},qn=({debounce:e=0,onResize:t}={})=>{const[r,n]=(0,g.useState)(wl),o=(0,g.useRef)(null),a=Xn(d=>{const h=o.current;h&&h.width===d.width&&h.height===d.height||(o.current={width:d.width,height:d.height},t?.(d),n(d))},e),i=(0,g.useRef)(null),c=(0,g.useRef)(null),l=(0,g.useCallback)(d=>{i.current!==d&&(i.current&&c.current?.unobserve(i.current),i.current=d,d&&(c.current??=new ResizeObserver(([h])=>{if(!h)return;const f=Math.round(h.contentBoxSize[0]?.inlineSize??h.contentRect.width),m=Math.round(h.contentBoxSize[0]?.blockSize??h.contentRect.height);a.run({width:f,height:m,isDefault:!1})}),c.current.observe(d)))},[a]);return{...r,setElement:l}};function Jn(){const[e,t]=(0,g.useState)(null),r=(0,g.useRef)(null),n=(0,g.useRef)(null),o=(0,g.useRef)(null),a=(0,g.useCallback)(()=>{o.current=null;const d=n.current;if(!d)return;const h=d.getBoundingClientRect();if(h.width===0||h.height===0){r.current!==null&&(r.current=null,t(null));return}const f={left:h.left,top:h.top,width:h.width,height:h.height},m=r.current;m&&m.left===f.left&&m.top===f.top&&m.width===f.width&&m.height===f.height||(r.current=f,t(f))},[]),i=(0,g.useCallback)(()=>{o.current===null&&(o.current=requestAnimationFrame(a))},[a]),{setElement:c}=qn({onResize:i}),l=(0,g.useCallback)(d=>{n.current=d,c(d),d&&a()},[c,a]);return(0,g.useEffect)(()=>(window.addEventListener("scroll",i,!0),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i,!0),window.removeEventListener("resize",i),o.current!==null&&cancelAnimationFrame(o.current)}),[i]),{measureRef:l,screenRect:e}}function Zn(e){const{engine:t,store:r}=he();return(0,g.useCallback)((n,o)=>{const{hover:a,setHoverState:i,setTooltipAnchor:c}=r.getState(),l=n===null?u.RESTING_HOVER_STATE:t.resolveHoverByKey(e,n);if(l.primary===null){a.primary?.layerId===e&&(i(u.RESTING_HOVER_STATE),c(null));return}i(l),c(o?{x:o.clientX,y:o.clientY,placement:"top"}:null)},[t,r,e])}var Pl=({render:e,input:t})=>{const r=Zn(t.layer.id),{measureRef:n,screenRect:o}=Jn();return(0,g.useEffect)(()=>()=>r(null),[r]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("rect",{ref:n,x:0,y:0,width:"100%",height:"100%",fill:"none",pointerEvents:"none"}),o&&(0,s.jsx)(jl,{rect:o,children:(0,s.jsx)(kl,{render:e,input:t,pushHover:r,panelRect:o})})]})},kl=({render:e,input:t,pushHover:r,panelRect:n})=>e({...t,overlay:{pushHover:r,panelRect:n}}),te={readonly:"readonly",editable:"editable",pointAndEdit:"point-and-edit"},ce={[te.readonly]:{tooltips:!0,annotations:!0,observationMenu:!1,hoverPaint:!0,editOutline:!1,overlayMenu:!1,observationsPress:!1,graphPress:!1,guidePress:!1,holdsHoverWhileSelected:!0,tolerance:null,editorSurface:!1,inlineTextEditing:!1},[te.editable]:{tooltips:!1,annotations:!0,observationMenu:!0,hoverPaint:!0,editOutline:!1,overlayMenu:!1,observationsPress:!1,graphPress:!1,guidePress:!1,holdsHoverWhileSelected:!0,tolerance:null,editorSurface:!0,inlineTextEditing:!0},[te.pointAndEdit]:{tooltips:!1,annotations:!1,observationMenu:!1,hoverPaint:!1,editOutline:!0,overlayMenu:!0,observationsPress:!0,graphPress:!0,guidePress:!0,holdsHoverWhileSelected:!1,tolerance:{on:{edge:2,stroke:5,point:14},near:{main:8,cross:20}},editorSurface:!0,inlineTextEditing:!1}},El=new Set(Object.values(te)),Rl=e=>El.has(e),Qt=e=>Rl(e)?e:te.readonly,tt={enabled:!0,durationScale:1,stagger:!0,staggerOrder:"main-axis"},Br=1500,Cl=(e,t)=>t?{intro:{...tt,enabled:!1},transitions:!1,maxAnimatedGeoms:Br}:typeof e=="boolean"?{intro:{...tt,enabled:e},transitions:e,maxAnimatedGeoms:Br}:{intro:Ml(e?.intro),transitions:e?.transitions??!0,maxAnimatedGeoms:e?.maxAnimatedGeoms??1500},Ml=e=>typeof e=="boolean"?{...tt,enabled:e}:(0,jt.default)({},tt,e),Bl=(e,t)=>{const r=(0,E.useReducedMotion)(),n=(0,g.useMemo)(()=>Cl(e,r??!1),[e,r]),o=(0,g.useMemo)(()=>t.reduce((a,i)=>a+(0,u.countLayerGeoms)(i),0),[t]);return(0,g.useMemo)(()=>o<=n.maxAnimatedGeoms?n:{...n,intro:{...n.intro,enabled:!1},transitions:!1},[n,o])},Il={loading:"جاري التحميل",error:"حدث خطأ ما",axisLabels:{placeholder:"إضافة تسمية"},defaultPropertyLabels:{date:"التاريخ",year:"السنة",quarter:"الربع",month:"الشهر",week:"الأسبوع",series:"السلسلة",category:"الفئة",columnNumber:({number:e})=>`العمود ${e}`,rowNumber:({number:e})=>`الصف ${e}`,seriesNumber:({number:e})=>`السلسلة ${e}`},trendComparison:{fromPrevious:{long:({value:e})=>`${e} مقابل السابق`,short:({value:e})=>`${e} مقابل السابق`},fromPreviousYear:{long:({value:e})=>`${e} مقابل السنة السابقة`,short:({value:e})=>`${e} مقابل السنة السابقة`},fromPreviousMonth:{long:({value:e})=>`${e} مقابل الشهر السابق`,short:({value:e})=>`${e} مقابل الشهر السابق`},fromPreviousWeek:{long:({value:e})=>`${e} مقابل الأسبوع السابق`,short:({value:e})=>`${e} مقابل الأسبوع السابق`},fromPreviousDay:{long:({value:e})=>`${e} مقابل اليوم السابق`,short:({value:e})=>`${e} مقابل اليوم السابق`},fromPreviousHour:{long:({value:e})=>`${e} مقابل الساعة السابقة`,short:({value:e})=>`${e} مقابل الساعة السابقة`}},headlineMetrics:{averageLong:({value:e})=>`المتوسط ${e}`,averageShort:({value:e})=>`المتوسط ${e}`,total:({value:e})=>`المجموع ${e}`,totalConversionRate:({value:e})=>`معدل التحويل الإجمالي ${e}`,current:({value:e})=>e,comparisonReference:({value:e})=>`من ${e}`},legend:{hiddenItems:"عناصر وسيلة الإيضاح المخفية"}},Tl={graph:Il,dir:"rtl"},Ol={loading:"Loading",error:"Something went wrong",axisLabels:{placeholder:"Add label"},defaultPropertyLabels:{date:"Date",year:"Year",quarter:"Quarter",month:"Month",week:"Week",series:"Series",category:"Category",columnNumber:({number:e})=>`Column ${e}`,rowNumber:({number:e})=>`Row ${e}`,seriesNumber:({number:e})=>`Series ${e}`},trendComparison:{fromPrevious:{long:({value:e})=>`${e} vs previous`,short:({value:e})=>`${e} vs prev`},fromPreviousYear:{long:({value:e})=>`${e} vs previous year`,short:({value:e})=>`${e} vs prev year`},fromPreviousMonth:{long:({value:e})=>`${e} vs previous month`,short:({value:e})=>`${e} vs prev month`},fromPreviousWeek:{long:({value:e})=>`${e} vs previous week`,short:({value:e})=>`${e} vs prev week`},fromPreviousDay:{long:({value:e})=>`${e} vs previous day`,short:({value:e})=>`${e} vs prev day`},fromPreviousHour:{long:({value:e})=>`${e} vs previous hour`,short:({value:e})=>`${e} vs prev hour`}},headlineMetrics:{averageLong:({value:e})=>`Average ${e}`,averageShort:({value:e})=>`Avg. ${e}`,total:({value:e})=>`Total ${e}`,totalConversionRate:({value:e})=>`Total conversion rate ${e}`,current:({value:e})=>e,comparisonReference:({value:e})=>`from ${e}`},legend:{hiddenItems:"Hidden legend items"}},Ll={graph:Ol,dir:"ltr"},Nl={},Fl={loading:"A carregar",error:"Algo correu mal",axisLabels:{placeholder:"Adicionar etiqueta"},defaultPropertyLabels:{date:"Data",year:"Ano",quarter:"Trimestre",month:"Mês",week:"Semana",series:"Série",category:"Categoria",columnNumber:({number:e})=>`Coluna ${e}`,rowNumber:({number:e})=>`Linha ${e}`,seriesNumber:({number:e})=>`Série ${e}`},trendComparison:{fromPrevious:{long:({value:e})=>`${e} vs anterior`,short:({value:e})=>`${e} vs ant`},fromPreviousYear:{long:({value:e})=>`${e} vs ano anterior`,short:({value:e})=>`${e} vs ano ant`},fromPreviousMonth:{long:({value:e})=>`${e} vs mês anterior`,short:({value:e})=>`${e} vs mês ant`},fromPreviousWeek:{long:({value:e})=>`${e} vs semana anterior`,short:({value:e})=>`${e} vs sem ant`},fromPreviousDay:{long:({value:e})=>`${e} vs dia anterior`,short:({value:e})=>`${e} vs dia ant`},fromPreviousHour:{long:({value:e})=>`${e} vs hora anterior`,short:({value:e})=>`${e} vs hora ant`}},headlineMetrics:{averageLong:({value:e})=>`Média ${e}`,averageShort:({value:e})=>`Méd. ${e}`,total:({value:e})=>`Total ${e}`,totalConversionRate:({value:e})=>`Taxa de conversão total ${e}`,current:({value:e})=>e,comparisonReference:({value:e})=>`de ${e}`},legend:{hiddenItems:"Itens de legenda ocultos"}},Hl={graph:Fl,dir:"ltr"},it={"en-GB":Ll,"en-US":Nl,ar:Tl,"pt-PT":Hl},Dl=({locale:e,overrides:t,fallbackLocale:r="en-GB",dictionaries:n})=>{const o=t??{},a=e??r,i=[...n.map(l=>l[a]),...n.map(l=>l[r])];return(l,d)=>{const h=d??{},f=l.split("."),m=o[l];if(m)return typeof m=="function"?m(h):m;for(const v of i){if(v===void 0)continue;const p=Wl(v,f);if(p)return typeof p=="function"?p(h):p}return l}},Gl=({locale:e,overrides:t})=>t?.dir??it[e].dir??"ltr",Wl=(e,t)=>{let r=e;for(const n of t){if(typeof r!="object"||r===null)return;r=r[n]}if(typeof r=="string"||typeof r=="function")return r},Vl=e=>{const t="en-GB";if(!e)return t;const r=e.trim().replace("_","-").toLowerCase();return Object.keys(it).find(n=>n.toLowerCase()===r)??t},_n=(0,g.createContext)(null),Ul=[it],Xt=()=>Kl().translator,$n=({locale:e,children:t,i18nOverrides:r,dictionaries:n=Ul})=>{const o=Vl(e),a=(0,g.useMemo)(()=>({translator:Dl({locale:o,overrides:r,fallbackLocale:"en-GB",dictionaries:n}),dir:Gl({locale:o,overrides:r})}),[r,o,n]);return(0,s.jsx)(Fa.IntlProvider,{locale:o,timeZone:"UTC",children:(0,s.jsx)(_n.Provider,{value:a,children:t})})},Kl=()=>{const e=(0,g.useContext)(_n);if(!e)throw new Error("useI18n must be used within IntlProvider");return e},qt=e=>e==="none"?"none":`${e.offsetX}px ${e.offsetY}px ${e.blur}px ${e.color}`,Yl=e=>{if(e!=="none")return`drop-shadow(${e.offsetX}px ${e.offsetY}px ${e.blur}px ${e.color})`},zl="bow4tg0",Ql="bow4tg1",Xl="bow4tg2",ql="bow4tg3",Jl="bow4tg4",Jt="_1ii3bsb0",eo="_1ii3bsb1",to=(0,g.createContext)({colorScheme:"light",themeClass:Jt,inlineVarsStyle:{},themeValues:Wt("light",{})}),lt=()=>(0,g.useContext)(to),ro=({colorScheme:e,textScale:t=1,graphBackground:r,graphFontFamily:n,headingFontFamily:o,children:a})=>{const i=(0,g.useMemo)(()=>Wt(e),[e]),c=(0,g.useMemo)(()=>{const d={[x.vars.textScale]:String(t)};return r!==void 0&&(d[x.vars.graphBackground]=r),n!==void 0&&(d[x.vars.fontFamily]=n),o!==void 0&&(d[x.vars.fontFamilyHeading]=o),(0,Ot.assignInlineVars)(d)},[t,r,n,o]),l=(0,g.useMemo)(()=>({colorScheme:e,themeClass:e==="dark"?eo:Jt,inlineVarsStyle:c,themeValues:i}),[e,c,i]);return(0,s.jsx)(to.Provider,{value:l,children:a})},no=({children:e,className:t,style:r})=>{const{themeClass:n,inlineVarsStyle:o}=lt();return(0,s.jsx)("div",{className:(0,D.default)(n,Ql,t),style:{...o,...r},children:e})},oo={modern:"'Inter', -apple-system, BlinkMacSystemFont, 'Open Sans', 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif",timeless:"'Noto Serif', Georgia, 'Times New Roman', serif",fresh:"'Aeonik', 'Aeonik Fallback', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif",technical:"'PT Mono', 'Courier New', monospace",handwritten:"'Permanent Marker', cursive",fineliner:"'Intruding Cat', cursive"},ao=e=>{const t=e!==null&&typeof e=="object"?e.fontFamily:e;return typeof t=="string"&&t.length>0?t:void 0},Ct=e=>{const t=ao(e);if(t!==void 0)return oo[t]??t},Zl="_1cocly40",ke=({content:e})=>(0,s.jsx)(s.Fragment,{children:so(e.content??[e])}),so=e=>e.map((t,r)=>_l(t,r)),_l=(e,t)=>{if(e.type==="text")return $l(e,t);if(e.type==="hardBreak"||e.type==="hard_break")return(0,s.jsx)("br",{},t);const r=e.content?so(e.content):null;switch(e.type){case"doc":return(0,s.jsx)(g.Fragment,{children:r},t);case"heading":{const n=nc(e.attrs?.level);return oc(n,t,r,Ir(e.attrs))}case"paragraph":return(0,s.jsx)("p",{"data-variant":Zt(e.attrs?.variant)??void 0,style:io(Ir(e.attrs)),children:r},t);case"blockquote":return(0,s.jsx)("blockquote",{children:r},t);case"bulletList":case"bullet_list":return(0,s.jsx)("ul",{children:r},t);case"orderedList":case"ordered_list":return(0,s.jsx)("ol",{children:r},t);case"listItem":case"list_item":return(0,s.jsx)("li",{children:r},t);default:return(0,s.jsx)("span",{children:r},t)}},$l=(e,t)=>{const r=e.text??"";return!e.marks||e.marks.length===0?(0,s.jsx)("span",{children:r},t):e.marks.reduceRight((n,o,a)=>ec(o,n,`${t}-${a}`),r)},ec=(e,t,r)=>{switch(e.type){case"bold":case"strong":return(0,s.jsx)("strong",{children:t},r);case"italic":case"em":return(0,s.jsx)("em",{children:t},r);case"underline":return(0,s.jsx)("u",{children:t},r);case"strike":case"strikethrough":case"s":return(0,s.jsx)("s",{children:t},r);case"code":return(0,s.jsx)("code",{children:t},r);case"link":{const n=Zt(e.attrs?.href);return(0,u.isSafeUrl)(n)?(0,s.jsx)("a",{className:Zl,href:n,rel:"noopener noreferrer",target:"_blank",children:t},r):(0,s.jsx)("span",{children:t},r)}case"textStyle":{const n=tc(e.attrs);return n?(0,s.jsx)("span",{style:n,children:t},r):(0,s.jsx)("span",{children:t},r)}default:return(0,s.jsx)("span",{children:t},r)}},tc=e=>{if(!e)return null;const t={},r=Zt(e.color);r&&(t.color=r);const n=Ct(e.font)??Ct(e.fontFamily);n&&(t.fontFamily=n);const o=rc(e.fontSize);return o&&(t.fontSize=o),Object.keys(t).length>0?t:null},rc=e=>{if(typeof e=="number"&&Number.isFinite(e))return`calc(${e}px * ${x.vars.textScale})`},Zt=e=>typeof e=="string"&&e.length>0?e:void 0,nc=e=>typeof e!="number"?3:e<1?1:e>3?3:Math.round(e),oc=(e,t,r,n)=>{const o=io(n);switch(e){case 1:return(0,s.jsx)("h1",{style:o,children:r},t);case 2:return(0,s.jsx)("h2",{style:o,children:r},t);case 3:return(0,s.jsx)("h3",{style:o,children:r},t)}},Ir=e=>{const t=e?.textAlign;if(t==="left"||t==="right"||t==="center"||t==="justify")return t},io=e=>e?{textAlign:e}:void 0;function we(e){const{store:t}=he();return(0,xe.useStore)(t,e)}var ac="_19519k80";var sc="_19519k82",ic="_19519k83",lc="_19519k85",cc="_19519k86",uc="_19519k87",dc="_19519k88",hc=e=>{const{overlayRef:t}=he(),r=(0,g.useRef)(null),[n,o]=(0,g.useState)(!1),a=et(e);return(0,g.useEffect)(()=>{const i=t.current;if(!i)return;const c=d=>{r.current={clientX:d.clientX,clientY:d.clientY},o(!0),a.current?.()},l=()=>{r.current=null,o(!1)};return i.addEventListener("pointermove",c),i.addEventListener("pointerleave",l),()=>{i.removeEventListener("pointermove",c),i.removeEventListener("pointerleave",l)}},[t,a]),{cursorRef:r,isInside:n}},gc=24,fc=8,vc={x:0,y:0,top:0,left:0,right:0,bottom:0,width:0,height:0,toJSON:()=>({})},ze={boundary:[],padding:fc},mc=()=>{const e=O((0,U.useShallow)(b=>({layers:b.layers,coordSystem:b.coordSystem,scales:b.scales,guides:b.guides,numberFormat:b.config.numberFormat,parsingLocale:b.config.parsingLocale,comments:b.annotations.comments}))),{formattingLocale:t}=H(),r=M(),n=we(b=>b.hover),o=we(b=>b.tooltipAnchor),a=we(b=>b.isPointerSuspended),i=ee("Tooltip",lo),c=(0,g.useRef)(()=>{}),{cursorRef:l,isInside:d}=hc(()=>c.current()),h=(0,g.useMemo)(()=>(0,u.buildTooltipContent)({...e,hover:n,readers:r,formattingLocale:t,activeCalloutId:o?.annotationId??null}),[e,n,r,t,o]),f=!a&&h!==null&&(d||o!==null),m=(0,g.useMemo)(()=>({getBoundingClientRect:()=>{if(o!==null)return yc(o);const b=l.current;return b===null?vc:xc(b)}}),[l,o]),{refs:v,floatingStyles:p,update:A}=(0,z.useFloating)(Ac({isOpen:f,tooltipAnchor:o,virtualReference:m}));if(c.current=A,!f)return null;const y=(0,s.jsx)("div",{ref:v.setFloating,role:"tooltip",className:dc,style:p,"data-testid":"chart-tooltip",children:(0,s.jsx)(i,{content:h})}),S=zt();return S?(0,Jr.createPortal)((0,s.jsx)(no,{children:y}),S):y},lo=({content:e})=>{const t=re(),r=O(l=>l.coordSystem),n=R(u.resolveTooltipStyle,M()),o=xt(n.heading),a=xt(n.label),i=xt(n.value),c={paddingInline:n.box.paddingInline};return(0,s.jsxs)("div",{className:ac,style:pc(n.box),"data-testid":"chart-tooltip-body",children:[e.comment!==null&&(0,s.jsx)("div",{style:{...a,color:n.value.textColor,...c},"data-testid":"chart-tooltip-comment",children:(0,s.jsx)(ke,{content:e.comment})}),e.heading!==null&&(0,s.jsx)("div",{className:"_19519k81",style:{...o,...c},"data-testid":"chart-tooltip-heading",children:e.heading}),(0,s.jsx)("div",{className:sc,children:e.rows.map(l=>{const d=t(l.geom,r.type);return(0,s.jsx)(bc,{row:l,swatchShape:d?.swatchShape??"square",shouldHighlight:l.isPrimary&&e.rows.length>1,labelStyle:a,valueStyle:i,paddingInline:n.box.paddingInline,highlightBackground:n.primaryRow.fill},l.key)})})]})},xt=e=>({...pe(e),color:e.textColor,lineHeight:e.lineHeight}),pc=e=>({background:e.fill,borderRadius:e.cornerRadius,paddingBlock:e.paddingBlock,boxShadow:qt(e.shadow),...e.strokeWidth>0?{border:`${e.strokeWidth}px solid ${e.stroke}`}:{}}),xc=e=>({x:e.clientX,y:e.clientY,top:e.clientY,left:e.clientX,right:e.clientX,bottom:e.clientY,width:0,height:0,toJSON:()=>({})}),yc=e=>({x:e.x,y:e.y,top:e.y,left:e.x,right:e.x,bottom:e.y,width:0,height:0,toJSON:()=>({})}),Ac=({isOpen:e,tooltipAnchor:t,virtualReference:r})=>({open:e,placement:t!==null?t.placement:"right",middleware:t!==null?[(0,z.offset)(u.ANNOTATION_TOOLTIP_MARKER_GAP_PX),(0,z.shift)(ze),(0,z.flip)(ze)]:[(0,z.offset)(gc),(0,z.flip)(ze),(0,z.shift)(ze)],elements:{reference:r}}),bc=({row:e,swatchShape:t,shouldHighlight:r,labelStyle:n,valueStyle:o,paddingInline:a,highlightBackground:i})=>(0,s.jsxs)("div",{className:ic,style:{paddingInline:a,...r?{backgroundColor:i}:{}},"data-testid":"chart-tooltip-row",children:[e.swatchColor===null?(0,s.jsx)("span",{className:lc,"aria-hidden":!0}):(0,s.jsx)(We,{shape:t,color:e.swatchColor,surface:"tooltip",label:e.label,lineType:e.swatchLineType,alpha:e.swatchAlpha,cornerRadius:e.swatchCornerRadius}),(0,s.jsx)("span",{className:cc,style:n,"data-testid":"chart-tooltip-label",children:e.label}),(0,s.jsx)("span",{className:uc,style:o,"data-testid":"chart-tooltip-value",children:e.value})]}),Mt={plansByLayerId:null,coordKey:null,introEndsAtMs:0},_t=(0,g.createContext)(Mt),Sc=({intro:e,children:t})=>{const{layers:r,coordSystem:n,scales:o}=O((0,U.useShallow)(i=>({layers:i.layers,coordSystem:i.coordSystem,scales:i.scales}))),[a]=(0,g.useState)(()=>Pc({layers:r,coordSystem:n,scales:o,intro:e}));return(0,s.jsx)(_t.Provider,{value:a,children:t})},jc=()=>{const{introEndsAtMs:e}=(0,g.useContext)(_t),[t]=(0,g.useState)(()=>kc(e)/1e3);return t},wc=e=>{const{plansByLayerId:t,coordKey:r}=(0,g.useContext)(_t),n=O(o=>co(o.coordSystem));return t===null||r!==n?null:t.get(e)??null},Pc=({layers:e,coordSystem:t,scales:r,intro:n})=>{if(!n.enabled)return Mt;const o={durationScale:n.durationScale,stagger:n.stagger,staggerOrder:n.staggerOrder},a=new Map;for(const c of e){const l=(0,u.buildLayerIntroPlan)({layer:c,coordSystem:t,scales:r,options:o});l!==null&&a.set(c.id,l)}if(a.size===0)return Mt;const i=[...a.values()].reduce((c,l)=>Math.max(c,$a(l)),0);return{plansByLayerId:a,coordKey:co(t),introEndsAtMs:performance.now()+i*1e3}},kc=e=>Math.max(0,e-performance.now()),co=e=>e.type==="cartesian"?`cartesian-${e.mainAxis}`:e.type,uo=e=>({x:e.axisLabel.x().resolve(),y:e.axisLabel.y().resolve()}),ho=e=>({x:e.tickLine.x().resolve(),y:e.tickLine.y().resolve()}),$t=e=>(t,r)=>r===void 0?e.tickLabel[t]().resolve():e.tickLabel[r](t).resolve(),ct=e=>{const t={};for(const r of u.DATA_LABEL_ROLES){const n={};for(const o of u.RESOLVED_DATA_LABEL_POSITIONS)n[o]=(0,u.resolveDataLabelStyle)(e,r,o);t[r]=n}return t},go=e=>({gap:e.legend().resolve().gap,popover:e.legend.popover().resolve()}),er=e=>e.headline().resolve(),Ec=({textMeasurer:e,tickLabelStyles:t,tickLineStyles:r,familyDefault:n})=>o=>{const a=o.position==="top"||o.position==="bottom",i=(0,u.getAestheticFromScaleAestheticKey)(o.scaleAestheticKey),{offset:c,...l}=t(i,o.position),d=o.ticksVisible?Math.max(c,r[i].length):c,h=(0,u.toFontSpec)(l,n),f=o.ticks.map(v=>e.measureText(v.formattedLabel,h)),m=o.labelMaxWidthPx??Number.POSITIVE_INFINITY;if(a){if(o.labelRotation!==0){const v=f.map(p=>p.width);return Tr(v,m)+2*d}return Math.max(...f.map(v=>v.height))+d}return Tr(f.map(v=>v.width),m)+d},Tr=(e,t)=>Math.min(Math.max(...e),t),Rc=({axisLabelStyles:e})=>t=>(0,u.computeLineBoxHeight)(e[(0,u.getAestheticFromScaleAestheticKey)(t.scaleAestheticKey)]),fo=({textMeasurer:e,dataLabelStyles:t,familyDefault:r})=>(n,o,a)=>{const i=t[n][o],c=e.measureText(a,(0,u.toFontSpec)(i,r));return{...c,width:c.width+i.paddingInline*2,height:c.height+i.paddingBlock*2}},Cc=({textMeasurer:e,familyDefault:t})=>(r,n)=>e.measureText(r,(0,u.toFontSpec)(n,t)),Mc=({textMeasurer:e,familyDefault:t,headlineRowGap:r,itemGap:n,headlineItemStyles:o})=>(a,i)=>{const c=vo(a,o[i],e,t,r);return{width:mo(c.map(l=>l.width))+Math.max(0,c.length-1)*n,height:Math.max(0,...c.map(l=>l.height))}},Bc=({textMeasurer:e,familyDefault:t,headlineRowGap:r,headlineItemStyles:n})=>(o,a)=>vo(o,n[a],e,t,r).map(i=>i.width),Ic=({textMeasurer:e,familyDefault:t,headlineItemStyles:r})=>(n,o,a=!1)=>{const i=(0,u.resolveHeadlineNumberStyle)(r[o],a);return{width:e.measureText(n,(0,u.toFontSpec)(i,t)).width,height:(0,u.computeLineBoxHeight)(i)}},Tc=e=>{const t=Mc(e),r=Ic(e);return(n,o,a=!1)=>n.kind==="perGroup"?t(n,o):r(n.value,o,a)},vo=(e,t,r,n,o)=>{const a=i=>Oc(i,t,r,n);return e.items.map(i=>{const c=(0,u.buildHeadlineItemRows)(i,t.swatch.size).map(a),l=Math.max(0,c.length-1)*o;return{width:Math.max(0,...c.map(d=>d.width)),height:mo(c.map(d=>d.height))+l}})},Oc=(e,t,r,n)=>{let o=0,a=0;for(const i of e.segments)if(i.kind==="text"){const c=Lc(t,i.textRole);o+=r.measureText(i.text,(0,u.toFontSpec)(c,n)).width,a=Math.max(a,Nc(c))}else o+=i.size,a=Math.max(a,i.size);return{width:o+Math.max(0,e.segments.length-1)*e.gap,height:a}},Lc=(e,t)=>{switch(t){case"value":return e.number;case"caption":return e.caption;case"label":return e.label;case"trendPercentage":case"trendReference":return e.trend;default:return t}},Nc=e=>e.fontSize*(e.lineHeight??Gs),mo=e=>e.reduce((t,r)=>t+r,0),Fc=(e,t)=>e?t:0,rt=(e,t,r)=>{if(r){const n=Number(e.size);return Number.isFinite(n)&&n>0?n:0}return Fc(e.color,t)},Hc=({textMeasurer:e,familyDefault:t,legendItemStyle:r,directLabelStyle:n,legendSwatchGap:o})=>a=>{const i=a.position==="top"||a.position==="bottom";if(a.display==="direct"){const A=(0,u.computeLineBoxHeight)(n);if(i)return A;const y=(0,u.toFontSpec)(n,t),S=a.items.map(b=>e.measureText(b.formattedLabel,y).width);return Math.max(...S)}const{item:c,swatch:l}=r,d=(0,u.computeLineBoxHeight)(c),h=(0,u.toFontSpec)(c,t),f=2*(c.paddingBlock+c.strokeWidth),m=2*(c.paddingInline+c.strokeWidth),v=a.aesthetics.includes("size");if(i){const A=v?Math.max(0,...a.items.map(y=>rt(y.visual,l.size,!0))):l.size;return Math.max(d,A)+f}const p=a.items.map(A=>{const y=e.measureText(A.formattedLabel,h).width,S=rt(A.visual,l.size,v);return S+(S>0?o:0)+y});return Math.max(...p)+m},Dc=({textMeasurer:e,tickLabelStyles:t,familyDefault:r})=>(n,o)=>e.measureText(n,(0,u.toFontSpec)(t(o),r)),Gc=Object.freeze({}),Wc=({textMeasurer:e,metrics:t,overrides:r=Gc})=>{const n=M(),o=R(uo,n),a=R(ct,n),i=R(u.resolveDirectLabelStyle,n),c=R(u.resolveLegendItemStyle,n),l=R($t,n),d=R(ho,n),h=(0,g.useRef)(r);return h.current=r,(0,g.useMemo)(()=>{if(!e)return null;const f=t.fonts.familyDefault,m=n.graph().get("textScale"),v={textMeasurer:e,familyDefault:f,headlineRowGap:t.headlineRowGap,itemGap:er(n).gap,headlineItemStyles:{small:(0,u.resolveHeadlineItemStyle)(n,"small"),medium:(0,u.resolveHeadlineItemStyle)(n,"medium"),large:(0,u.resolveHeadlineItemStyle)(n,"large")}},p=Ec({textMeasurer:e,tickLabelStyles:l,tickLineStyles:d,familyDefault:f}),A=Rc({axisLabelStyles:o}),y=Hc({textMeasurer:e,familyDefault:f,legendItemStyle:c,directLabelStyle:i,legendSwatchGap:t.legendSwatchGap}),S=Tc(v),b=Bc(v),w={measureText:(j,k)=>e.measureText(j,k),textScale:m};return{measureAxis:j=>{if(Uc(j))return 0;const k=h.current.measureAxis;return k?k(j,w):p(j)},measureAxisLabel:j=>{const k=h.current.measureAxisLabel;return k?k(j,w):A(j)},measureLegend:j=>{if(Kc(j))return 0;const k=h.current.measureLegend;return k?k(j,w):y(j)},measureHeadline:(j,k,B)=>(h.current.measureHeadline??S)(j,k,B),measureHeadlineItemWidths:(j,k)=>(h.current.measureHeadlineItemWidths??b)(j,k),measureTickLabel:Dc({textMeasurer:e,tickLabelStyles:l,familyDefault:f}),measureDifferenceArrowLabel:Cc({textMeasurer:e,familyDefault:f}),measureDataLabel:fo({textMeasurer:e,dataLabelStyles:a,familyDefault:f})}},[e,t,o,a,i,c,l,d,n])},Vc=({measurer:e,axes:t,numberFormat:r,parsingLocale:n,formattedLegends:o,containerSize:a,externalMeasurements:i,headline:c,formattingLocale:l,annotations:d,layers:h,coordSystem:f,overflowStrategy:m,panelBorder:v,padding:p,margins:A})=>{const y=M(),S=(0,g.useMemo)(()=>b=>(0,u.resolveDifferenceArrowAnnotationStyle)(y,b),[y]);return(0,g.useMemo)(()=>e?new u.LayoutCompiler(e).compile({axes:t,numberFormat:r,parsingLocale:n,formattedLegends:o,containerSize:a,externalMeasurements:i,headline:c,formattingLocale:l,annotations:d,resolveDifferenceArrowStyle:S,layers:h,readers:y,coordSystem:f,overflowStrategy:m,panelBorder:v,padding:p,margins:A}):null,[t,r,n,o,a,i,m,c,l,d,S,h,y,f,v,p,A,e])},Uc=e=>!e.isVisible||e.ticks.length===0,Kc=e=>e.items.length===0,po=()=>{const{formattingLocale:e}=H(),t=O(r=>r.config.parsingLocale);return e??t},Or=.5,xo=(0,g.createContext)(new Map),yo=(0,g.createContext)(()=>{}),Ao=(0,g.createContext)(new Set),Yc=({children:e})=>{const[t,r]=(0,g.useState)(()=>new Map),[n]=(0,g.useState)(()=>new Set),o=(0,g.useRef)(new Map),a=(0,g.useCallback)((i,c,l)=>{const d=o.current.get(i)??new Set;if(l!==null){d.add(c),o.current.set(i,d),r(h=>Xc(h,i,l));return}d.delete(c),!(d.size>0)&&(o.current.delete(i),r(h=>qc(h,i)))},[]);return(0,s.jsx)(yo.Provider,{value:a,children:(0,s.jsx)(Ao.Provider,{value:n,children:(0,s.jsx)(xo.Provider,{value:t,children:e})})})},bo=()=>(0,g.useContext)(xo),zc=()=>(0,g.useContext)(yo),So=e=>{const t=zc(),r=(0,g.useId)(),n=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(typeof ResizeObserver>"u")return;const o=n.current;if(o===null)return;const a=()=>t(e,r,{width:o.offsetWidth,height:o.offsetHeight});a();const i=new ResizeObserver(a);return i.observe(o),()=>{i.disconnect(),t(e,r,null)}},[e,r,t]),n},Qc=()=>(0,g.useContext)(Ao),Xc=(e,t,r)=>{const n=e.get(t);if(n!==void 0&&Math.abs(n.width-r.width)<Or&&Math.abs(n.height-r.height)<Or)return e;const o=new Map(e);return o.set(t,r),o},qc=(e,t)=>{if(!e.has(t))return e;const r=new Map(e);return r.delete(t),r},Jc=(e,t)=>e!==null&&e.annotationId===t?e:null,Zc=(e,t)=>e.annotationId===t.annotationId&&e.translation.x===t.translation.x&&e.translation.y===t.translation.y,_c=(e,t,r)=>e!==null&&e.annotationId===t&&e.endpoint===r?e:null,$c=(e,t)=>e.annotationId===t.annotationId&&e.endpoint===t.endpoint&&e.anchor.x===t.anchor.x&&e.anchor.y===t.anchor.y,eu=(e,t,r)=>e!==null&&e.annotationId===t&&e.endpoint===r?e:null,tu=(e,t)=>e.annotationId===t.annotationId&&e.endpoint===t.endpoint&&(0,u.areAnchorsEqual)(e.point.anchor,t.point.anchor),ru=(e,t)=>e!==null&&e.annotationId===t?e:null,nu=(e,t)=>e.annotationId===t.annotationId&&e.region.x===t.region.x&&e.region.y===t.region.y&&e.region.width===t.region.width&&e.region.height===t.region.height,ou=(e,t)=>e!==null&&e.annotationId===t?e:null,au=(e,t)=>e.annotationId===t.annotationId&&e.at.x===t.at.x&&e.width===t.width&&e.shift===t.shift,Pe=({standingInteraction:e},t)=>e!==null&&fe(e,t)?e:null,su=(e,t)=>{if(e===null)return!1;switch(t.kind){case"difference-arrow-endpoint-drag":return fe(e,t.kind)&&tu(e,t);case"arrow-endpoint-drag":return fe(e,t.kind)&&$c(e,t);case"move-drag":return fe(e,t.kind)&&Zc(e,t);case"shape-resize-drag":return fe(e,t.kind)&&nu(e,t);case"text-resize-drag":return fe(e,t.kind)&&au(e,t);case"chrome-popup":return fe(e,t.kind);case"menu":return!1}},fe=(e,t)=>e.kind===t,iu=({isMenuTrigger:e,stamped:t,observations:r})=>e?{kind:"menu-trigger"}:t!==null&&t.kind!=="grid"?t:r!==null?{kind:"observations",observations:r}:t,lu=(e,t)=>{if(e===t)return!0;if(e===null||t===null)return!1;if(e.kind==="annotation"&&t.kind==="annotation")return(0,u.areEditTargetsEqual)(e.target,t.target);if(e.kind==="legend"&&t.kind==="legend")return e.part.legendIndex===t.part.legendIndex&&e.part.itemIndex===t.part.itemIndex;if(e.kind==="axis"&&t.kind==="axis")return(0,u.areEditTargetsEqual)(e.target,t.target)&&e.part?.tickIndex===t.part?.tickIndex;if(e.kind==="grid"&&t.kind==="grid")return(0,u.areEditTargetsEqual)(e.target,t.target);if(e.kind==="observations"&&t.kind==="observations"){const r=e.observations,n=t.observations;return r.layerId===n.layerId&&r.observationIndex===n.observationIndex&&r.target.scope===n.target.scope&&r.isOnObservation===n.isOnObservation}return e.kind==="menu-trigger"&&t.kind==="menu-trigger"},tr=e=>{const t=e.editTargetUnderPointer;return t?.kind==="annotation"?t.target.id:null},cu=e=>{const t=e.editTargetUnderPointer;return t!==null&&t.kind!=="menu-trigger"},jo=()=>(0,Lt.createStore)(e=>({menuTrigger:null,editTargetUnderPointer:null,standingInteraction:null,selectedOutline:null,caret:null,setMenuTrigger:t=>e(r=>(0,u.areEditMenuTriggersEqual)(r.menuTrigger,t)?r:{menuTrigger:t}),setEditTargetUnderPointer:t=>e(r=>lu(r.editTargetUnderPointer,t)?r:{editTargetUnderPointer:t}),claimInteraction:t=>e(r=>su(r.standingInteraction,t)?r:{standingInteraction:t}),releaseInteraction:t=>e(r=>r.standingInteraction?.kind===t?{standingInteraction:null}:r),setSelectedOutline:t=>e(r=>uu(r.selectedOutline,t)?r:{selectedOutline:t}),setCaret:t=>e(r=>(r.caret?.annotationId??null)===t?r:{caret:t===null?null:{annotationId:t,editor:null}}),setCaretEditor:t=>e(r=>r.caret===null?r:{caret:{...r.caret,editor:t}})})),uu=(e,t)=>e===t?!0:e===null||t===null?!1:e.target.key===t.target.key&&e.frameScale===t.frameScale&&Rt(e.frame,t.frame),rr=(0,g.createContext)(null),du=jo(),hu=({children:e})=>{const[t]=(0,g.useState)(()=>jo());return(0,s.jsx)(rr.Provider,{value:t,children:e})},gu=()=>{const e=(0,g.useContext)(rr);if(e===null)throw new Error("useEditorStore must be used inside an <EditorProvider>.");return e};function ie(e){return(0,xe.useStore)((0,g.useContext)(rr)??du,e)}var wo=(0,g.createContext)(null),fu=({panelRect:e,children:t})=>{const r=vu(e);return(0,s.jsx)(wo.Provider,{value:r,children:t})},Po=()=>{const e=(0,g.useContext)(wo);if(e===null)throw new Error("Difference arrows read outside a <DifferenceArrowsProvider>.");return e},Lr=(e,t,r)=>t.isStrokeAuthored?t.stroke:(0,u.resolveArrowColor)(e.start,e.end,{start:r(e.start),end:r(e.end)})??t.stroke,vu=e=>{const{formattingLocale:t}=H(),r=le(),{fonts:n}=ye(),o=ie(y=>Pe(y,"difference-arrow-endpoint-drag")),a=Da(),i=M(),{differenceArrows:c,mainAxis:l,parsingLocale:d}=O((0,U.useShallow)(y=>({differenceArrows:y.annotations.differenceArrows,mainAxis:y.coordSystem.type==="cartesian"?y.coordSystem.mainAxis:"x",parsingLocale:y.config.parsingLocale}))),h=t??d,{width:f,height:m}=e,v=(0,g.useMemo)(()=>({mainAxis:l,panelWidth:f,panelHeight:m,locale:h}),[l,f,m,h]),p=(0,g.useMemo)(()=>mu(r,n.familyDefault),[r,n.familyDefault]),A=(0,g.useMemo)(()=>c.map(y=>{const S=(0,u.resolveDifferenceArrowAnnotationStyle)(i,y.id),b=Nr(y,S,v,p);return{...b,arrow:y,style:S,color:Lr(y,S,a),committedArrow:y,committedLabelBox:b.labelBox,committedLabelText:b.labelText,isDragged:!1,hasComparableEndpoints:(0,u.areEndpointsComparable)(y.start,y.end)}}),[c,v,p,a,i]);return(0,g.useMemo)(()=>o===null?A:A.map(y=>{if(y.id!==o.annotationId)return y;const S=pu(y.committedArrow,o);return{...Nr(S,y.style,v,p),style:y.style,color:Lr(S,y.style,a),arrow:S,committedArrow:y.committedArrow,committedLabelBox:y.committedLabelBox,committedLabelText:y.committedLabelText,isDragged:!0,hasComparableEndpoints:(0,u.areEndpointsComparable)(S.start,S.end)}}),[A,o,v,p,a])},Nr=(e,t,r,n)=>{const o=(0,u.computeDifferenceArrow)({arrow:e,style:t,...r});return{...o,labelBox:(0,u.getDifferenceArrowLabelBox)({labelPosition:o.labelPosition,measuredTextWidth:n(o.labelText,t.label),label:t.label})}},mu=(e,t)=>{const r=new Map;return(n,o)=>{const a=(0,u.toFontSpec)(o,t),i=`${a.family}|${a.size}|${a.weight}|${n}`,c=r.get(i);if(c!==void 0)return c;const{width:l}=e.measureText(n,a);return r.set(i,l),l}},pu=(e,t)=>({...e,start:t.endpoint==="start"?t.point:e.start,end:t.endpoint==="end"?t.point:e.end}),xu="data:image/png;base64,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",yu=({className:e})=>(0,s.jsx)("img",{src:xu,alt:"","aria-hidden":"true",className:e,draggable:!1}),Au="https://graphy.app/?utm_source=chart-mark&utm_medium=embed",bu="Made with Graphy — open graphy.app";var Su="vultop0";var ju="vultop2",wu="vultop3",Pu="vultop4",ku="vultop5",Eu="vultop6",Ru="vultop7",Cu=e=>{const t=Mu(e.trim());if(t===null)return"light";const r=Bu(t);return r<=.22?"dark":r<=.65?"mid":"light"},Mu=e=>{if(!e.startsWith("#"))return null;const t=e.slice(1);if(t.length===3){const r=t[0],n=t[1],o=t[2];return r===void 0||n===void 0||o===void 0?null:{red:Number.parseInt(r+r,16),green:Number.parseInt(n+n,16),blue:Number.parseInt(o+o,16)}}return t.length===6||t.length===8?{red:Number.parseInt(t.slice(0,2),16),green:Number.parseInt(t.slice(2,4),16),blue:Number.parseInt(t.slice(4,6),16)}:null},Bu=({red:e,green:t,blue:r})=>{const n=o=>{const a=o/255;return a<=.03928?a/12.92:((a+.055)/1.055)**2.4};return .2126*n(e)+.7152*n(t)+.0722*n(r)},ko=(e,t,r="full")=>!e||t.width<120||t.height<80?"hidden":t.width<200||r==="mini"?"mini":"full",nr=({visual:e,placement:t})=>{const r=Cu(M().graph().get("fill"));return(0,s.jsxs)("a",{className:(0,D.default)(Su,e==="mini"&&"vultop1",t==="footer"?Eu:Ru),href:Au,target:"_blank",rel:"noopener noreferrer","aria-label":bu,"data-visual":e,"data-zone":r,children:[(0,s.jsx)("span",{className:ju,children:(0,s.jsx)(yu,{className:wu})}),(0,s.jsxs)("span",{className:Pu,children:[(0,s.jsx)("span",{children:"Made with"}),(0,s.jsx)("span",{className:ku,children:"Graphy"})]})]})},Eo=(0,g.createContext)({Title:null,Caption:null,TextAnnotation:null}),Iu=({editors:e,children:t})=>(0,s.jsx)(Eo.Provider,{value:e,children:t}),or=()=>(0,g.useContext)(Eo),Fr="_4dlrid0",Tu="xfz7dq0";var Ou="xfz7dq2",Lu="xfz7dq3",Nu="xfz7dq4",Fu="xfz7dq5",Ro=({ref:e,footerRect:t,mode:r=te.readonly,caption:n,isCaptionVisible:o,source:a,isSourceVisible:i,captionStyle:c,sourceStyle:l,brandMark:d})=>{const{Caption:h}=or(),f=ce[Qt(r)].inlineTextEditing?h:null,m=o&&(f!==null||n!==null),v=i&&a!==null&&Wu(a),p=d!=="hidden";return!m&&!v&&!p?null:(0,s.jsxs)("div",{ref:e,className:Tu,style:{left:t.x,top:t.y,width:t.width},children:[m?f?(0,s.jsx)(f,{caption:n,captionStyle:c}):(0,s.jsx)(Hu,{caption:n,captionStyle:c}):null,(v||p)&&(0,s.jsxs)("div",{className:"xfz7dq1",children:[v&&(0,s.jsx)(Du,{source:a,sourceStyle:l}),d!=="hidden"?(0,s.jsx)(nr,{visual:d,placement:"footer"}):null]})]})},Hu=({caption:e,captionStyle:t})=>e===null?null:typeof e=="string"?(0,s.jsx)("p",{className:Fr,style:se(t),children:e}):(0,s.jsx)("div",{className:Fr,style:se(t),children:(0,s.jsx)(ke,{content:e})}),Du=({source:e,sourceStyle:t})=>{const r=(0,u.isSafeUrl)(e.url)?e.url:void 0,n=e.label??(r!==void 0?Gu(r):"");return n===""&&r===void 0?null:(0,s.jsxs)("span",{className:Ou,style:se(t.label),children:[(0,s.jsx)("span",{className:Nu,children:"Source:"}),r!==void 0?(0,s.jsx)("a",{className:Lu,href:r,target:"_blank",rel:"noopener noreferrer",style:se(t.link),children:n}):(0,s.jsx)("span",{className:Fu,children:n})]})},Gu=e=>{try{return new URL(e).hostname}catch{return e}},Wu=e=>e.label!==void 0&&e.label!==""||e.url!==void 0&&e.url!==""&&(0,u.isSafeUrl)(e.url),Vu="_1k4qtbg0";var Uu=22,Co=({ref:e,headerRect:t,mode:r=te.readonly,title:n,isTitleVisible:o,subtitle:a,isSubtitleVisible:i,headingStyle:c,subtitleStyle:l,brandMark:d})=>{const{Title:h}=or(),f=ce[Qt(r)].inlineTextEditing?h:null,m=f!==null,v=o&&(m||n!==null),p=i&&(m||a!==null),A=d!=="hidden";return!v&&!p&&!A?null:(0,s.jsxs)("div",{ref:e,className:(0,D.default)(Vu,A&&"_1k4qtbg1"),style:{left:t.x,top:t.y,width:t.width,...A&&!v&&!p?{minHeight:Uu}:{}},children:[f?(0,s.jsx)(f,{title:n,isTitleVisible:o,isSubtitleVisible:i,subtitle:a,headingStyle:c,subtitleStyle:l},[o?"title":"",i?"subtitle":""].join("-")):(0,s.jsx)(Ku,{title:n,isTitleVisible:o,isSubtitleVisible:i,subtitle:a,headingStyle:c,subtitleStyle:l}),d!=="hidden"?(0,s.jsx)(nr,{visual:d,placement:"header"}):null]})},Ku=({title:e,isTitleVisible:t,isSubtitleVisible:r,subtitle:n,headingStyle:o,subtitleStyle:a})=>{const i=t&&e!==null,c=r&&n!==null;return(0,s.jsxs)(s.Fragment,{children:[i&&(typeof e=="string"?(0,s.jsx)("h1",{className:"_4dlrid0",style:se(o),children:e}):(0,s.jsx)("div",{className:"_4dlrid0",style:se(o),children:(0,s.jsx)(ke,{content:e})})),c&&(typeof n=="string"?(0,s.jsx)("p",{className:"_4dlrid0",style:se(a),children:n}):(0,s.jsx)("div",{className:"_4dlrid0",style:se(a),children:(0,s.jsx)(ke,{content:n})}))]})},Yu="_1u9qprb0",zu="_1u9qprb1",Qu=Oa({group:()=>Ju,item:()=>Mo,trend:()=>qu,value:()=>Xu}),Xu="_9aen060",qu="_9aen061",Ju="_9aen062",Mo="_9aen063",Zu={xxs:8,xs:12,sm:16,md:20,lg:24,xl:36},_u={primary:"asohov1 asohov0",secondary:"asohov2 asohov0"},ar=({children:e,title:t,variant:r="primary",size:n="sm",...o})=>{const a=(0,g.useId)(),i=Zu[n];return(0,s.jsxs)("svg",{className:_u[r],"aria-labelledby":t?a:void 0,height:i,width:i,fill:"none",viewBox:"0 0 24 24",role:"img",...o,children:[t&&(0,s.jsx)("title",{id:a,children:t}),e]})},$u=e=>(0,s.jsx)(ar,{...e,children:(0,s.jsxs)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("path",{d:"m5 12 7-7 7 7"}),(0,s.jsx)("path",{d:"M12 19V5"})]})}),Bo=e=>(0,s.jsx)(ar,{...e,children:(0,s.jsx)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("path",{d:"M5 12h14"})})}),ed="n7clvo0",td="n7clvo1",rd="n7clvo2",nd="n7clvo3";var od=({segment:e,itemStyle:t})=>{if(e.kind==="swatch")return(0,s.jsx)(ad,{swatch:e.swatch,size:e.size});if(e.kind==="trendArrow"){const o=Io(t,e.direction);return(0,s.jsx)("div",{className:(0,D.clsx)(nd,e.direction==="down"&&"n7clvo4"),style:{color:o,backgroundColor:e.direction==="flat"?G(x.vars.textPrimary,.1):G(o,.2)},children:e.direction==="flat"?(0,s.jsx)(Bo,{size:"xs",title:""}):(0,s.jsx)($u,{size:"xs",title:""})})}const{className:r,style:n}=sd(e,t);return(0,s.jsx)("span",{className:r,style:n,children:e.text})},ad=({swatch:e,size:t})=>{const r=re(),n=at(e.layerId,e.value,t);return(0,s.jsx)(We,{shape:r(e.geom,"cartesian")?.swatchShape??"square",color:e.color,surface:"headline",width:t,height:t,alpha:n.alpha,cornerRadius:n.cornerRadius})},sd=(e,t)=>{switch(e.textRole){case"value":return{style:Se(t.number)};case"caption":return{className:ed,style:Se(t.caption)};case"label":return{className:rd,style:Se(t.label)};case"trendPercentage":return{style:Se({...t.trend,textColor:Io(t,e.trendDirection??"up")})};case"trendReference":return{className:td,style:Se({...t.trend,textColor:void 0})};default:return e.textRole}},Io=(e,t)=>{switch(t){case"up":return e.trendUp.textColor;case"down":return e.trendDown.textColor;case"flat":return e.trendFlat.textColor;default:return t}},id=({item:e,itemStyle:t})=>(0,s.jsx)("div",{className:Mo,children:(0,u.buildHeadlineItemRows)(e,t.swatch.size).map(r=>(0,s.jsx)(ld,{row:r,itemStyle:t},r.role))}),ld=({row:e,itemStyle:t})=>{const r=e.role==="trend";return(0,s.jsx)("div",{className:Qu[e.role],"data-testid":r?"headline-trend":void 0,"data-direction":r?cd(e):void 0,role:r?"img":void 0,"aria-label":r?e.ariaLabel:void 0,children:e.segments.map((n,o)=>(0,s.jsx)(od,{segment:n,itemStyle:t},o))})},cd=e=>{const t=e.segments.find(r=>r.kind==="trendArrow");return t?.kind==="trendArrow"?t.direction:void 0},ud=({headline:e,rect:t,resolvedSize:r,visibleItemCount:n,isInDonutHole:o=!1})=>{const a=M(),i=R(er,a),c=R(u.resolveHeadlineItemStyle,a,r),l={left:t.x,top:t.y,width:t.width,height:t.height};if(e.kind==="grandTotal"){const d=(0,u.resolveHeadlineNumberStyle)(c,o);return(0,s.jsx)("div",{className:zu,style:l,children:(0,s.jsx)("span",{style:Se(d),children:e.value})})}return(0,s.jsx)("div",{className:Yu,style:{...l,gap:i.gap},children:e.items.slice(0,n).map((d,h)=>(0,s.jsx)(id,{item:d,itemStyle:c},`${d.label}-${h}`))})},To="data-legend-index",Oo="data-legend-item-index",Lo=({legendIndex:e,itemIndex:t})=>({[To]:String(e),[Oo]:String(t)}),No=e=>{const t=Bt(e,To),r=Bt(e,Oo);return t===null||r===null?null:{legendIndex:t,itemIndex:r}},Bt=(e,t)=>{const r=e.getAttribute(t);if(r===null||!/^(0|[1-9]\d*)$/.test(r))return null;const n=Number(r);return Number.isSafeInteger(n)?n:null},ge="data-edit-kind",Fo="data-edit-id",Fe="data-edit-axis",Ho="data-edit-tick-index",Do="data-legend-overflow-control",dd=`[${Do}]`,hd="observations",gd=`[${ge}]`,Ve=e=>({[ge]:e.kind,[Fo]:e.id}),ut=(e,t)=>({[ge]:"axis",[Fe]:e,...t===void 0?{}:{[Ho]:String(t)}}),dt=e=>({[ge]:"legend",...Lo(e)}),sr=e=>({[ge]:"grid",[Fe]:e}),fd=(e,t)=>{for(const r of e){const n=r.closest(gd);if(n===null||!t.contains(n))continue;const o=md(n);if(o!==null)return o;if(n!==r)return null}return null},vd=()=>({[ge]:hd}),md=e=>{const t=e.getAttribute(ge);switch(t){case"annotation":{const r=e.getAttribute(Fo);return r===null||r===""?null:{kind:t,target:{kind:t,id:r}}}case"axis":{const r=e.getAttribute(Fe);if(!(0,u.isPositionScale)(r))return null;if(!e.hasAttribute("data-edit-tick-index"))return{kind:t,target:{kind:t,axis:r},part:null};const n=Bt(e,Ho);return n===null?null:{kind:t,target:{kind:t,axis:r},part:{tickIndex:n}}}case"legend":{const r=No(e);return r===null?null:{kind:t,target:{kind:t},part:r}}case"grid":{const r=e.getAttribute(Fe);return(0,u.isPositionScale)(r)?{kind:t,target:{kind:t,axis:(0,u.getAestheticFromScaleAestheticKey)(r)}}:null}default:return null}},Go=(0,g.createContext)(te.readonly);function Ce(){return(0,g.useContext)(Go)}var ue=()=>ce[Ce()].guidePress,pd=(e,t)=>e.isTextColorAuthored?e.textColor:t??e.textColor,xd="_1oj6yix0";var yd="_1oj6yix2";var Ad=8,bd=16,Sd=2,jd=({indexedLegends:e,containerRect:t})=>{const r=R(u.resolveDirectLabelStyle,M()),n=(0,u.computeLineBoxHeight)(r),{placements:o,hasOverlap:a}=wd(e,t,n),i=ue(),c=kd(r);if(o.length===0)return null;const l=a?bd:Ad,d=l-Sd,h=(0,u.toStrokeDasharray)(r.dashArray,r.strokeWidth);return(0,s.jsxs)("div",{className:xd,children:[a&&(0,s.jsx)("svg",{className:"_1oj6yix1",width:t.width,height:t.height,children:o.map(f=>(0,s.jsx)(Pd,{anchorY:f.anchorY,labelY:f.y,endX:d,color:f.payload.color,strokeWidth:r.strokeWidth,dashArray:h},f.payload.key))}),o.map(f=>(0,s.jsx)("span",{className:(0,D.clsx)(yd,i&&"_1oj6yix3"),style:{...c,left:l,top:f.y,color:pd(r,f.payload.color)},...i?dt(f.payload.address):Lo(f.payload.address),children:f.payload.label},f.payload.key))]})},wd=(e,t,r)=>(0,g.useMemo)(()=>{const n=[];for(const{legend:o,legendIndex:a}of e)o.items.forEach((i,c)=>{if(i.normalizedY===null)return;const l=typeof i.visual.color=="string"?i.visual.color:void 0;n.push({normalizedY:i.normalizedY,payload:{key:String(n.length),label:i.formattedLabel,color:l,address:{legendIndex:a,itemIndex:c}}})});return n.length===0||t.height<=0?{placements:[],hasOverlap:!1}:(0,u.computeDirectLabelsLayout)({items:n,containerHeight:t.height,labelHeight:r})},[e,t.height,r]),Pd=({anchorY:e,labelY:t,endX:r,color:n,strokeWidth:o,dashArray:a})=>{const i=r/2;return(0,s.jsx)("path",{d:`M0,${e} C${i},${e} ${i},${t} ${r},${t}`,fill:"none",stroke:n??"currentColor",strokeWidth:o,strokeDasharray:a})},kd=e=>({...pe(e),lineHeight:e.lineHeight}),Ed="_6a636s0",Wo=e=>({background:e.fill,borderRadius:e.cornerRadius,...Yo(e.strokeWidth,e.stroke)}),Vo=e=>({...Ko(e),...Wo(e),paddingInline:e.paddingInline,paddingBlock:e.paddingBlock}),Uo=e=>e.fill!==void 0||e.strokeWidth>0,Rd=(e,t)=>({background:e.fill,borderRadius:e.cornerRadius,paddingInline:e.paddingInline,paddingBlock:e.paddingBlock,boxShadow:qt(e.shadow),...Yo(e.strokeWidth,e.stroke),...Ko(t)}),Ko=e=>({...pe(e),color:e.textColor,lineHeight:e.lineHeight}),Yo=(e,t)=>e>0&&t!==void 0?{border:`${e}px solid ${t}`}:{},Cd="_1kjk02r0",Md={1:"_1kjk02r1",2:"_1kjk02r2"},Bd={1:"_1kjk02r3",2:"_1kjk02r4"};var Id={1:"_1kjk02r6",2:"_1kjk02r7"},Td={1:"_1kjk02r8",2:"_1kjk02r9"},Od="_1kjk02ra",Ld="_1kjk02rb";var Nd="_1dw9dgx0",yt="\0",Fd=(e,t)=>{const r=[];for(const{legend:n,legendIndex:o}of e){const a=n.aesthetics.includes("size");n.items.forEach((i,c)=>{if(a){const f=Number(i.visual.size);if(!Number.isFinite(f)||f<=0)return}const l=i.visual.color??"",d=a?`${yt}${Number(i.visual.size)}`:"",h=i.visual.lineType;r.push({key:`${o}${yt}${String(i.value)}${yt}${l}${d}`,address:{legendIndex:o,itemIndex:c},formattedLabel:i.formattedLabel,visual:i.visual,swatchShape:t(i.geom),isBubble:a,primaryLineType:h,layerId:i.layerId,groupValue:i.value})})}return r},zo=({pill:e})=>e.isBubble?(0,s.jsx)(Gd,{pill:e}):(0,s.jsx)(Dd,{pill:e}),Hd=({color:e,lineType:t,shape:r,label:n,layerId:o,groupValue:a})=>{const{swatch:i}=R(u.resolveLegendItemStyle,M()),c=at(o,a,i.size);return e?(0,s.jsx)(We,{shape:r,color:e,surface:"legend",label:n,lineType:t,width:i.size,height:i.size,strokeWidth:i.strokeWidth,alpha:c.alpha,cornerRadius:c.cornerRadius}):null},Dd=({pill:e})=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Hd,{color:e.visual.color,lineType:e.primaryLineType,shape:e.swatchShape,label:e.formattedLabel,layerId:e.layerId,groupValue:e.groupValue}),(0,s.jsx)("span",{children:e.formattedLabel})]}),Gd=({pill:e})=>{const t=Number(e.visual.size),r=at(e.layerId,e.groupValue,t);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:Nd,style:{width:t,height:t,backgroundColor:e.visual.color,opacity:r.alpha}}),(0,s.jsx)("span",{children:e.formattedLabel})]})},Hr={[Do]:""},Wd=({hiddenPills:e,placement:t})=>{const r=Xt(),[n,o]=(0,g.useState)(!1),a=M(),i=R(u.resolveLegendItemStyle,a),c=R(go,a),l=ue(),d=Vo(i.item),h=Vd(e.length,i.item),f=h===null?void 0:Wo(i.item),{refs:m,floatingStyles:v}=(0,z.useFloating)({open:n,placement:t,middleware:[(0,z.offset)(4),(0,z.flip)(),(0,z.shift)({padding:8})]});(0,g.useEffect)(()=>{if(!n)return;const y=b=>{const w=b.target;if(!w)return;const j=m.reference.current,k=m.floating.current;j instanceof Element&&j.contains(w)||k instanceof Element&&k.contains(w)||o(!1)},S=b=>{b.key==="Escape"&&o(!1)};return document.addEventListener("pointerdown",y),document.addEventListener("keydown",S),()=>{document.removeEventListener("pointerdown",y),document.removeEventListener("keydown",S)}},[n,m.floating,m.reference]);const p=t==="left"||t==="right",A=h===null?[]:Array.from({length:h},(y,S)=>h-S);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{ref:m.setReference,className:(0,D.clsx)(Cd,h!==null&&p&&Bd[h],h!==null&&!p&&Md[h]),...Hr,children:[h!==null&&A.map(y=>(0,s.jsx)("span",{className:(0,D.clsx)("_1kjk02r5",p?Td[h]:Id[h]),style:{...f,...Ud(y,p)},"aria-hidden":!0},y)),(0,s.jsx)("button",{type:"button",className:Od,style:d,onClick:()=>o(y=>!y),"aria-haspopup":"dialog","aria-expanded":n,"aria-label":`Show ${e.length} hidden legend ${e.length===1?"item":"items"}`,children:(0,s.jsxs)("span",{className:Ld,children:["+",e.length]})})]}),n&&(0,s.jsx)("div",{ref:m.setFloating,role:"dialog","aria-label":r("graph.legend.hiddenItems"),className:"_1kjk02rc",style:{...v,...Rd(c.popover,i.item)},...Hr,children:(0,s.jsx)("ul",{className:"_1kjk02rd",children:e.map(y=>(0,s.jsx)("li",{className:(0,D.clsx)("_1kjk02re",l&&"_1kjk02rf"),...l?dt(y.address):void 0,children:(0,s.jsx)(zo,{pill:y})},y.key))})})]})},Vd=(e,t)=>{if(!Uo(t))return null;const r=Math.min(e-1,2);return r===1?1:r===2?2:null},Ud=(e,t)=>{const r=-e*4;return{transform:t?`translateY(${r}px)`:`translateX(${r}px)`}},Kd="_1cecisi0",Yd="_1cecisi1",zd="_1cecisi2",Qd={start:"_1cecisi3",center:"_1cecisi4",end:"_1cecisi5"},Xd={right:"_1cecisi6",left:"_1cecisi7"},qd="_1cecisi8";var Jd=({edge:e,indexedLegends:t,containerWidth:r,containerHeight:n})=>{const o=le(),a=ye(),i=M(),c=R(go,i),l=R(u.resolveLegendItemStyle,i),d=re(),h=O(k=>k.coordSystem.type),f=ue(),m=(0,g.useMemo)(()=>Fd(t,k=>d(k,h)?.swatchShape??"square"),[t,d,h]),v=e==="left"||e==="right",p=v?n:r,A=t[0]?.legend.align??"start",y=(0,g.useMemo)(()=>{if(m.length===0)return{visibleCount:0,hasOverflow:!1};if(p<=0)return{visibleCount:m.length,hasOverflow:!1};const k=(0,u.toFontSpec)(l.item,a.fonts.familyDefault),B=(0,u.computeLineBoxHeight)(l.item),C=2*(l.item.paddingInline+l.item.strokeWidth),P=2*(l.item.paddingBlock+l.item.strokeWidth),I=W=>v?Zd(W,B,l.swatch.size,P):Dr({label:W.formattedLabel,swatchInlineSize:_d(W,l.swatch.size),textMeasurer:o,font:k,swatchGap:a.legendSwatchGap,horizontalChrome:C}),L=m.map(I),Z=(v?B+P:Dr({label:`+${m.length}`,swatchInlineSize:0,textMeasurer:o,font:k,swatchGap:a.legendSwatchGap,horizontalChrome:C}))+(Uo(l.item)?8:0);return eh({pillSizes:L,overflowPillSize:Z,containerSize:p,gap:c.gap})},[m,p,v,o,a,c,l]);if(m.length===0)return null;const S=m.slice(0,y.visibleCount),b=m.slice(y.visibleCount),w=y.hasOverflow&&b.length>0,j=Vo(l.item);return(0,s.jsxs)("div",{className:(0,D.clsx)(Qd[A],Kd,{[zd]:v,[Yd]:!v,[Xd[e==="left"?"left":"right"]]:v}),style:{gap:c.gap},children:[S.map(k=>(0,s.jsx)("div",{className:(0,D.clsx)(qd,f&&"_1cecisi9"),style:j,...f?dt(k.address):void 0,children:(0,s.jsx)(zo,{pill:k})},k.key)),w&&(0,s.jsx)(Wd,{hiddenPills:b,placement:th(e)})]})},Dr=({label:e,swatchInlineSize:t,textMeasurer:r,font:n,swatchGap:o,horizontalChrome:a})=>{const i=r.measureText(e,n).width;return t+(t>0?o:0)+i+a},Zd=(e,t,r,n)=>{const o=$d(e,r);return Math.max(t,o)+n},_d=(e,t)=>rt(e.visual,t,e.isBubble),$d=(e,t)=>e.isBubble?rt(e.visual,t,!0):t,eh=({pillSizes:e,overflowPillSize:t,containerSize:r,gap:n})=>{if(e.length===0)return{visibleCount:0,hasOverflow:!1};let o=0;for(let c=0;c<e.length;c+=1)c>0&&(o+=n),o+=e[c]??0;if(o<=r)return{visibleCount:e.length,hasOverflow:!1};let a=0,i=0;for(const c of e){const l=a+(i>0?n:0)+c;if(l+n+t>r)break;a=l,i+=1}return{visibleCount:i,hasOverflow:!0}},th=e=>{switch(e){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}},rh=(0,g.memo)(function({formattedLegends:t,rects:r}){const n=(0,g.useMemo)(()=>{const o=new Map;return t.forEach((a,i)=>{let c=o.get(a.position);c||(c={pill:[],direct:[]},o.set(a.position,c));const l={legend:a,legendIndex:i};a.display==="pill"?c.pill.push(l):c.direct.push(l)}),o},[t]);return(0,s.jsx)(s.Fragment,{children:Array.from(n,([o,a])=>{const i=r[o];return i===void 0?null:(0,s.jsxs)("div",{className:Ed,style:{left:i.x,top:i.y,width:i.width,height:i.height},children:[(0,s.jsx)(Jd,{edge:o,indexedLegends:a.pill,containerWidth:i.width,containerHeight:i.height}),(0,s.jsx)(jd,{indexedLegends:a.direct,containerRect:i})]},o)})})}),Qo=(e,t,r)=>{if(e.type==="cartesian")return(0,u.getHoverGuideLineProps)(e,t);const n=De(r),o=V(t.x,e.innerRadius,n),a=V(t.x,1,n);return{x1:o.x,y1:o.y,x2:a.x,y2:a.y}},nh=({layers:e,primaryLayerId:t,coordSystem:r,resolveRenderer:n})=>{const o=e.find(i=>i.id===t);if(!o)return null;const a=n(o.geom,r.type);return a?a.guideMode??null:null},oh=({panelRect:e})=>{const{coordSystem:t,layers:r,scales:n}=O((0,U.useShallow)(l=>({coordSystem:l.coordSystem,layers:l.layers,scales:l.scales}))),o=we(l=>l.hover.primary),a=re(),i=R(lh,M());if(!ce[Ce()].hoverPaint||r.length===0||o===null||!o.anchored)return null;const c=nh({layers:r,primaryLayerId:o.layerId,coordSystem:t,resolveRenderer:a});return c===null?null:c==="crosshair"?(0,s.jsx)(ah,{coordSystem:t,primary:o,panelRect:e,guide:i}):t.type==="polar"?(0,s.jsx)(ih,{coordSystem:t,primary:o,panelRect:e,guide:i}):(0,s.jsx)(sh,{coordSystem:t,scales:n,primary:o,panelRect:e,guide:i})},ah=({coordSystem:e,primary:t,panelRect:r,guide:n})=>{const o=Qo(e,t,r);return(0,s.jsx)(ir,{panelRect:r,children:(0,s.jsx)("line",{...o,stroke:n.stroke,strokeWidth:1,strokeDasharray:"4 3",strokeLinecap:"round","data-testid":"hover-guide-line"})})},sh=({coordSystem:e,scales:t,primary:r,panelRect:n,guide:o})=>{const a=(0,u.getHoverGuideRectProps)(e,t,r);return a===null?null:(0,s.jsx)(ir,{panelRect:n,children:(0,s.jsx)("rect",{...a,fill:o.fill,"data-testid":"hover-guide-rect"})})},ih=({coordSystem:e,primary:t,panelRect:r,guide:n})=>{const o=(0,u.getPolarHoverGuideArcProps)(e,t);if(o===null)return null;const a=(0,u.buildPolarBarArcPath)(o);return a?(0,s.jsx)(ir,{panelRect:r,children:(0,s.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%",style:{overflow:"visible"},children:(0,s.jsx)("path",{d:a,fill:n.fill,"data-testid":"hover-guide-arc"})})}):null},ir=({panelRect:e,children:t})=>(0,s.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,style:{overflow:"visible",pointerEvents:"none"},"data-testid":"hover-guide",children:t}),lh=e=>e.hoverGuide().resolve(),ch=(e,t,r)=>{for(const n of Object.values(_o)){const o=n(e,t,r);if(o!==null)return o}return null},uh=e=>_o[e]!==void 0,Xo=(e,t,r)=>Zo(e,r,t/2),qo=(e,t)=>{const r=(0,u.projectAnchorToPanel)(e.start,t),n=(0,u.projectAnchorToPanel)(e.end,t);return r.x===n.x&&r.y===n.y?null:{shape:"segment",start:r,end:n}},Jo=(e,{panel:t,measuredBoxes:r})=>{const n=r.get(e.id);if(n===void 0)return null;const o=(0,u.alignUnitFractions)(e.align),a=(0,u.projectAnchorToPanel)(e.at,t);return{shape:"rect",rect:{x:a.x-o.x*n.width,y:a.y-(1-o.y)*n.height,width:n.width,height:n.height}}},Qe=(e,t)=>(r,n,o)=>{const a=e(r).find(i=>i.id===n);return a===void 0?null:t(a,o)},Zo=(e,t,r=0)=>{const n=(0,u.projectRegionToPanel)(e,t);return{shape:"rect",rect:{x:n.x-r,y:n.y-r,width:n.width+r*2,height:n.height+r*2}}},_o={text:Qe(e=>e.textAnnotations,Jo),shape:Qe(e=>e.shapes,(e,t)=>Xo(e.region,t.readers.annotation.shape(e.id).get("strokeWidth"),t.panel)),image:Qe(e=>e.images,(e,t)=>Zo(e.region,t.panel)),arrow:Qe(e=>e.arrows,(e,t)=>qo(e,t.panel))},$o=(e,t)=>{const r=(0,u.findAnnotation)(e,t);return r!==null&&uh(r.kind)&&(0,u.isAnnotationMovable)(r)},dh=200,hh=({engine:e,store:t,overlayRef:r})=>{const{tolerance:n}=ce[Ce()],o=(0,xe.useStore)(t,a=>a.isQueryOwnedByEditor);(0,g.useEffect)(()=>{const a=r.current;if(!a)return;const i=gh(a,e),c=o?void 0:vh(a,e,t,n??void 0);return()=>{c?.(),i()}},[e,t,r,n,o])},gh=(e,t)=>{const r=()=>{const i=e.getBoundingClientRect();i.width===0||i.height===0||t.setViewport({width:i.width,height:i.height})};let n=null;const o=()=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,r()},dh)},a=new ResizeObserver(o);return a.observe(e),r(),()=>{a.disconnect(),n!==null&&clearTimeout(n)}},fh=(e,t)=>e.kind==="cursor"?null:{x:t.left+e.point.x,y:t.top+e.point.y,placement:e.placement,annotationId:e.annotationId},vh=(e,t,r,n)=>{let o=null,a=null;const i=()=>{const p=e.getBoundingClientRect();return p.width>0&&p.height>0?p:null},c=(p,A)=>({x:p.clientX-A.left,y:p.clientY-A.top}),l=()=>{a=null;const p=o;if(o=null,!p)return;const A=i();if(A===null)return;const y=c(p,A),S=r.getState();if(S.isPointerSuspended)return;const b=(0,u.findPointerRegion)(y,S.pointerRegions);if(b!==null){S.setHoverState(t.query(b.cursor,n)),S.setTooltipAnchor(fh(b.tooltip,A));return}const w=(0,u.toPanelCursor)(y,A);S.setHoverState(t.query(w,n)),S.setTooltipAnchor(null)},d=()=>{const p=r.getState();p.hover.primary===null&&p.tooltipAnchor===null||(p.setHoverState(u.RESTING_HOVER_STATE),p.setTooltipAnchor(null))},h=p=>{const A=r.getState();if(A.pointerRegions.length===0)return!1;const y=i();return y===null?!1:(0,u.findPointerRegion)(c(p,y),A.pointerRegions)!==null},f=p=>{r.getState().isPointerSuspended||h(p)||(document.removeEventListener("pointermove",f),d())},m=p=>{document.removeEventListener("pointermove",f),o=p,a===null&&(a=requestAnimationFrame(l))},v=p=>{if(o=null,a!==null&&(cancelAnimationFrame(a),a=null),!r.getState().isPointerSuspended){if(h(p)){document.addEventListener("pointermove",f);return}d()}};return e.addEventListener("pointermove",m),e.addEventListener("pointerleave",v),()=>{e.removeEventListener("pointermove",m),e.removeEventListener("pointerleave",v),document.removeEventListener("pointermove",f),a!==null&&cancelAnimationFrame(a),o=null}},mh=({panelRect:e})=>{const{engine:t,store:r,overlayRef:n}=he(),o=ie(tr),a=ie(cu),i=ie(l=>l.caret!==null);hh({engine:t,store:r,overlayRef:n});const c=O(l=>o!==null&&$o(l.spec.annotations,o));return(0,s.jsx)("rect",{ref:n,x:e.x,y:e.y,width:e.width,height:e.height,fill:"transparent",pointerEvents:i?"none":"all",cursor:ph(c,a),"data-testid":"pointer-capture-layer"})},ph=(e,t)=>e?"move":t?"pointer":void 0,At="data-hover-active",xh=e=>{const{store:t}=he(),r=ce[Ce()].hoverPaint,n=(0,xe.useStore)(t,a=>a.hover.primary!==null),o=r&&n;(0,g.useEffect)(()=>{const a=e.current;if(a)return o?a.setAttribute(At,"true"):a.removeAttribute(At),()=>{a.removeAttribute(At)}},[e,o])},ht=()=>ie(e=>Pe(e,"move-drag")?.annotationId??Pe(e,"shape-resize-drag")?.annotationId??Pe(e,"arrow-endpoint-drag")?.annotationId??null),Me=e=>{const t=O(i=>i.annotations),r=bo(),n=Qc(),o=(0,g.useCallback)(i=>Gr(n,"cycle",i,`Annotation reference cycle detected; dropping annotation(s): ${i.join(", ")}`),[n]),a=(0,g.useCallback)(i=>Gr(n,"missing-ref",i,`Annotation reference target(s) no longer exist (dropped during compilation); dropping annotations referencing: ${i.join(", ")}`),[n]);return(0,g.useMemo)(()=>(0,u.resolveDeferredAnchors)({annotations:t,panelRect:e,measuredBoxes:r,onCycle:o,onMissingRef:a}),[t,e,r,o,a])},Gr=(e,t,r,n)=>{const o=[t,...[...r].sort()].join("\0");e.has(o)||(e.add(o),console.warn(n))},yh=16,ea=({linePath:e,strokeWidth:t})=>(0,s.jsx)("path",{d:e,stroke:"transparent",strokeWidth:Math.max(t,yh),fill:"none",pointerEvents:"stroke"}),Ah=1.4,bh={light:{primary:"#1D2129",inverse:"#FFFFFF"},dark:{primary:"#FFFFFF",inverse:"#1D2129"}},ta=({computed:e,style:t,isAddressable:r})=>{const n=(0,g.useId)(),{colorScheme:o}=lt(),a=e.dashArray?{strokeDasharray:e.dashArray,strokeDashoffset:e.dashOffset}:{},i=t.outline.shadow==="none"?null:t.outline.shadow,c=t.outline.strokeWidth>0,l=bh[o],d=t.outline.stroke??wh(t.stroke,l.primary,l.inverse),h=i===null?null:jh(e,t.outline.strokeWidth,i.blur);return(0,s.jsxs)("g",{pointerEvents:r?void 0:"none",children:[r&&(0,s.jsx)(ea,{linePath:e.linePath,strokeWidth:e.strokeWidth}),i!==null&&h!==null&&(0,s.jsx)("defs",{children:(0,s.jsx)("filter",{id:n,filterUnits:"userSpaceOnUse",...h,children:(0,s.jsx)("feDropShadow",{dx:i.offsetX,dy:i.offsetY,stdDeviation:i.blur,floodColor:i.color})})}),(0,s.jsxs)("g",{filter:i===null?void 0:`url(#${n})`,children:[c&&(0,s.jsx)("path",{d:Sh(e),stroke:d,strokeWidth:e.strokeWidth+2*t.outline.strokeWidth,strokeLinecap:"round",fill:"none"}),(0,s.jsx)("path",{d:e.linePath,stroke:t.stroke,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none",...a}),e.startArrowheadPath.length>0&&(0,s.jsx)("path",{d:e.startArrowheadPath,stroke:t.stroke,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none"}),e.endArrowheadPath.length>0&&(0,s.jsx)("path",{d:e.endArrowheadPath,stroke:t.stroke,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none"})]})]})},Sh=e=>[e.linePath,e.startArrowheadPath,e.endArrowheadPath].filter(t=>t.length>0).join(" "),jh=(e,t,r)=>{const n=e.arrowheadExtent+e.strokeWidth+t+r;return{x:Math.min(e.startX,e.endX)-n,y:Math.min(e.startY,e.endY)-n,width:Math.abs(e.endX-e.startX)+2*n,height:Math.abs(e.endY-e.startY)+2*n}},wh=(e,t,r)=>{try{return(0,Ha.getContrast)(e,t)<Ah?r:t}catch{return r}},Ph=({panelRect:e,isEditable:t})=>{const{arrows:r}=Me(e),n=ht(),o=M(),a=(0,g.useMemo)(()=>r.filter(i=>i.id!==n).flatMap(i=>{const c=(0,u.resolveArrowAnnotationStyle)(o,i.id),l=(0,u.computeArrow)({arrow:i,style:c,panelWidth:e.width,panelHeight:e.height});return l===null?[]:[{computed:l,style:c}]}),[r,n,e.width,e.height,o]);return a.length===0?null:(0,s.jsx)("g",{transform:`translate(${e.x}, ${e.y})`,"data-testid":"arrows",children:a.map(({computed:i,style:c})=>(0,s.jsx)("g",{...Ve({kind:"annotation",id:i.id}),children:(0,s.jsx)(ta,{computed:i,style:c,isAddressable:t})},i.id))})},ra=()=>{const{selectionStore:e}=H();return(0,xe.useStore)(e,t=>t.selection)},kh=({linePath:e,arrowheadPath:t,stroke:r,strokeWidth:n,isAddressable:o})=>{const a={stroke:r,strokeWidth:n,strokeLinecap:"round",fill:"none"};return(0,s.jsxs)("g",{pointerEvents:o?void 0:"none",children:[o&&(0,s.jsx)(ea,{linePath:e,strokeWidth:n}),(0,s.jsx)("path",{d:e,...a}),(0,s.jsx)("path",{d:t,...a,strokeLinejoin:"round"})]})},Eh=({x:e,y:t,text:r,box:n,label:o,arrowColor:a,isAddressable:i})=>{const{fonts:c}=ye();return(0,s.jsxs)("g",{pointerEvents:i?void 0:"none",children:[(0,s.jsx)("rect",{x:n.x,y:n.y,width:n.width,height:n.height,rx:o.cornerRadius,fill:o.fill,stroke:o.stroke??a,strokeWidth:o.strokeWidth}),(0,s.jsx)("text",{x:e,y:t,dominantBaseline:"central",textAnchor:"middle",fill:o.textColor,style:{fontFamily:o.fontFamily??c.familyDefault,fontSize:o.fontSize,fontWeight:o.fontWeight},children:r})]})},Rh="_1i8rg6j0",Ch="75%",Mh=({panelRect:e,isEditable:t})=>{const r=Po(),n=ie(tr),o=ra(),a=(0,g.useMemo)(()=>new Set(o.filter(i=>i.kind==="annotation").map(i=>i.id)),[o]);return r.length===0?null:(0,s.jsx)("g",{transform:`translate(${e.x}, ${e.y})`,"data-testid":"difference-arrows",children:r.map(({color:i,style:c,id:l,linePath:d,arrowheadPath:h,labelPosition:f,labelBox:m,labelText:v,isDragged:p,hasComparableEndpoints:A})=>{const y=n===l||a.has(l),S=p&&!A,b=S?x.vars.alert:i,w=y&&!S?Bh(b):b;return(0,s.jsxs)("g",{className:n===l?Rh:void 0,"data-warning":S||void 0,...Ve({kind:"annotation",id:l}),children:[(0,s.jsx)(kh,{linePath:d,arrowheadPath:h,stroke:w,strokeWidth:c.strokeWidth,isAddressable:t}),(0,s.jsx)(Eh,{x:f.x,y:f.y,text:v,box:m,label:c.label,arrowColor:w,isAddressable:t})]},l)})})},Bh=e=>`color-mix(in srgb, ${e} ${Ch}, ${x.vars.textPrimary})`,Ih={fill:"none",contain:"xMidYMid meet",cover:"xMidYMid slice"},na=({image:e,panel:t,style:r})=>{const n=(0,g.useId)(),{src:o,region:a,fit:i}=e,c=(0,u.projectRegionToPanel)(a,t),l=r.cornerRadius>0;return(0,s.jsxs)("g",{children:[l&&(0,s.jsx)("clipPath",{id:n,children:(0,s.jsx)("rect",{...c,rx:r.cornerRadius})}),(0,s.jsx)("image",{href:o,...c,preserveAspectRatio:Ih[i],opacity:r.alpha,clipPath:l?`url(#${n})`:void 0})]})},Wr=({panelRect:e,zOrder:t})=>{const r=Me(e).images,n=M(),o=ht(),a=r.filter(i=>i.zOrder===t&&i.id!==o);return a.length===0?null:(0,s.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible","data-testid":`image-annotations-${t}`,children:a.map(i=>(0,s.jsx)("g",{...Ve({kind:"annotation",id:i.id}),children:(0,s.jsx)(na,{image:i,panel:e,style:n.annotation.image(i.id).resolve()})},i.id))})},oa=({shape:e,style:t,panel:r})=>{const n=(0,u.projectRegionToPanel)(e.region,r);return(0,s.jsx)("rect",{x:n.x,y:n.y,width:n.width,height:n.height,fill:t.fill,fillOpacity:t.fillAlpha,opacity:t.alpha,stroke:(0,u.getShapeAnnotationStroke)(t)??"none",strokeWidth:t.strokeWidth})},Vr=({panelRect:e,zOrder:t})=>{const r=Me(e).shapes,n=M(),o=ht(),a=r.filter(i=>i.zOrder===t&&i.id!==o);return a.length===0?null:(0,s.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible","data-testid":`shapes-${t}`,children:a.map(i=>(0,s.jsx)("g",{...Ve({kind:"annotation",id:i.id}),children:(0,s.jsx)(oa,{shape:i,style:n.annotation.shape(i.id).resolve(),panel:e})},i.id))})},Th="_1aj6s5s0",Oh="_1aj6s5s1",Lh=.1,Nh=({annotation:e,panel:t,style:r,blockRef:n})=>(0,s.jsx)(aa,{annotation:e,panel:t,style:r,blockRef:n,children:(0,s.jsx)(ke,{content:e.content})}),aa=({annotation:e,panel:t,style:r,blockRef:n,children:o})=>{const a=(0,u.projectAnchorToPanel)(e.at,t);return(0,s.jsx)("foreignObject",{x:a.x,y:a.y,width:(0,u.toPercent)(e.width),height:t.height,overflow:"visible",pointerEvents:"none",children:(0,s.jsx)("div",{ref:n,className:Th,style:{...Hh(r),transform:Fh(e.align)},children:o})})},Fh=e=>{const t=(0,u.alignUnitFractions)(e);return`translate(${-t.x*100}%, ${-(1-t.y)*100}%)`},Hh=e=>({color:e.textColor,...e.fontFamily===void 0?{}:{fontFamily:e.fontFamily},fontSize:e.fontSize,fontWeight:e.fontWeight,lineHeight:e.lineHeight,padding:`${e.paddingBlock}px ${e.paddingInline}px`,borderRadius:e.cornerRadius,opacity:e.alpha,...Dh(e)}),Dh=e=>{if(e.fill==="transparent")return{};const t=e.fillAlpha<1?G(e.fill,e.fillAlpha):e.fill;if(e.strokeWidth<=0)return{backgroundColor:t};const r=e.stroke??vn(e.fill,Lh);return{backgroundColor:t,boxShadow:`0 0 0 ${e.strokeWidth}px ${r}`}},Gh=e=>{const t=Me(e).textAnnotations,r=ie(n=>Pe(n,"text-resize-drag"));return(0,g.useMemo)(()=>t.map(n=>sa(n,r)),[t,r])},sa=(e,t)=>t===null||t.annotationId!==e.id?e:{...e,at:{...e.at,x:e.at.x+t.shift},width:t.width},Wh=({panelRect:e})=>{const t=Gh(e),r=M(),n=ht(),o=t.filter(a=>a.id!==n);return o.length===0?null:(0,s.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible","data-testid":"text-annotations",children:o.map(a=>(0,s.jsx)(Vh,{annotation:a,panel:e,style:r.annotation.text(a.id).resolve()},a.id))})},Vh=({annotation:e,panel:t,style:r})=>{const n=So(e.id),o=ie(i=>i.caret?.annotationId===e.id),{TextAnnotation:a}=or();return(0,s.jsx)("g",{...Ve({kind:"annotation",id:e.id}),children:(0,s.jsx)(aa,{annotation:e,panel:t,style:r,blockRef:n,children:o&&a?(0,s.jsx)(a,{annotation:e}):(0,s.jsx)(ke,{content:e.content})})})},Uh="ph8bdc0";var Kh="ph8bdc2",Ur={hittable:"ph8bdc4 ph8bdc3",inert:"ph8bdc5 ph8bdc3"},Yh=({cx:e,cy:t,color:r,style:n})=>{const o=Yl(n.shadow);return(0,s.jsx)("circle",{cx:e,cy:t,r:n.size/2,style:{fill:r,stroke:n.stroke,strokeWidth:n.strokeWidth,...o===void 0?{}:{filter:o}}})};function zh(e){const t=le(),{formattingLocale:r}=H(),n=M(),o=O((0,U.useShallow)(l=>({pinnedNumbers:l.annotations.pinnedNumbers,comments:l.annotations.comments,coordSystem:l.coordSystem,numberFormat:l.config.numberFormat,parsingLocale:l.config.parsingLocale}))),a=r??o.parsingLocale,i=(0,g.useMemo)(()=>(0,u.createPinnedNumberValueFormatter)({numberFormat:o.numberFormat,locale:a}),[o.numberFormat,a]),c=(0,g.useMemo)(()=>(l,d,h)=>{const f=(0,u.resolveCalloutAnnotationStyle)(n,l==="pinned-number"?"pinnedNumber":"comment",d).label,m={family:f.fontFamily??Ge,size:f.fontSize,weight:f.fontWeight},v=Qh(t,l,h,m),p=t.measureText(v,m),A=l==="pinned-number"?15:0;return{width:p.width+A+(f.paddingInline+f.strokeWidth)*2,height:Math.max(p.height,10)+(f.paddingBlock+f.strokeWidth)*2,text:v}},[t,n]);return(0,g.useMemo)(()=>(0,u.placeCallouts)({pinnedNumbers:o.pinnedNumbers,comments:o.comments,panelRect:e,coordSystem:o.coordSystem,measurer:c,formatPinnedNumber:l=>i(l.at)}),[o.pinnedNumbers,o.comments,e,o.coordSystem,c,i])}var Qh=(e,t,r,n)=>t!=="comment"?r:(0,u.truncateToWidth)(r,140,o=>e.measureText(o,n).width),Kr="callouts",Xh=({panelRect:e})=>{const{pinnedNumbers:t,comments:r}=O((0,U.useShallow)(v=>({pinnedNumbers:v.annotations.pinnedNumbers,comments:v.annotations.comments}))),n=O(v=>v.coordSystem),o=re(),a=Ga(10),i=M(),c=zh(e),{store:l}=he(),d=(0,g.useMemo)(()=>{const v=new Map;for(const p of t)v.set(p.id,p.at);for(const p of r)v.set(p.id,p.at);return v},[t,r]),h=(0,g.useMemo)(()=>{const v=new Map;for(const[p,A]of d)v.set(p,a(A));return v},[d,a]),f=(0,g.useMemo)(()=>{const v=new Map;for(const p of t)v.set(p.id,(0,u.resolveCalloutAnnotationStyle)(i,"pinnedNumber",p.id));for(const p of r)v.set(p.id,(0,u.resolveCalloutAnnotationStyle)(i,"comment",p.id));return v},[t,r,i]),m=(0,g.useMemo)(()=>(0,u.buildCalloutHitRegions)(c,e),[c,e]);return(0,g.useEffect)(()=>{const v=l.getState();return v.publishPointerRegions(Kr,m),()=>{v.publishPointerRegions(Kr,[])}},[l,m]),t.length===0&&r.length===0?null:(0,s.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible",className:Uh,"data-testid":"callouts",children:c.map(v=>{if(!v.inView)return null;const p=d.get(v.id),A=f.get(v.id);if(p===void 0||A===void 0)return null;const y=h.get(v.id),S=y?.color,b=v.miniRect.width<=e.width&&v.miniRect.height<=e.height;return(0,s.jsxs)("g",{"data-testid":v.kind,children:[(0,s.jsx)("foreignObject",{x:v.miniRect.x,y:v.miniRect.y,width:v.miniRect.width,height:v.miniRect.height,overflow:"visible",children:(0,s.jsxs)("div",{className:b?Ur.hittable:Ur.inert,style:Zh(A.label),children:[v.kind==="pinned-number"&&(0,s.jsx)("span",{className:"ph8bdc1",children:(0,s.jsx)(We,{shape:o(p.geom,n.type)?.swatchShape??"square",surface:"callout",color:S??"currentColor",width:10,height:10,alpha:y?.alpha,cornerRadius:y?.cornerRadius})}),(0,s.jsx)("span",{className:Kh,style:_h(A.label),children:v.text})]})}),(0,s.jsx)(Yh,{cx:v.anchorPx.x,cy:v.anchorPx.y,color:qh(A.marker,S),style:A.marker})]},v.id)})})},qh=(e,t)=>e.isFillAuthored?e.fill:t??e.fill,Jh=e=>e.isTextColorAuthored?e.textColor:(0,u.ensureReadableTextColor)(e.textColor,e.fill),Zh=e=>({background:e.fill,borderRadius:e.cornerRadius,padding:`${e.paddingBlock}px ${e.paddingInline}px`,boxShadow:qt(e.shadow),...e.strokeWidth>0?{border:`${e.strokeWidth}px solid ${e.stroke}`}:{}}),_h=e=>({...e.fontFamily===void 0?{}:{fontFamily:e.fontFamily},fontSize:e.fontSize,fontWeight:e.fontWeight,lineHeight:e.lineHeight,color:Jh(e)}),$h=(e,t)=>e*10*t,ia={"clapping-hands":{aspectRatio:1.059,src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABICAYAAABP0VPJAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABipSURBVHgB7VwJfFTVuf/uMvtMlplJJiEhBEhYwiIYNgExUBSQ6qMqblWrz5/WtfBa67NiH1iftbW1VqWghWqt+opFfajFBRcSUMImEBISspCFSTIh++zbXfqdO3cmswWSSPVHf/1+ub977znfPfec//m28507Afg3/ZvORsxwmEVRpJDo0tISCqA0XEzJBx06bwjXUXAB0lA7TZWUlDCtra3Mtm3vjCUF1113dbNWqxXItcfjod966718igpSubm5ow8fPnx8zZo1fQ0NMzlR/JuAIIrwL0LU6tWrmfz8fLXD4XgYJaRPlEkQhH6v1/s6lj9FrsU44nm+BevuAihWbNiwgYZ/ASLSw5aXfzU5EAjuFUdICNr/ElDgAlWhCBHJ2L//SFGy2R8uWa3ty9G2XNBSQhUVFSmJ2IvngdDGvEHaS/YeUZQkhykuLlaEeIoV5JpMCEiGWgKSHTg2yMb7GyTSmZqamksGG6DP1ZdQhqpha6jcd7Tp6MdOjuMc0XUEWDS2mriBEEPNfvrppxa32/2k3+9/H/kqgsHgHp/Pt7Gzs+cGi8Wis1qty8k9sVfk3N5+ZllBQYFKBugbAUaSjra2tgfiB+040yS+u75E/PDpVVGz77VJdZ1N4ubVIP5uFf2VyTR9bmVl7ZYwTyDAWdPT01Mh5JojYDQ1Nc07mxRinT1ZObFp9fVN8wCKlHh7XkGJ0Wu5cbasrOw/s7KynkzgxlpnVzO0V5eC390vFdXUnPqInJXaNOm+x6Mq3bz5l1Nxxh0cx7tIGc9zrq1bt45Hb0XUhkEJpJ9//vmCvLy8N2mazhu0czSdkqxcoWAXFhTkl7vdh9ZPmTJFcb5BCRNF9Fd2r4NSd9NRSRKO7/y9dB8Mcs5w3ev35Yunq75oH+xZVIe9xGtlZ2drUQXeEM8DtbdbV8AwA8whEYkV6uvr5w2lEyd3vyK+u6EkofyLV9ae81nitZqbrQ+i2FeK54F8vsAXJE6C80xUfn6J+mz6TCShru7U9vD9ob+tF9uqdsfwdKH0jIRaW23v79jxyUOv3DepbttP59qSGe1Df9sg2bBkZDQWpJxnt76Bbmqyrkj2stq925yDdSRZx4dLBw8ef0apnDxVr5889dlV1KE/3Z4WqXO7PR3kTN5P1JSoZLJ3fvZZ2RIiJecjIiauC4qL32e02nvHxleeqtp/7PPnb5xhyMiHq9fvBkNmfky9Spc2eMvOSoD+/aHrzKuR2ZKULT09RU3TgpvjKNHLsTWTikpmheu8Xr9Nq9VYjn/wnHQ///Znk75zyZJFn1VVVT2l1+s34G0QjxGvnSRE7fZMmuOEpOguvu8V6fze44vB2dmctBGRc4PQd1w6S0SAqP0ZwJl3Q0f1j3AF2Jj02YKCMfdZrfvXVVTs/J5l/MXi2NmrInUmU9oMcm4/UQqzVq+H6Lp40ul0P3O5XGvgaxpY6eGxY5fQZrMozJgx7a7oSmNmbpY5fwZMX7kWyLn58A4YNaUkpgHu1OvAHX8M+LZdwLWVhvIA3iqc3qYBJhEnrXcPQGox+sz0hE5oteqLTab0ZVo1exFpP1oKyCQ0lL8Jl6/dJt339PQdQ6nJSjYYhUIxZ8WKFTvs9q291dUjk5Kw/2b1+unGjo7y93U67ZyhPiy6G0GsfBBoNtQM5xXA7+SxsWxQarqBouLfogMofAoRGAdDJSIdRFWJ2sYTiXNYltFHl+EyYfPs2bPXVldXB2AEFFYTgWXpwAsv/OW/fT6/bTBmohJ8VzkIzlPSPeVtjIBB1JbV0KBJY4B32SBoFwZSRyCfeVSphkdQehphqEQkJhkYX/75v+DAm4+74ss1Gs3NPT3siFfXYX1Df64XKyqqPYGAv3zevIuXsixriGYUEYTAgftQLXYBb90JwbZ9wKhUQPnqZA4q9IctMgoaAi4eAcBrNS13TQydifr0o/qkJFefcxGJkD/45Qo4tW8bdJzcA5OX3R9QqnWRhSMmo9RFRYXbJkwY31VaWjpstYkypDM5ivI6n3vuj3UYPjniGQO1L4EQcIEokBCfqMspcB1/C3gvH8uIekJjmKQ2MtDf6QHOTerFREk5FZIU14nt2M6bIPqdA214jqOu/BnAFyusxJ4Q486z+vqqTsPDWw7nX2V38aXxfT106LAbXTCMhNiBy+38lCklvtLSdleylJ8oiBEwgFyTsSkoCHhEUNEC0CoqAgghGiXDNEYHLdXdkFtoAkUKEwuMgKDUPwjBJh8ONAjOmg/Asmoj0D70ULbfSe+ALlwmTXwW0c2WHlGisV399FFyWRic8PeeV+/88RmXy9MW3U+8P/DMM6/aYYQqE+NqUcRwOrmgx+M7Ec/IjLkFgg4e7Ygo9VUCBy8CPh68Dg4Ev4QGDIQAIoJCwZjJZqg63AzuTj/JfkTZFVE60sepQGdiwd/TCLa3H8AY4FO5Z8ikwnE1/irSh2jvs2rVFU+sW/djS0aGqSC6n42N1rdZVsfBCGOReJ9NGY0m5a23Xl9oNKZdFsOoR09H6dCbHgRaSUmCoDIw2ElWAimIqsOScpSacP5dsikog5ZR6XBsfyNoVRrQpCplYKgIjxYBCXpFcNu6QJfeA6wqap64TjzwmZSpsR1nGMP8+Rdfgy54crisoaFlU3HxNZudzm40to4gjIDigzGqt7cX8vJy7kjGrC66FlKv/CO6uwxQoQqoUhn0pBRoMllQIjgHy+rA54zqhxSUoE3RUjC7pBBOHG2GnuaQHYpIi6RGIpgmqEChY8Bvj7NJCpyzlj+g5BxN7LycHnC53PXbtr1396xZ1/5OodB5AFpHBIbUZnxBXd2hRRjg5MaXBxrfAefHt4CvchOoC5fhILMGBo2zrTDQMOuyCVBR3gSObnesESXqg/myBcsmQ0NtO3TXuSWpCj8rGWJ037lztODu4hJ7SUBpwPjF1wHJCPMj+rq65kaO87syM7tIuMzDCCkOkGLGYNCPiWfibF+C9/hm4D0dwPVVgL/uL+hWhYTGWA0FsxYVQs2RNgTFE5ICGLAbNNbPWVIAjc3t0FUbBYosJUQVzRPV4OuPGg8BTIMqE0AwatdhZxJCD1CpVNnr1t3/yo4df8hMTU0VRHHk20AxgBQVjaMwb8nGMwl+B4q5IBlRgScOQARPZysE3ZxsugYGzaAKzb6MgNIK9jOeWEkhwoCGds53CqDJaoOuGrfUZjSPQkcDjXaID8iAk8Gx2E01xlreBoATa5KCgjZl9JIlC//+i1/8wkRR14941RvzYHX1CXA6/QkxiGLUpSiEStn1yu4XD4ctiCFFUPbFEBkYUQ9iM2or2sDe4RloKOyZCShLC6C51QbdJz2xES0Q90oDFxClZUCEiJQoERQfRsnVazFCS1Qfko5cvnz5rtzccilVCV8XkOJijfjyy9v2Y6LIGV1OKfWgmXE/hg5eEDgBBNnlkk73WhEUu48kTmVuMRKczSopgNrjbdDfHgWKLE0U5s1nX1EArW1nwN2RaANVegY8PRy4e6JsilYxICmDgzKtrq7uGczMjygrH4OizTaRrqo6Jt599w1TdLoBd0aINU3AmbdA8PRBVBk+FK0KKNo8qk+/AGo6gKE8idvpGJc7aowJKg82g1apBo1BEYovwqAguzFbD7a2Pki3aGEgjgmNQ5PGgvtMUDK4EVdM1IfYFRLZ2o9hjmAJthm75YNOYfYPfnBr6/79vz7W3Dy8eCROrJpBrx+DSxS2Zf784mtpmsxjFCjmiaAavxS8Jz8F3u/BAdOgNysgJVsFPjuNEuQBhQrfr2DlMVEhUPIRlEMtCArGISlsTJzCKhkEQwdxbkkmETTprCQppJwNR8MEFHJ4uzGexxgyY0XCwFQq9aWTJl39/6NHj+oZzpomXs9ww0kDx44dDVx55VLGYjEviH+AVhlAM+m7qCZnsE9NkDZKKy3mlDhQLzq8tvo2SE/DGVMpIx6EYigExYgRK4LCqEGNkkINquEDEhI+kwCQLBYV2igNJ5LGYiPu9pCRTYvNWpBFXkaGMf+ee555q7e3QYAhUoI1LinJ5TGh7MnJyRgfX8c7O6B75xpof/UqcLeeAHdAdkiUKA3QMEoFlvzRUPFlM0CfPWqysR61ZRZ6l4b6dui3ekJrlQRpjgYjZnRSNJvAz5AwF4G3vQ3Q+VHCY+iOV+7Z86fFycY5GCUw7t69m7dYUoM6nT47vs5x5M/ga6sgG1rAY5Bkq2kHf1tHZHAUtqazKKHgognw4Y5q8Ld0yDZDHhcBZWkIFG9fSA3iRh53LwMQiSui6sNlRHU0CFbLxqTu2Gw2PzYcA5sACBVJcyVKGe9zhrwMGlIRD1O6CepqsRN9fSE/HF6bZCpg3pLp8NHOBnBWN8e4VWJTZqOk9PY5IXohmJySARR28dRAkZINrZ5bX0loAQ3sgp/85DEzZgOGBEgyTaZoWq+8++7bZuHCaWZ0BZuaB67qjzEvEgCyeyh5GoxPmq0dkGNG+6tVSRJBJEWtV4LFYoLdu05CjuAEVbaJ+MRQQ3hKMYb3vuPUhDpbv6OQjceQxwnpx1xu9uoErzNx4vjgsmVPlUKyWY6jpLrV3a3nq6rqdsWXKzMKwXjZWhCCPB6CJC00Gg8NZYGD+zEt4XBFFm1EPdJytFDy3WL44kgv+CvroloSYwcpJrMl8XxRRWKc4SVbuwwTum7fnvCIUqlemJ8PDAxBbQYxNl5u5crb9zoc7kPxNfopKyH3B69hiJ6JgIiS+tD4LhWXCQf3WnHp6Yv0nMKJSs3WwszFM+DzMgTsRC0kNZzUQF4WBluHRLRFBkAST0i0L2eSGVfFgp/+9OUMGCEg+IZqIT091f/22x8+yfOCM+EFmYWQe/OmEChBUQKGFhEWjxkqD7Ri0BSIWrtgPmS8AWYsnQ37Spswg9MS+ypIMqiY2Y++j+KlqOSCRKLXJKvijAw0eFByTm8zWDQgpqZS4s6dx+1Llsxx5eRkLUl4UG0Aw8TLwNl4GDNpvVI4T2Hk6umlob+/Gyxj0kJuUYpIKdCnq8GD6Dir6iF92riBAQ9qM6jkXjkZSOQaVRg4PgSYGdde6titG9xk/6im5oP65ubms9qRwRDDDeiCoF7vc11xxV1/LS8/uj4ZkyItG8bdsRkMExaFbAqqD4vGw96ogRP7WkKeR+4vUZ9JxbnAjJsQ9yYx8T5aFUSIcS4x52iAwu+SwEkQakhJScnr7Mw4p4QMyiCKuzm9nndrNLxz8eLb3ti48S83JtuzIZIy9panIeOSG4DnQukBBVr5rkoGGg61ywOTR6EQIW/u6EFeCHEzHy8hsu0I2yAxjocTB66TSJ3FknljdfV2BZwjSBu0ksQj119/PdfR4XQolVz/E0+8cOiJJ35/h98faE/GP/o/fgKjLr8r0imNQgutRzjobuyNGtgg6hE/6zGeJMqIRq7j+Im6ELcbNsr+loRXqNXK+Q6HgwRpZ93EOmvOILQo6sWwI413uym+srLG6fO5982dO2OOUqk0xfOnFBRLZ2fDEemsQD2x1tshJUMEbZomduZEGPyairMTYgJD7DPegKxqeDAYpHHo7TKuTIhHMJRfeOeddzJlZWV7rVarCEn8+hCTKL0I/2jO5yOgnHAeOVL1+VVXfWehUqkwx3MSUBiNAewny6V7JS7mrLUEFIzbUtWQYAxjpIcapD46IIur93MhCQnbHjUJDlFvfScB0pfGdw9jEuWlN910E7tp06a9mB1MAGVI4WwUKYzGuRqv12fgeU9KS8veX2dlWa5KxujvPg01mx4Ef29Iw9yiHaYvTwdznhEiyeWwalBUbLAVfU1FxRxSnVxFgAkgGIFgaC0VfsaAeRVabtNyM0Dm95MOxOl0/mr8+KWPd3UdDODaTAgvWYabewyOHXvA6/UG7Wi1+6dOvfzh2tpTLyVjVJnzYPIDL4I2O+RidVQqVH3cB90tfRBKuYU549UjqhFyLcSBEeb3B0OAhMEgh1opgwGhiLn7jYGNrzgyGAyPnD5dtnXatGlKjuMigjHsvKPNRtYDJbzH08nTNC9u3br96HXXrWBNprRZ8bwsqo555uXgPdMIvi4rKEANHS39YMxSgEotZ8+iPUOMIYVYwKiw2uBNAFUiyMUCRUJ3rZyDIaCQtsnZhaqrsCBYCdkMwA396bfddhuzaNGiPe3t7cKIAAlRNb7pDG825/E+Hydu2fLmsWXLLvNlZ2fMj+ekMXVoKl4uXRNjywpqOF3bi5k27D/Rd4ZOVJnwIGNIrvNHgRGWIPK8XiUHgmJMRk4iAoq0DJ+eMBJcDU9PT899efv2v7q/BiChLj/0kI3/5JPxvFKpErZsea3KaDTsmzZt0oL4TykIEWOrMo4CT2sNULgfTLyPOp0Hg0YRsgfyhlUEDCpu8UYCLx+qSZAfUJGw/TGo5VwrhMBI9jU8+aIgCSgks6ZUMqUvvNBO0vni1/oeq7SUdL0V3XIur9XSwpdfHuzxeFx7FiyY/R2WZRJA0eVMgPTpiyVJoVxuOHPKCw6fHSxZulBgxfEDNiN8kPiC2AriTSKxBsSCIf1MQFYROoJoYocJKCpUHVVscOj3e/eVlW06YrPZhPPxBTABhQ8EdDzuPwuHDx9w+Hz8l6FYJdEtE7uSueBaSVqCHbjtaXWB3eUErYHFNCwTAoQj6xLZnZLr8OcGEOWZiKrpiWRQslTI6pLguuMo/cqQTYmitraO7evWPYrJFODP18eu2JOGQGFhABcRGvumTX+tycqadU1tbeNLgz2QMee76IVegsLrHgHBVQAVn/XByeO404/rIckLRXsPQT74kHcSFErgNSop20PSmdLXKmHAzkbqcUntiNXaag1fDzcOORdhe8Ws2axWezweA8Pwhg8/fPmGefNmPsQwtOFsDzoavgJPWz04HfUgeE6A0nsCI0sWxTkoNZs3LgMElAqRqAlm3ijZVpCVNFEVEkeEHRElSQuEd0JCRKNajv1DgnQEAoG23NyZs0pKpnRt376dP9+ASDO2eDHFlpZmK3W6PAQlaLj33psLH3/8wa0qlXLUcNoin1D5O05B49u/ASbtNEy+OFeyG9K4GVGyHZQchBEQIoDI356QD6EokrYkG+l569HeXJLwjoqKmkcWLbpui8NRTb46Ov+ARBH2JF9pMKh1DC6JOU7U7d277fZJk8Z+X61WZQ+nIX+vDWpeexS44AGYOCNnQBoUYUCIhNBRgITeHuajR90KTNYtCe0S6bBY5i7s7+9EXW33YpF4PozqYITC0se//voezu0+HQwG1cKrr26vCgS8eyZNKkw1GHQTh9oQMcRZ81ZBsJ+GxsOfgCkzRcr6ixwVsiECDJzlfefwNZNzK7AISDzh/rXjySdfvLmi4ph14sQUD3oYaXP6nykhYZLmy2K5Qu12d2k5zq9RKBjt/fffmn/HHdd8Ly8v96rhSExfZSlYy56C0aP5iL2glGLEjkQkhNWCZsIDwFquSNrO7t371q5c+cN30tJUPTbbVyQRLIQ7+00RCnGBwmxmlD6fSsNxtFahEFSCICp/9KObRi9cOG/SuHF5E3EJMMFg0E88G0hEher+707IzvaT3WNZfRAQNhSyM9ps0M3cAIy+IOnz9fXNL06fvvo3Go3Y09f3FYlQI58YfJOAhAnVtIA1Gk0q1GEVz2OgqHQjSCyjVPK0QgGKQECk7rnn5jGPPXbf46mphuJkjfBeJ3Tvew6ors/lzTVRkhbFqIvAcPHDQCf/HB7BaHxx/vybnvX7ocfpPOjcsGEDh0ckz/ptABJ+L11UtJqprm5EN+1igkEla7f7mYyMUazL1cdgUlil1VLa8vJ3HsCNph8O1lBP+XMQbHgXGEM26KffBppxywZjFTEu+uOcOdc+I4pMn9Npd5LYCZKsmr5tkn1CCRv6BTj5CWq2Ni1tRprJdFGOwXDRhF279q7BHMygv+UL9NSL5yBh377D/0Pa0utnZpBfj8HwUx/fKiFI5IfMxdrMzLkWlWrq+EceeXo5gtImDpMwK9a2ceNr16ekTCmwWOZnXohgRCj0k7ECVU7OHJNGU5z385//9vL+fsehoYKBvAcfffS3y1JTZ41LSbnESMD4V/jHDDT5wXJ6enGq0Th7tF4/eQouxt47GxCYAbMfPVr9tNE4s0itnpJHwPhn/Oj5WyXyS3CzeYHBaJyeq9dPnXzy5KkXZRUSwge5x/LN11xzzwKiZmbzpei6FxiG898pLiTEsK8laFd6VWazIsXlCmhYltLee++NuWPGjE757LO97Z988kUfRSmCHMd7WVbl1esBI9CvyM8S5ETKkF5ywRGCkotrpFEY2FEaQQgwosjTgYCCpyiBYxiFX612+7u6RHSp1STgGvL3ZXLjFxzhTDswS9cWTEubiYPmUQLSfCoVeO32dk9BAeWbM2dKoLq6TP7l0vDoQjYyUUnXUDqe0Nf9f0f/APDc5Dseec9LAAAAAElFTkSuQmCC"},"grinning-face":{aspectRatio:1.03,src:"data:image/png;base64,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"},rocket:{aspectRatio:1.046,src:"data:image/png;base64,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"},"thumbs-down":{aspectRatio:1.063,src:"data:image/png;base64,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"},"thumbs-up":{aspectRatio:1.063,src:"data:image/png;base64,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"}},eg=3.2,tg=({panelRect:e})=>{const t=Me(e).stickers,r=M().graph().get("textScale");if(t.length===0)return null;const n=$h(eg,r);return(0,s.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible","data-testid":"stickers",children:t.map(o=>{const a=(0,u.projectAnchorToPanel)(o.at,e);return(0,s.jsx)(rg,{sticker:o,sizePx:n,x:a.x,y:a.y},o.id)})})},rg=({sticker:e,sizePx:t,x:r,y:n})=>{const o=ia[e.sticker];if(!o)return null;const{width:a,height:i}=ng(o.aspectRatio,t);return(0,s.jsx)("image",{href:o.src,x:r,y:n,width:a,height:i,transform:`translate(${-a/2}, ${-i/2})`})},ng=(e,t)=>e>=1?{width:t,height:t/e}:{width:t*e,height:t},og=.25,la=({children:e,...t})=>{const r=jc();return r<=0?(0,s.jsx)("g",{...t,children:e}):(0,s.jsx)(E.motion.g,{...t,initial:{opacity:0},animate:{opacity:1},transition:{duration:og,delay:r},children:e})},ag="_1agclyl0";var sg="_1agclyl2",ca=({x:e,y:t,width:r,height:n,text:o,isRotated:a,labelRole:i,position:c,coordType:l,backdropColor:d})=>{const h=R(ct,M()),f=a?`rotate(-90 ${e} ${t})`:void 0,m=h[i][c],v=m.stroke!==void 0&&(m.strokeWidth??0)>0,p=cg(i,l,m),A=lg(m,p,d);return(0,s.jsxs)("g",{transform:f,children:[p&&(0,s.jsx)("rect",{className:"_1agclyl1",x:e-r/2,y:t-n/2,width:r,height:n,rx:m.cornerRadius,ry:m.cornerRadius,fill:m.fill,...v?{stroke:m.stroke,strokeWidth:m.strokeWidth}:{}}),(0,s.jsx)("text",{className:sg,style:{...pe(m),fill:ig(m,A)},x:e,y:t,textAnchor:"middle",dominantBaseline:"central",children:o})]})},ig=(e,t)=>e.isTextColorAuthored||t===void 0?e.textColor:(0,u.pickReadableTextColor)(t),lg=(e,t,r)=>{if(r!==void 0)return(0,u.compositeColor)(t?e.fill:void 0,r)},cg=(e,t,r)=>r.fill===void 0?!1:e==="aggregate"||t==="cartesian",ug=({panelRect:e,formattingLocale:t,plotBottomY:r,isFooterChromeReserved:n})=>{const o=le(),a=ye(),i=O((0,U.useShallow)(v=>({layers:v.layers,coordSystem:v.coordSystem,axes:v.guides.axes,numberFormat:v.config.numberFormat,parsingLocale:v.config.parsingLocale}))),c=M(),l=R(ct,c),d=(0,g.useMemo)(()=>fo({textMeasurer:o,dataLabelStyles:l,familyDefault:a.fonts.familyDefault}),[o,l,a.fonts.familyDefault]),h=(0,g.useMemo)(()=>(0,u.buildDataLabelsContent)({...i,panelRect:e,measureDataLabel:d,readers:c,formattingLocale:t,plotBottomY:r,isFooterChromeReserved:n}),[i,e,d,c,t,r,n]),f=(0,g.useRef)("");(0,g.useEffect)(()=>{if(h.warnings.length===0){f.current="";return}const v=JSON.stringify(h.warnings);v!==f.current&&(f.current=v,Zr(h.warnings))},[h.warnings]);const m=h.labels.map((v,p)=>(0,s.jsx)(ca,{x:v.x,y:v.y,width:v.width,height:v.height,text:v.text,isRotated:v.isRotated,labelRole:v.role,position:v.position,coordType:i.coordSystem.type,backdropColor:v.backdropColor},`${v.layerId}:${p}`));return(0,s.jsx)(la,{className:ag,transform:`translate(${e.x}, ${e.y})`,"data-testid":"data-labels",children:m})},dg=({edge:e,position:t,labelRotation:r,offset:n,axisSize:o})=>{if(r!==0&&(e==="top"||e==="bottom")){const a=e==="top",i=a?-n:n;return{x:0,y:i,textAnchor:a?"start":"end",dominantBaseline:"central",transform:`rotate(${r}, 0, ${i})`}}switch(e){case"bottom":return{x:t*o.width,y:n,textAnchor:"middle",dominantBaseline:"hanging",transform:void 0};case"top":return{x:t*o.width,y:o.height-n,textAnchor:"middle",dominantBaseline:"auto",transform:void 0};case"left":return{x:o.width-n,y:t*o.height,textAnchor:"end",dominantBaseline:"central",transform:void 0};case"right":return{x:n,y:t*o.height,textAnchor:"start",dominantBaseline:"central",transform:void 0}}},hg=(e,t)=>{const r=t.height/2;switch(e){case"left":return{x:0,y:r,textAnchor:"start",dominantBaseline:"middle",transform:void 0};case"right":return{x:t.width,y:r,textAnchor:"end",dominantBaseline:"middle",transform:void 0};case"top":case"bottom":return{x:t.width/2,y:r,textAnchor:"middle",dominantBaseline:"middle",transform:void 0}}},gg=(e,t,r,n)=>{const{width:o,ascent:a,descent:i}=t,c=a+i,l=xg(e,o),d=yg(e,a,c),h=vg(r,e,n,{x:l,y:d,width:o,height:c});return{x:l-h.left,y:d-h.top,width:o+h.left+h.right,height:c+h.top+h.bottom,transform:e.transform}},fg=(e,t)=>{const r=e.map((o,a)=>({position:o,index:a})).sort((o,a)=>o.position-a.position),n=e.map(()=>1/0);return r.forEach((o,a)=>{const i=r[a-1],c=r[a+1],l=i===void 0?1/0:o.position-i.position,d=c===void 0?1/0:c.position-o.position,h=Math.min(l,d);n[o.index]=Number.isFinite(h)?h*t:1/0}),n},vg=(e,t,r,n)=>r===void 0?{left:e,right:e,top:e,bottom:e}:t.transform!==void 0?mg(e,t):pg(e,r,n),mg=(e,{y:t,textAnchor:r})=>{const n=Le(e,Math.abs(t));return r==="end"?{left:e,right:n,top:e,bottom:e}:{left:n,right:e,top:e,bottom:e}},pg=(e,{edge:t,stepPx:r,axisSize:n},o)=>{const a=Yr(e,r,o.width),i=Yr(e,r,o.height);switch(t){case"bottom":return{left:a,right:a,top:Le(e,o.y),bottom:e};case"top":return{left:a,right:a,top:e,bottom:Le(e,n.height-o.y-o.height)};case"left":return{left:e,right:Le(e,n.width-o.x-o.width),top:i,bottom:i};case"right":return{left:Le(e,o.x),right:e,top:i,bottom:i}}},Le=(e,t)=>Math.max(0,Math.min(e,t)),Yr=(e,t,r)=>Math.min(e,Math.max(0,(t-r)/2)),xg=({x:e,textAnchor:t},r)=>{switch(t){case"start":return e;case"middle":return e-r/2;case"end":return e-r}},yg=({y:e,dominantBaseline:t},r,n)=>{switch(t){case"hanging":return e;case"central":case"middle":return e-n/2;case"auto":return e-r}},Ag={fill:"transparent",pointerEvents:"all"},bg=3,lr=({placement:e,text:t,style:r,isHitTestable:n,bounds:o,hasHalo:a=!1})=>(0,s.jsxs)(s.Fragment,{children:[n&&(0,s.jsx)(Sg,{placement:e,text:t,style:r,bounds:o}),(0,s.jsx)("text",{...e,style:a?{...pe(r),paintOrder:"stroke"}:pe(r),stroke:a?x.vars.graphBackground:void 0,strokeWidth:a?bg:void 0,fill:r.textColor,children:t})]}),Sg=({placement:e,text:t,style:r,bounds:n})=>{const o=le(),{fonts:a}=ye();return(0,s.jsx)("rect",{...(0,g.useMemo)(()=>gg(e,o.measureText(t,(0,u.toFontSpec)(r,a.familyDefault)),3,n),[e,o,t,r,a.familyDefault,n]),...Ag})},jg=({edge:e,position:t,labelRotation:r,label:n,tickLabelStyle:o,axisSize:a,stepPx:i=1/0,isHitTestable:c=!1})=>{const{offset:l}=o,d=(0,g.useMemo)(()=>dg({edge:e,position:t,labelRotation:r,offset:l,axisSize:a}),[e,t,r,l,a]),h=(0,s.jsx)(lr,{placement:d,text:n,style:o,isHitTestable:c,bounds:(0,g.useMemo)(()=>({edge:e,stepPx:i,axisSize:a}),[e,i,a])});return d.transform===void 0?h:(0,s.jsx)("svg",{x:(0,u.toPercent)(t),y:e==="top"?"100%":0,style:{overflow:"visible"},children:h})},wg=({formattedAxis:e,rect:t})=>{const r=e.position==="bottom"||e.position==="top",n=(0,u.getAestheticFromScaleAestheticKey)(e.scaleAestheticKey),o=M(),a=R($t,o)(n,e.position),i=R(ho,o)[n],c=ue(),l=(0,g.useMemo)(()=>({width:t.width,height:t.height}),[t.width,t.height]),d=r?t.width:t.height,h=(0,g.useMemo)(()=>c?fg(e.ticks.map(f=>f.position),d):void 0,[c,e.ticks,d]);return(0,s.jsxs)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,style:{overflow:"visible"},children:[!1,e.ticks.map((f,m)=>{const v=f.formattedLabel,p=r?f.position:1-f.position,A=Pg(e.position,p,t,i.length),y=c&&v!=="";return(0,s.jsxs)("g",{...y?ut(e.scaleAestheticKey,m):void 0,cursor:y?"pointer":void 0,children:[e.ticksVisible&&(0,s.jsx)("line",{...A,stroke:i.stroke,strokeWidth:i.strokeWidth,strokeDasharray:(0,u.toStrokeDasharray)(i.dashArray,i.strokeWidth),pointerEvents:c?"none":void 0}),(0,s.jsx)(jg,{edge:e.position,position:p,labelRotation:e.labelRotation,label:v,tickLabelStyle:a,axisSize:l,stepPx:h?.[m],isHitTestable:y})]},m)})]})},Pg=(e,t,r,n)=>{const o=(0,u.toPercent)(t);switch(e){case"bottom":return{x1:o,y1:0,x2:o,y2:n};case"top":return{x1:o,y1:r.height,x2:o,y2:r.height-n};case"left":return{x1:r.width,y1:o,x2:r.width-n,y2:o};case"right":return{x1:0,y1:o,x2:n,y2:o}}},kg=({axes:e,rects:t})=>{const r=R(uo,M()),n=ue();return(0,s.jsx)(s.Fragment,{children:e.map(o=>{const a=t[o.position];return!a||!o.isVisible?null:(0,s.jsx)(Eg,{axis:o,rect:a,labelStyle:r[(0,u.getAestheticFromScaleAestheticKey)(o.scaleAestheticKey)],isHitTestable:n},`axis-label-${o.position}`)})})},Eg=({axis:e,rect:t,labelStyle:r,isHitTestable:n})=>{const o=(0,g.useMemo)(()=>hg(e.position,t),[e.position,t]),a=n&&e.label!==null&&e.label!=="",i=a?ut(e.scaleAestheticKey):void 0;return(0,s.jsxs)("g",{transform:`translate(${t.x}, ${t.y})`,...i,cursor:a?"pointer":void 0,children:[!1,(0,s.jsx)(lr,{placement:o,text:e.label??"",style:r,isHitTestable:a})]})},Rg=({formattedAxes:e,tickRects:t})=>(0,s.jsx)(s.Fragment,{children:e.map(r=>{if(r.geometry!=="linear")return null;const n=t[r.position];return!n||!r.isVisible?null:(0,s.jsx)(wg,{formattedAxis:r,rect:n},r.scaleAestheticKey)})}),Cg=({formattedAxes:e,labelRects:t})=>(0,s.jsx)(kg,{axes:e.filter(r=>r.geometry==="linear"),rects:t}),ua={strokeDashoffset:"0",strokeLinecap:"round"},He=(e,t)=>e.gridLine[t]().resolve(),da=({axes:e,panelBorderSizes:t,panelFrameRect:r,panelRect:n})=>{const o=M(),a=ue(),i=R(He,o,"x"),c=R(He,o,"y"),l=n.x-r.x,d=n.y-r.y;return(0,s.jsx)("svg",{"data-testid":"grid",x:r.x,y:r.y,width:r.width,height:r.height,style:{overflow:"visible"},children:e.map(h=>{if(h.geometry!=="linear"||!h.gridVisible)return null;const f=h.position==="bottom"||h.position==="top",m=(0,u.getAestheticFromScaleAestheticKey)(h.scaleAestheticKey)==="x"?i:c,v=(0,u.toStrokeDasharray)(m.dashArray,m.strokeWidth);return(0,s.jsx)("g",{children:h.ticks.map((p,A)=>{const y=Mg(f,p.position);if(y!==null&&t[y]>0)return null;const S=f?p.position:1-p.position;let b;if(f){const j=S*n.width+l;b={x1:j,y1:0,x2:j,y2:"100%"}}else{const j=S*n.height+d;b={x1:0,y1:j,x2:"100%",y2:j}}const w=(0,s.jsx)("line",{...b,...ua,strokeDasharray:v,strokeWidth:m.strokeWidth,stroke:m.stroke});return a?(0,s.jsxs)("g",{...sr(h.scaleAestheticKey),children:[w,(0,s.jsx)("line",{...b,stroke:"transparent",strokeWidth:7,pointerEvents:"stroke","data-testid":"grid-line-hit-area"})]},A):(0,s.jsx)(g.Fragment,{children:w},A)})},h.scaleAestheticKey)})})},Mg=(e,t)=>t<=0?e?"left":"bottom":t>=1?e?"right":"top":null,Bg=({sizes:e,panelFrameRect:t})=>{const r=O(a=>a.coordSystem.type==="polar"),n=R(u.resolvePanelBorderStyle,M());if(r)return null;const o=(0,u.computePanelBorderPaths)(n,{x:e.left/2,y:e.top/2,width:t.width-(e.left+e.right)/2,height:t.height-(e.top+e.bottom)/2});return o.length===0?null:(0,s.jsx)("svg",{"data-testid":"panel-border",x:t.x,y:t.y,width:t.width,height:t.height,style:{overflow:"visible"},children:o.map((a,i)=>(0,s.jsx)("path",{d:Ig(a.segments),fill:"none",stroke:a.stroke,strokeDasharray:(0,u.toStrokeDasharray)(a.dashArray,a.strokeWidth),strokeWidth:a.strokeWidth,...ua},i))})},Ig=e=>e.map(t=>{switch(t.type){case"move":return`M ${t.x} ${t.y}`;case"line":return`L ${t.x} ${t.y}`;case"arc":{const r=t.cx+t.radius*Math.cos(t.endAngle),n=t.cy+t.radius*Math.sin(t.endAngle);return`A ${t.radius} ${t.radius} 0 0 1 ${r} ${n}`}case"close":return"Z"}}).join(" ");var ha=(e,t)=>{const r=O(l=>l.coordSystem);if(r.type!=="polar")return null;const n=t.find(l=>l.geometry==="circular");if(!n)return null;const{innerRadius:o,startAngle:a,spokeRotation:i}=r,c=De(e);return c.radius<=0?null:{circle:c,circularAxis:n,radialAxis:t.find(l=>l.geometry==="radial"),innerRadius:o,startAngle:a,angleFor:l=>(0,u.positionToAngle)(l,a,i),radiusNormFor:l=>o+l*(1-o)}},Tg=16,Og=({formattedAxes:e,panelRect:t})=>{const r=R($t,M()),n=ue(),o=ha(t,e);if(!o)return null;const{circle:a,circularAxis:i,radialAxis:c,startAngle:l,angleFor:d,radiusNormFor:h}=o,f=Lg(c,h,a.radius),m=v=>r((0,u.getAestheticFromScaleAestheticKey)(v.scaleAestheticKey));return(0,s.jsxs)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,overflow:"visible","data-testid":"polar-axis-ticks",children:[c?.isVisible&&f.map(({tick:v,tickIndex:p,radiusNorm:A})=>(0,s.jsx)(zr,{scaleAestheticKey:c.scaleAestheticKey,tickIndex:p,placement:Qr(V(l,A,a),"middle"),label:v.formattedLabel,labelStyle:m(c),isHitTestable:n,hasHalo:!0},`radial-label-${p}`)),i.isVisible&&i.ticks.map((v,p)=>{if(v.position>=1-1e-9)return null;const A=d(v.position),y=V(A,(a.radius+u.POLAR_RIM_LABEL_GAP_PX)/a.radius,a);return(0,s.jsx)(zr,{scaleAestheticKey:i.scaleAestheticKey,tickIndex:p,placement:Qr(y,Ng(A)),label:v.formattedLabel,labelStyle:m(i),isHitTestable:n},`rim-label-${p}`)})]})},zr=({scaleAestheticKey:e,tickIndex:t,placement:r,label:n,labelStyle:o,isHitTestable:a,hasHalo:i})=>{const c=(0,s.jsx)(lr,{placement:r,text:n,style:o,isHitTestable:a,hasHalo:i});return a?(0,s.jsx)("g",{...ut(e,t),cursor:"pointer",children:c}):c},Lg=(e,t,r)=>{if(!e)return[];const n=[];let o=Number.NEGATIVE_INFINITY;for(const[a,i]of e.ticks.entries()){const c=t(i.position);if(c<=0)continue;const l=c*r;l-o<Tg||(n.push({tick:i,tickIndex:a,radiusNorm:c}),o=l)}return n},Qr=(e,t)=>({x:e.x,y:e.y,textAnchor:t,dominantBaseline:"central",transform:void 0}),Ng=e=>{const t=Math.sin(e);return Math.abs(t)<.01?"middle":t>0?"start":"end"},Fg=({formattedAxes:e,panelRect:t})=>{const r=M(),n=ue(),o=R(He,r,"y"),a=R(He,r,"x"),i=ha(t,e);if(!i)return null;const{circle:c,circularAxis:l,radialAxis:d,innerRadius:h,angleFor:f,radiusNormFor:m}=i;return(0,s.jsxs)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,overflow:"visible","data-testid":"polar-grid",children:[d?.gridVisible&&d.ticks.map((v,p)=>{const A=m(v.position)*c.radius;return A<=0||v.position>=1?null:(0,s.jsx)(bt,{axis:(0,u.getAestheticFromScaleAestheticKey)(d.scaleAestheticKey),lineStyle:o,isHitTestable:n,draw:y=>(0,s.jsx)("circle",{cx:c.centerX,cy:c.centerY,r:A,fill:"none",...y})},`ring-${p}`)}),d?.gridVisible&&(0,s.jsx)(bt,{axis:(0,u.getAestheticFromScaleAestheticKey)(d.scaleAestheticKey),lineStyle:o,isHitTestable:n,draw:v=>(0,s.jsx)("circle",{cx:c.centerX,cy:c.centerY,r:c.radius,fill:"none",...v})}),l.gridVisible&&l.ticks.map((v,p)=>{if(v.position>=1-1e-9)return null;const A=f(v.position),y=V(A,h,c),S=V(A,1,c);return(0,s.jsx)(bt,{axis:(0,u.getAestheticFromScaleAestheticKey)(l.scaleAestheticKey),lineStyle:a,isHitTestable:n,draw:b=>(0,s.jsx)("line",{x1:y.x,y1:y.y,x2:S.x,y2:S.y,...b})},`spoke-${p}`)})]})},bt=({axis:e,lineStyle:t,isHitTestable:r,draw:n})=>{const o=n({stroke:t.stroke,strokeWidth:t.strokeWidth});return r?(0,s.jsxs)("g",{...sr(e),children:[o,n({stroke:"transparent",strokeWidth:7,pointerEvents:"stroke","data-testid":"grid-line-hit-area"})]}):o},Hg=({layer:e,coordSystem:t,shouldAnimateTransitions:r,isDimmed:n,dimStyle:o,formattingLocale:a,panelRect:i})=>{const c=re(),l=wc(e.id),{colorScheme:d}=H(),h=N(e),f=c(e.geom,t.type);if(f===null)return null;const m=st(f.render);return m.overlay?null:(0,s.jsx)("g",{style:n?{opacity:o.opacity,...o.saturation===void 0?{}:{filter:`saturate(${o.saturation})`}}:void 0,children:m.fn({layer:e,coordSystem:t,shouldAnimateTransitions:r,formattingLocale:a,intro:l,panelRect:i,colorScheme:d,styleReaders:h})})};function Dg({renderer:e,layer:t,coordSystem:r,candidates:n}){if(e?.getOverlayAnchor===void 0||n.length===0)return[];const o=[];for(const{observation:a,observationIndex:i}of n){const c=e.getOverlayAnchor({layer:t,coordSystem:r,observation:a});c!==null&&o.push({observation:a,observationIndex:i,anchor:c})}return o}var Gg=4,Wg=({renderer:e,layer:t,matchedLayer:r,overlayCandidates:n,coordSystem:o,shouldAnimateTransitions:a,panelRect:i,formattingLocale:c})=>{const l=O(w=>w.config.numberFormat),d=(0,g.useMemo)(()=>Dg({renderer:e,layer:t,coordSystem:o,candidates:n}),[e,t,o,n]),{colorScheme:h}=H(),f=N(t),m=M(),v=(0,g.useMemo)(()=>(0,u.createSegmentYReader)(t),[t]),p=(0,g.useMemo)(()=>(0,u.createLayerYValueFormatter)({layer:t,numberFormat:l,locale:c}),[l,t,c]),{fonts:A}=ye(),y=R(ct,M());if(e===null||r===null&&d.length===0)return null;const S=st(e.render);let b=null;if(r&&!S.overlay){const w={layer:r,sourceLayer:t,coordSystem:o,shouldAnimateTransitions:a,formattingLocale:c,panelRect:i,colorScheme:h,styleReaders:f};b=e.renderHighlight?e.renderHighlight(w):S.fn(w)}return(0,s.jsxs)(la,{children:[b,d.map(({observation:w,observationIndex:j,anchor:k})=>(0,s.jsx)(Vg,{observation:w,anchor:k,panelRect:i,fill:(0,u.readGeomColor)(m,t,w)??u.DEFAULT_GEOM_COLOR,dotRadius:(f.get("size",w)??u.DEFAULT_POINT_SIZE_PX)/2,readSegmentY:v,formatYValue:p,labelStyle:y.observation.outside,familyDefault:A.familyDefault},Ug(w,j)))]})},Vg=({observation:e,anchor:t,panelRect:r,fill:n,dotRadius:o,readSegmentY:a,formatYValue:i,labelStyle:c,familyDefault:l})=>{const d=le(),h=(0,u.toViewBoxX)(t.x),f=(0,u.toViewBoxY)(t.y),m=a(e)??null,v=m!==null?i(m,e):null,p=(0,g.useMemo)(()=>{if(v===null)return null;const A=d.measureText(v,(0,u.toFontSpec)(c,l));return{width:A.width+c.paddingInline*2,height:A.height+c.paddingBlock*2}},[v,d,c,l]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("circle",{"data-testid":"highlight-overlay-dot",cx:(0,u.toPercent)(h),cy:(0,u.toPercent)(f),r:o,fill:n}),v!==null&&p!==null&&(0,s.jsx)(ca,{x:h*r.width,y:f*r.height-o-Gg-p.height/2,width:p.width,height:p.height,text:v,isRotated:!1,labelRole:"observation",position:"outside",coordType:"cartesian"})]})},Ug=(e,t)=>{const r=e[u.GROUP_VARIABLES.group];return`${String(r??"")}\0${t}`},Kg=({layer:e,coordSystem:t,panelRect:r})=>{const{primary:n,group:o,related:a}=we((0,U.useShallow)(f=>({primary:f.hover.primary,group:f.hover.group,related:f.hover.related}))),i=re(),{colorScheme:c}=H(),l=N(e);if(!ce[Ce()].hoverPaint||n===null)return null;const d=i(e.geom,t.type);if(d===null||Vn(d))return null;const h=a.get(e.id)??[];return n.layerId===e.id?d.renderHover({layer:e,coordSystem:t,primary:n,group:o,related:h,panelRect:r,colorScheme:c,styleReaders:l}):h.length===0?null:d.renderHoverCompanions({layer:e,primary:n,related:h,colorScheme:c,styleReaders:l})},Yg=e=>{const t=N(e);return(0,g.useMemo)(()=>{const[r]=e.data;return r===void 0?{opacity:void 0,saturation:void 0}:{opacity:t.get("alpha",r,"dimmed"),saturation:t.get("saturation",r,"dimmed")}},[e,t])},zg="var(--to1jkx0)",Qg="var(--to1jkx1)",Xg="to1jkx2",qg="to1jkx3",Jg=({shouldAnimateTransitions:e,panelRect:t,formattingLocale:r})=>{const{layers:n,coordSystem:o}=O((0,U.useShallow)(a=>({layers:a.layers,coordSystem:a.coordSystem})));return(0,s.jsx)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,className:Xg,"data-testid":"geom-layers",...vd(),children:n.map(a=>(0,s.jsxs)(g.Fragment,{children:[(0,s.jsx)($g,{layer:a,coordSystem:o,shouldAnimateTransitions:e,panelRect:t,formattingLocale:r}),(0,s.jsx)(Kg,{layer:a,coordSystem:o,panelRect:t})]},`${a.id}-${Zg(o)}`))})},Zg=e=>e.type==="cartesian"?`cartesian-${e.mainAxis}`:e.type,_g=e=>(0,Ot.assignInlineVars)({...e.opacity===void 0?{}:{[zg]:String(e.opacity)},...e.saturation===void 0?{}:{[Qg]:`saturate(${e.saturation})`}}),$g=({layer:e,coordSystem:t,shouldAnimateTransitions:r,panelRect:n,formattingLocale:o})=>{const a=re(),i=(0,g.useMemo)(()=>a(e.geom,t.type),[a,e,t]),c=e.highlight,l=Yg(e),{colorScheme:d}=H(),h={layer:e,coordSystem:t,shouldAnimateTransitions:r,formattingLocale:o,panelRect:n,colorScheme:d,styleReaders:N(e)},f=i?st(i.render):null,m=e.spatialKind==="render-hit-test",v=l.opacity!==void 0||l.saturation!==void 0;return(0,s.jsxs)("g",{className:v?qg:void 0,style:v?_g(l):void 0,children:[(0,s.jsx)(Hg,{layer:e,coordSystem:t,shouldAnimateTransitions:r,isDimmed:c?.composition.isDimmed??!1,dimStyle:l,formattingLocale:o,panelRect:n}),m&&!f?.overlay&&i?.hitTest&&(0,s.jsx)(Al,{hitTest:i.hitTest,input:h}),m&&f?.overlay&&(0,s.jsx)(Pl,{render:f.fn,input:h}),c!==null&&(0,s.jsx)(Wg,{renderer:i,layer:e,matchedLayer:c.composition.matchedLayer,overlayCandidates:c.composition.overlayCandidates,coordSystem:t,shouldAnimateTransitions:r,panelRect:n,formattingLocale:o})]})},ef="_17uhij30",tf=({formattedAxes:e,plotRect:t,panelBorder:r,panelFrameRect:n,panelRect:o,axisRects:a,axisLabelRects:i,shouldAnimateTransitions:c,formattingLocale:l,plotBottomY:d,isFooterChromeReserved:h,isEditable:f,showAnnotations:m})=>{const v=(0,g.useRef)(null);xh(v);const p=ee("Grid",da),A=ee("AxisTicks",Rg),y=ee("AxisLabel",Cg),S=(0,g.useMemo)(()=>It(n,t),[n,t]),b=(0,g.useMemo)(()=>It(o,t),[o,t]),w=(0,g.useMemo)(()=>Xr(a,t),[a,t]),j=(0,g.useMemo)(()=>Xr(i,t),[i,t]);return(0,s.jsxs)("svg",{ref:v,className:ef,width:t.width,height:t.height,style:{transform:`translate(${t.x}px, ${t.y}px)`},"data-testid":"plot",children:[(0,s.jsx)(p,{axes:e,panelBorderSizes:r,panelFrameRect:S,panelRect:b}),(0,s.jsx)(A,{formattedAxes:e,tickRects:w}),(0,s.jsx)(y,{formattedAxes:e,labelRects:j}),(0,s.jsx)(Fg,{formattedAxes:e,panelRect:b}),(0,s.jsx)(oh,{panelRect:b}),m&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Vr,{panelRect:b,zOrder:"background"}),(0,s.jsx)(Wr,{panelRect:b,zOrder:"background"})]}),(0,s.jsx)(Bg,{sizes:r,panelFrameRect:S}),(0,s.jsx)(Jg,{shouldAnimateTransitions:c,panelRect:b,formattingLocale:l}),(0,s.jsx)(Og,{formattedAxes:e,panelRect:b}),(0,s.jsx)(ug,{panelRect:b,formattingLocale:l,plotBottomY:d,isFooterChromeReserved:h}),m&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Mh,{panelRect:b,isEditable:f}),(0,s.jsx)(Vr,{panelRect:b,zOrder:"foreground"}),(0,s.jsx)(Wr,{panelRect:b,zOrder:"foreground"}),(0,s.jsx)(Ph,{panelRect:b,isEditable:f}),(0,s.jsx)(Wh,{panelRect:b}),(0,s.jsx)(tg,{panelRect:b}),(0,s.jsx)(Xh,{panelRect:b})]}),(0,s.jsx)(mh,{panelRect:b})]})},It=(e,t)=>({x:e.x-t.x,y:e.y-t.y,width:e.width,height:e.height}),Xr=(e,t)=>{const r={};for(const[n,o]of Object.entries(e))r[n]=It(o,t);return r},rf=e=>{let t,r;return"aspectRatio"in e?"intrinsicWidth"in e?(t=e.intrinsicWidth,r=t/e.aspectRatio):(r=e.intrinsicHeight,t=r*e.aspectRatio):(t=e.intrinsicWidth,r=e.intrinsicHeight),{width:qr(t,"width"),height:qr(r,"height")}},qr=(e,t)=>{if(e<=0||Number.isNaN(e)||!Number.isFinite(e))throw new u.InternalError({message:`Expected ${t} to be a positive, finite number, but got ${e}.`});return e},nf=({sizing:e,onResize:t,children:r})=>{const n=qn({onResize:t}),o=(0,g.useRef)(!1);if((0,g.useEffect)(()=>{e.mode==="responsive"&&(n.isDefault||n.width>0&&n.height>0||o.current||(o.current=!0,console.warn(`[graphy] ZERO_SIZE_CONTAINER: GraphRenderer measured ${n.width}×${n.height}; the chart will not paint until the host has a positive width and height.`)))},[e.mode,n.isDefault,n.width,n.height]),e.mode==="keepAspectRatio"){const{intrinsicSize:i,canRender:c,outerStyles:l,innerStyles:d}=of(e,n.width,!n.isDefault);return(0,s.jsx)("div",{ref:n.setElement,style:l,"data-testid":"graph-sizer",children:c&&(0,s.jsx)("div",{style:d,children:r(i)})})}if(e.mode==="fixed")return(0,s.jsx)("div",{ref:n.setElement,style:{width:e.width,height:e.height},"data-testid":"graph-sizer",children:r({width:e.width,height:e.height})});const a=!n.isDefault&&n.width>0&&n.height>0;return(0,s.jsx)("div",{ref:n.setElement,style:{width:"100%",height:"100%"},"data-testid":"graph-sizer",children:a&&r({width:n.width,height:n.height})})},of=(e,t,r)=>{const n=rf(e),o=t>0&&n.width>0?t/n.width:1;return{intrinsicSize:n,canRender:r,outerStyles:{width:"100%",...r?{height:n.height*o}:{aspectRatio:`${n.width} / ${n.height}`}},innerStyles:{transformOrigin:"top left",transform:`scale(${o})`,width:n.width,height:n.height}}},af={mode:"responsive"},St={headerSize:{width:0,height:0},footerSize:{width:0,height:0}},sf=()=>{const[e,t]=(0,g.useState)(null),[r,n]=(0,g.useState)(null),[o,a]=(0,g.useState)(St);return(0,g.useEffect)(()=>{const i=()=>{const l=e?{width:e.offsetWidth,height:e.offsetHeight}:St.headerSize,d=r?{width:r.offsetWidth,height:r.offsetHeight}:St.footerSize;a(h=>lf(h,{headerSize:l,footerSize:d})?{headerSize:l,footerSize:d}:h)};i();const c=new ResizeObserver(i);return e&&c.observe(e),r&&c.observe(r),()=>c.disconnect()},[e,r]),{headerRef:t,footerRef:n,measurements:o}},lf=(e,t)=>e.headerSize.width!==t.headerSize.width||e.headerSize.height!==t.headerSize.height||e.footerSize.width!==t.footerSize.width||e.footerSize.height!==t.footerSize.height,cf=()=>null,uf=({graphChrome:e,isEditable:t,mode:r,style:n,contentRef:o,children:a})=>{const{themeClass:i,inlineVarsStyle:c}=lt(),l=e.strokeWidth,d=l>0?e.stroke:void 0,h=Math.max(0,e.cornerRadius),f=h===0?0:h+l,m=(0,g.useMemo)(()=>({...n,borderRadius:`${f}px`,...c,background:d}),[n,f,c,d]),v=(0,g.useMemo)(()=>({inset:`${l}px`,borderRadius:`${h}px`}),[l,h]),p=t&&e.fill==="transparent";return(0,s.jsx)("div",{"data-testid":"graph-wrapper",className:(0,D.default)(zl,i),style:m,children:(0,s.jsx)("div",{ref:o,"data-testid":"graph-inner","data-graph-mode":r,tabIndex:t?0:void 0,className:(0,D.default)(Xl,{[ql]:t,[Jl]:p}),style:v,children:a})})},df=e=>(0,s.jsx)($n,{locale:po(),children:(0,s.jsx)(ga,{...e})}),ga=({slots:e,sizing:t=af,onResize:r,...n})=>(0,s.jsx)(Yn,{children:(0,s.jsx)(En,{children:(0,s.jsx)(ji,{slots:e,children:(0,s.jsx)(nf,{sizing:t,onResize:r,children:({width:o,height:a})=>(0,s.jsx)(hf,{width:o,height:a,...n})})})})}),hf=({width:e,height:t,animation:r,showTooltips:n=!0,mode:o=te.readonly})=>{const a=Xt(),i=Qt(o),{axes:c,legends:l,layers:d,numberFormat:h,parsingLocale:f,annotations:m,coordSystem:v,headline:p,headlineConfig:A,content:y,overflowStrategy:S}=O((0,U.useShallow)(Y=>({axes:Y.guides.axes,legends:Y.guides.legends.drawn,layers:Y.layers,numberFormat:Y.config.numberFormat,parsingLocale:Y.config.parsingLocale,annotations:Y.annotations,coordSystem:Y.coordSystem,headline:Y.guides.headline,headlineConfig:Y.config.headline,content:Y.config.content,overflowStrategy:Y.config.panel.overflow}))),{intro:b,transitions:w}=Bl(r,d),{headerRef:j,footerRef:k,measurements:B}=sf(),{formattingLocale:C,colorScheme:P}=H(),I=ce[i],L=I.editorSurface,[Z,W]=(0,g.useState)(null),fa=ee("Header",Co),va=ee("Footer",Ro),ma=ee("Legend",rh),pa=ee("Headline",ud),xa=ee("EditorSurface",cf),cr=(0,g.useMemo)(()=>(0,u.formatLegends)({legends:l,numberFormat:h,parsingLocale:f,formattingLocale:C}),[l,h,f,C]),Be=(0,g.useMemo)(()=>(0,u.formatHeadline)({headline:p,show:A.show,numberFormat:h,parsingLocale:f,formattingLocale:C,t:a}),[p,A.show,h,f,C,a]),ya=le(),ne=M(),ur=R(gf,ne),dr=R(u.resolvePanelBorderStyle,ne),hr=R(er,ne),gr=R(ff,ne),Aa=R(vf,ne),ba=R(mf,ne),Sa=R(pf,ne),{fontFamily:gt,textScale:ja,strokeWidth:ft,fill:wa}=ur,fr=(0,g.useMemo)(()=>bn(P,{},gt),[P,gt]),Ie=(0,g.useMemo)(()=>({width:Math.max(0,e-2*ft),height:Math.max(0,t-2*ft)}),[e,t,ft]),vr=(0,g.useMemo)(()=>ko(y.brandMark.enabled,Ie,y.brandMark.variant),[y.brandMark.enabled,y.brandMark.variant,Ie]),Pa=y.brandMark.placement==="footer"?vr:"hidden",ka=y.brandMark.placement==="header"?vr:"hidden",Ae=(0,g.useMemo)(()=>Be?{formatted:Be,size:A.size,position:A.position,innerRadius:v.type==="polar"?v.innerRadius:0}:void 0,[Be,A.size,A.position,v]),Ue=Wc({textMeasurer:ya,metrics:fr,overrides:wi()}),mr=(0,g.useMemo)(()=>(0,u.computePanelBorderSizes)(dr),[dr]),Te=Vc({measurer:Ue,axes:c,numberFormat:h,parsingLocale:f,formattedLegends:cr,containerSize:Ie,externalMeasurements:B,headline:Ae,formattingLocale:C,annotations:m,layers:d,coordSystem:v,overflowStrategy:S,panelBorder:mr,padding:R(u.resolveGraphPadding,ne),margins:R(u.resolveChromeMargins,ne)}),Ke=(0,g.useMemo)(()=>!Te||!Ae||!Ue?null:(0,u.resolveHeadlinePlacement)({headline:Ae,layout:Te.layout,containerSize:Ie,measurer:Ue,itemGap:hr.gap}),[Te,Ae,Ue,Ie,hr.gap]);if(!Te)return null;const{layout:K,formattedAxes:pr,plotBottomY:Ea}=Te,Ra=K.footer.height>0;return(0,s.jsx)(Go.Provider,{value:i,children:(0,s.jsx)(ro,{colorScheme:P,textScale:ja,graphBackground:wa,graphFontFamily:gt,headingFontFamily:gr.fontFamily,children:(0,s.jsx)(ni,{metrics:fr,children:(0,s.jsx)(Yc,{children:(0,s.jsx)(fu,{panelRect:K.panel,children:(0,s.jsx)(uf,{graphChrome:ur,isEditable:L,mode:i,contentRef:L?W:void 0,style:{width:"100%",height:"100%"},children:(0,s.jsxs)(Sc,{intro:b,children:[(0,s.jsx)(fa,{ref:j,headerRect:K.header,mode:i,title:y.title,isTitleVisible:y.isTitleVisible,subtitle:y.subtitle,isSubtitleVisible:y.isSubtitleVisible,headingStyle:gr,subtitleStyle:Aa,brandMark:ka}),(0,s.jsx)(tf,{formattedAxes:pr,plotRect:K.plot,panelBorder:mr,panelFrameRect:K.panelFrame,panelRect:K.panel,axisRects:K.axes,axisLabelRects:K.axisLabels,shouldAnimateTransitions:w,formattingLocale:C??f,plotBottomY:Ea,isFooterChromeReserved:Ra,isEditable:L,showAnnotations:I.annotations}),(0,s.jsx)(va,{ref:k,footerRect:K.footer,mode:i,caption:y.caption,isCaptionVisible:y.isCaptionVisible,source:y.source,isSourceVisible:y.isSourceVisible,captionStyle:ba,sourceStyle:Sa,brandMark:Pa}),(0,s.jsx)(ma,{formattedLegends:cr,rects:K.legends}),Be&&Ke&&(0,s.jsx)(pa,{headline:Be,rect:Ke.rect,resolvedSize:Ke.resolvedSize,visibleItemCount:Ke.visibleItemCount,isInDonutHole:Ae!==void 0&&(0,u.paintsInDonutHole)(Ae)}),L&&Z!==null&&(0,s.jsx)(xa,{frameElement:Z,panelRect:K.panel,formattedAxes:pr,shouldAnimateTransitions:w}),n&&I.tooltips&&(0,s.jsx)(mc,{})]})})})})})})})},gf=e=>e.graph().resolve(),ff=e=>e.heading.h1().resolve(),vf=e=>e.heading.h2().resolve(),mf=e=>e.caption().resolve(),pf=e=>({label:e.source().resolve(),link:e.source.link().resolve()}),xf=e=>{const t=(0,g.useContext)(Nt);return(0,g.useMemo)(()=>e||(t?{commands:t.commands,undo:t.history.undo,redo:t.history.redo,subscribe:t.store.subscribe,getScene:()=>t.store.getState().scene,getSelection:()=>t.selectionStore.getState().selection,setSelection:r=>t.selectionStore.getState().setSelection(r),subscribeSelection:t.selectionStore.subscribe}:null),[e,t])},yf=e=>(0,g.useSyncExternalStore)(e.subscribe,e.getScene,e.getScene),Af=()=>{const{commands:e}=H();return e},bf=e=>{if(e.altKey||!e.metaKey&&!e.ctrlKey)return null;const t=e.key.toLowerCase();return t==="z"?e.shiftKey?"redo":"undo":t==="y"&&e.ctrlKey&&!e.shiftKey?"redo":null},Sf=()=>{const{targetBoundaryStore:e}=H();return(0,xe.useStore)(e,t=>t.boundary)};Object.defineProperty(exports,"ArrowAnnotation",{enumerable:!0,get:function(){return ta}});Object.defineProperty(exports,"BUILT_IN_GEOM_RENDERERS",{enumerable:!0,get:function(){return Wn}});Object.defineProperty(exports,"BrandMark",{enumerable:!0,get:function(){return nr}});Object.defineProperty(exports,"CanvasTextMeasurer",{enumerable:!0,get:function(){return wn}});Object.defineProperty(exports,"DEFAULT_FONT_FAMILY",{enumerable:!0,get:function(){return Ge}});Object.defineProperty(exports,"DEFAULT_SPRING_TRANSITION",{enumerable:!0,get:function(){return q}});Object.defineProperty(exports,"DefaultFooter",{enumerable:!0,get:function(){return Ro}});Object.defineProperty(exports,"DefaultGrid",{enumerable:!0,get:function(){return da}});Object.defineProperty(exports,"DefaultHeader",{enumerable:!0,get:function(){return Co}});Object.defineProperty(exports,"DefaultSwatch",{enumerable:!0,get:function(){return Mn}});Object.defineProperty(exports,"DefaultTooltip",{enumerable:!0,get:function(){return lo}});Object.defineProperty(exports,"EDIT_TARGET_AXIS_ATTRIBUTE",{enumerable:!0,get:function(){return Fe}});Object.defineProperty(exports,"EDIT_TARGET_KIND_ATTRIBUTE",{enumerable:!0,get:function(){return ge}});Object.defineProperty(exports,"EditorProvider",{enumerable:!0,get:function(){return hu}});Object.defineProperty(exports,"GRAPH_MODES",{enumerable:!0,get:function(){return te}});Object.defineProperty(exports,"GeomRendererResolverProvider",{enumerable:!0,get:function(){return ci}});Object.defineProperty(exports,"GraphContext",{enumerable:!0,get:function(){return Nt}});Object.defineProperty(exports,"GraphRenderer",{enumerable:!0,get:function(){return df}});Object.defineProperty(exports,"GraphRendererBody",{enumerable:!0,get:function(){return ga}});Object.defineProperty(exports,"HoverProvider",{enumerable:!0,get:function(){return Yn}});Object.defineProperty(exports,"Icon",{enumerable:!0,get:function(){return ar}});Object.defineProperty(exports,"ImageAnnotation",{enumerable:!0,get:function(){return na}});Object.defineProperty(exports,"InlineEditorsProvider",{enumerable:!0,get:function(){return Iu}});Object.defineProperty(exports,"IntlProvider",{enumerable:!0,get:function(){return $n}});Object.defineProperty(exports,"LEGEND_OVERFLOW_CONTROL_SELECTOR",{enumerable:!0,get:function(){return dd}});Object.defineProperty(exports,"MODE_SURFACES",{enumerable:!0,get:function(){return ce}});Object.defineProperty(exports,"MinusIcon",{enumerable:!0,get:function(){return Bo}});Object.defineProperty(exports,"OverlayPortal",{enumerable:!0,get:function(){return Qn}});Object.defineProperty(exports,"PortalThemeProvider",{enumerable:!0,get:function(){return no}});Object.defineProperty(exports,"RICH_TEXT_FONT_FAMILIES",{enumerable:!0,get:function(){return oo}});Object.defineProperty(exports,"STICKER_ASSETS",{enumerable:!0,get:function(){return ia}});Object.defineProperty(exports,"ShapeAnnotation",{enumerable:!0,get:function(){return oa}});Object.defineProperty(exports,"TextAnnotation",{enumerable:!0,get:function(){return Nh}});Object.defineProperty(exports,"TextMeasurerProvider",{enumerable:!0,get:function(){return En}});Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return ro}});Object.defineProperty(exports,"Z_INDEX",{enumerable:!0,get:function(){return je}});Object.defineProperty(exports,"__toESM",{enumerable:!0,get:function(){return Tt}});Object.defineProperty(exports,"assignTextStyleVars",{enumerable:!0,get:function(){return Ti}});Object.defineProperty(exports,"buildDotsPath",{enumerable:!0,get:function(){return Ka}});Object.defineProperty(exports,"buildRoundedRectPath",{enumerable:!0,get:function(){return ae}});Object.defineProperty(exports,"canMoveAnnotationOnCanvas",{enumerable:!0,get:function(){return $o}});Object.defineProperty(exports,"createGeomRendererResolver",{enumerable:!0,get:function(){return Un}});Object.defineProperty(exports,"createTargetBoundaryStore",{enumerable:!0,get:function(){return vl}});Object.defineProperty(exports,"darkTheme",{enumerable:!0,get:function(){return eo}});Object.defineProperty(exports,"darkenCss",{enumerable:!0,get:function(){return vn}});Object.defineProperty(exports,"defineGeomRenderer",{enumerable:!0,get:function(){return fl}});Object.defineProperty(exports,"dictionaries",{enumerable:!0,get:function(){return it}});Object.defineProperty(exports,"editor",{enumerable:!0,get:function(){return Oh}});Object.defineProperty(exports,"growRect",{enumerable:!0,get:function(){return Pt}});Object.defineProperty(exports,"isHex",{enumerable:!0,get:function(){return Us}});Object.defineProperty(exports,"isOverlayHosted",{enumerable:!0,get:function(){return Vn}});Object.defineProperty(exports,"isValidCssColor",{enumerable:!0,get:function(){return Ks}});Object.defineProperty(exports,"lightTheme",{enumerable:!0,get:function(){return Jt}});Object.defineProperty(exports,"lightenCss",{enumerable:!0,get:function(){return Vs}});Object.defineProperty(exports,"logDiagnostics",{enumerable:!0,get:function(){return Zr}});Object.defineProperty(exports,"measureArrowEnds",{enumerable:!0,get:function(){return qo}});Object.defineProperty(exports,"measureShapeRegion",{enumerable:!0,get:function(){return Xo}});Object.defineProperty(exports,"measureTextAnnotationBox",{enumerable:!0,get:function(){return Jo}});Object.defineProperty(exports,"previewResizedText",{enumerable:!0,get:function(){return sa}});Object.defineProperty(exports,"readAnnotationUnderPointer",{enumerable:!0,get:function(){return tr}});Object.defineProperty(exports,"readCrosshairLine",{enumerable:!0,get:function(){return Qo}});Object.defineProperty(exports,"readDraggedArrowEndpointFor",{enumerable:!0,get:function(){return _c}});Object.defineProperty(exports,"readDraggedDifferenceArrowEndpointFor",{enumerable:!0,get:function(){return eu}});Object.defineProperty(exports,"readGridLineStyle",{enumerable:!0,get:function(){return He}});Object.defineProperty(exports,"readLegendItemAddress",{enumerable:!0,get:function(){return No}});Object.defineProperty(exports,"readMovedAnnotationFor",{enumerable:!0,get:function(){return Jc}});Object.defineProperty(exports,"readResizedShapeFor",{enumerable:!0,get:function(){return ru}});Object.defineProperty(exports,"readResizedTextFor",{enumerable:!0,get:function(){return ou}});Object.defineProperty(exports,"readRichTextFontId",{enumerable:!0,get:function(){return ao}});Object.defineProperty(exports,"readStampedEditTargetInStack",{enumerable:!0,get:function(){return fd}});Object.defineProperty(exports,"readStanding",{enumerable:!0,get:function(){return Pe}});Object.defineProperty(exports,"resolveAnnotationChromeGeometry",{enumerable:!0,get:function(){return ch}});Object.defineProperty(exports,"resolveBrandMarkVisual",{enumerable:!0,get:function(){return ko}});Object.defineProperty(exports,"resolveEditTargetAtPoint",{enumerable:!0,get:function(){return iu}});Object.defineProperty(exports,"resolveHistoryStep",{enumerable:!0,get:function(){return bf}});Object.defineProperty(exports,"resolvePortalContainer",{enumerable:!0,get:function(){return zt}});Object.defineProperty(exports,"resolveRichTextFontFamily",{enumerable:!0,get:function(){return Ct}});Object.defineProperty(exports,"stampAxisEditTarget",{enumerable:!0,get:function(){return ut}});Object.defineProperty(exports,"stampGridEditTarget",{enumerable:!0,get:function(){return sr}});Object.defineProperty(exports,"stampLegendEditTarget",{enumerable:!0,get:function(){return dt}});Object.defineProperty(exports,"toHtmlTextCss",{enumerable:!0,get:function(){return se}});Object.defineProperty(exports,"useDebouncedCallback",{enumerable:!0,get:function(){return Xn}});Object.defineProperty(exports,"useDifferenceArrowGeometries",{enumerable:!0,get:function(){return Po}});Object.defineProperty(exports,"useEditorState",{enumerable:!0,get:function(){return ie}});Object.defineProperty(exports,"useEditorStore",{enumerable:!0,get:function(){return gu}});Object.defineProperty(exports,"useElementScreenRect",{enumerable:!0,get:function(){return Jn}});Object.defineProperty(exports,"useGeomHitTest",{enumerable:!0,get:function(){return zn}});Object.defineProperty(exports,"useGeomHover",{enumerable:!0,get:function(){return Zn}});Object.defineProperty(exports,"useGeomReaderTree",{enumerable:!0,get:function(){return Ee}});Object.defineProperty(exports,"useGeomRendererResolver",{enumerable:!0,get:function(){return re}});Object.defineProperty(exports,"useGraphCommands",{enumerable:!0,get:function(){return Af}});Object.defineProperty(exports,"useGraphContext",{enumerable:!0,get:function(){return H}});Object.defineProperty(exports,"useGraphHandle",{enumerable:!0,get:function(){return xf}});Object.defineProperty(exports,"useGraphLocale",{enumerable:!0,get:function(){return po}});Object.defineProperty(exports,"useGraphMode",{enumerable:!0,get:function(){return Ce}});Object.defineProperty(exports,"useGraphSelection",{enumerable:!0,get:function(){return ra}});Object.defineProperty(exports,"useGuidesTakePress",{enumerable:!0,get:function(){return ue}});Object.defineProperty(exports,"useHandleScene",{enumerable:!0,get:function(){return yf}});Object.defineProperty(exports,"useHoverContext",{enumerable:!0,get:function(){return he}});Object.defineProperty(exports,"useHoverState",{enumerable:!0,get:function(){return we}});Object.defineProperty(exports,"useI18n",{enumerable:!0,get:function(){return Xt}});Object.defineProperty(exports,"useLatestRef",{enumerable:!0,get:function(){return et}});Object.defineProperty(exports,"useMeasuredBoxRef",{enumerable:!0,get:function(){return So}});Object.defineProperty(exports,"useMeasuredBoxes",{enumerable:!0,get:function(){return bo}});Object.defineProperty(exports,"useResolvedAnnotations",{enumerable:!0,get:function(){return Me}});Object.defineProperty(exports,"useResolvedStyle",{enumerable:!0,get:function(){return R}});Object.defineProperty(exports,"useSceneSelector",{enumerable:!0,get:function(){return O}});Object.defineProperty(exports,"useStyleReaderTree",{enumerable:!0,get:function(){return M}});Object.defineProperty(exports,"useStyleReaders",{enumerable:!0,get:function(){return N}});Object.defineProperty(exports,"useStyleResolver",{enumerable:!0,get:function(){return Ft}});Object.defineProperty(exports,"useSvgPathMorph",{enumerable:!0,get:function(){return Je}});Object.defineProperty(exports,"useTargetBoundary",{enumerable:!0,get:function(){return Sf}});Object.defineProperty(exports,"useTextMeasurer",{enumerable:!0,get:function(){return le}});Object.defineProperty(exports,"useThemeContext",{enumerable:!0,get:function(){return lt}});