@vielzeug/prism 1.1.7 → 2.0.0

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.
Files changed (70) hide show
  1. package/dist/_dev.cjs +1 -1
  2. package/dist/_dev.cjs.map +1 -1
  3. package/dist/_dev.js +3 -8
  4. package/dist/_dev.js.map +1 -1
  5. package/dist/charts/area/area-chart.cjs +1 -1
  6. package/dist/charts/area/area-chart.cjs.map +1 -1
  7. package/dist/charts/area/area-chart.js +43 -43
  8. package/dist/charts/area/area-chart.js.map +1 -1
  9. package/dist/charts/area/area-renderer.cjs +1 -1
  10. package/dist/charts/area/area-renderer.cjs.map +1 -1
  11. package/dist/charts/area/area-renderer.js +40 -40
  12. package/dist/charts/area/area-renderer.js.map +1 -1
  13. package/dist/charts/bar/bar-chart.cjs +1 -1
  14. package/dist/charts/bar/bar-chart.cjs.map +1 -1
  15. package/dist/charts/bar/bar-chart.js +92 -92
  16. package/dist/charts/bar/bar-chart.js.map +1 -1
  17. package/dist/charts/bar/bar-hit-test.cjs +1 -1
  18. package/dist/charts/bar/bar-hit-test.cjs.map +1 -1
  19. package/dist/charts/bar/bar-hit-test.js +1 -1
  20. package/dist/charts/bar/bar-hit-test.js.map +1 -1
  21. package/dist/charts/line/line-chart.cjs +1 -1
  22. package/dist/charts/line/line-chart.cjs.map +1 -1
  23. package/dist/charts/line/line-chart.js +43 -43
  24. package/dist/charts/line/line-chart.js.map +1 -1
  25. package/dist/charts/line/line-renderer.cjs +1 -1
  26. package/dist/charts/line/line-renderer.cjs.map +1 -1
  27. package/dist/charts/line/line-renderer.js +52 -52
  28. package/dist/charts/line/line-renderer.js.map +1 -1
  29. package/dist/charts/pie/pie-chart.cjs.map +1 -1
  30. package/dist/charts/pie/pie-chart.js.map +1 -1
  31. package/dist/charts/sparkline/sparkline.cjs +1 -1
  32. package/dist/charts/sparkline/sparkline.cjs.map +1 -1
  33. package/dist/charts/sparkline/sparkline.d.ts.map +1 -1
  34. package/dist/charts/sparkline/sparkline.js +14 -12
  35. package/dist/charts/sparkline/sparkline.js.map +1 -1
  36. package/dist/core/cartesian-scales.cjs +1 -1
  37. package/dist/core/cartesian-scales.cjs.map +1 -1
  38. package/dist/core/cartesian-scales.js +23 -39
  39. package/dist/core/cartesian-scales.js.map +1 -1
  40. package/dist/core/chart-base.cjs +1 -1
  41. package/dist/core/chart-base.cjs.map +1 -1
  42. package/dist/core/chart-base.d.ts.map +1 -1
  43. package/dist/core/chart-base.js +38 -38
  44. package/dist/core/chart-base.js.map +1 -1
  45. package/dist/core/chart-scaffold.cjs +1 -1
  46. package/dist/core/chart-scaffold.cjs.map +1 -1
  47. package/dist/core/chart-scaffold.d.ts.map +1 -1
  48. package/dist/core/chart-scaffold.js +46 -48
  49. package/dist/core/chart-scaffold.js.map +1 -1
  50. package/dist/errors.cjs.map +1 -1
  51. package/dist/errors.js.map +1 -1
  52. package/dist/interaction/tooltip.cjs +1 -1
  53. package/dist/interaction/tooltip.cjs.map +1 -1
  54. package/dist/interaction/tooltip.js +33 -35
  55. package/dist/interaction/tooltip.js.map +1 -1
  56. package/dist/prism.cjs +1 -1
  57. package/dist/prism.cjs.map +1 -1
  58. package/dist/prism.iife.js +1 -1
  59. package/dist/prism.iife.js.map +1 -1
  60. package/dist/prism.js +1 -1
  61. package/dist/prism.js.map +1 -1
  62. package/dist/scales/band.cjs +1 -1
  63. package/dist/scales/band.cjs.map +1 -1
  64. package/dist/scales/band.js +22 -22
  65. package/dist/scales/band.js.map +1 -1
  66. package/dist/svg/element.cjs +1 -1
  67. package/dist/svg/element.cjs.map +1 -1
  68. package/dist/svg/element.js +12 -12
  69. package/dist/svg/element.js.map +1 -1
  70. package/package.json +4 -4
