@svgrid/grid 3.0.2 → 3.0.4

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 (281) hide show
  1. package/README.md +2 -1
  2. package/dist/GridMenus.svelte +44 -2
  3. package/dist/SvChartMenu.svelte +69 -0
  4. package/dist/SvChartMenu.svelte.d.ts +11 -0
  5. package/dist/SvChartPanes.svelte +113 -0
  6. package/dist/SvChartPanes.svelte.d.ts +20 -0
  7. package/dist/SvGrid.controller.svelte.d.ts +110 -39
  8. package/dist/SvGrid.controller.svelte.js +655 -200
  9. package/dist/SvGrid.css +105 -2
  10. package/dist/SvGrid.svelte +386 -514
  11. package/dist/SvGrid.types.d.ts +210 -9
  12. package/dist/SvGridCellEditor.svelte +17 -0
  13. package/dist/SvGridChart.svelte +2257 -329
  14. package/dist/SvGridChart.svelte.d.ts +6 -106
  15. package/dist/SvGridChart.types.d.ts +338 -0
  16. package/dist/SvGridChart.types.js +1 -0
  17. package/dist/SvGridChartBuilder.svelte +323 -0
  18. package/dist/SvGridChartBuilder.svelte.d.ts +34 -0
  19. package/dist/SvGridChartPanel.svelte +221 -275
  20. package/dist/SvGridChartPickers.svelte +417 -0
  21. package/dist/SvGridChartPickers.svelte.d.ts +70 -0
  22. package/dist/SvGridChartView.svelte +13 -14
  23. package/dist/SvModal.svelte +7 -1
  24. package/dist/SvModal.svelte.d.ts +5 -0
  25. package/dist/ai.d.ts +40 -8
  26. package/dist/ai.js +135 -24
  27. package/dist/aria.d.ts +11 -0
  28. package/dist/build-api.js +108 -22
  29. package/dist/cdn/GridMenus-7kbpnnBW.js +635 -0
  30. package/dist/cdn/GridMenus-BL7ZgQvU.js +636 -0
  31. package/dist/cdn/SvChartMenu-Bl6PBbkT.js +58 -0
  32. package/dist/cdn/SvChartMenu-FBSMINA6.js +59 -0
  33. package/dist/cdn/{SvDateRangeInput-DMLKmGEc.js → SvDateRangeInput-BeU_TkbQ.js} +15 -14
  34. package/dist/cdn/{SvDateRangeInput-CaOuMs8O.js → SvDateRangeInput-yX8vzleW.js} +38 -37
  35. package/dist/cdn/{SvDateTimePicker-sonaH0oh.js → SvDateTimePicker-DQwt4UAs.js} +139 -180
  36. package/dist/cdn/SvDateTimePicker-vNU6bZ-q.js +775 -0
  37. package/dist/cdn/{SvGridCellEditor-CjEJMJKc.js → SvGridCellEditor-B1p-vCK5.js} +188 -178
  38. package/dist/cdn/{SvGridCellEditor-BWnTi2N7.js → SvGridCellEditor-D_0q4xAu.js} +98 -88
  39. package/dist/cdn/SvGridChart-C3EWAZaM.js +3574 -0
  40. package/dist/cdn/SvGridChart-DzLkSwCH.js +3572 -0
  41. package/dist/cdn/SvGridChartBuilder-BE2T1ykB.js +783 -0
  42. package/dist/cdn/SvGridChartBuilder-CfII62sZ.js +784 -0
  43. package/dist/cdn/SvGridChartPanel-CCX5_Wgd.js +675 -0
  44. package/dist/cdn/SvGridChartPanel-xf4sWVTo.js +699 -0
  45. package/dist/cdn/SvGridChartView-CfuXmY5I.js +48 -0
  46. package/dist/cdn/SvGridChartView-DYwabQWj.js +47 -0
  47. package/dist/cdn/SvMenuList-CLN8OuIK.js +452 -0
  48. package/dist/cdn/SvMenuList-DkGhNKjf.js +451 -0
  49. package/dist/cdn/SvModal-BAE-pjZX.js +396 -0
  50. package/dist/cdn/SvModal-CIZWCcad.js +397 -0
  51. package/dist/cdn/chart-Dz7SqMXH.js +4341 -0
  52. package/dist/cdn/chart-export-BXqueeWJ.js +135 -0
  53. package/dist/cdn/chart-export-pdf-DONFUnNY.js +110 -0
  54. package/dist/cdn/chart-panel-messages-CUbf2R4i.js +1052 -0
  55. package/dist/cdn/chart-panel-messages-CmNrMdsr.js +1053 -0
  56. package/dist/cdn/chart-summary-BJW_tg_X.js +138 -0
  57. package/dist/cdn/chart-trend-CaN9mDEV.js +50 -0
  58. package/dist/cdn/chart-validate-HcOVFAfJ.js +188 -0
  59. package/dist/cdn/{column-resize-DsfNXMom.js → column-resize-DpmOLfRp.js} +3 -3
  60. package/dist/cdn/{date-format-BnnHlqGw.js → date-format-CtquV-p3.js} +583 -603
  61. package/dist/cdn/{date-format-BNii4zeD.js → date-format-D6KFzU_W.js} +347 -367
  62. package/dist/cdn/dismissable-DAHetSNk.js +44 -0
  63. package/dist/cdn/editor-contract-LXgQJAgd.js +22 -0
  64. package/dist/cdn/focus-trap-BBOQYBma.js +65 -0
  65. package/dist/cdn/{row-resize-BRcimkUT.js → row-resize-niQCp040.js} +44 -36
  66. package/dist/cdn/{src-DNbz94Ct.js → src-BKhZ6eXd.js} +10227 -9787
  67. package/dist/cdn/{src-BJ2opd0j.js → src-V1uu8iE9.js} +6568 -6128
  68. package/dist/cdn/svgrid.js +26 -15
  69. package/dist/cdn/svgrid.svelte-external.js +26 -15
  70. package/dist/chart-axes.d.ts +53 -0
  71. package/dist/chart-axes.js +351 -0
  72. package/dist/chart-cartesian.d.ts +88 -0
  73. package/dist/chart-cartesian.js +1862 -0
  74. package/dist/chart-decimate.d.ts +51 -0
  75. package/dist/chart-decimate.js +199 -0
  76. package/dist/chart-export-pdf.d.ts +47 -0
  77. package/dist/chart-export-pdf.js +187 -0
  78. package/dist/chart-export.d.ts +2 -1
  79. package/dist/chart-export.js +18 -3
  80. package/dist/chart-financial.d.ts +91 -0
  81. package/dist/chart-financial.js +175 -0
  82. package/dist/chart-flow.d.ts +10 -0
  83. package/dist/chart-flow.js +298 -0
  84. package/dist/chart-format.d.ts +18 -0
  85. package/dist/chart-format.js +65 -0
  86. package/dist/chart-grid.d.ts +8 -0
  87. package/dist/chart-grid.js +190 -0
  88. package/dist/chart-hierarchy.d.ts +17 -0
  89. package/dist/chart-hierarchy.js +146 -0
  90. package/dist/chart-indicators.d.ts +115 -0
  91. package/dist/chart-indicators.js +389 -0
  92. package/dist/chart-messages.d.ts +95 -0
  93. package/dist/chart-messages.js +92 -0
  94. package/dist/chart-motion.d.ts +16 -0
  95. package/dist/chart-motion.js +141 -0
  96. package/dist/chart-panel-messages.d.ts +265 -0
  97. package/dist/chart-panel-messages.js +285 -0
  98. package/dist/chart-pivot.d.ts +87 -0
  99. package/dist/chart-pivot.js +156 -0
  100. package/dist/chart-polar.d.ts +25 -0
  101. package/dist/chart-polar.js +700 -0
  102. package/dist/chart-samples.d.ts +16 -0
  103. package/dist/chart-samples.js +153 -0
  104. package/dist/chart-scale.d.ts +113 -0
  105. package/dist/chart-scale.js +405 -0
  106. package/dist/chart-stats.d.ts +111 -0
  107. package/dist/chart-stats.js +419 -0
  108. package/dist/chart-stream.d.ts +45 -0
  109. package/dist/chart-stream.js +91 -0
  110. package/dist/chart-summary.d.ts +27 -0
  111. package/dist/chart-summary.js +205 -0
  112. package/dist/chart-sync.svelte.d.ts +32 -0
  113. package/dist/chart-sync.svelte.js +23 -0
  114. package/dist/chart-table.d.ts +35 -0
  115. package/dist/chart-table.js +165 -0
  116. package/dist/chart-trend.d.ts +19 -0
  117. package/dist/chart-trend.js +61 -0
  118. package/dist/chart-types.d.ts +1456 -0
  119. package/dist/chart-types.js +6 -0
  120. package/dist/chart-validate.d.ts +43 -0
  121. package/dist/chart-validate.js +272 -0
  122. package/dist/chart-zoom.d.ts +40 -0
  123. package/dist/chart-zoom.js +145 -0
  124. package/dist/chart.d.ts +186 -865
  125. package/dist/chart.js +460 -2204
  126. package/dist/clipboard.d.ts +1 -0
  127. package/dist/clipboard.js +137 -18
  128. package/dist/column-resize.d.ts +3 -0
  129. package/dist/column-resize.js +4 -1
  130. package/dist/columns.js +3 -0
  131. package/dist/command-context.d.ts +19 -0
  132. package/dist/command-context.js +116 -0
  133. package/dist/core.d.ts +7 -0
  134. package/dist/createPopoverSelect.svelte.d.ts +2 -2
  135. package/dist/editing.d.ts +2 -8
  136. package/dist/editing.js +262 -33
  137. package/dist/fill-patterns.d.ts +0 -5
  138. package/dist/fill-patterns.js +56 -2
  139. package/dist/grid-messages.d.ts +10 -3
  140. package/dist/grid-messages.js +5 -0
  141. package/dist/history.d.ts +83 -0
  142. package/dist/history.js +133 -0
  143. package/dist/index.d.ts +24 -6
  144. package/dist/index.js +20 -2
  145. package/dist/keyboard-handlers.js +88 -31
  146. package/dist/keyboard.d.ts +55 -0
  147. package/dist/keyboard.js +132 -0
  148. package/dist/menus.d.ts +3 -1
  149. package/dist/menus.js +7 -2
  150. package/dist/merges.d.ts +97 -0
  151. package/dist/merges.js +147 -0
  152. package/dist/row-resize.d.ts +3 -0
  153. package/dist/row-resize.js +14 -0
  154. package/dist/scroll-sync.d.ts +1 -0
  155. package/dist/scroll-sync.js +24 -0
  156. package/dist/selection.d.ts +16 -0
  157. package/dist/selection.js +108 -16
  158. package/dist/shortcut-registry.d.ts +145 -0
  159. package/dist/shortcut-registry.js +44 -0
  160. package/dist/svgrid-wrapper.types.d.ts +213 -22
  161. package/dist/virtualization/virtualizer.js +38 -17
  162. package/package.json +6 -1
  163. package/src/GridMenus.svelte +44 -2
  164. package/src/SvChartMenu.svelte +69 -0
  165. package/src/SvChartPanes.svelte +113 -0
  166. package/src/SvChartPanes.test.ts +66 -0
  167. package/src/SvGrid.controller.svelte.ts +629 -172
  168. package/src/SvGrid.css +105 -2
  169. package/src/SvGrid.svelte +386 -514
  170. package/src/SvGrid.types.ts +188 -8
  171. package/src/SvGridCellEditor.svelte +17 -0
  172. package/src/SvGridChart.svelte +2257 -329
  173. package/src/SvGridChart.test.ts +1419 -1
  174. package/src/SvGridChart.types.ts +336 -0
  175. package/src/SvGridChartBuilder.svelte +323 -0
  176. package/src/SvGridChartPanel.svelte +221 -275
  177. package/src/SvGridChartPickers.svelte +417 -0
  178. package/src/SvGridChartView.svelte +13 -14
  179. package/src/SvModal.svelte +7 -1
  180. package/src/SvModal.test.ts +9 -0
  181. package/src/ai.test.ts +57 -2
  182. package/src/ai.ts +166 -22
  183. package/src/aria.d.ts +11 -0
  184. package/src/build-api.coverage.test.ts +184 -0
  185. package/src/build-api.ts +107 -18
  186. package/src/chart-axes.test.ts +573 -0
  187. package/src/chart-axes.ts +342 -0
  188. package/src/chart-cartesian.ts +1863 -0
  189. package/src/chart-decimate.test.ts +249 -0
  190. package/src/chart-decimate.ts +186 -0
  191. package/src/chart-export-pdf.test.ts +91 -0
  192. package/src/chart-export-pdf.ts +207 -0
  193. package/src/chart-export.test.ts +14 -0
  194. package/src/chart-export.ts +13 -3
  195. package/src/chart-financial.ts +208 -0
  196. package/src/chart-flow.ts +286 -0
  197. package/src/chart-format.ts +67 -0
  198. package/src/chart-grid.ts +179 -0
  199. package/src/chart-hierarchy.ts +135 -0
  200. package/src/chart-indicators.test.ts +443 -0
  201. package/src/chart-indicators.ts +384 -0
  202. package/src/chart-messages.test.ts +21 -0
  203. package/src/chart-messages.ts +184 -0
  204. package/src/chart-motion.test.ts +71 -0
  205. package/src/chart-motion.ts +148 -0
  206. package/src/chart-panel-messages.test.ts +29 -0
  207. package/src/chart-panel-messages.ts +550 -0
  208. package/src/chart-pivot.test.ts +54 -0
  209. package/src/chart-pivot.ts +225 -0
  210. package/src/chart-polar.ts +674 -0
  211. package/src/chart-samples.ts +106 -0
  212. package/src/chart-scale.ts +394 -0
  213. package/src/chart-series-types.test.ts +714 -0
  214. package/src/chart-stats.ts +409 -0
  215. package/src/chart-stream.test.ts +75 -0
  216. package/src/chart-stream.ts +114 -0
  217. package/src/chart-summary.test.ts +90 -0
  218. package/src/chart-summary.ts +197 -0
  219. package/src/chart-sync.svelte.ts +41 -0
  220. package/src/chart-table.test.ts +76 -0
  221. package/src/chart-table.ts +178 -0
  222. package/src/chart-trend.ts +47 -0
  223. package/src/chart-types.ts +1309 -0
  224. package/src/chart-validate.test.ts +100 -0
  225. package/src/chart-validate.ts +247 -0
  226. package/src/chart-zoom.test.ts +137 -0
  227. package/src/chart-zoom.ts +124 -0
  228. package/src/chart.coverage.test.ts +81 -0
  229. package/src/chart.test.ts +56 -3
  230. package/src/chart.ts +557 -2784
  231. package/src/clipboard.test.ts +151 -0
  232. package/src/clipboard.ts +145 -16
  233. package/src/column-resize.ts +7 -1
  234. package/src/columns.ts +2 -0
  235. package/src/command-context.test.ts +200 -0
  236. package/src/command-context.ts +137 -0
  237. package/src/core.ts +7 -0
  238. package/src/editing.test.ts +281 -3
  239. package/src/editing.ts +256 -38
  240. package/src/fill-patterns.test.ts +35 -0
  241. package/src/fill-patterns.ts +56 -2
  242. package/src/grid-messages.ts +16 -3
  243. package/src/history.test.ts +196 -0
  244. package/src/history.ts +162 -0
  245. package/src/icon-seam.test.ts +3 -2
  246. package/src/index.ts +150 -2
  247. package/src/keyboard-handlers.coverage.test.ts +126 -6
  248. package/src/keyboard-handlers.ts +91 -30
  249. package/src/keyboard-shortcuts.seam.test.ts +200 -0
  250. package/src/keyboard.test.ts +124 -1
  251. package/src/keyboard.ts +142 -0
  252. package/src/menus.test.ts +26 -0
  253. package/src/menus.ts +10 -3
  254. package/src/merges.test.ts +112 -0
  255. package/src/merges.ts +168 -0
  256. package/src/pivot.grid.test.ts +40 -5
  257. package/src/row-resize.test.ts +44 -0
  258. package/src/row-resize.ts +17 -0
  259. package/src/scroll-sync.test.ts +42 -1
  260. package/src/scroll-sync.ts +25 -0
  261. package/src/selection.multi-range.test.ts +34 -0
  262. package/src/selection.test.ts +30 -2
  263. package/src/selection.ts +111 -19
  264. package/src/shortcut-registry.test.ts +97 -0
  265. package/src/shortcut-registry.ts +181 -0
  266. package/src/svgrid-wrapper.types.ts +184 -13
  267. package/src/svgrid.behavior.test.ts +135 -0
  268. package/src/svgrid.charting.test.ts +513 -3
  269. package/src/svgrid.context-menu.test.ts +31 -0
  270. package/src/svgrid.new-features.wrapper.test.ts +10 -3
  271. package/src/virtualization/virtualizer.ts +39 -17
  272. package/dist/cdn/GridMenus-DyFA-QxA.js +0 -602
  273. package/dist/cdn/GridMenus-M2XP9t0_.js +0 -603
  274. package/dist/cdn/SvDateTimePicker-CCbDZNZB.js +0 -816
  275. package/dist/cdn/SvGridChart-DAb9RbRs.js +0 -1480
  276. package/dist/cdn/SvGridChart-Yl-IXZFO.js +0 -1481
  277. package/dist/cdn/SvGridChartPanel-DayQpDsR.js +0 -834
  278. package/dist/cdn/SvGridChartPanel-aqf8n-vJ.js +0 -810
  279. package/dist/cdn/SvGridChartView-CxfakxR0.js +0 -56
  280. package/dist/cdn/SvGridChartView-Dm_YEx9L.js +0 -55
  281. package/dist/cdn/chart-CKJRCPOk.js +0 -1652
