@vielzeug/prism 26.10.4 → 26.10.6

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 (119) hide show
  1. package/README.md +15 -26
  2. package/dist/animation/reveal.cjs +2 -0
  3. package/dist/animation/reveal.cjs.map +1 -0
  4. package/dist/animation/reveal.d.ts +29 -0
  5. package/dist/animation/reveal.d.ts.map +1 -0
  6. package/dist/animation/reveal.js +2 -0
  7. package/dist/animation/reveal.js.map +1 -0
  8. package/dist/axes/axis.cjs +1 -1
  9. package/dist/axes/axis.cjs.map +1 -1
  10. package/dist/axes/axis.d.ts +10 -3
  11. package/dist/axes/axis.d.ts.map +1 -1
  12. package/dist/axes/axis.js +1 -1
  13. package/dist/axes/axis.js.map +1 -1
  14. package/dist/axes/grid.cjs +1 -1
  15. package/dist/axes/grid.cjs.map +1 -1
  16. package/dist/axes/grid.d.ts +1 -1
  17. package/dist/axes/grid.d.ts.map +1 -1
  18. package/dist/axes/grid.js +1 -1
  19. package/dist/axes/grid.js.map +1 -1
  20. package/dist/charts/area/area-chart.cjs +1 -1
  21. package/dist/charts/area/area-chart.cjs.map +1 -1
  22. package/dist/charts/area/area-chart.d.ts.map +1 -1
  23. package/dist/charts/area/area-chart.js +1 -1
  24. package/dist/charts/area/area-chart.js.map +1 -1
  25. package/dist/charts/bar/bar-chart.cjs +1 -1
  26. package/dist/charts/bar/bar-chart.cjs.map +1 -1
  27. package/dist/charts/bar/bar-chart.d.ts.map +1 -1
  28. package/dist/charts/bar/bar-chart.js +1 -1
  29. package/dist/charts/bar/bar-chart.js.map +1 -1
  30. package/dist/charts/bar/bar-renderer.cjs +1 -1
  31. package/dist/charts/bar/bar-renderer.cjs.map +1 -1
  32. package/dist/charts/bar/bar-renderer.d.ts.map +1 -1
  33. package/dist/charts/bar/bar-renderer.js +1 -1
  34. package/dist/charts/bar/bar-renderer.js.map +1 -1
  35. package/dist/charts/line/line-chart.cjs +1 -1
  36. package/dist/charts/line/line-chart.cjs.map +1 -1
  37. package/dist/charts/line/line-chart.d.ts.map +1 -1
  38. package/dist/charts/line/line-chart.js +1 -1
  39. package/dist/charts/line/line-chart.js.map +1 -1
  40. package/dist/charts/line/line-renderer.cjs +1 -1
  41. package/dist/charts/line/line-renderer.cjs.map +1 -1
  42. package/dist/charts/line/line-renderer.d.ts +5 -2
  43. package/dist/charts/line/line-renderer.d.ts.map +1 -1
  44. package/dist/charts/line/line-renderer.js +1 -1
  45. package/dist/charts/line/line-renderer.js.map +1 -1
  46. package/dist/charts/pie/pie-chart.cjs +1 -1
  47. package/dist/charts/pie/pie-chart.cjs.map +1 -1
  48. package/dist/charts/pie/pie-chart.d.ts.map +1 -1
  49. package/dist/charts/pie/pie-chart.js +1 -1
  50. package/dist/charts/pie/pie-chart.js.map +1 -1
  51. package/dist/charts/scatter/index.d.ts +2 -0
  52. package/dist/charts/scatter/index.d.ts.map +1 -0
  53. package/dist/charts/scatter/scatter-chart.cjs +2 -0
  54. package/dist/charts/scatter/scatter-chart.cjs.map +1 -0
  55. package/dist/charts/scatter/scatter-chart.d.ts +3 -0
  56. package/dist/charts/scatter/scatter-chart.d.ts.map +1 -0
  57. package/dist/charts/scatter/scatter-chart.js +2 -0
  58. package/dist/charts/scatter/scatter-chart.js.map +1 -0
  59. package/dist/charts/scatter/scatter-renderer.cjs +2 -0
  60. package/dist/charts/scatter/scatter-renderer.cjs.map +1 -0
  61. package/dist/charts/scatter/scatter-renderer.d.ts +24 -0
  62. package/dist/charts/scatter/scatter-renderer.d.ts.map +1 -0
  63. package/dist/charts/scatter/scatter-renderer.js +2 -0
  64. package/dist/charts/scatter/scatter-renderer.js.map +1 -0
  65. package/dist/core/chart-base.cjs +1 -1
  66. package/dist/core/chart-base.cjs.map +1 -1
  67. package/dist/core/chart-base.d.ts +1 -0
  68. package/dist/core/chart-base.d.ts.map +1 -1
  69. package/dist/core/chart-base.js +1 -1
  70. package/dist/core/chart-base.js.map +1 -1
  71. package/dist/core/chart-scaffold.cjs +1 -1
  72. package/dist/core/chart-scaffold.cjs.map +1 -1
  73. package/dist/core/chart-scaffold.d.ts +4 -2
  74. package/dist/core/chart-scaffold.d.ts.map +1 -1
  75. package/dist/core/chart-scaffold.js +1 -1
  76. package/dist/core/chart-scaffold.js.map +1 -1
  77. package/dist/index.cjs +1 -1
  78. package/dist/index.d.ts +2 -1
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +1 -1
  81. package/dist/interaction/announcer.cjs +1 -1
  82. package/dist/interaction/announcer.cjs.map +1 -1
  83. package/dist/interaction/announcer.d.ts +1 -1
  84. package/dist/interaction/announcer.d.ts.map +1 -1
  85. package/dist/interaction/announcer.js +1 -1
  86. package/dist/interaction/announcer.js.map +1 -1
  87. package/dist/interaction/legend.cjs +1 -1
  88. package/dist/interaction/legend.cjs.map +1 -1
  89. package/dist/interaction/legend.d.ts +1 -1
  90. package/dist/interaction/legend.d.ts.map +1 -1
  91. package/dist/interaction/legend.js +1 -1
  92. package/dist/interaction/legend.js.map +1 -1
  93. package/dist/interaction/scatter-interaction.cjs +2 -0
  94. package/dist/interaction/scatter-interaction.cjs.map +1 -0
  95. package/dist/interaction/scatter-interaction.d.ts +36 -0
  96. package/dist/interaction/scatter-interaction.d.ts.map +1 -0
  97. package/dist/interaction/scatter-interaction.js +2 -0
  98. package/dist/interaction/scatter-interaction.js.map +1 -0
  99. package/dist/interaction/series-interaction.cjs +1 -1
  100. package/dist/interaction/series-interaction.cjs.map +1 -1
  101. package/dist/interaction/series-interaction.d.ts +3 -1
  102. package/dist/interaction/series-interaction.d.ts.map +1 -1
  103. package/dist/interaction/series-interaction.js +1 -1
  104. package/dist/interaction/series-interaction.js.map +1 -1
  105. package/dist/interaction/tooltip.cjs +1 -1
  106. package/dist/interaction/tooltip.cjs.map +1 -1
  107. package/dist/interaction/tooltip.d.ts.map +1 -1
  108. package/dist/interaction/tooltip.js +1 -1
  109. package/dist/interaction/tooltip.js.map +1 -1
  110. package/dist/prism.cjs +1 -1
  111. package/dist/prism.cjs.map +1 -1
  112. package/dist/prism.iife.js +1 -1
  113. package/dist/prism.iife.js.map +1 -1
  114. package/dist/prism.js +1 -1
  115. package/dist/prism.js.map +1 -1
  116. package/dist/theme/prism.css +6 -0
  117. package/dist/types.d.ts +39 -6
  118. package/dist/types.d.ts.map +1 -1
  119. package/package.json +4 -3