package/dist/prism.js CHANGED
@@ -1,2 +1,2 @@
1
- import{effect as e,isReactive as t,scope 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=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},l=class extends c{},u=class extends c{},d=!globalThis.__PRISM_PROD__;function f(e){d&&console.warn(`[@vielzeug/prism] ${e}`)}function p(e,...t){d&&console.error(`[@vielzeug/prism] ${e}`,...t)}var m=`http://www.w3.org/2000/svg`;function h(e,t){let n=document.createElementNS(m,e);return t&&g(n,t),n}function g(e,t){for(let[n,r]of Object.entries(t)){if(r===void 0){e.removeAttribute(n);continue}typeof r==`number`&&!Number.isFinite(r)&&f(`setAttributes: attribute "${n}" on <${e.tagName}> received a non-finite value (${r}) — check upstream scale/geometry math for invalid input.`),e.setAttribute(n,String(r))}}function _(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function v(e,t){let n=h(`text`,t);return n.textContent=e,n}function y(e){return typeof e.bandwidth==`function`}function b(e,t){return y(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var x=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):String(e);function S(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 C(e,t,n,r,i=`bottom`){_(e);let a=n.position??i,o=a===`bottom`||a===`top`,s=a===`top`||a===`left`,c=s?-1:1,l=h(`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(S(n,r,i)),d=n.tickFormat??x;for(let n of u){let r=b(t,n),i=h(`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=v(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=v(n.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});o?g(t,{x:r/2,y:6*c*3.5}):g(t,{transform:`translate(${6*c*4}, ${r/2}) rotate(-90)`}),e.appendChild(t)}}function w(e,t,n,r,i,a=10){_(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=b(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(h(`line`,c))}}function T(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 E(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=T(T(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function D(e){let t=()=>e.nice===!1?e.domain:E(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=T(T(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 O=1e3,k=60*O,A=60*k,j=24*A,M=30*j,N=365*j,ee=[O,5*O,15*O,30*O,k,5*k,15*k,30*k,A,3*A,6*A,12*A,j,7*j,M,3*M,6*M,N];function P(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of ee)if(e>=n)return e;return N}function te(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 F(e){let t=()=>e.nice===!1?e.domain:te(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 I(e,t){if(e.length===0)return D({domain:[0,1],range:[0,t]});if(e.some(e=>e==null))return f(`buildXScale: one or more x values are null or undefined — data must use the Datum shape { key, value }. Did you pass { x, y } instead?`),D({domain:[0,1],range:[0,t]});if(e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return f(`buildXScale: one or more x values are NaN or Infinity — check upstream data for invalid arithmetic.`),D({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 F({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 D({domain:[r,r===i?i+1:i],nice:!1,range:[0,t]})}function ne(e,t,n=!0){if(e.length===0)return D({domain:[0,1],range:[t,0]});if(e.some(e=>e==null))return f(`buildYScale: one or more y values are null or undefined — data must use the Datum shape { key, value }. Did you pass { x, y } instead?`),D({domain:[0,1],range:[t,0]});if(e.some(e=>!Number.isFinite(e)))return f(`buildYScale: one or more y values are NaN or Infinity — check upstream data for invalid arithmetic.`),D({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return D({domain:[i,i===a?a+1:a],range:[t,0]})}function re(e){return e===!0?`bottom`:e.position??`bottom`}function ie(e,t){let n=re(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 ae(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;c&&!l&&f("createTooltip: `render` is set without `sanitize` — falling back to plain-text rendering of the returned string to avoid an XSS risk. Pass `sanitize` to render HTML.");let u=()=>{n.remove()};return{dispose:u,el:n,hide(){n.style.opacity=`0`,n.textContent=``},show(t,u,d,f){if(!e.isConnected)return;if(c){let e=c(d,f);l?n.innerHTML=l(e):n.textContent=e}else n.textContent=`${f.name}: ${d.value}`;let{x:p,y:m}=i({getBoundingClientRect:()=>{let n=e.getBoundingClientRect();return{bottom:n.top+u,height:0,left:n.left+t,right:n.left+t,top:n.top+u,width:0,x:n.left+t,y:n.top+u}}},n,{middleware:[o(r),a(),s({padding:8})],placement:`top`}),h=e.getBoundingClientRect();n.style.left=`${p-h.left}px`,n.style.top=`${m-h.top}px`,n.style.opacity=`1`},[Symbol.dispose]:u}}var oe={bottom:40,left:50,right:20,top:20};function se(e){return{...oe,...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 ce(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 le(e,t){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new u(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let n=se(t.margin),i=h(`svg`,{...t.ariaHidden?{"aria-hidden":`true`}:{...t.ariaLabel?{"aria-label":t.ariaLabel}:{},role:`img`},class:`prism-chart`,style:`display:block;width:100%;height:100%`}),a=h(`g`,{class:`prism-chart-area`,transform:`translate(${n.left},${n.top})`});i.appendChild(a);let o=e.getBoundingClientRect();(o.width===0||o.height===0)&&f(`Chart container has zero dimensions. Ensure the container has a defined width and height before mounting a chart.`);let s=typeof getComputedStyle<`u`?getComputedStyle(e):null;s&&s.position===`static`&&f(`Chart container has position:static. Set position:relative (or absolute/fixed) on the container so tooltip and overlay elements are positioned correctly.`);let c=r({height:o.height||300,margin:n,width:o.width||600}),l=ce(e,(e,t)=>{c.value={height:t,margin:n,width:e},g(i,{height:t,viewBox:`0 0 ${e} ${t}`,width:e})}),d=o.width||600,p=o.height||300;return g(i,{height:p,viewBox:`0 0 ${d} ${p}`,width:d}),e.appendChild(i),{chartArea:a,dimensions:c,dispose(){l(),c.dispose(),i.remove()},svg:i}}function R(e,t,n,r){_(e.series),_(e.grid),_(e.xAxis),_(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function ue(t,r,i,a){let o=le(t,{ariaLabel:r.ariaLabel,margin:r.margin}),s=r.tooltip?ae(t,r.tooltip):null,c=r.legend?ie(t,r.legend):null,l=new AbortController,u=i(o,s,c,l.signal),d=!1,f=de(o.svg),m=n(()=>{e(()=>{d||f.attach(a(u))},{scheduler:`microtask`})}),h=[];if(r.plugins){let e={container:t,dimensions:o.dimensions,disposalSignal:l.signal,svg:o.svg};for(let t of r.plugins)try{t.install(e),h.push(t)}catch(e){p(`A chart plugin threw during install() — skipping it; the rest of the chart still renders.`,e)}}return{get disposalSignal(){return l.signal},dispose(){if(!d){d=!0,l.abort(),f.detach();for(let e of h)try{e.dispose()}catch(e){p(`A chart plugin threw during dispose() — continuing to tear down the rest of the chart.`,e)}s?.dispose(),c?.dispose(),m.dispose(),o.dispose()}},get disposed(){return d},el:o.svg,[Symbol.dispose](){this.dispose()}}}function de(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),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))},detach(){this.attach(void 0)}}}function z(e,t,n){return ue(e,t,(t,n,r,i)=>{let a={grid:h(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:h(`g`,{class:`prism-series`}),xAxis:h(`g`,{class:`prism-x-axis`}),yAxis:h(`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 fe(e,t,n){return ue(e,t,(t,n,r,i)=>({container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n)}function pe(e,t){let n=t===!0||t?.vertical!==!1,r=t!==!0&&t?.horizontal===!0,i=t===!0||t?.snap!==!1,a=h(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),o=n?h(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,s=r?h(`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=h(`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&&g(o,{x1:e,x2:e,y1:0,y2:r}),s&&g(s,{x1:0,x2:n,y1:t,y2:t}),i!==void 0&&(c.textContent=i)},snap:i}}function B(e,t,n,r){let i=e.getBoundingClientRect();return{x:t.clientX-i.left-n,y:t.clientY-i.top-r}}function me(e,t){if(e.length===0)return-1;let n=1/0,r=0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i].x-t);a<n&&(n=a,r=i)}return r}function he(e,t,n){let r=0,i=1/0;for(let a=0;a<e.length;a++){let o=e[a]?.[t];if(o){let e=Math.abs(o.y-n);e<i&&(i=e,r=a)}}return r}function ge(e){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=me(n[0],i.x);if(o<0)return;let s=he(n,o,i.y),c=e.getData()[s]?.[o],l=e.getSeriesList()[s];c&&l&&e.onClick({datum:c,originalEvent:t,series:l})},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=n[0]??[],s=me(o,i.x);if(s<0)return;let c=o[s],l=e.crosshair?.snap===!1?i.x:c.x,u=e.crosshair?.snap===!1?i.y:c.y,d=he(n,s,i.y),f=n[d]?.[s],p=e.getData()[d]?.[s],m=e.getSeriesList()[d];e.crosshair?.show(l,u,a.width,a.height,m&&p?`${m.name}: ${p.value}`:void 0),f&&p&&m&&(e.tooltip?.show(f.x+r.margin.left,f.y+r.margin.top,p,m),e.onHover?.({datum:p,originalEvent:t,series:m}))}}}var _e=8;function ve(e){let t=document.documentElement;if(e.colors)for(let n=0;n<_e;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 ye(){let e=document.documentElement;for(let t=1;t<=_e;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 V(e,t){return t??`var(--prism-color-${e%_e+1})`}var be={"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 H(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(be,e)?be[e]:be[`ease-out`]}function U(e,t,n){return e+(t-e)*n}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=r.transition?.duration??(r.transition?300:0),a=H(r.transition?.easing),o=e.querySelector(`.prism-area-fill`);o||(o=h(`path`,{class:`prism-area-fill`}),e.appendChild(o)),g(o,{fill:r.color,"fill-opacity":r.fillOpacity,stroke:`none`});let s=null;if(r.showLine?(s=e.querySelector(`.prism-area-line`),s||(s=h(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(s)),g(s,{stroke:r.color,"stroke-width":2})):e.querySelector(`.prism-area-line`)?.remove(),i===0){let e=t.map(e=>({x:e.x,y:n}));g(o,{d:q(t,e,r.curve)}),s&&g(s,{d:xe(t,r.curve)});return}if(J.get(e)?.(),!o.hasAttribute(`d`)){let i=t.map(e=>({x:e.x,y:n}));g(o,{d:q(t,i,r.curve)}),s&&g(s,{d:xe(t,r.curve)}),Y.set(e,t);return}let c=Y.get(e)??t,l=t.map((e,n)=>c[n]??c[c.length-1]??t[n]),u=null;function d(c){if(r.disposalSignal?.aborted){J.delete(e);return}u===null&&(u=c);let f=Math.min(1,(c-u)/i),p=a(f),m=t.map((e,t)=>({x:U(l[t].x,e.x,p),y:U(l[t].y,e.y,p)})),h=m.map(e=>({x:e.x,y:n}));if(g(o,{d:q(m,h,r.curve)}),s&&g(s,{d:xe(m,r.curve)}),f<1){let t=requestAnimationFrame(d);J.set(e,()=>cancelAnimationFrame(t))}else J.delete(e),Y.set(e,t)}Y.set(e,l);let f=requestAnimationFrame(d);J.set(e,()=>cancelAnimationFrame(f))}function Ce(e,t,n){return e.some(e=>e.key==null)?f(`computeAreaPoints: datum.key is null or undefined — data must use the Datum shape { key, value }. Did you pass { x, y } instead?`):e.some(e=>typeof e.key==`string`)&&f(`computeAreaPoints: string keys are not supported for line/area charts — use numeric or Date keys.`),e.map(e=>({x:t.map(e.key),y:n.map(e.value)}))}function we(e,n){let r=null;return z(e,n,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=L(s.width,s.height,s.margin),l=t(n.series)?n.series.value:n.series,u=l.map(e=>t(e.data)?e.data.value:e.data),d=u.flat().map(e=>e.key),p=u.flat().map(e=>e.value);if(d.length===0){f(`createAreaChart: no data`),R(i,a,o,r);return}n.crosshair&&!r&&(r=pe(e.chartArea,n.crosshair));let m=I(d,c.width),g=ne(p,c.height),_=g.map(0);for(n.yAxis?.grid&&w(i.grid,g,n.yAxis.grid,c.width,`horizontal`,S(n.yAxis,c.height,`left`)),n.xAxis?.grid&&w(i.grid,m,n.xAxis.grid,c.height,`vertical`,S(n.xAxis,c.width,`bottom`)),n.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),C(i.xAxis,m,n.xAxis,c.width,`bottom`)),n.yAxis&&C(i.yAxis,g,n.yAxis,c.height,`left`);i.series.children.length>l.length;)i.series.removeChild(i.series.lastChild);let v=[];for(let t=0;t<l.length;t++){let r=l[t],a=i.series.children[t];a||(a=h(`g`,{class:`prism-area-series`}),i.series.appendChild(a));let o=Ce(u[t],m,g);v.push(o),Se(a,o,_,{color:V(t,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,fillOpacity:r.fillOpacity??.3,showLine:r.showLine!==!1,transition:n.transition})}return a?.update(l.map((e,t)=>({color:V(t,e.color),name:e.name}))),o?.hide(),ge({crosshair:r,dims:()=>e.dimensions.value,getData:()=>u,getPoints:()=>v,getSeriesList:()=>t(n.series)?n.series.value:n.series,onClick:n.onClick,onHover:n.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 f(`bandScale.map: unknown category "${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}else{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}function ke(e,t,n,r){let i=t?.duration??300,a=H(t?.easing),o=Math.max(0,t?.stagger??0);if(i===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 s=null,c=!1,l=Math.max(i,i+o*(e.length-1));function u(t){if(c||r?.aborted)return;s===null&&(s=t);let d=t-s;for(let t=0;t<e.length;t++){let n=e[t],r=o*t,s=Math.max(0,d-r),c=Math.min(1,s/i),l=a(c);for(let[e,{from:t,to:r}]of Object.entries(n.attrs))n.el.setAttribute(e,String(U(t,r,l)))}d<l?requestAnimationFrame(u):n?.()}return requestAnimationFrame(u),()=>{c=!0}}var Ae=new WeakMap;function je(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,m=a.baselineYs?a.baselineYs[o]:i,_=r.map(f.y),v=e.children[o],y=!v;if(v||(v=h(`rect`,{class:`prism-bar`}),e.appendChild(v)),l){let e=Math.max(0,Math.abs(m-_)),t=Math.min(_,m);g(v,{fill:a.color,height:Math.max(0,s-1),rx:a.borderRadius,ry:a.borderRadius,y:p}),a.transition?y?(g(v,{width:0,x:m}),u.push({attrs:{width:{from:0,to:e},x:{from:m,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}):g(v,{width:e,x:t})}else{let e=Math.max(0,Math.abs(m-_)),t=Math.min(_,m);g(v,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:Math.max(0,s-1),x:p}),a.transition?y?(g(v,{height:0,y:m}),u.push({attrs:{height:{from:0,to:e},y:{from:m,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}):g(v,{height:e,y:t})}}if(a.transition){Ae.get(e)?.();let t=[];u.length>0&&t.push(ke(u,a.transition,void 0,a.disposalSignal)),d.length>0&&t.push(ke(d,{...a.transition,stagger:0},void 0,a.disposalSignal)),Ae.set(e,()=>{for(let e of t)e()})}}function Me(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function Ne(e,n){return z(e,n,e=>{let{groups:r,legend:i,tooltip:a}=e,o=e.dimensions.value,s=L(o.width,o.height,o.margin),c=t(n.series)?n.series.value:n.series,l=c.map(e=>t(e.data)?e.data.value:e.data),u=[...new Set(l.flat().map(e=>String(e.key)))];if(u.length===0){f(`createBarChart: no data`),R(r,i,a);return}let{horizontal:d,stacked:p}=Me(n.variant??`grouped`),m,g;if(p){l.some(e=>e.some(e=>e.value<0))&&f(`createBarChart: negative values in a stacked/stacked-horizontal series are clamped to 0 — stacking mixed-sign data is not supported.`);let e=u.map(e=>l.reduce((t,n)=>{let r=n.find(t=>String(t.key)===e);return t+(r?Math.max(0,r.value):0)},0));m=Math.max(...e),g=0}else{let e=l.flat().map(e=>e.value);m=Math.max(...e),g=Math.min(0,...e)}let _=Te(d?{domain:u,range:[0,s.height]}:{domain:u,range:[0,s.width]}),v=D(d?{domain:[g,m],range:[0,s.width]}:{domain:[g,m],range:[s.height,0]}),y=[],b=Object.create(null);for(let e of u)b[e]=0;let x={bandCenter:e=>_.map(e)+_.bandwidth()/2,bandwidth:_.bandwidth(),baselinePx:v.map(0),horizontal:d,stacked:p,stackedTops:y,valueScale:v};for(d?(n.xAxis?.grid&&w(r.grid,v,n.xAxis.grid,s.height,`vertical`,S(n.xAxis,s.width,`bottom`)),n.yAxis&&C(r.yAxis,_,n.yAxis,s.height,`left`),n.xAxis&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),C(r.xAxis,v,n.xAxis,s.width,`bottom`))):(n.yAxis?.grid&&w(r.grid,v,n.yAxis.grid,s.width,`horizontal`,S(n.yAxis,s.height,`left`)),n.xAxis&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),C(r.xAxis,_,n.xAxis,s.width,`bottom`)),n.yAxis&&C(r.yAxis,v,n.yAxis,s.height,`left`));r.series.children.length>c.length;){let e=r.series.lastElementChild;e&&r.series.removeChild(e)}for(let t=0;t<c.length;t++){let i=c[t],a=r.series.children[t];a||(a=h(`g`,{class:`prism-bar-series`}),r.series.appendChild(a));let o=l[t].map(e=>{let t=String(e.key);if(p){let n=b[t]??0,r=n+Math.max(0,e.value);return b[t]=r,{base:n,key:t,y:r}}return{base:0,key:t,y:e.value}});y[t]=o.map(e=>e.y);let s=p?o.map(e=>v.map(e.base)):void 0;je(a,o,_,v,x.baselinePx,{baselineYs:s,borderRadius:i.borderRadius??0,color:V(t,i.color),disposalSignal:e.disposalSignal,horizontal:d,seriesCount:c.length,seriesIndex:t,stacked:p,transition:n.transition})}return i?.update(c.map((e,t)=>({color:V(t,e.color),name:e.name}))),a?.hide(),{onClick:t=>{if(!n.onClick)return;let r=e.dimensions.value,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=Ee(d?i.y:i.x,u,x);if(o===-1)return;let s=De(i,o,u,x,c.length),f=l[s]?.[o];f&&n.onClick({datum:f,originalEvent:t,series:c[s]})},onMouseLeave:()=>{a?.hide(),n.onHover?.(null)},onMouseMove:t=>{let r=e.dimensions.value,i=B(e.svg,t,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(d?i.y:i.x,u,x);if(s===-1){a?.hide();return}if(Oe(i,s,l,x,c.length)){a?.hide();return}let f=De(i,s,u,x,c.length),m=l[f]?.[s];if(m){let e=x.bandCenter(u[s]),i=p?y[f]?.[s]??m.value:m.value,o=v.map(i),l=d?o+r.margin.left:e+r.margin.left,h=d?e+r.margin.top:o+r.margin.top;a?.show(l,h,m,c[f]),n.onHover?.({datum:m,originalEvent:t,series:c[f]})}}}})}var X=new WeakMap;function Pe(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function Fe(e,t,n){let r=n.transition?.duration??(n.transition?300:0),i=H(n.transition?.easing),a=e.querySelector(`.prism-line-path`);a||(a=h(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(a)),g(a,{stroke:n.color,"stroke-width":n.strokeWidth});let o=e.querySelector(`.prism-line-dots`);if(n.showPoints?o||(o=h(`g`,{class:`prism-line-dots`}),e.appendChild(o)):o&&=(o.remove(),null),r===0){if(g(a,{d:Pe(t,n.curve)}),o){for(;o.children.length>t.length;)o.removeChild(o.lastChild);for(let e=0;e<t.length;e++){let r=o.children[e];r||(r=h(`circle`,{class:`prism-line-dot`}),o.appendChild(r)),g(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius})}}return}X.get(e)?.();let s=!!a.getAttribute(`d`),c=[],l=null;if(o){let e=o.children.length;for(let t=0;t<e;t++){let e=o.children[t],n={x:Number(e.getAttribute(`cx`)),y:Number(e.getAttribute(`cy`))};c.push(n),l=n}for(;o.children.length>t.length;)o.removeChild(o.lastChild);for(let e=o.children.length;e<t.length;e++){let r=h(`circle`,{class:`prism-line-dot`});g(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius}),o.appendChild(r)}}for(let e=c.length;e<t.length;e++)c.push(l??t[e]);let u=null;function d(s){if(n.disposalSignal?.aborted){X.delete(e);return}u===null&&(u=s);let l=Math.min(1,(s-u)/r),f=i(l),p=t.map((e,t)=>{let n=c[t]??e;return{x:U(n.x,e.x,f),y:U(n.y,e.y,f)}});if(g(a,{d:Pe(p,n.curve)}),o)for(let e=0;e<t.length;e++){let t=o.children[e];t&&g(t,{cx:p[e].x,cy:p[e].y})}if(l<1){let t=requestAnimationFrame(d);X.set(e,()=>cancelAnimationFrame(t))}else X.delete(e)}if(!s)g(a,{d:Pe(t,n.curve)});else{let t=requestAnimationFrame(d);X.set(e,()=>cancelAnimationFrame(t))}}function Ie(e,t,n){return e.some(e=>e.key==null)?f(`computePoints: datum.key is null or undefined — data must use the Datum shape { key, value }. Did you pass { x, y } instead?`):e.some(e=>typeof e.key==`string`)&&f(`computePoints: string keys are not supported for line/area charts — use numeric or Date keys.`),e.map(e=>({x:t.map(e.key),y:n.map(e.value)}))}function Le(e,n){let r=null;return z(e,n,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=L(s.width,s.height,s.margin),l=t(n.series)?n.series.value:n.series,u=l.map(e=>t(e.data)?e.data.value:e.data),d=u.flat().map(e=>e.key),p=u.flat().map(e=>e.value);if(d.length===0){f(`createLineChart: no data`),R(i,a,o,r);return}n.crosshair&&!r&&(r=pe(e.chartArea,n.crosshair));let m=I(d,c.width),g=ne(p,c.height);for(n.yAxis?.grid&&w(i.grid,g,n.yAxis.grid,c.width,`horizontal`,S(n.yAxis,c.height,`left`)),n.xAxis?.grid&&w(i.grid,m,n.xAxis.grid,c.height,`vertical`,S(n.xAxis,c.width,`bottom`)),n.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),C(i.xAxis,m,n.xAxis,c.width,`bottom`)),n.yAxis&&C(i.yAxis,g,n.yAxis,c.height,`left`);i.series.children.length>l.length;)i.series.removeChild(i.series.lastChild);let _=[];for(let t=0;t<l.length;t++){let r=l[t],a=i.series.children[t];a||(a=h(`g`,{class:`prism-line-series`}),i.series.appendChild(a));let o=Ie(u[t],m,g);_.push(o),Fe(a,o,{color:V(t,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,pointRadius:r.pointRadius??3,showPoints:r.showPoints??!1,strokeWidth:r.strokeWidth??2,transition:n.transition})}return a?.update(l.map((e,t)=>({color:V(t,e.color),name:e.name}))),o?.hide(),ge({crosshair:r,dims:()=>e.dimensions.value,getData:()=>u,getPoints:()=>_,getSeriesList:()=>t(n.series)?n.series.value:n.series,onClick:n.onClick,onHover:n.onHover,svg:e.svg,tooltip:o})})}function Re(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 ze(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),ee=`${T+(k-T)*N},${E+(A-E)*N}`,P=`${D+(j-D)*N},${O+(M-O)*N}`,te=`${k+(T-k)*N},${A+(E-A)*N}`,F=`${j+(D-j)*N},${M+(O-M)*N}`,I=[];return n?I.push(`M${Z(r,i,c,f)}`):(I.push(`M${ee}`),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},${P}`),I.push(`L${F}`),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},${te}`),I.push(`Z`),I.join(``)}function Be(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 Ve=2*Math.PI,He=-Math.PI/2,Ue=Math.PI/2;function We(e){return e===`semi`?{end:Ue,start:He}:{end:Ve,start:0}}function Ge(e,n){let r=n.variant??`pie`,i=n.padPixels??(r===`pie`?0:8),a=n.cornerRadius??(r===`pie`?0:8),o=h(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),s=h(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),c=h(`g`,{class:`prism-pie-labels`,"pointer-events":`none`}),l=[],u=null;function d(e){for(;c.children.length>l.length;)c.removeChild(c.lastChild);for(let t=0;t<l.length;t++){let n=l[t],r=e[t];if(!r?.label)continue;let{x:i,y:a}=Be(n),o=c.children[t];o||(o=h(`text`,{class:`prism-pie-label`}),c.appendChild(o)),g(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 f=fe(e,{ariaLabel:n.ariaLabel,legend:n.legend,plugins:n.plugins,tooltip:n.tooltip},f=>{let{legend:p,svg:m,tooltip:_}=f;m.contains(o)||(m.appendChild(o),m.appendChild(s),m.appendChild(c));let{height:v,width:y}=f.dimensions.value,b=r===`semi`,x=y/2,S=b?v*.85:v/2,C=b?Math.min(x,S)-8:Math.min(y,v)/2-8,w=r===`pie`?0:Math.round(C*.55),T=n.innerRadius===void 0?w:n.innerRadius,E=Math.max(T+1,C),D=t(n.data)?n.data.value:n.data,{end:O,start:k}=We(r);for(l=Re(D,x,S,E,T,k,O,i,a,e=>V(e),!1),g(o,{cx:x,cy:S,r:T>0?T:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>l.length;)s.removeChild(s.lastChild);for(;c.children.length>l.length;)c.removeChild(c.lastChild);let A=n.transition?.duration??400,j=H(n.transition?.easing);for(let e=0;e<l.length;e++){let t=l[e],r=s.children[e];r||(r=h(`path`,{class:`prism-pie-slice`}),s.appendChild(r)),r.setAttribute(`fill`,t.color),r.setAttribute(`stroke`,`none`),r.style.cursor=n.onClick||n.onHover?`pointer`:``}if(u!==null&&(cancelAnimationFrame(u),u=null),A>0){let e=null,t=n=>{e===null&&(e=n);let r=j(Math.min(1,(n-e)/A)),i=U(k,O,r);for(let e=0;e<l.length;e++){let t=l[e],n=s.children[e];if(n)if(i<=t.startAngle)g(n,{d:``});else{let e=Math.min(t.endAngle,i);g(n,{d:ze({...t,endAngle:e})})}}r<1?u=requestAnimationFrame(t):(u=null,d(D))};u=requestAnimationFrame(t)}else{for(let e=0;e<l.length;e++){let t=l[e],n=s.children[e];n&&g(n,{d:ze(t)})}d(D)}return p?.update(l.map(e=>({color:e.color,name:e.slice.label??``}))),_?.hide(),{onClick:e=>{if(!n.onClick)return;let t=m.getBoundingClientRect(),i=e.clientX-t.left,a=e.clientY-t.top,o=Ke(l,i,a,r);o>=0&&n.onClick(l[o].slice,o)},onMouseLeave:()=>{n.onHover?.(null,null),_?.hide()},onMouseMove:t=>{let i=m.getBoundingClientRect(),a=t.clientX-i.left,o=t.clientY-i.top,s=Ke(l,a,o,r);if(s>=0){let t=l[s];n.onHover?.(t.slice,s);let{x:r,y:a}=Be(t),o=e.getBoundingClientRect();_?.show(r+(i.left-o.left),a+(i.top-o.top),{key:s,value:t.slice.value},{color:t.color,data:[],name:t.slice.label??``})}else n.onHover?.(null,null),_?.hide()}}});return{get disposalSignal(){return f.disposalSignal},dispose(){u!==null&&(cancelAnimationFrame(u),u=null),f.dispose()},get disposed(){return f.disposed},el:f.el,[Symbol.dispose](){this.dispose()}}}function Ke(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+Ve:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}function qe(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 Je(e,t,n,r=`linear`){if(e.length===0)return``;let i=qe(e,t,n);return q(i,i.map(e=>({x:e.x,y:n})),r??`linear`)}function Ye(e,t,n,r){if(e.length===0)return``;let i=qe(e,t,n);return r===`monotone`?G(i):r===`step`?K(i):W(i)}function Xe(e,t,n,r,i,a,o){let s=t.length,c=Math.max(1,n/s-1),l=n/s,u=Math.min(0,...t),d=Math.max(...t)-u||1,f=a?.duration??0,p=H(a?.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]-u)/d*r),s=r-a,m=e.children[n];if(m||(m=h(`rect`,{class:`prism-spark-bar`}),e.appendChild(m)),g(m,{fill:i,width:c,x:n*l}),f>0&&!m.hasAttribute(`data-init`)){m.setAttribute(`data-init`,`1`),g(m,{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=p(Math.min(1,(r-e)/f));g(m,{height:U(t.h,n.h,a),y:U(t.y,n.y,a)}),a<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}else m.setAttribute(`data-init`,`1`),g(m,{height:a,y:s})}}function Ze(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function Qe(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 $e(e){return`var(--prism-color-${e%8+1})`}function et(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=le(r,{...i.ariaLabel?{ariaLabel:i.ariaLabel}:{ariaHidden:!0},margin:{bottom:0,left:0,right:0,top:0}}),{svg:d}=u;d.classList.add(`prism-sparkline`);let f=h(`g`,{class:`prism-spark-inner`});d.appendChild(f);let p;function m(){let{height:e,width:n}=u.dimensions.value,r=t(i.data)?i.data.value:i.data;for(;f.firstChild;)f.removeChild(f.firstChild);if(r.length!==0){if(a===`stack`&&Ze(r)){let t=h(`g`,{class:`prism-spark-stack`});f.appendChild(t);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*n;let d=l===o.length-1?n:Math.round(c),f=l===0,p=l===o.length-1,m=Qe(u+(f?0:r),0,Math.max(0,d-u-(f?0:r)-(p?0:r)),e,a,f,p),_=h(`path`,{class:`prism-spark-stack-segment`});g(_,{d:m,fill:i.color??$e(l)}),t.appendChild(_)})}}else if(a===`bar`){let t=h(`g`,{class:`prism-spark-bars`});f.appendChild(t),Xe(t,r,n,e,o,i.transition,v.signal)}else{if(a===`area`){let t=h(`path`,{class:`prism-spark-fill`});g(t,{d:Je(r,n,e,s),fill:o,"fill-opacity":l,stroke:`none`}),f.appendChild(t)}let t=h(`path`,{class:`prism-spark-line`});g(t,{d:Ye(r,n,e,s),fill:`none`,stroke:o,"stroke-width":c}),f.appendChild(t)}Ze(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=n(()=>{e(()=>{m()},{scheduler:`microtask`})}),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{l as PrismDisposedError,c as PrismError,u as PrismRenderError,ke as animate,Te as bandScale,we as createAreaChart,Ne as createBarChart,Le as createLineChart,Ge as createPieChart,et as createSparkline,D as linearScale,ye as resetTheme,V as seriesColor,ve as setTheme,F 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=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},l=class extends c{},u=class extends c{},d=`http://www.w3.org/2000/svg`;function f(e,t){let n=document.createElementNS(d,e);return t&&p(n,t),n}function p(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 m(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function h(e,t){let n=f(`text`,t);return n.textContent=e,n}function g(e){return typeof e.bandwidth==`function`}function _(e,t){return g(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var v=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):String(e);function y(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 b(e,t,n,r,i=`bottom`){m(e);let a=n.position??i,o=a===`bottom`||a===`top`,s=a===`top`||a===`left`,c=s?-1:1,l=f(`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(y(n,r,i)),d=n.tickFormat??v;for(let n of u){let r=_(t,n),i=f(`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=h(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=h(n.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});o?p(t,{x:r/2,y:6*c*3.5}):p(t,{transform:`translate(${6*c*4}, ${r/2}) rotate(-90)`}),e.appendChild(t)}}function x(e,t,n,r,i,a=10){m(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=_(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(f(`line`,c))}}function S(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 C(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=S(S(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function w(e){let t=()=>e.nice===!1?e.domain:C(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=S(S(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 T=1e3,E=60*T,D=60*E,O=24*D,k=30*O,A=365*O,j=[T,5*T,15*T,30*T,E,5*E,15*E,30*E,D,3*D,6*D,12*D,O,7*O,k,3*k,6*k,A];function M(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of j)if(e>=n)return e;return A}function N(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=M(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function P(e){let t=()=>e.nice===!1?e.domain:N(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=M(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 F(e,t){if(e.length===0||e.some(e=>e==null)||e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return w({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 P({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 w({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 w({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return w({domain:[i,i===a?a+1:a],range:[t,0]})}function ee(e){return e===!0?`bottom`:e.position??`bottom`}function L(e,t){let n=ee(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 te(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=()=>{n.remove()};return{dispose:u,el:n,hide(){n.style.opacity=`0`,n.textContent=``},show(t,u,d,f){if(!e.isConnected)return;if(c){let e=c(d,f);l?n.innerHTML=l(e):n.textContent=e}else n.textContent=`${f.name}: ${d.value}`;let{x:p,y:m}=i({getBoundingClientRect:()=>{let n=e.getBoundingClientRect();return{bottom:n.top+u,height:0,left:n.left+t,right:n.left+t,top:n.top+u,width:0,x:n.left+t,y:n.top+u}}},n,{middleware:[o(r),a(),s({padding:8})],placement:`top`}),h=e.getBoundingClientRect();n.style.left=`${p-h.left}px`,n.style.top=`${m-h.top}px`,n.style.opacity=`1`},[Symbol.dispose]:u}}var ne={bottom:40,left:50,right:20,top:20};function re(e){return{...ne,...e}}function R(e,t,n){return{height:Math.max(0,t-n.top-n.bottom),width:Math.max(0,e-n.left-n.right)}}function ie(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 ae(e,t){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new u(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let n=re(t.margin),i=f(`svg`,{...t.ariaHidden?{"aria-hidden":`true`}:{...t.ariaLabel?{"aria-label":t.ariaLabel}:{},role:`img`},class:`prism-chart`,style:`display:block;width:100%;height:100%`}),a=f(`g`,{class:`prism-chart-area`,transform:`translate(${n.left},${n.top})`});i.appendChild(a);let o=e.getBoundingClientRect();o.width===0||o.height;let s=typeof getComputedStyle<`u`?getComputedStyle(e):null;s&&s.position;let c=r({height:o.height||300,margin:n,width:o.width||600}),l=ie(e,(e,t)=>{c.value={height:t,margin:n,width:e},p(i,{height:t,viewBox:`0 0 ${e} ${t}`,width:e})}),d=o.width||600,m=o.height||300;return p(i,{height:m,viewBox:`0 0 ${d} ${m}`,width:d}),e.appendChild(i),{chartArea:a,dimensions:c,dispose(){l(),i.remove()},svg:i}}function z(e,t,n,r){m(e.series),m(e.grid),m(e.xAxis),m(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function oe(n,r,i,a){let o=ae(n,{ariaLabel:r.ariaLabel,margin:r.margin}),s=r.tooltip?te(n,r.tooltip):null,c=r.legend?L(n,r.legend):null,l=new AbortController,u=i(o,s,c,l.signal),d=!1,f=se(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 se(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),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))},detach(){this.attach(void 0)}}}function ce(e,t,n){return oe(e,t,(t,n,r,i)=>{let a={grid:f(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:f(`g`,{class:`prism-series`}),xAxis:f(`g`,{class:`prism-x-axis`}),yAxis:f(`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 le(e,t,n){return oe(e,t,(t,n,r,i)=>({container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n)}function ue(e,t){let n=t===!0||t?.vertical!==!1,r=t!==!0&&t?.horizontal===!0,i=t===!0||t?.snap!==!1,a=f(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),o=n?f(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,s=r?f(`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=f(`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&&p(o,{x1:e,x2:e,y1:0,y2:r}),s&&p(s,{x1:0,x2:n,y1:t,y2:t}),i!==void 0&&(c.textContent=i)},snap:i}}function B(e,t,n,r){let i=e.getBoundingClientRect();return{x:t.clientX-i.left-n,y:t.clientY-i.top-r}}function de(e,t){if(e.length===0)return-1;let n=1/0,r=0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i].x-t);a<n&&(n=a,r=i)}return r}function fe(e,t,n){let r=0,i=1/0;for(let a=0;a<e.length;a++){let o=e[a]?.[t];if(o){let e=Math.abs(o.y-n);e<i&&(i=e,r=a)}}return r}function pe(e){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=R(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return;let o=de(n[0],i.x);if(o<0)return;let s=fe(n,o,i.y),c=e.getData()[s]?.[o],l=e.getSeriesList()[s];c&&l&&e.onClick({datum:c,originalEvent:t,series:l})},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=R(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=n[0]??[],s=de(o,i.x);if(s<0)return;let c=o[s],l=e.crosshair?.snap===!1?i.x:c.x,u=e.crosshair?.snap===!1?i.y:c.y,d=fe(n,s,i.y),f=n[d]?.[s],p=e.getData()[d]?.[s],m=e.getSeriesList()[d];e.crosshair?.show(l,u,a.width,a.height,m&&p?`${m.name}: ${p.value}`:void 0),f&&p&&m&&(e.tooltip?.show(f.x+r.margin.left,f.y+r.margin.top,p,m),e.onHover?.({datum:p,originalEvent:t,series:m}))}}}var me=8;function he(e){let t=document.documentElement;if(e.colors)for(let n=0;n<me;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 ge(){let e=document.documentElement;for(let t=1;t<=me;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 V(e,t){return t??`var(--prism-color-${e%me+1})`}var _e={"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 H(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(_e,e)?_e[e]:_e[`ease-out`]}function U(e,t,n){return e+(t-e)*n}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 ve(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function ye(e,t,n,r){let i=r.transition?.duration??(r.transition?300:0),a=H(r.transition?.easing),o=e.querySelector(`.prism-area-fill`);o||(o=f(`path`,{class:`prism-area-fill`}),e.appendChild(o)),p(o,{fill:r.color,"fill-opacity":r.fillOpacity,stroke:`none`});let s=null;if(r.showLine?(s=e.querySelector(`.prism-area-line`),s||(s=f(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(s)),p(s,{stroke:r.color,"stroke-width":2})):e.querySelector(`.prism-area-line`)?.remove(),i===0){let e=t.map(e=>({x:e.x,y:n}));p(o,{d:q(t,e,r.curve)}),s&&p(s,{d:ve(t,r.curve)});return}if(J.get(e)?.(),!o.hasAttribute(`d`)){let i=t.map(e=>({x:e.x,y:n}));p(o,{d:q(t,i,r.curve)}),s&&p(s,{d:ve(t,r.curve)}),Y.set(e,t);return}let c=Y.get(e)??t,l=t.map((e,n)=>c[n]??c[c.length-1]??t[n]),u=null;function d(c){if(r.disposalSignal?.aborted){J.delete(e);return}u===null&&(u=c);let f=Math.min(1,(c-u)/i),m=a(f),h=t.map((e,t)=>({x:U(l[t].x,e.x,m),y:U(l[t].y,e.y,m)})),g=h.map(e=>({x:e.x,y:n}));if(p(o,{d:q(h,g,r.curve)}),s&&p(s,{d:ve(h,r.curve)}),f<1){let t=requestAnimationFrame(d);J.set(e,()=>cancelAnimationFrame(t))}else J.delete(e),Y.set(e,t)}Y.set(e,l);let m=requestAnimationFrame(d);J.set(e,()=>cancelAnimationFrame(m))}function be(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 xe(e,t){let r=null;return ce(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=R(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),p=u.flat().map(e=>e.value);if(d.length===0){z(i,a,o,r);return}t.crosshair&&!r&&(r=ue(e.chartArea,t.crosshair));let m=F(d,c.width),h=I(p,c.height),g=h.map(0);for(t.yAxis?.grid&&x(i.grid,h,t.yAxis.grid,c.width,`horizontal`,y(t.yAxis,c.height,`left`)),t.xAxis?.grid&&x(i.grid,m,t.xAxis.grid,c.height,`vertical`,y(t.xAxis,c.width,`bottom`)),t.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),b(i.xAxis,m,t.xAxis,c.width,`bottom`)),t.yAxis&&b(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=f(`g`,{class:`prism-area-series`}),i.series.appendChild(a));let o=be(u[n],m,h);_.push(o),ye(a,o,g,{color:V(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:V(t,e.color),name:e.name}))),o?.hide(),pe({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 Se(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 Ce(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 we(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 Te(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}function Ee(e,t,n,r){let i=t?.duration??300,a=H(t?.easing),o=Math.max(0,t?.stagger??0);if(i===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 s=null,c=!1,l=Math.max(i,i+o*(e.length-1));function u(t){if(c||r?.aborted)return;s===null&&(s=t);let d=t-s;for(let t=0;t<e.length;t++){let n=e[t],r=o*t,s=Math.max(0,d-r),c=Math.min(1,s/i),l=a(c);for(let[e,{from:t,to:r}]of Object.entries(n.attrs))n.el.setAttribute(e,String(U(t,r,l)))}d<l?requestAnimationFrame(u):n?.()}return requestAnimationFrame(u),()=>{c=!0}}var De=new WeakMap;function Oe(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 m=t[o],h=n.map(m.key)+c,g=a.baselineYs?a.baselineYs[o]:i,_=r.map(m.y),v=e.children[o],y=!v;if(v||(v=f(`rect`,{class:`prism-bar`}),e.appendChild(v)),l){let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);p(v,{fill:a.color,height:Math.max(0,s-1),rx:a.borderRadius,ry:a.borderRadius,y:h}),a.transition?y?(p(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}):p(v,{width:e,x:t})}else{let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);p(v,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:Math.max(0,s-1),x:h}),a.transition?y?(p(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}):p(v,{height:e,y:t})}}if(a.transition){De.get(e)?.();let t=[];u.length>0&&t.push(Ee(u,a.transition,void 0,a.disposalSignal)),d.length>0&&t.push(Ee(d,{...a.transition,stagger:0},void 0,a.disposalSignal)),De.set(e,()=>{for(let e of t)e()})}}function ke(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function Ae(e,t){return ce(e,t,e=>{let{groups:r,legend:i,tooltip:a}=e,o=e.dimensions.value,s=R(o.width,o.height,o.margin),c=n(t.series)?t.series.value:t.series,l=c.map(e=>n(e.data)?e.data.value:e.data),u=[...new Set(l.flat().map(e=>String(e.key)))];if(u.length===0){z(r,i,a);return}let{horizontal:d,stacked:p}=ke(t.variant??`grouped`),m,h;if(p){l.some(e=>e.some(e=>e.value<0));let e=u.map(e=>l.reduce((t,n)=>{let r=n.find(t=>String(t.key)===e);return t+(r?Math.max(0,r.value):0)},0));m=Math.max(...e),h=0}else{let e=l.flat().map(e=>e.value);m=Math.max(...e),h=Math.min(0,...e)}let g=Se(d?{domain:u,range:[0,s.height]}:{domain:u,range:[0,s.width]}),_=w(d?{domain:[h,m],range:[0,s.width]}:{domain:[h,m],range:[s.height,0]}),v=[],S=Object.create(null);for(let e of u)S[e]=0;let C={bandCenter:e=>g.map(e)+g.bandwidth()/2,bandwidth:g.bandwidth(),baselinePx:_.map(0),horizontal:d,stacked:p,stackedTops:v,valueScale:_};for(d?(t.xAxis?.grid&&x(r.grid,_,t.xAxis.grid,s.height,`vertical`,y(t.xAxis,s.width,`bottom`)),t.yAxis&&b(r.yAxis,g,t.yAxis,s.height,`left`),t.xAxis&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),b(r.xAxis,_,t.xAxis,s.width,`bottom`))):(t.yAxis?.grid&&x(r.grid,_,t.yAxis.grid,s.width,`horizontal`,y(t.yAxis,s.height,`left`)),t.xAxis&&(r.xAxis.setAttribute(`transform`,`translate(0,${s.height})`),b(r.xAxis,g,t.xAxis,s.width,`bottom`)),t.yAxis&&b(r.yAxis,_,t.yAxis,s.height,`left`));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=f(`g`,{class:`prism-bar-series`}),r.series.appendChild(a));let o=l[n].map(e=>{let t=String(e.key);if(p){let n=S[t]??0,r=n+Math.max(0,e.value);return S[t]=r,{base:n,key:t,y:r}}return{base:0,key:t,y:e.value}});v[n]=o.map(e=>e.y);let s=p?o.map(e=>_.map(e.base)):void 0;Oe(a,o,g,_,C.baselinePx,{baselineYs:s,borderRadius:i.borderRadius??0,color:V(n,i.color),disposalSignal:e.disposalSignal,horizontal:d,seriesCount:c.length,seriesIndex:n,stacked:p,transition:t.transition})}return i?.update(c.map((e,t)=>({color:V(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=R(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return;let o=Ce(d?i.y:i.x,u,C);if(o===-1)return;let s=we(i,o,u,C,c.length),f=l[s]?.[o];f&&t.onClick({datum:f,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=R(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=Ce(d?i.y:i.x,u,C);if(s===-1){a?.hide();return}if(Te(i,s,l,C,c.length)){a?.hide();return}let f=we(i,s,u,C,c.length),m=l[f]?.[s];if(m){let e=C.bandCenter(u[s]),i=p?v[f]?.[s]??m.value:m.value,o=_.map(i),l=d?o+r.margin.left:e+r.margin.left,h=d?e+r.margin.top:o+r.margin.top;a?.show(l,h,m,c[f]),t.onHover?.({datum:m,originalEvent:n,series:c[f]})}}}})}var X=new WeakMap;function je(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function Me(e,t,n){let r=n.transition?.duration??(n.transition?300:0),i=H(n.transition?.easing),a=e.querySelector(`.prism-line-path`);a||(a=f(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(a)),p(a,{stroke:n.color,"stroke-width":n.strokeWidth});let o=e.querySelector(`.prism-line-dots`);if(n.showPoints?o||(o=f(`g`,{class:`prism-line-dots`}),e.appendChild(o)):o&&=(o.remove(),null),r===0){if(p(a,{d:je(t,n.curve)}),o){for(;o.children.length>t.length;)o.removeChild(o.lastChild);for(let e=0;e<t.length;e++){let r=o.children[e];r||(r=f(`circle`,{class:`prism-line-dot`}),o.appendChild(r)),p(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius})}}return}X.get(e)?.();let s=!!a.getAttribute(`d`),c=[],l=null;if(o){let e=o.children.length;for(let t=0;t<e;t++){let e=o.children[t],n={x:Number(e.getAttribute(`cx`)),y:Number(e.getAttribute(`cy`))};c.push(n),l=n}for(;o.children.length>t.length;)o.removeChild(o.lastChild);for(let e=o.children.length;e<t.length;e++){let r=f(`circle`,{class:`prism-line-dot`});p(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius}),o.appendChild(r)}}for(let e=c.length;e<t.length;e++)c.push(l??t[e]);let u=null;function d(s){if(n.disposalSignal?.aborted){X.delete(e);return}u===null&&(u=s);let l=Math.min(1,(s-u)/r),f=i(l),m=t.map((e,t)=>{let n=c[t]??e;return{x:U(n.x,e.x,f),y:U(n.y,e.y,f)}});if(p(a,{d:je(m,n.curve)}),o)for(let e=0;e<t.length;e++){let t=o.children[e];t&&p(t,{cx:m[e].x,cy:m[e].y})}if(l<1){let t=requestAnimationFrame(d);X.set(e,()=>cancelAnimationFrame(t))}else X.delete(e)}if(!s)p(a,{d:je(t,n.curve)});else{let t=requestAnimationFrame(d);X.set(e,()=>cancelAnimationFrame(t))}}function Ne(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 Pe(e,t){let r=null;return ce(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions.value,c=R(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),p=u.flat().map(e=>e.value);if(d.length===0){z(i,a,o,r);return}t.crosshair&&!r&&(r=ue(e.chartArea,t.crosshair));let m=F(d,c.width),h=I(p,c.height);for(t.yAxis?.grid&&x(i.grid,h,t.yAxis.grid,c.width,`horizontal`,y(t.yAxis,c.height,`left`)),t.xAxis?.grid&&x(i.grid,m,t.xAxis.grid,c.height,`vertical`,y(t.xAxis,c.width,`bottom`)),t.xAxis&&(i.xAxis.setAttribute(`transform`,`translate(0,${c.height})`),b(i.xAxis,m,t.xAxis,c.width,`bottom`)),t.yAxis&&b(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=f(`g`,{class:`prism-line-series`}),i.series.appendChild(a));let o=Ne(u[n],m,h);g.push(o),Me(a,o,{color:V(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:V(t,e.color),name:e.name}))),o?.hide(),pe({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 Fe(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 Ie(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}`,I=`${k+(T-k)*N},${A+(E-A)*N}`,ee=`${j+(D-j)*N},${M+(O-M)*N}`,L=[];return n?L.push(`M${Z(r,i,c,f)}`):(L.push(`M${P}`),L.push(`Q${T},${E},${Z(r,i,c,y)}`)),L.push(`A${c},${c},0,${C},1,${Z(r,i,c,b)}`),t?L.push(`A${v},${v},0,0,1,${Z(r,i,s,p)}`):(L.push(`Q${D},${O},${F}`),L.push(`L${ee}`),L.push(`Q${j},${M},${Z(r,i,s,S)}`)),L.push(`A${s},${s},0,${w},0,${Z(r,i,s,x)}`),n?L.push(`A${v},${v},0,0,0,${Z(r,i,c,f)}`):L.push(`Q${k},${A},${I}`),L.push(`Z`),L.join(``)}function Le(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 Re=2*Math.PI,ze=-Math.PI/2,Be=Math.PI/2;function Ve(e){return e===`semi`?{end:Be,start:ze}:{end:Re,start:0}}function He(e,t){let r=t.variant??`pie`,i=t.padPixels??(r===`pie`?0:8),a=t.cornerRadius??(r===`pie`?0:8),o=f(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),s=f(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),c=f(`g`,{class:`prism-pie-labels`,"pointer-events":`none`}),l=[],u=null;function d(e){for(;c.children.length>l.length;)c.removeChild(c.lastChild);for(let t=0;t<l.length;t++){let n=l[t],r=e[t];if(!r?.label)continue;let{x:i,y:a}=Le(n),o=c.children[t];o||(o=f(`text`,{class:`prism-pie-label`}),c.appendChild(o)),p(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 m=le(e,{ariaLabel:t.ariaLabel,legend:t.legend,plugins:t.plugins,tooltip:t.tooltip},m=>{let{legend:h,svg:g,tooltip:_}=m;g.contains(o)||(g.appendChild(o),g.appendChild(s),g.appendChild(c));let{height:v,width:y}=m.dimensions.value,b=r===`semi`,x=y/2,S=b?v*.85:v/2,C=b?Math.min(x,S)-8:Math.min(y,v)/2-8,w=r===`pie`?0:Math.round(C*.55),T=t.innerRadius===void 0?w:t.innerRadius,E=Math.max(T+1,C),D=n(t.data)?t.data.value:t.data,{end:O,start:k}=Ve(r);for(l=Fe(D,x,S,E,T,k,O,i,a,e=>V(e),!1),p(o,{cx:x,cy:S,r:T>0?T:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>l.length;)s.removeChild(s.lastChild);for(;c.children.length>l.length;)c.removeChild(c.lastChild);let A=t.transition?.duration??400,j=H(t.transition?.easing);for(let e=0;e<l.length;e++){let n=l[e],r=s.children[e];r||(r=f(`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(u!==null&&(cancelAnimationFrame(u),u=null),A>0){let e=null,t=n=>{e===null&&(e=n);let r=j(Math.min(1,(n-e)/A)),i=U(k,O,r);for(let e=0;e<l.length;e++){let t=l[e],n=s.children[e];if(n)if(i<=t.startAngle)p(n,{d:``});else{let e=Math.min(t.endAngle,i);p(n,{d:Ie({...t,endAngle:e})})}}r<1?u=requestAnimationFrame(t):(u=null,d(D))};u=requestAnimationFrame(t)}else{for(let e=0;e<l.length;e++){let t=l[e],n=s.children[e];n&&p(n,{d:Ie(t)})}d(D)}return h?.update(l.map(e=>({color:e.color,name:e.slice.label??``}))),_?.hide(),{onClick:e=>{if(!t.onClick)return;let n=g.getBoundingClientRect(),i=e.clientX-n.left,a=e.clientY-n.top,o=Ue(l,i,a,r);o>=0&&t.onClick(l[o].slice,o)},onMouseLeave:()=>{t.onHover?.(null,null),_?.hide()},onMouseMove:n=>{let i=g.getBoundingClientRect(),a=n.clientX-i.left,o=n.clientY-i.top,s=Ue(l,a,o,r);if(s>=0){let n=l[s];t.onHover?.(n.slice,s);let{x:r,y:a}=Le(n),o=e.getBoundingClientRect();_?.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),_?.hide()}}});return{get disposalSignal(){return m.disposalSignal},dispose(){u!==null&&(cancelAnimationFrame(u),u=null),m.dispose()},get disposed(){return m.disposed},el:m.el,[Symbol.dispose](){this.dispose()}}}function Ue(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+Re:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}function We(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 Ge(e,t,n,r=`linear`){if(e.length===0)return``;let i=We(e,t,n);return q(i,i.map(e=>({x:e.x,y:n})),r??`linear`)}function Ke(e,t,n,r){if(e.length===0)return``;let i=We(e,t,n);return r===`monotone`?G(i):r===`step`?K(i):W(i)}function qe(e,t,n,r,i,a,o){let s=t.length,c=Math.max(1,n/s-1),l=n/s,u=Math.min(0,...t),d=Math.max(...t)-u||1,m=a?.duration??0,h=H(a?.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]-u)/d*r),s=r-a,g=e.children[n];if(g||(g=f(`rect`,{class:`prism-spark-bar`}),e.appendChild(g)),p(g,{fill:i,width:c,x:n*l}),m>0&&!g.hasAttribute(`data-init`)){g.setAttribute(`data-init`,`1`),p(g,{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=h(Math.min(1,(r-e)/m));p(g,{height:U(t.h,n.h,a),y:U(t.y,n.y,a)}),a<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}else g.setAttribute(`data-init`,`1`),p(g,{height:a,y:s})}}function Je(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function Ye(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 Xe(e){return`var(--prism-color-${e%8+1})`}function Ze(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=ae(r,{...i.ariaLabel?{ariaLabel:i.ariaLabel}:{ariaHidden:!0},margin:{bottom:0,left:0,right:0,top:0}}),{svg:d}=u;d.classList.add(`prism-sparkline`);let m=f(`g`,{class:`prism-spark-inner`});d.appendChild(m);let h;function g(){let{height:e,width:t}=u.dimensions.value,r=n(i.data)?i.data.value:i.data;for(;m.firstChild;)m.removeChild(m.firstChild);if(r.length!==0){if(a===`stack`&&Je(r)){let n=f(`g`,{class:`prism-spark-stack`});m.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),m=l===0,h=l===o.length-1,g=Ye(u+(m?0:r),0,Math.max(0,d-u-(m?0:r)-(h?0:r)),e,a,m,h),_=f(`path`,{class:`prism-spark-stack-segment`});p(_,{d:g,fill:i.color??Xe(l)}),n.appendChild(_)})}}else if(a===`bar`){let n=f(`g`,{class:`prism-spark-bars`});m.appendChild(n),qe(n,r,t,e,o,i.transition,v.signal)}else{if(a===`area`){let n=f(`path`,{class:`prism-spark-fill`});p(n,{d:Ge(r,t,e,s),fill:o,"fill-opacity":l,stroke:`none`}),m.appendChild(n)}let n=f(`path`,{class:`prism-spark-line`});p(n,{d:Ke(r,t,e,s),fill:`none`,stroke:o,"stroke-width":c}),m.appendChild(n)}Je(r)||_(r)}}function _(e){if(h?.(),h=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),h=()=>{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(),h?.(),y.dispose(),u.dispose())},get disposed(){return b},el:d,[Symbol.dispose](){this.dispose()}}}export{l as PrismDisposedError,c as PrismError,u as PrismRenderError,Ee as animate,Se as bandScale,xe as createAreaChart,Ae as createBarChart,Pe as createLineChart,He as createPieChart,Ze as createSparkline,w as linearScale,ge as resetTheme,V as seriesColor,he as setTheme,P as timeScale};
2
2
  //# sourceMappingURL=prism.js.map