@@ -1,1480 +0,0 @@
1
- import { B as e, D as t, E as n, F as r, G as i, H as a, I as o, L as s, N as c, R as l, U as u, V as d, X as f, Y as p, _ as m, at as h, d as g, et as _, ft as v, i as y, it as b, j as ee, k as x, lt as S, nt as C, pt as w, rt as te, st as T, t as E, tt as D, ut as ne, v as O, x as re } from "./disclose-version-Dr7rEVv-.js";
2
- import { a as ie, b as ae, l as oe, r as se, t as ce } from "./chart-CKJRCPOk.js";
3
- //#region src/SvGridChart.svelte
4
- var le = s("<button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Reset zoom (or double-click the plot)\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 7v6h6\"></path><path d=\"M21 17a9 9 0 0 0-15-6.7L3 13\"></path></svg> Reset zoom</button>"), ue = s("<button type=\"button\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2v6\"></path><circle cx=\"12\" cy=\"11\" r=\"3\"></circle><path d=\"M12 14v8\"></path></svg> Annotate</button>"), de = s("<div class=\"sv-grid-chart-toolbar svelte-hyytey\"><!> <!> <button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Download PNG\">PNG</button> <button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Download SVG\">SVG</button> <button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Copy chart as image\"> </button></div>"), fe = l("<pattern width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"6\" height=\"6\"></rect><rect width=\"3\" height=\"6\" fill=\"rgba(255,255,255,0.35)\"></rect></pattern>"), pe = l("<pattern width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\"><rect width=\"6\" height=\"6\"></rect><path d=\"M0 0L6 6 M6 0L0 6\" stroke=\"rgba(255,255,255,0.45)\" stroke-width=\"1\"></path></pattern>"), me = l("<pattern width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\"><rect width=\"6\" height=\"6\"></rect><circle cx=\"3\" cy=\"3\" r=\"1.2\" fill=\"rgba(255,255,255,0.55)\"></circle></pattern>"), he = l("<pattern width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(-45)\"><rect width=\"8\" height=\"8\"></rect><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"rgba(0,0,0,0.18)\" stroke-width=\"2\"></line></pattern>"), ge = l("<defs></defs>"), _e = l("<line class=\"sv-grid-chart-gridline svelte-hyytey\"></line><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), ve = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), ye = l("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), be = l("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), xe = l("<!><!><!><!>", 1), Se = l("<line></line><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>", 1), Ce = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>"), we = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), Te = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text>"), Ee = l("<line class=\"sv-grid-chart-gridline svelte-hyytey\" opacity=\"0.5\"></line>"), De = l("<line class=\"sv-grid-chart-gridline svelte-hyytey\"></line><!><text class=\"sv-grid-chart-axis sv-grid-chart-group-label svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), Oe = l("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), ke = l("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), Ae = l("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), je = l("<!><!><!><!><!><!><!>", 1), Me = l("<path class=\"sv-grid-chart-band\" fill-opacity=\"0.12\" stroke=\"none\"></path>"), Ne = l("<path class=\"sv-grid-chart-area svelte-hyytey\" fill-opacity=\"0.15\" stroke=\"none\"></path>"), Pe = l("<circle class=\"sv-grid-chart-dot is-active svelte-hyytey\" r=\"4\"></circle>"), Fe = l("<text class=\"sv-grid-chart-datalabel svelte-hyytey\" text-anchor=\"middle\"> </text>"), Ie = l("<circle></circle><!>", 1), Le = l("<g><!><!><path class=\"sv-grid-chart-linepath svelte-hyytey\" fill=\"none\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"></path><!></g>"), Re = l("<text> </text>"), ze = l("<text text-anchor=\"middle\"> </text>"), Be = l("<rect class=\"sv-grid-chart-bar svelte-hyytey\" rx=\"1\"></rect><!>", 1), Ve = l("<line class=\"sv-grid-chart-ohlc svelte-hyytey\"></line><line class=\"sv-grid-chart-ohlc svelte-hyytey\"></line><line class=\"sv-grid-chart-ohlc svelte-hyytey\"></line>", 1), He = l("<line class=\"sv-grid-chart-wick svelte-hyytey\"></line><rect class=\"sv-grid-chart-candle svelte-hyytey\"></rect>", 1), Ue = l("<circle class=\"sv-grid-chart-outlier svelte-hyytey\" r=\"2\" fill=\"none\"></circle>"), We = l("<line class=\"sv-grid-chart-whisker svelte-hyytey\"></line><line class=\"sv-grid-chart-whisker svelte-hyytey\"></line><line class=\"sv-grid-chart-whisker svelte-hyytey\"></line><rect class=\"sv-grid-chart-box svelte-hyytey\" fill-opacity=\"0.25\"></rect><line class=\"sv-grid-chart-median svelte-hyytey\"></line><!>", 1), Ge = l("<line class=\"sv-grid-chart-errorbar svelte-hyytey\"></line><line class=\"sv-grid-chart-errorbar svelte-hyytey\"></line><line class=\"sv-grid-chart-errorbar svelte-hyytey\"></line>", 1), Ke = l("<circle class=\"sv-grid-chart-scatter svelte-hyytey\" fill-opacity=\"0.7\"></circle>"), qe = l("<line class=\"sv-grid-chart-refline svelte-hyytey\"></line><text class=\"sv-grid-chart-reflabel svelte-hyytey\" text-anchor=\"end\"> </text>", 1), Je = l("<line class=\"sv-grid-chart-refline svelte-hyytey\"></line><text class=\"sv-grid-chart-reflabel svelte-hyytey\" text-anchor=\"start\"> </text>", 1), Ye = l("<path class=\"sv-grid-chart-overlay svelte-hyytey\" fill=\"none\" stroke-width=\"2\" stroke-dasharray=\"6 4\" stroke-linejoin=\"round\" stroke-linecap=\"round\"></path>"), Xe = l("<circle stroke=\"var(--sg-bg, #fff)\" stroke-width=\"1.5\"></circle><text class=\"sv-grid-chart-annotation-label svelte-hyytey\"> </text>", 1), Ze = l("<line class=\"sv-grid-chart-crosshair svelte-hyytey\"></line>"), Qe = l("<line class=\"sv-grid-chart-crosshair svelte-hyytey\"></line>"), $e = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), et = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text>"), tt = l("<text class=\"sv-grid-chart-heatlabel svelte-hyytey\" text-anchor=\"middle\"> </text>"), nt = l("<rect class=\"sv-grid-chart-heatcell svelte-hyytey\"></rect><!>", 1), rt = l("<stop></stop>"), it = l("<defs><linearGradient x1=\"0\" y1=\"1\" x2=\"0\" y2=\"0\"></linearGradient></defs><rect class=\"sv-grid-chart-heatlegend svelte-hyytey\" width=\"10\"></rect><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>", 1), at = l("<!><!><!><!>", 1), ot = l("<path class=\"sv-grid-chart-funnel-seg svelte-hyytey\"></path><text class=\"sv-grid-chart-funnel-label svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-funnel-value svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), st = l("<circle class=\"sv-grid-chart-radar-ring svelte-hyytey\"></circle>"), ct = l("<line class=\"sv-grid-chart-radar-spoke svelte-hyytey\"></line><text class=\"sv-grid-chart-axis svelte-hyytey\"> </text>", 1), lt = l("<circle class=\"sv-grid-chart-radar-dot svelte-hyytey\" r=\"3\"></circle>"), ut = l("<path class=\"sv-grid-chart-radar-poly svelte-hyytey\" fill-opacity=\"0.18\" stroke-width=\"2\"></path><!>", 1), dt = l("<!><!><!>", 1), ft = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>"), pt = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), mt = l("<rect rx=\"2\"></rect>"), ht = l("<rect class=\"sv-grid-chart-calendar-legend svelte-hyytey\" width=\"10\" height=\"10\" rx=\"2\"></rect><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>", 1), gt = l("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\">Less</text><!><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\">More</text>", 1), _t = l("<!><!><!><!>", 1), vt = l("<line></line>"), yt = l("<path fill=\"none\" stroke-width=\"4\" stroke-linecap=\"butt\" opacity=\"0.7\"></path>"), bt = l("<line stroke=\"var(--sg-fg, #0f172a)\" stroke-width=\"2.5\" stroke-linecap=\"round\"></line>"), xt = l("<!><path fill=\"none\" stroke=\"var(--sg-border, #e2e8f0)\" stroke-width=\"16\" stroke-linecap=\"round\"></path><!><path fill=\"none\" stroke-width=\"16\" stroke-linecap=\"round\"></path><!><path class=\"sv-grid-chart-gauge-needle svelte-hyytey\"></path><circle class=\"sv-grid-chart-gauge-hub svelte-hyytey\"></circle><circle class=\"sv-grid-chart-gauge-hub-dot svelte-hyytey\" r=\"2.5\"></circle><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-gauge-value svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), St = l("<text class=\"sv-grid-chart-treemap-label svelte-hyytey\"> </text>"), Ct = l("<text class=\"sv-grid-chart-treemap-value svelte-hyytey\" opacity=\"0.85\"> </text>"), wt = l("<rect class=\"sv-grid-chart-treemap-cell svelte-hyytey\"></rect><!><!>", 1), Tt = l("<path class=\"sv-grid-chart-sankey-link svelte-hyytey\" fill=\"none\" stroke-opacity=\"0.35\"></path>"), Et = l("<rect class=\"sv-grid-chart-sankey-node svelte-hyytey\"></rect><text class=\"sv-grid-chart-sankey-label svelte-hyytey\"> </text>", 1), Dt = l("<!><!>", 1), Ot = l("<text class=\"sv-grid-chart-datalabel on-bar svelte-hyytey\" text-anchor=\"middle\" dominant-baseline=\"middle\"> </text>"), kt = l("<path class=\"sv-grid-chart-slice svelte-hyytey\" stroke=\"var(--sg-bg, #fff)\" stroke-width=\"1\"></path><!>", 1), At = l("<text class=\"sv-grid-chart-donut-total svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-donut-label svelte-hyytey\" text-anchor=\"middle\">Total</text>", 1), jt = l("<rect class=\"sv-grid-chart-cat-hit svelte-hyytey\" data-dense=\"true\"></rect>"), Mt = l("<rect class=\"sv-grid-chart-cat-hit svelte-hyytey\"></rect>"), Nt = l("<rect class=\"sv-grid-chart-zoom-rect svelte-hyytey\"></rect>"), Pt = l("<path fill-opacity=\"0.10\" stroke=\"none\"></path>"), Ft = l("<!><path fill=\"none\" stroke-width=\"1.2\" opacity=\"0.75\"></path>", 1), It = l("<rect opacity=\"0.55\"></rect>"), Lt = l("<svg class=\"sv-grid-chart-brush svelte-hyytey\" width=\"100%\" role=\"img\" aria-label=\"Range brush\"><!><!><rect class=\"sv-grid-chart-brush-mask svelte-hyytey\"></rect><rect class=\"sv-grid-chart-brush-mask svelte-hyytey\"></rect><rect class=\"sv-grid-chart-brush-window svelte-hyytey\"></rect><rect class=\"sv-grid-chart-brush-handle svelte-hyytey\" width=\"8\"></rect><rect class=\"sv-grid-chart-brush-handle svelte-hyytey\" width=\"8\"></rect></svg>"), Rt = s("<div class=\"sv-grid-chart-empty svelte-hyytey\">No data</div>"), zt = s("<span class=\"sv-grid-chart-tooltip-dot svelte-hyytey\"></span>"), Bt = s("<span class=\"sv-grid-chart-tooltip-row-label svelte-hyytey\"> </span>"), Vt = s("<span class=\"sv-grid-chart-tooltip-row svelte-hyytey\"><!> <!> <span class=\"sv-grid-chart-tooltip-row-value svelte-hyytey\"> </span></span>"), Ht = s("<div><span class=\"sv-grid-chart-tooltip-title svelte-hyytey\"> </span> <!></div>"), Ut = s("<button type=\"button\"><span class=\"sv-grid-chart-swatch svelte-hyytey\"></span> </button>"), Wt = s("<button type=\"button\" class=\"sv-grid-chart-legend-more svelte-hyytey\"> </button>"), Gt = s("<div class=\"sv-grid-chart-legend svelte-hyytey\"><!> <!></div>"), Kt = s("<th> </th>"), qt = s("<td> </td>"), Jt = s("<tr></tr>"), Yt = s("<div class=\"sv-grid-chart svelte-hyytey\"><!> <svg width=\"100%\" role=\"img\"><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!></svg> <!> <!> <!> <!> <table class=\"sv-grid-chart-sr-only svelte-hyytey\"><caption> <!></caption><thead><tr></tr></thead><tbody></tbody></table></div>"), Xt = {
5
- hash: "svelte-hyytey",
6
- code: ".sv-grid-chart.svelte-hyytey {position:relative;display:flex;flex-direction:column;gap:8px;width:100%;}.sv-grid-chart-svg.svelte-hyytey {display:block;width:100%;height:auto;}.sv-grid-chart-gridline.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-gridline.is-zero.svelte-hyytey {stroke:var(--sg-muted, #94a3b8);opacity:0.9;}.sv-grid-chart-axis.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:10px;font-family:inherit;}.sv-grid-chart-axis-title.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:11px;font-weight:600;font-family:inherit;}.sv-grid-chart-group-label.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-weight:600;}.sv-grid-chart-crosshair.svelte-hyytey {stroke:var(--sg-accent, #2563eb);stroke-width:1;stroke-dasharray:3 3;opacity:0.65;pointer-events:none;}.sv-grid-chart-refline.svelte-hyytey {stroke-width:1.5;opacity:0.9;pointer-events:none;}.sv-grid-chart-reflabel.svelte-hyytey {font-size:9.5px;font-weight:700;font-family:inherit;pointer-events:none;}.sv-grid-chart-overlay.svelte-hyytey {opacity:0.85;pointer-events:none;}.sv-grid-chart-annotation-marker.svelte-hyytey {pointer-events:none;}.sv-grid-chart-annotation-label.svelte-hyytey {font-size:10px;font-weight:700;font-family:inherit;pointer-events:none;}\n /* Heatmap cells. Stroke uses the border token (not bg) so the cell\n separators stay visible in BOTH light and dark themes - on dark mode\n a bg-colored stroke disappeared into the navy cells. */.sv-grid-chart-heatcell.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:1;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-heatcell:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-heatcell.svelte-hyytey:hover {opacity:0.85;}.sv-grid-chart-heatlabel.svelte-hyytey {font-size:10px;font-weight:600;font-family:inherit;pointer-events:none;user-select:none;}\n /* Legend gradient bar gets a visible outline + axis labels next to it\n pull from the regular axis class so they follow the theme. */.sv-grid-chart-heatlegend.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:1;}\n /* Funnel segments + labels. */.sv-grid-chart-funnel-seg.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:2;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-funnel-seg:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-funnel-seg.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-funnel-label.svelte-hyytey {font-size:11px;font-weight:700;font-family:inherit;pointer-events:none;}.sv-grid-chart-funnel-value.svelte-hyytey {font-size:10px;font-family:inherit;opacity:0.85;pointer-events:none;}\n /* Radar grid + polygons. */.sv-grid-chart-radar-ring.svelte-hyytey {fill:none;stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-radar-spoke.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-radar-poly.svelte-hyytey {transition:opacity 100ms ease;pointer-events:none;}.sv-grid-chart-radar-dot.svelte-hyytey {transition:r 100ms ease;cursor:default;}.sv-grid-chart-radar-dot.svelte-hyytey:hover {r:4.5;}\n /* Calendar heatmap cells. Blank cells get a faint outline so the grid\n still reads on days with no data. */.sv-grid-chart-calendar-cell.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:0.5;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-calendar-cell.is-blank.svelte-hyytey {stroke-opacity:0.5;}.sv-grid-chart-calendar-cell.svelte-hyytey:hover {opacity:0.85;}.sv-grid-chart-calendar-legend.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:0.5;}\n /* Gauge centre readout. */.sv-grid-chart-gauge-value.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:22px;font-weight:800;font-family:inherit;pointer-events:none;}\n /* Gauge tick marks: faint minors, stronger majors. */.sv-grid-chart-gauge-tick.svelte-hyytey {stroke:var(--sg-muted, #94a3b8);stroke-width:1;opacity:0.4;}.sv-grid-chart-gauge-tick.is-major.svelte-hyytey {stroke-width:2;opacity:0.7;}\n /* Pointer needle + hub. */.sv-grid-chart-gauge-needle.svelte-hyytey {fill:var(--sg-fg, #0f172a);\n /* A hairline of the background colour around the needle keeps it legible\n where it crosses the value arc, which is the same weight and often a\n similar tone. */stroke:var(--sg-bg, #ffffff);stroke-width:0.75;stroke-linejoin:round;}.sv-grid-chart-gauge-hub.svelte-hyytey {fill:var(--sg-fg, #0f172a);stroke:var(--sg-bg, #ffffff);stroke-width:2;}.sv-grid-chart-gauge-hub-dot.svelte-hyytey {fill:var(--sg-bg, #ffffff);}\n /* Tree-map cells. White separators give the squarified rects breathing\n room without distracting from the data. */.sv-grid-chart-treemap-cell.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:1;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-treemap-cell:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-treemap-cell.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-treemap-label.svelte-hyytey {font-size:11px;font-weight:600;font-family:inherit;pointer-events:none;}.sv-grid-chart-treemap-value.svelte-hyytey {font-size:10px;font-family:inherit;pointer-events:none;}\n /* Sankey nodes + links. Links use stroke not fill so per-ribbon width\n comes from stroke-width directly. */.sv-grid-chart-sankey-node.svelte-hyytey {transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-sankey-node.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-sankey-link.svelte-hyytey {transition:stroke-opacity 100ms ease;cursor:default;}.sv-grid-chart-sankey-link.svelte-hyytey:hover {stroke-opacity:0.6;}.sv-grid-chart-sankey-label.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:11px;font-weight:600;font-family:inherit;pointer-events:none;}\n /* Brush mini-map: a compact secondary chart with a draggable window. */.sv-grid-chart-brush.svelte-hyytey {display:block;width:100%;height:auto;margin-top:4px;border-top:1px solid var(--sg-border, #e2e8f0);user-select:none;touch-action:none;}.sv-grid-chart-brush-mask.svelte-hyytey {fill:var(--sg-bg, #ffffff);fill-opacity:0.65;pointer-events:none;}.sv-grid-chart-brush-window.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.10;stroke:var(--sg-accent, #2563eb);stroke-width:1;cursor:grab;}.sv-grid-chart-brush-window.svelte-hyytey:active {cursor:grabbing;}.sv-grid-chart-brush-handle.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.4;cursor:ew-resize;}.sv-grid-chart-brush-handle.svelte-hyytey:hover {fill-opacity:0.7;}.sv-grid-chart-scatter.svelte-hyytey {transition:opacity 0.2s ease;stroke-width:1;}.is-clickable.svelte-hyytey .sv-grid-chart-scatter:where(.svelte-hyytey),\n .sv-grid-chart-scatter.svelte-hyytey:hover {cursor:pointer;}.sv-grid-chart-cat-hit.svelte-hyytey {fill:transparent;}.sv-grid-chart-cat-hit.svelte-hyytey:focus-visible,\n .sv-grid-chart-slice.svelte-hyytey:focus-visible {outline:2px solid var(--sg-accent, #2563eb);outline-offset:1px;}.sv-grid-chart-datalabel.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:9.5px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;}.sv-grid-chart-datalabel.on-bar.svelte-hyytey {fill:#fff;}.sv-grid-chart-donut-total.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;}.sv-grid-chart-donut-label.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:10px;}.sv-grid-chart-bar.svelte-hyytey {transition:x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease;}.sv-grid-chart-dot.svelte-hyytey {transition:cx 0.3s ease, cy 0.3s ease;}.sv-grid-chart-candle.svelte-hyytey {stroke-width:1;transition:x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease;}.sv-grid-chart-wick.svelte-hyytey,\n .sv-grid-chart-ohlc.svelte-hyytey {stroke-width:1;shape-rendering:crispEdges;}.sv-grid-chart-box.svelte-hyytey {stroke-width:1;transition:x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease;}.sv-grid-chart-whisker.svelte-hyytey,\n .sv-grid-chart-errorbar.svelte-hyytey {stroke-width:1;shape-rendering:crispEdges;}\n /* The median is the number people read off a box plot, so it gets the\n weight. Everything else on the mark is 1px. */.sv-grid-chart-median.svelte-hyytey {stroke-width:2;shape-rendering:crispEdges;}.sv-grid-chart-outlier.svelte-hyytey {stroke-width:1;}.is-clickable.svelte-hyytey .sv-grid-chart-cat-hit:where(.svelte-hyytey),\n .is-clickable.svelte-hyytey .sv-grid-chart-slice:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-empty.svelte-hyytey {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sg-muted, #94a3b8);font-size:13px;pointer-events:none;}\n\n /* Toolbar above the chart: reset-zoom, PNG / SVG / Copy. */.sv-grid-chart-toolbar.svelte-hyytey {display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;}.sv-grid-chart-tool.svelte-hyytey {display:inline-flex;align-items:center;gap:4px;border:1px solid var(--sg-border, #cbd5e1);background:var(--sg-bg, #ffffff);color:var(--sg-fg, #1e293b);font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;cursor:pointer;transition:background-color 100ms ease, border-color 100ms ease;}.sv-grid-chart-tool.svelte-hyytey:hover {background:var(--sg-row-hover-bg, #f1f5f9);border-color:var(--sg-accent, #2563eb);}\n\n /* Annotate mode: the toggle reads as pressed, the plot as a target, and a\n marker as something you can click to take away. */.sv-grid-chart-tool.is-on.svelte-hyytey {background:var(--sg-accent, #2563eb);border-color:var(--sg-accent, #2563eb);color:var(--sg-on-accent, #fff);}.sv-grid-chart-svg.is-annotating.svelte-hyytey {cursor:copy;}.sv-grid-chart-annotation-marker.is-removable.svelte-hyytey {cursor:pointer;}\n\n /* Drag-to-zoom: translucent accent rectangle over the plot. */.sv-grid-chart-svg.is-zoomable.svelte-hyytey {cursor:crosshair;}.sv-grid-chart-svg.is-dragging.svelte-hyytey {cursor:crosshair;user-select:none;}.sv-grid-chart-zoom-rect.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.12;stroke:var(--sg-accent, #2563eb);stroke-width:1;stroke-dasharray:3 3;pointer-events:none;}.sv-grid-chart-tooltip.svelte-hyytey {position:absolute;z-index:10;transform:translate(-50%, calc(-100% - 12px));pointer-events:none;white-space:nowrap;padding:6px 9px;border-radius:6px;background:var(--sg-fg, #0f172a);color:var(--sg-bg, #fff);font-size:11.5px;line-height:1.4;box-shadow:0 6px 18px rgba(0, 0, 0, 0.28);display:flex;flex-direction:column;gap:1px;}.sv-grid-chart-tooltip.is-below.svelte-hyytey {transform:translate(-50%, 16px);}.sv-grid-chart-tooltip-title.svelte-hyytey {opacity:0.75;font-size:10.5px;margin-bottom:1px;}.sv-grid-chart-tooltip-row.svelte-hyytey {display:flex;align-items:center;gap:6px;}.sv-grid-chart-tooltip-dot.svelte-hyytey {width:8px;height:8px;border-radius:2px;flex-shrink:0;}.sv-grid-chart-tooltip-row-label.svelte-hyytey {opacity:0.85;}.sv-grid-chart-tooltip-row-value.svelte-hyytey {margin-left:auto;padding-left:10px;font-weight:700;font-variant-numeric:tabular-nums;}.sv-grid-chart-legend.svelte-hyytey {display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--sg-fg, #0f172a);}.sv-grid-chart-legend-item.svelte-hyytey {display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;padding:1px 2px;border-radius:4px;cursor:pointer;}.sv-grid-chart-legend-item.svelte-hyytey:disabled {cursor:default;}.sv-grid-chart-legend-item.is-off.svelte-hyytey {color:var(--sg-muted, #94a3b8);text-decoration:line-through;}.sv-grid-chart-legend-item.is-isolated.svelte-hyytey {background:var(--sg-header-bg, #f1f5f9);font-weight:700;}.sv-grid-chart-legend-more.svelte-hyytey {border:1px dashed var(--sg-border, #cbd5e1);background:transparent;color:var(--sg-muted, #64748b);font:inherit;font-size:11px;padding:1px 7px;border-radius:999px;cursor:pointer;}.sv-grid-chart-legend-more.svelte-hyytey:hover {color:var(--sg-fg, #0f172a);border-color:var(--sg-accent, #2563eb);}.sv-grid-chart-sr-only.svelte-hyytey {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}.sv-grid-chart-swatch.svelte-hyytey {width:12px;height:12px;border-radius:3px;border:1.5px solid transparent;display:inline-block;box-sizing:border-box;}\n\n /* Enter animation. Marks fade in when they are first created; the position\n transitions above then handle everything after that, so a chart appears\n smoothly and moves smoothly rather than popping into place and then\n animating.\n\n A fade rather than the wipe you would normally reach for. A wipe needs a\n clip-path over all the marks, and the marks here are direct children of the\n <svg> - grouping them is a large edit across every chart type, for a nicer\n version of something already pleasant. Noted rather than done.\n\n `both` matters: it holds the from-state before the animation starts, so a\n mark cannot flash at full opacity for a frame first. It also means that\n when `animation: none` applies below, the rule stops applying entirely and\n the mark is simply painted - not stuck invisible. */\n @keyframes svelte-hyytey-sv-grid-chart-in {\n from { opacity: 0; }\n to { opacity: 1; }\n }.sv-grid-chart-bar.svelte-hyytey,\n .sv-grid-chart-linepath.svelte-hyytey,\n .sv-grid-chart-area.svelte-hyytey,\n .sv-grid-chart-slice.svelte-hyytey,\n .sv-grid-chart-candle.svelte-hyytey,\n .sv-grid-chart-box.svelte-hyytey,\n .sv-grid-chart-funnel-seg.svelte-hyytey,\n .sv-grid-chart-heatcell.svelte-hyytey,\n .sv-grid-chart-treemap-cell.svelte-hyytey {\n animation: svelte-hyytey-sv-grid-chart-in 0.3s ease-out both;}\n\n /* Reduced motion. Every other animated component in the kit honours this\n (SvCard, SvCircularProgress, SvCollapsible); the chart never did, so a\n reader who has asked the OS for less movement still got every bar, dot,\n candle and box sliding on each re-aggregation - and a chart re-aggregates\n on every filter keystroke, which is the worst case for it. */\n @media (prefers-reduced-motion: reduce) {.sv-grid-chart-bar.svelte-hyytey,\n .sv-grid-chart-dot.svelte-hyytey,\n .sv-grid-chart-candle.svelte-hyytey,\n .sv-grid-chart-box.svelte-hyytey {transition:none;}.sv-grid-chart-bar.svelte-hyytey,\n .sv-grid-chart-linepath.svelte-hyytey,\n .sv-grid-chart-area.svelte-hyytey,\n .sv-grid-chart-slice.svelte-hyytey,\n .sv-grid-chart-candle.svelte-hyytey,\n .sv-grid-chart-box.svelte-hyytey,\n .sv-grid-chart-funnel-seg.svelte-hyytey,\n .sv-grid-chart-heatcell.svelte-hyytey,\n .sv-grid-chart-treemap-cell.svelte-hyytey {\n animation: none;}\n }"
7
- };
8
- function k(s, l) {
9
- ne(l, !0), re(s, Xt);
10
- let d = E(l, "legend", 3, !0), k = E(l, "interactive", 3, !0), Zt = E(l, "dataLabels", 3, !1), Qt = E(l, "zoomable", 3, !1), $t = E(l, "brush", 3, !1), en = E(l, "brushHeight", 3, 88), tn = E(l, "annotatable", 3, !1), nn = T(() => l.toolbar ?? (Qt() || !!l.onDrill || tn())), A = h(!1), j = (e) => l.formatValue ? l.formatValue(e) : l.spec.valueFormat ? oe(e, l.spec.valueFormat, l.spec) : Number.isFinite(e) ? e.toLocaleString(void 0, { maximumFractionDigits: 2 }) : String(e), rn = h(te(/* @__PURE__ */ new Set())), M = h(null), an = h(null), on = h(null), sn = T(() => l.spec.palette ?? i(an) ?? ce), cn = `svgc-${Math.random().toString(36).slice(2, 8)}`, N = T(() => l.spec.series.map((e, t) => ({
11
- ...e,
12
- color: e.color ?? i(sn)[t % i(sn).length]
13
- }))), ln = T(() => l.spec.series.map((e, t) => e.pattern ? e.pattern : l.spec.patternFallback ? [
14
- "stripe",
15
- "crosshatch",
16
- "dots",
17
- "diagonal"
18
- ][t % 4] : "solid")), un = T(() => {
19
- let e = {};
20
- return i(N).forEach((t, n) => {
21
- let r = i(ln)[n];
22
- e[t.label] = r === "solid" || !r ? t.color : `url(#${cn}-pat-${n})`;
23
- }), e;
24
- }), dn = T(() => i(N).map((e, t) => ({
25
- id: `${cn}-pat-${t}`,
26
- color: e.color,
27
- kind: i(ln)[t] ?? "solid"
28
- })).filter((e) => e.kind !== "solid")), fn = T(() => {
29
- if (i(M) == null) return i(rn);
30
- let e = l.spec.type === "pie" ? l.spec.categories : l.spec.series.map((e) => e.label);
31
- return new Set(e.filter((e) => e !== i(M)));
32
- }), P = h(null), pn = T(() => i(P) !== null);
33
- function mn() {
34
- b(P, null);
35
- }
36
- let F = h(null), I = h(null), L = h(null), R = T(() => {
37
- if (!i(I) || !i(L)) return null;
38
- let e = Math.min(i(I).x, i(L).x), t = Math.min(i(I).y, i(L).y), n = Math.abs(i(L).x - i(I).x), r = Math.abs(i(L).y - i(I).y);
39
- return n > 4 && r > 4 ? {
40
- x: e,
41
- y: t,
42
- w: n,
43
- h: r
44
- } : null;
45
- });
46
- function hn(e) {
47
- if (!i(F)) return null;
48
- let t = i(F).getBoundingClientRect();
49
- return {
50
- x: (e.clientX - t.left) / t.width * i(H).width,
51
- y: (e.clientY - t.top) / t.height * i(H).height
52
- };
53
- }
54
- function gn(e) {
55
- let t = i(U) ? e.y - i(H).plot.y : e.x - i(H).plot.x, n = Math.floor(t / i(W));
56
- return Math.max(0, Math.min(i(V).categories.length - 1, n));
57
- }
58
- function _n(e) {
59
- if (i(A) || !Qt() || !i(Nn)) return;
60
- let t = hn(e);
61
- t && (t.x < i(H).plot.x || t.x > i(H).plot.x + i(H).plot.w || t.y < i(H).plot.y || t.y > i(H).plot.y + i(H).plot.h || (b(I, t, !0), b(L, t, !0), e.target.setPointerCapture?.(e.pointerId)));
62
- }
63
- function vn(e) {
64
- i(I) && b(L, hn(e), !0);
65
- }
66
- function yn() {
67
- if (!i(I) || !i(L)) {
68
- b(I, null), b(L, null);
69
- return;
70
- }
71
- let e = i(R);
72
- if (e) {
73
- let t = gn({
74
- x: e.x,
75
- y: e.y
76
- }), n = gn({
77
- x: e.x + e.w,
78
- y: e.y + e.h
79
- }), r = i(P) ? i(P).i0 : 0, a = r + Math.min(t, n), o = r + Math.max(t, n);
80
- o > a && b(P, {
81
- i0: a,
82
- i1: o
83
- }, !0);
84
- }
85
- b(I, null), b(L, null);
86
- }
87
- function bn() {
88
- Qt() && i(pn) && mn();
89
- }
90
- let xn = T(() => l.spec.type === "candlestick" || l.spec.type === "ohlc"), Sn = T(() => l.spec.type === "ohlc"), Cn = T(() => $t() && l.spec.type !== "pie" && l.spec.type !== "heatmap"), wn = T(() => ({
91
- ...l.spec,
92
- height: en(),
93
- yAxisTitle: void 0,
94
- y2AxisTitle: void 0,
95
- xAxisTitle: void 0,
96
- referenceLines: void 0,
97
- annotations: void 0,
98
- type: i(xn) || l.spec.type === "boxplot" ? "line" : l.spec.type,
99
- series: i(N).filter((e) => !i(fn).has(e.label)).map((e) => e.ohlc || e.boxes ? {
100
- ...e,
101
- ohlc: void 0,
102
- boxes: void 0,
103
- errors: void 0,
104
- type: "line"
105
- } : e.errors ? {
106
- ...e,
107
- errors: void 0
108
- } : e)
109
- })), z = T(() => i(Cn) ? se(i(wn)) : null), Tn = T(() => {
110
- let e = l.spec.categories.length;
111
- return !i(P) || e === 0 ? {
112
- t0: 0,
113
- t1: 1
114
- } : {
115
- t0: i(P).i0 / e,
116
- t1: (i(P).i1 + 1) / e
117
- };
118
- }), B = h(null);
119
- function En(e, t) {
120
- let n = t.getBoundingClientRect();
121
- return i(z) ? (e.clientX - n.left) / n.width * i(z).width : 0;
122
- }
123
- function Dn(e, t) {
124
- if (!i(z)) return;
125
- let n = e.currentTarget, r = En(e, n.ownerSVGElement ?? n);
126
- b(B, {
127
- mode: t,
128
- startX: r,
129
- startT0: i(Tn).t0,
130
- startT1: i(Tn).t1
131
- }, !0), e.currentTarget.setPointerCapture?.(e.pointerId), e.stopPropagation();
132
- }
133
- function On(e) {
134
- if (!i(B) || !i(z)) return;
135
- let t = (En(e, e.currentTarget.ownerSVGElement ?? e.currentTarget) - i(B).startX) / i(z).plot.w, n = l.spec.categories.length;
136
- if (n === 0) return;
137
- let r = i(B).startT0, a = i(B).startT1;
138
- if (i(B).mode === "move") {
139
- let e = a - r;
140
- r = Math.max(0, Math.min(1 - e, r + t)), a = r + e;
141
- } else i(B).mode === "left" ? r = Math.max(0, Math.min(a - 1 / n, r + t)) : a = Math.min(1, Math.max(r + 1 / n, a + t));
142
- let o = Math.max(0, Math.floor(r * n)), s = Math.min(n - 1, Math.ceil(a * n) - 1);
143
- o === 0 && s === n - 1 ? b(P, null) : b(P, {
144
- i0: o,
145
- i1: Math.max(o, s)
146
- }, !0);
147
- }
148
- function kn(e) {
149
- b(B, null), e.currentTarget.releasePointerCapture?.(e.pointerId);
150
- }
151
- let V = T(() => {
152
- if (l.spec.type === "pie") {
153
- let e = i(N)[0];
154
- if (!e) return l.spec;
155
- let t = e.values.map((e, t) => i(fn).has(l.spec.categories[t] ?? String(t)) ? 0 : e);
156
- return {
157
- ...l.spec,
158
- series: [{
159
- ...e,
160
- values: t
161
- }]
162
- };
163
- }
164
- let e = i(N).filter((e) => !i(fn).has(e.label));
165
- return i(P) ? ae({
166
- ...l.spec,
167
- series: e
168
- }, i(P).i0, i(P).i1) : {
169
- ...l.spec,
170
- series: e
171
- };
172
- }), An = h(!1), H = T(() => se({
173
- ...i(V),
174
- palette: i(sn),
175
- ...l.width || l.height ? {
176
- width: l.width,
177
- height: l.height
178
- } : {}
179
- }, i(An) ? "dark" : "light")), jn = T(() => ie(i(H))), Mn = T(() => ({
180
- geo: i(H),
181
- scales: i(jn),
182
- xOf: i(jn)?.xOf ?? null,
183
- yOf: i(jn)?.yOf ?? null
184
- })), Nn = T(() => l.spec.type !== "pie" && l.spec.type !== "heatmap" && l.spec.type !== "funnel" && l.spec.type !== "radar" && l.spec.type !== "calendar" && l.spec.type !== "gauge" && l.spec.type !== "treemap" && l.spec.type !== "sankey"), Pn = T(() => l.spec.type === "scatter"), Fn = T(() => l.spec.type === "heatmap"), In = T(() => l.spec.type === "funnel"), Ln = T(() => l.spec.type === "radar"), Rn = T(() => l.spec.type === "calendar"), zn = T(() => l.spec.type === "gauge"), Bn = T(() => l.spec.type === "treemap"), Vn = T(() => l.spec.type === "sankey"), U = T(() => i(H).orientation === "horizontal"), W = T(() => (i(U) ? i(H).plot.h : i(H).plot.w) / Math.max(1, i(V).categories.length)), Hn = T(() => i(Nn) && !i(Pn) && !i(U) && i(W) < 4 && i(V).categories.length > 1), Un = 1e3;
185
- function Wn(e, t, n) {
186
- let r = n.ownerSVGElement ?? n;
187
- if (!r || typeof r.getBoundingClientRect != "function") return null;
188
- let i = r.getBoundingClientRect();
189
- if (!i.width || !i.height) return null;
190
- let a = r.viewBox?.baseVal, o = a && a.width ? a.width / i.width : 1, s = a && a.height ? a.height / i.height : 1;
191
- return {
192
- x: (e - i.left) * o + (a ? a.x : 0),
193
- y: (t - i.top) * s + (a ? a.y : 0)
194
- };
195
- }
196
- function Gn(e, t) {
197
- let n = Wn(e, 0, t);
198
- if (!n) return null;
199
- let r = n.x, a = i(H).lines[0]?.points, o = i(V).categories.length;
200
- if (!a || a.length !== o) {
201
- let e = Math.floor((r - i(H).plot.x) / i(W));
202
- return e >= 0 && e < o ? e : null;
203
- }
204
- let s = 0, c = a.length - 1;
205
- for (; s < c;) {
206
- let e = s + c >> 1;
207
- a[e].x < r ? s = e + 1 : c = e;
208
- }
209
- return s > 0 && Math.abs(a[s - 1].x - r) <= Math.abs(a[s].x - r) && --s, s;
210
- }
211
- let G = h(0);
212
- function Kn(e) {
213
- let t = i(V).categories.length - 1, n = Math.max(1, Math.floor(t / 10)), r = i(G);
214
- switch (e.key) {
215
- case "ArrowRight":
216
- case "ArrowDown":
217
- r = Math.min(t, i(G) + 1);
218
- break;
219
- case "ArrowLeft":
220
- case "ArrowUp":
221
- r = Math.max(0, i(G) - 1);
222
- break;
223
- case "Home":
224
- r = 0;
225
- break;
226
- case "End":
227
- r = t;
228
- break;
229
- case "PageDown":
230
- r = Math.min(t, i(G) + n);
231
- break;
232
- case "PageUp":
233
- r = Math.max(0, i(G) - n);
234
- break;
235
- case "Enter":
236
- case " ":
237
- e.preventDefault(), Q(i(V).categories[i(G)] ?? "", "", 0, i(G));
238
- return;
239
- default: return;
240
- }
241
- e.preventDefault(), b(G, r, !0), cr(e.currentTarget, r);
242
- }
243
- let K = (e) => i(on) && i(on) !== e ? .18 : 1, qn = T(() => l.spec.type === "pie" ? l.spec.categories.map((e, t) => ({
244
- label: e,
245
- color: i(sn)[t % i(sn).length],
246
- off: i(rn).has(e)
247
- })) : i(N).map((e) => ({
248
- label: e.label,
249
- color: e.color,
250
- off: i(rn).has(e.label)
251
- }))), Jn = h(!1), Yn = T(() => i(qn).length > 10), Xn = T(() => i(Yn) && !i(Jn) ? i(qn).slice(0, 10) : i(qn)), Zn = T(() => l.spec.type === "pie" ? i(H).slices.every((e) => e.value <= 0) : l.spec.type === "scatter" ? i(H).scatterPoints.length === 0 : l.spec.type === "heatmap" ? i(H).heatmapCells.length === 0 : l.spec.type === "funnel" ? i(H).funnelSegments.length === 0 : l.spec.type === "radar" ? i(H).radarSeries.length === 0 : l.spec.type === "calendar" ? i(H).calendarCells.length === 0 : l.spec.type === "gauge" ? !i(H).gauge : l.spec.type === "treemap" ? i(H).treemapCells.length === 0 : l.spec.type === "sankey" ? i(H).sankeyNodes.length === 0 : i(xn) ? i(H).candles.length === 0 : l.spec.type === "boxplot" ? i(H).boxes.length === 0 : i(H).bars.length === 0 && i(H).lines.every((e) => e.points.every((e) => !e.defined)));
252
- function Qn(e) {
253
- if (!k()) return;
254
- if (i(M) != null) {
255
- b(M, null);
256
- return;
257
- }
258
- let t = new Set(i(rn));
259
- t.has(e) ? t.delete(e) : t.add(e), b(rn, t, !0);
260
- }
261
- function $n(e) {
262
- k() && b(M, i(M) === e ? null : e, !0);
263
- }
264
- let er = T(() => {
265
- if (l.spec.type === "pie") {
266
- let e = i(N)[0];
267
- return {
268
- cols: ["Category", "Value"],
269
- rows: l.spec.categories.map((t, n) => [t, j(e?.values[n] ?? 0)])
270
- };
271
- }
272
- if (i(Pn)) {
273
- let e = [];
274
- for (let t of i(N)) for (let n of t.points ?? []) e.push([
275
- t.label,
276
- j(n.x),
277
- j(n.y),
278
- n.r == null ? "" : j(n.r)
279
- ]);
280
- return {
281
- cols: [
282
- "Series",
283
- "X",
284
- "Y",
285
- "Size"
286
- ],
287
- rows: e
288
- };
289
- }
290
- if (i(xn)) {
291
- let e = [];
292
- for (let t of i(N)) (t.ohlc ?? []).forEach((n, r) => {
293
- n && e.push([
294
- l.spec.categories[r] ?? String(r),
295
- t.label,
296
- j(n.o),
297
- j(n.h),
298
- j(n.l),
299
- j(n.c)
300
- ]);
301
- });
302
- return {
303
- cols: [
304
- "Date",
305
- "Series",
306
- "Open",
307
- "High",
308
- "Low",
309
- "Close"
310
- ],
311
- rows: e
312
- };
313
- }
314
- return {
315
- cols: ["Category", ...i(N).map((e) => e.label)],
316
- rows: l.spec.categories.map((e, t) => [e, ...i(N).map((e) => j(e.values[t] ?? 0))])
317
- };
318
- }), tr = T(() => i(er).rows.length > Un), nr = T(() => i(tr) ? i(er).rows.slice(0, Un) : i(er).rows);
319
- function q(e, t = 12) {
320
- return e.length > t ? e.slice(0, t - 1) + "…" : e;
321
- }
322
- let rr = (e, t) => l.formatValue ? l.formatValue(e) : t, ir = h(null);
323
- function ar(e) {
324
- if (!e) return !1;
325
- let t = 0, n = 0, r = 0, i = e.trim().startsWith("#") ? e.trim().slice(1) : "";
326
- if (i.length === 6) t = parseInt(i.slice(0, 2), 16), n = parseInt(i.slice(2, 4), 16), r = parseInt(i.slice(4, 6), 16);
327
- else {
328
- let i = /rgba?\(([^)]+)\)/.exec(e);
329
- if (!i) return !1;
330
- let a = i[1].split(",").map((e) => parseFloat(e));
331
- t = a[0] ?? 0, n = a[1] ?? 0, r = a[2] ?? 0;
332
- }
333
- return .299 * t + .587 * n + .114 * r < 128;
334
- }
335
- f(() => {
336
- if (!i(ir) || typeof window > "u") return;
337
- let e = i(ir), t = () => {
338
- let t = getComputedStyle(e);
339
- b(An, ar(t.getPropertyValue("--sg-bg")), !0);
340
- let n = [];
341
- for (let e = 1; e <= 8; e += 1) {
342
- let r = t.getPropertyValue(`--sg-chart-${e}`).trim();
343
- n.push(r || ce[e - 1]);
344
- }
345
- (!i(an) || n.some((e, t) => e !== i(an)[t])) && b(an, n.some((e, t) => e !== ce[t]) ? n : null, !0);
346
- };
347
- t();
348
- let n = new MutationObserver(t);
349
- return n.observe(document.documentElement, {
350
- attributes: !0,
351
- attributeFilter: [
352
- "data-theme",
353
- "class",
354
- "style"
355
- ]
356
- }), () => n.disconnect();
357
- });
358
- let J = h(null), Y = h(null);
359
- function X(e, t, n, r) {
360
- if (!k() || !i(ir) || r.length === 0) return;
361
- let a = i(ir).getBoundingClientRect(), o = Math.max(70, Math.min(a.width - 70, e - a.left)), s = t - a.top;
362
- b(J, {
363
- left: o,
364
- top: s,
365
- below: s < 44,
366
- title: n,
367
- rows: r
368
- }, !0);
369
- }
370
- function or(e) {
371
- let t = [];
372
- for (let n of i(V).series) {
373
- let r = n.color, i = n.ohlc?.[e];
374
- if (i) {
375
- t.push({
376
- label: `${n.label} O`,
377
- color: r,
378
- value: j(i.o)
379
- }), t.push({
380
- label: `${n.label} H`,
381
- value: j(i.h)
382
- }), t.push({
383
- label: `${n.label} L`,
384
- value: j(i.l)
385
- }), t.push({
386
- label: `${n.label} C`,
387
- value: j(i.c)
388
- });
389
- continue;
390
- }
391
- let a = n.boxes?.[e];
392
- if (a) {
393
- t.push({
394
- label: `${n.label} max`,
395
- color: r,
396
- value: j(a.max)
397
- }), t.push({
398
- label: `${n.label} Q3`,
399
- value: j(a.q3)
400
- }), t.push({
401
- label: `${n.label} median`,
402
- value: j(a.median)
403
- }), t.push({
404
- label: `${n.label} Q1`,
405
- value: j(a.q1)
406
- }), t.push({
407
- label: `${n.label} min`,
408
- value: j(a.min)
409
- }), a.outliers?.length && t.push({
410
- label: `${n.label} outliers`,
411
- value: String(a.outliers.length)
412
- });
413
- continue;
414
- }
415
- let o = n.values[e];
416
- if (Number.isFinite(o)) {
417
- t.push({
418
- label: n.label,
419
- color: r,
420
- value: j(o)
421
- });
422
- let i = n.errors?.[e];
423
- if (i != null) {
424
- let e = typeof i == "number" ? o - Math.abs(i) : Math.min(i.lo, i.hi), r = typeof i == "number" ? o + Math.abs(i) : Math.max(i.lo, i.hi);
425
- Number.isFinite(e) && Number.isFinite(r) && t.push({
426
- label: `${n.label} range`,
427
- value: `${j(e)} - ${j(r)}`
428
- });
429
- }
430
- }
431
- }
432
- return t;
433
- }
434
- function sr(e, t, n) {
435
- b(Y, n, !0), X(e, t, i(V).categories[n] ?? "", or(n));
436
- }
437
- function cr(e, t) {
438
- let n = e.getBoundingClientRect();
439
- sr(n.left + n.width / 2, n.top + 12, t);
440
- }
441
- function Z() {
442
- b(Y, null), b(J, null);
443
- }
444
- function lr(e, t, n, r, i) {
445
- X(e, t, n, [{ value: `${j(r)} · ${i.toFixed(1)}%` }]);
446
- }
447
- function ur(e, t, n) {
448
- let r = [{
449
- label: "x",
450
- value: j(n.x)
451
- }, {
452
- label: "y",
453
- value: j(n.y)
454
- }];
455
- X(e, t, n.label || n.series, r);
456
- }
457
- function dr(e, t, n) {
458
- X(e, t, `${n.rowLabel} · ${n.colLabel}`, [{
459
- color: n.color,
460
- value: j(n.value)
461
- }]);
462
- }
463
- function fr(e, t, n) {
464
- let r = [{ value: j(n.value) }, {
465
- label: "conversion",
466
- value: `${(n.conversion * 100).toFixed(1)}%`
467
- }];
468
- n.dropoff > 0 && r.push({
469
- label: "drop-off",
470
- value: `${(n.dropoff * 100).toFixed(1)}%`
471
- }), X(e, t, n.label, r);
472
- }
473
- function pr(e, t, n, r, i, a) {
474
- X(e, t, `${n} · ${r}`, [{
475
- color: a,
476
- value: j(i)
477
- }]);
478
- }
479
- function Q(e, t, n, r) {
480
- if (i(A) && l.onAnnotate && r !== void 0) {
481
- let a = t ? n : i(V).series[0]?.values[r];
482
- l.onAnnotate({
483
- category: e,
484
- index: r,
485
- value: Number.isFinite(a) ? a : 0
486
- });
487
- return;
488
- }
489
- let a;
490
- if (r !== void 0) {
491
- let e = [];
492
- for (let n of i(V).series) {
493
- if (!n.rowIds || t && n.label !== t) continue;
494
- let i = n.rowIds[r];
495
- i?.length && e.push(i);
496
- }
497
- e.length && (a = e.flat());
498
- }
499
- let o = {
500
- category: e,
501
- series: t,
502
- value: n,
503
- rowIds: a
504
- };
505
- l.onSelect?.(o), a && a.length && l.onDrill?.(o);
506
- }
507
- function mr(e, t) {
508
- let n = e.ownerSVGElement ?? e.closest("svg");
509
- if (!n) return;
510
- let r = n.querySelector(`[data-cat-index="${t}"]`);
511
- r && (r.focus?.(), cr(r, t));
512
- }
513
- function hr(e, t) {
514
- let n = i(V).categories.length - 1, r = e.currentTarget;
515
- switch (e.key) {
516
- case "ArrowRight":
517
- case "ArrowDown":
518
- e.preventDefault(), mr(r, Math.min(n, t + 1));
519
- return;
520
- case "ArrowLeft":
521
- case "ArrowUp":
522
- e.preventDefault(), mr(r, Math.max(0, t - 1));
523
- return;
524
- case "Home":
525
- e.preventDefault(), mr(r, 0);
526
- return;
527
- case "End":
528
- e.preventDefault(), mr(r, n);
529
- return;
530
- case "PageDown":
531
- e.preventDefault(), mr(r, Math.min(n, t + Math.max(1, Math.floor(n / 10))));
532
- return;
533
- case "PageUp":
534
- e.preventDefault(), mr(r, Math.max(0, t - Math.max(1, Math.floor(n / 10))));
535
- return;
536
- case "Enter":
537
- case " ":
538
- if (!l.onSelect) return;
539
- e.preventDefault(), Q(i(V).categories[t] ?? "", "", 0, t);
540
- return;
541
- }
542
- }
543
- function gr(e, t, n) {
544
- l.onSelect && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), Q(t, t, n));
545
- }
546
- let _r = h("idle");
547
- function vr() {
548
- if (!i(F)) return null;
549
- let e = i(F).cloneNode(!0);
550
- e.setAttribute("xmlns", "http://www.w3.org/2000/svg"), e.removeAttribute("class");
551
- let t = i(F).getBoundingClientRect();
552
- t.width && e.setAttribute("width", String(Math.round(t.width))), t.height && e.setAttribute("height", String(Math.round(t.height)));
553
- let n = document.createElement("style"), r = Array.from(document.styleSheets), a = [];
554
- for (let e of r) try {
555
- for (let t of Array.from(e.cssRules ?? [])) {
556
- let e = t.cssText;
557
- e.includes(".sv-grid-chart") && a.push(e);
558
- }
559
- } catch {}
560
- return n.textContent = a.join("\n"), e.insertBefore(n, e.firstChild), new XMLSerializer().serializeToString(e);
561
- }
562
- function yr(e, t) {
563
- let n = URL.createObjectURL(e), r = document.createElement("a");
564
- r.href = n, r.download = t, document.body.appendChild(r), r.click(), r.remove(), setTimeout(() => URL.revokeObjectURL(n), 1e3);
565
- }
566
- async function br(e) {
567
- return new Promise((t) => {
568
- let n = i(F)?.getBoundingClientRect(), r = Math.max(1, Math.round(n?.width ?? i(H).width)), a = Math.max(1, Math.round(n?.height ?? i(H).height)), o = window.devicePixelRatio || 1, s = document.createElement("canvas");
569
- s.width = r * o, s.height = a * o;
570
- let c = s.getContext("2d");
571
- if (!c) {
572
- t(null);
573
- return;
574
- }
575
- let l = new Image();
576
- l.onload = () => {
577
- c.scale(o, o), c.drawImage(l, 0, 0, r, a), s.toBlob((e) => t(e), "image/png");
578
- }, l.onerror = () => t(null), l.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(e);
579
- });
580
- }
581
- async function xr(e) {
582
- let t = vr();
583
- if (!t) return;
584
- let n = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
585
- if (e === "svg") {
586
- yr(new Blob([t], { type: "image/svg+xml" }), `chart-${n}.svg`);
587
- return;
588
- }
589
- let r = await br(t);
590
- r && yr(r, `chart-${n}.png`);
591
- }
592
- async function Sr() {
593
- let e = vr();
594
- if (!e) {
595
- b(_r, "err");
596
- return;
597
- }
598
- try {
599
- let t = await br(e);
600
- if (!t) throw Error("rasterize failed");
601
- let n = window.ClipboardItem;
602
- n && navigator.clipboard?.write ? await navigator.clipboard.write([new n({ "image/png": t })]) : await navigator.clipboard.writeText(e), b(_r, "ok");
603
- } catch {
604
- b(_r, "err");
605
- }
606
- setTimeout(() => b(_r, "idle"), 1500);
607
- }
608
- var Cr = Yt(), wr = _(Cr), Tr = (e) => {
609
- var t = de(), n = _(t), o = (e) => {
610
- var t = le();
611
- a("click", t, mn), r(e, t);
612
- };
613
- x(n, (e) => {
614
- Qt() && i(pn) && e(o);
615
- });
616
- var s = C(n, 2), l = (e) => {
617
- var t = ue();
618
- let n;
619
- p(() => {
620
- n = O(t, 1, "sv-grid-chart-tool svelte-hyytey", null, n, { "is-on": i(A) }), g(t, "aria-pressed", i(A)), g(t, "title", i(A) ? "Click the plot to pin a note, or a marker to remove it" : "Pin notes on the chart");
621
- }), a("click", t, () => b(A, !i(A))), r(e, t);
622
- };
623
- x(s, (e) => {
624
- tn() && e(l);
625
- });
626
- var u = C(s, 2), d = C(u, 2), f = C(d, 2), m = _(f, !0);
627
- w(f), w(t), p(() => c(m, i(_r) === "ok" ? "✓ Copied" : "Copy")), a("click", u, () => xr("png")), a("click", d, () => xr("svg")), a("click", f, Sr), r(e, t);
628
- };
629
- x(wr, (e) => {
630
- i(nn) && e(Tr);
631
- });
632
- var $ = C(wr, 2);
633
- let Er;
634
- var Dr = _($), Or = (e) => {
635
- var t = ge();
636
- n(t, 21, () => i(dn), (e) => e.id, (e, t) => {
637
- var n = o(), a = D(n), s = (e) => {
638
- var n = fe(), a = _(n);
639
- v(), w(n), p(() => {
640
- g(n, "id", i(t).id), g(a, "fill", i(t).color);
641
- }), r(e, n);
642
- }, c = (e) => {
643
- var n = pe(), a = _(n);
644
- v(), w(n), p(() => {
645
- g(n, "id", i(t).id), g(a, "fill", i(t).color);
646
- }), r(e, n);
647
- }, l = (e) => {
648
- var n = me(), a = _(n);
649
- v(), w(n), p(() => {
650
- g(n, "id", i(t).id), g(a, "fill", i(t).color);
651
- }), r(e, n);
652
- }, u = (e) => {
653
- var n = he(), a = _(n);
654
- v(), w(n), p(() => {
655
- g(n, "id", i(t).id), g(a, "fill", i(t).color);
656
- }), r(e, n);
657
- };
658
- x(a, (e) => {
659
- i(t).kind === "stripe" ? e(s) : i(t).kind === "crosshatch" ? e(c, 1) : i(t).kind === "dots" ? e(l, 2) : i(t).kind === "diagonal" && e(u, 3);
660
- }), r(e, n);
661
- }), w(t), r(e, t);
662
- };
663
- x(Dr, (e) => {
664
- i(dn).length && e(Or);
665
- });
666
- var kr = C(Dr), Ar = (e) => {
667
- var t = xe(), a = D(t);
668
- n(a, 17, () => i(H).valueTicks, (e) => e.label + e.x, (e, t) => {
669
- var n = _e(), a = D(n), o = C(a), s = _(o, !0);
670
- w(o), p(() => {
671
- g(a, "x1", i(t).x), g(a, "y1", i(H).plot.y), g(a, "x2", i(t).x), g(a, "y2", i(H).plot.y + i(H).plot.h), g(o, "x", i(t).x), g(o, "y", i(H).plot.y + i(H).plot.h + 14), c(s, i(t).label);
672
- }), r(e, n);
673
- });
674
- var o = C(a);
675
- n(o, 17, () => i(H).catTicks, (e) => e.value, (e, t) => {
676
- var n = ve(), a = _(n, !0);
677
- w(n), p((e) => {
678
- g(n, "x", i(H).plot.x - 6), g(n, "y", i(t).y + 3), c(a, e);
679
- }, [() => q(i(t).label, 18)]), r(e, n);
680
- });
681
- var s = C(o), u = (e) => {
682
- var t = ye();
683
- g(t, "x", 13);
684
- var n = _(t, !0);
685
- w(t), p(() => {
686
- g(t, "y", i(H).plot.y + i(H).plot.h / 2), g(t, "transform", `rotate(-90 13 ${i(H).plot.y + i(H).plot.h / 2})`), c(n, l.spec.yAxisTitle);
687
- }), r(e, t);
688
- };
689
- x(s, (e) => {
690
- l.spec.yAxisTitle && e(u);
691
- });
692
- var d = C(s), f = (e) => {
693
- var t = be(), n = _(t, !0);
694
- w(t), p(() => {
695
- g(t, "x", i(H).plot.x + i(H).plot.w / 2), g(t, "y", i(H).height - 3), c(n, l.spec.xAxisTitle);
696
- }), r(e, t);
697
- };
698
- x(d, (e) => {
699
- l.spec.xAxisTitle && e(f);
700
- }), r(e, t);
701
- }, jr = (e) => {
702
- var t = je(), a = D(t);
703
- n(a, 17, () => i(H).yTicks, (e) => e.value, (e, t) => {
704
- var n = Se(), a = D(n);
705
- let o;
706
- var s = C(a), l = _(s, !0);
707
- w(s), p((e) => {
708
- o = O(a, 0, "sv-grid-chart-gridline svelte-hyytey", null, o, { "is-zero": i(t).value === 0 }), g(a, "x1", i(H).plot.x), g(a, "y1", i(t).y), g(a, "x2", i(H).plot.x + i(H).plot.w), g(a, "y2", i(t).y), g(s, "x", i(H).plot.x - 6), g(s, "y", i(t).y + 3), c(l, e);
709
- }, [() => rr(i(t).value, i(t).label)]), r(e, n);
710
- });
711
- var s = C(a), u = (e) => {
712
- var t = o(), a = D(t);
713
- n(a, 17, () => i(H).y2Ticks, (e) => e.value, (e, t) => {
714
- var n = Ce(), a = _(n, !0);
715
- w(n), p((e) => {
716
- g(n, "x", i(H).plot.x + i(H).plot.w + 6), g(n, "y", i(t).y + 3), c(a, e);
717
- }, [() => rr(i(t).value, i(t).label)]), r(e, n);
718
- }), r(e, t);
719
- };
720
- x(s, (e) => {
721
- i(H).hasRightAxis && e(u);
722
- });
723
- var d = C(s);
724
- n(d, 17, () => i(H).xTicks, (e) => e.label + e.x, (e, t) => {
725
- var n = o(), a = D(n), s = (e) => {
726
- var n = we(), a = _(n, !0);
727
- w(n), p((e) => {
728
- g(n, "x", i(t).x), g(n, "y", i(H).plot.y + i(H).plot.h + 12), g(n, "transform", `rotate(-40 ${i(t).x} ${i(H).plot.y + i(H).plot.h + 12})`), c(a, e);
729
- }, [() => q(i(t).label)]), r(e, n);
730
- }, l = (e) => {
731
- var n = Te(), a = _(n, !0);
732
- w(n), p((e) => {
733
- g(n, "x", i(t).x), g(n, "y", i(H).plot.y + i(H).plot.h + 16), c(a, e);
734
- }, [() => q(i(t).label, 16)]), r(e, n);
735
- };
736
- x(a, (e) => {
737
- i(H).xLabelRotated ? e(s) : e(l, -1);
738
- }), r(e, n);
739
- });
740
- var f = C(d);
741
- n(f, 17, () => i(H).categoryGroupTicks, (e) => e.label + e.x0, (e, t) => {
742
- let n = T(() => i(H).plot.y + i(H).plot.h + (i(H).xLabelRotated ? 46 : 32));
743
- var a = De(), o = D(a), s = C(o), l = (e) => {
744
- var a = Ee();
745
- p(() => {
746
- g(a, "x1", i(t).x0), g(a, "y1", i(H).plot.y + i(H).plot.h), g(a, "x2", i(t).x0), g(a, "y2", i(n) - 9);
747
- }), r(e, a);
748
- };
749
- x(s, (e) => {
750
- i(t).x0 > i(H).plot.x + 1 && e(l);
751
- });
752
- var u = C(s), d = _(u, !0);
753
- w(u), p((e) => {
754
- g(o, "x1", i(t).x0 + 3), g(o, "y1", i(n) - 9), g(o, "x2", i(t).x1 - 3), g(o, "y2", i(n) - 9), g(u, "x", i(t).xCenter), g(u, "y", i(n)), c(d, e);
755
- }, [() => q(i(t).label, Math.max(4, Math.floor((i(t).x1 - i(t).x0) / 7)))]), r(e, a);
756
- });
757
- var m = C(f), h = (e) => {
758
- var t = Oe();
759
- g(t, "x", 13);
760
- var n = _(t, !0);
761
- w(t), p(() => {
762
- g(t, "y", i(H).plot.y + i(H).plot.h / 2), g(t, "transform", `rotate(-90 13 ${i(H).plot.y + i(H).plot.h / 2})`), c(n, l.spec.yAxisTitle);
763
- }), r(e, t);
764
- };
765
- x(m, (e) => {
766
- l.spec.yAxisTitle && e(h);
767
- });
768
- var v = C(m), y = (e) => {
769
- var t = ke(), n = _(t, !0);
770
- w(t), p(() => {
771
- g(t, "x", i(H).width - 5), g(t, "y", i(H).plot.y + i(H).plot.h / 2), g(t, "transform", `rotate(90 ${i(H).width - 5} ${i(H).plot.y + i(H).plot.h / 2})`), c(n, l.spec.y2AxisTitle);
772
- }), r(e, t);
773
- };
774
- x(v, (e) => {
775
- l.spec.y2AxisTitle && e(y);
776
- });
777
- var b = C(v), ee = (e) => {
778
- var t = Ae(), n = _(t, !0);
779
- w(t), p(() => {
780
- g(t, "x", i(H).plot.x + i(H).plot.w / 2), g(t, "y", i(H).height - 3), c(n, l.spec.xAxisTitle);
781
- }), r(e, t);
782
- };
783
- x(b, (e) => {
784
- l.spec.xAxisTitle && e(ee);
785
- }), r(e, t);
786
- };
787
- x(kr, (e) => {
788
- i(U) ? e(Ar) : i(Nn) && e(jr, 1);
789
- });
790
- var Mr = C(kr);
791
- n(Mr, 19, () => i(H).lines, (e, t) => e.label + t, (e, a) => {
792
- var s = Le(), l = _(s), u = (e) => {
793
- var t = Me();
794
- p(() => {
795
- g(t, "d", i(a).bandPath), g(t, "fill", i(a).color);
796
- }), r(e, t);
797
- };
798
- x(l, (e) => {
799
- i(a).bandPath && e(u);
800
- });
801
- var d = C(l), f = (e) => {
802
- var t = Ne();
803
- p(() => {
804
- g(t, "d", i(a).areaPath), g(t, "fill", i(un)[i(a).label] ?? i(a).color);
805
- }), r(e, t);
806
- };
807
- x(d, (e) => {
808
- i(a).areaPath && e(f);
809
- });
810
- var h = C(d), v = C(h), y = (e) => {
811
- let t = T(() => i(a).points[i(Y) ?? -1]);
812
- var n = o(), s = D(n), c = (e) => {
813
- var n = Pe();
814
- p(() => {
815
- g(n, "cx", i(t).x), g(n, "cy", i(t).y), g(n, "fill", i(a).color);
816
- }), r(e, n);
817
- };
818
- x(s, (e) => {
819
- i(t)?.defined && e(c);
820
- }), r(e, n);
821
- }, b = (e) => {
822
- var s = o(), l = D(s);
823
- n(l, 17, () => i(a).points, t, (e, t, n) => {
824
- var s = o(), l = D(s), u = (e) => {
825
- var o = Ie(), s = D(o);
826
- let l;
827
- var u = C(s), d = (e) => {
828
- var n = Fe(), a = _(n, !0);
829
- w(n), p((e) => {
830
- g(n, "x", i(t).x), g(n, "y", i(t).y - 7), c(a, e);
831
- }, [() => j(i(t).value)]), r(e, n);
832
- };
833
- x(u, (e) => {
834
- Zt() && e(d);
835
- }), p(() => {
836
- l = O(s, 0, "sv-grid-chart-dot svelte-hyytey", null, l, { "is-active": i(Y) === n }), g(s, "cx", i(t).x), g(s, "cy", i(t).y), g(s, "r", i(Y) === n ? 4 : 3), g(s, "fill", i(a).color);
837
- }), r(e, o);
838
- };
839
- x(l, (e) => {
840
- i(t).defined && e(u);
841
- }), r(e, s);
842
- }), r(e, s);
843
- };
844
- x(v, (e) => {
845
- i(Hn) ? e(y) : e(b, -1);
846
- }), w(s), p((e) => {
847
- m(s, e), g(h, "d", i(a).path), g(h, "stroke", i(a).color);
848
- }, [() => `opacity:${K(i(a).label)}`]), r(e, s);
849
- });
850
- var Nr = C(Mr), Pr = (e) => {
851
- var t = o(), n = D(t);
852
- ee(n, () => l.underlay, () => i(Mn)), r(e, t);
853
- };
854
- x(Nr, (e) => {
855
- l.underlay && e(Pr);
856
- });
857
- var Fr = C(Nr);
858
- n(Fr, 17, () => i(H).bars, t, (e, t) => {
859
- var n = Be(), a = D(n), o = C(a), s = (e) => {
860
- var n = Re();
861
- let a;
862
- var o = _(n, !0);
863
- w(n), p((e) => {
864
- a = O(n, 0, "sv-grid-chart-datalabel svelte-hyytey", null, a, { "on-bar": l.spec.stacked || l.spec.stacked100 }), g(n, "x", l.spec.stacked || l.spec.stacked100 ? i(t).x + i(t).w / 2 : i(t).value >= 0 ? i(t).x + i(t).w + 3 : i(t).x - 3), g(n, "y", i(t).y + i(t).h / 2 + 3), g(n, "text-anchor", l.spec.stacked || l.spec.stacked100 ? "middle" : i(t).value >= 0 ? "start" : "end"), c(o, e);
865
- }, [() => j(i(t).value)]), r(e, n);
866
- }, u = (e) => {
867
- var n = ze();
868
- let a;
869
- var o = _(n, !0);
870
- w(n), p((e) => {
871
- a = O(n, 0, "sv-grid-chart-datalabel svelte-hyytey", null, a, { "on-bar": l.spec.stacked || l.spec.stacked100 }), g(n, "x", i(t).x + i(t).w / 2), g(n, "y", l.spec.stacked || l.spec.stacked100 ? i(t).y + i(t).h / 2 + 3 : i(t).value >= 0 ? i(t).y - 3 : i(t).y + i(t).h + 11), c(o, e);
872
- }, [() => j(i(t).value)]), r(e, n);
873
- };
874
- x(o, (e) => {
875
- Zt() && i(U) && i(t).w > 18 ? e(s) : Zt() && !i(U) && i(t).h > 13 && e(u, 1);
876
- }), p((e) => {
877
- g(a, "x", i(t).x), g(a, "y", i(t).y), g(a, "width", i(t).w), g(a, "height", i(t).h), g(a, "fill", i(un)[i(t).series] ?? i(t).color), m(a, e);
878
- }, [() => `opacity:${K(i(t).series)}`]), r(e, n);
879
- });
880
- var Ir = C(Fr);
881
- n(Ir, 17, () => i(H).candles, t, (e, t) => {
882
- var n = o(), a = D(n), s = (e) => {
883
- var n = Ve(), a = D(n), o = C(a), s = C(o);
884
- p((e, n, r) => {
885
- g(a, "x1", i(t).xCenter), g(a, "y1", i(t).yHigh), g(a, "x2", i(t).xCenter), g(a, "y2", i(t).yLow), g(a, "stroke", i(t).color), m(a, e), g(o, "x1", i(t).x), g(o, "y1", i(t).yOpen), g(o, "x2", i(t).xCenter), g(o, "y2", i(t).yOpen), g(o, "stroke", i(t).color), m(o, n), g(s, "x1", i(t).xCenter), g(s, "y1", i(t).yClose), g(s, "x2", i(t).x + i(t).w), g(s, "y2", i(t).yClose), g(s, "stroke", i(t).color), m(s, r);
886
- }, [
887
- () => `opacity:${K(i(t).series)}`,
888
- () => `opacity:${K(i(t).series)}`,
889
- () => `opacity:${K(i(t).series)}`
890
- ]), r(e, n);
891
- }, c = (e) => {
892
- var n = He(), a = D(n), o = C(a);
893
- p((e, n) => {
894
- g(a, "x1", i(t).xCenter), g(a, "y1", i(t).yHigh), g(a, "x2", i(t).xCenter), g(a, "y2", i(t).yLow), g(a, "stroke", i(t).color), m(a, e), g(o, "x", i(t).x), g(o, "y", i(t).bodyY), g(o, "width", i(t).w), g(o, "height", i(t).bodyH), g(o, "fill", i(t).up ? "none" : i(t).color), g(o, "stroke", i(t).color), m(o, n);
895
- }, [() => `opacity:${K(i(t).series)}`, () => `opacity:${K(i(t).series)}`]), r(e, n);
896
- };
897
- x(a, (e) => {
898
- i(Sn) ? e(s) : e(c, -1);
899
- }), r(e, n);
900
- });
901
- var Lr = C(Ir);
902
- n(Lr, 17, () => i(H).boxes, t, (e, a) => {
903
- var o = We(), s = D(o), c = C(s), l = C(c), u = C(l), d = C(u), f = C(d);
904
- n(f, 17, () => i(a).outliers, t, (e, t) => {
905
- var n = Ue();
906
- p((e) => {
907
- g(n, "cx", i(a).xCenter), g(n, "cy", i(t).y), g(n, "stroke", i(a).color), m(n, e);
908
- }, [() => `opacity:${K(i(a).series)}`]), r(e, n);
909
- }), p((e, t, n, r, o) => {
910
- g(s, "x1", i(a).xCenter), g(s, "y1", i(a).yMax), g(s, "x2", i(a).xCenter), g(s, "y2", i(a).yMin), g(s, "stroke", i(a).color), m(s, e), g(c, "x1", i(a).x + i(a).w * .25), g(c, "y1", i(a).yMax), g(c, "x2", i(a).x + i(a).w * .75), g(c, "y2", i(a).yMax), g(c, "stroke", i(a).color), m(c, t), g(l, "x1", i(a).x + i(a).w * .25), g(l, "y1", i(a).yMin), g(l, "x2", i(a).x + i(a).w * .75), g(l, "y2", i(a).yMin), g(l, "stroke", i(a).color), m(l, n), g(u, "x", i(a).x), g(u, "y", i(a).boxY), g(u, "width", i(a).w), g(u, "height", i(a).boxH), g(u, "fill", i(a).color), g(u, "stroke", i(a).color), m(u, r), g(d, "x1", i(a).x), g(d, "y1", i(a).yMedian), g(d, "x2", i(a).x + i(a).w), g(d, "y2", i(a).yMedian), g(d, "stroke", i(a).color), m(d, o);
911
- }, [
912
- () => `opacity:${K(i(a).series)}`,
913
- () => `opacity:${K(i(a).series)}`,
914
- () => `opacity:${K(i(a).series)}`,
915
- () => `opacity:${K(i(a).series)}`,
916
- () => `opacity:${K(i(a).series)}`
917
- ]), r(e, o);
918
- });
919
- var Rr = C(Lr);
920
- n(Rr, 17, () => i(H).errorBars, t, (e, t) => {
921
- var n = Ge(), a = D(n), o = C(a), s = C(o);
922
- p((e, n, r) => {
923
- g(a, "x1", i(t).xCenter), g(a, "y1", i(t).yHi), g(a, "x2", i(t).xCenter), g(a, "y2", i(t).yLo), g(a, "stroke", i(t).color), m(a, e), g(o, "x1", i(t).xCenter - i(t).cap), g(o, "y1", i(t).yHi), g(o, "x2", i(t).xCenter + i(t).cap), g(o, "y2", i(t).yHi), g(o, "stroke", i(t).color), m(o, n), g(s, "x1", i(t).xCenter - i(t).cap), g(s, "y1", i(t).yLo), g(s, "x2", i(t).xCenter + i(t).cap), g(s, "y2", i(t).yLo), g(s, "stroke", i(t).color), m(s, r);
924
- }, [
925
- () => `opacity:${K(i(t).series)}`,
926
- () => `opacity:${K(i(t).series)}`,
927
- () => `opacity:${K(i(t).series)}`
928
- ]), r(e, n);
929
- });
930
- var zr = C(Rr);
931
- n(zr, 17, () => i(H).scatterPoints, t, (e, t) => {
932
- var n = Ke();
933
- p((e) => {
934
- g(n, "cx", i(t).cx), g(n, "cy", i(t).cy), g(n, "r", i(t).r), g(n, "fill", i(t).color), g(n, "stroke", i(t).color), m(n, e);
935
- }, [() => `opacity:${K(i(t).series)}`]), a("mousemove", n, (e) => ur(e.clientX, e.clientY, i(t))), u("mouseleave", n, Z), r(e, n);
936
- });
937
- var Br = C(zr);
938
- n(Br, 17, () => i(H).referenceLines, t, (e, t) => {
939
- var n = qe(), a = D(n), o = C(a), s = _(o, !0);
940
- w(o), p(() => {
941
- g(a, "x1", i(H).plot.x), g(a, "y1", i(t).y), g(a, "x2", i(H).plot.x + i(H).plot.w), g(a, "y2", i(t).y), g(a, "stroke", i(t).color), g(a, "stroke-dasharray", i(t).dashed ? "5 4" : void 0), g(o, "x", i(H).plot.x + i(H).plot.w - 3), g(o, "y", i(t).y - 3), g(o, "fill", i(t).color), c(s, i(t).label);
942
- }), r(e, n);
943
- });
944
- var Vr = C(Br);
945
- n(Vr, 17, () => i(H).referenceLinesV, t, (e, t) => {
946
- var n = Je(), a = D(n), o = C(a), s = _(o, !0);
947
- w(o), p(() => {
948
- g(a, "x1", i(t).x), g(a, "y1", i(H).plot.y), g(a, "x2", i(t).x), g(a, "y2", i(H).plot.y + i(H).plot.h), g(a, "stroke", i(t).color), g(a, "stroke-dasharray", i(t).dashed ? "5 4" : void 0), g(o, "x", i(t).x + 3), g(o, "y", i(H).plot.y + 9), g(o, "fill", i(t).color), c(s, i(t).label);
949
- }), r(e, n);
950
- });
951
- var Hr = C(Vr);
952
- n(Hr, 19, () => i(H).overlays, (e, t) => e.label + t, (e, t) => {
953
- var n = Ye();
954
- p(() => {
955
- g(n, "d", i(t).path), g(n, "stroke", i(t).color);
956
- }), r(e, n);
957
- });
958
- var Ur = C(Hr), Wr = (e) => {
959
- var t = o(), n = D(t);
960
- ee(n, () => l.overlay, () => i(Mn)), r(e, t);
961
- };
962
- x(Ur, (e) => {
963
- l.overlay && e(Wr);
964
- });
965
- var Gr = C(Ur);
966
- n(Gr, 19, () => i(H).annotations, (e, t) => e.label + t, (e, t, n) => {
967
- let o = T(() => i(t).placement === "left" ? -8 : i(t).placement === "right" ? 8 : 0), s = T(() => i(t).placement === "bottom" ? 14 : i(t).placement === "top" ? -8 : 0), u = T(() => i(t).placement === "left" ? "end" : i(t).placement === "right" ? "start" : "middle");
968
- var d = Xe(), f = D(d);
969
- let m;
970
- var h = C(f), v = _(h, !0);
971
- w(h), p(() => {
972
- m = O(f, 0, "sv-grid-chart-annotation-marker svelte-hyytey", null, m, { "is-removable": i(A) && !!l.onAnnotationRemove }), g(f, "cx", i(t).x), g(f, "cy", i(t).y), g(f, "r", i(A) && l.onAnnotationRemove ? 6 : 4), g(f, "fill", i(t).color), g(f, "role", i(A) && l.onAnnotationRemove ? "button" : void 0), g(f, "tabindex", i(A) && l.onAnnotationRemove ? 0 : void 0), g(f, "aria-label", i(A) && l.onAnnotationRemove ? `Remove note: ${i(t).label}` : void 0), g(h, "x", i(t).x + i(o)), g(h, "y", i(t).y + i(s)), g(h, "text-anchor", i(u)), g(h, "fill", i(t).color), c(v, i(t).label);
973
- }), a("click", f, (e) => {
974
- !i(A) || !l.onAnnotationRemove || (e.stopPropagation(), l.onAnnotationRemove(i(n)));
975
- }), a("keydown", f, (e) => {
976
- !i(A) || !l.onAnnotationRemove || (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), l.onAnnotationRemove(i(n)));
977
- }), r(e, d);
978
- });
979
- var Kr = C(Gr), qr = (e) => {
980
- var t = o(), n = D(t), a = (e) => {
981
- let t = T(() => i(H).plot.y + i(W) * i(Y) + i(W) / 2);
982
- var n = Ze();
983
- p(() => {
984
- g(n, "x1", i(H).plot.x), g(n, "y1", i(t)), g(n, "x2", i(H).plot.x + i(H).plot.w), g(n, "y2", i(t));
985
- }), r(e, n);
986
- }, s = (e) => {
987
- let t = T(() => i(H).lines[0]?.points[i(Y)]), n = T(() => i(t) && Number.isFinite(i(t).x) ? i(t).x : i(H).plot.x + i(W) * i(Y) + i(W) / 2);
988
- var a = Qe();
989
- p(() => {
990
- g(a, "x1", i(n)), g(a, "y1", i(H).plot.y), g(a, "x2", i(n)), g(a, "y2", i(H).plot.y + i(H).plot.h);
991
- }), r(e, a);
992
- };
993
- x(n, (e) => {
994
- i(U) ? e(a) : e(s, -1);
995
- }), r(e, t);
996
- };
997
- x(Kr, (e) => {
998
- i(Nn) && i(Y) !== null && e(qr);
999
- });
1000
- var Jr = C(Kr), Yr = (e) => {
1001
- var o = at(), s = D(o);
1002
- n(s, 17, () => i(H).heatmapRowTicks, (e) => e.value, (e, t) => {
1003
- var n = $e(), a = _(n, !0);
1004
- w(n), p((e) => {
1005
- g(n, "x", i(H).plot.x - 8), g(n, "y", i(t).y + 3), c(a, e);
1006
- }, [() => q(i(t).label, 22)]), r(e, n);
1007
- });
1008
- var d = C(s);
1009
- n(d, 19, () => i(H).heatmapColTicks, (e, t) => e.label + t, (e, t) => {
1010
- var n = et(), a = _(n, !0);
1011
- w(n), p((e) => {
1012
- g(n, "x", i(t).x), g(n, "y", i(H).plot.y + i(H).plot.h + 14), c(a, e);
1013
- }, [() => q(i(t).label, 14)]), r(e, n);
1014
- });
1015
- var f = C(d);
1016
- n(f, 17, () => i(H).heatmapCells, t, (e, t) => {
1017
- var n = nt(), o = D(n), s = C(o), d = (e) => {
1018
- var n = tt(), a = _(n, !0);
1019
- w(n), p((e) => {
1020
- g(n, "x", i(t).x + i(t).w / 2), g(n, "y", i(t).y + i(t).h / 2 + 3), g(n, "fill", i(t).textColor), c(a, e);
1021
- }, [() => j(i(t).value)]), r(e, n);
1022
- };
1023
- x(s, (e) => {
1024
- Zt() && i(t).w > 22 && i(t).h > 14 && e(d);
1025
- }), p((e) => {
1026
- g(o, "x", i(t).x), g(o, "y", i(t).y), g(o, "width", i(t).w), g(o, "height", i(t).h), g(o, "fill", i(t).color), g(o, "role", l.onSelect ? "button" : "presentation"), g(o, "tabindex", l.onSelect ? 0 : void 0), g(o, "aria-label", e);
1027
- }, [() => `${i(t).rowLabel} ${i(t).colLabel}: ${j(i(t).value)}`]), a("mousemove", o, (e) => dr(e.clientX, e.clientY, i(t))), u("mouseleave", o, Z), a("click", o, () => Q(i(t).colLabel, i(t).rowLabel, i(t).value)), a("keydown", o, (e) => {
1028
- l.onSelect && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), Q(i(t).colLabel, i(t).rowLabel, i(t).value));
1029
- }), r(e, n);
1030
- });
1031
- var m = C(f), h = (e) => {
1032
- let a = T(() => i(H).plot.x + i(H).plot.w + 14), o = T(() => i(H).plot.h - 20), s = T(() => i(H).heatmapLegend);
1033
- var l = it(), u = D(l), d = _(u);
1034
- n(d, 21, () => i(s), t, (e, t, n) => {
1035
- var a = rt();
1036
- p(() => {
1037
- g(a, "offset", `${n / (i(s).length - 1) * 100}%`), g(a, "stop-color", i(t).color);
1038
- }), r(e, a);
1039
- }), w(d), w(u);
1040
- var f = C(u), m = C(f), h = _(m, !0);
1041
- w(m);
1042
- var v = C(m), y = _(v, !0);
1043
- w(v), p(() => {
1044
- g(d, "id", `${cn}-heatscale`), g(f, "x", i(a)), g(f, "y", i(H).plot.y + 10), g(f, "height", i(o)), g(f, "fill", `url(#${cn}-heatscale)`), g(m, "x", i(a) + 14), g(m, "y", i(H).plot.y + 14), c(h, i(s)[i(s).length - 1].label), g(v, "x", i(a) + 14), g(v, "y", i(H).plot.y + 10 + i(o)), c(y, i(s)[0].label);
1045
- }), r(e, l);
1046
- };
1047
- x(m, (e) => {
1048
- i(H).heatmapLegend.length && e(h);
1049
- }), r(e, o);
1050
- };
1051
- x(Jr, (e) => {
1052
- i(Fn) && e(Yr);
1053
- });
1054
- var Xr = C(Jr), Zr = (e) => {
1055
- var s = o(), d = D(s);
1056
- n(d, 17, () => i(H).funnelSegments, t, (e, t, n) => {
1057
- var o = ot(), s = D(o), d = C(s), f = _(d, !0);
1058
- w(d);
1059
- var m = C(d), h = _(m);
1060
- w(m), p((e, n, r, a) => {
1061
- g(s, "d", i(t).path), g(s, "fill", i(t).color), g(s, "role", l.onSelect ? "button" : "presentation"), g(s, "tabindex", l.onSelect ? 0 : void 0), g(s, "aria-label", e), g(d, "x", i(t).cx), g(d, "y", i(t).cy - 3), g(d, "fill", i(t).textColor), c(f, n), g(m, "x", i(t).cx), g(m, "y", i(t).cy + 11), g(m, "fill", i(t).textColor), c(h, `${r ?? ""} · ${a ?? ""}%`);
1062
- }, [
1063
- () => `${i(t).label}: ${j(i(t).value)}`,
1064
- () => q(i(t).label, 24),
1065
- () => j(i(t).value),
1066
- () => (i(t).conversion * 100).toFixed(0)
1067
- ]), a("mousemove", s, (e) => fr(e.clientX, e.clientY, i(t))), u("mouseleave", s, Z), a("click", s, () => Q(i(t).label, i(t).label, i(t).value, n)), a("keydown", s, (e) => {
1068
- l.onSelect && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), Q(i(t).label, i(t).label, i(t).value, n));
1069
- }), r(e, o);
1070
- }), r(e, s);
1071
- };
1072
- x(Xr, (e) => {
1073
- i(In) && e(Zr);
1074
- });
1075
- var Qr = C(Xr), $r = (e) => {
1076
- let o = T(() => i(H).radarCenter);
1077
- var s = dt(), l = D(s);
1078
- n(l, 17, () => i(H).radarRings, t, (e, t, n) => {
1079
- let a = T(() => i(o).r * ((n + 1) / i(H).radarRings.length));
1080
- var s = st();
1081
- p(() => {
1082
- g(s, "cx", i(o).cx), g(s, "cy", i(o).cy), g(s, "r", i(a));
1083
- }), r(e, s);
1084
- });
1085
- var d = C(l);
1086
- n(d, 17, () => i(H).radarAxes, t, (e, t) => {
1087
- let n = T(() => i(t).x - i(o).cx), a = T(() => i(t).y - i(o).cy), s = T(() => i(o).cx + i(n) * 1.08), l = T(() => i(o).cy + i(a) * 1.08);
1088
- var u = ct(), d = D(u), f = C(d), m = _(f, !0);
1089
- w(f), p((e) => {
1090
- g(d, "x1", i(o).cx), g(d, "y1", i(o).cy), g(d, "x2", i(t).x), g(d, "y2", i(t).y), g(f, "x", i(s)), g(f, "y", i(l) + 3), g(f, "text-anchor", e), c(m, i(t).label);
1091
- }, [() => Math.abs(i(n)) < 1 ? "middle" : i(n) > 0 ? "start" : "end"]), r(e, u);
1092
- });
1093
- var f = C(d);
1094
- n(f, 17, () => i(H).radarSeries, t, (e, o) => {
1095
- var s = ut(), c = D(s), l = C(c);
1096
- n(l, 17, () => i(o).points, t, (e, t) => {
1097
- var n = lt();
1098
- p(() => {
1099
- g(n, "cx", i(t).x), g(n, "cy", i(t).y), g(n, "fill", i(o).color);
1100
- }), a("mousemove", n, (e) => pr(e.clientX, e.clientY, i(o).label, i(t).axis, i(t).value, i(o).color)), u("mouseleave", n, Z), r(e, n);
1101
- }), p((e) => {
1102
- g(c, "d", i(o).path), g(c, "fill", i(o).color), g(c, "stroke", i(o).color), m(c, e);
1103
- }, [() => `opacity:${K(i(o).label)}`]), r(e, s);
1104
- }), r(e, s);
1105
- };
1106
- x(Qr, (e) => {
1107
- i(Ln) && i(H).radarCenter && e($r);
1108
- });
1109
- var ei = C(Qr), ti = (e) => {
1110
- var s = _t(), l = D(s);
1111
- n(l, 17, () => i(H).calendarMonthTicks, t, (e, t) => {
1112
- var n = ft(), a = _(n, !0);
1113
- w(n), p(() => {
1114
- g(n, "x", i(t).x), g(n, "y", i(H).plot.y - 8), c(a, i(t).label);
1115
- }), r(e, n);
1116
- });
1117
- var d = C(l);
1118
- n(d, 16, () => [
1119
- "Mon",
1120
- "Wed",
1121
- "Fri"
1122
- ], t, (e, t, n) => {
1123
- let a = T(() => [
1124
- 1,
1125
- 3,
1126
- 5
1127
- ][n]), s = T(() => i(H).calendarCells[i(a)]);
1128
- var l = o(), u = D(l), d = (e) => {
1129
- var n = pt(), a = _(n, !0);
1130
- w(n), p(() => {
1131
- g(n, "x", i(H).plot.x - 6), g(n, "y", i(s).y + i(s).size / 2 + 3), c(a, t);
1132
- }), r(e, n);
1133
- };
1134
- x(u, (e) => {
1135
- i(s) && e(d);
1136
- }), r(e, l);
1137
- });
1138
- var f = C(d);
1139
- n(f, 17, () => i(H).calendarCells, t, (e, t) => {
1140
- var n = mt();
1141
- let o;
1142
- p((e) => {
1143
- o = O(n, 0, "sv-grid-chart-calendar-cell svelte-hyytey", null, o, { "is-blank": !i(t).defined }), g(n, "x", i(t).x + 1), g(n, "y", i(t).y + 1), g(n, "width", i(t).size - 2), g(n, "height", i(t).size - 2), g(n, "fill", i(t).defined ? i(t).color : "transparent"), g(n, "aria-label", e);
1144
- }, [() => `${i(t).date}: ${i(t).defined ? j(i(t).value) : "no data"}`]), a("mousemove", n, (e) => i(t).defined && X(e.clientX, e.clientY, i(t).date, [{
1145
- color: i(t).color,
1146
- value: j(i(t).value)
1147
- }])), u("mouseleave", n, Z), r(e, n);
1148
- });
1149
- var m = C(f), h = (e) => {
1150
- let a = T(() => i(H).plot.x + i(H).plot.w + 12), o = T(() => i(H).plot.y + 4);
1151
- var s = gt(), l = D(s), u = C(l);
1152
- n(u, 17, () => i(H).calendarLegend, t, (e, t, n) => {
1153
- var s = ht(), l = D(s), u = C(l), d = _(u, !0);
1154
- w(u), p(() => {
1155
- g(l, "x", i(a)), g(l, "y", i(o) + 6 + n * 13), g(l, "fill", i(t).color), g(u, "x", i(a) + 14), g(u, "y", i(o) + 14 + n * 13), c(d, i(t).label);
1156
- }), r(e, s);
1157
- });
1158
- var d = C(u);
1159
- p(() => {
1160
- g(l, "x", i(a)), g(l, "y", i(o)), g(d, "x", i(a)), g(d, "y", i(o) + 12 + i(H).calendarLegend.length * 13);
1161
- }), r(e, s);
1162
- };
1163
- x(m, (e) => {
1164
- i(H).calendarLegend.length && e(h);
1165
- }), r(e, s);
1166
- };
1167
- x(ei, (e) => {
1168
- i(Rn) && e(ti);
1169
- });
1170
- var ni = C(ei), ri = (e) => {
1171
- let a = T(() => i(H).gauge);
1172
- var o = xt(), s = D(o);
1173
- n(s, 17, () => i(a).ticks, t, (e, t) => {
1174
- var n = vt();
1175
- let a;
1176
- p(() => {
1177
- a = O(n, 0, "sv-grid-chart-gauge-tick svelte-hyytey", null, a, { "is-major": i(t).major }), g(n, "x1", i(t).x1), g(n, "y1", i(t).y1), g(n, "x2", i(t).x2), g(n, "y2", i(t).y2);
1178
- }), r(e, n);
1179
- });
1180
- var l = C(s), u = C(l);
1181
- n(u, 17, () => i(a).rangePaths, t, (e, t) => {
1182
- var n = yt();
1183
- p(() => {
1184
- g(n, "d", i(t).path), g(n, "stroke", i(t).color);
1185
- }), r(e, n);
1186
- });
1187
- var d = C(u), f = C(d), m = (e) => {
1188
- var t = bt();
1189
- p(() => {
1190
- g(t, "x1", i(a).target.x1), g(t, "y1", i(a).target.y1), g(t, "x2", i(a).target.x2), g(t, "y2", i(a).target.y2);
1191
- }), r(e, t);
1192
- };
1193
- x(f, (e) => {
1194
- i(a).target && e(m);
1195
- });
1196
- var h = C(f), v = C(h), y = C(v), b = C(y), ee = _(b, !0);
1197
- w(b);
1198
- var S = C(b), te = _(S, !0);
1199
- w(S);
1200
- var E = C(S), ne = _(E);
1201
- w(E), p((e, t, n) => {
1202
- g(l, "d", i(a).trackPath), g(d, "d", i(a).valuePath), g(d, "stroke", i(a).valueColor ?? "var(--sg-accent, #2563eb)"), g(h, "d", i(a).needle.path), g(v, "cx", i(a).cx), g(v, "cy", i(a).cy), g(v, "r", i(a).needle.hubR), g(y, "cx", i(a).cx), g(y, "cy", i(a).cy), g(b, "x", i(a).minLabel.x), g(b, "y", i(a).minLabel.y), c(ee, e), g(S, "x", i(a).maxLabel.x), g(S, "y", i(a).maxLabel.y), c(te, t), g(E, "x", i(a).cx), g(E, "y", i(a).cy + 38), c(ne, `${n ?? ""}${i(a).unit ? ` ${i(a).unit}` : ""}`);
1203
- }, [
1204
- () => j(i(a).min),
1205
- () => j(i(a).max),
1206
- () => j(i(a).value)
1207
- ]), r(e, o);
1208
- };
1209
- x(ni, (e) => {
1210
- i(zn) && i(H).gauge && e(ri);
1211
- });
1212
- var ii = C(ni), ai = (e) => {
1213
- var s = o(), d = D(s);
1214
- n(d, 17, () => i(H).treemapCells, t, (e, t) => {
1215
- var n = wt(), o = D(n), s = C(o), d = (e) => {
1216
- var n = St(), a = _(n, !0);
1217
- w(n), p((e) => {
1218
- g(n, "x", i(t).x + 4), g(n, "y", i(t).y + 12), g(n, "fill", i(t).textColor), c(a, e);
1219
- }, [() => q(i(t).name, Math.max(3, Math.floor(i(t).w / 7)))]), r(e, n);
1220
- };
1221
- x(s, (e) => {
1222
- i(t).w > 36 && i(t).h > 18 && e(d);
1223
- });
1224
- var f = C(s), m = (e) => {
1225
- var n = Ct(), a = _(n, !0);
1226
- w(n), p((e) => {
1227
- g(n, "x", i(t).x + 4), g(n, "y", i(t).y + 24), g(n, "fill", i(t).textColor), c(a, e);
1228
- }, [() => j(i(t).value)]), r(e, n);
1229
- };
1230
- x(f, (e) => {
1231
- i(t).w > 60 && i(t).h > 30 && e(m);
1232
- }), p((e) => {
1233
- g(o, "x", i(t).x), g(o, "y", i(t).y), g(o, "width", i(t).w), g(o, "height", i(t).h), g(o, "fill", i(t).color), g(o, "role", l.onSelect ? "button" : "presentation"), g(o, "tabindex", l.onSelect ? 0 : void 0), g(o, "aria-label", e);
1234
- }, [() => `${i(t).name}: ${j(i(t).value)}`]), a("mousemove", o, (e) => X(e.clientX, e.clientY, i(t).name, [{
1235
- color: i(t).color,
1236
- value: j(i(t).value)
1237
- }])), u("mouseleave", o, Z), a("click", o, () => Q(i(t).name, "", i(t).value)), a("keydown", o, (e) => {
1238
- l.onSelect && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), Q(i(t).name, "", i(t).value));
1239
- }), r(e, n);
1240
- }), r(e, s);
1241
- };
1242
- x(ii, (e) => {
1243
- i(Bn) && e(ai);
1244
- });
1245
- var oi = C(ii), si = (e) => {
1246
- var o = Dt(), s = D(o);
1247
- n(s, 17, () => i(H).sankeyLinks, t, (e, t) => {
1248
- var n = Tt();
1249
- p((e) => {
1250
- g(n, "d", i(t).path), g(n, "stroke", i(t).color), g(n, "stroke-width", i(t).width), g(n, "aria-label", e);
1251
- }, [() => `${i(t).source} -> ${i(t).target}: ${j(i(t).value)}`]), a("mousemove", n, (e) => X(e.clientX, e.clientY, `${i(t).source} -> ${i(t).target}`, [{
1252
- color: i(t).color,
1253
- value: j(i(t).value)
1254
- }])), u("mouseleave", n, Z), r(e, n);
1255
- });
1256
- var l = C(s);
1257
- n(l, 17, () => i(H).sankeyNodes, t, (e, t) => {
1258
- var n = Et(), o = D(n);
1259
- g(o, "tabindex", 0);
1260
- var s = C(o), l = _(s, !0);
1261
- w(s), p((e) => {
1262
- g(o, "x", i(t).x), g(o, "y", i(t).y), g(o, "width", i(t).w), g(o, "height", i(t).h), g(o, "fill", i(t).color), g(o, "aria-label", e), g(s, "x", i(t).column === 0 ? i(t).x + i(t).w + 4 : i(t).x - 4), g(s, "y", i(t).y + i(t).h / 2 + 3), g(s, "text-anchor", i(t).column === 0 ? "start" : "end"), c(l, i(t).label);
1263
- }, [() => `${i(t).label}: in ${j(i(t).totalIn)}, out ${j(i(t).totalOut)}`]), a("mousemove", o, (e) => X(e.clientX, e.clientY, i(t).label, [{
1264
- label: "in",
1265
- value: j(i(t).totalIn)
1266
- }, {
1267
- label: "out",
1268
- value: j(i(t).totalOut)
1269
- }])), u("mouseleave", o, Z), u("focus", o, (e) => {
1270
- let n = e.currentTarget.getBoundingClientRect();
1271
- X(n.left + n.width / 2, n.top, i(t).label, [{
1272
- label: "in",
1273
- value: j(i(t).totalIn)
1274
- }, {
1275
- label: "out",
1276
- value: j(i(t).totalOut)
1277
- }]);
1278
- }), u("blur", o, Z), r(e, n);
1279
- }), r(e, o);
1280
- };
1281
- x(oi, (e) => {
1282
- i(Vn) && e(si);
1283
- });
1284
- var ci = C(oi);
1285
- n(ci, 17, () => i(H).slices, t, (e, t, n) => {
1286
- var o = kt(), s = D(o), d = C(s), f = (e) => {
1287
- var n = Ot(), a = _(n);
1288
- w(n), p((e) => {
1289
- g(n, "x", i(t).cx), g(n, "y", i(t).cy), c(a, `${e ?? ""}%`);
1290
- }, [() => i(t).percent.toFixed(0)]), r(e, n);
1291
- };
1292
- x(d, (e) => {
1293
- Zt() && i(t).percent >= 6 && e(f);
1294
- }), p((e) => {
1295
- g(s, "d", i(t).path), g(s, "fill", i(t).color), g(s, "role", l.onSelect ? "button" : "presentation"), g(s, "tabindex", l.onSelect ? 0 : void 0), g(s, "aria-label", e);
1296
- }, [() => `${i(t).label}: ${j(i(t).value)}, ${i(t).percent.toFixed(1)}%`]), a("mousemove", s, (e) => lr(e.clientX, e.clientY, i(t).label, i(t).value, i(t).percent)), u("mouseleave", s, Z), u("focus", s, (e) => {
1297
- let n = e.currentTarget.getBoundingClientRect();
1298
- lr(n.left + n.width / 2, n.top, i(t).label, i(t).value, i(t).percent);
1299
- }), u("blur", s, Z), a("click", s, () => Q(i(t).label, i(t).label, i(t).value, n)), a("keydown", s, (e) => gr(e, i(t).label, i(t).value)), r(e, o);
1300
- });
1301
- var li = C(ci), ui = (e) => {
1302
- var t = At(), n = D(t), a = _(n, !0);
1303
- w(n);
1304
- var o = C(n);
1305
- p((e) => {
1306
- g(n, "x", i(H).donut.cx), g(n, "y", i(H).donut.cy - 4), c(a, e), g(o, "x", i(H).donut.cx), g(o, "y", i(H).donut.cy + 11);
1307
- }, [() => j(i(H).donut.total)]), r(e, t);
1308
- };
1309
- x(li, (e) => {
1310
- i(H).donut && e(ui);
1311
- });
1312
- var di = C(li), fi = (e) => {
1313
- var t = o(), s = D(t), c = (e) => {
1314
- var t = jt();
1315
- p(() => {
1316
- g(t, "x", i(H).plot.x), g(t, "y", i(H).plot.y), g(t, "width", i(H).plot.w), g(t, "height", i(H).plot.h), g(t, "role", l.onSelect ? "button" : "img"), g(t, "tabindex", k() ? 0 : void 0), g(t, "data-cat-index", i(G)), g(t, "aria-label", `${i(V).categories.length} points, ${i(V).categories[0] ?? ""} to ${i(V).categories[i(V).categories.length - 1] ?? ""}. Arrow keys step through values.`);
1317
- }), a("mousemove", t, (e) => {
1318
- let t = Gn(e.clientX, e.currentTarget);
1319
- t != null && (b(G, t, !0), sr(e.clientX, e.clientY, t));
1320
- }), u("mouseleave", t, Z), u("focus", t, (e) => cr(e.currentTarget, i(G))), u("blur", t, Z), a("click", t, () => Q(i(V).categories[i(G)] ?? "", "", 0, i(G))), a("keydown", t, Kn), r(e, t);
1321
- }, d = (e) => {
1322
- var t = o(), s = D(t);
1323
- n(s, 19, () => i(V).categories, (e, t) => e + t, (e, t, n) => {
1324
- let o = T(() => i(H).lines[0]?.points), s = T(() => i(o)?.[i(n)]?.x), c = T(() => !i(U) && i(o) && i(o).length === i(V).categories.length && Number.isFinite(i(s))), d = T(() => i(c) && i(n) > 0 ? i(o)[i(n) - 1].x : null), f = T(() => i(c) && i(n) < i(o).length - 1 ? i(o)[i(n) + 1].x : null), m = T(() => i(c) ? i(d) == null ? i(H).plot.x : (i(d) + i(s)) / 2 : i(H).plot.x + i(W) * i(n)), h = T(() => i(c) ? i(f) == null ? i(H).plot.x + i(H).plot.w : (i(s) + i(f)) / 2 : i(H).plot.x + i(W) * (i(n) + 1));
1325
- var _ = Mt();
1326
- p((e, t) => {
1327
- g(_, "x", i(U) ? i(H).plot.x : i(m)), g(_, "y", i(U) ? i(H).plot.y + i(W) * i(n) : i(H).plot.y), g(_, "width", e), g(_, "height", i(U) ? i(W) : i(H).plot.h), g(_, "role", l.onSelect ? "button" : "img"), g(_, "tabindex", k() ? i(n) === 0 ? 0 : -1 : void 0), g(_, "data-cat-index", i(n)), g(_, "aria-label", t);
1328
- }, [() => i(U) ? i(H).plot.w : Math.max(0, i(h) - i(m)), () => `${i(t)}: ${or(i(n)).map((e) => `${e.label} ${e.value}`).join(", ")}`]), a("mousemove", _, (e) => sr(e.clientX, e.clientY, i(n))), u("mouseleave", _, Z), u("focus", _, (e) => cr(e.currentTarget, i(n))), u("blur", _, Z), a("click", _, () => Q(i(t), "", 0, i(n))), a("keydown", _, (e) => hr(e, i(n))), r(e, _);
1329
- }), r(e, t);
1330
- };
1331
- x(s, (e) => {
1332
- i(Hn) ? e(c) : e(d, -1);
1333
- }), r(e, t);
1334
- };
1335
- x(di, (e) => {
1336
- i(Nn) && !i(Pn) && e(fi);
1337
- });
1338
- var pi = C(di), mi = (e) => {
1339
- var t = Nt();
1340
- p(() => {
1341
- g(t, "x", i(R).x), g(t, "y", i(R).y), g(t, "width", i(R).w), g(t, "height", i(R).h);
1342
- }), r(e, t);
1343
- };
1344
- x(pi, (e) => {
1345
- i(R) && e(mi);
1346
- }), w($), y($, (e) => b(F, e), () => i(F));
1347
- var hi = C($, 2), gi = (e) => {
1348
- let o = T(() => i(z).plot.x + i(Tn).t0 * i(z).plot.w), s = T(() => (i(Tn).t1 - i(Tn).t0) * i(z).plot.w);
1349
- var c = Lt(), l = _(c);
1350
- n(l, 17, () => i(z).lines, t, (e, t) => {
1351
- var n = Ft(), a = D(n), o = (e) => {
1352
- var n = Pt();
1353
- p(() => {
1354
- g(n, "d", i(t).areaPath), g(n, "fill", i(t).color);
1355
- }), r(e, n);
1356
- };
1357
- x(a, (e) => {
1358
- i(t).areaPath && e(o);
1359
- });
1360
- var s = C(a);
1361
- p(() => {
1362
- g(s, "d", i(t).path), g(s, "stroke", i(t).color);
1363
- }), r(e, n);
1364
- });
1365
- var d = C(l);
1366
- n(d, 17, () => i(z).bars, t, (e, t) => {
1367
- var n = It();
1368
- p(() => {
1369
- g(n, "x", i(t).x), g(n, "y", i(t).y), g(n, "width", i(t).w), g(n, "height", i(t).h), g(n, "fill", i(t).color);
1370
- }), r(e, n);
1371
- });
1372
- var f = C(d), m = C(f), h = C(m), v = C(h), y = C(v);
1373
- w(c), p(() => {
1374
- g(c, "viewBox", `0 0 ${i(z).width} ${i(z).height}`), g(f, "x", i(z).plot.x), g(f, "y", i(z).plot.y), g(f, "width", i(o) - i(z).plot.x), g(f, "height", i(z).plot.h), g(m, "x", i(o) + i(s)), g(m, "y", i(z).plot.y), g(m, "width", i(z).plot.x + i(z).plot.w - (i(o) + i(s))), g(m, "height", i(z).plot.h), g(h, "x", i(o)), g(h, "y", i(z).plot.y), g(h, "width", i(s)), g(h, "height", i(z).plot.h), g(v, "x", i(o) - 4), g(v, "y", i(z).plot.y), g(v, "height", i(z).plot.h), g(y, "x", i(o) + i(s) - 4), g(y, "y", i(z).plot.y), g(y, "height", i(z).plot.h);
1375
- }), a("pointermove", c, On), a("pointerdown", h, (e) => Dn(e, "move")), a("pointerup", h, kn), u("pointercancel", h, kn), a("pointerdown", v, (e) => Dn(e, "left")), a("pointerup", v, kn), u("pointercancel", v, kn), a("pointerdown", y, (e) => Dn(e, "right")), a("pointerup", y, kn), u("pointercancel", y, kn), r(e, c);
1376
- };
1377
- x(hi, (e) => {
1378
- i(Cn) && i(z) && e(gi);
1379
- });
1380
- var _i = C(hi, 2), vi = (e) => {
1381
- var t = Rt();
1382
- r(e, t);
1383
- };
1384
- x(_i, (e) => {
1385
- i(Zn) && e(vi);
1386
- });
1387
- var yi = C(_i, 2), bi = (e) => {
1388
- var a = Ht();
1389
- let o;
1390
- var s = _(a), l = _(s, !0);
1391
- w(s);
1392
- var u = C(s, 2);
1393
- n(u, 17, () => i(J).rows, t, (e, t) => {
1394
- var n = Vt(), a = _(n), o = (e) => {
1395
- var n = zt();
1396
- p(() => m(n, `background:${i(t).color}`)), r(e, n);
1397
- };
1398
- x(a, (e) => {
1399
- i(t).color && e(o);
1400
- });
1401
- var s = C(a, 2), l = (e) => {
1402
- var n = Bt(), a = _(n, !0);
1403
- w(n), p(() => c(a, i(t).label)), r(e, n);
1404
- };
1405
- x(s, (e) => {
1406
- i(t).label && e(l);
1407
- });
1408
- var u = C(s, 2), d = _(u, !0);
1409
- w(u), w(n), p(() => c(d, i(t).value)), r(e, n);
1410
- }), w(a), p(() => {
1411
- o = O(a, 1, "sv-grid-chart-tooltip svelte-hyytey", null, o, { "is-below": i(J).below }), m(a, `left:${i(J).left}px; top:${i(J).top}px;`), c(l, i(J).title);
1412
- }), r(e, a);
1413
- };
1414
- x(yi, (e) => {
1415
- i(J) && e(bi);
1416
- });
1417
- var xi = C(yi, 2), Si = (e) => {
1418
- var t = Gt(), o = _(t);
1419
- n(o, 17, () => i(Xn), (e) => e.label, (e, t) => {
1420
- var n = Ut();
1421
- let o;
1422
- var s = _(n), l = C(s);
1423
- w(n), p(() => {
1424
- o = O(n, 1, "sv-grid-chart-legend-item svelte-hyytey", null, o, {
1425
- "is-off": i(t).off,
1426
- "is-isolated": i(M) === i(t).label
1427
- }), n.disabled = !k(), g(n, "aria-pressed", !i(t).off), g(n, "title", k() ? `${i(t).off ? "Show" : "Hide"} ${i(t).label} · double-click to isolate` : i(t).label), m(s, `background:${i(t).off ? "transparent" : i(t).color}; border-color:${i(t).color}`), c(l, ` ${i(t).label ?? ""}`);
1428
- }), a("click", n, () => Qn(i(t).label)), a("dblclick", n, () => $n(i(t).label)), u("pointerenter", n, () => k() && b(on, i(t).label, !0)), u("pointerleave", n, () => b(on, null)), r(e, n);
1429
- });
1430
- var s = C(o, 2), l = (e) => {
1431
- var t = Wt(), n = _(t, !0);
1432
- w(t), p(() => c(n, i(Jn) ? "Show less" : `+${i(qn).length - 10} more`)), a("click", t, () => b(Jn, !i(Jn))), r(e, t);
1433
- };
1434
- x(s, (e) => {
1435
- i(Yn) && e(l);
1436
- }), w(t), r(e, t);
1437
- };
1438
- x(xi, (e) => {
1439
- d() && i(qn).length && e(Si);
1440
- });
1441
- var Ci = C(xi, 2), wi = _(Ci), Ti = _(wi), Ei = C(Ti), Di = (t) => {
1442
- var n = e();
1443
- p(() => c(n, `, first 1000 of ${i(er).rows.length ?? ""} rows`)), r(t, n);
1444
- };
1445
- x(Ei, (e) => {
1446
- i(tr) && e(Di);
1447
- }), w(wi);
1448
- var Oi = C(wi), ki = _(Oi);
1449
- n(ki, 20, () => i(er).cols, (e) => e, (e, t) => {
1450
- var n = Kt(), i = _(n, !0);
1451
- w(n), p(() => c(i, t)), r(e, n);
1452
- }), w(ki), w(Oi);
1453
- var Ai = C(Oi);
1454
- n(Ai, 21, () => i(nr), t, (e, a) => {
1455
- var o = Jt();
1456
- n(o, 21, () => i(a), t, (e, t) => {
1457
- var n = qt(), a = _(n, !0);
1458
- w(n), p(() => c(a, i(t))), r(e, n);
1459
- }), w(o), r(e, o);
1460
- }), w(Ai), w(Ci), w(Cr), y(Cr, (e) => b(ir, e), () => i(ir)), p(() => {
1461
- Er = O($, 0, "sv-grid-chart-svg svelte-hyytey", null, Er, {
1462
- "is-interactive": k(),
1463
- "is-clickable": !!l.onSelect || !!l.onDrill,
1464
- "is-zoomable": Qt() && i(Nn) && !i(A),
1465
- "is-annotating": i(A),
1466
- "is-dragging": !!i(I)
1467
- }), g($, "viewBox", `0 0 ${i(H).width} ${i(H).height}`), g($, "aria-label", `${l.spec.type} chart`), g($, "aria-describedby", `${cn}-table`), g(Ci, "id", `${cn}-table`), c(Ti, `${l.spec.type ?? ""} chart data`);
1468
- }), a("pointerdown", $, _n), a("pointermove", $, vn), a("pointerup", $, yn), u("pointercancel", $, yn), a("dblclick", $, bn), r(s, Cr), S();
1469
- }
1470
- d([
1471
- "click",
1472
- "pointerdown",
1473
- "pointermove",
1474
- "pointerup",
1475
- "dblclick",
1476
- "mousemove",
1477
- "keydown"
1478
- ]);
1479
- //#endregion
1480
- export { k as t };