@graphysdk/react-renderer 0.0.1-plugins.9 → 1.8.1-beta.1786024899180
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.
- package/LICENSE.md +17 -0
- package/README.md +42 -3
- package/dist/editable.cjs +1 -0
- package/dist/editable.css +1 -0
- package/dist/editable.d.ts +4034 -0
- package/dist/editable.mjs +2829 -0
- package/dist/font-values-BOsqFcT9.js +425 -0
- package/dist/font-values-DAorZ_7T.cjs +2 -0
- package/dist/graph-config.cjs +1 -0
- package/dist/graph-config.d.ts +285 -0
- package/dist/graph-config.mjs +58 -0
- package/dist/history-chords-HlgDDT-6.js +8955 -0
- package/dist/history-chords-xdwpWM21.cjs +1 -0
- package/dist/history-chords.css +1 -0
- package/dist/index.cjs +1 -3
- package/dist/index.css +1 -1
- package/dist/index.d.ts +885 -338
- package/dist/index.mjs +682 -4708
- package/package.json +48 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./history-chords.css');var Mo=Object.create,Oe=Object.defineProperty,No=Object.getOwnPropertyDescriptor,Io=Object.getOwnPropertyNames,Oo=Object.getPrototypeOf,Do=Object.prototype.hasOwnProperty,Fo=(e,t)=>{let r={};for(var n in e)Oe(r,n,{get:e[n],enumerable:!0});return t||Oe(r,Symbol.toStringTag,{value:"Module"}),r},Go=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(var a=Io(t),i=0,s=a.length,l;i<s;i++)l=a[i],!Do.call(e,l)&&l!==r&&Oe(e,l,{get:(c=>t[c]).bind(null,l),enumerable:!(n=No(t,l))||n.enumerable});return e},mr=(e,t,r)=>(r=e!=null?Mo(Oo(e)):{},Go(t||!e||!e.__esModule?Oe(r,"default",{value:e,enumerable:!0}):r,e));const v=require("./font-values-DAorZ_7T.cjs");let h=require("@graphysdk/viz-engine"),g=require("react"),o=require("react/jsx-runtime"),ke=require("zustand"),w=require("motion/react"),Ho=require("d3-interpolate-path"),G=require("zustand/react/shallow"),fr=require("zustand/vanilla"),vt=require("react-dom"),B=require("clsx");B=mr(B,1);let Vo=require("react-intl"),N=require("@floating-ui/react-dom"),xr=require("@vanilla-extract/dynamic"),Wo=require("@tiptap/core"),br=require("@tiptap/extension-bold"),st=require("@tiptap/extension-document"),Ar=require("@tiptap/extension-hard-break"),yr=require("@tiptap/extension-heading"),Sr=require("@tiptap/extension-italic"),Pr=require("@tiptap/extension-link"),wr=require("@tiptap/extension-text"),jr=require("@tiptap/extension-text-align"),ge=require("@tiptap/extension-text-style"),kr=require("@tiptap/extension-underline"),De=require("@tiptap/extensions"),Uo=require("@tiptap/extension-paragraph"),mt=require("@tiptap/react"),re=require("@base-ui/react/toolbar"),ue=require("@base-ui/react/tooltip"),D=require("@base-ui/react/popover"),Nt=require("react-colorful"),V=require("@base-ui/react/menu"),zo=require("@base-ui/react/toggle"),Yo=require("color2k");typeof window<"u"&&(window.__GRAPHY_SDK__??={},window.__GRAPHY_SDK__.reactRenderer="1.8.1-beta.1786024899180");var ft=(0,g.createContext)(null),q=()=>{const e=(0,g.useContext)(ft);if(!e)throw new Error("useGraph* hooks must be used inside a <GraphProvider>");return e},C=e=>{const{store:t}=q();return(0,ke.useStore)(t,r=>e(r.compiled))};function L(e){const{colorScheme:t}=q();return(0,g.useMemo)(()=>(0,h.createStyleResolver)({colorScheme:t}).geomReaders(e),[e,t])}var Cr=e=>{const{colorScheme:t}=q(),r=C(n=>n.layers);return(0,g.useMemo)(()=>{const n=r.find(a=>a.id===e);return n===void 0?null:(0,h.createStyleResolver)({colorScheme:t}).geomReaders(n)},[r,e,t])},Ko={centerX:0,centerY:0,radius:1},xt=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}},K=(e,t,r=Ko)=>{const n=(0,h.polarToUnit)(e,t);return{x:r.centerX+n.x*r.radius,y:r.centerY-n.y*r.radius}},bt=(e,t)=>({x:(0,h.toViewBoxX)(e),y:(0,h.toViewBoxY)(t)}),Z=(e,t)=>{const r=K(e,t);return{x:(r.x+1)/2,y:(r.y+1)/2}},qo=2,Qo=.7,ie=({hit:e,project:t=bt})=>{const r=Cr(e.layerId);if(!e.anchored)return null;const n=r?.get("color",e.observation)??h.DEFAULT_GEOM_COLOR,a=((0,h.getAlpha)(e.observation)??1)*Qo,i=(r?.get("size",e.observation)??8)/2,s=r?.get("borderColor",e.observation,"hovered")??h.DEFAULT_HOVER_AFFORDANCE_COLOR,l=t(e.x,e.y);return(0,o.jsx)("circle",{cx:(0,h.toPercent)(l.x),cy:(0,h.toPercent)(l.y),r:i,fill:n,opacity:a,stroke:s,strokeWidth:qo,"data-testid":"companion-point"})},Q="_1d8mpa10",W={type:"spring",stiffness:500,damping:60,mass:1},lt=(e,t)=>{const r=(0,w.useMotionValue)(e);return(0,g.useEffect)(()=>{const n=(0,Ho.interpolatePath)(r.get(),e);(0,w.animate)(0,1,{...t,onUpdate:a=>{const i=n(a);return r.set(i)}})},[t,e,r]),r},Er=({isAnimated:e,...t})=>e?(0,o.jsx)(Jo,{...t}):(0,o.jsx)(Xo,{...t}),Xo=({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"})]}),Jo=({fillPath:e,linePath:t,fill:r,fillOpacity:n,stroke:a,strokeWidth:i,strokeOpacity:s,strokeDasharray:l})=>{const c=lt(e,W),u=lt(t,W);return(0,o.jsxs)("g",{children:[(0,o.jsx)(w.motion.path,{d:c,fill:r,fillOpacity:n,stroke:"none"}),(0,o.jsx)(w.motion.path,{d:u,fill:"none",stroke:a,strokeWidth:i,strokeOpacity:s,strokeDasharray:l,vectorEffect:"non-scaling-stroke"})]})},It=1.1,Ot=1.5,Rr=({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)(w.motion.rect,{...Zo(e.axis),transition:{duration:e.durationSeconds,ease:"easeOut"}})}),(0,o.jsx)("g",{clipPath:`url(#${r})`,children:t})]})},Zo=e=>e==="x"?{x:-.05,y:-.25,height:Ot,initial:{width:0},animate:{width:It}}:{x:-.25,y:-.05,width:Ot,initial:{height:0},animate:{height:It}},_o=(0,g.memo)(function({layer:t,coordSystem:r,isAnimated:n,intro:a}){const i=n&&a?.type==="wipe"?a:null,{lineGenerator:s,areaGenerator:l}=(0,g.useMemo)(()=>(0,h.createAreaPathGenerators)(r,t.params),[t.params,r]),c=L(t),u=(0,g.useMemo)(()=>{const d=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),p=[];return t.data.groupBy(h.GROUP_VARIABLES.group).forEach(m=>{const f=(0,h.prepareAreaObservations)([...m],t.params.missingValues),b=l(f),A=s(f);if(!b||!A)return;const y=f[0];if(!y)return;const S=c.get("color",y),x=c.get("strokeWidth",y),P=(0,h.getDashArray)(c.get("lineType",y));p.push({key:d(y),areaPath:b,linePath:A,color:S,fillOpacity:c.get("alpha",y),strokeWidth:x,strokeOpacity:c.get("strokeAlpha",y),strokeDasharray:P})}),p},[l,s,t.data,t.id,t.mapping,t.params,c]).map(d=>(0,o.jsx)($o,{areaPath:d.areaPath,linePath:d.linePath,color:d.color,fillOpacity:d.fillOpacity,strokeWidth:d.strokeWidth,strokeOpacity:d.strokeOpacity,strokeDasharray:d.strokeDasharray,isAnimated:n},d.key));return(0,o.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"area",className:Q,children:i?(0,o.jsx)(Rr,{intro:i,children:u}):u})}),$o=({areaPath:e,linePath:t,color:r,fillOpacity:n,strokeWidth:a,strokeOpacity:i,strokeDasharray:s,isAnimated:l})=>(0,o.jsx)(Er,{fillPath:e,linePath:t,fill:r,fillOpacity:n,stroke:r,strokeWidth:a,strokeOpacity:i,strokeDasharray:s,isAnimated:l}),ea="_324dw20",et=1,ta=2,ra=1,na=12/2,oa=2.25,fe=({hit:e,project:t=bt,...r})=>{const n=Cr(e.layerId);if(!e.anchored)return null;const a=n?.get("color",e.observation)??h.DEFAULT_GEOM_COLOR,i=(0,h.getAlpha)(e.observation)??1,s=n?.get("borderColor",e.observation,"hovered")??h.DEFAULT_HOVER_AFFORDANCE_COLOR,l=t(e.x,e.y),c=(0,h.toPercent)(l.x),u=(0,h.toPercent)(l.y),d=aa(e.observation),p=d+et/2+ra+et/2;return(0,o.jsxs)("g",{...r,className:ea,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:d,fill:a,opacity:i,stroke:s,strokeWidth:et})]})},aa=e=>{const t=(0,h.getSize)(e);return(0,h.isDefined)(t)?t/oa:na},ia=({layer:e,coordSystem:t,primary:r,companions:n})=>{const a=L(e),i=(0,h.getGroup)(r.observation),s=(0,g.useMemo)(()=>(0,h.prepareAreaObservations)([...e.data.filter(h.GROUP_VARIABLES.group,"eq",i)],e.params.missingValues),[e.data,e.params.missingValues,i]),{areaPath:l,linePath:c}=(0,g.useMemo)(()=>{const{lineGenerator:f,areaGenerator:b}=(0,h.createAreaPathGenerators)(t,e.params);return{areaPath:b(s)??"",linePath:f(s)??""}},[t,e.params,s]);if(!l||!c)return null;const u=a.get("color",r.observation),d=a.get("alpha",r.observation),p=a.get("strokeWidth",r.observation),m=(0,h.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:Q,children:[(0,o.jsx)("path",{d:l,fill:u,fillOpacity:d,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:m,vectorEffect:"non-scaling-stroke","data-testid":"hovered-area-edge"})]}),n.map(f=>(0,o.jsx)(ie,{hit:f},`companion-${f.layerId}-${f.pointIndex}`)),(0,o.jsx)(fe,{hit:r,"data-testid":"hovered-area-point"})]})},sa={geom:"area",coord:"cartesian",swatchShape:"area",guideMode:"crosshair",render:({layer:e,coordSystem:t,isAnimated:r,intro:n})=>(0,o.jsx)(_o,{layer:e,coordSystem:t,isAnimated: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)(ie,{hit:t},`companion-${t.layerId}-${t.pointIndex}`))}),getOverlayAnchor:({observation:e,coordSystem:t})=>{if(t.mainAxis==="x"){const a=(0,h.getX)(e),i=(0,h.getYMax)(e)??(0,h.getY)(e);return a===null||i===null?null:{x:a,y:i}}const r=(0,h.getY)(e),n=(0,h.getXMax)(e)??(0,h.getX)(e);return r===null||n===null?null:{x:n,y:r}}},ze=(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}},Lr=()=>{const e=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{e.current=!0},[]),!e.current},xe=(e,t)=>({borderColor:e.get("borderColor",t),borderWidth:e.get("borderWidth",t),borderRadius:e.get("borderRadius",t),borderAlpha:e.get("alpha",t)}),Tr=(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},la=(0,g.memo)(function({layer:t,coordSystem:r,isAnimated:n,intro:a}){const i=(0,g.useId)(),s=L(t),l=n&&a?.type==="grow"&&(a.growAxis==="x"||a.growAxis==="y")?a:null;return(0,o.jsx)(o.Fragment,{children:(0,g.useMemo)(()=>{const c=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),u=new Map;for(const d of t.data){const p=(0,h.getBarRectBounds)(r.mainAxis,d);if(!p)continue;const m=(0,h.buildColumnKey)(r.mainAxis,p),f=u.get(m),b={key:c(d),...p,fill:s.get("color",d),opacity:s.get("alpha",d)};f?f.bars.push(b):u.set(m,{bars:[b],style:xe(s,d)})}return[...u.entries()].map(([d,{bars:p,style:m}])=>{const f=(0,h.getBoundingRect)(p),b=m.borderColor===void 0?void 0:(0,h.resolveBarBorderTreatment)(m.borderWidth);return{id:`${i}${d}`,bars:p,...f,radii:ha({borderRadius:m.borderRadius,mainAxis:r.mainAxis,bounds:f}),borderColor:m.borderColor,outlineOpacity:m.borderAlpha,clippedStrokeWidth:b?.outlineWidth,separatorStrokeWidth:b?.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:d,...p}=u;return(0,o.jsx)(Fe,{...p,...c.radii,isAnimated:n,intro:l,introKey:d},d)}return n?(0,o.jsx)(ua,{column:c,intro:l},c.id):(0,o.jsx)(ca,{column:c},c.id)})})}),ca=({column:e})=>{const{id:t,bars:r,radii:n,borderColor:a,outlineOpacity:i,clippedStrokeWidth:s,separatorStrokeWidth:l}=e,c=a!==void 0,u=(0,o.jsx)("clipPath",{id:t,children:(0,o.jsx)(Dt,{bounds:e,radii:n})});if(r.length===1){const[d]=r;if(!d)return null;const{key:p,...m}=d;return(0,o.jsxs)(o.Fragment,{children:[u,(0,o.jsx)("g",{clipPath:`url(#${t})`,children:(0,o.jsx)(Fe,{...m,...n,stroke:a,strokeWidth:s,isAnimated:!1},p)})]})}return(0,o.jsxs)(o.Fragment,{children:[u,(0,o.jsxs)("g",{clipPath:`url(#${t})`,children:[r.map(d=>{const{key:p,...m}=d;return(0,o.jsx)(Fe,{...m,stroke:a,strokeWidth:l,isAnimated:!1},p)}),c&&(0,o.jsx)(Dt,{bounds:e,radii:n,fill:"none",stroke:a,strokeWidth:s,opacity:i})]})]})},ua=({column:e,intro:t})=>{const{id:r,bars:n,radii:a,borderColor:i,outlineOpacity:s,clippedStrokeWidth:l,separatorStrokeWidth:c}=e,u=i!==void 0,d=da(e,t??null,n[0]?.key),p={style:{transformBox:"view-box",x:d.x,y:d.y,width:d.width,height:d.height},rx:a.rx,ry:a.ry},m=(0,o.jsx)("clipPath",{id:r,children:(0,o.jsx)(w.motion.rect,{...p})});if(n.length===1){const[f]=n;return(0,o.jsxs)(o.Fragment,{children:[m,(0,o.jsx)("g",{clipPath:`url(#${r})`,children:(0,o.jsx)(w.motion.rect,{...p,fill:f?.fill,opacity:f?.opacity,stroke:i,strokeWidth:l})})]})}return(0,o.jsxs)(o.Fragment,{children:[m,(0,o.jsxs)("g",{clipPath:`url(#${r})`,children:[n.map(f=>{const{key:b,...A}=f;return(0,o.jsx)(Fe,{...A,stroke:i,strokeWidth:c,isAnimated:!0,intro:t,introKey:b},b)}),u&&(0,o.jsx)(w.motion.rect,{...p,fill:"none",stroke:i,strokeWidth:l,opacity:s})]})]})},Fe=({isAnimated:e,intro:t,introKey:r,rx:n,ry:a,stroke:i,strokeWidth:s,...l})=>{const c=Lr()?t??null:null;if(e){const u=c?Tr(l,c):null;return(0,o.jsx)(w.motion.rect,{initial:u?{x:(0,h.toPercent)(u.x),y:(0,h.toPercent)(u.y),width:(0,h.toPercent)(u.width),height:(0,h.toPercent)(u.height),opacity:l.opacity}:!1,style:{transformBox:"view-box"},transition:c?ze(c,r):W,fill:l.fill,opacity:l.opacity,rx:n,ry:a,stroke:i,strokeWidth:s,animate:{x:(0,h.toPercent)(l.x),y:(0,h.toPercent)(l.y),width:(0,h.toPercent)(l.width),height:(0,h.toPercent)(l.height),opacity:l.opacity}})}return(0,o.jsx)("rect",{style:{transformBox:"view-box"},x:(0,h.toPercent)(l.x),y:(0,h.toPercent)(l.y),width:(0,h.toPercent)(l.width),height:(0,h.toPercent)(l.height),fill:l.fill,opacity:l.opacity,rx:n,ry:a,stroke:i,strokeWidth:s})},Dt=({bounds:e,radii:t,fill:r,stroke:n,strokeWidth:a,opacity:i})=>(0,o.jsx)("rect",{x:(0,h.toPercent)(e.x),y:(0,h.toPercent)(e.y),width:(0,h.toPercent)(e.width),height:(0,h.toPercent)(e.height),rx:t.rx,ry:t.ry,fill:r,stroke:n,strokeWidth:a,opacity:i}),da=(e,t,r)=>{const n=t?Tr(e,t):e,a=(0,w.useMotionValue)(n.x),i=(0,w.useMotionValue)(n.y),s=(0,w.useMotionValue)(n.width),l=(0,w.useMotionValue)(n.height),c=(0,g.useRef)(t?ze(t,r):null);return(0,g.useEffect)(()=>{const u=c.current;c.current=null;const d=u??W,p=[(0,w.animate)(a,e.x,d),(0,w.animate)(i,e.y,d),(0,w.animate)(s,e.width,d),(0,w.animate)(l,e.height,d)];return()=>{for(const m of p)m.stop()}},[a,i,s,l,e.x,e.y,e.width,e.height]),{x:(0,w.useTransform)(a,h.toPercent),y:(0,w.useTransform)(i,h.toPercent),width:(0,w.useTransform)(s,h.toPercent),height:(0,w.useTransform)(l,h.toPercent)}};function ha(e){const t=(0,h.resolveBarCornerRadiiPx)(e);if(e.borderRadius!=="full")return t;const r={};return t.rx!==void 0&&(r.rx=(0,h.toPercent)(t.rx)),t.ry!==void 0&&(r.ry=(0,h.toPercent)(t.ry)),r}var ga="_1suo8ub0",Br=(e,t,r)=>{const n=new Map;for(const i of e.data){const s=(0,h.getBarRectBounds)(t,i);if(!s)continue;const l=(0,h.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:xe(r,s),bounds:(0,h.getBoundingRect)(l)});return a},Mr=(e,t,r,n)=>{const a=(0,h.getBarRectBounds)(t,n);return a?e.get((0,h.buildColumnKey)(t,a))??{style:xe(r,n),bounds:a}:null},Ge=(e,t)=>({x:e.x*t.width,y:e.y*t.height,width:e.width*t.width,height:e.height*t.height}),Ft=(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)}),de=(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("")},pa=({observation:e,mainAxis:t,styleReaders:r,column:n,panelRect:a})=>{const i=(0,g.useId)(),s=(0,g.useId)(),l=(0,h.getBarRectBounds)(t,e);if(!l)return null;const c=Ge(l,a),u=Ge(n.bounds,a),{borderColor:d,borderWidth:p,borderRadius:m,borderAlpha:f}=n.style,b=(0,h.resolveBarBorderRadiusPx)({borderRadius:m,mainAxis:t,bounds:u}),A=de(c,0),y=de(u,b),S=r.get("color",e),x=r.get("alpha",e),P=(0,h.resolveBarBorderTreatment)(p);return(0,o.jsxs)("g",{clipPath:`url(#${i})`,children:[(0,o.jsx)("clipPath",{id:i,children:(0,o.jsx)("path",{d:A})}),(0,o.jsx)("clipPath",{id:s,children:(0,o.jsx)("path",{d:y})}),(0,o.jsxs)("g",{clipPath:`url(#${s})`,children:[(0,o.jsx)("path",{d:A,fill:S,opacity:x,"data-testid":"highlight-bar-segment"}),d!==void 0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("path",{d:A,fill:"none",stroke:d,strokeWidth:P.separatorWidth,opacity:x,"data-testid":"highlight-bar-segment-border"}),(0,o.jsx)("path",{d:y,fill:"none",stroke:d,strokeWidth:P.outlineWidth,opacity:f})]})]})]})},va=({layer:e,sourceLayer:t,coordSystem:r,panelRect:n})=>{const a=L(t),i=(0,g.useMemo)(()=>Br(t,r.mainAxis,a),[t,r.mainAxis,a]),s=(0,h.createStableKeyGenerator)(e.data,e.mapping,e.id),l=[];for(const c of e.data){const u=Mr(i,r.mainAxis,a,c);u!==null&&l.push((0,o.jsx)(pa,{observation:c,mainAxis:r.mainAxis,styleReaders:a,column:u,panelRect:n},s(c)))}return l},tt=3,ma=({layer:e,coordSystem:t,primary:r,panelRect:n})=>{const a=L(e),i=(0,g.useId)(),s=(0,g.useId)(),l=(0,g.useId)(),c=(0,g.useMemo)(()=>Br(e,t.mainAxis,a),[e,t.mainAxis,a]),u=(0,h.getBarRectBounds)(t.mainAxis,r.observation),d=Mr(c,t.mainAxis,a,r.observation);if(!u||d===null)return null;const p=Ge(u,n),m=Ge(d.bounds,n),{borderColor:f,borderWidth:b,borderRadius:A,borderAlpha:y}=d.style,S=(0,h.resolveBarBorderRadiusPx)({borderRadius:A,mainAxis:t.mainAxis,bounds:m}),x=de(p,0),P=de(m,S),k=de(Ft(p,tt),0),R=de(Ft(m,tt),S>0?S+tt:0),j=a.get("color",r.observation),E=a.get("alpha",r.observation),T=a.get("borderColor",r.observation,"hovered")??h.DEFAULT_HOVER_AFFORDANCE_COLOR,M=(0,h.resolveBarBorderTreatment)(b);return(0,o.jsxs)("g",{"data-testid":"hovered-bar",children:[(0,o.jsx)("clipPath",{id:i,children:(0,o.jsx)("path",{d:R})}),(0,o.jsx)("clipPath",{id:s,children:(0,o.jsx)("path",{d:x})}),(0,o.jsx)("clipPath",{id:l,children:(0,o.jsx)("path",{d:P})}),(0,o.jsx)("g",{className:ga,children:(0,o.jsx)("g",{clipPath:`url(#${i})`,children:(0,o.jsx)("path",{d:k,fill:T,"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:x,fill:j,opacity:E,"data-testid":"hovered-bar-fill"}),f!==void 0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("path",{d:x,fill:"none",stroke:f,strokeWidth:M.separatorWidth,opacity:E,"data-testid":"hovered-bar-inner-border"}),(0,o.jsx)("path",{d:P,fill:"none",stroke:f,strokeWidth:M.outlineWidth,opacity:y})]})]})})]})},fa={geom:"bar",coord:"cartesian",swatchShape:"square",guideMode:"band",render:({layer:e,coordSystem:t,isAnimated:r,intro:n})=>(0,o.jsx)(la,{layer:e,coordSystem:t,isAnimated:r,intro:n}),renderHighlight:({layer:e,sourceLayer:t,coordSystem:r,panelRect:n})=>(0,o.jsx)(va,{layer:e,sourceLayer:t,coordSystem:r,panelRect:n}),renderHover:({layer:e,coordSystem:t,primary:r,panelRect:n})=>(0,o.jsx)(ma,{layer:e,coordSystem:t,primary:r,panelRect:n}),renderHoverCompanions:()=>null},xa=(0,g.memo)(function({layer:t,isAnimated:r,intro:n}){const a=r&&n?.type==="wipe"?n:null,i=(0,g.useMemo)(()=>(0,h.createLinePathGenerator)(t.params),[t.params]),s=(0,g.useMemo)(()=>(0,h.createLineFillAreaGenerator)(t.params),[t.params]),l=L(t),c=(0,g.useMemo)(()=>{const u=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),d=[];return t.data.groupBy(h.GROUP_VARIABLES.group).forEach(p=>{const m=(0,h.prepareLineObservations)([...p],t.params.missingValues),f=i(m);if(!f)return;const b=m[0];if(!b)return;const A=l.get("fillAlpha",b),y=A===void 0?void 0:s(m)??void 0,S=l.get("color",b),x=l.get("strokeWidth",b),P=(0,h.getDashArray)(l.get("lineType",b));d.push({key:u(b),pathData:f,fillPath:y,fillAlpha:A,color:S,opacity:l.get("alpha",b),strokeWidth:x,strokeDasharray:P})}),d},[i,s,t.data,t.id,t.mapping,t.params,l]).map(u=>(0,o.jsx)(ba,{pathData:u.pathData,fillPath:u.fillPath,fillAlpha:u.fillAlpha,color:u.color,strokeWidth:u.strokeWidth,opacity:u.opacity,strokeDasharray:u.strokeDasharray,isAnimated:r},u.key));return(0,o.jsx)("svg",{viewBox:"0 0 1 1",preserveAspectRatio:"none",width:"100%",height:"100%","data-geom":"line",className:Q,children:a?(0,o.jsx)(Rr,{intro:a,children:c}):c})}),ba=({pathData:e,fillPath:t,fillAlpha:r,color:n,strokeWidth:a,opacity:i,strokeDasharray:s,isAnimated:l})=>t!==void 0&&r!==void 0?(0,o.jsx)(Aa,{fillPath:t,fillAlpha:r,linePath:e,color:n,strokeWidth:a,opacity:i,strokeDasharray:s,isAnimated:l}):l?(0,o.jsx)(ya,{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"}),Aa=({fillPath:e,fillAlpha:t,linePath:r,color:n,strokeWidth:a,opacity:i,strokeDasharray:s,isAnimated: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)(Er,{fillPath:e,linePath:r,fill:`url(#${c})`,fillOpacity:t,stroke:n,strokeWidth:a,strokeOpacity:i,strokeDasharray:s,isAnimated:l})]})},ya=({pathData:e,color:t,strokeWidth:r,opacity:n,strokeDasharray:a})=>{const i=lt(e,W);return(0,o.jsx)(w.motion.path,{d:i,fill:"none",stroke:t,strokeWidth:r,opacity:n,strokeDasharray:a,vectorEffect:"non-scaling-stroke"})},Sa=({layer:e,primary:t,companions:r})=>{const n=L(e),a=(0,h.getGroup)(t.observation),i=(0,g.useMemo)(()=>(0,h.prepareLineObservations)([...e.data.filter(h.GROUP_VARIABLES.group,"eq",a)],e.params.missingValues),[e.data,e.params.missingValues,a]),s=(0,g.useMemo)(()=>(0,h.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),d=(0,h.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:Q,children:(0,o.jsx)("path",{d:s,fill:"none",stroke:l,strokeWidth:u,opacity:c,strokeDasharray:d,vectorEffect:"non-scaling-stroke","data-testid":"hovered-line-path"})}),r.map(p=>(0,o.jsx)(ie,{hit:p},`companion-${p.layerId}-${p.pointIndex}`)),(0,o.jsx)(fe,{hit:t,"data-testid":"hovered-line-point"})]})},Pa={geom:"line",coord:"cartesian",swatchShape:"line",guideMode:"crosshair",render:({layer:e,isAnimated:t,intro:r})=>(0,o.jsx)(xa,{layer:e,isAnimated:t,intro:r}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,o.jsx)(Sa,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(o.Fragment,{children:e.map(t=>(0,o.jsx)(ie,{hit:t},`companion-${t.layerId}-${t.pointIndex}`))}),getOverlayAnchor:({observation:e})=>{const t=(0,h.getX)(e),r=(0,h.getY)(e);return t===null||r===null?null:{x:t,y:r}}},Nr=({observation:e,project:t,styleReaders:r,isAnimated:n,intro:a,introKey:i})=>{const s=Lr()?a??null:null,l=(0,h.getX)(e),c=(0,h.getY)(e);if(l===null||c===null)return null;const u=t(l,c),d=(0,h.toPercent)(u.x),p=(0,h.toPercent)(u.y),m=r.get("size",e)/2,f=r.get("color",e),b=r.get("alpha",e),A=r.get("borderColor",e),y=r.get("borderWidth",e);return n?(0,o.jsx)(w.motion.circle,{initial:s?{cx:d,cy:p,r:0,opacity:0}:!1,transition:s?ze(s,i):W,fill:f,stroke:A,strokeWidth:y,animate:{cx:d,cy:p,r:m,opacity:b}}):(0,o.jsx)("circle",{cx:d,cy:p,r:m,fill:f,opacity:b,stroke:A,strokeWidth:y})},wa=(0,g.memo)(function({layer:t,isAnimated:r,intro:n}){const a=L(t);return(0,g.useMemo)(()=>{const i=r&&n?.type==="grow"&&n.growAxis==="size"?n:null,s=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),l=[];let c=0;for(const u of t.data)l.push((0,o.jsx)(Nr,{observation:u,project:bt,styleReaders:a,isAnimated:r,intro:i,introKey:i?s(u):void 0},String(c++)));return l},[t.data,t.mapping,t.id,a,r,n])}),Gt=({primary:e,companions:t})=>{const r=(0,o.jsxs)(o.Fragment,{children:[t.map(n=>(0,o.jsx)(ie,{hit:n},`companion-${n.layerId}-${n.pointIndex}`)),e?(0,o.jsx)(fe,{hit:e}):null]});return e?(0,o.jsx)("g",{"data-testid":"hovered-point",children:r}):r},ja={geom:"point",coord:"cartesian",swatchShape:"circle",render:({layer:e,isAnimated:t,intro:r})=>(0,o.jsx)(wa,{layer:e,isAnimated:t,intro:r}),renderHover:({primary:e,group:t,related:r})=>(0,o.jsx)(Gt,{primary:e,companions:[...t,...r]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(Gt,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,h.getX)(e),r=(0,h.getY)(e);return t===null||r===null?null:{x:t,y:r}}},ka={small:1.9,medium:2.3,large:2.6},Ca={small:1,medium:1,large:1.2},Ir=v.FONT_LINE_HEIGHT.sm,I=(e,t)=>`color-mix(in srgb, transparent, ${e} ${t*100}%)`,Ye=(e,t)=>`hsl(from ${e} h s calc(l * ${1-t}))`,At=(e,t)=>`hsl(from ${e} h s calc(l * ${1+t}))`,ct=(e,t,r)=>`color-mix(in srgb, ${e}, ${t} ${r*100}%)`,Ea=e=>/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e),Ra=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),z=e=>`${e}px`,Or={gridLineWidth:"1px",gridLineDash:"2 3",gridLineDotted:"1 3",tooltipBorderRadius:"6px",tooltipBorderWidth:"1px",tooltipPaddingBlock:"8px",tooltipPaddingInline:"10px",tooltipRowGap:"4px",tooltipShadow:"0 4px 12px rgba(0, 0, 0, 0.18)",editorControlHeight:z(32),tickLabelOffset:z(10),legendItemGap:z(8),legendSwatchGap:z(8),legendSwatchWidth:z(10),legendSwatchHeight:z(12),legendPillPaddingInline:z(8),legendPillPaddingBlock:z(2),legendPillBorderWidth:z(1),headlineRowGap:z(2),headlineItemGap:z(24)},he={panelOverlay:5,textToolbar:10,textToolbarTooltip:20,textToolbarPopover:30,legendPopover:40,editorOverlay:900,editorOverlayPopover:950,tooltip:1e3},Dr={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)"},Fr={radiiXs:"4px",radiiSm:"6px",radiiMd:"8px",radiiLg:"12px"},Gr={zIndexToolbar:`${he.textToolbar}`,zIndexToolbarTooltip:`${he.textToolbarTooltip}`,zIndexToolbarPopover:`${he.textToolbarPopover}`,zIndexEditorPopover:`${he.editorOverlayPopover}`},La=8,ce=e=>`${La*e}px`,Hr={spaceXxs:ce(.25),spaceXs:ce(.5),spaceSm:ce(.75),spaceMd:ce(1),spaceLg:ce(1.5),spaceXl:ce(2)},Ta={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)"},Ba={textPrimary:v.vars.black,textSecondary:I(v.vars.textPrimary,.6),textDisabled:I(v.vars.textPrimary,.5),iconPrimary:"currentColor",iconSecondary:I(v.vars.textPrimary,.6),iconStickerBackground:v.vars.grey100,brand:v.vars.purple50,success:v.vars.green50,warning:v.vars.amber50,alert:v.vars.red50,border100:v.vars.grey0,border50:I(v.vars.grey0,.5),border10:I(v.vars.grey0,.1),sunkenBackground:v.vars.grey90,defaultBackground:v.vars.grey100,raisedBackground:v.vars.grey85,overlayBackground:v.vars.grey100,overlayBorderGradient:v.vars.border10},Ma={graphBackground:v.vars.grey100,gridLineColor:v.vars.border10,originLineColor:v.vars.grey0,legendBackground:v.vars.defaultBackground,legendBorderColor:v.vars.border10,legendFocusOutlineColor:v.vars.border50,legendTextColor:v.vars.textPrimary,dimmedSeriesLabelTextColor:v.vars.textDisabled,dimmedSeriesLabelLineColor:v.vars.grey60,trendNegativeColor:v.vars.red60,trendPositiveColor:v.vars.green60,trendNeutralColor:v.vars.textSecondary,toolbarBackgroundColor:v.vars.overlayBackground,toolbarButtonBackgroundColor:"transparent",toolbarButtonBackgroundColorHovered:v.vars.grey80,toolbarButtonBackgroundColorSelected:v.vars.grey60,toolbarSeparatorColor:v.vars.grey60,tooltipBackground:v.vars.white,tooltipBorderColor:v.vars.border10,tooltipHeadingTextColor:v.vars.textPrimary,tooltipLabelTextColor:v.vars.textSecondary,tooltipValueTextColor:v.vars.textPrimary,tooltipPrimaryRowColor:v.vars.grey80,hoverGuideLineColor:I(v.vars.black,.2),hoverGuideFillColor:I(v.vars.black,.04),heatmapEmptyTileBackground:v.vars.grey80,dataLabelOutsideBackground:I(v.vars.textPrimary,.1),dataLabelTextColor:v.vars.textPrimary,dataLabelInsideTextColor:v.vars.white,stackTotalTextColor:v.vars.textPrimary,stackTotalBackground:v.vars.grey100,stackTotalStroke:v.vars.grey60,defaultAnnotationArrowStroke:v.vars.black,defaultAnnotationShapeStroke:v.vars.black,defaultAnnotationShapeFill:v.vars.canvasBlue,arrowAnnotationStickerOutlineColor:"#1D2129",arrowAnnotationStickerOutlineColorInverse:"#FFFFFF",annotationFrameBorderColor:v.vars.blue60,editMenuTriggerIconColor:"#3d414c"},Na={canvasDefault:"#000000",canvasBlue:"#3b82f6",canvasCyan:"#06b6d4",canvasGreen:"#10b981",canvasYellow:"#E5B400",canvasOrange:"#f97316",canvasRed:"#ef4444",canvasPink:"#E845BF",canvasPurple:"#8b5cf6",canvasGray:"#78716c",canvasInverse:"#ffffff"},Vr={...Ta,...Ba,...Dr,...Fr,...Hr,...Gr,...Ma,...Na,...Or,...v.baseTypographyTokens,...v.semanticTypographyTokens,...v.elementTypographyTokens},Ke=(e,t)=>e*10*t,Y=(e,t)=>({family:e.family,size:e.size.unit==="em"?Ke(e.size.value,t):e.size.value,weight:e.weight,style:e.style}),Ia=(e,t={})=>{const r=rt(e.fontFamilyDefault)??rt(v.DEFAULT_FONT_FAMILY)??"",n=a=>{const i=t[a]??{},s=v.MEASURED_ELEMENT_FONT_DEFINITIONS[a],l=Wr(s,e);l===null&&Da(a);const c=l??Oa(s);return{family:rt(i.family)??r,style:i.style??"normal",weight:i.weight??c.weight,size:i.size??c.size,lineHeight:i.lineHeight??c.lineHeight}};return{dataLabel:n("fontDataLabel"),stackTotal:n("fontStackTotal"),categoryLabel:n("fontCategoryLabel"),tickLabel:n("fontTickLabel"),axisLabel:n("fontAxisLabel"),legendLabel:n("fontLegendLabel"),goalLineLabel:n("fontGoalLineLabel"),familyDefault:r}},Wr=(e,t)=>{const r=v.parseFontWeight(t[e.weight]),n=v.parseFontLength(t[e.size]),a=v.parseUnitlessLineHeight(t[e.lineHeight]);return r===null||n===null||a===null?null:{weight:r,size:n,lineHeight:a}},Oa=e=>{const t=Wr(e,Vr);if(t===null)throw new Error("[react-renderer] Base typography leaf tokens failed to parse.");return t},rt=e=>e===void 0||e.includes("var(")?null:e.replace(/\s+/g," ").trim(),Da=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).`)},Fa={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)"},Ga={textPrimary:v.vars.grey0,textSecondary:I(v.vars.textPrimary,.8),textDisabled:I(v.vars.textPrimary,.5),iconPrimary:"currentColor",iconSecondary:I(v.vars.textPrimary,.6),iconStickerBackground:v.vars.grey70,border100:v.vars.grey0,border50:I(v.vars.grey0,.5),border10:I(v.vars.grey0,.1),brand:v.vars.purple50,success:v.vars.green50,warning:v.vars.amber50,alert:v.vars.red50,sunkenBackground:v.vars.grey100,defaultBackground:v.vars.grey90,raisedBackground:v.vars.grey80,overlayBackground:v.vars.grey90,overlayBorderGradient:v.vars.greyGradient80},Ha={graphBackground:v.vars.grey90,gridLineColor:v.vars.border10,originLineColor:v.vars.grey0,legendBackground:v.vars.defaultBackground,legendBorderColor:v.vars.border10,legendFocusOutlineColor:v.vars.border50,legendTextColor:v.vars.textPrimary,dimmedSeriesLabelTextColor:v.vars.textDisabled,dimmedSeriesLabelLineColor:v.vars.grey60,trendNegativeColor:v.vars.red60,trendPositiveColor:v.vars.green60,trendNeutralColor:v.vars.textSecondary,toolbarBackgroundColor:v.vars.overlayBackground,toolbarButtonBackgroundColor:"transparent",toolbarButtonBackgroundColorHovered:v.vars.grey80,toolbarButtonBackgroundColorSelected:v.vars.grey60,toolbarSeparatorColor:v.vars.grey60,tooltipBackground:v.vars.grey70,tooltipBorderColor:v.vars.grey60,tooltipHeadingTextColor:v.vars.textPrimary,tooltipLabelTextColor:v.vars.textSecondary,tooltipValueTextColor:v.vars.textPrimary,tooltipPrimaryRowColor:v.vars.grey60,hoverGuideLineColor:I(v.vars.white,.2),hoverGuideFillColor:I(v.vars.white,.06),heatmapEmptyTileBackground:v.vars.grey80,dataLabelOutsideBackground:I(v.vars.textPrimary,.1),dataLabelTextColor:v.vars.textPrimary,dataLabelInsideTextColor:v.vars.white,stackTotalTextColor:v.vars.textPrimary,stackTotalBackground:v.vars.grey100,stackTotalStroke:v.vars.grey60,defaultAnnotationArrowStroke:v.vars.white,defaultAnnotationShapeStroke:v.vars.white,defaultAnnotationShapeFill:v.vars.canvasBlue,arrowAnnotationStickerOutlineColor:"#FFFFFF",arrowAnnotationStickerOutlineColorInverse:"#1D2129",annotationFrameBorderColor:v.vars.blue60,editMenuTriggerIconColor:v.vars.white},Va={canvasDefault:"#FFFFFF",canvasBlue:"#60a5fa",canvasCyan:"#22d3ee",canvasGreen:"#34d399",canvasYellow:"#FFC800",canvasOrange:"#fb923c",canvasRed:"#f87171",canvasPink:"#F979D9",canvasPurple:"#a78bfa",canvasGray:"#a8a29e",canvasInverse:"#000000"},Wa={...Fa,...Ga,...Dr,...Fr,...Hr,...Gr,...Ha,...Va,...Or,...v.baseTypographyTokens,...v.semanticTypographyTokens,...v.elementTypographyTokens},Ur=(e,t={})=>{const r={},n={};for(const[a,i]of Object.entries(t))if(i!=null)if(v.isMeasuredFontTokenKey(a)){const s=i;n[a]=s,r[a]=v.buildFontShorthand(a,s)}else r[a]=i;return{values:{...e==="dark"?Wa:Vr,...r},fontOverrides:n}},Ua=(e,t={})=>Ur(e,t).values,zr=(e,t={})=>{const{values:r,fontOverrides:n}=Ur(e,t),a=X(r.legendPillPaddingInline,8),i=X(r.legendPillPaddingBlock,2),s=X(r.legendPillBorderWidth,1);return{tickLabelOffset:X(r.tickLabelOffset,10),legendSwatchWidth:X(r.legendSwatchWidth,10),legendSwatchHeight:X(r.legendSwatchHeight,12),legendSwatchGap:X(r.legendSwatchGap,8),legendItemGap:X(r.legendItemGap,8),legendPillPaddingInline:a,legendPillPaddingBlock:i,legendPillBorderWidth:s,legendPillHorizontalChrome:2*(a+s),legendPillVerticalChrome:2*(i+s),headlineRowGap:X(r.headlineRowGap,2),headlineItemGap:X(r.headlineItemGap,24),fonts:Ia(r,n)}},za=Object.freeze(zr("light"));function X(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 Yr=(0,g.createContext)(za),Ya=({metrics:e,children:t})=>(0,o.jsx)(Yr.Provider,{value:e,children:t}),ne=()=>(0,g.useContext)(Yr),Ka=/\p{Emoji_Presentation}|\p{Emoji}\uFE0F/gu,Kr="😀",qr=class Qr{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 Qr}measureText(t,r){const n=(0,h.buildFontString)(r);this.setFont(n);const{width:a,fontBoundingBoxAscent:i,fontBoundingBoxDescent:s}=this.ctx.measureText(t);let l=a;const c=qa(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(Kr).width,a=Qa(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,qa=e=>{const t=e.match(Ka);return t?t.length:0},Qa=e=>{const t=Xa();return t?(t.style.font=e,t.getBoundingClientRect().width):null},Xa=()=>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=Kr,document.body.appendChild(te)),te),Xr=(0,g.createContext)(null),Jr=({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(Ja())};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)(Xr.Provider,{value:a,children:e})},se=()=>{const e=(0,g.useContext)(Xr);if(e===null)throw new Error("useTextMeasurer must be used inside a <TextMeasurerProvider>.");return e},Ja=()=>{try{return new h.CachedTextMeasurer(new qr)}catch{return new h.CachedTextMeasurer(new h.HeuristicTextMeasurer)}},Zr=(0,g.createContext)(null),Za=Zr.Provider,_a=null,oe=()=>(0,g.useContext)(Zr)??(_a??=un()),$a="_16vokpr0",ei=(e,t)=>e.mapping.y!==void 0!=(t.mainAxis==="y"),ti=(e,t)=>{const r=(0,h.toPercent)(e?1-t:t);return e?{x1:"0%",y1:r,x2:"100%",y2:r}:{x1:r,y1:"0%",x2:r,y2:"100%"}},ri=(e,t)=>{const r=(0,h.getRuleDashPattern)(e,t);return r.length===0?{}:{strokeDasharray:r.join(" "),strokeLinecap:"round",...e==="dashed"?{strokeMiterlimit:16}:{}}},ni=(e,t)=>Ne(e)&&Ne(t)?`${e}: ${t}`:Ne(e)?e:Ne(t)?t:null,Ne=e=>e!=null&&e.trim()!=="",_r=Object.freeze({}),yt=(0,g.createContext)(_r),oi=({slots:e,children:t})=>(0,o.jsx)(yt.Provider,{value:e??_r,children:t});function J(e,t){const r=(0,g.useContext)(yt)[e];return r===void 0?t:typeof r=="object"&&ii(r)?r.render:r}function ai(){const e=(0,g.useContext)(yt);return{measureAxis:e.AxisTicks?.measure,measureAxisLabel:e.AxisLabel?.measure,measureLegend:e.Legend?.measure,measureHeadline:e.Headline?.measure.measureHeadline,measureHeadlineItemWidths:e.Headline?.measure.measureHeadlineItemWidths}}function ii(e){return"render"in e&&"measure"in e}var si="_2qyyu60",Ht=2,li=12,ci=12,Vt=1,Wt=2,ui=4,Ce=e=>(0,o.jsx)(J("Swatch",$r),{...e}),$r=({shape:e,color:t,lineType:r="solid",width:n=li,height:a=ci})=>(0,o.jsx)("svg",{className:si,width:n,height:a,viewBox:`0 0 ${n} ${a}`,"aria-hidden":!0,"data-testid":"chart-swatch","data-shape":e,children:di({shape:e,color:t,lineType:r,width:n,height:a})}),di=({shape:e,color:t,lineType:r,width:n,height:a})=>{const i=hi(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:Ht,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:Ht,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})}},hi=(e,t)=>e==="solid"?{x1:0,x2:t,dashArray:void 0,linecap:"round"}:e==="dashed"?{x1:0,x2:t,dashArray:`${(t-Vt*(Wt-1))/Wt} ${Vt}`,linecap:"butt"}:{x1:0,x2:t,dashArray:`1 ${t/(ui-1)}`,linecap:"round"},gi=11.7,Ut=21.6,pi="0 0 10 18",vi="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",mi=({labelPosition:e,linePosition:t,color:r,pillWidth:n,pillHeight:a,text:i,isAnimated:s})=>{const l=e==="start",c=l?-13:-(n-13),u=l?c+n-5:c+5-12,d=l?void 0:`rotate(180 ${u+12/2} ${a/2})`,p=l?"0%":"100%",m=(0,h.toPercent)(1-t),f=(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:d,children:(0,o.jsx)("svg",{x:u,y:(a-Ut)/2,width:12,height:Ut,viewBox:pi,overflow:"visible",children:(0,o.jsx)("path",{d:vi,fill:r})})}),(0,o.jsx)("g",{transform:`translate(${c+5}, ${a/2})`,children:i})]});return s?(0,o.jsx)(w.motion.svg,{initial:!1,transition:W,x:p,animate:{y:m},overflow:"visible",children:f}):(0,o.jsx)("svg",{x:p,y:m,overflow:"visible",children:f})},fi=({labelPosition:e,linePosition:t,color:r,pillWidth:n,pillHeight:a,text:i,isAnimated:s})=>{const l=e==="start",c=l?-13:-(a-13),u=(0,h.toPercent)(t),d=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)(w.motion.svg,{initial:!1,transition:W,y:d,animate:{x:u},overflow:"visible",children:p}):(0,o.jsx)("svg",{x:u,y:d,overflow:"visible",children:p})},xi=({label:e,textWidth:t,labelPosition:r,isHorizontalLine:n,position:a,color:i,textColor:s,symbolShape:l,symbolColor:c,isAnimated:u})=>{const d=l===null?0:14,p=t+d+10,m=gi+10,f=(0,o.jsxs)(o.Fragment,{children:[l!==null&&c!==null&&(0,o.jsx)("g",{transform:`translate(0, ${-10/2})`,children:(0,o.jsx)(Ce,{shape:l,color:c,surface:"rule-label",width:10,height:10})}),(0,o.jsx)("text",{x:d,textAnchor:"start",dominantBaseline:"central",fill:s,style:{font:v.vars.fontGoalLineLabel},children:e})]});return n?(0,o.jsx)(mi,{labelPosition:r,linePosition:a,color:i,pillWidth:p,pillHeight:m,text:f,isAnimated:u}):(0,o.jsx)(fi,{labelPosition:r,linePosition:a,color:i,pillWidth:p,pillHeight:m,text:f,isAnimated:u})},bi=({strokeWidth:e,lineType:t,isHorizontalLine:r,position:n,lineColor:a,isAnimated:i})=>{const s=ti(r,n),l=ri(t,e);return i?(0,o.jsx)(w.motion.line,{initial:!1,transition:W,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"})},Ai=(0,g.memo)(function({layer:t,coordSystem:r,formattingLocale:n,isAnimated:a}){const i=se(),s=oe(),{guides:l,numberFormat:c,textScale:u,layers:d,colorScale:p}=C((0,G.useShallow)(T=>({guides:T.guides,numberFormat:T.config.numberFormat,textScale:T.config.appearance.textScale,layers:T.spec.layers,colorScale:T.scales.color}))),m=(0,g.useMemo)(()=>(0,h.buildAverageLineSymbols)(d,p).get(t.id)??null,[d,p,t.id]),f=m?s(m.geom,r.type)?.swatchShape??"square":null,b=(0,g.useMemo)(()=>ni(t.params.label,(0,h.formatRuleValue)({guides:l,numberFormat:c,layer:t,locale:n})),[l,c,n,t]),{fonts:A}=ne(),y=(0,g.useMemo)(()=>Y(A.goalLineLabel,u),[A.goalLineLabel,u]),S=(0,g.useMemo)(()=>b===null?0:i.measureText(b,y).width,[b,y,i]),x=L(t),P=t.data.getFirst();if(!P)return null;const k=x.get("color",P),R=(0,h.getRuleLabelTextColor)(k),j=ei(t,r),E=j?(0,h.getY)(P):(0,h.getX)(P);return E===null?null:(0,o.jsxs)("g",{"data-geom":"rule",className:$a,children:[(0,o.jsx)(bi,{strokeWidth:x.get("strokeWidth",P),lineType:x.get("lineType",P),isHorizontalLine:j,position:E,lineColor:k,isAnimated:a}),b!==null&&(0,o.jsx)(xi,{label:b,textWidth:S,labelPosition:t.params.labelPosition,isHorizontalLine:j,position:E,color:k,textColor:R,symbolShape:f,symbolColor:m?.color??null,isAnimated:a})]})}),yi={geom:"rule",coord:"cartesian",render:({layer:e,coordSystem:t,formattingLocale:r,isAnimated:n})=>(0,o.jsx)(Ai,{layer:e,coordSystem:t,formattingLocale:r,isAnimated:n}),renderHover:()=>null,renderHoverCompanions:()=>null},He=({primary:e,companions:t})=>{const r=(0,o.jsxs)(o.Fragment,{children:[t.map(n=>(0,o.jsx)(ie,{hit:n,project:Z},`companion-${n.layerId}-${n.pointIndex}`)),e?(0,o.jsx)(fe,{hit:e,project:Z}):null]});return e?(0,o.jsx)("g",{"data-testid":"hovered-point",children:r}):r},ut=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`},Si=(0,g.memo)(function({layer:t}){const r=L(t),n=(0,g.useMemo)(()=>{const a=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),i=[];return t.data.groupBy(h.GROUP_VARIABLES.group).forEach(s=>{const l=[...s],c=en(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:Q,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))})}),en=e=>{const t=[];for(const i of e){const s=(0,h.getX)(i),{innerRadius:l,outerRadius:c}=(0,h.getRadiusExtent)(i);s===null||l===null||c===null||t.push({angle:s,outer:K(s,c),inner:K(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=ut(r);return{fillPath:n.some(i=>i.x!==0||i.y!==0)?`${a} ${ut([...n].reverse())}`:a,outlinePath:a}},Pi=({layer:e,primary:t,companions:r})=>{const n=L(e),a=(0,h.getGroup)(t.observation),i=(0,g.useMemo)(()=>en([...e.data.filter(h.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:Q,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(d=>(0,o.jsx)(ie,{hit:d,project:Z},`companion-${d.layerId}-${d.pointIndex}`)),(0,o.jsx)(fe,{hit:t,project:Z,"data-testid":"hovered-area-point"})]})},wi={geom:"area",coord:"polar",swatchShape:"area",guideMode:"crosshair",render:({layer:e})=>(0,o.jsx)(Si,{layer:e}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,o.jsx)(Pi,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(He,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,h.getX)(e),r=(0,h.getYMax)(e)??(0,h.getY)(e);if(t===null||r===null)return null;const{x:n,y:a}=Z(t,r);return{x:n,y:1-a}}},Pe=(e,t)=>({stroke:e,strokeWidth:t,vectorEffect:"non-scaling-stroke"}),ji=(0,g.memo)(function({layer:t,coordSystem:r,isAnimated:n,intro:a}){const i=(0,g.useRef)(!1),s=(0,g.useId)(),l=n&&a?.type==="grow"&&(a.growAxis==="angle"||a.growAxis==="radius")?a:null;(0,g.useEffect)(()=>{i.current=!0},[]);const c=L(t),u=(0,g.useMemo)(()=>{const d=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),p=new Map;for(const m of t.data){const f=d(m),{startAngle:b,endAngle:A}=(0,h.getAngleExtent)(m),{innerRadius:y,outerRadius:S}=(0,h.getRadiusExtent)(m);if(b===null||A===null||y===null||S===null)continue;const x={key:f,startAngle:b,endAngle:A,innerRadius:y,outerRadius:S,fill:c.get("color",m),opacity:c.get("alpha",m)},P=(0,h.buildSliceGroupKey)(r.bandAxis,x),k=p.get(P);k?k.items.push(x):p.set(P,{items:[x],style:xe(c,m)})}return[...p.entries()].map(([m,{items:f,style:b}])=>({key:m,items:f,union:(0,h.getUnionExtent)(f),style:b}))},[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:Q,children:u.map((d,p)=>{const{borderColor:m,borderWidth:f,borderRadius:b,borderAlpha:A}=d.style,y=m!==void 0,S=(0,h.resolveBarBorderTreatment)(f),x=m===void 0?{}:Pe(m,S.separatorWidth),P=m===void 0?void 0:Pe(m,S.outlineWidth),k=d.items.map(T=>{const{key:M,...O}=T;return n?(0,o.jsx)(ki,{...O,isInitialRender:!i.current,intro:l,introKey:M,pathProps:{fill:O.fill,opacity:O.opacity,...x}},M):(0,o.jsx)("path",{d:(0,h.buildPolarBarArcPath)(O)??void 0,fill:O.fill,opacity:O.opacity,...x},M)}),R=(0,h.resolvePolarBarCornerRadiusUnit)(b,d.union.outerRadius-d.union.innerRadius);if(!y&&R<=0)return(0,o.jsx)(g.Fragment,{children:k},d.key);const j=`${s}${p}`;if(n)return(0,o.jsx)("g",{clipPath:`url(#${j})`,children:(0,o.jsx)(Ci,{...d.union,cornerRadius:R,isInitialRender:!i.current,intro:l,introKey:d.items[0]?.key,clipId:j,outlineProps:P,outlineOpacity:A,children:k})},d.key);const E=(0,h.buildPolarBarArcPath)({...d.union,cornerRadius:R});return(0,o.jsxs)("g",{clipPath:`url(#${j})`,children:[(0,o.jsx)("clipPath",{id:j,children:(0,o.jsx)("path",{d:E})}),k,P!==void 0&&(0,o.jsx)("path",{d:E,fill:"none",opacity:A,...P})]},d.key)})})}),tn=({startAngle:e,endAngle:t,innerRadius:r,outerRadius:n,cornerRadius:a,isInitialRender:i,intro:s,introKey:l})=>{const c=i?s??null:null,u=c?.growAxis==="angle"?c:null,d=c?.growAxis==="radius"?c:null,p=i?u?.baseline??e:h.TAU,m=i?u?.baseline??t:h.TAU,f=d?d.baseline:r,b=d?d.baseline:n,A=(0,w.useMotionValue)(p),y=(0,w.useMotionValue)(m),S=(0,w.useMotionValue)(f),x=(0,w.useMotionValue)(b),P=(0,w.useMotionValue)((0,h.buildPolarBarArcPath)({startAngle:p,endAngle:m,innerRadius:f,outerRadius:b,cornerRadius:a})??""),k=(0,g.useRef)(c?ze(c,l):null),R=(0,g.useRef)(u!==null),j=(0,g.useRef)(d!==null);return(0,g.useEffect)(()=>{const E=R.current?k.current:null;R.current=!1;const T=E??W,M=[(0,w.animate)(A,e,T),(0,w.animate)(y,t,T)];return()=>{for(const O of M)O.stop()}},[A,y,e,t]),(0,g.useEffect)(()=>{const E=j.current?k.current:null;if(j.current=!1,E!==null){const T=[(0,w.animate)(S,r,E),(0,w.animate)(x,n,E)];return()=>{for(const M of T)M.stop()}}S.set(r),x.set(n)},[S,x,r,n]),(0,g.useEffect)(()=>{const E=()=>{P.set((0,h.buildPolarBarArcPath)({startAngle:A.get(),endAngle:y.get(),innerRadius:S.get(),outerRadius:x.get(),cornerRadius:a})??"")};E();const T=[A,y,S,x].map(M=>M.on("change",E));return()=>{for(const M of T)M()}},[A,y,S,x,a,P]),P},ki=({pathProps:e,...t})=>{const r=tn(t);return(0,o.jsx)(w.motion.path,{d:r,transition:W,...e})},Ci=({clipId:e,outlineProps:t,outlineOpacity:r,children:n,...a})=>{const i=tn(a);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("clipPath",{id:e,children:(0,o.jsx)(w.motion.path,{d:i})}),n,t!==void 0&&(0,o.jsx)(w.motion.path,{d:i,fill:"none",opacity:r,transition:W,...t})]})},Ei=(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}},rn=(e,t,r)=>{const n=new Map;for(const i of e.data){const s=an(i);if(s===null)continue;const l=(0,h.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:xe(r,s),radialSpan:c-l});return a},nn=(e,t,r,n)=>{const a=an(n),i=a===null?void 0:e.get((0,h.buildSliceGroupKey)(t,a));return i!==void 0?i:{style:xe(r,n),radialSpan:a===null?0:a.outerRadius-a.innerRadius}},on=({observation:e,bandAxis:t,styleReaders:r,group:n})=>{const a=(0,g.useId)(),i=(0,g.useId)(),{startAngle:s,endAngle:l}=(0,h.getAngleExtent)(e),{innerRadius:c,outerRadius:u}=(0,h.getRadiusExtent)(e);if(s===null||l===null||c===null||u===null)return null;const d={startAngle:s,endAngle:l,innerRadius:c,outerRadius:u},p=(0,h.buildPolarBarArcPath)(d);if(p===void 0)return null;const m=r.get("color",e),f=r.get("alpha",e),{borderColor:b,borderWidth:A,borderRadius:y,borderAlpha:S}=n.style,x=(0,h.resolvePolarBarCornerRadiusUnit)(y,n.radialSpan),P=x>0;if(b===void 0&&!P)return(0,o.jsx)("path",{d:p,fill:m,opacity:f,"data-testid":"arc-segment"});const k=Ei((0,h.getStackRole)(e),t),R=P?(0,h.buildPolarBarArcPath)({...Li(d,k,x),cornerRadius:x})??p:p,j=b===void 0?null:{color:b,...(0,h.resolveBarBorderTreatment)(A)},E=j===null?"":Kt(d,Ti(k));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:R,fill:m,opacity:f}),j!==null&&E!==""&&(0,o.jsx)("path",{d:E,fill:"none",opacity:f,...Pe(j.color,j.separatorWidth)}),j!==null&&(P?(0,o.jsxs)("g",{clipPath:`url(#${i})`,children:[(0,o.jsx)("clipPath",{id:i,children:(0,o.jsx)("path",{d:R})}),(0,o.jsx)("path",{d:R,fill:"none",opacity:S,...Pe(j.color,j.outlineWidth)})]}):(0,o.jsx)("path",{d:Kt(d,k),fill:"none",opacity:S,...Pe(j.color,j.outlineWidth)}))]})},Ri=({layer:e,sourceLayer:t,coordSystem:r})=>{const n=L(t),a=(0,g.useMemo)(()=>rn(t,r.bandAxis,n),[t,r.bandAxis,n]),i=(0,h.createStableKeyGenerator)(e.data,e.mapping,e.id),s=[];for(const l of e.data)s.push((0,o.jsx)(on,{observation:l,bandAxis:r.bandAxis,styleReaders:n,group:nn(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:Q,children:s})},Li=(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}},an=e=>{const{startAngle:t,endAngle:r}=(0,h.getAngleExtent)(e),{innerRadius:n,outerRadius:a}=(0,h.getRadiusExtent)(e);return t===null||r===null||n===null||a===null?null:{startAngle:t,endAngle:r,innerRadius:n,outerRadius:a}},we=(e,t)=>{const r=K(t,e);return`${r.x},${r.y}`},zt=(e,t,r)=>{if(e<=0)return"";const n=we(e,t);if((0,h.isFullTurnSweep)(t,r))return`M${n}A${e},${e} 0 1 1 ${we(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} ${we(e,r)}`},Yt=(e,t,r)=>`M${we(t,e)}L${we(r,e)}`,Kt=(e,t)=>{const{startAngle:r,endAngle:n,innerRadius:a,outerRadius:i}=e,s=(0,h.isFullTurnSweep)(r,n);return[t.innerArc?zt(a,r,n):"",t.outerArc?zt(i,r,n):"",t.startSpoke&&!s?Yt(r,a,i):"",t.endSpoke&&!s?Yt(n,a,i):""].filter(Boolean).join("")},Ti=e=>({innerArc:!e.innerArc,outerArc:!e.outerArc,startSpoke:!e.startSpoke,endSpoke:!e.endSpoke}),Bi=({layer:e,coordSystem:t,primary:r})=>{const n=L(e),a=nn((0,g.useMemo)(()=>rn(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:Q,children:(0,o.jsx)(on,{observation:r.observation,bandAxis:t.bandAxis,styleReaders:n,group:a})})},Mi={geom:"bar",coord:"polar",swatchShape:"slice",guideMode:"band",render:({layer:e,coordSystem:t,isAnimated:r,intro:n})=>(0,o.jsx)(ji,{layer:e,coordSystem:t,isAnimated:r,intro:n}),renderHighlight:({layer:e,sourceLayer:t,coordSystem:r})=>(0,o.jsx)(Ri,{layer:e,sourceLayer:t,coordSystem:r}),renderHover:({layer:e,coordSystem:t,primary:r})=>(0,o.jsx)(Bi,{layer:e,coordSystem:t,primary:r}),renderHoverCompanions:()=>null},Ni=(0,g.memo)(function({layer:t}){const r=L(t),n=(0,g.useMemo)(()=>{const a=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),i=[];return t.data.groupBy(h.GROUP_VARIABLES.group).forEach(s=>{const l=[...s],c=sn(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,h.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:Q,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))})}),sn=e=>{const t=[];for(const r of e){const n=(0,h.getX)(r),a=(0,h.getY)(r);n===null||a===null||t.push({angle:n,point:K(n,a)})}return t.length===0?null:(t.sort((r,n)=>r.angle-n.angle),ut(t.map(r=>r.point)))},Ii=({layer:e,primary:t,companions:r})=>{const n=L(e),a=(0,h.getGroup)(t.observation),i=(0,g.useMemo)(()=>sn([...e.data.filter(h.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,h.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:Q,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(d=>(0,o.jsx)(ie,{hit:d,project:Z},`companion-${d.layerId}-${d.pointIndex}`)),(0,o.jsx)(fe,{hit:t,project:Z,"data-testid":"hovered-line-point"})]})},Oi={geom:"line",coord:"polar",swatchShape:"line",guideMode:"crosshair",render:({layer:e})=>(0,o.jsx)(Ni,{layer:e}),renderHover:({layer:e,primary:t,group:r,related:n})=>(0,o.jsx)(Ii,{layer:e,primary:t,companions:[...r,...n]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(He,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,h.getX)(e),r=(0,h.getY)(e);if(t===null||r===null)return null;const{x:n,y:a}=Z(t,r);return{x:n,y:1-a}}},Di=(0,g.memo)(function({layer:t,isAnimated:r,intro:n}){const a=L(t);return(0,g.useMemo)(()=>{const i=r&&n?.type==="grow"&&n.growAxis==="size"?n:null,s=(0,h.createStableKeyGenerator)(t.data,t.mapping,t.id),l=[];let c=0;for(const u of t.data)l.push((0,o.jsx)(Nr,{observation:u,project:Z,styleReaders:a,isAnimated:r,intro:i,introKey:i?s(u):void 0},String(c++)));return l},[t.data,t.mapping,t.id,a,r,n])}),Fi={geom:"point",coord:"polar",swatchShape:"circle",render:({layer:e,isAnimated:t,intro:r})=>(0,o.jsx)(Di,{layer:e,isAnimated:t,intro:r}),renderHover:({primary:e,group:t,related:r})=>(0,o.jsx)(He,{primary:e,companions:[...t,...r]}),renderHoverCompanions:({related:e})=>(0,o.jsx)(He,{companions:e}),getOverlayAnchor:({observation:e})=>{const t=(0,h.getX)(e),r=(0,h.getY)(e);if(t===null||r===null)return null;const{x:n,y:a}=Z(t,r);return{x:n,y:1-a}}},ln={bar:{cartesian:fa,polar:Mi},line:{cartesian:Pa,polar:Oi},area:{cartesian:sa,polar:wi},point:{cartesian:ja,polar:Fi},rule:{cartesian:yi}};function qe(e){return typeof e=="function"?{overlay:!1,fn:e}:{overlay:!0,fn:e.fn}}function cn(e){return e?qe(e.render).overlay:!1}function Gi(e,t){return typeof e=="string"?{...t,geom:e}:{...t,definition:e,geom:e.type}}function un(e=[]){const t={};for(const[r,n]of Object.entries(ln))t[r]={...n};for(const r of e)(t[r.geom]??={})[r.coord]=r;return(r,n)=>t[r]?.[n]??null}var Ve=e=>{const t=(0,g.useRef)(e);return t.current=e,t},Hi=()=>{const e=new Map;return(0,fr.createStore)(t=>({hover:h.RESTING_HOVER_STATE,tooltipAnchor:null,pointerRegions:[],isPointerSuspended:!1,setHoverState:r=>t(n=>n.hover===r?n:{hover:r}),setTooltipAnchor:r=>t(n=>Vi(n.tooltipAnchor,r)?n:{tooltipAnchor:r}),publishPointerRegions:(r,n)=>{n.length===0?e.delete(r):e.set(r,n);const a=(0,h.orderPointerRegions)(e);t(i=>(0,h.arePointerRegionListsEqual)(i.pointerRegions,a)?i:{pointerRegions:a})},setPointerSuspended:r=>t(n=>n.isPointerSuspended===r?n:{isPointerSuspended:r})}))},Vi=(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,Wi=(e,t)=>{const r=(0,g.useMemo)(()=>({layers:e,coordSystem:t}),[e,t]),n=(0,g.useRef)(null);n.current===null&&(n.current=new h.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},dn=(0,g.createContext)(null),hn=({children:e})=>{const{layers:t,coordSystem:r}=C((0,G.useShallow)(l=>({layers:l.layers,coordSystem:l.coordSystem}))),n=Wi(t,r),[a]=(0,g.useState)(()=>Hi()),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)(dn.Provider,{value:s.current,children:e})},le=()=>{const e=(0,g.useContext)(dn);if(e===null)throw new Error("useHoverContext must be used inside a <HoverProvider>.");return e};function gn(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 Ui=({hitTest:e,input:t})=>{const r=(0,g.useMemo)(()=>e(t),[e,t.layer.data]);return gn(t.layer.id,r),null},zi="graphy_root",_=()=>typeof document>"u"?null:document.getElementById(zi)??document.body,Yi="_10igzta0",pn=({rect:e,zIndex:t,container:r,boxRef:n,children:a,...i})=>r===null?null:(0,vt.createPortal)((0,o.jsx)("div",{...i,ref:n,className:Yi,style:{transform:`translate(${e.left}px, ${e.top}px)`,width:e.width,height:e.height,zIndex:t},children:a}),r),Ki=({rect:e,children:t})=>{const[r]=(0,g.useState)(_);return(0,o.jsx)(pn,{rect:e,zIndex:he.panelOverlay,container:r,children:t})},vn=(e,t)=>{const r=Ve(e),n=Ve(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 d=a.current;d!==null&&(a.current=null,r.current(...d))};return{run:(...d)=>{if(n.current<=0){r.current(...d);return}a.current=d,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},qi={width:0,height:0,isDefault:!0},mn=({debounce:e=0,onResize:t}={})=>{const[r,n]=(0,g.useState)(qi),a=(0,g.useRef)(null),i=vn(u=>{const d=a.current;d&&d.width===u.width&&d.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(([d])=>{if(!d)return;const p=Math.round(d.contentBoxSize[0]?.inlineSize??d.contentRect.width),m=Math.round(d.contentBoxSize[0]?.blockSize??d.contentRect.height);i.run({width:p,height:m,isDefault:!1})}),l.current.observe(u)))},[i]);return{...r,setElement:c}};function fn(){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 d=u.getBoundingClientRect();if(d.width===0||d.height===0){r.current!==null&&(r.current=null,t(null));return}const p={left:d.left,top:d.top,width:d.width,height:d.height},m=r.current;m&&m.left===p.left&&m.top===p.top&&m.width===p.width&&m.height===p.height||(r.current=p,t(p))},[]),s=(0,g.useCallback)(()=>{a.current===null&&(a.current=requestAnimationFrame(i))},[i]),{setElement:l}=mn({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 xn(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?h.RESTING_HOVER_STATE:t.resolveHoverByKey(e,n);if(c.primary===null){i.primary?.layerId===e&&(s(h.RESTING_HOVER_STATE),l(null));return}s(c),l(a?{x:a.clientX,y:a.clientY,placement:"top"}:null)},[t,r,e])}var Qi=({render:e,input:t})=>{const r=xn(t.layer.id),{measureRef:n,screenRect:a}=fn();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)(Ki,{rect:a,children:(0,o.jsx)(Xi,{render:e,input:t,pushHover:r,panelRect:a})})]})},Xi=({render:e,input:t,pushHover:r,panelRect:n})=>e({...t,overlay:{pushHover:r,panelRect:n}}),Ji={save:"حفظ",cancel:"إلغاء",confirm:"تأكيد",delete:"حذف",confirmDelete:e=>`هل أنت متأكد من رغبتك في حذف ${e.item}؟`,abbreviations:{thousands:"ألف",millions:"مليون",billions:"مليار"}},Zi={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:"نوع الرسم البياني"},graphOptionsSection:{title:"خيارات الرسم البياني"},graphOptions:{sortBars:"ترتيب من الأعلى ← الأدنى",gridLines:"خطوط الشبكة",showPoints:"إظهار النقاط",smoothLines:"خطوط ناعمة",stackTotals:"مجاميع المكدس",dataLabels:"تسميات البيانات",showPercentages:"إظهار النسب المئوية",categoryLabels:"تسميات الفئات"},legendSection:{title:"وسيلة الإيضاح",auto:"تلقائي",top:"أعلى",bottom:"أسفل",left:"يسار",right:"يمين",none:"بدون"},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:"السابق"},pieTotalPosition:{left:"يسار",center:"وسط"}},treatEmptyValues:{leaveGap:{label:"ترك فجوة في الرسم البياني",description:"يترك فاصلاً مرئياً في الخط حيث تكون البيانات مفقودة"},fillZero:{label:"ملء بالصفر",description:"يعرض نقاط البيانات المفقودة كصفر"},connectGaps:{label:"الاتصال عبر الفجوات",description:"يربط الخط بين النقاط المتاحة، متخطياً الفجوة"}},comboChartAppearance:{title:"مظهر الرسم البياني المركب",groupedBars:"أشرطة مجمعة",stackedBars:"أشرطة مكدسة",linesOnly:"خطوط فقط"}},columnMapping:{title:"البيانات",xAxis:"المحور السيني",yAxis:"المحور الصادي",leftYAxis:"المحور الصادي (يسار)",rightYAxis:"المحور الصادي (يمين)",slices:"القيم (الشرائح)",labels:"التسميات",size:"الحجم",shape:"الشكل",reset:"إعادة التعيين إلى تلقائي",addSeries:"إضافة سلسلة",removeSeries:"إزالة السلسلة"},axesPanel:{toolbarButton:"المحاور",mainAxisSection:{yAxis:"المحور الصادي",xAxis:"المحور السيني"},crossAxisSection:{xAxis:"المحور السيني",yAxis:"المحور الصادي"},controls:{visible:"مرئي",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:"السمة"},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:"مربع",differenceArrows:"أسهم الفرق"},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:"داكن"}}},_i={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:"إزالة السهم"},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})`}}}},$i={common:Ji,editor:Zi,graph:_i,dir:"rtl"},es={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"}},ts={title:"Graphy Editor",description:"Edit your content here",graphTypes:{column:"Column",columnStacked:"Stacked",columnStackedFill:"100% Stacked",bar:"Bar",barStacked:"Stacked",barStackedFill:"100% Stacked",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"},graphOptionsSection:{title:"Graph options"},graphOptions:{sortBars:"Sort high → low",gridLines:"Grid lines",showPoints:"Show points",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"},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"},pieTotalPosition:{left:"Left",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"}},columnMapping:{title:"Data",xAxis:"X-axis",yAxis:"Y-axis",leftYAxis:"Y-axis (left)",rightYAxis:"Y-axis (right)",slices:"Values (slices)",labels:"Labels",size:"Size",shape:"Shape",reset:"Reset to auto",addSeries:"Add series",removeSeries:"Remove series"},axesPanel:{toolbarButton:"Axes",mainAxisSection:{yAxis:"Y-axis",xAxis:"X-axis"},crossAxisSection:{xAxis:"X-axis",yAxis:"Y-axis"},controls:{visible:"Visible",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"},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:"Call-out",text:"Text",arrow:"Arrow",box:"Box",differenceArrows:"Difference arrows"},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"}}},rs={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"},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})`}}}},ns={common:es,editor:ts,graph:rs,dir:"ltr"},os={editor:{colorPanel:{backgroundSection:{grey:"Gray"},borderType:{grey:"Gray"}},highlighting:{highlightStyle:{grey:"Gray"}}}},as={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"}},is={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"},graphOptionsSection:{title:"Opções do gráfico"},graphOptions:{sortBars:"Ordenar maior → menor",gridLines:"Linhas de grelha",showPoints:"Mostrar pontos",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"},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"},pieTotalPosition:{left:"Esquerda",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"}},columnMapping:{title:"Dados",xAxis:"Eixo X",yAxis:"Eixo Y",leftYAxis:"Eixo Y (esquerda)",rightYAxis:"Eixo Y (direita)",slices:"Valores (fatias)",labels:"Etiquetas",size:"Tamanho",shape:"Forma",reset:"Repor para automático",addSeries:"Adicionar série",removeSeries:"Remover série"},axesPanel:{toolbarButton:"Eixos",mainAxisSection:{yAxis:"Eixo Y",xAxis:"Eixo X"},crossAxisSection:{xAxis:"Eixo X",yAxis:"Eixo Y"},controls:{visible:"Visível",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"},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:"Destaque",text:"Texto",arrow:"Seta",box:"Caixa",differenceArrows:"Setas de 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"}}},ss={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"},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})`}}}},ls={common:as,editor:is,graph:ss,dir:"ltr"},We={"en-GB":ns,"en-US":os,ar:$i,"pt-PT":ls},cs=({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=qt(We[e??r],l);if(u)return typeof u=="function"?u(s):u;const d=qt(We[r],l);return d?typeof d=="function"?d(s):d:a}},us=({locale:e,overrides:t})=>t?.dir??We[e].dir??"ltr",qt=(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},ds=e=>{const t="en-GB";if(!e)return t;const r=e.trim().replace("_","-").toLowerCase();return Object.keys(We).find(n=>n.toLowerCase()===r)??t},bn=(0,g.createContext)(null),$=()=>{const e=(0,g.useContext)(bn);if(!e)throw new Error("useI18n must be used within IntlProvider");return e.translator},An=({locale:e,children:t,i18nOverrides:r})=>{const n=ds(e),a=(0,g.useMemo)(()=>({translator:cs({locale:n,overrides:r,fallbackLocale:"en-GB"}),dir:us({locale:n,overrides:r})}),[r,n]);return(0,o.jsx)(Vo.IntlProvider,{locale:n,timeZone:"UTC",children:(0,o.jsx)(bn.Provider,{value:a,children:t})})},Ue=.1,hs={light:.05,dark:.1},gs=(e,t)=>{switch(e.type){case"none":return null;case"solid":return e.color;case"tinted":return vs(e.color,t);case"gradient":return ms(e.color,t);case"preset":return h.BORDER_PRESET_GRADIENTS[e.preset]}},ps=e=>e.type==="none"?0:e.width,yn=(e,t,r)=>{if(e.type==="solid")return e.color;if(e.type==="tinted")return ct(r,e.color,hs[t])},vs=(e,t)=>t==="dark"?Ye(e,Ue):At(e,Ue),ms=(e,t,r=90)=>`linear-gradient(${r}deg, ${e} 0%, ${t==="dark"?Ye(e,Ue):At(e,Ue)} 100%)`,fs="bow4tg0",xs="bow4tg1",bs="bow4tg2",As="bow4tg3",ys="bow4tg4",Sn="_1ii3bsb0",Pn="_1ii3bsb1",St=(0,g.createContext)(null),Qe=()=>{const e=(0,g.useContext)(St);if(!e)throw new Error("useThemeContext must be used inside a <ThemeProvider>.");return e},wn=({colorScheme:e,themeOverrides:t={},appearance:r,children:n})=>{const a=(0,g.useMemo)(()=>Ua(e,t),[e,t]),i=(0,g.useMemo)(()=>{const l={[v.vars.textScale]:String(r.textScale)};for(const u of Object.keys(t)){const d=u;l[v.vars[d]]=a[d]}const c=yn(r.background,e,a.graphBackground);return c!==void 0&&(l[v.vars.graphBackground]=c),(0,xr.assignInlineVars)(l)},[r.textScale,r.background,e,a,t]),s=(0,g.useMemo)(()=>({colorScheme:e,themeClass:e==="dark"?Pn:Sn,inlineVarsStyle:i,themeValues:a}),[e,i,a]);return(0,o.jsx)(St.Provider,{value:s,children:n})},ae=({children:e,className:t,style:r})=>{const n=(0,g.useContext)(St),a=n?(0,B.default)(n.themeClass,xs):void 0,i=n?{...n.inlineVarsStyle,...r}:r;return(0,o.jsx)("div",{className:(0,B.default)(a,t),style:i,children:e})},Ss="_1cocly40",Ps={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"},je=({content:e})=>(0,o.jsx)(o.Fragment,{children:jn(e.content??[e])}),jn=e=>e.map((t,r)=>ws(t,r)),ws=(e,t)=>{if(e.type==="text")return js(e,t);if(e.type==="hardBreak"||e.type==="hard_break")return(0,o.jsx)("br",{},t);const r=e.content?jn(e.content):null;switch(e.type){case"doc":return(0,o.jsx)(g.Fragment,{children:r},t);case"heading":{const n=Rs(e.attrs?.level);return Ls(n,t,r,Xt(e.attrs))}case"paragraph":return(0,o.jsx)("p",{"data-variant":me(e.attrs?.variant)??void 0,style:kn(Xt(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)}},js=(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)=>ks(a,n,`${t}-${i}`),r)},ks=(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=me(e.attrs?.href);return(0,h.isSafeUrl)(n)?(0,o.jsx)("a",{className:Ss,href:n,rel:"noopener noreferrer",target:"_blank",children:t},r):(0,o.jsx)("span",{children:t},r)}case"textStyle":{const n=Cs(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)}},Qt=e=>{const t=me(e&&typeof e=="object"?e.fontFamily:e);if(t)return Ps[t]??t},Cs=e=>{if(!e)return null;const t={},r=me(e.color);r&&(t.color=r);const n=Qt(e.font)??Qt(e.fontFamily);n&&(t.fontFamily=n);const a=Es(e.fontSize);return a&&(t.fontSize=a),Object.keys(t).length>0?t:null},Es=e=>typeof e=="number"&&Number.isFinite(e)?`${e/10}em`:me(e),me=e=>typeof e=="string"&&e.length>0?e:void 0,Rs=e=>typeof e!="number"?3:e<1?1:e>3?3:Math.round(e),Ls=(e,t,r,n)=>{const a=kn(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)}},Xt=e=>{const t=e?.textAlign;if(t==="left"||t==="right"||t==="center"||t==="justify")return t},kn=e=>e?{textAlign:e}:void 0;function pe(e){const{store:t}=le();return(0,ke.useStore)(t,e)}var Ts="_19519k80";var Bs="_19519k83",Ms="_19519k84",Ns="_19519k85",Is="_19519k87",Os="_19519k88",Ds="_19519k89",Fs="_19519k8a",Gs=e=>{const{overlayRef:t}=le(),r=(0,g.useRef)(null),[n,a]=(0,g.useState)(!1),i=Ve(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}},Hs=24,Vs=8,Ws={x:0,y:0,top:0,left:0,right:0,bottom:0,width:0,height:0,toJSON:()=>({})},Ie={boundary:[],padding:Vs},Us=()=>{const e=C((0,G.useShallow)(x=>({layers:x.layers,coordSystem:x.coordSystem,scales:x.scales,guides:x.guides,numberFormat:x.config.numberFormat,parsingLocale:x.config.parsingLocale,comments:x.annotations.comments}))),{formattingLocale:t,colorScheme:r}=q(),n=pe(x=>x.hover),a=pe(x=>x.tooltipAnchor),i=pe(x=>x.isPointerSuspended),s=J("Tooltip",Cn),l=(0,g.useRef)(()=>{}),{cursorRef:c,isInside:u}=Gs(()=>l.current()),d=(0,g.useMemo)(()=>(0,h.buildTooltipContent)({...e,hover:n,colorScheme:r,formattingLocale:t,activeCalloutId:a?.annotationId??null}),[e,n,r,t,a]),p=!i&&d!==null&&(u||a!==null),m=(0,g.useMemo)(()=>({getBoundingClientRect:()=>{if(a!==null)return Ys(a);const x=c.current;return x===null?Ws:zs(x)}}),[c,a]),{refs:f,floatingStyles:b,update:A}=(0,N.useFloating)(Ks({isOpen:p,tooltipAnchor:a,virtualReference:m}));if(l.current=A,!p)return null;const y=(0,o.jsx)("div",{ref:f.setFloating,role:"tooltip",className:Fs,style:b,"data-testid":"chart-tooltip",children:(0,o.jsx)(s,{content:d})}),S=_();return S?(0,vt.createPortal)((0,o.jsx)(ae,{children:y}),S):y},Cn=({content:e})=>{const t=oe(),r=C(n=>n.coordSystem);return(0,o.jsxs)("div",{className:Ts,children:[e.comment!==null&&(0,o.jsx)("div",{className:"_19519k82",children:(0,o.jsx)(je,{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:Bs,children:e.rows.map(n=>{const a=t(n.geom,r.type);return(0,o.jsx)(qs,{row:n,swatchShape:a?.swatchShape??"square",shouldHighlight:n.isPrimary&&e.rows.length>1},n.key)})})]})},zs=e=>({x:e.clientX,y:e.clientY,top:e.clientY,left:e.clientX,right:e.clientX,bottom:e.clientY,width:0,height:0,toJSON:()=>({})}),Ys=e=>({x:e.x,y:e.y,top:e.y,left:e.x,right:e.x,bottom:e.y,width:0,height:0,toJSON:()=>({})}),Ks=({isOpen:e,tooltipAnchor:t,virtualReference:r})=>({open:e,placement:t!==null?t.placement:"right",middleware:t!==null?[(0,N.offset)(h.ANNOTATION_TOOLTIP_MARKER_GAP),(0,N.shift)(Ie),(0,N.flip)(Ie)]:[(0,N.offset)(Hs),(0,N.flip)(Ie),(0,N.shift)(Ie)],elements:{reference:r}}),qs=({row:e,swatchShape:t,shouldHighlight:r})=>(0,o.jsxs)("div",{className:(0,B.default)(Ms,{[Ns]:r}),"data-testid":"chart-tooltip-row",children:[e.swatchColor===null?(0,o.jsx)("span",{className:Is,"aria-hidden":!0}):(0,o.jsx)(Ce,{shape:t,color:e.swatchColor,surface:"tooltip",label:e.label,lineType:e.swatchLineType}),(0,o.jsx)("span",{className:Os,children:e.label}),(0,o.jsx)("span",{className:Ds,children:e.value})]}),nt={enabled:!0,durationScale:1,stagger:!0,staggerOrder:"main-axis",maxAnimatedGeoms:1500},Qs=.3,Xs=.3,Se={plansByLayerId:null,coordKey:null,chromeDelaySeconds:0},Pt=(0,g.createContext)(Se),Js=({shouldAnimate:e,animation:t,children:r})=>{const{layers:n,coordSystem:a,scales:i}=C((0,G.useShallow)(l=>({layers:l.layers,coordSystem:l.coordSystem,scales:l.scales}))),[s]=(0,g.useState)(()=>$s({layers:n,coordSystem:a,scales:i,shouldAnimate:e,animation:t}));return(0,o.jsx)(Pt.Provider,{value:s,children:r})},Zs=()=>(0,g.useContext)(Pt).chromeDelaySeconds,_s=e=>{const{plansByLayerId:t,coordKey:r}=(0,g.useContext)(Pt),n=C(a=>En(a.coordSystem));return t===null||r!==n?null:t.get(e)??null},$s=({layers:e,coordSystem:t,scales:r,shouldAnimate:n,animation:a})=>{if(!n)return Se;const i=el(a);if(!i.enabled||e.reduce((c,u)=>c+(0,h.countLayerGeoms)(u),0)>i.maxAnimatedGeoms)return Se;const s={durationScale:i.durationScale,stagger:i.stagger,staggerOrder:i.staggerOrder},l=new Map;for(const c of e){const u=(0,h.buildLayerIntroPlan)({layer:c,coordSystem:t,scales:r,options:s});u!==null&&l.set(c.id,u)}return l.size===0?Se:{plansByLayerId:l,coordKey:En(t),chromeDelaySeconds:Qs*i.durationScale}},el=e=>{const t=e?.intro;return t===!1?{...nt,enabled:!1}:t===!0||t===void 0?nt:{...nt,...t}},En=e=>e.type==="cartesian"?`cartesian-${e.mainAxis}`:e.type,tl=({textMeasurer:e,textScale:t,metrics:r})=>{const{tickLabelOffset:n,fonts:a}=r,i=Y(a.tickLabel,t);return s=>{const l=s.position==="top"||s.position==="bottom",c=s.ticks.map(d=>e.measureText(d.formattedLabel,i)),u=s.labelMaxWidthPx??Number.POSITIVE_INFINITY;if(l){if(s.labelRotation!==0){const d=c.map(p=>p.width);return Jt(d,u)+2*n}return Math.max(...c.map(d=>d.height))+n}return Jt(c.map(d=>d.width),u)+n}},Jt=(e,t)=>Math.min(Math.max(...e),t),rl=({textScale:e,metrics:t})=>{const r=Y(t.fonts.axisLabel,e).size;return()=>r},nl={dataLabel:{x:h.DATA_LABEL_PADDING_X_PX,y:h.DATA_LABEL_PADDING_Y_PX},stackTotal:{x:h.STACK_TOTAL_PADDING_X_PX,y:h.STACK_TOTAL_PADDING_Y_PX},categoryLabel:{x:h.DATA_LABEL_PADDING_X_PX,y:h.DATA_LABEL_PADDING_Y_PX}},Rn=({textMeasurer:e,textScale:t,metrics:r})=>{const n={dataLabel:Y(r.fonts.dataLabel,t),stackTotal:Y(r.fonts.stackTotal,t),categoryLabel:Y(r.fonts.categoryLabel,t)};return(a,i)=>{const s=e.measureText(i,n[a]),l=nl[a];return{...s,width:s.width+l.x*2,height:s.height+l.y*2}}},ol=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>{const{labelLineHeight:i,labelFontWeight:s}=(0,h.getDifferenceArrowDimensions)(a,t);return e.measureText(n,{family:r.fonts.familyDefault,size:i,weight:s})},al=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>{const i=Ln(n,a,e,t,r);return{width:Tn(i.map(s=>s.width))+Math.max(0,i.length-1)*r.headlineItemGap,height:Math.max(0,...i.map(s=>s.height))}},il=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>Ln(n,a,e,t,r).map(i=>i.width),sl=({textMeasurer:e,textScale:t,metrics:r})=>(n,a)=>{const i=dt("value",a,t,r.fonts.familyDefault);return{width:e.measureText(n,i).width,height:i.size*Ir}},ll=({textMeasurer:e,textScale:t,metrics:r})=>{const n=al({textMeasurer:e,textScale:t,metrics:r}),a=sl({textMeasurer:e,textScale:t,metrics:r});return(i,s)=>i.kind==="perGroup"?n(i,s):a(i.value,s)},Ln=(e,t,r,n,a)=>{const i={value:dt("value",t,n,a.fonts.familyDefault),label:dt("label",t,n,a.fonts.familyDefault)},s=l=>cl(l,i,r);return e.items.map(l=>{const c=(0,h.createHeadlineItemRows)(l).map(s),u=Math.max(0,c.length-1)*a.headlineRowGap;return{width:Math.max(0,...c.map(d=>d.width)),height:Tn(c.map(d=>d.height))+u}})},cl=(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*Ir)}else n+=i.size,a=Math.max(a,i.size);return{width:n+Math.max(0,e.segments.length-1)*e.gap,height:a}},dt=(e,t,r,n)=>({family:n,size:Ke(e==="value"?ka[t]:Ca[t],r)}),Tn=e=>e.reduce((t,r)=>t+r,0),wt=(e,t)=>Y(e,t).size*e.lineHeight,Bn=(e,t)=>e?t:0,ul=({textMeasurer:e,textScale:t,metrics:r})=>n=>{const a=wt(r.fonts.legendLabel,t),i=Y(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=Bn(l.visual.color,r.legendSwatchWidth);return u+(u>0?r.legendSwatchGap:0)+c});return Math.max(...s)+r.legendPillHorizontalChrome},dl=({textMeasurer:e,textScale:t,metrics:r})=>{const n=Y(r.fonts.tickLabel,t);return a=>e.measureText(a,n)},hl=Object.freeze({}),gl=(e,t,r,n=hl)=>{const a=(0,g.useRef)(n);return a.current=n,(0,g.useMemo)(()=>{if(!e)return null;const i=tl({textMeasurer:e,textScale:t,metrics:r}),s=rl({textScale:t,metrics:r}),l=ul({textMeasurer:e,textScale:t,metrics:r}),c=ll({textMeasurer:e,textScale:t,metrics:r}),u=il({textMeasurer:e,textScale:t,metrics:r}),d={measureText:(p,m)=>e.measureText(p,m),textScale:t};return{measureAxis:p=>{if(vl(p))return 0;const m=a.current.measureAxis;return m?m(p,d):i(p)},measureAxisLabel:p=>{const m=a.current.measureAxisLabel;return m?m(p,d):s()},measureLegend:p=>{if(ml(p))return 0;const m=a.current.measureLegend;return m?m(p,d):l(p)},measureHeadline:(p,m)=>(a.current.measureHeadline??c)(p,m),measureHeadlineItemWidths:(p,m)=>(a.current.measureHeadlineItemWidths??u)(p,m),measureTickLabel:dl({textMeasurer:e,textScale:t,metrics:r}),measureDifferenceArrowLabel:ol({textMeasurer:e,textScale:t,metrics:r}),measureDataLabel:Rn({textMeasurer:e,textScale:t,metrics:r})}},[e,t,r])},pl=({measurer:e,axes:t,numberFormat:r,parsingLocale:n,formattedLegends:a,containerSize:i,externalMeasurements:s,headline:l,formattingLocale:c,annotations:u,layers:d,coordSystem:p,textScale:m,overflowStrategy:f,layout:b,panelBorder:A})=>(0,g.useMemo)(()=>e?new h.LayoutCompiler(e).compile({axes:t,numberFormat:r,parsingLocale:n,formattedLegends:a,containerSize:i,externalMeasurements:s,headline:l,formattingLocale:c,annotations:u,layers:d,coordSystem:p,textScale:m,overflowStrategy:f,layout:b,panelBorder:A}):null,[t,r,n,a,i,s,f,l,c,u,d,p,m,b,A,e]),vl=e=>!e.isVisible||e.ticks.length===0,ml=e=>e.items.length===0,fl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABgCAYAAAC65+QhAAAKo0lEQVR42u2de4wdVR3HPzN32+oSUQSsikEoosR3iko08oovEkwMpmiIr/KHIomgUYyPiBofkRjjE+MjEk3RQNIYTdUotKkoaql0Wyympbtl2XbLtrW71n3v3ntnrn+c38n98cvcOzP3tfcud5LJ5u7Ozpz5nt/7nN/3QncfAVBQn18LfBd4GJgFYvm5B/iW/N0fBfn/VX9ogF4K3A0sAhV1xubzIrBFrk+6z6oDyEvCmcBXgTkFRgkoA5E6y/J7f80s8GXg2Uoyw9UCUGhm/wPAYQNQJFJkJUmDpgEbkfusCnW0dujNwM4aAEVGak4aaYvVdRqwHcAbexkwDdCLgZ8mqJgFaBo4BowD/wQOAbuBCSNhsVHJGPgJ8KJesl+hshnPBD4LTKqXLCUANAPsF0CKRvWm5W+Pi6RZwErqXqeA24DBhLF0rZptkhfUUhQbO7QEHBUJmjZqFhl7NQ/sEsCWjf2KjTo+AlzXbeoYAAPq80Zgmxp0McEOxQLOiNiiSsqpATsK3A+MJUhXZCTyd8Cr1dgGVgowLUEvAL6tZrtcww7NAAeAg3VipjTAisAR4CEDtLZfZRV/fQdYbya34+6+ANwiElJRamABmhdVPGxmPStISdefFjUbVfYrrqGO48DNymaFnVSza8QrJalZrGzTmHiz/2UESIOdBbBJ4G/ynCgh/tITcz/wwnaCpdXsEuDeDPHQmLj4YzkkppzyOQ2wIfO8JPt1ADiv1WBpj3EW8BUl5lEdO3RQVK2UUcU0ICeAH4q7zwKYluBFUcW/q7BEA+Zt6G4JX8JWpx2bZQBp7v4A8KgaUBpIkQIhAn4sASrA+RKoxgqsKKN0/Qf4l3jWhRpg3dbKeOhK4IEUd18WEMeAqRx2SEvJdpOKaFv4JklVtHRltV/jIl3HE7RgXLSkKTu0AfhZhrTjvxIEPqEGmEfNRoD3mTGECVIdyHUjOdTRj3NBwFoyOWPFPDt32vEZcb310o5Z4DEBKc6hZrGyY1+UcktauURPoC3PRBnVcU7Mgn2nLY2o2fXAv1PsUEk82R5TbMujZncDL2kggdXXXQzck0MdKzJuO55/5AHo9cAfUtx9JHZo2HijPAHjLuAtTeZgduxvk/tmeX5JeWEP1FCWWVkPfM/8c5IdOi0gjapYJM4YRccSKmwG1rQwq9f3KAAflbQmrjO2OTV+D9SepJnwN14jacdEjbRDu/tDotvlBqTIg/0b4JwaEtGKOC9U3rHe+ObTgApN2vFwStoRiXc5klBlrNBYbjYD3K5qRa2sdQ8IYBubAcoP5myx8PXsUCyx0CMSsMVNAJQkWT59uL7FtaKCsrUNARWoEsjeDPHQqEjSUpPAZPF8f5IXawVgHqjXNQpUKHGRz/CXE9z9skjRvhxpR7PSpSP6HwDPb7LW3TRQSBKrQdJq9oS4+7kOAJSWBN/ahFdsGqgLpAYUmZlcFAk6YYCrrMCpAdsDXNtpiQqBD8qKaiz6H0jqMSo1pfVq5oIVXNbyKnkp8Htgq0TuQSfGFUooUJGH+Z8TYtyfIQB20wqOj+c2ATfKmAudAOpiNSuheLPnSGmh0oVrXqGM1VcjO/bQ5wog/pg1qxb0wGaOjs2OPeKny96iPED1jz5QfaD6QPWB6gPVB6p/9IHqA9UHqg9UH6g+UH2g+gd1FwXbfVRU2abSq91O7QYqEmAKptbVc9LcrsH6NcECrr59B642v1MtM5W7vILaVqD8SokHYxtwGfA54D7grbi2sBHVIRA9nYDya2B+pcT3mbwLtzZYUEtOv8QtOX0Nt4ZWUBK4qoGK1Cb8SeCTuA2pv1WSFSnJKeAWMG7H7Sy511xXWW1AxcpYR7gtzBtxPSVLdSQlUpI3DNwAvB3Xs+JXVrrOfoVNSJHfjbsduBy4CbfVOIvtsbZsO67z82Zzj7iXgfKx0GHg/SINuxqUBu0d/Ub7S3EdWEUZX6UXgfIz/E3cCvOvZPabtS/afp0CPgW8AfizeW7PAOUXRa/Crf2jvF3QQsewDtd68aNuUcFGgApktrdS3REXKZUMWhiLDfa6Mfe25R1in/yOuKiF+Vy7Yqugk0DpuKcAfEyCzFvFZkVd2v1daBT8sEU7bSOqG/cfwu2I8xIx0AUbPvQ41ykV73gKU2tH3CtUuBCsII2Jzww+RHV7eFDHRrY1KQ5MNL4Jx3RxB9VNaZ0CS48lAq4A/gL8ArgoxUuv7VSZRduvQVy72pBIWifqUFq6LwB+jmu6vEI1F9Q7JsRcaMkqhR0YcAm4EHhZm6VKb1kcBD4vE7RZ/b5QY6I8KMumGuvP0YEOqsBym59RptpP+CWxj7WqrBakQLXQbVC/8+eOAVZ2C2SrpHZZ1biuSUjc6wEU4PbZPymee51SzwDXZ7ytU0C165jF7WD+OvARsS1xShuIBmgO198TinkYVKpXxnVJfB+YGuhx/rt3S3lng1Gzem4/UA1Qx3B0AGeZTb4l8X77JOsIB3qYxQxcPT6PHUJU7BSOJeM1CbugPUhHxN7NA2GvL4DqelaaFJ2i2lj9cuBcqv0wvgoSCkh/Ba7GddeHQDzQ5eqVNpFhBju0JCBNSbD5LCNFXhrX4Bo1vwHcqYCL6dBKcaMBaxFH2pC3RKNV87S8/NlUyUxtnDQgoNyFa8ebUOOIk8Q3Unwl+xLaV5ttgd2U4o0sndJVkmDHGceh28qmJNg8noGRbIeydXUZySxQJ+UhnQTK0phsydFEGZtW3kNisBcTSLU0QAdxK0CZe2uWzQt5HpVWNTLWA0rXrHzaMZnAm5J2LovK7DdEXUmsiaclcj8zbyf84+amscxK3EagLK/Be6hyouQlzhrHUYKcSOHhrIikbmi0N3lrAupHzINbBVSgCmfg2lb/2CCV0bxUVZ803FJJduhBsXlNMSNeZwYZKUq142oQjUqYv997eSp74p0JXJlZ7jeDYxCqZYdKhhbuw4Z2pOHYcQ1V1gxLbXRUim/TTXSo+3v5ZPUTRlqz0q0VxQ4dMgQ5SXSRC1IwPLfVdLdX1mF4Lkr5Ybfii8rLixlLcvlgg2o2JaFCLXevpejXEnm3fLOcR/rTNUizYsU2OCxiP9+EhOUByIcqRxUYtSi595o2/7a00nqwblHiW4t25Jh4mZM5wcpjhxZkUg4qd2/tUKzA/LhyEm1fJvM3v5ynklIVE8gjYgkrdhp67EaZfjTj4XEce8eJFDtUxNFLnrcStNsFBdpNhpRYq2OkOOw8RdtCE7y+3psNSVwUp9ih+2gduU1L2Fmfh/t2jIUUNrJJkbBhxQIU5+Dy3SdSVEpx949JcNpV1NraW7wKxxhWj2ezIi+7VxJrq1o2DivhNr0OS9qUBFCkvN4XgDO6lazdphrvVJUFD5j1jmV5+QdMOFExzD3jGdKOGLcud1Gv0P/rGVyH29B6MiWcmBbARiVAHBNg9srvsqQdV3cDIXuz9ut88Tpp4cSi5I77RSWLGdKOGxUoBXq0Z8cW2C7D8X+n0XFXUtz9nJRhz1lt3xJkFxdvUMV7b7/K5tuAdEStpWgr8MpeVbNGVoHPwG20n6lBs21DhiGVLK9agOrZrwtxq7ePGm48X5PfgeuJWdvN381CG7+pIlBbfryEXCJpxlqRtBG10oHa6NXVx/8Ba+cluUx5B18AAAAASUVORK5CYII=",xl=({className:e})=>(0,o.jsx)("img",{src:fl,alt:"","aria-hidden":"true",className:e,draggable:!1}),bl="https://graphy.app/?utm_source=chart-mark&utm_medium=embed",Al="Made with Graphy — open graphy.app";var yl="vultop0";var Sl="vultop2",Pl="vultop3",wl="vultop4",jl="vultop5",kl="vultop6",Cl="vultop7",El=e=>{const t=Rl(e.trim());if(t===null)return"light";const r=Ll(t);return r<=.22?"dark":r<=.65?"mid":"light"},Rl=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},Ll=({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)},Mn=(e,t,r="full")=>!e||t.width<120||t.height<80?"hidden":t.width<200||r==="mini"?"mini":"full",jt=({visual:e,placement:t})=>{const{colorScheme:r,themeValues:n}=Qe(),a=El(yn(C(i=>i.config.appearance).background,r,n.graphBackground)??n.graphBackground);return(0,o.jsxs)("a",{className:(0,B.default)(yl,e==="mini"&&"vultop1",t==="footer"?kl:Cl),href:bl,target:"_blank",rel:"noopener noreferrer","aria-label":Al,"data-visual":e,"data-zone":a,children:[(0,o.jsx)("span",{className:Sl,children:(0,o.jsx)(xl,{className:Pl})}),(0,o.jsxs)("span",{className:wl,children:[(0,o.jsx)("span",{children:"Made with"}),(0,o.jsx)("span",{className:jl,children:"Graphy"})]})]})},kt=()=>{const{commands:e}=q();return e},Tl="data-variant",Nn=Uo.Paragraph.extend({addAttributes(){return{variant:{default:null,parseHTML:e=>e.getAttribute("data-variant")??null,renderHTML:e=>e.variant?{[Tl]:e.variant}:{}}}}}),Bl=Wo.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}}}}),Ml=({titlePlaceholder:e,subtitlePlaceholder:t,isTitleVisible:r,isSubtitleVisible:n})=>[Il({isTitleVisible:r,isSubtitleVisible:n}),Nn,wr.Text,De.UndoRedo,yr.Heading.configure({levels:[1,2,3]}),br.Bold,Sr.Italic,kr.Underline,jr.TextAlign.configure({types:["heading","paragraph"]}),Pr.Link.configure({openOnClick:!1,autolink:!0}),ge.TextStyle,ge.Color,ge.FontFamily,Ar.HardBreak,Bl.configure({isTitleVisible:r}),De.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:""}})],Nl=({placeholder:e})=>[st.Document,Nn,wr.Text,De.UndoRedo,yr.Heading.configure({levels:[1,2,3]}),br.Bold,Sr.Italic,kr.Underline,jr.TextAlign.configure({types:["heading","paragraph"]}),Pr.Link.configure({openOnClick:!1,autolink:!0}),ge.TextStyle,ge.Color,ge.FontFamily,Ar.HardBreak,De.Placeholder.configure({showOnlyCurrent:!1,placeholder:({pos:t})=>t===0?e:""})],Il=({isTitleVisible:e,isSubtitleVisible:t})=>e&&t?st.Document.extend({content:"block{2,}"}):st.Document,Ol="yl2d2l0";var In="yl2d2l3",Dl="yl2d2l4",On="yl2d2l5",ht="yl2d2l6",Fl="yl2d2l7",Gl="yl2d2l8",Dn="yl2d2l9",Hl="yl2d2la",Vl="yl2d2lb",Wl="yl2d2lc",Ul="yl2d2ld",zl="yl2d2le",Yl=v.CANVAS_COLOR_KEYS.map(e=>v.vars[e]),Kl=Object.fromEntries(v.CANVAS_COLOR_KEYS.map(e=>[v.vars[e],e])),ql=({color:e,onChange:t,isOpen:r,onOpenChange:n,children:a,label:i,popupAttributes:s})=>{const l=$(),c=Xl(),u=d=>{t(d),n(!1)};return(0,o.jsxs)(D.Popover.Root,{open:r,onOpenChange:n,children:[(0,o.jsx)(D.Popover.Trigger,{render:(0,o.jsx)(re.Toolbar.Button,{}),"aria-label":i??l("graph.toolbar.color.label"),className:Ol,onMouseDown:d=>d.preventDefault(),children:a??(0,o.jsx)("span",{className:"yl2d2l1",style:{background:e??"transparent"}})}),(0,o.jsx)(D.Popover.Portal,{container:_(),children:(0,o.jsx)(ae,{children:(0,o.jsx)(D.Popover.Positioner,{sideOffset:6,align:"start",className:In,children:(0,o.jsxs)(D.Popover.Popup,{className:Dl,onMouseDown:d=>d.preventDefault(),...s,children:[(0,o.jsx)(Zt,{title:l("graph.colorDropdown.colors"),colors:Yl,currentColor:e,onPick:u}),c.length>0&&(0,o.jsx)(Zt,{title:l("graph.colorDropdown.chartColors"),colors:c,currentColor:e,onPick:u}),(0,o.jsx)(Ql,{value:e??"#000000",onChange:t,popupAttributes:s})]})})})})]})},Zt=({title:e,colors:t,currentColor:r,onPick:n})=>(0,o.jsxs)("div",{className:On,children:[(0,o.jsx)("div",{className:ht,children:e}),(0,o.jsx)("div",{className:Fl,children:t.map(a=>(0,o.jsx)("button",{type:"button","aria-label":a,className:Gl,"data-active":Zl(a,r),onMouseDown:i=>i.preventDefault(),onClick:()=>n(a),children:(0,o.jsx)("span",{className:Dn,style:Fn(a)})},a))})]}),Ql=({value:e,onChange:t,popupAttributes:r})=>{const n=$(),[a,i]=(0,g.useState)(!1),s=Ra(e)?e:"#000000",l=Jl(s);return(0,o.jsxs)(D.Popover.Root,{open:a,onOpenChange:i,children:[(0,o.jsxs)("div",{className:On,children:[(0,o.jsx)("div",{className:ht,children:n("graph.colorDropdown.custom")}),(0,o.jsxs)(D.Popover.Trigger,{className:Hl,onMouseDown:c=>c.preventDefault(),"aria-label":n("graph.colorDropdown.pickCustom"),children:[(0,o.jsx)("span",{className:Dn,style:Fn(s)}),(0,o.jsx)("span",{className:Vl,children:l})]})]}),(0,o.jsx)(D.Popover.Portal,{container:_(),children:(0,o.jsx)(ae,{children:(0,o.jsx)(D.Popover.Positioner,{side:"right",align:"start",sideOffset:18,className:In,children:(0,o.jsxs)(D.Popover.Popup,{className:Wl,onMouseDown:c=>c.preventDefault(),...r,children:[(0,o.jsx)("div",{className:ht,children:n("graph.colorDropdown.pickColor")}),(0,o.jsx)(Nt.HexColorPicker,{color:l,onChange:t,className:Ul}),(0,o.jsx)(Nt.HexColorInput,{color:l,onChange:t,prefixed:!0,className:zl,onMouseDown:c=>c.stopPropagation()})]})})})})]})},Xl=()=>{const e=C(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])},Fn=e=>({background:e,border:`1px solid ${Ye(e,.1)}`}),Jl=e=>{const{themeValues:t}=Qe();if(Ea(e))return e.toUpperCase();const r=Kl[e];return r?t[r].toUpperCase():"#000000"},Zl=(e,t)=>t===null?!1:e.toLowerCase()===t.toLowerCase(),_l="_1ebx0ha0",$l="_1ebx0ha1",ec="_1ebx0ha2",tc=({className:e,...t})=>(0,o.jsx)(ue.Tooltip.Provider,{children:(0,o.jsx)(re.Toolbar.Root,{...t,className:(0,B.default)(_l,e)})}),rc=({className:e,...t})=>(0,o.jsx)(re.Toolbar.Group,{...t,className:(0,B.default)($l,e)}),nc=({className:e,...t})=>(0,o.jsx)(re.Toolbar.Separator,{...t,className:(0,B.default)(ec,e)}),oc=({children:e})=>{const t=_();return t===null?null:(0,vt.createPortal)((0,o.jsx)(ae,{children:e}),t)},H={Portal:oc,Root:tc,Group:rc,Separator:nc,Button:re.Toolbar.Button,ColorPicker:ql},ac={xxs:8,xs:12,sm:16,md:20,lg:24,xl:36},ic={primary:"asohov1 asohov0",secondary:"asohov2 asohov0"},ee=({children:e,title:t,variant:r="primary",size:n="sm",...a})=>{const i=(0,g.useId)(),s=ac[n];return(0,o.jsxs)("svg",{className:ic[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]})},Ct=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"})})}),sc="'Noto Serif', Georgia, 'Times New Roman', serif, 'Apple Color Emoji', 'NotoColorEmoji'",Gn=`'Aeonik', 'Aeonik Fallback', ${v.DEFAULT_FONT_FAMILY}`,lc="'PT Mono', 'Courier New', monospace, 'Apple Color Emoji', 'NotoColorEmoji'",cc="'Intruding Cat', cursive, 'Apple Color Emoji', 'NotoColorEmoji'",uc=`var(--brand-font-family), ${Gn}`,gt=[{id:"modern",label:"Modern",preview:"Aa",fontFamily:v.DEFAULT_FONT_FAMILY},{id:"fresh",label:"Fresh",preview:"Aa",fontFamily:Gn},{id:"timeless",label:"Timeless",preview:"Aa",fontFamily:sc},{id:"technical",label:"Technical",preview:"00",fontFamily:lc},{id:"fineliner",label:"Fineliner",preview:"Aa",fontFamily:cc},{id:"brand",label:"Brand",preview:"Aa",fontFamily:uc}],dc=e=>e?gt.find(t=>t.fontFamily===e)??null:null,Hn="_1qkyw7q0",Vn="_1qkyw7q1",Wn="_1qkyw7q3",Un="_1qkyw7q4",zn="_1qkyw7q5",hc=({editor:e,currentFontFamily:t,isOpen:r,onOpenChange:n})=>{const a=$(),i=dc(t)??gt[0],s=l=>{e.chain().focus().setFontFamily(l.fontFamily).run()};return(0,o.jsxs)(V.Menu.Root,{open:r,onOpenChange:n,children:[(0,o.jsxs)(V.Menu.Trigger,{render:(0,o.jsx)(re.Toolbar.Button,{}),"aria-label":a("graph.toolbar.font.ariaLabel"),className:Hn,onMouseDown:l=>l.preventDefault(),children:[(0,o.jsx)("span",{className:Vn,style:{fontFamily:i?.fontFamily},children:i?.preview}),(0,o.jsx)(Ct,{size:"sm"})]}),(0,o.jsx)(V.Menu.Portal,{container:_(),children:(0,o.jsx)(ae,{children:(0,o.jsx)(V.Menu.Positioner,{side:"bottom",align:"start",sideOffset:6,className:Wn,children:(0,o.jsx)(V.Menu.Popup,{className:Un,onMouseDown:l=>l.preventDefault(),children:gt.map(l=>(0,o.jsx)(V.Menu.Item,{className:zn,"data-selected":l.id===i?.id,onClick:()=>s(l),children:(0,o.jsx)("span",{style:{fontFamily:l.fontFamily},children:l.label})},l.id))})})})})]})},Yn={id:"text",translationKey:"graph.toolbar.heading.text",previewFont:v.vars.fontTextEditorBody},_t=[{id:"caption",translationKey:"graph.toolbar.heading.caption",previewFont:v.vars.fontTextEditorH6},Yn,{id:"h3",translationKey:"graph.toolbar.heading.heading3",previewFont:v.vars.fontTextEditorH3},{id:"h2",translationKey:"graph.toolbar.heading.heading2",previewFont:v.vars.fontTextEditorH2},{id:"h1",translationKey:"graph.toolbar.heading.heading1",previewFont:v.vars.fontTextEditorH1}],gc=({editor:e,activeStyle:t,isOpen:r,onOpenChange:n})=>{const a=$(),i=_t.find(s=>s.id===t)??Yn;return(0,o.jsxs)(V.Menu.Root,{open:r,onOpenChange:n,children:[(0,o.jsxs)(V.Menu.Trigger,{render:(0,o.jsx)(re.Toolbar.Button,{}),"aria-label":a("graph.toolbar.heading.ariaLabel"),className:Hn,onMouseDown:s=>s.preventDefault(),children:[(0,o.jsx)("span",{className:Vn,children:a(i.translationKey)}),(0,o.jsx)(Ct,{size:"sm"})]}),(0,o.jsx)(V.Menu.Portal,{container:_(),children:(0,o.jsx)(ae,{children:(0,o.jsx)(V.Menu.Positioner,{side:"bottom",align:"start",sideOffset:6,className:Wn,children:(0,o.jsx)(V.Menu.Popup,{className:Un,onMouseDown:s=>s.preventDefault(),children:_t.map(s=>(0,o.jsx)(V.Menu.Item,{className:zn,"data-selected":s.id===i.id,onClick:()=>pc(e,s.id),children:(0,o.jsx)(vc,{font:s.previewFont,children:a(s.translationKey)})},s.id))})})})})]})},pc=(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()}},vc=({font:e,children:t})=>(0,o.jsx)("span",{style:{font:e,margin:0},children:t}),Kn=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"})})}),mc=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"})]})}),fc=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"})]})}),xc=e=>!e.content||e.content.length===0?!0:e.content.every(t=>!t.content||t.content.length===0),bc=e=>{const{$from:t}=e.state.selection,r=t.parent.textContent,n=t.parentOffset,a=t.start();let i=n;for(;i>0&&$t(r[i-1]);)i-=1;let s=n;for(;s<r.length&&$t(r[s]);)s+=1;return{from:a+i,to:a+s}},$t=e=>e!==void 0&&/\S/.test(e),Ac="b5kquu0",yc="b5kquu1",Sc="b5kquu2",Pc="b5kquu3",er="b5kquu4",wc=({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=()=>{jc(e,s),a(!1)},d=()=>{l(""),a(!1)},p=f=>{l(f.target.value)},m=f=>{f.key==="Enter"&&(f.preventDefault(),u())};return(0,o.jsxs)(D.Popover.Root,{open:n,onOpenChange:a,children:[(0,o.jsx)(D.Popover.Trigger,{render:(0,o.jsx)(re.Toolbar.Button,{}),"aria-label":i("graph.toolbar.formatting.link"),"data-active":r,className:Ac,onMouseDown:f=>f.preventDefault(),children:(0,o.jsx)(mc,{})}),(0,o.jsx)(D.Popover.Portal,{container:_(),children:(0,o.jsx)(ae,{children:(0,o.jsx)(D.Popover.Positioner,{sideOffset:6,align:"end",className:yc,children:(0,o.jsxs)(D.Popover.Popup,{className:Sc,initialFocus:c,onMouseDown:f=>f.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:Pc,onMouseDown:f=>f.stopPropagation(),onChange:p,onKeyDown:m}),(0,o.jsx)("button",{type:"button","aria-label":i("common.cancel"),className:er,onClick:d,children:(0,o.jsx)(fc,{})}),(0,o.jsx)("button",{type:"button","aria-label":i("graph.toolbar.link.apply"),className:er,onClick:u,children:(0,o.jsx)(Kn,{})})]})})})})]})},jc=(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=bc(e);e.chain().focus().setTextSelection(a).setLink({href:r}).run()},kc=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"})]})}),Cc=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"})]})}),Ec=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"})]})}),Rc="k91gos0",Lc="k91gos1",Tc=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)(zo.Toggle,{render:(0,o.jsx)(re.Toolbar.Button,{}),pressed:t,onPressedChange:()=>r()}),"aria-label":e,className:Rc,onMouseDown:a,children:n}),(0,o.jsx)(ue.Tooltip.Portal,{container:_(),children:(0,o.jsx)(ae,{children:(0,o.jsx)(ue.Tooltip.Positioner,{sideOffset:Tc,children:(0,o.jsx)(ue.Tooltip.Popup,{className:Lc,children:e})})})})]})},Bc=({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)(Ec,{})}),(0,o.jsx)(ve,{label:r("graph.toolbar.textAlign.center"),isActive:t==="center",onToggle:()=>e.chain().focus().setTextAlign("center").run(),children:(0,o.jsx)(kc,{})}),(0,o.jsx)(ve,{label:r("graph.toolbar.textAlign.right"),isActive:t==="right",onToggle:()=>e.chain().focus().setTextAlign("right").run(),children:(0,o.jsx)(Cc,{})})]})},Mc="_1bp10ig0",Nc=({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:Ic(e),textAlign:Oc(e)}),Ic=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",Oc=e=>e?e.isActive({textAlign:"center"})?"center":e.isActive({textAlign:"right"})?"right":"left":"left",Dc=8,Fc=8,Gc=({editor:e})=>{const t=$(),[r,n]=(0,g.useState)(!1),[a,i]=(0,g.useState)(null),s=a!==null,l=f=>b=>{i(b?f:null)},{refs:c,floatingStyles:u}=(0,N.useFloating)({placement:"top-start",strategy:"fixed",middleware:[(0,N.offset)(Dc),(0,N.flip)(),(0,N.shift)({padding:Fc})],whileElementsMounted:N.autoUpdate}),d=(0,g.useRef)(null),p=(0,mt.useEditorState)({editor:e,selector:Nc}),m=(0,g.useCallback)(f=>{d.current=f,c.setFloating(f)},[c]);return(0,g.useEffect)(()=>{e&&c.setReference(e.view.dom)},[e,c]),(0,g.useEffect)(()=>{if(!e)return;const f=()=>n(!0),b=({event:A})=>{const{relatedTarget:y,currentTarget:S}=A,x=y instanceof Node&&d.current?.contains(y),P=y instanceof Node&&S instanceof Node&&S.contains(y);!x&&!P&&n(!1)};return e.on("focus",f),e.on("blur",b),()=>{e.off("focus",f),e.off("blur",b)}},[e]),!e||!r&&!s?null:(0,o.jsx)(H.Portal,{children:(0,o.jsxs)(H.Root,{ref:m,className:Mc,style:u,children:[(0,o.jsxs)(H.Group,{children:[(0,o.jsx)(H.ColorPicker,{color:p?.color??null,onChange:f=>e.chain().setColor(f).run(),isOpen:a==="color",onOpenChange:l("color")}),(0,o.jsx)(hc,{editor:e,currentFontFamily:p?.fontFamily??null,isOpen:a==="fontFamily",onOpenChange:l("fontFamily")})]}),(0,o.jsx)(H.Separator,{}),(0,o.jsx)(H.Group,{children:(0,o.jsx)(gc,{editor:e,activeStyle:p?.fontSize??"text",isOpen:a==="fontSize",onOpenChange:l("fontSize")})}),(0,o.jsx)(H.Separator,{}),(0,o.jsxs)(H.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)(H.Separator,{}),(0,o.jsx)(H.Group,{children:(0,o.jsx)(Bc,{editor:e,activeAlignment:p?.textAlign})}),(0,o.jsx)(H.Separator,{}),(0,o.jsx)(H.Group,{children:(0,o.jsx)(wc,{editor:e,currentUrl:p?.linkUrl??null,isActive:p?.isLink??!1,isOpen:a==="link",onOpenChange:l("link")})})]})})},Hc="_2ngohc0",qn=({editor:e,ariaLabel:t})=>(0,o.jsxs)("div",{className:Hc,children:[(0,o.jsx)(Gc,{editor:e}),(0,o.jsx)(mt.EditorContent,{editor:e,"aria-label":t})]}),Vc=200,Qn=({content:e,extensions:t,isEditable:r,onUpdate:n,updateDebounceMs:a=Vc})=>{const i=(0,g.useRef)(tr(e)),s=(0,g.useRef)(!1),l=vn(u=>{s.current=!0,n?.(u)},a),c=(0,mt.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=tr(e),d=c.getJSON();Wc(d,u)||(l.cancel(),c.commands.setContent(u,{emitUpdate:!1}))},[c,e,l]),(0,g.useEffect)(()=>()=>l.flush(),[l]),c},tr=e=>e===null?{type:"doc",content:[]}:typeof e=="string"?{type:"doc",content:[{type:"paragraph",content:e?[{type:"text",text:e}]:[]}]}:e,Wc=(e,t)=>JSON.stringify(e)===JSON.stringify(t);var Uc="_4dlrid1",zc="xfz7dq0";var Yc="xfz7dq2",Kc="xfz7dq3",qc="xfz7dq4",Qc="xfz7dq5",Xn=({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),d=s&&i!==null&&_c(i),p=l!=="hidden";return!u&&!d&&!p?null:(0,o.jsxs)("div",{ref:e,className:zc,style:{left:t.x,top:t.y,width:t.width},children:[u?c?(0,o.jsx)($c,{caption:n}):(0,o.jsx)(Xc,{caption:n}):null,(d||p)&&(0,o.jsxs)("div",{className:"xfz7dq1",children:[d&&(0,o.jsx)(Jc,{source:i}),l!=="hidden"?(0,o.jsx)(jt,{visual:l,placement:"footer"}):null]})]})},Xc=({caption:e})=>e===null?null:typeof e=="string"?(0,o.jsx)("p",{className:Uc,children:e}):(0,o.jsx)(je,{content:e}),Jc=({source:e})=>{const t=(0,h.isSafeUrl)(e.url)?e.url:void 0,r=e.label??(t!==void 0?Zc(t):"");return r===""&&t===void 0?null:(0,o.jsxs)("span",{className:Yc,children:[(0,o.jsx)("span",{className:qc,children:"Source:"}),t!==void 0?(0,o.jsx)("a",{className:Kc,href:t,target:"_blank",rel:"noopener noreferrer",children:r}):(0,o.jsx)("span",{className:Qc,children:r})]})},Zc=e=>{try{return new URL(e).hostname}catch{return e}},_c=e=>e.label!==void 0&&e.label!==""||e.url!==void 0&&e.url!==""&&(0,h.isSafeUrl)(e.url),$c=({caption:e})=>{const{dispatch:t}=kt();return(0,o.jsx)(qn,{editor:Qn({content:e,extensions:(0,g.useMemo)(()=>Nl({placeholder:"Add caption"}),[]),isEditable:!0,onUpdate:r=>{const n=xc(r)?null:r;t(new h.SetContentCaptionCommand({caption:n}))}}),ariaLabel:"Chart caption"})},eu="_1k4qtbg0";var tu=3,ru=({title:e,isTitleVisible:t,subtitle:r,isSubtitleVisible:n})=>{const a=[];return t&&a.push({type:"heading",attrs:{level:tu},content:ou(e)}),n&&a.push(...au(r)),{type:"doc",content:a}},nu=e=>{const[t,...r]=e.content??[];return{title:iu(t?.content??[]),subtitle:su(r)}},Et=e=>({type:e.type??"text",...e.content!==void 0?{content:e.content.map(Et)}:{},...e.text!==void 0?{text:e.text}:{},...e.marks!==void 0?{marks:e.marks}:{},...e.attrs!==void 0?{attrs:e.attrs}:{}}),ou=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??[],au=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(rr):[rr(e)],rr=e=>e.type==="paragraph"?e:{type:"paragraph",content:e.content??[e]},iu=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(Et)}},su=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(Et)}},lu=22,Jn=({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),d=s&&(c||i!==null),p=l!=="hidden";return!u&&!d&&!p?null:(0,o.jsxs)("div",{ref:e,className:(0,B.default)(eu,p&&"_1k4qtbg1"),style:{left:t.x,top:t.y,width:t.width,...p&&!u&&!d?{minHeight:lu}:{}},children:[c?(0,o.jsx)(uu,{title:n,isTitleVisible:a,isSubtitleVisible:s,subtitle:i},[a?"title":"",s?"subtitle":""].join("-")):(0,o.jsx)(cu,{title:n,isTitleVisible:a,isSubtitleVisible:s,subtitle:i}),l!=="hidden"?(0,o.jsx)(jt,{visual:l,placement:"header"}):null]})},cu=({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)(je,{content:e})),i&&(typeof n=="string"?(0,o.jsx)("p",{className:"_4dlrid1",children:n}):(0,o.jsx)(je,{content:n}))]})},uu=({title:e,isTitleVisible:t,isSubtitleVisible:r,subtitle:n})=>{const{dispatch:a}=kt(),i=(0,g.useMemo)(()=>Ml({titlePlaceholder:"Untitled",subtitlePlaceholder:"Untitled",isTitleVisible:t,isSubtitleVisible:r}),[t,r]);return(0,o.jsx)(qn,{editor:Qn({content:(0,g.useMemo)(()=>ru({title:e,isTitleVisible:t,subtitle:n,isSubtitleVisible:r}),[e,t,n,r]),extensions:i,isEditable:!0,onUpdate:s=>{const l=nu(s);t&&a(new h.SetContentTitleCommand({title:l.title})),r&&a(new h.SetContentSubtitleCommand({subtitle:l.subtitle}))}}),ariaLabel:"Chart title and subtitle"})},Zn="data-edit-kind",_n="data-edit-id",du=new Set(["annotation"]),hu=e=>du.has(e.kind),gu=(e,t)=>e===t?!0:e===null||t===null||e.kind!==t.kind?!1:e.id===t.id,pu=e=>({[Zn]:e.kind,[_n]:e.id}),vu=(e,t,r)=>e!==null&&e.annotationId===t&&e.endpoint===r?e:null,mu=(e,t)=>e.annotationId===t.annotationId&&e.endpoint===t.endpoint&&(0,h.areAnchorsEqual)(e.point.anchor,t.point.anchor),$n=({standingInteraction:e},t)=>e!==null&&xu(e,t)?e:null,fu=(e,t)=>{if(e===null)return!1;switch(t.kind){case"endpoint-drag":return e.kind==="endpoint-drag"&&mu(e,t);case"chrome-popup":return e.kind==="chrome-popup";case"menu":return!1}},xu=(e,t)=>e.kind===t,eo=()=>(0,fr.createStore)(e=>({menuTrigger:null,chromeUnderPointer:null,editTargetUnderPointer:null,standingInteraction:null,setMenuTrigger:t=>e(r=>(0,h.areEditMenuTriggersEqual)(r.menuTrigger,t)?r:{menuTrigger:t}),setChromeUnderPointer:t=>e({chromeUnderPointer:t}),setEditTargetUnderPointer:t=>e(r=>gu(r.editTargetUnderPointer,t)?r:{editTargetUnderPointer:t}),claimInteraction:t=>e(r=>fu(r.standingInteraction,t)?r:{standingInteraction:t}),releaseInteraction:t=>e(r=>r.standingInteraction?.kind===t?{standingInteraction:null}:r)})),Rt=(0,g.createContext)(null),bu=eo(),Au=({children:e})=>{const[t]=(0,g.useState)(()=>eo());return(0,o.jsx)(Rt.Provider,{value:t,children:e})},yu=()=>{const e=(0,g.useContext)(Rt);if(e===null)throw new Error("useEditorStore must be used inside an <EditorProvider>.");return e};function Xe(e){return(0,ke.useStore)((0,g.useContext)(Rt)??bu,e)}var to=(0,g.createContext)(null),Su=({panelRect:e,children:t})=>{const r=Pu(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},Pu=e=>{const{formattingLocale:t}=q(),r=se(),{fonts:n}=ne(),a=Xe(A=>$n(A,"endpoint-drag")),{differenceArrows:i,mainAxis:s,textScale:l,parsingLocale:c}=C((0,G.useShallow)(A=>({differenceArrows:A.annotations.differenceArrows,mainAxis:A.coordSystem.type==="cartesian"?A.coordSystem.mainAxis:"x",textScale:A.config.appearance.textScale,parsingLocale:A.config.parsingLocale}))),u=t??c,{width:d,height:p}=e,m=(0,g.useMemo)(()=>({mainAxis:s,panelWidth:d,panelHeight:p,textScale:l,locale:u}),[s,d,p,l,u]),f=(0,g.useMemo)(()=>wu(r,n.familyDefault),[r,n.familyDefault]),b=(0,g.useMemo)(()=>i.map(A=>{const y=nr(A,m,f);return{...y,arrow:A,committedArrow:A,committedLabelBox:y.labelBox,committedLabelText:y.labelText,isDragged:!1,hasComparableEndpoints:(0,h.areEndpointsComparable)(A.start,A.end)}}),[i,m,f]);return(0,g.useMemo)(()=>a===null?b:b.map(A=>{if(A.id!==a.annotationId)return A;const y=ju(A.committedArrow,a);return{...nr(y,m,f),arrow:y,committedArrow:A.committedArrow,committedLabelBox:A.committedLabelBox,committedLabelText:A.committedLabelText,isDragged:!0,hasComparableEndpoints:(0,h.areEndpointsComparable)(y.start,y.end)}}),[b,a,m,f])},nr=(e,t,r)=>{const n=(0,h.computeDifferenceArrow)({arrow:e,...t});return{...n,labelBox:(0,h.getDifferenceArrowLabelBox)({labelPosition:n.labelPosition,measuredTextWidth:r(n.labelText,n.labelLineHeight,n.labelFontWeight),labelLineHeight:n.labelLineHeight,labelPaddingX:n.labelPaddingX,labelPaddingY:n.labelPaddingY})}},wu=(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}},ju=(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,h.resolveArrowColor)(e.ownColor,r,n)}},ku="_1u9qprb0",Cu="_1u9qprb1",Eu=Fo({groupRow:()=>Tu,item:()=>no,trendRow:()=>Lu,valueRow:()=>Ru}),Ru="_9aen060",Lu="_9aen061",Tu="_9aen062",no="_9aen063",Bu=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"})]})}),Mu=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"})})}),oo="n7clvo0",Nu="n7clvo1",Iu="n7clvo2",Ou="n7clvo3",ao={small:"n7clvo4",medium:"n7clvo5",large:"n7clvo6"},Du={small:"n7clvo7",medium:"n7clvo8",large:"n7clvo9"},Fu={up:"n7clvoa",down:"n7clvob",flat:"n7clvoc"},Gu={up:"n7clvoe n7clvod",down:"n7clvof n7clvod",flat:"n7clvog n7clvod"},Hu=({segment:e,resolvedSize:t})=>{const r=oe();if(e.kind==="swatch")return(0,o.jsx)(Ce,{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:Gu[e.direction],children:e.direction==="flat"?(0,o.jsx)(Mu,{size:"xs",title:""}):(0,o.jsx)(Bu,{size:"xs",title:""})});const n=e.fontRole==="value"?ao[t]:Du[t];return(0,o.jsx)("span",{className:(0,B.clsx)(Vu(e),n),children:e.text})},Vu=e=>{switch(e.textRole){case"value":return oo;case"observation":return Nu;case"trendPercentage":return Fu[e.trendDirection??"up"];case"trendReference":return Iu;case"label":return Ou}},Wu=({item:e,resolvedSize:t})=>(0,o.jsx)("div",{className:no,children:(0,h.createHeadlineItemRows)(e).map(r=>(0,o.jsx)(Uu,{row:r,resolvedSize:t},r.role))}),Uu=({row:e,resolvedSize:t})=>{const r=e.role==="trendRow";return(0,o.jsx)("div",{className:Eu[e.role],"data-testid":r?"headline-trend":void 0,"data-direction":r?zu(e):void 0,role:r?"img":void 0,"aria-label":r?e.ariaLabel:void 0,children:e.segments.map((n,a)=>(0,o.jsx)(Hu,{segment:n,resolvedSize:t},a))})},zu=e=>{const t=e.segments.find(r=>r.kind==="trendArrow");return t?.kind==="trendArrow"?t.direction:void 0},Yu=({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:Cu,style:a,children:(0,o.jsx)("span",{className:(0,B.clsx)(oo,ao[r]),children:e.value})}):(0,o.jsx)("div",{className:ku,style:a,children:e.items.slice(0,n).map((i,s)=>(0,o.jsx)(Wu,{item:i,resolvedSize:r},`${i.label}-${s}`))})},Ku="_1oj6yix0";var qu="_1oj6yix2",Qu=8,Xu=16,Ju=2,Zu=({legends:e,containerRect:t,textScale:r})=>{const{fonts:n}=ne(),a=wt(n.legendLabel,r),{placements:i,hasOverlap:s}=_u(e,t,a);if(i.length===0)return null;const l=s?Xu:Qu,c=l-Ju;return(0,o.jsxs)("div",{className:Ku,children:[s&&(0,o.jsx)("svg",{className:"_1oj6yix1",width:t.width,height:t.height,children:i.map(u=>(0,o.jsx)($u,{anchorY:u.anchorY,labelY:u.y,endX:c,color:u.payload.color},u.payload.key))}),i.map(u=>(0,o.jsx)("span",{className:qu,style:{left:l,top:u.y,color:u.payload.color},children:u.payload.label},u.payload.key))]})},_u=(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,h.computeDirectLabelsLayout)({items:n,containerHeight:t.height,labelHeight:r})},[e,t.height,r]),$u=({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"})},ed="_6a636s0",td="_1kjk02r0",rd="_1kjk02r1",nd="_1kjk02r2",od="_1kjk02r3",ad="_1kjk02r4",id="_1kjk02r5",sd="_1kjk02r6",ld="_1kjk02r7",cd="_1kjk02r8";var ud="_1dw9dgx0",dd="#9ca3af",ot="\0",hd=(e,t)=>{const r=[];return e.forEach((n,a)=>{const i=n.aesthetics.includes("size");for(const s of n.items){if(i){const d=Number(s.visual.size);if(!Number.isFinite(d)||d<=0)continue}const l=s.visual.color??"",c=i?`${ot}${Number(s.visual.size)}`:"",u=s.visual.lineType;r.push({key:`${a}${ot}${String(s.value)}${ot}${l}${c}`,formattedLabel:s.formattedLabel,visual:s.visual,swatchShape:t(s.geom),isBubble:i,primaryLineType:u})}}),r},io=({pill:e})=>e.isBubble?(0,o.jsx)(vd,{pill:e}):(0,o.jsx)(pd,{pill:e}),gd=({color:e,lineType:t,shape:r,label:n})=>{const{legendSwatchWidth:a,legendSwatchHeight:i}=ne();return e?(0,o.jsx)(Ce,{shape:r,color:e,surface:"legend",label:n,lineType:t,width:a,height:i}):null},pd=({pill:e})=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(gd,{color:e.visual.color,lineType:e.primaryLineType,shape:e.swatchShape,label:e.formattedLabel}),(0,o.jsx)("span",{children:e.formattedLabel})]}),vd=({pill:e})=>{const t=Number(e.visual.size);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:ud,style:{width:t,height:t,backgroundColor:e.visual.color??dd}}),(0,o.jsx)("span",{children:e.formattedLabel})]})},md=({hiddenPills:e,placement:t})=>{const r=$(),[n,a]=(0,g.useState)(!1),{refs:i,floatingStyles:s}=(0,N.useFloating)({open:n,placement:t,middleware:[(0,N.offset)(4),(0,N.flip)(),(0,N.shift)({padding:8})]});(0,g.useEffect)(()=>{if(!n)return;const d=m=>{const f=m.target;if(!f)return;const b=i.reference.current,A=i.floating.current;b instanceof Element&&b.contains(f)||A instanceof Element&&A.contains(f)||a(!1)},p=m=>{m.key==="Escape"&&a(!1)};return document.addEventListener("pointerdown",d),document.addEventListener("keydown",p),()=>{document.removeEventListener("pointerdown",d),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},(d,p)=>c-p);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("div",{ref:i.setReference,className:(0,B.clsx)(td,{[nd]:l,[rd]:!l}),children:[u.map(d=>(0,o.jsx)("span",{className:(0,B.clsx)(od,{[id]:l,[ad]:!l}),style:fd(d,l),"aria-hidden":!0},d)),(0,o.jsx)("button",{type:"button",className:(0,B.clsx)(sd,{[ld]:n}),onClick:()=>a(d=>!d),"aria-haspopup":"dialog","aria-expanded":n,"aria-label":`Show ${e.length} hidden legend ${e.length===1?"item":"items"}`,children:(0,o.jsxs)("span",{className:cd,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(d=>(0,o.jsx)("li",{className:"_1kjk02rb",children:(0,o.jsx)(io,{pill:d})},d.key))})})]})},fd=(e,t)=>{const r=-e*4;return{transform:t?`translateY(${r}px)`:`translateX(${r}px)`}},xd="_1cecisi0",bd="_1cecisi1",Ad="_1cecisi2",yd={start:"_1cecisi3",center:"_1cecisi4",end:"_1cecisi5"},Sd={right:"_1cecisi6",left:"_1cecisi7"},Pd="_1cecisi8",wd=({edge:e,formattedLegends:t,containerWidth:r,containerHeight:n,textScale:a})=>{const i=se(),s=ne(),l=oe(),c=C(S=>S.coordSystem.type),u=(0,g.useMemo)(()=>hd(t,S=>l(S,c)?.swatchShape??"square"),[t,l,c]),d=e==="left"||e==="right",p=d?n:r,m=t[0]?.align??"start",f=(0,g.useMemo)(()=>{if(u.length===0)return{visibleCount:0,hasOverflow:!1};if(p<=0)return{visibleCount:u.length,hasOverflow:!1};const S=Y(s.fonts.legendLabel,a),x=wt(s.fonts.legendLabel,a),P=j=>d?jd(j,x,s):or({label:j.formattedLabel,swatchInlineSize:kd(j,s.legendSwatchWidth),textMeasurer:i,font:S,swatchGap:s.legendSwatchGap,horizontalChrome:s.legendPillHorizontalChrome}),k=u.map(P),R=(d?x+s.legendPillVerticalChrome:or({label:`+${u.length}`,swatchInlineSize:0,textMeasurer:i,font:S,swatchGap:s.legendSwatchGap,horizontalChrome:s.legendPillHorizontalChrome}))+8;return Ed({pillSizes:k,overflowPillSize:R,containerSize:p,gap:s.legendItemGap})},[u,p,d,i,a,s]);if(u.length===0)return null;const b=u.slice(0,f.visibleCount),A=u.slice(f.visibleCount),y=f.hasOverflow&&A.length>0;return(0,o.jsxs)("div",{className:(0,B.clsx)(yd[m],xd,{[Ad]:d,[bd]:!d,[Sd[e==="left"?"left":"right"]]:d}),children:[b.map(S=>(0,o.jsx)("div",{className:Pd,children:(0,o.jsx)(io,{pill:S})},S.key)),y&&(0,o.jsx)(md,{hiddenPills:A,placement:Rd(e)})]})},or=({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},jd=(e,t,r)=>{const n=Cd(e,r.legendSwatchHeight);return Math.max(t,n)+r.legendPillVerticalChrome},kd=(e,t)=>e.isBubble?Number(e.visual.size):Bn(e.visual.color,t),Cd=(e,t)=>e.isBubble?Number(e.visual.size):t,Ed=({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}},Rd=e=>{switch(e){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}},Ld=(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:ed,style:{left:l.x,top:l.y,width:l.width,height:l.height},children:[(0,o.jsx)(wd,{edge:i,formattedLegends:s.pill,containerWidth:l.width,containerHeight:l.height,textScale:n}),(0,o.jsx)(Zu,{legends:s.direct,containerRect:l,textScale:n})]},i)})})}),Td=({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},so=1,lo="4 3",ar=({panelRect:e})=>{const{coordSystem:t,layers:r,scales:n}=C((0,G.useShallow)(l=>({coordSystem:l.coordSystem,layers:l.layers,scales:l.scales}))),a=pe(l=>l.hover.primary),i=oe();if(r.length===0||a===null||!a.anchored)return null;const s=Td({layers:r,primaryLayerId:a.layerId,coordSystem:t,resolveRenderer:i});return s===null?null:t.type==="polar"?s==="band"?(0,o.jsx)(Id,{coordSystem:t,primary:a,panelRect:e}):(0,o.jsx)(Nd,{coordSystem:t,primary:a,panelRect:e}):s==="band"?(0,o.jsx)(Md,{coordSystem:t,scales:n,primary:a,panelRect:e}):(0,o.jsx)(Bd,{coordSystem:t,primary:a,panelRect:e})},Bd=({coordSystem:e,primary:t,panelRect:r})=>{const n=(0,h.getHoverGuideLineProps)(e,t);return(0,o.jsx)(Je,{panelRect:r,children:(0,o.jsx)("line",{...n,stroke:v.vars.hoverGuideLineColor,strokeWidth:so,strokeDasharray:lo,strokeLinecap:"round","data-testid":"hover-guide-line"})})},Md=({coordSystem:e,scales:t,primary:r,panelRect:n})=>{const a=(0,h.getHoverGuideRectProps)(e,t,r);return a===null?null:(0,o.jsx)(Je,{panelRect:n,children:(0,o.jsx)("rect",{...a,fill:v.vars.hoverGuideFillColor,"data-testid":"hover-guide-rect"})})},Nd=({coordSystem:e,primary:t,panelRect:r})=>{const n=xt(r),a=K(t.x,e.innerRadius,n),i=K(t.x,1,n);return(0,o.jsx)(Je,{panelRect:r,children:(0,o.jsx)("line",{x1:a.x,y1:a.y,x2:i.x,y2:i.y,stroke:v.vars.hoverGuideLineColor,strokeWidth:so,strokeDasharray:lo,strokeLinecap:"round","data-testid":"hover-guide-line"})})},Id=({coordSystem:e,primary:t,panelRect:r})=>{const n=(0,h.getPolarHoverGuideArcProps)(e,t);if(n===null)return null;const a=(0,h.buildPolarBarArcPath)(n);return a?(0,o.jsx)(Je,{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:v.vars.hoverGuideFillColor,"data-testid":"hover-guide-arc"})})}):null},Je=({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}),Od=200,Dd=({engine:e,store:t,overlayRef:r})=>{(0,g.useEffect)(()=>{const n=r.current;if(!n)return;const a=Fd(n,e),i=Hd(n,e,t);return()=>{i(),a()}},[e,t,r])},Fd=(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()},Od)},i=new ResizeObserver(a);return i.observe(e),r(),()=>{i.disconnect(),n!==null&&clearTimeout(n)}},Gd=(e,t)=>e.kind==="cursor"?null:{x:t.left+e.point.x,y:t.top+e.point.y,placement:e.placement,annotationId:e.annotationId},Hd=(e,t,r)=>{let n=null,a=null;const i=()=>{const f=e.getBoundingClientRect();return f.width>0&&f.height>0?f:null},s=(f,b)=>({x:f.clientX-b.left,y:f.clientY-b.top}),l=()=>{a=null;const f=n;if(n=null,!f)return;const b=i();if(b===null)return;const A=s(f,b),y=r.getState();if(y.isPointerSuspended)return;const S=(0,h.findPointerRegion)(A,y.pointerRegions);if(S!==null){y.setHoverState(t.query(S.cursor)),y.setTooltipAnchor(Gd(S.tooltip,b));return}const x=(0,h.toPanelCursor)(A,b);y.setHoverState(t.query(x)),y.setTooltipAnchor(null)},c=()=>{const f=r.getState();f.hover.primary===null&&f.tooltipAnchor===null||(f.setHoverState(h.RESTING_HOVER_STATE),f.setTooltipAnchor(null))},u=f=>{const b=r.getState();if(b.pointerRegions.length===0)return!1;const A=i();return A===null?!1:(0,h.findPointerRegion)(s(f,A),b.pointerRegions)!==null},d=f=>{r.getState().isPointerSuspended||u(f)||(document.removeEventListener("pointermove",d),c())},p=f=>{document.removeEventListener("pointermove",d),n=f,a===null&&(a=requestAnimationFrame(l))},m=f=>{if(n=null,a!==null&&(cancelAnimationFrame(a),a=null),!r.getState().isPointerSuspended){if(u(f)){document.addEventListener("pointermove",d);return}c()}};return e.addEventListener("pointermove",p),e.addEventListener("pointerleave",m),()=>{e.removeEventListener("pointermove",p),e.removeEventListener("pointerleave",m),document.removeEventListener("pointermove",d),a!==null&&cancelAnimationFrame(a),n=null}},Vd=({panelRect:e})=>{const{engine:t,store:r,overlayRef:n}=le(),a=Xe(i=>{const s=i.editTargetUnderPointer;return s!==null&&hu(s)});return Dd({engine:t,store:r,overlayRef:n}),(0,o.jsx)("rect",{ref:n,x:e.x,y:e.y,width:e.width,height:e.height,fill:"transparent",pointerEvents:"all",cursor:a?"pointer":void 0,"data-testid":"pointer-capture-layer"})},at="data-hover-active",Wd=e=>{const{store:t}=le(),r=(0,ke.useStore)(t,n=>n.hover.primary!==null);(0,g.useEffect)(()=>{const n=e.current;if(n)return r?n.setAttribute(at,"true"):n.removeAttribute(at),()=>{n.removeAttribute(at)}},[e,r])},ir=.5,co=(0,g.createContext)(new Map),uo=(0,g.createContext)(()=>{}),ho=(0,g.createContext)(new Set),Ud=({children:e})=>{const[t,r]=(0,g.useState)(()=>new Map),[n]=(0,g.useState)(()=>new Set),a=(0,g.useCallback)((i,s)=>{r(l=>{const c=l.get(i);if(s===null){if(c===void 0)return l;const d=new Map(l);return d.delete(i),d}if(c!==void 0&&Math.abs(c.width-s.width)<ir&&Math.abs(c.height-s.height)<ir)return l;const u=new Map(l);return u.set(i,s),u})},[]);return(0,o.jsx)(uo.Provider,{value:a,children:(0,o.jsx)(ho.Provider,{value:n,children:(0,o.jsx)(co.Provider,{value:t,children:e})})})},zd=()=>(0,g.useContext)(co),Yd=()=>(0,g.useContext)(uo),Kd=()=>(0,g.useContext)(ho),Ee=e=>{const{annotations:t,coordSystem:r}=C((0,G.useShallow)(l=>({annotations:l.annotations,coordSystem:l.coordSystem}))),n=zd(),a=Kd(),i=(0,g.useCallback)(l=>sr(a,"cycle",l,`Annotation reference cycle detected; dropping annotation(s): ${l.join(", ")}`),[a]),s=(0,g.useCallback)(l=>sr(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,h.resolveDeferredAnchors)({annotations:t,panelRect:e,coordSystem:r,measuredBoxes:n,onCycle:i,onMissingRef:s}),[t,r,e,n,i,s])},sr=(e,t,r,n)=>{const a=[t,...[...r].sort()].join("\0");e.has(a)||(e.add(a),console.warn(n))},qd=0,Qd=1.15,lr=1.15,Xd="rgba(0, 0, 0, 0.16)",cr=2,Jd=1.4,Zd=({arrow:e,fallbackColor:t,stickerOutlineColor:r,stickerOutlineColorInverse:n})=>{const a=(0,g.useId)(),i=e.color??t,s=_d(e.color,r,n),l=e.dashArray?{strokeDasharray:e.dashArray,strokeDashoffset:e.dashOffset}:{},c=e.arrowheadExtent+e.strokeWidth+cr+lr,u={x:Math.min(e.startX,e.endX)-c,y:Math.min(e.startY,e.endY)-c,width:Math.abs(e.endX-e.startX)+2*c,height:Math.abs(e.endY-e.startY)+2*c},d=[e.linePath,e.startArrowheadPath,e.endArrowheadPath].filter(p=>p.length>0).join(" ");return(0,o.jsxs)("g",{children:[e.hasStickerStyle&&(0,o.jsx)("defs",{children:(0,o.jsx)("filter",{id:a,filterUnits:"userSpaceOnUse",...u,children:(0,o.jsx)("feDropShadow",{dx:qd,dy:Qd,stdDeviation:lr,floodColor:Xd})})}),(0,o.jsxs)("g",{filter:e.hasStickerStyle?`url(#${a})`:void 0,children:[e.hasStickerStyle&&(0,o.jsx)("path",{d,stroke:s,strokeWidth:e.strokeWidth+2*cr,strokeLinecap:"round",fill:"none"}),(0,o.jsx)("path",{d:e.linePath,stroke:i,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none",...l}),e.startArrowheadPath.length>0&&(0,o.jsx)("path",{d:e.startArrowheadPath,stroke:i,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none"}),e.endArrowheadPath.length>0&&(0,o.jsx)("path",{d:e.endArrowheadPath,stroke:i,strokeWidth:e.strokeWidth,strokeLinecap:"round",fill:"none"})]})]})},_d=(e,t,r)=>{if(e===null)return r;try{return(0,Yo.getContrast)(e,t)<Jd?r:t}catch{return r}},$d=({panelRect:e})=>{const{themeValues:t}=Qe(),r=Ee(e).arrows,n=(0,g.useMemo)(()=>r.map(a=>(0,h.computeArrow)({arrow:a,panelWidth:e.width,panelHeight:e.height})).filter(a=>a!==null),[r,e.width,e.height]);return n.length===0?null:(0,o.jsx)("g",{transform:`translate(${e.x}, ${e.y})`,"data-testid":"arrows",children:n.map(a=>(0,o.jsx)(Zd,{arrow:a,fallbackColor:v.vars.defaultAnnotationArrowStroke,stickerOutlineColor:t.arrowAnnotationStickerOutlineColor,stickerOutlineColorInverse:t.arrowAnnotationStickerOutlineColorInverse},a.id))})},eh=v.FONT_SIZE_EM.sm,th=v.DEFAULT_FONT_FAMILY,rh=v.FONT_WEIGHT.medium,nh="0 1px 1.5px rgba(14, 14, 52, 0.18)",oh="ph8bdc0";var ah="ph8bdc2",ur={hittable:"ph8bdc4 ph8bdc3",inert:"ph8bdc5 ph8bdc3"},ih=({cx:e,cy:t,color:r,radius:n=4})=>(0,o.jsx)("circle",{cx:e,cy:t,r:n,style:{fill:r??v.vars.textPrimary,stroke:v.vars.tooltipBackground,strokeWidth:2,filter:`drop-shadow(${nh})`}});function sh(e){const t=se(),{formattingLocale:r}=q(),n=C((0,G.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,h.buildPinnedNumberValueFormatter)({numberFormat:n.numberFormat,locale:a}),[n.numberFormat,a]),s=(0,g.useMemo)(()=>{const l={family:th,size:Ke(eh,n.textScale),weight:rh};return(c,u)=>{const d=lh(t,c,u,l),p=t.measureText(d,l),m=c==="pinned-number"?15:0;return{width:p.width+m+16,height:Math.max(p.height,10)+10,text:d}}},[t,n.textScale]);return(0,g.useMemo)(()=>(0,h.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 lh=(e,t,r,n)=>t!=="comment"?r:(0,h.truncateToWidth)(r,140,a=>e.measureText(a,n).width),dr="callouts",ch=({panelRect:e})=>{const{pinnedNumbers:t,comments:r}=C((0,G.useShallow)(u=>({pinnedNumbers:u.annotations.pinnedNumbers,comments:u.annotations.comments}))),n=C(u=>u.coordSystem),a=oe(),i=sh(e),{store:s}=le(),l=(0,g.useMemo)(()=>{const u=new Map;for(const d of t)u.set(d.id,d.at);for(const d of r)u.set(d.id,d.at);return u},[t,r]),c=(0,g.useMemo)(()=>(0,h.buildCalloutHitRegions)(i,e),[i,e]);return(0,g.useEffect)(()=>{const u=s.getState();return u.publishPointerRegions(dr,c),()=>{u.publishPointerRegions(dr,[])}},[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:oh,"data-testid":"callouts",children:i.map(u=>{if(!u.inView)return null;const d=l.get(u.id);if(d===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?ur.hittable:ur.inert,children:[u.kind==="pinned-number"&&(0,o.jsx)("span",{className:"ph8bdc1",children:(0,o.jsx)(Ce,{shape:a(d.geom,n.type)?.swatchShape??"square",surface:"callout",color:d.color??"currentColor",width:10,height:10})}),(0,o.jsx)("span",{className:ah,children:u.text})]})}),(0,o.jsx)(ih,{cx:u.anchorPx.x,cy:u.anchorPx.y,color:d.color})]},u.id)})})},go={"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,iVBORw0KGgoAAAANSUhEUgAAAEEAAABECAYAAADeOlj2AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABf2SURBVHgB7VsJeFTluX7PnFmTzEz2ENZookLYCYggF4N1gSs8tloorqVFWqsWNyxorzZcWmpdwF1xt9figrQVxWrRCopFLAgkmBBAzB6ykNm3M3Pm3Pc/ExWYJITFFvv05zmcyTlnzvn/9/++9/u+9z8D/Kf9p4km49+rSZqmSWyG9evXG0pLS+WsrCy5b99m+YwzSg01NTVdfwn/Hk2MQy4uLjYEg0HD+++/P9LpzBhlNhsHmUymgaqqemKxWK3f798xefLk9Xv3jo4Bq+L8joZveysrKzNwZwQKrE1NTReGQpEX4/G4W+uhEZDaTZs2DSkpKTHhW2wEouMGMYjVq1fnc3aXHmngXbX6+vppdBcjvmWN/i4AKDGVl5cPptk/eiyDP9giVq9+O5/3NeBb0nSff/fdd/MCgcBvjmfwBze3270QKDWe7OYgJbZiY1PTu1Py8vKeNBgMA4/0JV9MQ4U7ipYIoDAA2k0GnJUuIdN86HVms3lUcXGr4WQGQZ/9tWvXZk+Z8p07bTbLdT1d7I3G8XFLGKtqAqgNA30dNuSkWGCSJfgjKva5NdxwuunQB0jyQJfLdtJagvB94549L5eceuqpr/Q0+z4O/pldbrywxwOr2Yx+HPwZWTY4bWbEVMATUuHl1qIlBwJNi0vRaK18spGCJMJeUVGR2et9/+bCwsK3ewKg3e3Bls+bsbs9iNy0FAzOtqMwMxXZKWZEmAm4gio6Aqq+94XVLu6gIT09XTrZLEF6/vnnzZWVu+7vyfx9wSCa2g+ABIkChxl35phR7gK2R02IyiZ4InF0cODecFwfvI/7fjmmpPuoatxHctROGhDKymAoLl6bO2PGufdbrZbLu7ompqpo5uA7vF6avgUpFgssdAGxTR5gQl9axGM1MYRlM9xi9iMJELyhOEZmWZPu19bWtjk3N/fkAGHmzJny8OGzc7/73anv0PyHd3VNpK0N7ucegvTh39AnFoJTsiJ00RXA1VcTEBPMJhNOz0nFLG8r7ttnQwBm+EJfW8P43GRLaGxsrSAxxvGvbjNnQi4v3zJYJC/dxfMDFRVaa+lI7e4hGdrEvkZtTI6sXV6Qpn0xJFNTbpyvxWKqFopENJfPpzW1tWuvbirXJrzSrBW80K5lrWjR5q1LTivC4UhjZua4AeyC+V9SRWqdlR4/ykuWrD59xIjR73RHgA2t7Yj88ib8X81OvKf5oRli0OQ49gUVtDICTN38D6glExDO74tQOIJQRIHDLEF178d77XYEaAX3TnaSOw4dqsvleXf58kf/NHHi8NA34Q7Sl1tpKaT160v5cb04HqfZS/v27TMQAP5ZIDc1/b2UCdCKrgBg1Ye6ljYE1v8NwU824iN7GFbE9eI/ztrPbpXwqTuAeEoKlG2fIjR6tA4ALQKcZYx2xDDWUI9aaz7O6W9O6uTWrRWrcnLsUdYP8RMGgphdsR86dKhpyZJlWRdeOOlKDjY9GlU9ihKujUQiHoslxWk0ShlWq3W4xWKZ3t3sx9Q4dtU1QIkqSK3dh1opzsJBuC730pcoa8gzcsbp84qrg1YQRiAYhs8XRJB7VVEx1daKgpKipPtHIkrT5Zff+pHTaY8wJJ8wEKRZs2YZWKKad+/efZ/NZjssvNl7fSMdgNpaAhDVWV8m4WmqxtmXeExDlJ95iW4NVzEKRJkQ+ItOg4dW4ScA/kAIoSCtQYmgrz0FM4elJz2jsnLPwzS0YEEBYkJnORH1tF7abtlSftro0UNf7Y7de9NECNxVW4cwzdpmFSGQIJRvR/TqH+ChfCv2qBwcrUNRJcwJSZgVMSCQmYfGVWvh8wYR6AQgFAojHIvikhmlyM50HvIMYQV5eRMnezx1LQySAR46vhBJF8CsWZJh0aKK00eNKn67N8VNdy3AoufFHfsxNjWqA2CjFYhcwDxhElonn4NbN2zAF7KGIDWU/kyVs8mrrjQH2hbfC/cBHwI+ukMohHBIQYRWVFTUPwkA0T7/vO6FWCziLy7OUSor23Rl6Xiig1RZWSkvXbp23JAhRa8fMwAfcHAL5uOevLPRbEjDaVYVmUx7BQgi9ost47+n09fd0Kp3wWmQIctGhEeW4MCd98HlyKEVJFwh6A/TCiKwWM248LwzYbEcSojCCoYMmTbfao26amsrWWMm5LVjsgRBglOmLJYXLZpxWmHhoLdJgM4ur3vuCXExpOIvPYTPrKtjVeMBNn5AAD5AjRLES9eUIZTmRB8OfnM4A5dlKV8BYDYZYbJloN9vlyFr8d3w7N7DUtmADoWVo4uDd/k5+JA++IgShUJnLy0dA4cjNak/O3fufkRVoz6nU4ky9/oqSToWEESMZ4JTXsRI0CUAWlM91BuupqmUJ0DgP4Ngsrh4LimE5Ca2es7qHy+7BfUXzUEeY77TYoTTYUW1Esa4FOggmIyyzhVhReFsh+A1O+Dye+HpCOgWEPAneEAAECUPlJw5BMOHFyZ1uqWl/fXzzrvqpdRUBPbu3Rs9+NxRg8BYb5g9e3YOAegywREAKD+5BFJTHQw2GYZOPVcjCBIJTcefnxtjErYPHIaq788nACY4rUakmo0CYnyuWKC0KbhwoMxoQADCCry+AFwdPrjbvXB3+OFjNAj4OiMBc4NoNIa0jFRMPmd0Up8VRWl66qmXH1JVs2/IkJRISwsOSZWPKjqIMldUedXV1U9Tlbni8PPx/Q0IX38p0Fynk42BVmAQdhBPxDSGe33zKRp2wIHVd6+BZeApyLYZmeXR1yWNM6oipMTQHqBZ5xgxIYfeQwA62rxwCQBIgj49HBIAwQEEKEoidGSk4cc/m4H0jORwzMj1P1OnXv08JXhXc/PWEA6T2o+GGJn9+Yw1NZt+lJqaekcSAC0NCNwyEzjQCMnEgVPSMoi7U9mRjIbEnhtDPWo8Kt6buwShMZOQKSzAKFyEgZvM7qdv+zi7QQ5uR0sIfeQoNK+PAHi4+XQe8LkZDr2CCCNQwlF+VcXc6y9GTm5yTlBb2/iHiRMve0SSzK62tgICUJlUMPXaHWgF0owZM4rS0tJ+efg5LeCD5/bLYPA0QbYZ9NCpHxd2QCsQf0tC09AMaO2IoOaM8Wi+YBYyCZZFi0Gl/BWMRGkBUe5jzPdjLINVJj4K7tgTxvm0hqHwwkse8BMAPwEIs3ZQ+B2Vlj1rzvnI75eV1GcRDRYuvPdBmy3Fu39/kACs6kpZ6bUlSA0NDea77rprGd3g7MNP+p68E7GqzTCYOWijmHkkrEF85hOEBQhLiHEOmhoUvLX0VVgcdqRwCIgptAAR48McdBjeQAReWkLp2yvxmZxOV4jg091tLImB7IgPfk8QIS8TIqbGMVrPBRefhUnnjkrqsOCBpUsfnvP882/tdbn2MxxVxdDNilNvLUEoPkVMhy87/ERkwx8R/fufoLGg0ejT+tKAlFDtNFqBNIjh0ZIGyebgzKSgbkoh4rl9kBLnLEbFzCu6Xwdp1gG6Q4CWcPHa36Nw5xY8ljMeCvlA48xvrmvCfhLfCCurSPKBUJWmzTwb508f32WHn3rq1ZsfeeSVXcGg3VdWNkMRNUK3g0MvABCaH0Pic0kgtDYAv+EhfzNUkluMM6/QTKW4cAQNcv8hMP/iZUgpjq++snRHhx7OZDWqs75IcUP64IVFRHHdymU4pXobrr9oIUNoOuJ0jThJMt7eBrAstsgyRvcx4vLZ4zH1kglddnj79qp7S0vnPO7xqB2sW5gar4/1NMBeWQIXPGSj0ZRcE7z5DANwLcBQqEcDC5ObdCtEJFSNOTDffCgA/2gL6cQnx0h8oUSOH9RJMALJ48avXr4Pp1dtxa8mXI1azYa4PwiN6pDwBY3mLzFyCAF17JVTugWgurrmidLSWSvi8RQv+ARN26ImSvfuW68sATgjLRKp2GQ2m4YmnQ3wWfWVwL7NpOJPmCdsAfIHQrryBcDR96vLvNQFH9sTgIfJTTgoBh9i6ZvI9OztTbjzzYdwSs0erMwZiV+XXAmN+mCcOqFETlADfvpdVA+zd1w7CXOvvbDLju7ZU/PE2LHfW+b1hjuKimJ+JkXMK4+88twrEDIzi+y7dm1enpOT+eMjXh32Jfbi0WE/3GT5p//wCtasWYMR8xhY0vNpWUEdhCCrPkdHE+5/bzn6tLWgrTmAS8+7HU2yU1RUkMgFMbqJxIIpNRbGYvtnuGTjX7p8bHX1vifGjbtouabZXH6/jzOjZ4W90g975Q4dHT712WdfemHBgmtnyrLcvTiw4z2G4TeA/TvoG0HmvRKqGqNY/b4VI0aORHbLLtSqMryK7mJ66fvkx8uRF2knKcbwer8xaNCskA64aQURkh+JlolFYfQA7vD+FUPOvajLx9bWNqw8++xZDyYAcHEWanoNQK9BGDEij+t2Fq1bAHZ9DKy5C5qlHVI/XjKSiX+aXeeKCaz/F57WFxXNg+BqbYS673N4B54NP6PBnIZ3kK+5SKbM+1uDePXMkYhRJQKtRyOxaCyvZ4QrcU3gYzhImvmX/CDp0U1NLW8MH/6dJSkp1g6bLdW/YMGcHiNBV+2I7iBS5Yce+ktaa+tHOwnCgKQL1jwAVKyANjADXAMjEbJ8tfC4RUpATA1AbE+90QfrtyjwuFxw0xocRSV4q2UFos1R+HZ48LsBk/AH8oFIKeNRCQURF34c3ILh0WbkUyvof8DPIix5bE8//cqlN95476bc3AOumpoawQFHLaH3ghNKjW1tr8zLzs59LOnUm8uBbY8CA5muprN0TTND44qQsADJxMEbBQBxUUQwBAK33Qd8WuGBM+bBM4MDyGU97PrYgxW5o/F43hgCINH3VVwa2InpkV0wUUcbQLfow+ggDRlK+erTQx4vEiKnc/zZDLXtzCm7zQiP1HpcixS6QX5+tTkzM3tR0skDzBG2PcjBd771wvAlNolZn8RUmIkAQYglgGD+wBIWv1tABXigD0+NDSCb7tC6xYdHsorxWO4IpHE16ZYfTcXqi/vgQqUadvZsmKogjwKrxkwUhacmdSESiTYYjfFgSYktcqwAiNYjJ0jSLENj47aLu1SNnpvNmWfnrATBwixBdFSs74qFbo28RB0Axs5jur3FYTeqeOCsMCLbYmj6ux8P+6N48EA5fjJ9Ou4puw0OCqO1N72KfALmZESQ4rIuskpUAbWszKQuKEq0Xpa16NatW48ZANF6tIRp0/zGjAzHjKQTn6zif4xCo24ExiyEPkqCoFl5uzT+KUQdURkaD+IF5vnae6w0d0XQsD6IbcU2PCh8hJnjop//UAdAtLxgE+w24miVEWclqhFgzWRI3OuwJrP29nj2R2mxx7WU1q0lCFfIyRlsZrZVkHRyfxUw9y3gC4bEivsQz2RtkEaLsLOjVlqBwZCA1yAEBE0UEYxabrR/EETj+yEMuLkPLp2Vg2X/a4EnayYKChKP0JiGxzsaElYl6g6LQRdjROWlGbp6v0DSsrMzpSNlhMcMwpQpU+Sqqo1XcqEkOT+dzJzp44e4orkGcYdTnyWxPCbpHdUSIEidrwkK12Ap3fx0Cxq3UwW+tx/SJzt0ee2mafnA6EQ5Em9vQKhsNjTFr2sRiPOeNHKJnGKgK8gLkiQMLq3HfO3tlk7N7tjfSewOBKm62mfOyMi4PemMyAj/dD1ZqUrnAgN7Go+L3nauj4kuCQ1RHBN7guHe4kf9HhVDH+iL1MG2xDUKZ5dL5pKV/uNpRmjZlYi7GwGTKDwSOqQkXIx7+aaFkPon01JHh3tnfr5Ja2rSFzdxrK0bTphp2LhxdWmXecFff8NOV9NExWwZOsVTMShuQc5ekMcC7FBE07UCkfOnF8sY82geUgfSZcLQB6n5aDkufpcgaC/OYTCh8McMU6yECA7QSKpxahDGny2A8aqfJnVDCCajRn1vlcVyIH687tAlCKWl/zDl5WVflXSiYh3ZiKZ8zm/ZU6c+oyqB0GL6Bz3DAzdNhMugCJkkQ864iP9GLpkhxGuDvE4A1sLjuZ1iSHsdzKkJAkwAwFuLgDP3FpivWdBVF3H33St+6HTKkYKCmh7L5GMFQX7mmfXnUkecnXRm+PnARfTNuk8Igpe6kCnhAgIEprX6oFnzayECISxBZPBiiYMWgv0EoZ2jowvATStoY9/PYOBJ70e/T2GRxGO0hDj5RViA5WoCwK2rVlFRfc/ddz+xW9PUYGlp2XFFBtEO5wSJTG0aMKDvHT1+a/sfoWZaBDuz8yJEc+AiV45JnWky+yVYTYirYf7t4rQKIYDRQjLocjPdgsLhiIsT97Pns2SuhixWmfkd25w7YZnWdcEqyuVx42auiETM3qFD5aOuE3oDAp599sVCk8mUpCPizYdJhHSBIWORWBbmsagQUaErSRr930BlWOiKgty0FJp1C9PnjoSrJMib1zOLlGpoHtN+/fW9HYwSdZUwWdNhue5xmM4Y3y0AQi8wm22eAQM6Qlu37j1uV0gCQSysFBT0T169aKd6tPI2biyPd9MVosL09SwI0IU0rjBFwnqk4LIRkyWCsN/GaprXD+BstzKSeLgxnZZIiBh2A9PggwZqJbiDxsFyxf1AZv8uO0q9YMWkSd97gDzsyc5O4SrSJ8LZTsir+odwwqpVn8kOh2NE0lU7KWRkpiQuF1MveEBYgOACbgbygSEYS3CAyALbGAJaGUoVVpbjyOyUycHVI3hZ44xkGVJ606H3/68fAT9/pUcAKJgsC4Xibr8/1TdnTukxVYvdtUMsoX9/r2wyyYOSrvJzAIM7DaRuJ4SmrL8uytzAQF83cBEUKRyAwus0tw6UIcIBT7lKjxao3w5k8fwlLLsLu9AG+yWrdl+2BAdcsjwed3oyMgzeQGBTpKxs0wl94+xgS5AikYhMRXli0lVCK50wL/G5tjyRwor8gKRo8HNShs8BfrqGAx1MILREjjCCxDZ5LvAEZ/msazjT67oGoJumqqrv5ZfXXlNS8t3lNluWDkBDwyYRa765V+7EDyDWrdswvMt36Ha+lNi31GjaFU4ttqivFrtzoKbdNkDTVi9OnNv+jqbdXsBt0NfHvqjQtM8+0o7+FXzPlkWL7rkgN7ekMC9vYi5ngGnmP+d3CcbXXnt9dI+9e3ieFp/r0GK/6KNp87ktuSBxvL1e0x6fp2mvcfC7NmnH2mKxmHfbtp33pKWNLrZaSwY6HBNYP0+zfNMAfMUJJSUl0pgxo7p/32jlEuDD30P8aEAWxDeCic68RxLnhL9f+yR620TKu3r124tXrnyj6oYbrhzrcKQ6GhtbGlat+kvlmjUbWu12SzAeNwY6OjaJFWSRiHyjb51+BYLHk2vIzs5I5oOAOwHA24/oJa4UooD6feZSU7gy/xYryd0bgJuoL6Sm9+qBFEbfnD9/8W83bNja7vOFYhs3bmvi+qZEqYxCrjFiNqeErFY5SP8XseaE5AFHal+BEItVSVSQkl+78XMt8xTm+Nc9DZxKIfQURlBXPbDiOxw4J2n+ml4B4HZ7t65b9+Hjc+fe/lEspgXS07NDKSkqBRFVamvzd6aaehkWvfXW/1ZPdAToqR1UfhVY6+s3/aJ//z6Le/xGmIrS1hV0i2HMHqd1e5nf798TDkcb29s7qsvLd38yd+4vP+bgg0IT9PvtNHMXmX4oURQqVSn7sV6AcPD2L2mW+fPLhgly0o6jhcPhppUr11yTkTF8uCA4u33k6Vbr6EGpqcPyMjJKnAJs5qYi1Tz5fpMoQmRu7rC8qqrPl2rH2ASACxfeN83hGMNl/BH9U1PH9bHbS7LF4AsKSsUPDoT7ndQ/yDRkZo53OJ0jTnn33Q9v5Ipx09EAIF6dX7Ro2VSrdVSB3X5mVn5+PvPsIkvil6gn6cx3tsM6VmymUJEqSbIzGFRSli27fVhh4YB+gwefOq6gYMBlXd1AZHZ799auLCt78Pd//vMHTeFwOsMJ19RQecIKnG+6dTE7RZb09DSbokgpLKkt4lVCGro8b97sQdOnn3tmv355g7lEb/f7g02fflr5yWuvra1at25zKy8NqaolUFjoC8yYMUM9EXX+P6tJXR8roe+aueagmFU1JKuqwcQBWsxm1cKQJoQvLsyoqiQZVUUxRYxGNezzqWT8rV9Wd98aAETr1k81XcCdxXS1jWpTjbGmxmJyOGRahc0gfk9otxu0YNCmWq1epX9/k9K5CvStGvzRNv3XqmJxNkF0+s/uv1ZVvuXt/wFwZbstixGMzgAAAABJRU5ErkJggg=="},"thumbs-down":{aspectRatio:1.063,src:"data:image/png;base64,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"},"thumbs-up":{aspectRatio:1.063,src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABECAYAAAAx+DPIAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABSHSURBVHgB7VwLcFzVef7PfezefWklZEl+BQQSGGQsMMa0vFXStCRAaQsaEpoyZTINTMkwHaAloWlRTcNQZkImSTNTmoG4YEoTOhkTkjF1gYgE6leEjQ0yorIs23pYLySttK/7Ov3/c+5Ku3uv1qJIUGfyjw93d+8595z/P//zO1cA/IZ+Qx8nMc45A+hQ8LMG0KZt2rRJpyvd89rHuyD4+IjmUpqbP6v94hdPtcXj8YvC4XCr4zjTuVzuYF/fwOuXXtrah30cbC42Dr8u1NHRobS0tISGhoauR4aP8QUom81u6+rqugBgk05j4BPQiCUnqfKb9HQ6/Q2+SKK+zc3NYRyuwOlMyAtdtEOHDl/BPyRls/ltjY2NBpzOQpC732hUUvvKQshuI9OB09UUyI7J7gO5Sx3kfPBJzoeeQU6HFxRCKpV6UEaK05Bo96amph7zcZUb4fytGzh/53PY8PrW73N+fGugAFzXndq+fftqL3QuOS2rfeHuqbquX+S7MfqinJmpwBUdeDgCMPFDgMPf8HVljCWvueaaO9rbO5bFDJZVAPl8lcqYkvTdyPQJq+aKhi0KoBrAdTT1yVcBhn7m6445w427dq0NSZ+ytLScAsCsb5TYrLBoFf9FgKtxXAkKIIaacOyHvl6oRVdu2bJlBWrD6SWAine4vHImtYCuoKBAzKMAM+/7hlx33WeubW9vP30EQA6surqamaZ1wnczVE8dMOF1gbl5VBUTWKES0FAQ0z2+IYYRPquvr2/J16vBMpHU1jo32G6Z0ADGLcz8sygLG4VhS61QUQsyQ0HPq8lmu04rEwBScKQFihoSgiM1wMngFYXBsQZSgnnEcMhSqbUq50tbIy2bBhC1tqquqqr+KEBMCEbIDEj9cR/cwnf3VI8teJAloWUTAPFXW5tA/pUq301zdJ4NIQxnPlhYqAmRVb4hqdTs4MCAMIUlVYHlMgF26aWbtKee+vY5kUjkt313CwIogUA8vkwUQHS1b0g2a001NjYvOUawHAIgltSHHnpoxY03/t6zvrv5EdmU8iGF+yZAcp1v2PHjxwf6+ztPaR8flpbaBKj217q6/qX54osvfllRlDN9PWYOgdhthRdZsveBmI/g7msJ37DPf/5rh2AZUKKl1ACGxY8+NvbyLRs3btwVyDzt/PDzIgEMRAAtDIVV/t1PpzN7Gcu7WBUCJkOqt25RTVDFSaH2/xodliquCub37t3bEYvFvrZgryOPAEztAQgXaUBxm04DnP0AwNqbSoaNjk5s379///fWrTtfxzyJDw4OHte0qHvs2ND0/fffPalpGu/t7XVRGM7DDz/MvYx5URJZCgEg0NmsHzhw4OEFmbeRsb5/QPU/iFkgflddKCRDc42+j08BXPoDgMR5sFjCnZ9GwOUgtRMnTmy7+eab3+ru7l40sLpYE5jz2RKs5B68TeNbtLfffvvvFmSe1P69e1GPkXkD16Odwo99CObFwrBcRg24GhHme3Ajdh069M6+o0ePbiaNhEXwxxZxX1jsiy++csbZZ9fXtLZ+7hhywRsbcWNtm/X09Hw9Go0+FDh6ajdA/7fwwyyqvevNxrykJ0gDpgGu3hHoBD8sZTKZR2+99aItO3b0YlwFtxKDC5E4vEBI63fq6ur+hqRcuEFqR010CnJ2RMP/hrX9c1jLInehIk2cY5qVfcc2g6ay5i6EEW+HpaBcznxuw4b1X0L/YMIC5qAG/CZUHdWJcPwnsKL7DjJ5VkkHxgxSPWpBDxXMUyN7D/HgGYJkr6PW9v0XFki4YRpiBEYdfkah2JPSlHKYCpojsi/9Ts8gHGEB0jS19c4775zZuXPn3uHh4UAtCNIAwTzZ9YKqXYnGEdU59oRkXA9gvqDu5RFA3GNw8v0pDBIWVK82gMUNiREU+rhlY0i5dSytE4i6nfUnKLAG/3SoqTt27Dh/374bRjs6/KYQoAHt6ptvfn/zqlWrtsKHZv4VZP5bcuf1Sg6Y+b/nGYwdyUMULS+xIgIsEgamEWKE9zQmtEPAZiHM3UL4e1jBPsQB+pf8EYCj26WAalpLn4zaWl9fP/7YY7t39/f3+wRQngmyxsZ9elNT8z9CEFmofrpfyjCNHv7kT9CGd/t3nmJycZIiiiDPCWLeQ4yDxaCvNw0rNQXC5P9cBkzxHDgKgCuoCSyMClJw7AikIIbAOZbSWg77YNSjWye2IUcxgE/9UcnyDCN6U29v/jsgzx15BQF0sG3bfrdJ17WroJzG0aGNYsuR3cXlRBYtfkbGedIl2pFymydmi4VAF4fJ55AKo9q7tgupUQvWrNVgLnJR0ad4Nk7MK4gdMhKEJgQAbk46UowojGdxfuyP+Coc3+4TgKYpZw4MfKBhCKcwXrLAkjjZ1tapNDU1XQvlRDs/vk1mb1GcPJzCH0/iAqh5zMfJ2y8QbQrMk/yJ8SyTn5HsvAuO6QphKKzIIXjAiPzmpRw0ESOB6AJSlxPj78xjI4TCzIz4psea/FOoakEOv1QD+vtxX2PxVl+vmV2l3wV256WzriI/a7Bw3iUclqfyrhSIiwJw81xAAfTATM5G5x9CdryHeA6PUUfVkuousIO8nJ+AFHSWbE6r8Vk5mqYOwmXTI5qEOxZV3n33XVZJACyf71F0PbTBx8DsLliQ3ALzZXYPMG/rJi9JRVwLBWAVDk8lMpKs0mB00oHVVYq0GDQLhj4Bsy3skkWFQJsnQy+gp+gDBKaIgCpHLbImOZjjNujnf8a3RMuyBltaAF544QVeSQAQiazWQyHtQj+TaViQyA4pvS2x86JdtIrKXrw6uNjCrhdTXX0YjuxPYUEYhvpzFIigOpOWi8KGQBKGWoC+QygBpjUu5gpuzgU7y8HOcSFU4/xbIHzhHb4lMqZWfeELdyYPHtw7jUJYWAATEybmPAEQVu4IBBKFKLWM6YIgiHm7wKjEAB3TE1hBIkx6dOrj4I6TRR3vy8KJkzloPNcQVquG0Cg8Zye6uoSdcoyGCjYmcVRMmlZe8yVgVU2By8RNXXPPPX9+9xln/PvXYc77+ATQrmzd+mdn+UY7lXafQh7z775bmKbAPHjMQ5GpFNRfmsLRw2mIrVJg8yUJEfeVGKp7mM1njXPj2Hwq7XjzEJA68H0UON5QMTHa9LgvKaqurrqrocHaMjIitmXOFOaiQFvbGPqAnL96cmehIoV5qf0XMrbCF5KHL/oWbkshTI9YoGOxdGELxlELfQBlf7pGh4eSUeF0mfiNGyHgmCRxA88TDXR3YRSUoUlhRan/GEDXX/umorR9z56f0elSCY9zXzo7AVaubPDn9pU0IIiKi5zCbjl8HgafM/15HzA5loc1a3Q5lvqFy0IKaVjhJJnRWWISuEYNj9S0sEyXyZyon6HIumHyoG9piFCfU1NTEyyAtjbEIpNVfvtHDeBB0MJC55Su5/Q8sxD2W/gODPzIFYOJKQuSCW3uuay4WCqMEx4RhYRZIVcSQgB0sCoEU2CeF61tyi8ARKjPfOONSRYogM7OGeY4/uKImHdxB12Xe4svDnFBxEuujLnzm41jmG8KDhFdgVzemevDXV76HE6prwR5ROx38SSJNNPJizMFRovkxUvD9bKYf2UYRjKZfcEagHgjHD7cPegbFWqQcdsuCMKFykATm2dYqK7iyarg+edjf4HOqA3BwKAl79FGWh5kVhjGZH86RgPB/DRGxUlgmIIzOy+dDPf8TdqB/CwKpf4K38oGBycOY0EUnAp3dVHObPhZ4x7jlLmhlxXnmG4FBWDz46TN48IVL3lBRnjx2bhHdY2oyo4KI0M27hzOYeI1a4mdFPPQhI5YADKPGaGdwyvm/2Ye+1pgZ2wwUxZkRkxIj5oIUv4psKi/aNuzZ/+7WOqX/DYXBtvaEtx1zUC2aPdJzQQjZIqkygrFX+Z3BZRxU6BhbM4fkPlyp5TpYiGoaNrnbU7CWzsnYGjIhGRdCLQwMoPJDiVCySoVZtOOGBJCczFNaSZVUVVuPMrHiFaBtvpKSGz+LGj1AW/lILJ8//1/2zc727tQHgDw5S8/OHD77e0lA1m4Qey+0E4PyhY+Rzhema35SAiBzzlK0ZeSFrMolpfYEYPRY1lIrlbg3A0xyFtShjHbg6foc70GqibTZIXmpQ3A/zAv72AYIfSL24ElgpOhp59+4duaFvfhg3MCQNyPp9M9iC47M1g9laCSHOtMbs8iI2xuR0W1SgJRA6IB855s8/niTpMRgJRsvsKTT6fPR3pScO11VShwBfRqTIRqdO/og3lLVr0wCfOh1ZVNRKl8DjjGf3bVM7JUL6Kenr5/3rLle0ey2dlcuQDmfAAVCqtWJdDUeMrHkN4w5wOEP7ClU3TsCt6Q+NPBw5w8J0YZHsZpViI0Bjl0WrG46smES61SvHGceS9TGeDivrgY/lxMfbmG2ICme2ETm4HPhgzA2H/7lpLJZPt1PYFho98uv6eUdsw5CCcfhiABeC9xFJgXgjA96btMghy8VAKE4HAd43aE3gKjhEWRODvm94peMANyi1jQlGSLRQIS9YIuARGtCnhoBV4xD1DDMjcg5KiQNyjBzjkcDjmRSBrDBfgEUOwDuKqGHAxz0+WdlNBKoAjE5vAHz7NTtYqfdcNbMAlCvNPpOQpQxcKBkBwyATsLzKRmoUmAeDGCqjndUCGKWB85wDXnRYSDk9HSFRrAmCPqf8Gkk/NivyVzg0IO4MoNofeP/EbpToyMZHzMA5RpgK5HncnJqW5fJ6yyXIzNVH67ojHvyiGPNTx3vd2nax68jXUFWEHYndAGyt70Gszf4zKHVxUhRI20AYXTtDGBKTHA+z1ZWfFlXfk8wSAlP2lQbIz/CJErVgqvWcQBTMG0mXEgg+EvV3MTKCv8EeCNN/YjT72B9lqiASMjH7jDw6OHmpoaSzrptRcJtRf4m/D8MgwKlcPf0yctiDfo8+koAZ0EjykYtyErEhWGcA1HOIvUHXRV9k3LTVbRJxgxDc5pTUD3rinYPTINsVr06nGGpawq0KIYVodkdhT65k0Ry+LEaoECnbHuGoi23OpjMJ/PH77vvof629vBKYMCfAKAlpYq5/nnX3rnqqsuK+mkxlaCEl4JPHPSA2Wl+rte0pcds8TP0XrvkIK8NRWWZDI6CkEhA5fvAnFQpBBIxyMyAqgIqznoBMZG8xBbqUDjOkQ3I4pglMCO2kQIY7+D2IoroDXLcrAIVMCIqGCcezWEN/wFLEQ9Pf0/0HWeR+YDNaDMXNoQExyvHR7e/VIiEdtcfGf2wFaY3b8VSrM4D6FxpB0mm1ZDLDnjn4UwQ4LKVW9scblADUFSgrQO7pmAjZfH8EBEBTzy9BIODU1NEWiQODFClVGoJhApKgkahdv6TwjK+uP/yMj4i42N1967YkVybGBgVw4CkvgSDejoaHOfeOI/rcnJ6V3lAiD1yh7fjw4xjrE6AaEVzQjQxkHHK/2mJVbKjlSKDj2P8NIr87KymWzCL/J5QLUgSMzAHcWFCDlTzStpBYuadKDhKGpPSAKhlAJTEWRbkh8yJdtfsk9Pp7ruu++RR2pqIpnm5rA1MLAoDQC2du3lRlvb5ec9++w3D8BHIXoV5iieEuVHg2ciUjx8APnNpRw4smsSLrgcBVytY+WrCp8BFP7wHIIzFIKLEcSZFS9XMhIAwmhAznI9nuNUl4LZ27e/fOcXv3j/yzU1yemFdh/Af37OBwbG3B//eMfo4ODJZ+GjUALB5danAc7+S/T6Z4lagPP59FhQIX9A7aBoYhCyQ9HOLpTAljgAYU4K/emoqALFd6/6E5klQWDVfiTfNPOj6bSZQeYLcSmQAjL5e3k8/pYyPDz9/vXXX3sTnrB+tMP66DnAGm5Am27FiIGeOzeDOYUEWRxTormZCQuyk7bI7afGLSoMBegpEi3MGdwcQt8mhrwcRpIcVn9pG6yUjVVgBNTz78WDqk+VMW8PXnHFDX9vWX3kkOxKywt4S6yDT05C7kc/2jHY2Ljyjgcf/MozmEmtho9KqBFKQh45cLRZPnNEugEMrVSEG67UDhZpQPUmNR8RfVwrg/F+RqK/eE+8Wq/HILzi4sCSl2h2dnZ3bW0in05XZp5oAVwLlLq6lqjrJpOc55I//elTt6xff94fqCpU2bY7k05nhlKp2aGJiQ+GZmezqVdfffP99947mv7qV+9uu+SS9XcZRngVfEJkmubQd7+77bann/7mge7ubvKOvFL/hQQAmDioP//5ldFs1ozZdi4aj+vhfN6RJQqTBbJpauJqGOKtJ8wk8zpWk8ZLL239w02bLrz7kxDEa6/tvve2277yH+Pj2QmAbvNU/Vnl2+3q2rUDoYGBbDged0PIqJbJkAAshzHdVRQDr7NYQ0QFyGBZdsi2LUPXlYjj5IydO5/940su2fCxaASV8fv2vfP49dff8ZyqZiY+/emNaaxwnVONY6d+NLC2tjYVsTStv38V9h9GlboA26hLKFJnZ6enYgSkvKs2NGh6JmOiEBLRdDodjkY148knH/2tyy7beF1tbdXmeDx+Liwhob3/z+Dg6GsPPPD4v/7yl10jnOtTqZSJzq/LWsz4xQigvH9FmyK0bP16ekWtPnTixIxh23YYj6YM153VNC2sY0qrPvroX62rr1+RoJMPjv/QpOglcPHcX/2qexi1ZtUFFzSuQ81JGEYoiS1Gf1xCfoc6ou8Z3rfv0Huvv757sLNz95SqGmY6zTKhkJ6uq0tkent3VHwzrJyh5SDvuZsoylCBrJMJIRN6OKxorququZzL8HAHMLJhve4q+TxBwfJgW353WSiEJ6SQxRPrqGJZGdeDlKmmcNEfoflpDsIBFh54mOHwmvz4+E9y9LYotkW/VL1cAph7PiU/TPxFRAv6k6RqWWnFNHWNi+Se/iQuoszMzHqMUZ5cjVo0wVwXqyHMkriotYkcFo8nEbbLoMZkUYQRR9OyzthYEu18Gtt6bC/8//6z+/m3S0H1XnrW0L+QlhSaWtS8/7kCaVBLSP4NMTXxmxi/FH9i/7+rT2twf4PgbQAAAABJRU5ErkJggg=="}},uh=3.2,dh=({panelRect:e})=>{const t=Ee(e).stickers,r=C(i=>i.config.appearance.textScale),n=C(i=>i.coordSystem);if(t.length===0)return null;const a=Ke(uh,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"?ph(i,e):gh(i);return(0,o.jsx)(hh,{sticker:i,sizePx:a,x:s.x,y:s.y},i.id)})})},hh=({sticker:e,sizePx:t,x:r,y:n})=>{const a=go[e.sticker];if(!a)return null;const{width:i,height:s}=vh(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})`})},gh=e=>({x:(0,h.toPercent)(e.at.x),y:(0,h.toPercent)(1-e.at.y)}),ph=(e,t)=>{const r=xt(t),n=r.radius*2;return{x:r.centerX-r.radius+e.at.x*n,y:r.centerY-r.radius+e.at.y*n}},vh=(e,t)=>e>=1?{width:t,height:t/e}:{width:t*e,height:t},mh="_1agclyl0",fh="_1agclyl1",xh="_1agclyl2",bh={inside:"_1agclyl4 _1agclyl3",outside:"_1agclyl5 _1agclyl3"},Ah={inside:"_1agclyl6 _1agclyl3",outside:"_1agclyl7 _1agclyl3"},yh="_1agclyl8 _1agclyl3",po=({x:e,y:t,width:r,height:n,text:a,isRotated:i,target:s,position:l,coordType:c})=>{const u=i?`rotate(-90 ${e} ${t})`:void 0,d=Ph(s,l),p=Sh(s,l,c);return(0,o.jsxs)("g",{transform:u,children:[p&&(0,o.jsx)("rect",{className:p,x:e-r/2,y:t-n/2,width:r,height:n,rx:4,ry:4}),(0,o.jsx)("text",{className:d,x:e,y:t,textAnchor:"middle",dominantBaseline:"central",children:a})]})},Sh=(e,t,r)=>{if(e==="aggregate")return xh;if(t==="outside"&&r==="cartesian")return fh},Ph=(e,t)=>{switch(e){case"aggregate":return yh;case"category":return Ah[t];case"observation":return bh[t]}},wh=({panelRect:e,formattingLocale:t,plotBottomY:r,isFooterChromeReserved:n,shouldAnimate:a})=>{const i=Zs(),s=se(),l=ne(),c=C((0,G.useShallow)(m=>({layers:m.layers,coordSystem:m.coordSystem,axes:m.guides.axes,numberFormat:m.config.numberFormat,parsingLocale:m.config.parsingLocale,textScale:m.config.appearance.textScale}))),u=(0,g.useMemo)(()=>Rn({textMeasurer:s,textScale:c.textScale,metrics:l}),[s,c.textScale,l]),d=(0,g.useMemo)(()=>(0,h.buildDataLabelsContent)({...c,panelRect:e,measureDataLabel:u,formattingLocale:t,plotBottomY:r,isFooterChromeReserved:n}),[c,e,u,t,r,n]).labels.map((m,f)=>(0,o.jsx)(po,{x:m.x,y:m.y,width:m.width,height:m.height,text:m.text,isRotated:m.isRotated,target:m.target,position:m.position,coordType:c.coordSystem.type},`${m.layerId}:${f}`)),p={className:mh,transform:`translate(${e.x}, ${e.y})`,"data-testid":"data-labels"};return a&&i>0?(0,o.jsx)(w.motion.g,{...p,initial:{opacity:0},animate:{opacity:1},transition:{duration:Xs,delay:i},children:d}):(0,o.jsx)("g",{...p,children:d})},vo=()=>{const{selectionStore:e}=q();return(0,ke.useStore)(e,t=>t.selection)},jh=16,kh=({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)("path",{d:e,stroke:"transparent",strokeWidth:Math.max(n,jh),fill:"none",pointerEvents:"stroke"}),(0,o.jsx)("path",{d:e,...i}),(0,o.jsx)("path",{d:t,...i,strokeLinejoin:"round"})]})},Ch="_1y32a200",Eh=({x:e,y:t,text:r,box:n,lineHeight:a,strokeWidth:i,strokeColor:s,fontWeight:l,isAddressable:c})=>{const{fonts:u}=ne();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:v.vars.graphBackground,stroke:s,strokeWidth:i}),(0,o.jsx)("text",{x:e,y:t,dominantBaseline:"central",textAnchor:"middle",fill:v.vars.textPrimary,style:{fontFamily:u.familyDefault,fontSize:a,fontWeight:l},children:r})]})},Rh="75%",Lh=({panelRect:e,isEditable:t})=>{const r=ro(),n=Xe(s=>{const l=s.editTargetUnderPointer;return l?.kind==="annotation"?l.id:null}),a=vo(),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:d,labelPosition:p,labelBox:m,labelText:f,labelLineHeight:b,labelStrokeWidth:A,labelFontWeight:y,isDragged:S,hasComparableEndpoints:x})=>{const P=n===l||i.has(l),k=S&&!x,R=k?v.vars.alert:s??v.vars.defaultAnnotationArrowStroke,j=P&&!k?Th(R):R;return(0,o.jsxs)("g",{className:n===l?Ch:void 0,"data-warning":k||void 0,...pu({kind:"annotation",id:l}),children:[(0,o.jsx)(kh,{linePath:c,arrowheadPath:u,stroke:j,strokeWidth:d,isAddressable:t}),(0,o.jsx)(Eh,{x:p.x,y:p.y,text:f,box:m,lineHeight:b,strokeWidth:A,strokeColor:j,fontWeight:y,isAddressable:t})]},l)})})},Th=e=>`color-mix(in srgb, ${e} ${Rh}, ${v.vars.textPrimary})`,Bh=({edge:e,position:t,labelRotation:r,label:n})=>{const{tickLabelOffset:a}=ne(),i=(0,h.toPercent)(t),s={style:{font:v.vars.fontTickLabel},fill:v.vars.textSecondary},l=r!==0&&(e==="top"||e==="bottom"),c=e==="top";return l?(0,o.jsx)("svg",{x:i,y:c?"100%":0,style:{overflow:"visible"},children:(0,o.jsx)("text",{...Nh(c,a,r),...s,children:n})}):(0,o.jsx)("text",{...Mh(e,i,a),...s,children:n})},Mh=(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"}}},Nh=(e,t,r)=>{const n=e?-t:t;return{x:0,y:n,textAnchor:e?"start":"end",dominantBaseline:"central",transform:`rotate(${r}, 0, ${n})`}},Ih=({formattedAxis:e,rect:t})=>{const r=e.position==="bottom"||e.position==="top";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((n,a)=>{const i=n.formattedLabel,s=r?n.position:1-n.position,l=Oh(e.position,s,t);return(0,o.jsxs)("g",{children:[e.ticksVisible&&(0,o.jsx)("line",{...l,stroke:v.vars.gridLineColor,strokeWidth:1}),(0,o.jsx)(Bh,{edge:e.position,position:s,labelRotation:e.labelRotation,label:i})]},a)})]})},Oh=(e,t,r)=>{const n=(0,h.toPercent)(t);switch(e){case"bottom":return{x1:n,y1:0,x2:n,y2:6};case"top":return{x1:n,y1:r.height,x2:n,y2:r.height-6};case"left":return{x1:r.width,y1:n,x2:r.width-6,y2:n};case"right":return{x1:0,y1:n,x2:6,y2:n}}},Dh=({axes:e,rects:t})=>(0,o.jsx)(o.Fragment,{children:e.map(r=>{const n=t[r.position];if(!n||!r.isVisible)return null;const a=Fh(r.position,n);return(0,o.jsxs)("g",{transform:`translate(${n.x}, ${n.y})`,children:[!1,(0,o.jsx)("text",{style:{font:v.vars.fontAxisLabel},fill:v.vars.textPrimary,...a,children:r.label})]},`axis-label-${r.position}`)})}),Fh=(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},Gh=({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)(Ih,{formattedAxis:r,rect:n},r.scaleAestheticKey)})}),Hh=({formattedAxes:e,labelRects:t})=>(0,o.jsx)(Dh,{axes:e.filter(r=>r.geometry==="linear"),rects:t}),mo={strokeDashoffset:"0",strokeLinecap:"round"},fo=e=>{switch(e){case"dashed":return v.vars.gridLineDash;case"dotted":return v.vars.gridLineDotted;case"solid":return}},xo=({axes:e,panel:t,panelFrameRect:r,panelRect:n})=>{const a=n.x-r.x,i=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(s=>{if(s.geometry!=="linear"||!s.gridVisible)return null;const l=s.position==="bottom"||s.position==="top",c=fo(s.gridLineStyle),u=s.gridLineWidth??v.vars.gridLineWidth;return(0,o.jsx)("g",{children:s.ticks.map((d,p)=>{const m=Vh(l,d.position);if(m!==null&&t.border[m].isVisible)return null;const f=l?d.position:1-d.position;let b;if(l){const A=f*n.width+a;b={x1:A,y1:0,x2:A,y2:"100%"}}else{const A=f*n.height+i;b={x1:0,y1:A,x2:"100%",y2:A}}return(0,o.jsx)("line",{...b,...mo,strokeDasharray:c,strokeWidth:u,stroke:v.vars.gridLineColor},p)})},s.scaleAestheticKey)})})},Vh=(e,t)=>t<=0?e?"left":"bottom":t>=1?e?"right":"top":null,Wh=({sizes:e,panel:t,panelFrameRect:r})=>{if(C(a=>a.coordSystem.type==="polar"))return null;const n=(0,h.computePanelBorderPaths)(t.border,{x:e.left/2,y:e.top/2,width:r.width-(e.left+e.right)/2,height:r.height-(e.top+e.bottom)/2},t.cornerRadius);return n.length===0?null:(0,o.jsx)("svg",{"data-testid":"panel-border",x:r.x,y:r.y,width:r.width,height:r.height,style:{overflow:"visible"},children:n.map((a,i)=>(0,o.jsx)("path",{d:Uh(a.segments),fill:"none",stroke:a.color??v.vars.gridLineColor,strokeDasharray:fo(a.lineStyle),strokeWidth:a.lineWidth??v.vars.gridLineWidth,...mo},i))})},Uh=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 bo=(e,t)=>{const r=C(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=xt(e);return l.radius<=0?null:{circle:l,circularAxis:n,radialAxis:t.find(c=>c.geometry==="radial"),innerRadius:a,startAngle:i,angleFor:c=>(0,h.positionToAngle)(c,i,s),radiusNormFor:c=>a+c*(1-a)}},zh=3,Yh=16,Kh=({formattedAxes:e,panelRect:t})=>{const r=bo(t,e);if(!r)return null;const{circle:n,circularAxis:a,radialAxis:i,startAngle:s,angleFor:l,radiusNormFor:c}=r,u=qh(i,c,n.radius);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:[i?.isVisible&&u.map(({tick:d,radiusNorm:p},m)=>{const f=K(s,p,n);return(0,o.jsx)("text",{x:f.x,y:f.y,textAnchor:"middle",dominantBaseline:"central",style:{font:v.vars.fontTickLabel,paintOrder:"stroke"},stroke:v.vars.graphBackground,strokeWidth:zh,fill:v.vars.textSecondary,children:d.formattedLabel},`radial-label-${m}`)}),a.isVisible&&a.ticks.map((d,p)=>{if(d.position>=1-1e-9)return null;const m=l(d.position),f=K(m,(n.radius+h.POLAR_RIM_LABEL_GAP_PX)/n.radius,n);return(0,o.jsx)("text",{x:f.x,y:f.y,textAnchor:Qh(m),dominantBaseline:"central",style:{font:v.vars.fontTickLabel},fill:v.vars.textSecondary,children:d.formattedLabel},`rim-label-${p}`)})]})},qh=(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<Yh||(n.push({tick:i,radiusNorm:s}),a=l)}return n},Qh=e=>{const t=Math.sin(e);return Math.abs(t)<.01?"middle":t>0?"start":"end"},Xh=({formattedAxes:e,panelRect:t})=>{const r=bo(t,e);if(!r)return null;const{circle:n,circularAxis:a,radialAxis:i,innerRadius:s,angleFor:l,radiusNormFor:c}=r;return(0,o.jsxs)("svg",{x:t.x,y:t.y,width:t.width,height:t.height,overflow:"visible","data-testid":"polar-grid",children:[i?.gridVisible&&i.ticks.map((u,d)=>{const p=c(u.position)*n.radius;return p<=0||u.position>=1?null:(0,o.jsx)("circle",{cx:n.centerX,cy:n.centerY,r:p,fill:"none",stroke:v.vars.gridLineColor,strokeWidth:v.vars.gridLineWidth},`ring-${d}`)}),i?.gridVisible&&(0,o.jsx)("circle",{cx:n.centerX,cy:n.centerY,r:n.radius,fill:"none",stroke:v.vars.gridLineColor,strokeWidth:v.vars.gridLineWidth}),a.gridVisible&&a.ticks.map((u,d)=>{if(u.position>=1-1e-9)return null;const p=l(u.position),m=K(p,s,n),f=K(p,1,n);return(0,o.jsx)("line",{x1:m.x,y1:m.y,x2:f.x,y2:f.y,stroke:v.vars.gridLineColor,strokeWidth:v.vars.gridLineWidth},`spoke-${d}`)})]})},Jh={fill:"none",contain:"xMidYMid meet",cover:"xMidYMid slice"},hr=({panelRect:e,zOrder:t})=>{const r=Ee(e).images.filter(n=>n.zOrder===t);return r.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:r.map(({id:n,src:a,region:i,fit:s,opacity:l})=>(0,o.jsx)("image",{href:a,x:(0,h.toPercent)(i.x),y:(0,h.toPercent)(1-i.y-i.height),width:(0,h.toPercent)(i.width),height:(0,h.toPercent)(i.height),preserveAspectRatio:Jh[s],opacity:l},n))})},gr=({panelRect:e,zOrder:t})=>{const r=Ee(e).shapes.filter(n=>n.zOrder===t);return r.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:r.map(({id:n,region:a,fillColor:i,fillOpacity:s,strokeWidth:l,strokeColor:c})=>(0,o.jsx)("rect",{x:(0,h.toPercent)(a.x),y:(0,h.toPercent)(1-a.y-a.height),width:(0,h.toPercent)(a.width),height:(0,h.toPercent)(a.height),fill:i,fillOpacity:s,stroke:l>0?c??v.vars.defaultAnnotationShapeStroke:"none",strokeWidth:l},n))})},Zh="_120wioc0",_h=({panelRect:e})=>{const t=Ee(e).textAnnotations;return t.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:t.map(r=>(0,o.jsx)($h,{annotation:r},r.id))})},$h=({annotation:e})=>{const t=Yd(),r=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(typeof ResizeObserver>"u")return;const n=r.current;if(n===null)return;const a=()=>t(e.id,{width:n.offsetWidth,height:n.offsetHeight});a();const i=new ResizeObserver(a);return i.observe(n),()=>{i.disconnect(),t(e.id,null)}},[e.id,t]),(0,o.jsx)("foreignObject",{x:(0,h.toPercent)(e.at.x),y:(0,h.toPercent)(1-e.at.y),width:(0,h.toPercent)(e.width),height:(0,h.toPercent)(e.at.y),overflow:"visible",children:(0,o.jsx)("div",{ref:r,className:Zh,style:{...tg(e.backgroundColor,e.backgroundColorStyle),transform:eg(e.align)},children:(0,o.jsx)(je,{content:e.content})})})},eg=e=>{const t=(0,h.alignUnitFractions)(e);return`translate(${-t.x*100}%, ${-(1-t.y)*100}%)`},tg=(e,t)=>e===null||e==="transparent"?{color:v.vars.textPrimary}:t==="fade"?{color:v.vars.textPrimary,backgroundColor:ct(e,v.vars.grey100,.5),boxShadow:`0 0 0 1.5px ${ct(e,v.vars.grey0,.2)}`}:{color:v.vars.textPrimary,backgroundColor:e,boxShadow:`0 0 0 1.5px ${Ye(e,.1)}`},rg=({layer:e,coordSystem:t,isAnimated:r,isDimmed:n,dimStyle:a,formattingLocale:i})=>{const s=oe(),l=_s(e.id),c=s(e.geom,t.type);if(c===null)return null;const u=qe(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,isAnimated:r,formattingLocale:i,intro:l})})};function ng({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 og=4,ag=({renderer:e,layer:t,matchedLayer:r,overlayCandidates:n,coordSystem:a,isAnimated:i,panelRect:s,formattingLocale:l})=>{const{numberFormat:c,textScale:u}=C((0,G.useShallow)(x=>({numberFormat:x.config.numberFormat,textScale:x.config.appearance.textScale}))),d=(0,g.useMemo)(()=>ng({renderer:e,layer:t,coordSystem:a,candidates:n}),[e,t,a,n]),p=L(t),m=(0,g.useMemo)(()=>(0,h.createSegmentYReader)(t),[t]),f=(0,g.useMemo)(()=>(0,h.buildLayerYValueFormatter)({layer:t,numberFormat:c,locale:l}),[c,t,l]),{fonts:b}=ne(),A=(0,g.useMemo)(()=>Y(b.dataLabel,u),[b.dataLabel,u]);if(e===null||r===null&&d.length===0)return null;const y=qe(e.render);let S=null;if(r&&!y.overlay){const x={layer:r,sourceLayer:t,coordSystem:a,isAnimated:i,formattingLocale:l,panelRect:s};S=e.renderHighlight?e.renderHighlight(x):y.fn(x)}return(0,o.jsxs)(o.Fragment,{children:[S,d.map(({observation:x,observationIndex:P,anchor:k})=>(0,o.jsx)(ig,{observation:x,anchor:k,panelRect:s,fill:p.get("color",x),dotRadius:(p.get("size",x)??8)/2,readSegmentY:m,formatYValue:f,labelFont:A},sg(x,P)))]})},ig=({observation:e,anchor:t,panelRect:r,fill:n,dotRadius:a,readSegmentY:i,formatYValue:s,labelFont:l})=>{const c=se(),u=(0,h.toViewBoxX)(t.x),d=(0,h.toViewBoxY)(t.y),p=i(e),m=(0,h.isDefined)(p)?s(p,e):null,f=(0,g.useMemo)(()=>{if(m===null)return null;const b=c.measureText(m,l);return{width:b.width+h.DATA_LABEL_PADDING_X_PX*2,height:b.height+h.DATA_LABEL_PADDING_Y_PX*2}},[m,c,l]);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("circle",{"data-testid":"highlight-overlay-dot",cx:(0,h.toPercent)(u),cy:(0,h.toPercent)(d),r:a,fill:n}),m!==null&&f!==null&&(0,o.jsx)(po,{x:u*r.width,y:d*r.height-a-og-f.height/2,width:f.width,height:f.height,text:m,isRotated:!1,target:"observation",position:"outside",coordType:"cartesian"})]})},sg=(e,t)=>{const r=e[h.GROUP_VARIABLES.group];return`${String(r??"")}\0${t}`},lg=({layer:e,coordSystem:t,panelRect:r})=>{const{primary:n,group:a,related:i}=pe((0,G.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||cn(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})},cg=e=>{const t=L(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])},ug="var(--to1jkx0)",dg="var(--to1jkx1)",hg="to1jkx2",gg="to1jkx3",pg=({shouldAnimate:e,panelRect:t,formattingLocale:r})=>{const{layers:n,coordSystem:a}=C((0,G.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:hg,"data-testid":"geom-layers",children:n.map(i=>(0,o.jsxs)(g.Fragment,{children:[(0,o.jsx)(xg,{layer:i,coordSystem:a,shouldAnimate:e,panelRect:t,formattingLocale:r}),(0,o.jsx)(lg,{layer:i,coordSystem:a,panelRect:t})]},`${i.id}-${vg(a)}`))})},vg=e=>e.type==="cartesian"?`cartesian-${e.mainAxis}`:e.type,mg=e=>{if(e.geom!=="rule")return gg},fg=e=>(0,xr.assignInlineVars)({...e.opacity===void 0?{}:{[ug]:String(e.opacity)},...e.saturation===void 0?{}:{[dg]:`saturate(${e.saturation})`}}),xg=({layer:e,coordSystem:t,shouldAnimate:r,panelRect:n,formattingLocale:a})=>{const i=oe(),s=(0,g.useMemo)(()=>i(e.geom,t.type),[i,e,t]),l=e.highlight,c=cg(e),u={layer:e,coordSystem:t,isAnimated:r,formattingLocale:a},d=s?qe(s.render):null,p=e.spatialKind==="render-hit-test",m=mg(e);return(0,o.jsxs)("g",{className:m,style:m===void 0?void 0:fg(c),children:[(0,o.jsx)(rg,{layer:e,coordSystem:t,isAnimated:r,isDimmed:l?.composition.isDimmed??!1,dimStyle:c,formattingLocale:a}),p&&!d?.overlay&&s?.hitTest&&(0,o.jsx)(Ui,{hitTest:s.hitTest,input:u}),p&&d?.overlay&&(0,o.jsx)(Qi,{render:d.fn,input:u}),l!==null&&(0,o.jsx)(ag,{renderer:s,layer:e,matchedLayer:l.composition.matchedLayer,overlayCandidates:l.composition.overlayCandidates,coordSystem:t,isAnimated:r,panelRect:n,formattingLocale:a})]})},bg="_17uhij30",Ag=({formattedAxes:e,panelGuide:t,plotRect:r,panelBorder:n,panelFrameRect:a,panelRect:i,axisRects:s,axisLabelRects:l,shouldAnimate:c,formattingLocale:u,plotBottomY:d,isFooterChromeReserved:p,isEditable:m})=>{const f=(0,g.useRef)(null);Wd(f);const b=J("Grid",xo),A=J("AxisTicks",Gh),y=J("AxisLabel",Hh),S=(0,g.useMemo)(()=>pt(a,r),[a,r]),x=(0,g.useMemo)(()=>pt(i,r),[i,r]),P=(0,g.useMemo)(()=>pr(s,r),[s,r]),k=(0,g.useMemo)(()=>pr(l,r),[l,r]);return(0,o.jsx)("svg",{ref:f,className:bg,width:r.width,height:r.height,style:{transform:`translate(${r.x}px, ${r.y}px)`},"data-testid":"plot",children:(0,o.jsxs)(Ud,{children:[(0,o.jsx)(ar,{panelRect:x}),(0,o.jsx)(b,{axes:e,panel:t,panelFrameRect:S,panelRect:x}),(0,o.jsx)(A,{formattedAxes:e,tickRects:P}),(0,o.jsx)(y,{formattedAxes:e,labelRects:k}),(0,o.jsx)(Xh,{formattedAxes:e,panelRect:x}),(0,o.jsx)(ar,{panelRect:x}),(0,o.jsx)(gr,{panelRect:x,zOrder:"background"}),(0,o.jsx)(hr,{panelRect:x,zOrder:"background"}),(0,o.jsx)(Wh,{sizes:n,panel:t,panelFrameRect:S}),(0,o.jsx)(pg,{shouldAnimate:c,panelRect:x,formattingLocale:u}),(0,o.jsx)(Kh,{formattedAxes:e,panelRect:x}),(0,o.jsx)(wh,{panelRect:x,formattingLocale:u,plotBottomY:d,isFooterChromeReserved:p,shouldAnimate:c}),(0,o.jsx)(Lh,{panelRect:x,isEditable:m}),(0,o.jsx)(gr,{panelRect:x,zOrder:"foreground"}),(0,o.jsx)(hr,{panelRect:x,zOrder:"foreground"}),(0,o.jsx)($d,{panelRect:x}),(0,o.jsx)(_h,{panelRect:x}),(0,o.jsx)(dh,{panelRect:x}),(0,o.jsx)(ch,{panelRect:x}),(0,o.jsx)(Vd,{panelRect:x})]})})},pt=(e,t)=>({x:e.x-t.x,y:e.y-t.y,width:e.width,height:e.height}),pr=(e,t)=>{const r={};for(const[n,a]of Object.entries(e))r[n]=pt(a,t);return r},yg=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:vr(t,"width"),height:vr(r,"height")}},vr=(e,t)=>{if(e<=0||Number.isNaN(e)||!Number.isFinite(e))throw new h.InternalError({message:`Expected ${t} to be a positive, finite number, but got ${e}.`});return e},Sg=({sizing:e,onResize:t,children:r})=>{const n=mn({onResize:t});if(e.mode==="keepAspectRatio"){const{intrinsicSize:i,canRender:s,outerStyles:l,innerStyles:c}=Pg(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})})},Pg=(e,t,r)=>{const n=yg(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}}},wg={mode:"responsive"},it={headerSize:{width:0,height:0},footerSize:{width:0,height:0}},jg=()=>{const[e,t]=(0,g.useState)(null),[r,n]=(0,g.useState)(null),[a,i]=(0,g.useState)(it);return(0,g.useEffect)(()=>{const s=()=>{const c=e?{width:e.offsetWidth,height:e.offsetHeight}:it.headerSize,u=r?{width:r.offsetWidth,height:r.offsetHeight}:it.footerSize;i(d=>kg(d,{headerSize:c,footerSize:u})?{headerSize:c,footerSize:u}:d)};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}},kg=(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,Cg=()=>null,Eg=({appearance:e,isEditable:t,style:r,contentRef:n,children:a})=>{const{colorScheme:i,themeClass:s,inlineVarsStyle:l}=Qe(),c=ps(e.border),u=Math.max(0,e.cornerRadius),d=u===0?0:u+c,p=(0,g.useMemo)(()=>{const b={...r,borderRadius:`${d}px`,...l},A=gs(e.border,i);return A!==null&&(b.background=A),b},[r,d,l,e.border,i]),m=(0,g.useMemo)(()=>({inset:`${c}px`,borderRadius:`${u}px`}),[c,u]),f=t&&e.background.type==="solid"&&e.background.color==="transparent";return(0,o.jsx)("div",{"data-testid":"graph-wrapper",className:(0,B.default)(fs,s),style:p,children:(0,o.jsx)("div",{ref:n,"data-testid":"graph-inner",tabIndex:t?0:void 0,className:(0,B.default)(bs,{[As]:t,[ys]:f}),style:m,children:a})})},Rg=({slots:e,sizing:t=wg,onResize:r,...n})=>{const{formattingLocale:a}=q(),i=C(s=>s.config.parsingLocale);return(0,o.jsx)(hn,{children:(0,o.jsx)(Jr,{children:(0,o.jsx)(An,{locale:a??i,children:(0,o.jsx)(oi,{slots:e,children:(0,o.jsx)(Sg,{sizing:t,onResize:r,children:({width:s,height:l})=>(0,o.jsx)(Lg,{width:s,height:l,...n})})})})})})},Lg=({width:e,height:t,isAnimated:r,animation:n,showTooltips:a=!0,mode:i="readonly"})=>{const s=$(),{axes:l,panel:c,legends:u,layers:d,numberFormat:p,parsingLocale:m,appearance:f,annotations:b,coordSystem:A,headline:y,headlineConfig:S,content:x,overflowStrategy:P,layoutConfig:k}=C((0,G.useShallow)(F=>({axes:F.guides.axes,panel:F.guides.panel,legends:F.guides.legends,layers:F.layers,numberFormat:F.config.numberFormat,parsingLocale:F.config.parsingLocale,appearance:F.config.appearance,annotations:F.annotations,coordSystem:F.coordSystem,headline:F.guides.headline,headlineConfig:F.config.headline,content:F.config.content,overflowStrategy:F.config.panel.overflow,layoutConfig:F.config.layout}))),R=(0,w.useReducedMotion)(),j=r??!R,{headerRef:E,footerRef:T,measurements:M}=jg(),{formattingLocale:O,colorScheme:Ze,themeOverrides:_e}=q(),Re=i==="editable",[Lt,Ao]=(0,g.useState)(null),Le=(0,g.useMemo)(()=>zr(Ze,_e),[Ze,_e]),yo=J("Header",Jn),So=J("Footer",Xn),Po=J("Legend",Ld),wo=J("Headline",Yu),jo=J("EditorSurface",Cg),Tt=(0,g.useMemo)(()=>(0,h.formatLegends)({legends:u,numberFormat:p,parsingLocale:m,formattingLocale:O}),[u,p,m,O]),be=(0,g.useMemo)(()=>(0,h.formatHeadline)({headline:y,show:S.show,numberFormat:p,parsingLocale:m,formattingLocale:O,t:s}),[y,S.show,p,m,O,s]),ko=se(),$e=f.border.type==="none"?0:f.border.width,Ae=(0,g.useMemo)(()=>({width:Math.max(0,e-2*$e),height:Math.max(0,t-2*$e)}),[e,t,$e]),Bt=(0,g.useMemo)(()=>Mn(x.brandMark.enabled,Ae,x.brandMark.variant),[x.brandMark.enabled,x.brandMark.variant,Ae]),Co=x.brandMark.placement==="footer"?Bt:"hidden",Eo=x.brandMark.placement==="header"?Bt:"hidden",Te=(0,g.useMemo)(()=>be?{formatted:be,size:S.size,position:S.position,innerRadius:A.type==="polar"?A.innerRadius:0}:void 0,[be,S.size,S.position,A]),Ro=ai(),Be=gl(ko,f.textScale,Le,Ro),Mt=(0,g.useMemo)(()=>(0,h.computePanelBorderSizes)(c.border),[c.border]),ye=pl({measurer:Be,axes:l,numberFormat:p,parsingLocale:m,formattedLegends:Tt,containerSize:Ae,externalMeasurements:M,headline:Te,formattingLocale:O,annotations:b,layers:d,coordSystem:A,textScale:f.textScale,overflowStrategy:P,layout:k,panelBorder:Mt}),Me=(0,g.useMemo)(()=>!ye||!Te||!Be?null:(0,h.resolveHeadlinePlacement)({headline:Te,layout:ye.layout,containerSize:Ae,measurer:Be,itemGap:Le.headlineItemGap}),[ye,Te,Be,Ae,Le.headlineItemGap]);if(!ye)return null;const{layout:U,formattedAxes:Lo,plotBottomY:To}=ye,Bo=U.footer.height>0;return(0,o.jsx)(wn,{colorScheme:Ze,themeOverrides:_e,appearance:f,children:(0,o.jsx)(Ya,{metrics:Le,children:(0,o.jsx)(Su,{panelRect:U.panel,children:(0,o.jsx)(Eg,{appearance:f,isEditable:Re,contentRef:Re?Ao:void 0,style:{width:"100%",height:"100%"},children:(0,o.jsxs)(Js,{shouldAnimate:j,animation:n,children:[(0,o.jsx)(yo,{ref:E,headerRect:U.header,mode:i,title:x.title,isTitleVisible:x.isTitleVisible,subtitle:x.subtitle,isSubtitleVisible:x.isSubtitleVisible,brandMark:Eo}),(0,o.jsx)(Ag,{formattedAxes:Lo,panelGuide:c,plotRect:U.plot,panelBorder:Mt,panelFrameRect:U.panelFrame,panelRect:U.panel,axisRects:U.axes,axisLabelRects:U.axisLabels,shouldAnimate:r??!R,formattingLocale:O??m,plotBottomY:To,isFooterChromeReserved:Bo,isEditable:Re}),(0,o.jsx)(So,{ref:T,footerRect:U.footer,mode:i,caption:x.caption,isCaptionVisible:x.isCaptionVisible,source:x.source,isSourceVisible:x.isSourceVisible,brandMark:Co}),(0,o.jsx)(Po,{formattedLegends:Tt,rects:U.legends,textScale:f.textScale}),be&&Me&&(0,o.jsx)(wo,{headline:be,rect:Me.rect,resolvedSize:Me.resolvedSize,visibleItemCount:Me.visibleItemCount}),Re&&Lt!==null&&(0,o.jsx)(jo,{frameElement:Lt,panelRect:U.panel}),a&&(0,o.jsx)(Us,{})]})})})})})},Tg=e=>{const t=(0,g.useContext)(ft);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])},Bg=e=>(0,g.useSyncExternalStore)(e.subscribe,e.getCompiled,e.getCompiled),Mg=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,"BUILT_IN_GEOM_RENDERERS",{enumerable:!0,get:function(){return ln}});Object.defineProperty(exports,"BrandMark",{enumerable:!0,get:function(){return jt}});Object.defineProperty(exports,"CanvasTextMeasurer",{enumerable:!0,get:function(){return qr}});Object.defineProperty(exports,"CheckIcon",{enumerable:!0,get:function(){return Kn}});Object.defineProperty(exports,"ChevronDownIcon",{enumerable:!0,get:function(){return Ct}});Object.defineProperty(exports,"DefaultFooter",{enumerable:!0,get:function(){return Xn}});Object.defineProperty(exports,"DefaultGrid",{enumerable:!0,get:function(){return xo}});Object.defineProperty(exports,"DefaultHeader",{enumerable:!0,get:function(){return Jn}});Object.defineProperty(exports,"DefaultSwatch",{enumerable:!0,get:function(){return $r}});Object.defineProperty(exports,"DefaultTooltip",{enumerable:!0,get:function(){return Cn}});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 Zn}});Object.defineProperty(exports,"EditorProvider",{enumerable:!0,get:function(){return Au}});Object.defineProperty(exports,"FloatingToolbar",{enumerable:!0,get:function(){return H}});Object.defineProperty(exports,"GeomRendererResolverProvider",{enumerable:!0,get:function(){return Za}});Object.defineProperty(exports,"GraphContext",{enumerable:!0,get:function(){return ft}});Object.defineProperty(exports,"GraphRenderer",{enumerable:!0,get:function(){return Rg}});Object.defineProperty(exports,"HoverProvider",{enumerable:!0,get:function(){return hn}});Object.defineProperty(exports,"Icon",{enumerable:!0,get:function(){return ee}});Object.defineProperty(exports,"IntlProvider",{enumerable:!0,get:function(){return An}});Object.defineProperty(exports,"OverlayPortal",{enumerable:!0,get:function(){return pn}});Object.defineProperty(exports,"PortalThemeProvider",{enumerable:!0,get:function(){return ae}});Object.defineProperty(exports,"STICKER_ASSETS",{enumerable:!0,get:function(){return go}});Object.defineProperty(exports,"TextMeasurerProvider",{enumerable:!0,get:function(){return Jr}});Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return wn}});Object.defineProperty(exports,"Z_INDEX",{enumerable:!0,get:function(){return he}});Object.defineProperty(exports,"__toESM",{enumerable:!0,get:function(){return mr}});Object.defineProperty(exports,"createGeomRendererResolver",{enumerable:!0,get:function(){return un}});Object.defineProperty(exports,"darkTheme",{enumerable:!0,get:function(){return Pn}});Object.defineProperty(exports,"defineGeomRenderer",{enumerable:!0,get:function(){return Gi}});Object.defineProperty(exports,"isOverlayHosted",{enumerable:!0,get:function(){return cn}});Object.defineProperty(exports,"lightTheme",{enumerable:!0,get:function(){return Sn}});Object.defineProperty(exports,"lightenCss",{enumerable:!0,get:function(){return At}});Object.defineProperty(exports,"readDraggedEndpointFor",{enumerable:!0,get:function(){return vu}});Object.defineProperty(exports,"readStanding",{enumerable:!0,get:function(){return $n}});Object.defineProperty(exports,"resolveBrandMarkVisual",{enumerable:!0,get:function(){return Mn}});Object.defineProperty(exports,"resolveHistoryStep",{enumerable:!0,get:function(){return Mg}});Object.defineProperty(exports,"resolvePortalContainer",{enumerable:!0,get:function(){return _}});Object.defineProperty(exports,"useCompiledSelector",{enumerable:!0,get:function(){return C}});Object.defineProperty(exports,"useDifferenceArrowGeometries",{enumerable:!0,get:function(){return ro}});Object.defineProperty(exports,"useEditorState",{enumerable:!0,get:function(){return Xe}});Object.defineProperty(exports,"useEditorStore",{enumerable:!0,get:function(){return yu}});Object.defineProperty(exports,"useElementScreenRect",{enumerable:!0,get:function(){return fn}});Object.defineProperty(exports,"useGeomHitTest",{enumerable:!0,get:function(){return gn}});Object.defineProperty(exports,"useGeomHover",{enumerable:!0,get:function(){return xn}});Object.defineProperty(exports,"useGraphCommands",{enumerable:!0,get:function(){return kt}});Object.defineProperty(exports,"useGraphContext",{enumerable:!0,get:function(){return q}});Object.defineProperty(exports,"useGraphHandle",{enumerable:!0,get:function(){return Tg}});Object.defineProperty(exports,"useGraphSelection",{enumerable:!0,get:function(){return vo}});Object.defineProperty(exports,"useHandleCompiled",{enumerable:!0,get:function(){return Bg}});Object.defineProperty(exports,"useHoverContext",{enumerable:!0,get:function(){return le}});Object.defineProperty(exports,"useHoverState",{enumerable:!0,get:function(){return pe}});Object.defineProperty(exports,"useI18n",{enumerable:!0,get:function(){return $}});Object.defineProperty(exports,"useLatestRef",{enumerable:!0,get:function(){return Ve}});Object.defineProperty(exports,"useTextMeasurer",{enumerable:!0,get:function(){return se}});
|