@graphysdk/react-renderer 2.0.0-beta.1786440210947 → 2.0.0-beta.1787130761469

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.
@@ -0,0 +1 @@
1
+ require('./history-chords.css');var ia=Object.create,Ke=Object.defineProperty,sa=Object.getOwnPropertyDescriptor,la=Object.getOwnPropertyNames,ca=Object.getPrototypeOf,ua=Object.prototype.hasOwnProperty,da=(e,t)=>{let r={};for(var n in e)Ke(r,n,{get:e[n],enumerable:!0});return t||Ke(r,Symbol.toStringTag,{value:"Module"}),r},ha=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(var a=la(t),i=0,s=a.length,l;i<s;i++)l=a[i],!ua.call(e,l)&&l!==r&&Ke(e,l,{get:(c=>t[c]).bind(null,l),enumerable:!(n=sa(t,l))||n.enumerable});return e},Pt=(e,t,r)=>(r=e!=null?ia(ca(e)):{},ha(t||!e||!e.__esModule?Ke(r,"default",{value:e,enumerable:!0}):r,e));const f=require("./typography-CsG_IWDd.cjs");let d=require("@graphysdk/viz-engine"),g=require("react"),o=require("react/jsx-runtime"),Le=require("zustand"),P=require("motion/react"),ga=require("d3-interpolate-path"),H=require("zustand/react/shallow"),lt=require("@graphysdk/viz-engine/graph-config"),Lr=require("zustand/vanilla"),jt=require("react-dom"),B=require("clsx");B=Pt(B,1);let mt=require("lodash-es/merge");mt=Pt(mt,1);let pa=require("react-intl"),M=require("@floating-ui/react-dom"),Br=require("@vanilla-extract/dynamic"),ma=require("@tiptap/core"),Mr=require("@tiptap/extension-bold"),vt=require("@tiptap/extension-document"),Nr=require("@tiptap/extension-hard-break"),Ir=require("@tiptap/extension-heading"),Or=require("@tiptap/extension-italic"),Fr=require("@tiptap/extension-link"),Dr=require("@tiptap/extension-text"),Gr=require("@tiptap/extension-text-align"),pe=require("@tiptap/extension-text-style"),Hr=require("@tiptap/extension-underline"),Ye=require("@tiptap/extensions"),va=require("@tiptap/extension-paragraph"),kt=require("@tiptap/react"),ne=require("@base-ui/react/toolbar"),ue=require("@base-ui/react/tooltip"),I=require("@base-ui/react/popover"),Jt=require("react-colorful"),ke=require("@base-ui/react/slider"),N=require("@base-ui/react/menu"),fa=require("@base-ui/react/toggle"),xa=require("color2k");typeof window<"u"&&(window.__GRAPHY_SDK__??={},window.__GRAPHY_SDK__.reactRenderer="2.0.0-beta.1787130761469");var Ct=(0,g.createContext)(null),V=()=>{const e=(0,g.useContext)(Ct);if(!e)throw new Error("useGraph* hooks must be used inside a <GraphProvider>");return e},k=e=>{const{store:t}=V();return(0,Le.useStore)(t,r=>e(r.compiled))};function T(e){const{colorScheme:t}=V();return(0,g.useMemo)(()=>(0,d.createStyleResolver)({colorScheme:t}).geomReaders(e),[e,t])}var Vr=e=>{const{colorScheme:t}=V(),r=k(n=>n.layers);return(0,g.useMemo)(()=>{const n=r.find(a=>a.id===e);return n===void 0?null:(0,d.createStyleResolver)({colorScheme:t}).geomReaders(n)},[r,e,t])},ba={centerX:0,centerY:0,radius:1},Et=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}},U=(e,t,r=ba)=>{const n=(0,d.polarToUnit)(e,t);return{x:r.centerX+n.x*r.radius,y:r.centerY-n.y*r.radius}},Rt=(e,t)=>({x:(0,d.toViewBoxX)(e),y:(0,d.toViewBoxY)(t)}),J=(e,t)=>{const r=U(e,t);return{x:(r.x+1)/2,y:(r.y+1)/2}},ya=2,Aa=.7,ae=({hit:e,project:t=Rt})=>{const r=Vr(e.layerId);if(!e.anchored)return null;const n=r?.get("color",e.observation)??d.DEFAULT_GEOM_COLOR,a=((0,d.getAlpha)(e.observation)??1)*Aa,i=(r?.get("size",e.observation)??8)/2,s=r?.get("borderColor",e.observation,"hovered")??d.DEFAULT_HOVER_AFFORDANCE_COLOR,l=t(e.x,e.y);return(0,o.jsx)("circle",{cx:(0,d.toPercent)(l.x),cy:(0,d.toPercent)(l.y),r:i,fill:n,opacity:a,stroke:s,strokeWidth:ya,"data-testid":"companion-point"})},z="_1d8mpa10",re={type:"spring",stiffness:500,damping:60,mass:1},Sa={duration:0},Tt=e=>e?re:Sa,ft=(e,t)=>{const r=(0,P.useMotionValue)(e);return(0,g.useEffect)(()=>{const n=(0,ga.interpolatePath)(r.get(),e);(0,P.animate)(0,1,{...t,onUpdate:a=>{const i=n(a);return r.set(i)}})},[t,e,r]),r},Wr=({shouldAnimateTransitions:e,...t})=>e?(0,o.jsx)(Pa,{...t}):(0,o.jsx)(wa,{...t}),wa=({fillPath:e,linePath:t,fill:r,fillOpacity:n,stroke:a,strokeWidth:i,strokeOpacity:s,strokeDasharray:l})=>(0,o.jsxs)("g",{children:[(0,o.jsx)("path",{d:e,fill:r,fillOpacity:n,stroke:"none"}),(0,o.jsx)("path",{d:t,fill:"none",stroke:a,strokeWidth:i,strokeOpacity:s,strokeDasharray:l,vectorEffect:"non-scaling-stroke"})]}),Pa=({fillPath:e,linePath:t,fill:r,fillOpacity:n,stroke:a,strokeWidth:i,strokeOpacity:s,strokeDasharray:l})=>{const c=ft(e,re),u=ft(t,re);return(0,o.jsxs)("g",{children:[(0,o.jsx)(P.motion.path,{d:c,fill:r,fillOpacity:n,stroke:"none"}),(0,o.jsx)(P.motion.path,{d:u,fill:"none",stroke:a,strokeWidth:i,strokeOpacity:s,strokeDasharray:l,vectorEffect:"non-scaling-stroke"})]})},Lt=(e,t)=>{const r=(t!==void 0?e.delayByKey[t]:void 0)??0;return e.growAxis==="size"?{type:"spring",visualDuration:e.durationSeconds,delay:r}:{duration:e.durationSeconds,ease:e.growAxis==="angle"?"circOut":"backOut",delay:r}},ja=e=>({duration:e.durationSeconds,ease:"easeOut"}),Zt=1.1,_t=1.5,Ur=({intro:e,children:t})=>{const r=(0,g.useId)();return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("clipPath",{id:r,children:(0,o.jsx)(P.motion.rect,{...ka(e.axis),transition:ja(e)})}),(0,o.jsx)("g",{clipPath:`url(#${r})`,children:t})]})},ka=e=>e==="x"?{x:-.05,y:-.25,height:_t,initial:{width:0},animate:{width:Zt}}:{x:-.25,y:-.05,width:_t,initial:{height:0},animate:{height:Zt}},Ca=(0,g.memo)(function({layer:t,coordSystem:r,shouldAnimateTransitions:n,intro:a}){const i=a?.type==="wipe"?a:null,{lineGenerator:s,areaGenerator:l}=(0,g.useMemo)(()=>(0,d.createAreaPathGenerators)(r,t.params),[t.params,r]),c=T(t),u=(0,g.useMemo)(()=>{const h=(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id),p=[];return t.data.groupBy(d.GROUP_VARIABLES.group).forEach(v=>{const m=(0,d.prepareAreaObservations)([...v],t.params.missingValues),x=l(m),y=s(m);if(!x||!y)return;const b=m[0];if(!b)return;const A=c.get("color",b),S=c.get("strokeWidth",b),w=(0,d.getDashArray)(c.get("lineType",b));p.push({key:h(b),areaPath:x,linePath:y,color:A,fillOpacity:c.get("alpha",b),strokeWidth:S,strokeOpacity:c.get("strokeAlpha",b),strokeDasharray:w})}),p},[l,s,t.data,t.id,t.mapping,t.params,c]).map(h=>(0,o.jsx)(Ea,{areaPath:h.areaPath,linePath:h.linePath,color:h.color,fillOpacity:h.fillOpacity,strokeWidth:h.strokeWidth,strokeOpacity:h.strokeOpacity,strokeDasharray:h.strokeDasharray,shouldAnimateTransitions:n},h.key));return(0,o.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"area",className:z,children:i?(0,o.jsx)(Ur,{intro:i,children:u}):u})}),Ea=({areaPath:e,linePath:t,color:r,fillOpacity:n,strokeWidth:a,strokeOpacity:i,strokeDasharray:s,shouldAnimateTransitions:l})=>(0,o.jsx)(Wr,{fillPath:e,linePath:t,fill:r,fillOpacity:n,stroke:r,strokeWidth:a,strokeOpacity:i,strokeDasharray:s,shouldAnimateTransitions:l}),Ra="_324dw20",ct=1,Ta=2,La=1,Ba=12/2,Ma=2.25,ye=({hit:e,project:t=Rt,...r})=>{const n=Vr(e.layerId);if(!e.anchored)return null;const a=n?.get("color",e.observation)??d.DEFAULT_GEOM_COLOR,i=(0,d.getAlpha)(e.observation)??1,s=n?.get("borderColor",e.observation,"hovered")??d.DEFAULT_HOVER_AFFORDANCE_COLOR,l=t(e.x,e.y),c=(0,d.toPercent)(l.x),u=(0,d.toPercent)(l.y),h=Na(e.observation),p=h+ct/2+La+ct/2;return(0,o.jsxs)("g",{...r,className:Ra,children:[(0,o.jsx)("circle",{cx:c,cy:u,r:p,fill:"none",stroke:s,strokeWidth:Ta}),(0,o.jsx)("circle",{cx:c,cy:u,r:h,fill:a,opacity:i,stroke:s,strokeWidth:ct})]})},Na=e=>{const t=(0,d.getSize)(e);return(0,d.isDefined)(t)?t/Ma:Ba},Ia=({layer:e,coordSystem:t,primary:r,companions:n})=>{const a=T(e),i=(0,d.getGroup)(r.observation),s=(0,g.useMemo)(()=>(0,d.prepareAreaObservations)([...e.data.filter(d.GROUP_VARIABLES.group,"eq",i)],e.params.missingValues),[e.data,e.params.missingValues,i]),{areaPath:l,linePath:c}=(0,g.useMemo)(()=>{const{lineGenerator:m,areaGenerator:x}=(0,d.createAreaPathGenerators)(t,e.params);return{areaPath:x(s)??"",linePath:m(s)??""}},[t,e.params,s]);if(!l||!c)return null;const u=a.get("color",r.observation),h=a.get("alpha",r.observation),p=a.get("strokeWidth",r.observation),v=(0,d.getDashArray)(a.get("lineType",r.observation));return(0,o.jsxs)("g",{"data-testid":"hovered-area",children:[(0,o.jsxs)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"area",className:z,children:[(0,o.jsx)("path",{d:l,fill:u,fillOpacity:h,stroke:"none","data-testid":"hovered-area-fill"}),(0,o.jsx)("path",{d:c,fill:"none",stroke:u,strokeWidth:p,strokeOpacity:a.get("strokeAlpha",r.observation),strokeDasharray:v,vectorEffect:"non-scaling-stroke","data-testid":"hovered-area-edge"})]}),n.map(m=>(0,o.jsx)(ae,{hit:m},`companion-${m.layerId}-${m.pointIndex}`)),(0,o.jsx)(ye,{hit:r,"data-testid":"hovered-area-point"})]})},Oa={geom:"area",coord:"cartesian",swatchShape:"area",guideMode:"crosshair",render:({layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n})=>(0,o.jsx)(Ca,{layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n}),renderHover:({layer:e,coordSystem:t,primary:r,group:n,related:a})=>(0,o.jsx)(Ia,{layer:e,coordSystem:t,primary:r,companions:[...n,...a]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(o.Fragment,{children:e.map(t=>(0,o.jsx)(ae,{hit:t},`companion-${t.layerId}-${t.pointIndex}`))}),getOverlayAnchor:({observation:e,coordSystem:t})=>{if(t.mainAxis==="x"){const a=(0,d.getX)(e),i=(0,d.getYMax)(e)??(0,d.getY)(e);return a===null||i===null?null:{x:a,y:i}}const r=(0,d.getY)(e),n=(0,d.getXMax)(e)??(0,d.getX)(e);return r===null||n===null?null:{x:n,y:r}}},xt=(e,t,r)=>{const n=r===void 0?e.activeIntro:r,a=(0,g.useRef)(n?Lt(n,t):null),i=(0,g.useRef)(e.shouldAnimateTransitions);return i.current=e.shouldAnimateTransitions,(0,g.useCallback)(()=>{const s=a.current;return a.current=null,s??Tt(i.current)},[])},et=(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])},Ae=(e,t)=>({borderColor:e.get("borderColor",t),borderWidth:e.get("borderWidth",t),borderRadius:e.get("borderRadius",t),borderAlpha:e.get("alpha",t)}),zr=(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},Fa=(0,g.memo)(function({layer:t,coordSystem:r,shouldAnimateTransitions:n,intro:a}){const i=(0,g.useId)(),s=T(t),l=et(a?.type==="grow"&&(a.growAxis==="x"||a.growAxis==="y")?a:null,n);return(0,o.jsx)(o.Fragment,{children:(0,g.useMemo)(()=>{const c=(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id),u=new Map;for(const h of t.data){const p=(0,d.getBarRectBounds)(r.mainAxis,h);if(!p)continue;const v=(0,d.buildColumnKey)(r.mainAxis,p),m=u.get(v),x={key:c(h),...p,fill:s.get("color",h),opacity:s.get("alpha",h)};m?m.bars.push(x):u.set(v,{bars:[x],style:Ae(s,h)})}return[...u.values()].map(({bars:h,style:p},v)=>{const m=(0,d.getBoundingRect)(h),x=p.borderColor===void 0?void 0:(0,d.resolveBarBorderTreatment)(p.borderWidth);return{key:h[0]?.key??String(v),id:`${i}${v}`,bars:h,...m,radii:Va({borderRadius:p.borderRadius,mainAxis:r.mainAxis,bounds:m}),borderColor:p.borderColor,outlineOpacity:p.borderAlpha,clippedStrokeWidth:x?.outlineWidth,separatorStrokeWidth:x?.separatorWidth}})},[i,r.mainAxis,t,s]).map(c=>{if(c.bars.length===1&&c.borderColor===void 0){const[u]=c.bars;if(!u)return null;const{key:h,...p}=u;return(0,o.jsx)(Qe,{...p,...c.radii,animation:l,introKey:h},h)}return l.isAnimated?(0,o.jsx)(Ga,{column:c,animation:l},c.key):(0,o.jsx)(Da,{column:c,animation:l},c.key)})})}),Da=({column:e,animation:t})=>{const{id:r,bars:n,radii:a,borderColor:i,outlineOpacity:s,clippedStrokeWidth:l,separatorStrokeWidth:c}=e,u=i!==void 0,h=(0,o.jsx)("clipPath",{id:r,children:(0,o.jsx)($t,{bounds:e,radii:a})});if(n.length===1){const[p]=n;if(!p)return null;const{key:v,...m}=p;return(0,o.jsxs)(o.Fragment,{children:[h,(0,o.jsx)("g",{clipPath:`url(#${r})`,children:(0,o.jsx)(Qe,{...m,...a,stroke:i,strokeWidth:l,animation:t},v)})]})}return(0,o.jsxs)(o.Fragment,{children:[h,(0,o.jsxs)("g",{clipPath:`url(#${r})`,children:[n.map(p=>{const{key:v,...m}=p;return(0,o.jsx)(Qe,{...m,stroke:i,strokeWidth:c,animation:t},v)}),u&&(0,o.jsx)($t,{bounds:e,radii:a,fill:"none",stroke:i,strokeWidth:l,opacity:s})]})]})},Ga=({column:e,animation:t})=>{const{id:r,bars:n,radii:a,borderColor:i,outlineOpacity:s,clippedStrokeWidth:l,separatorStrokeWidth:c}=e,u=i!==void 0,h=Ha(e,t,n[0]?.key),p={style:{transformBox:"view-box",x:h.x,y:h.y,width:h.width,height:h.height},rx:a.rx,ry:a.ry},v=(0,o.jsx)("clipPath",{id:r,children:(0,o.jsx)(P.motion.rect,{...p})});if(n.length===1){const[m]=n;return(0,o.jsxs)(o.Fragment,{children:[v,(0,o.jsx)("g",{clipPath:`url(#${r})`,children:(0,o.jsx)(P.motion.rect,{...p,fill:m?.fill,opacity:m?.opacity,stroke:i,strokeWidth:l})})]})}return(0,o.jsxs)(o.Fragment,{children:[v,(0,o.jsxs)("g",{clipPath:`url(#${r})`,children:[n.map(m=>{const{key:x,...y}=m;return(0,o.jsx)(Qe,{...y,stroke:i,strokeWidth:c,animation:t,introKey:x},x)}),u&&(0,o.jsx)(P.motion.rect,{...p,fill:"none",stroke:i,strokeWidth:l,opacity:s})]})]})},Qe=({animation:e,introKey:t,rx:r,ry:n,stroke:a,strokeWidth:i,...s})=>{const{isAnimated:l,activeIntro:c,shouldAnimateTransitions:u}=e;if(l){const h=c?zr(s,c):null;return(0,o.jsx)(P.motion.rect,{initial:h?{x:(0,d.toPercent)(h.x),y:(0,d.toPercent)(h.y),width:(0,d.toPercent)(h.width),height:(0,d.toPercent)(h.height),opacity:s.opacity}:!1,style:{transformBox:"view-box"},transition:c?Lt(c,t):Tt(u),fill:s.fill,opacity:s.opacity,rx:r,ry:n,stroke:a,strokeWidth:i,animate:{x:(0,d.toPercent)(s.x),y:(0,d.toPercent)(s.y),width:(0,d.toPercent)(s.width),height:(0,d.toPercent)(s.height),opacity:s.opacity}})}return(0,o.jsx)("rect",{style:{transformBox:"view-box"},x:(0,d.toPercent)(s.x),y:(0,d.toPercent)(s.y),width:(0,d.toPercent)(s.width),height:(0,d.toPercent)(s.height),fill:s.fill,opacity:s.opacity,rx:r,ry:n,stroke:a,strokeWidth:i})},$t=({bounds:e,radii:t,fill:r,stroke:n,strokeWidth:a,opacity:i})=>(0,o.jsx)("rect",{x:(0,d.toPercent)(e.x),y:(0,d.toPercent)(e.y),width:(0,d.toPercent)(e.width),height:(0,d.toPercent)(e.height),rx:t.rx,ry:t.ry,fill:r,stroke:n,strokeWidth:a,opacity:i}),Ha=(e,t,r)=>{const n=t.activeIntro?zr(e,t.activeIntro):e,a=(0,P.useMotionValue)(n.x),i=(0,P.useMotionValue)(n.y),s=(0,P.useMotionValue)(n.width),l=(0,P.useMotionValue)(n.height),c=xt(t,r);return(0,g.useEffect)(()=>{const u=c(),h=[(0,P.animate)(a,e.x,u),(0,P.animate)(i,e.y,u),(0,P.animate)(s,e.width,u),(0,P.animate)(l,e.height,u)];return()=>{for(const p of h)p.stop()}},[a,i,s,l,e.x,e.y,e.width,e.height,c]),{x:(0,P.useTransform)(a,d.toPercent),y:(0,P.useTransform)(i,d.toPercent),width:(0,P.useTransform)(s,d.toPercent),height:(0,P.useTransform)(l,d.toPercent)}};function Va(e){const t=(0,d.resolveBarCornerRadiiPx)(e);if(e.borderRadius!=="full")return t;const r={};return t.rx!==void 0&&(r.rx=(0,d.toPercent)(t.rx)),t.ry!==void 0&&(r.ry=(0,d.toPercent)(t.ry)),r}var Wa="_1suo8ub0",qr=(e,t,r)=>{const n=new Map;for(const i of e.data){const s=(0,d.getBarRectBounds)(t,i);if(!s)continue;const l=(0,d.buildColumnKey)(t,s),c=n.get(l);c===void 0?n.set(l,{firstObservation:i,memberBounds:[s]}):c.memberBounds.push(s)}const a=new Map;for(const[i,{firstObservation:s,memberBounds:l}]of n)a.set(i,{style:Ae(r,s),bounds:(0,d.getBoundingRect)(l)});return a},Kr=(e,t,r,n)=>{const a=(0,d.getBarRectBounds)(t,n);return a?e.get((0,d.buildColumnKey)(t,a))??{style:Ae(r,n),bounds:a}:null},Xe=(e,t)=>({x:e.x*t.width,y:e.y*t.height,width:e.width*t.width,height:e.height*t.height}),er=(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)}),he=(e,t)=>{const r=Math.max(0,Math.min(t,e.width/2)),n=Math.max(0,Math.min(t,e.height/2)),a=e.x+e.width,i=e.y+e.height;return r<=0||n<=0?`M${e.x},${e.y}H${a}V${i}H${e.x}Z`:[`M${e.x+r},${e.y}`,`H${a-r}`,`A${r},${n} 0 0 1 ${a},${e.y+n}`,`V${i-n}`,`A${r},${n} 0 0 1 ${a-r},${i}`,`H${e.x+r}`,`A${r},${n} 0 0 1 ${e.x},${i-n}`,`V${e.y+n}`,`A${r},${n} 0 0 1 ${e.x+r},${e.y}`,"Z"].join("")},Ua=({observation:e,mainAxis:t,styleReaders:r,column:n,panelRect:a})=>{const i=(0,g.useId)(),s=(0,g.useId)(),l=(0,d.getBarRectBounds)(t,e);if(!l)return null;const c=Xe(l,a),u=Xe(n.bounds,a),{borderColor:h,borderWidth:p,borderRadius:v,borderAlpha:m}=n.style,x=(0,d.resolveBarBorderRadiusPx)({borderRadius:v,mainAxis:t,bounds:u}),y=he(c,0),b=he(u,x),A=r.get("color",e),S=r.get("alpha",e),w=(0,d.resolveBarBorderTreatment)(p);return(0,o.jsxs)("g",{clipPath:`url(#${i})`,children:[(0,o.jsx)("clipPath",{id:i,children:(0,o.jsx)("path",{d:y})}),(0,o.jsx)("clipPath",{id:s,children:(0,o.jsx)("path",{d:b})}),(0,o.jsxs)("g",{clipPath:`url(#${s})`,children:[(0,o.jsx)("path",{d:y,fill:A,opacity:S,"data-testid":"highlight-bar-segment"}),h!==void 0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("path",{d:y,fill:"none",stroke:h,strokeWidth:w.separatorWidth,opacity:S,"data-testid":"highlight-bar-segment-border"}),(0,o.jsx)("path",{d:b,fill:"none",stroke:h,strokeWidth:w.outlineWidth,opacity:m})]})]})]})},za=({layer:e,sourceLayer:t,coordSystem:r,panelRect:n})=>{const a=T(t),i=(0,g.useMemo)(()=>qr(t,r.mainAxis,a),[t,r.mainAxis,a]),s=(0,d.createStableKeyGenerator)(e.data,e.mapping,e.id),l=[];for(const c of e.data){const u=Kr(i,r.mainAxis,a,c);u!==null&&l.push((0,o.jsx)(Ua,{observation:c,mainAxis:r.mainAxis,styleReaders:a,column:u,panelRect:n},s(c)))}return l},ut=3,qa=({layer:e,coordSystem:t,primary:r,panelRect:n})=>{const a=T(e),i=(0,g.useId)(),s=(0,g.useId)(),l=(0,g.useId)(),c=(0,g.useMemo)(()=>qr(e,t.mainAxis,a),[e,t.mainAxis,a]),u=(0,d.getBarRectBounds)(t.mainAxis,r.observation),h=Kr(c,t.mainAxis,a,r.observation);if(!u||h===null)return null;const p=Xe(u,n),v=Xe(h.bounds,n),{borderColor:m,borderWidth:x,borderRadius:y,borderAlpha:b}=h.style,A=(0,d.resolveBarBorderRadiusPx)({borderRadius:y,mainAxis:t.mainAxis,bounds:v}),S=he(p,0),w=he(v,A),C=he(er(p,ut),0),E=he(er(v,ut),A>0?A+ut:0),j=a.get("color",r.observation),R=a.get("alpha",r.observation),L=a.get("borderColor",r.observation,"hovered")??d.DEFAULT_HOVER_AFFORDANCE_COLOR,F=(0,d.resolveBarBorderTreatment)(x);return(0,o.jsxs)("g",{"data-testid":"hovered-bar",children:[(0,o.jsx)("clipPath",{id:i,children:(0,o.jsx)("path",{d:E})}),(0,o.jsx)("clipPath",{id:s,children:(0,o.jsx)("path",{d:S})}),(0,o.jsx)("clipPath",{id:l,children:(0,o.jsx)("path",{d:w})}),(0,o.jsx)("g",{className:Wa,children:(0,o.jsx)("g",{clipPath:`url(#${i})`,children:(0,o.jsx)("path",{d:C,fill:L,"data-testid":"hovered-bar-border"})})}),(0,o.jsx)("g",{clipPath:`url(#${s})`,children:(0,o.jsxs)("g",{clipPath:`url(#${l})`,children:[(0,o.jsx)("path",{d:S,fill:j,opacity:R,"data-testid":"hovered-bar-fill"}),m!==void 0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("path",{d:S,fill:"none",stroke:m,strokeWidth:F.separatorWidth,opacity:R,"data-testid":"hovered-bar-inner-border"}),(0,o.jsx)("path",{d:w,fill:"none",stroke:m,strokeWidth:F.outlineWidth,opacity:b})]})]})})]})},Ka={geom:"bar",coord:"cartesian",swatchShape:"square",guideMode:"band",render:({layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n})=>(0,o.jsx)(Fa,{layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n}),renderHighlight:({layer:e,sourceLayer:t,coordSystem:r,panelRect:n})=>(0,o.jsx)(za,{layer:e,sourceLayer:t,coordSystem:r,panelRect:n}),renderHover:({layer:e,coordSystem:t,primary:r,panelRect:n})=>(0,o.jsx)(qa,{layer:e,coordSystem:t,primary:r,panelRect:n}),renderHoverCompanions:()=>null},Ya=(0,g.memo)(function({layer:t,shouldAnimateTransitions:r,intro:n}){const a=n?.type==="wipe"?n:null,i=(0,g.useMemo)(()=>(0,d.createLinePathGenerator)(t.params),[t.params]),s=(0,g.useMemo)(()=>(0,d.createLineFillAreaGenerator)(t.params),[t.params]),l=T(t),c=(0,g.useMemo)(()=>{const u=(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id),h=[];return t.data.groupBy(d.GROUP_VARIABLES.group).forEach(p=>{const v=(0,d.prepareLineObservations)([...p],t.params.missingValues),m=i(v);if(!m)return;const x=v[0];if(!x)return;const y=l.get("fillAlpha",x),b=y===void 0?void 0:s(v)??void 0,A=l.get("color",x),S=l.get("strokeWidth",x),w=(0,d.getDashArray)(l.get("lineType",x));h.push({key:u(x),pathData:m,fillPath:b,fillAlpha:y,color:A,opacity:l.get("alpha",x),strokeWidth:S,strokeDasharray:w})}),h},[i,s,t.data,t.id,t.mapping,t.params,l]).map(u=>(0,o.jsx)(Qa,{pathData:u.pathData,fillPath:u.fillPath,fillAlpha:u.fillAlpha,color:u.color,strokeWidth:u.strokeWidth,opacity:u.opacity,strokeDasharray:u.strokeDasharray,shouldAnimateTransitions:r},u.key));return(0,o.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"line",className:z,children:a?(0,o.jsx)(Ur,{intro:a,children:c}):c})}),Qa=({pathData:e,fillPath:t,fillAlpha:r,color:n,strokeWidth:a,opacity:i,strokeDasharray:s,shouldAnimateTransitions:l})=>t!==void 0&&r!==void 0?(0,o.jsx)(Xa,{fillPath:t,fillAlpha:r,linePath:e,color:n,strokeWidth:a,opacity:i,strokeDasharray:s,shouldAnimateTransitions:l}):l?(0,o.jsx)(Ja,{pathData:e,color:n,strokeWidth:a,opacity:i,strokeDasharray:s}):(0,o.jsx)("path",{d:e,fill:"none",stroke:n,strokeWidth:a,opacity:i,strokeDasharray:s,vectorEffect:"non-scaling-stroke"}),Xa=({fillPath:e,fillAlpha:t,linePath:r,color:n,strokeWidth:a,opacity:i,strokeDasharray:s,shouldAnimateTransitions:l})=>{const c=`line_fill_gradient_${(0,g.useId)()}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("defs",{children:(0,o.jsxs)("linearGradient",{id:c,gradientTransform:"rotate(90 0.5 0.5)",children:[(0,o.jsx)("stop",{offset:"0%",stopColor:n}),(0,o.jsx)("stop",{offset:"70%",stopColor:n,stopOpacity:0}),(0,o.jsx)("stop",{offset:"100%",stopColor:n,stopOpacity:0})]})}),(0,o.jsx)(Wr,{fillPath:e,linePath:r,fill:`url(#${c})`,fillOpacity:t,stroke:n,strokeWidth:a,strokeOpacity:i,strokeDasharray:s,shouldAnimateTransitions:l})]})},Ja=({pathData:e,color:t,strokeWidth:r,opacity:n,strokeDasharray:a})=>{const i=ft(e,re);return(0,o.jsx)(P.motion.path,{d:i,fill:"none",stroke:t,strokeWidth:r,opacity:n,strokeDasharray:a,vectorEffect:"non-scaling-stroke"})},Za=({layer:e,primary:t,companions:r})=>{const n=T(e),a=(0,d.getGroup)(t.observation),i=(0,g.useMemo)(()=>(0,d.prepareLineObservations)([...e.data.filter(d.GROUP_VARIABLES.group,"eq",a)],e.params.missingValues),[e.data,e.params.missingValues,a]),s=(0,g.useMemo)(()=>(0,d.createLinePathGenerator)(e.params)(i),[e.params,i]);if(!s)return null;const l=n.get("color",t.observation),c=n.get("alpha",t.observation),u=n.get("strokeWidth",t.observation),h=(0,d.getDashArray)(n.get("lineType",t.observation));return(0,o.jsxs)("g",{"data-testid":"hovered-line",children:[(0,o.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"line",className:z,children:(0,o.jsx)("path",{d:s,fill:"none",stroke:l,strokeWidth:u,opacity:c,strokeDasharray:h,vectorEffect:"non-scaling-stroke","data-testid":"hovered-line-path"})}),r.map(p=>(0,o.jsx)(ae,{hit:p},`companion-${p.layerId}-${p.pointIndex}`)),(0,o.jsx)(ye,{hit:t,"data-testid":"hovered-line-point"})]})},_a={geom:"line",coord:"cartesian",swatchShape:"line",guideMode:"crosshair",render:({layer:e,shouldAnimateTransitions:t,intro:r})=>(0,o.jsx)(Ya,{layer:e,shouldAnimateTransitions:t,intro:r}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,o.jsx)(Za,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(o.Fragment,{children:e.map(t=>(0,o.jsx)(ae,{hit:t},`companion-${t.layerId}-${t.pointIndex}`))}),getOverlayAnchor:({observation:e})=>{const t=(0,d.getX)(e),r=(0,d.getY)(e);return t===null||r===null?null:{x:t,y:r}}},Yr=({observation:e,project:t,styleReaders:r,animation:n,introKey:a})=>{const i=(0,d.getX)(e),s=(0,d.getY)(e);if(i===null||s===null)return null;const l=t(i,s),c=(0,d.toPercent)(l.x),u=(0,d.toPercent)(l.y),h=r.get("size",e)/2,p=r.get("color",e),v=r.get("alpha",e),m=r.get("borderColor",e),x=r.get("borderWidth",e),{isAnimated:y,activeIntro:b,shouldAnimateTransitions:A}=n;return y?(0,o.jsx)(P.motion.circle,{initial:b?{cx:c,cy:u,r:0,opacity:0}:!1,transition:b?Lt(b,a):Tt(A),fill:p,stroke:m,strokeWidth:x,animate:{cx:c,cy:u,r:h,opacity:v}}):(0,o.jsx)("circle",{cx:c,cy:u,r:h,fill:p,opacity:v,stroke:m,strokeWidth:x})},$a=(0,g.memo)(function({layer:t,shouldAnimateTransitions:r,intro:n}){const a=T(t),i=et(n?.type==="grow"&&n.growAxis==="size"?n:null,r);return(0,g.useMemo)(()=>{const s=i.activeIntro?(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id):null,l=[];let c=0;for(const u of t.data)l.push((0,o.jsx)(Yr,{observation:u,project:Rt,styleReaders:a,animation:i,introKey:s?.(u)},String(c++)));return l},[t.data,t.mapping,t.id,a,i])}),tr=({primary:e,companions:t})=>{const r=(0,o.jsxs)(o.Fragment,{children:[t.map(n=>(0,o.jsx)(ae,{hit:n},`companion-${n.layerId}-${n.pointIndex}`)),e?(0,o.jsx)(ye,{hit:e}):null]});return e?(0,o.jsx)("g",{"data-testid":"hovered-point",children:r}):r},ei={geom:"point",coord:"cartesian",swatchShape:"circle",render:({layer:e,shouldAnimateTransitions:t,intro:r})=>(0,o.jsx)($a,{layer:e,shouldAnimateTransitions:t,intro:r}),renderHover:({primary:e,group:t,related:r})=>(0,o.jsx)(tr,{primary:e,companions:[...t,...r]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(tr,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,d.getX)(e),r=(0,d.getY)(e);return t===null||r===null?null:{x:t,y:r}}},ti={small:1.9,medium:2.3,large:2.6},ri={small:1,medium:1,large:1.2},Qr=f.FONT_LINE_HEIGHT.sm,O=(e,t)=>`color-mix(in srgb, transparent, ${e} ${t*100}%)`,Xr=(e,t)=>`hsl(from ${e} h s calc(l * ${1-t}))`,ni=(e,t)=>`hsl(from ${e} h s calc(l * ${1+t}))`,rr=(e,t,r)=>`color-mix(in srgb, ${e}, ${t} ${r*100}%)`,oi=e=>/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e),ai=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),Y=e=>`${e}px`,Bt={gridLineWidth:"1px",tooltipBorderRadius:"6px",tooltipBorderWidth:"1px",tooltipPaddingBlock:"8px",tooltipPaddingInline:"10px",tooltipRowGap:"4px",tooltipShadow:"0 4px 12px rgba(0, 0, 0, 0.18)",editorControlHeight:Y(32),legendItemGap:Y(8),legendSwatchGap:Y(8),legendSwatchWidth:Y(10),legendSwatchHeight:Y(12),legendPillPaddingInline:Y(8),legendPillPaddingBlock:Y(2),legendPillBorderWidth:Y(1),headlineRowGap:Y(2),headlineItemGap:Y(24)},ge={panelOverlay:5,textToolbar:10,textToolbarTooltip:20,textToolbarPopover:30,legendPopover:40,editorOverlay:900,editorOverlayPopover:950,tooltip:1e3},Jr={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)"},Zr={radiiXs:"4px",radiiSm:"6px",radiiMd:"8px",radiiLg:"12px"},_r={zIndexToolbar:`${ge.textToolbar}`,zIndexToolbarTooltip:`${ge.textToolbarTooltip}`,zIndexToolbarPopover:`${ge.textToolbarPopover}`,zIndexEditorPopover:`${ge.editorOverlayPopover}`},ii=8,ce=e=>`${ii*e}px`,$r={spaceXxs:ce(.25),spaceXs:ce(.5),spaceSm:ce(.75),spaceMd:ce(1),spaceLg:ce(1.5),spaceXl:ce(2)},si={transparent:"transparent",white:"#FFFFFF",black:"#000000",grey100:"#FFFFFF",grey95:"#FCFCFC",grey90:"#FAFAFA",grey85:"#F5F5F5",grey80:"#F0F0F0",grey75:"#E8E8E8",grey70:"#E5E5E5",grey60:"#CCCCCC",grey50:"#C4C4C4",grey0:"#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",greyGradient80:"linear-gradient(to top, #F0F0F1, #F9F9FF)"},li={textPrimary:f.vars.black,textSecondary:O(f.vars.textPrimary,.6),textDisabled:O(f.vars.textPrimary,.5),iconPrimary:"currentColor",iconSecondary:O(f.vars.textPrimary,.6),iconStickerBackground:f.vars.grey100,brand:f.vars.purple50,success:f.vars.green50,warning:f.vars.amber50,alert:f.vars.red50,border100:f.vars.grey0,border50:O(f.vars.grey0,.5),border10:O(f.vars.grey0,.1),sunkenBackground:f.vars.grey90,defaultBackground:f.vars.grey100,raisedBackground:f.vars.grey85,overlayBackground:f.vars.grey100,overlayBorderGradient:f.vars.border10},ci={graphBackground:f.vars.grey100,gridLineColor:f.vars.border10,axisTickColor:f.vars.border10,originLineColor:f.vars.grey0,legendBackground:f.vars.defaultBackground,legendBorderColor:f.vars.border10,legendFocusOutlineColor:f.vars.border50,legendTextColor:f.vars.textPrimary,dimmedSeriesLabelTextColor:f.vars.textDisabled,dimmedSeriesLabelLineColor:f.vars.grey60,trendNegativeColor:f.vars.red60,trendPositiveColor:f.vars.green60,trendNeutralColor:f.vars.textSecondary,toolbarBackgroundColor:f.vars.overlayBackground,toolbarButtonBackgroundColor:"transparent",toolbarButtonBackgroundColorHovered:f.vars.grey80,toolbarButtonBackgroundColorSelected:f.vars.grey60,toolbarSeparatorColor:f.vars.grey60,tooltipBackground:f.vars.white,tooltipBorderColor:f.vars.border10,tooltipHeadingTextColor:f.vars.textPrimary,tooltipLabelTextColor:f.vars.textSecondary,tooltipValueTextColor:f.vars.textPrimary,tooltipPrimaryRowColor:f.vars.grey80,hoverGuideLineColor:O(f.vars.black,.2),hoverGuideFillColor:O(f.vars.black,.04),heatmapEmptyTileBackground:f.vars.grey80,defaultAnnotationArrowStroke:f.vars.black,defaultAnnotationShapeFill:f.vars.canvasBlue,arrowAnnotationStickerOutlineColor:"#1D2129",arrowAnnotationStickerOutlineColorInverse:"#FFFFFF",annotationFrameBorderColor:f.vars.blue60,editMenuTriggerIconColor:"#3d414c"},ui={canvasDefault:"#000000",canvasBlue:"#3b82f6",canvasCyan:"#06b6d4",canvasGreen:"#10b981",canvasYellow:"#E5B400",canvasOrange:"#f97316",canvasRed:"#ef4444",canvasPink:"#E845BF",canvasPurple:"#8b5cf6",canvasGray:"#78716c",canvasInverse:"#ffffff"},en={...si,...li,...Jr,...Zr,...$r,..._r,...ci,...ui,...Bt,...f.baseTypographyTokens,...f.semanticTypographyTokens,...f.elementTypographyTokens},tt=(e,t)=>e*10*t,Mt=(e,t)=>({family:e.family,size:e.size.unit==="em"?tt(e.size.value,t):e.size.value,weight:e.weight,style:e.style}),di=(e,t={})=>{const r=dt(e.fontFamilyDefault)??dt(f.DEFAULT_FONT_FAMILY)??"";return{legendLabel:(a=>{const i=t[a]??{},s=f.MEASURED_ELEMENT_FONT_DEFINITIONS[a],l=tn(s,e);l===null&&gi(a);const c=l??hi(s);return{family:dt(i.family)??r,style:i.style??"normal",weight:i.weight??c.weight,size:i.size??c.size,lineHeight:i.lineHeight??c.lineHeight}})("fontLegendLabel"),familyDefault:r}},tn=(e,t)=>{const r=(0,lt.parseFontWeight)(t[e.weight]),n=(0,lt.parseFontLength)(t[e.size]),a=(0,lt.parseUnitlessLineHeight)(t[e.lineHeight]);return r===null||n===null||a===null?null:{weight:r,size:n,lineHeight:a}},hi=e=>{const t=tn(e,en);if(t===null)throw new Error("[react-renderer] Base typography leaf tokens failed to parse.");return t},dt=e=>e===void 0||e.includes("var(")?null:e.replace(/\s+/g," ").trim(),gi=e=>{process.env.NODE_ENV!=="production"&&console.warn(`[react-renderer] The leaf tokens composing "${e}" could not be resolved to a measurable font. Measurement falls back to the token's default; paint may disagree. Leaf overrides must be concrete values (px/em sizes, numeric weights, unitless line-heights).`)},pi={transparent:"transparent",white:"#FFFFFF",black:"#000000",grey100:"#000000",grey95:"#0D0D0D",grey90:"#1A1A1A",grey85:"#1F1F1F",grey80:"#2A2A2A",grey75:"#2e2e2e",grey70:"#353535",grey60:"#494949",grey50:"#6F6F6F",grey0:"#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",greyGradient80:"linear-gradient(to top, #222429, #31353f)"},mi={textPrimary:f.vars.grey0,textSecondary:O(f.vars.textPrimary,.8),textDisabled:O(f.vars.textPrimary,.5),iconPrimary:"currentColor",iconSecondary:O(f.vars.textPrimary,.6),iconStickerBackground:f.vars.grey70,border100:f.vars.grey0,border50:O(f.vars.grey0,.5),border10:O(f.vars.grey0,.1),brand:f.vars.purple50,success:f.vars.green50,warning:f.vars.amber50,alert:f.vars.red50,sunkenBackground:f.vars.grey100,defaultBackground:f.vars.grey90,raisedBackground:f.vars.grey80,overlayBackground:f.vars.grey90,overlayBorderGradient:f.vars.greyGradient80},vi={graphBackground:f.vars.grey90,gridLineColor:f.vars.border10,axisTickColor:f.vars.border10,originLineColor:f.vars.grey0,legendBackground:f.vars.defaultBackground,legendBorderColor:f.vars.border10,legendFocusOutlineColor:f.vars.border50,legendTextColor:f.vars.textPrimary,dimmedSeriesLabelTextColor:f.vars.textDisabled,dimmedSeriesLabelLineColor:f.vars.grey60,trendNegativeColor:f.vars.red60,trendPositiveColor:f.vars.green60,trendNeutralColor:f.vars.textSecondary,toolbarBackgroundColor:f.vars.overlayBackground,toolbarButtonBackgroundColor:"transparent",toolbarButtonBackgroundColorHovered:f.vars.grey80,toolbarButtonBackgroundColorSelected:f.vars.grey60,toolbarSeparatorColor:f.vars.grey60,tooltipBackground:f.vars.grey70,tooltipBorderColor:f.vars.grey60,tooltipHeadingTextColor:f.vars.textPrimary,tooltipLabelTextColor:f.vars.textSecondary,tooltipValueTextColor:f.vars.textPrimary,tooltipPrimaryRowColor:f.vars.grey60,hoverGuideLineColor:O(f.vars.white,.2),hoverGuideFillColor:O(f.vars.white,.06),heatmapEmptyTileBackground:f.vars.grey80,defaultAnnotationArrowStroke:f.vars.white,defaultAnnotationShapeFill:f.vars.canvasBlue,arrowAnnotationStickerOutlineColor:"#FFFFFF",arrowAnnotationStickerOutlineColorInverse:"#1D2129",annotationFrameBorderColor:f.vars.blue60,editMenuTriggerIconColor:f.vars.white},fi={canvasDefault:"#FFFFFF",canvasBlue:"#60a5fa",canvasCyan:"#22d3ee",canvasGreen:"#34d399",canvasYellow:"#FFC800",canvasOrange:"#fb923c",canvasRed:"#f87171",canvasPink:"#F979D9",canvasPurple:"#a78bfa",canvasGray:"#a8a29e",canvasInverse:"#000000"},xi={...pi,...mi,...Jr,...Zr,...$r,..._r,...vi,...fi,...Bt,...f.baseTypographyTokens,...f.semanticTypographyTokens,...f.elementTypographyTokens},rn=(e,t={})=>{const r={},n={};for(const[a,i]of Object.entries(t))if(i!=null)if(f.isMeasuredFontTokenKey(a)){const s=i;n[a]=s,r[a]=f.buildFontShorthand(a,s)}else r[a]=i;return{values:{...e==="dark"?xi:en,...r},fontOverrides:n}},nn=(e,t={})=>rn(e,t).values,on=(e,t={})=>{const{values:r,fontOverrides:n}=rn(e,t),a=Q(r.legendPillPaddingInline,8),i=Q(r.legendPillPaddingBlock,2),s=Q(r.legendPillBorderWidth,1);return{legendSwatchWidth:Q(r.legendSwatchWidth,10),legendSwatchHeight:Q(r.legendSwatchHeight,12),legendSwatchGap:Q(r.legendSwatchGap,8),legendItemGap:Q(r.legendItemGap,8),legendPillPaddingInline:a,legendPillPaddingBlock:i,legendPillBorderWidth:s,legendPillHorizontalChrome:2*(a+s),legendPillVerticalChrome:2*(i+s),headlineRowGap:Q(r.headlineRowGap,2),headlineItemGap:Q(r.headlineItemGap,24),fonts:di(r,n)}},bi=Object.freeze(on("light"));function Q(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 an=(0,g.createContext)(bi),yi=({metrics:e,children:t})=>(0,o.jsx)(an.Provider,{value:e,children:t}),ie=()=>(0,g.useContext)(an),Z=()=>{const{colorScheme:e}=V(),t=k(r=>r.chrome);return(0,g.useMemo)(()=>(0,d.createStyleResolver)({colorScheme:e}).chromeReaders(t),[t,e])},Ai=e=>{const t=Z(),r=k(n=>n.config.appearance.textScale);return(0,g.useMemo)(()=>(0,d.resolveRuleLabelStyle)(t,e,r),[t,e,r])},Si=/\p{Emoji_Presentation}|\p{Emoji}\uFE0F/gu,sn="😀",ln=class cn{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 cn}measureText(t,r){const n=(0,d.buildFontString)(r);this.setFont(n);const{width:a,fontBoundingBoxAscent:i,fontBoundingBoxDescent:s}=this.ctx.measureText(t);let l=a;const c=wi(t);if(c>0){const u=this.getEmojiCorrection(n);l-=u*c}return{width:l,height:i+s,ascent:i,descent:s}}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(sn).width,a=Pi(t);let i=0;if(a!==null){const s=n-a;i=s>.5?s:0}return this.emojiCorrections.set(t,i),i}},te=null,wi=e=>{const t=e.match(Si);return t?t.length:0},Pi=e=>{const t=ji();return t?(t.style.font=e,t.getBoundingClientRect().width):null},ji=()=>typeof document>"u"?null:(te||(te=document.createElement("span"),te.style.position="absolute",te.style.visibility="hidden",te.style.whiteSpace="nowrap",te.style.left="-9999px",te.textContent=sn,document.body.appendChild(te)),te),un=(0,g.createContext)(null),dn=({children:e,measurer:t})=>{const[r,n]=(0,g.useState)(null);(0,g.useEffect)(()=>{if(t!==void 0)return;let i=!1;const s=()=>{i||n(ki())};return(async()=>(typeof document<"u"&&"fonts"in document&&await document.fonts.ready,s()))(),typeof document<"u"&&"fonts"in document&&document.fonts.addEventListener("loadingdone",s),()=>{i=!0,typeof document<"u"&&"fonts"in document&&document.fonts.removeEventListener("loadingdone",s)}},[t]);const a=t??r;return a===null?null:(0,o.jsx)(un.Provider,{value:a,children:e})},se=()=>{const e=(0,g.useContext)(un);if(e===null)throw new Error("useTextMeasurer must be used inside a <TextMeasurerProvider>.");return e},ki=()=>{try{return new d.CachedTextMeasurer(new ln)}catch{return new d.CachedTextMeasurer(new d.HeuristicTextMeasurer)}},hn=(0,g.createContext)(null),Ci=hn.Provider,Ei=null,oe=()=>(0,g.useContext)(hn)??(Ei??=Pn()),Ri="_16vokpr0",Ti=(e,t)=>e.mapping.y!==void 0!=(t.mainAxis==="y"),Li=(e,t)=>{const r=(0,d.toPercent)(e?1-t:t);return e?{x1:"0%",y1:r,x2:"100%",y2:r}:{x1:r,y1:"0%",x2:r,y2:"100%"}},Bi=(e,t)=>{const r=(0,d.getRuleDashPattern)(e,t);return r.length===0?{}:{strokeDasharray:r.join(" "),strokeLinecap:"round",...e==="dashed"?{strokeMiterlimit:16}:{}}},Mi=(e,t)=>We(e)&&We(t)?`${e}: ${t}`:We(e)?e:We(t)?t:null,We=e=>e!=null&&e.trim()!=="",gn=Object.freeze({}),Nt=(0,g.createContext)(gn),Ni=({slots:e,children:t})=>(0,o.jsx)(Nt.Provider,{value:e??gn,children:t});function X(e,t){const r=(0,g.useContext)(Nt)[e];return r===void 0?t:typeof r=="object"&&Oi(r)?r.render:r}function Ii(){const e=(0,g.useContext)(Nt);return{measureAxis:e.AxisTicks?.measure,measureAxisLabel:e.AxisLabel?.measure,measureLegend:e.Legend?.measure,measureHeadline:e.Headline?.measure.measureHeadline,measureHeadlineItemWidths:e.Headline?.measure.measureHeadlineItemWidths}}function Oi(e){return"render"in e&&"measure"in e}var Fi="_2qyyu60",nr=2,Di=12,Gi=12,or=1,ar=2,Hi=4,Be=e=>(0,o.jsx)(X("Swatch",pn),{...e}),pn=({shape:e,color:t,lineType:r="solid",width:n=Di,height:a=Gi})=>(0,o.jsx)("svg",{className:Fi,width:n,height:a,viewBox:`0 0 ${n} ${a}`,"aria-hidden":!0,"data-testid":"chart-swatch","data-shape":e,children:Vi({shape:e,color:t,lineType:r,width:n,height:a})}),Vi=({shape:e,color:t,lineType:r,width:n,height:a})=>{const i=Wi(r,n);switch(e){case"square":return(0,o.jsx)("rect",{x:1,y:1,width:n-2,height:a-2,rx:2,fill:t});case"line":return(0,o.jsx)("line",{x1:i.x1,y1:a/2,x2:i.x2,y2:a/2,stroke:t,strokeWidth:nr,strokeLinecap:i.linecap,strokeDasharray:i.dashArray});case"circle":{const s=(Math.min(n,a)-2)/2;return(0,o.jsx)("circle",{cx:n/2,cy:a/2,r:s,fill:t})}case"area":{const s=a/2-1;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("rect",{x:1,y:s,width:n-2,height:a-s-1,fill:t,opacity:.45}),(0,o.jsx)("line",{x1:i.x1,y1:s,x2:i.x2,y2:s,stroke:t,strokeWidth:nr,strokeLinecap:i.linecap,strokeDasharray:i.dashArray})]})}case"slice":return(0,o.jsx)("path",{d:`M 0 ${a} L ${n} ${a} A ${n} ${a} 0 0 0 0 0 Z`,fill:t})}},Wi=(e,t)=>e==="solid"?{x1:0,x2:t,dashArray:void 0,linecap:"round"}:e==="dashed"?{x1:0,x2:t,dashArray:`${(t-or*(ar-1))/ar} ${or}`,linecap:"butt"}:{x1:0,x2:t,dashArray:`1 ${t/(Hi-1)}`,linecap:"round"},fe=e=>({fontFamily:e.fontFamily??f.CHART_FONT_FAMILY,fontSize:e.fontSize,fontWeight:e.fontWeight}),Ui=11.7,ir=21.6,zi="0 0 10 18",qi="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",Ki=({labelPosition:e,linePosition:t,color:r,pillWidth:n,pillHeight:a,text:i,shouldAnimateTransitions:s})=>{const l=e==="start",c=l?-13:-(n-13),u=l?c+n-5:c+5-12,h=l?void 0:`rotate(180 ${u+12/2} ${a/2})`,p=l?"0%":"100%",v=(0,d.toPercent)(1-t),m=(0,o.jsxs)("g",{transform:`translate(0, ${-a/2})`,pointerEvents:"none",children:[(0,o.jsx)("rect",{x:c,y:0,width:n,height:a,rx:6,fill:r}),(0,o.jsx)("g",{transform:h,children:(0,o.jsx)("svg",{x:u,y:(a-ir)/2,width:12,height:ir,viewBox:zi,overflow:"visible",children:(0,o.jsx)("path",{d:qi,fill:r})})}),(0,o.jsx)("g",{transform:`translate(${c+5}, ${a/2})`,children:i})]});return s?(0,o.jsx)(P.motion.svg,{initial:!1,transition:re,x:p,animate:{y:v},overflow:"visible",children:m}):(0,o.jsx)("svg",{x:p,y:v,overflow:"visible",children:m})},Yi=({labelPosition:e,linePosition:t,color:r,pillWidth:n,pillHeight:a,text:i,shouldAnimateTransitions:s})=>{const l=e==="start",c=l?-13:-(a-13),u=(0,d.toPercent)(t),h=l?"100%":"0%",p=(0,o.jsxs)("g",{transform:`translate(${-n/2}, 0)`,pointerEvents:"none",children:[(0,o.jsx)("rect",{x:0,y:c,width:n,height:a,rx:6,fill:r}),(0,o.jsx)("g",{transform:`translate(5, ${c+a/2})`,children:i})]});return s?(0,o.jsx)(P.motion.svg,{initial:!1,transition:re,y:h,animate:{x:u},overflow:"visible",children:p}):(0,o.jsx)("svg",{x:u,y:h,overflow:"visible",children:p})},Qi=({label:e,textStyle:t,textWidth:r,labelPosition:n,isHorizontalLine:a,position:i,color:s,textColor:l,symbolShape:c,symbolColor:u,shouldAnimateTransitions:h})=>{const p=c===null?0:14,v=r+p+10,m=Math.max(Ui,(0,d.computeLineBoxHeight)(t))+10,x=(0,o.jsxs)(o.Fragment,{children:[c!==null&&u!==null&&(0,o.jsx)("g",{transform:`translate(0, ${-10/2})`,children:(0,o.jsx)(Be,{shape:c,color:u,surface:"rule-label",width:10,height:10})}),(0,o.jsx)("text",{x:p,textAnchor:"start",dominantBaseline:"central",fill:l,style:fe(t),children:e})]});return a?(0,o.jsx)(Ki,{labelPosition:n,linePosition:i,color:s,pillWidth:v,pillHeight:m,text:x,shouldAnimateTransitions:h}):(0,o.jsx)(Yi,{labelPosition:n,linePosition:i,color:s,pillWidth:v,pillHeight:m,text:x,shouldAnimateTransitions:h})},Xi=({strokeWidth:e,lineType:t,isHorizontalLine:r,position:n,lineColor:a,shouldAnimateTransitions:i})=>{const s=Li(r,n),l=Bi(t,e);return i?(0,o.jsx)(P.motion.line,{initial:!1,transition:re,animate:{x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2},...l,stroke:a,strokeWidth:e,vectorEffect:"non-scaling-stroke"}):(0,o.jsx)("line",{...s,...l,stroke:a,strokeWidth:e,vectorEffect:"non-scaling-stroke"})},Ji=(0,g.memo)(function({layer:t,coordSystem:r,formattingLocale:n,shouldAnimateTransitions:a}){const i=se(),s=oe(),{guides:l,numberFormat:c,layers:u,colorScale:h}=k((0,H.useShallow)(L=>({guides:L.guides,numberFormat:L.config.numberFormat,layers:L.spec.layers,colorScale:L.scales.color}))),p=(0,g.useMemo)(()=>(0,d.buildAverageLineSymbols)(u,h).get(t.id)??null,[u,h,t.id]),v=p?s(p.geom,r.type)?.swatchShape??"square":null,m=(0,g.useMemo)(()=>Mi(t.params.label,(0,d.formatRuleValue)({guides:l,numberFormat:c,layer:t,locale:n})),[l,c,n,t]),{fonts:x}=ie(),y=Ai(t.id),b=(0,g.useMemo)(()=>(0,d.toFontSpec)(y,x.familyDefault),[y,x.familyDefault]),A=(0,g.useMemo)(()=>m===null?0:i.measureText(m,b).width,[m,b,i]),S=T(t),w=t.data.getFirst();if(!w)return null;const C=S.get("color",w),E=(0,d.getRuleLabelTextColor)(C),j=Ti(t,r),R=j?(0,d.getY)(w):(0,d.getX)(w);return R===null?null:(0,o.jsxs)("g",{"data-geom":"rule",className:Ri,children:[(0,o.jsx)(Xi,{strokeWidth:S.get("strokeWidth",w),lineType:S.get("lineType",w),isHorizontalLine:j,position:R,lineColor:C,shouldAnimateTransitions:a}),m!==null&&(0,o.jsx)(Qi,{label:m,textStyle:y,textWidth:A,labelPosition:t.params.labelPosition,isHorizontalLine:j,position:R,color:C,textColor:E,symbolShape:v,symbolColor:p?.color??null,shouldAnimateTransitions:a})]})}),Zi={geom:"rule",coord:"cartesian",render:({layer:e,coordSystem:t,formattingLocale:r,shouldAnimateTransitions:n})=>(0,o.jsx)(Ji,{layer:e,coordSystem:t,formattingLocale:r,shouldAnimateTransitions:n}),renderHover:()=>null,renderHoverCompanions:()=>null},Je=({primary:e,companions:t})=>{const r=(0,o.jsxs)(o.Fragment,{children:[t.map(n=>(0,o.jsx)(ae,{hit:n,project:J},`companion-${n.layerId}-${n.pointIndex}`)),e?(0,o.jsx)(ye,{hit:e,project:J}):null]});return e?(0,o.jsx)("g",{"data-testid":"hovered-point",children:r}):r},bt=e=>{const[t,...r]=e;if(!t)return"";const n=r.map(a=>`L ${a.x} ${a.y}`).join(" ");return`M ${t.x} ${t.y} ${n} Z`},_i=(0,g.memo)(function({layer:t}){const r=T(t),n=(0,g.useMemo)(()=>{const a=(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id),i=[];return t.data.groupBy(d.GROUP_VARIABLES.group).forEach(s=>{const l=[...s],c=mn(l);if(!c)return;const u=l[0];u&&i.push({key:a(u),fillPath:c.fillPath,outlinePath:c.outlinePath,color:r.get("color",u),fillOpacity:r.get("alpha",u),strokeOpacity:r.get("strokeAlpha",u),strokeWidth:r.get("strokeWidth",u)})}),i},[t.data,t.id,t.mapping,r]);return(0,o.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"area",className:z,children:n.map(a=>(0,o.jsxs)("g",{children:[(0,o.jsx)("path",{d:a.fillPath,fill:a.color,fillOpacity:a.fillOpacity,fillRule:"evenodd"}),(0,o.jsx)("path",{d:a.outlinePath,fill:"none",stroke:a.color,strokeWidth:a.strokeWidth,opacity:a.strokeOpacity,vectorEffect:"non-scaling-stroke"})]},a.key))})}),mn=e=>{const t=[];for(const i of e){const s=(0,d.getX)(i),{innerRadius:l,outerRadius:c}=(0,d.getRadiusExtent)(i);s===null||l===null||c===null||t.push({angle:s,outer:U(s,c),inner:U(s,l)})}if(t.length===0)return null;t.sort((i,s)=>i.angle-s.angle);const r=t.map(i=>i.outer),n=t.map(i=>i.inner),a=bt(r);return{fillPath:n.some(i=>i.x!==0||i.y!==0)?`${a} ${bt([...n].reverse())}`:a,outlinePath:a}},$i=({layer:e,primary:t,companions:r})=>{const n=T(e),a=(0,d.getGroup)(t.observation),i=(0,g.useMemo)(()=>mn([...e.data.filter(d.GROUP_VARIABLES.group,"eq",a)]),[e.data,a]);if(!i)return null;const s=n.get("color",t.observation),l=n.get("alpha",t.observation),c=n.get("strokeAlpha",t.observation),u=n.get("strokeWidth",t.observation);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"area","data-testid":"hovered-area",className:z,children:[(0,o.jsx)("path",{d:i.fillPath,fill:s,fillOpacity:l,fillRule:"evenodd","data-testid":"hovered-area-fill"}),(0,o.jsx)("path",{d:i.outlinePath,fill:"none",stroke:s,strokeWidth:u,opacity:c,vectorEffect:"non-scaling-stroke","data-testid":"hovered-area-edge"})]}),r.map(h=>(0,o.jsx)(ae,{hit:h,project:J},`companion-${h.layerId}-${h.pointIndex}`)),(0,o.jsx)(ye,{hit:t,project:J,"data-testid":"hovered-area-point"})]})},es={geom:"area",coord:"polar",swatchShape:"area",guideMode:"crosshair",render:({layer:e})=>(0,o.jsx)(_i,{layer:e}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,o.jsx)($i,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(Je,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,d.getX)(e),r=(0,d.getYMax)(e)??(0,d.getY)(e);if(t===null||r===null)return null;const{x:n,y:a}=J(t,r);return{x:n,y:1-a}}},Ce=(e,t)=>({stroke:e,strokeWidth:t,vectorEffect:"non-scaling-stroke"}),ts=(0,g.memo)(function({layer:t,coordSystem:r,shouldAnimateTransitions:n,intro:a}){const i=(0,g.useId)(),s=et(a?.type==="grow"&&(a.growAxis==="angle"||a.growAxis==="radius")?a:null,n),l=r.bandAxis!=="x",c=T(t),u=(0,g.useMemo)(()=>{const h=(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id),p=new Map;for(const v of t.data){const m=h(v),{startAngle:x,endAngle:y}=(0,d.getAngleExtent)(v),{innerRadius:b,outerRadius:A}=(0,d.getRadiusExtent)(v);if(x===null||y===null||b===null||A===null)continue;const S={key:m,startAngle:x,endAngle:y,innerRadius:b,outerRadius:A,fill:c.get("color",v),opacity:c.get("alpha",v)},w=(0,d.buildSliceGroupKey)(r.bandAxis,S),C=p.get(w);C?C.items.push(S):p.set(w,{items:[S],style:Ae(c,v)})}return[...p.values()].map(({items:v,style:m},x)=>({key:v[0]?.key??String(x),items:v,union:(0,d.getUnionExtent)(v),style:m}))},[t.data,t.mapping,t.id,r.bandAxis,c]);return(0,o.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"bar",className:z,children:u.map((h,p)=>{const{borderColor:v,borderWidth:m,borderRadius:x,borderAlpha:y}=h.style,b=v!==void 0,A=(0,d.resolveBarBorderTreatment)(m),S=v===void 0?{}:Ce(v,A.separatorWidth),w=v===void 0?void 0:Ce(v,A.outlineWidth),C=h.items.map(L=>{const{key:F,...K}=L;return s.isAnimated?(0,o.jsx)(rs,{...K,animation:s,sweepsInOnLateMount:l,introKey:F,pathProps:{fill:K.fill,opacity:K.opacity,...S}},F):(0,o.jsx)("path",{d:(0,d.buildPolarBarArcPath)(K)??void 0,fill:K.fill,opacity:K.opacity,...S},F)}),E=(0,d.resolvePolarBarCornerRadiusUnit)(x,h.union.outerRadius-h.union.innerRadius);if(!b&&E<=0)return(0,o.jsx)(g.Fragment,{children:C},h.key);const j=`${i}${p}`;if(s.isAnimated)return(0,o.jsx)("g",{clipPath:`url(#${j})`,children:(0,o.jsx)(ns,{...h.union,cornerRadius:E,animation:s,sweepsInOnLateMount:l,introKey:h.items[0]?.key,clipId:j,outlineProps:w,outlineOpacity:y,children:C})},h.key);const R=(0,d.buildPolarBarArcPath)({...h.union,cornerRadius:E});return(0,o.jsxs)("g",{clipPath:`url(#${j})`,children:[(0,o.jsx)("clipPath",{id:j,children:(0,o.jsx)("path",{d:R})}),C,w!==void 0&&(0,o.jsx)("path",{d:R,fill:"none",opacity:y,...w})]},h.key)})})}),vn=({startAngle:e,endAngle:t,innerRadius:r,outerRadius:n,cornerRadius:a,animation:i,sweepsInOnLateMount:s,introKey:l})=>{const c=i.activeIntro?.growAxis==="angle"?i.activeIntro:null,u=i.activeIntro?.growAxis==="radius"?i.activeIntro:null,h=s&&!i.isLayerEntrance,p=c?.baseline??(h?d.TAU:e),v=c?.baseline??(h?d.TAU:t),m=u?u.baseline:r,x=u?u.baseline:n,y=(0,P.useMotionValue)(p),b=(0,P.useMotionValue)(v),A=(0,P.useMotionValue)(m),S=(0,P.useMotionValue)(x),w=(0,P.useMotionValue)((0,d.buildPolarBarArcPath)({startAngle:p,endAngle:v,innerRadius:m,outerRadius:x,cornerRadius:a})??""),C=xt(i,l,c);(0,g.useEffect)(()=>{const j=C(),R=[(0,P.animate)(y,e,j),(0,P.animate)(b,t,j)];return()=>{for(const L of R)L.stop()}},[y,b,e,t,C]);const E=xt(i,l,u);return(0,g.useEffect)(()=>{const j=E(),R=[(0,P.animate)(A,r,j),(0,P.animate)(S,n,j)];return()=>{for(const L of R)L.stop()}},[A,S,r,n,E]),(0,g.useEffect)(()=>{const j=()=>{w.set((0,d.buildPolarBarArcPath)({startAngle:y.get(),endAngle:b.get(),innerRadius:A.get(),outerRadius:S.get(),cornerRadius:a})??"")};j();const R=[y,b,A,S].map(L=>L.on("change",j));return()=>{for(const L of R)L()}},[y,b,A,S,a,w]),w},rs=({pathProps:e,...t})=>{const r=vn(t);return(0,o.jsx)(P.motion.path,{d:r,transition:re,...e})},ns=({clipId:e,outlineProps:t,outlineOpacity:r,children:n,...a})=>{const i=vn(a);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("clipPath",{id:e,children:(0,o.jsx)(P.motion.path,{d:i})}),n,t!==void 0&&(0,o.jsx)(P.motion.path,{d:i,fill:"none",opacity:r,transition:re,...t})]})},os=(e,t)=>{const r=e==="solo"||e==="floor",n=e==="solo"||e==="ceiling";return t==="x"?{innerArc:r,outerArc:n,startSpoke:!0,endSpoke:!0}:{innerArc:!0,outerArc:!0,startSpoke:r,endSpoke:n}},fn=(e,t,r)=>{const n=new Map;for(const i of e.data){const s=yn(i);if(s===null)continue;const l=(0,d.buildSliceGroupKey)(t,s),c=n.get(l);c===void 0?n.set(l,{firstObservation:i,innerRadius:s.innerRadius,outerRadius:s.outerRadius}):(c.innerRadius=Math.min(c.innerRadius,s.innerRadius),c.outerRadius=Math.max(c.outerRadius,s.outerRadius))}const a=new Map;for(const[i,{firstObservation:s,innerRadius:l,outerRadius:c}]of n)a.set(i,{style:Ae(r,s),radialSpan:c-l});return a},xn=(e,t,r,n)=>{const a=yn(n),i=a===null?void 0:e.get((0,d.buildSliceGroupKey)(t,a));return i!==void 0?i:{style:Ae(r,n),radialSpan:a===null?0:a.outerRadius-a.innerRadius}},bn=({observation:e,bandAxis:t,styleReaders:r,group:n})=>{const a=(0,g.useId)(),i=(0,g.useId)(),{startAngle:s,endAngle:l}=(0,d.getAngleExtent)(e),{innerRadius:c,outerRadius:u}=(0,d.getRadiusExtent)(e);if(s===null||l===null||c===null||u===null)return null;const h={startAngle:s,endAngle:l,innerRadius:c,outerRadius:u},p=(0,d.buildPolarBarArcPath)(h);if(p===void 0)return null;const v=r.get("color",e),m=r.get("alpha",e),{borderColor:x,borderWidth:y,borderRadius:b,borderAlpha:A}=n.style,S=(0,d.resolvePolarBarCornerRadiusUnit)(b,n.radialSpan),w=S>0;if(x===void 0&&!w)return(0,o.jsx)("path",{d:p,fill:v,opacity:m,"data-testid":"arc-segment"});const C=os((0,d.getStackRole)(e),t),E=w?(0,d.buildPolarBarArcPath)({...is(h,C,S),cornerRadius:S})??p:p,j=x===void 0?null:{color:x,...(0,d.resolveBarBorderTreatment)(y)},R=j===null?"":cr(h,ss(C));return(0,o.jsxs)("g",{clipPath:`url(#${a})`,"data-testid":"arc-segment",children:[(0,o.jsx)("clipPath",{id:a,children:(0,o.jsx)("path",{d:p})}),(0,o.jsx)("path",{d:E,fill:v,opacity:m}),j!==null&&R!==""&&(0,o.jsx)("path",{d:R,fill:"none",opacity:m,...Ce(j.color,j.separatorWidth)}),j!==null&&(w?(0,o.jsxs)("g",{clipPath:`url(#${i})`,children:[(0,o.jsx)("clipPath",{id:i,children:(0,o.jsx)("path",{d:E})}),(0,o.jsx)("path",{d:E,fill:"none",opacity:A,...Ce(j.color,j.outlineWidth)})]}):(0,o.jsx)("path",{d:cr(h,C),fill:"none",opacity:A,...Ce(j.color,j.outlineWidth)}))]})},as=({layer:e,sourceLayer:t,coordSystem:r})=>{const n=T(t),a=(0,g.useMemo)(()=>fn(t,r.bandAxis,n),[t,r.bandAxis,n]),i=(0,d.createStableKeyGenerator)(e.data,e.mapping,e.id),s=[];for(const l of e.data)s.push((0,o.jsx)(bn,{observation:l,bandAxis:r.bandAxis,styleReaders:n,group:xn(a,r.bandAxis,n,l)},i(l)));return(0,o.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"bar",className:z,children:s})},is=(e,t,r)=>{let{startAngle:n,endAngle:a,innerRadius:i,outerRadius:s}=e;t.innerArc||(i=Math.max(0,i-r)),t.outerArc||(s=s+r);const l=Math.max(i,r),c=l>0?r/l:0,u=Math.sign(a-n)||1;return t.startSpoke||(n-=c*u),t.endSpoke||(a+=c*u),{startAngle:n,endAngle:a,innerRadius:i,outerRadius:s}},yn=e=>{const{startAngle:t,endAngle:r}=(0,d.getAngleExtent)(e),{innerRadius:n,outerRadius:a}=(0,d.getRadiusExtent)(e);return t===null||r===null||n===null||a===null?null:{startAngle:t,endAngle:r,innerRadius:n,outerRadius:a}},Ee=(e,t)=>{const r=U(t,e);return`${r.x},${r.y}`},sr=(e,t,r)=>{if(e<=0)return"";const n=Ee(e,t);if((0,d.isFullTurnSweep)(t,r))return`M${n}A${e},${e} 0 1 1 ${Ee(e,t+Math.PI)}A${e},${e} 0 1 1 ${n}`;const a=r-t;return`M${n}A${e},${e} 0 ${Math.abs(a)>Math.PI?1:0} ${a>=0?1:0} ${Ee(e,r)}`},lr=(e,t,r)=>`M${Ee(t,e)}L${Ee(r,e)}`,cr=(e,t)=>{const{startAngle:r,endAngle:n,innerRadius:a,outerRadius:i}=e,s=(0,d.isFullTurnSweep)(r,n);return[t.innerArc?sr(a,r,n):"",t.outerArc?sr(i,r,n):"",t.startSpoke&&!s?lr(r,a,i):"",t.endSpoke&&!s?lr(n,a,i):""].filter(Boolean).join("")},ss=e=>({innerArc:!e.innerArc,outerArc:!e.outerArc,startSpoke:!e.startSpoke,endSpoke:!e.endSpoke}),ls=({layer:e,coordSystem:t,primary:r})=>{const n=T(e),a=xn((0,g.useMemo)(()=>fn(e,t.bandAxis,n),[e,t.bandAxis,n]),t.bandAxis,n,r.observation);return(0,o.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"arc","data-testid":"hovered-arc",className:z,children:(0,o.jsx)(bn,{observation:r.observation,bandAxis:t.bandAxis,styleReaders:n,group:a})})},cs={geom:"bar",coord:"polar",swatchShape:"slice",guideMode:"band",render:({layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n})=>(0,o.jsx)(ts,{layer:e,coordSystem:t,shouldAnimateTransitions:r,intro:n}),renderHighlight:({layer:e,sourceLayer:t,coordSystem:r})=>(0,o.jsx)(as,{layer:e,sourceLayer:t,coordSystem:r}),renderHover:({layer:e,coordSystem:t,primary:r})=>(0,o.jsx)(ls,{layer:e,coordSystem:t,primary:r}),renderHoverCompanions:()=>null},us=(0,g.memo)(function({layer:t}){const r=T(t),n=(0,g.useMemo)(()=>{const a=(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id),i=[];return t.data.groupBy(d.GROUP_VARIABLES.group).forEach(s=>{const l=[...s],c=An(l);if(!c)return;const u=l[0];u&&i.push({key:a(u),pathData:c,color:r.get("color",u),opacity:r.get("alpha",u),strokeWidth:r.get("strokeWidth",u),strokeDasharray:(0,d.getDashArray)(r.get("lineType",u))})}),i},[t.data,t.id,t.mapping,r]);return(0,o.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"line",className:z,children:n.map(a=>(0,o.jsx)("path",{d:a.pathData,fill:"none",stroke:a.color,strokeWidth:a.strokeWidth,opacity:a.opacity,strokeDasharray:a.strokeDasharray,vectorEffect:"non-scaling-stroke"},a.key))})}),An=e=>{const t=[];for(const r of e){const n=(0,d.getX)(r),a=(0,d.getY)(r);n===null||a===null||t.push({angle:n,point:U(n,a)})}return t.length===0?null:(t.sort((r,n)=>r.angle-n.angle),bt(t.map(r=>r.point)))},ds=({layer:e,primary:t,companions:r})=>{const n=T(e),a=(0,d.getGroup)(t.observation),i=(0,g.useMemo)(()=>An([...e.data.filter(d.GROUP_VARIABLES.group,"eq",a)]),[e.data,a]);if(!i)return null;const s=n.get("color",t.observation),l=n.get("alpha",t.observation),c=n.get("strokeWidth",t.observation),u=(0,d.getDashArray)(n.get("lineType",t.observation));return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%","data-geom":"line","data-testid":"hovered-line",className:z,children:(0,o.jsx)("path",{d:i,fill:"none",stroke:s,strokeWidth:c,opacity:l,strokeDasharray:u,vectorEffect:"non-scaling-stroke","data-testid":"hovered-line-path"})}),r.map(h=>(0,o.jsx)(ae,{hit:h,project:J},`companion-${h.layerId}-${h.pointIndex}`)),(0,o.jsx)(ye,{hit:t,project:J,"data-testid":"hovered-line-point"})]})},hs={geom:"line",coord:"polar",swatchShape:"line",guideMode:"crosshair",render:({layer:e})=>(0,o.jsx)(us,{layer:e}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,o.jsx)(ds,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(Je,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,d.getX)(e),r=(0,d.getY)(e);if(t===null||r===null)return null;const{x:n,y:a}=J(t,r);return{x:n,y:1-a}}},gs=(0,g.memo)(function({layer:t,shouldAnimateTransitions:r,intro:n}){const a=T(t),i=et(n?.type==="grow"&&n.growAxis==="size"?n:null,r);return(0,g.useMemo)(()=>{const s=i.activeIntro?(0,d.createStableKeyGenerator)(t.data,t.mapping,t.id):null,l=[];let c=0;for(const u of t.data)l.push((0,o.jsx)(Yr,{observation:u,project:J,styleReaders:a,animation:i,introKey:s?.(u)},String(c++)));return l},[t.data,t.mapping,t.id,a,i])}),ps={geom:"point",coord:"polar",swatchShape:"circle",render:({layer:e,shouldAnimateTransitions:t,intro:r})=>(0,o.jsx)(gs,{layer:e,shouldAnimateTransitions:t,intro:r}),renderHover:({primary:e,group:t,related:r})=>(0,o.jsx)(Je,{primary:e,companions:[...t,...r]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(Je,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,d.getX)(e),r=(0,d.getY)(e);if(t===null||r===null)return null;const{x:n,y:a}=J(t,r);return{x:n,y:1-a}}},Sn={bar:{cartesian:Ka,polar:cs},line:{cartesian:_a,polar:hs},area:{cartesian:Oa,polar:es},point:{cartesian:ei,polar:ps},rule:{cartesian:Zi}};function rt(e){return typeof e=="function"?{overlay:!1,fn:e}:{overlay:!0,fn:e.fn}}function wn(e){return e?rt(e.render).overlay:!1}function ms(e,t){return typeof e=="string"?{...t,geom:e}:{...t,definition:e,geom:e.type}}function Pn(e=[]){const t={};for(const[r,n]of Object.entries(Sn))t[r]={...n};for(const r of e)(t[r.geom]??={})[r.coord]=r;return(r,n)=>t[r]?.[n]??null}var Ze=e=>{const t=(0,g.useRef)(e);return t.current=e,t},vs=()=>{const e=new Map;return(0,Lr.createStore)(t=>({hover:d.RESTING_HOVER_STATE,tooltipAnchor:null,pointerRegions:[],isPointerSuspended:!1,setHoverState:r=>t(n=>n.hover===r?n:{hover:r}),setTooltipAnchor:r=>t(n=>fs(n.tooltipAnchor,r)?n:{tooltipAnchor:r}),publishPointerRegions:(r,n)=>{n.length===0?e.delete(r):e.set(r,n);const a=(0,d.orderPointerRegions)(e);t(i=>(0,d.arePointerRegionListsEqual)(i.pointerRegions,a)?i:{pointerRegions:a})},setPointerSuspended:r=>t(n=>n.isPointerSuspended===r?n:{isPointerSuspended:r})}))},fs=(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,xs=(e,t)=>{const r=(0,g.useMemo)(()=>({layers:e,coordSystem:t}),[e,t]),n=(0,g.useRef)(null);n.current===null&&(n.current=new d.HoverEngine(r));const a=n.current,i=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{if(!i.current){i.current=!0;return}a.update(r)},[a,r]),a},jn=(0,g.createContext)(null),kn=({children:e})=>{const{layers:t,coordSystem:r}=k((0,H.useShallow)(l=>({layers:l.layers,coordSystem:l.coordSystem}))),n=xs(t,r),[a]=(0,g.useState)(()=>vs()),i=(0,g.useRef)(null),s=(0,g.useRef)(null);return s.current===null&&(s.current={engine:n,store:a,overlayRef:i}),(0,o.jsx)(jn.Provider,{value:s.current,children:e})},le=()=>{const e=(0,g.useContext)(jn);if(e===null)throw new Error("useHoverContext must be used inside a <HoverProvider>.");return e};function Cn(e,t){const{engine:r}=le(),n=(0,g.useRef)(t);(0,g.useEffect)(()=>{n.current=t},[t]),(0,g.useEffect)(()=>(r.registerHitTester(e,a=>n.current(a)),()=>r.unregisterHitTester(e)),[r,e])}var bs=({hitTest:e,input:t})=>{const r=(0,g.useMemo)(()=>e(t),[e,t.layer.data]);return Cn(t.layer.id,r),null},ys="graphy_root",q=()=>typeof document>"u"?null:document.getElementById(ys)??document.body,As="_10igzta0",En=({rect:e,zIndex:t,container:r,boxRef:n,children:a,...i})=>r===null?null:(0,jt.createPortal)((0,o.jsx)("div",{...i,ref:n,className:As,style:{transform:`translate(${e.left}px, ${e.top}px)`,width:e.width,height:e.height,zIndex:t},children:a}),r),Ss=({rect:e,children:t})=>{const[r]=(0,g.useState)(q);return(0,o.jsx)(En,{rect:e,zIndex:ge.panelOverlay,container:r,children:t})},Rn=(e,t)=>{const r=Ze(e),n=Ze(t),a=(0,g.useRef)(null),i=(0,g.useRef)(null),s=(0,g.useMemo)(()=>{const l=()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),a.current=null},c=()=>{i.current!==null&&(clearTimeout(i.current),i.current=null);const h=a.current;h!==null&&(a.current=null,r.current(...h))};return{run:(...h)=>{if(n.current<=0){r.current(...h);return}a.current=h,i.current!==null&&clearTimeout(i.current),i.current=setTimeout(c,n.current)},flush:c,cancel:l}},[r,n]);return(0,g.useEffect)(()=>()=>{i.current!==null&&clearTimeout(i.current)},[]),s},ws={width:0,height:0,isDefault:!0},Tn=({debounce:e=0,onResize:t}={})=>{const[r,n]=(0,g.useState)(ws),a=(0,g.useRef)(null),i=Rn(u=>{const h=a.current;h&&h.width===u.width&&h.height===u.height||(a.current={width:u.width,height:u.height},t?.(u),n(u))},e),s=(0,g.useRef)(null),l=(0,g.useRef)(null),c=(0,g.useCallback)(u=>{s.current!==u&&(s.current&&l.current?.unobserve(s.current),s.current=u,u&&(l.current??=new ResizeObserver(([h])=>{if(!h)return;const p=Math.round(h.contentBoxSize[0]?.inlineSize??h.contentRect.width),v=Math.round(h.contentBoxSize[0]?.blockSize??h.contentRect.height);i.run({width:p,height:v,isDefault:!1})}),l.current.observe(u)))},[i]);return{...r,setElement:c}};function Ln(){const[e,t]=(0,g.useState)(null),r=(0,g.useRef)(null),n=(0,g.useRef)(null),a=(0,g.useRef)(null),i=(0,g.useCallback)(()=>{a.current=null;const u=n.current;if(!u)return;const h=u.getBoundingClientRect();if(h.width===0||h.height===0){r.current!==null&&(r.current=null,t(null));return}const p={left:h.left,top:h.top,width:h.width,height:h.height},v=r.current;v&&v.left===p.left&&v.top===p.top&&v.width===p.width&&v.height===p.height||(r.current=p,t(p))},[]),s=(0,g.useCallback)(()=>{a.current===null&&(a.current=requestAnimationFrame(i))},[i]),{setElement:l}=Tn({onResize:s}),c=(0,g.useCallback)(u=>{n.current=u,l(u),u&&i()},[l,i]);return(0,g.useEffect)(()=>(window.addEventListener("scroll",s,!0),window.addEventListener("resize",s),()=>{window.removeEventListener("scroll",s,!0),window.removeEventListener("resize",s),a.current!==null&&cancelAnimationFrame(a.current)}),[s]),{measureRef:c,screenRect:e}}function Bn(e){const{engine:t,store:r}=le();return(0,g.useCallback)((n,a)=>{const{hover:i,setHoverState:s,setTooltipAnchor:l}=r.getState(),c=n===null?d.RESTING_HOVER_STATE:t.resolveHoverByKey(e,n);if(c.primary===null){i.primary?.layerId===e&&(s(d.RESTING_HOVER_STATE),l(null));return}s(c),l(a?{x:a.clientX,y:a.clientY,placement:"top"}:null)},[t,r,e])}var Ps=({render:e,input:t})=>{const r=Bn(t.layer.id),{measureRef:n,screenRect:a}=Ln();return(0,g.useEffect)(()=>()=>r(null),[r]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("rect",{ref:n,x:0,y:0,width:"100%",height:"100%",fill:"none",pointerEvents:"none"}),a&&(0,o.jsx)(Ss,{rect:a,children:(0,o.jsx)(js,{render:e,input:t,pushHover:r,panelRect:a})})]})},js=({render:e,input:t,pushHover:r,panelRect:n})=>e({...t,overlay:{pushHover:r,panelRect:n}}),_e={enabled:!0,durationScale:1,stagger:!0,staggerOrder:"main-axis",maxAnimatedGeoms:1500},ks=.3,Cs=.3,Es=(e,t)=>t?{intro:{..._e,enabled:!1},transitions:!1}:typeof e=="boolean"?{intro:{..._e,enabled:e},transitions:e}:{intro:Rs(e?.intro),transitions:e?.transitions??!0},Rs=e=>typeof e=="boolean"?{..._e,enabled:e}:(0,mt.default)({},_e,e),Ts={save:"حفظ",cancel:"إلغاء",confirm:"تأكيد",delete:"حذف",confirmDelete:e=>`هل أنت متأكد من رغبتك في حذف ${e.item}؟`,abbreviations:{thousands:"ألف",millions:"مليون",billions:"مليار"}},Ls={title:"محرر Graphy",description:"قم بتحرير المحتوى الخاص بك هنا",graphTypes:{column:"أعمدة",columnStacked:"أعمدة مكدسة",columnStackedFill:"أعمدة مكدسة 100%",bar:"شريطي",barStacked:"أشرطة مكدسة",barStackedFill:"أشرطة مكدسة 100%",line:"خطي",areaStacked:"مساحة مكدسة",pie:"دائري",donut:"حلقي",scatter:"نقطي",bubble:"فقاعي",funnel:"قمعي",combo:"مركب",heatmap:"خريطة حرارية",waterfall:"شلالي",mekko:"ميكو",table:"جدول"},sizePanel:{toolbarButton:"الحجم",presetsSection:{title:"إعدادات مسبقة"},customSizeSection:{title:"حجم مخصص"},presets:{googleSlides:"Google Slides / PowerPoint",webEmail:"ويب / بريد إلكتروني",linkedIn:"منشور LinkedIn",instagram:"منشور Instagram",tiktok:"TikTok / قصة Instagram",twitter:"X (Twitter)",mobile:"جوال"},inputs:{unitLabel:"بكسل"},validation:{maxSizeError:e=>`≤ ${e.max} بكسل`,minSizeError:e=>`≥ ${e.min} بكسل`}},graphPanel:{toolbarButton:"الرسم البياني",graphTypeSection:{title:"نوع الرسم البياني"},mappingSection:{title:"البيانات",x:"المحور السيني",y:"القيمة",color:"اللون",size:"الحجم",label:"التسمية",none:"بلا"},polarSection:{title:"قطبي",innerRadius:"نصف القطر الداخلي",startAngle:"زاوية البداية"},barSection:{title:"الأعمدة",thickness:"سمك العمود",rounding:"التدوير",roundingOptions:{none:"بلا",xs:"XS",sm:"S",md:"M",lg:"L",xl:"XL",full:"كامل"}},graphOptionsSection:{title:"خيارات الرسم البياني"},gridSection:{title:"الشبكة",horizontalGridLines:"خطوط أفقية",verticalGridLines:"خطوط رأسية",rings:"حلقات",spokes:"أشعة",gridStyle:"نمط الشبكة",gridThickness:"سمك الشبكة",lineStyles:{solid:"متصل",dashed:"متقطع",dotted:"منقط"}},graphOptions:{sortBars:"ترتيب من الأعلى ← الأدنى",showPoints:"إظهار النقاط",lineFill:"تعبئة تحت الخط",smoothLines:"خطوط ناعمة",stackTotals:"مجاميع المكدس",dataLabels:"تسميات البيانات",showPercentages:"إظهار النسب المئوية",categoryLabels:"تسميات الفئات"},legendSection:{title:"وسيلة الإيضاح",auto:"تلقائي",top:"أعلى",bottom:"أسفل",left:"يسار",right:"يمين",none:"بدون",alignLabel:"المحاذاة",align:{auto:"تلقائي",start:"البداية",center:"الوسط",end:"النهاية"},displayLabel:"النمط",display:{auto:"تلقائي",pill:"شارات",direct:"على الرسم"}},numberFormatSection:{title:"تنسيق الأرقام"},numberFormat:{abbreviationLabel:"الاختصار",valueLabel:"القيمة",decimalPlacesLabel:"المنازل العشرية",options:{auto:"تلقائي",custom:"مخصص",none:"بدون"}},headlineNumberSize:{sizeLabel:"الحجم",valueLabel:"القيمة",sizes:{small:"ص",medium:"م",large:"ك"}},lineThickness:{label:"سمك الخط"},pointSize:{label:"حجم النقطة",options:{auto:"تلقائي",custom:"مخصص"}},headlineNumberSection:{title:"الرقم الرئيسي",toggle:"مرئي",metricLabel:"المقياس",compareWithLabel:"مقارنة مع",metrics:{total:"المجموع",average:"المتوسط",current:"الأخير",conversion:"التحويل",left:"يسار"},comparison:{first:"الأول",previous:"السابق"},position:{above:"أعلى",center:"وسط"}},treatEmptyValues:{leaveGap:{label:"ترك فجوة في الرسم البياني",description:"يترك فاصلاً مرئياً في الخط حيث تكون البيانات مفقودة"},fillZero:{label:"ملء بالصفر",description:"يعرض نقاط البيانات المفقودة كصفر"},connectGaps:{label:"الاتصال عبر الفجوات",description:"يربط الخط بين النقاط المتاحة، متخطياً الفجوة"}},comboChartAppearance:{title:"مظهر الرسم البياني المركب",groupedBars:"أشرطة مجمعة",stackedBars:"أشرطة مكدسة",linesOnly:"خطوط فقط"}},axesPanel:{toolbarButton:"المحاور",mainAxisSection:{yAxis:"المحور الصادي",xAxis:"المحور السيني"},crossAxisSection:{xAxis:"المحور السيني",yAxis:"المحور الصادي"},controls:{title:"العنوان",visible:"مرئي",ticks:"العلامات",labels:"التسميات",position:"الموضع",scale:"المقياس",startFrom:"البدء من",endAt:"الانتهاء عند",value:"القيمة",numberOfAxes:"عدد المحاور",reverse:"عكس"},labelMode:{auto:"تلقائي",edges:"الحواف"},scale:{auto:"تلقائي",log:"لوغاريتمي"},startFrom:{auto:"تلقائي",zero:"صفر",custom:"مخصص"},endAt:{auto:"تلقائي",custom:"مخصص"},axisCount:{single:"مفرد",double:"مزدوج"},position:{left:"يسار",right:"يمين",top:"أعلى",bottom:"أسفل"},yesNo:{yes:"نعم",no:"لا"}},colorPanel:{toolbarButton:"اللون",themeSection:{title:"السمة"},appearanceSection:{title:"المظهر",highlightStyle:"التمييز"},paletteSection:{title:"لوحة الألوان",colorScheme:"نظام الألوان",colors:"الألوان",colorPalettes:"لوحات الألوان"},paletteMode:{preset:"مسبق",brand:"العلامة التجارية",freestyle:"حر"},paletteThemes:{colorful:"ملون",pastel:"باستيل",neon:"نيون"},backgroundSection:{title:"الخلفية",black:"أسود",white:"أبيض",grey:"رمادي",tint:"صبغة",custom:"مخصص",none:"بدون"},borderSection:{title:"الحدود",borderColor:"لون الحدود",thickness:"السمك",cornerRadius:"نصف قطر الزاوية"},borderType:{solid:"صلب",gradient:"متدرج",grey:"رمادي",preset:"مسبق",custom:"مخصص",none:"بدون"},presetGradients:{lilac:"ليلكي",neonPink:"وردي نيون",blackberry:"توت أسود",sun:"شمس",iceland:"آيسلندا",sunset:"غروب",ultraviolet:"فوق بنفسجي",purple:"أرجواني",iceCream:"آيس كريم",mint:"نعناع",cool:"بارد",fresh:"منعش"}},designPanel:{toolbarButton:"التصميم",defaultExpanded:"لوحة الألوان"},annotatePanel:{toolbarButton:"التعليقات",callOutSection:{title:"وسائل الشرح",text:"نص",arrow:"سهم",box:"مربع",difference:"الفرق"},highlightSection:{title:"التمييز",button:"تمييز",colorLabel:"لون التمييز"}},annotationsPanel:{toolbarButton:"التعليقات",freeformSection:{title:"حر",text:"نص",arrow:"سهم",box:"مربع",difference:"فرق"},goalSection:{title:"الهدف",labelControl:"التسمية",labelPlaceholder:"الهدف",labelAriaLabel:"تسمية الهدف المخصصة",valueControl:"قيمة الهدف",valueAriaLabel:"قيمة الهدف",byDate:"حسب التاريخ",xAxisValue:"قيمة المحور السيني",optional:"(اختياري)"},trendsAndAveragesSection:{title:"الاتجاهات والمتوسطات",trend:"الاتجاه",average:"المتوسط"},trendType:{label:"نوع الاتجاه",placeholder:"نوع الاتجاه",options:{linear:"خطي",exponential:"أسي",quadratic:"تربيعي",polynomial:"متعدد الحدود",logarithmic:"لوغاريتمي",power:"قوة",loess:"لويس"}},averageLineSeries:{label:"سلسلة خط المتوسط",placeholder:"اختر السلسلة",ariaLabel:"قائمة منسدلة للسلسلة لخط المتوسط"},highlightSection:{title:"التمييز",button:"تمييز",fadeColorLabel:"لون التلاشي"},titleAndSubtitleSection:{title:"العنوان والعنوان الفرعي",toggleTitle:"العنوان",subtitle:"العنوان الفرعي"},captionAndSourceSection:{title:"التسمية التوضيحية والمصدر",caption:"التسمية التوضيحية",source:"المصدر",url:"الرابط",name:"الاسم"}},elementsPanel:{contentVisible:"مرئي",contentValue:"القيمة",toolbarButton:"العناصر",headerSection:{title:"الرأس",toggleTitle:"العنوان",subtitle:"العنوان الفرعي"},footerSection:{title:"التذييل",caption:"التسمية التوضيحية",source:"المصدر",url:"الرابط",name:"الاسم"},textSizeSection:{title:"حجم النص",scaleFormat:e=>`${e.value}x`},fontSection:{title:"الخط"},sourceSection:{title:"المصدر",url:"الرابط",name:"الاسم"}},powerUpPanel:{toolbarButton:"التحسينات",goalSection:{title:"الهدف",toggle:"الهدف",labelControl:"التسمية",labelPlaceholder:"الهدف",labelAriaLabel:"تسمية الهدف المخصصة",valueControl:"قيمة الهدف",byDate:"حسب التاريخ",xAxisValue:"قيمة المحور السيني",optional:" (اختياري)",xAxisReferenceAriaLabel:"قيمة مرجعية للمحور السيني",anyXAxisValue:"أي قيمة للمحور السيني",selectValuePlaceholder:"اختر القيمة"},trendSection:{title:"الاتجاه",toggle:"الاتجاه"},averageSection:{title:"المتوسط",toggle:"المتوسط",seriesLabel:"سلسلة خط المتوسط",seriesPlaceholder:"اختر السلسلة",seriesAriaLabel:"قائمة منسدلة للسلسلة لخط المتوسط"},trendType:{label:"نوع الاتجاه",placeholder:"نوع الاتجاه",options:{linear:"خطي",exponential:"أسي",quadratic:"تربيعي",polynomial:"متعدد الحدود",logarithmic:"لوغاريتمي",power:"قوة",loess:"لويس"}},valueInput:{percentagePlaceholder:"النسبة المئوية",numberPlaceholder:"الرقم",percentageSymbol:"٪"}},highlighting:{modeHelper:{title:"وضع التمييز",hover:"مرر",toHighlight:"للتمييز",anyElement:"أي عنصر",escToExit:"للخروج",esc:"ESC"},emptyState:"لا تتوفر خيارات تمييز",deleteAriaLabel:"حذف التمييز",highlightStyle:{tint:"صبغة",grey:"رمادي"}},fineTunePanel:{toolbarButton:"الضبط الدقيق",detailSection:{title:"التفاصيل",missingValues:"القيم المفقودة"},lineStyleSection:{title:"نمط الخط",lineCurve:"انحناء الخط",sharp:"حاد",smooth:"ناعم"}},customThemeEditor:{patternDropdownAriaLabel:"قائمة منسدلة للنمط للسلسلة",patterns:{solid:"صلب",pattern:"نمط",dotted:"منقط",dashed:"متقطع",hatched:"مظلل"},heatmapColorLabel:"اللون"},accessibility:{toggleSection:e=>`تبديل قسم ${e.title}`},graphyDefaults:{themeOptions:{light:"فاتح",dark:"داكن"}}},Bs={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}`},titleEditor:{titlePlaceholder:"بدون عنوان",subtitlePlaceholder:"إضافة عنوان فرعي"},toolbar:{formatting:{bold:"عريض",italic:"مائل",underline:"تحته خط",link:"رابط"},link:{ariaLabel:"إنشاء رابط",placeholder:"اكتب أو الصق رابطاً...",submit:"إرسال",urlLabel:"عنوان الرابط",apply:"تطبيق الرابط"},font:{label:"الخط",ariaLabel:"عائلة الخط"},heading:{label:"مستوى العنوان",ariaLabel:"نمط النص",text:"نص",caption:"تسمية توضيحية",heading1:"عنوان 1",heading2:"عنوان 2",heading3:"عنوان 3"},textAlign:{left:"محاذاة لليسار",center:"توسيط",right:"محاذاة لليمين"},color:{label:"لون النص"}},colorDropdown:{colors:"الألوان",chartColors:"ألوان الرسم البياني",custom:"مخصص",opacity:"الشفافية",transparent:"شفاف",pickCustom:"اختيار لون مخصص",pickColor:"اختيار لون"},legend:{hiddenItems:"عناصر وسيلة الإيضاح المخفية"},annotations:{differenceArrowToolbar:{label:"خيارات سهم الفرق",labelKind:{ariaLabel:"التسمية",absoluteDifference:"التغير المطلق",relativeDifference:"التغير المئوي",proportion:"النسبة",suspectValue:"تقسم هذه القيمة على أساس يساوي صفرًا.",incomparableEnds:"يقيس الطرفان كميتين مختلفتين، لذا لا معنى للفرق بينهما."},color:"لون السهم",size:{ariaLabel:"الحجم",small:"صغير",medium:"متوسط",large:"كبير"},swap:"عكس الاتجاه",remove:"إزالة السهم"},shapeToolbar:{label:"خيارات الشكل",color:"لون الشكل",border:{ariaLabel:"الحد",none:"بلا",thin:"رفيع (2 بكسل)",medium:"متوسط (8 بكسل)",thick:"سميك (16 بكسل)"},remove:"إزالة الشكل",resize:{"top-left":"تغيير الحجم من الزاوية العلوية اليسرى","top-right":"تغيير الحجم من الزاوية العلوية اليمنى","bottom-right":"تغيير الحجم من الزاوية السفلية اليمنى","bottom-left":"تغيير الحجم من الزاوية السفلية اليسرى"}},arrowToolbar:{label:"خيارات السهم",color:"لون السهم",thickness:{ariaLabel:"السماكة",thin:"رفيع",medium:"متوسط",thick:"سميك"},startArrowhead:"بداية السهم",endArrowhead:"نهاية السهم",arrowhead:{lineArrow:"رأس سهم",none:"بلا"},lineStyle:{ariaLabel:"نمط الخط",solid:"متصل",dashed:"منقّط"},sticker:"تأثير الملصق",remove:"إزالة السهم",moveEndpoint:{start:"تحريك بداية السهم",end:"تحريك نهاية السهم"}},baseMenu:{pinNumber:"تثبيت الرقم",unpinNumber:"إلغاء تثبيت الرقم",annotate:"تعليق",removeAnnotation:"إزالة التعليق",highlight:"تمييز",highlightWithLabel:e=>`تمييز ${e.label}`,removeHighlight:"إزالة التمييز",differenceArrow:"سهم الفرق",addSticker:"إضافة ملصق",removeSticker:"إزالة الملصق"},textMenu:{title:"تعليق",placeholder:"إضافة تعليق",addButton:"إضافة"},highlights:{menuTitle:"تمييز",labels:{bar:"شريط",barGroup:"مجموعة",barStack:"مكدس",barSeries:"سلسلة",line:"خط",linePoint:"نقطة",lineSeries:"سلسلة",scatterPoint:"نقطة",scatterSeries:"سلسلة",pieSlice:"شريحة",pointOrBar:"نقطة / شريط",lineOrSeries:"خط / سلسلة"}},stickerMenu:{title:"إضافة ملصق"},delete:"حذف",arrow:{thickness:{label:"السمك",thin:"رفيع",medium:"متوسط",thick:"سميك"},arrowhead:{startPoint:"نقطة البداية",endPoint:"نقطة النهاية",lineArrow:"سهم الخط",none:"بدون"},lineStyle:{label:"نمط الخط",solid:"صلب",dotted:"منقط"},stickerEffect:"تأثير الملصق",toolbarAriaLabel:"شريط أدوات السهم الحر",editorAriaLabel:"محرر السهم"},differenceArrow:{type:{proportion:"النسبة",difference:({absoluteDifference:e})=>`الفرق (${e})`,increase:({absoluteDifference:e})=>`الزيادة (${e})`,decrease:({absoluteDifference:e})=>`النقصان (${e})`,percentageChange:({percentageChange:e})=>`تغيير النسبة المئوية (${e})`,percentIncrease:({percentageChange:e})=>`زيادة النسبة المئوية (${e})`,percentDecrease:({percentageChange:e})=>`نقصان النسبة المئوية (${e})`},size:{label:"الحجم",small:"صغير",medium:"متوسط",large:"كبير"},flipArrow:"عكس السهم",color:"اللون",toolbarAriaLabel:"شريط أدوات سهم الفرق",editorAriaLabel:"محرر سهم الفرق"},shape:{color:"اللون",border:{label:"الحدود",none:"بدون",thin:({value:e})=>`رفيع (${e})`,medium:({value:e})=>`متوسط (${e})`,thick:({value:e})=>`سميك (${e})`}}}},Ms={common:Ts,editor:Ls,graph:Bs,dir:"rtl"},Ns={save:"Save",cancel:"Cancel",confirm:"Confirm",delete:"Delete",confirmDelete:e=>`Are you sure you want to delete ${e.item}?`,abbreviations:{thousands:"k",millions:"m",billions:"b"}},Is={title:"Graphy Editor",description:"Edit your content here",graphTypes:{column:"Column",columnStacked:"Stacked column",columnStackedFill:"100% stacked column",bar:"Bar",barStacked:"Stacked bar",barStackedFill:"100% stacked bar",line:"Line",areaStacked:"Stacked area",pie:"Pie",donut:"Donut",scatter:"Scatter",bubble:"Bubble",funnel:"Funnel",combo:"Combo",heatmap:"Heatmap",waterfall:"Waterfall",mekko:"Mekko",table:"Table"},sizePanel:{toolbarButton:"Size",presetsSection:{title:"Presets"},customSizeSection:{title:"Custom size"},presets:{googleSlides:"Google Slides / PowerPoint",webEmail:"Web / email",linkedIn:"LinkedIn post",instagram:"Instagram post",tiktok:"TikTok / Instagram story",twitter:"X (Twitter)",mobile:"Mobile"},inputs:{unitLabel:"px"},validation:{maxSizeError:e=>`≤ ${e.max}px`,minSizeError:e=>`≥ ${e.min}px`}},graphPanel:{toolbarButton:"Graph",graphTypeSection:{title:"Graph type"},mappingSection:{title:"Data",x:"X-axis",y:"Value",color:"Colour",size:"Size",label:"Label",none:"None"},polarSection:{title:"Polar",innerRadius:"Inner radius",startAngle:"Start angle"},barSection:{title:"Bars",thickness:"Bar thickness",rounding:"Rounding",roundingOptions:{none:"None",xs:"XS",sm:"S",md:"M",lg:"L",xl:"XL",full:"Full"}},graphOptionsSection:{title:"Graph options"},gridSection:{title:"Grid",horizontalGridLines:"Horizontal lines",verticalGridLines:"Vertical lines",rings:"Rings",spokes:"Spokes",gridStyle:"Grid style",gridThickness:"Grid thickness",lineStyles:{solid:"Solid",dashed:"Dashed",dotted:"Dotted"}},graphOptions:{sortBars:"Sort high → low",showPoints:"Show points",lineFill:"Fill under line",smoothLines:"Smooth lines",stackTotals:"Stack totals",dataLabels:"Data labels",showPercentages:"Show percentages",categoryLabels:"Category labels"},legendSection:{title:"Legend",auto:"Auto",top:"Top",bottom:"Bottom",left:"Left",right:"Right",none:"None",alignLabel:"Alignment",align:{auto:"Auto",start:"Start",center:"Center",end:"End"},displayLabel:"Style",display:{auto:"Auto",pill:"Pills",direct:"Direct"}},numberFormatSection:{title:"Number format"},numberFormat:{abbreviationLabel:"Abbreviation",valueLabel:"Value",decimalPlacesLabel:"Decimal places",options:{auto:"Auto",custom:"Custom",none:"None"}},headlineNumberSize:{sizeLabel:"Size",valueLabel:"Value",sizes:{small:"S",medium:"M",large:"L"}},lineThickness:{label:"Line thickness"},pointSize:{label:"Point size",options:{auto:"Auto",custom:"Custom"}},headlineNumberSection:{title:"Headline number",toggle:"Visible",metricLabel:"Metric",compareWithLabel:"Compare with",metrics:{total:"Total",average:"Avg.",current:"Last",conversion:"Conversion",left:"Left"},comparison:{first:"First",previous:"Previous"},position:{above:"Above",center:"Center"}},treatEmptyValues:{leaveGap:{label:"Leave gap in chart",description:"Leaves a visible break in the line where data is missing"},fillZero:{label:"Fill with zero",description:"Displays missing data points as zero"},connectGaps:{label:"Connect across gaps",description:"Joins the line between available points, skipping the gap"}},comboChartAppearance:{title:"Combo chart appearance",groupedBars:"Grouped bars",stackedBars:"Stacked bars",linesOnly:"Lines only"}},axesPanel:{toolbarButton:"Axes",mainAxisSection:{yAxis:"Y-axis",xAxis:"X-axis"},crossAxisSection:{xAxis:"X-axis",yAxis:"Y-axis"},controls:{title:"Title",visible:"Visible",ticks:"Ticks",labels:"Labels",position:"Position",scale:"Scale",startFrom:"Start from",endAt:"End at",value:"Value",numberOfAxes:"Number of axes",reverse:"Reverse"},labelMode:{auto:"Auto",edges:"Edges"},scale:{auto:"Auto",log:"Log"},startFrom:{auto:"Auto",zero:"Zero",custom:"Custom"},endAt:{auto:"Auto",custom:"Custom"},axisCount:{single:"Single",double:"Double"},position:{left:"Left",right:"Right",top:"Top",bottom:"Bottom"},yesNo:{yes:"Yes",no:"No"}},colorPanel:{toolbarButton:"Color",themeSection:{title:"Theme"},appearanceSection:{title:"Appearance",highlightStyle:"Highlight"},paletteSection:{title:"Palette",colorScheme:"Color scheme",colors:"Colors",colorPalettes:"Color palettes"},paletteMode:{preset:"Preset",brand:"Brand",freestyle:"Freestyle"},paletteThemes:{colorful:"Colorful",pastel:"Pastel",neon:"Neon"},backgroundSection:{title:"Background",black:"Black",white:"White",grey:"Grey",tint:"Tint",custom:"Custom",none:"None"},borderSection:{title:"Border",borderColor:"Border color",thickness:"Thickness",cornerRadius:"Corner radius"},borderType:{solid:"Solid",gradient:"Gradient",grey:"Grey",preset:"Preset",custom:"Custom",none:"None"},presetGradients:{lilac:"Lilac",neonPink:"Neon Pink",blackberry:"Blackberry",sun:"Sun",iceland:"Iceland",sunset:"Sunset",ultraviolet:"Ultraviolet",purple:"Purple",iceCream:"Ice Cream",mint:"Mint",cool:"Cool",fresh:"Fresh"}},designPanel:{toolbarButton:"Design",defaultExpanded:"Palette"},annotatePanel:{toolbarButton:"Annotate",callOutSection:{title:"Callouts",text:"Text",arrow:"Arrow",box:"Box",difference:"Difference"},highlightSection:{title:"Highlight",button:"Highlight",colorLabel:"Highlight color"}},annotationsPanel:{toolbarButton:"Annotate",freeformSection:{title:"Freeform",text:"Text",arrow:"Arrow",box:"Box",difference:"Difference"},goalSection:{title:"Goal",labelControl:"Label",labelPlaceholder:"Goal",labelAriaLabel:"Custom goal label",valueControl:"Goal value",valueAriaLabel:"Goal value",byDate:"By date",xAxisValue:"X-axis value",optional:"(optional)"},trendsAndAveragesSection:{title:"Trends and Averages",trend:"Trend",average:"Average"},trendType:{label:"Trend type",placeholder:"Trend type",options:{linear:"Linear",exponential:"Exponential",quadratic:"Quadratic",polynomial:"Polynomial",logarithmic:"Logarithmic",power:"Power",loess:"Loess"}},averageLineSeries:{label:"Average line series",placeholder:"Select series",ariaLabel:"Series dropdown for average line"},highlightSection:{title:"Highlight",button:"Highlight",fadeColorLabel:"Fade color"},titleAndSubtitleSection:{title:"Title & Subtitle",toggleTitle:"Title",subtitle:"Subtitle"},captionAndSourceSection:{title:"Caption & Source",caption:"Caption",source:"Source",url:"URL",name:"Name"}},elementsPanel:{contentVisible:"Visible",contentValue:"Value",toolbarButton:"Elements",headerSection:{title:"Header",toggleTitle:"Title",subtitle:"Subtitle"},footerSection:{title:"Footer",caption:"Caption",source:"Source",url:"URL",name:"Name"},textSizeSection:{title:"Text size",scaleFormat:e=>`${e.value}x`},fontSection:{title:"Font"},sourceSection:{title:"Source",url:"URL",name:"Name"}},powerUpPanel:{toolbarButton:"Power-ups",goalSection:{title:"Goal",toggle:"Goal",labelControl:"Label",labelPlaceholder:"Goal",labelAriaLabel:"Custom goal label",valueControl:"Goal value",byDate:"By date",xAxisValue:"X-axis value",optional:" (optional)",xAxisReferenceAriaLabel:"X-axis reference value",anyXAxisValue:"Any x-axis value",selectValuePlaceholder:"Select value"},trendSection:{title:"Trend",toggle:"Trend"},averageSection:{title:"Average",toggle:"Average",seriesLabel:"Average line series",seriesPlaceholder:"Select series",seriesAriaLabel:"Series dropdown for average line"},trendType:{label:"Trend type",placeholder:"Trend type",options:{linear:"Linear",exponential:"Exponential",quadratic:"Quadratic",polynomial:"Polynomial",logarithmic:"Logarithmic",power:"Power",loess:"Loess"}},valueInput:{percentagePlaceholder:"Percentage",numberPlaceholder:"Number",percentageSymbol:"%"}},highlighting:{modeHelper:{title:"Highlight mode",hover:"Hover",toHighlight:"to highlight",anyElement:"any element",escToExit:"to exit",esc:"ESC"},emptyState:"No highlight options available",deleteAriaLabel:"Delete highlight",highlightStyle:{tint:"Tint",grey:"Grey"}},fineTunePanel:{toolbarButton:"Fine tune",detailSection:{title:"Detail",missingValues:"Missing values"},lineStyleSection:{title:"Line style",lineCurve:"Line curve",sharp:"Sharp",smooth:"Smooth"}},customThemeEditor:{patternDropdownAriaLabel:"Pattern dropdown for series",patterns:{solid:"Solid",pattern:"Pattern",dotted:"Dotted",dashed:"Dashed",hatched:"Hatched"},heatmapColorLabel:"Color"},accessibility:{toggleSection:e=>`Toggle ${e.title} section`},graphyDefaults:{themeOptions:{light:"Light",dark:"Dark"}}},Os={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}`},titleEditor:{titlePlaceholder:"Untitled",subtitlePlaceholder:"Add a subtitle"},toolbar:{formatting:{bold:"Bold",italic:"Italic",underline:"Underline",link:"Link"},link:{ariaLabel:"Create link",placeholder:"Type or paste a link...",submit:"Submit",urlLabel:"Link URL",apply:"Apply link"},font:{label:"Font",ariaLabel:"Font family"},heading:{label:"Heading level",ariaLabel:"Text style",text:"Text",caption:"Caption",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3"},textAlign:{left:"Align left",center:"Align center",right:"Align right"},color:{label:"Text color"}},colorDropdown:{colors:"Colors",chartColors:"Chart colors",custom:"Custom",opacity:"Opacity",transparent:"Transparent",pickCustom:"Pick custom color",pickColor:"Pick color"},legend:{hiddenItems:"Hidden legend items"},annotations:{differenceArrowToolbar:{label:"Difference arrow options",labelKind:{ariaLabel:"Label",absoluteDifference:"Absolute change",relativeDifference:"Percentage change",proportion:"Proportion",suspectValue:"This value divides by a baseline of zero.",incomparableEnds:"The two ends measure different quantities, so a difference between them has no meaning."},color:"Arrow colour",size:{ariaLabel:"Size",small:"Small",medium:"Medium",large:"Large"},swap:"Swap direction",remove:"Remove arrow"},shapeToolbar:{label:"Shape options",color:"Shape colour",border:{ariaLabel:"Border",none:"None",thin:"Thin (2px)",medium:"Medium (8px)",thick:"Thick (16px)"},remove:"Remove shape",resize:{"top-left":"Resize from the top left","top-right":"Resize from the top right","bottom-right":"Resize from the bottom right","bottom-left":"Resize from the bottom left"}},arrowToolbar:{label:"Arrow options",color:"Arrow colour",thickness:{ariaLabel:"Thickness",thin:"Thin",medium:"Medium",thick:"Thick"},startArrowhead:"Start of the arrow",endArrowhead:"End of the arrow",arrowhead:{lineArrow:"Line arrow",none:"None"},lineStyle:{ariaLabel:"Line style",solid:"Solid",dashed:"Dotted"},sticker:"Sticker effect",remove:"Remove arrow",moveEndpoint:{start:"Move the start of the arrow",end:"Move the end of the arrow"}},baseMenu:{pinNumber:"Pin number",unpinNumber:"Unpin number",annotate:"Annotate",removeAnnotation:"Remove annotation",highlight:"Highlight",highlightWithLabel:e=>`Highlight ${e.label}`,removeHighlight:"Remove highlight",differenceArrow:"Difference arrow",addSticker:"Add sticker",removeSticker:"Remove sticker"},textMenu:{title:"Annotate",placeholder:"Add a comment",addButton:"Add"},highlights:{menuTitle:"Highlight",labels:{bar:"bar",barGroup:"group",barStack:"stack",barSeries:"series",line:"line",linePoint:"point",lineSeries:"series",scatterPoint:"point",scatterSeries:"series",pieSlice:"slice",pointOrBar:"point / bar",lineOrSeries:"line / series"}},stickerMenu:{title:"Add sticker"},delete:"Delete",arrow:{thickness:{label:"Thickness",thin:"Thin",medium:"Medium",thick:"Thick"},arrowhead:{startPoint:"Start point",endPoint:"End point",lineArrow:"Line arrow",none:"None"},lineStyle:{label:"Line style",solid:"Solid",dotted:"Dotted"},stickerEffect:"Sticker effect",toolbarAriaLabel:"Free-form arrow toolbar",editorAriaLabel:"Arrow editor"},differenceArrow:{type:{proportion:"Proportion",difference:({absoluteDifference:e})=>`Difference (${e})`,increase:({absoluteDifference:e})=>`Increase (${e})`,decrease:({absoluteDifference:e})=>`Decrease (${e})`,percentageChange:({percentageChange:e})=>`Percentage change (${e})`,percentIncrease:({percentageChange:e})=>`Percent increase (${e})`,percentDecrease:({percentageChange:e})=>`Percent decrease (${e})`},size:{label:"Size",small:"Small",medium:"Medium",large:"Large"},flipArrow:"Flip arrow",color:"Color",toolbarAriaLabel:"Difference arrow toolbar",editorAriaLabel:"Difference arrow editor"},shape:{color:"Color",border:{label:"Border",none:"None",thin:({value:e})=>`Thin (${e})`,medium:({value:e})=>`Medium (${e})`,thick:({value:e})=>`Thick (${e})`}}}},Fs={common:Ns,editor:Is,graph:Os,dir:"ltr"},Ds={editor:{colorPanel:{backgroundSection:{grey:"Gray"},borderType:{grey:"Gray"}},highlighting:{highlightStyle:{grey:"Gray"}}}},Gs={save:"Guardar",cancel:"Cancelar",confirm:"Confirmar",delete:"Eliminar",confirmDelete:e=>`Tem a certeza que deseja eliminar ${e.item}?`,abbreviations:{thousands:"mil",millions:"M",billions:"MM"}},Hs={title:"Editor Graphy",description:"Edite o seu conteúdo aqui",graphTypes:{column:"Colunas",columnStacked:"Colunas sobrepostas",columnStackedFill:"100% Colunas sobrepostas",bar:"Barras",barStacked:"Barras sobrepostas",barStackedFill:"100% Barras sobrepostas",line:"Linha",areaStacked:"Área sobreposta",pie:"Circular",donut:"Donut",scatter:"Dispersão",bubble:"Bolhas",funnel:"Funil",combo:"Combinado",heatmap:"Mapa de Calor",waterfall:"Cascata",mekko:"Mekko",table:"Tabela"},sizePanel:{toolbarButton:"Tamanho",presetsSection:{title:"Predefinições"},customSizeSection:{title:"Tamanho personalizado"},presets:{googleSlides:"Google Slides / PowerPoint",webEmail:"Web / email",linkedIn:"Publicação LinkedIn",instagram:"Publicação Instagram",tiktok:"TikTok / Instagram story",twitter:"X (Twitter)",mobile:"Móvel"},inputs:{unitLabel:"px"},validation:{maxSizeError:e=>`≤ ${e.max}px`,minSizeError:e=>`≥ ${e.min}px`}},graphPanel:{toolbarButton:"Gráfico",graphTypeSection:{title:"Tipo de gráfico"},mappingSection:{title:"Dados",x:"Eixo X",y:"Valor",color:"Cor",size:"Tamanho",label:"Etiqueta",none:"Nenhum"},polarSection:{title:"Polar",innerRadius:"Raio interno",startAngle:"Ângulo inicial"},barSection:{title:"Barras",thickness:"Espessura da barra",rounding:"Arredondamento",roundingOptions:{none:"Nenhum",xs:"XS",sm:"S",md:"M",lg:"L",xl:"XL",full:"Total"}},graphOptionsSection:{title:"Opções do gráfico"},gridSection:{title:"Grelha",horizontalGridLines:"Linhas horizontais",verticalGridLines:"Linhas verticais",rings:"Anéis",spokes:"Raios",gridStyle:"Estilo da grelha",gridThickness:"Espessura da grelha",lineStyles:{solid:"Sólida",dashed:"Tracejada",dotted:"Pontilhada"}},graphOptions:{sortBars:"Ordenar maior → menor",showPoints:"Mostrar pontos",lineFill:"Preencher sob a linha",smoothLines:"Linhas suaves",stackTotals:"Totais sobrepostos",dataLabels:"Etiquetas de dados",showPercentages:"Mostrar percentagens",categoryLabels:"Etiquetas de categorias"},legendSection:{title:"Legenda",auto:"Automático",top:"Topo",bottom:"Fundo",left:"Esquerda",right:"Direita",none:"Nenhuma",alignLabel:"Alinhamento",align:{auto:"Automático",start:"Início",center:"Centro",end:"Fim"},displayLabel:"Estilo",display:{auto:"Automático",pill:"Etiquetas",direct:"No gráfico"}},numberFormatSection:{title:"Formato numérico"},numberFormat:{abbreviationLabel:"Abreviação",valueLabel:"Valor",decimalPlacesLabel:"Casas decimais",options:{auto:"Automático",custom:"Personalizado",none:"Nenhum"}},headlineNumberSize:{sizeLabel:"Tamanho",valueLabel:"Valor",sizes:{small:"P",medium:"M",large:"G"}},lineThickness:{label:"Espessura da linha"},pointSize:{label:"Tamanho do ponto",options:{auto:"Automático",custom:"Personalizado"}},headlineNumberSection:{title:"Número destaque",toggle:"Visível",metricLabel:"Métrica",compareWithLabel:"Comparar com",metrics:{total:"Total",average:"Média",current:"Último",conversion:"Conversão",left:"Esquerda"},comparison:{first:"Primeiro",previous:"Anterior"},position:{above:"Acima",center:"Centro"}},treatEmptyValues:{leaveGap:{label:"Deixar espaço no gráfico",description:"Deixa uma quebra visível na linha onde faltam dados"},fillZero:{label:"Preencher com zero",description:"Exibe pontos de dados em falta como zero"},connectGaps:{label:"Ligar através dos espaços",description:"Une a linha entre pontos disponíveis, ignorando o espaço"}},comboChartAppearance:{title:"Aparência do gráfico combinado",groupedBars:"Barras agrupadas",stackedBars:"Barras sobrepostas",linesOnly:"Apenas linhas"}},axesPanel:{toolbarButton:"Eixos",mainAxisSection:{yAxis:"Eixo Y",xAxis:"Eixo X"},crossAxisSection:{xAxis:"Eixo X",yAxis:"Eixo Y"},controls:{title:"Título",visible:"Visível",ticks:"Marcas",labels:"Etiquetas",position:"Posição",scale:"Escala",startFrom:"Iniciar de",endAt:"Terminar em",value:"Valor",numberOfAxes:"Número de eixos",reverse:"Inverter"},labelMode:{auto:"Automático",edges:"Extremos"},scale:{auto:"Automático",log:"Logarítmico"},startFrom:{auto:"Automático",zero:"Zero",custom:"Personalizado"},endAt:{auto:"Automático",custom:"Personalizado"},axisCount:{single:"Único",double:"Duplo"},position:{left:"Esquerda",right:"Direita",top:"Topo",bottom:"Fundo"},yesNo:{yes:"Sim",no:"Não"}},colorPanel:{toolbarButton:"Cor",themeSection:{title:"Tema"},appearanceSection:{title:"Aparência",highlightStyle:"Destaque"},paletteSection:{title:"Paleta",colorScheme:"Esquema de cores",colors:"Cores",colorPalettes:"Paletas de cores"},paletteMode:{preset:"Predefinido",brand:"Marca",freestyle:"Livre"},paletteThemes:{colorful:"Colorido",pastel:"Pastel",neon:"Néon"},backgroundSection:{title:"Fundo",black:"Preto",white:"Branco",grey:"Cinzento",tint:"Tonalidade",custom:"Personalizado",none:"Nenhum"},borderSection:{title:"Contorno",borderColor:"Cor do contorno",thickness:"Espessura",cornerRadius:"Raio dos cantos"},borderType:{solid:"Sólido",gradient:"Gradiente",grey:"Cinzento",preset:"Predefinido",custom:"Personalizado",none:"Nenhum"},presetGradients:{lilac:"Lilás",neonPink:"Rosa Néon",blackberry:"Amora",sun:"Sol",iceland:"Islândia",sunset:"Pôr do Sol",ultraviolet:"Ultravioleta",purple:"Roxo",iceCream:"Gelado",mint:"Menta",cool:"Frio",fresh:"Fresco"}},designPanel:{toolbarButton:"Design",defaultExpanded:"Paleta"},annotatePanel:{toolbarButton:"Anotar",callOutSection:{title:"Destaques",text:"Texto",arrow:"Seta",box:"Caixa",difference:"Diferença"},highlightSection:{title:"Realce",button:"Realçar",colorLabel:"Cor do realce"}},annotationsPanel:{toolbarButton:"Anotar",freeformSection:{title:"Forma livre",text:"Texto",arrow:"Seta",box:"Caixa",difference:"Diferença"},goalSection:{title:"Objetivo",labelControl:"Etiqueta",labelPlaceholder:"Objetivo",labelAriaLabel:"Etiqueta de objetivo personalizada",valueControl:"Valor do objetivo",valueAriaLabel:"Valor do objetivo",byDate:"Por data",xAxisValue:"Valor do eixo X",optional:"(opcional)"},trendsAndAveragesSection:{title:"Tendências e Médias",trend:"Tendência",average:"Média"},trendType:{label:"Tipo de tendência",placeholder:"Tipo de tendência",options:{linear:"Linear",exponential:"Exponencial",quadratic:"Quadrática",polynomial:"Polinomial",logarithmic:"Logarítmica",power:"Potência",loess:"Loess"}},averageLineSeries:{label:"Série da linha de média",placeholder:"Selecionar série",ariaLabel:"Dropdown de séries para linha de média"},highlightSection:{title:"Realce",button:"Realçar",fadeColorLabel:"Cor de esmaecimento"},titleAndSubtitleSection:{title:"Título e Subtítulo",toggleTitle:"Título",subtitle:"Subtítulo"},captionAndSourceSection:{title:"Legenda e Fonte",caption:"Legenda",source:"Fonte",url:"URL",name:"Nome"}},elementsPanel:{contentVisible:"Visível",contentValue:"Valor",toolbarButton:"Elementos",headerSection:{title:"Cabeçalho",toggleTitle:"Título",subtitle:"Subtítulo"},footerSection:{title:"Rodapé",caption:"Legenda",source:"Fonte",url:"URL",name:"Nome"},textSizeSection:{title:"Tamanho do texto",scaleFormat:e=>`${e.value}x`},fontSection:{title:"Tipo de letra"},sourceSection:{title:"Fonte",url:"URL",name:"Nome"}},powerUpPanel:{toolbarButton:"Extras",goalSection:{title:"Objetivo",toggle:"Objetivo",labelControl:"Etiqueta",labelPlaceholder:"Objetivo",labelAriaLabel:"Etiqueta de objetivo personalizada",valueControl:"Valor do objetivo",byDate:"Por data",xAxisValue:"Valor do eixo X",optional:" (opcional)",xAxisReferenceAriaLabel:"Valor de referência do eixo X",anyXAxisValue:"Qualquer valor do eixo X",selectValuePlaceholder:"Selecionar valor"},trendSection:{title:"Tendência",toggle:"Tendência"},averageSection:{title:"Média",toggle:"Média",seriesLabel:"Série da linha de média",seriesPlaceholder:"Selecionar série",seriesAriaLabel:"Dropdown de séries para linha de média"},trendType:{label:"Tipo de tendência",placeholder:"Tipo de tendência",options:{linear:"Linear",exponential:"Exponencial",quadratic:"Quadrática",polynomial:"Polinomial",logarithmic:"Logarítmica",power:"Potência",loess:"Loess"}},valueInput:{percentagePlaceholder:"Percentagem",numberPlaceholder:"Número",percentageSymbol:"%"}},highlighting:{modeHelper:{title:"Modo de realce",hover:"Passe",toHighlight:"para realçar",anyElement:"qualquer elemento",escToExit:"para sair",esc:"ESC"},emptyState:"Sem opções de realce disponíveis",deleteAriaLabel:"Eliminar realce",highlightStyle:{tint:"Tonalidade",grey:"Cinzento"}},fineTunePanel:{toolbarButton:"Ajuste fino",detailSection:{title:"Detalhe",missingValues:"Valores em falta"},lineStyleSection:{title:"Estilo de linha",lineCurve:"Curva da linha",sharp:"Angulosa",smooth:"Suave"}},customThemeEditor:{patternDropdownAriaLabel:"Dropdown de padrões para série",patterns:{solid:"Sólido",pattern:"Padrão",dotted:"Pontilhado",dashed:"Tracejado",hatched:"Hachurado"},heatmapColorLabel:"Cor"},accessibility:{toggleSection:e=>`Alternar secção ${e.title}`},graphyDefaults:{themeOptions:{light:"Claro",dark:"Escuro"}}},Vs={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}`},titleEditor:{titlePlaceholder:"Sem título",subtitlePlaceholder:"Adicionar subtítulo"},toolbar:{formatting:{bold:"Negrito",italic:"Itálico",underline:"Sublinhado",link:"Ligação"},link:{ariaLabel:"Criar ligação",placeholder:"Escreva ou cole uma ligação...",submit:"Submeter",urlLabel:"URL da ligação",apply:"Aplicar ligação"},font:{label:"Tipo de letra",ariaLabel:"Família do tipo de letra"},heading:{label:"Nível de título",ariaLabel:"Estilo de texto",text:"Texto",caption:"Legenda",heading1:"Título 1",heading2:"Título 2",heading3:"Título 3"},textAlign:{left:"Alinhar à esquerda",center:"Alinhar ao centro",right:"Alinhar à direita"},color:{label:"Cor do texto"}},colorDropdown:{colors:"Cores",chartColors:"Cores do gráfico",custom:"Personalizado",opacity:"Opacidade",transparent:"Transparente",pickCustom:"Escolher cor personalizada",pickColor:"Escolher cor"},legend:{hiddenItems:"Itens de legenda ocultos"},annotations:{differenceArrowToolbar:{label:"Opções da seta de diferença",labelKind:{ariaLabel:"Etiqueta",absoluteDifference:"Variação absoluta",relativeDifference:"Variação percentual",proportion:"Proporção",suspectValue:"Este valor divide por uma base igual a zero.",incomparableEnds:"As duas pontas medem quantidades diferentes, pelo que a diferença entre elas não tem significado."},color:"Cor da seta",size:{ariaLabel:"Tamanho",small:"Pequeno",medium:"Médio",large:"Grande"},swap:"Inverter sentido",remove:"Remover seta"},shapeToolbar:{label:"Opções da forma",color:"Cor da forma",border:{ariaLabel:"Contorno",none:"Nenhum",thin:"Fino (2px)",medium:"Médio (8px)",thick:"Espesso (16px)"},remove:"Remover forma",resize:{"top-left":"Redimensionar a partir do canto superior esquerdo","top-right":"Redimensionar a partir do canto superior direito","bottom-right":"Redimensionar a partir do canto inferior direito","bottom-left":"Redimensionar a partir do canto inferior esquerdo"}},arrowToolbar:{label:"Opções da seta",color:"Cor da seta",thickness:{ariaLabel:"Espessura",thin:"Fina",medium:"Média",thick:"Espessa"},startArrowhead:"Início da seta",endArrowhead:"Fim da seta",arrowhead:{lineArrow:"Ponta de seta",none:"Nenhuma"},lineStyle:{ariaLabel:"Estilo da linha",solid:"Sólida",dashed:"Pontilhada"},sticker:"Efeito autocolante",remove:"Remover seta",moveEndpoint:{start:"Mover o início da seta",end:"Mover o fim da seta"}},baseMenu:{pinNumber:"Fixar número",unpinNumber:"Desafixar número",annotate:"Anotar",removeAnnotation:"Remover anotação",highlight:"Realçar",highlightWithLabel:e=>`Realçar ${e.label}`,removeHighlight:"Remover realce",differenceArrow:"Seta de diferença",addSticker:"Adicionar autocolante",removeSticker:"Remover autocolante"},textMenu:{title:"Anotar",placeholder:"Adicionar comentário",addButton:"Adicionar"},highlights:{menuTitle:"Realçar",labels:{bar:"Barra",barGroup:"Grupo",barStack:"Pilha",barSeries:"Série",line:"Linha",linePoint:"Ponto",lineSeries:"Série",scatterPoint:"Ponto",scatterSeries:"Série",pieSlice:"Fatia",pointOrBar:"Ponto / barra",lineOrSeries:"Linha / série"}},stickerMenu:{title:"Adicionar autocolante"},delete:"Eliminar",arrow:{thickness:{label:"Espessura",thin:"Fina",medium:"Média",thick:"Grossa"},arrowhead:{startPoint:"Ponto inicial",endPoint:"Ponto final",lineArrow:"Seta de linha",none:"Nenhuma"},lineStyle:{label:"Estilo de linha",solid:"Sólida",dotted:"Pontilhada"},stickerEffect:"Efeito de autocolante",toolbarAriaLabel:"Barra de ferramentas de seta livre",editorAriaLabel:"Editor de seta"},differenceArrow:{type:{proportion:"Proporção",difference:({absoluteDifference:e})=>`Diferença (${e})`,increase:({absoluteDifference:e})=>`Aumento (${e})`,decrease:({absoluteDifference:e})=>`Diminuição (${e})`,percentageChange:({percentageChange:e})=>`Variação percentual (${e})`,percentIncrease:({percentageChange:e})=>`Aumento percentual (${e})`,percentDecrease:({percentageChange:e})=>`Diminuição percentual (${e})`},size:{label:"Tamanho",small:"Pequeno",medium:"Médio",large:"Grande"},flipArrow:"Inverter seta",color:"Cor",toolbarAriaLabel:"Barra de ferramentas de seta de diferença",editorAriaLabel:"Editor de seta de diferença"},shape:{color:"Cor",border:{label:"Contorno",none:"Nenhum",thin:({value:e})=>`Fino (${e})`,medium:({value:e})=>`Médio (${e})`,thick:({value:e})=>`Grosso (${e})`}}}},Ws={common:Gs,editor:Hs,graph:Vs,dir:"ltr"},$e={"en-GB":Fs,"en-US":Ds,ar:Ms,"pt-PT":Ws},Us=({locale:e,overrides:t,fallbackLocale:r="en-GB"})=>{const n=t??{};return(a,i)=>{const s=i??{},l=a.split("."),c=n[a];if(c)return typeof c=="function"?c(s):c;const u=ur($e[e??r],l);if(u)return typeof u=="function"?u(s):u;const h=ur($e[r],l);return h?typeof h=="function"?h(s):h:a}},zs=({locale:e,overrides:t})=>t?.dir??$e[e].dir??"ltr",ur=(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},qs=e=>{const t="en-GB";if(!e)return t;const r=e.trim().replace("_","-").toLowerCase();return Object.keys($e).find(n=>n.toLowerCase()===r)??t},Mn=(0,g.createContext)(null),_=()=>{const e=(0,g.useContext)(Mn);if(!e)throw new Error("useI18n must be used within IntlProvider");return e.translator},Nn=({locale:e,children:t,i18nOverrides:r})=>{const n=qs(e),a=(0,g.useMemo)(()=>({translator:Us({locale:n,overrides:r,fallbackLocale:"en-GB"}),dir:zs({locale:n,overrides:r})}),[r,n]);return(0,o.jsx)(pa.IntlProvider,{locale:n,timeZone:"UTC",children:(0,o.jsx)(Mn.Provider,{value:a,children:t})})},Ks="bow4tg0",Ys="bow4tg1",Qs="bow4tg2",Xs="bow4tg3",Js="bow4tg4",It="_1ii3bsb0",In="_1ii3bsb1",On=(0,g.createContext)({colorScheme:"light",themeClass:It,inlineVarsStyle:{},themeValues:nn("light",{})}),Me=()=>(0,g.useContext)(On),Fn=({colorScheme:e,themeOverrides:t={},textScale:r=1,graphBackground:n,children:a})=>{const i=(0,g.useMemo)(()=>nn(e,t),[e,t]),s=(0,g.useMemo)(()=>{const c={[f.vars.textScale]:String(r)};for(const u of Object.keys(t)){const h=u;c[f.vars[h]]=i[h]}return n!==void 0&&(c[f.vars.graphBackground]=n),(0,Br.assignInlineVars)(c)},[r,n,i,t]),l=(0,g.useMemo)(()=>({colorScheme:e,themeClass:e==="dark"?In:It,inlineVarsStyle:s,themeValues:i}),[e,s,i]);return(0,o.jsx)(On.Provider,{value:l,children:a})},$=({children:e,className:t,style:r})=>{const{themeClass:n,inlineVarsStyle:a}=Me();return(0,o.jsx)("div",{className:(0,B.default)(n,Ys,t),style:{...a,...r},children:e})},Zs="_1cocly40",_s={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",brand:"var(--brand-font-family), 'Aeonik', 'Inter', sans-serif"},Te=({content:e})=>(0,o.jsx)(o.Fragment,{children:Dn(e.content??[e])}),Dn=e=>e.map((t,r)=>$s(t,r)),$s=(e,t)=>{if(e.type==="text")return el(e,t);if(e.type==="hardBreak"||e.type==="hard_break")return(0,o.jsx)("br",{},t);const r=e.content?Dn(e.content):null;switch(e.type){case"doc":return(0,o.jsx)(g.Fragment,{children:r},t);case"heading":{const n=ol(e.attrs?.level);return al(n,t,r,hr(e.attrs))}case"paragraph":return(0,o.jsx)("p",{"data-variant":xe(e.attrs?.variant)??void 0,style:Gn(hr(e.attrs)),children:r},t);case"blockquote":return(0,o.jsx)("blockquote",{children:r},t);case"bulletList":case"bullet_list":return(0,o.jsx)("ul",{children:r},t);case"orderedList":case"ordered_list":return(0,o.jsx)("ol",{children:r},t);case"listItem":case"list_item":return(0,o.jsx)("li",{children:r},t);default:return(0,o.jsx)("span",{children:r},t)}},el=(e,t)=>{const r=e.text??"";return!e.marks||e.marks.length===0?(0,o.jsx)("span",{children:r},t):e.marks.reduceRight((n,a,i)=>tl(a,n,`${t}-${i}`),r)},tl=(e,t,r)=>{switch(e.type){case"bold":case"strong":return(0,o.jsx)("strong",{children:t},r);case"italic":case"em":return(0,o.jsx)("em",{children:t},r);case"underline":return(0,o.jsx)("u",{children:t},r);case"strike":case"strikethrough":case"s":return(0,o.jsx)("s",{children:t},r);case"code":return(0,o.jsx)("code",{children:t},r);case"link":{const n=xe(e.attrs?.href);return(0,d.isSafeUrl)(n)?(0,o.jsx)("a",{className:Zs,href:n,rel:"noopener noreferrer",target:"_blank",children:t},r):(0,o.jsx)("span",{children:t},r)}case"textStyle":{const n=rl(e.attrs);return n?(0,o.jsx)("span",{style:n,children:t},r):(0,o.jsx)("span",{children:t},r)}default:return(0,o.jsx)("span",{children:t},r)}},dr=e=>{const t=xe(e&&typeof e=="object"?e.fontFamily:e);if(t)return _s[t]??t},rl=e=>{if(!e)return null;const t={},r=xe(e.color);r&&(t.color=r);const n=dr(e.font)??dr(e.fontFamily);n&&(t.fontFamily=n);const a=nl(e.fontSize);return a&&(t.fontSize=a),Object.keys(t).length>0?t:null},nl=e=>typeof e=="number"&&Number.isFinite(e)?`${e/10}em`:xe(e),xe=e=>typeof e=="string"&&e.length>0?e:void 0,ol=e=>typeof e!="number"?3:e<1?1:e>3?3:Math.round(e),al=(e,t,r,n)=>{const a=Gn(n);switch(e){case 1:return(0,o.jsx)("h1",{style:a,children:r},t);case 2:return(0,o.jsx)("h2",{style:a,children:r},t);case 3:return(0,o.jsx)("h3",{style:a,children:r},t)}},hr=e=>{const t=e?.textAlign;if(t==="left"||t==="right"||t==="center"||t==="justify")return t},Gn=e=>e?{textAlign:e}:void 0;function me(e){const{store:t}=le();return(0,Le.useStore)(t,e)}var il="_19519k80";var sl="_19519k83",ll="_19519k84",cl="_19519k85",ul="_19519k87",dl="_19519k88",hl="_19519k89",gl="_19519k8a",pl=e=>{const{overlayRef:t}=le(),r=(0,g.useRef)(null),[n,a]=(0,g.useState)(!1),i=Ze(e);return(0,g.useEffect)(()=>{const s=t.current;if(!s)return;const l=u=>{r.current={clientX:u.clientX,clientY:u.clientY},a(!0),i.current?.()},c=()=>{r.current=null,a(!1)};return s.addEventListener("pointermove",l),s.addEventListener("pointerleave",c),()=>{s.removeEventListener("pointermove",l),s.removeEventListener("pointerleave",c)}},[t,i]),{cursorRef:r,isInside:n}},ml=24,vl=8,fl={x:0,y:0,top:0,left:0,right:0,bottom:0,width:0,height:0,toJSON:()=>({})},Ue={boundary:[],padding:vl},xl=()=>{const e=k((0,H.useShallow)(S=>({layers:S.layers,coordSystem:S.coordSystem,scales:S.scales,guides:S.guides,numberFormat:S.config.numberFormat,parsingLocale:S.config.parsingLocale,comments:S.annotations.comments}))),{formattingLocale:t,colorScheme:r}=V(),n=me(S=>S.hover),a=me(S=>S.tooltipAnchor),i=me(S=>S.isPointerSuspended),s=X("Tooltip",Hn),l=(0,g.useRef)(()=>{}),{cursorRef:c,isInside:u}=pl(()=>l.current()),h=(0,g.useMemo)(()=>(0,d.buildTooltipContent)({...e,hover:n,colorScheme:r,formattingLocale:t,activeCalloutId:a?.annotationId??null}),[e,n,r,t,a]),p=!i&&h!==null&&(u||a!==null),v=(0,g.useMemo)(()=>({getBoundingClientRect:()=>{if(a!==null)return yl(a);const S=c.current;return S===null?fl:bl(S)}}),[c,a]),{refs:m,floatingStyles:x,update:y}=(0,M.useFloating)(Al({isOpen:p,tooltipAnchor:a,virtualReference:v}));if(l.current=y,!p)return null;const b=(0,o.jsx)("div",{ref:m.setFloating,role:"tooltip",className:gl,style:x,"data-testid":"chart-tooltip",children:(0,o.jsx)(s,{content:h})}),A=q();return A?(0,jt.createPortal)((0,o.jsx)($,{children:b}),A):b},Hn=({content:e})=>{const t=oe(),r=k(n=>n.coordSystem);return(0,o.jsxs)("div",{className:il,children:[e.comment!==null&&(0,o.jsx)("div",{className:"_19519k82",children:(0,o.jsx)(Te,{content:e.comment})}),e.header!==null&&(0,o.jsx)("div",{className:"_19519k81","data-testid":"chart-tooltip-header",children:e.header}),(0,o.jsx)("div",{className:sl,children:e.rows.map(n=>{const a=t(n.geom,r.type);return(0,o.jsx)(Sl,{row:n,swatchShape:a?.swatchShape??"square",shouldHighlight:n.isPrimary&&e.rows.length>1},n.key)})})]})},bl=e=>({x:e.clientX,y:e.clientY,top:e.clientY,left:e.clientX,right:e.clientX,bottom:e.clientY,width:0,height:0,toJSON:()=>({})}),yl=e=>({x:e.x,y:e.y,top:e.y,left:e.x,right:e.x,bottom:e.y,width:0,height:0,toJSON:()=>({})}),Al=({isOpen:e,tooltipAnchor:t,virtualReference:r})=>({open:e,placement:t!==null?t.placement:"right",middleware:t!==null?[(0,M.offset)(d.ANNOTATION_TOOLTIP_MARKER_GAP),(0,M.shift)(Ue),(0,M.flip)(Ue)]:[(0,M.offset)(ml),(0,M.flip)(Ue),(0,M.shift)(Ue)],elements:{reference:r}}),Sl=({row:e,swatchShape:t,shouldHighlight:r})=>(0,o.jsxs)("div",{className:(0,B.default)(ll,{[cl]:r}),"data-testid":"chart-tooltip-row",children:[e.swatchColor===null?(0,o.jsx)("span",{className:ul,"aria-hidden":!0}):(0,o.jsx)(Be,{shape:t,color:e.swatchColor,surface:"tooltip",label:e.label,lineType:e.swatchLineType}),(0,o.jsx)("span",{className:dl,children:e.label}),(0,o.jsx)("span",{className:hl,children:e.value})]}),qe={plansByLayerId:null,coordKey:null,chromeDelaySeconds:0},Ot=(0,g.createContext)(qe),wl=({intro:e,children:t})=>{const{layers:r,coordSystem:n,scales:a}=k((0,H.useShallow)(s=>({layers:s.layers,coordSystem:s.coordSystem,scales:s.scales}))),[i]=(0,g.useState)(()=>kl({layers:r,coordSystem:n,scales:a,intro:e}));return(0,o.jsx)(Ot.Provider,{value:i,children:t})},Pl=()=>(0,g.useContext)(Ot).chromeDelaySeconds,jl=e=>{const{plansByLayerId:t,coordKey:r}=(0,g.useContext)(Ot),n=k(a=>Vn(a.coordSystem));return t===null||r!==n?null:t.get(e)??null},kl=({layers:e,coordSystem:t,scales:r,intro:n})=>{if(!n.enabled||e.reduce((s,l)=>s+(0,d.countLayerGeoms)(l),0)>n.maxAnimatedGeoms)return qe;const a={durationScale:n.durationScale,stagger:n.stagger,staggerOrder:n.staggerOrder},i=new Map;for(const s of e){const l=(0,d.buildLayerIntroPlan)({layer:s,coordSystem:t,scales:r,options:a});l!==null&&i.set(s.id,l)}return i.size===0?qe:{plansByLayerId:i,coordKey:Vn(t),chromeDelaySeconds:ks*n.durationScale}},Vn=e=>e.type==="cartesian"?`cartesian-${e.mainAxis}`:e.type,Wn=()=>{const e=Z(),t=k(r=>r.config.appearance.textScale);return(0,g.useMemo)(()=>{const r={};for(const n of d.AXIS_KEYS)r[n]=(0,d.resolveAxisLabelStyle)(e,n,t);return r},[e,t])},nt=()=>{const e=Z(),t=k(r=>r.config.appearance.textScale);return(0,g.useMemo)(()=>{const r={};for(const n of d.DATA_LABEL_ROLES){const a={};for(const i of d.DATA_LABEL_POSITIONS)a[i]=(0,d.resolveDataLabelStyle)(e,n,i,t);r[n]=a}return r},[e,t])},Ft=()=>{const e=Z(),t=k(r=>r.config.appearance.textScale);return(0,g.useMemo)(()=>{const r={};for(const n of d.AXIS_KEYS)r[n]=(0,d.resolveTickLabelStyle)(e,n,t);return r},[e,t])},Un=()=>{const e=Z();return(0,g.useMemo)(()=>{const t={};for(const r of d.AXIS_KEYS)t[r]=(0,d.resolveTickLineStyle)(e,r);return t},[e])},Cl=({textMeasurer:e,tickLabelStyles:t,tickLineStyles:r,familyDefault:n})=>a=>{const i=a.position==="top"||a.position==="bottom",s=(0,d.getAestheticFromScaleAestheticKey)(a.scaleAestheticKey),{offset:l,...c}=t[s],u=a.ticksVisible?Math.max(l,r[s].length):l,h=(0,d.toFontSpec)(c,n),p=a.ticks.map(m=>e.measureText(m.formattedLabel,h)),v=a.labelMaxWidthPx??Number.POSITIVE_INFINITY;if(i){if(a.labelRotation!==0){const m=p.map(x=>x.width);return gr(m,v)+2*u}return Math.max(...p.map(m=>m.height))+u}return gr(p.map(m=>m.width),v)+u},gr=(e,t)=>Math.min(Math.max(...e),t),El=({axisLabelStyles:e})=>t=>(0,d.computeLineBoxHeight)(e[(0,d.getAestheticFromScaleAestheticKey)(t.scaleAestheticKey)]),zn=({textMeasurer:e,dataLabelStyles:t,familyDefault:r})=>(n,a,i)=>{const s=t[n][a],l=e.measureText(i,(0,d.toFontSpec)(s,r));return{...l,width:l.width+s.paddingInline*2,height:l.height+s.paddingBlock*2}},Rl=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>{const{labelLineHeight:i,labelFontWeight:s}=(0,d.getDifferenceArrowDimensions)(a,t);return e.measureText(n,{family:r.fonts.familyDefault,size:i,weight:s})},Tl=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>{const i=qn(n,a,e,t,r);return{width:Kn(i.map(s=>s.width))+Math.max(0,i.length-1)*r.headlineItemGap,height:Math.max(0,...i.map(s=>s.height))}},Ll=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>qn(n,a,e,t,r).map(i=>i.width),Bl=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>{const i=yt("value",a,t,r.fonts.familyDefault);return{width:e.measureText(n,i).width,height:i.size*Qr}},Ml=({textMeasurer:e,textScale:t,metrics:r})=>{const n=Tl({textMeasurer:e,textScale:t,metrics:r}),a=Bl({textMeasurer:e,textScale:t,metrics:r});return(i,s)=>i.kind==="perGroup"?n(i,s):a(i.value,s)},qn=(e,t,r,n,a)=>{const i={value:yt("value",t,n,a.fonts.familyDefault),label:yt("label",t,n,a.fonts.familyDefault)},s=l=>Nl(l,i,r);return e.items.map(l=>{const c=(0,d.createHeadlineItemRows)(l).map(s),u=Math.max(0,c.length-1)*a.headlineRowGap;return{width:Math.max(0,...c.map(h=>h.width)),height:Kn(c.map(h=>h.height))+u}})},Nl=(e,t,r)=>{let n=0,a=0;for(const i of e.segments)if(i.kind==="text"){const s=t[i.fontRole];n+=r.measureText(i.text,s).width,a=Math.max(a,s.size*Qr)}else n+=i.size,a=Math.max(a,i.size);return{width:n+Math.max(0,e.segments.length-1)*e.gap,height:a}},yt=(e,t,r,n)=>({family:n,size:tt(e==="value"?ti[t]:ri[t],r)}),Kn=e=>e.reduce((t,r)=>t+r,0),Dt=(e,t)=>Mt(e,t).size*e.lineHeight,Yn=(e,t)=>e?t:0,Il=({textMeasurer:e,textScale:t,metrics:r})=>n=>{const a=Dt(r.fonts.legendLabel,t),i=Mt(r.fonts.legendLabel,t);if(n.position==="top"||n.position==="bottom")return Math.max(a,r.legendSwatchHeight)+r.legendPillVerticalChrome;const s=n.items.map(l=>{const c=e.measureText(l.formattedLabel,i).width,u=Yn(l.visual.color,r.legendSwatchWidth);return u+(u>0?r.legendSwatchGap:0)+c});return Math.max(...s)+r.legendPillHorizontalChrome},Ol=({textMeasurer:e,tickLabelStyles:t,familyDefault:r})=>(n,a)=>e.measureText(n,(0,d.toFontSpec)(t[a],r)),Fl=Object.freeze({}),Dl=({textMeasurer:e,textScale:t,metrics:r,overrides:n=Fl})=>{const a=Wn(),i=nt(),s=Ft(),l=Un(),c=(0,g.useRef)(n);return c.current=n,(0,g.useMemo)(()=>{if(!e)return null;const u=r.fonts.familyDefault,h=Cl({textMeasurer:e,tickLabelStyles:s,tickLineStyles:l,familyDefault:u}),p=El({axisLabelStyles:a}),v=Il({textMeasurer:e,textScale:t,metrics:r}),m=Ml({textMeasurer:e,textScale:t,metrics:r}),x=Ll({textMeasurer:e,textScale:t,metrics:r}),y={measureText:(b,A)=>e.measureText(b,A),textScale:t};return{measureAxis:b=>{if(Hl(b))return 0;const A=c.current.measureAxis;return A?A(b,y):h(b)},measureAxisLabel:b=>{const A=c.current.measureAxisLabel;return A?A(b,y):p(b)},measureLegend:b=>{if(Vl(b))return 0;const A=c.current.measureLegend;return A?A(b,y):v(b)},measureHeadline:(b,A)=>(c.current.measureHeadline??m)(b,A),measureHeadlineItemWidths:(b,A)=>(c.current.measureHeadlineItemWidths??x)(b,A),measureTickLabel:Ol({textMeasurer:e,tickLabelStyles:s,familyDefault:u}),measureDifferenceArrowLabel:Rl({textMeasurer:e,textScale:t,metrics:r}),measureDataLabel:zn({textMeasurer:e,dataLabelStyles:i,familyDefault:u})}},[e,t,r,a,i,s,l])},Gl=({measurer:e,axes:t,numberFormat:r,parsingLocale:n,formattedLegends:a,containerSize:i,externalMeasurements:s,headline:l,formattingLocale:c,annotations:u,layers:h,coordSystem:p,textScale:v,overflowStrategy:m,layout:x,panelBorder:y})=>(0,g.useMemo)(()=>e?new d.LayoutCompiler(e).compile({axes:t,numberFormat:r,parsingLocale:n,formattedLegends:a,containerSize:i,externalMeasurements:s,headline:l,formattingLocale:c,annotations:u,layers:h,coordSystem:p,textScale:v,overflowStrategy:m,layout:x,panelBorder:y}):null,[t,r,n,a,i,s,m,l,c,u,h,p,v,x,y,e]),Hl=e=>!e.isVisible||e.ticks.length===0,Vl=e=>e.items.length===0,pr=.5,Qn=(0,g.createContext)(new Map),Xn=(0,g.createContext)(()=>{}),Jn=(0,g.createContext)(new Set),Wl=({children:e})=>{const[t,r]=(0,g.useState)(()=>new Map),[n]=(0,g.useState)(()=>new Set),a=(0,g.useRef)(new Map),i=(0,g.useCallback)((s,l,c)=>{const u=a.current.get(s)??new Set;if(c!==null){u.add(l),a.current.set(s,u),r(h=>ql(h,s,c));return}u.delete(l),!(u.size>0)&&(a.current.delete(s),r(h=>Kl(h,s)))},[]);return(0,o.jsx)(Xn.Provider,{value:i,children:(0,o.jsx)(Jn.Provider,{value:n,children:(0,o.jsx)(Qn.Provider,{value:t,children:e})})})},Zn=()=>(0,g.useContext)(Qn),Ul=()=>(0,g.useContext)(Xn),_n=e=>{const t=Ul(),r=(0,g.useId)(),n=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(typeof ResizeObserver>"u")return;const a=n.current;if(a===null)return;const i=()=>t(e,r,{width:a.offsetWidth,height:a.offsetHeight});i();const s=new ResizeObserver(i);return s.observe(a),()=>{s.disconnect(),t(e,r,null)}},[e,r,t]),n},zl=()=>(0,g.useContext)(Jn),ql=(e,t,r)=>{const n=e.get(t);if(n!==void 0&&Math.abs(n.width-r.width)<pr&&Math.abs(n.height-r.height)<pr)return e;const a=new Map(e);return a.set(t,r),a},Kl=(e,t)=>{if(!e.has(t))return e;const r=new Map(e);return r.delete(t),r},Gt="data-edit-kind",$n="data-edit-id",Yl="observation",Ql=new Set(["annotation"]),Xl=e=>Ql.has(e.kind),Jl=(e,t)=>e===t?!0:e===null||t===null||e.kind!==t.kind?!1:e.id===t.id,Ne=e=>({[Gt]:e.kind,[$n]:e.id}),Zl=()=>({[Gt]:Yl}),_l=(e,t)=>e!==null&&e.annotationId===t?e:null,$l=(e,t)=>e.annotationId===t.annotationId&&e.translation.x===t.translation.x&&e.translation.y===t.translation.y,ec=(e,t,r)=>e!==null&&e.annotationId===t&&e.endpoint===r?e:null,tc=(e,t)=>e.annotationId===t.annotationId&&e.endpoint===t.endpoint&&e.anchor.x===t.anchor.x&&e.anchor.y===t.anchor.y,rc=(e,t,r)=>e!==null&&e.annotationId===t&&e.endpoint===r?e:null,nc=(e,t)=>e.annotationId===t.annotationId&&e.endpoint===t.endpoint&&(0,d.areAnchorsEqual)(e.point.anchor,t.point.anchor),oc=(e,t)=>e!==null&&e.annotationId===t?e:null,ac=(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,Re=({standingInteraction:e},t)=>e!==null&&de(e,t)?e:null,ic=(e,t)=>{if(e===null)return!1;switch(t.kind){case"difference-arrow-endpoint-drag":return de(e,t.kind)&&nc(e,t);case"arrow-endpoint-drag":return de(e,t.kind)&&tc(e,t);case"move-drag":return de(e,t.kind)&&$l(e,t);case"shape-resize-drag":return de(e,t.kind)&&ac(e,t);case"chrome-popup":return de(e,t.kind);case"menu":return!1}},de=(e,t)=>e.kind===t,eo=()=>(0,Lr.createStore)(e=>({menuTrigger:null,chromeUnderPointer:null,editTargetUnderPointer:null,standingInteraction:null,setMenuTrigger:t=>e(r=>(0,d.areEditMenuTriggersEqual)(r.menuTrigger,t)?r:{menuTrigger:t}),setChromeUnderPointer:t=>e({chromeUnderPointer:t}),setEditTargetUnderPointer:t=>e(r=>Jl(r.editTargetUnderPointer,t)?r:{editTargetUnderPointer:t}),claimInteraction:t=>e(r=>ic(r.standingInteraction,t)?r:{standingInteraction:t}),releaseInteraction:t=>e(r=>r.standingInteraction?.kind===t?{standingInteraction:null}:r)})),Ht=(0,g.createContext)(null),sc=eo(),lc=({children:e})=>{const[t]=(0,g.useState)(()=>eo());return(0,o.jsx)(Ht.Provider,{value:t,children:e})},cc=()=>{const e=(0,g.useContext)(Ht);if(e===null)throw new Error("useEditorStore must be used inside an <EditorProvider>.");return e};function be(e){return(0,Le.useStore)((0,g.useContext)(Ht)??sc,e)}var to=(0,g.createContext)(null),uc=({panelRect:e,children:t})=>{const r=dc(e);return(0,o.jsx)(to.Provider,{value:r,children:t})},ro=()=>{const e=(0,g.useContext)(to);if(e===null)throw new Error("Difference arrows read outside a <DifferenceArrowsProvider>.");return e},dc=e=>{const{formattingLocale:t}=V(),r=se(),{fonts:n}=ie(),a=be(y=>Re(y,"difference-arrow-endpoint-drag")),{differenceArrows:i,mainAxis:s,textScale:l,parsingLocale:c}=k((0,H.useShallow)(y=>({differenceArrows:y.annotations.differenceArrows,mainAxis:y.coordSystem.type==="cartesian"?y.coordSystem.mainAxis:"x",textScale:y.config.appearance.textScale,parsingLocale:y.config.parsingLocale}))),u=t??c,{width:h,height:p}=e,v=(0,g.useMemo)(()=>({mainAxis:s,panelWidth:h,panelHeight:p,textScale:l,locale:u}),[s,h,p,l,u]),m=(0,g.useMemo)(()=>hc(r,n.familyDefault),[r,n.familyDefault]),x=(0,g.useMemo)(()=>i.map(y=>{const b=mr(y,v,m);return{...b,arrow:y,committedArrow:y,committedLabelBox:b.labelBox,committedLabelText:b.labelText,isDragged:!1,hasComparableEndpoints:(0,d.areEndpointsComparable)(y.start,y.end)}}),[i,v,m]);return(0,g.useMemo)(()=>a===null?x:x.map(y=>{if(y.id!==a.annotationId)return y;const b=gc(y.committedArrow,a);return{...mr(b,v,m),arrow:b,committedArrow:y.committedArrow,committedLabelBox:y.committedLabelBox,committedLabelText:y.committedLabelText,isDragged:!0,hasComparableEndpoints:(0,d.areEndpointsComparable)(b.start,b.end)}}),[x,a,v,m])},mr=(e,t,r)=>{const n=(0,d.computeDifferenceArrow)({arrow:e,...t});return{...n,labelBox:(0,d.getDifferenceArrowLabelBox)({labelPosition:n.labelPosition,measuredTextWidth:r(n.labelText,n.labelLineHeight,n.labelFontWeight),labelLineHeight:n.labelLineHeight,labelPaddingX:n.labelPaddingX,labelPaddingY:n.labelPaddingY})}},hc=(e,t)=>{const r=new Map;return(n,a,i)=>{const s=`${a}|${i}|${n}`,l=r.get(s);if(l!==void 0)return l;const{width:c}=e.measureText(n,{family:t,size:a,weight:i});return r.set(s,c),c}},gc=(e,t)=>{const r=t.endpoint==="start"?t.point:e.start,n=t.endpoint==="end"?t.point:e.end;return{...e,start:r,end:n,color:(0,d.resolveArrowColor)(e.ownColor,r,n)}},pc="data:image/png;base64,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",mc=({className:e})=>(0,o.jsx)("img",{src:pc,alt:"","aria-hidden":"true",className:e,draggable:!1}),vc="https://graphy.app/?utm_source=chart-mark&utm_medium=embed",fc="Made with Graphy — open graphy.app";var xc="vultop0";var bc="vultop2",yc="vultop3",Ac="vultop4",Sc="vultop5",wc="vultop6",Pc="vultop7",jc=e=>{const t=kc(e.trim());if(t===null)return"light";const r=Cc(t);return r<=.22?"dark":r<=.65?"mid":"light"},kc=e=>{if(!e.startsWith("#"))return null;const t=e.slice(1);if(t.length===3){const r=t[0],n=t[1],a=t[2];return r===void 0||n===void 0||a===void 0?null:{red:Number.parseInt(r+r,16),green:Number.parseInt(n+n,16),blue:Number.parseInt(a+a,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},Cc=({red:e,green:t,blue:r})=>{const n=a=>{const i=a/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4};return .2126*n(e)+.7152*n(t)+.0722*n(r)},no=(e,t,r="full")=>!e||t.width<120||t.height<80?"hidden":t.width<200||r==="mini"?"mini":"full",Vt=({visual:e,placement:t})=>{const{background:r}=(0,d.resolveGraphChromeStyle)(Z()),n=jc(r);return(0,o.jsxs)("a",{className:(0,B.default)(xc,e==="mini"&&"vultop1",t==="footer"?wc:Pc),href:vc,target:"_blank",rel:"noopener noreferrer","aria-label":fc,"data-visual":e,"data-zone":n,children:[(0,o.jsx)("span",{className:bc,children:(0,o.jsx)(mc,{className:yc})}),(0,o.jsxs)("span",{className:Ac,children:[(0,o.jsx)("span",{children:"Made with"}),(0,o.jsx)("span",{className:Sc,children:"Graphy"})]})]})},Wt=()=>{const{commands:e}=V();return e},Ec="data-variant",oo=va.Paragraph.extend({addAttributes(){return{variant:{default:null,parseHTML:e=>e.getAttribute("data-variant")??null,renderHTML:e=>e.variant?{[Ec]:e.variant}:{}}}}}),Rc=ma.Extension.create({name:"preventBackspaceAcrossTitleBoundary",addOptions(){return{isTitleVisible:!0}},addKeyboardShortcuts(){return{Backspace:({editor:e})=>{if(!this.options.isTitleVisible)return!1;const{selection:t}=e.state;if(!t.empty)return!1;const{$from:r}=t;return r.depth!==1||r.parentOffset!==0?!1:r.index(0)===1}}}}),Tc=({titlePlaceholder:e,subtitlePlaceholder:t,isTitleVisible:r,isSubtitleVisible:n})=>[Bc({isTitleVisible:r,isSubtitleVisible:n}),oo,Dr.Text,Ye.UndoRedo,Ir.Heading.configure({levels:[1,2,3]}),Mr.Bold,Or.Italic,Hr.Underline,Gr.TextAlign.configure({types:["heading","paragraph"]}),Fr.Link.configure({openOnClick:!1,autolink:!0}),pe.TextStyle,pe.Color,pe.FontFamily,Nr.HardBreak,Rc.configure({isTitleVisible:r}),Ye.Placeholder.configure({showOnlyCurrent:!1,placeholder:({pos:a,editor:i})=>{if(r&&a===0)return e;const s=r?i.state.doc.firstChild?.nodeSize??-1:0;return n&&a===s?t:""}})],Lc=({placeholder:e})=>[vt.Document,oo,Dr.Text,Ye.UndoRedo,Ir.Heading.configure({levels:[1,2,3]}),Mr.Bold,Or.Italic,Hr.Underline,Gr.TextAlign.configure({types:["heading","paragraph"]}),Fr.Link.configure({openOnClick:!1,autolink:!0}),pe.TextStyle,pe.Color,pe.FontFamily,Nr.HardBreak,Ye.Placeholder.configure({showOnlyCurrent:!1,placeholder:({pos:t})=>t===0?e:""})],Bc=({isTitleVisible:e,isSubtitleVisible:t})=>e&&t?vt.Document.extend({content:"block{2,}"}):vt.Document,Mc="yl2d2l0";var ao="yl2d2l3",Nc="yl2d2l4",io="yl2d2l5",At="yl2d2l6",Ic="yl2d2l7",Oc="yl2d2l8",so="yl2d2l9",Fc="yl2d2la",Dc="yl2d2lb",Gc="yl2d2lc",Hc="yl2d2ld",Vc="yl2d2le",Wc="_1qa8u0q0",Uc="_1qa8u0q1",zc="_1qa8u0q2",qc="_1qa8u0q3",Kc="_1qa8u0q4",Yc=.01,Qc=({value:e,onChange:t,label:r})=>(0,o.jsx)(ke.Slider.Root,{className:Wc,value:e,onValueChange:n=>t(n),min:0,max:1,step:Yc,children:(0,o.jsx)(ke.Slider.Control,{className:Uc,children:(0,o.jsxs)(ke.Slider.Track,{className:zc,children:[(0,o.jsx)(ke.Slider.Indicator,{className:qc}),(0,o.jsx)(ke.Slider.Thumb,{className:Kc,"aria-label":r})]})})}),Xc=f.CANVAS_COLOR_KEYS.map(e=>f.vars[e]),Jc=Object.fromEntries(f.CANVAS_COLOR_KEYS.map(e=>[f.vars[e],e])),Zc=({color:e,onChange:t,isOpen:r,onOpenChange:n,children:a,label:i,popupAttributes:s,opacity:l,onOpacityChange:c})=>{const u=_(),h=$c(),p=v=>{t(v),n(!1)};return(0,o.jsxs)(I.Popover.Root,{open:r,onOpenChange:n,children:[(0,o.jsx)(I.Popover.Trigger,{render:(0,o.jsx)(ne.Toolbar.Button,{}),"aria-label":i??u("graph.toolbar.color.label"),className:Mc,onMouseDown:v=>v.preventDefault(),children:a??(0,o.jsx)("span",{className:"yl2d2l1",style:{background:e??"transparent"}})}),(0,o.jsx)(I.Popover.Portal,{container:q(),children:(0,o.jsx)($,{children:(0,o.jsx)(I.Popover.Positioner,{sideOffset:6,align:"start",className:ao,children:(0,o.jsxs)(I.Popover.Popup,{className:Nc,onMouseDown:v=>v.preventDefault(),...s,children:[(0,o.jsx)(vr,{title:u("graph.colorDropdown.colors"),colors:Xc,currentColor:e,onPick:p}),h.length>0&&(0,o.jsx)(vr,{title:u("graph.colorDropdown.chartColors"),colors:h,currentColor:e,onPick:p}),(0,o.jsx)(_c,{value:e??"#000000",onChange:t,popupAttributes:s}),l!==void 0&&c!==void 0&&(0,o.jsxs)("div",{className:"yl2d2l5",children:[(0,o.jsx)("div",{className:"yl2d2l6",children:u("graph.colorDropdown.opacity")}),(0,o.jsx)(Qc,{value:l,onChange:c,label:u("graph.colorDropdown.opacity")})]})]})})})})]})},vr=({title:e,colors:t,currentColor:r,onPick:n})=>(0,o.jsxs)("div",{className:io,children:[(0,o.jsx)("div",{className:At,children:e}),(0,o.jsx)("div",{className:Ic,children:t.map(a=>(0,o.jsx)("button",{type:"button","aria-label":a,className:Oc,"data-active":tu(a,r),onMouseDown:i=>i.preventDefault(),onClick:()=>n(a),children:(0,o.jsx)("span",{className:so,style:lo(a)})},a))})]}),_c=({value:e,onChange:t,popupAttributes:r})=>{const n=_(),[a,i]=(0,g.useState)(!1),s=ai(e)?e:"#000000",l=eu(s);return(0,o.jsxs)(I.Popover.Root,{open:a,onOpenChange:i,children:[(0,o.jsxs)("div",{className:io,children:[(0,o.jsx)("div",{className:At,children:n("graph.colorDropdown.custom")}),(0,o.jsxs)(I.Popover.Trigger,{className:Fc,onMouseDown:c=>c.preventDefault(),"aria-label":n("graph.colorDropdown.pickCustom"),children:[(0,o.jsx)("span",{className:so,style:lo(s)}),(0,o.jsx)("span",{className:Dc,children:l})]})]}),(0,o.jsx)(I.Popover.Portal,{container:q(),children:(0,o.jsx)($,{children:(0,o.jsx)(I.Popover.Positioner,{side:"right",align:"start",sideOffset:18,className:ao,children:(0,o.jsxs)(I.Popover.Popup,{className:Gc,onMouseDown:c=>c.preventDefault(),...r,children:[(0,o.jsx)("div",{className:At,children:n("graph.colorDropdown.pickColor")}),(0,o.jsx)(Jt.HexColorPicker,{color:l,onChange:t,className:Hc}),(0,o.jsx)(Jt.HexColorInput,{color:l,onChange:t,prefixed:!0,className:Vc,onMouseDown:c=>c.stopPropagation()})]})})})})]})},$c=()=>{const e=k(t=>t.scales.color);return(0,g.useMemo)(()=>{if(!e||e.kind!=="visual")return[];const t=new Set;for(const r of e.domain){const n=e.map(r);typeof n=="string"&&t.add(n)}return[...t]},[e])},lo=e=>({background:e,border:`1px solid ${Xr(e,.1)}`}),eu=e=>{const{themeValues:t}=Me();if(oi(e))return e.toUpperCase();const r=Jc[e];return r?t[r].toUpperCase():"#000000"},tu=(e,t)=>t===null?!1:e.toLowerCase()===t.toLowerCase(),ru="_1ebx0ha0",nu="_1ebx0ha1",ou="_1ebx0ha2",au="ulx3010",iu="ulx3011",su="ulx3012",lu=({children:e,popupAttributes:t})=>(0,o.jsx)(N.Menu.Portal,{container:q(),children:(0,o.jsx)($,{children:(0,o.jsx)(N.Menu.Positioner,{side:"bottom",align:"start",sideOffset:6,className:au,children:(0,o.jsx)(N.Menu.Popup,{className:iu,onMouseDown:r=>r.preventDefault(),...t,children:e})})})}),cu=({children:e,isSelected:t=!1,isDisabled:r=!1,onClick:n})=>(0,o.jsx)(N.Menu.Item,{className:su,"data-selected":t,disabled:r,onClick:n,children:e}),uu=({className:e,...t})=>(0,o.jsx)(ue.Tooltip.Provider,{children:(0,o.jsx)(ne.Toolbar.Root,{...t,className:(0,B.default)(ru,e)})}),du=({className:e,...t})=>(0,o.jsx)(ne.Toolbar.Group,{...t,className:(0,B.default)(nu,e)}),hu=({className:e,...t})=>(0,o.jsx)(ne.Toolbar.Separator,{...t,className:(0,B.default)(ou,e)}),gu=({children:e})=>{const t=q();return t===null?null:(0,jt.createPortal)((0,o.jsx)($,{children:e}),t)},G={Portal:gu,Root:uu,Group:du,Separator:hu,Button:ne.Toolbar.Button,ColorPicker:Zc,MenuPopup:lu,MenuItem:cu},pu={xxs:8,xs:12,sm:16,md:20,lg:24,xl:36},mu={primary:"asohov1 asohov0",secondary:"asohov2 asohov0"},ee=({children:e,title:t,variant:r="primary",size:n="sm",...a})=>{const i=(0,g.useId)(),s=pu[n];return(0,o.jsxs)("svg",{className:mu[r],"aria-labelledby":t?i:void 0,height:s,width:s,fill:"none",viewBox:"0 0 24 24",role:"img",...a,children:[t&&(0,o.jsx)("title",{id:i,children:t}),e]})},Ut=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsx)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m6 9 6 6 6-6"})})}),vu="'Noto Serif', Georgia, 'Times New Roman', serif, 'Apple Color Emoji', 'NotoColorEmoji'",co=`'Aeonik', 'Aeonik Fallback', ${f.DEFAULT_FONT_FAMILY}`,fu="'PT Mono', 'Courier New', monospace, 'Apple Color Emoji', 'NotoColorEmoji'",xu="'Intruding Cat', cursive, 'Apple Color Emoji', 'NotoColorEmoji'",bu=`var(--brand-font-family), ${co}`,St=[{id:"modern",label:"Modern",preview:"Aa",fontFamily:f.DEFAULT_FONT_FAMILY},{id:"fresh",label:"Fresh",preview:"Aa",fontFamily:co},{id:"timeless",label:"Timeless",preview:"Aa",fontFamily:vu},{id:"technical",label:"Technical",preview:"00",fontFamily:fu},{id:"fineliner",label:"Fineliner",preview:"Aa",fontFamily:xu},{id:"brand",label:"Brand",preview:"Aa",fontFamily:bu}],yu=e=>e?St.find(t=>t.fontFamily===e)??null:null,uo="_1qkyw7q0",ho="_1qkyw7q1",go="_1qkyw7q3",po="_1qkyw7q4",mo="_1qkyw7q5",Au=({editor:e,currentFontFamily:t,isOpen:r,onOpenChange:n})=>{const a=_(),i=yu(t)??St[0],s=l=>{e.chain().focus().setFontFamily(l.fontFamily).run()};return(0,o.jsxs)(N.Menu.Root,{open:r,onOpenChange:n,children:[(0,o.jsxs)(N.Menu.Trigger,{render:(0,o.jsx)(ne.Toolbar.Button,{}),"aria-label":a("graph.toolbar.font.ariaLabel"),className:uo,onMouseDown:l=>l.preventDefault(),children:[(0,o.jsx)("span",{className:ho,style:{fontFamily:i?.fontFamily},children:i?.preview}),(0,o.jsx)(Ut,{size:"sm"})]}),(0,o.jsx)(N.Menu.Portal,{container:q(),children:(0,o.jsx)($,{children:(0,o.jsx)(N.Menu.Positioner,{side:"bottom",align:"start",sideOffset:6,className:go,children:(0,o.jsx)(N.Menu.Popup,{className:po,onMouseDown:l=>l.preventDefault(),children:St.map(l=>(0,o.jsx)(N.Menu.Item,{className:mo,"data-selected":l.id===i?.id,onClick:()=>s(l),children:(0,o.jsx)("span",{style:{fontFamily:l.fontFamily},children:l.label})},l.id))})})})})]})},vo={id:"text",translationKey:"graph.toolbar.heading.text",previewFont:f.vars.fontTextEditorBody},fr=[{id:"caption",translationKey:"graph.toolbar.heading.caption",previewFont:f.vars.fontTextEditorH6},vo,{id:"h3",translationKey:"graph.toolbar.heading.heading3",previewFont:f.vars.fontTextEditorH3},{id:"h2",translationKey:"graph.toolbar.heading.heading2",previewFont:f.vars.fontTextEditorH2},{id:"h1",translationKey:"graph.toolbar.heading.heading1",previewFont:f.vars.fontTextEditorH1}],Su=({editor:e,activeStyle:t,isOpen:r,onOpenChange:n})=>{const a=_(),i=fr.find(s=>s.id===t)??vo;return(0,o.jsxs)(N.Menu.Root,{open:r,onOpenChange:n,children:[(0,o.jsxs)(N.Menu.Trigger,{render:(0,o.jsx)(ne.Toolbar.Button,{}),"aria-label":a("graph.toolbar.heading.ariaLabel"),className:uo,onMouseDown:s=>s.preventDefault(),children:[(0,o.jsx)("span",{className:ho,children:a(i.translationKey)}),(0,o.jsx)(Ut,{size:"sm"})]}),(0,o.jsx)(N.Menu.Portal,{container:q(),children:(0,o.jsx)($,{children:(0,o.jsx)(N.Menu.Positioner,{side:"bottom",align:"start",sideOffset:6,className:go,children:(0,o.jsx)(N.Menu.Popup,{className:po,onMouseDown:s=>s.preventDefault(),children:fr.map(s=>(0,o.jsx)(N.Menu.Item,{className:mo,"data-selected":s.id===i.id,onClick:()=>wu(e,s.id),children:(0,o.jsx)(Pu,{font:s.previewFont,children:a(s.translationKey)})},s.id))})})})})]})},wu=(e,t)=>{switch(t){case"caption":e.chain().focus().setNode("paragraph",{variant:"caption"}).run();return;case"text":e.chain().focus().setNode("paragraph",{variant:null}).run();return;case"h1":e.chain().focus().setHeading({level:1}).run();return;case"h2":e.chain().focus().setHeading({level:2}).run();return;case"h3":e.chain().focus().setHeading({level:3}).run()}},Pu=({font:e,children:t})=>(0,o.jsx)("span",{style:{font:e,margin:0},children:t}),fo=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsx)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M20 6 9 17l-5-5"})})}),ju=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsxs)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),(0,o.jsx)("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})}),ku=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsxs)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})}),Cu=e=>!e.content||e.content.length===0?!0:e.content.every(t=>!t.content||t.content.length===0),Eu=e=>{const{$from:t}=e.state.selection,r=t.parent.textContent,n=t.parentOffset,a=t.start();let i=n;for(;i>0&&xr(r[i-1]);)i-=1;let s=n;for(;s<r.length&&xr(r[s]);)s+=1;return{from:a+i,to:a+s}},xr=e=>e!==void 0&&/\S/.test(e),Ru="b5kquu0",Tu="b5kquu1",Lu="b5kquu2",Bu="b5kquu3",br="b5kquu4",Mu=({editor:e,currentUrl:t,isActive:r,isOpen:n,onOpenChange:a})=>{const i=_(),[s,l]=(0,g.useState)(""),c=(0,g.useRef)(null);(0,g.useEffect)(()=>{n&&l(t??"")},[n,t]);const u=()=>{Nu(e,s),a(!1)},h=()=>{l(""),a(!1)},p=m=>{l(m.target.value)},v=m=>{m.key==="Enter"&&(m.preventDefault(),u())};return(0,o.jsxs)(I.Popover.Root,{open:n,onOpenChange:a,children:[(0,o.jsx)(I.Popover.Trigger,{render:(0,o.jsx)(ne.Toolbar.Button,{}),"aria-label":i("graph.toolbar.formatting.link"),"data-active":r,className:Ru,onMouseDown:m=>m.preventDefault(),children:(0,o.jsx)(ju,{})}),(0,o.jsx)(I.Popover.Portal,{container:q(),children:(0,o.jsx)($,{children:(0,o.jsx)(I.Popover.Positioner,{sideOffset:6,align:"end",className:Tu,children:(0,o.jsxs)(I.Popover.Popup,{className:Lu,initialFocus:c,onMouseDown:m=>m.preventDefault(),children:[(0,o.jsx)("input",{ref:c,type:"url",value:s,placeholder:i("graph.toolbar.link.placeholder"),"aria-label":i("graph.toolbar.link.urlLabel"),className:Bu,onMouseDown:m=>m.stopPropagation(),onChange:p,onKeyDown:v}),(0,o.jsx)("button",{type:"button","aria-label":i("common.cancel"),className:br,onClick:h,children:(0,o.jsx)(ku,{})}),(0,o.jsx)("button",{type:"button","aria-label":i("graph.toolbar.link.apply"),className:br,onClick:u,children:(0,o.jsx)(fo,{})})]})})})})]})},Nu=(e,t)=>{const r=t.trim(),{selection:n}=e.state;if(!r){e.chain().focus().extendMarkRange("link").unsetLink().run();return}if(!n.empty){e.chain().focus().setLink({href:r}).run();return}if(e.isActive("link")){e.chain().focus().extendMarkRange("link").setLink({href:r}).run();return}const a=Eu(e);e.chain().focus().setTextSelection(a).setLink({href:r}).run()},Iu=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsxs)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 5H3"}),(0,o.jsx)("path",{d:"M17 12H7"}),(0,o.jsx)("path",{d:"M19 19H5"})]})}),Ou=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsxs)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 5H3"}),(0,o.jsx)("path",{d:"M21 12H9"}),(0,o.jsx)("path",{d:"M21 19H7"})]})}),Fu=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsxs)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 5H3"}),(0,o.jsx)("path",{d:"M15 12H3"}),(0,o.jsx)("path",{d:"M17 19H3"})]})}),Du="k91gos0",Gu="k91gos1",Hu=6,ve=({label:e,isActive:t,onToggle:r,children:n})=>{const a=i=>i.preventDefault();return(0,o.jsxs)(ue.Tooltip.Root,{children:[(0,o.jsx)(ue.Tooltip.Trigger,{render:(0,o.jsx)(fa.Toggle,{render:(0,o.jsx)(ne.Toolbar.Button,{}),pressed:t,onPressedChange:()=>r()}),"aria-label":e,className:Du,onMouseDown:a,children:n}),(0,o.jsx)(ue.Tooltip.Portal,{container:q(),children:(0,o.jsx)($,{children:(0,o.jsx)(ue.Tooltip.Positioner,{sideOffset:Hu,children:(0,o.jsx)(ue.Tooltip.Popup,{className:Gu,children:e})})})})]})},Vu=({editor:e,activeAlignment:t="left"})=>{const r=_();return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ve,{label:r("graph.toolbar.textAlign.left"),isActive:t==="left",onToggle:()=>e.chain().focus().setTextAlign("left").run(),children:(0,o.jsx)(Fu,{})}),(0,o.jsx)(ve,{label:r("graph.toolbar.textAlign.center"),isActive:t==="center",onToggle:()=>e.chain().focus().setTextAlign("center").run(),children:(0,o.jsx)(Iu,{})}),(0,o.jsx)(ve,{label:r("graph.toolbar.textAlign.right"),isActive:t==="right",onToggle:()=>e.chain().focus().setTextAlign("right").run(),children:(0,o.jsx)(Ou,{})})]})},Wu="_1bp10ig0",Uu=({editor:e})=>({isBold:e?.isActive("bold")??!1,isItalic:e?.isActive("italic")??!1,isUnderline:e?.isActive("underline")??!1,isLink:e?.isActive("link")??!1,linkUrl:e?.getAttributes("link").href??null,color:e?.getAttributes("textStyle").color??null,fontFamily:e?.getAttributes("textStyle").fontFamily??null,fontSize:zu(e),textAlign:qu(e)}),zu=e=>e?e.isActive("heading",{level:1})?"h1":e.isActive("heading",{level:2})?"h2":e.isActive("heading",{level:3})?"h3":e.isActive("paragraph",{variant:"caption"})?"caption":"text":"text",qu=e=>e?e.isActive({textAlign:"center"})?"center":e.isActive({textAlign:"right"})?"right":"left":"left",Ku=8,Yu=8,Qu=({editor:e})=>{const t=_(),[r,n]=(0,g.useState)(!1),[a,i]=(0,g.useState)(null),s=a!==null,l=m=>x=>{i(x?m:null)},{refs:c,floatingStyles:u}=(0,M.useFloating)({placement:"top-start",strategy:"fixed",middleware:[(0,M.offset)(Ku),(0,M.flip)(),(0,M.shift)({padding:Yu})],whileElementsMounted:M.autoUpdate}),h=(0,g.useRef)(null),p=(0,kt.useEditorState)({editor:e,selector:Uu}),v=(0,g.useCallback)(m=>{h.current=m,c.setFloating(m)},[c]);return(0,g.useEffect)(()=>{e&&c.setReference(e.view.dom)},[e,c]),(0,g.useEffect)(()=>{if(!e)return;const m=()=>n(!0),x=({event:y})=>{const{relatedTarget:b,currentTarget:A}=y,S=b instanceof Node&&h.current?.contains(b),w=b instanceof Node&&A instanceof Node&&A.contains(b);!S&&!w&&n(!1)};return e.on("focus",m),e.on("blur",x),()=>{e.off("focus",m),e.off("blur",x)}},[e]),!e||!r&&!s?null:(0,o.jsx)(G.Portal,{children:(0,o.jsxs)(G.Root,{ref:v,className:Wu,style:u,children:[(0,o.jsxs)(G.Group,{children:[(0,o.jsx)(G.ColorPicker,{color:p?.color??null,onChange:m=>e.chain().setColor(m).run(),isOpen:a==="color",onOpenChange:l("color")}),(0,o.jsx)(Au,{editor:e,currentFontFamily:p?.fontFamily??null,isOpen:a==="fontFamily",onOpenChange:l("fontFamily")})]}),(0,o.jsx)(G.Separator,{}),(0,o.jsx)(G.Group,{children:(0,o.jsx)(Su,{editor:e,activeStyle:p?.fontSize??"text",isOpen:a==="fontSize",onOpenChange:l("fontSize")})}),(0,o.jsx)(G.Separator,{}),(0,o.jsxs)(G.Group,{children:[(0,o.jsx)(ve,{label:t("graph.toolbar.formatting.bold"),isActive:p?.isBold??!1,onToggle:()=>e.chain().focus().toggleBold().run(),children:(0,o.jsx)("strong",{children:"B"})}),(0,o.jsx)(ve,{label:t("graph.toolbar.formatting.italic"),isActive:p?.isItalic??!1,onToggle:()=>e.chain().focus().toggleItalic().run(),children:(0,o.jsx)("em",{children:"I"})}),(0,o.jsx)(ve,{label:t("graph.toolbar.formatting.underline"),isActive:p?.isUnderline??!1,onToggle:()=>e.chain().focus().toggleUnderline().run(),children:(0,o.jsx)("u",{children:"U"})})]}),(0,o.jsx)(G.Separator,{}),(0,o.jsx)(G.Group,{children:(0,o.jsx)(Vu,{editor:e,activeAlignment:p?.textAlign})}),(0,o.jsx)(G.Separator,{}),(0,o.jsx)(G.Group,{children:(0,o.jsx)(Mu,{editor:e,currentUrl:p?.linkUrl??null,isActive:p?.isLink??!1,isOpen:a==="link",onOpenChange:l("link")})})]})})},Xu="_2ngohc0",xo=({editor:e,ariaLabel:t})=>(0,o.jsxs)("div",{className:Xu,children:[(0,o.jsx)(Qu,{editor:e}),(0,o.jsx)(kt.EditorContent,{editor:e,"aria-label":t})]}),Ju=200,bo=({content:e,extensions:t,isEditable:r,onUpdate:n,updateDebounceMs:a=Ju})=>{const i=(0,g.useRef)(yr(e)),s=(0,g.useRef)(!1),l=Rn(u=>{s.current=!0,n?.(u)},a),c=(0,kt.useEditor)({extensions:t,content:i.current,editable:r,immediatelyRender:!1,onUpdate:({editor:u})=>l.run(u.getJSON())});return(0,g.useEffect)(()=>{c?.setEditable(r)},[c,r]),(0,g.useEffect)(()=>{if(!c)return;if(s.current){s.current=!1;return}const u=yr(e),h=c.getJSON();Zu(h,u)||(l.cancel(),c.commands.setContent(u,{emitUpdate:!1}))},[c,e,l]),(0,g.useEffect)(()=>()=>l.flush(),[l]),c},yr=e=>e===null?{type:"doc",content:[]}:typeof e=="string"?{type:"doc",content:[{type:"paragraph",content:e?[{type:"text",text:e}]:[]}]}:e,Zu=(e,t)=>JSON.stringify(e)===JSON.stringify(t);var _u="_4dlrid1",$u="xfz7dq0";var ed="xfz7dq2",td="xfz7dq3",rd="xfz7dq4",nd="xfz7dq5",yo=({ref:e,footerRect:t,mode:r="readonly",caption:n,isCaptionVisible:a,source:i,isSourceVisible:s,brandMark:l})=>{const c=r==="editable",u=a&&(c||n!==null),h=s&&i!==null&&sd(i),p=l!=="hidden";return!u&&!h&&!p?null:(0,o.jsxs)("div",{ref:e,className:$u,style:{left:t.x,top:t.y,width:t.width},children:[u?c?(0,o.jsx)(ld,{caption:n}):(0,o.jsx)(od,{caption:n}):null,(h||p)&&(0,o.jsxs)("div",{className:"xfz7dq1",children:[h&&(0,o.jsx)(ad,{source:i}),l!=="hidden"?(0,o.jsx)(Vt,{visual:l,placement:"footer"}):null]})]})},od=({caption:e})=>e===null?null:typeof e=="string"?(0,o.jsx)("p",{className:_u,children:e}):(0,o.jsx)(Te,{content:e}),ad=({source:e})=>{const t=(0,d.isSafeUrl)(e.url)?e.url:void 0,r=e.label??(t!==void 0?id(t):"");return r===""&&t===void 0?null:(0,o.jsxs)("span",{className:ed,children:[(0,o.jsx)("span",{className:rd,children:"Source:"}),t!==void 0?(0,o.jsx)("a",{className:td,href:t,target:"_blank",rel:"noopener noreferrer",children:r}):(0,o.jsx)("span",{className:nd,children:r})]})},id=e=>{try{return new URL(e).hostname}catch{return e}},sd=e=>e.label!==void 0&&e.label!==""||e.url!==void 0&&e.url!==""&&(0,d.isSafeUrl)(e.url),ld=({caption:e})=>{const{dispatch:t}=Wt();return(0,o.jsx)(xo,{editor:bo({content:e,extensions:(0,g.useMemo)(()=>Lc({placeholder:"Add caption"}),[]),isEditable:!0,onUpdate:r=>{const n=Cu(r)?null:r;t(new d.SetContentCaptionCommand({caption:n}))}}),ariaLabel:"Chart caption"})},cd="_1k4qtbg0";var ud=3,dd=({title:e,isTitleVisible:t,subtitle:r,isSubtitleVisible:n})=>{const a=[];return t&&a.push({type:"heading",attrs:{level:ud},content:gd(e)}),n&&a.push(...pd(r)),{type:"doc",content:a}},hd=e=>{const[t,...r]=e.content??[];return{title:md(t?.content??[]),subtitle:vd(r)}},zt=e=>({type:e.type??"text",...e.content!==void 0?{content:e.content.map(zt)}:{},...e.text!==void 0?{text:e.text}:{},...e.marks!==void 0?{marks:e.marks}:{},...e.attrs!==void 0?{attrs:e.attrs}:{}}),gd=e=>e===null?[]:typeof e=="string"?e===""?[]:[{type:"text",text:e}]:e.type==="doc"&&e.content?e.content.flatMap(t=>t.content??[]):e.type==="text"||e.type==="hardBreak"?[e]:e.content??[],pd=e=>e===null?[{type:"paragraph"}]:typeof e=="string"?e===""?[{type:"paragraph"}]:[{type:"paragraph",content:[{type:"text",text:e}]}]:e.type==="doc"&&e.content?e.content.length===0?[{type:"paragraph"}]:e.content.map(Ar):[Ar(e)],Ar=e=>e.type==="paragraph"?e:{type:"paragraph",content:e.content??[e]},md=e=>{if(e.length===0)return null;const[t]=e;return t&&e.length===1&&t.type==="text"&&(!t.marks||t.marks.length===0)?t.text??null:{type:"paragraph",content:e.map(zt)}},vd=e=>{const t=e.filter(n=>(n.content??[]).length>0);if(t.length===0)return null;const[r]=t;if(r&&t.length===1&&r.type==="paragraph"){const n=r.content??[],[a]=n;if(a&&n.length===1&&a.type==="text"&&(!a.marks||a.marks.length===0))return a.text??null}return{type:"doc",content:t.map(zt)}},fd=22,Ao=({ref:e,headerRect:t,mode:r="readonly",title:n,isTitleVisible:a,subtitle:i,isSubtitleVisible:s,brandMark:l})=>{const c=r==="editable",u=a&&(c||n!==null),h=s&&(c||i!==null),p=l!=="hidden";return!u&&!h&&!p?null:(0,o.jsxs)("div",{ref:e,className:(0,B.default)(cd,p&&"_1k4qtbg1"),style:{left:t.x,top:t.y,width:t.width,...p&&!u&&!h?{minHeight:fd}:{}},children:[c?(0,o.jsx)(bd,{title:n,isTitleVisible:a,isSubtitleVisible:s,subtitle:i},[a?"title":"",s?"subtitle":""].join("-")):(0,o.jsx)(xd,{title:n,isTitleVisible:a,isSubtitleVisible:s,subtitle:i}),l!=="hidden"?(0,o.jsx)(Vt,{visual:l,placement:"header"}):null]})},xd=({title:e,isTitleVisible:t,isSubtitleVisible:r,subtitle:n})=>{const a=t&&e!==null,i=r&&n!==null;return(0,o.jsxs)(o.Fragment,{children:[a&&(typeof e=="string"?(0,o.jsx)("h1",{className:"_4dlrid0",children:e}):(0,o.jsx)(Te,{content:e})),i&&(typeof n=="string"?(0,o.jsx)("p",{className:"_4dlrid1",children:n}):(0,o.jsx)(Te,{content:n}))]})},bd=({title:e,isTitleVisible:t,isSubtitleVisible:r,subtitle:n})=>{const{dispatch:a}=Wt(),i=(0,g.useMemo)(()=>Tc({titlePlaceholder:"Untitled",subtitlePlaceholder:"Untitled",isTitleVisible:t,isSubtitleVisible:r}),[t,r]);return(0,o.jsx)(xo,{editor:bo({content:(0,g.useMemo)(()=>dd({title:e,isTitleVisible:t,subtitle:n,isSubtitleVisible:r}),[e,t,n,r]),extensions:i,isEditable:!0,onUpdate:s=>{const l=hd(s);t&&a(new d.SetContentTitleCommand({title:l.title})),r&&a(new d.SetContentSubtitleCommand({subtitle:l.subtitle}))}}),ariaLabel:"Chart title and subtitle"})},yd="_1u9qprb0",Ad="_1u9qprb1",Sd=da({groupRow:()=>jd,item:()=>So,trendRow:()=>Pd,valueRow:()=>wd}),wd="_9aen060",Pd="_9aen061",jd="_9aen062",So="_9aen063",kd=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsxs)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m5 12 7-7 7 7"}),(0,o.jsx)("path",{d:"M12 19V5"})]})}),wo=e=>(0,o.jsx)(ee,{...e,children:(0,o.jsx)("g",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M5 12h14"})})}),Po="n7clvo0",Cd="n7clvo1",Ed="n7clvo2",Rd="n7clvo3",jo={small:"n7clvo4",medium:"n7clvo5",large:"n7clvo6"},Td={small:"n7clvo7",medium:"n7clvo8",large:"n7clvo9"},Ld={up:"n7clvoa",down:"n7clvob",flat:"n7clvoc"},Bd={up:"n7clvoe n7clvod",down:"n7clvof n7clvod",flat:"n7clvog n7clvod"},Md=({segment:e,resolvedSize:t})=>{const r=oe();if(e.kind==="swatch")return(0,o.jsx)(Be,{shape:r(e.swatch.geom,"cartesian")?.swatchShape??"square",color:e.swatch.color,surface:"headline",width:e.size,height:e.size});if(e.kind==="trendArrow")return(0,o.jsx)("div",{className:Bd[e.direction],children:e.direction==="flat"?(0,o.jsx)(wo,{size:"xs",title:""}):(0,o.jsx)(kd,{size:"xs",title:""})});const n=e.fontRole==="value"?jo[t]:Td[t];return(0,o.jsx)("span",{className:(0,B.clsx)(Nd(e),n),children:e.text})},Nd=e=>{switch(e.textRole){case"value":return Po;case"observation":return Cd;case"trendPercentage":return Ld[e.trendDirection??"up"];case"trendReference":return Ed;case"label":return Rd}},Id=({item:e,resolvedSize:t})=>(0,o.jsx)("div",{className:So,children:(0,d.createHeadlineItemRows)(e).map(r=>(0,o.jsx)(Od,{row:r,resolvedSize:t},r.role))}),Od=({row:e,resolvedSize:t})=>{const r=e.role==="trendRow";return(0,o.jsx)("div",{className:Sd[e.role],"data-testid":r?"headline-trend":void 0,"data-direction":r?Fd(e):void 0,role:r?"img":void 0,"aria-label":r?e.ariaLabel:void 0,children:e.segments.map((n,a)=>(0,o.jsx)(Md,{segment:n,resolvedSize:t},a))})},Fd=e=>{const t=e.segments.find(r=>r.kind==="trendArrow");return t?.kind==="trendArrow"?t.direction:void 0},Dd=({headline:e,rect:t,resolvedSize:r,visibleItemCount:n})=>{const a={left:t.x,top:t.y,width:t.width,height:t.height};return e.kind==="grandTotal"?(0,o.jsx)("div",{className:Ad,style:a,children:(0,o.jsx)("span",{className:(0,B.clsx)(Po,jo[r]),children:e.value})}):(0,o.jsx)("div",{className:yd,style:a,children:e.items.slice(0,n).map((i,s)=>(0,o.jsx)(Id,{item:i,resolvedSize:r},`${i.label}-${s}`))})},Gd="_1oj6yix0";var Hd="_1oj6yix2",Vd=8,Wd=16,Ud=2,zd=({legends:e,containerRect:t,textScale:r})=>{const{fonts:n}=ie(),a=Dt(n.legendLabel,r),{placements:i,hasOverlap:s}=qd(e,t,a);if(i.length===0)return null;const l=s?Wd:Vd,c=l-Ud;return(0,o.jsxs)("div",{className:Gd,children:[s&&(0,o.jsx)("svg",{className:"_1oj6yix1",width:t.width,height:t.height,children:i.map(u=>(0,o.jsx)(Kd,{anchorY:u.anchorY,labelY:u.y,endX:c,color:u.payload.color},u.payload.key))}),i.map(u=>(0,o.jsx)("span",{className:Hd,style:{left:l,top:u.y,color:u.payload.color},children:u.payload.label},u.payload.key))]})},qd=(e,t,r)=>(0,g.useMemo)(()=>{const n=[];for(const a of e)for(const i of a.items){if(i.normalizedY===null)continue;const s=typeof i.visual.color=="string"?i.visual.color:void 0;n.push({normalizedY:i.normalizedY,payload:{key:String(n.length),label:i.formattedLabel,color:s}})}return n.length===0||t.height<=0?{placements:[],hasOverlap:!1}:(0,d.computeDirectLabelsLayout)({items:n,containerHeight:t.height,labelHeight:r})},[e,t.height,r]),Kd=({anchorY:e,labelY:t,endX:r,color:n})=>{const a=r/2;return(0,o.jsx)("path",{d:`M0,${e} C${a},${e} ${a},${t} ${r},${t}`,fill:"none",stroke:n??"currentColor",strokeWidth:1,strokeDasharray:"2 2"})},Yd="_6a636s0",Qd="_1kjk02r0",Xd="_1kjk02r1",Jd="_1kjk02r2",Zd="_1kjk02r3",_d="_1kjk02r4",$d="_1kjk02r5",eh="_1kjk02r6",th="_1kjk02r7",rh="_1kjk02r8";var nh="_1dw9dgx0",oh="#9ca3af",ht="\0",ah=(e,t)=>{const r=[];return e.forEach((n,a)=>{const i=n.aesthetics.includes("size");for(const s of n.items){if(i){const h=Number(s.visual.size);if(!Number.isFinite(h)||h<=0)continue}const l=s.visual.color??"",c=i?`${ht}${Number(s.visual.size)}`:"",u=s.visual.lineType;r.push({key:`${a}${ht}${String(s.value)}${ht}${l}${c}`,formattedLabel:s.formattedLabel,visual:s.visual,swatchShape:t(s.geom),isBubble:i,primaryLineType:u})}}),r},ko=({pill:e})=>e.isBubble?(0,o.jsx)(lh,{pill:e}):(0,o.jsx)(sh,{pill:e}),ih=({color:e,lineType:t,shape:r,label:n})=>{const{legendSwatchWidth:a,legendSwatchHeight:i}=ie();return e?(0,o.jsx)(Be,{shape:r,color:e,surface:"legend",label:n,lineType:t,width:a,height:i}):null},sh=({pill:e})=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ih,{color:e.visual.color,lineType:e.primaryLineType,shape:e.swatchShape,label:e.formattedLabel}),(0,o.jsx)("span",{children:e.formattedLabel})]}),lh=({pill:e})=>{const t=Number(e.visual.size);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:nh,style:{width:t,height:t,backgroundColor:e.visual.color??oh}}),(0,o.jsx)("span",{children:e.formattedLabel})]})},ch=({hiddenPills:e,placement:t})=>{const r=_(),[n,a]=(0,g.useState)(!1),{refs:i,floatingStyles:s}=(0,M.useFloating)({open:n,placement:t,middleware:[(0,M.offset)(4),(0,M.flip)(),(0,M.shift)({padding:8})]});(0,g.useEffect)(()=>{if(!n)return;const h=v=>{const m=v.target;if(!m)return;const x=i.reference.current,y=i.floating.current;x instanceof Element&&x.contains(m)||y instanceof Element&&y.contains(m)||a(!1)},p=v=>{v.key==="Escape"&&a(!1)};return document.addEventListener("pointerdown",h),document.addEventListener("keydown",p),()=>{document.removeEventListener("pointerdown",h),document.removeEventListener("keydown",p)}},[n,i.floating,i.reference]);const l=t==="left"||t==="right",c=Math.min(e.length-1,2),u=Array.from({length:c},(h,p)=>c-p);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("div",{ref:i.setReference,className:(0,B.clsx)(Qd,{[Jd]:l,[Xd]:!l}),children:[u.map(h=>(0,o.jsx)("span",{className:(0,B.clsx)(Zd,{[$d]:l,[_d]:!l}),style:uh(h,l),"aria-hidden":!0},h)),(0,o.jsx)("button",{type:"button",className:(0,B.clsx)(eh,{[th]:n}),onClick:()=>a(h=>!h),"aria-haspopup":"dialog","aria-expanded":n,"aria-label":`Show ${e.length} hidden legend ${e.length===1?"item":"items"}`,children:(0,o.jsxs)("span",{className:rh,children:["+",e.length]})})]}),n&&(0,o.jsx)("div",{ref:i.setFloating,role:"dialog","aria-label":r("graph.legend.hiddenItems"),className:"_1kjk02r9",style:s,children:(0,o.jsx)("ul",{className:"_1kjk02ra",children:e.map(h=>(0,o.jsx)("li",{className:"_1kjk02rb",children:(0,o.jsx)(ko,{pill:h})},h.key))})})]})},uh=(e,t)=>{const r=-e*4;return{transform:t?`translateY(${r}px)`:`translateX(${r}px)`}},dh="_1cecisi0",hh="_1cecisi1",gh="_1cecisi2",ph={start:"_1cecisi3",center:"_1cecisi4",end:"_1cecisi5"},mh={right:"_1cecisi6",left:"_1cecisi7"},vh="_1cecisi8",fh=({edge:e,formattedLegends:t,containerWidth:r,containerHeight:n,textScale:a})=>{const i=se(),s=ie(),l=oe(),c=k(A=>A.coordSystem.type),u=(0,g.useMemo)(()=>ah(t,A=>l(A,c)?.swatchShape??"square"),[t,l,c]),h=e==="left"||e==="right",p=h?n:r,v=t[0]?.align??"start",m=(0,g.useMemo)(()=>{if(u.length===0)return{visibleCount:0,hasOverflow:!1};if(p<=0)return{visibleCount:u.length,hasOverflow:!1};const A=Mt(s.fonts.legendLabel,a),S=Dt(s.fonts.legendLabel,a),w=j=>h?xh(j,S,s):Sr({label:j.formattedLabel,swatchInlineSize:bh(j,s.legendSwatchWidth),textMeasurer:i,font:A,swatchGap:s.legendSwatchGap,horizontalChrome:s.legendPillHorizontalChrome}),C=u.map(w),E=(h?S+s.legendPillVerticalChrome:Sr({label:`+${u.length}`,swatchInlineSize:0,textMeasurer:i,font:A,swatchGap:s.legendSwatchGap,horizontalChrome:s.legendPillHorizontalChrome}))+8;return Ah({pillSizes:C,overflowPillSize:E,containerSize:p,gap:s.legendItemGap})},[u,p,h,i,a,s]);if(u.length===0)return null;const x=u.slice(0,m.visibleCount),y=u.slice(m.visibleCount),b=m.hasOverflow&&y.length>0;return(0,o.jsxs)("div",{className:(0,B.clsx)(ph[v],dh,{[gh]:h,[hh]:!h,[mh[e==="left"?"left":"right"]]:h}),children:[x.map(A=>(0,o.jsx)("div",{className:vh,children:(0,o.jsx)(ko,{pill:A})},A.key)),b&&(0,o.jsx)(ch,{hiddenPills:y,placement:Sh(e)})]})},Sr=({label:e,swatchInlineSize:t,textMeasurer:r,font:n,swatchGap:a,horizontalChrome:i})=>{const s=r.measureText(e,n).width;return t+(t>0?a:0)+s+i},xh=(e,t,r)=>{const n=yh(e,r.legendSwatchHeight);return Math.max(t,n)+r.legendPillVerticalChrome},bh=(e,t)=>e.isBubble?Number(e.visual.size):Yn(e.visual.color,t),yh=(e,t)=>e.isBubble?Number(e.visual.size):t,Ah=({pillSizes:e,overflowPillSize:t,containerSize:r,gap:n})=>{if(e.length===0)return{visibleCount:0,hasOverflow:!1};let a=0;for(let l=0;l<e.length;l+=1)l>0&&(a+=n),a+=e[l]??0;if(a<=r)return{visibleCount:e.length,hasOverflow:!1};let i=0,s=0;for(const l of e){const c=i+(s>0?n:0)+l;if(c+n+t>r)break;i=c,s+=1}return{visibleCount:s,hasOverflow:!0}},Sh=e=>{switch(e){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}},wh=(0,g.memo)(function({formattedLegends:t,rects:r,textScale:n}){const a=(0,g.useMemo)(()=>{const i=new Map;for(const s of t){let l=i.get(s.position);l||(l={pill:[],direct:[]},i.set(s.position,l)),s.display==="pill"?l.pill.push(s):l.direct.push(s)}return i},[t]);return(0,o.jsx)(o.Fragment,{children:Array.from(a,([i,s])=>{const l=r[i];return l===void 0?null:(0,o.jsxs)("div",{className:Yd,style:{left:l.x,top:l.y,width:l.width,height:l.height},children:[(0,o.jsx)(fh,{edge:i,formattedLegends:s.pill,containerWidth:l.width,containerHeight:l.height,textScale:n}),(0,o.jsx)(zd,{legends:s.direct,containerRect:l,textScale:n})]},i)})})}),Ph=({layers:e,primaryLayerId:t,coordSystem:r,resolveRenderer:n})=>{const a=e.find(s=>s.id===t);if(!a)return null;const i=n(a.geom,r.type);return i?i.guideMode??null:null},Co=1,Eo="4 3",wr=({panelRect:e})=>{const{coordSystem:t,layers:r,scales:n}=k((0,H.useShallow)(l=>({coordSystem:l.coordSystem,layers:l.layers,scales:l.scales}))),a=me(l=>l.hover.primary),i=oe();if(r.length===0||a===null||!a.anchored)return null;const s=Ph({layers:r,primaryLayerId:a.layerId,coordSystem:t,resolveRenderer:i});return s===null?null:t.type==="polar"?s==="band"?(0,o.jsx)(Eh,{coordSystem:t,primary:a,panelRect:e}):(0,o.jsx)(Ch,{coordSystem:t,primary:a,panelRect:e}):s==="band"?(0,o.jsx)(kh,{coordSystem:t,scales:n,primary:a,panelRect:e}):(0,o.jsx)(jh,{coordSystem:t,primary:a,panelRect:e})},jh=({coordSystem:e,primary:t,panelRect:r})=>{const n=(0,d.getHoverGuideLineProps)(e,t);return(0,o.jsx)(ot,{panelRect:r,children:(0,o.jsx)("line",{...n,stroke:f.vars.hoverGuideLineColor,strokeWidth:Co,strokeDasharray:Eo,strokeLinecap:"round","data-testid":"hover-guide-line"})})},kh=({coordSystem:e,scales:t,primary:r,panelRect:n})=>{const a=(0,d.getHoverGuideRectProps)(e,t,r);return a===null?null:(0,o.jsx)(ot,{panelRect:n,children:(0,o.jsx)("rect",{...a,fill:f.vars.hoverGuideFillColor,"data-testid":"hover-guide-rect"})})},Ch=({coordSystem:e,primary:t,panelRect:r})=>{const n=Et(r),a=U(t.x,e.innerRadius,n),i=U(t.x,1,n);return(0,o.jsx)(ot,{panelRect:r,children:(0,o.jsx)("line",{x1:a.x,y1:a.y,x2:i.x,y2:i.y,stroke:f.vars.hoverGuideLineColor,strokeWidth:Co,strokeDasharray:Eo,strokeLinecap:"round","data-testid":"hover-guide-line"})})},Eh=({coordSystem:e,primary:t,panelRect:r})=>{const n=(0,d.getPolarHoverGuideArcProps)(e,t);if(n===null)return null;const a=(0,d.buildPolarBarArcPath)(n);return a?(0,o.jsx)(ot,{panelRect:r,children:(0,o.jsx)("svg",{viewBox:"-1 -1 2 2",preserveAspectRatio:"xMidYMid meet",width:"100%",height:"100%",style:{overflow:"visible"},children:(0,o.jsx)("path",{d:a,fill:f.vars.hoverGuideFillColor,"data-testid":"hover-guide-arc"})})}):null},ot=({panelRect:e,children:t})=>(0,o.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}),Rh=(e,t,r)=>{for(const n of Object.values(Bo)){const a=n(e,t,r);if(a!==null)return a}return null},Th=e=>Bo[e]!==void 0,Ro=(e,t,r)=>Lo(e,r,t/2),To=(e,t)=>{const r={x:e.start.x*t.width,y:(1-e.start.y)*t.height},n={x:e.end.x*t.width,y:(1-e.end.y)*t.height};return r.x===n.x&&r.y===n.y?null:{shape:"segment",start:r,end:n}},ze=(e,t)=>(r,n,a)=>{const i=e(r).find(s=>s.id===n);return i===void 0?null:t(i,a)},Lo=(e,t,r=0)=>({shape:"rect",rect:{x:e.x*t.width-r,y:(1-e.y-e.height)*t.height-r,width:e.width*t.width+r*2,height:e.height*t.height+r*2}}),Lh=(e,{panel:t,measuredBoxes:r})=>{const n=r.get(e.id);if(n===void 0)return null;const a=(0,d.alignUnitFractions)(e.align);return{shape:"rect",rect:{x:e.at.x*t.width-a.x*n.width,y:(1-e.at.y)*t.height-(1-a.y)*n.height,width:n.width,height:n.height}}},Bo={text:ze(e=>e.textAnnotations,Lh),shape:ze(e=>e.shapes,(e,t)=>Ro(e.region,e.strokeWidth,t.panel)),image:ze(e=>e.images,(e,t)=>Lo(e.region,t.panel)),arrow:ze(e=>e.arrows,(e,t)=>To(e,t.panel))},Mo=(e,t)=>{const r=(0,d.findAnnotation)(e,t);return r!==null&&Th(r.kind)&&(0,d.isAnnotationMovable)(r)},Bh=200,Mh=({engine:e,store:t,overlayRef:r})=>{(0,g.useEffect)(()=>{const n=r.current;if(!n)return;const a=Nh(n,e),i=Oh(n,e,t);return()=>{i(),a()}},[e,t,r])},Nh=(e,t)=>{const r=()=>{const s=e.getBoundingClientRect();s.width===0||s.height===0||t.setViewport({width:s.width,height:s.height})};let n=null;const a=()=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,r()},Bh)},i=new ResizeObserver(a);return i.observe(e),r(),()=>{i.disconnect(),n!==null&&clearTimeout(n)}},Ih=(e,t)=>e.kind==="cursor"?null:{x:t.left+e.point.x,y:t.top+e.point.y,placement:e.placement,annotationId:e.annotationId},Oh=(e,t,r)=>{let n=null,a=null;const i=()=>{const m=e.getBoundingClientRect();return m.width>0&&m.height>0?m:null},s=(m,x)=>({x:m.clientX-x.left,y:m.clientY-x.top}),l=()=>{a=null;const m=n;if(n=null,!m)return;const x=i();if(x===null)return;const y=s(m,x),b=r.getState();if(b.isPointerSuspended)return;const A=(0,d.findPointerRegion)(y,b.pointerRegions);if(A!==null){b.setHoverState(t.query(A.cursor)),b.setTooltipAnchor(Ih(A.tooltip,x));return}const S=(0,d.toPanelCursor)(y,x);b.setHoverState(t.query(S)),b.setTooltipAnchor(null)},c=()=>{const m=r.getState();m.hover.primary===null&&m.tooltipAnchor===null||(m.setHoverState(d.RESTING_HOVER_STATE),m.setTooltipAnchor(null))},u=m=>{const x=r.getState();if(x.pointerRegions.length===0)return!1;const y=i();return y===null?!1:(0,d.findPointerRegion)(s(m,y),x.pointerRegions)!==null},h=m=>{r.getState().isPointerSuspended||u(m)||(document.removeEventListener("pointermove",h),c())},p=m=>{document.removeEventListener("pointermove",h),n=m,a===null&&(a=requestAnimationFrame(l))},v=m=>{if(n=null,a!==null&&(cancelAnimationFrame(a),a=null),!r.getState().isPointerSuspended){if(u(m)){document.addEventListener("pointermove",h);return}c()}};return e.addEventListener("pointermove",p),e.addEventListener("pointerleave",v),()=>{e.removeEventListener("pointermove",p),e.removeEventListener("pointerleave",v),document.removeEventListener("pointermove",h),a!==null&&cancelAnimationFrame(a),n=null}},Fh=({panelRect:e})=>{const{engine:t,store:r,overlayRef:n}=le(),a=be(l=>{const c=l.editTargetUnderPointer;return c!==null&&Xl(c)}),i=be(l=>{const c=l.editTargetUnderPointer;return c?.kind==="annotation"?c.id:null});Mh({engine:t,store:r,overlayRef:n});const s=k(l=>i!==null&&Mo(l.spec.annotations,i));return(0,o.jsx)("rect",{ref:n,x:e.x,y:e.y,width:e.width,height:e.height,fill:"transparent",pointerEvents:"all",cursor:Dh(s,a),"data-testid":"pointer-capture-layer"})},Dh=(e,t)=>e?"move":t?"pointer":void 0,gt="data-hover-active",Gh=e=>{const{store:t}=le(),r=(0,Le.useStore)(t,n=>n.hover.primary!==null);(0,g.useEffect)(()=>{const n=e.current;if(n)return r?n.setAttribute(gt,"true"):n.removeAttribute(gt),()=>{n.removeAttribute(gt)}},[e,r])},at=()=>be(e=>Re(e,"move-drag")?.annotationId??Re(e,"shape-resize-drag")?.annotationId??Re(e,"arrow-endpoint-drag")?.annotationId??null),Se=e=>{const{annotations:t,coordSystem:r}=k((0,H.useShallow)(l=>({annotations:l.annotations,coordSystem:l.coordSystem}))),n=Zn(),a=zl(),i=(0,g.useCallback)(l=>Pr(a,"cycle",l,`Annotation reference cycle detected; dropping annotation(s): ${l.join(", ")}`),[a]),s=(0,g.useCallback)(l=>Pr(a,"missing-ref",l,`Annotation reference target(s) no longer exist (dropped during compilation); dropping annotations referencing: ${l.join(", ")}`),[a]);return(0,g.useMemo)(()=>(0,d.resolveDeferredAnchors)({annotations:t,panelRect:e,coordSystem:r,measuredBoxes:n,onCycle:i,onMissingRef:s}),[t,r,e,n,i,s])},Pr=(e,t,r,n)=>{const a=[t,...[...r].sort()].join("\0");e.has(a)||(e.add(a),console.warn(n))},Hh=16,No=({linePath:e,strokeWidth:t})=>(0,o.jsx)("path",{d:e,stroke:"transparent",strokeWidth:Math.max(t,Hh),fill:"none",pointerEvents:"stroke"}),Vh=0,Wh=1.15,Io=1.15,Uh="rgba(0, 0, 0, 0.16)",Oo=2,zh=1.4,Fo=({computed:e,isAddressable:t})=>{const r=(0,g.useId)(),{themeValues:n}=Me(),a=e.color??f.vars.defaultAnnotationArrowStroke,i=e.dashArray?{strokeDasharray:e.dashArray,strokeDashoffset:e.dashOffset}:{},s=(0,g.useMemo)(()=>e.hasStickerStyle?qh(e,n):null,[e,n]);return(0,o.jsxs)("g",{pointerEvents:t?void 0:"none",children:[t&&(0,o.jsx)(No,{linePath:e.linePath,strokeWidth:e.strokeWidth}),s!==null&&(0,o.jsx)("defs",{children:(0,o.jsx)("filter",{id:r,filterUnits:"userSpaceOnUse",...s.filterArea,children:(0,o.jsx)("feDropShadow",{dx:Vh,dy:Wh,stdDeviation:Io,floodColor:Uh})})}),(0,o.jsxs)("g",{filter:s===null?void 0:`url(#${r})`,children:[s!==null&&(0,o.jsx)("path",{d:s.combinedPath,stroke:s.outlineColor,strokeWidth:e.strokeWidth+2*Oo,strokeLinecap:"round",fill:"none"}),(0,o.jsx)("path",{d:e.linePath,stroke:a,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none",...i}),e.startArrowheadPath.length>0&&(0,o.jsx)("path",{d:e.startArrowheadPath,stroke:a,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none"}),e.endArrowheadPath.length>0&&(0,o.jsx)("path",{d:e.endArrowheadPath,stroke:a,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none"})]})]})},qh=(e,t)=>{const r=e.arrowheadExtent+e.strokeWidth+Oo+Io;return{outlineColor:Kh(e.color,t.arrowAnnotationStickerOutlineColor,t.arrowAnnotationStickerOutlineColorInverse),combinedPath:[e.linePath,e.startArrowheadPath,e.endArrowheadPath].filter(n=>n.length>0).join(" "),filterArea:{x:Math.min(e.startX,e.endX)-r,y:Math.min(e.startY,e.endY)-r,width:Math.abs(e.endX-e.startX)+2*r,height:Math.abs(e.endY-e.startY)+2*r}}},Kh=(e,t,r)=>{if(e===null)return r;try{return(0,xa.getContrast)(e,t)<zh?r:t}catch{return r}},Yh=({panelRect:e,isEditable:t})=>{const{arrows:r}=Se(e),n=at(),a=(0,g.useMemo)(()=>r.filter(i=>i.id!==n).map(i=>(0,d.computeArrow)({arrow:i,panelWidth:e.width,panelHeight:e.height})).filter(i=>i!==null),[r,n,e.width,e.height]);return a.length===0?null:(0,o.jsx)("g",{transform:`translate(${e.x}, ${e.y})`,"data-testid":"arrows",children:a.map(i=>(0,o.jsx)("g",{...Ne({kind:"annotation",id:i.id}),children:(0,o.jsx)(Fo,{computed:i,isAddressable:t})},i.id))})},Do=()=>{const{selectionStore:e}=V();return(0,Le.useStore)(e,t=>t.selection)},Qh=({linePath:e,arrowheadPath:t,stroke:r,strokeWidth:n,isAddressable:a})=>{const i={stroke:r,strokeWidth:n,strokeLinecap:"round",fill:"none"};return(0,o.jsxs)("g",{pointerEvents:a?void 0:"none",children:[a&&(0,o.jsx)(No,{linePath:e,strokeWidth:n}),(0,o.jsx)("path",{d:e,...i}),(0,o.jsx)("path",{d:t,...i,strokeLinejoin:"round"})]})},Xh="_1i8rg6j0",Jh=({x:e,y:t,text:r,box:n,lineHeight:a,strokeWidth:i,strokeColor:s,fontWeight:l,isAddressable:c})=>{const{fonts:u}=ie();return(0,o.jsxs)("g",{pointerEvents:c?void 0:"none",children:[(0,o.jsx)("rect",{x:n.x,y:n.y,width:n.width,height:n.height,rx:4,fill:f.vars.graphBackground,stroke:s,strokeWidth:i}),(0,o.jsx)("text",{x:e,y:t,dominantBaseline:"central",textAnchor:"middle",fill:f.vars.textPrimary,style:{fontFamily:u.familyDefault,fontSize:a,fontWeight:l},children:r})]})},Zh="75%",_h=({panelRect:e,isEditable:t})=>{const r=ro(),n=be(s=>{const l=s.editTargetUnderPointer;return l?.kind==="annotation"?l.id:null}),a=Do(),i=(0,g.useMemo)(()=>new Set(a.filter(s=>s.kind==="annotation").map(s=>s.id)),[a]);return r.length===0?null:(0,o.jsx)("g",{transform:`translate(${e.x}, ${e.y})`,"data-testid":"difference-arrows",children:r.map(({color:s,id:l,linePath:c,arrowheadPath:u,strokeWidth:h,labelPosition:p,labelBox:v,labelText:m,labelLineHeight:x,labelStrokeWidth:y,labelFontWeight:b,isDragged:A,hasComparableEndpoints:S})=>{const w=n===l||i.has(l),C=A&&!S,E=C?f.vars.alert:s??f.vars.defaultAnnotationArrowStroke,j=w&&!C?$h(E):E;return(0,o.jsxs)("g",{className:n===l?Xh:void 0,"data-warning":C||void 0,...Ne({kind:"annotation",id:l}),children:[(0,o.jsx)(Qh,{linePath:c,arrowheadPath:u,stroke:j,strokeWidth:h,isAddressable:t}),(0,o.jsx)(Jh,{x:p.x,y:p.y,text:m,box:v,lineHeight:x,strokeWidth:y,strokeColor:j,fontWeight:b,isAddressable:t})]},l)})})},$h=e=>`color-mix(in srgb, ${e} ${Zh}, ${f.vars.textPrimary})`,eg={fill:"none",contain:"xMidYMid meet",cover:"xMidYMid slice"},Go=({image:e})=>{const{src:t,region:r,fit:n,opacity:a}=e;return(0,o.jsx)("image",{href:t,x:(0,d.toPercent)(r.x),y:(0,d.toPercent)(1-r.y-r.height),width:(0,d.toPercent)(r.width),height:(0,d.toPercent)(r.height),preserveAspectRatio:eg[n],opacity:a})},jr=({panelRect:e,zOrder:t})=>{const r=Se(e).images,n=at(),a=r.filter(i=>i.zOrder===t&&i.id!==n);return a.length===0?null:(0,o.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,o.jsx)("g",{...Ne({kind:"annotation",id:i.id}),children:(0,o.jsx)(Go,{image:i})},i.id))})},Ho=({shape:e})=>{const{region:t,fillColor:r,fillOpacity:n,strokeWidth:a,strokeColor:i}=e,s=r??f.vars.defaultAnnotationShapeFill;return(0,o.jsx)("rect",{x:(0,d.toPercent)(t.x),y:(0,d.toPercent)(1-t.y-t.height),width:(0,d.toPercent)(t.width),height:(0,d.toPercent)(t.height),fill:s,fillOpacity:n,stroke:a>0?i??s:"none",strokeWidth:a})},kr=({panelRect:e,zOrder:t})=>{const r=Se(e).shapes,n=at(),a=r.filter(i=>i.zOrder===t&&i.id!==n);return a.length===0?null:(0,o.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,o.jsx)("g",{...Ne({kind:"annotation",id:i.id}),children:(0,o.jsx)(Ho,{shape:i})},i.id))})},tg="_1aj6s5s0",Vo=({annotation:e,blockRef:t})=>(0,o.jsx)("foreignObject",{x:(0,d.toPercent)(e.at.x),y:(0,d.toPercent)(1-e.at.y),width:(0,d.toPercent)(e.width),height:(0,d.toPercent)(e.at.y),overflow:"visible",pointerEvents:"none",children:(0,o.jsx)("div",{ref:t,className:tg,style:{...ng(e.backgroundColor,e.backgroundColorStyle),transform:rg(e.align)},children:(0,o.jsx)(Te,{content:e.content})})}),rg=e=>{const t=(0,d.alignUnitFractions)(e);return`translate(${-t.x*100}%, ${-(1-t.y)*100}%)`},ng=(e,t)=>e===null||e==="transparent"?{color:f.vars.textPrimary}:t==="fade"?{color:f.vars.textPrimary,backgroundColor:rr(e,f.vars.grey100,.5),boxShadow:`0 0 0 1.5px ${rr(e,f.vars.grey0,.2)}`}:{color:f.vars.textPrimary,backgroundColor:e,boxShadow:`0 0 0 1.5px ${Xr(e,.1)}`},og=({panelRect:e})=>{const t=Se(e).textAnnotations,r=at(),n=t.filter(a=>a.id!==r);return n.length===0?null:(0,o.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible","data-testid":"text-annotations",children:n.map(a=>(0,o.jsx)(ag,{annotation:a},a.id))})},ag=({annotation:e})=>{const t=_n(e.id);return(0,o.jsx)("g",{...Ne({kind:"annotation",id:e.id}),children:(0,o.jsx)(Vo,{annotation:e,blockRef:t})})},ig=f.FONT_SIZE_EM.sm,sg=f.DEFAULT_FONT_FAMILY,lg=f.FONT_WEIGHT.medium,cg="0 1px 1.5px rgba(14, 14, 52, 0.18)",ug="ph8bdc0";var dg="ph8bdc2",Cr={hittable:"ph8bdc4 ph8bdc3",inert:"ph8bdc5 ph8bdc3"},hg=({cx:e,cy:t,color:r,radius:n=4})=>(0,o.jsx)("circle",{cx:e,cy:t,r:n,style:{fill:r??f.vars.textPrimary,stroke:f.vars.tooltipBackground,strokeWidth:2,filter:`drop-shadow(${cg})`}});function gg(e){const t=se(),{formattingLocale:r}=V(),n=k((0,H.useShallow)(l=>({pinnedNumbers:l.annotations.pinnedNumbers,comments:l.annotations.comments,coordSystem:l.coordSystem,numberFormat:l.config.numberFormat,parsingLocale:l.config.parsingLocale,textScale:l.config.appearance.textScale}))),a=r??n.parsingLocale,i=(0,g.useMemo)(()=>(0,d.buildPinnedNumberValueFormatter)({numberFormat:n.numberFormat,locale:a}),[n.numberFormat,a]),s=(0,g.useMemo)(()=>{const l={family:sg,size:tt(ig,n.textScale),weight:lg};return(c,u)=>{const h=pg(t,c,u,l),p=t.measureText(h,l),v=c==="pinned-number"?15:0;return{width:p.width+v+16,height:Math.max(p.height,10)+10,text:h}}},[t,n.textScale]);return(0,g.useMemo)(()=>(0,d.placeCallouts)({pinnedNumbers:n.pinnedNumbers,comments:n.comments,panelRect:e,coordSystem:n.coordSystem,measurer:s,formatPinnedNumber:l=>i(l.at)}),[n.pinnedNumbers,n.comments,e,n.coordSystem,s,i])}var pg=(e,t,r,n)=>t!=="comment"?r:(0,d.truncateToWidth)(r,140,a=>e.measureText(a,n).width),Er="callouts",mg=({panelRect:e})=>{const{pinnedNumbers:t,comments:r}=k((0,H.useShallow)(u=>({pinnedNumbers:u.annotations.pinnedNumbers,comments:u.annotations.comments}))),n=k(u=>u.coordSystem),a=oe(),i=gg(e),{store:s}=le(),l=(0,g.useMemo)(()=>{const u=new Map;for(const h of t)u.set(h.id,h.at);for(const h of r)u.set(h.id,h.at);return u},[t,r]),c=(0,g.useMemo)(()=>(0,d.buildCalloutHitRegions)(i,e),[i,e]);return(0,g.useEffect)(()=>{const u=s.getState();return u.publishPointerRegions(Er,c),()=>{u.publishPointerRegions(Er,[])}},[s,c]),t.length===0&&r.length===0?null:(0,o.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible",className:ug,"data-testid":"callouts",children:i.map(u=>{if(!u.inView)return null;const h=l.get(u.id);if(h===void 0)return null;const p=u.miniRect.width<=e.width&&u.miniRect.height<=e.height;return(0,o.jsxs)("g",{"data-testid":u.kind,children:[(0,o.jsx)("foreignObject",{x:u.miniRect.x,y:u.miniRect.y,width:u.miniRect.width,height:u.miniRect.height,overflow:"visible",children:(0,o.jsxs)("div",{className:p?Cr.hittable:Cr.inert,children:[u.kind==="pinned-number"&&(0,o.jsx)("span",{className:"ph8bdc1",children:(0,o.jsx)(Be,{shape:a(h.geom,n.type)?.swatchShape??"square",surface:"callout",color:h.color??"currentColor",width:10,height:10})}),(0,o.jsx)("span",{className:dg,children:u.text})]})}),(0,o.jsx)(hg,{cx:u.anchorPx.x,cy:u.anchorPx.y,color:h.color})]},u.id)})})},Wo={"clapping-hands":{aspectRatio:1.059,src:"data:image/png;base64,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"},"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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"}},vg=3.2,fg=({panelRect:e})=>{const t=Se(e).stickers,r=k(i=>i.config.appearance.textScale),n=k(i=>i.coordSystem);if(t.length===0)return null;const a=tt(vg,r);return(0,o.jsx)("svg",{x:e.x,y:e.y,width:e.width,height:e.height,overflow:"visible","data-testid":"stickers",children:t.map(i=>{const s=n.type==="polar"?yg(i,e):bg(i);return(0,o.jsx)(xg,{sticker:i,sizePx:a,x:s.x,y:s.y},i.id)})})},xg=({sticker:e,sizePx:t,x:r,y:n})=>{const a=Wo[e.sticker];if(!a)return null;const{width:i,height:s}=Ag(a.aspectRatio,t);return(0,o.jsx)("image",{href:a.src,x:r,y:n,width:i,height:s,transform:`translate(${-i/2}, ${-s/2})`})},bg=e=>({x:(0,d.toPercent)(e.at.x),y:(0,d.toPercent)(1-e.at.y)}),yg=(e,t)=>{const r=Et(t),n=r.radius*2;return{x:r.centerX-r.radius+e.at.x*n,y:r.centerY-r.radius+e.at.y*n}},Ag=(e,t)=>e>=1?{width:t,height:t/e}:{width:t*e,height:t},Sg="_1agclyl0";var wg="_1agclyl2",Uo=({x:e,y:t,width:r,height:n,text:a,isRotated:i,target:s,position:l,coordType:c})=>{const u=nt(),h=i?`rotate(-90 ${e} ${t})`:void 0,p=u[s][l],v=p.borderColor!==void 0&&(p.borderWidth??0)>0;return(0,o.jsxs)("g",{transform:h,children:[Pg(s,c,p)&&(0,o.jsx)("rect",{className:"_1agclyl1",x:e-r/2,y:t-n/2,width:r,height:n,rx:p.borderRadius,ry:p.borderRadius,fill:p.background,...v?{stroke:p.borderColor,strokeWidth:p.borderWidth}:{}}),(0,o.jsx)("text",{className:wg,style:{...fe(p),fill:p.textColor},x:e,y:t,textAnchor:"middle",dominantBaseline:"central",children:a})]})},Pg=(e,t,r)=>r.background===void 0?!1:e==="aggregate"||t==="cartesian",jg=({panelRect:e,formattingLocale:t,plotBottomY:r,isFooterChromeReserved:n})=>{const a=Pl(),i=se(),s=ie(),l=k((0,H.useShallow)(v=>({layers:v.layers,coordSystem:v.coordSystem,axes:v.guides.axes,numberFormat:v.config.numberFormat,parsingLocale:v.config.parsingLocale,textScale:v.config.appearance.textScale}))),c=nt(),u=(0,g.useMemo)(()=>zn({textMeasurer:i,dataLabelStyles:c,familyDefault:s.fonts.familyDefault}),[i,c,s.fonts.familyDefault]),h=(0,g.useMemo)(()=>(0,d.buildDataLabelsContent)({...l,panelRect:e,measureDataLabel:u,formattingLocale:t,plotBottomY:r,isFooterChromeReserved:n}),[l,e,u,t,r,n]).labels.map((v,m)=>(0,o.jsx)(Uo,{x:v.x,y:v.y,width:v.width,height:v.height,text:v.text,isRotated:v.isRotated,target:v.target,position:v.position,coordType:l.coordSystem.type},`${v.layerId}:${m}`)),p={className:Sg,transform:`translate(${e.x}, ${e.y})`,"data-testid":"data-labels"};return a>0?(0,o.jsx)(P.motion.g,{...p,initial:{opacity:0},animate:{opacity:1},transition:{duration:Cs,delay:a},children:h}):(0,o.jsx)("g",{...p,children:h})},kg=({edge:e,position:t,labelRotation:r,label:n,tickLabelStyle:a})=>{const{offset:i,textColor:s}=a,l=(0,d.toPercent)(t),c={style:fe(a),fill:s},u=r!==0&&(e==="top"||e==="bottom"),h=e==="top";return u?(0,o.jsx)("svg",{x:l,y:h?"100%":0,style:{overflow:"visible"},children:(0,o.jsx)("text",{...Eg(h,i,r),...c,children:n})}):(0,o.jsx)("text",{...Cg(e,l,i),...c,children:n})},Cg=(e,t,r)=>{switch(e){case"bottom":return{x:t,y:r,textAnchor:"middle",dominantBaseline:"hanging"};case"top":return{x:t,y:"100%",dy:-r,textAnchor:"middle",dominantBaseline:"auto"};case"left":return{x:"100%",dx:-r,y:t,textAnchor:"end",dominantBaseline:"central"};case"right":return{x:r,y:t,textAnchor:"start",dominantBaseline:"central"}}},Eg=(e,t,r)=>{const n=e?-t:t;return{x:0,y:n,textAnchor:e?"start":"end",dominantBaseline:"central",transform:`rotate(${r}, 0, ${n})`}},Rg=({formattedAxis:e,rect:t})=>{const r=e.position==="bottom"||e.position==="top",n=(0,d.getAestheticFromScaleAestheticKey)(e.scaleAestheticKey),a=Ft()[n],i=Un()[n];return(0,o.jsxs)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,style:{overflow:"visible"},children:[!1,e.ticks.map((s,l)=>{const c=s.formattedLabel,u=r?s.position:1-s.position,h=Tg(e.position,u,t,i.length);return(0,o.jsxs)("g",{children:[e.ticksVisible&&(0,o.jsx)("line",{...h,stroke:i.color,strokeWidth:i.strokeWidth,strokeDasharray:(0,d.getChromeDashArray)(i.lineType)}),(0,o.jsx)(kg,{edge:e.position,position:u,labelRotation:e.labelRotation,label:c,tickLabelStyle:a})]},l)})]})},Tg=(e,t,r,n)=>{const a=(0,d.toPercent)(t);switch(e){case"bottom":return{x1:a,y1:0,x2:a,y2:n};case"top":return{x1:a,y1:r.height,x2:a,y2:r.height-n};case"left":return{x1:r.width,y1:a,x2:r.width-n,y2:a};case"right":return{x1:0,y1:a,x2:n,y2:a}}},Lg=({axes:e,rects:t})=>{const r=Wn();return(0,o.jsx)(o.Fragment,{children:e.map(n=>{const a=t[n.position];if(!a||!n.isVisible)return null;const i=Bg(n.position,a),s=r[(0,d.getAestheticFromScaleAestheticKey)(n.scaleAestheticKey)];return(0,o.jsxs)("g",{transform:`translate(${a.x}, ${a.y})`,children:[!1,(0,o.jsx)("text",{style:fe(s),fill:s.textColor,...i,children:n.label})]},`axis-label-${n.position}`)})})},Bg=(e,t)=>{const r={x:t.width/2,y:t.height/2,textAnchor:"middle",dominantBaseline:"middle"};return e==="left"?(r.x=0,r.textAnchor="start"):e==="right"&&(r.x=t.width,r.textAnchor="end"),r},Mg=({formattedAxes:e,tickRects:t})=>(0,o.jsx)(o.Fragment,{children:e.map(r=>{if(r.geometry!=="linear")return null;const n=t[r.position];return!n||!r.isVisible?null:(0,o.jsx)(Rg,{formattedAxis:r,rect:n},r.scaleAestheticKey)})}),Ng=({formattedAxes:e,labelRects:t})=>(0,o.jsx)(Lg,{axes:e.filter(r=>r.geometry==="linear"),rects:t}),zo={strokeDashoffset:"0",strokeLinecap:"round"},qo=({axes:e,panelBorderSizes:t,panelFrameRect:r,panelRect:n})=>{const a=Z(),i=n.x-r.x,s=n.y-r.y;return(0,o.jsx)("svg",{"data-testid":"grid",x:r.x,y:r.y,width:r.width,height:r.height,style:{overflow:"visible"},children:e.map(l=>{if(l.geometry!=="linear"||!l.gridVisible)return null;const c=l.position==="bottom"||l.position==="top",u=(0,d.resolveGridLineStyle)(a,(0,d.getAestheticFromScaleAestheticKey)(l.scaleAestheticKey)),h=(0,d.getChromeDashArray)(u.lineType);return(0,o.jsx)("g",{children:l.ticks.map((p,v)=>{const m=Ig(c,p.position);if(m!==null&&t[m]>0)return null;const x=c?p.position:1-p.position;let y;if(c){const b=x*n.width+i;y={x1:b,y1:0,x2:b,y2:"100%"}}else{const b=x*n.height+s;y={x1:0,y1:b,x2:"100%",y2:b}}return(0,o.jsx)("line",{...y,...zo,strokeDasharray:h,strokeWidth:u.strokeWidth,stroke:u.color},v)})},l.scaleAestheticKey)})})},Ig=(e,t)=>t<=0?e?"left":"bottom":t>=1?e?"right":"top":null,Og=({sizes:e,panelFrameRect:t})=>{const r=k(s=>s.coordSystem.type==="polar"),n=Z(),a=(0,g.useMemo)(()=>(0,d.resolvePanelBorderStyle)(n),[n]);if(r)return null;const i=(0,d.computePanelBorderPaths)(a,{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 i.length===0?null:(0,o.jsx)("svg",{"data-testid":"panel-border",x:t.x,y:t.y,width:t.width,height:t.height,style:{overflow:"visible"},children:i.map((s,l)=>(0,o.jsx)("path",{d:Fg(s.segments),fill:"none",stroke:s.color,strokeDasharray:(0,d.getChromeDashArray)(s.lineType),strokeWidth:s.strokeWidth,...zo},l))})},Fg=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 Ko=(e,t)=>{const r=k(c=>c.coordSystem);if(r.type!=="polar")return null;const n=t.find(c=>c.geometry==="circular");if(!n)return null;const{innerRadius:a,startAngle:i,spokeRotation:s}=r,l=Et(e);return l.radius<=0?null:{circle:l,circularAxis:n,radialAxis:t.find(c=>c.geometry==="radial"),innerRadius:a,startAngle:i,angleFor:c=>(0,d.positionToAngle)(c,i,s),radiusNormFor:c=>a+c*(1-a)}},Dg=3,Gg=16,Hg=({formattedAxes:e,panelRect:t})=>{const r=Ft(),n=Ko(t,e);if(!n)return null;const{circle:a,circularAxis:i,radialAxis:s,startAngle:l,angleFor:c,radiusNormFor:u}=n,h=Vg(s,u,a.radius),p=v=>r[(0,d.getAestheticFromScaleAestheticKey)(v.scaleAestheticKey)];return(0,o.jsxs)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,overflow:"visible","data-testid":"polar-axis-ticks",children:[s?.isVisible&&h.map(({tick:v,radiusNorm:m},x)=>{const y=U(l,m,a);return(0,o.jsx)("text",{x:y.x,y:y.y,textAnchor:"middle",dominantBaseline:"central",style:{...fe(p(s)),paintOrder:"stroke"},stroke:f.vars.graphBackground,strokeWidth:Dg,fill:p(s).textColor,children:v.formattedLabel},`radial-label-${x}`)}),i.isVisible&&i.ticks.map((v,m)=>{if(v.position>=1-1e-9)return null;const x=c(v.position),y=U(x,(a.radius+d.POLAR_RIM_LABEL_GAP_PX)/a.radius,a);return(0,o.jsx)("text",{x:y.x,y:y.y,textAnchor:Wg(x),dominantBaseline:"central",style:fe(p(i)),fill:p(i).textColor,children:v.formattedLabel},`rim-label-${m}`)})]})},Vg=(e,t,r)=>{if(!e)return[];const n=[];let a=Number.NEGATIVE_INFINITY;for(const i of e.ticks){const s=t(i.position);if(s<=0)continue;const l=s*r;l-a<Gg||(n.push({tick:i,radiusNorm:s}),a=l)}return n},Wg=e=>{const t=Math.sin(e);return Math.abs(t)<.01?"middle":t>0?"start":"end"},Ug=({formattedAxes:e,panelRect:t})=>{const r=Z(),n=Ko(t,e);if(!n)return null;const{circle:a,circularAxis:i,radialAxis:s,innerRadius:l,angleFor:c,radiusNormFor:u}=n,h=(0,d.resolveGridLineStyle)(r,"y"),p=(0,d.resolveGridLineStyle)(r,"x");return(0,o.jsxs)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,overflow:"visible","data-testid":"polar-grid",children:[s?.gridVisible&&s.ticks.map((v,m)=>{const x=u(v.position)*a.radius;return x<=0||v.position>=1?null:(0,o.jsx)("circle",{cx:a.centerX,cy:a.centerY,r:x,fill:"none",stroke:h.color,strokeWidth:h.strokeWidth},`ring-${m}`)}),s?.gridVisible&&(0,o.jsx)("circle",{cx:a.centerX,cy:a.centerY,r:a.radius,fill:"none",stroke:h.color,strokeWidth:h.strokeWidth}),i.gridVisible&&i.ticks.map((v,m)=>{if(v.position>=1-1e-9)return null;const x=c(v.position),y=U(x,l,a),b=U(x,1,a);return(0,o.jsx)("line",{x1:y.x,y1:y.y,x2:b.x,y2:b.y,stroke:p.color,strokeWidth:p.strokeWidth},`spoke-${m}`)})]})},zg=({layer:e,coordSystem:t,shouldAnimateTransitions:r,isDimmed:n,dimStyle:a,formattingLocale:i})=>{const s=oe(),l=jl(e.id),c=s(e.geom,t.type);if(c===null)return null;const u=rt(c.render);return u.overlay?null:(0,o.jsx)("g",{style:n?{opacity:a.opacity,...a.saturation===void 0?{}:{filter:`saturate(${a.saturation})`}}:void 0,children:u.fn({layer:e,coordSystem:t,shouldAnimateTransitions:r,formattingLocale:i,intro:l})})};function qg({renderer:e,layer:t,coordSystem:r,candidates:n}){if(e?.getOverlayAnchor===void 0||n.length===0)return[];const a=[];for(const{observation:i,observationIndex:s}of n){const l=e.getOverlayAnchor({layer:t,coordSystem:r,observation:i});l!==null&&a.push({observation:i,observationIndex:s,anchor:l})}return a}var Kg=4,Yg=({renderer:e,layer:t,matchedLayer:r,overlayCandidates:n,coordSystem:a,shouldAnimateTransitions:i,panelRect:s,formattingLocale:l})=>{const c=k(A=>A.config.numberFormat),u=(0,g.useMemo)(()=>qg({renderer:e,layer:t,coordSystem:a,candidates:n}),[e,t,a,n]),h=T(t),p=(0,g.useMemo)(()=>(0,d.createSegmentYReader)(t),[t]),v=(0,g.useMemo)(()=>(0,d.buildLayerYValueFormatter)({layer:t,numberFormat:c,locale:l}),[c,t,l]),{fonts:m}=ie(),x=nt();if(e===null||r===null&&u.length===0)return null;const y=rt(e.render);let b=null;if(r&&!y.overlay){const A={layer:r,sourceLayer:t,coordSystem:a,shouldAnimateTransitions:i,formattingLocale:l,panelRect:s};b=e.renderHighlight?e.renderHighlight(A):y.fn(A)}return(0,o.jsxs)(o.Fragment,{children:[b,u.map(({observation:A,observationIndex:S,anchor:w})=>(0,o.jsx)(Qg,{observation:A,anchor:w,panelRect:s,fill:h.get("color",A),dotRadius:(h.get("size",A)??8)/2,readSegmentY:p,formatYValue:v,labelStyle:x.observation.outside,familyDefault:m.familyDefault},Xg(A,S)))]})},Qg=({observation:e,anchor:t,panelRect:r,fill:n,dotRadius:a,readSegmentY:i,formatYValue:s,labelStyle:l,familyDefault:c})=>{const u=se(),h=(0,d.toViewBoxX)(t.x),p=(0,d.toViewBoxY)(t.y),v=i(e),m=(0,d.isDefined)(v)?s(v,e):null,x=(0,g.useMemo)(()=>{if(m===null)return null;const y=u.measureText(m,(0,d.toFontSpec)(l,c));return{width:y.width+l.paddingInline*2,height:y.height+l.paddingBlock*2}},[m,u,l,c]);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("circle",{"data-testid":"highlight-overlay-dot",cx:(0,d.toPercent)(h),cy:(0,d.toPercent)(p),r:a,fill:n}),m!==null&&x!==null&&(0,o.jsx)(Uo,{x:h*r.width,y:p*r.height-a-Kg-x.height/2,width:x.width,height:x.height,text:m,isRotated:!1,target:"observation",position:"outside",coordType:"cartesian"})]})},Xg=(e,t)=>{const r=e[d.GROUP_VARIABLES.group];return`${String(r??"")}\0${t}`},Jg=({layer:e,coordSystem:t,panelRect:r})=>{const{primary:n,group:a,related:i}=me((0,H.useShallow)(u=>({primary:u.hover.primary,group:u.hover.group,related:u.hover.related}))),s=oe();if(n===null)return null;const l=s(e.geom,t.type);if(l===null||wn(l))return null;const c=i.get(e.id)??[];return n.layerId===e.id?l.renderHover({layer:e,coordSystem:t,primary:n,group:a,related:c,panelRect:r}):c.length===0?null:l.renderHoverCompanions({layer:e,primary:n,related:c})},Zg=e=>{const t=T(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])},_g="var(--to1jkx0)",$g="var(--to1jkx1)",ep="to1jkx2",tp="to1jkx3",rp=({shouldAnimateTransitions:e,panelRect:t,formattingLocale:r})=>{const{layers:n,coordSystem:a}=k((0,H.useShallow)(i=>({layers:i.layers,coordSystem:i.coordSystem})));return(0,o.jsx)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,className:ep,"data-testid":"geom-layers",...Zl(),children:n.map(i=>(0,o.jsxs)(g.Fragment,{children:[(0,o.jsx)(ip,{layer:i,coordSystem:a,shouldAnimateTransitions:e,panelRect:t,formattingLocale:r}),(0,o.jsx)(Jg,{layer:i,coordSystem:a,panelRect:t})]},`${i.id}-${np(a)}`))})},np=e=>e.type==="cartesian"?`cartesian-${e.mainAxis}`:e.type,op=e=>{if(e.geom!=="rule")return tp},ap=e=>(0,Br.assignInlineVars)({...e.opacity===void 0?{}:{[_g]:String(e.opacity)},...e.saturation===void 0?{}:{[$g]:`saturate(${e.saturation})`}}),ip=({layer:e,coordSystem:t,shouldAnimateTransitions:r,panelRect:n,formattingLocale:a})=>{const i=oe(),s=(0,g.useMemo)(()=>i(e.geom,t.type),[i,e,t]),l=e.highlight,c=Zg(e),u={layer:e,coordSystem:t,shouldAnimateTransitions:r,formattingLocale:a},h=s?rt(s.render):null,p=e.spatialKind==="render-hit-test",v=op(e);return(0,o.jsxs)("g",{className:v,style:v===void 0?void 0:ap(c),children:[(0,o.jsx)(zg,{layer:e,coordSystem:t,shouldAnimateTransitions:r,isDimmed:l?.composition.isDimmed??!1,dimStyle:c,formattingLocale:a}),p&&!h?.overlay&&s?.hitTest&&(0,o.jsx)(bs,{hitTest:s.hitTest,input:u}),p&&h?.overlay&&(0,o.jsx)(Ps,{render:h.fn,input:u}),l!==null&&(0,o.jsx)(Yg,{renderer:s,layer:e,matchedLayer:l.composition.matchedLayer,overlayCandidates:l.composition.overlayCandidates,coordSystem:t,shouldAnimateTransitions:r,panelRect:n,formattingLocale:a})]})},sp="_17uhij30",lp=({formattedAxes:e,plotRect:t,panelBorder:r,panelFrameRect:n,panelRect:a,axisRects:i,axisLabelRects:s,shouldAnimateTransitions:l,formattingLocale:c,plotBottomY:u,isFooterChromeReserved:h,isEditable:p})=>{const v=(0,g.useRef)(null);Gh(v);const m=X("Grid",qo),x=X("AxisTicks",Mg),y=X("AxisLabel",Ng),b=(0,g.useMemo)(()=>wt(n,t),[n,t]),A=(0,g.useMemo)(()=>wt(a,t),[a,t]),S=(0,g.useMemo)(()=>Rr(i,t),[i,t]),w=(0,g.useMemo)(()=>Rr(s,t),[s,t]);return(0,o.jsxs)("svg",{ref:v,className:sp,width:t.width,height:t.height,style:{transform:`translate(${t.x}px, ${t.y}px)`},"data-testid":"plot",children:[(0,o.jsx)(wr,{panelRect:A}),(0,o.jsx)(m,{axes:e,panelBorderSizes:r,panelFrameRect:b,panelRect:A}),(0,o.jsx)(x,{formattedAxes:e,tickRects:S}),(0,o.jsx)(y,{formattedAxes:e,labelRects:w}),(0,o.jsx)(Ug,{formattedAxes:e,panelRect:A}),(0,o.jsx)(wr,{panelRect:A}),(0,o.jsx)(kr,{panelRect:A,zOrder:"background"}),(0,o.jsx)(jr,{panelRect:A,zOrder:"background"}),(0,o.jsx)(Og,{sizes:r,panelFrameRect:b}),(0,o.jsx)(rp,{shouldAnimateTransitions:l,panelRect:A,formattingLocale:c}),(0,o.jsx)(Hg,{formattedAxes:e,panelRect:A}),(0,o.jsx)(jg,{panelRect:A,formattingLocale:c,plotBottomY:u,isFooterChromeReserved:h}),(0,o.jsx)(_h,{panelRect:A,isEditable:p}),(0,o.jsx)(kr,{panelRect:A,zOrder:"foreground"}),(0,o.jsx)(jr,{panelRect:A,zOrder:"foreground"}),(0,o.jsx)(Yh,{panelRect:A,isEditable:p}),(0,o.jsx)(og,{panelRect:A}),(0,o.jsx)(fg,{panelRect:A}),(0,o.jsx)(mg,{panelRect:A}),(0,o.jsx)(Fh,{panelRect:A})]})},wt=(e,t)=>({x:e.x-t.x,y:e.y-t.y,width:e.width,height:e.height}),Rr=(e,t)=>{const r={};for(const[n,a]of Object.entries(e))r[n]=wt(a,t);return r},cp=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:Tr(t,"width"),height:Tr(r,"height")}},Tr=(e,t)=>{if(e<=0||Number.isNaN(e)||!Number.isFinite(e))throw new d.InternalError({message:`Expected ${t} to be a positive, finite number, but got ${e}.`});return e},up=({sizing:e,onResize:t,children:r})=>{const n=Tn({onResize:t});if(e.mode==="keepAspectRatio"){const{intrinsicSize:i,canRender:s,outerStyles:l,innerStyles:c}=dp(e,n.width,!n.isDefault);return(0,o.jsx)("div",{ref:n.setElement,style:l,"data-testid":"graph-sizer",children:s&&(0,o.jsx)("div",{style:c,children:r(i)})})}if(e.mode==="fixed")return(0,o.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,o.jsx)("div",{ref:n.setElement,style:{width:"100%",height:"100%"},"data-testid":"graph-sizer",children:a&&r({width:n.width,height:n.height})})},dp=(e,t,r)=>{const n=cp(e),a=t>0&&n.width>0?t/n.width:1;return{intrinsicSize:n,canRender:r,outerStyles:{width:"100%",...r?{height:n.height*a}:{aspectRatio:`${n.width} / ${n.height}`}},innerStyles:{transformOrigin:"top left",transform:`scale(${a})`,width:n.width,height:n.height}}},hp={mode:"responsive"},pt={headerSize:{width:0,height:0},footerSize:{width:0,height:0}},gp=()=>{const[e,t]=(0,g.useState)(null),[r,n]=(0,g.useState)(null),[a,i]=(0,g.useState)(pt);return(0,g.useEffect)(()=>{const s=()=>{const c=e?{width:e.offsetWidth,height:e.offsetHeight}:pt.headerSize,u=r?{width:r.offsetWidth,height:r.offsetHeight}:pt.footerSize;i(h=>pp(h,{headerSize:c,footerSize:u})?{headerSize:c,footerSize:u}:h)};s();const l=new ResizeObserver(s);return e&&l.observe(e),r&&l.observe(r),()=>l.disconnect()},[e,r]),{headerRef:t,footerRef:n,measurements:a}},pp=(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,mp=()=>null,vp=({graphChrome:e,isEditable:t,style:r,contentRef:n,children:a})=>{const{themeClass:i,inlineVarsStyle:s}=Me(),l=e.borderColor===void 0?0:e.borderWidth,c=l>0?e.borderColor:void 0,u=Math.max(0,e.borderRadius),h=u===0?0:u+l,p=(0,g.useMemo)(()=>({...r,borderRadius:`${h}px`,...s,background:c}),[r,h,s,c]),v=(0,g.useMemo)(()=>({inset:`${l}px`,borderRadius:`${u}px`}),[l,u]),m=t&&e.background==="transparent";return(0,o.jsx)("div",{"data-testid":"graph-wrapper",className:(0,B.default)(Ks,i),style:p,children:(0,o.jsx)("div",{ref:n,"data-testid":"graph-inner",tabIndex:t?0:void 0,className:(0,B.default)(Qs,{[Xs]:t,[Js]:m}),style:v,children:a})})},fp=({slots:e,sizing:t=hp,onResize:r,...n})=>{const{formattingLocale:a}=V(),i=k(s=>s.config.parsingLocale);return(0,o.jsx)(kn,{children:(0,o.jsx)(dn,{children:(0,o.jsx)(Nn,{locale:a??i,children:(0,o.jsx)(Ni,{slots:e,children:(0,o.jsx)(up,{sizing:t,onResize:r,children:({width:s,height:l})=>(0,o.jsx)(xp,{width:s,height:l,...n})})})})})})},xp=({width:e,height:t,animation:r,showTooltips:n=!0,mode:a="readonly"})=>{const i=_(),{axes:s,legends:l,layers:c,numberFormat:u,parsingLocale:h,appearance:p,annotations:v,coordSystem:m,headline:x,headlineConfig:y,content:b,overflowStrategy:A,layoutConfig:S}=k((0,H.useShallow)(D=>({axes:D.guides.axes,legends:D.guides.legends.drawn,layers:D.layers,numberFormat:D.config.numberFormat,parsingLocale:D.config.parsingLocale,appearance:D.config.appearance,annotations:D.annotations,coordSystem:D.coordSystem,headline:D.guides.headline,headlineConfig:D.config.headline,content:D.config.content,overflowStrategy:D.config.panel.overflow,layoutConfig:D.config.layout}))),w=(0,P.useReducedMotion)(),{intro:C,transitions:E}=(0,g.useMemo)(()=>Es(r,w??!1),[r,w]),{headerRef:j,footerRef:R,measurements:L}=gp(),{formattingLocale:F,colorScheme:K,themeOverrides:it}=V(),Ie=a==="editable",[qt,Yo]=(0,g.useState)(null),Oe=(0,g.useMemo)(()=>on(K,it),[K,it]),Qo=X("Header",Ao),Xo=X("Footer",yo),Jo=X("Legend",wh),Zo=X("Headline",Dd),_o=X("EditorSurface",mp),Kt=(0,g.useMemo)(()=>(0,d.formatLegends)({legends:l,numberFormat:u,parsingLocale:h,formattingLocale:F}),[l,u,h,F]),we=(0,g.useMemo)(()=>(0,d.formatHeadline)({headline:x,show:y.show,numberFormat:u,parsingLocale:h,formattingLocale:F,t:i}),[x,y.show,u,h,F,i]),$o=se(),Fe=Z(),De=(0,g.useMemo)(()=>(0,d.resolveGraphChromeStyle)(Fe),[Fe]),Yt=(0,g.useMemo)(()=>(0,d.resolvePanelBorderStyle)(Fe),[Fe]),st=De.borderColor===void 0?0:De.borderWidth,Pe=(0,g.useMemo)(()=>({width:Math.max(0,e-2*st),height:Math.max(0,t-2*st)}),[e,t,st]),Qt=(0,g.useMemo)(()=>no(b.brandMark.enabled,Pe,b.brandMark.variant),[b.brandMark.enabled,b.brandMark.variant,Pe]),ea=b.brandMark.placement==="footer"?Qt:"hidden",ta=b.brandMark.placement==="header"?Qt:"hidden",Ge=(0,g.useMemo)(()=>we?{formatted:we,size:y.size,position:y.position,innerRadius:m.type==="polar"?m.innerRadius:0}:void 0,[we,y.size,y.position,m]),ra=Ii(),He=Dl({textMeasurer:$o,textScale:p.textScale,metrics:Oe,overrides:ra}),Xt=(0,g.useMemo)(()=>(0,d.computePanelBorderSizes)(Yt),[Yt]),je=Gl({measurer:He,axes:s,numberFormat:u,parsingLocale:h,formattedLegends:Kt,containerSize:Pe,externalMeasurements:L,headline:Ge,formattingLocale:F,annotations:v,layers:c,coordSystem:m,textScale:p.textScale,overflowStrategy:A,layout:S,panelBorder:Xt}),Ve=(0,g.useMemo)(()=>!je||!Ge||!He?null:(0,d.resolveHeadlinePlacement)({headline:Ge,layout:je.layout,containerSize:Pe,measurer:He,itemGap:Oe.headlineItemGap}),[je,Ge,He,Pe,Oe.headlineItemGap]);if(!je)return null;const{layout:W,formattedAxes:na,plotBottomY:oa}=je,aa=W.footer.height>0;return(0,o.jsx)(Fn,{colorScheme:K,themeOverrides:it,textScale:p.textScale,graphBackground:De.background,children:(0,o.jsx)(yi,{metrics:Oe,children:(0,o.jsx)(Wl,{children:(0,o.jsx)(uc,{panelRect:W.panel,children:(0,o.jsx)(vp,{graphChrome:De,isEditable:Ie,contentRef:Ie?Yo:void 0,style:{width:"100%",height:"100%"},children:(0,o.jsxs)(wl,{intro:C,children:[(0,o.jsx)(Qo,{ref:j,headerRect:W.header,mode:a,title:b.title,isTitleVisible:b.isTitleVisible,subtitle:b.subtitle,isSubtitleVisible:b.isSubtitleVisible,brandMark:ta}),(0,o.jsx)(lp,{formattedAxes:na,plotRect:W.plot,panelBorder:Xt,panelFrameRect:W.panelFrame,panelRect:W.panel,axisRects:W.axes,axisLabelRects:W.axisLabels,shouldAnimateTransitions:E,formattingLocale:F??h,plotBottomY:oa,isFooterChromeReserved:aa,isEditable:Ie}),(0,o.jsx)(Xo,{ref:R,footerRect:W.footer,mode:a,caption:b.caption,isCaptionVisible:b.isCaptionVisible,source:b.source,isSourceVisible:b.isSourceVisible,brandMark:ea}),(0,o.jsx)(Jo,{formattedLegends:Kt,rects:W.legends,textScale:p.textScale}),we&&Ve&&(0,o.jsx)(Zo,{headline:we,rect:Ve.rect,resolvedSize:Ve.resolvedSize,visibleItemCount:Ve.visibleItemCount}),Ie&&qt!==null&&(0,o.jsx)(_o,{frameElement:qt,panelRect:W.panel}),n&&(0,o.jsx)(xl,{})]})})})})})})},bp=e=>{const t=(0,g.useContext)(Ct);return(0,g.useMemo)(()=>e||(t?{commands:t.commands,undo:t.history.undo,redo:t.history.redo,subscribe:t.store.subscribe,getCompiled:()=>t.store.getState().compiled,getSelection:()=>t.selectionStore.getState().selection,setSelection:r=>t.selectionStore.getState().setSelection(r),subscribeSelection:t.selectionStore.subscribe}:null),[e,t])},yp=e=>(0,g.useSyncExternalStore)(e.subscribe,e.getCompiled,e.getCompiled),Ap=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};Object.defineProperty(exports,"ArrowAnnotation",{enumerable:!0,get:function(){return Fo}});Object.defineProperty(exports,"BUILT_IN_GEOM_RENDERERS",{enumerable:!0,get:function(){return Sn}});Object.defineProperty(exports,"BrandMark",{enumerable:!0,get:function(){return Vt}});Object.defineProperty(exports,"CanvasTextMeasurer",{enumerable:!0,get:function(){return ln}});Object.defineProperty(exports,"CheckIcon",{enumerable:!0,get:function(){return fo}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:!0,get:function(){return Ut}});Object.defineProperty(exports,"DefaultFooter",{enumerable:!0,get:function(){return yo}});Object.defineProperty(exports,"DefaultGrid",{enumerable:!0,get:function(){return qo}});Object.defineProperty(exports,"DefaultHeader",{enumerable:!0,get:function(){return Ao}});Object.defineProperty(exports,"DefaultSwatch",{enumerable:!0,get:function(){return pn}});Object.defineProperty(exports,"DefaultTooltip",{enumerable:!0,get:function(){return Hn}});Object.defineProperty(exports,"EDIT_TARGET_ID_ATTRIBUTE",{enumerable:!0,get:function(){return $n}});Object.defineProperty(exports,"EDIT_TARGET_KIND_ATTRIBUTE",{enumerable:!0,get:function(){return Gt}});Object.defineProperty(exports,"EditorProvider",{enumerable:!0,get:function(){return lc}});Object.defineProperty(exports,"FloatingToolbar",{enumerable:!0,get:function(){return G}});Object.defineProperty(exports,"GeomRendererResolverProvider",{enumerable:!0,get:function(){return Ci}});Object.defineProperty(exports,"GraphContext",{enumerable:!0,get:function(){return Ct}});Object.defineProperty(exports,"GraphRenderer",{enumerable:!0,get:function(){return fp}});Object.defineProperty(exports,"HoverProvider",{enumerable:!0,get:function(){return kn}});Object.defineProperty(exports,"Icon",{enumerable:!0,get:function(){return ee}});Object.defineProperty(exports,"ImageAnnotation",{enumerable:!0,get:function(){return Go}});Object.defineProperty(exports,"IntlProvider",{enumerable:!0,get:function(){return Nn}});Object.defineProperty(exports,"MinusIcon",{enumerable:!0,get:function(){return wo}});Object.defineProperty(exports,"OverlayPortal",{enumerable:!0,get:function(){return En}});Object.defineProperty(exports,"PortalThemeProvider",{enumerable:!0,get:function(){return $}});Object.defineProperty(exports,"STICKER_ASSETS",{enumerable:!0,get:function(){return Wo}});Object.defineProperty(exports,"ShapeAnnotation",{enumerable:!0,get:function(){return Ho}});Object.defineProperty(exports,"TextAnnotation",{enumerable:!0,get:function(){return Vo}});Object.defineProperty(exports,"TextMeasurerProvider",{enumerable:!0,get:function(){return dn}});Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return Fn}});Object.defineProperty(exports,"Z_INDEX",{enumerable:!0,get:function(){return ge}});Object.defineProperty(exports,"__toESM",{enumerable:!0,get:function(){return Pt}});Object.defineProperty(exports,"canMoveAnnotationOnCanvas",{enumerable:!0,get:function(){return Mo}});Object.defineProperty(exports,"chromeTokens",{enumerable:!0,get:function(){return Bt}});Object.defineProperty(exports,"createGeomRendererResolver",{enumerable:!0,get:function(){return Pn}});Object.defineProperty(exports,"darkTheme",{enumerable:!0,get:function(){return In}});Object.defineProperty(exports,"defineGeomRenderer",{enumerable:!0,get:function(){return ms}});Object.defineProperty(exports,"isOverlayHosted",{enumerable:!0,get:function(){return wn}});Object.defineProperty(exports,"lightTheme",{enumerable:!0,get:function(){return It}});Object.defineProperty(exports,"lightenCss",{enumerable:!0,get:function(){return ni}});Object.defineProperty(exports,"measureArrowEnds",{enumerable:!0,get:function(){return To}});Object.defineProperty(exports,"measureShapeRegion",{enumerable:!0,get:function(){return Ro}});Object.defineProperty(exports,"parsePx",{enumerable:!0,get:function(){return Q}});Object.defineProperty(exports,"readDraggedArrowEndpointFor",{enumerable:!0,get:function(){return ec}});Object.defineProperty(exports,"readDraggedDifferenceArrowEndpointFor",{enumerable:!0,get:function(){return rc}});Object.defineProperty(exports,"readMovedAnnotationFor",{enumerable:!0,get:function(){return _l}});Object.defineProperty(exports,"readResizedShapeFor",{enumerable:!0,get:function(){return oc}});Object.defineProperty(exports,"readStanding",{enumerable:!0,get:function(){return Re}});Object.defineProperty(exports,"resolveAnnotationChromeGeometry",{enumerable:!0,get:function(){return Rh}});Object.defineProperty(exports,"resolveBrandMarkVisual",{enumerable:!0,get:function(){return no}});Object.defineProperty(exports,"resolveHistoryStep",{enumerable:!0,get:function(){return Ap}});Object.defineProperty(exports,"resolvePortalContainer",{enumerable:!0,get:function(){return q}});Object.defineProperty(exports,"useCompiledSelector",{enumerable:!0,get:function(){return k}});Object.defineProperty(exports,"useDifferenceArrowGeometries",{enumerable:!0,get:function(){return ro}});Object.defineProperty(exports,"useEditorState",{enumerable:!0,get:function(){return be}});Object.defineProperty(exports,"useEditorStore",{enumerable:!0,get:function(){return cc}});Object.defineProperty(exports,"useElementScreenRect",{enumerable:!0,get:function(){return Ln}});Object.defineProperty(exports,"useGeomHitTest",{enumerable:!0,get:function(){return Cn}});Object.defineProperty(exports,"useGeomHover",{enumerable:!0,get:function(){return Bn}});Object.defineProperty(exports,"useGraphCommands",{enumerable:!0,get:function(){return Wt}});Object.defineProperty(exports,"useGraphContext",{enumerable:!0,get:function(){return V}});Object.defineProperty(exports,"useGraphHandle",{enumerable:!0,get:function(){return bp}});Object.defineProperty(exports,"useGraphSelection",{enumerable:!0,get:function(){return Do}});Object.defineProperty(exports,"useHandleCompiled",{enumerable:!0,get:function(){return yp}});Object.defineProperty(exports,"useHoverContext",{enumerable:!0,get:function(){return le}});Object.defineProperty(exports,"useHoverState",{enumerable:!0,get:function(){return me}});Object.defineProperty(exports,"useI18n",{enumerable:!0,get:function(){return _}});Object.defineProperty(exports,"useLatestRef",{enumerable:!0,get:function(){return Ze}});Object.defineProperty(exports,"useMeasuredBoxRef",{enumerable:!0,get:function(){return _n}});Object.defineProperty(exports,"useMeasuredBoxes",{enumerable:!0,get:function(){return Zn}});Object.defineProperty(exports,"useResolvedAnnotations",{enumerable:!0,get:function(){return Se}});Object.defineProperty(exports,"useTextMeasurer",{enumerable:!0,get:function(){return se}});Object.defineProperty(exports,"useThemeContext",{enumerable:!0,get:function(){return Me}});