@vielzeug/prism 3.0.0 → 26.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/_dev.cjs +1 -1
  2. package/dist/_dev.cjs.map +1 -1
  3. package/dist/_dev.js +1 -5
  4. package/dist/_dev.js.map +1 -1
  5. package/dist/animation/easing.cjs +1 -1
  6. package/dist/animation/easing.cjs.map +1 -1
  7. package/dist/animation/easing.js +1 -13
  8. package/dist/animation/easing.js.map +1 -1
  9. package/dist/animation/motion.cjs +1 -1
  10. package/dist/animation/motion.cjs.map +1 -1
  11. package/dist/animation/motion.js +1 -12
  12. package/dist/animation/motion.js.map +1 -1
  13. package/dist/animation/transition.cjs +1 -1
  14. package/dist/animation/transition.cjs.map +1 -1
  15. package/dist/animation/transition.js +1 -28
  16. package/dist/animation/transition.js.map +1 -1
  17. package/dist/animation/tween.cjs +1 -1
  18. package/dist/animation/tween.cjs.map +1 -1
  19. package/dist/animation/tween.js +1 -7
  20. package/dist/animation/tween.js.map +1 -1
  21. package/dist/axes/axis.cjs +1 -1
  22. package/dist/axes/axis.cjs.map +1 -1
  23. package/dist/axes/axis.js +1 -63
  24. package/dist/axes/axis.js.map +1 -1
  25. package/dist/axes/grid.cjs +1 -1
  26. package/dist/axes/grid.cjs.map +1 -1
  27. package/dist/axes/grid.js +1 -29
  28. package/dist/axes/grid.js.map +1 -1
  29. package/dist/axes/scale-utils.cjs +1 -1
  30. package/dist/axes/scale-utils.cjs.map +1 -1
  31. package/dist/axes/scale-utils.js +1 -10
  32. package/dist/axes/scale-utils.js.map +1 -1
  33. package/dist/charts/area/area-chart.cjs +1 -1
  34. package/dist/charts/area/area-chart.cjs.map +1 -1
  35. package/dist/charts/area/area-chart.js +1 -57
  36. package/dist/charts/area/area-chart.js.map +1 -1
  37. package/dist/charts/area/area-renderer.cjs +1 -1
  38. package/dist/charts/area/area-renderer.cjs.map +1 -1
  39. package/dist/charts/area/area-renderer.js +1 -73
  40. package/dist/charts/area/area-renderer.js.map +1 -1
  41. package/dist/charts/bar/bar-chart.cjs +1 -1
  42. package/dist/charts/bar/bar-chart.cjs.map +1 -1
  43. package/dist/charts/bar/bar-chart.js +1 -169
  44. package/dist/charts/bar/bar-chart.js.map +1 -1
  45. package/dist/charts/bar/bar-hit-test.cjs +1 -1
  46. package/dist/charts/bar/bar-hit-test.cjs.map +1 -1
  47. package/dist/charts/bar/bar-hit-test.js +1 -29
  48. package/dist/charts/bar/bar-hit-test.js.map +1 -1
  49. package/dist/charts/bar/bar-renderer.cjs +1 -1
  50. package/dist/charts/bar/bar-renderer.cjs.map +1 -1
  51. package/dist/charts/bar/bar-renderer.js +1 -106
  52. package/dist/charts/bar/bar-renderer.js.map +1 -1
  53. package/dist/charts/line/line-chart.cjs +1 -1
  54. package/dist/charts/line/line-chart.cjs.map +1 -1
  55. package/dist/charts/line/line-chart.js +1 -58
  56. package/dist/charts/line/line-chart.js.map +1 -1
  57. package/dist/charts/line/line-renderer.cjs +1 -1
  58. package/dist/charts/line/line-renderer.cjs.map +1 -1
  59. package/dist/charts/line/line-renderer.js +1 -100
  60. package/dist/charts/line/line-renderer.js.map +1 -1
  61. package/dist/charts/pie/pie-chart.cjs +1 -1
  62. package/dist/charts/pie/pie-chart.cjs.map +1 -1
  63. package/dist/charts/pie/pie-chart.js +1 -165
  64. package/dist/charts/pie/pie-chart.js.map +1 -1
  65. package/dist/charts/pie/pie-renderer.cjs +1 -1
  66. package/dist/charts/pie/pie-renderer.cjs.map +1 -1
  67. package/dist/charts/pie/pie-renderer.js +1 -76
  68. package/dist/charts/pie/pie-renderer.js.map +1 -1
  69. package/dist/charts/sparkline/sparkline.cjs +1 -1
  70. package/dist/charts/sparkline/sparkline.cjs.map +1 -1
  71. package/dist/charts/sparkline/sparkline.js +1 -191
  72. package/dist/charts/sparkline/sparkline.js.map +1 -1
  73. package/dist/core/cartesian-model.cjs +1 -1
  74. package/dist/core/cartesian-model.cjs.map +1 -1
  75. package/dist/core/cartesian-model.js +1 -30
  76. package/dist/core/cartesian-model.js.map +1 -1
  77. package/dist/core/cartesian-scales.cjs +1 -1
  78. package/dist/core/cartesian-scales.cjs.map +1 -1
  79. package/dist/core/cartesian-scales.js +1 -37
  80. package/dist/core/cartesian-scales.js.map +1 -1
  81. package/dist/core/chart-base.cjs +1 -1
  82. package/dist/core/chart-base.cjs.map +1 -1
  83. package/dist/core/chart-base.js +1 -53
  84. package/dist/core/chart-base.js.map +1 -1
  85. package/dist/core/chart-scaffold.cjs +1 -1
  86. package/dist/core/chart-scaffold.cjs.map +1 -1
  87. package/dist/core/chart-scaffold.js +1 -89
  88. package/dist/core/chart-scaffold.js.map +1 -1
  89. package/dist/core/layout.cjs +1 -1
  90. package/dist/core/layout.cjs.map +1 -1
  91. package/dist/core/layout.js +1 -22
  92. package/dist/core/layout.js.map +1 -1
  93. package/dist/core/responsive.cjs +1 -1
  94. package/dist/core/responsive.cjs.map +1 -1
  95. package/dist/core/responsive.js +1 -19
  96. package/dist/core/responsive.js.map +1 -1
  97. package/dist/devtools.cjs +1 -1
  98. package/dist/devtools.cjs.map +1 -1
  99. package/dist/devtools.js +1 -18
  100. package/dist/devtools.js.map +1 -1
  101. package/dist/errors.cjs +1 -1
  102. package/dist/errors.cjs.map +1 -1
  103. package/dist/errors.js +1 -9
  104. package/dist/errors.js.map +1 -1
  105. package/dist/index.js +1 -11
  106. package/dist/interaction/crosshair.cjs +1 -1
  107. package/dist/interaction/crosshair.cjs.map +1 -1
  108. package/dist/interaction/crosshair.js +1 -45
  109. package/dist/interaction/crosshair.js.map +1 -1
  110. package/dist/interaction/events.cjs +1 -1
  111. package/dist/interaction/events.cjs.map +1 -1
  112. package/dist/interaction/events.js +1 -11
  113. package/dist/interaction/events.js.map +1 -1
  114. package/dist/interaction/legend.cjs +1 -1
  115. package/dist/interaction/legend.cjs.map +1 -1
  116. package/dist/interaction/legend.js +1 -30
  117. package/dist/interaction/legend.js.map +1 -1
  118. package/dist/interaction/series-interaction.cjs +1 -1
  119. package/dist/interaction/series-interaction.cjs.map +1 -1
  120. package/dist/interaction/series-interaction.js +1 -97
  121. package/dist/interaction/series-interaction.js.map +1 -1
  122. package/dist/interaction/tooltip.cjs +1 -1
  123. package/dist/interaction/tooltip.cjs.map +1 -1
  124. package/dist/interaction/tooltip.js +1 -63
  125. package/dist/interaction/tooltip.js.map +1 -1
  126. package/dist/prism.cjs +1 -1
  127. package/dist/prism.cjs.map +1 -1
  128. package/dist/prism.iife.js +1 -1
  129. package/dist/prism.iife.js.map +1 -1
  130. package/dist/prism.js +1 -1
  131. package/dist/prism.js.map +1 -1
  132. package/dist/scales/band.cjs +1 -1
  133. package/dist/scales/band.cjs.map +1 -1
  134. package/dist/scales/band.js +1 -39
  135. package/dist/scales/band.js.map +1 -1
  136. package/dist/scales/linear.cjs +1 -1
  137. package/dist/scales/linear.cjs.map +1 -1
  138. package/dist/scales/linear.js +1 -43
  139. package/dist/scales/linear.js.map +1 -1
  140. package/dist/scales/time.cjs +1 -1
  141. package/dist/scales/time.cjs.map +1 -1
  142. package/dist/scales/time.js +1 -61
  143. package/dist/scales/time.js.map +1 -1
  144. package/dist/svg/element.cjs +1 -1
  145. package/dist/svg/element.cjs.map +1 -1
  146. package/dist/svg/element.js +1 -22
  147. package/dist/svg/element.js.map +1 -1
  148. package/dist/svg/path.cjs +1 -1
  149. package/dist/svg/path.cjs.map +1 -1
  150. package/dist/svg/path.js +1 -48
  151. package/dist/svg/path.js.map +1 -1
  152. package/dist/svg/text.cjs +1 -1
  153. package/dist/svg/text.cjs.map +1 -1
  154. package/dist/svg/text.js +1 -9
  155. package/dist/svg/text.js.map +1 -1
  156. package/dist/theme/index.cjs +1 -1
  157. package/dist/theme/index.cjs.map +1 -1
  158. package/dist/theme/index.js +1 -19
  159. package/dist/theme/index.js.map +1 -1
  160. package/package.json +5 -5
