@vielzeug/prism 2.2.2 → 2.2.3

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/dist/prism.js CHANGED
@@ -1,2 +1,2 @@
1
- import{createScope as e,effect as t,isReactive as n,signal as r}from"@vielzeug/ripple";import{computePosition as i,flip as a,offset as o,shift as s}from"@vielzeug/orbit";var c={"ease-in":e=>e*e,"ease-in-out":e=>e<.5?2*e*e:1-(-2*e+2)**2/2,"ease-out":e=>1-(1-e)*(1-e),linear:e=>e};function l(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(c,e)?c[e]:c[`ease-out`]}function u(e,t=300){let n=e?.preference??`system`,r=typeof matchMedia<`u`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches,i=n===`never`||n===`system`&&r?0:e?.duration??t;return{...e,duration:i,stagger:Math.max(0,e?.stagger??0)}}function d(e,t,n){return e+(t-e)*n}function f(e,t,n,r){let i=u(t),a=i.duration,o=l(i.easing),s=i.stagger;if(a===0||e.length===0){for(let t of e)for(let[e,{to:n}]of Object.entries(t.attrs))t.el.setAttribute(e,String(n));return n?.(),()=>{}}let c=null,f=!1,p=Math.max(a,a+s*(e.length-1));function m(t){if(f||r?.aborted)return;c===null&&(c=t);let i=t-c;for(let t=0;t<e.length;t++){let n=e[t],r=s*t,c=Math.max(0,i-r),l=Math.min(1,c/a),u=o(l);for(let[e,{from:t,to:r}]of Object.entries(n.attrs))n.el.setAttribute(e,String(d(t,r,u)))}i<p?requestAnimationFrame(m):n?.()}return requestAnimationFrame(m),()=>{f=!0}}var p=`http://www.w3.org/2000/svg`;function m(e,t){let n=document.createElementNS(p,e);return t&&h(n,t),n}function h(e,t){for(let[n,r]of Object.entries(t)){if(r===void 0){e.removeAttribute(n);continue}typeof r==`number`&&!Number.isFinite(r)&&`${n}${e.tagName}${r}`,e.setAttribute(n,String(r))}}function g(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function _(e,t){let n=m(`text`,t);return n.textContent=e,n}function v(e){return typeof e.bandwidth==`function`}function y(e,t){return v(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var b=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):String(e);function x(e,t,n){let r=e.position??n,i=r===`bottom`||r===`top`?Math.max(2,Math.floor(t/80)):Math.max(2,Math.floor(t/50));return e.tickCount??i}function S(e,t,n,r,i=`bottom`){g(e);let a=n.position??i,o=a===`bottom`||a===`top`,s=a===`top`||a===`left`,c=s?-1:1,l=m(`line`,{"aria-hidden":`true`,class:`prism-axis-line`,x1:0,x2:o?r:0,y1:0,y2:o?0:r});e.appendChild(l);let u=t.ticks(x(n,r,i)),d=n.tickFormat??b;for(let n of u){let r=y(t,n),i=m(`line`,{"aria-hidden":`true`,class:`prism-axis-tick`,x1:o?r:0,x2:o?r:6*c,y1:o?0:r,y2:o?6*c:r});e.appendChild(i);let a=_(d(n),{"aria-hidden":`true`,class:`prism-axis-label`,"dominant-baseline":o?s?`auto`:`hanging`:`middle`,"text-anchor":o?`middle`:s?`end`:`start`,x:o?r:6*c*1.5,y:o?6*c*1.5:r});e.appendChild(a)}if(n.label){let t=_(n.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});o?h(t,{x:r/2,y:6*c*3.5}):h(t,{transform:`translate(${6*c*4}, ${r/2}) rotate(-90)`}),e.appendChild(t)}}function C(e,t,n,r,i,a=10){g(e);let o=n!==!0&&n.color||void 0,s=n!==!0&&n.dash||void 0,c=t.ticks(a);for(let n of c){let a=y(t,n),c={class:`prism-grid-line`,stroke:o??`var(--prism-grid-color)`,"stroke-dasharray":s,"stroke-opacity":`var(--prism-grid-opacity)`};i===`vertical`?Object.assign(c,{x1:a,x2:a,y1:0,y2:r}):Object.assign(c,{x1:0,x2:r,y1:a,y2:a}),e.appendChild(m(`line`,c))}}function w(e,t){let n=Math.floor(Math.log10(e)),r=e/10**n,i;return i=t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,i*10**n}function T(e,t,n){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e>t&&([e,t]=[t,e]),e===t)return[e-1,t+1];let r=w(w(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function E(e){let t=()=>e.nice===!1?e.domain:T(e.domain[0],e.domain[1],10),n=()=>e.range;return{get domain(){return t()},invert(e){let[r,i]=t(),[a,o]=n();return o===a?r:r+(e-a)/(o-a)*(i-r)},map(r){let[i,a]=t(),[o,s]=n();if(a===i)return o;let c=(r-i)/(a-i);return e.clamp&&(c=Math.max(0,Math.min(1,c))),o+c*(s-o)},get range(){return n()},ticks(e=10){if(e<=0)return[];let[n,r]=t();if(n===r||e===1)return[n];let i=Math.min(n,r),a=Math.max(n,r),o=w(w(a-i,!1)/(e-1),!0),s=Math.ceil(i/o)*o,c=Math.floor(a/o)*o,l=[];for(let e=s;e<=c+o*.5;e+=o)l.push(Math.round(e*0xe8d4a51000)/0xe8d4a51000);return l}}}var D=1e3,O=60*D,k=60*O,A=24*k,j=30*A,M=365*A,N=[D,5*D,15*D,30*D,O,5*O,15*O,30*O,k,3*k,6*k,12*k,A,7*A,j,3*j,6*j,M];function P(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of N)if(e>=n)return e;return M}function F(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=P(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function ee(e){let t=()=>e.nice===!1?e.domain:F(e.domain,10),n=()=>e.range;return{get domain(){return t()},invert(e){let[r,i]=t(),[a,o]=n();if(o===a)return r;let s=(e-a)/(o-a);return new Date(r.getTime()+s*(i.getTime()-r.getTime()))},map(e){let[r,i]=t(),[a,o]=n(),s=i.getTime()-r.getTime();return s===0?a:a+(e.getTime()-r.getTime())/s*(o-a)},get range(){return n()},ticks(e=10){let[n,r]=t(),i=P(r.getTime()-n.getTime(),e),a=Math.ceil(n.getTime()/i)*i,o=[];for(let e=a;e<=r.getTime();e+=i)o.push(new Date(e));return o}}}function te(e,t){if(e.length===0||e.some(e=>e==null)||e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return E({domain:[0,1],range:[0,t]});if(e[0]instanceof Date){let n=e,r=Math.min(...n.map(Number)),i=Math.max(...n.map(Number));return ee({domain:[new Date(r),new Date(r===i?i+1:i)],range:[0,t]})}let n=e,r=Math.min(...n),i=Math.max(...n);return E({domain:[r,r===i?i+1:i],nice:!1,range:[0,t]})}function I(e,t,n=!0){if(e.length===0||e.some(e=>e==null)||e.some(e=>!Number.isFinite(e)))return E({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return E({domain:[i,i===a?a+1:a],range:[t,0]})}function ne(e){return e===!0?`bottom`:e.position??`bottom`}function re(e,t){let n=ne(t),r=document.createElement(`div`);r.className=`prism-legend prism-legend-${n}`,n===`top`?e.insertBefore(r,e.firstChild):e.appendChild(r);let i=()=>{r.remove()};return{dispose:i,el:r,[Symbol.dispose]:i,update(e){r.innerHTML=``;for(let t of e){let e=document.createElement(`div`);e.className=`prism-legend-item`;let n=document.createElement(`span`);n.className=`prism-legend-dot`,n.style.backgroundColor=t.color;let i=document.createElement(`span`);i.className=`prism-legend-label`,i.textContent=t.name,e.appendChild(n),e.appendChild(i),r.appendChild(e)}}}}function ie(e,t){getComputedStyle(e).position===`static`&&(e.style.position=`relative`);let n=document.createElement(`div`);n.className=`prism-tooltip`,n.style.position=`absolute`,n.style.pointerEvents=`none`,n.style.top=`0`,n.style.left=`0`,n.setAttribute(`role`,`status`),n.setAttribute(`aria-live`,`polite`),e.appendChild(n);let r=t!==!0&&t?.offset||8,c=t===!0?void 0:t?.render,l=t===!0?void 0:t?.sanitize,u=null,d=null,f=!1,p=()=>{d!==null&&(clearTimeout(d),d=null)},m=()=>{u!==null&&(cancelAnimationFrame(u),u=null)},h=()=>{m(),p(),n.remove()};return{dispose:h,el:n,hide(){m(),p(),f=!1,n.style.opacity=`0`,d=setTimeout(()=>{d=null,f||(n.textContent=``)},150)},show(t,d,m,h){if(!e.isConnected)return;if(p(),c){let e=c(m,h);l?n.innerHTML=l(e):n.textContent=e}else n.textContent=`${h.name}: ${m.value}`;let{x:g,y:_}=i({getBoundingClientRect:()=>{let n=e.getBoundingClientRect();return{bottom:n.top+d,height:0,left:n.left+t,right:n.left+t,top:n.top+d,width:0,x:n.left+t,y:n.top+d}}},n,{containingBlock:e,middleware:[o(r),a(),s({padding:8})],placement:`top`});if(n.style.left=`${g}px`,n.style.top=`${_}px`,f){u===null&&(n.style.opacity=`1`);return}f=!0,n.style.opacity=`0`,u=requestAnimationFrame(()=>{u=null,f&&(n.style.opacity=`1`)})},[Symbol.dispose]:h}}var ae=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},oe=class extends ae{},se={bottom:40,left:50,right:20,top:20};function ce(e){return{...se,...e}}function L(e,t,n){return{height:Math.max(0,t-n.top-n.bottom),width:Math.max(0,e-n.left-n.right)}}function le(e,t){let n=null,r=new ResizeObserver(e=>{n!==null&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{n=null;let r=e[0];if(r){let{height:e,width:n}=r.contentRect;t(n,e)}})});return r.observe(e),()=>{n!==null&&cancelAnimationFrame(n),r.disconnect()}}function ue(e,t){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new oe(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let n=ce(t.margin),i=t.a11y,a=m(`svg`,{...t.ariaHidden||i?.decorative?{"aria-hidden":`true`}:{...i?{"aria-label":i.ariaLabel,tabindex:`0`}:{},role:`img`},class:`prism-chart`,style:`display:block;width:100%;height:100%`}),o=m(`g`,{class:`prism-chart-area`,transform:`translate(${n.left},${n.top})`});a.appendChild(o);let s=e.getBoundingClientRect();s.width===0||s.height;let c=typeof getComputedStyle<`u`?getComputedStyle(e):null;c&&c.position;let l=r({height:s.height||300,margin:n,width:s.width||600}),u=le(e,(e,t)=>{l.value={height:t,margin:n,width:e},h(a,{height:t,viewBox:`0 0 ${e} ${t}`,width:e})}),d=s.width||600,f=s.height||300;return h(a,{height:f,viewBox:`0 0 ${d} ${f}`,width:d}),e.appendChild(a),{chartArea:o,dimensions:l,dispose(){u(),a.remove()},svg:a}}function de(e,t,n,r){g(e.series),g(e.grid),g(e.xAxis),g(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function fe(n,r,i,a){let o=ue(n,{a11y:r.a11y,margin:r.margin}),s=r.tooltip?ie(n,r.tooltip):null,c=r.legend?re(n,r.legend):null,l=new AbortController,u=i(o,s,c,l.signal),d=!1,f=pe(o.svg),p=e();p.run(()=>{t(()=>{d||f.attach(a(u))},{scheduler:`microtask`})});let m=[];if(r.plugins){let e={container:n,dimensions:o.dimensions,disposalSignal:l.signal,svg:o.svg};for(let t of r.plugins)try{t.install(e),m.push(t)}catch{}}return{get disposalSignal(){return l.signal},dispose(){if(!d){d=!0,l.abort(),f.detach();for(let e of m)try{e.dispose()}catch{}s?.dispose(),c?.dispose(),p.dispose(),o.dispose()}},get disposed(){return d},el:o.svg,[Symbol.dispose](){this.dispose()}}}function pe(e){let t=null;return{attach(n){t&&=(t.onMouseMove&&e.removeEventListener(`mousemove`,t.onMouseMove),t.onMouseLeave&&e.removeEventListener(`mouseleave`,t.onMouseLeave),t.onClick&&e.removeEventListener(`click`,t.onClick),t.onKeyDown&&e.removeEventListener(`keydown`,t.onKeyDown),null),n&&(t=n,n.onMouseMove&&e.addEventListener(`mousemove`,n.onMouseMove),n.onMouseLeave&&e.addEventListener(`mouseleave`,n.onMouseLeave),n.onClick&&e.addEventListener(`click`,n.onClick),n.onKeyDown&&e.addEventListener(`keydown`,n.onKeyDown))},detach(){this.attach(void 0)}}}function R(e,t,n){return fe(e,t,(t,n,r,i)=>{let a={grid:m(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:m(`g`,{class:`prism-series`}),xAxis:m(`g`,{class:`prism-x-axis`}),yAxis:m(`g`,{class:`prism-y-axis`})};return t.chartArea.appendChild(a.grid),t.chartArea.appendChild(a.xAxis),t.chartArea.appendChild(a.yAxis),t.chartArea.appendChild(a.series),{chartArea:t.chartArea,container:e,dimensions:t.dimensions,disposalSignal:i,groups:a,legend:r,svg:t.svg,tooltip:n}},n)}function me(e,t,n){return fe(e,t,(t,n,r,i)=>({container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n)}function he(e,t){let n=t===!0||t?.vertical!==!1,r=t!==!0&&t?.horizontal===!0,i=t===!0||t?.snap!==!1,a=m(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),o=n?m(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,s=r?m(`line`,{class:`prism-crosshair-h`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null;o&&a.appendChild(o),s&&a.appendChild(s),e.appendChild(a);let c=m(`text`,{"aria-live":`polite`,class:`prism-crosshair-live`,role:`status`,x:-9999,y:-9999});return e.appendChild(c),{hide(){a.style.display=`none`,c.textContent=``},show(e,t,n,r,i){a.style.display=``,o&&h(o,{x1:e,x2:e,y1:0,y2:r}),s&&h(s,{x1:0,x2:n,y1:t,y2:t}),i!==void 0&&(c.textContent=i)},snap:i}}function z(e){return e instanceof Date?`date:${e.getTime()}`:`${typeof e}:${String(e)}`}function ge(e,t){let n=[],r=new Map;return{domain:n,labels:r,series:e.map((e,i)=>{let a=new Map;for(let o of t[i]??[]){let t=z(o.key);if(a.has(t)){`${String(o.key)}${e.name}`;continue}a.set(t,o),r.has(t)||(r.set(t,o.key),n.push(t))}return{byKey:a,config:e}})}}function B(e,t,n,r){let i=e.getBoundingClientRect();return{x:t.clientX-i.left-n,y:t.clientY-i.top-r}}function _e(e,t,n){let r=null,i=1/0;for(let a=0;a<t.length;a++)for(let o=0;o<(t[a]?.length??0);o++){let s=e[a]?.[o],c=t[a]?.[o];if(!s||!c)continue;let l=Math.abs(c.x-n);l<i&&(i=l,r=s.key)}return r}function V(e,t,n,r){let i=z(n),a=null,o=1/0;for(let n=0;n<t.length;n++){let s=e[n]?.findIndex(e=>z(e.key)===i)??-1,c=s===-1?void 0:e[n]?.[s],l=s===-1?void 0:t[n]?.[s];if(!c||!l)continue;let u=Number.isFinite(r)?Math.abs(l.y-r):0;u<o&&(o=u,a={datum:c,point:l,seriesIndex:n})}return a}function ve(e){let t=0;return{onClick:t=>{if(!e.onClick)return;let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),i=B(e.svg,t,r.margin.left,r.margin.top),a=L(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return;let o=_e(e.getData(),n,i.x);if(o===null)return;let s=V(e.getData(),n,o,i.y),c=s?e.getSeriesList()[s.seriesIndex]:void 0;s&&c&&e.onClick({datum:s.datum,originalEvent:t,series:c})},onKeyDown:n=>{let r=e.getData(),i=e.getPoints(),a=[...new Map(r.flat().map(e=>[z(e.key),e.key])).values()];if(a.length!==0){if(n.key===`ArrowLeft`||n.key===`ArrowRight`){n.preventDefault(),t=Math.max(0,Math.min(a.length-1,t+(n.key===`ArrowLeft`?-1:1)));let o=a[t],s=V(r,i,o,1/0),c=s?e.getSeriesList()[s.seriesIndex]:void 0;if(!s||!c)return;e.crosshair?.show(s.point.x,s.point.y,e.dims().width,e.dims().height,`${c.name}: ${s.datum.value}`),e.tooltip?.show(s.point.x+e.dims().margin.left,s.point.y+e.dims().margin.top,s.datum,c),e.onHover?.({datum:s.datum,originalEvent:n,series:c})}if((n.key===`Enter`||n.key===` `)&&e.onClick){n.preventDefault();let o=a[t],s=V(r,i,o,1/0),c=s?e.getSeriesList()[s.seriesIndex]:void 0;s&&c&&e.onClick({datum:s.datum,originalEvent:n,series:c})}n.key===`Escape`&&(e.crosshair?.hide(),e.tooltip?.hide(),e.onHover?.(null))}},onMouseLeave:()=>{e.crosshair?.hide(),e.tooltip?.hide(),e.onHover?.(null)},onMouseMove:t=>{let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),i=B(e.svg,t,r.margin.left,r.margin.top),a=L(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height){e.crosshair?.hide(),e.tooltip?.hide();return}let o=_e(e.getData(),n,i.x);if(o===null)return;let s=V(e.getData(),n,o,i.y),c=s?e.getSeriesList()[s.seriesIndex]:void 0,l=e.crosshair?.snap===!1?i.x:s?.point.x??i.x,u=e.crosshair?.snap===!1?i.y:s?.point.y??i.y;e.crosshair?.show(l,u,a.width,a.height,c&&s?`${c.name}: ${s.datum.value}`:void 0),s&&c&&(e.tooltip?.show(s.point.x+r.margin.left,s.point.y+r.margin.top,s.datum,c),e.onHover?.({datum:s.datum,originalEvent:t,series:c}))}}}var H=8;function ye(e){let t=document.documentElement;if(e.colors)for(let n=0;n<H;n++){let r=e.colors[n];r?t.style.setProperty(`--prism-color-${n+1}`,r):t.style.removeProperty(`--prism-color-${n+1}`)}e.fontFamily&&t.style.setProperty(`--prism-font-family`,e.fontFamily),e.gridColor&&t.style.setProperty(`--prism-grid-color`,e.gridColor),e.gridOpacity!==void 0&&t.style.setProperty(`--prism-grid-opacity`,String(e.gridOpacity))}function be(){let e=document.documentElement;for(let t=1;t<=H;t++)e.style.removeProperty(`--prism-color-${t}`);e.style.removeProperty(`--prism-font-family`),e.style.removeProperty(`--prism-grid-color`),e.style.removeProperty(`--prism-grid-opacity`)}function U(e,t){return t??`var(--prism-color-${e%H+1})`}function W(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++)t+=`L${e[n].x},${e[n].y}`;return t}function G(e){if(e.length<3)return W(e);let t=e.length,n=[];for(let r=0;r<t;r++)r===0?n.push({x:e[1].x-e[0].x,y:e[1].y-e[0].y}):r===t-1?n.push({x:e[t-1].x-e[t-2].x,y:e[t-1].y-e[t-2].y}):n.push({x:(e[r+1].x-e[r-1].x)/2,y:(e[r+1].y-e[r-1].y)/2});let r=`M${e[0].x},${e[0].y}`;for(let i=0;i<t-1;i++){let t=e[i],a=e[i+1],o=n[i],s=n[i+1],c=(a.x-t.x)/3;r+=`C${t.x+c},${t.y+o.y/3},${a.x-c},${a.y-s.y/3},${a.x},${a.y}`}return r}function K(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++){let r=(e[n-1].x+e[n].x)/2;t+=`H${r}V${e[n].y}H${e[n].x}`}return t}function q(e,t,n=`linear`){if(e.length===0)return``;let r=n===`monotone`?G(e):n===`step`?K(e):W(e),i=[...t].reverse();if(i.length>0){r+=`L${i[0].x},${i[0].y}`;for(let e=1;e<i.length;e++)r+=`L${i[e].x},${i[e].y}`}return r+=`Z`,r}var J=new WeakMap,Y=new WeakMap;function xe(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function Se(e,t,n,r){let i=u(r.transition,0),a=i.duration,o=l(i.easing),s=e.querySelector(`.prism-area-fill`);s||(s=m(`path`,{class:`prism-area-fill`}),e.appendChild(s)),h(s,{fill:r.color,"fill-opacity":r.fillOpacity,stroke:`none`});let c=null;if(r.showLine?(c=e.querySelector(`.prism-area-line`),c||(c=m(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(c)),h(c,{stroke:r.color,"stroke-width":2})):e.querySelector(`.prism-area-line`)?.remove(),a===0){let e=t.map(e=>({x:e.x,y:n}));h(s,{d:q(t,e,r.curve)}),c&&h(c,{d:xe(t,r.curve)});return}if(J.get(e)?.(),!s.hasAttribute(`d`)){let i=t.map(e=>({x:e.x,y:n}));h(s,{d:q(t,i,r.curve)}),c&&h(c,{d:xe(t,r.curve)}),Y.set(e,t);return}let f=Y.get(e)??t,p=t.map((e,n)=>f[n]??f[f.length-1]??t[n]),g=null;function _(i){if(r.disposalSignal?.aborted){J.delete(e);return}g===null&&(g=i);let l=Math.min(1,(i-g)/a),u=o(l),f=t.map((e,t)=>({x:d(p[t].x,e.x,u),y:d(p[t].y,e.y,u)})),m=f.map(e=>({x:e.x,y:n}));if(h(s,{d:q(f,m,r.curve)}),c&&h(c,{d:xe(f,r.curve)}),l<1){let t=requestAnimationFrame(_);J.set(e,()=>cancelAnimationFrame(t))}else J.delete(e),Y.set(e,t)}Y.set(e,p);let v=requestAnimationFrame(_);J.set(e,()=>cancelAnimationFrame(v))}function Ce(e,t,n){return e.some(e=>e.key==null)||e.some(e=>typeof e.key==`string`),e.map(e=>({x:t.map(e.key),y:n.map(e.value)}))}function we(e,t){let r=null;return R(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=L(s.width,s.height,s.margin),l=n(t.series)?t.series.value:t.series,u=l.map(e=>n(e.data)?e.data.value:e.data),d=u.flat().map(e=>e.key),f=u.flat().map(e=>e.value);if(d.length===0){de(i,a,o,r);return}t.crosshair&&!r&&(r=he(e.chartArea,t.crosshair));let p=te(d,c.width),h=I(f,c.height),g=h.map(0);for(t.yAxis?.grid&&C(i.grid,h,t.yAxis.grid,c.width,`horizontal`,x(t.yAxis,c.height,`left`)),t.xAxis?.grid&&C(i.grid,p,t.xAxis.grid,c.height,`vertical`,x(t.xAxis,c.width,`bottom`)),t.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),S(i.xAxis,p,t.xAxis,c.width,`bottom`)),t.yAxis&&S(i.yAxis,h,t.yAxis,c.height,`left`);i.series.children.length>l.length;)i.series.removeChild(i.series.lastChild);let _=[];for(let n=0;n<l.length;n++){let r=l[n],a=i.series.children[n];a||(a=m(`g`,{class:`prism-area-series`}),i.series.appendChild(a));let o=Ce(u[n],p,h);_.push(o),Se(a,o,g,{color:U(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,fillOpacity:r.fillOpacity??.3,showLine:r.showLine!==!1,transition:t.transition})}return a?.update(l.map((e,t)=>({color:U(t,e.color),name:e.name}))),o?.hide(),ve({crosshair:r,dims:()=>e.dimensions.value,getData:()=>u,getPoints:()=>_,getSeriesList:()=>n(t.series)?t.series.value:t.series,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:o})})}function Te(e){let t=()=>e.domain,n=()=>e.range,r=()=>{let r=t().length;if(r===0)return 0;let[i,a]=n(),o=e.padding??.1;return(a-i)/(r+(r-1)*o+(e.paddingOuter??o)*2)};return{bandwidth:r,get domain(){return t()},gap(){let t=e.padding??.1;return r()*t},map(i){let a=t().indexOf(i);if(a===-1)return`${i}`,0;let[o]=n(),s=r(),c=e.padding??.1;return o+(e.paddingOuter??c)*s+a*(s+s*c)},get range(){return n()},ticks(e){let n=t();if(e===void 0||e>=n.length)return[...n];if(e<=0)return[];let r=Math.ceil(n.length/e);return n.filter((e,t)=>t%r===0)}}}function Ee(e,t,n){for(let r=0;r<t.length;r++){let i=n.bandCenter(t[r])-n.bandwidth/2;if(e>=i&&e<i+n.bandwidth)return r}return-1}function De(e,t,n,r,i){if(r.stacked)if(r.horizontal){for(let n=0;n<i;n++)if(r.valueScale.map(r.stackedTops[n]?.[t]??0)>=e.x)return n;return i-1}else{for(let n=0;n<i;n++)if(r.valueScale.map(r.stackedTops[n]?.[t]??0)<=e.y)return n;return i-1}{let a=r.bandwidth/i,o=r.bandCenter(n[t])-r.bandwidth/2,s=r.horizontal?e.y-o:e.x-o,c=Math.floor(s/a);return Math.max(0,Math.min(i-1,c))}}function Oe(e,t,n,r,i){let a=i-1,o=r.stacked?r.stackedTops[a]?.[t]??0:Math.max(...Array.from({length:i},(e,r)=>n[r]?.[t]?.value??0)),s=r.valueScale.map(o);return r.horizontal?e.x>s:e.y<s}var ke=new WeakMap;function Ae(e,t,n,r,i,a){for(;e.children.length>t.length;){let t=e.lastElementChild;t&&e.removeChild(t)}let o=n.bandwidth(),s=a.stacked?o:o/a.seriesCount,c=a.stacked?0:s*a.seriesIndex,l=a.horizontal??!1,u=[],d=[];for(let o=0;o<t.length;o++){let f=t[o],p=n.map(f.key)+c,g=a.baselineYs?a.baselineYs[o]:i,_=r.map(f.y),v=e.children[o],y=!v;if(v||(v=m(`rect`,{class:`prism-bar`}),e.appendChild(v)),v.style.display=f.present?``:`none`,l){let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);h(v,{fill:a.color,height:Math.max(0,s-1),rx:a.borderRadius,ry:a.borderRadius,y:p}),a.transition?y?(h(v,{width:0,x:g}),u.push({attrs:{width:{from:0,to:e},x:{from:g,to:t}},el:v})):d.push({attrs:{width:{from:Number(v.getAttribute(`width`)??e),to:e},x:{from:Number(v.getAttribute(`x`)??t),to:t}},el:v}):h(v,{width:e,x:t})}else{let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);h(v,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:Math.max(0,s-1),x:p}),a.transition?y?(h(v,{height:0,y:g}),u.push({attrs:{height:{from:0,to:e},y:{from:g,to:t}},el:v})):d.push({attrs:{height:{from:Number(v.getAttribute(`height`)??e),to:e},y:{from:Number(v.getAttribute(`y`)??t),to:t}},el:v}):h(v,{height:e,y:t})}}if(a.transition){ke.get(e)?.();let t=[];u.length>0&&t.push(f(u,a.transition,void 0,a.disposalSignal)),d.length>0&&t.push(f(d,{...a.transition,stagger:0},void 0,a.disposalSignal)),ke.set(e,()=>{for(let e of t)e()})}}function je(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function Me(e,t){return R(e,t,e=>{let{groups:r,legend:i,tooltip:a}=e,o=e.dimensions.value,s=L(o.width,o.height,o.margin),c=n(t.series)?t.series.value:t.series,l=ge(c,c.map(e=>n(e.data)?e.data.value:e.data)),u=l.domain,d=l.series.map(({byKey:e})=>u.map(t=>e.get(t))),f=e=>{if(e)return{...e,tickFormat:t=>{let n=String(t),r=l.labels.get(n)??t;return e.tickFormat?e.tickFormat(r):String(r)}}};if(u.length===0){de(r,i,a);return}let{horizontal:p,stacked:h}=je(t.variant??`grouped`),g,_;if(h){d.some(e=>e.some(e=>(e?.value??0)<0));let e=u.map((e,t)=>d.reduce((e,n)=>e+Math.max(0,n[t]?.value??0),0));g=Math.max(...e),_=0}else{let e=d.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));g=Math.max(...e),_=Math.min(0,...e)}let v=Te(p?{domain:u,range:[0,s.height]}:{domain:u,range:[0,s.width]}),y=E(p?{domain:[_,g],range:[0,s.width]}:{domain:[_,g],range:[s.height,0]}),b=[],w=Object.create(null);for(let e of u)w[e]=0;let T={bandCenter:e=>v.map(e)+v.bandwidth()/2,bandwidth:v.bandwidth(),baselinePx:y.map(0),horizontal:p,stacked:h,stackedTops:b,valueScale:y};if(p){t.xAxis?.grid&&C(r.grid,y,t.xAxis.grid,s.height,`vertical`,x(t.xAxis,s.width,`bottom`));let e=f(t.yAxis);e&&S(r.yAxis,v,e,s.height,`left`),t.xAxis&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),S(r.xAxis,y,t.xAxis,s.width,`bottom`))}else{t.yAxis?.grid&&C(r.grid,y,t.yAxis.grid,s.width,`horizontal`,x(t.yAxis,s.height,`left`));let e=f(t.xAxis);e&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),S(r.xAxis,v,e,s.width,`bottom`)),t.yAxis&&S(r.yAxis,y,t.yAxis,s.height,`left`)}for(;r.series.children.length>c.length;){let e=r.series.lastElementChild;e&&r.series.removeChild(e)}for(let n=0;n<c.length;n++){let i=c[n],a=r.series.children[n];a||(a=m(`g`,{class:`prism-bar-series`}),r.series.appendChild(a));let o=u.map((e,t)=>{let r=d[n]?.[t];if(h){let t=w[e]??0,n=t+Math.max(0,r?.value??0);return w[e]=n,{base:t,key:e,present:r!==void 0,y:n}}return{base:0,key:e,present:r!==void 0,y:r?.value??0}});b[n]=o.map(e=>e.y);let s=h?o.map(e=>y.map(e.base)):void 0;Ae(a,o,v,y,T.baselinePx,{baselineYs:s,borderRadius:i.borderRadius??0,color:U(n,i.color),disposalSignal:e.disposalSignal,horizontal:p,seriesCount:c.length,seriesIndex:n,stacked:h,transition:t.transition})}return i?.update(c.map((e,t)=>({color:U(t,e.color),name:e.name}))),a?.hide(),{onClick:n=>{if(!t.onClick)return;let r=e.dimensions.value,i=B(e.svg,n,r.margin.left,r.margin.top),a=L(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return;let o=Ee(p?i.y:i.x,u,T);if(o===-1)return;let s=De(i,o,u,T,c.length),l=d[s]?.[o];l&&t.onClick({datum:l,originalEvent:n,series:c[s]})},onMouseLeave:()=>{a?.hide(),t.onHover?.(null)},onMouseMove:n=>{let r=e.dimensions.value,i=B(e.svg,n,r.margin.left,r.margin.top),o=L(r.width,r.height,r.margin);if(i.x<0||i.x>o.width||i.y<0||i.y>o.height){a?.hide();return}let s=Ee(p?i.y:i.x,u,T);if(s===-1){a?.hide();return}if(Oe(i,s,d,T,c.length)){a?.hide();return}let l=De(i,s,u,T,c.length),f=d[l]?.[s];if(f){let e=T.bandCenter(u[s]),i=h?b[l]?.[s]??f.value:f.value,o=y.map(i),d=p?o+r.margin.left:e+r.margin.left,m=p?e+r.margin.top:o+r.margin.top;a?.show(d,m,f,c[l]),t.onHover?.({datum:f,originalEvent:n,series:c[l]})}}}})}var X=new WeakMap;function Ne(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function Pe(e,t,n){let r=u(n.transition,0),i=r.duration,a=l(r.easing),o=e.querySelector(`.prism-line-path`);o||(o=m(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(o)),h(o,{stroke:n.color,"stroke-width":n.strokeWidth});let s=e.querySelector(`.prism-line-dots`);if(n.showPoints?s||(s=m(`g`,{class:`prism-line-dots`}),e.appendChild(s)):s&&=(s.remove(),null),i===0){if(h(o,{d:Ne(t,n.curve)}),s){for(;s.children.length>t.length;)s.removeChild(s.lastChild);for(let e=0;e<t.length;e++){let r=s.children[e];r||(r=m(`circle`,{class:`prism-line-dot`}),s.appendChild(r)),h(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius})}}return}X.get(e)?.();let c=!!o.getAttribute(`d`),f=[],p=null;if(s){let e=s.children.length;for(let t=0;t<e;t++){let e=s.children[t],n={x:Number(e.getAttribute(`cx`)),y:Number(e.getAttribute(`cy`))};f.push(n),p=n}for(;s.children.length>t.length;)s.removeChild(s.lastChild);for(let e=s.children.length;e<t.length;e++){let r=m(`circle`,{class:`prism-line-dot`});h(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius}),s.appendChild(r)}}for(let e=f.length;e<t.length;e++)f.push(p??t[e]);let g=null;function _(r){if(n.disposalSignal?.aborted){X.delete(e);return}g===null&&(g=r);let c=Math.min(1,(r-g)/i),l=a(c),u=t.map((e,t)=>{let n=f[t]??e;return{x:d(n.x,e.x,l),y:d(n.y,e.y,l)}});if(h(o,{d:Ne(u,n.curve)}),s)for(let e=0;e<t.length;e++){let t=s.children[e];t&&h(t,{cx:u[e].x,cy:u[e].y})}if(c<1){let t=requestAnimationFrame(_);X.set(e,()=>cancelAnimationFrame(t))}else X.delete(e)}if(!c)h(o,{d:Ne(t,n.curve)});else{let t=requestAnimationFrame(_);X.set(e,()=>cancelAnimationFrame(t))}}function Fe(e,t,n){return e.some(e=>e.key==null)||e.some(e=>typeof e.key==`string`),e.map(e=>({x:t.map(e.key),y:n.map(e.value)}))}function Ie(e,t){let r=null;return R(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=L(s.width,s.height,s.margin),l=n(t.series)?t.series.value:t.series,u=l.map(e=>n(e.data)?e.data.value:e.data),d=u.flat().map(e=>e.key),f=u.flat().map(e=>e.value);if(d.length===0){de(i,a,o,r);return}t.crosshair&&!r&&(r=he(e.chartArea,t.crosshair));let p=te(d,c.width),h=I(f,c.height);for(t.yAxis?.grid&&C(i.grid,h,t.yAxis.grid,c.width,`horizontal`,x(t.yAxis,c.height,`left`)),t.xAxis?.grid&&C(i.grid,p,t.xAxis.grid,c.height,`vertical`,x(t.xAxis,c.width,`bottom`)),t.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),S(i.xAxis,p,t.xAxis,c.width,`bottom`)),t.yAxis&&S(i.yAxis,h,t.yAxis,c.height,`left`);i.series.children.length>l.length;)i.series.removeChild(i.series.lastChild);let g=[];for(let n=0;n<l.length;n++){let r=l[n],a=i.series.children[n];a||(a=m(`g`,{class:`prism-line-series`}),i.series.appendChild(a));let o=Fe(u[n],p,h);g.push(o),Pe(a,o,{color:U(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,pointRadius:r.pointRadius??3,showPoints:r.showPoints??!1,strokeWidth:r.strokeWidth??2,transition:t.transition})}return a?.update(l.map((e,t)=>({color:U(t,e.color),name:e.name}))),o?.hide(),ve({crosshair:r,dims:()=>e.dimensions.value,getData:()=>u,getPoints:()=>g,getSeriesList:()=>n(t.series)?t.series.value:t.series,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:o})})}function Le(e,t,n,r,i,a,o,s,c,l,u=!1){let d=e.reduce((e,t)=>e+Math.max(0,t.value),0);if(d===0)return[];let f=o-a,p=r>0?Math.asin(Math.min(1,s/2/r)):0,m=a,h=e.length;return e.map((e,a)=>{let o=Math.max(0,e.value)/d*f,s=m,g=m+o;m+=o;let _=Math.min(p,o/2);return{capEnd:u&&a===h-1,capStart:u&&a===0,centerX:t,centerY:n,color:e.color??l(a),cornerRadius:c,endAngle:g,index:a,innerRadius:i,outerRadius:r,padAngle:_,slice:e,startAngle:s}})}function Z(e,t,n,r){return`${e+n*Math.sin(r)},${t-n*Math.cos(r)}`}function Q(e,t,n){return e+t*Math.sin(n)}function $(e,t,n){return e-t*Math.cos(n)}function Re(e){let{capEnd:t,capStart:n,centerX:r,centerY:i,cornerRadius:a,endAngle:o,innerRadius:s,outerRadius:c,padAngle:l,startAngle:u}=e,d=o-u;if(d<=0)return``;if(d>=2*Math.PI-1e-6){let e=u+Math.PI;return s<=0?`M${Z(r,i,c,u)}A${c},${c},0,1,1,${Z(r,i,c,e)}A${c},${c},0,1,1,${Z(r,i,c,u)}Z`:[`M${Z(r,i,c,u)}`,`A${c},${c},0,1,1,${Z(r,i,c,e)}`,`A${c},${c},0,1,1,${Z(r,i,c,u)}`,`M${Z(r,i,s,u)}`,`A${s},${s},0,1,0,${Z(r,i,s,e)}`,`A${s},${s},0,1,0,${Z(r,i,s,u)}`,`Z`].join(``)}let f=n?u:u+l,p=t?o:o-l;if(p<=f)return``;let m=p-f;if(a<=0){let e=+(m>Math.PI);return s<=0?`M${r},${i}L${Z(r,i,c,f)}A${c},${c},0,${e},1,${Z(r,i,c,p)}Z`:[`M${Z(r,i,c,f)}`,`A${c},${c},0,${e},1,${Z(r,i,c,p)}`,`L${Z(r,i,s,p)}`,`A${s},${s},0,${e},0,${Z(r,i,s,f)}`,`Z`].join(``)}let h=Math.min(a/c,m/2),g=Math.min(a/s,m/2),_=Math.min(a,(c-s)/2),v=(c-s)/2,y=f+(n?0:h),b=p-(t?0:h),x=f+(n?0:g),S=p-(t?0:g),C=+(b-y>Math.PI),w=+(S-x>Math.PI),T=Q(r,c,f),E=$(i,c,f),D=Q(r,c,p),O=$(i,c,p),k=Q(r,s,f),A=$(i,s,f),j=Q(r,s,p),M=$(i,s,p),N=_/(c-s),P=`${T+(k-T)*N},${E+(A-E)*N}`,F=`${D+(j-D)*N},${O+(M-O)*N}`,ee=`${k+(T-k)*N},${A+(E-A)*N}`,te=`${j+(D-j)*N},${M+(O-M)*N}`,I=[];return n?I.push(`M${Z(r,i,c,f)}`):(I.push(`M${P}`),I.push(`Q${T},${E},${Z(r,i,c,y)}`)),I.push(`A${c},${c},0,${C},1,${Z(r,i,c,b)}`),t?I.push(`A${v},${v},0,0,1,${Z(r,i,s,p)}`):(I.push(`Q${D},${O},${F}`),I.push(`L${te}`),I.push(`Q${j},${M},${Z(r,i,s,S)}`)),I.push(`A${s},${s},0,${w},0,${Z(r,i,s,x)}`),n?I.push(`A${v},${v},0,0,0,${Z(r,i,c,f)}`):I.push(`Q${k},${A},${ee}`),I.push(`Z`),I.join(``)}function ze(e){let t=(e.startAngle+e.endAngle)/2,n=(e.outerRadius+e.innerRadius)/2;return{x:e.centerX+n*Math.sin(t),y:e.centerY-n*Math.cos(t)}}var Be=2*Math.PI,Ve=-Math.PI/2,He=Math.PI/2;function Ue(e){return e===`semi`?{end:He,start:Ve}:{end:Be,start:0}}function We(e,t){let r=t.variant??`pie`,i=t.padPixels??(r===`pie`?0:8),a=t.cornerRadius??(r===`pie`?0:8),o=m(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),s=m(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),c=m(`g`,{class:`prism-pie-labels`,"pointer-events":`none`}),f=[],p=null;function g(e){for(;c.children.length>f.length;)c.removeChild(c.lastChild);for(let t=0;t<f.length;t++){let n=f[t],r=e[t];if(!r?.label)continue;let{x:i,y:a}=ze(n),o=c.children[t];o||(o=m(`text`,{class:`prism-pie-label`}),c.appendChild(o)),h(o,{"dominant-baseline":`middle`,fill:`var(--prism-pie-label-color, #fff)`,"font-family":`var(--prism-font-family, system-ui)`,"font-size":`var(--prism-pie-label-size, 12px)`,"text-anchor":`middle`,x:i,y:a}),o.textContent=r.label}}let _=me(e,{a11y:t.a11y,legend:t.legend,plugins:t.plugins,tooltip:t.tooltip},_=>{let{legend:v,svg:y,tooltip:b}=_;y.contains(o)||(y.appendChild(o),y.appendChild(s),y.appendChild(c));let{height:x,width:S}=_.dimensions.value,C=r===`semi`,w=S/2,T=C?x*.85:x/2,E=C?Math.min(w,T)-8:Math.min(S,x)/2-8,D=r===`pie`?0:Math.round(E*.55),O=t.innerRadius===void 0?D:t.innerRadius,k=Math.max(O+1,E),A=n(t.data)?t.data.value:t.data,{end:j,start:M}=Ue(r);for(f=Le(A,w,T,k,O,M,j,i,a,e=>U(e),!1),h(o,{cx:w,cy:T,r:O>0?O:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>f.length;)s.removeChild(s.lastChild);for(;c.children.length>f.length;)c.removeChild(c.lastChild);let N=u(t.transition,0),P=N.duration,F=l(N.easing);for(let e=0;e<f.length;e++){let n=f[e],r=s.children[e];r||(r=m(`path`,{class:`prism-pie-slice`}),s.appendChild(r)),r.setAttribute(`fill`,n.color),r.setAttribute(`stroke`,`none`),r.style.cursor=t.onClick||t.onHover?`pointer`:``}if(p!==null&&(cancelAnimationFrame(p),p=null),P>0){let e=null,t=n=>{e===null&&(e=n);let r=F(Math.min(1,(n-e)/P)),i=d(M,j,r);for(let e=0;e<f.length;e++){let t=f[e],n=s.children[e];if(n)if(i<=t.startAngle)h(n,{d:``});else{let e=Math.min(t.endAngle,i);h(n,{d:Re({...t,endAngle:e})})}}r<1?p=requestAnimationFrame(t):(p=null,g(A))};p=requestAnimationFrame(t)}else{for(let e=0;e<f.length;e++){let t=f[e],n=s.children[e];n&&h(n,{d:Re(t)})}g(A)}return v?.update(f.map(e=>({color:e.color,name:e.slice.label??``}))),b?.hide(),{onClick:e=>{if(!t.onClick)return;let n=y.getBoundingClientRect(),i=e.clientX-n.left,a=e.clientY-n.top,o=Ge(f,i,a,r);o>=0&&t.onClick(f[o].slice,o)},onMouseLeave:()=>{t.onHover?.(null,null),b?.hide()},onMouseMove:n=>{let i=y.getBoundingClientRect(),a=n.clientX-i.left,o=n.clientY-i.top,s=Ge(f,a,o,r);if(s>=0){let n=f[s];t.onHover?.(n.slice,s);let{x:r,y:a}=ze(n),o=e.getBoundingClientRect();b?.show(r+(i.left-o.left),a+(i.top-o.top),{key:s,value:n.slice.value},{color:n.color,data:[],name:n.slice.label??``})}else t.onHover?.(null,null),b?.hide()}}});return{get disposalSignal(){return _.disposalSignal},dispose(){p!==null&&(cancelAnimationFrame(p),p=null),_.dispose()},get disposed(){return _.disposed},el:_.el,[Symbol.dispose](){this.dispose()}}}function Ge(e,t,n,r){for(let i=0;i<e.length;i++){let a=e[i],o=t-a.centerX,s=n-a.centerY,c=Math.sqrt(o*o+s*s);if(c<a.outerRadius&&c>=a.innerRadius){let e=Math.atan2(o,-s);if(r===`semi`){if(e>=a.startAngle-1e-9&&e<=a.endAngle+1e-9)return i}else{let t=e<0?e+Be:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}function Ke(e,t,n){if(e.length===0)return[];let r=t/Math.max(1,e.length-1),i=Math.min(...e),a=Math.max(...e)-i||1;return e.map((e,t)=>({x:t*r,y:n-(e-i)/a*n}))}function qe(e,t,n,r=`linear`){if(e.length===0)return``;let i=Ke(e,t,n);return q(i,i.map(e=>({x:e.x,y:n})),r??`linear`)}function Je(e,t,n,r){if(e.length===0)return``;let i=Ke(e,t,n);return r===`monotone`?G(i):r===`step`?K(i):W(i)}function Ye(e,t,n,r,i,a,o){let s=t.length,c=Math.max(1,n/s-1),f=n/s,p=Math.min(0,...t),g=Math.max(...t)-p||1,_=u(a,0),v=_.duration,y=l(_.easing);for(;e.children.length>s;){let t=e.lastElementChild;t&&e.removeChild(t)}for(let n=0;n<s;n++){let a=Math.max(1,(t[n]-p)/g*r),s=r-a,l=e.children[n];if(l||(l=m(`rect`,{class:`prism-spark-bar`}),e.appendChild(l)),h(l,{fill:i,width:c,x:n*f}),v>0&&!l.hasAttribute(`data-init`)){l.setAttribute(`data-init`,`1`),h(l,{height:0,y:r});let e=null,t={h:0,y:r},n={h:a,y:s},i=r=>{if(o?.aborted)return;e===null&&(e=r);let a=y(Math.min(1,(r-e)/v));h(l,{height:d(t.h,n.h,a),y:d(t.y,n.y,a)}),a<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}else l.setAttribute(`data-init`,`1`),h(l,{height:a,y:s})}}function Xe(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function Ze(e,t,n,r,i,a,o){let s=Math.min(i,n/2,r/2),c=a?s:0,l=a?s:0,u=o?s:0,d=o?s:0;return[`M${e+c},${t}`,`H${e+n-u}`,u?`Q${e+n},${t} ${e+n},${t+u}`:``,`V${t+r-d}`,d?`Q${e+n},${t+r} ${e+n-d},${t+r}`:``,`H${e+l}`,l?`Q${e},${t+r} ${e},${t+r-l}`:``,`V${t+c}`,c?`Q${e},${t} ${e+c},${t}`:``,`Z`].filter(Boolean).join(``)}function Qe(e){return`var(--prism-color-${e%8+1})`}function $e(r,i){let a=i.variant??`line`,o=i.color??`var(--prism-color-1)`,s=i.curve??`linear`,c=i.strokeWidth??1.5,l=i.fillOpacity??.2,u=ue(r,{...i.a11y?{a11y:i.a11y}:{ariaHidden:!0},margin:{bottom:0,left:0,right:0,top:0}}),{svg:d}=u;d.classList.add(`prism-sparkline`);let f=m(`g`,{class:`prism-spark-inner`});d.appendChild(f);let p;function g(){let{height:e,width:t}=u.dimensions.value,r=n(i.data)?i.data.value:i.data;for(;f.firstChild;)f.removeChild(f.firstChild);if(r.length!==0){if(a===`stack`&&Xe(r)){let n=m(`g`,{class:`prism-spark-stack`});f.appendChild(n);let a=i.cornerRadius??4,o=r,s=o.reduce((e,t)=>e+Math.max(0,t.value),0);if(s>0){let r=(i.padPixels??0)/2,c=0;o.forEach((i,l)=>{let u=Math.round(c);c+=Math.max(0,i.value)/s*t;let d=l===o.length-1?t:Math.round(c),f=l===0,p=l===o.length-1,g=Ze(u+(f?0:r),0,Math.max(0,d-u-(f?0:r)-(p?0:r)),e,a,f,p),_=m(`path`,{class:`prism-spark-stack-segment`});h(_,{d:g,fill:i.color??Qe(l)}),n.appendChild(_)})}}else if(a===`bar`){let n=m(`g`,{class:`prism-spark-bars`});f.appendChild(n),Ye(n,r,t,e,o,i.transition,v.signal)}else{if(a===`area`){let n=m(`path`,{class:`prism-spark-fill`});h(n,{d:qe(r,t,e,s),fill:o,"fill-opacity":l,stroke:`none`}),f.appendChild(n)}let n=m(`path`,{class:`prism-spark-line`});h(n,{d:Je(r,t,e,s),fill:`none`,stroke:o,"stroke-width":c}),f.appendChild(n)}Xe(r)||_(r)}}function _(e){if(p?.(),p=void 0,!i.onHover&&!i.onClick||e.length<=1)return;let{width:t}=u.dimensions.value;d.style.cursor=`crosshair`;let n=t/(e.length-1),r=t=>{let r=d.getBoundingClientRect(),a=t.clientX-r.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/n)));i.onHover?.(o,e[o])},a=()=>i.onHover?.(null,null),o=t=>{if(!i.onClick)return;let r=d.getBoundingClientRect(),a=t.clientX-r.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/n)));i.onClick(o,e[o])};d.addEventListener(`mousemove`,r),d.addEventListener(`mouseleave`,a),d.addEventListener(`click`,o),p=()=>{d.removeEventListener(`mousemove`,r),d.removeEventListener(`mouseleave`,a),d.removeEventListener(`click`,o)}}let v=new AbortController,y=e();y.run(()=>{t(()=>{g()},{scheduler:`microtask`})});let b=!1;return{get disposalSignal(){return v.signal},dispose(){b||(b=!0,v.abort(),p?.(),y.dispose(),u.dispose())},get disposed(){return b},el:d,[Symbol.dispose](){this.dispose()}}}export{ae as PrismError,oe as PrismRenderError,f as animate,Te as bandScale,we as createAreaChart,Me as createBarChart,Ie as createLineChart,We as createPieChart,$e as createSparkline,E as linearScale,be as resetTheme,U as seriesColor,ye as setTheme,ee as timeScale};
1
+ import{createScope as e,effect as t,isReactive as n,signal as r}from"@vielzeug/ripple";import{computePosition as i,flip as a,offset as o,shift as s}from"@vielzeug/orbit";var c={"ease-in":e=>e*e,"ease-in-out":e=>e<.5?2*e*e:1-(-2*e+2)**2/2,"ease-out":e=>1-(1-e)*(1-e),linear:e=>e};function l(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(c,e)?c[e]:c[`ease-out`]}function u(e,t=300){let n=e?.preference??`system`,r=typeof matchMedia<`u`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches,i=n===`never`||n===`system`&&r?0:e?.duration??t;return{...e,duration:i,stagger:Math.max(0,e?.stagger??0)}}function d(e,t,n){return e+(t-e)*n}function f(e,t,n,r){let i=u(t),a=i.duration,o=l(i.easing),s=i.stagger;if(a===0||e.length===0){for(let t of e)for(let[e,{to:n}]of Object.entries(t.attrs))t.el.setAttribute(e,String(n));return n?.(),()=>{}}let c=null,f=!1,p=Math.max(a,a+s*(e.length-1));function m(t){if(f||r?.aborted)return;c===null&&(c=t);let i=t-c;for(let t=0;t<e.length;t++){let n=e[t],r=s*t,c=Math.max(0,i-r),l=Math.min(1,c/a),u=o(l);for(let[e,{from:t,to:r}]of Object.entries(n.attrs))n.el.setAttribute(e,String(d(t,r,u)))}i<p?requestAnimationFrame(m):n?.()}return requestAnimationFrame(m),()=>{f=!0}}var p=`http://www.w3.org/2000/svg`;function m(e,t){let n=document.createElementNS(p,e);return t&&h(n,t),n}function h(e,t){for(let[n,r]of Object.entries(t)){if(r===void 0){e.removeAttribute(n);continue}typeof r==`number`&&!Number.isFinite(r)&&`${n}${e.tagName}${r}`,e.setAttribute(n,String(r))}}function g(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function _(e,t){let n=m(`text`,t);return n.textContent=e,n}function v(e){return typeof e.bandwidth==`function`}function y(e,t){return v(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var b=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):String(e);function x(e,t,n){let r=e.position??n,i=r===`bottom`||r===`top`?Math.max(2,Math.floor(t/80)):Math.max(2,Math.floor(t/50));return e.tickCount??i}function S(e,t,n,r,i=`bottom`){g(e);let a=n.position??i,o=a===`bottom`||a===`top`,s=a===`top`||a===`left`,c=s?-1:1,l=m(`line`,{"aria-hidden":`true`,class:`prism-axis-line`,x1:0,x2:o?r:0,y1:0,y2:o?0:r});e.appendChild(l);let u=t.ticks(x(n,r,i)),d=n.tickFormat??b;for(let n of u){let r=y(t,n),i=m(`line`,{"aria-hidden":`true`,class:`prism-axis-tick`,x1:o?r:0,x2:o?r:6*c,y1:o?0:r,y2:o?6*c:r});e.appendChild(i);let a=_(d(n),{"aria-hidden":`true`,class:`prism-axis-label`,"dominant-baseline":o?s?`auto`:`hanging`:`middle`,"text-anchor":o?`middle`:s?`end`:`start`,x:o?r:6*c*1.5,y:o?6*c*1.5:r});e.appendChild(a)}if(n.label){let t=_(n.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});o?h(t,{x:r/2,y:6*c*3.5}):h(t,{transform:`translate(${6*c*4}, ${r/2}) rotate(-90)`}),e.appendChild(t)}}function C(e,t,n,r,i,a=10){g(e);let o=n!==!0&&n.color||void 0,s=n!==!0&&n.dash||void 0,c=t.ticks(a);for(let n of c){let a=y(t,n),c={class:`prism-grid-line`,stroke:o??`var(--prism-grid-color)`,"stroke-dasharray":s,"stroke-opacity":`var(--prism-grid-opacity)`};i===`vertical`?Object.assign(c,{x1:a,x2:a,y1:0,y2:r}):Object.assign(c,{x1:0,x2:r,y1:a,y2:a}),e.appendChild(m(`line`,c))}}function w(e,t){let n=Math.floor(Math.log10(e)),r=e/10**n,i;return i=t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,i*10**n}function T(e,t,n){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e>t&&([e,t]=[t,e]),e===t)return[e-1,t+1];let r=w(w(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function E(e){let t=()=>e.nice===!1?e.domain:T(e.domain[0],e.domain[1],10),n=()=>e.range;return{get domain(){return t()},invert(e){let[r,i]=t(),[a,o]=n();return o===a?r:r+(e-a)/(o-a)*(i-r)},map(r){let[i,a]=t(),[o,s]=n();if(a===i)return o;let c=(r-i)/(a-i);return e.clamp&&(c=Math.max(0,Math.min(1,c))),o+c*(s-o)},get range(){return n()},ticks(e=10){if(e<=0)return[];let[n,r]=t();if(n===r||e===1)return[n];let i=Math.min(n,r),a=Math.max(n,r),o=w(w(a-i,!1)/(e-1),!0),s=Math.ceil(i/o)*o,c=Math.floor(a/o)*o,l=[];for(let e=s;e<=c+o*.5;e+=o)l.push(Math.round(e*0xe8d4a51000)/0xe8d4a51000);return l}}}var D=1e3,O=60*D,k=60*O,A=24*k,j=30*A,M=365*A,N=[D,5*D,15*D,30*D,O,5*O,15*O,30*O,k,3*k,6*k,12*k,A,7*A,j,3*j,6*j,M];function P(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of N)if(e>=n)return e;return M}function F(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=P(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function ee(e){let t=()=>e.nice===!1?e.domain:F(e.domain,10),n=()=>e.range;return{get domain(){return t()},invert(e){let[r,i]=t(),[a,o]=n();if(o===a)return r;let s=(e-a)/(o-a);return new Date(r.getTime()+s*(i.getTime()-r.getTime()))},map(e){let[r,i]=t(),[a,o]=n(),s=i.getTime()-r.getTime();return s===0?a:a+(e.getTime()-r.getTime())/s*(o-a)},get range(){return n()},ticks(e=10){let[n,r]=t(),i=P(r.getTime()-n.getTime(),e),a=Math.ceil(n.getTime()/i)*i,o=[];for(let e=a;e<=r.getTime();e+=i)o.push(new Date(e));return o}}}function te(e,t){if(e.length===0||e.some(e=>e==null)||e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return E({domain:[0,1],range:[0,t]});if(e[0]instanceof Date){let n=e,r=Math.min(...n.map(Number)),i=Math.max(...n.map(Number));return ee({domain:[new Date(r),new Date(r===i?i+1:i)],range:[0,t]})}let n=e,r=Math.min(...n),i=Math.max(...n);return E({domain:[r,r===i?i+1:i],nice:!1,range:[0,t]})}function I(e,t,n=!0){if(e.length===0||e.some(e=>e==null)||e.some(e=>!Number.isFinite(e)))return E({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return E({domain:[i,i===a?a+1:a],range:[t,0]})}function ne(e){return e===!0?`bottom`:e.position??`bottom`}function re(e,t){let n=ne(t),r=document.createElement(`div`);r.className=`prism-legend prism-legend-${n}`,n===`top`?e.insertBefore(r,e.firstChild):e.appendChild(r);let i=()=>{r.remove()};return{dispose:i,el:r,[Symbol.dispose]:i,update(e){r.innerHTML=``;for(let t of e){let e=document.createElement(`div`);e.className=`prism-legend-item`;let n=document.createElement(`span`);n.className=`prism-legend-dot`,n.style.backgroundColor=t.color;let i=document.createElement(`span`);i.className=`prism-legend-label`,i.textContent=t.name,e.appendChild(n),e.appendChild(i),r.appendChild(e)}}}}function ie(e,t){getComputedStyle(e).position===`static`&&(e.style.position=`relative`);let n=document.createElement(`div`);n.className=`prism-tooltip`,n.style.position=`absolute`,n.style.pointerEvents=`none`,n.style.top=`0`,n.style.left=`0`,n.setAttribute(`role`,`status`),n.setAttribute(`aria-live`,`polite`),e.appendChild(n);let r=t!==!0&&t?.offset||8,c=t===!0?void 0:t?.render,l=t===!0?void 0:t?.sanitize,u=null,d=null,f=!1,p=()=>{d!==null&&(clearTimeout(d),d=null)},m=()=>{u!==null&&(cancelAnimationFrame(u),u=null)},h=()=>{m(),p(),n.remove()};return{dispose:h,el:n,hide(){m(),p(),f=!1,n.style.opacity=`0`,d=setTimeout(()=>{d=null,f||(n.textContent=``)},150)},show(t,d,m,h){if(!e.isConnected)return;if(p(),c){let e=c(m,h);l?n.innerHTML=l(e):n.textContent=e}else n.textContent=`${h.name}: ${m.value}`;let{x:g,y:_}=i({getBoundingClientRect:()=>{let n=e.getBoundingClientRect();return{bottom:n.top+d,height:0,left:n.left+t,right:n.left+t,top:n.top+d,width:0,x:n.left+t,y:n.top+d}}},n,{containingBlock:e,middleware:[o(r),a(),s({padding:8})],placement:`top`});if(n.style.left=`${g}px`,n.style.top=`${_}px`,f){u===null&&(n.style.opacity=`1`);return}f=!0,n.style.opacity=`0`,u=requestAnimationFrame(()=>{u=null,f&&(n.style.opacity=`1`)})},[Symbol.dispose]:h}}var ae=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},oe=class extends ae{},se={bottom:40,left:50,right:20,top:20};function ce(e){return{...se,...e}}function L(e,t,n){return{height:Math.max(0,t-n.top-n.bottom),width:Math.max(0,e-n.left-n.right)}}function le(e,t){let n=null,r=new ResizeObserver(e=>{n!==null&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{n=null;let r=e[0];if(r){let{height:e,width:n}=r.contentRect;t(n,e)}})});return r.observe(e),()=>{n!==null&&cancelAnimationFrame(n),r.disconnect()}}function ue(e,t){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new oe(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let n=ce(t.margin),i=t.a11y,a=m(`svg`,{...t.ariaHidden||i?.decorative?{"aria-hidden":`true`}:{...i?{"aria-label":i.ariaLabel,tabindex:`0`}:{},role:`img`},class:`prism-chart`,style:`display:block;width:100%;height:100%`}),o=m(`g`,{class:`prism-chart-area`,transform:`translate(${n.left},${n.top})`});a.appendChild(o);let s=e.getBoundingClientRect();s.width===0||s.height;let c=typeof getComputedStyle<`u`?getComputedStyle(e):null;c&&c.position;let l=r({height:s.height||300,margin:n,width:s.width||600}),u=le(e,(e,t)=>{l.value={height:t,margin:n,width:e},h(a,{height:t,viewBox:`0 0 ${e} ${t}`,width:e})}),d=s.width||600,f=s.height||300;return h(a,{height:f,viewBox:`0 0 ${d} ${f}`,width:d}),e.appendChild(a),{chartArea:o,dimensions:l,dispose(){u(),a.remove()},svg:a}}function de(e,t,n,r){g(e.series),g(e.grid),g(e.xAxis),g(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function fe(n,r,i,a){let o=ue(n,{a11y:r.a11y,margin:r.margin}),s=r.tooltip?ie(n,r.tooltip):null,c=r.legend?re(n,r.legend):null,l=new AbortController,u=i(o,s,c,l.signal),d=!1,f=pe(o.svg),p=e();p.run(()=>{t(()=>{d||f.attach(a(u))},{scheduler:`microtask`})});let m=[];if(r.plugins){let e={container:n,dimensions:o.dimensions,disposalSignal:l.signal,svg:o.svg};for(let t of r.plugins)try{t.install(e),m.push(t)}catch{}}return{get disposalSignal(){return l.signal},dispose(){if(!d){d=!0,l.abort(),f.detach();for(let e of m)try{e.dispose()}catch{}s?.dispose(),c?.dispose(),p.dispose(),o.dispose()}},get disposed(){return d},el:o.svg,[Symbol.dispose](){this.dispose()}}}function pe(e){let t=null;return{attach(n){t&&=(t.onMouseMove&&e.removeEventListener(`mousemove`,t.onMouseMove),t.onMouseLeave&&e.removeEventListener(`mouseleave`,t.onMouseLeave),t.onClick&&e.removeEventListener(`click`,t.onClick),t.onKeyDown&&e.removeEventListener(`keydown`,t.onKeyDown),null),n&&(t=n,n.onMouseMove&&e.addEventListener(`mousemove`,n.onMouseMove),n.onMouseLeave&&e.addEventListener(`mouseleave`,n.onMouseLeave),n.onClick&&e.addEventListener(`click`,n.onClick),n.onKeyDown&&e.addEventListener(`keydown`,n.onKeyDown))},detach(){this.attach(void 0)}}}function R(e,t,n){return fe(e,t,(t,n,r,i)=>{let a={grid:m(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:m(`g`,{class:`prism-series`}),xAxis:m(`g`,{class:`prism-x-axis`}),yAxis:m(`g`,{class:`prism-y-axis`})};return t.chartArea.appendChild(a.grid),t.chartArea.appendChild(a.xAxis),t.chartArea.appendChild(a.yAxis),t.chartArea.appendChild(a.series),{chartArea:t.chartArea,container:e,dimensions:t.dimensions,disposalSignal:i,groups:a,legend:r,svg:t.svg,tooltip:n}},n)}function me(e,t,n){return fe(e,t,(t,n,r,i)=>({container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n)}function he(e,t){let n=t===!0||t?.vertical!==!1,r=t!==!0&&t?.horizontal===!0,i=t===!0||t?.snap!==!1,a=m(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),o=n?m(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,s=r?m(`line`,{class:`prism-crosshair-h`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null;o&&a.appendChild(o),s&&a.appendChild(s),e.appendChild(a);let c=m(`text`,{"aria-live":`polite`,class:`prism-crosshair-live`,role:`status`,x:-9999,y:-9999});return e.appendChild(c),{hide(){a.style.display=`none`,c.textContent=``},show(e,t,n,r,i){a.style.display=``,o&&h(o,{x1:e,x2:e,y1:0,y2:r}),s&&h(s,{x1:0,x2:n,y1:t,y2:t}),i!==void 0&&(c.textContent=i)},snap:i}}function z(e){return e instanceof Date?`date:${e.getTime()}`:`${typeof e}:${String(e)}`}function ge(e,t){let n=[],r=new Map;return{domain:n,labels:r,series:e.map((e,i)=>{let a=new Map;for(let o of t[i]??[]){let t=z(o.key);if(a.has(t)){`${String(o.key)}${e.name}`;continue}a.set(t,o),r.has(t)||(r.set(t,o.key),n.push(t))}return{byKey:a,config:e}})}}function B(e,t,n,r){let i=e.getBoundingClientRect();return{x:t.clientX-i.left-n,y:t.clientY-i.top-r}}function _e(e,t,n){let r=null,i=1/0;for(let a=0;a<t.length;a++)for(let o=0;o<(t[a]?.length??0);o++){let s=e[a]?.[o],c=t[a]?.[o];if(!s||!c)continue;let l=Math.abs(c.x-n);l<i&&(i=l,r=s.key)}return r}function V(e,t,n,r){let i=z(n),a=null,o=1/0;for(let n=0;n<t.length;n++){let s=e[n]?.findIndex(e=>z(e.key)===i)??-1,c=s===-1?void 0:e[n]?.[s],l=s===-1?void 0:t[n]?.[s];if(!c||!l)continue;let u=Number.isFinite(r)?Math.abs(l.y-r):0;u<o&&(o=u,a={datum:c,point:l,seriesIndex:n})}return a}function ve(e){let t=0;return{onClick:t=>{if(!e.onClick)return;let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),i=B(e.svg,t,r.margin.left,r.margin.top),a=L(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return;let o=_e(e.getData(),n,i.x);if(o===null)return;let s=V(e.getData(),n,o,i.y),c=s?e.getSeriesList()[s.seriesIndex]:void 0;s&&c&&e.onClick({datum:s.datum,originalEvent:t,series:c})},onKeyDown:n=>{let r=e.getData(),i=e.getPoints(),a=[...new Map(r.flat().map(e=>[z(e.key),e.key])).values()];if(a.length!==0){if(n.key===`ArrowLeft`||n.key===`ArrowRight`){n.preventDefault(),t=Math.max(0,Math.min(a.length-1,t+(n.key===`ArrowLeft`?-1:1)));let o=a[t],s=V(r,i,o,1/0),c=s?e.getSeriesList()[s.seriesIndex]:void 0;if(!s||!c)return;e.crosshair?.show(s.point.x,s.point.y,e.dims().width,e.dims().height,`${c.name}: ${s.datum.value}`),e.tooltip?.show(s.point.x+e.dims().margin.left,s.point.y+e.dims().margin.top,s.datum,c),e.onHover?.({datum:s.datum,originalEvent:n,series:c})}if((n.key===`Enter`||n.key===` `)&&e.onClick){n.preventDefault();let o=a[t],s=V(r,i,o,1/0),c=s?e.getSeriesList()[s.seriesIndex]:void 0;s&&c&&e.onClick({datum:s.datum,originalEvent:n,series:c})}n.key===`Escape`&&(e.crosshair?.hide(),e.tooltip?.hide(),e.onHover?.(null))}},onMouseLeave:()=>{e.crosshair?.hide(),e.tooltip?.hide(),e.onHover?.(null)},onMouseMove:t=>{let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),i=B(e.svg,t,r.margin.left,r.margin.top),a=L(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height){e.crosshair?.hide(),e.tooltip?.hide();return}let o=_e(e.getData(),n,i.x);if(o===null)return;let s=V(e.getData(),n,o,i.y),c=s?e.getSeriesList()[s.seriesIndex]:void 0,l=e.crosshair?.snap===!1?i.x:s?.point.x??i.x,u=e.crosshair?.snap===!1?i.y:s?.point.y??i.y;e.crosshair?.show(l,u,a.width,a.height,c&&s?`${c.name}: ${s.datum.value}`:void 0),s&&c&&(e.tooltip?.show(s.point.x+r.margin.left,s.point.y+r.margin.top,s.datum,c),e.onHover?.({datum:s.datum,originalEvent:t,series:c}))}}}var H=8;function ye(e){let t=document.documentElement;if(e.colors)for(let n=0;n<H;n++){let r=e.colors[n];r?t.style.setProperty(`--prism-color-${n+1}`,r):t.style.removeProperty(`--prism-color-${n+1}`)}e.fontFamily&&t.style.setProperty(`--prism-font-family`,e.fontFamily),e.gridColor&&t.style.setProperty(`--prism-grid-color`,e.gridColor),e.gridOpacity!==void 0&&t.style.setProperty(`--prism-grid-opacity`,String(e.gridOpacity))}function be(){let e=document.documentElement;for(let t=1;t<=H;t++)e.style.removeProperty(`--prism-color-${t}`);e.style.removeProperty(`--prism-font-family`),e.style.removeProperty(`--prism-grid-color`),e.style.removeProperty(`--prism-grid-opacity`)}function U(e,t){return t??`var(--prism-color-${e%H+1})`}function W(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++)t+=`L${e[n].x},${e[n].y}`;return t}function G(e){if(e.length<3)return W(e);let t=e.length,n=[];for(let r=0;r<t;r++)r===0?n.push({x:e[1].x-e[0].x,y:e[1].y-e[0].y}):r===t-1?n.push({x:e[t-1].x-e[t-2].x,y:e[t-1].y-e[t-2].y}):n.push({x:(e[r+1].x-e[r-1].x)/2,y:(e[r+1].y-e[r-1].y)/2});let r=`M${e[0].x},${e[0].y}`;for(let i=0;i<t-1;i++){let t=e[i],a=e[i+1],o=n[i],s=n[i+1],c=(a.x-t.x)/3;r+=`C${t.x+c},${t.y+o.y/3},${a.x-c},${a.y-s.y/3},${a.x},${a.y}`}return r}function K(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++){let r=(e[n-1].x+e[n].x)/2;t+=`H${r}V${e[n].y}H${e[n].x}`}return t}function q(e,t,n=`linear`){if(e.length===0)return``;let r=n===`monotone`?G(e):n===`step`?K(e):W(e),i=[...t].reverse();if(i.length>0){r+=`L${i[0].x},${i[0].y}`;for(let e=1;e<i.length;e++)r+=`L${i[e].x},${i[e].y}`}return r+=`Z`,r}var J=new WeakMap,Y=new WeakMap;function xe(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function Se(e,t,n,r){let i=u(r.transition,0),a=i.duration,o=l(i.easing),s=e.querySelector(`.prism-area-fill`);s||(s=m(`path`,{class:`prism-area-fill`}),e.appendChild(s)),h(s,{fill:r.color,"fill-opacity":r.fillOpacity,stroke:`none`});let c=null;if(r.showLine?(c=e.querySelector(`.prism-area-line`),c||(c=m(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(c)),h(c,{stroke:r.color,"stroke-width":2})):e.querySelector(`.prism-area-line`)?.remove(),a===0){let e=t.map(e=>({x:e.x,y:n}));h(s,{d:q(t,e,r.curve)}),c&&h(c,{d:xe(t,r.curve)});return}if(J.get(e)?.(),!s.hasAttribute(`d`)){let i=t.map(e=>({x:e.x,y:n}));h(s,{d:q(t,i,r.curve)}),c&&h(c,{d:xe(t,r.curve)}),Y.set(e,t);return}let f=Y.get(e)??t,p=t.map((e,n)=>f[n]??f[f.length-1]??t[n]),g=null;function _(i){if(r.disposalSignal?.aborted){J.delete(e);return}g===null&&(g=i);let l=Math.min(1,(i-g)/a),u=o(l),f=t.map((e,t)=>({x:d(p[t].x,e.x,u),y:d(p[t].y,e.y,u)})),m=f.map(e=>({x:e.x,y:n}));if(h(s,{d:q(f,m,r.curve)}),c&&h(c,{d:xe(f,r.curve)}),l<1){let t=requestAnimationFrame(_);J.set(e,()=>cancelAnimationFrame(t))}else J.delete(e),Y.set(e,t)}Y.set(e,p);let v=requestAnimationFrame(_);J.set(e,()=>cancelAnimationFrame(v))}function Ce(e,t,n){return e.some(e=>e.key==null)||e.some(e=>typeof e.key==`string`),e.map(e=>({x:t.map(e.key),y:n.map(e.value)}))}function we(e,t){let r=null;return R(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=L(s.width,s.height,s.margin),l=n(t.series)?t.series.value:t.series,u=l.map(e=>n(e.data)?e.data.value:e.data),d=u.flat().map(e=>e.key),f=u.flat().map(e=>e.value);if(d.length===0){de(i,a,o,r);return}t.crosshair&&!r&&(r=he(e.chartArea,t.crosshair));let p=te(d,c.width),h=I(f,c.height),g=h.map(0);for(t.yAxis?.grid&&C(i.grid,h,t.yAxis.grid,c.width,`horizontal`,x(t.yAxis,c.height,`left`)),t.xAxis?.grid&&C(i.grid,p,t.xAxis.grid,c.height,`vertical`,x(t.xAxis,c.width,`bottom`)),t.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),S(i.xAxis,p,t.xAxis,c.width,`bottom`)),t.yAxis&&S(i.yAxis,h,t.yAxis,c.height,`left`);i.series.children.length>l.length;)i.series.removeChild(i.series.lastChild);let _=[];for(let n=0;n<l.length;n++){let r=l[n],a=i.series.children[n];a||(a=m(`g`,{class:`prism-area-series`}),i.series.appendChild(a));let o=Ce(u[n],p,h);_.push(o),Se(a,o,g,{color:U(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,fillOpacity:r.fillOpacity??.3,showLine:r.showLine!==!1,transition:t.transition})}return a?.update(l.map((e,t)=>({color:U(t,e.color),name:e.name}))),o?.hide(),ve({crosshair:r,dims:()=>e.dimensions.value,getData:()=>u,getPoints:()=>_,getSeriesList:()=>n(t.series)?t.series.value:t.series,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:o})})}function Te(e){let t=()=>e.domain,n=()=>e.range,r=()=>{let r=t().length;if(r===0)return 0;let[i,a]=n(),o=e.padding??.1;return(a-i)/(r+(r-1)*o+(e.paddingOuter??o)*2)};return{bandwidth:r,get domain(){return t()},gap(){let t=e.padding??.1;return r()*t},map(i){let a=t().indexOf(i);if(a===-1)return`${i}`,0;let[o]=n(),s=r(),c=e.padding??.1;return o+(e.paddingOuter??c)*s+a*(s+s*c)},get range(){return n()},ticks(e){let n=t();if(e===void 0||e>=n.length)return[...n];if(e<=0)return[];let r=Math.ceil(n.length/e);return n.filter((e,t)=>t%r===0)}}}function Ee(e,t,n){for(let r=0;r<t.length;r++){let i=n.bandCenter(t[r])-n.bandwidth/2;if(e>=i&&e<i+n.bandwidth)return r}return-1}function De(e,t,n,r,i){if(r.stacked){if(r.horizontal){for(let n=0;n<i;n++)if(r.valueScale.map(r.stackedTops[n]?.[t]??0)>=e.x)return n;return i-1}for(let n=0;n<i;n++)if(r.valueScale.map(r.stackedTops[n]?.[t]??0)<=e.y)return n;return i-1}{let a=r.bandwidth/i,o=r.bandCenter(n[t])-r.bandwidth/2,s=r.horizontal?e.y-o:e.x-o,c=Math.floor(s/a);return Math.max(0,Math.min(i-1,c))}}function Oe(e,t,n,r,i){let a=i-1,o=r.stacked?r.stackedTops[a]?.[t]??0:Math.max(...Array.from({length:i},(e,r)=>n[r]?.[t]?.value??0)),s=r.valueScale.map(o);return r.horizontal?e.x>s:e.y<s}var ke=new WeakMap;function Ae(e,t,n,r,i,a){for(;e.children.length>t.length;){let t=e.lastElementChild;t&&e.removeChild(t)}let o=n.bandwidth(),s=a.stacked?o:o/a.seriesCount,c=a.stacked?0:s*a.seriesIndex,l=a.horizontal??!1,u=[],d=[];for(let o=0;o<t.length;o++){let f=t[o],p=n.map(f.key)+c,g=a.baselineYs?a.baselineYs[o]:i,_=r.map(f.y),v=e.children[o],y=!v;if(v||(v=m(`rect`,{class:`prism-bar`}),e.appendChild(v)),v.style.display=f.present?``:`none`,l){let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);h(v,{fill:a.color,height:Math.max(0,s-1),rx:a.borderRadius,ry:a.borderRadius,y:p}),a.transition?y?(h(v,{width:0,x:g}),u.push({attrs:{width:{from:0,to:e},x:{from:g,to:t}},el:v})):d.push({attrs:{width:{from:Number(v.getAttribute(`width`)??e),to:e},x:{from:Number(v.getAttribute(`x`)??t),to:t}},el:v}):h(v,{width:e,x:t})}else{let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);h(v,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:Math.max(0,s-1),x:p}),a.transition?y?(h(v,{height:0,y:g}),u.push({attrs:{height:{from:0,to:e},y:{from:g,to:t}},el:v})):d.push({attrs:{height:{from:Number(v.getAttribute(`height`)??e),to:e},y:{from:Number(v.getAttribute(`y`)??t),to:t}},el:v}):h(v,{height:e,y:t})}}if(a.transition){ke.get(e)?.();let t=[];u.length>0&&t.push(f(u,a.transition,void 0,a.disposalSignal)),d.length>0&&t.push(f(d,{...a.transition,stagger:0},void 0,a.disposalSignal)),ke.set(e,()=>{for(let e of t)e()})}}function je(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function Me(e,t){return R(e,t,e=>{let{groups:r,legend:i,tooltip:a}=e,o=e.dimensions.value,s=L(o.width,o.height,o.margin),c=n(t.series)?t.series.value:t.series,l=ge(c,c.map(e=>n(e.data)?e.data.value:e.data)),u=l.domain,d=l.series.map(({byKey:e})=>u.map(t=>e.get(t))),f=e=>{if(e)return{...e,tickFormat:t=>{let n=String(t),r=l.labels.get(n)??t;return e.tickFormat?e.tickFormat(r):String(r)}}};if(u.length===0){de(r,i,a);return}let{horizontal:p,stacked:h}=je(t.variant??`grouped`),g,_;if(h){d.some(e=>e.some(e=>(e?.value??0)<0));let e=u.map((e,t)=>d.reduce((e,n)=>e+Math.max(0,n[t]?.value??0),0));g=Math.max(...e),_=0}else{let e=d.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));g=Math.max(...e),_=Math.min(0,...e)}let v=Te(p?{domain:u,range:[0,s.height]}:{domain:u,range:[0,s.width]}),y=E(p?{domain:[_,g],range:[0,s.width]}:{domain:[_,g],range:[s.height,0]}),b=[],w=Object.create(null);for(let e of u)w[e]=0;let T={bandCenter:e=>v.map(e)+v.bandwidth()/2,bandwidth:v.bandwidth(),baselinePx:y.map(0),horizontal:p,stacked:h,stackedTops:b,valueScale:y};if(p){t.xAxis?.grid&&C(r.grid,y,t.xAxis.grid,s.height,`vertical`,x(t.xAxis,s.width,`bottom`));let e=f(t.yAxis);e&&S(r.yAxis,v,e,s.height,`left`),t.xAxis&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),S(r.xAxis,y,t.xAxis,s.width,`bottom`))}else{t.yAxis?.grid&&C(r.grid,y,t.yAxis.grid,s.width,`horizontal`,x(t.yAxis,s.height,`left`));let e=f(t.xAxis);e&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),S(r.xAxis,v,e,s.width,`bottom`)),t.yAxis&&S(r.yAxis,y,t.yAxis,s.height,`left`)}for(;r.series.children.length>c.length;){let e=r.series.lastElementChild;e&&r.series.removeChild(e)}for(let n=0;n<c.length;n++){let i=c[n],a=r.series.children[n];a||(a=m(`g`,{class:`prism-bar-series`}),r.series.appendChild(a));let o=u.map((e,t)=>{let r=d[n]?.[t];if(h){let t=w[e]??0,n=t+Math.max(0,r?.value??0);return w[e]=n,{base:t,key:e,present:r!==void 0,y:n}}return{base:0,key:e,present:r!==void 0,y:r?.value??0}});b[n]=o.map(e=>e.y);let s=h?o.map(e=>y.map(e.base)):void 0;Ae(a,o,v,y,T.baselinePx,{baselineYs:s,borderRadius:i.borderRadius??0,color:U(n,i.color),disposalSignal:e.disposalSignal,horizontal:p,seriesCount:c.length,seriesIndex:n,stacked:h,transition:t.transition})}return i?.update(c.map((e,t)=>({color:U(t,e.color),name:e.name}))),a?.hide(),{onClick:n=>{if(!t.onClick)return;let r=e.dimensions.value,i=B(e.svg,n,r.margin.left,r.margin.top),a=L(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return;let o=Ee(p?i.y:i.x,u,T);if(o===-1)return;let s=De(i,o,u,T,c.length),l=d[s]?.[o];l&&t.onClick({datum:l,originalEvent:n,series:c[s]})},onMouseLeave:()=>{a?.hide(),t.onHover?.(null)},onMouseMove:n=>{let r=e.dimensions.value,i=B(e.svg,n,r.margin.left,r.margin.top),o=L(r.width,r.height,r.margin);if(i.x<0||i.x>o.width||i.y<0||i.y>o.height){a?.hide();return}let s=Ee(p?i.y:i.x,u,T);if(s===-1){a?.hide();return}if(Oe(i,s,d,T,c.length)){a?.hide();return}let l=De(i,s,u,T,c.length),f=d[l]?.[s];if(f){let e=T.bandCenter(u[s]),i=h?b[l]?.[s]??f.value:f.value,o=y.map(i),d=p?o+r.margin.left:e+r.margin.left,m=p?e+r.margin.top:o+r.margin.top;a?.show(d,m,f,c[l]),t.onHover?.({datum:f,originalEvent:n,series:c[l]})}}}})}var X=new WeakMap;function Ne(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function Pe(e,t,n){let r=u(n.transition,0),i=r.duration,a=l(r.easing),o=e.querySelector(`.prism-line-path`);o||(o=m(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(o)),h(o,{stroke:n.color,"stroke-width":n.strokeWidth});let s=e.querySelector(`.prism-line-dots`);if(n.showPoints?s||(s=m(`g`,{class:`prism-line-dots`}),e.appendChild(s)):s&&=(s.remove(),null),i===0){if(h(o,{d:Ne(t,n.curve)}),s){for(;s.children.length>t.length;)s.removeChild(s.lastChild);for(let e=0;e<t.length;e++){let r=s.children[e];r||(r=m(`circle`,{class:`prism-line-dot`}),s.appendChild(r)),h(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius})}}return}X.get(e)?.();let c=!!o.getAttribute(`d`),f=[],p=null;if(s){let e=s.children.length;for(let t=0;t<e;t++){let e=s.children[t],n={x:Number(e.getAttribute(`cx`)),y:Number(e.getAttribute(`cy`))};f.push(n),p=n}for(;s.children.length>t.length;)s.removeChild(s.lastChild);for(let e=s.children.length;e<t.length;e++){let r=m(`circle`,{class:`prism-line-dot`});h(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius}),s.appendChild(r)}}for(let e=f.length;e<t.length;e++)f.push(p??t[e]);let g=null;function _(r){if(n.disposalSignal?.aborted){X.delete(e);return}g===null&&(g=r);let c=Math.min(1,(r-g)/i),l=a(c),u=t.map((e,t)=>{let n=f[t]??e;return{x:d(n.x,e.x,l),y:d(n.y,e.y,l)}});if(h(o,{d:Ne(u,n.curve)}),s)for(let e=0;e<t.length;e++){let t=s.children[e];t&&h(t,{cx:u[e].x,cy:u[e].y})}if(c<1){let t=requestAnimationFrame(_);X.set(e,()=>cancelAnimationFrame(t))}else X.delete(e)}if(!c)h(o,{d:Ne(t,n.curve)});else{let t=requestAnimationFrame(_);X.set(e,()=>cancelAnimationFrame(t))}}function Fe(e,t,n){return e.some(e=>e.key==null)||e.some(e=>typeof e.key==`string`),e.map(e=>({x:t.map(e.key),y:n.map(e.value)}))}function Ie(e,t){let r=null;return R(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=L(s.width,s.height,s.margin),l=n(t.series)?t.series.value:t.series,u=l.map(e=>n(e.data)?e.data.value:e.data),d=u.flat().map(e=>e.key),f=u.flat().map(e=>e.value);if(d.length===0){de(i,a,o,r);return}t.crosshair&&!r&&(r=he(e.chartArea,t.crosshair));let p=te(d,c.width),h=I(f,c.height);for(t.yAxis?.grid&&C(i.grid,h,t.yAxis.grid,c.width,`horizontal`,x(t.yAxis,c.height,`left`)),t.xAxis?.grid&&C(i.grid,p,t.xAxis.grid,c.height,`vertical`,x(t.xAxis,c.width,`bottom`)),t.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),S(i.xAxis,p,t.xAxis,c.width,`bottom`)),t.yAxis&&S(i.yAxis,h,t.yAxis,c.height,`left`);i.series.children.length>l.length;)i.series.removeChild(i.series.lastChild);let g=[];for(let n=0;n<l.length;n++){let r=l[n],a=i.series.children[n];a||(a=m(`g`,{class:`prism-line-series`}),i.series.appendChild(a));let o=Fe(u[n],p,h);g.push(o),Pe(a,o,{color:U(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,pointRadius:r.pointRadius??3,showPoints:r.showPoints??!1,strokeWidth:r.strokeWidth??2,transition:t.transition})}return a?.update(l.map((e,t)=>({color:U(t,e.color),name:e.name}))),o?.hide(),ve({crosshair:r,dims:()=>e.dimensions.value,getData:()=>u,getPoints:()=>g,getSeriesList:()=>n(t.series)?t.series.value:t.series,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:o})})}function Le(e,t,n,r,i,a,o,s,c,l,u=!1){let d=e.reduce((e,t)=>e+Math.max(0,t.value),0);if(d===0)return[];let f=o-a,p=r>0?Math.asin(Math.min(1,s/2/r)):0,m=a,h=e.length;return e.map((e,a)=>{let o=Math.max(0,e.value)/d*f,s=m,g=m+o;m+=o;let _=Math.min(p,o/2);return{capEnd:u&&a===h-1,capStart:u&&a===0,centerX:t,centerY:n,color:e.color??l(a),cornerRadius:c,endAngle:g,index:a,innerRadius:i,outerRadius:r,padAngle:_,slice:e,startAngle:s}})}function Z(e,t,n,r){return`${e+n*Math.sin(r)},${t-n*Math.cos(r)}`}function Q(e,t,n){return e+t*Math.sin(n)}function $(e,t,n){return e-t*Math.cos(n)}function Re(e){let{capEnd:t,capStart:n,centerX:r,centerY:i,cornerRadius:a,endAngle:o,innerRadius:s,outerRadius:c,padAngle:l,startAngle:u}=e,d=o-u;if(d<=0)return``;if(d>=2*Math.PI-1e-6){let e=u+Math.PI;return s<=0?`M${Z(r,i,c,u)}A${c},${c},0,1,1,${Z(r,i,c,e)}A${c},${c},0,1,1,${Z(r,i,c,u)}Z`:[`M${Z(r,i,c,u)}`,`A${c},${c},0,1,1,${Z(r,i,c,e)}`,`A${c},${c},0,1,1,${Z(r,i,c,u)}`,`M${Z(r,i,s,u)}`,`A${s},${s},0,1,0,${Z(r,i,s,e)}`,`A${s},${s},0,1,0,${Z(r,i,s,u)}`,`Z`].join(``)}let f=n?u:u+l,p=t?o:o-l;if(p<=f)return``;let m=p-f;if(a<=0){let e=+(m>Math.PI);return s<=0?`M${r},${i}L${Z(r,i,c,f)}A${c},${c},0,${e},1,${Z(r,i,c,p)}Z`:[`M${Z(r,i,c,f)}`,`A${c},${c},0,${e},1,${Z(r,i,c,p)}`,`L${Z(r,i,s,p)}`,`A${s},${s},0,${e},0,${Z(r,i,s,f)}`,`Z`].join(``)}let h=Math.min(a/c,m/2),g=Math.min(a/s,m/2),_=Math.min(a,(c-s)/2),v=(c-s)/2,y=f+(n?0:h),b=p-(t?0:h),x=f+(n?0:g),S=p-(t?0:g),C=+(b-y>Math.PI),w=+(S-x>Math.PI),T=Q(r,c,f),E=$(i,c,f),D=Q(r,c,p),O=$(i,c,p),k=Q(r,s,f),A=$(i,s,f),j=Q(r,s,p),M=$(i,s,p),N=_/(c-s),P=`${T+(k-T)*N},${E+(A-E)*N}`,F=`${D+(j-D)*N},${O+(M-O)*N}`,ee=`${k+(T-k)*N},${A+(E-A)*N}`,te=`${j+(D-j)*N},${M+(O-M)*N}`,I=[];return n?I.push(`M${Z(r,i,c,f)}`):(I.push(`M${P}`),I.push(`Q${T},${E},${Z(r,i,c,y)}`)),I.push(`A${c},${c},0,${C},1,${Z(r,i,c,b)}`),t?I.push(`A${v},${v},0,0,1,${Z(r,i,s,p)}`):(I.push(`Q${D},${O},${F}`),I.push(`L${te}`),I.push(`Q${j},${M},${Z(r,i,s,S)}`)),I.push(`A${s},${s},0,${w},0,${Z(r,i,s,x)}`),n?I.push(`A${v},${v},0,0,0,${Z(r,i,c,f)}`):I.push(`Q${k},${A},${ee}`),I.push(`Z`),I.join(``)}function ze(e){let t=(e.startAngle+e.endAngle)/2,n=(e.outerRadius+e.innerRadius)/2;return{x:e.centerX+n*Math.sin(t),y:e.centerY-n*Math.cos(t)}}var Be=2*Math.PI,Ve=-Math.PI/2,He=Math.PI/2;function Ue(e){return e===`semi`?{end:He,start:Ve}:{end:Be,start:0}}function We(e,t){let r=t.variant??`pie`,i=t.padPixels??(r===`pie`?0:8),a=t.cornerRadius??(r===`pie`?0:8),o=m(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),s=m(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),c=m(`g`,{class:`prism-pie-labels`,"pointer-events":`none`}),f=[],p=null;function g(e){for(;c.children.length>f.length;)c.removeChild(c.lastChild);for(let t=0;t<f.length;t++){let n=f[t],r=e[t];if(!r?.label)continue;let{x:i,y:a}=ze(n),o=c.children[t];o||(o=m(`text`,{class:`prism-pie-label`}),c.appendChild(o)),h(o,{"dominant-baseline":`middle`,fill:`var(--prism-pie-label-color, #fff)`,"font-family":`var(--prism-font-family, system-ui)`,"font-size":`var(--prism-pie-label-size, 12px)`,"text-anchor":`middle`,x:i,y:a}),o.textContent=r.label}}let _=me(e,{a11y:t.a11y,legend:t.legend,plugins:t.plugins,tooltip:t.tooltip},_=>{let{legend:v,svg:y,tooltip:b}=_;y.contains(o)||(y.appendChild(o),y.appendChild(s),y.appendChild(c));let{height:x,width:S}=_.dimensions.value,C=r===`semi`,w=S/2,T=C?x*.85:x/2,E=C?Math.min(w,T)-8:Math.min(S,x)/2-8,D=r===`pie`?0:Math.round(E*.55),O=t.innerRadius===void 0?D:t.innerRadius,k=Math.max(O+1,E),A=n(t.data)?t.data.value:t.data,{end:j,start:M}=Ue(r);for(f=Le(A,w,T,k,O,M,j,i,a,e=>U(e),!1),h(o,{cx:w,cy:T,r:O>0?O:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>f.length;)s.removeChild(s.lastChild);for(;c.children.length>f.length;)c.removeChild(c.lastChild);let N=u(t.transition,0),P=N.duration,F=l(N.easing);for(let e=0;e<f.length;e++){let n=f[e],r=s.children[e];r||(r=m(`path`,{class:`prism-pie-slice`}),s.appendChild(r)),r.setAttribute(`fill`,n.color),r.setAttribute(`stroke`,`none`),r.style.cursor=t.onClick||t.onHover?`pointer`:``}if(p!==null&&(cancelAnimationFrame(p),p=null),P>0){let e=null,t=n=>{e===null&&(e=n);let r=F(Math.min(1,(n-e)/P)),i=d(M,j,r);for(let e=0;e<f.length;e++){let t=f[e],n=s.children[e];if(n){if(i<=t.startAngle)h(n,{d:``});else{let e=Math.min(t.endAngle,i);h(n,{d:Re({...t,endAngle:e})})}}}r<1?p=requestAnimationFrame(t):(p=null,g(A))};p=requestAnimationFrame(t)}else{for(let e=0;e<f.length;e++){let t=f[e],n=s.children[e];n&&h(n,{d:Re(t)})}g(A)}return v?.update(f.map(e=>({color:e.color,name:e.slice.label??``}))),b?.hide(),{onClick:e=>{if(!t.onClick)return;let n=y.getBoundingClientRect(),i=e.clientX-n.left,a=e.clientY-n.top,o=Ge(f,i,a,r);o>=0&&t.onClick(f[o].slice,o)},onMouseLeave:()=>{t.onHover?.(null,null),b?.hide()},onMouseMove:n=>{let i=y.getBoundingClientRect(),a=n.clientX-i.left,o=n.clientY-i.top,s=Ge(f,a,o,r);if(s>=0){let n=f[s];t.onHover?.(n.slice,s);let{x:r,y:a}=ze(n),o=e.getBoundingClientRect();b?.show(r+(i.left-o.left),a+(i.top-o.top),{key:s,value:n.slice.value},{color:n.color,data:[],name:n.slice.label??``})}else t.onHover?.(null,null),b?.hide()}}});return{get disposalSignal(){return _.disposalSignal},dispose(){p!==null&&(cancelAnimationFrame(p),p=null),_.dispose()},get disposed(){return _.disposed},el:_.el,[Symbol.dispose](){this.dispose()}}}function Ge(e,t,n,r){for(let i=0;i<e.length;i++){let a=e[i],o=t-a.centerX,s=n-a.centerY,c=Math.sqrt(o*o+s*s);if(c<a.outerRadius&&c>=a.innerRadius){let e=Math.atan2(o,-s);if(r===`semi`){if(e>=a.startAngle-1e-9&&e<=a.endAngle+1e-9)return i}else{let t=e<0?e+Be:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}function Ke(e,t,n){if(e.length===0)return[];let r=t/Math.max(1,e.length-1),i=Math.min(...e),a=Math.max(...e)-i||1;return e.map((e,t)=>({x:t*r,y:n-(e-i)/a*n}))}function qe(e,t,n,r=`linear`){if(e.length===0)return``;let i=Ke(e,t,n);return q(i,i.map(e=>({x:e.x,y:n})),r??`linear`)}function Je(e,t,n,r){if(e.length===0)return``;let i=Ke(e,t,n);return r===`monotone`?G(i):r===`step`?K(i):W(i)}function Ye(e,t,n,r,i,a,o){let s=t.length,c=Math.max(1,n/s-1),f=n/s,p=Math.min(0,...t),g=Math.max(...t)-p||1,_=u(a,0),v=_.duration,y=l(_.easing);for(;e.children.length>s;){let t=e.lastElementChild;t&&e.removeChild(t)}for(let n=0;n<s;n++){let a=Math.max(1,(t[n]-p)/g*r),s=r-a,l=e.children[n];if(l||(l=m(`rect`,{class:`prism-spark-bar`}),e.appendChild(l)),h(l,{fill:i,width:c,x:n*f}),v>0&&!l.hasAttribute(`data-init`)){l.setAttribute(`data-init`,`1`),h(l,{height:0,y:r});let e=null,t={h:0,y:r},n={h:a,y:s},i=r=>{if(o?.aborted)return;e===null&&(e=r);let a=y(Math.min(1,(r-e)/v));h(l,{height:d(t.h,n.h,a),y:d(t.y,n.y,a)}),a<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}else l.setAttribute(`data-init`,`1`),h(l,{height:a,y:s})}}function Xe(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function Ze(e,t,n,r,i,a,o){let s=Math.min(i,n/2,r/2),c=a?s:0,l=a?s:0,u=o?s:0,d=o?s:0;return[`M${e+c},${t}`,`H${e+n-u}`,u?`Q${e+n},${t} ${e+n},${t+u}`:``,`V${t+r-d}`,d?`Q${e+n},${t+r} ${e+n-d},${t+r}`:``,`H${e+l}`,l?`Q${e},${t+r} ${e},${t+r-l}`:``,`V${t+c}`,c?`Q${e},${t} ${e+c},${t}`:``,`Z`].filter(Boolean).join(``)}function Qe(e){return`var(--prism-color-${e%8+1})`}function $e(r,i){let a=i.variant??`line`,o=i.color??`var(--prism-color-1)`,s=i.curve??`linear`,c=i.strokeWidth??1.5,l=i.fillOpacity??.2,u=ue(r,{...i.a11y?{a11y:i.a11y}:{ariaHidden:!0},margin:{bottom:0,left:0,right:0,top:0}}),{svg:d}=u;d.classList.add(`prism-sparkline`);let f=m(`g`,{class:`prism-spark-inner`});d.appendChild(f);let p;function g(){let{height:e,width:t}=u.dimensions.value,r=n(i.data)?i.data.value:i.data;for(;f.firstChild;)f.removeChild(f.firstChild);if(r.length!==0){if(a===`stack`&&Xe(r)){let n=m(`g`,{class:`prism-spark-stack`});f.appendChild(n);let a=i.cornerRadius??4,o=r,s=o.reduce((e,t)=>e+Math.max(0,t.value),0);if(s>0){let r=(i.padPixels??0)/2,c=0;o.forEach((i,l)=>{let u=Math.round(c);c+=Math.max(0,i.value)/s*t;let d=l===o.length-1?t:Math.round(c),f=l===0,p=l===o.length-1,g=Ze(u+(f?0:r),0,Math.max(0,d-u-(f?0:r)-(p?0:r)),e,a,f,p),_=m(`path`,{class:`prism-spark-stack-segment`});h(_,{d:g,fill:i.color??Qe(l)}),n.appendChild(_)})}}else if(a===`bar`){let n=m(`g`,{class:`prism-spark-bars`});f.appendChild(n),Ye(n,r,t,e,o,i.transition,v.signal)}else{if(a===`area`){let n=m(`path`,{class:`prism-spark-fill`});h(n,{d:qe(r,t,e,s),fill:o,"fill-opacity":l,stroke:`none`}),f.appendChild(n)}let n=m(`path`,{class:`prism-spark-line`});h(n,{d:Je(r,t,e,s),fill:`none`,stroke:o,"stroke-width":c}),f.appendChild(n)}Xe(r)||_(r)}}function _(e){if(p?.(),p=void 0,!i.onHover&&!i.onClick||e.length<=1)return;let{width:t}=u.dimensions.value;d.style.cursor=`crosshair`;let n=t/(e.length-1),r=t=>{let r=d.getBoundingClientRect(),a=t.clientX-r.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/n)));i.onHover?.(o,e[o])},a=()=>i.onHover?.(null,null),o=t=>{if(!i.onClick)return;let r=d.getBoundingClientRect(),a=t.clientX-r.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/n)));i.onClick(o,e[o])};d.addEventListener(`mousemove`,r),d.addEventListener(`mouseleave`,a),d.addEventListener(`click`,o),p=()=>{d.removeEventListener(`mousemove`,r),d.removeEventListener(`mouseleave`,a),d.removeEventListener(`click`,o)}}let v=new AbortController,y=e();y.run(()=>{t(()=>{g()},{scheduler:`microtask`})});let b=!1;return{get disposalSignal(){return v.signal},dispose(){b||(b=!0,v.abort(),p?.(),y.dispose(),u.dispose())},get disposed(){return b},el:d,[Symbol.dispose](){this.dispose()}}}export{ae as PrismError,oe as PrismRenderError,f as animate,Te as bandScale,we as createAreaChart,Me as createBarChart,Ie as createLineChart,We as createPieChart,$e as createSparkline,E as linearScale,be as resetTheme,U as seriesColor,ye as setTheme,ee as timeScale};
2
2
  //# sourceMappingURL=prism.js.map