@vielzeug/prism 3.0.0 → 26.10.1

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 (231) hide show
  1. package/README.md +2 -2
  2. package/dist/_dev.cjs +1 -1
  3. package/dist/_dev.cjs.map +1 -1
  4. package/dist/_dev.js +1 -5
  5. package/dist/_dev.js.map +1 -1
  6. package/dist/animation/easing.cjs +1 -1
  7. package/dist/animation/easing.cjs.map +1 -1
  8. package/dist/animation/easing.js +1 -13
  9. package/dist/animation/easing.js.map +1 -1
  10. package/dist/animation/motion.cjs +1 -1
  11. package/dist/animation/motion.cjs.map +1 -1
  12. package/dist/animation/motion.js +1 -12
  13. package/dist/animation/motion.js.map +1 -1
  14. package/dist/animation/transition.cjs +1 -1
  15. package/dist/animation/transition.cjs.map +1 -1
  16. package/dist/animation/transition.js +1 -28
  17. package/dist/animation/transition.js.map +1 -1
  18. package/dist/animation/tween.cjs +1 -1
  19. package/dist/animation/tween.cjs.map +1 -1
  20. package/dist/animation/tween.js +1 -7
  21. package/dist/animation/tween.js.map +1 -1
  22. package/dist/axes/axis.cjs +1 -1
  23. package/dist/axes/axis.cjs.map +1 -1
  24. package/dist/axes/axis.d.ts +2 -2
  25. package/dist/axes/axis.d.ts.map +1 -1
  26. package/dist/axes/axis.js +1 -63
  27. package/dist/axes/axis.js.map +1 -1
  28. package/dist/axes/grid.cjs +1 -1
  29. package/dist/axes/grid.cjs.map +1 -1
  30. package/dist/axes/grid.js +1 -29
  31. package/dist/axes/grid.js.map +1 -1
  32. package/dist/axes/scale-utils.cjs +1 -1
  33. package/dist/axes/scale-utils.cjs.map +1 -1
  34. package/dist/axes/scale-utils.d.ts +1 -1
  35. package/dist/axes/scale-utils.js +1 -10
  36. package/dist/axes/scale-utils.js.map +1 -1
  37. package/dist/charts/area/area-chart.cjs +1 -1
  38. package/dist/charts/area/area-chart.cjs.map +1 -1
  39. package/dist/charts/area/area-chart.d.ts.map +1 -1
  40. package/dist/charts/area/area-chart.js +1 -57
  41. package/dist/charts/area/area-chart.js.map +1 -1
  42. package/dist/charts/area/area-renderer.cjs +1 -1
  43. package/dist/charts/area/area-renderer.cjs.map +1 -1
  44. package/dist/charts/area/area-renderer.d.ts +4 -2
  45. package/dist/charts/area/area-renderer.d.ts.map +1 -1
  46. package/dist/charts/area/area-renderer.js +1 -73
  47. package/dist/charts/area/area-renderer.js.map +1 -1
  48. package/dist/charts/bar/bar-chart.cjs +1 -1
  49. package/dist/charts/bar/bar-chart.cjs.map +1 -1
  50. package/dist/charts/bar/bar-chart.d.ts.map +1 -1
  51. package/dist/charts/bar/bar-chart.js +1 -169
  52. package/dist/charts/bar/bar-chart.js.map +1 -1
  53. package/dist/charts/bar/bar-hit-test.cjs +1 -1
  54. package/dist/charts/bar/bar-hit-test.cjs.map +1 -1
  55. package/dist/charts/bar/bar-hit-test.d.ts +0 -5
  56. package/dist/charts/bar/bar-hit-test.d.ts.map +1 -1
  57. package/dist/charts/bar/bar-hit-test.js +1 -29
  58. package/dist/charts/bar/bar-hit-test.js.map +1 -1
  59. package/dist/charts/bar/bar-renderer.cjs +1 -1
  60. package/dist/charts/bar/bar-renderer.cjs.map +1 -1
  61. package/dist/charts/bar/bar-renderer.d.ts +1 -1
  62. package/dist/charts/bar/bar-renderer.d.ts.map +1 -1
  63. package/dist/charts/bar/bar-renderer.js +1 -106
  64. package/dist/charts/bar/bar-renderer.js.map +1 -1
  65. package/dist/charts/line/line-chart.cjs +1 -1
  66. package/dist/charts/line/line-chart.cjs.map +1 -1
  67. package/dist/charts/line/line-chart.d.ts.map +1 -1
  68. package/dist/charts/line/line-chart.js +1 -58
  69. package/dist/charts/line/line-chart.js.map +1 -1
  70. package/dist/charts/line/line-renderer.cjs +1 -1
  71. package/dist/charts/line/line-renderer.cjs.map +1 -1
  72. package/dist/charts/line/line-renderer.d.ts +3 -2
  73. package/dist/charts/line/line-renderer.d.ts.map +1 -1
  74. package/dist/charts/line/line-renderer.js +1 -100
  75. package/dist/charts/line/line-renderer.js.map +1 -1
  76. package/dist/charts/pie/pie-chart.cjs +1 -1
  77. package/dist/charts/pie/pie-chart.cjs.map +1 -1
  78. package/dist/charts/pie/pie-chart.d.ts.map +1 -1
  79. package/dist/charts/pie/pie-chart.js +1 -165
  80. package/dist/charts/pie/pie-chart.js.map +1 -1
  81. package/dist/charts/pie/pie-renderer.cjs +1 -1
  82. package/dist/charts/pie/pie-renderer.cjs.map +1 -1
  83. package/dist/charts/pie/pie-renderer.d.ts.map +1 -1
  84. package/dist/charts/pie/pie-renderer.js +1 -76
  85. package/dist/charts/pie/pie-renderer.js.map +1 -1
  86. package/dist/charts/radar/index.d.ts +2 -0
  87. package/dist/charts/radar/index.d.ts.map +1 -0
  88. package/dist/charts/radar/radar-chart.cjs +2 -0
  89. package/dist/charts/radar/radar-chart.cjs.map +1 -0
  90. package/dist/charts/radar/radar-chart.d.ts +3 -0
  91. package/dist/charts/radar/radar-chart.d.ts.map +1 -0
  92. package/dist/charts/radar/radar-chart.js +2 -0
  93. package/dist/charts/radar/radar-chart.js.map +1 -0
  94. package/dist/charts/radar/radar-geometry.cjs +2 -0
  95. package/dist/charts/radar/radar-geometry.cjs.map +1 -0
  96. package/dist/charts/radar/radar-geometry.d.ts +22 -0
  97. package/dist/charts/radar/radar-geometry.d.ts.map +1 -0
  98. package/dist/charts/radar/radar-geometry.js +2 -0
  99. package/dist/charts/radar/radar-geometry.js.map +1 -0
  100. package/dist/charts/sparkline/sparkline.cjs +1 -1
  101. package/dist/charts/sparkline/sparkline.cjs.map +1 -1
  102. package/dist/charts/sparkline/sparkline.d.ts.map +1 -1
  103. package/dist/charts/sparkline/sparkline.js +1 -191
  104. package/dist/charts/sparkline/sparkline.js.map +1 -1
  105. package/dist/core/cartesian-model.cjs +1 -1
  106. package/dist/core/cartesian-model.cjs.map +1 -1
  107. package/dist/core/cartesian-model.js +1 -30
  108. package/dist/core/cartesian-model.js.map +1 -1
  109. package/dist/core/cartesian-scales.cjs +1 -1
  110. package/dist/core/cartesian-scales.cjs.map +1 -1
  111. package/dist/core/cartesian-scales.js +1 -37
  112. package/dist/core/cartesian-scales.js.map +1 -1
  113. package/dist/core/chart-base.cjs +1 -1
  114. package/dist/core/chart-base.cjs.map +1 -1
  115. package/dist/core/chart-base.d.ts +9 -0
  116. package/dist/core/chart-base.d.ts.map +1 -1
  117. package/dist/core/chart-base.js +1 -53
  118. package/dist/core/chart-base.js.map +1 -1
  119. package/dist/core/chart-scaffold.cjs +1 -1
  120. package/dist/core/chart-scaffold.cjs.map +1 -1
  121. package/dist/core/chart-scaffold.d.ts +7 -3
  122. package/dist/core/chart-scaffold.d.ts.map +1 -1
  123. package/dist/core/chart-scaffold.js +1 -89
  124. package/dist/core/chart-scaffold.js.map +1 -1
  125. package/dist/core/ids.cjs +2 -0
  126. package/dist/core/ids.cjs.map +1 -0
  127. package/dist/core/ids.d.ts +3 -0
  128. package/dist/core/ids.d.ts.map +1 -0
  129. package/dist/core/ids.js +2 -0
  130. package/dist/core/ids.js.map +1 -0
  131. package/dist/core/layout.cjs +1 -1
  132. package/dist/core/layout.cjs.map +1 -1
  133. package/dist/core/layout.js +1 -22
  134. package/dist/core/layout.js.map +1 -1
  135. package/dist/core/polar.cjs +2 -0
  136. package/dist/core/polar.cjs.map +1 -0
  137. package/dist/core/polar.d.ts +5 -0
  138. package/dist/core/polar.d.ts.map +1 -0
  139. package/dist/core/polar.js +2 -0
  140. package/dist/core/polar.js.map +1 -0
  141. package/dist/core/responsive.cjs +1 -1
  142. package/dist/core/responsive.cjs.map +1 -1
  143. package/dist/core/responsive.js +1 -19
  144. package/dist/core/responsive.js.map +1 -1
  145. package/dist/devtools/index.d.ts +1 -1
  146. package/dist/devtools.cjs +1 -1
  147. package/dist/devtools.cjs.map +1 -1
  148. package/dist/devtools.js +1 -18
  149. package/dist/devtools.js.map +1 -1
  150. package/dist/errors.cjs +1 -1
  151. package/dist/errors.cjs.map +1 -1
  152. package/dist/errors.d.ts +1 -1
  153. package/dist/errors.d.ts.map +1 -1
  154. package/dist/errors.js +1 -9
  155. package/dist/errors.js.map +1 -1
  156. package/dist/index.cjs +1 -1
  157. package/dist/index.d.ts +2 -1
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +1 -11
  160. package/dist/interaction/announcer.cjs +2 -0
  161. package/dist/interaction/announcer.cjs.map +1 -0
  162. package/dist/interaction/announcer.d.ts +13 -0
  163. package/dist/interaction/announcer.d.ts.map +1 -0
  164. package/dist/interaction/announcer.js +2 -0
  165. package/dist/interaction/announcer.js.map +1 -0
  166. package/dist/interaction/crosshair.cjs +1 -1
  167. package/dist/interaction/crosshair.cjs.map +1 -1
  168. package/dist/interaction/crosshair.d.ts +1 -5
  169. package/dist/interaction/crosshair.d.ts.map +1 -1
  170. package/dist/interaction/crosshair.js +1 -45
  171. package/dist/interaction/crosshair.js.map +1 -1
  172. package/dist/interaction/events.cjs +1 -1
  173. package/dist/interaction/events.cjs.map +1 -1
  174. package/dist/interaction/events.js +1 -11
  175. package/dist/interaction/events.js.map +1 -1
  176. package/dist/interaction/legend.cjs +1 -1
  177. package/dist/interaction/legend.cjs.map +1 -1
  178. package/dist/interaction/legend.js +1 -30
  179. package/dist/interaction/legend.js.map +1 -1
  180. package/dist/interaction/series-interaction.cjs +1 -1
  181. package/dist/interaction/series-interaction.cjs.map +1 -1
  182. package/dist/interaction/series-interaction.d.ts +11 -1
  183. package/dist/interaction/series-interaction.d.ts.map +1 -1
  184. package/dist/interaction/series-interaction.js +1 -97
  185. package/dist/interaction/series-interaction.js.map +1 -1
  186. package/dist/interaction/tooltip.cjs +1 -1
  187. package/dist/interaction/tooltip.cjs.map +1 -1
  188. package/dist/interaction/tooltip.d.ts +12 -1
  189. package/dist/interaction/tooltip.d.ts.map +1 -1
  190. package/dist/interaction/tooltip.js +1 -63
  191. package/dist/interaction/tooltip.js.map +1 -1
  192. package/dist/prism.cjs +1 -1
  193. package/dist/prism.cjs.map +1 -1
  194. package/dist/prism.iife.js +1 -1
  195. package/dist/prism.iife.js.map +1 -1
  196. package/dist/prism.js +1 -1
  197. package/dist/prism.js.map +1 -1
  198. package/dist/scales/band.cjs +1 -1
  199. package/dist/scales/band.cjs.map +1 -1
  200. package/dist/scales/band.js +1 -39
  201. package/dist/scales/band.js.map +1 -1
  202. package/dist/scales/linear.cjs +1 -1
  203. package/dist/scales/linear.cjs.map +1 -1
  204. package/dist/scales/linear.js +1 -43
  205. package/dist/scales/linear.js.map +1 -1
  206. package/dist/scales/time.cjs +1 -1
  207. package/dist/scales/time.cjs.map +1 -1
  208. package/dist/scales/time.js +1 -61
  209. package/dist/scales/time.js.map +1 -1
  210. package/dist/svg/element.cjs +1 -1
  211. package/dist/svg/element.cjs.map +1 -1
  212. package/dist/svg/element.js +1 -22
  213. package/dist/svg/element.js.map +1 -1
  214. package/dist/svg/path.cjs +1 -1
  215. package/dist/svg/path.cjs.map +1 -1
  216. package/dist/svg/path.js +1 -48
  217. package/dist/svg/path.js.map +1 -1
  218. package/dist/svg/text.cjs +1 -1
  219. package/dist/svg/text.cjs.map +1 -1
  220. package/dist/svg/text.d.ts +1 -0
  221. package/dist/svg/text.d.ts.map +1 -1
  222. package/dist/svg/text.js +1 -9
  223. package/dist/svg/text.js.map +1 -1
  224. package/dist/theme/index.cjs +1 -1
  225. package/dist/theme/index.cjs.map +1 -1
  226. package/dist/theme/index.js +1 -19
  227. package/dist/theme/index.js.map +1 -1
  228. package/dist/theme/prism.css +214 -7
  229. package/dist/types.d.ts +65 -5
  230. package/dist/types.d.ts.map +1 -1
  231. package/package.json +6 -5
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 a(e,t){let n=document.createElementNS(i,e);return t&&o(n,t),n}function o(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 s(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function c(e,t){let n=a(`text`,t);return n.textContent=e,n}function l(e){return typeof e.bandwidth==`function`}function u(e,t){return l(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var d=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):String(e);function f(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 p(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 m(e,t,n,r,i=`bottom`){s(e);let l=n.position??i,f=l===`bottom`||l===`top`,m=l===`top`||l===`left`,h=m?-1:1,g=a(`line`,{"aria-hidden":`true`,class:`prism-axis-line`,x1:0,x2:f?r:0,y1:0,y2:f?0:r});e.appendChild(g);let _=t.ticks(p(n,r,i)),v=n.tickFormat??d;for(let n of _){let r=u(t,n),i=a(`line`,{"aria-hidden":`true`,class:`prism-axis-tick`,x1:f?r:0,x2:f?r:6*h,y1:f?0:r,y2:f?6*h:r});e.appendChild(i);let o=c(v(n),{"aria-hidden":`true`,class:`prism-axis-label`,"dominant-baseline":f?m?`auto`:`hanging`:`middle`,"text-anchor":f?`middle`:m?`end`:`start`,x:f?r:6*h*1.5,y:f?6*h*1.5:r});e.appendChild(o)}if(n.label){let t=c(n.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});f?o(t,{x:r/2,y:6*h*6}):o(t,{transform:`translate(${6*h*7}, ${r/2}) rotate(-90)`}),e.appendChild(t)}}function h(e,t,n,r,i,o=10){s(e);let c=n!==!0&&n.color||void 0,l=n!==!0&&n.dash||void 0,d=t.ticks(o);for(let n of d){let o=u(t,n),s={class:`prism-grid-line`,stroke:c??`var(--prism-grid-color)`,"stroke-dasharray":l,"stroke-opacity":`var(--prism-grid-opacity)`};i===`vertical`?Object.assign(s,{x1:o,x2:o,y1:0,y2:r}):Object.assign(s,{x1:0,x2:r,y1:o,y2:o}),e.appendChild(a(`line`,s))}}function g(e,t){let n=Math.floor(Math.log10(e)),r=e/10**n,i;return i=t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,i*10**n}function _(e,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=g(g(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function v(e){let t=()=>e.nice===!1?e.domain:_(e.domain[0],e.domain[1],10),n=()=>e.range;return{get domain(){return t()},invert(e){let[r,i]=t(),[a,o]=n();return o===a?r:r+(e-a)/(o-a)*(i-r)},map(r){let[i,a]=t(),[o,s]=n();if(a===i)return o;let c=(r-i)/(a-i);return e.clamp&&(c=Math.max(0,Math.min(1,c))),o+c*(s-o)},get range(){return n()},ticks(e=10){if(e<=0)return[];let[n,r]=t();if(n===r||e===1)return[n];let i=Math.min(n,r),a=Math.max(n,r),o=g(g(a-i,!1)/(e-1),!0),s=Math.ceil(i/o)*o,c=Math.floor(a/o)*o,l=[];for(let e=s;e<=c+o*.5;e+=o)l.push(Math.round(e*0xe8d4a51000)/0xe8d4a51000);return l}}}var y=1e3,b=60*y,x=60*b,S=24*x,C=30*S,w=365*S,T=[y,5*y,15*y,30*y,b,5*b,15*b,30*b,x,3*x,6*x,12*x,S,7*S,C,3*C,6*C,w];function E(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of T)if(e>=n)return e;return w}function D(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=E(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function O(e){let t=()=>e.nice===!1?e.domain:D(e.domain,10),n=()=>e.range;return{get domain(){return t()},invert(e){let[r,i]=t(),[a,o]=n();if(o===a)return r;let s=(e-a)/(o-a);return new Date(r.getTime()+s*(i.getTime()-r.getTime()))},map(e){let[r,i]=t(),[a,o]=n(),s=i.getTime()-r.getTime();return s===0?a:a+(e.getTime()-r.getTime())/s*(o-a)},get range(){return n()},ticks(e=10){let[n,r]=t(),i=E(r.getTime()-n.getTime(),e),a=Math.ceil(n.getTime()/i)*i,o=[];for(let e=a;e<=r.getTime();e+=i)o.push(new Date(e));return o}}}function k(e,t){if(e.length===0||e.some(e=>e==null)||e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return v({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 O({domain:[new Date(r),new Date(r===i?i+1:i)],range:[0,t]})}let n=e,r=Math.min(...n),i=Math.max(...n);return v({domain:[r,r===i?i+1:i],nice:!1,range:[0,t]})}function A(e,t,n=!0){if(e.length===0||e.some(e=>e==null)||e.some(e=>!Number.isFinite(e)))return v({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return v({domain:[i,i===a?a+1:a],range:[t,0]})}var j=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},M=class extends j{};function N(e){return e===!0?`bottom`:e.position??`bottom`}function ee(e,t){let n=N(t),r=document.createElement(`div`);r.className=`prism-legend prism-legend-${n}`,n===`top`?e.insertBefore(r,e.firstChild):e.appendChild(r);let i=()=>{r.remove()};return{dispose:i,el:r,[Symbol.dispose]:i,update(e){r.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)}}}}function te(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,d=null,f=null,p=!1,m=()=>{f!==null&&(clearTimeout(f),f=null)},h=()=>{d!==null&&(cancelAnimationFrame(d),d=null)},g=()=>{h(),m(),c.remove(),s&&i.style.position===`relative`&&(i.style.position=o)};return{dispose:g,el:c,hide(){h(),m(),p=!1,c.style.opacity=`0`,f=setTimeout(()=>{f=null,p||(c.textContent=``)},150)},show(a,o,s,f){if(!i.isConnected)return;if(m(),u){let e=u(s,f);typeof e==`string`?c.textContent=e:c.replaceChildren(e)}else c.textContent=`${f.name}: ${s.value}`;let{x:h,y:g}=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=`${h}px`,c.style.top=`${g}px`,p){d===null&&(c.style.opacity=`1`);return}p=!0,c.style.opacity=`0`,d=requestAnimationFrame(()=>{d=null,p&&(c.style.opacity=`1`)})},[Symbol.dispose]:g}}var ne={bottom:48,left:50,right:20,top:20};function re(e){return{...ne,...e}}function P(e,t,n){return{height:Math.max(0,t-n.top-n.bottom),width:Math.max(0,e-n.left-n.right)}}function ie(e,t){let n=null,r=new ResizeObserver(e=>{n!==null&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{n=null;let r=e[0];if(r){let{height:e,width:n}=r.contentRect;t(n,e)}})});return r.observe(e),()=>{n!==null&&cancelAnimationFrame(n),r.disconnect()}}function ae(e,t,n){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new M(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let r=re(t.margin),i=t.a11y,s=a(`svg`,{...!i||i.decorative?{"aria-hidden":`true`}:{"aria-label":i.ariaLabel,role:`img`,tabindex:`0`},class:`prism-chart`,style:`display:block;width:100%;height:100%`}),c=a(`g`,{class:`prism-chart-area`,transform:`translate(${r.left},${r.top})`});s.appendChild(c);let l=e.getBoundingClientRect();l.width===0||l.height;let u={height:l.height||300,margin:r,width:l.width||600},d=ie(e,(e,t)=>{u.height=t,u.width=e,o(s,{height:t,viewBox:`0 0 ${e} ${t}`,width:e}),n?.()}),f=l.width||600,p=l.height||300;return o(s,{height:p,viewBox:`0 0 ${f} ${p}`,width:f}),e.appendChild(s),{chartArea:c,dimensions:u,dispose(){d(),s.remove()},svg:s}}function oe(e,t,n,r){s(e.series),s(e.grid),s(e.xAxis),s(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function se(e,t,n,r,i){let a=()=>{},o=ae(e,{a11y:t.a11y,margin:t.margin},()=>a()),s=t.tooltip?te(e,t.tooltip):null,c=t.legend?ee(e,t.legend):null,l=new AbortController,u=n(o,s,c,l.signal),d=!1,f=ce(o.svg);a=()=>{d||f.attach(r(u))};try{a()}catch(e){throw d=!0,l.abort(),f.detach(),s?.dispose(),c?.dispose(),o.dispose(),e instanceof M?e:new M(`Failed to render chart.`,{cause:e})}return{get disposalSignal(){return l.signal},dispose(){d||(d=!0,l.abort(),f.detach(),s?.dispose(),c?.dispose(),o.dispose())},get disposed(){return d},el:o.svg,update(e){if(d)throw new M(`Cannot update a disposed chart.`);i(e),a()},[Symbol.dispose](){this.dispose()}}}function ce(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 F(e,t,n,r){return se(e,t,(t,n,r,i)=>{let o={grid:a(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:a(`g`,{class:`prism-series`}),xAxis:a(`g`,{class:`prism-x-axis`}),yAxis:a(`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),{chartArea:t.chartArea,container:e,dimensions:t.dimensions,disposalSignal:i,groups:o,legend:r,svg:t.svg,tooltip:n}},n,r)}function le(e,t,n,r){return se(e,t,(t,n,r,i)=>({container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n,r)}function ue(e,t){let n=t===!0||t?.vertical!==!1,r=t!==!0&&t?.horizontal===!0,i=t===!0||t?.snap!==!1,s=a(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),c=n?a(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,l=r?a(`line`,{class:`prism-crosshair-h`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null;c&&s.appendChild(c),l&&s.appendChild(l),e.appendChild(s);let u=a(`text`,{"aria-live":`polite`,class:`prism-crosshair-live`,role:`status`,x:-9999,y:-9999});return e.appendChild(u),{hide(){s.style.display=`none`,u.textContent=``},show(e,t,n,r,i){s.style.display=``,c&&o(c,{x1:e,x2:e,y1:0,y2:r}),l&&o(l,{x1:0,x2:n,y1:t,y2:t}),i!==void 0&&(u.textContent=i)},snap:i}}function I(e){return e instanceof Date?`date:${e.getTime()}`:`${typeof e}:${String(e)}`}function de(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=I(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 L(e,t,n,r){let i=e.getBoundingClientRect();return{x:t.clientX-i.left-n,y:t.clientY-i.top-r}}function fe(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 R(e,t,n,r){let i=I(n),a=null,o=1/0;for(let n=0;n<t.length;n++){let s=e[n]?.findIndex(e=>I(e.key)===i)??-1,c=s===-1?void 0:e[n]?.[s],l=s===-1?void 0:t[n]?.[s];if(!c||!l)continue;let u=Number.isFinite(r)?Math.abs(l.y-r):0;u<o&&(o=u,a={datum:c,point:l,seriesIndex:n})}return a}function pe(e){let t=0;return{onClick:t=>{if(!e.onClick)return;let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),i=L(e.svg,t,r.margin.left,r.margin.top),a=P(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height)return;let o=fe(e.getData(),n,i.x);if(o===null)return;let s=R(e.getData(),n,o,i.y),c=s?e.getSeriesList()[s.seriesIndex]:void 0;s&&c&&e.onClick({datum:s.datum,originalEvent:t,series:c})},onKeyDown:n=>{let r=e.getData(),i=e.getPoints(),a=[...new Map(r.flat().map(e=>[I(e.key),e.key])).values()];if(a.length!==0){if(n.key===`ArrowLeft`||n.key===`ArrowRight`){n.preventDefault(),t=Math.max(0,Math.min(a.length-1,t+(n.key===`ArrowLeft`?-1:1)));let o=a[t],s=R(r,i,o,1/0),c=s?e.getSeriesList()[s.seriesIndex]:void 0;if(!s||!c)return;let l=e.tooltip?void 0:`${c.name}: ${s.datum.value}`;e.crosshair?.show(s.point.x,s.point.y,e.dims().width,e.dims().height,l),e.tooltip?.show(s.point.x+e.dims().margin.left,s.point.y+e.dims().margin.top,s.datum,c),e.onHover?.({datum:s.datum,originalEvent:n,series:c})}if((n.key===`Enter`||n.key===` `)&&e.onClick){n.preventDefault();let o=a[t],s=R(r,i,o,1/0),c=s?e.getSeriesList()[s.seriesIndex]:void 0;s&&c&&e.onClick({datum:s.datum,originalEvent:n,series:c})}n.key===`Escape`&&(e.crosshair?.hide(),e.tooltip?.hide(),e.onHover?.(null))}},onMouseLeave:()=>{e.crosshair?.hide(),e.tooltip?.hide(),e.onHover?.(null)},onMouseMove:t=>{let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),i=L(e.svg,t,r.margin.left,r.margin.top),a=P(r.width,r.height,r.margin);if(i.x<0||i.x>a.width||i.y<0||i.y>a.height){e.crosshair?.hide(),e.tooltip?.hide();return}let o=fe(e.getData(),n,i.x);if(o===null)return;let s=R(e.getData(),n,o,i.y),c=s?e.getSeriesList()[s.seriesIndex]:void 0,l=e.crosshair?.snap===!1?i.x:s?.point.x??i.x,u=e.crosshair?.snap===!1?i.y:s?.point.y??i.y,d=!e.tooltip&&c&&s?`${c.name}: ${s.datum.value}`:void 0;e.crosshair?.show(l,u,a.width,a.height,d),s&&c&&(e.tooltip?.show(s.point.x+r.margin.left,s.point.y+r.margin.top,s.datum,c),e.onHover?.({datum:s.datum,originalEvent:t,series:c}))}}}var z=8;function me(e){let t=document.documentElement;if(e.colors)for(let n=0;n<z;n++){let r=e.colors[n];r?t.style.setProperty(`--prism-color-${n+1}`,r):t.style.removeProperty(`--prism-color-${n+1}`)}e.fontFamily&&t.style.setProperty(`--prism-font-family`,e.fontFamily),e.gridColor&&t.style.setProperty(`--prism-grid-color`,e.gridColor),e.gridOpacity!==void 0&&t.style.setProperty(`--prism-grid-opacity`,String(e.gridOpacity))}function he(){let e=document.documentElement;for(let t=1;t<=z;t++)e.style.removeProperty(`--prism-color-${t}`);e.style.removeProperty(`--prism-font-family`),e.style.removeProperty(`--prism-grid-color`),e.style.removeProperty(`--prism-grid-opacity`)}function B(e,t){return t??`var(--prism-color-${e%z+1})`}var ge={"ease-in":e=>e*e,"ease-in-out":e=>e<.5?2*e*e:1-(-2*e+2)**2/2,"ease-out":e=>1-(1-e)*(1-e),linear:e=>e};function V(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(ge,e)?ge[e]:ge[`ease-out`]}function H(e,t=300){let n=e?.preference??`system`,r=typeof matchMedia<`u`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches,i=n===`never`||n===`system`&&r?0:e?.duration??t;return{...e,duration:i,stagger:Math.max(0,e?.stagger??0)}}function U(e,t,n){return e+(t-e)*n}function W(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++)t+=`L${e[n].x},${e[n].y}`;return t}function G(e){if(e.length<3)return W(e);let t=e.length,n=[];for(let r=0;r<t;r++)r===0?n.push({x:e[1].x-e[0].x,y:e[1].y-e[0].y}):r===t-1?n.push({x:e[t-1].x-e[t-2].x,y:e[t-1].y-e[t-2].y}):n.push({x:(e[r+1].x-e[r-1].x)/2,y:(e[r+1].y-e[r-1].y)/2});let r=`M${e[0].x},${e[0].y}`;for(let i=0;i<t-1;i++){let t=e[i],a=e[i+1],o=n[i],s=n[i+1],c=(a.x-t.x)/3;r+=`C${t.x+c},${t.y+o.y/3},${a.x-c},${a.y-s.y/3},${a.x},${a.y}`}return r}function K(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++){let r=(e[n-1].x+e[n].x)/2;t+=`H${r}V${e[n].y}H${e[n].x}`}return t}function q(e,t,n=`linear`){if(e.length===0)return``;let r=n===`monotone`?G(e):n===`step`?K(e):W(e),i=[...t].reverse();if(i.length>0){r+=`L${i[0].x},${i[0].y}`;for(let e=1;e<i.length;e++)r+=`L${i[e].x},${i[e].y}`}return r+=`Z`,r}var J=new WeakMap,Y=new WeakMap;function _e(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function ve(e,t,n,r){let i=H(r.transition,0),s=i.duration,c=V(i.easing),l=e.querySelector(`.prism-area-fill`);l||(l=a(`path`,{class:`prism-area-fill`}),e.appendChild(l)),o(l,{fill:r.color,"fill-opacity":r.fillOpacity,stroke:`none`});let u=null;if(r.showLine?(u=e.querySelector(`.prism-area-line`),u||(u=a(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(u)),o(u,{stroke:r.color,"stroke-width":2})):e.querySelector(`.prism-area-line`)?.remove(),s===0){let e=t.map(e=>({x:e.x,y:n}));o(l,{d:q(t,e,r.curve)}),u&&o(u,{d:_e(t,r.curve)});return}if(J.get(e)?.(),!l.hasAttribute(`d`)){let i=t.map(e=>({x:e.x,y:n}));o(l,{d:q(t,i,r.curve)}),u&&o(u,{d:_e(t,r.curve)}),Y.set(e,t);return}let d=Y.get(e)??t,f=t.map((e,n)=>d[n]??d[d.length-1]??t[n]),p=null;function m(i){if(r.disposalSignal?.aborted){J.delete(e);return}p===null&&(p=i);let a=Math.min(1,(i-p)/s),d=c(a),h=t.map((e,t)=>({x:U(f[t].x,e.x,d),y:U(f[t].y,e.y,d)})),g=h.map(e=>({x:e.x,y:n}));if(o(l,{d:q(h,g,r.curve)}),u&&o(u,{d:_e(h,r.curve)}),a<1){let t=requestAnimationFrame(m);J.set(e,()=>cancelAnimationFrame(t))}else J.delete(e),Y.set(e,t)}Y.set(e,f);let h=requestAnimationFrame(m);J.set(e,()=>cancelAnimationFrame(h))}function ye(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 be(e,t){let n=null,r=t.series;return F(e,t,e=>{let{groups:i,legend:o,tooltip:s}=e,c=e.dimensions,l=P(c.width,c.height,c.margin),u=r.map(e=>e.data),d=u.flat().map(e=>e.key),g=u.flat().map(e=>e.value);if(d.length===0){oe(i,o,s,n);return}t.crosshair&&!n&&(n=ue(e.chartArea,t.crosshair));let _=k(d,l.width),v=A(g,l.height),y=v.map(0);for(t.yAxis?.grid&&h(i.grid,v,t.yAxis.grid,l.width,`horizontal`,p(t.yAxis,l.height,`left`)),t.xAxis?.grid&&h(i.grid,_,t.xAxis.grid,l.height,`vertical`,p(t.xAxis,l.width,`bottom`)),t.xAxis&&(f(i.xAxis,t.xAxis.position??`bottom`,l.width,l.height),m(i.xAxis,_,t.xAxis,l.width,`bottom`)),t.yAxis&&(f(i.yAxis,t.yAxis.position??`left`,l.width,l.height),m(i.yAxis,v,t.yAxis,l.height,`left`));i.series.children.length>r.length;)i.series.removeChild(i.series.lastChild);let b=[];for(let n=0;n<r.length;n++){let o=r[n],s=i.series.children[n];s||(s=a(`g`,{class:`prism-area-series`}),i.series.appendChild(s));let c=ye(u[n],_,v);b.push(c),ve(s,c,y,{color:B(n,o.color),curve:o.curve??`linear`,disposalSignal:e.disposalSignal,fillOpacity:o.fillOpacity??.3,showLine:o.showLine!==!1,transition:t.transition})}return o?.update(r.map((e,t)=>({color:B(t,e.color),name:e.name}))),s?.hide(),pe({crosshair:n,dims:()=>e.dimensions,getData:()=>u,getPoints:()=>b,getSeriesList:()=>r,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:s})},e=>{r=e})}function xe(e){let t=()=>e.domain,n=()=>e.range,r=()=>{let r=t().length;if(r===0)return 0;let[i,a]=n(),o=e.padding??.1;return(a-i)/(r+(r-1)*o+(e.paddingOuter??o)*2)};return{bandwidth:r,get domain(){return t()},gap(){let t=e.padding??.1;return r()*t},map(i){let a=t().indexOf(i);if(a===-1)return`${i}`,0;let[o]=n(),s=r(),c=e.padding??.1;return o+(e.paddingOuter??c)*s+a*(s+s*c)},get range(){return n()},ticks(e){let n=t();if(e===void 0||e>=n.length)return[...n];if(e<=0)return[];let r=Math.ceil(n.length/e);return n.filter((e,t)=>t%r===0)}}}function Se(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 Ce(e,t,n,r,i){if(r.stacked){if(r.horizontal){for(let n=0;n<i;n++)if(r.valueScale.map(r.stackedTops[n]?.[t]??0)>=e.x)return n;return i-1}for(let n=0;n<i;n++)if(r.valueScale.map(r.stackedTops[n]?.[t]??0)<=e.y)return n;return i-1}{let a=r.bandwidth/i,o=r.bandCenter(n[t])-r.bandwidth/2,s=r.horizontal?e.y-o:e.x-o,c=Math.floor(s/a);return Math.max(0,Math.min(i-1,c))}}function we(e,t,n,r,i){let a=i-1,o=r.stacked?r.stackedTops[a]?.[t]??0:Math.max(...Array.from({length:i},(e,r)=>n[r]?.[t]?.value??0)),s=r.valueScale.map(o);return r.horizontal?e.x>s:e.y<s}function Te(e,t,n,r){let i=H(t),a=i.duration,o=V(i.easing),s=i.stagger;if(a===0||e.length===0){for(let t of e)for(let[e,{to:n}]of Object.entries(t.attrs))t.el.setAttribute(e,String(n));return n?.(),()=>{}}let c=null,l=!1,u=Math.max(a,a+s*(e.length-1));function d(t){if(l||r?.aborted)return;c===null&&(c=t);let i=t-c;for(let t=0;t<e.length;t++){let n=e[t],r=s*t,c=Math.max(0,i-r),l=Math.min(1,c/a),u=o(l);for(let[e,{from:t,to:r}]of Object.entries(n.attrs))n.el.setAttribute(e,String(U(t,r,u)))}i<u?requestAnimationFrame(d):n?.()}return requestAnimationFrame(d),()=>{l=!0}}var Ee=new WeakMap;function De(e,t,n,r,i,s){for(;e.children.length>t.length;){let t=e.lastElementChild;t&&e.removeChild(t)}let c=n.bandwidth(),l=s.stacked?c:c/s.seriesCount,u=s.stacked?0:l*s.seriesIndex,d=s.horizontal??!1,f=[],p=[];for(let c=0;c<t.length;c++){let m=t[c],h=n.map(m.key)+u,g=s.baselineYs?s.baselineYs[c]:i,_=r.map(m.y),v=e.children[c],y=!v;if(v||(v=a(`rect`,{class:`prism-bar`}),e.appendChild(v)),v.style.display=m.present?``:`none`,d){let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);o(v,{fill:s.color,height:Math.max(0,l-1),rx:s.borderRadius,ry:s.borderRadius,y:h}),s.transition?y?(o(v,{width:0,x:g}),f.push({attrs:{width:{from:0,to:e},x:{from:g,to:t}},el:v})):p.push({attrs:{width:{from:Number(v.getAttribute(`width`)??e),to:e},x:{from:Number(v.getAttribute(`x`)??t),to:t}},el:v}):o(v,{width:e,x:t})}else{let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);o(v,{fill:s.color,rx:s.borderRadius,ry:s.borderRadius,width:Math.max(0,l-1),x:h}),s.transition?y?(o(v,{height:0,y:g}),f.push({attrs:{height:{from:0,to:e},y:{from:g,to:t}},el:v})):p.push({attrs:{height:{from:Number(v.getAttribute(`height`)??e),to:e},y:{from:Number(v.getAttribute(`y`)??t),to:t}},el:v}):o(v,{height:e,y:t})}}if(s.transition){Ee.get(e)?.();let t=[];f.length>0&&t.push(Te(f,s.transition,void 0,s.disposalSignal)),p.length>0&&t.push(Te(p,{...s.transition,stagger:0},void 0,s.disposalSignal)),Ee.set(e,()=>{for(let e of t)e()})}}function Oe(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function ke(e,t){let n=t.series;return F(e,t,e=>{let{groups:r,legend:i,tooltip:o}=e,s=e.dimensions,c=P(s.width,s.height,s.margin),l=n.map(e=>e.data),u=de(n,l),d=u.domain,g=u.series.map(({byKey:e})=>d.map(t=>e.get(t))),_=e=>{if(e)return{...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){oe(r,i,o);return}let{horizontal:y,stacked:b}=Oe(t.variant??`grouped`),x,S;if(b){g.some(e=>e.some(e=>(e?.value??0)<0));let e=d.map((e,t)=>g.reduce((e,n)=>e+Math.max(0,n[t]?.value??0),0));x=Math.max(...e),S=0}else{let e=g.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));x=Math.max(...e),S=Math.min(0,...e)}let C=xe(y?{domain:d,range:[0,c.height]}:{domain:d,range:[0,c.width]}),w=v(y?{domain:[S,x],range:[0,c.width]}:{domain:[S,x],range:[c.height,0]}),T=[],E=Object.create(null);for(let e of d)E[e]=0;let D={bandCenter:e=>C.map(e)+C.bandwidth()/2,bandwidth:C.bandwidth(),baselinePx:w.map(0),horizontal:y,stacked:b,stackedTops:T,valueScale:w};if(y){t.xAxis?.grid&&h(r.grid,w,t.xAxis.grid,c.height,`vertical`,p(t.xAxis,c.width,`bottom`));let e=_(t.yAxis);e&&(f(r.yAxis,e.position??`left`,c.width,c.height),m(r.yAxis,C,e,c.height,`left`)),t.xAxis&&(f(r.xAxis,t.xAxis.position??`bottom`,c.width,c.height),m(r.xAxis,w,t.xAxis,c.width,`bottom`))}else{t.yAxis?.grid&&h(r.grid,w,t.yAxis.grid,c.width,`horizontal`,p(t.yAxis,c.height,`left`));let e=_(t.xAxis);e&&(f(r.xAxis,e.position??`bottom`,c.width,c.height),m(r.xAxis,C,e,c.width,`bottom`)),t.yAxis&&(f(r.yAxis,t.yAxis.position??`left`,c.width,c.height),m(r.yAxis,w,t.yAxis,c.height,`left`))}for(;r.series.children.length>n.length;){let e=r.series.lastElementChild;e&&r.series.removeChild(e)}for(let i=0;i<n.length;i++){let o=n[i],s=r.series.children[i];s||(s=a(`g`,{class:`prism-bar-series`}),r.series.appendChild(s));let c=d.map((e,t)=>{let n=g[i]?.[t];if(b){let t=E[e]??0,r=t+Math.max(0,n?.value??0);return E[e]=r,{base:t,key:e,present:n!==void 0,y:r}}return{base:0,key:e,present:n!==void 0,y:n?.value??0}});T[i]=c.map(e=>e.y);let l=b?c.map(e=>w.map(e.base)):void 0;De(s,c,C,w,D.baselinePx,{baselineYs:l,borderRadius:o.borderRadius??0,color:B(i,o.color),disposalSignal:e.disposalSignal,horizontal:y,seriesCount:n.length,seriesIndex:i,stacked:b,transition:t.transition})}return i?.update(n.map((e,t)=>({color:B(t,e.color),name:e.name}))),o?.hide(),{onClick:r=>{if(!t.onClick)return;let i=e.dimensions,a=L(e.svg,r,i.margin.left,i.margin.top),o=P(i.width,i.height,i.margin);if(a.x<0||a.x>o.width||a.y<0||a.y>o.height)return;let s=Se(y?a.y:a.x,d,D);if(s===-1)return;let c=Ce(a,s,d,D,n.length),l=g[c]?.[s];l&&t.onClick({datum:l,originalEvent:r,series:n[c]})},onMouseLeave:()=>{o?.hide(),t.onHover?.(null)},onMouseMove:r=>{let i=e.dimensions,a=L(e.svg,r,i.margin.left,i.margin.top),s=P(i.width,i.height,i.margin);if(a.x<0||a.x>s.width||a.y<0||a.y>s.height){o?.hide();return}let c=Se(y?a.y:a.x,d,D);if(c===-1){o?.hide();return}if(we(a,c,g,D,n.length)){o?.hide();return}let l=Ce(a,c,d,D,n.length),u=g[l]?.[c];if(u){let e=D.bandCenter(d[c]),a=b?T[l]?.[c]??u.value:u.value,s=w.map(a),f=y?s+i.margin.left:e+i.margin.left,p=y?e+i.margin.top:s+i.margin.top;o?.show(f,p,u,n[l]),t.onHover?.({datum:u,originalEvent:r,series:n[l]})}}}},e=>{n=e})}var X=new WeakMap;function Ae(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function je(e,t,n){let r=H(n.transition,0),i=r.duration,s=V(r.easing),c=e.querySelector(`.prism-line-path`);c||(c=a(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(c)),o(c,{stroke:n.color,"stroke-width":n.strokeWidth});let l=e.querySelector(`.prism-line-dots`);if(n.showPoints?l||(l=a(`g`,{class:`prism-line-dots`}),e.appendChild(l)):l&&=(l.remove(),null),i===0){if(o(c,{d:Ae(t,n.curve)}),l){for(;l.children.length>t.length;)l.removeChild(l.lastChild);for(let e=0;e<t.length;e++){let r=l.children[e];r||(r=a(`circle`,{class:`prism-line-dot`}),l.appendChild(r)),o(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius})}}return}X.get(e)?.();let u=!!c.getAttribute(`d`),d=[],f=null;if(l){let e=l.children.length;for(let t=0;t<e;t++){let e=l.children[t],n={x:Number(e.getAttribute(`cx`)),y:Number(e.getAttribute(`cy`))};d.push(n),f=n}for(;l.children.length>t.length;)l.removeChild(l.lastChild);for(let e=l.children.length;e<t.length;e++){let r=a(`circle`,{class:`prism-line-dot`});o(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius}),l.appendChild(r)}}for(let e=d.length;e<t.length;e++)d.push(f??t[e]);let p=null;function m(r){if(n.disposalSignal?.aborted){X.delete(e);return}p===null&&(p=r);let a=Math.min(1,(r-p)/i),u=s(a),f=t.map((e,t)=>{let n=d[t]??e;return{x:U(n.x,e.x,u),y:U(n.y,e.y,u)}});if(o(c,{d:Ae(f,n.curve)}),l)for(let e=0;e<t.length;e++){let t=l.children[e];t&&o(t,{cx:f[e].x,cy:f[e].y})}if(a<1){let t=requestAnimationFrame(m);X.set(e,()=>cancelAnimationFrame(t))}else X.delete(e)}if(!u)o(c,{d:Ae(t,n.curve)});else{let t=requestAnimationFrame(m);X.set(e,()=>cancelAnimationFrame(t))}}function Me(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 Ne(e,t){let n=null,r=t.series;return F(e,t,e=>{let{groups:i,legend:o,tooltip:s}=e,c=e.dimensions,l=P(c.width,c.height,c.margin),u=r.map(e=>e.data),d=u.flat().map(e=>e.key),g=u.flat().map(e=>e.value);if(d.length===0){oe(i,o,s,n);return}t.crosshair&&!n&&(n=ue(e.chartArea,t.crosshair));let _=k(d,l.width),v=A(g,l.height);for(t.yAxis?.grid&&h(i.grid,v,t.yAxis.grid,l.width,`horizontal`,p(t.yAxis,l.height,`left`)),t.xAxis?.grid&&h(i.grid,_,t.xAxis.grid,l.height,`vertical`,p(t.xAxis,l.width,`bottom`)),t.xAxis&&(f(i.xAxis,t.xAxis.position??`bottom`,l.width,l.height),m(i.xAxis,_,t.xAxis,l.width,`bottom`)),t.yAxis&&(f(i.yAxis,t.yAxis.position??`left`,l.width,l.height),m(i.yAxis,v,t.yAxis,l.height,`left`));i.series.children.length>r.length;)i.series.removeChild(i.series.lastChild);let y=[];for(let n=0;n<r.length;n++){let o=r[n],s=i.series.children[n];s||(s=a(`g`,{class:`prism-line-series`}),i.series.appendChild(s));let c=Me(u[n],_,v);y.push(c),je(s,c,{color:B(n,o.color),curve:o.curve??`linear`,disposalSignal:e.disposalSignal,pointRadius:o.pointRadius??3,showPoints:o.showPoints??!1,strokeWidth:o.strokeWidth??2,transition:t.transition})}return o?.update(r.map((e,t)=>({color:B(t,e.color),name:e.name}))),s?.hide(),pe({crosshair:n,dims:()=>e.dimensions,getData:()=>u,getPoints:()=>y,getSeriesList:()=>r,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:s})},e=>{r=e})}function Pe(e,t,n,r,i,a,o,s,c,l,u=!1){let d=e.reduce((e,t)=>e+Math.max(0,t.value),0);if(d===0)return[];let f=o-a,p=r>0?Math.asin(Math.min(1,s/2/r)):0,m=a,h=e.length;return e.map((e,a)=>{let o=Math.max(0,e.value)/d*f,s=m,g=m+o;m+=o;let _=Math.min(p,o/2);return{capEnd:u&&a===h-1,capStart:u&&a===0,centerX:t,centerY:n,color:e.color??l(a),cornerRadius:c,endAngle:g,index:a,innerRadius:i,outerRadius:r,padAngle:_,slice:e,startAngle:s}})}function Z(e,t,n,r){return`${e+n*Math.sin(r)},${t-n*Math.cos(r)}`}function Q(e,t,n){return e+t*Math.sin(n)}function $(e,t,n){return e-t*Math.cos(n)}function Fe(e){let{capEnd:t,capStart:n,centerX:r,centerY:i,cornerRadius:a,endAngle:o,innerRadius:s,outerRadius:c,padAngle:l,startAngle:u}=e,d=o-u;if(d<=0)return``;if(d>=2*Math.PI-1e-6){let e=u+Math.PI;return s<=0?`M${Z(r,i,c,u)}A${c},${c},0,1,1,${Z(r,i,c,e)}A${c},${c},0,1,1,${Z(r,i,c,u)}Z`:[`M${Z(r,i,c,u)}`,`A${c},${c},0,1,1,${Z(r,i,c,e)}`,`A${c},${c},0,1,1,${Z(r,i,c,u)}`,`M${Z(r,i,s,u)}`,`A${s},${s},0,1,0,${Z(r,i,s,e)}`,`A${s},${s},0,1,0,${Z(r,i,s,u)}`,`Z`].join(``)}let f=n?u:u+l,p=t?o:o-l;if(p<=f)return``;let m=p-f;if(a<=0){let e=+(m>Math.PI);return s<=0?`M${r},${i}L${Z(r,i,c,f)}A${c},${c},0,${e},1,${Z(r,i,c,p)}Z`:[`M${Z(r,i,c,f)}`,`A${c},${c},0,${e},1,${Z(r,i,c,p)}`,`L${Z(r,i,s,p)}`,`A${s},${s},0,${e},0,${Z(r,i,s,f)}`,`Z`].join(``)}let h=Math.min(a/c,m/2),g=Math.min(a/s,m/2),_=Math.min(a,(c-s)/2),v=(c-s)/2,y=f+(n?0:h),b=p-(t?0:h),x=f+(n?0:g),S=p-(t?0:g),C=+(b-y>Math.PI),w=+(S-x>Math.PI),T=Q(r,c,f),E=$(i,c,f),D=Q(r,c,p),O=$(i,c,p),k=Q(r,s,f),A=$(i,s,f),j=Q(r,s,p),M=$(i,s,p),N=_/(c-s),ee=`${T+(k-T)*N},${E+(A-E)*N}`,te=`${D+(j-D)*N},${O+(M-O)*N}`,ne=`${k+(T-k)*N},${A+(E-A)*N}`,re=`${j+(D-j)*N},${M+(O-M)*N}`,P=[];return n?P.push(`M${Z(r,i,c,f)}`):(P.push(`M${ee}`),P.push(`Q${T},${E},${Z(r,i,c,y)}`)),P.push(`A${c},${c},0,${C},1,${Z(r,i,c,b)}`),t?P.push(`A${v},${v},0,0,1,${Z(r,i,s,p)}`):(P.push(`Q${D},${O},${te}`),P.push(`L${re}`),P.push(`Q${j},${M},${Z(r,i,s,S)}`)),P.push(`A${s},${s},0,${w},0,${Z(r,i,s,x)}`),n?P.push(`A${v},${v},0,0,0,${Z(r,i,c,f)}`):P.push(`Q${k},${A},${ne}`),P.push(`Z`),P.join(``)}function Ie(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 Le=2*Math.PI,Re=-Math.PI/2,ze=Math.PI/2;function Be(e){return e===`semi`?{end:ze,start:Re}:{end:Le,start:0}}function Ve(e,t){let n=t.variant??`pie`,r=t.padPixels??(n===`pie`?0:8),i=t.cornerRadius??(n===`pie`?0:8),s=t.data,c=a(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),l=a(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),u=a(`g`,{class:`prism-pie-labels`,"pointer-events":`none`}),d=[],f=null;function p(e){u.replaceChildren();for(let t=0;t<d.length;t++){let n=d[t],r=e[t];if(!r?.label)continue;let{x:i,y:s}=Ie(n),c=a(`text`,{class:`prism-pie-label`});o(c,{"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:s}),c.textContent=r.label,u.appendChild(c)}}let m;try{return m=le(e,{a11y:t.a11y,legend:t.legend,tooltip:t.tooltip},m=>{let{legend:h,svg:g,tooltip:_}=m;g.contains(c)||(g.appendChild(c),g.appendChild(l),g.appendChild(u));let{height:v,width:y}=m.dimensions,b=n===`semi`,x=y/2,S=b?v*.85:v/2,C=b?Math.min(x,S)-8:Math.min(y,v)/2-8,w=n===`pie`?0:Math.round(C*.55),T=t.innerRadius===void 0?w:t.innerRadius,E=Math.max(T+1,C),D=s,{end:O,start:k}=Be(n);for(d=Pe(D,x,S,E,T,k,O,r,i,e=>B(e),!1),o(c,{cx:x,cy:S,r:T>0?T:0}),c.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);l.children.length>d.length;)l.removeChild(l.lastChild);u.replaceChildren();let A=H(t.transition,0),j=A.duration,M=V(A.easing);for(let e=0;e<d.length;e++){let n=d[e],r=l.children[e];r||(r=a(`path`,{class:`prism-pie-slice`}),l.appendChild(r)),r.setAttribute(`fill`,n.color),r.setAttribute(`stroke`,`none`),r.style.cursor=t.onClick||t.onHover?`pointer`:``}if(f!==null&&(cancelAnimationFrame(f),f=null),j>0){let e=null,t=n=>{e===null&&(e=n);let r=M(Math.min(1,(n-e)/j)),i=U(k,O,r);for(let e=0;e<d.length;e++){let t=d[e],n=l.children[e];if(n){if(i<=t.startAngle)o(n,{d:``});else{let e=Math.min(t.endAngle,i);o(n,{d:Fe({...t,endAngle:e})})}}}r<1?f=requestAnimationFrame(t):(f=null,p(D))};f=requestAnimationFrame(t)}else{for(let e=0;e<d.length;e++){let t=d[e],n=l.children[e];n&&o(n,{d:Fe(t)})}p(D)}return h?.update(d.map(e=>({color:e.color,name:e.slice.label??``}))),_?.hide(),{onClick:e=>{if(!t.onClick)return;let r=g.getBoundingClientRect(),i=e.clientX-r.left,a=e.clientY-r.top,o=He(d,i,a,n);o>=0&&t.onClick(d[o].slice,o)},onMouseLeave:()=>{t.onHover?.(null,null),_?.hide()},onMouseMove:r=>{let i=g.getBoundingClientRect(),a=r.clientX-i.left,o=r.clientY-i.top,s=He(d,a,o,n);if(s>=0){let n=d[s];t.onHover?.(n.slice,s);let{x:r,y:a}=Ie(n),o=e.getBoundingClientRect();_?.show(r+(i.left-o.left),a+(i.top-o.top),{key:s,value:n.slice.value},{color:n.color,data:[],name:n.slice.label??``})}else t.onHover?.(null,null),_?.hide()}}},e=>{s=e}),{get disposalSignal(){return m.disposalSignal},dispose(){f!==null&&(cancelAnimationFrame(f),f=null),m.dispose()},get disposed(){return m.disposed},el:m.el,update(e){m.update(e)},[Symbol.dispose](){this.dispose()}}}catch(e){throw m?.dispose(),e}}function He(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+Le:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}function Ue(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 We(e,t,n,r=`linear`){if(e.length===0)return``;let i=Ue(e,t,n);return q(i,i.map(e=>({x:e.x,y:n})),r??`linear`)}function Ge(e,t,n,r){if(e.length===0)return``;let i=Ue(e,t,n);return r===`monotone`?G(i):r===`step`?K(i):W(i)}function Ke(e,t,n,r,i,s,c){let l=t.length,u=Math.max(1,n/l-1),d=n/l,f=Math.min(0,...t),p=Math.max(...t)-f||1,m=H(s,0),h=m.duration,g=V(m.easing);for(;e.children.length>l;){let t=e.lastElementChild;t&&e.removeChild(t)}for(let n=0;n<l;n++){let s=Math.max(1,(t[n]-f)/p*r),l=r-s,m=e.children[n];if(m||(m=a(`rect`,{class:`prism-spark-bar`}),e.appendChild(m)),o(m,{fill:i,width:u,x:n*d}),h>0&&!m.hasAttribute(`data-init`)){m.setAttribute(`data-init`,`1`),o(m,{height:0,y:r});let e=null,t={h:0,y:r},n={h:s,y:l},i=r=>{if(c?.aborted)return;e===null&&(e=r);let a=g(Math.min(1,(r-e)/h));o(m,{height:U(t.h,n.h,a),y:U(t.y,n.y,a)}),a<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}else m.setAttribute(`data-init`,`1`),o(m,{height:s,y:l})}}function qe(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function Je(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 Ye(e){return`var(--prism-color-${e%8+1})`}function Xe(e,t){let n=t.variant??`line`,r=t.color??`var(--prism-color-1)`,i=t.curve??`linear`,s=t.strokeWidth??1.5,c=t.fillOpacity??.2,l=t.data,u=ae(e,{a11y:t.a11y,margin:{bottom:0,left:0,right:0,top:0}},m),{svg:d}=u;d.classList.add(`prism-sparkline`);let f=a(`g`,{class:`prism-spark-inner`});d.appendChild(f);let p;function m(){let{height:e,width:d}=u.dimensions;for(;f.firstChild;)f.removeChild(f.firstChild);if(l.length!==0){if(n===`stack`&&qe(l)){let n=a(`g`,{class:`prism-spark-stack`});f.appendChild(n);let r=t.cornerRadius??4,i=l,s=i.reduce((e,t)=>e+Math.max(0,t.value),0);if(s>0){let c=(t.padPixels??0)/2,l=0;i.forEach((t,u)=>{let f=Math.round(l);l+=Math.max(0,t.value)/s*d;let p=u===i.length-1?d:Math.round(l),m=u===0,h=u===i.length-1,g=Je(f+(m?0:c),0,Math.max(0,p-f-(m?0:c)-(h?0:c)),e,r,m,h),_=a(`path`,{class:`prism-spark-stack-segment`});o(_,{d:g,fill:t.color??Ye(u)}),n.appendChild(_)})}}else if(n===`bar`){let n=a(`g`,{class:`prism-spark-bars`});f.appendChild(n),Ke(n,l,d,e,r,t.transition,g.signal)}else{if(n===`area`){let t=a(`path`,{class:`prism-spark-fill`});o(t,{d:We(l,d,e,i),fill:r,"fill-opacity":c,stroke:`none`}),f.appendChild(t)}let t=a(`path`,{class:`prism-spark-line`});o(t,{d:Ge(l,d,e,i),fill:`none`,stroke:r,"stroke-width":s}),f.appendChild(t)}qe(l)||h(l)}}function h(e){if(p?.(),p=void 0,!t.onHover&&!t.onClick||e.length<=1)return;let{width:n}=u.dimensions;d.style.cursor=`crosshair`;let r=n/(e.length-1),i=n=>{let i=d.getBoundingClientRect(),a=n.clientX-i.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/r)));t.onHover?.(o,e[o])},a=()=>t.onHover?.(null,null),o=n=>{if(!t.onClick)return;let i=d.getBoundingClientRect(),a=n.clientX-i.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/r)));t.onClick(o,e[o])};d.addEventListener(`mousemove`,i),d.addEventListener(`mouseleave`,a),d.addEventListener(`click`,o),p=()=>{d.removeEventListener(`mousemove`,i),d.removeEventListener(`mouseleave`,a),d.removeEventListener(`click`,o)}}let g=new AbortController,_=!1;try{return m(),{get disposalSignal(){return g.signal},dispose(){_||(_=!0,g.abort(),p?.(),u.dispose())},get disposed(){return _},el:d,update(e){if(_)throw new M(`Cannot update a disposed chart.`);l=e,m()},[Symbol.dispose](){this.dispose()}}}catch(e){throw g.abort(),p?.(),u.dispose(),e instanceof M?e:new M(`Failed to render chart.`,{cause:e})}}export{j as PrismError,M as PrismRenderError,xe as bandScale,be as createAreaChart,ke as createBarChart,Ne as createLineChart,Ve as createPieChart,Xe as createSparkline,v as linearScale,he as resetTheme,B as seriesColor,me as setTheme,O as timeScale};
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]})}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,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,c.style.opacity=`0`,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&&(c.style.opacity=`1`);return}p=!0,c.style.opacity=`0`,d=requestAnimationFrame(()=>{d=null,p&&(c.style.opacity=`1`)})},[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){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=null,o=createChartBase(e,{a11y:t.a11y,chrome:()=>a?.el??null,margin:t.margin},()=>render()),s=t.tooltip?createTooltip(e,t.tooltip):null;a=t.legend?createLegend(e,t.legend):null;let c=new AbortController,l=n(o,s,a,c.signal,createAnnouncer(o.svg,`prism-live`)),u=!1,d=makeEventManager(o.svg);render=()=>{u||d.attach(r(l))};try{render()}catch(e){throw u=!0,c.abort(),d.detach(),s?.dispose(),a?.dispose(),o.dispose(),e instanceof PrismRenderError?e:new PrismRenderError(`Failed to render chart.`,{cause:e})}return{get disposalSignal(){return c.signal},dispose(){u||(u=!0,c.abort(),d.detach(),s?.dispose(),a?.dispose(),o.dispose())},get disposed(){return u},el:o.svg,update(e){if(u)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 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:e,x2:e,y1:0,y2:r}),s&&setAttributes(s,{x1:0,x2:n,y1:t,y2:t})},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,u.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+u.margin.left,l.y+u.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,i.margin.left,i.margin.top),o=chartArea(i.width,i.height,i.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;function setTheme(e){let t=document.documentElement;if(e.colors)for(let n=0;n<_;n++){let r=e.colors[n];r?t.style.setProperty(`--prism-color-${n+1}`,r):t.style.removeProperty(`--prism-color-${n+1}`)}e.fontFamily&&t.style.setProperty(`--prism-font-family`,e.fontFamily),e.gridColor&&t.style.setProperty(`--prism-grid-color`,e.gridColor),e.gridOpacity!==void 0&&t.style.setProperty(`--prism-grid-opacity`,String(e.gridOpacity))}function resetTheme(){let e=document.documentElement;for(let t=1;t<=_;t++)e.style.removeProperty(`--prism-color-${t}`);e.style.removeProperty(`--prism-font-family`),e.style.removeProperty(`--prism-grid-color`),e.style.removeProperty(`--prism-grid-opacity`)}function seriesColor(e,t){return t??`var(--prism-color-${e%_+1})`}var v={"ease-in":e=>e*e,"ease-in-out":e=>e<.5?2*e*e:1-(-2*e+2)**2/2,"ease-out":e=>1-(1-e)*(1-e),linear:e=>e};function resolveEasing(e){return typeof e==`function`?e:e!==void 0&&Object.hasOwn(v,e)?v[e]:v[`ease-out`]}function resolveMotion(e,t=300){let n=e?.preference??`system`,r=typeof matchMedia<`u`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches,i=n===`never`||n===`system`&&r?0:e?.duration??t;return{...e,duration:i,stagger:Math.max(0,e?.stagger??0)}}function tweenNumber(e,t,n){return e+(t-e)*n}var y=0;function uniqueId(e){return y+=1,`${e}-${y}`}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 b=new WeakMap,x=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,0),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;if(r.showLine?(c=e.querySelector(`.prism-area-line`),c||(c=createSvgElement(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(c)),setAttributes(c,{stroke:r.color,"stroke-width":2})):e.querySelector(`.prism-area-line`)?.remove(),a===0){let e=t.map(e=>({x:e.x,y:n}));setAttributes(s,{d:areaPath(t,e,r.curve)}),c&&setAttributes(c,{d:buildLinePath(t,r.curve)});return}if(b.get(e)?.(),!s.hasAttribute(`d`)){let i=t.map(e=>({x:e.x,y:n}));setAttributes(s,{d:areaPath(t,i,r.curve)}),c&&setAttributes(c,{d:buildLinePath(t,r.curve)}),x.set(e,t);return}let l=x.get(e)??t,u=t.map((e,n)=>l[n]??l[l.length-1]??t[n]),d=null;function frame(i){if(r.disposalSignal?.aborted){b.delete(e);return}d===null&&(d=i);let l=Math.min(1,(i-d)/a),f=o(l),p=t.map((e,t)=>({x:tweenNumber(u[t].x,e.x,f),y:tweenNumber(u[t].y,e.y,f)})),m=p.map(e=>({x:e.x,y:n}));if(setAttributes(s,{d:areaPath(p,m,r.curve)}),c&&setAttributes(c,{d:buildLinePath(p,r.curve)}),l<1){let t=requestAnimationFrame(frame);b.set(e,()=>cancelAnimationFrame(t))}else b.delete(e),x.set(e,t)}x.set(e,u);let f=requestAnimationFrame(frame);b.set(e,()=>cancelAnimationFrame(f))}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);for(t.yAxis?.grid&&renderGrid(a.grid,m,t.yAxis.grid,l.width,`horizontal`,resolveTickCount(t.yAxis,l.height,`left`)),t.xAxis?.grid&&renderGrid(a.grid,p,t.xAxis.grid,l.height,`vertical`,resolveTickCount(t.xAxis,l.width,`bottom`)),t.xAxis&&(positionAxis(a.xAxis,t.xAxis.position??`bottom`,l.width,l.height),renderAxis(a.xAxis,p,t.xAxis,l.width,`bottom`)),t.yAxis&&(positionAxis(a.yAxis,t.yAxis.position??`left`,l.width,l.height),renderAxis(a.yAxis,m,t.yAxis,l.height,`left`));a.series.children.length>i.length;)a.series.removeChild(a.series.lastChild);let g=[];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));let s=computeAreaPoints(u[n],p,m);g.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,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:()=>g,getSeriesList:()=>i,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))}}function animate(e,t,n,r){let i=resolveMotion(t),a=i.duration,o=resolveEasing(i.easing),s=i.stagger;if(a===0||e.length===0){for(let t of e)for(let[e,{to:n}]of Object.entries(t.attrs))t.el.setAttribute(e,String(n));return n?.(),()=>{}}let c=null,l=!1,u=Math.max(a,a+s*(e.length-1));function frame(t){if(l||r?.aborted)return;c===null&&(c=t);let i=t-c;for(let t=0;t<e.length;t++){let n=e[t],r=s*t,c=Math.max(0,i-r),l=Math.min(1,c/a),u=o(l);for(let[e,{from:t,to:r}]of Object.entries(n.attrs))n.el.setAttribute(e,String(tweenNumber(t,r,u)))}i<u?requestAnimationFrame(frame):n?.()}return requestAnimationFrame(frame),()=>{l=!0}}var S=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=[];for(let o=0;o<t.length;o++){let f=t[o],p=n.map(f.key)+c,m=a.baselineYs?a.baselineYs[o]:i,h=r.map(f.y),g=e.children[o],_=!g;if(g||(g=createSvgElement(`rect`,{class:`prism-bar`}),e.appendChild(g)),g.style.display=f.present?``:`none`,l){let e=Math.max(0,Math.abs(m-h)),t=Math.min(h,m);setAttributes(g,{fill:a.color,height:Math.max(0,s-1),rx:a.borderRadius,ry:a.borderRadius,y:p}),a.transition?_?(setAttributes(g,{width:0,x:m}),u.push({attrs:{width:{from:0,to:e},x:{from:m,to:t}},el:g})):d.push({attrs:{width:{from:Number(g.getAttribute(`width`)??e),to:e},x:{from:Number(g.getAttribute(`x`)??t),to:t}},el:g}):setAttributes(g,{width:e,x:t})}else{let e=Math.max(0,Math.abs(m-h)),t=Math.min(h,m);setAttributes(g,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:Math.max(0,s-1),x:p}),a.transition?_?(setAttributes(g,{height:0,y:m}),u.push({attrs:{height:{from:0,to:e},y:{from:m,to:t}},el:g})):d.push({attrs:{height:{from:Number(g.getAttribute(`height`)??e),to:e},y:{from:Number(g.getAttribute(`y`)??t),to:t}},el:g}):setAttributes(g,{height:e,y:t})}}if(a.transition){S.get(e)?.();let t=[];u.length>0&&t.push(animate(u,a.transition,void 0,a.disposalSignal)),d.length>0&&t.push(animate(d,{...a.transition,stagger:0},void 0,a.disposalSignal)),S.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=>{if(e)return{...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,g;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));h=Math.max(...e),g=0}else{let e=f.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));h=Math.max(...e),g=Math.min(0,...e)}let _=bandScale(p?{domain:d,range:[0,c.height]}:{domain:d,range:[0,c.width]}),v=linearScale(p?{domain:[g,h],range:[0,c.width]}:{domain:[g,h],range:[c.height,0]}),y=[],b=Object.create(null);for(let e of d)b[e]=0;let x={bandCenter:e=>_.map(e)+_.bandwidth()/2,bandwidth:_.bandwidth(),baselinePx:v.map(0),horizontal:p,stacked:m,stackedTops:y,valueScale:v};if(p){t.xAxis?.grid&&renderGrid(i.grid,v,t.xAxis.grid,c.height,`vertical`,resolveTickCount(t.xAxis,c.width,`bottom`));let e=categoryAxis(t.yAxis);e&&(positionAxis(i.yAxis,e.position??`left`,c.width,c.height),renderAxis(i.yAxis,_,e,c.height,`left`)),t.xAxis&&(positionAxis(i.xAxis,t.xAxis.position??`bottom`,c.width,c.height),renderAxis(i.xAxis,v,t.xAxis,c.width,`bottom`))}else{t.yAxis?.grid&&renderGrid(i.grid,v,t.yAxis.grid,c.width,`horizontal`,resolveTickCount(t.yAxis,c.height,`left`));let e=categoryAxis(t.xAxis);e&&(positionAxis(i.xAxis,e.position??`bottom`,c.width,c.height),renderAxis(i.xAxis,_,e,c.width,`bottom`)),t.yAxis&&(positionAxis(i.yAxis,t.yAxis.position??`left`,c.width,c.height),renderAxis(i.yAxis,v,t.yAxis,c.height,`left`))}let S=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));let s=d.map((e,t)=>{let n=f[r]?.[t];if(m){let t=b[e]??0,r=t+Math.max(0,n?.value??0);return b[e]=r,{base:t,key:e,present:n!==void 0,y:r}}return{base:0,key:e,present:n!==void 0,y:n?.value??0}});y[r]=s.map(e=>e.y);let c=m?s.map(e=>v.map(e.base)):void 0;renderBars(o,s,_,v,x.baselinePx,{baselineYs:c,borderRadius:a.borderRadius??S,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 C=n.map((e,t)=>seriesColor(t,e.color)),labelOf=e=>String(u.labels.get(d[e])??d[e]),w=-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=>{w=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=x.bandCenter(d[t])-_.bandwidth()/2-_.gap()/2,a=_.bandwidth()+_.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?y[t]?.[n]??0:Math.max(0,e.datum?.value??0)),r=v.map(Math.max(...t)),i=x.bandCenter(d[n]),{margin:l}=e.dimensions,u=s.flatMap((e,t)=>e.datum?[{color:C[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,x);return o===-1?null:{catIdx:o,seriesIdx:findSeriesIdx(i,o,d,x,n.length)}},onMouseMove=e=>{let t=hit(e);t?activate(t.catIdx,t.seriesIdx,e):w>=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=w<0?n:Math.max(0,w-1),i=w<0?0:Math.min(n,w+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===` `)&&w>=0&&t.onClick){e.preventDefault();let n=eventAt(w,0,e);n&&t.onClick(n)}else e.key===`Escape`&&deactivate()};return{onClick,onKeyDown,onMouseLeave:deactivate,onMouseMove}},e=>{n=e})}var C=new WeakMap;function buildPath$1(e,t){return t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}function renderLine(e,t,n){let r=resolveMotion(n.transition,0),i=r.duration,a=resolveEasing(r.easing),o=e.querySelector(`.prism-line-path`);o||(o=createSvgElement(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(o)),setAttributes(o,{stroke:n.color,"stroke-width":n.strokeWidth??2}),o.style.strokeWidth=n.strokeWidth===void 0?``:String(n.strokeWidth);let s=e.querySelector(`.prism-line-dots`);if(n.showPoints?s||(s=createSvgElement(`g`,{class:`prism-line-dots`}),e.appendChild(s)):s&&=(s.remove(),null),i===0){if(setAttributes(o,{d:buildPath$1(t,n.curve)}),s){for(;s.children.length>t.length;)s.removeChild(s.lastChild);for(let e=0;e<t.length;e++){let r=s.children[e];r||(r=createSvgElement(`circle`,{class:`prism-line-dot`}),s.appendChild(r)),setAttributes(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius})}}return}C.get(e)?.();let c=!!o.getAttribute(`d`),l=[],u=null;if(s){let e=s.children.length;for(let t=0;t<e;t++){let e=s.children[t],n={x:Number(e.getAttribute(`cx`)),y:Number(e.getAttribute(`cy`))};l.push(n),u=n}for(;s.children.length>t.length;)s.removeChild(s.lastChild);for(let e=s.children.length;e<t.length;e++){let r=createSvgElement(`circle`,{class:`prism-line-dot`});setAttributes(r,{cx:t[e].x,cy:t[e].y,fill:n.color,r:n.pointRadius}),s.appendChild(r)}}for(let e=l.length;e<t.length;e++)l.push(u??t[e]);let d=null;function frame(r){if(n.disposalSignal?.aborted){C.delete(e);return}d===null&&(d=r);let c=Math.min(1,(r-d)/i),u=a(c),f=t.map((e,t)=>{let n=l[t]??e;return{x:tweenNumber(n.x,e.x,u),y:tweenNumber(n.y,e.y,u)}});if(setAttributes(o,{d:buildPath$1(f,n.curve)}),s)for(let e=0;e<t.length;e++){let t=s.children[e];t&&setAttributes(t,{cx:f[e].x,cy:f[e].y})}if(c<1){let t=requestAnimationFrame(frame);C.set(e,()=>cancelAnimationFrame(t))}else C.delete(e)}if(!c)setAttributes(o,{d:buildPath$1(t,n.curve)});else{let t=requestAnimationFrame(frame);C.set(e,()=>cancelAnimationFrame(t))}}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);l.margin.right=t.margin?.right??(u?t.rightYAxis?.label?72:50:resolveMargin(t.margin).right);let f=chartArea(l.width,l.height,l.margin),p=a.map(e=>e.data),m=p.flat().map(e=>e.key),h=a.filter(e=>e.yAxis!==`right`).flatMap(e=>e.data.map(e=>e.value)),g=a.filter(e=>e.yAxis===`right`).flatMap(e=>e.data.map(e=>e.value));if(m.length===0){clearCartesianDom(o,s,c,n),r?.replaceChildren(),i?.replaceChildren();return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let _=buildXScale(m,f.width),v=buildYScale(h,f.height),y=buildYScale(g,f.height);if(t.yAxis?.grid&&(!u||d)?renderGrid(o.grid,v,t.yAxis.grid,f.width,`horizontal`,resolveTickCount(t.yAxis,f.height,`left`)):o.grid.replaceChildren(),t.xAxis?.grid&&renderGrid(o.grid,_,t.xAxis.grid,f.height,`vertical`,resolveTickCount(t.xAxis,f.width,`bottom`)),t.xAxis&&(positionAxis(o.xAxis,t.xAxis.position??`bottom`,f.width,f.height),renderAxis(o.xAxis,_,t.xAxis,f.width,`bottom`)),t.yAxis&&(!u||d)){let e={...t.yAxis,position:u?`left`:t.yAxis.position??`left`};positionAxis(o.yAxis,e.position,f.width,f.height),renderAxis(o.yAxis,v,e,f.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`,f.width,f.height),renderAxis(i,y,n,f.height,`right`)}else i?.replaceChildren();for(;o.series.children.length>a.length;)o.series.removeChild(o.series.lastChild);let b=[];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));let s=computePoints(p[n],_,r.yAxis===`right`?y:v);b.push(s),renderLine(i,s,{color:seriesColor(n,r.color),curve:r.curve??`linear`,disposalSignal:e.disposalSignal,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:()=>p,getPoints:()=>b,getSeriesList:()=>a,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 w=2*Math.PI,T=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>=T*1.4&&i>=estimateTextWidth(t,T)+8}var E=-Math.PI/2,D=Math.PI/2;function semiAngles(e){return e===`semi`?{end:D,start:E}:{end:w,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=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)}}let d;try{return d=createRadialScaffold(e,{a11y:t.a11y,legend:t.legend,tooltip:t.tooltip},d=>{let{legend:f,svg:p,tooltip:m}=d;p.contains(o)||(p.appendChild(o),p.appendChild(s),p.appendChild(c));let{height:h,width:g}=d.dimensions,_=n===`semi`,v=g/2,y=_?h*.85:h/2,b=_?Math.min(v,y)-8:Math.min(g,h)/2-8,x=n===`pie`?0:Math.round(b*.55),S=t.innerRadius===void 0?x:t.innerRadius,C=Math.max(S+1,b),w=a,{end:T,start:E}=semiAngles(n);for(l=computeArcs(w,v,y,C,S,E,T,r,i,e=>seriesColor(e),!1),setAttributes(o,{cx:v,cy:y,r:S>0?S:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>l.length;)s.removeChild(s.lastChild);c.replaceChildren();let D=resolveMotion(t.transition,0),O=D.duration,k=resolveEasing(D.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`:``}if(u!==null&&(cancelAnimationFrame(u),u=null),O>0){let e=null,frame=t=>{e===null&&(e=t);let n=k(Math.min(1,(t-e)/O)),r=tweenNumber(E,T,n);for(let e=0;e<l.length;e++){let t=l[e],n=s.children[e];if(n){if(r<=t.startAngle)setAttributes(n,{d:``});else{let e=Math.min(t.endAngle,r);setAttributes(n,{d:arcPath({...t,endAngle:e})})}}}n<1?u=requestAnimationFrame(frame):(u=null,renderLabels(w))};u=requestAnimationFrame(frame)}else{for(let e=0;e<l.length;e++){let t=l[e],n=s.children[e];n&&setAttributes(n,{d:arcPath(t)})}renderLabels(w)}f?.update(l.map(e=>({color:e.color,name:e.slice.label??``}))),m?.hide();let A=l.reduce((e,t)=>e+Math.max(0,t.slice.value),0),j=-1,describe=e=>{let t=A>0?Math.round(Math.max(0,e.slice.value)/A*1e3)/10:0;return`${e.slice.label??`Slice ${e.index+1}`}: ${e.slice.value} (${t}%)`},setActive=e=>{j=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=>{let r=l[n];if(!r)return;setActive(n),t.onHover?.(r.slice,n);let i=describe(r);if(!m){d.announcer.announce(i);return}let{x:a,y:o}=arcCentroid(r),s=p.getBoundingClientRect(),c=e.getBoundingClientRect();m.show(a+(s.left-c.left),o+(s.top-c.top),{key:n,value:r.slice.value},{color:r.color,data:[],name:r.slice.label??``},i)},deactivate=()=>{setActive(-1),m?.hide(),d.announcer.clear(),t.onHover?.(null,null)},hitAt=e=>{let t=p.getBoundingClientRect();return hitTestArc(l,e.clientX-t.left,e.clientY-t.top,n)},onMouseMove=e=>{let t=hitAt(e);t>=0?t!==j&&activate(t):j>=0&&deactivate()},onClick=e=>{if(!t.onClick)return;let n=hitAt(e);n>=0&&t.onClick(l[n].slice,n)},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(j<0?r[e.key]>0?0:n-1:(j+r[e.key]+n)%n)):e.key===`Home`||e.key===`End`?(e.preventDefault(),activate(e.key===`Home`?0:n-1)):(e.key===`Enter`||e.key===` `)&&j>=0&&t.onClick?(e.preventDefault(),t.onClick(l[j].slice,j)):e.key===`Escape`&&deactivate()};return{onClick,onKeyDown,onMouseLeave:deactivate,onMouseMove}},e=>{a=e}),{get disposalSignal(){return d.disposalSignal},dispose(){u!==null&&(cancelAnimationFrame(u),u=null),d.dispose()},get disposed(){return d.disposed},el:d.el,update(e){d.update(e)},[Symbol.dispose](){this.dispose()}}}catch(e){throw d?.dispose(),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+w:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}var O=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*O/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=O/n,a=((Math.atan2(e,-t)-r)%O+O)%O;return Math.round(a/i)%n}var k=11,A=12,j=10,M={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=A+(t.showValues?j: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]+j;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.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){v!==null&&(cancelAnimationFrame(v),v=null);let n=e.map((e,t)=>e.map((e,n)=>_[t]?.[n]??0)),r=resolveMotion(t.transition,400),i=resolveEasing(r.easing??`ease-out`),a=n.every((t,n)=>t.every((t,r)=>t===e[n][r]));if(r.duration===0||a){_=e,draw(e);return}let o=null,frame=t=>{o===null&&(o=t);let a=t-o,s=!0;_=e.map((e,t)=>{let o=Math.max(0,Math.min(1,(a-t*r.stagger)/r.duration));return o<1&&(s=!1),e.map((e,r)=>tweenNumber(n[t][r],e,i(o)))}),draw(_),v=s?null:requestAnimationFrame(frame)};v=requestAnimationFrame(frame)}let x;try{return x=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,k,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}))),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=M[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}),{get disposalSignal(){return x.disposalSignal},dispose(){v!==null&&(cancelAnimationFrame(v),v=null),x.dispose()},get disposed(){return x.disposed},el:x.el,update(e){x.update(e)},[Symbol.dispose](){this.dispose()}}}catch(e){throw x?.dispose(),e}}var N=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 buildAreaPath(e,t,n,r=`linear`){if(e.length===0)return``;let i=buildTopPoints(e,t,n);return areaPath(i,i.map(e=>({x:e.x,y:n})),r??`linear`)}function buildPath(e,t,n,r){if(e.length===0)return``;let i=buildTopPoints(e,t,n);return r===`monotone`?monotonePath(i):r===`step`?stepPath(i):linePath(i)}function renderSparkBars(e,t,n,r,i,a,o){let s=t.length,c=Math.max(1,n/s-1),l=n/s,u=Math.min(0,...t),d=Math.max(...t)-u||1,f=resolveMotion(a,0),p=f.duration,m=resolveEasing(f.easing);for(;e.children.length>s;){let t=e.lastElementChild;t&&e.removeChild(t)}for(let n=0;n<s;n++){let a=Math.max(1,(t[n]-u)/d*r),s=r-a,f=e.children[n];if(f||(f=createSvgElement(`rect`,{class:`prism-spark-bar`}),e.appendChild(f)),setAttributes(f,{fill:i,width:c,x:n*l}),p>0&&!f.hasAttribute(`data-init`)){f.setAttribute(`data-init`,`1`),setAttributes(f,{height:0,y:r});let e=null,t={h:0,y:r},n={h:a,y:s},frame=r=>{if(o?.aborted)return;e===null&&(e=r);let i=m(Math.min(1,(r-e)/p));setAttributes(f,{height:tweenNumber(t.h,n.h,i),y:tweenNumber(t.y,n.y,i)}),i<1&&requestAnimationFrame(frame)};requestAnimationFrame(frame)}else f.setAttribute(`data-init`,`1`),setAttributes(f,{height:a,y:s})}}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=t.data,u=createChartBase(e,{a11y:t.a11y,margin:{bottom:0,left:0,right:0,top:0}},renderAll),{svg:d}=u;d.classList.add(`prism-sparkline`);let f=createSvgElement(`g`,{class:`prism-spark-inner`});d.appendChild(f);let cleanupInteraction;function plotArea(){let{height:e,width:t}=u.dimensions,r=n===`line`||n===`area`?N:0;return{h:Math.max(1,e-r*2),inset:r,w:Math.max(1,t-r*2)}}function renderAll(){let{height:e,width:d}=u.dimensions,m=plotArea();for(;f.firstChild;)f.removeChild(f.firstChild);if(f.setAttribute(`transform`,`translate(${m.inset},${m.inset})`),l.length!==0){if(!isStackData(l)&&l.some(e=>!Number.isFinite(e)),n===`stack`&&isStackData(l)){let n=createSvgElement(`g`,{class:`prism-spark-stack`});f.appendChild(n);let r=t.cornerRadius??4,i=l,a=i.reduce((e,t)=>e+Math.max(0,t.value),0);if(a>0){let o=(t.padPixels??0)/2,s=0;i.forEach((t,c)=>{let l=Math.round(s);s+=Math.max(0,t.value)/a*d;let u=c===i.length-1?d:Math.round(s),f=c===0,p=c===i.length-1,m=buildRoundedStackRect(l+(f?0:o),0,Math.max(0,u-l-(f?0:o)-(p?0:o)),e,r,f,p),h=createSvgElement(`path`,{class:`prism-spark-stack-segment`});setAttributes(h,{d:m,fill:t.color??defaultStackColor(c)}),n.appendChild(h)})}}else if(n===`bar`){let n=createSvgElement(`g`,{class:`prism-spark-bars`});f.appendChild(n),renderSparkBars(n,l,d,e,r,t.transition,p.signal)}else{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),f.appendChild(e);let n=createSvgElement(`path`,{class:`prism-spark-fill`});setAttributes(n,{d:buildAreaPath(l,m.w,m.h,i),fill:`url(#${c})`,stroke:`none`}),n.style.fillOpacity=o===void 0?``:String(o),f.appendChild(n)}let e=createSvgElement(`path`,{class:`prism-spark-line`});setAttributes(e,{d:buildPath(l,m.w,m.h,i),fill:`none`,stroke:r,"stroke-width":a}),f.appendChild(e);let t=buildTopPoints(l,m.w,m.h).at(-1);s&&t&&f.appendChild(createSvgElement(`circle`,{class:`prism-spark-end`,cx:t.x,cy:t.y,fill:r,r:2.5}))}isStackData(l)||attachInteraction(l)}}function attachInteraction(e){if(cleanupInteraction?.(),cleanupInteraction=void 0,!t.onHover&&!t.onClick||e.length<=1)return;let{h:i,inset:a,w:o}=plotArea();d.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-d.getBoundingClientRect().left-a)/s)));l.style.display=`none`,f.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?.(r,e[r])},handleLeave=()=>{l.style.display=`none`,t.onHover?.(null,null)},handleClick=n=>{if(!t.onClick)return;let r=indexAt(n.clientX);t.onClick(r,e[r])};d.addEventListener(`mousemove`,handleMove),d.addEventListener(`mouseleave`,handleLeave),d.addEventListener(`click`,handleClick),cleanupInteraction=()=>{d.removeEventListener(`mousemove`,handleMove),d.removeEventListener(`mouseleave`,handleLeave),d.removeEventListener(`click`,handleClick)}}let p=new AbortController,m=!1;try{return renderAll(),{get disposalSignal(){return p.signal},dispose(){m||(m=!0,p.abort(),cleanupInteraction?.(),u.dispose())},get disposed(){return m},el:d,update(e){if(m)throw new PrismRenderError(`Cannot update a disposed chart.`);l=e,renderAll()},[Symbol.dispose](){this.dispose()}}}catch(e){throw p.abort(),cleanupInteraction?.(),u.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};
2
2
  //# sourceMappingURL=prism.js.map