@@ -1,64 +1,2 @@
1
- import { computePosition as e, flip as t, offset as n, shift as r } from "@vielzeug/orbit";
2
- //#region src/interaction/tooltip.ts
3
- function i(i, a) {
4
- let o = i.style.position, s = getComputedStyle(i).position === "static";
5
- s && (i.style.position = "relative");
6
- let c = i.ownerDocument.createElement("div");
7
- 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);
8
- let l = a !== !0 && a?.offset || 8, u = a === !0 ? void 0 : a?.render, d = null, f = null, p = !1, m = () => {
9
- f !== null && (clearTimeout(f), f = null);
10
- }, h = () => {
11
- d !== null && (cancelAnimationFrame(d), d = null);
12
- }, g = () => {
13
- h(), m(), c.remove(), s && i.style.position === "relative" && (i.style.position = o);
14
- };
15
- return {
16
- dispose: g,
17
- el: c,
18
- hide() {
19
- h(), m(), p = !1, c.style.opacity = "0", f = setTimeout(() => {
20
- f = null, p || (c.textContent = "");
21
- }, 150);
22
- },
23
- show(a, o, s, f) {
24
- if (!i.isConnected) return;
25
- if (m(), u) {
26
- let e = u(s, f);
27
- typeof e == "string" ? c.textContent = e : c.replaceChildren(e);
28
- } else c.textContent = `${f.name}: ${s.value}`;
29
- let { x: h, y: g } = e({ getBoundingClientRect: () => {
30
- let e = i.getBoundingClientRect();
31
- return {
32
- bottom: e.top + o,
33
- height: 0,
34
- left: e.left + a,
35
- right: e.left + a,
36
- top: e.top + o,
37
- width: 0,
38
- x: e.left + a,
39
- y: e.top + o
40
- };
41
- } }, c, {
42
- containingBlock: i,
43
- middleware: [
44
- n(l),
45
- t(),
46
- r({ padding: 8 })
47
- ],
48
- placement: "top"
49
- });
50
- if (c.style.left = `${h}px`, c.style.top = `${g}px`, p) {
51
- d === null && (c.style.opacity = "1");
52
- return;
53
- }
54
- p = !0, c.style.opacity = "0", d = requestAnimationFrame(() => {
55
- d = null, p && (c.style.opacity = "1");
56
- });
57
- },
58
- [Symbol.dispose]: g
59
- };
60
- }
61
- //#endregion
62
- export { i as createTooltip };
63
-
1
+ import{computePosition as e,flip as t,offset as n,shift as r}from"@vielzeug/orbit";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){if(!i.isConnected)return;if(cancelClear(),u){let e=u(s,f);typeof e==`string`?c.textContent=e:c.replaceChildren(e)}else c.textContent=`${f.name}: ${s.value}`;let{x:m,y:h}=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=`${m}px`,c.style.top=`${h}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}}export{createTooltip};
64
2
  //# sourceMappingURL=tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":[],"sources":["../../src/interaction/tooltip.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@vielzeug/orbit';\nimport type { Datum, Series, TooltipConfig } from '../types';\n\nexport interface TooltipState {\n dispose(): void;\n el: HTMLDivElement | null;\n hide(): void;\n show(x: number, y: number, datum: Datum, series: Series): void;\n [Symbol.dispose](): void;\n}\n\nexport function createTooltip(container: HTMLElement, config?: TooltipConfig | true): TooltipState {\n const previousPosition = container.style.position;\n const changedPosition = getComputedStyle(container).position === 'static';\n\n if (changedPosition) container.style.position = 'relative';\n\n const el = container.ownerDocument.createElement('div');\n\n el.className = 'prism-tooltip';\n el.style.position = 'absolute';\n el.style.pointerEvents = 'none';\n el.style.top = '0';\n el.style.left = '0';\n // Non-modal status text — announced by assistive tech whenever content/hide state changes.\n el.setAttribute('role', 'status');\n el.setAttribute('aria-live', 'polite');\n container.appendChild(el);\n\n const tooltipOffset: number = (config !== true && config?.offset) || 8;\n const render = config !== true ? config?.render : undefined;\n\n let revealFrame: number | null = null;\n let clearTimer: ReturnType<typeof setTimeout> | null = null;\n let visible = false;\n\n const cancelClear = (): void => {\n if (clearTimer === null) return;\n\n clearTimeout(clearTimer);\n clearTimer = null;\n };\n\n const cancelReveal = (): void => {\n if (revealFrame === null) return;\n\n cancelAnimationFrame(revealFrame);\n revealFrame = null;\n };\n\n const disposeHandle = (): void => {\n cancelReveal();\n cancelClear();\n el.remove();\n if (changedPosition && container.style.position === 'relative') container.style.position = previousPosition;\n };\n\n return {\n dispose: disposeHandle,\n el,\n hide() {\n cancelReveal();\n cancelClear();\n visible = false;\n el.style.opacity = '0';\n clearTimer = setTimeout(() => {\n clearTimer = null;\n\n if (!visible) el.textContent = '';\n }, 150);\n },\n show(x: number, y: number, datum: Datum, series: Series) {\n if (!container.isConnected) return;\n\n cancelClear();\n\n if (render) {\n const content = render(datum, series);\n\n if (typeof content === 'string') el.textContent = content;\n else el.replaceChildren(content);\n } else {\n el.textContent = `${series.name}: ${datum.value}`;\n }\n\n const virtualRef = {\n getBoundingClientRect: () => {\n const rect = container.getBoundingClientRect();\n\n return {\n bottom: rect.top + y,\n height: 0,\n left: rect.left + x,\n right: rect.left + x,\n top: rect.top + y,\n width: 0,\n x: rect.left + x,\n y: rect.top + y,\n };\n },\n };\n\n const { x: positionX, y: positionY } = computePosition(virtualRef, el, {\n containingBlock: container,\n middleware: [offset(tooltipOffset), flip(), shift({ padding: 8 })],\n placement: 'top',\n });\n\n el.style.left = `${positionX}px`;\n el.style.top = `${positionY}px`;\n\n if (visible) {\n if (revealFrame === null) el.style.opacity = '1';\n\n return;\n }\n\n visible = true;\n el.style.opacity = '0';\n revealFrame = requestAnimationFrame(() => {\n revealFrame = null;\n\n if (visible) el.style.opacity = '1';\n });\n },\n [Symbol.dispose]: disposeHandle,\n };\n}\n"],"mappings":";;AAWA,SAAgB,EAAc,GAAwB,GAA6C;CACjG,IAAM,IAAmB,EAAU,MAAM,UACnC,IAAkB,iBAAiB,CAAS,CAAC,CAAC,aAAa;CAEjE,AAAI,MAAiB,EAAU,MAAM,WAAW;CAEhD,IAAM,IAAK,EAAU,cAAc,cAAc,KAAK;CAUtD,AARA,EAAG,YAAY,iBACf,EAAG,MAAM,WAAW,YACpB,EAAG,MAAM,gBAAgB,QACzB,EAAG,MAAM,MAAM,KACf,EAAG,MAAM,OAAO,KAEhB,EAAG,aAAa,QAAQ,QAAQ,GAChC,EAAG,aAAa,aAAa,QAAQ,GACrC,EAAU,YAAY,CAAE;CAExB,IAAM,IAAyB,MAAW,MAAQ,GAAQ,UAAW,GAC/D,IAAS,MAAW,KAAwB,KAAA,IAAjB,GAAQ,QAErC,IAA6B,MAC7B,IAAmD,MACnD,IAAU,IAER,UAA0B;EAC1B,MAAe,SAEnB,aAAa,CAAU,GACvB,IAAa;CACf,GAEM,UAA2B;EAC3B,MAAgB,SAEpB,qBAAqB,CAAW,GAChC,IAAc;CAChB,GAEM,UAA4B;EAIhC,AAHA,EAAa,GACb,EAAY,GACZ,EAAG,OAAO,GACN,KAAmB,EAAU,MAAM,aAAa,eAAY,EAAU,MAAM,WAAW;CAC7F;CAEA,OAAO;EACL,SAAS;EACT;EACA,OAAO;GAKL,AAJA,EAAa,GACb,EAAY,GACZ,IAAU,IACV,EAAG,MAAM,UAAU,KACnB,IAAa,iBAAiB;IAG5B,AAFA,IAAa,MAER,MAAS,EAAG,cAAc;GACjC,GAAG,GAAG;EACR;EACA,KAAK,GAAW,GAAW,GAAc,GAAgB;GACvD,IAAI,CAAC,EAAU,aAAa;GAI5B,IAFA,EAAY,GAER,GAAQ;IACV,IAAM,IAAU,EAAO,GAAO,CAAM;IAEpC,AAAI,OAAO,KAAY,WAAU,EAAG,cAAc,IAC7C,EAAG,gBAAgB,CAAO;GACjC,OACE,EAAG,cAAc,GAAG,EAAO,KAAK,IAAI,EAAM;GAoB5C,IAAM,EAAE,GAAG,GAAW,GAAG,MAAc,EAAgB,EAhBrD,6BAA6B;IAC3B,IAAM,IAAO,EAAU,sBAAsB;IAE7C,OAAO;KACL,QAAQ,EAAK,MAAM;KACnB,QAAQ;KACR,MAAM,EAAK,OAAO;KAClB,OAAO,EAAK,OAAO;KACnB,KAAK,EAAK,MAAM;KAChB,OAAO;KACP,GAAG,EAAK,OAAO;KACf,GAAG,EAAK,MAAM;IAChB;GACF,EAGqD,GAAY,GAAI;IACrE,iBAAiB;IACjB,YAAY;KAAC,EAAO,CAAa;KAAG,EAAK;KAAG,EAAM,EAAE,SAAS,EAAE,CAAC;IAAC;IACjE,WAAW;GACb,CAAC;GAKD,IAHA,EAAG,MAAM,OAAO,GAAG,EAAU,KAC7B,EAAG,MAAM,MAAM,GAAG,EAAU,KAExB,GAAS;IACX,AAAI,MAAgB,SAAM,EAAG,MAAM,UAAU;IAE7C;GACF;GAIA,AAFA,IAAU,IACV,EAAG,MAAM,UAAU,KACnB,IAAc,4BAA4B;IAGxC,AAFA,IAAc,MAEV,MAAS,EAAG,MAAM,UAAU;GAClC,CAAC;EACH;GACC,OAAO,UAAU;CACpB;AACF"}
1
+ {"version":3,"file":"tooltip.js","names":[],"sources":["../../src/interaction/tooltip.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@vielzeug/orbit';\nimport type { Datum, Series, TooltipConfig } from '../types';\n\nexport interface TooltipState {\n dispose(): void;\n el: HTMLDivElement | null;\n hide(): void;\n show(x: number, y: number, datum: Datum, series: Series): void;\n [Symbol.dispose](): void;\n}\n\nexport function createTooltip(container: HTMLElement, config?: TooltipConfig | true): TooltipState {\n const previousPosition = container.style.position;\n const changedPosition = getComputedStyle(container).position === 'static';\n\n if (changedPosition) container.style.position = 'relative';\n\n const el = container.ownerDocument.createElement('div');\n\n el.className = 'prism-tooltip';\n el.style.position = 'absolute';\n el.style.pointerEvents = 'none';\n el.style.top = '0';\n el.style.left = '0';\n // Non-modal status text — announced by assistive tech whenever content/hide state changes.\n el.setAttribute('role', 'status');\n el.setAttribute('aria-live', 'polite');\n container.appendChild(el);\n\n const tooltipOffset: number = (config !== true && config?.offset) || 8;\n const render = config !== true ? config?.render : undefined;\n\n let revealFrame: number | null = null;\n let clearTimer: ReturnType<typeof setTimeout> | null = null;\n let visible = false;\n\n const cancelClear = (): void => {\n if (clearTimer === null) return;\n\n clearTimeout(clearTimer);\n clearTimer = null;\n };\n\n const cancelReveal = (): void => {\n if (revealFrame === null) return;\n\n cancelAnimationFrame(revealFrame);\n revealFrame = null;\n };\n\n const disposeHandle = (): void => {\n cancelReveal();\n cancelClear();\n el.remove();\n if (changedPosition && container.style.position === 'relative') container.style.position = previousPosition;\n };\n\n return {\n dispose: disposeHandle,\n el,\n hide() {\n cancelReveal();\n cancelClear();\n visible = false;\n el.style.opacity = '0';\n clearTimer = setTimeout(() => {\n clearTimer = null;\n\n if (!visible) el.textContent = '';\n }, 150);\n },\n show(x: number, y: number, datum: Datum, series: Series) {\n if (!container.isConnected) return;\n\n cancelClear();\n\n if (render) {\n const content = render(datum, series);\n\n if (typeof content === 'string') el.textContent = content;\n else el.replaceChildren(content);\n } else {\n el.textContent = `${series.name}: ${datum.value}`;\n }\n\n const virtualRef = {\n getBoundingClientRect: () => {\n const rect = container.getBoundingClientRect();\n\n return {\n bottom: rect.top + y,\n height: 0,\n left: rect.left + x,\n right: rect.left + x,\n top: rect.top + y,\n width: 0,\n x: rect.left + x,\n y: rect.top + y,\n };\n },\n };\n\n const { x: positionX, y: positionY } = computePosition(virtualRef, el, {\n containingBlock: container,\n middleware: [offset(tooltipOffset), flip(), shift({ padding: 8 })],\n placement: 'top',\n });\n\n el.style.left = `${positionX}px`;\n el.style.top = `${positionY}px`;\n\n if (visible) {\n if (revealFrame === null) el.style.opacity = '1';\n\n return;\n }\n\n visible = true;\n el.style.opacity = '0';\n revealFrame = requestAnimationFrame(() => {\n revealFrame = null;\n\n if (visible) el.style.opacity = '1';\n });\n },\n [Symbol.dispose]: disposeHandle,\n };\n}\n"],"mappings":"mFAWA,SAAgB,cAAc,EAAwB,EAA6C,CACjG,IAAM,EAAmB,EAAU,MAAM,SACnC,EAAkB,iBAAiB,CAAS,CAAC,CAAC,WAAa,SAE7D,IAAiB,EAAU,MAAM,SAAW,YAEhD,IAAM,EAAK,EAAU,cAAc,cAAc,KAAK,EAEtD,EAAG,UAAY,gBACf,EAAG,MAAM,SAAW,WACpB,EAAG,MAAM,cAAgB,OACzB,EAAG,MAAM,IAAM,IACf,EAAG,MAAM,KAAO,IAEhB,EAAG,aAAa,OAAQ,QAAQ,EAChC,EAAG,aAAa,YAAa,QAAQ,EACrC,EAAU,YAAY,CAAE,EAExB,IAAM,EAAyB,IAAW,IAAQ,GAAQ,QAAW,EAC/D,EAAS,IAAW,GAAwB,IAAA,GAAjB,GAAQ,OAErC,EAA6B,KAC7B,EAAmD,KACnD,EAAU,GAER,gBAA0B,CAC1B,IAAe,OAEnB,aAAa,CAAU,EACvB,EAAa,KACf,EAEM,iBAA2B,CAC3B,IAAgB,OAEpB,qBAAqB,CAAW,EAChC,EAAc,KAChB,EAEM,kBAA4B,CAChC,aAAa,EACb,YAAY,EACZ,EAAG,OAAO,EACN,GAAmB,EAAU,MAAM,WAAa,aAAY,EAAU,MAAM,SAAW,EAC7F,EAEA,MAAO,CACL,QAAS,cACT,KACA,MAAO,CACL,aAAa,EACb,YAAY,EACZ,EAAU,GACV,EAAG,MAAM,QAAU,IACnB,EAAa,eAAiB,CAC5B,EAAa,KAER,IAAS,EAAG,YAAc,GACjC,EAAG,GAAG,CACR,EACA,KAAK,EAAW,EAAW,EAAc,EAAgB,CACvD,GAAI,CAAC,EAAU,YAAa,OAI5B,GAFA,YAAY,EAER,EAAQ,CACV,IAAM,EAAU,EAAO,EAAO,CAAM,EAEhC,OAAO,GAAY,SAAU,EAAG,YAAc,EAC7C,EAAG,gBAAgB,CAAO,CACjC,KACE,GAAG,YAAc,GAAG,EAAO,KAAK,IAAI,EAAM,QAoB5C,GAAM,CAAE,EAAG,EAAW,EAAG,GAAc,EAAgB,CAhBrD,0BAA6B,CAC3B,IAAM,EAAO,EAAU,sBAAsB,EAE7C,MAAO,CACL,OAAQ,EAAK,IAAM,EACnB,OAAQ,EACR,KAAM,EAAK,KAAO,EAClB,MAAO,EAAK,KAAO,EACnB,IAAK,EAAK,IAAM,EAChB,MAAO,EACP,EAAG,EAAK,KAAO,EACf,EAAG,EAAK,IAAM,CAChB,CACF,CAGqD,EAAY,EAAI,CACrE,gBAAiB,EACjB,WAAY,CAAC,EAAO,CAAa,EAAG,EAAK,EAAG,EAAM,CAAE,QAAS,CAAE,CAAC,CAAC,EACjE,UAAW,KACb,CAAC,EAKD,GAHA,EAAG,MAAM,KAAO,GAAG,EAAU,IAC7B,EAAG,MAAM,IAAM,GAAG,EAAU,IAExB,EAAS,CACP,IAAgB,OAAM,EAAG,MAAM,QAAU,KAE7C,MACF,CAEA,EAAU,GACV,EAAG,MAAM,QAAU,IACnB,EAAc,0BAA4B,CACxC,EAAc,KAEV,IAAS,EAAG,MAAM,QAAU,IAClC,CAAC,CACH,GACC,OAAO,SAAU,aACpB,CACF"}
package/dist/prism.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@vielzeug/orbit");var t=`http://www.w3.org/2000/svg`;function n(e,n){let i=document.createElementNS(t,e);return n&&r(i,n),i}function r(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 i(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function a(e,t){let r=n(`text`,t);return r.textContent=e,r}function o(e){return typeof e.bandwidth==`function`}function s(e,t){return o(e)?e.map(t)+e.bandwidth()/2:e.map(t)}var c=e=>e instanceof Date?e.toLocaleDateString(void 0,{month:`short`,year:`numeric`}):String(e);function l(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 u(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 d(e,t,o,l,d=`bottom`){i(e);let f=o.position??d,p=f===`bottom`||f===`top`,m=f===`top`||f===`left`,h=m?-1:1,g=n(`line`,{"aria-hidden":`true`,class:`prism-axis-line`,x1:0,x2:p?l:0,y1:0,y2:p?0:l});e.appendChild(g);let _=t.ticks(u(o,l,d)),v=o.tickFormat??c;for(let r of _){let i=s(t,r),o=n(`line`,{"aria-hidden":`true`,class:`prism-axis-tick`,x1:p?i:0,x2:p?i:6*h,y1:p?0:i,y2:p?6*h:i});e.appendChild(o);let c=a(v(r),{"aria-hidden":`true`,class:`prism-axis-label`,"dominant-baseline":p?m?`auto`:`hanging`:`middle`,"text-anchor":p?`middle`:m?`end`:`start`,x:p?i:6*h*1.5,y:p?6*h*1.5:i});e.appendChild(c)}if(o.label){let t=a(o.label,{class:`prism-axis-title`,"dominant-baseline":`middle`,"text-anchor":`middle`});p?r(t,{x:l/2,y:6*h*6}):r(t,{transform:`translate(${6*h*7}, ${l/2}) rotate(-90)`}),e.appendChild(t)}}function f(e,t,r,a,o,c=10){i(e);let l=r!==!0&&r.color||void 0,u=r!==!0&&r.dash||void 0,d=t.ticks(c);for(let r of d){let i=s(t,r),c={class:`prism-grid-line`,stroke:l??`var(--prism-grid-color)`,"stroke-dasharray":u,"stroke-opacity":`var(--prism-grid-opacity)`};o===`vertical`?Object.assign(c,{x1:i,x2:i,y1:0,y2:a}):Object.assign(c,{x1:0,x2:a,y1:i,y2:i}),e.appendChild(n(`line`,c))}}function p(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 m(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=p(p(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function h(e){let t=()=>e.nice===!1?e.domain:m(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=p(p(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 g=1e3,_=60*g,v=60*_,y=24*v,b=30*y,x=365*y,S=[g,5*g,15*g,30*g,_,5*_,15*_,30*_,v,3*v,6*v,12*v,y,7*y,b,3*b,6*b,x];function C(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of S)if(e>=n)return e;return x}function w(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=C(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function T(e){let t=()=>e.nice===!1?e.domain:w(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=C(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 E(e,t){if(e.length===0||e.some(e=>e==null)||e.some(e=>typeof e==`number`&&!Number.isFinite(e)))return h({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 T({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 h({domain:[r,r===i?i+1:i],nice:!1,range:[0,t]})}function D(e,t,n=!0){if(e.length===0||e.some(e=>e==null)||e.some(e=>!Number.isFinite(e)))return h({domain:[0,1],range:[t,0]});let r=Math.min(...e),i=n?Math.min(0,r):r,a=Math.max(...e);return h({domain:[i,i===a?a+1:a],range:[t,0]})}var O=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},k=class extends O{};function A(e){return e===!0?`bottom`:e.position??`bottom`}function j(e,t){let n=A(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 M(t,n){let r=t.style.position,i=getComputedStyle(t).position===`static`;i&&(t.style.position=`relative`);let a=t.ownerDocument.createElement(`div`);a.className=`prism-tooltip`,a.style.position=`absolute`,a.style.pointerEvents=`none`,a.style.top=`0`,a.style.left=`0`,a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`),t.appendChild(a);let o=n!==!0&&n?.offset||8,s=n===!0?void 0:n?.render,c=null,l=null,u=!1,d=()=>{l!==null&&(clearTimeout(l),l=null)},f=()=>{c!==null&&(cancelAnimationFrame(c),c=null)},p=()=>{f(),d(),a.remove(),i&&t.style.position===`relative`&&(t.style.position=r)};return{dispose:p,el:a,hide(){f(),d(),u=!1,a.style.opacity=`0`,l=setTimeout(()=>{l=null,u||(a.textContent=``)},150)},show(n,r,i,l){if(!t.isConnected)return;if(d(),s){let e=s(i,l);typeof e==`string`?a.textContent=e:a.replaceChildren(e)}else a.textContent=`${l.name}: ${i.value}`;let{x:f,y:p}=(0,e.computePosition)({getBoundingClientRect:()=>{let e=t.getBoundingClientRect();return{bottom:e.top+r,height:0,left:e.left+n,right:e.left+n,top:e.top+r,width:0,x:e.left+n,y:e.top+r}}},a,{containingBlock:t,middleware:[(0,e.offset)(o),(0,e.flip)(),(0,e.shift)({padding:8})],placement:`top`});if(a.style.left=`${f}px`,a.style.top=`${p}px`,u){c===null&&(a.style.opacity=`1`);return}u=!0,a.style.opacity=`0`,c=requestAnimationFrame(()=>{c=null,u&&(a.style.opacity=`1`)})},[Symbol.dispose]:p}}var N={bottom:48,left:50,right:20,top:20};function ee(e){return{...N,...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 te(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 ne(e,t,i){if(!(typeof e==`object`&&e&&e.nodeType===1&&typeof e.appendChild==`function`&&typeof e.getBoundingClientRect==`function`)){let t=e;throw new k(`Invalid chart configuration: \`container\` must be a DOM Element, received ${t===null?`null`:typeof t==`object`?t.constructor?.name??`object`:typeof t}.`)}let a=ee(t.margin),o=t.a11y,s=n(`svg`,{...!o||o.decorative?{"aria-hidden":`true`}:{"aria-label":o.ariaLabel,role:`img`,tabindex:`0`},class:`prism-chart`,style:`display:block;width:100%;height:100%`}),c=n(`g`,{class:`prism-chart-area`,transform:`translate(${a.left},${a.top})`});s.appendChild(c);let l=e.getBoundingClientRect();l.width===0||l.height;let u={height:l.height||300,margin:a,width:l.width||600},d=te(e,(e,t)=>{u.height=t,u.width=e,r(s,{height:t,viewBox:`0 0 ${e} ${t}`,width:e}),i?.()}),f=l.width||600,p=l.height||300;return r(s,{height:p,viewBox:`0 0 ${f} ${p}`,width:f}),e.appendChild(s),{chartArea:c,dimensions:u,dispose(){d(),s.remove()},svg:s}}function F(e,t,n,r){i(e.series),i(e.grid),i(e.xAxis),i(e.yAxis),t?.update([]),n?.hide(),r?.hide()}function re(e,t,n,r,i){let a=()=>{},o=ne(e,{a11y:t.a11y,margin:t.margin},()=>a()),s=t.tooltip?M(e,t.tooltip):null,c=t.legend?j(e,t.legend):null,l=new AbortController,u=n(o,s,c,l.signal),d=!1,f=ie(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 k?e:new k(`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 k(`Cannot update a disposed chart.`);i(e),a()},[Symbol.dispose](){this.dispose()}}}function ie(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 ae(e,t,r,i){return re(e,t,(t,r,i,a)=>{let o={grid:n(`g`,{"aria-hidden":`true`,class:`prism-grid`}),series:n(`g`,{class:`prism-series`}),xAxis:n(`g`,{class:`prism-x-axis`}),yAxis:n(`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:a,groups:o,legend:i,svg:t.svg,tooltip:r}},r,i)}function oe(e,t,n,r){return re(e,t,(t,n,r,i)=>({container:e,dimensions:t.dimensions,disposalSignal:i,legend:r,svg:t.svg,tooltip:n}),n,r)}function se(e,t){let i=t===!0||t?.vertical!==!1,a=t!==!0&&t?.horizontal===!0,o=t===!0||t?.snap!==!1,s=n(`g`,{"aria-hidden":`true`,class:`prism-crosshair`,style:`display:none`}),c=i?n(`line`,{class:`prism-crosshair-v`,"stroke-dasharray":`var(--prism-crosshair-dash, 4 2)`}):null,l=a?n(`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=n(`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,i,a){s.style.display=``,c&&r(c,{x1:e,x2:e,y1:0,y2:i}),l&&r(l,{x1:0,x2:n,y1:t,y2:t}),a!==void 0&&(u.textContent=a)},snap:o}}function I(e){return e instanceof Date?`date:${e.getTime()}`:`${typeof e}:${String(e)}`}function ce(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 le(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 ue(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=le(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=le(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 de(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 fe(){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 pe={"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(pe,e)?pe[e]:pe[`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 me(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function he(e,t,i,a){let o=H(a.transition,0),s=o.duration,c=V(o.easing),l=e.querySelector(`.prism-area-fill`);l||(l=n(`path`,{class:`prism-area-fill`}),e.appendChild(l)),r(l,{fill:a.color,"fill-opacity":a.fillOpacity,stroke:`none`});let u=null;if(a.showLine?(u=e.querySelector(`.prism-area-line`),u||(u=n(`path`,{class:`prism-area-line`,fill:`none`}),e.appendChild(u)),r(u,{stroke:a.color,"stroke-width":2})):e.querySelector(`.prism-area-line`)?.remove(),s===0){let e=t.map(e=>({x:e.x,y:i}));r(l,{d:q(t,e,a.curve)}),u&&r(u,{d:me(t,a.curve)});return}if(J.get(e)?.(),!l.hasAttribute(`d`)){let n=t.map(e=>({x:e.x,y:i}));r(l,{d:q(t,n,a.curve)}),u&&r(u,{d:me(t,a.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(n){if(a.disposalSignal?.aborted){J.delete(e);return}p===null&&(p=n);let o=Math.min(1,(n-p)/s),d=c(o),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:i}));if(r(l,{d:q(h,g,a.curve)}),u&&r(u,{d:me(h,a.curve)}),o<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 ge(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 _e(e,t){let r=null,i=t.series;return ae(e,t,e=>{let{groups:a,legend:o,tooltip:s}=e,c=e.dimensions,p=P(c.width,c.height,c.margin),m=i.map(e=>e.data),h=m.flat().map(e=>e.key),g=m.flat().map(e=>e.value);if(h.length===0){F(a,o,s,r);return}t.crosshair&&!r&&(r=se(e.chartArea,t.crosshair));let _=E(h,p.width),v=D(g,p.height),y=v.map(0);for(t.yAxis?.grid&&f(a.grid,v,t.yAxis.grid,p.width,`horizontal`,u(t.yAxis,p.height,`left`)),t.xAxis?.grid&&f(a.grid,_,t.xAxis.grid,p.height,`vertical`,u(t.xAxis,p.width,`bottom`)),t.xAxis&&(l(a.xAxis,t.xAxis.position??`bottom`,p.width,p.height),d(a.xAxis,_,t.xAxis,p.width,`bottom`)),t.yAxis&&(l(a.yAxis,t.yAxis.position??`left`,p.width,p.height),d(a.yAxis,v,t.yAxis,p.height,`left`));a.series.children.length>i.length;)a.series.removeChild(a.series.lastChild);let b=[];for(let r=0;r<i.length;r++){let o=i[r],s=a.series.children[r];s||(s=n(`g`,{class:`prism-area-series`}),a.series.appendChild(s));let c=ge(m[r],_,v);b.push(c),he(s,c,y,{color:B(r,o.color),curve:o.curve??`linear`,disposalSignal:e.disposalSignal,fillOpacity:o.fillOpacity??.3,showLine:o.showLine!==!1,transition:t.transition})}return o?.update(i.map((e,t)=>({color:B(t,e.color),name:e.name}))),s?.hide(),ue({crosshair:r,dims:()=>e.dimensions,getData:()=>m,getPoints:()=>b,getSeriesList:()=>i,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:s})},e=>{i=e})}function ve(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 ye(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 be(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 xe(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 Se(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 Ce=new WeakMap;function we(e,t,i,a,o,s){for(;e.children.length>t.length;){let t=e.lastElementChild;t&&e.removeChild(t)}let c=i.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=i.map(m.key)+u,g=s.baselineYs?s.baselineYs[c]:o,_=a.map(m.y),v=e.children[c],y=!v;if(v||(v=n(`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);r(v,{fill:s.color,height:Math.max(0,l-1),rx:s.borderRadius,ry:s.borderRadius,y:h}),s.transition?y?(r(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}):r(v,{width:e,x:t})}else{let e=Math.max(0,Math.abs(g-_)),t=Math.min(_,g);r(v,{fill:s.color,rx:s.borderRadius,ry:s.borderRadius,width:Math.max(0,l-1),x:h}),s.transition?y?(r(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}):r(v,{height:e,y:t})}}if(s.transition){Ce.get(e)?.();let t=[];f.length>0&&t.push(Se(f,s.transition,void 0,s.disposalSignal)),p.length>0&&t.push(Se(p,{...s.transition,stagger:0},void 0,s.disposalSignal)),Ce.set(e,()=>{for(let e of t)e()})}}function Te(e){return{horizontal:e===`grouped-horizontal`||e===`stacked-horizontal`,stacked:e===`stacked`||e===`stacked-horizontal`}}function Ee(e,t){let r=t.series;return ae(e,t,e=>{let{groups:i,legend:a,tooltip:o}=e,s=e.dimensions,c=P(s.width,s.height,s.margin),p=r.map(e=>e.data),m=ce(r,p),g=m.domain,_=m.series.map(({byKey:e})=>g.map(t=>e.get(t))),v=e=>{if(e)return{...e,tickFormat:t=>{let n=String(t),r=m.labels.get(n)??t;return e.tickFormat?e.tickFormat(r):String(r)}}};if(g.length===0){F(i,a,o);return}let{horizontal:y,stacked:b}=Te(t.variant??`grouped`),x,S;if(b){_.some(e=>e.some(e=>(e?.value??0)<0));let e=g.map((e,t)=>_.reduce((e,n)=>e+Math.max(0,n[t]?.value??0),0));x=Math.max(...e),S=0}else{let e=_.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));x=Math.max(...e),S=Math.min(0,...e)}let C=ve(y?{domain:g,range:[0,c.height]}:{domain:g,range:[0,c.width]}),w=h(y?{domain:[S,x],range:[0,c.width]}:{domain:[S,x],range:[c.height,0]}),T=[],E=Object.create(null);for(let e of g)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&&f(i.grid,w,t.xAxis.grid,c.height,`vertical`,u(t.xAxis,c.width,`bottom`));let e=v(t.yAxis);e&&(l(i.yAxis,e.position??`left`,c.width,c.height),d(i.yAxis,C,e,c.height,`left`)),t.xAxis&&(l(i.xAxis,t.xAxis.position??`bottom`,c.width,c.height),d(i.xAxis,w,t.xAxis,c.width,`bottom`))}else{t.yAxis?.grid&&f(i.grid,w,t.yAxis.grid,c.width,`horizontal`,u(t.yAxis,c.height,`left`));let e=v(t.xAxis);e&&(l(i.xAxis,e.position??`bottom`,c.width,c.height),d(i.xAxis,C,e,c.width,`bottom`)),t.yAxis&&(l(i.yAxis,t.yAxis.position??`left`,c.width,c.height),d(i.yAxis,w,t.yAxis,c.height,`left`))}for(;i.series.children.length>r.length;){let e=i.series.lastElementChild;e&&i.series.removeChild(e)}for(let a=0;a<r.length;a++){let o=r[a],s=i.series.children[a];s||(s=n(`g`,{class:`prism-bar-series`}),i.series.appendChild(s));let c=g.map((e,t)=>{let n=_[a]?.[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[a]=c.map(e=>e.y);let l=b?c.map(e=>w.map(e.base)):void 0;we(s,c,C,w,D.baselinePx,{baselineYs:l,borderRadius:o.borderRadius??0,color:B(a,o.color),disposalSignal:e.disposalSignal,horizontal:y,seriesCount:r.length,seriesIndex:a,stacked:b,transition:t.transition})}return a?.update(r.map((e,t)=>({color:B(t,e.color),name:e.name}))),o?.hide(),{onClick:n=>{if(!t.onClick)return;let i=e.dimensions,a=L(e.svg,n,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=ye(y?a.y:a.x,g,D);if(s===-1)return;let c=be(a,s,g,D,r.length),l=_[c]?.[s];l&&t.onClick({datum:l,originalEvent:n,series:r[c]})},onMouseLeave:()=>{o?.hide(),t.onHover?.(null)},onMouseMove:n=>{let i=e.dimensions,a=L(e.svg,n,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=ye(y?a.y:a.x,g,D);if(c===-1){o?.hide();return}if(xe(a,c,_,D,r.length)){o?.hide();return}let l=be(a,c,g,D,r.length),u=_[l]?.[c];if(u){let e=D.bandCenter(g[c]),a=b?T[l]?.[c]??u.value:u.value,s=w.map(a),d=y?s+i.margin.left:e+i.margin.left,f=y?e+i.margin.top:s+i.margin.top;o?.show(d,f,u,r[l]),t.onHover?.({datum:u,originalEvent:n,series:r[l]})}}}},e=>{r=e})}var X=new WeakMap;function De(e,t){return t===`monotone`?G(e):t===`step`?K(e):W(e)}function Oe(e,t,i){let a=H(i.transition,0),o=a.duration,s=V(a.easing),c=e.querySelector(`.prism-line-path`);c||(c=n(`path`,{class:`prism-line-path`,fill:`none`}),e.appendChild(c)),r(c,{stroke:i.color,"stroke-width":i.strokeWidth});let l=e.querySelector(`.prism-line-dots`);if(i.showPoints?l||(l=n(`g`,{class:`prism-line-dots`}),e.appendChild(l)):l&&=(l.remove(),null),o===0){if(r(c,{d:De(t,i.curve)}),l){for(;l.children.length>t.length;)l.removeChild(l.lastChild);for(let e=0;e<t.length;e++){let a=l.children[e];a||(a=n(`circle`,{class:`prism-line-dot`}),l.appendChild(a)),r(a,{cx:t[e].x,cy:t[e].y,fill:i.color,r:i.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 a=n(`circle`,{class:`prism-line-dot`});r(a,{cx:t[e].x,cy:t[e].y,fill:i.color,r:i.pointRadius}),l.appendChild(a)}}for(let e=d.length;e<t.length;e++)d.push(f??t[e]);let p=null;function m(n){if(i.disposalSignal?.aborted){X.delete(e);return}p===null&&(p=n);let a=Math.min(1,(n-p)/o),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(r(c,{d:De(f,i.curve)}),l)for(let e=0;e<t.length;e++){let t=l.children[e];t&&r(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)r(c,{d:De(t,i.curve)});else{let t=requestAnimationFrame(m);X.set(e,()=>cancelAnimationFrame(t))}}function ke(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 Ae(e,t){let r=null,i=t.series;return ae(e,t,e=>{let{groups:a,legend:o,tooltip:s}=e,c=e.dimensions,p=P(c.width,c.height,c.margin),m=i.map(e=>e.data),h=m.flat().map(e=>e.key),g=m.flat().map(e=>e.value);if(h.length===0){F(a,o,s,r);return}t.crosshair&&!r&&(r=se(e.chartArea,t.crosshair));let _=E(h,p.width),v=D(g,p.height);for(t.yAxis?.grid&&f(a.grid,v,t.yAxis.grid,p.width,`horizontal`,u(t.yAxis,p.height,`left`)),t.xAxis?.grid&&f(a.grid,_,t.xAxis.grid,p.height,`vertical`,u(t.xAxis,p.width,`bottom`)),t.xAxis&&(l(a.xAxis,t.xAxis.position??`bottom`,p.width,p.height),d(a.xAxis,_,t.xAxis,p.width,`bottom`)),t.yAxis&&(l(a.yAxis,t.yAxis.position??`left`,p.width,p.height),d(a.yAxis,v,t.yAxis,p.height,`left`));a.series.children.length>i.length;)a.series.removeChild(a.series.lastChild);let y=[];for(let r=0;r<i.length;r++){let o=i[r],s=a.series.children[r];s||(s=n(`g`,{class:`prism-line-series`}),a.series.appendChild(s));let c=ke(m[r],_,v);y.push(c),Oe(s,c,{color:B(r,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(i.map((e,t)=>({color:B(t,e.color),name:e.name}))),s?.hide(),ue({crosshair:r,dims:()=>e.dimensions,getData:()=>m,getPoints:()=>y,getSeriesList:()=>i,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:s})},e=>{i=e})}function je(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 Me(e){let{capEnd:t,capStart:n,centerX:r,centerY:i,cornerRadius:a,endAngle:o,innerRadius:s,outerRadius:c,padAngle:l,startAngle:u}=e,d=o-u;if(d<=0)return``;if(d>=2*Math.PI-1e-6){let e=u+Math.PI;return s<=0?`M${Z(r,i,c,u)}A${c},${c},0,1,1,${Z(r,i,c,e)}A${c},${c},0,1,1,${Z(r,i,c,u)}Z`:[`M${Z(r,i,c,u)}`,`A${c},${c},0,1,1,${Z(r,i,c,e)}`,`A${c},${c},0,1,1,${Z(r,i,c,u)}`,`M${Z(r,i,s,u)}`,`A${s},${s},0,1,0,${Z(r,i,s,e)}`,`A${s},${s},0,1,0,${Z(r,i,s,u)}`,`Z`].join(``)}let f=n?u:u+l,p=t?o:o-l;if(p<=f)return``;let m=p-f;if(a<=0){let e=+(m>Math.PI);return s<=0?`M${r},${i}L${Z(r,i,c,f)}A${c},${c},0,${e},1,${Z(r,i,c,p)}Z`:[`M${Z(r,i,c,f)}`,`A${c},${c},0,${e},1,${Z(r,i,c,p)}`,`L${Z(r,i,s,p)}`,`A${s},${s},0,${e},0,${Z(r,i,s,f)}`,`Z`].join(``)}let h=Math.min(a/c,m/2),g=Math.min(a/s,m/2),_=Math.min(a,(c-s)/2),v=(c-s)/2,y=f+(n?0:h),b=p-(t?0:h),x=f+(n?0:g),S=p-(t?0:g),C=+(b-y>Math.PI),w=+(S-x>Math.PI),T=Q(r,c,f),E=$(i,c,f),D=Q(r,c,p),O=$(i,c,p),k=Q(r,s,f),A=$(i,s,f),j=Q(r,s,p),M=$(i,s,p),N=_/(c-s),ee=`${T+(k-T)*N},${E+(A-E)*N}`,P=`${D+(j-D)*N},${O+(M-O)*N}`,te=`${k+(T-k)*N},${A+(E-A)*N}`,ne=`${j+(D-j)*N},${M+(O-M)*N}`,F=[];return n?F.push(`M${Z(r,i,c,f)}`):(F.push(`M${ee}`),F.push(`Q${T},${E},${Z(r,i,c,y)}`)),F.push(`A${c},${c},0,${C},1,${Z(r,i,c,b)}`),t?F.push(`A${v},${v},0,0,1,${Z(r,i,s,p)}`):(F.push(`Q${D},${O},${P}`),F.push(`L${ne}`),F.push(`Q${j},${M},${Z(r,i,s,S)}`)),F.push(`A${s},${s},0,${w},0,${Z(r,i,s,x)}`),n?F.push(`A${v},${v},0,0,0,${Z(r,i,c,f)}`):F.push(`Q${k},${A},${te}`),F.push(`Z`),F.join(``)}function Ne(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 Pe=2*Math.PI,Fe=-Math.PI/2,Ie=Math.PI/2;function Le(e){return e===`semi`?{end:Ie,start:Fe}:{end:Pe,start:0}}function Re(e,t){let i=t.variant??`pie`,a=t.padPixels??(i===`pie`?0:8),o=t.cornerRadius??(i===`pie`?0:8),s=t.data,c=n(`circle`,{class:`prism-pie-bg`,"pointer-events":`none`}),l=n(`g`,{class:`prism-pie-slices`,"shape-rendering":`geometricPrecision`}),u=n(`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 i=d[t],a=e[t];if(!a?.label)continue;let{x:o,y:s}=Ne(i),c=n(`text`,{class:`prism-pie-label`});r(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:o,y:s}),c.textContent=a.label,u.appendChild(c)}}let m;try{return m=oe(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=i===`semi`,x=y/2,S=b?v*.85:v/2,C=b?Math.min(x,S)-8:Math.min(y,v)/2-8,w=i===`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}=Le(i);for(d=je(D,x,S,E,T,k,O,a,o,e=>B(e),!1),r(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 r=d[e],i=l.children[e];i||(i=n(`path`,{class:`prism-pie-slice`}),l.appendChild(i)),i.setAttribute(`fill`,r.color),i.setAttribute(`stroke`,`none`),i.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 i=M(Math.min(1,(n-e)/j)),a=U(k,O,i);for(let e=0;e<d.length;e++){let t=d[e],n=l.children[e];if(n){if(a<=t.startAngle)r(n,{d:``});else{let e=Math.min(t.endAngle,a);r(n,{d:Me({...t,endAngle:e})})}}}i<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&&r(n,{d:Me(t)})}p(D)}return h?.update(d.map(e=>({color:e.color,name:e.slice.label??``}))),_?.hide(),{onClick:e=>{if(!t.onClick)return;let n=g.getBoundingClientRect(),r=e.clientX-n.left,a=e.clientY-n.top,o=ze(d,r,a,i);o>=0&&t.onClick(d[o].slice,o)},onMouseLeave:()=>{t.onHover?.(null,null),_?.hide()},onMouseMove:n=>{let r=g.getBoundingClientRect(),a=n.clientX-r.left,o=n.clientY-r.top,s=ze(d,a,o,i);if(s>=0){let n=d[s];t.onHover?.(n.slice,s);let{x:i,y:a}=Ne(n),o=e.getBoundingClientRect();_?.show(i+(r.left-o.left),a+(r.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 ze(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+Pe:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}function Be(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 Ve(e,t,n,r=`linear`){if(e.length===0)return``;let i=Be(e,t,n);return q(i,i.map(e=>({x:e.x,y:n})),r??`linear`)}function He(e,t,n,r){if(e.length===0)return``;let i=Be(e,t,n);return r===`monotone`?G(i):r===`step`?K(i):W(i)}function Ue(e,t,i,a,o,s,c){let l=t.length,u=Math.max(1,i/l-1),d=i/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 i=0;i<l;i++){let s=Math.max(1,(t[i]-f)/p*a),l=a-s,m=e.children[i];if(m||(m=n(`rect`,{class:`prism-spark-bar`}),e.appendChild(m)),r(m,{fill:o,width:u,x:i*d}),h>0&&!m.hasAttribute(`data-init`)){m.setAttribute(`data-init`,`1`),r(m,{height:0,y:a});let e=null,t={h:0,y:a},n={h:s,y:l},i=a=>{if(c?.aborted)return;e===null&&(e=a);let o=g(Math.min(1,(a-e)/h));r(m,{height:U(t.h,n.h,o),y:U(t.y,n.y,o)}),o<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}else m.setAttribute(`data-init`,`1`),r(m,{height:s,y:l})}}function We(e){return e.length>0&&e[0]!==null&&typeof e[0]==`object`}function Ge(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 Ke(e){return`var(--prism-color-${e%8+1})`}function qe(e,t){let i=t.variant??`line`,a=t.color??`var(--prism-color-1)`,o=t.curve??`linear`,s=t.strokeWidth??1.5,c=t.fillOpacity??.2,l=t.data,u=ne(e,{a11y:t.a11y,margin:{bottom:0,left:0,right:0,top:0}},m),{svg:d}=u;d.classList.add(`prism-sparkline`);let f=n(`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(i===`stack`&&We(l)){let i=n(`g`,{class:`prism-spark-stack`});f.appendChild(i);let a=t.cornerRadius??4,o=l,s=o.reduce((e,t)=>e+Math.max(0,t.value),0);if(s>0){let c=(t.padPixels??0)/2,l=0;o.forEach((t,u)=>{let f=Math.round(l);l+=Math.max(0,t.value)/s*d;let p=u===o.length-1?d:Math.round(l),m=u===0,h=u===o.length-1,g=Ge(f+(m?0:c),0,Math.max(0,p-f-(m?0:c)-(h?0:c)),e,a,m,h),_=n(`path`,{class:`prism-spark-stack-segment`});r(_,{d:g,fill:t.color??Ke(u)}),i.appendChild(_)})}}else if(i===`bar`){let r=n(`g`,{class:`prism-spark-bars`});f.appendChild(r),Ue(r,l,d,e,a,t.transition,g.signal)}else{if(i===`area`){let t=n(`path`,{class:`prism-spark-fill`});r(t,{d:Ve(l,d,e,o),fill:a,"fill-opacity":c,stroke:`none`}),f.appendChild(t)}let t=n(`path`,{class:`prism-spark-line`});r(t,{d:He(l,d,e,o),fill:`none`,stroke:a,"stroke-width":s}),f.appendChild(t)}We(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 k(`Cannot update a disposed chart.`);l=e,m()},[Symbol.dispose](){this.dispose()}}}catch(e){throw g.abort(),p?.(),u.dispose(),e instanceof k?e:new k(`Failed to render chart.`,{cause:e})}}exports.PrismError=O,exports.PrismRenderError=k,exports.bandScale=ve,exports.createAreaChart=_e,exports.createBarChart=Ee,exports.createLineChart=Ae,exports.createPieChart=Re,exports.createSparkline=qe,exports.linearScale=h,exports.resetTheme=fe,exports.seriesColor=B,exports.setTheme=de,exports.timeScale=T;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@vielzeug/orbit");var t=`http://www.w3.org/2000/svg`;function createSvgElement(e,n){let r=document.createElementNS(t,e);return n&&setAttributes(r,n),r}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)}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 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 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=t.ticks(resolveTickCount(n,r,i)),d=n.tickFormat??defaultTickFormat;for(let n of u){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(d(n),{"aria-hidden":`true`,class:`prism-axis-label`,"dominant-baseline":o?s?`auto`:`hanging`:`middle`,"text-anchor":o?`middle`:s?`end`:`start`,x:o?r:6*c*1.5,y:o?6*c*1.5:r});e.appendChild(a)}if(n.label){let t=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 n=1e3,r=60*n,i=60*r,a=24*i,o=30*a,s=365*a,c=[n,5*n,15*n,30*n,r,5*r,15*r,30*r,i,3*i,6*i,12*i,a,7*a,o,3*o,6*o,s];function chooseInterval(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of c)if(e>=n)return e;return s}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)],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 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)}}}}function createTooltip(t,n){let r=t.style.position,i=getComputedStyle(t).position===`static`;i&&(t.style.position=`relative`);let a=t.ownerDocument.createElement(`div`);a.className=`prism-tooltip`,a.style.position=`absolute`,a.style.pointerEvents=`none`,a.style.top=`0`,a.style.left=`0`,a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`),t.appendChild(a);let o=n!==!0&&n?.offset||8,s=n===!0?void 0:n?.render,c=null,l=null,u=!1,cancelClear=()=>{l!==null&&(clearTimeout(l),l=null)},cancelReveal=()=>{c!==null&&(cancelAnimationFrame(c),c=null)},disposeHandle=()=>{cancelReveal(),cancelClear(),a.remove(),i&&t.style.position===`relative`&&(t.style.position=r)};return{dispose:disposeHandle,el:a,hide(){cancelReveal(),cancelClear(),u=!1,a.style.opacity=`0`,l=setTimeout(()=>{l=null,u||(a.textContent=``)},150)},show(n,r,i,l){if(!t.isConnected)return;if(cancelClear(),s){let e=s(i,l);typeof e==`string`?a.textContent=e:a.replaceChildren(e)}else a.textContent=`${l.name}: ${i.value}`;let{x:d,y:f}=(0,e.computePosition)({getBoundingClientRect:()=>{let e=t.getBoundingClientRect();return{bottom:e.top+r,height:0,left:e.left+n,right:e.left+n,top:e.top+r,width:0,x:e.left+n,y:e.top+r}}},a,{containingBlock:t,middleware:[(0,e.offset)(o),(0,e.flip)(),(0,e.shift)({padding:8})],placement:`top`});if(a.style.left=`${d}px`,a.style.top=`${f}px`,u){c===null&&(a.style.opacity=`1`);return}u=!0,a.style.opacity=`0`,c=requestAnimationFrame(()=>{c=null,u&&(a.style.opacity=`1`)})},[Symbol.dispose]:disposeHandle}}var l={bottom:48,left:50,right:20,top:20};function resolveMargin(e){return{...l,...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;width:100%;height: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,t)=>{c.height=t,c.width=e,setAttributes(a,{height:t,viewBox:`0 0 ${e} ${t}`,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=createChartBase(e,{a11y:t.a11y,margin:t.margin},()=>render()),o=t.tooltip?createTooltip(e,t.tooltip):null,s=t.legend?createLegend(e,t.legend):null,c=new AbortController,l=n(a,o,s,c.signal),u=!1,d=makeEventManager(a.svg);render=()=>{u||d.attach(r(l))};try{render()}catch(e){throw u=!0,c.abort(),d.detach(),o?.dispose(),s?.dispose(),a.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(),o?.dispose(),s?.dispose(),a.dispose())},get disposed(){return u},el:a.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)=>{let a={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(a.grid),t.chartArea.appendChild(a.xAxis),t.chartArea.appendChild(a.yAxis),t.chartArea.appendChild(a.series),{chartArea:t.chartArea,container:e,dimensions:t.dimensions,disposalSignal:i,groups:a,legend:r,svg:t.svg,tooltip:n}},n,r)}function createRadialScaffold(e,t,n,r){return runScaffold(e,t,(t,n,r,i)=>({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;o&&a.appendChild(o),s&&a.appendChild(s),e.appendChild(a);let c=createSvgElement(`text`,{"aria-live":`polite`,class:`prism-crosshair-live`,role:`status`,x:-9999,y:-9999});return e.appendChild(c),{hide(){a.style.display=`none`,c.textContent=``},show(e,t,n,r,i){a.style.display=``,o&&setAttributes(o,{x1:e,x2:e,y1:0,y2:r}),s&&setAttributes(s,{x1:0,x2:n,y1:t,y2:t}),i!==void 0&&(c.textContent=i)},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}}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 findNearestSeries(e,t,n,r){let i=keyId(n),a=null,o=1/0;for(let n=0;n<t.length;n++){let s=e[n]?.findIndex(e=>keyId(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 createSeriesInteraction(e){let t=0,onMouseMove=t=>{let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),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){e.crosshair?.hide(),e.tooltip?.hide();return}let o=findNearestKey(e.getData(),n,i.x);if(o===null)return;let s=findNearestSeries(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}))},onMouseLeave=()=>{e.crosshair?.hide(),e.tooltip?.hide(),e.onHover?.(null)},onClick=t=>{if(!e.onClick)return;let n=e.getPoints();if(n.length===0||n[0].length===0)return;let r=e.dims(),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;let o=findNearestKey(e.getData(),n,i.x);if(o===null)return;let s=findNearestSeries(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=>[keyId(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=findNearestSeries(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=findNearestSeries(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))}};return{onClick,onKeyDown,onMouseLeave,onMouseMove}}var u=8;function setTheme(e){let t=document.documentElement;if(e.colors)for(let n=0;n<u;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<=u;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%u+1})`}var d={"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(d,e)?d[e]:d[`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}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 f=new WeakMap,m=new WeakMap;function buildLinePath(e,t){return t===`monotone`?monotonePath(e):t===`step`?stepPath(e):linePath(e)}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)),setAttributes(s,{fill:r.color,"fill-opacity":r.fillOpacity,stroke:`none`});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(f.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)}),m.set(e,t);return}let l=m.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){f.delete(e);return}d===null&&(d=i);let l=Math.min(1,(i-d)/a),h=o(l),g=t.map((e,t)=>({x:tweenNumber(u[t].x,e.x,h),y:tweenNumber(u[t].y,e.y,h)})),_=g.map(e=>({x:e.x,y:n}));if(setAttributes(s,{d:areaPath(g,_,r.curve)}),c&&setAttributes(c,{d:buildLinePath(g,r.curve)}),l<1){let t=requestAnimationFrame(frame);f.set(e,()=>cancelAnimationFrame(t))}else f.delete(e),m.set(e,t)}m.set(e,u);let h=requestAnimationFrame(frame);f.set(e,()=>cancelAnimationFrame(h))}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=t.series;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=r.map(e=>e.data),u=l.flat().map(e=>e.key),d=l.flat().map(e=>e.value);if(u.length===0){clearCartesianDom(i,a,o,n);return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let f=buildXScale(u,c.width),m=buildYScale(d,c.height),h=m.map(0);for(t.yAxis?.grid&&renderGrid(i.grid,m,t.yAxis.grid,c.width,`horizontal`,resolveTickCount(t.yAxis,c.height,`left`)),t.xAxis?.grid&&renderGrid(i.grid,f,t.xAxis.grid,c.height,`vertical`,resolveTickCount(t.xAxis,c.width,`bottom`)),t.xAxis&&(positionAxis(i.xAxis,t.xAxis.position??`bottom`,c.width,c.height),renderAxis(i.xAxis,f,t.xAxis,c.width,`bottom`)),t.yAxis&&(positionAxis(i.yAxis,t.yAxis.position??`left`,c.width,c.height),renderAxis(i.yAxis,m,t.yAxis,c.height,`left`));i.series.children.length>r.length;)i.series.removeChild(i.series.lastChild);let g=[];for(let n=0;n<r.length;n++){let a=r[n],o=i.series.children[n];o||(o=createSvgElement(`g`,{class:`prism-area-series`}),i.series.appendChild(o));let s=computeAreaPoints(l[n],f,m);g.push(s),renderArea(o,s,h,{color:seriesColor(n,a.color),curve:a.curve??`linear`,disposalSignal:e.disposalSignal,fillOpacity:a.fillOpacity??.3,showLine:a.showLine!==!1,transition:t.transition})}return a?.update(r.map((e,t)=>({color:seriesColor(t,e.color),name:e.name}))),o?.hide(),createSeriesInteraction({crosshair:n,dims:()=>e.dimensions,getData:()=>l,getPoints:()=>g,getSeriesList:()=>r,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:o})},e=>{r=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 isOutsideBars(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 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 h=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],m=n.map(f.key)+c,h=a.baselineYs?a.baselineYs[o]:i,g=r.map(f.y),_=e.children[o],v=!_;if(_||(_=createSvgElement(`rect`,{class:`prism-bar`}),e.appendChild(_)),_.style.display=f.present?``:`none`,l){let e=Math.max(0,Math.abs(h-g)),t=Math.min(g,h);setAttributes(_,{fill:a.color,height:Math.max(0,s-1),rx:a.borderRadius,ry:a.borderRadius,y:m}),a.transition?v?(setAttributes(_,{width:0,x:h}),u.push({attrs:{width:{from:0,to:e},x:{from:h,to:t}},el:_})):d.push({attrs:{width:{from:Number(_.getAttribute(`width`)??e),to:e},x:{from:Number(_.getAttribute(`x`)??t),to:t}},el:_}):setAttributes(_,{width:e,x:t})}else{let e=Math.max(0,Math.abs(h-g)),t=Math.min(g,h);setAttributes(_,{fill:a.color,rx:a.borderRadius,ry:a.borderRadius,width:Math.max(0,s-1),x:m}),a.transition?v?(setAttributes(_,{height:0,y:h}),u.push({attrs:{height:{from:0,to:e},y:{from:h,to:t}},el:_})):d.push({attrs:{height:{from:Number(_.getAttribute(`height`)??e),to:e},y:{from:Number(_.getAttribute(`y`)??t),to:t}},el:_}):setAttributes(_,{height:e,y:t})}}if(a.transition){h.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)),h.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;return createChartScaffold(e,t,e=>{let{groups:r,legend:i,tooltip:a}=e,o=e.dimensions,s=chartArea(o.width,o.height,o.margin),c=n.map(e=>e.data),l=normalizeCartesianSeries(n,c),u=l.domain,d=l.series.map(({byKey:e})=>u.map(t=>e.get(t))),categoryAxis=e=>{if(e)return{...e,tickFormat:t=>{let n=String(t),r=l.labels.get(n)??t;return e.tickFormat?e.tickFormat(r):String(r)}}};if(u.length===0){clearCartesianDom(r,i,a);return}let{horizontal:f,stacked:m}=variantFlags(t.variant??`grouped`),h,g;if(m){d.some(e=>e.some(e=>(e?.value??0)<0));let e=u.map((e,t)=>d.reduce((e,n)=>e+Math.max(0,n[t]?.value??0),0));h=Math.max(...e),g=0}else{let e=d.flatMap(e=>e.flatMap(e=>e?[e.value]:[]));h=Math.max(...e),g=Math.min(0,...e)}let _=bandScale(f?{domain:u,range:[0,s.height]}:{domain:u,range:[0,s.width]}),v=linearScale(f?{domain:[g,h],range:[0,s.width]}:{domain:[g,h],range:[s.height,0]}),y=[],b=Object.create(null);for(let e of u)b[e]=0;let x={bandCenter:e=>_.map(e)+_.bandwidth()/2,bandwidth:_.bandwidth(),baselinePx:v.map(0),horizontal:f,stacked:m,stackedTops:y,valueScale:v};if(f){t.xAxis?.grid&&renderGrid(r.grid,v,t.xAxis.grid,s.height,`vertical`,resolveTickCount(t.xAxis,s.width,`bottom`));let e=categoryAxis(t.yAxis);e&&(positionAxis(r.yAxis,e.position??`left`,s.width,s.height),renderAxis(r.yAxis,_,e,s.height,`left`)),t.xAxis&&(positionAxis(r.xAxis,t.xAxis.position??`bottom`,s.width,s.height),renderAxis(r.xAxis,v,t.xAxis,s.width,`bottom`))}else{t.yAxis?.grid&&renderGrid(r.grid,v,t.yAxis.grid,s.width,`horizontal`,resolveTickCount(t.yAxis,s.height,`left`));let e=categoryAxis(t.xAxis);e&&(positionAxis(r.xAxis,e.position??`bottom`,s.width,s.height),renderAxis(r.xAxis,_,e,s.width,`bottom`)),t.yAxis&&(positionAxis(r.yAxis,t.yAxis.position??`left`,s.width,s.height),renderAxis(r.yAxis,v,t.yAxis,s.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 a=n[i],o=r.series.children[i];o||(o=createSvgElement(`g`,{class:`prism-bar-series`}),r.series.appendChild(o));let s=u.map((e,t)=>{let n=d[i]?.[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[i]=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??0,color:seriesColor(i,a.color),disposalSignal:e.disposalSignal,horizontal:f,seriesCount:n.length,seriesIndex:i,stacked:m,transition:t.transition})}i?.update(n.map((e,t)=>({color:seriesColor(t,e.color),name:e.name}))),a?.hide();let onMouseMove=r=>{let i=e.dimensions,o=getMousePosition(e.svg,r,i.margin.left,i.margin.top),s=chartArea(i.width,i.height,i.margin);if(o.x<0||o.x>s.width||o.y<0||o.y>s.height){a?.hide();return}let c=findCatIdx(f?o.y:o.x,u,x);if(c===-1){a?.hide();return}if(isOutsideBars(o,c,d,x,n.length)){a?.hide();return}let l=findSeriesIdx(o,c,u,x,n.length),h=d[l]?.[c];if(h){let e=x.bandCenter(u[c]),o=m?y[l]?.[c]??h.value:h.value,s=v.map(o),d=f?s+i.margin.left:e+i.margin.left,g=f?e+i.margin.top:s+i.margin.top;a?.show(d,g,h,n[l]),t.onHover?.({datum:h,originalEvent:r,series:n[l]})}},onMouseLeave=()=>{a?.hide(),t.onHover?.(null)},onClick=r=>{if(!t.onClick)return;let i=e.dimensions,a=getMousePosition(e.svg,r,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;let s=findCatIdx(f?a.y:a.x,u,x);if(s===-1)return;let c=findSeriesIdx(a,s,u,x,n.length),l=d[c]?.[s];l&&t.onClick({datum:l,originalEvent:r,series:n[c]})};return{onClick,onMouseLeave,onMouseMove}},e=>{n=e})}var g=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});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}g.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){g.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);g.set(e,()=>cancelAnimationFrame(t))}else g.delete(e)}if(!c)setAttributes(o,{d:buildPath$1(t,n.curve)});else{let t=requestAnimationFrame(frame);g.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=t.series;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=r.map(e=>e.data),u=l.flat().map(e=>e.key),d=l.flat().map(e=>e.value);if(u.length===0){clearCartesianDom(i,a,o,n);return}t.crosshair&&!n&&(n=createCrosshair(e.chartArea,t.crosshair));let f=buildXScale(u,c.width),m=buildYScale(d,c.height);for(t.yAxis?.grid&&renderGrid(i.grid,m,t.yAxis.grid,c.width,`horizontal`,resolveTickCount(t.yAxis,c.height,`left`)),t.xAxis?.grid&&renderGrid(i.grid,f,t.xAxis.grid,c.height,`vertical`,resolveTickCount(t.xAxis,c.width,`bottom`)),t.xAxis&&(positionAxis(i.xAxis,t.xAxis.position??`bottom`,c.width,c.height),renderAxis(i.xAxis,f,t.xAxis,c.width,`bottom`)),t.yAxis&&(positionAxis(i.yAxis,t.yAxis.position??`left`,c.width,c.height),renderAxis(i.yAxis,m,t.yAxis,c.height,`left`));i.series.children.length>r.length;)i.series.removeChild(i.series.lastChild);let h=[];for(let n=0;n<r.length;n++){let a=r[n],o=i.series.children[n];o||(o=createSvgElement(`g`,{class:`prism-line-series`}),i.series.appendChild(o));let s=computePoints(l[n],f,m);h.push(s),renderLine(o,s,{color:seriesColor(n,a.color),curve:a.curve??`linear`,disposalSignal:e.disposalSignal,pointRadius:a.pointRadius??3,showPoints:a.showPoints??!1,strokeWidth:a.strokeWidth??2,transition:t.transition})}return a?.update(r.map((e,t)=>({color:seriesColor(t,e.color),name:e.name}))),o?.hide(),createSeriesInteraction({crosshair:n,dims:()=>e.dimensions,getData:()=>l,getPoints:()=>h,getSeriesList:()=>r,onClick:t.onClick,onHover:t.onHover,svg:e.svg,tooltip:o})},e=>{r=e})}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,m=r>0?Math.asin(Math.min(1,s/2/r)):0,h=a,g=e.length;return e.map((e,a)=>{let o=Math.max(0,e.value)/d*f,s=h,_=h+o;h+=o;let v=Math.min(m,o/2);return{capEnd:u&&a===g-1,capStart:u&&a===0,centerX:t,centerY:n,color:e.color??l(a),cornerRadius:c,endAngle:_,index:a,innerRadius:i,outerRadius:r,padAngle:v,slice:e,startAngle:s}})}function p(e,t,n,r){return`${e+n*Math.sin(r)},${t-n*Math.cos(r)}`}function px(e,t,n){return e+t*Math.sin(n)}function py(e,t,n){return e-t*Math.cos(n)}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${p(r,i,c,u)}A${c},${c},0,1,1,${p(r,i,c,e)}A${c},${c},0,1,1,${p(r,i,c,u)}Z`:[`M${p(r,i,c,u)}`,`A${c},${c},0,1,1,${p(r,i,c,e)}`,`A${c},${c},0,1,1,${p(r,i,c,u)}`,`M${p(r,i,s,u)}`,`A${s},${s},0,1,0,${p(r,i,s,e)}`,`A${s},${s},0,1,0,${p(r,i,s,u)}`,`Z`].join(``)}let f=n?u:u+l,m=t?o:o-l;if(m<=f)return``;let h=m-f;if(a<=0){let e=+(h>Math.PI);return s<=0?`M${r},${i}L${p(r,i,c,f)}A${c},${c},0,${e},1,${p(r,i,c,m)}Z`:[`M${p(r,i,c,f)}`,`A${c},${c},0,${e},1,${p(r,i,c,m)}`,`L${p(r,i,s,m)}`,`A${s},${s},0,${e},0,${p(r,i,s,f)}`,`Z`].join(``)}let g=Math.min(a/c,h/2),_=Math.min(a/s,h/2),v=Math.min(a,(c-s)/2),y=(c-s)/2,b=f+(n?0:g),x=m-(t?0:g),S=f+(n?0:_),C=m-(t?0:_),w=+(x-b>Math.PI),T=+(C-S>Math.PI),E=px(r,c,f),D=py(i,c,f),O=px(r,c,m),k=py(i,c,m),A=px(r,s,f),j=py(i,s,f),M=px(r,s,m),N=py(i,s,m),P=v/(c-s),F=`${E+(A-E)*P},${D+(j-D)*P}`,I=`${O+(M-O)*P},${k+(N-k)*P}`,L=`${A+(E-A)*P},${j+(D-j)*P}`,R=`${M+(O-M)*P},${N+(k-N)*P}`,z=[];return n?z.push(`M${p(r,i,c,f)}`):(z.push(`M${F}`),z.push(`Q${E},${D},${p(r,i,c,b)}`)),z.push(`A${c},${c},0,${w},1,${p(r,i,c,x)}`),t?z.push(`A${y},${y},0,0,1,${p(r,i,s,m)}`):(z.push(`Q${O},${k},${I}`),z.push(`L${R}`),z.push(`Q${M},${N},${p(r,i,s,C)}`)),z.push(`A${s},${s},0,${T},0,${p(r,i,s,S)}`),n?z.push(`A${y},${y},0,0,0,${p(r,i,c,f)}`):z.push(`Q${A},${j},${L}`),z.push(`Z`),z.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 _=2*Math.PI,v=-Math.PI/2,y=Math.PI/2;function semiAngles(e){return e===`semi`?{end:y,start:v}:{end:_,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)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:m,tooltip:h}=d;m.contains(o)||(m.appendChild(o),m.appendChild(s),m.appendChild(c));let{height:g,width:_}=d.dimensions,v=n===`semi`,y=_/2,b=v?g*.85:g/2,x=v?Math.min(y,b)-8:Math.min(_,g)/2-8,S=n===`pie`?0:Math.round(x*.55),C=t.innerRadius===void 0?S:t.innerRadius,w=Math.max(C+1,x),T=a,{end:E,start:D}=semiAngles(n);for(l=computeArcs(T,y,b,w,C,D,E,r,i,e=>seriesColor(e),!1),setAttributes(o,{cx:y,cy:b,r:C>0?C:0}),o.setAttribute(`style`,`fill:var(--prism-bg,#fff)`);s.children.length>l.length;)s.removeChild(s.lastChild);c.replaceChildren();let O=resolveMotion(t.transition,0),k=O.duration,A=resolveEasing(O.easing);for(let e=0;e<l.length;e++){let n=l[e],r=s.children[e];r||(r=createSvgElement(`path`,{class:`prism-pie-slice`}),s.appendChild(r)),r.setAttribute(`fill`,n.color),r.setAttribute(`stroke`,`none`),r.style.cursor=t.onClick||t.onHover?`pointer`:``}if(u!==null&&(cancelAnimationFrame(u),u=null),k>0){let e=null,frame=t=>{e===null&&(e=t);let n=A(Math.min(1,(t-e)/k)),r=tweenNumber(D,E,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(T))};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(T)}f?.update(l.map(e=>({color:e.color,name:e.slice.label??``}))),h?.hide();let onMouseMove=r=>{let i=m.getBoundingClientRect(),a=r.clientX-i.left,o=r.clientY-i.top,s=hitTestArc(l,a,o,n);if(s>=0){let n=l[s];t.onHover?.(n.slice,s);let{x:r,y:a}=arcCentroid(n),o=e.getBoundingClientRect();h?.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),h?.hide()},onMouseLeave=()=>{t.onHover?.(null,null),h?.hide()},onClick=e=>{if(!t.onClick)return;let r=m.getBoundingClientRect(),i=e.clientX-r.left,a=e.clientY-r.top,o=hitTestArc(l,i,a,n);o>=0&&t.onClick(l[o].slice,o)};return{onClick,onMouseLeave,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+_:e;if(t>=a.startAngle-1e-9&&t<=a.endAngle+1e-9)return i}}}return-1}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),m=f.duration,h=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}),m>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=h(Math.min(1,(r-e)/m));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??.2,s=t.data,c=createChartBase(e,{a11y:t.a11y,margin:{bottom:0,left:0,right:0,top:0}},renderAll),{svg:l}=c;l.classList.add(`prism-sparkline`);let u=createSvgElement(`g`,{class:`prism-spark-inner`});l.appendChild(u);let cleanupInteraction;function renderAll(){let{height:e,width:l}=c.dimensions;for(;u.firstChild;)u.removeChild(u.firstChild);if(s.length!==0){if(n===`stack`&&isStackData(s)){let n=createSvgElement(`g`,{class:`prism-spark-stack`});u.appendChild(n);let r=t.cornerRadius??4,i=s,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 u=Math.round(s);s+=Math.max(0,t.value)/a*l;let d=c===i.length-1?l:Math.round(s),f=c===0,m=c===i.length-1,h=buildRoundedStackRect(u+(f?0:o),0,Math.max(0,d-u-(f?0:o)-(m?0:o)),e,r,f,m),g=createSvgElement(`path`,{class:`prism-spark-stack-segment`});setAttributes(g,{d:h,fill:t.color??defaultStackColor(c)}),n.appendChild(g)})}}else if(n===`bar`){let n=createSvgElement(`g`,{class:`prism-spark-bars`});u.appendChild(n),renderSparkBars(n,s,l,e,r,t.transition,d.signal)}else{if(n===`area`){let t=createSvgElement(`path`,{class:`prism-spark-fill`});setAttributes(t,{d:buildAreaPath(s,l,e,i),fill:r,"fill-opacity":o,stroke:`none`}),u.appendChild(t)}let t=createSvgElement(`path`,{class:`prism-spark-line`});setAttributes(t,{d:buildPath(s,l,e,i),fill:`none`,stroke:r,"stroke-width":a}),u.appendChild(t)}isStackData(s)||attachInteraction(s)}}function attachInteraction(e){if(cleanupInteraction?.(),cleanupInteraction=void 0,!t.onHover&&!t.onClick||e.length<=1)return;let{width:n}=c.dimensions;l.style.cursor=`crosshair`;let r=n/(e.length-1),handleMove=n=>{let i=l.getBoundingClientRect(),a=n.clientX-i.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/r)));t.onHover?.(o,e[o])},handleLeave=()=>t.onHover?.(null,null),handleClick=n=>{if(!t.onClick)return;let i=l.getBoundingClientRect(),a=n.clientX-i.left,o=Math.max(0,Math.min(e.length-1,Math.round(a/r)));t.onClick(o,e[o])};l.addEventListener(`mousemove`,handleMove),l.addEventListener(`mouseleave`,handleLeave),l.addEventListener(`click`,handleClick),cleanupInteraction=()=>{l.removeEventListener(`mousemove`,handleMove),l.removeEventListener(`mouseleave`,handleLeave),l.removeEventListener(`click`,handleClick)}}let d=new AbortController,f=!1;try{return renderAll(),{get disposalSignal(){return d.signal},dispose(){f||(f=!0,d.abort(),cleanupInteraction?.(),c.dispose())},get disposed(){return f},el:l,update(e){if(f)throw new PrismRenderError(`Cannot update a disposed chart.`);s=e,renderAll()},[Symbol.dispose](){this.dispose()}}}catch(e){throw d.abort(),cleanupInteraction?.(),c.dispose(),e instanceof PrismRenderError?e:new PrismRenderError(`Failed to render chart.`,{cause:e})}}exports.PrismError=PrismError,exports.PrismRenderError=PrismRenderError,exports.bandScale=bandScale,exports.createAreaChart=createAreaChart,exports.createBarChart=createBarChart,exports.createLineChart=createLineChart,exports.createPieChart=createPieChart,exports.createSparkline=createSparkline,exports.linearScale=linearScale,exports.resetTheme=resetTheme,exports.seriesColor=seriesColor,exports.setTheme=setTheme,exports.timeScale=timeScale;
2
2
  //# sourceMappingURL=prism.cjs.map