package/dist/prism.js CHANGED
@@ -1,2 +1,2 @@
1
- import{computePosition as e,flip as t,offset as n,shift as r}from"@vielzeug/orbit";var i=`http://www.w3.org/2000/svg`;function createSvgElement(e,t){let n=document.createElementNS(i,e);return t&&setAttributes(n,t),n}function setAttributes(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 removeChildren(e){for(;e.firstChild;)e.removeChild(e.firstChild)}var a=.6;function estimateTextWidth(e,t){return e.length*t*a}function createTextElement(e,t){let n=createSvgElement(`text`,t);return n.textContent=e,n}function isBandScale(e){return typeof e.bandwidth==`function`}function mapTick(e,t){return isBandScale(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var o=11,s=8,defaultTickFormat=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):String(e);function positionAxis(e,t,n,r){let i=t===`bottom`?`translate(0,${r})`:t===`right`?`translate(${n},0)`:void 0;i?e.setAttribute(`transform`,i):e.removeAttribute(`transform`)}function resolveTickCount(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 categoryTickCount(e,t,n,r){if(e.length===0)return 0;let i=r?Math.max(...e.map(e=>estimateTextWidth(t(e),o))):o*1.3;return Math.max(1,Math.min(e.length,Math.floor(n/(i+s))))}function renderAxis(e,t,n,r,i=`bottom`){removeChildren(e);let a=n.position??i,o=a===`bottom`||a===`top`,s=a===`top`||a===`left`,c=s?-1:1,l=createSvgElement(`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=n.tickFormat??defaultTickFormat,d=n.tickCount===void 0&&`bandwidth`in t?categoryTickCount(t.domain,u,r,o):resolveTickCount(n,r,i),f=t.ticks(d);for(let n of f){let r=mapTick(t,n),i=createSvgElement(`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=createTextElement(u(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=createTextElement(n.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});o?setAttributes(t,{x:r/2,y:6*c*6}):setAttributes(t,{transform:`translate(${6*c*7}, ${r/2}) rotate(-90)`}),e.appendChild(t)}}function renderGrid(e,t,n,r,i,a=10){removeChildren(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=mapTick(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(createSvgElement(`line`,c))}}function niceNumber(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 niceRange(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=niceNumber(niceNumber(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function linearScale(e){let getDomain=()=>e.nice===!1?e.domain:niceRange(e.domain[0],e.domain[1],10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();return i===r?t:t+(e-r)/(i-r)*(n-t)},map(t){let[n,r]=getDomain(),[i,a]=getRange();if(r===n)return i;let o=(t-n)/(r-n);return e.clamp&&(o=Math.max(0,Math.min(1,o))),i+o*(a-i)},get range(){return getRange()},ticks(e=10){if(e<=0)return[];let[t,n]=getDomain();if(t===n||e===1)return[t];let r=Math.min(t,n),i=Math.max(t,n),a=niceNumber(niceNumber(i-r,!1)/(e-1),!0),o=Math.ceil(r/a)*a,s=Math.floor(i/a)*a,c=[];for(let e=o;e<=s+a*.5;e+=a)c.push(Math.round(e*0xe8d4a51000)/0xe8d4a51000);return c}}}var c=1e3,l=60*c,u=60*l,d=24*u,f=30*d,p=365*d,m=[c,5*c,15*c,30*c,l,5*l,15*l,30*l,u,3*u,6*u,12*u,d,7*d,f,3*f,6*f,p];function chooseInterval(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of m)if(e>=n)return e;return p}function niceDomain(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=chooseInterval(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function timeScale(e){let getDomain=()=>e.nice===!1?e.domain:niceDomain(e.domain,10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();if(i===r)return t;let a=(e-r)/(i-r);return new Date(t.getTime()+a*(n.getTime()-t.getTime()))},map(e){let[t,n]=getDomain(),[r,i]=getRange(),a=n.getTime()-t.getTime();return a===0?r:r+(e.getTime()-t.getTime())/a*(i-r)},get range(){return getRange()},ticks(e=10){let[t,n]=getDomain(),r=chooseInterval(n.getTime()-t.getTime(),e),i=Math.ceil(t.getTime()/r)*r,a=[];for(let e=i;e<=n.getTime();e+=r)a.push(new Date(e));return a}}}function buildXScale(e,t){if(e.length===0||e.some(e=>e==null)||e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return linearScale({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 timeScale({domain:[new Date(r),new Date(r===i?i+1:i)],nice:!1,range:[0,t]})}let n=e,r=Math.min(...n),i=Math.max(...n);return linearScale({domain:[r,r===i?i+1:i],nice:!1,range:[0,t]})}function buildYScale(e,t,n=!0){if(e.length===0||e.some(e=>e==null)||e.some(e=>!Number.isFinite(e)))return linearScale({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return linearScale({domain:[i,i===a?a+1:a],range:[t,0]})}function createTappers(){let e=new Set,t=!1;return{emit(t){if(e.size!==0)for(let n of e)try{n(t)}catch{}},stop(){t=!0,e.clear()},tap(n,r){if(t||r?.signal?.aborted)return()=>{};e.add(n);let detach=()=>{e.delete(n)};return r?.signal?.addEventListener(`abort`,detach,{once:!0}),detach}}}var PrismError=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},PrismRenderError=class extends PrismError{};function describeValues(e,t,n=String){return`${e}: ${t.map(({datum:e,series:t})=>`${t.name} ${e?n(e.value):`n/a`}`).join(`, `)}`}function createAnnouncer(e,t){let n=createSvgElement(`text`,{"aria-live":`polite`,class:t,role:`status`,x:-9999,y:-9999});return e.appendChild(n),{announce(e){n.textContent=e},clear(){n.textContent=``}}}function resolvePosition(e){return e===!0?`bottom`:e.position??`bottom`}function createLegend(e,t){let n=resolvePosition(t),r=document.createElement(`div`);r.className=`prism-legend prism-legend-${n}`,n===`top`?e.insertBefore(r,e.firstChild):e.appendChild(r);let disposeHandle=()=>{r.remove()};return{dispose:disposeHandle,el:r,[Symbol.dispose]:disposeHandle,update(e){r.replaceChildren();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)}}}}var h=`position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap`;function comparisonContent(e,t,n,r){let i=e.createElement(`div`),a=e.createElement(`span`),o=e.createElement(`div`),s=e.createElement(`div`);i.className=`prism-tooltip-body`,a.className=`prism-tooltip-sr`,a.style.cssText=h,a.textContent=r,o.setAttribute(`aria-hidden`,`true`),s.className=`prism-tooltip-title`,s.textContent=t,o.appendChild(s);for(let t of n){let n=e.createElement(`div`),r=e.createElement(`span`),i=e.createElement(`span`),a=e.createElement(`span`);n.className=`prism-tooltip-row`,r.className=`prism-tooltip-swatch`,r.style.setProperty(`--prism-swatch`,t.color),i.className=`prism-tooltip-name`,i.textContent=t.name,a.className=`prism-tooltip-value`,a.textContent=t.value,n.append(r,i,a),o.appendChild(n)}return i.append(a,o),i}function createTooltip(i,a){let o=i.style.position,s=getComputedStyle(i).position===`static`;s&&(i.style.position=`relative`);let c=i.ownerDocument.createElement(`div`);c.className=`prism-tooltip`,c.style.position=`absolute`,c.style.pointerEvents=`none`,c.style.top=`0`,c.style.left=`0`,c.setAttribute(`role`,`status`),c.setAttribute(`aria-live`,`polite`),i.appendChild(c);let l=a!==!0&&a?.offset||8,u=a===!0?void 0:a?.render,setVisible=e=>{c.classList.toggle(`prism-tooltip--visible`,e),c.style.opacity=e?`1`:`0`},d=null,f=null,p=!1,cancelClear=()=>{f!==null&&(clearTimeout(f),f=null)},cancelReveal=()=>{d!==null&&(cancelAnimationFrame(d),d=null)},disposeHandle=()=>{cancelReveal(),cancelClear(),c.remove(),s&&i.style.position===`relative`&&(i.style.position=o)};return{dispose:disposeHandle,el:c,hide(){cancelReveal(),cancelClear(),p=!1,setVisible(!1),f=setTimeout(()=>{f=null,p||(c.textContent=``)},150)},show(a,o,s,f,m){if(!i.isConnected)return;cancelClear();let h=u?u(s,f):m??`${f.name}: ${s.value}`;typeof h==`string`?c.textContent=h:c.replaceChildren(h);let{x:g,y:_}=e({getBoundingClientRect:()=>{let e=i.getBoundingClientRect();return{bottom:e.top+o,height:0,left:e.left+a,right:e.left+a,top:e.top+o,width:0,x:e.left+a,y:e.top+o}}},c,{containingBlock:i,middleware:[n(l),t(),r({padding:8})],placement:`top`});if(c.style.left=`${g}px`,c.style.top=`${_}px`,p){d===null&&setVisible(!0);return}p=!0,setVisible(!1),d=requestAnimationFrame(()=>{d=null,p&&setVisible(!0)})},[Symbol.dispose]:disposeHandle}}var g={bottom:48,left:50,right:20,top:20};function resolveMargin(e){return{...g,...e}}function chartArea(e,t,n){return{height:Math.max(0,t-n.top-n.bottom),width:Math.max(0,e-n.left-n.right)}}function observeResize(e,t){if(typeof ResizeObserver>`u`)return()=>{};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 createChartBase(e,t,n){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new PrismRenderError(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let r=resolveMargin(t.margin),i=t.a11y,a=createSvgElement(`svg`,{...!i||i.decorative?{"aria-hidden":`true`}:{"aria-label":i.ariaLabel,role:`img`,tabindex:`0`},class:`prism-chart`,style:`display:block;max-width:100%`}),o=createSvgElement(`g`,{class:`prism-chart-area`,transform:`translate(${r.left},${r.top})`});a.appendChild(o);let s=e.getBoundingClientRect();s.width===0||s.height;let c={height:s.height||300,margin:r,width:s.width||600},l=observeResize(e,(e,r)=>{let i=t.chrome?.()?.offsetHeight??0,o=Math.max(0,r-i);c.height=o,c.width=e,setAttributes(a,{height:o,viewBox:`0 0 ${e} ${o}`,width:e}),n?.()}),u=s.width||600,d=s.height||300;return setAttributes(a,{height:d,viewBox:`0 0 ${u} ${d}`,width:u}),e.appendChild(a),{chartArea:o,dimensions:c,dispose(){l(),a.remove()},svg:a}}function clearCartesianDom(e,t,n,r){removeChildren(e.series),removeChildren(e.grid),removeChildren(e.xAxis),removeChildren(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function runScaffold(e,t,n,r,i){let render=()=>{},a=createTappers(),o=null,s=createChartBase(e,{a11y:t.a11y,chrome:()=>o?.el??null,margin:t.margin},()=>{a.emit({height:s.dimensions.height,type:`resize`,width:s.dimensions.width}),render()}),c=t.tooltip?createTooltip(e,t.tooltip):null;o=t.legend?createLegend(e,t.legend):null;let l=new AbortController,u=n(s,c,o,l.signal,createAnnouncer(s.svg,`prism-live`)),d=!1,f=makeEventManager(s.svg);render=()=>{d||f.attach(r(u))};try{render()}catch(e){throw d=!0,l.abort(),f.detach(),c?.dispose(),o?.dispose(),s.dispose(),e instanceof PrismRenderError?e:new PrismRenderError(`Failed to render chart.`,{cause:e})}return{get disposalSignal(){return l.signal},dispose(){d||(d=!0,a.emit({type:`dispose`}),a.stop(),l.abort(),f.detach(),c?.dispose(),o?.dispose(),s.dispose())},get disposed(){return d},el:s.svg,tap:a.tap,update(e){if(d)throw new PrismRenderError(`Cannot update a disposed chart.`);i(e),render()},[Symbol.dispose](){this.dispose()}}}function makeEventManager(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 createChartScaffold(e,t,n,r){return runScaffold(e,t,(t,n,r,i,a)=>{let o={grid:createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:createSvgElement(`g`,{class:`prism-series`}),xAxis:createSvgElement(`g`,{class:`prism-x-axis`}),yAxis:createSvgElement(`g`,{class:`prism-y-axis`})};return t.chartArea.appendChild(o.grid),t.chartArea.appendChild(o.xAxis),t.chartArea.appendChild(o.yAxis),t.chartArea.appendChild(o.series),{announcer:a,chartArea:t.chartArea,container:e,dimensions:t.dimensions,disposalSignal:i,groups:o,legend:r,svg:t.svg,tooltip:n}},n,r)}function createRadialScaffold(e,t,n,r){return runScaffold(e,t,(t,n,r,i,a)=>({announcer:a,container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n,r)}function seriesDomId(e,t){return e?.id?e.id.replace(/[^A-Za-z0-9_-]/g,`-`):`series-${t}`}function createCrosshair(e,t){let n=t===!0||t?.vertical!==!1,r=t!==!0&&t?.horizontal===!0,i=t===!0||t?.snap!==!1,a=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),o=n?createSvgElement(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,s=r?createSvgElement(`line`,{class:`prism-crosshair-h`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null;return o&&a.appendChild(o),s&&a.appendChild(s),e.appendChild(a),{hide(){a.style.display=`none`},show(e,t,n,r){a.style.display=``,o&&(setAttributes(o,{x1:0,x2:0,y1:0,y2:r}),o.style.transform=`translateX(${e}px)`),s&&(setAttributes(s,{x1:0,x2:n,y1:0,y2:0}),s.style.transform=`translateY(${t}px)`)},snap:i}}function keyId(e){return e instanceof Date?`date:${e.getTime()}`:`${typeof e}:${String(e)}`}function normalizeCartesianSeries(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=keyId(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 getMousePosition(e,t,n,r){let i=e.getBoundingClientRect();return{x:t.clientX-i.left-n,y:t.clientY-i.top-r}}var keyOrder=e=>e instanceof Date?e.getTime():Number(e);function keyLabel(e){return e instanceof Date?e.toLocaleDateString():String(e)}function findNearestKey(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 createSeriesInteraction(e){let t=-1,n=!1,renderedHit=t=>{let n=t.target;if(!(n instanceof SVGElement)||n.tagName.toLowerCase()!==`circle`||!e.seriesGroup.contains(n)||!n.parentElement)return null;let r=n.parentElement;for(;r&&r.parentNode!==e.seriesGroup;)r=r.parentElement;if(!r)return null;let i=[...e.seriesGroup.children].indexOf(r),a=[...n.parentElement.children].indexOf(n),o=e.getData()[i]?.[a],s=e.getPoints()[i]?.[a];return o&&s?{datum:o,point:s,seriesIndex:i}:null},entriesAt=t=>{let n=keyId(t),r=e.getPoints();return e.getData().map((e,t)=>{let i=e.findIndex(e=>keyId(e.key)===n);return i===-1?{datum:void 0,point:void 0}:{datum:e[i],point:r[t]?.[i]}})},nearestIndex=(e,t)=>{let n=-1,r=1/0;return e.forEach(({point:e},i)=>{if(!e)return;let a=Number.isFinite(t)?Math.abs(e.y-t):0;a<r&&(r=a,n=i)}),n},highlight=(t,n)=>{let r=e.colors();e.markers.replaceChildren(),t.forEach(({point:t},n)=>{t&&e.markers.appendChild(createSvgElement(`circle`,{class:`prism-active-point`,cx:t.x,cy:t.y,fill:r[n],r:4}))});let i=[...e.seriesGroup.children];e.seriesGroup.classList.toggle(`prism-series-focused`,n>=0&&i.length>1);for(let[e,t]of i.entries())t.classList.toggle(`prism-series-active`,e===n)},clear=()=>{e.crosshair?.hide(),e.tooltip?.hide(),e.announcer.clear(),highlight([],-1),n=!1,e.onHover?.(null)},eventFor=(t,n,r)=>{let i=entriesAt(t),a=renderedHit(r),o=a?.seriesIndex??nearestIndex(i,n);a&&(i[o]={datum:a.datum,point:a.point});let s=e.getSeriesList(),c=i[o]?.datum;if(o<0||!c)return null;let l=i.map((e,t)=>({datum:e.datum,series:s[t]}));return{entries:i,event:{datum:c,originalEvent:r,series:s[o],values:l},index:o}},focus=(t,r,i)=>{let a=eventFor(t,r?.y??NaN,i);if(!a)return;let{entries:o,event:s,index:c}=a,l=o[c].point,u=e.dims(),d=chartArea(u.width,u.height,e.margin),f=e.crosshair?.snap===!1&&r,p=keyLabel(t),m=s.values??[],h=e.colors();e.crosshair?.show(f?r.x:l.x,f?r.y:l.y,d.width,d.height),highlight(o,c);let g=describeValues(p,m);if(e.tooltip){let t=m.flatMap(({datum:e,series:t},n)=>e?[{color:h[n],name:t.name,value:String(e.value)}]:[]);e.tooltip.show(l.x+e.margin.left,l.y+e.margin.top,s.datum,s.series,comparisonContent(e.svg.ownerDocument,p,t,g))}else e.announcer.announce(g);n=!0,e.onHover?.(s)},pointerKey=t=>{let n=renderedHit(t);if(n)return{key:n.datum.key,pos:n.point};let r=e.getPoints();if(r.every(e=>e.length===0))return null;let i=e.dims(),a=getMousePosition(e.svg,t,e.margin.left,e.margin.top),o=chartArea(i.width,i.height,e.margin);if(a.x<0||a.x>o.width||a.y<0||a.y>o.height)return null;let s=findNearestKey(e.getData(),r,a.x);return s===null?null:{key:s,pos:a}},sortedKeys=()=>[...new Map(e.getData().flat().map(e=>[keyId(e.key),e.key])).values()].sort((e,t)=>keyOrder(e)-keyOrder(t)),onMouseMove=e=>{let t=pointerKey(e);t?focus(t.key,t.pos,e):n&&clear()},onClick=t=>{if(!e.onClick)return;let n=pointerKey(t),r=n&&eventFor(n.key,n.pos.y,t);r&&e.onClick(r.event)},onKeyDown=n=>{let r=sortedKeys();if(r.length===0)return;let i=r.length-1,a={ArrowLeft:t<0?i:Math.max(0,t-1),ArrowRight:t<0?0:Math.min(i,t+1),End:i,Home:0};if(n.key in a)n.preventDefault(),t=a[n.key],focus(r[t],null,n);else if((n.key===`Enter`||n.key===` `)&&t>=0&&e.onClick){n.preventDefault();let i=eventFor(r[t],NaN,n);i&&e.onClick(i.event)}else n.key===`Escape`&&(t=-1,clear())};return{onClick,onKeyDown,onMouseLeave:clear,onMouseMove}}function ensureMarkerGroup(e,t){if(t&&e.contains(t))return t;let n=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-active-points`,"pointer-events":`none`});return e.appendChild(n),n}var _=8,v={axisColor:`--prism-axis-color`,fontFamily:`--prism-font-family`,gridColor:`--prism-grid-color`,gridOpacity:`--prism-grid-opacity`,textColor:`--prism-text-color`,textColorSecondary:`--prism-text-color-secondary`,tooltipBg:`--prism-tooltip-bg`,tooltipBorder:`--prism-tooltip-border`,tooltipColor:`--prism-tooltip-color`};function target(e){return e?.scope??document.documentElement}function setTheme(e,t){let n=target(t);if(e.colors)for(let t=0;t<_;t++){let r=e.colors[t];r?n.style.setProperty(`--prism-color-${t+1}`,r):n.style.removeProperty(`--prism-color-${t+1}`)}for(let[t,r]of Object.entries(v)){let i=e[t];i!==void 0&&n.style.setProperty(r,String(i))}}function resetTheme(e){let t=target(e);for(let e=1;e<=_;e++)t.style.removeProperty(`--prism-color-${e}`);for(let e of Object.values(v))t.style.removeProperty(e)}function seriesColor(e,t){return t??`var(--prism-color-${e%_+1})`}var y=1.70158,b={"back-out":e=>1+2.70158*(e-1)**3+y*(e-1)**2,"ease-in":e=>e*e*e,"ease-in-out":e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,"ease-out":e=>1-(1-e)**3,"expo-out":e=>e>=1?1:1-2**(-10*e),linear:e=>e};function resolveEasing(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(b,e)?b[e]:b[`ease-out`]}function resolveMotion(e,t){if(e===!1)return{duration:0,stagger:0};let n=e===!0?void 0:e,r=n?.preference??`system`,i=typeof matchMedia<`u`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches,a=r===`never`||r===`system`&&i?0:n?.duration??t?.defaultDuration??300;return{...n,duration:a,stagger:Math.max(0,n?.stagger??t?.defaultStagger??0)}}function tweenNumber(e,t,n){return e+(t-e)*n}function startTween(e){let{count:t,duration:n,easing:r,stagger:i=0,signal:a,onFrame:o,onComplete:s}=e;if(a?.aborted)return()=>{};if(n<=0)return o(()=>1),s?.(),()=>{};if(t===0)return s?.(),()=>{};let c=n+i*(t-1),l=null,u=null,d=!1,cancel=()=>{d=!0,u!==null&&(cancelAnimationFrame(u),u=null),a?.removeEventListener(`abort`,cancel)},frame=e=>{if(d||a?.aborted)return;l===null&&(l=e);let t=e-l;o(e=>r(Math.max(0,Math.min(1,(t-e*i)/n)))),t<c?u=requestAnimationFrame(frame):(u=null,a?.removeEventListener(`abort`,cancel),s?.())};return a?.addEventListener(`abort`,cancel,{once:!0}),u=requestAnimationFrame(frame),cancel}function animate(e,t,n,r){let i=resolveMotion(t);return startTween({count:e.length,duration:i.duration,easing:resolveEasing(i.easing),onComplete:n,onFrame:t=>{for(let[n,r]of e.entries()){let e=t(n);for(let[t,{from:n,to:i}]of Object.entries(r.attrs))r.el.setAttribute(t,String(tweenNumber(n,i,e)))}},signal:r,stagger:i.stagger})}function hasStyledRuns(e){return e?.some(e=>e&&(e.dash!==void 0||e.opacity!==void 0))??!1}function computeStyleRuns(e,t){let n=Math.max(0,t-1);if(n===0)return[];let r=[];for(let t=0;t<n;t++){let n=e[t]??{},i=r[r.length-1];if(i&&i.dash===n.dash&&i.opacity===n.opacity){i.end=t+1;continue}r.push({dash:n.dash,end:t+1,opacity:n.opacity,start:t})}return r}var x=0;function uniqueId(e){return x+=1,`${e}-${x}`}function linePath(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 monotonePath(e){if(e.length<3)return linePath(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 stepPath(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 areaPath(e,t,n=`linear`){if(e.length===0)return``;let r=n===`monotone`?monotonePath(e):n===`step`?stepPath(e):linePath(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 S=new WeakMap,C=new WeakMap;function buildLinePath(e,t){return t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}function applyAreaFill(e,t,n){let r=e.querySelector(`linearGradient`);if(n.fill===`gradient`){if(!r){let t=createSvgElement(`defs`);r=createSvgElement(`linearGradient`,{id:uniqueId(`prism-area-fill`),x1:0,x2:0,y1:0,y2:1}),r.append(createSvgElement(`stop`,{class:`prism-area-stop-top`,offset:0}),createSvgElement(`stop`,{class:`prism-area-stop-bottom`,offset:1})),t.appendChild(r),e.insertBefore(t,e.firstChild)}for(let e of r.querySelectorAll(`stop`))e.setAttribute(`stop-color`,n.color),e.style.stopColor=n.color;setAttributes(t,{fill:`url(#${r.id})`})}else r?.parentElement?.remove(),setAttributes(t,{fill:n.color});setAttributes(t,{class:`prism-area-fill prism-area-fill--${n.fill}`,stroke:`none`}),t.style.fillOpacity=n.fillOpacity===void 0?``:String(n.fillOpacity)}function renderArea(e,t,n,r){let i=resolveMotion(r.transition),a=i.duration,o=resolveEasing(i.easing),s=e.querySelector(`.prism-area-fill`);s||(s=createSvgElement(`path`,{class:`prism-area-fill`}),e.appendChild(s)),applyAreaFill(e,s,r);let c=null,l=[],u=[],d=hasStyledRuns(r.marks),f=r.marks??[];if(r.showLine){if(d){l=computeStyleRuns(f,t.length);let n=[...e.querySelectorAll(`.prism-area-line`)];for(let e of n.slice(l.length))e.remove();u=l.map((t,r)=>{let i=n[r];if(i)return i;let a=createSvgElement(`path`,{class:`prism-area-line`,fill:`none`});return e.appendChild(a),a});for(let[e,t]of l.entries())setAttributes(u[e],{opacity:t.opacity,stroke:r.color,"stroke-dasharray":t.dash,"stroke-width":2});c=null}else{let t=[...e.querySelectorAll(`.prism-area-line`)];for(let e of t.slice(1))e.remove();c=t[0]??null,c||(c=createSvgElement(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(c)),setAttributes(c,{opacity:void 0,stroke:r.color,"stroke-dasharray":void 0,"stroke-width":2})}}else for(let t of e.querySelectorAll(`.prism-area-line`))t.remove();let drawLine=e=>{if(r.showLine){if(d)for(let[t,n]of l.entries())setAttributes(u[t],{d:buildLinePath(e.slice(n.start,n.end+1),r.curve)});else c&&setAttributes(c,{d:buildLinePath(e,r.curve)})}};if(a===0){let i=t.map(e=>({x:e.x,y:n}));setAttributes(s,{d:areaPath(t,i,r.curve)}),drawLine(t),C.set(e,t);return}S.get(e)?.();let p=C.has(e)?C.get(e)??t:t.map(e=>({x:e.x,y:n})),m=t.map((e,n)=>p[n]??p[p.length-1]??t[n]),paintFrame=i=>{let a=t.map((e,t)=>({x:tweenNumber(m[t].x,e.x,i),y:tweenNumber(m[t].y,e.y,i)})),o=a.map(e=>({x:e.x,y:n}));C.set(e,a),setAttributes(s,{d:areaPath(a,o,r.curve)}),drawLine(a)};paintFrame(0),S.set(e,startTween({count:1,duration:a,easing:o,onComplete:()=>{S.delete(e),C.set(e,t)},onFrame:e=>paintFrame(e(0)),signal:r.disposalSignal}))}function computeAreaPoints(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 createAreaChart(e,t){let n=null,r=null,i=t.series;return createChartScaffold(e,t,e=>{let{groups:a,legend:o,tooltip:s}=e,c=e.dimensions,l=chartArea(c.width,c.height,c.margin),u=i.map(e=>e.data),d=u.flat().map(e=>e.key),f=u.flat().map(e=>e.value);if(d.length===0){clearCartesianDom(a,o,s,n),r?.replaceChildren();return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let p=buildXScale(d,l.width),m=buildYScale(f,l.height),h=m.map(0),g=t.xAxis===!1?!1:t.xAxis??{},_=t.yAxis===!1?!1:t.yAxis??{grid:!0};for(_&&_.grid&&renderGrid(a.grid,m,_.grid,l.width,`horizontal`,resolveTickCount(_,l.height,`left`)),g&&g.grid&&renderGrid(a.grid,p,g.grid,l.height,`vertical`,resolveTickCount(g,l.width,`bottom`)),g?(positionAxis(a.xAxis,g.position??`bottom`,l.width,l.height),renderAxis(a.xAxis,p,g,l.width,`bottom`)):a.xAxis.replaceChildren(),_?(positionAxis(a.yAxis,_.position??`left`,l.width,l.height),renderAxis(a.yAxis,m,_,l.height,`left`)):a.yAxis.replaceChildren();a.series.children.length>i.length;)a.series.removeChild(a.series.lastChild);let v=[];for(let n=0;n<i.length;n++){let r=i[n],o=a.series.children[n];o||(o=createSvgElement(`g`,{class:`prism-area-series`}),a.series.appendChild(o)),o.setAttribute(`data-series-id`,seriesDomId(r,n));let s=computeAreaPoints(u[n],p,m);v.push(s),renderArea(o,s,h,{color:seriesColor(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,fill:r.fill??`gradient`,fillOpacity:r.fillOpacity,marks:r.data,showLine:r.showLine!==!1,transition:t.transition})}return o?.update(i.map((e,t)=>({color:seriesColor(t,e.color),name:e.name}))),s?.hide(),r=ensureMarkerGroup(e.chartArea,r),createSeriesInteraction({announcer:e.announcer,colors:()=>i.map((e,t)=>seriesColor(t,e.color)),crosshair:n,dims:()=>e.dimensions,getData:()=>u,getPoints:()=>v,getSeriesList:()=>i,margin:e.dimensions.margin,markers:r,onClick:t.onClick,onHover:t.onHover,seriesGroup:a.series,svg:e.svg,tooltip:s})},e=>{i=e})}function bandScale(e){let getDomain=()=>e.domain,getRange=()=>e.range,getBandwidth=()=>{let t=getDomain().length;if(t===0)return 0;let[n,r]=getRange(),i=e.padding??.1;return(r-n)/(t+(t-1)*i+(e.paddingOuter??i)*2)};return{bandwidth:getBandwidth,get domain(){return getDomain()},gap(){let t=e.padding??.1;return getBandwidth()*t},map(t){let n=getDomain().indexOf(t);if(n===-1)return`${t}`,0;let[r]=getRange(),i=getBandwidth(),a=e.padding??.1;return r+(e.paddingOuter??a)*i+n*(i+i*a)},get range(){return getRange()},ticks(e){let t=getDomain();if(e===void 0||e>=t.length)return[...t];if(e<=0)return[];let n=Math.ceil(t.length/e);return t.filter((e,t)=>t%n===0)}}}function findCatIdx(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 findSeriesIdx(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))}}var w=20,T=400,E=new WeakMap;function renderBars(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=[],f=resolveMotion(a.transition,{defaultStagger:w}),p=f.duration>0,m=Math.min(f.stagger,T/Math.max(1,t.length));for(let o=0;o<t.length;o++){let f=t[o],m=n.map(f.key)+c,h=a.baselineYs?a.baselineYs[o]:i,g=r.map(f.y),_=e.children[o],v=!_;if(_||(_=createSvgElement(`rect`,{class:`prism-bar`}),e.appendChild(_)),_.style.display=f.present?``:`none`,setAttributes(_,{opacity:f.opacity,stroke:f.dash?a.color:void 0,"stroke-dasharray":f.dash,"stroke-width":f.dash?1:void 0}),l){let e=Math.max(0,Math.abs(h-g)),t=Math.min(g,h);setAttributes(_,{fill:a.color,height:Math.max(0,s-1),rx:a.borderRadius,ry:a.borderRadius,y:m}),p?v?(setAttributes(_,{width:0,x:h}),u.push({attrs:{width:{from:0,to:e},x:{from:h,to:t}},el:_})):d.push({attrs:{width:{from:Number(_.getAttribute(`width`)??e),to:e},x:{from:Number(_.getAttribute(`x`)??t),to:t}},el:_}):setAttributes(_,{width:e,x:t})}else{let e=Math.max(0,Math.abs(h-g)),t=Math.min(g,h);setAttributes(_,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:Math.max(0,s-1),x:m}),p?v?(setAttributes(_,{height:0,y:h}),u.push({attrs:{height:{from:0,to:e},y:{from:h,to:t}},el:_})):d.push({attrs:{height:{from:Number(_.getAttribute(`height`)??e),to:e},y:{from:Number(_.getAttribute(`y`)??t),to:t}},el:_}):setAttributes(_,{height:e,y:t})}}if(p){E.get(e)?.();let t=[];u.length>0&&t.push(animate(u,{...f,stagger:m},void 0,a.disposalSignal)),d.length>0&&t.push(animate(d,{...f,stagger:0},void 0,a.disposalSignal)),E.set(e,()=>{for(let e of t)e()})}}function variantFlags(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function createBarChart(e,t){let n=t.series,r=null;return createChartScaffold(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions,c=chartArea(s.width,s.height,s.margin),l=n.map(e=>e.data),u=normalizeCartesianSeries(n,l),d=u.domain,f=u.series.map(({byKey:e})=>d.map(t=>e.get(t))),categoryAxis=e=>({...e,tickFormat:t=>{let n=String(t),r=u.labels.get(n)??t;return e.tickFormat?e.tickFormat(r):String(r)}});if(d.length===0){clearCartesianDom(i,a,o),r?.remove(),r=null;return}let{horizontal:p,stacked:m}=variantFlags(t.variant??`grouped`),h=t.xAxis===!1?!1:t.xAxis??(p?{grid:!0}:{}),g=t.yAxis===!1?!1:t.yAxis??(p?{}:{grid:!0}),_,v;if(m){f.some(e=>e.some(e=>(e?.value??0)<0));let e=d.map((e,t)=>f.reduce((e,n)=>e+Math.max(0,n[t]?.value??0),0));_=Math.max(...e),v=0}else{let e=f.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));_=Math.max(...e),v=Math.min(0,...e)}let y=bandScale(p?{domain:d,range:[0,c.height]}:{domain:d,range:[0,c.width]}),b=linearScale(p?{domain:[v,_],range:[0,c.width]}:{domain:[v,_],range:[c.height,0]}),x=[],S=Object.create(null);for(let e of d)S[e]=0;let C={bandCenter:e=>y.map(e)+y.bandwidth()/2,bandwidth:y.bandwidth(),baselinePx:b.map(0),horizontal:p,stacked:m,stackedTops:x,valueScale:b};if(p){if(h&&h.grid&&renderGrid(i.grid,b,h.grid,c.height,`vertical`,resolveTickCount(h,c.width,`bottom`)),g!==!1){let e=categoryAxis(g);positionAxis(i.yAxis,e.position??`left`,c.width,c.height),renderAxis(i.yAxis,y,e,c.height,`left`)}h&&(positionAxis(i.xAxis,h.position??`bottom`,c.width,c.height),renderAxis(i.xAxis,b,h,c.width,`bottom`))}else{if(g&&g.grid&&renderGrid(i.grid,b,g.grid,c.width,`horizontal`,resolveTickCount(g,c.height,`left`)),h!==!1){let e=categoryAxis(h);positionAxis(i.xAxis,e.position??`bottom`,c.width,c.height),renderAxis(i.xAxis,y,e,c.width,`bottom`)}g&&(positionAxis(i.yAxis,g.position??`left`,c.width,c.height),renderAxis(i.yAxis,b,g,c.height,`left`))}let w=m?0:Number.parseFloat(getComputedStyle(e.svg).getPropertyValue(`--prism-bar-radius`))||0;for(;i.series.children.length>n.length;){let e=i.series.lastElementChild;e&&i.series.removeChild(e)}for(let r=0;r<n.length;r++){let a=n[r],o=i.series.children[r];o||(o=createSvgElement(`g`,{class:`prism-bar-series`}),i.series.appendChild(o)),o.setAttribute(`data-series-id`,seriesDomId(a,r));let s=d.map((e,t)=>{let n=f[r]?.[t];if(m){let t=S[e]??0,r=t+Math.max(0,n?.value??0);return S[e]=r,{base:t,dash:n?.dash,key:e,opacity:n?.opacity,present:n!==void 0,y:r}}return{base:0,dash:n?.dash,key:e,opacity:n?.opacity,present:n!==void 0,y:n?.value??0}});x[r]=s.map(e=>e.y);let c=m?s.map(e=>b.map(e.base)):void 0;renderBars(o,s,y,b,C.baselinePx,{baselineYs:c,borderRadius:a.borderRadius??w,color:seriesColor(r,a.color),disposalSignal:e.disposalSignal,horizontal:p,seriesCount:n.length,seriesIndex:r,stacked:m,transition:t.transition})}a?.update(n.map((e,t)=>({color:seriesColor(t,e.color),name:e.name}))),o?.hide(),i.series.classList.toggle(`prism-bars-stacked`,m),(!r||!e.chartArea.contains(r))&&(r=createSvgElement(`rect`,{"aria-hidden":`true`,class:`prism-bar-band`,"pointer-events":`none`}),e.chartArea.insertBefore(r,i.series)),r.style.display=`none`;let T=n.map((e,t)=>seriesColor(t,e.color)),labelOf=e=>String(u.labels.get(d[e])??d[e]),E=-1,valuesAt=e=>n.map((t,n)=>({datum:f[n]?.[e],series:t})),eventAt=(e,t,r)=>{let i=valuesAt(e),a=i[t]?.datum?t:i.findIndex(e=>e.datum),o=i[a]?.datum;return o?{datum:o,originalEvent:r,series:n[a],values:i}:null},setActive=t=>{E=t,i.series.classList.toggle(`prism-bars-focused`,t>=0);for(let e of i.series.children)for(let[n,r]of[...e.children].entries())r.classList.toggle(`prism-bar--active`,n===t);if(!r||(r.style.display=t<0?`none`:``,t<0))return;let n=C.bandCenter(d[t])-y.bandwidth()/2-y.gap()/2,a=y.bandwidth()+y.gap(),o=chartArea(e.dimensions.width,e.dimensions.height,e.dimensions.margin);setAttributes(r,p?{height:a,width:o.width,x:0,y:n}:{height:o.height,width:a,x:n,y:0})},activate=(n,r,i)=>{let a=eventAt(n,r,i);if(!a)return;setActive(n);let s=a.values??[],c=describeValues(labelOf(n),s);if(o){let t=s.map((e,t)=>m?x[t]?.[n]??0:Math.max(0,e.datum?.value??0)),r=b.map(Math.max(...t)),i=C.bandCenter(d[n]),{margin:l}=e.dimensions,u=s.flatMap((e,t)=>e.datum?[{color:T[t],name:e.series.name,value:String(e.datum.value)}]:[]);o.show((p?r:i)+l.left,(p?i:r)+l.top,a.datum,a.series,comparisonContent(e.svg.ownerDocument,labelOf(n),u,c))}else e.announcer.announce(c);t.onHover?.(a)},deactivate=()=>{setActive(-1),o?.hide(),e.announcer.clear(),t.onHover?.(null)},hit=t=>{let r=e.dimensions,i=getMousePosition(e.svg,t,r.margin.left,r.margin.top),a=chartArea(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return null;let o=findCatIdx(p?i.y:i.x,d,C);return o===-1?null:{catIdx:o,seriesIdx:findSeriesIdx(i,o,d,C,n.length)}},onMouseMove=e=>{let t=hit(e);t?activate(t.catIdx,t.seriesIdx,e):E>=0&&deactivate()},onClick=e=>{let n=t.onClick&&hit(e),r=n&&eventAt(n.catIdx,n.seriesIdx,e);r&&t.onClick?.(r)},onKeyDown=e=>{let n=d.length-1,r=E<0?n:Math.max(0,E-1),i=E<0?0:Math.min(n,E+1),a={ArrowDown:i,ArrowLeft:r,ArrowRight:i,ArrowUp:r,End:n,Home:0};if(e.key in a)e.preventDefault(),activate(a[e.key],0,e);else if((e.key===`Enter`||e.key===` `)&&E>=0&&t.onClick){e.preventDefault();let n=eventAt(E,0,e);n&&t.onClick(n)}else e.key===`Escape`&&deactivate()};return{onClick,onKeyDown,onMouseLeave:deactivate,onMouseMove}},e=>{n=e})}var D=new WeakMap,O=new WeakMap;function buildPath(e,t){return t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}function renderLine(e,t,n){let r=hasStyledRuns(n.marks),i=n.marks??[],a=resolveMotion(n.transition),o=a.duration,s=resolveEasing(a.easing),c=null,l=[],u=[];if(r){l=computeStyleRuns(i,t.length);let r=[...e.querySelectorAll(`.prism-line-path`)];for(let e of r.slice(l.length))e.remove();u=l.map((t,n)=>{let i=r[n];if(i)return i;let a=createSvgElement(`path`,{class:`prism-line-path`,fill:`none`});return e.appendChild(a),a});for(let[e,t]of l.entries())setAttributes(u[e],{opacity:t.opacity,stroke:n.color,"stroke-dasharray":t.dash,"stroke-width":n.strokeWidth??2}),u[e].style.strokeWidth=n.strokeWidth===void 0?``:String(n.strokeWidth)}else{let t=[...e.querySelectorAll(`.prism-line-path`)];c=t[0]??null;for(let e of t.slice(1))e.remove();c||(c=createSvgElement(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(c)),setAttributes(c,{opacity:void 0,stroke:n.color,"stroke-dasharray":void 0,"stroke-width":n.strokeWidth??2}),c.style.strokeWidth=n.strokeWidth===void 0?``:String(n.strokeWidth)}let draw=e=>{if(r)for(let[t,r]of l.entries())setAttributes(u[t],{d:buildPath(e.slice(r.start,r.end+1),n.curve)});else setAttributes(c,{d:buildPath(e,n.curve)})},d=e.querySelector(`.prism-line-dots`);if(n.showPoints?d||(d=createSvgElement(`g`,{class:`prism-line-dots`}),e.appendChild(d)):d&&=(d.remove(),null),o===0){if(draw(t),O.set(e,t),d){for(;d.children.length>t.length;)d.removeChild(d.lastChild);for(let e=0;e<t.length;e++){let r=d.children[e];r||(r=createSvgElement(`circle`,{class:`prism-line-dot`}),d.appendChild(r)),setAttributes(r,{cx:t[e].x,cy:t[e].y,fill:n.color,opacity:i[e]?.opacity,r:n.pointRadius})}}return}D.get(e)?.();let f=!O.has(e),p=f?t.map(e=>({x:e.x,y:n.baselineY})):[];if(d){for(;d.children.length>t.length;)d.removeChild(d.lastChild);for(let e=d.children.length;e<t.length;e++){let t=createSvgElement(`circle`,{class:`prism-line-dot`});setAttributes(t,{fill:n.color,opacity:i[e]?.opacity,r:n.pointRadius}),d.appendChild(t)}for(let e=0;e<d.children.length;e++)setAttributes(d.children[e],{opacity:i[e]?.opacity})}if(!f){let n=O.get(e)??t;for(let[e,r]of t.entries())p.push(n[e]??n.at(-1)??r)}let paintFrame=n=>{let r=t.map((e,t)=>{let r=p[t]??e;return{x:tweenNumber(r.x,e.x,n),y:tweenNumber(r.y,e.y,n)}});if(O.set(e,r),draw(r),d)for(let e=0;e<t.length;e++){let t=d.children[e];t&&setAttributes(t,{cx:r[e].x,cy:r[e].y})}};paintFrame(0),D.set(e,startTween({count:1,duration:o,easing:s,onComplete:()=>{D.delete(e),O.set(e,t)},onFrame:e=>paintFrame(e(0)),signal:n.disposalSignal}))}function computePoints(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 createLineChart(e,t){let n=null,r=null,i=null,a=t.series;return createChartScaffold(e,t,e=>{let{groups:o,legend:s,tooltip:c}=e,l=e.dimensions,u=a.some(e=>e.yAxis===`right`),d=a.some(e=>e.yAxis!==`right`&&e.data.length>0),f={...resolveMargin(t.margin),right:t.margin?.right??(u?t.rightYAxis?.label?72:50:resolveMargin(t.margin).right)},p=chartArea(l.width,l.height,f),m=a.map(e=>e.data),h=m.flat().map(e=>e.key),g=a.filter(e=>e.yAxis!==`right`).flatMap(e=>e.data.map(e=>e.value)),_=a.filter(e=>e.yAxis===`right`).flatMap(e=>e.data.map(e=>e.value));if(h.length===0){clearCartesianDom(o,s,c,n),r?.replaceChildren(),i?.replaceChildren();return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let v=buildXScale(h,p.width),y=buildYScale(g,p.height),b=buildYScale(_,p.height),x=t.xAxis===!1?!1:t.xAxis??{},S=t.yAxis===!1?!1:t.yAxis??{grid:!0};if(S&&S.grid&&(!u||d)?renderGrid(o.grid,y,S.grid,p.width,`horizontal`,resolveTickCount(S,p.height,`left`)):o.grid.replaceChildren(),x&&x.grid&&renderGrid(o.grid,v,x.grid,p.height,`vertical`,resolveTickCount(x,p.width,`bottom`)),x?(positionAxis(o.xAxis,x.position??`bottom`,p.width,p.height),renderAxis(o.xAxis,v,x,p.width,`bottom`)):o.xAxis.replaceChildren(),S&&(!u||d)){let e={...S,position:u?`left`:S.position??`left`};positionAxis(o.yAxis,e.position,p.width,p.height),renderAxis(o.yAxis,y,e,p.height,`left`)}else o.yAxis.replaceChildren();if(u){i||(i=createSvgElement(`g`,{class:`prism-y-axis-right`}),e.chartArea.appendChild(i));let n={...t.rightYAxis,position:`right`};positionAxis(i,`right`,p.width,p.height),renderAxis(i,b,n,p.height,`right`)}else i?.replaceChildren();for(;o.series.children.length>a.length;)o.series.removeChild(o.series.lastChild);let C=[];for(let n=0;n<a.length;n++){let r=a[n],i=o.series.children[n];i||(i=createSvgElement(`g`,{class:`prism-line-series`}),o.series.appendChild(i)),i.setAttribute(`data-series-id`,seriesDomId(r,n));let s=r.yAxis===`right`?b:y,c=computePoints(m[n],v,s);C.push(c),renderLine(i,c,{baselineY:s.map(0),color:seriesColor(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,marks:r.data,pointRadius:r.pointRadius??3,showPoints:r.showPoints??!1,strokeWidth:r.strokeWidth,transition:t.transition})}return s?.update(a.map((e,t)=>({color:seriesColor(t,e.color),name:e.name}))),c?.hide(),r=ensureMarkerGroup(e.chartArea,r),createSeriesInteraction({announcer:e.announcer,colors:()=>a.map((e,t)=>seriesColor(t,e.color)),crosshair:n,dims:()=>e.dimensions,getData:()=>m,getPoints:()=>C,getSeriesList:()=>a,margin:f,markers:r,onClick:t.onClick,onHover:t.onHover,seriesGroup:o.series,svg:e.svg,tooltip:c})},e=>{a=e})}function polarX(e,t,n){return e+t*Math.sin(n)}function polarY(e,t,n){return e-t*Math.cos(n)}function polarPoint(e,t,n,r){return`${polarX(e,n,r)},${polarY(t,n,r)}`}function computeArcs(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 arcPath(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${polarPoint(r,i,c,u)}A${c},${c},0,1,1,${polarPoint(r,i,c,e)}A${c},${c},0,1,1,${polarPoint(r,i,c,u)}Z`:[`M${polarPoint(r,i,c,u)}`,`A${c},${c},0,1,1,${polarPoint(r,i,c,e)}`,`A${c},${c},0,1,1,${polarPoint(r,i,c,u)}`,`M${polarPoint(r,i,s,u)}`,`A${s},${s},0,1,0,${polarPoint(r,i,s,e)}`,`A${s},${s},0,1,0,${polarPoint(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${polarPoint(r,i,c,f)}A${c},${c},0,${e},1,${polarPoint(r,i,c,p)}Z`:[`M${polarPoint(r,i,c,f)}`,`A${c},${c},0,${e},1,${polarPoint(r,i,c,p)}`,`L${polarPoint(r,i,s,p)}`,`A${s},${s},0,${e},0,${polarPoint(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=polarX(r,c,f),E=polarY(i,c,f),D=polarX(r,c,p),O=polarY(i,c,p),k=polarX(r,s,f),A=polarY(i,s,f),j=polarX(r,s,p),M=polarY(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}`,L=`${j+(D-j)*N},${M+(O-M)*N}`,R=[];return n?R.push(`M${polarPoint(r,i,c,f)}`):(R.push(`M${P}`),R.push(`Q${T},${E},${polarPoint(r,i,c,y)}`)),R.push(`A${c},${c},0,${C},1,${polarPoint(r,i,c,b)}`),t?R.push(`A${v},${v},0,0,1,${polarPoint(r,i,s,p)}`):(R.push(`Q${D},${O},${F}`),R.push(`L${L}`),R.push(`Q${j},${M},${polarPoint(r,i,s,S)}`)),R.push(`A${s},${s},0,${w},0,${polarPoint(r,i,s,x)}`),n?R.push(`A${v},${v},0,0,0,${polarPoint(r,i,c,f)}`):R.push(`Q${k},${A},${I}`),R.push(`Z`),R.join(``)}function arcCentroid(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 k=2*Math.PI,A=12;function labelFits(e,t){let n=e.outerRadius-e.innerRadius,r=(e.outerRadius+e.innerRadius)/2,i=(e.endAngle-e.startAngle-2*e.padAngle)*r;return n>=A*1.4&&i>=estimateTextWidth(t,A)+8}var j=-Math.PI/2,M=Math.PI/2;function semiAngles(e){return e===`semi`?{end:M,start:j}:{end:k,start:0}}function createPieChart(e,t){let n=t.variant??`pie`,r=t.padPixels??(n===`pie`?0:8),i=t.cornerRadius??(n===`pie`?0:8),a=t.data,o=createSvgElement(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),s=createSvgElement(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),c=createSvgElement(`g`,{class:`prism-pie-labels`,"pointer-events":`none`}),l=[],u=[],d=null;function renderLabels(e){c.replaceChildren();for(let t=0;t<l.length;t++){let n=l[t],r=e[t];if(!r?.label||!labelFits(n,r.label))continue;let{x:i,y:a}=arcCentroid(n),o=createSvgElement(`text`,{class:`prism-pie-label`});setAttributes(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,c.appendChild(o)}}return createRadialScaffold(e,{a11y:t.a11y,legend:t.legend,tooltip:t.tooltip},f=>{let{legend:p,svg:m,tooltip:h}=f;m.contains(o)||(m.appendChild(o),m.appendChild(s),m.appendChild(c));let{height:g,width:_}=f.dimensions,v=n===`semi`,y=_/2,b=v?g*.85:g/2,x=v?Math.min(y,b)-8:Math.min(_,g)/2-8,S=n===`pie`?0:Math.round(x*.55),C=t.innerRadius===void 0?S:t.innerRadius,w=Math.max(C+1,x),T=a,{end:E,start:D}=semiAngles(n);for(l=computeArcs(T,y,b,w,C,D,E,r,i,e=>seriesColor(e),!1),setAttributes(o,{cx:y,cy:b,r:C>0?C:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>l.length;)s.removeChild(s.lastChild);c.replaceChildren();let O=resolveMotion(t.transition),k=O.duration,A=resolveEasing(O.easing);for(let e=0;e<l.length;e++){let n=l[e],r=s.children[e];r||(r=createSvgElement(`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`:``}d?.();let j=u.length===0,M=u;d=startTween({count:1,duration:k,easing:A,onComplete:()=>renderLabels(T),onFrame:e=>{let t=e(0);if(j){let e=tweenNumber(D,E,t);u=l.map((t,n)=>{let r=s.children[n];if(!r)return t;if(e<=t.startAngle)return setAttributes(r,{d:``}),{...t,endAngle:t.startAngle};let i=Math.min(t.endAngle,e);return setAttributes(r,{d:arcPath({...t,endAngle:i})}),{...t,endAngle:i}});return}u=l.map((e,n)=>{let r=s.children[n],i=M.at(-1),a=M[n]??{...e,endAngle:i?.endAngle??D,startAngle:i?.endAngle??D},o={...e,endAngle:tweenNumber(a.endAngle,e.endAngle,t),innerRadius:tweenNumber(a.innerRadius,e.innerRadius,t),outerRadius:tweenNumber(a.outerRadius,e.outerRadius,t),padAngle:tweenNumber(a.padAngle,e.padAngle,t),startAngle:tweenNumber(a.startAngle,e.startAngle,t)};return r&&setAttributes(r,{d:o.endAngle-o.startAngle<=1e-6?``:arcPath(o)}),o})},signal:f.disposalSignal}),p?.update(l.map(e=>({color:e.color,name:e.slice.label??``}))),h?.hide();let N=l.reduce((e,t)=>e+Math.max(0,t.slice.value),0),P=-1,describe=e=>{let t=N>0?Math.round(Math.max(0,e.slice.value)/N*1e3)/10:0;return`${e.slice.label??`Slice ${e.index+1}`}: ${e.slice.value} (${t}%)`},setActive=e=>{P=e,s.classList.toggle(`prism-pie-focused`,e>=0);for(let[t,n]of[...s.children].entries())n.classList.toggle(`prism-pie-slice--active`,t===e)},activate=(n,r)=>{let i=l[n];if(!i)return;setActive(n),t.onHover?.({index:n,originalEvent:r,slice:i.slice});let a=describe(i);if(!h){f.announcer.announce(a);return}let{x:o,y:s}=arcCentroid(i),c=m.getBoundingClientRect(),u=e.getBoundingClientRect();h.show(o+(c.left-u.left),s+(c.top-u.top),{key:n,value:i.slice.value},{color:i.color,data:[],name:i.slice.label??``},a)},deactivate=()=>{setActive(-1),h?.hide(),f.announcer.clear(),t.onHover?.(null)},hitAt=e=>{let t=m.getBoundingClientRect();return hitTestArc(l,e.clientX-t.left,e.clientY-t.top,n)},onMouseMove=e=>{let t=hitAt(e);t>=0?t!==P&&activate(t,e):P>=0&&deactivate()},onClick=e=>{if(!t.onClick)return;let n=hitAt(e);n>=0&&t.onClick({index:n,originalEvent:e,slice:l[n].slice})},onKeyDown=e=>{let n=l.length;if(n===0)return;let r={ArrowDown:1,ArrowLeft:-1,ArrowRight:1,ArrowUp:-1};e.key in r?(e.preventDefault(),activate(P<0?r[e.key]>0?0:n-1:(P+r[e.key]+n)%n,e)):e.key===`Home`||e.key===`End`?(e.preventDefault(),activate(e.key===`Home`?0:n-1,e)):(e.key===`Enter`||e.key===` `)&&P>=0&&t.onClick?(e.preventDefault(),t.onClick({index:P,originalEvent:e,slice:l[P].slice})):e.key===`Escape`&&deactivate()};return{onClick,onKeyDown,onMouseLeave:deactivate,onMouseMove}},e=>{a=e})}function hitTestArc(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+k:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}var N=2*Math.PI;function toRadians(e){return e*Math.PI/180}function axisAngles(e,t=0){return Array.from({length:e},(n,r)=>t+r*N/e)}function resolveAxisDomains(e,t,n){let r=n;if(!r){let e=t.flatMap(e=>e.data.map(e=>e.value)).filter(Number.isFinite),n=Math.min(0,...e),i=e.length?Math.max(...e):1;r=linearScale({domain:[n,i>n?i:n+1],range:[0,1]}).domain}return e.map(e=>[e.min??r[0],e.max??r[1]])}function normalize(e,[t,n]){return n===t?0:Math.max(0,Math.min(1,(e-t)/(n-t)))}function radarPoints(e,t,n,r,i){return e.map((e,a)=>({x:polarX(t,r*e,i[a]),y:polarY(n,r*e,i[a])}))}function closedPath(e,t=`linear`){let n=e.length;if(n===0)return``;let[r]=e;if(t===`linear`||n<3)return`M${r.x},${r.y}${e.slice(1).map(e=>`L${e.x},${e.y}`).join(``)}Z`;let i=`M${r.x},${r.y}`;for(let t=0;t<n;t++){let r=e[(t-1+n)%n],a=e[t],o=e[(t+1)%n],s=e[(t+2)%n];i+=`C${a.x+(o.x-r.x)/6},${a.y+(o.y-r.y)/6} ${o.x-(s.x-a.x)/6},${o.y-(s.y-a.y)/6} ${o.x},${o.y}`}return`${i}Z`}function ringPath(e,t,n,r,i){return r<=0?``:e===`circle`?`M${t},${n-r}A${r},${r} 0 1 1 ${t},${n+r}A${r},${r} 0 1 1 ${t},${n-r}Z`:closedPath(radarPoints(i.map(()=>1),t,n,r,i))}function labelPlacement(e){let t=Math.sin(e),n=Math.cos(e);return{anchor:Math.abs(t)<.1?`middle`:t>0?`start`:`end`,baseline:n>.9?`auto`:n<-.9?`hanging`:`middle`}}function fitRadius(e,t,n,r,i,a){let o=0;n.forEach((e,t)=>{labelPlacement(r[t]).anchor!==`middle`&&(o=Math.max(o,estimateTextWidth(e,i)))});let s=i*1.3;return Math.max(8,Math.min(e/2-a-o,t/2-a-s))}function nearestAxis(e,t,n,r=0){if(n===0)return-1;let i=N/n,a=((Math.atan2(e,-t)-r)%N+N)%N;return Math.round(a/i)%n}var P=11,F=12,I=10,L={ArrowDown:1,ArrowLeft:-1,ArrowRight:1,ArrowUp:-1};function resolveGrid(e){return e===!1?null:{bands:!0,labels:!1,levels:4,shape:`polygon`,...typeof e==`object`?e:{}}}function createRadarChart(e,t){let{axes:n}=t,r=t.curve??`linear`,i=t.fill??`solid`,a=t.showPoints??!0,o=resolveGrid(t.grid),s=toRadians(t.startAngle??0),c=axisAngles(n.length,s),l=F+(t.showValues?I:0),u=uniqueId(`prism-radar`),d=t.series,f=createSvgElement(`g`,{class:`prism-radar`}),p=createSvgElement(`defs`),m=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-radar-grid`}),h=createSvgElement(`g`,{class:`prism-radar-series-group`}),g=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-radar-labels`});f.append(p,m,h,g);let _=[],v=null,y=-1,b={cx:0,cy:0,radius:0},datumAt=(e,t)=>e.data.find(e=>e.key===n[t].key),valuesAt=e=>d.map(t=>({datum:datumAt(t,e),series:t})),formatValue=(e,t)=>n[e].format?.(t)??String(t),describe=e=>describeValues(n[e].label,valuesAt(e),t=>formatValue(e,t));function draw(e){let{cx:t,cy:n,radius:i}=b;e.forEach((e,a)=>{let o=h.children[a];if(!o)return;let s=radarPoints(e,t,n,i,c);o.querySelector(`.prism-radar-area`)?.setAttribute(`d`,closedPath(s,r)),o.querySelectorAll(`.prism-radar-point`).forEach((e,t)=>{setAttributes(e,{cx:s[t].x,cy:s[t].y})}),o.querySelectorAll(`.prism-radar-value`).forEach((r,a)=>{let o=i*e[a]+I;setAttributes(r,{x:polarX(t,o,c[a]),y:polarY(n,o,c[a])})})})}function renderGrid(e){if(m.replaceChildren(),!o)return;let{cx:t,cy:n,radius:r}=b,i=Math.max(1,Math.round(o.levels)),a=Array.from({length:i},(e,a)=>ringPath(o.shape,t,n,r*(a+1)/i,c));if(o.bands)for(let e=i-1;e>=0;e-=2)m.appendChild(createSvgElement(`path`,{class:`prism-radar-band`,d:`${a[e]}${a[e-1]??``}`,"fill-rule":`evenodd`}));for(let e of a)m.appendChild(createSvgElement(`path`,{class:`prism-radar-ring`,d:e,fill:`none`}));c.forEach((e,i)=>{m.appendChild(createSvgElement(`line`,{class:`prism-radar-spoke`,"data-axis":i,x1:t,x2:polarX(t,r,e),y1:n,y2:polarY(n,r,e)}))});let[s,l]=e[0],u=e.every(([e,t])=>e===s&&t===l);if(!o.labels||!u)return;let d=c[0]+Math.PI/c.length;for(let e=1;e<=i;e++){let a=r*e/i,o=createSvgElement(`text`,{class:`prism-radar-level`,"dominant-baseline":`middle`,"text-anchor":`middle`,x:polarX(t,a,d),y:polarY(n,a,d)});o.textContent=formatValue(0,Math.round((s+(l-s)*e/i)*100)/100),m.appendChild(o)}}function renderLabels(){g.replaceChildren();let{cx:e,cy:t,radius:r}=b;n.forEach((n,i)=>{let{anchor:a,baseline:o}=labelPlacement(c[i]),s=createSvgElement(`text`,{class:`prism-radar-axis-label`,"dominant-baseline":o,"text-anchor":a,x:polarX(e,r+l,c[i]),y:polarY(t,r+l,c[i])});s.textContent=n.label,g.appendChild(s)})}function renderSeries(){let{cx:e,cy:r,radius:o}=b;for(p.replaceChildren();h.children.length>d.length;)h.lastChild?.remove();d.forEach((s,l)=>{let d=s.color??seriesColor(l),f=h.children[l];f||(f=createSvgElement(`g`,{class:`prism-radar-series`}),h.appendChild(f)),f.setAttribute(`data-series-id`,seriesDomId(s,l)),f.replaceChildren();let m=createSvgElement(`path`,{class:`prism-radar-area prism-radar-area--${i}`,stroke:d,"stroke-linejoin":`round`,"stroke-width":2});if(i===`gradient`){let t=`${u}-fill-${l}`,n=createSvgElement(`radialGradient`,{cx:e,cy:r,gradientUnits:`userSpaceOnUse`,id:t,r:o});for(let[e,t]of[[0,.08],[1,.55]])n.appendChild(createSvgElement(`stop`,{offset:e,"stop-color":d,"stop-opacity":t,style:`stop-color:${d}`}));p.appendChild(n),setAttributes(m,{fill:`url(#${t})`})}else setAttributes(m,{fill:i===`none`?`none`:d,"fill-opacity":.25});f.appendChild(m),a&&n.forEach((e,t)=>{let n=!Number.isFinite(datumAt(s,t)?.value);f.appendChild(createSvgElement(`circle`,{class:`prism-radar-point${n?` prism-radar-point--missing`:``}`,"data-axis":t,fill:n?`none`:d,r:3,stroke:d}))}),t.showValues&&n.forEach((e,t)=>{let n=datumAt(s,t),{anchor:r,baseline:i}=labelPlacement(c[t]),a=createSvgElement(`text`,{"aria-hidden":`true`,class:`prism-radar-value`,"dominant-baseline":i,"text-anchor":r});a.textContent=n&&Number.isFinite(n.value)?formatValue(t,n.value):``,f.appendChild(a)})})}function setActive(e){y=e;for(let t of f.querySelectorAll(`[data-axis]`)){let n=Number(t.getAttribute(`data-axis`))===e;t.classList.toggle(t.tagName===`line`?`prism-radar-spoke--active`:`prism-radar-point--active`,n)}}function animateTo(e,n){v?.();let r=e.map((e,t)=>e.map((e,n)=>_[t]?.[n]??0)),i=resolveMotion(t.transition,{defaultDuration:400}),a=resolveEasing(i.easing??`ease-out`),o=r.every((t,n)=>t.every((t,r)=>t===e[n][r]));if(i.duration===0||o){_=e,draw(e);return}v=startTween({count:e.length,duration:i.duration,easing:a,onFrame:t=>{_=e.map((e,n)=>{let i=t(n);return e.map((e,t)=>tweenNumber(r[n][t],e,i))}),draw(_)},signal:n,stagger:i.stagger})}return createRadialScaffold(e,{a11y:t.a11y,legend:t.legend,tooltip:t.tooltip},r=>{let{legend:i,svg:a,tooltip:o}=r;if(a.contains(f)||a.appendChild(f),o?.hide(),i?.update(d.map((e,t)=>({color:e.color??seriesColor(t),name:e.name}))),n.length<3){for(let e of[p,m,h,g])e.replaceChildren();_=[];return}let{height:u,width:v}=r.dimensions,x=fitRadius(v,u,n.map(e=>e.label),c,P,l);b={cx:v/2,cy:u/2,radius:x};let S=resolveAxisDomains(n,d,t.domain);renderGrid(S),renderLabels(),renderSeries(),animateTo(d.map(e=>n.map((t,n)=>{let r=datumAt(e,n)?.value;return r!==void 0&&Number.isFinite(r)?normalize(r,S[n]):0})),r.disposalSignal),setActive(y);let eventFor=(e,t)=>({axis:n[e],index:e,originalEvent:t,values:valuesAt(e)}),activate=(i,s)=>{setActive(i),t.onHover?.(eventFor(i,s));let l=describe(i);if(!o){r.announcer.announce(l);return}let u=Math.max(0,..._.map(e=>e[i]??0)),f=a.getBoundingClientRect(),p=e.getBoundingClientRect(),m=valuesAt(i),h=m.find(e=>e.datum)?.datum,g=m.flatMap(({datum:e,series:t})=>e?[{color:t.color??seriesColor(d.indexOf(t)),name:t.name,value:formatValue(i,e.value)}]:[]);o.show(polarX(b.cx,b.radius*u,c[i])+(f.left-p.left),polarY(b.cy,b.radius*u,c[i])+(f.top-p.top),{key:n[i].key,meta:{axis:n[i],text:l,values:m},value:h?.value??0},{color:d[0]?.color??seriesColor(0),data:[],name:n[i].label},comparisonContent(a.ownerDocument,n[i].label,g,l))},deactivate=()=>{setActive(-1),t.onHover?.(null),o?.hide(),r.announcer.clear()},hitIndex=e=>{let t=a.getBoundingClientRect(),r=e.clientX-t.left-b.cx,i=e.clientY-t.top-b.cy;return Math.hypot(r,i)>b.radius+l+22?-1:nearestAxis(r,i,n.length,s)};return{onClick(e){let n=hitIndex(e);n>=0&&t.onClick?.(eventFor(n,e))},onKeyDown(e){let r=L[e.key];r===void 0?(e.key===`Enter`||e.key===` `)&&y>=0&&t.onClick?(e.preventDefault(),t.onClick(eventFor(y,e))):e.key===`Escape`&&deactivate():(e.preventDefault(),activate(y<0?0:(y+r+n.length)%n.length,e))},onMouseLeave:deactivate,onMouseMove(e){let t=hitIndex(e);t<0?y>=0&&deactivate():t!==y&&activate(t,e)}}},e=>{d=e})}var R=5;function buildTopPoints(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 buildAreaPathFromPoints(e,t,n){return e.length===0?``:areaPath(e,e.map(e=>({x:e.x,y:t})),n??`linear`)}function buildPathFromPoints(e,t){return e.length===0?``:t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}function isStackData(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function buildRoundedStackRect(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 defaultStackColor(e){return`var(--prism-color-${e%8+1})`}function createSparkline(e,t){let n=t.variant??`line`,r=t.color??`var(--prism-color-1)`,i=t.curve??`linear`,a=t.strokeWidth??1.5,o=t.fillOpacity,s=t.showEndPoint??!0,c=uniqueId(`prism-spark-fill`),l=createTappers(),u=resolveMotion(t.transition),d=resolveEasing(u.easing),f=t.data,p=null,m=null,h=createChartBase(e,{a11y:t.a11y,margin:{bottom:0,left:0,right:0,top:0}},()=>{l.emit({height:h.dimensions.height,type:`resize`,width:h.dimensions.width}),renderAll()}),{svg:g}=h;g.classList.add(`prism-sparkline`);let _=createSvgElement(`g`,{class:`prism-spark-inner`});g.appendChild(_);let cleanupInteraction;function plotArea(){let{height:e,width:t}=h.dimensions,r=n===`line`||n===`area`?R:0;return{h:Math.max(1,e-r*2),inset:r,w:Math.max(1,t-r*2)}}function animateValues(e,t,n){m?.();let r=p?.length===e.length?p:e.map(()=>t);if(r.every((t,n)=>t===e[n])||u.duration===0){p=e,n(e);return}m=startTween({count:1,duration:u.duration,easing:d,onFrame:t=>{let i=t(0),a=e.map((e,t)=>tweenNumber(r[t],e,i));p=a,n(a)},signal:v.signal}),p=r,n(r)}function renderAll(){let{height:e,width:l}=h.dimensions,u=plotArea();for(;_.firstChild;)_.removeChild(_.firstChild);if(_.setAttribute(`transform`,`translate(${u.inset},${u.inset})`),f.length===0){p=null;return}if(!isStackData(f)&&f.some(e=>!Number.isFinite(e)),n===`stack`&&isStackData(f)){let n=createSvgElement(`g`,{class:`prism-spark-stack`});_.appendChild(n);let r=t.cornerRadius??4,i=f,a=i.reduce((e,t)=>e+Math.max(0,t.value),0),o=i.map((e,t)=>{let r=createSvgElement(`path`,{class:`prism-spark-stack-segment`});return setAttributes(r,{fill:e.color??defaultStackColor(t)}),n.appendChild(r),r});a>0?animateValues(i.map(e=>Math.max(0,e.value)),0,n=>{let i=n.reduce((e,t)=>e+t,0)||1,a=(t.padPixels??0)/2,s=0;n.forEach((t,c)=>{let u=Math.round(s);s+=t/i*l;let d=c===n.length-1?l:Math.round(s),f=c===0,p=c===n.length-1,m=u+(f?0:a),h=Math.max(0,d-u-(f?0:a)-(p?0:a));o[c]?.setAttribute(`d`,buildRoundedStackRect(m,0,h,e,r,f,p))})}):(m?.(),p=null)}else if(n===`bar`){let t=createSvgElement(`g`,{class:`prism-spark-bars`});_.appendChild(t);let n=f,i=Math.min(0,...n),a=Math.max(...n)-i||1,o=Math.max(1,l/n.length-1),s=l/n.length,c=n.map(()=>{let e=createSvgElement(`rect`,{class:`prism-spark-bar`,fill:r});return t.appendChild(e),e});animateValues(n,i,t=>{for(let[n,r]of c.entries()){let c=Math.max(1,(t[n]-i)/a*e);setAttributes(r,{height:c,width:o,x:n*s,y:e-c})}})}else{let e=f,t=Math.min(...e),l=Math.max(...e)-t||1,d=u.w/Math.max(1,e.length-1),pointsFromValues=e=>e.map((e,n)=>({x:n*d,y:u.h-(e-t)/l*u.h})),p=null;if(n===`area`){let e=createSvgElement(`defs`),t=createSvgElement(`linearGradient`,{id:c,x1:0,x2:0,y1:0,y2:1});for(let[e,n]of[[0,`prism-spark-stop-top`],[1,`prism-spark-stop-bottom`]]){let i=createSvgElement(`stop`,{class:n,offset:e,"stop-color":r});i.style.stopColor=r,t.appendChild(i)}e.appendChild(t),_.appendChild(e),p=createSvgElement(`path`,{class:`prism-spark-fill`}),setAttributes(p,{fill:`url(#${c})`,stroke:`none`}),p.style.fillOpacity=o===void 0?``:String(o),_.appendChild(p)}let m=createSvgElement(`path`,{class:`prism-spark-line`});setAttributes(m,{fill:`none`,stroke:r,"stroke-width":a}),_.appendChild(m);let h=s&&e.length>0?createSvgElement(`circle`,{class:`prism-spark-end`,fill:r,r:2.5}):null;h&&_.appendChild(h),animateValues(e,t,e=>{let t=pointsFromValues(e);setAttributes(m,{d:buildPathFromPoints(t,i)}),p&&setAttributes(p,{d:buildAreaPathFromPoints(t,u.h,i)});let n=t.at(-1);h&&n&&setAttributes(h,{cx:n.x,cy:n.y})})}isStackData(f)||attachInteraction(f)}function attachInteraction(e){if(cleanupInteraction?.(),cleanupInteraction=void 0,!t.onHover&&!t.onClick||e.length<=1)return;let{h:i,inset:a,w:o}=plotArea();g.style.cursor=`crosshair`;let s=o/(e.length-1),c=n===`bar`?[]:buildTopPoints(e,o,i),l=createSvgElement(`circle`,{class:`prism-spark-marker`,fill:r,r:3.5}),indexAt=t=>Math.max(0,Math.min(e.length-1,Math.round((t-g.getBoundingClientRect().left-a)/s)));l.style.display=`none`,_.appendChild(l);let handleMove=n=>{let r=indexAt(n.clientX),i=c[r];i&&(setAttributes(l,{cx:i.x,cy:i.y}),l.style.display=``),t.onHover?.({index:r,originalEvent:n,value:e[r]})},handleLeave=()=>{l.style.display=`none`,t.onHover?.(null)},handleClick=n=>{if(!t.onClick)return;let r=indexAt(n.clientX);t.onClick({index:r,originalEvent:n,value:e[r]})};g.addEventListener(`mousemove`,handleMove),g.addEventListener(`mouseleave`,handleLeave),g.addEventListener(`click`,handleClick),cleanupInteraction=()=>{g.removeEventListener(`mousemove`,handleMove),g.removeEventListener(`mouseleave`,handleLeave),g.removeEventListener(`click`,handleClick)}}let v=new AbortController,y=!1;try{return renderAll(),{get disposalSignal(){return v.signal},dispose(){y||(y=!0,l.emit({type:`dispose`}),l.stop(),v.abort(),cleanupInteraction?.(),h.dispose())},get disposed(){return y},el:g,tap:l.tap,update(e){if(y)throw new PrismRenderError(`Cannot update a disposed chart.`);f=e,renderAll()},[Symbol.dispose](){this.dispose()}}}catch(e){throw v.abort(),cleanupInteraction?.(),h.dispose(),e instanceof PrismRenderError?e:new PrismRenderError(`Failed to render chart.`,{cause:e})}}export{PrismError,PrismRenderError,bandScale,createAreaChart,createBarChart,createLineChart,createPieChart,createRadarChart,createSparkline,linearScale,resetTheme,seriesColor,setTheme,timeScale};
1
+ import{computePosition as e,flip as t,getClippingAncestorRect as n,offset as r,shift as i}from"@vielzeug/orbit";var a=`http://www.w3.org/2000/svg`;function createSvgElement(e,t){let n=document.createElementNS(a,e);return t&&setAttributes(n,t),n}function setAttributes(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 removeChildren(e){for(;e.firstChild;)e.removeChild(e.firstChild)}var o=.6;function estimateTextWidth(e,t){return e.length*t*o}function createTextElement(e,t){let n=createSvgElement(`text`,t);return n.textContent=e,n}function isBandScale(e){return typeof e.bandwidth==`function`}function mapTick(e,t){return isBandScale(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var s=11,c=8,l=new Intl.NumberFormat(void 0,{maximumSignificantDigits:3,notation:`compact`}),defaultTickFormat=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):typeof e==`number`&&Math.abs(e)>=1e5?l.format(e):String(e);function resolveTicks(e,t,n){return t.tickValues?[...t.tickValues]:e.ticks(n)}function positionAxis(e,t,n,r){let i=t===`bottom`?`translate(0,${r})`:t===`right`?`translate(${n},0)`:void 0;i?e.setAttribute(`transform`,i):e.removeAttribute(`transform`)}function resolveTickCount(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 categoryTickCount(e,t,n,r){if(e.length===0)return 0;let i=r?Math.max(...e.map(e=>estimateTextWidth(t(e),s))):s*1.3;return Math.max(1,Math.min(e.length,Math.floor(n/(i+c))))}function renderAxis(e,t,n,r,i=`bottom`){removeChildren(e);let a=n.position??i,o=a===`bottom`||a===`top`,s=a===`top`||a===`left`,c=s?-1:1,l=createSvgElement(`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=n.tickFormat??defaultTickFormat,d=resolveTicks(t,n,n.tickCount===void 0&&`bandwidth`in t?categoryTickCount(t.domain,u,r,o):resolveTickCount(n,r,i));n.tickValues&&n.tickValues;for(let n of d){let r=mapTick(t,n),i=createSvgElement(`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=createTextElement(u(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=createTextElement(n.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});o?setAttributes(t,{x:r/2,y:6*c*6}):setAttributes(t,{transform:`translate(${6*c*7}, ${r/2}) rotate(-90)`}),e.appendChild(t)}}function renderGrid(e,t,n,r,i,a){removeChildren(e);let o=n!==!0&&n.color||void 0,s=n!==!0&&n.dash||void 0;for(let n of a){let a=mapTick(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(createSvgElement(`line`,c))}}function niceNumber(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 niceRange(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=niceNumber(niceNumber(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function linearScale(e){let getDomain=()=>e.nice===!1?e.domain:niceRange(e.domain[0],e.domain[1],10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();return i===r?t:t+(e-r)/(i-r)*(n-t)},map(t){let[n,r]=getDomain(),[i,a]=getRange();if(r===n)return i;let o=(t-n)/(r-n);return e.clamp&&(o=Math.max(0,Math.min(1,o))),i+o*(a-i)},get range(){return getRange()},ticks(e=10){if(e<=0)return[];let[t,n]=getDomain();if(t===n||e===1)return[t];let r=Math.min(t,n),i=Math.max(t,n),a=niceNumber(niceNumber(i-r,!1)/(e-1),!0),o=Math.ceil(r/a)*a,s=Math.floor(i/a)*a,c=[];for(let e=o;e<=s+a*.5;e+=a)c.push(Math.round(e*0xe8d4a51000)/0xe8d4a51000);return c}}}var u=1e3,d=60*u,f=60*d,p=24*f,m=30*p,h=365*p,g=[u,5*u,15*u,30*u,d,5*d,15*d,30*d,f,3*f,6*f,12*f,p,7*p,m,3*m,6*m,h];function chooseInterval(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of g)if(e>=n)return e;return h}function niceDomain(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=chooseInterval(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function timeScale(e){let getDomain=()=>e.nice===!1?e.domain:niceDomain(e.domain,10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();if(i===r)return t;let a=(e-r)/(i-r);return new Date(t.getTime()+a*(n.getTime()-t.getTime()))},map(e){let[t,n]=getDomain(),[r,i]=getRange(),a=n.getTime()-t.getTime();return a===0?r:r+(e.getTime()-t.getTime())/a*(i-r)},get range(){return getRange()},ticks(e=10){let[t,n]=getDomain(),r=chooseInterval(n.getTime()-t.getTime(),e),i=Math.ceil(t.getTime()/r)*r,a=[];for(let e=i;e<=n.getTime();e+=r)a.push(new Date(e));return a}}}function buildXScale(e,t){if(e.length===0||e.some(e=>e==null)||e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return linearScale({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 timeScale({domain:[new Date(r),new Date(r===i?i+1:i)],nice:!1,range:[0,t]})}let n=e,r=Math.min(...n),i=Math.max(...n);return linearScale({domain:[r,r===i?i+1:i],nice:!1,range:[0,t]})}function buildYScale(e,t,n=!0){if(e.length===0||e.some(e=>e==null)||e.some(e=>!Number.isFinite(e)))return linearScale({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return linearScale({domain:[i,i===a?a+1:a],range:[t,0]})}function createTappers(){let e=new Set,t=!1;return{emit(t){if(e.size!==0)for(let n of e)try{n(t)}catch{}},stop(){t=!0,e.clear()},tap(n,r){if(t||r?.signal?.aborted)return()=>{};e.add(n);let detach=()=>{e.delete(n)};return r?.signal?.addEventListener(`abort`,detach,{once:!0}),detach}}}var PrismError=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},PrismRenderError=class extends PrismError{};function describeValues(e,t,n=String){return`${e}: ${t.map(({datum:e,series:t})=>`${t.name} ${e?n(e.value,e,t):`n/a`}`).join(`, `)}`}function createAnnouncer(e,t){let n=createSvgElement(`text`,{"aria-live":`polite`,class:t,role:`status`,x:-9999,y:-9999});return e.appendChild(n),{announce(e){n.textContent=e},clear(){n.textContent=``}}}function resolvePosition(e){return e===!0?`bottom`:e.position??`bottom`}function createLegend(e,t,n){let r=resolvePosition(t),i=document.createElement(`div`);i.className=`prism-legend prism-legend-${r}`,r===`top`?e.insertBefore(i,e.firstChild):e.appendChild(i);let disposeHandle=()=>{i.remove()};return{dispose:disposeHandle,el:i,[Symbol.dispose]:disposeHandle,update(e){i.replaceChildren();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 r=document.createElement(`span`);r.className=`prism-legend-label`,r.textContent=t.name,e.appendChild(n),e.appendChild(r),i.appendChild(e)}n?.()}}}var _=`position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap`;function shiftBoundary(e,t){let r=e.getBoundingClientRect(),i={height:r.height,width:r.width,x:r.x,y:r.y},a=n(t),o=Math.max(i.x,a.x),s=Math.max(i.y,a.y),c=Math.min(i.x+i.width,a.x+a.width),l=Math.min(i.y+i.height,a.y+a.height);return c<=o||l<=s?i:{height:l-s,width:c-o,x:o,y:s}}function comparisonContent(e,t,n,r){let i=e.createElement(`div`),a=e.createElement(`span`),o=e.createElement(`div`),s=e.createElement(`div`);i.className=`prism-tooltip-body`,a.className=`prism-tooltip-sr`,a.style.cssText=_,a.textContent=r,o.setAttribute(`aria-hidden`,`true`),s.className=`prism-tooltip-title`,s.textContent=t,o.appendChild(s);for(let t of n){let n=e.createElement(`div`),r=e.createElement(`span`),i=e.createElement(`span`),a=e.createElement(`span`);n.className=`prism-tooltip-row`,r.className=`prism-tooltip-swatch`,r.style.setProperty(`--prism-swatch`,t.color),i.className=`prism-tooltip-name`,i.textContent=t.name,a.className=`prism-tooltip-value`,a.textContent=t.value,n.append(r,i,a),o.appendChild(n)}return i.append(a,o),i}function createTooltip(n,a){let o=n.style.position,s=getComputedStyle(n).position===`static`;s&&(n.style.position=`relative`);let c=n.ownerDocument.createElement(`div`);c.className=`prism-tooltip`,c.style.position=`absolute`,c.style.pointerEvents=`none`,c.style.top=`0`,c.style.left=`0`,c.setAttribute(`role`,`status`),c.setAttribute(`aria-live`,`polite`),n.appendChild(c);let l=a!==!0&&a?.offset||8,u=a===!0?void 0:a?.render,setVisible=e=>{c.classList.toggle(`prism-tooltip--visible`,e),c.style.opacity=e?`1`:`0`},d=null,f=null,p=!1,cancelClear=()=>{f!==null&&(clearTimeout(f),f=null)},cancelReveal=()=>{d!==null&&(cancelAnimationFrame(d),d=null)},disposeHandle=()=>{cancelReveal(),cancelClear(),c.remove(),s&&n.style.position===`relative`&&(n.style.position=o)};return{dispose:disposeHandle,el:c,hide(){cancelReveal(),cancelClear(),p=!1,setVisible(!1),f=setTimeout(()=>{f=null,p||(c.textContent=``)},150)},show(a,o,s,f,m){if(!n.isConnected)return;cancelClear();let h=u?u(s,f):m??`${f.name}: ${s.value}`;typeof h==`string`?c.textContent=h:c.replaceChildren(h);let{x:g,y:_}=e({getBoundingClientRect:()=>{let e=n.getBoundingClientRect();return{bottom:e.top+o,height:0,left:e.left+a,right:e.left+a,top:e.top+o,width:0,x:e.left+a,y:e.top+o}}},c,{containingBlock:n,middleware:[r(l),t(),i({boundary:shiftBoundary(n,c),padding:8})],placement:`top`});if(c.style.left=`${g}px`,c.style.top=`${_}px`,p){d===null&&setVisible(!0);return}p=!0,setVisible(!1),d=requestAnimationFrame(()=>{d=null,p&&setVisible(!0)})},[Symbol.dispose]:disposeHandle}}var v={bottom:48,left:50,right:20,top:20};function resolveMargin(e){return{...v,...e}}function chartArea(e,t,n){return{height:Math.max(0,t-n.top-n.bottom),width:Math.max(0,e-n.left-n.right)}}function observeResize(e,t){if(typeof ResizeObserver>`u`)return()=>{};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 createChartBase(e,t,n){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new PrismRenderError(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let r=resolveMargin(t.margin),i=t.a11y,a=createSvgElement(`svg`,{...!i||i.decorative?{"aria-hidden":`true`}:{"aria-label":i.ariaLabel,role:`img`,tabindex:`0`},class:`prism-chart`,style:`display:block;max-width:100%`}),o=createSvgElement(`g`,{class:`prism-chart-area`,transform:`translate(${r.left},${r.top})`});a.appendChild(o);let s=e.getBoundingClientRect();s.width===0||s.height;let c=s.width||600,l=s.height||300,u={height:l,margin:r,width:c},d=c,f=l,p=l,syncChrome=()=>{let e=Math.max(0,p-(t.chrome?.()?.offsetHeight??0));f=e,u.height=e,setAttributes(a,{height:e,viewBox:`0 0 ${u.width} ${e}`})},m=observeResize(e,(e,r)=>{p=r;let i=t.chrome?.()?.offsetHeight??0,o=Math.max(0,r-i);(e!==d||o!==f)&&(d=e,f=o,u.height=o,u.width=e,setAttributes(a,{height:o,viewBox:`0 0 ${e} ${o}`,width:e}),n?.())});return setAttributes(a,{height:l,viewBox:`0 0 ${c} ${l}`,width:c}),e.appendChild(a),{chartArea:o,dimensions:u,dispose(){m(),a.remove()},svg:a,syncChrome}}function clearCartesianDom(e,t,n,r){removeChildren(e.series),removeChildren(e.grid),removeChildren(e.xAxis),removeChildren(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function runScaffold(e,t,n,r,i){let render=e=>{},a=createTappers(),o=null,s=createChartBase(e,{a11y:t.a11y,chrome:()=>o?.el??null,margin:t.margin},()=>{a.emit({height:s.dimensions.height,type:`resize`,width:s.dimensions.width}),render(`resize`)}),c=t.tooltip?createTooltip(e,t.tooltip):null;o=t.legend?createLegend(e,t.legend,()=>s.syncChrome()):null;let l=new AbortController,u=n(s,c,o,l.signal,createAnnouncer(s.svg,`prism-live`)),d=!1,f=makeEventManager(s.svg);render=e=>{d||f.attach(r(u,e))};try{render(`mount`)}catch(e){throw d=!0,l.abort(),f.detach(),c?.dispose(),o?.dispose(),s.dispose(),e instanceof PrismRenderError?e:new PrismRenderError(`Failed to render chart.`,{cause:e})}return{get disposalSignal(){return l.signal},dispose(){d||(d=!0,a.emit({type:`dispose`}),a.stop(),l.abort(),f.detach(),c?.dispose(),o?.dispose(),s.dispose())},get disposed(){return d},el:s.svg,tap:a.tap,update(e){if(d)throw new PrismRenderError(`Cannot update a disposed chart.`);i(e),render(`update`)},[Symbol.dispose](){this.dispose()}}}function makeEventManager(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 createChartScaffold(e,t,n,r){return runScaffold(e,t,(t,n,r,i,a)=>{let o={grid:createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:createSvgElement(`g`,{class:`prism-series`}),xAxis:createSvgElement(`g`,{class:`prism-x-axis`}),yAxis:createSvgElement(`g`,{class:`prism-y-axis`})};return t.chartArea.appendChild(o.grid),t.chartArea.appendChild(o.xAxis),t.chartArea.appendChild(o.yAxis),t.chartArea.appendChild(o.series),{announcer:a,chartArea:t.chartArea,container:e,dimensions:t.dimensions,disposalSignal:i,groups:o,legend:r,svg:t.svg,tooltip:n}},n,r)}function createRadialScaffold(e,t,n,r){return runScaffold(e,t,(t,n,r,i,a)=>({announcer:a,container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n,r)}function seriesDomId(e,t){return e?.id?e.id.replace(/[^A-Za-z0-9_-]/g,`-`):`series-${t}`}function createCrosshair(e,t){let n=t===!0||t?.vertical!==!1,r=t!==!0&&t?.horizontal===!0,i=t===!0||t?.snap!==!1,a=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),o=n?createSvgElement(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,s=r?createSvgElement(`line`,{class:`prism-crosshair-h`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null;return o&&a.appendChild(o),s&&a.appendChild(s),e.appendChild(a),{hide(){a.style.display=`none`},show(e,t,n,r){a.style.display=``,o&&(setAttributes(o,{x1:0,x2:0,y1:0,y2:r}),o.style.transform=`translateX(${e}px)`),s&&(setAttributes(s,{x1:0,x2:n,y1:0,y2:0}),s.style.transform=`translateY(${t}px)`)},snap:i}}function keyId(e){return e instanceof Date?`date:${e.getTime()}`:`${typeof e}:${String(e)}`}function normalizeCartesianSeries(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=keyId(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 getMousePosition(e,t,n,r){let i=e.getBoundingClientRect();return{x:t.clientX-i.left-n,y:t.clientY-i.top-r}}var keyOrder=e=>e instanceof Date?e.getTime():Number(e);function keyLabel(e){return e instanceof Date?e.toLocaleDateString():String(e)}function findNearestKey(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 createSeriesInteraction(e){let t=-1,n=!1,renderedHit=t=>{let n=t.target;if(!(n instanceof SVGElement)||n.tagName.toLowerCase()!==`circle`||!e.seriesGroup.contains(n)||!n.parentElement)return null;let r=n.parentElement;for(;r&&r.parentNode!==e.seriesGroup;)r=r.parentElement;if(!r)return null;let i=[...e.seriesGroup.children].indexOf(r),a=[...n.parentElement.children].indexOf(n),o=e.getData()[i]?.[a],s=e.getPoints()[i]?.[a];return o&&s?{datum:o,point:s,seriesIndex:i}:null},entriesAt=t=>{let n=keyId(t),r=e.getPoints();return e.getData().map((e,t)=>{let i=e.findIndex(e=>keyId(e.key)===n);return i===-1?{datum:void 0,point:void 0}:{datum:e[i],point:r[t]?.[i]}})},nearestIndex=(e,t)=>{let n=-1,r=1/0;return e.forEach(({point:e},i)=>{if(!e)return;let a=Number.isFinite(t)?Math.abs(e.y-t):0;a<r&&(r=a,n=i)}),n},highlight=(t,n)=>{let r=e.colors();e.markers.replaceChildren(),t.forEach(({point:t},n)=>{t&&e.markers.appendChild(createSvgElement(`circle`,{class:`prism-active-point`,cx:t.x,cy:t.y,fill:r[n],r:4}))});let i=[...e.seriesGroup.children];e.seriesGroup.classList.toggle(`prism-series-focused`,n>=0&&i.length>1);for(let[e,t]of i.entries())t.classList.toggle(`prism-series-active`,e===n)},clear=()=>{e.crosshair?.hide(),e.tooltip?.hide(),e.announcer.clear(),highlight([],-1),n=!1,e.onHover?.(null)},eventFor=(t,n,r)=>{let i=entriesAt(t),a=renderedHit(r),o=a?.seriesIndex??nearestIndex(i,n);a&&(i[o]={datum:a.datum,point:a.point});let s=e.getSeriesList(),c=i[o]?.datum;if(o<0||!c)return null;let l=i.map((e,t)=>({datum:e.datum,series:s[t]}));return{entries:i,event:{datum:c,originalEvent:r,series:s[o],values:l},index:o}},focus=(t,r,i)=>{let a=eventFor(t,r?.y??NaN,i);if(!a)return;let{entries:o,event:s,index:c}=a,l=o[c].point,u=e.dims(),d=chartArea(u.width,u.height,e.margin),f=e.crosshair?.snap===!1&&r,p=e.tooltipFormat?.titleFormat?e.tooltipFormat.titleFormat(t):keyLabel(t),m=s.values??[],h=e.colors(),g=e.tooltipFormat?.valueFormat;e.crosshair?.show(f?r.x:l.x,f?r.y:l.y,d.width,d.height),highlight(o,c);let _=describeValues(p,m,g??String);if(e.tooltip){let t=m.flatMap(({datum:e,series:t},n)=>e?[{color:h[n],name:t.name,value:g?g(e.value,e,t):String(e.value)}]:[]);e.tooltip.show(l.x+e.margin.left,l.y+e.margin.top,s.datum,s.series,comparisonContent(e.svg.ownerDocument,p,t,_))}else e.announcer.announce(_);n=!0,e.onHover?.(s)},pointerKey=t=>{let n=renderedHit(t);if(n)return{key:n.datum.key,pos:n.point};let r=e.getPoints();if(r.every(e=>e.length===0))return null;let i=e.dims(),a=getMousePosition(e.svg,t,e.margin.left,e.margin.top),o=chartArea(i.width,i.height,e.margin);if(a.x<0||a.x>o.width||a.y<0||a.y>o.height)return null;let s=findNearestKey(e.getData(),r,a.x);return s===null?null:{key:s,pos:a}},sortedKeys=()=>[...new Map(e.getData().flat().map(e=>[keyId(e.key),e.key])).values()].sort((e,t)=>keyOrder(e)-keyOrder(t)),onMouseMove=e=>{let t=pointerKey(e);t?focus(t.key,t.pos,e):n&&clear()},onClick=t=>{if(!e.onClick)return;let n=pointerKey(t),r=n&&eventFor(n.key,n.pos.y,t);r&&e.onClick(r.event)},onKeyDown=n=>{let r=sortedKeys();if(r.length===0)return;let i=r.length-1,a={ArrowLeft:t<0?i:Math.max(0,t-1),ArrowRight:t<0?0:Math.min(i,t+1),End:i,Home:0};if(n.key in a)n.preventDefault(),t=a[n.key],focus(r[t],null,n);else if((n.key===`Enter`||n.key===` `)&&t>=0&&e.onClick){n.preventDefault();let i=eventFor(r[t],NaN,n);i&&e.onClick(i.event)}else n.key===`Escape`&&(t=-1,clear())};return{onClick,onKeyDown,onMouseLeave:clear,onMouseMove}}function ensureMarkerGroup(e,t){if(t&&e.contains(t))return t;let n=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-active-points`,"pointer-events":`none`});return e.appendChild(n),n}var y=8,b={axisColor:`--prism-axis-color`,fontFamily:`--prism-font-family`,gridColor:`--prism-grid-color`,gridOpacity:`--prism-grid-opacity`,textColor:`--prism-text-color`,textColorSecondary:`--prism-text-color-secondary`,tooltipBg:`--prism-tooltip-bg`,tooltipBorder:`--prism-tooltip-border`,tooltipColor:`--prism-tooltip-color`};function target(e){return e?.scope??document.documentElement}function setTheme(e,t){let n=target(t);if(e.colors)for(let t=0;t<y;t++){let r=e.colors[t];r?n.style.setProperty(`--prism-color-${t+1}`,r):n.style.removeProperty(`--prism-color-${t+1}`)}for(let[t,r]of Object.entries(b)){let i=e[t];i!==void 0&&n.style.setProperty(r,String(i))}}function resetTheme(e){let t=target(e);for(let e=1;e<=y;e++)t.style.removeProperty(`--prism-color-${e}`);for(let e of Object.values(b))t.style.removeProperty(e)}function seriesColor(e,t){return t??`var(--prism-color-${e%y+1})`}var x=1.70158,S={"back-out":e=>1+2.70158*(e-1)**3+x*(e-1)**2,"ease-in":e=>e*e*e,"ease-in-out":e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,"ease-out":e=>1-(1-e)**3,"expo-out":e=>e>=1?1:1-2**(-10*e),linear:e=>e};function resolveEasing(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(S,e)?S[e]:S[`ease-out`]}function resolveMotion(e,t){if(e===!1)return{duration:0,stagger:0};let n=e===!0?void 0:e,r=n?.preference??`system`,i=typeof matchMedia<`u`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches,a=r===`never`||r===`system`&&i?0:n?.duration??t?.defaultDuration??300;return{...n,duration:a,stagger:Math.max(0,n?.stagger??t?.defaultStagger??0)}}function tweenNumber(e,t,n){return e+(t-e)*n}function startTween(e){let{count:t,duration:n,easing:r,stagger:i=0,signal:a,onFrame:o,onComplete:s}=e;if(a?.aborted)return()=>{};if(n<=0)return o(()=>1),s?.(),()=>{};if(t===0)return s?.(),()=>{};let c=n+i*(t-1),l=null,u=null,d=!1,cancel=()=>{d=!0,u!==null&&(cancelAnimationFrame(u),u=null),a?.removeEventListener(`abort`,cancel)},frame=e=>{if(d||a?.aborted)return;l===null&&(l=e);let t=e-l;o(e=>r(Math.max(0,Math.min(1,(t-e*i)/n)))),t<c?u=requestAnimationFrame(frame):(u=null,a?.removeEventListener(`abort`,cancel),s?.())};return a?.addEventListener(`abort`,cancel,{once:!0}),u=requestAnimationFrame(frame),cancel}function animate(e,t,n,r){let i=resolveMotion(t);return startTween({count:e.length,duration:i.duration,easing:resolveEasing(i.easing),onComplete:n,onFrame:t=>{for(let[n,r]of e.entries()){let e=t(n);for(let[t,{from:n,to:i}]of Object.entries(r.attrs))r.el.setAttribute(t,String(tweenNumber(n,i,e)))}},signal:r,stagger:i.stagger})}function hasStyledRuns(e){return e?.some(e=>e&&(e.dash!==void 0||e.opacity!==void 0))??!1}function computeStyleRuns(e,t){let n=Math.max(0,t-1);if(n===0)return[];let r=[];for(let t=0;t<n;t++){let n=e[t]??{},i=r[r.length-1];if(i&&i.dash===n.dash&&i.opacity===n.opacity){i.end=t+1;continue}r.push({dash:n.dash,end:t+1,opacity:n.opacity,start:t})}return r}var C=0;function uniqueId(e){return C+=1,`${e}-${C}`}function linePath(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 monotonePath(e){if(e.length<3)return linePath(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 stepPath(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 areaPath(e,t,n=`linear`){if(e.length===0)return``;let r=n===`monotone`?monotonePath(e):n===`step`?stepPath(e):linePath(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 w=new WeakMap,T=new WeakMap;function buildLinePath(e,t){return t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}function applyAreaFill(e,t,n){let r=e.querySelector(`linearGradient`);if(n.fill===`gradient`){if(!r){let t=createSvgElement(`defs`);r=createSvgElement(`linearGradient`,{id:uniqueId(`prism-area-fill`),x1:0,x2:0,y1:0,y2:1}),r.append(createSvgElement(`stop`,{class:`prism-area-stop-top`,offset:0}),createSvgElement(`stop`,{class:`prism-area-stop-bottom`,offset:1})),t.appendChild(r),e.insertBefore(t,e.firstChild)}for(let e of r.querySelectorAll(`stop`))e.setAttribute(`stop-color`,n.color),e.style.stopColor=n.color;setAttributes(t,{fill:`url(#${r.id})`})}else r?.parentElement?.remove(),setAttributes(t,{fill:n.color});setAttributes(t,{class:`prism-area-fill prism-area-fill--${n.fill}`,stroke:`none`}),t.style.fillOpacity=n.fillOpacity===void 0?``:String(n.fillOpacity)}function renderArea(e,t,n,r){let i=resolveMotion(r.transition),a=i.duration,o=resolveEasing(i.easing),s=e.querySelector(`.prism-area-fill`);s||(s=createSvgElement(`path`,{class:`prism-area-fill`}),e.appendChild(s)),applyAreaFill(e,s,r);let c=null,l=[],u=[],d=hasStyledRuns(r.marks),f=r.marks??[];if(r.showLine){if(d){l=computeStyleRuns(f,t.length);let n=[...e.querySelectorAll(`.prism-area-line`)];for(let e of n.slice(l.length))e.remove();u=l.map((t,r)=>{let i=n[r];if(i)return i;let a=createSvgElement(`path`,{class:`prism-area-line`,fill:`none`});return e.appendChild(a),a});for(let[e,t]of l.entries())setAttributes(u[e],{opacity:t.opacity,stroke:r.color,"stroke-dasharray":t.dash,"stroke-width":2});c=null}else{let t=[...e.querySelectorAll(`.prism-area-line`)];for(let e of t.slice(1))e.remove();c=t[0]??null,c||(c=createSvgElement(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(c)),setAttributes(c,{opacity:void 0,stroke:r.color,"stroke-dasharray":void 0,"stroke-width":2})}}else for(let t of e.querySelectorAll(`.prism-area-line`))t.remove();let drawLine=e=>{if(r.showLine){if(d)for(let[t,n]of l.entries())setAttributes(u[t],{d:buildLinePath(e.slice(n.start,n.end+1),r.curve)});else c&&setAttributes(c,{d:buildLinePath(e,r.curve)})}};if(a===0){let i=t.map(e=>({x:e.x,y:n}));setAttributes(s,{d:areaPath(t,i,r.curve)}),drawLine(t),T.set(e,t);return}w.get(e)?.();let p=T.has(e)?T.get(e)??t:t.map(e=>({x:e.x,y:n})),m=t.map((e,n)=>p[n]??p[p.length-1]??t[n]),paintFrame=i=>{let a=t.map((e,t)=>({x:tweenNumber(m[t].x,e.x,i),y:tweenNumber(m[t].y,e.y,i)})),o=a.map(e=>({x:e.x,y:n}));T.set(e,a),setAttributes(s,{d:areaPath(a,o,r.curve)}),drawLine(a)};paintFrame(0),w.set(e,startTween({count:1,duration:a,easing:o,onComplete:()=>{w.delete(e),T.set(e,t)},onFrame:e=>paintFrame(e(0)),signal:r.disposalSignal}))}function computeAreaPoints(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 createAreaChart(e,t){let n=null,r=null,i=t.series;return createChartScaffold(e,t,e=>{let{groups:a,legend:o,tooltip:s}=e;o?.update(i.map((e,t)=>({color:seriesColor(t,e.color),name:e.name})));let c=e.dimensions,l=chartArea(c.width,c.height,c.margin),u=i.map(e=>e.data),d=u.flat().map(e=>e.key),f=u.flat().map(e=>e.value);if(d.length===0){clearCartesianDom(a,o,s,n),r?.replaceChildren();return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let p=buildXScale(d,l.width),m=buildYScale(f,l.height),h=m.map(0),g=t.xAxis===!1?!1:t.xAxis??{},_=t.yAxis!==!1&&{grid:!0,...t.yAxis};for(_&&_.grid&&renderGrid(a.grid,m,_.grid,l.width,`horizontal`,resolveTicks(m,_,resolveTickCount(_,l.height,`left`))),g&&g.grid&&renderGrid(a.grid,p,g.grid,l.height,`vertical`,resolveTicks(p,g,resolveTickCount(g,l.width,`bottom`))),g?(positionAxis(a.xAxis,g.position??`bottom`,l.width,l.height),renderAxis(a.xAxis,p,g,l.width,`bottom`)):a.xAxis.replaceChildren(),_?(positionAxis(a.yAxis,_.position??`left`,l.width,l.height),renderAxis(a.yAxis,m,_,l.height,`left`)):a.yAxis.replaceChildren();a.series.children.length>i.length;)a.series.removeChild(a.series.lastChild);let v=[];for(let n=0;n<i.length;n++){let r=i[n],o=a.series.children[n];o||(o=createSvgElement(`g`,{class:`prism-area-series`}),a.series.appendChild(o)),o.setAttribute(`data-series-id`,seriesDomId(r,n));let s=computeAreaPoints(u[n],p,m);v.push(s),renderArea(o,s,h,{color:seriesColor(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,fill:r.fill??`gradient`,fillOpacity:r.fillOpacity,marks:r.data,showLine:r.showLine!==!1,transition:t.transition})}return s?.hide(),r=ensureMarkerGroup(e.chartArea,r),createSeriesInteraction({announcer:e.announcer,colors:()=>i.map((e,t)=>seriesColor(t,e.color)),crosshair:n,dims:()=>e.dimensions,getData:()=>u,getPoints:()=>v,getSeriesList:()=>i,margin:e.dimensions.margin,markers:r,onClick:t.onClick,onHover:t.onHover,seriesGroup:a.series,svg:e.svg,tooltip:s,tooltipFormat:typeof t.tooltip==`object`?t.tooltip:void 0})},e=>{i=e})}function bandScale(e){let getDomain=()=>e.domain,getRange=()=>e.range,getBandwidth=()=>{let t=getDomain().length;if(t===0)return 0;let[n,r]=getRange(),i=e.padding??.1;return(r-n)/(t+(t-1)*i+(e.paddingOuter??i)*2)};return{bandwidth:getBandwidth,get domain(){return getDomain()},gap(){let t=e.padding??.1;return getBandwidth()*t},map(t){let n=getDomain().indexOf(t);if(n===-1)return`${t}`,0;let[r]=getRange(),i=getBandwidth(),a=e.padding??.1;return r+(e.paddingOuter??a)*i+n*(i+i*a)},get range(){return getRange()},ticks(e){let t=getDomain();if(e===void 0||e>=t.length)return[...t];if(e<=0)return[];let n=Math.ceil(t.length/e);return t.filter((e,t)=>t%n===0)}}}function findCatIdx(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 findSeriesIdx(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))}}var E=new WeakMap;function cancelReveal(e){E.get(e)?.()}function playTraceReveal(e,t,n,r,i,a){if(cancelReveal(e),i.duration<=0||a?.aborted)return()=>{};let o=uniqueId(`prism-trace`),s=createSvgElement(`defs`),c=r/2,l=createSvgElement(`mask`,{height:t.height+r,id:o,maskContentUnits:`userSpaceOnUse`,maskUnits:`userSpaceOnUse`,width:t.width+r,x:-c,y:-c}),u=n.map(({d:e})=>{let t=createSvgElement(`path`,{d:e,fill:`none`,pathLength:1,stroke:`white`,"stroke-dasharray":`1 1`,"stroke-dashoffset":1,"stroke-width":r});return l.appendChild(t),t});s.appendChild(l),e.insertBefore(s,e.firstChild),e.setAttribute(`mask`,`url(#${o})`);let cancelTween=()=>{},finish=()=>{E.delete(e),e.removeAttribute(`mask`),s.remove(),a?.removeEventListener(`abort`,finish),cancelTween()};return E.set(e,finish),a?.addEventListener(`abort`,finish,{once:!0}),cancelTween=startTween({count:1,duration:i.duration,easing:resolveEasing(i.easing),onComplete:finish,onFrame:e=>{let t=e(0);for(let[e,r]of u.entries()){let{start:i,end:a}=n[e],o=Math.max(0,Math.min(1,(t-i)/(a-i)));r.setAttribute(`stroke-dashoffset`,String(1-o))}},signal:a}),finish}function playGrowReveal(e,t,n,r,i){if(cancelReveal(e),n(),r.duration<=0||t.length===0||i.signal?.aborted)return()=>{};let a=uniqueId(`prism-reveal`),o=createSvgElement(`defs`),s=createSvgElement(`clipPath`,{id:a}),c=t.map(e=>{let t=createSvgElement(`rect`,{height:0,width:0,x:e.x,y:e.y});return s.appendChild(t),t});o.appendChild(s),e.insertBefore(o,e.firstChild),e.setAttribute(`clip-path`,`url(#${a})`);let cancelTween=()=>{},finish=()=>{E.delete(e),e.removeAttribute(`clip-path`),o.remove(),i.signal?.removeEventListener(`abort`,finish),cancelTween()};return E.set(e,finish),i.signal?.addEventListener(`abort`,finish,{once:!0}),cancelTween=startTween({count:t.length,duration:r.duration,easing:resolveEasing(r.easing),onComplete:finish,onFrame:e=>{for(let[n,r]of c.entries()){let a=t[n],o=Math.max(0,Math.min(1,e(n)));if(i.axis===`y`){let e=a.anchor+(a.y-a.anchor)*o,t=a.anchor+(a.y+a.height-a.anchor)*o;setAttributes(r,{height:Math.max(0,t-e),width:a.width,y:e})}else{let e=a.anchor+(a.x-a.anchor)*o,t=a.anchor+(a.x+a.width-a.anchor)*o;setAttributes(r,{height:a.height,width:Math.max(0,t-e),x:e})}}},signal:i.signal,stagger:i.stagger}),finish}var D=20,O=400,k=new WeakMap;function barsOf(e){return[...e.children].filter(e=>e.classList.contains(`prism-bar`))}function renderBars(e,t,n,r,i,a){k.get(e)?.(),k.delete(e);let o=barsOf(e);for(let e of o.slice(t.length))e.remove();let s=n.bandwidth(),c=a.stacked?s:s/a.seriesCount,l=Math.max(0,c-1),u=a.stacked?0:c*a.seriesIndex,d=a.horizontal??!1,f=o.length===0,p=[],m=[],h=[],g=resolveMotion(a.transition,{defaultStagger:f?0:D}),_=g.duration>0,v=Math.min(g.stagger,O/Math.max(1,t.length));for(let s=0;s<t.length;s++){let c=t[s],g=n.map(c.key)+u,v=a.baselineYs?a.baselineYs[s]:i,y=r.map(c.y),b=o[s],x=!b;if(b||(b=createSvgElement(`rect`,{class:`prism-bar`}),e.appendChild(b)),b.style.display=c.present?``:`none`,setAttributes(b,{opacity:c.opacity,stroke:c.dash?a.color:void 0,"stroke-dasharray":c.dash,"stroke-width":c.dash?1:void 0}),d){let e=Math.max(0,Math.abs(v-y)),t=Math.min(y,v);setAttributes(b,{fill:a.color,height:l,rx:a.borderRadius,ry:a.borderRadius,y:g}),f?(setAttributes(b,{width:e,x:t}),_&&h.push({anchor:v,height:l,width:e,x:t,y:g})):_?x?(setAttributes(b,{width:0,x:v}),p.push({attrs:{width:{from:0,to:e},x:{from:v,to:t}},el:b})):m.push({attrs:{width:{from:Number(b.getAttribute(`width`)??e),to:e},x:{from:Number(b.getAttribute(`x`)??t),to:t}},el:b}):setAttributes(b,{width:e,x:t})}else{let e=Math.max(0,Math.abs(v-y)),t=Math.min(y,v);setAttributes(b,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:l,x:g}),f?(setAttributes(b,{height:e,y:t}),_&&h.push({anchor:v,height:e,width:l,x:g,y:t})):_?x?(setAttributes(b,{height:0,y:v}),p.push({attrs:{height:{from:0,to:e},y:{from:v,to:t}},el:b})):m.push({attrs:{height:{from:Number(b.getAttribute(`height`)??e),to:e},y:{from:Number(b.getAttribute(`y`)??t),to:t}},el:b}):setAttributes(b,{height:e,y:t})}}if(_){let t=[];f&&h.length>0&&t.push(playGrowReveal(e,h,()=>{},g,{axis:d?`x`:`y`,signal:a.disposalSignal,stagger:v})),p.length>0&&t.push(animate(p,{...g,stagger:v},void 0,a.disposalSignal)),m.length>0&&t.push(animate(m,{...g,stagger:0},void 0,a.disposalSignal)),k.set(e,()=>{for(let e of t)e()})}}function variantFlags(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function createBarChart(e,t){let n=t.series,r=null;return createChartScaffold(e,t,(e,i)=>{let{groups:a,legend:o,tooltip:s}=e;o?.update(n.map((e,t)=>({color:seriesColor(t,e.color),name:e.name})));let c=e.dimensions,l=chartArea(c.width,c.height,c.margin),u=n.map(e=>e.data),d=normalizeCartesianSeries(n,u),f=d.domain,p=d.series.map(({byKey:e})=>f.map(t=>e.get(t))),categoryAxis=e=>({...e,tickFormat:t=>{let n=String(t),r=d.labels.get(n)??t;return e.tickFormat?e.tickFormat(r):String(r)}});if(f.length===0){clearCartesianDom(a,o,s),r?.remove(),r=null;return}let{horizontal:m,stacked:h}=variantFlags(t.variant??`grouped`),g=t.xAxis===!1?!1:m?{grid:!0,...t.xAxis}:t.xAxis??{},_=t.yAxis===!1?!1:m?t.yAxis??{}:{grid:!0,...t.yAxis},v,y;if(h){p.some(e=>e.some(e=>(e?.value??0)<0));let e=f.map((e,t)=>p.reduce((e,n)=>e+Math.max(0,n[t]?.value??0),0));v=Math.max(...e),y=0}else{let e=p.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));v=Math.max(...e),y=Math.min(0,...e)}let b=bandScale(m?{domain:f,range:[0,l.height]}:{domain:f,range:[0,l.width]}),x=linearScale(m?{domain:[y,v],range:[0,l.width]}:{domain:[y,v],range:[l.height,0]}),S=[],C=Object.create(null);for(let e of f)C[e]=0;let w={bandCenter:e=>b.map(e)+b.bandwidth()/2,bandwidth:b.bandwidth(),baselinePx:x.map(0),horizontal:m,stacked:h,stackedTops:S,valueScale:x};if(m){if(g&&g.grid&&renderGrid(a.grid,x,g.grid,l.height,`vertical`,resolveTicks(x,g,resolveTickCount(g,l.width,`bottom`))),_!==!1){let e=categoryAxis(_);positionAxis(a.yAxis,e.position??`left`,l.width,l.height),renderAxis(a.yAxis,b,e,l.height,`left`)}g&&(positionAxis(a.xAxis,g.position??`bottom`,l.width,l.height),renderAxis(a.xAxis,x,g,l.width,`bottom`))}else{if(_&&_.grid&&renderGrid(a.grid,x,_.grid,l.width,`horizontal`,resolveTicks(x,_,resolveTickCount(_,l.height,`left`))),g!==!1){let e=categoryAxis(g);positionAxis(a.xAxis,e.position??`bottom`,l.width,l.height),renderAxis(a.xAxis,b,e,l.width,`bottom`)}_&&(positionAxis(a.yAxis,_.position??`left`,l.width,l.height),renderAxis(a.yAxis,x,_,l.height,`left`))}let T=h?0:Number.parseFloat(getComputedStyle(e.svg).getPropertyValue(`--prism-bar-radius`))||0;for(;a.series.children.length>n.length;){let e=a.series.lastElementChild;e&&a.series.removeChild(e)}for(let r=0;r<n.length;r++){let o=n[r],s=a.series.children[r];s||(s=createSvgElement(`g`,{class:`prism-bar-series`}),a.series.appendChild(s)),s.setAttribute(`data-series-id`,seriesDomId(o,r));let c=f.map((e,t)=>{let n=p[r]?.[t];if(h){let t=C[e]??0,r=t+Math.max(0,n?.value??0);return C[e]=r,{base:t,dash:n?.dash,key:e,opacity:n?.opacity,present:n!==void 0,y:r}}return{base:0,dash:n?.dash,key:e,opacity:n?.opacity,present:n!==void 0,y:n?.value??0}});S[r]=c.map(e=>e.y);let l=h?c.map(e=>x.map(e.base)):void 0;renderBars(s,c,b,x,w.baselinePx,{baselineYs:l,borderRadius:o.borderRadius??T,color:seriesColor(r,o.color),disposalSignal:e.disposalSignal,horizontal:m,seriesCount:n.length,seriesIndex:r,stacked:h,transition:i!==`resize`&&t.transition})}s?.hide(),a.series.classList.toggle(`prism-bars-stacked`,h),(!r||!e.chartArea.contains(r))&&(r=createSvgElement(`rect`,{"aria-hidden":`true`,class:`prism-bar-band`,"pointer-events":`none`}),e.chartArea.insertBefore(r,a.series)),r.style.display=`none`;let E=n.map((e,t)=>seriesColor(t,e.color)),labelOf=e=>String(d.labels.get(f[e])??f[e]),D=typeof t.tooltip==`object`?t.tooltip:void 0,keyOf=e=>d.labels.get(f[e])??f[e],titleOf=e=>D?.titleFormat?D.titleFormat(keyOf(e)):labelOf(e),O=D?.valueFormat??String,k=-1,valuesAt=e=>n.map((t,n)=>({datum:p[n]?.[e],series:t})),eventAt=(e,t,r)=>{let i=valuesAt(e),a=i[t]?.datum?t:i.findIndex(e=>e.datum),o=i[a]?.datum;return o?{datum:o,originalEvent:r,series:n[a],values:i}:null},setActive=t=>{k=t,a.series.classList.toggle(`prism-bars-focused`,t>=0);for(let e of a.series.children)for(let[n,r]of[...e.children].entries())r.classList.toggle(`prism-bar--active`,n===t);if(!r||(r.style.display=t<0?`none`:``,t<0))return;let n=w.bandCenter(f[t])-b.bandwidth()/2-b.gap()/2,i=b.bandwidth()+b.gap(),o=chartArea(e.dimensions.width,e.dimensions.height,e.dimensions.margin);setAttributes(r,m?{height:i,width:o.width,x:0,y:n}:{height:o.height,width:i,x:n,y:0})},activate=(n,r,i)=>{let a=eventAt(n,r,i);if(!a)return;setActive(n);let o=a.values??[],c=describeValues(titleOf(n),o,O);if(s){let t=o.map((e,t)=>h?S[t]?.[n]??0:Math.max(0,e.datum?.value??0)),r=x.map(Math.max(...t)),i=w.bandCenter(f[n]),{margin:l}=e.dimensions,u=o.flatMap((e,t)=>e.datum?[{color:E[t],name:e.series.name,value:O(e.datum.value,e.datum,e.series)}]:[]);s.show((m?r:i)+l.left,(m?i:r)+l.top,a.datum,a.series,comparisonContent(e.svg.ownerDocument,titleOf(n),u,c))}else e.announcer.announce(c);t.onHover?.(a)},deactivate=()=>{setActive(-1),s?.hide(),e.announcer.clear(),t.onHover?.(null)},hit=t=>{let r=e.dimensions,i=getMousePosition(e.svg,t,r.margin.left,r.margin.top),a=chartArea(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return null;let o=findCatIdx(m?i.y:i.x,f,w);return o===-1?null:{catIdx:o,seriesIdx:findSeriesIdx(i,o,f,w,n.length)}},onMouseMove=e=>{let t=hit(e);t?activate(t.catIdx,t.seriesIdx,e):k>=0&&deactivate()},onClick=e=>{let n=t.onClick&&hit(e),r=n&&eventAt(n.catIdx,n.seriesIdx,e);r&&t.onClick?.(r)},onKeyDown=e=>{let n=f.length-1,r=k<0?n:Math.max(0,k-1),i=k<0?0:Math.min(n,k+1),a={ArrowDown:i,ArrowLeft:r,ArrowRight:i,ArrowUp:r,End:n,Home:0};if(e.key in a)e.preventDefault(),activate(a[e.key],0,e);else if((e.key===`Enter`||e.key===` `)&&k>=0&&t.onClick){e.preventDefault();let n=eventAt(k,0,e);n&&t.onClick(n)}else e.key===`Escape`&&deactivate()};return{onClick,onKeyDown,onMouseLeave:deactivate,onMouseMove}},e=>{n=e})}var A=new WeakMap,j=new WeakMap;function buildPath(e,t){return t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}function renderLine(e,t,n){let r=hasStyledRuns(n.marks),i=n.marks??[],a=resolveMotion(n.transition),o=a.duration,s=resolveEasing(a.easing),c=null,l=[],u=[];if(r){l=computeStyleRuns(i,t.length);let r=[...e.querySelectorAll(`.prism-line-path`)];for(let e of r.slice(l.length))e.remove();u=l.map((t,n)=>{let i=r[n];if(i)return i;let a=createSvgElement(`path`,{class:`prism-line-path`,fill:`none`});return e.appendChild(a),a});for(let[e,t]of l.entries())setAttributes(u[e],{opacity:t.opacity,stroke:n.color,"stroke-dasharray":t.dash,"stroke-width":n.strokeWidth??2}),u[e].style.strokeWidth=n.strokeWidth===void 0?``:String(n.strokeWidth)}else{let t=[...e.querySelectorAll(`.prism-line-path`)];c=t[0]??null;for(let e of t.slice(1))e.remove();c||(c=createSvgElement(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(c)),setAttributes(c,{opacity:void 0,stroke:n.color,"stroke-dasharray":void 0,"stroke-width":n.strokeWidth??2}),c.style.strokeWidth=n.strokeWidth===void 0?``:String(n.strokeWidth)}let draw=e=>{if(r)for(let[t,r]of l.entries())setAttributes(u[t],{d:buildPath(e.slice(r.start,r.end+1),n.curve)});else setAttributes(c,{d:buildPath(e,n.curve)})},d=e.querySelector(`.prism-line-dots`);if(n.showPoints?d||(d=createSvgElement(`g`,{class:`prism-line-dots`}),e.appendChild(d)):d&&=(d.remove(),null),o===0){if(A.get(e)?.(),cancelReveal(e),draw(t),j.set(e,t),d){for(;d.children.length>t.length;)d.removeChild(d.lastChild);for(let e=0;e<t.length;e++){let r=d.children[e];r||(r=createSvgElement(`circle`,{class:`prism-line-dot`}),d.appendChild(r)),setAttributes(r,{cx:t[e].x,cy:t[e].y,fill:n.color,opacity:i[e]?.opacity,r:n.pointRadius})}}return}A.get(e)?.(),cancelReveal(e);let f=!j.has(e);if(d){for(;d.children.length>t.length;)d.removeChild(d.lastChild);for(let e=d.children.length;e<t.length;e++){let t=createSvgElement(`circle`,{class:`prism-line-dot`});setAttributes(t,{fill:n.color,opacity:i[e]?.opacity,r:n.pointRadius}),d.appendChild(t)}for(let e=0;e<d.children.length;e++)setAttributes(d.children[e],{opacity:i[e]?.opacity})}if(f){if(draw(t),j.set(e,t),d)for(let[e,n]of t.entries()){let t=d.children[e];t&&setAttributes(t,{cx:n.x,cy:n.y})}if(t.length>1){let i=c??u[0],a=n.strokeWidth??(Number.parseFloat(getComputedStyle(i).strokeWidth)||2),o=r?l.map((e,n)=>({d:u[n].getAttribute(`d`),end:e.end/(t.length-1),start:e.start/(t.length-1)})):[{d:c.getAttribute(`d`),end:1,start:0}];playTraceReveal(e,n.bounds,o,Math.max(a,n.showPoints?n.pointRadius*2:0)+2,resolveMotion(n.transition,{defaultDuration:420}),n.disposalSignal)}return}let p=[],m=j.get(e)??t;for(let[e,n]of t.entries())p.push(m[e]??m.at(-1)??n);let paintFrame=n=>{let r=t.map((e,t)=>{let r=p[t]??e;return{x:tweenNumber(r.x,e.x,n),y:tweenNumber(r.y,e.y,n)}});if(j.set(e,r),draw(r),d)for(let e=0;e<t.length;e++){let t=d.children[e];t&&setAttributes(t,{cx:r[e].x,cy:r[e].y})}};paintFrame(0),A.set(e,startTween({count:1,duration:o,easing:s,onComplete:()=>{A.delete(e),j.set(e,t)},onFrame:e=>paintFrame(e(0)),signal:n.disposalSignal}))}function computePoints(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 createLineChart(e,t){let n=null,r=null,i=null,a=t.series;return createChartScaffold(e,t,(e,o)=>{let{groups:s,legend:c,tooltip:l}=e;c?.update(a.map((e,t)=>({color:seriesColor(t,e.color),name:e.name})));let u=e.dimensions,d=a.some(e=>e.yAxis===`right`),f=a.some(e=>e.yAxis!==`right`&&e.data.length>0),p={...resolveMargin(t.margin),right:t.margin?.right??(d?t.rightYAxis?.label?72:50:resolveMargin(t.margin).right)},m=chartArea(u.width,u.height,p),h=a.map(e=>e.data),g=h.flat().map(e=>e.key),_=a.filter(e=>e.yAxis!==`right`).flatMap(e=>e.data.map(e=>e.value)),v=a.filter(e=>e.yAxis===`right`).flatMap(e=>e.data.map(e=>e.value));if(g.length===0){clearCartesianDom(s,c,l,n),r?.replaceChildren(),i?.replaceChildren();return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let y=buildXScale(g,m.width),b=buildYScale(_,m.height),x=buildYScale(v,m.height),S=t.xAxis===!1?!1:t.xAxis??{},C=t.yAxis!==!1&&{grid:!0,...t.yAxis};if(C&&C.grid&&(!d||f)?renderGrid(s.grid,b,C.grid,m.width,`horizontal`,resolveTicks(b,C,resolveTickCount(C,m.height,`left`))):s.grid.replaceChildren(),S&&S.grid&&renderGrid(s.grid,y,S.grid,m.height,`vertical`,resolveTicks(y,S,resolveTickCount(S,m.width,`bottom`))),S?(positionAxis(s.xAxis,S.position??`bottom`,m.width,m.height),renderAxis(s.xAxis,y,S,m.width,`bottom`)):s.xAxis.replaceChildren(),C&&(!d||f)){let e={...C,position:d?`left`:C.position??`left`};positionAxis(s.yAxis,e.position,m.width,m.height),renderAxis(s.yAxis,b,e,m.height,`left`)}else s.yAxis.replaceChildren();if(d){i||(i=createSvgElement(`g`,{class:`prism-y-axis-right`}),e.chartArea.appendChild(i));let n={...t.rightYAxis,position:`right`};positionAxis(i,`right`,m.width,m.height),renderAxis(i,x,n,m.height,`right`)}else i?.replaceChildren();for(;s.series.children.length>a.length;)s.series.removeChild(s.series.lastChild);let w=[];for(let n=0;n<a.length;n++){let r=a[n],i=s.series.children[n];i||(i=createSvgElement(`g`,{class:`prism-line-series`}),s.series.appendChild(i)),i.setAttribute(`data-series-id`,seriesDomId(r,n));let c=r.yAxis===`right`?x:b,l=computePoints(h[n],y,c);w.push(l),renderLine(i,l,{bounds:{height:m.height,width:m.width},color:seriesColor(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,marks:r.data,pointRadius:r.pointRadius??3,showPoints:r.showPoints??!1,strokeWidth:r.strokeWidth,transition:o!==`resize`&&t.transition})}return l?.hide(),r=ensureMarkerGroup(e.chartArea,r),createSeriesInteraction({announcer:e.announcer,colors:()=>a.map((e,t)=>seriesColor(t,e.color)),crosshair:n,dims:()=>e.dimensions,getData:()=>h,getPoints:()=>w,getSeriesList:()=>a,margin:p,markers:r,onClick:t.onClick,onHover:t.onHover,seriesGroup:s.series,svg:e.svg,tooltip:l,tooltipFormat:typeof t.tooltip==`object`?t.tooltip:void 0})},e=>{a=e})}function polarX(e,t,n){return e+t*Math.sin(n)}function polarY(e,t,n){return e-t*Math.cos(n)}function polarPoint(e,t,n,r){return`${polarX(e,n,r)},${polarY(t,n,r)}`}function computeArcs(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 arcPath(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${polarPoint(r,i,c,u)}A${c},${c},0,1,1,${polarPoint(r,i,c,e)}A${c},${c},0,1,1,${polarPoint(r,i,c,u)}Z`:[`M${polarPoint(r,i,c,u)}`,`A${c},${c},0,1,1,${polarPoint(r,i,c,e)}`,`A${c},${c},0,1,1,${polarPoint(r,i,c,u)}`,`M${polarPoint(r,i,s,u)}`,`A${s},${s},0,1,0,${polarPoint(r,i,s,e)}`,`A${s},${s},0,1,0,${polarPoint(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${polarPoint(r,i,c,f)}A${c},${c},0,${e},1,${polarPoint(r,i,c,p)}Z`:[`M${polarPoint(r,i,c,f)}`,`A${c},${c},0,${e},1,${polarPoint(r,i,c,p)}`,`L${polarPoint(r,i,s,p)}`,`A${s},${s},0,${e},0,${polarPoint(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=polarX(r,c,f),E=polarY(i,c,f),D=polarX(r,c,p),O=polarY(i,c,p),k=polarX(r,s,f),A=polarY(i,s,f),j=polarX(r,s,p),M=polarY(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}`,L=`${j+(D-j)*N},${M+(O-M)*N}`,R=[];return n?R.push(`M${polarPoint(r,i,c,f)}`):(R.push(`M${P}`),R.push(`Q${T},${E},${polarPoint(r,i,c,y)}`)),R.push(`A${c},${c},0,${C},1,${polarPoint(r,i,c,b)}`),t?R.push(`A${v},${v},0,0,1,${polarPoint(r,i,s,p)}`):(R.push(`Q${D},${O},${F}`),R.push(`L${L}`),R.push(`Q${j},${M},${polarPoint(r,i,s,S)}`)),R.push(`A${s},${s},0,${w},0,${polarPoint(r,i,s,x)}`),n?R.push(`A${v},${v},0,0,0,${polarPoint(r,i,c,f)}`):R.push(`Q${k},${A},${I}`),R.push(`Z`),R.join(``)}function arcCentroid(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 M=2*Math.PI,N=12;function labelFits(e,t){let n=e.outerRadius-e.innerRadius,r=(e.outerRadius+e.innerRadius)/2,i=(e.endAngle-e.startAngle-2*e.padAngle)*r;return n>=N*1.4&&i>=estimateTextWidth(t,N)+8}var P=-Math.PI/2,F=Math.PI/2;function semiAngles(e){return e===`semi`?{end:F,start:P}:{end:M,start:0}}function createPieChart(e,t){let n=t.variant??`pie`,r=t.padPixels??(n===`pie`?0:8),i=t.cornerRadius??(n===`pie`?0:8),a=t.data,o=createSvgElement(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),s=createSvgElement(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),c=createSvgElement(`g`,{class:`prism-pie-labels`,"pointer-events":`none`}),l=[],u=[],d=null;function renderLabels(e){c.replaceChildren();for(let t=0;t<l.length;t++){let n=l[t],r=e[t];if(!r?.label||!labelFits(n,r.label))continue;let{x:i,y:a}=arcCentroid(n),o=createSvgElement(`text`,{class:`prism-pie-label`});setAttributes(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,c.appendChild(o)}}return createRadialScaffold(e,{a11y:t.a11y,legend:t.legend,tooltip:t.tooltip},f=>{let{legend:p,svg:m,tooltip:h}=f,g=a.some(e=>e.value>0);p?.update(g?a.map((e,t)=>({color:e.color??seriesColor(t),name:e.label??``})):[]),m.contains(o)||(m.appendChild(o),m.appendChild(s),m.appendChild(c));let{height:_,width:v}=f.dimensions,y=n===`semi`,b=v/2,x=y?_*.85:_/2,S=y?Math.min(b,x)-8:Math.min(v,_)/2-8,C=n===`pie`?0:Math.round(S*.55),w=t.innerRadius===void 0?C:t.innerRadius,T=Math.max(w+1,S),E=a,{end:D,start:O}=semiAngles(n);for(l=computeArcs(E,b,x,T,w,O,D,r,i,e=>seriesColor(e),!1),setAttributes(o,{cx:b,cy:x,r:w>0?w:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>l.length;)s.removeChild(s.lastChild);c.replaceChildren();let k=resolveMotion(t.transition),A=k.duration,j=resolveEasing(k.easing);for(let e=0;e<l.length;e++){let n=l[e],r=s.children[e];r||(r=createSvgElement(`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`:``}d?.();let M=u.length===0,N=u;d=startTween({count:1,duration:A,easing:j,onComplete:()=>renderLabels(E),onFrame:e=>{let t=e(0);if(M){let e=tweenNumber(O,D,t);u=l.map((t,n)=>{let r=s.children[n];if(!r)return t;if(e<=t.startAngle)return setAttributes(r,{d:``}),{...t,endAngle:t.startAngle};let i=Math.min(t.endAngle,e);return setAttributes(r,{d:arcPath({...t,endAngle:i})}),{...t,endAngle:i}});return}u=l.map((e,n)=>{let r=s.children[n],i=N.at(-1),a=N[n]??{...e,endAngle:i?.endAngle??O,startAngle:i?.endAngle??O},o={...e,endAngle:tweenNumber(a.endAngle,e.endAngle,t),innerRadius:tweenNumber(a.innerRadius,e.innerRadius,t),outerRadius:tweenNumber(a.outerRadius,e.outerRadius,t),padAngle:tweenNumber(a.padAngle,e.padAngle,t),startAngle:tweenNumber(a.startAngle,e.startAngle,t)};return r&&setAttributes(r,{d:o.endAngle-o.startAngle<=1e-6?``:arcPath(o)}),o})},signal:f.disposalSignal}),h?.hide();let P=l.reduce((e,t)=>e+Math.max(0,t.slice.value),0),F=-1,describe=e=>{let t=P>0?Math.round(Math.max(0,e.slice.value)/P*1e3)/10:0;return`${e.slice.label??`Slice ${e.index+1}`}: ${e.slice.value} (${t}%)`},setActive=e=>{F=e,s.classList.toggle(`prism-pie-focused`,e>=0);for(let[t,n]of[...s.children].entries())n.classList.toggle(`prism-pie-slice--active`,t===e)},activate=(n,r)=>{let i=l[n];if(!i)return;setActive(n),t.onHover?.({index:n,originalEvent:r,slice:i.slice});let a=describe(i);if(!h){f.announcer.announce(a);return}let{x:o,y:s}=arcCentroid(i),c=m.getBoundingClientRect(),u=e.getBoundingClientRect();h.show(o+(c.left-u.left),s+(c.top-u.top),{key:n,value:i.slice.value},{color:i.color,data:[],name:i.slice.label??``},a)},deactivate=()=>{setActive(-1),h?.hide(),f.announcer.clear(),t.onHover?.(null)},hitAt=e=>{let t=m.getBoundingClientRect();return hitTestArc(l,e.clientX-t.left,e.clientY-t.top,n)},onMouseMove=e=>{let t=hitAt(e);t>=0?t!==F&&activate(t,e):F>=0&&deactivate()},onClick=e=>{if(!t.onClick)return;let n=hitAt(e);n>=0&&t.onClick({index:n,originalEvent:e,slice:l[n].slice})},onKeyDown=e=>{let n=l.length;if(n===0)return;let r={ArrowDown:1,ArrowLeft:-1,ArrowRight:1,ArrowUp:-1};e.key in r?(e.preventDefault(),activate(F<0?r[e.key]>0?0:n-1:(F+r[e.key]+n)%n,e)):e.key===`Home`||e.key===`End`?(e.preventDefault(),activate(e.key===`Home`?0:n-1,e)):(e.key===`Enter`||e.key===` `)&&F>=0&&t.onClick?(e.preventDefault(),t.onClick({index:F,originalEvent:e,slice:l[F].slice})):e.key===`Escape`&&deactivate()};return{onClick,onKeyDown,onMouseLeave:deactivate,onMouseMove}},e=>{a=e})}function hitTestArc(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+M:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}var I=2*Math.PI;function toRadians(e){return e*Math.PI/180}function axisAngles(e,t=0){return Array.from({length:e},(n,r)=>t+r*I/e)}function resolveAxisDomains(e,t,n){let r=n;if(!r){let e=t.flatMap(e=>e.data.map(e=>e.value)).filter(Number.isFinite),n=Math.min(0,...e),i=e.length?Math.max(...e):1;r=linearScale({domain:[n,i>n?i:n+1],range:[0,1]}).domain}return e.map(e=>[e.min??r[0],e.max??r[1]])}function normalize(e,[t,n]){return n===t?0:Math.max(0,Math.min(1,(e-t)/(n-t)))}function radarPoints(e,t,n,r,i){return e.map((e,a)=>({x:polarX(t,r*e,i[a]),y:polarY(n,r*e,i[a])}))}function closedPath(e,t=`linear`){let n=e.length;if(n===0)return``;let[r]=e;if(t===`linear`||n<3)return`M${r.x},${r.y}${e.slice(1).map(e=>`L${e.x},${e.y}`).join(``)}Z`;let i=`M${r.x},${r.y}`;for(let t=0;t<n;t++){let r=e[(t-1+n)%n],a=e[t],o=e[(t+1)%n],s=e[(t+2)%n];i+=`C${a.x+(o.x-r.x)/6},${a.y+(o.y-r.y)/6} ${o.x-(s.x-a.x)/6},${o.y-(s.y-a.y)/6} ${o.x},${o.y}`}return`${i}Z`}function ringPath(e,t,n,r,i){return r<=0?``:e===`circle`?`M${t},${n-r}A${r},${r} 0 1 1 ${t},${n+r}A${r},${r} 0 1 1 ${t},${n-r}Z`:closedPath(radarPoints(i.map(()=>1),t,n,r,i))}function labelPlacement(e){let t=Math.sin(e),n=Math.cos(e);return{anchor:Math.abs(t)<.1?`middle`:t>0?`start`:`end`,baseline:n>.9?`auto`:n<-.9?`hanging`:`middle`}}function fitRadius(e,t,n,r,i,a){let o=0;n.forEach((e,t)=>{labelPlacement(r[t]).anchor!==`middle`&&(o=Math.max(o,estimateTextWidth(e,i)))});let s=i*1.3;return Math.max(8,Math.min(e/2-a-o,t/2-a-s))}function nearestAxis(e,t,n,r=0){if(n===0)return-1;let i=I/n,a=((Math.atan2(e,-t)-r)%I+I)%I;return Math.round(a/i)%n}var L=11,R=12,z=10,B={ArrowDown:1,ArrowLeft:-1,ArrowRight:1,ArrowUp:-1};function resolveGrid(e){return e===!1?null:{bands:!0,labels:!1,levels:4,shape:`polygon`,...typeof e==`object`?e:{}}}function createRadarChart(e,t){let{axes:n}=t,r=t.curve??`linear`,i=t.fill??`solid`,a=t.showPoints??!0,o=resolveGrid(t.grid),s=toRadians(t.startAngle??0),c=axisAngles(n.length,s),l=R+(t.showValues?z:0),u=uniqueId(`prism-radar`),d=t.series,f=createSvgElement(`g`,{class:`prism-radar`}),p=createSvgElement(`defs`),m=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-radar-grid`}),h=createSvgElement(`g`,{class:`prism-radar-series-group`}),g=createSvgElement(`g`,{"aria-hidden":`true`,class:`prism-radar-labels`});f.append(p,m,h,g);let _=[],v=null,y=-1,b={cx:0,cy:0,radius:0},datumAt=(e,t)=>e.data.find(e=>e.key===n[t].key),valuesAt=e=>d.map(t=>({datum:datumAt(t,e),series:t})),formatValue=(e,t)=>n[e].format?.(t)??String(t),describe=e=>describeValues(n[e].label,valuesAt(e),t=>formatValue(e,t));function draw(e){let{cx:t,cy:n,radius:i}=b;e.forEach((e,a)=>{let o=h.children[a];if(!o)return;let s=radarPoints(e,t,n,i,c);o.querySelector(`.prism-radar-area`)?.setAttribute(`d`,closedPath(s,r)),o.querySelectorAll(`.prism-radar-point`).forEach((e,t)=>{setAttributes(e,{cx:s[t].x,cy:s[t].y})}),o.querySelectorAll(`.prism-radar-value`).forEach((r,a)=>{let o=i*e[a]+z;setAttributes(r,{x:polarX(t,o,c[a]),y:polarY(n,o,c[a])})})})}function renderGrid(e){if(m.replaceChildren(),!o)return;let{cx:t,cy:n,radius:r}=b,i=Math.max(1,Math.round(o.levels)),a=Array.from({length:i},(e,a)=>ringPath(o.shape,t,n,r*(a+1)/i,c));if(o.bands)for(let e=i-1;e>=0;e-=2)m.appendChild(createSvgElement(`path`,{class:`prism-radar-band`,d:`${a[e]}${a[e-1]??``}`,"fill-rule":`evenodd`}));for(let e of a)m.appendChild(createSvgElement(`path`,{class:`prism-radar-ring`,d:e,fill:`none`}));c.forEach((e,i)=>{m.appendChild(createSvgElement(`line`,{class:`prism-radar-spoke`,"data-axis":i,x1:t,x2:polarX(t,r,e),y1:n,y2:polarY(n,r,e)}))});let[s,l]=e[0],u=e.every(([e,t])=>e===s&&t===l);if(!o.labels||!u)return;let d=c[0]+Math.PI/c.length;for(let e=1;e<=i;e++){let a=r*e/i,o=createSvgElement(`text`,{class:`prism-radar-level`,"dominant-baseline":`middle`,"text-anchor":`middle`,x:polarX(t,a,d),y:polarY(n,a,d)});o.textContent=formatValue(0,Math.round((s+(l-s)*e/i)*100)/100),m.appendChild(o)}}function renderLabels(){g.replaceChildren();let{cx:e,cy:t,radius:r}=b;n.forEach((n,i)=>{let{anchor:a,baseline:o}=labelPlacement(c[i]),s=createSvgElement(`text`,{class:`prism-radar-axis-label`,"dominant-baseline":o,"text-anchor":a,x:polarX(e,r+l,c[i]),y:polarY(t,r+l,c[i])});s.textContent=n.label,g.appendChild(s)})}function renderSeries(){let{cx:e,cy:r,radius:o}=b;for(p.replaceChildren();h.children.length>d.length;)h.lastChild?.remove();d.forEach((s,l)=>{let d=s.color??seriesColor(l),f=h.children[l];f||(f=createSvgElement(`g`,{class:`prism-radar-series`}),h.appendChild(f)),f.setAttribute(`data-series-id`,seriesDomId(s,l)),f.replaceChildren();let m=createSvgElement(`path`,{class:`prism-radar-area prism-radar-area--${i}`,stroke:d,"stroke-linejoin":`round`,"stroke-width":2});if(i===`gradient`){let t=`${u}-fill-${l}`,n=createSvgElement(`radialGradient`,{cx:e,cy:r,gradientUnits:`userSpaceOnUse`,id:t,r:o});for(let[e,t]of[[0,.08],[1,.55]])n.appendChild(createSvgElement(`stop`,{offset:e,"stop-color":d,"stop-opacity":t,style:`stop-color:${d}`}));p.appendChild(n),setAttributes(m,{fill:`url(#${t})`})}else setAttributes(m,{fill:i===`none`?`none`:d,"fill-opacity":.25});f.appendChild(m),a&&n.forEach((e,t)=>{let n=!Number.isFinite(datumAt(s,t)?.value);f.appendChild(createSvgElement(`circle`,{class:`prism-radar-point${n?` prism-radar-point--missing`:``}`,"data-axis":t,fill:n?`none`:d,r:3,stroke:d}))}),t.showValues&&n.forEach((e,t)=>{let n=datumAt(s,t),{anchor:r,baseline:i}=labelPlacement(c[t]),a=createSvgElement(`text`,{"aria-hidden":`true`,class:`prism-radar-value`,"dominant-baseline":i,"text-anchor":r});a.textContent=n&&Number.isFinite(n.value)?formatValue(t,n.value):``,f.appendChild(a)})})}function setActive(e){y=e;for(let t of f.querySelectorAll(`[data-axis]`)){let n=Number(t.getAttribute(`data-axis`))===e;t.classList.toggle(t.tagName===`line`?`prism-radar-spoke--active`:`prism-radar-point--active`,n)}}function animateTo(e,n){v?.();let r=e.map((e,t)=>e.map((e,n)=>_[t]?.[n]??0)),i=resolveMotion(t.transition,{defaultDuration:400}),a=resolveEasing(i.easing??`ease-out`),o=r.every((t,n)=>t.every((t,r)=>t===e[n][r]));if(i.duration===0||o){_=e,draw(e);return}v=startTween({count:e.length,duration:i.duration,easing:a,onFrame:t=>{_=e.map((e,n)=>{let i=t(n);return e.map((e,t)=>tweenNumber(r[n][t],e,i))}),draw(_)},signal:n,stagger:i.stagger})}return createRadialScaffold(e,{a11y:t.a11y,legend:t.legend,tooltip:t.tooltip},r=>{let{legend:i,svg:a,tooltip:o}=r;if(a.contains(f)||a.appendChild(f),o?.hide(),i?.update(d.map((e,t)=>({color:e.color??seriesColor(t),name:e.name}))),n.length<3){for(let e of[p,m,h,g])e.replaceChildren();_=[];return}let{height:u,width:v}=r.dimensions,x=fitRadius(v,u,n.map(e=>e.label),c,L,l);b={cx:v/2,cy:u/2,radius:x};let S=resolveAxisDomains(n,d,t.domain);renderGrid(S),renderLabels(),renderSeries(),animateTo(d.map(e=>n.map((t,n)=>{let r=datumAt(e,n)?.value;return r!==void 0&&Number.isFinite(r)?normalize(r,S[n]):0})),r.disposalSignal),setActive(y);let eventFor=(e,t)=>({axis:n[e],index:e,originalEvent:t,values:valuesAt(e)}),activate=(i,s)=>{setActive(i),t.onHover?.(eventFor(i,s));let l=describe(i);if(!o){r.announcer.announce(l);return}let u=Math.max(0,..._.map(e=>e[i]??0)),f=a.getBoundingClientRect(),p=e.getBoundingClientRect(),m=valuesAt(i),h=m.find(e=>e.datum)?.datum,g=m.flatMap(({datum:e,series:t})=>e?[{color:t.color??seriesColor(d.indexOf(t)),name:t.name,value:formatValue(i,e.value)}]:[]);o.show(polarX(b.cx,b.radius*u,c[i])+(f.left-p.left),polarY(b.cy,b.radius*u,c[i])+(f.top-p.top),{key:n[i].key,meta:{axis:n[i],text:l,values:m},value:h?.value??0},{color:d[0]?.color??seriesColor(0),data:[],name:n[i].label},comparisonContent(a.ownerDocument,n[i].label,g,l))},deactivate=()=>{setActive(-1),t.onHover?.(null),o?.hide(),r.announcer.clear()},hitIndex=e=>{let t=a.getBoundingClientRect(),r=e.clientX-t.left-b.cx,i=e.clientY-t.top-b.cy;return Math.hypot(r,i)>b.radius+l+22?-1:nearestAxis(r,i,n.length,s)};return{onClick(e){let n=hitIndex(e);n>=0&&t.onClick?.(eventFor(n,e))},onKeyDown(e){let r=B[e.key];r===void 0?(e.key===`Enter`||e.key===` `)&&y>=0&&t.onClick?(e.preventDefault(),t.onClick(eventFor(y,e))):e.key===`Escape`&&deactivate():(e.preventDefault(),activate(y<0?0:(y+r+n.length)%n.length,e))},onMouseLeave:deactivate,onMouseMove(e){let t=hitIndex(e);t<0?y>=0&&deactivate():t!==y&&activate(t,e)}}},e=>{d=e})}function createScatterInteraction(e){let t=-1,n=!1,hitAt=(t,n)=>{let r=e.getData()[t]?.[n],i=e.getPoints()[t]?.[n];return r&&i?{datum:r,point:i,seriesIndex:t}:null},renderedHit=t=>{let n=t.target;return!(n instanceof SVGElement)||!n.classList.contains(`prism-scatter-point`)||!n.parentElement||n.parentElement.parentNode!==e.seriesGroup?null:hitAt([...e.seriesGroup.children].indexOf(n.parentElement),[...n.parentElement.children].indexOf(n))},nearestHit=t=>{let n=null,r=1/0;for(let[i,a]of e.getPoints().entries())for(let e of a.keys()){let a=hitAt(i,e);if(!a)continue;let o=Math.hypot(a.point.x-t.x,a.point.y-t.y);o<r&&(r=o,n=a)}return n},orderedHits=()=>{let t=[];for(let[n,r]of e.getData().entries())for(let e of r.keys()){let r=hitAt(n,e);r&&t.push(r)}return t.sort((e,t)=>e.point.x-t.point.x||e.point.y-t.point.y||e.seriesIndex-t.seriesIndex)},eventFor=(t,n)=>({datum:t.datum,originalEvent:n,series:e.getSeriesList()[t.seriesIndex]}),highlight=t=>{let n=[...e.seriesGroup.children];e.markers.replaceChildren(),t&&e.markers.appendChild(createSvgElement(`circle`,{class:`prism-active-point`,cx:t.point.x,cy:t.point.y,fill:e.colors()[t.seriesIndex],r:4})),e.seriesGroup.classList.toggle(`prism-series-focused`,t!==null&&n.length>1);for(let[e,r]of n.entries())r.classList.toggle(`prism-series-active`,e===t?.seriesIndex)},clear=()=>{e.crosshair?.hide(),e.tooltip?.hide(),e.announcer.clear(),highlight(null),n=!1,e.onHover?.(null)},focus=(t,r,i)=>{let a=e.dims(),o=chartArea(a.width,a.height,e.margin),s=e.crosshair?.snap===!1&&r,c=eventFor(t,i),{datum:l,series:u}=c,d=e.tooltipFormat?.titleFormat?e.tooltipFormat.titleFormat(l.key):keyLabel(l.key),f=e.tooltipFormat?.valueFormat,p=describeValues(d,[{datum:l,series:u}],f??String);if(e.crosshair?.show(s?r.x:t.point.x,s?r.y:t.point.y,o.width,o.height),highlight(t),e.tooltip){let n={color:e.colors()[t.seriesIndex],name:u.name,value:f?f(l.value,l,u):String(l.value)};e.tooltip.show(t.point.x+e.margin.left,t.point.y+e.margin.top,l,u,comparisonContent(e.svg.ownerDocument,d,[n],p))}else e.announcer.announce(p);n=!0,e.onHover?.(c)},pointerHit=t=>{let n=renderedHit(t);if(n)return{hit:n,raw:n.point};let r=e.dims(),i=getMousePosition(e.svg,t,e.margin.left,e.margin.top),a=chartArea(r.width,r.height,e.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return null;let o=nearestHit(i);return o?{hit:o,raw:i}:null},onMouseMove=e=>{let t=pointerHit(e);t?focus(t.hit,t.raw,e):n&&clear()},onClick=t=>{if(!e.onClick)return;let n=pointerHit(t);n&&e.onClick(eventFor(n.hit,t))},onKeyDown=n=>{let r=orderedHits();if(r.length===0)return;let i=r.length-1,a={ArrowLeft:t<0?i:Math.max(0,t-1),ArrowRight:t<0?0:Math.min(i,t+1),End:i,Home:0};n.key in a?(n.preventDefault(),t=a[n.key],focus(r[t],null,n)):(n.key===`Enter`||n.key===` `)&&t>=0&&e.onClick?(n.preventDefault(),e.onClick(eventFor(r[t],n))):n.key===`Escape`&&(t=-1,clear())};return{onClick,onKeyDown,onMouseLeave:clear,onMouseMove}}var V=400,H=new WeakMap,U=new WeakMap;function computeScatterPoints(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 renderScatterPoints(e,t,n){let r=resolveMotion(n.transition),i=n.marks??[],a=n.pointRadius;for(H.get(e)?.(),H.delete(e);e.children.length>t.length;)e.lastChild.remove();let o=U.get(e)??[],s=[],c=t.map((t,r)=>{let a=e.children[r];return a?s.push(Number(a.getAttribute(`r`))||0):(a=createSvgElement(`circle`,{class:`prism-scatter-point`}),e.appendChild(a),s.push(0)),setAttributes(a,{fill:n.color,opacity:i[r]?.opacity}),a}),paint=(t,n)=>{for(let[e,r]of c.entries())setAttributes(r,{cx:t[e].x,cy:t[e].y,r:n(e)});U.set(e,t)};if(r.duration===0){paint(t,()=>a);return}let l=t.map((e,t)=>o[t]??e),u=t.map((e,t)=>t).filter(e=>e>=o.length),d=new Map([...u].sort((e,n)=>t[e].x-t[n].x).map((e,t)=>[e,t])),f=Math.min(r.stagger,V/Math.max(1,u.length)),paintFrame=e=>{let n=t.map((t,n)=>e(d.get(n)??0));paint(t.map((e,t)=>({x:tweenNumber(l[t].x,e.x,n[t]),y:tweenNumber(l[t].y,e.y,n[t])})),e=>tweenNumber(s[e],a,n[e]))};paintFrame(()=>0),H.set(e,startTween({count:Math.max(1,u.length),duration:r.duration,easing:resolveEasing(r.easing),onComplete:()=>{H.delete(e),paint(t,()=>a)},onFrame:paintFrame,signal:n.disposalSignal,stagger:f}))}function createScatterChart(e,t){let n=null,r=null,i=t.series;return createChartScaffold(e,t,(e,a)=>{let{groups:o,legend:s,tooltip:c}=e;s?.update(i.map((e,t)=>({color:seriesColor(t,e.color),name:e.name})));let l=e.dimensions,u=chartArea(l.width,l.height,l.margin),d=i.map(e=>e.data),f=d.flat().map(e=>e.key),p=d.flat().map(e=>e.value);if(f.length===0){clearCartesianDom(o,s,c,n),r?.replaceChildren();return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let m=buildXScale(f,u.width),h=buildYScale(p,u.height,!1),g=t.xAxis===!1?!1:t.xAxis??{},_=t.yAxis!==!1&&{grid:!0,...t.yAxis};for(_&&_.grid?renderGrid(o.grid,h,_.grid,u.width,`horizontal`,resolveTicks(h,_,resolveTickCount(_,u.height,`left`))):o.grid.replaceChildren(),g&&g.grid&&renderGrid(o.grid,m,g.grid,u.height,`vertical`,resolveTicks(m,g,resolveTickCount(g,u.width,`bottom`))),g?(positionAxis(o.xAxis,g.position??`bottom`,u.width,u.height),renderAxis(o.xAxis,m,g,u.width,`bottom`)):o.xAxis.replaceChildren(),_?(positionAxis(o.yAxis,_.position??`left`,u.width,u.height),renderAxis(o.yAxis,h,_,u.height,`left`)):o.yAxis.replaceChildren();o.series.children.length>i.length;)o.series.removeChild(o.series.lastChild);let v=[];for(let[n,r]of i.entries()){let i=o.series.children[n];i||(i=createSvgElement(`g`,{class:`prism-scatter-series`}),o.series.appendChild(i)),i.setAttribute(`data-series-id`,seriesDomId(r,n));let s=computeScatterPoints(r.data,m,h);v.push(s),renderScatterPoints(i,s,{color:seriesColor(n,r.color),disposalSignal:e.disposalSignal,marks:r.data,pointRadius:r.pointRadius??3,transition:a!==`resize`&&t.transition})}return c?.hide(),r=ensureMarkerGroup(e.chartArea,r),createScatterInteraction({announcer:e.announcer,colors:()=>i.map((e,t)=>seriesColor(t,e.color)),crosshair:n,dims:()=>e.dimensions,getData:()=>d,getPoints:()=>v,getSeriesList:()=>i,margin:l.margin,markers:r,onClick:t.onClick,onHover:t.onHover,seriesGroup:o.series,svg:e.svg,tooltip:c,tooltipFormat:typeof t.tooltip==`object`?t.tooltip:void 0})},e=>{i=e})}var W=5;function buildTopPoints(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 buildAreaPathFromPoints(e,t,n){return e.length===0?``:areaPath(e,e.map(e=>({x:e.x,y:t})),n??`linear`)}function buildPathFromPoints(e,t){return e.length===0?``:t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}function isStackData(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function buildRoundedStackRect(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 defaultStackColor(e){return`var(--prism-color-${e%8+1})`}function createSparkline(e,t){let n=t.variant??`line`,r=t.color??`var(--prism-color-1)`,i=t.curve??`linear`,a=t.strokeWidth??1.5,o=t.fillOpacity,s=t.showEndPoint??!0,c=uniqueId(`prism-spark-fill`),l=createTappers(),u=resolveMotion(t.transition),d=resolveEasing(u.easing),f=t.data,p=null,m=null,h=createChartBase(e,{a11y:t.a11y,margin:{bottom:0,left:0,right:0,top:0}},()=>{l.emit({height:h.dimensions.height,type:`resize`,width:h.dimensions.width}),renderAll()}),{svg:g}=h;g.classList.add(`prism-sparkline`);let _=createSvgElement(`g`,{class:`prism-spark-inner`});g.appendChild(_);let cleanupInteraction;function plotArea(){let{height:e,width:t}=h.dimensions,r=n===`line`||n===`area`?W:0;return{h:Math.max(1,e-r*2),inset:r,w:Math.max(1,t-r*2)}}function animateValues(e,t,n){m?.();let r=p?.length===e.length?p:e.map(()=>t);if(r.every((t,n)=>t===e[n])||u.duration===0){p=e,n(e);return}m=startTween({count:1,duration:u.duration,easing:d,onFrame:t=>{let i=t(0),a=e.map((e,t)=>tweenNumber(r[t],e,i));p=a,n(a)},signal:v.signal}),p=r,n(r)}function renderAll(){let{height:e,width:l}=h.dimensions,u=plotArea();for(;_.firstChild;)_.removeChild(_.firstChild);if(_.setAttribute(`transform`,`translate(${u.inset},${u.inset})`),f.length===0){p=null;return}if(!isStackData(f)&&f.some(e=>!Number.isFinite(e)),n===`stack`&&isStackData(f)){let n=createSvgElement(`g`,{class:`prism-spark-stack`});_.appendChild(n);let r=t.cornerRadius??4,i=f,a=i.reduce((e,t)=>e+Math.max(0,t.value),0),o=i.map((e,t)=>{let r=createSvgElement(`path`,{class:`prism-spark-stack-segment`});return setAttributes(r,{fill:e.color??defaultStackColor(t)}),n.appendChild(r),r});a>0?animateValues(i.map(e=>Math.max(0,e.value)),0,n=>{let i=n.reduce((e,t)=>e+t,0)||1,a=(t.padPixels??0)/2,s=0;n.forEach((t,c)=>{let u=Math.round(s);s+=t/i*l;let d=c===n.length-1?l:Math.round(s),f=c===0,p=c===n.length-1,m=u+(f?0:a),h=Math.max(0,d-u-(f?0:a)-(p?0:a));o[c]?.setAttribute(`d`,buildRoundedStackRect(m,0,h,e,r,f,p))})}):(m?.(),p=null)}else if(n===`bar`){let t=createSvgElement(`g`,{class:`prism-spark-bars`});_.appendChild(t);let n=f,i=Math.min(0,...n),a=Math.max(...n)-i||1,o=Math.max(1,l/n.length-1),s=l/n.length,c=n.map(()=>{let e=createSvgElement(`rect`,{class:`prism-spark-bar`,fill:r});return t.appendChild(e),e});animateValues(n,i,t=>{for(let[n,r]of c.entries()){let c=Math.max(1,(t[n]-i)/a*e);setAttributes(r,{height:c,width:o,x:n*s,y:e-c})}})}else{let e=f,t=Math.min(...e),l=Math.max(...e)-t||1,d=u.w/Math.max(1,e.length-1),pointsFromValues=e=>e.map((e,n)=>({x:n*d,y:u.h-(e-t)/l*u.h})),p=null;if(n===`area`){let e=createSvgElement(`defs`),t=createSvgElement(`linearGradient`,{id:c,x1:0,x2:0,y1:0,y2:1});for(let[e,n]of[[0,`prism-spark-stop-top`],[1,`prism-spark-stop-bottom`]]){let i=createSvgElement(`stop`,{class:n,offset:e,"stop-color":r});i.style.stopColor=r,t.appendChild(i)}e.appendChild(t),_.appendChild(e),p=createSvgElement(`path`,{class:`prism-spark-fill`}),setAttributes(p,{fill:`url(#${c})`,stroke:`none`}),p.style.fillOpacity=o===void 0?``:String(o),_.appendChild(p)}let m=createSvgElement(`path`,{class:`prism-spark-line`});setAttributes(m,{fill:`none`,stroke:r,"stroke-width":a}),_.appendChild(m);let h=s&&e.length>0?createSvgElement(`circle`,{class:`prism-spark-end`,fill:r,r:2.5}):null;h&&_.appendChild(h),animateValues(e,t,e=>{let t=pointsFromValues(e);setAttributes(m,{d:buildPathFromPoints(t,i)}),p&&setAttributes(p,{d:buildAreaPathFromPoints(t,u.h,i)});let n=t.at(-1);h&&n&&setAttributes(h,{cx:n.x,cy:n.y})})}isStackData(f)||attachInteraction(f)}function attachInteraction(e){if(cleanupInteraction?.(),cleanupInteraction=void 0,!t.onHover&&!t.onClick||e.length<=1)return;let{h:i,inset:a,w:o}=plotArea();g.style.cursor=`crosshair`;let s=o/(e.length-1),c=n===`bar`?[]:buildTopPoints(e,o,i),l=createSvgElement(`circle`,{class:`prism-spark-marker`,fill:r,r:3.5}),indexAt=t=>Math.max(0,Math.min(e.length-1,Math.round((t-g.getBoundingClientRect().left-a)/s)));l.style.display=`none`,_.appendChild(l);let handleMove=n=>{let r=indexAt(n.clientX),i=c[r];i&&(setAttributes(l,{cx:i.x,cy:i.y}),l.style.display=``),t.onHover?.({index:r,originalEvent:n,value:e[r]})},handleLeave=()=>{l.style.display=`none`,t.onHover?.(null)},handleClick=n=>{if(!t.onClick)return;let r=indexAt(n.clientX);t.onClick({index:r,originalEvent:n,value:e[r]})};g.addEventListener(`mousemove`,handleMove),g.addEventListener(`mouseleave`,handleLeave),g.addEventListener(`click`,handleClick),cleanupInteraction=()=>{g.removeEventListener(`mousemove`,handleMove),g.removeEventListener(`mouseleave`,handleLeave),g.removeEventListener(`click`,handleClick)}}let v=new AbortController,y=!1;try{return renderAll(),{get disposalSignal(){return v.signal},dispose(){y||(y=!0,l.emit({type:`dispose`}),l.stop(),v.abort(),cleanupInteraction?.(),h.dispose())},get disposed(){return y},el:g,tap:l.tap,update(e){if(y)throw new PrismRenderError(`Cannot update a disposed chart.`);f=e,renderAll()},[Symbol.dispose](){this.dispose()}}}catch(e){throw v.abort(),cleanupInteraction?.(),h.dispose(),e instanceof PrismRenderError?e:new PrismRenderError(`Failed to render chart.`,{cause:e})}}export{PrismError,PrismRenderError,bandScale,createAreaChart,createBarChart,createLineChart,createPieChart,createRadarChart,createScatterChart,createSparkline,linearScale,resetTheme,seriesColor,setTheme,timeScale};
2
2
  //# sourceMappingURL=prism.js.map