vue-data-ui 3.25.13 → 3.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/README.md +53 -53
  2. package/dist/{Arrow-BhZDUeMp.js → Arrow-Bt3aGRMb.js} +1 -1
  3. package/dist/{BaseDraggableDialog-Ck6R5Q0K.js → BaseDraggableDialog-C1Slb3Yh.js} +2 -2
  4. package/dist/{BaseIcon-Dlz7gfx0.js → BaseIcon-BV75ei8X.js} +1 -1
  5. package/dist/{BaseLegendToggle-DGG65LAR.js → BaseLegendToggle-DtS_Oj3B.js} +1 -1
  6. package/dist/{BaseZoomControls-BK0PxEa8.js → BaseZoomControls-DIhoeyZu.js} +2 -2
  7. package/dist/{ColorPicker-DMTwxvi_.js → ColorPicker--Y89hTnE.js} +2 -2
  8. package/dist/{DataTable-BD1eZ0zB.js → DataTable-DX5fToAo.js} +2 -2
  9. package/dist/{HillActions-CiP2m7Nz.js → HillActions-D6weVdns.js} +1 -1
  10. package/dist/{Legend-C0Ln0VNe.js → Legend-Dv90gh-6.js} +2 -2
  11. package/dist/{NonSvgPenAndPaper-BjrMLISf.js → NonSvgPenAndPaper-D2BM5C1-.js} +3 -3
  12. package/dist/{PackageVersion-D5QkTJQU.js → PackageVersion-DhXk363L.js} +1 -1
  13. package/dist/{PenAndPaper-XdUD8uB3.js → PenAndPaper-DkQ4sEhs.js} +3 -3
  14. package/dist/{Shape-VCdxvFV9.js → Shape-B_kDj1gF.js} +1 -1
  15. package/dist/SlicerPreview-BgyIezm0.js +1730 -0
  16. package/dist/{SparkTooltip-B1gRxPfb.js → SparkTooltip-BNpyQ021.js} +1 -1
  17. package/dist/{Title-DeqmC-vN.js → Title-C2JKI5td.js} +1 -1
  18. package/dist/{Tooltip-DZ4a3XJQ.js → Tooltip-2NAb_Rrx.js} +1 -1
  19. package/dist/{UserOptions-wFD9vo9g.js → UserOptions-Dgn3StKw.js} +2 -2
  20. package/dist/components/arrow.js +1 -1
  21. package/dist/components/vue-ui-3d-bar.js +1 -1
  22. package/dist/components/vue-ui-accordion.js +1 -1
  23. package/dist/components/vue-ui-age-pyramid.js +1 -1
  24. package/dist/components/vue-ui-annotator.js +1 -1
  25. package/dist/components/vue-ui-bullet.js +1 -1
  26. package/dist/components/vue-ui-bump.js +1 -1
  27. package/dist/components/vue-ui-candlestick.js +1 -1
  28. package/dist/components/vue-ui-carousel-table.js +1 -1
  29. package/dist/components/vue-ui-chestnut.js +1 -1
  30. package/dist/components/vue-ui-chord.js +1 -1
  31. package/dist/components/vue-ui-circle-pack.js +1 -1
  32. package/dist/components/vue-ui-cursor.js +1 -1
  33. package/dist/components/vue-ui-dag.js +1 -1
  34. package/dist/components/vue-ui-dashboard.js +1 -1
  35. package/dist/components/vue-ui-digits.js +1 -1
  36. package/dist/components/vue-ui-donut-evolution.js +1 -1
  37. package/dist/components/vue-ui-donut.js +1 -1
  38. package/dist/components/vue-ui-dumbbell.js +1 -1
  39. package/dist/components/vue-ui-flow.js +1 -1
  40. package/dist/components/vue-ui-funnel.js +1 -1
  41. package/dist/components/vue-ui-galaxy.js +1 -1
  42. package/dist/components/vue-ui-gauge.js +1 -1
  43. package/dist/components/vue-ui-geo.js +1 -1
  44. package/dist/components/vue-ui-gizmo.js +1 -1
  45. package/dist/components/vue-ui-heatmap.js +1 -1
  46. package/dist/components/vue-ui-hill.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-label.js +1 -1
  52. package/dist/components/vue-ui-mini-loader.js +1 -1
  53. package/dist/components/vue-ui-molecule.js +1 -1
  54. package/dist/components/vue-ui-mood-radar.js +1 -1
  55. package/dist/components/vue-ui-nested-donuts.js +1 -1
  56. package/dist/components/vue-ui-onion.js +1 -1
  57. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  58. package/dist/components/vue-ui-quadrant.js +1 -1
  59. package/dist/components/vue-ui-quick-chart.js +1 -1
  60. package/dist/components/vue-ui-radar.js +1 -1
  61. package/dist/components/vue-ui-rating.js +1 -1
  62. package/dist/components/vue-ui-relation-circle.js +1 -1
  63. package/dist/components/vue-ui-ridgeline.js +1 -1
  64. package/dist/components/vue-ui-rings.js +1 -1
  65. package/dist/components/vue-ui-scatter.js +1 -1
  66. package/dist/components/vue-ui-skeleton.js +1 -1
  67. package/dist/components/vue-ui-smiley.js +1 -1
  68. package/dist/components/vue-ui-spark-trend.js +1 -1
  69. package/dist/components/vue-ui-sparkbar.js +1 -1
  70. package/dist/components/vue-ui-sparkgauge.js +1 -1
  71. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  72. package/dist/components/vue-ui-sparkline.js +1 -1
  73. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  74. package/dist/components/vue-ui-stackbar.js +1 -1
  75. package/dist/components/vue-ui-stackline.js +1 -1
  76. package/dist/components/vue-ui-strip-plot.js +1 -1
  77. package/dist/components/vue-ui-table-heatmap.js +1 -1
  78. package/dist/components/vue-ui-table-sparkline.js +1 -1
  79. package/dist/components/vue-ui-table.js +1 -1
  80. package/dist/components/vue-ui-thermometer.js +1 -1
  81. package/dist/components/vue-ui-timer.js +1 -1
  82. package/dist/components/vue-ui-tiremarks.js +1 -1
  83. package/dist/components/vue-ui-treemap.js +1 -1
  84. package/dist/components/vue-ui-vertical-bar.js +1 -1
  85. package/dist/components/vue-ui-waffle.js +1 -1
  86. package/dist/components/vue-ui-wheel.js +1 -1
  87. package/dist/components/vue-ui-word-cloud.js +1 -1
  88. package/dist/components/vue-ui-world.js +1 -1
  89. package/dist/components/vue-ui-xy-canvas.js +1 -1
  90. package/dist/components/vue-ui-xy.js +1 -1
  91. package/dist/{dom-to-png-DdqmzDdY.js → dom-to-png-DKdtTkNC.js} +1 -1
  92. package/dist/{exposedLib-BBtjpydc.js → exposedLib-DN6QRAx2.js} +1 -1
  93. package/dist/{img-W50sC9SC.js → img-CaIaBHA0.js} +1 -1
  94. package/dist/{labelUtils-Dvm-7rse.js → labelUtils-CD5XzcAo.js} +1 -1
  95. package/dist/{lib-DOpaUOQx.js → lib-CklJ7rIN.js} +29 -18
  96. package/dist/{package-Cmcke8zR.js → package-BVRea5S_.js} +1 -1
  97. package/dist/{pdf-zGbDDpCi.js → pdf-6hacmnKW.js} +1 -1
  98. package/dist/{render-common-CG1wuHZY.js → render-common-ChwuwzU3.js} +2 -2
  99. package/dist/ssr/vue-ui-donut.js +1 -1
  100. package/dist/ssr/vue-ui-xy.js +1 -1
  101. package/dist/ssr.js +2 -2
  102. package/dist/style.css +1 -1
  103. package/dist/types/vue-data-ui.d.ts +110 -5
  104. package/dist/types/vue-ui-candlestick.d.ts +4 -0
  105. package/dist/types/vue-ui-donut-evolution.d.ts +4 -0
  106. package/dist/types/vue-ui-quick-chart.d.ts +4 -0
  107. package/dist/types/vue-ui-sparkline.d.ts +5 -1
  108. package/dist/types/vue-ui-stackbar.d.ts +4 -0
  109. package/dist/types/vue-ui-stackline.d.ts +4 -0
  110. package/dist/types/vue-ui-xy-canvas.d.ts +2 -0
  111. package/dist/types/vue-ui-xy.d.ts +2 -0
  112. package/dist/{useConfig-C2uy4ltq.js → useConfig-DObkR9Aa.js} +49 -4
  113. package/dist/{useNestedProp-Bux0f4iY.js → useNestedProp-Tc9i6ZcN.js} +1 -1
  114. package/dist/{useObjectBindings-CEuNiBIT.js → useObjectBindings-CPmyIJxB.js} +9 -9
  115. package/dist/{usePrinter-BBBooAGP.js → usePrinter-Dp3X1vqr.js} +2 -2
  116. package/dist/utils.js +3 -3
  117. package/dist/vue-data-ui-Dr0uoRD_.js +191 -0
  118. package/dist/vue-data-ui.js +74 -74
  119. package/dist/{vue-ui-3d-bar-Ckauu3d4.js → vue-ui-3d-bar-BvJwq13N.js} +7 -7
  120. package/dist/{vue-ui-accordion-yHZMJLaY.js → vue-ui-accordion-15kKhkup.js} +4 -4
  121. package/dist/{vue-ui-age-pyramid-BczIt1-U.js → vue-ui-age-pyramid-CVzina7X.js} +7 -7
  122. package/dist/{vue-ui-annotator-BGB6K6u0.js → vue-ui-annotator-J4Wo2_DR.js} +7 -7
  123. package/dist/{vue-ui-bullet-BoTsLccZ.js → vue-ui-bullet-CuI5_uF1.js} +8 -8
  124. package/dist/{vue-ui-bump-B5ztSSQO.js → vue-ui-bump-GGNG4vwu.js} +7 -7
  125. package/dist/vue-ui-candlestick-Ca9dvzvk.js +2144 -0
  126. package/dist/{vue-ui-carousel-table-D-3KSWok.js → vue-ui-carousel-table-DOxh9sEm.js} +5 -5
  127. package/dist/{vue-ui-chestnut-W2l-W0_e.js → vue-ui-chestnut-DQhC_gB8.js} +6 -6
  128. package/dist/{vue-ui-chord-BFPQsMj8.js → vue-ui-chord-Blnvne2p.js} +9 -9
  129. package/dist/{vue-ui-circle-pack-BtPc1BR3.js → vue-ui-circle-pack-mNHA1U8B.js} +7 -7
  130. package/dist/{vue-ui-cursor-CpNOiwkt.js → vue-ui-cursor-D2hgivhn.js} +4 -4
  131. package/dist/{vue-ui-dag-i-zPwLcN.js → vue-ui-dag-DDSyO2ts.js} +8 -8
  132. package/dist/{vue-ui-dashboard-DtaW9a2P.js → vue-ui-dashboard-C9MnWAnE.js} +70 -70
  133. package/dist/{vue-ui-digits-BIlec9af.js → vue-ui-digits-h7H-yHd0.js} +4 -4
  134. package/dist/{vue-ui-donut-CJlBEyxu.js → vue-ui-donut-D-8OekQ5.js} +3 -3
  135. package/dist/vue-ui-donut-evolution-CJ6tIbgl.js +1869 -0
  136. package/dist/{vue-ui-donut-Bgf-n95J.js → vue-ui-donut-oY4iu5pY.js} +11 -11
  137. package/dist/{vue-ui-dumbbell-C112YLkC.js → vue-ui-dumbbell-52gWeLGK.js} +8 -8
  138. package/dist/{vue-ui-flow-j4bDg9Zd.js → vue-ui-flow-edMUCkcr.js} +8 -8
  139. package/dist/{vue-ui-funnel-CVHpfBCW.js → vue-ui-funnel-B08mSlHH.js} +7 -7
  140. package/dist/{vue-ui-galaxy-ChGpUWh8.js → vue-ui-galaxy-CV59UO9t.js} +10 -10
  141. package/dist/{vue-ui-gauge-Cp00vXfG.js → vue-ui-gauge-BnBzapom.js} +7 -7
  142. package/dist/{vue-ui-geo-B4hDk5NO.js → vue-ui-geo-BCmDw5me.js} +8 -8
  143. package/dist/{vue-ui-gizmo-D6nCCsS4.js → vue-ui-gizmo-BZBV8haQ.js} +4 -4
  144. package/dist/{vue-ui-heatmap-scVJc1cw.js → vue-ui-heatmap-CjiffI23.js} +8 -8
  145. package/dist/{vue-ui-hill-DnYUHGAK.js → vue-ui-hill-D5WV6zro.js} +7 -7
  146. package/dist/{vue-ui-history-plot-C5qAMaaW.js → vue-ui-history-plot-Bd06L1Od.js} +9 -9
  147. package/dist/{vue-ui-horizontal-bar-nEG4uvpv.js → vue-ui-horizontal-bar-B5Yp6Uql.js} +11 -11
  148. package/dist/{vue-ui-kpi-DOxId6xg.js → vue-ui-kpi-CNreX8BM.js} +4 -4
  149. package/dist/{vue-ui-label-BDKY7BI7.js → vue-ui-label-BDP67zvQ.js} +4 -4
  150. package/dist/{vue-ui-mini-loader-BknVs9VJ.js → vue-ui-mini-loader-pzS7SsP4.js} +3 -3
  151. package/dist/{vue-ui-molecule-_x232mMu.js → vue-ui-molecule-DqeRhja8.js} +6 -6
  152. package/dist/{vue-ui-mood-radar-D-F4855V.js → vue-ui-mood-radar-Cgl_QD-j.js} +8 -8
  153. package/dist/{vue-ui-nested-donuts-0E5IllFW.js → vue-ui-nested-donuts-MDPBZLnW.js} +10 -10
  154. package/dist/{vue-ui-onion-Eip0S1H7.js → vue-ui-onion-kgZ3uV3c.js} +10 -10
  155. package/dist/{vue-ui-parallel-coordinate-plot-DO0sQdJw.js → vue-ui-parallel-coordinate-plot-CJbZCsPd.js} +10 -10
  156. package/dist/{vue-ui-quadrant-CA0ClWfL.js → vue-ui-quadrant-B9efnVWT.js} +10 -10
  157. package/dist/{vue-ui-quick-chart-D-VuAoll.js → vue-ui-quick-chart-hNOMlqTI.js} +1053 -681
  158. package/dist/{vue-ui-radar-BTD7Y0Ps.js → vue-ui-radar-DJO16PTU.js} +9 -9
  159. package/dist/{vue-ui-rating-C_Qj6gnP.js → vue-ui-rating-BYLWm5aG.js} +3 -3
  160. package/dist/{vue-ui-relation-circle-CcxLBVFV.js → vue-ui-relation-circle-DVF3RlHU.js} +7 -7
  161. package/dist/{vue-ui-ridgeline-BZrzbbhb.js → vue-ui-ridgeline-DvgIu54T.js} +10 -10
  162. package/dist/{vue-ui-rings-CO48GOP2.js → vue-ui-rings-DVU7F6bL.js} +11 -11
  163. package/dist/{vue-ui-scatter-DrxUgZbQ.js → vue-ui-scatter-BtlRfhTt.js} +10 -10
  164. package/dist/{vue-ui-skeleton-CeKjW4MX.js → vue-ui-skeleton-DcMhyC4L.js} +4 -4
  165. package/dist/{vue-ui-smiley-BvRwx69s.js → vue-ui-smiley-qHvZQJcB.js} +3 -3
  166. package/dist/{vue-ui-spark-trend-DnujGRyt.js → vue-ui-spark-trend-BuHZP190.js} +4 -4
  167. package/dist/{vue-ui-sparkbar-Cd_uhYGD.js → vue-ui-sparkbar-MH9VeqdO.js} +4 -4
  168. package/dist/{vue-ui-sparkgauge-hT31YEtt.js → vue-ui-sparkgauge-Bg_IFD0m.js} +4 -4
  169. package/dist/{vue-ui-sparkhistogram-PKlTYhKA.js → vue-ui-sparkhistogram-DZu07vIL.js} +5 -5
  170. package/dist/vue-ui-sparkline-LwEiJPe6.js +2067 -0
  171. package/dist/{vue-ui-sparkstackbar-R0ij2vi1.js → vue-ui-sparkstackbar-hbIoybeq.js} +5 -5
  172. package/dist/vue-ui-stackbar-CaxNkWPz.js +2660 -0
  173. package/dist/vue-ui-stackline-BJqnZXeR.js +2829 -0
  174. package/dist/{vue-ui-strip-plot-DR3N56rS.js → vue-ui-strip-plot-BWK3JQr6.js} +8 -8
  175. package/dist/{vue-ui-table-Bg6BeLrf.js → vue-ui-table-CRWoH6dc.js} +6 -6
  176. package/dist/{vue-ui-table-heatmap-C1b1Pcp8.js → vue-ui-table-heatmap-Bu9RiTU0.js} +6 -6
  177. package/dist/{vue-ui-table-sparkline-CkVXyequ.js → vue-ui-table-sparkline-CTA_6-gu.js} +5 -5
  178. package/dist/{vue-ui-thermometer-CqkaMF7Z.js → vue-ui-thermometer-Y5CnROrM.js} +7 -7
  179. package/dist/{vue-ui-timer-CgJvNwBv.js → vue-ui-timer-BYEpxxDX.js} +6 -6
  180. package/dist/{vue-ui-tiremarks-B078YJ9M.js → vue-ui-tiremarks-DBndWNiA.js} +7 -7
  181. package/dist/{vue-ui-treemap-Cfjf8mDl.js → vue-ui-treemap-Cw8a0oFl.js} +10 -10
  182. package/dist/{vue-ui-waffle-BZIcPa0l.js → vue-ui-waffle-BvfD05mS.js} +11 -11
  183. package/dist/{vue-ui-wheel-CPTm8AHn.js → vue-ui-wheel-D6NsnLRc.js} +7 -7
  184. package/dist/{vue-ui-word-cloud-DnGblUwj.js → vue-ui-word-cloud-YrgMp1Fo.js} +8 -8
  185. package/dist/{vue-ui-world-KkcpeKqp.js → vue-ui-world-BMcqvuJH.js} +8 -8
  186. package/dist/{vue-ui-xy-ClCV7xA5.js → vue-ui-xy-B6wckF4S.js} +4 -4
  187. package/dist/vue-ui-xy-Bv7fhRbS.js +5769 -0
  188. package/dist/{vue-ui-xy-canvas-BlpCbXKR.js → vue-ui-xy-canvas-NzaEYHDR.js} +875 -560
  189. package/dist/{vue_ui_candlestick-J8jmJvxP.js → vue_ui_candlestick-BXSQY82k.js} +96 -9
  190. package/dist/{vue_ui_donut_evolution-D1yAAIHr.js → vue_ui_donut_evolution-C6951a2f.js} +35 -7
  191. package/dist/{vue_ui_quick_chart-mZBdml3Z.js → vue_ui_quick_chart-DByCqSYE.js} +45 -4
  192. package/dist/{vue_ui_sparkline-auZhap6Y.js → vue_ui_sparkline-b9pEUyGF.js} +33 -1
  193. package/dist/{vue_ui_stackbar-COOrQQdK.js → vue_ui_stackbar-DdjDL6aq.js} +88 -9
  194. package/dist/{vue_ui_stackline-DQqKPA9z.js → vue_ui_stackline-Bh0RuInt.js} +88 -9
  195. package/dist/{vue_ui_xy-BA3-_LCx.js → vue_ui_xy-CcJADijP.js} +78 -9
  196. package/dist/{vue_ui_xy_canvas-Cb6dg3eK.js → vue_ui_xy_canvas-DrNSzYWq.js} +88 -9
  197. package/package.json +1 -1
  198. package/dist/SlicerPreview-BJ4usfYd.js +0 -1708
  199. package/dist/vue-data-ui-BVzA0tEV.js +0 -280
  200. package/dist/vue-ui-candlestick-BJtdA4Yu.js +0 -1871
  201. package/dist/vue-ui-donut-evolution-C0BKntfL.js +0 -1552
  202. package/dist/vue-ui-sparkline-BSu1uRvP.js +0 -1610
  203. package/dist/vue-ui-stackbar-BrzzkGFk.js +0 -2369
  204. package/dist/vue-ui-stackline-zEX3gR3y.js +0 -2483
  205. package/dist/vue-ui-xy-C6lVqZnx.js +0 -5367
@@ -0,0 +1,2067 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, A as n, G as r, I as i, Jt as a, K as o, Kt as s, L as c, Mt as l, N as u, P as d, R as f, Rt as p, S as ee, Tt as te, U as ne, W as re, X as ie, at as ae, ct as oe, d as se, i as ce, k as le, m as ue, qt as de, t as fe, tn as pe, ut as me, vt as he } from "./lib-CklJ7rIN.js";
3
+ import { n as ge, t as _e } from "./useHints-Dq_w2E8B.js";
4
+ import { t as ve } from "./useTimeLabels-d2f-W1L4.js";
5
+ import { t as ye } from "./useConfig-DObkR9Aa.js";
6
+ import { n as be, t as xe } from "./BaseScanner-Dzc8VT3j.js";
7
+ import { t as Se } from "./useNestedProp-Tc9i6ZcN.js";
8
+ import { t as Ce } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as we } from "./_plugin-vue_export-helper-B3ysoDQm.js";
10
+ import { l as Te, t as Ee } from "./useResponsive-ZtArZtUf.js";
11
+ import { t as De } from "./DefGrad-DVBqDjhO.js";
12
+ import { t as Oe } from "./A11yDataTable-DdRsVULz.js";
13
+ import { t as ke } from "./useChartAccessibility-DYqac8yF.js";
14
+ import { t as Ae } from "./usePrefersMotion-BC-CsqR1.js";
15
+ import { t as je } from "./vue_ui_sparkline-b9pEUyGF.js";
16
+ import { Fragment as m, computed as h, createBlock as Me, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createTextVNode as Ne, createVNode as Pe, defineAsyncComponent as Fe, guardReactiveProps as Ie, nextTick as y, normalizeClass as Le, normalizeProps as Re, normalizeStyle as ze, onBeforeUnmount as Be, onMounted as Ve, openBlock as b, ref as x, renderList as S, renderSlot as He, shallowRef as Ue, toDisplayString as We, toRefs as Ge, unref as C, watch as w, watchEffect as Ke, withCtx as qe } from "vue";
17
+ //#region src/atoms/SparklinePulse.vue
18
+ var Je = {
19
+ key: 0,
20
+ style: { "pointer-events": "none" }
21
+ }, Ye = [
22
+ "r",
23
+ "fill",
24
+ "filter"
25
+ ], Xe = [
26
+ "begin",
27
+ "dur",
28
+ "repeatCount",
29
+ "fill",
30
+ "calcMode",
31
+ "keySplines",
32
+ "keyTimes",
33
+ "keyPoints"
34
+ ], Ze = ["href"], Qe = [
35
+ "dur",
36
+ "repeatCount",
37
+ "fill",
38
+ "values"
39
+ ], $e = ["r", "fill"], et = [
40
+ "begin",
41
+ "dur",
42
+ "repeatCount",
43
+ "calcMode",
44
+ "keySplines",
45
+ "keyTimes",
46
+ "keyPoints"
47
+ ], T = ["href"], tt = ["dur", "repeatCount"], nt = {
48
+ __name: "SparklinePulse",
49
+ props: {
50
+ uid: {
51
+ type: String,
52
+ required: !0
53
+ },
54
+ svgRef: {
55
+ type: Object,
56
+ default: null
57
+ },
58
+ pulsePathId: {
59
+ type: String,
60
+ required: !0
61
+ },
62
+ pulsePathLength: {
63
+ type: Number,
64
+ required: !0
65
+ },
66
+ pulseDur: {
67
+ type: String,
68
+ required: !0
69
+ },
70
+ pulseBegin: {
71
+ type: String,
72
+ required: !0
73
+ },
74
+ pulseRepeatCount: {
75
+ type: String,
76
+ required: !0
77
+ },
78
+ pulseFillMode: {
79
+ type: String,
80
+ default: void 0
81
+ },
82
+ pulseKeyPoints: {
83
+ type: String,
84
+ required: !0
85
+ },
86
+ pulseMotion: {
87
+ type: Object,
88
+ required: !0
89
+ },
90
+ pulse: {
91
+ type: Object,
92
+ required: !0
93
+ },
94
+ pulseTrail: {
95
+ type: Object,
96
+ required: !0
97
+ },
98
+ pulseTrailLength: {
99
+ type: Number,
100
+ required: !0
101
+ },
102
+ prefersReducedMotion: {
103
+ type: Boolean,
104
+ required: !0
105
+ },
106
+ loading: {
107
+ type: Boolean,
108
+ required: !0
109
+ },
110
+ isBar: {
111
+ type: Boolean,
112
+ required: !0
113
+ }
114
+ },
115
+ setup(e) {
116
+ let t = e, n = h(() => Math.min(t.pulseTrailLength, 45)), r = h(() => !!t.pulse?.show && !t.isBar && !t.prefersReducedMotion && !t.loading && Number(t.pulsePathLength) > 0);
117
+ function i() {
118
+ let e = t.svgRef?.value;
119
+ e && (typeof e.pauseAnimations == "function" && e.pauseAnimations(), typeof e.setCurrentTime == "function" && e.setCurrentTime(0), typeof e.unpauseAnimations == "function" && e.unpauseAnimations());
120
+ }
121
+ function a(e, t) {
122
+ if (typeof e != "string") return e;
123
+ let n = e.trim().match(/^([\d.]+)\s*(ms|s)$/);
124
+ if (!n) return e;
125
+ let r = Number(n[1]), i = n[2];
126
+ return Number.isNaN(r) ? e : `${r + t}${i}`;
127
+ }
128
+ function o(e) {
129
+ return (n.value - e) / n.value * t.pulse.radius;
130
+ }
131
+ function s(e) {
132
+ let r = t.pulse.trail.opacity, i = (n.value - e) / n.value, a = e === 0 ? 1 : i * r;
133
+ return `0;${a};${a};0`;
134
+ }
135
+ return w(() => t.loading, async (e) => {
136
+ if (e) {
137
+ i();
138
+ return;
139
+ }
140
+ await y(), i();
141
+ }), w(() => t.pulsePathId, async () => {
142
+ await y(), i();
143
+ }), Be(() => {
144
+ i();
145
+ }), (t, i) => r.value ? (b(), _("g", Je, [(b(!0), _(m, null, S(n.value, (t, n) => (b(), _(m, null, [n % 3 == 0 ? (b(), _("circle", {
146
+ key: `sparkline_dot_${n}_${e.pulsePathId}`,
147
+ r: o(n),
148
+ fill: e.pulse.color,
149
+ filter: `url(#sparkline_pulse_glow_${e.uid})`,
150
+ opacity: "0"
151
+ }, [v("animateMotion", {
152
+ begin: a(e.pulseBegin, n * 10),
153
+ dur: e.pulseDur,
154
+ repeatCount: e.pulseRepeatCount,
155
+ fill: e.pulseFillMode,
156
+ calcMode: e.pulseMotion.calcMode,
157
+ keySplines: e.pulseMotion.keySplines || void 0,
158
+ keyTimes: e.pulseMotion.keyTimes || void 0,
159
+ keyPoints: e.pulseKeyPoints,
160
+ rotate: "auto"
161
+ }, [v("mpath", { href: `#${e.pulsePathId}` }, null, 8, Ze)], 8, Xe), v("animate", {
162
+ attributeName: "opacity",
163
+ dur: e.pulseDur,
164
+ repeatCount: e.pulseRepeatCount,
165
+ fill: e.pulseFillMode,
166
+ values: s(n),
167
+ keyTimes: "0;0.1;0.9;1"
168
+ }, null, 8, Qe)], 8, Ye)) : g("", !0)], 64))), 256)), (b(), _("circle", {
169
+ key: `sparkline_halo_${e.pulsePathId}`,
170
+ r: Math.max(e.pulse.radius * 1.3),
171
+ fill: e.pulse.color,
172
+ opacity: "0"
173
+ }, [v("animateMotion", {
174
+ begin: e.pulseBegin,
175
+ dur: e.pulseDur,
176
+ repeatCount: e.pulseRepeatCount,
177
+ calcMode: e.pulseMotion.calcMode,
178
+ keySplines: e.pulseMotion.keySplines || void 0,
179
+ keyTimes: e.pulseMotion.keyTimes || void 0,
180
+ keyPoints: e.pulseKeyPoints,
181
+ rotate: "auto"
182
+ }, [v("mpath", { href: `#${e.pulsePathId}` }, null, 8, T)], 8, et), v("animate", {
183
+ attributeName: "opacity",
184
+ values: "0;0.35;0.35;0",
185
+ keyTimes: "0;0.15;0.85;1",
186
+ dur: e.pulseDur,
187
+ repeatCount: e.pulseRepeatCount
188
+ }, null, 8, tt)], 8, $e))])) : g("", !0);
189
+ }
190
+ }, E = {
191
+ canvas: null,
192
+ ctx: null
193
+ };
194
+ function rt() {
195
+ if (typeof document > "u") throw Error("color-utils: document is not available (browser-only).");
196
+ if (!E.canvas) {
197
+ let e = document.createElement("canvas");
198
+ e.width = 1, e.height = 1;
199
+ let t = e.getContext("2d", { willReadFrequently: !0 });
200
+ if (!t) throw Error("color-utils: unable to get 2D canvas context.");
201
+ E.canvas = e, E.ctx = t;
202
+ }
203
+ return E.ctx;
204
+ }
205
+ function it(e) {
206
+ return e < 0 ? 0 : e > 255 ? 255 : Math.round(e);
207
+ }
208
+ function at(e) {
209
+ return e < 0 ? 0 : e > 1 ? 1 : e;
210
+ }
211
+ function D(e, t = null) {
212
+ if (typeof e != "string" || e.trim().length === 0) throw Error("colorToRgba: inputColor must be a non-empty string.");
213
+ let n = e.trim();
214
+ if (n.toLowerCase() === "transparent") return {
215
+ red: 0,
216
+ green: 0,
217
+ blue: 0,
218
+ alpha: 0
219
+ };
220
+ let r = k(n, t), i = rt();
221
+ i.clearRect(0, 0, 1, 1), i.fillStyle = "#000";
222
+ let a = i.fillStyle;
223
+ if (i.fillStyle = r, i.fillStyle === a && !A(r)) throw Error(`colorToRgba: unsupported or invalid color "${e}".`);
224
+ i.fillRect(0, 0, 1, 1);
225
+ let o = i.getImageData(0, 0, 1, 1).data;
226
+ return {
227
+ red: o[0],
228
+ green: o[1],
229
+ blue: o[2],
230
+ alpha: o[3] / 255
231
+ };
232
+ }
233
+ function O(e, t = null) {
234
+ if (!Array.isArray(e) || e.length === 0) throw Error("colorsToRgba: colors must be a non-empty array.");
235
+ let n = Array(e.length);
236
+ for (let r = 0; r < e.length; r += 1) n[r] = D(e[r], t);
237
+ return n;
238
+ }
239
+ function k(e, t = null) {
240
+ return e !== "currentColor" || typeof window > "u" || !t ? e : window.getComputedStyle(t).color || e;
241
+ }
242
+ function A(e) {
243
+ let t = e.trim().toLowerCase();
244
+ return t === "black" || t === "#000" || t === "#000000" || t === "rgb(0, 0, 0)" || t === "rgba(0, 0, 0, 1)" || t === "rgba(0, 0, 0, 0)";
245
+ }
246
+ function j(e) {
247
+ let t = at(e / 255);
248
+ return t <= .04045 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
249
+ }
250
+ function M(e) {
251
+ let t = at(e), n;
252
+ return n = t <= .0031308 ? t * 12.92 : 1.055 * t ** (1 / 2.4) - .055, it(n * 255);
253
+ }
254
+ function ot(e, t, n, r) {
255
+ let i = at(n);
256
+ if (r === "linearRGB") {
257
+ let n = j(e.red), r = j(e.green), a = j(e.blue), o = j(t.red), s = j(t.green), c = j(t.blue), l = n + (o - n) * i, u = r + (s - r) * i, d = a + (c - a) * i;
258
+ return {
259
+ red: M(l),
260
+ green: M(u),
261
+ blue: M(d),
262
+ alpha: e.alpha + (t.alpha - e.alpha) * i
263
+ };
264
+ }
265
+ return {
266
+ red: e.red + (t.red - e.red) * i,
267
+ green: e.green + (t.green - e.green) * i,
268
+ blue: e.blue + (t.blue - e.blue) * i,
269
+ alpha: e.alpha + (t.alpha - e.alpha) * i
270
+ };
271
+ }
272
+ //#endregion
273
+ //#region src/SPG/number-utils.js
274
+ function N(e, t, n) {
275
+ let r = e;
276
+ return r < t && (r = t), r > n && (r = n), r;
277
+ }
278
+ function P(e, t) {
279
+ let n = 10 ** t;
280
+ return Math.round(e * n) / n;
281
+ }
282
+ function F(e) {
283
+ return Number.isFinite(e) ? e.toString() : "0";
284
+ }
285
+ function I(e) {
286
+ let t = N(e, 0, 255).toString(16);
287
+ return t.length === 1 ? "0" + t : t;
288
+ }
289
+ function L(e) {
290
+ if (typeof e != "string") return;
291
+ let t = Number.parseFloat(e);
292
+ return Number.isFinite(t) ? t : void 0;
293
+ }
294
+ function st(e, t, n, r = !0) {
295
+ let i = n - t;
296
+ if (i === 0) return 0;
297
+ let a = (e - t) / i;
298
+ return r ? N(a, 0, 1) : a;
299
+ }
300
+ //#endregion
301
+ //#region src/SPG/index.js
302
+ var ct = "http://www.w3.org/2000/svg";
303
+ function R(e) {
304
+ if (typeof document > "u") throw Error("SvgPathGradientAsync: document is not available (browser-only implementation).");
305
+ let t = document.createElementNS(ct, "svg");
306
+ t.setAttribute("width", "0"), t.setAttribute("height", "0"), t.setAttribute("viewBox", "0 0 0 0"), t.style.position = "absolute", t.style.left = "-10000px", t.style.top = "-10000px", t.style.visibility = "hidden", t.style.pointerEvents = "none";
307
+ let n = document.createElementNS(ct, "path");
308
+ return e === "M " && (e = "M 0,0"), n.setAttribute("d", e), t.appendChild(n), document.body.appendChild(t), {
309
+ svgElement: t,
310
+ pathElement: n
311
+ };
312
+ }
313
+ function z(e) {
314
+ if (e) try {
315
+ e.svgElement?.remove?.();
316
+ } catch {}
317
+ }
318
+ function lt(e, t, n) {
319
+ if (typeof n == "number" && n > 0) return n;
320
+ let r = t * .75;
321
+ r < .5 && (r = .5), r > 8 && (r = 8);
322
+ let i = e / 2;
323
+ return r > i && i > 0 && (r = i), r <= 0 && (r = 1), r;
324
+ }
325
+ function B(e, t, n) {
326
+ if (typeof t == "number" && t >= 1) return Math.floor(t);
327
+ let r = Math.ceil(e / (typeof n == "number" && n > 0 ? n : 2));
328
+ return r < 1 ? 1 : r;
329
+ }
330
+ function ut(e, t, n, r, i, a) {
331
+ let o = n - t, s = Math.ceil(o / r) + 1;
332
+ s < 2 && (s = 2), s > a && (s = a);
333
+ let c = s > 1 ? o / (s - 1) : 0, l = e.getPointAtLength(t), u = `M ${F(P(l.x, i))} ${F(P(l.y, i))}`;
334
+ for (let n = 1; n < s; n += 1) {
335
+ let r = t + n * c, a = e.getPointAtLength(r);
336
+ u += ` L ${F(P(a.x, i))} ${F(P(a.y, i))}`;
337
+ }
338
+ return u;
339
+ }
340
+ function V(e, t, n, r, i, a) {
341
+ let o = n - t, s = Math.ceil(o / r) + 1;
342
+ s < 2 && (s = 2), s > a && (s = a);
343
+ let c = s > 1 ? o / (s - 1) : 0, l = e.getPointAtLength(t), u = l.x, d = l.x, f = l.y, p = l.y, ee = `M ${F(P(l.x, i))} ${F(P(l.y, i))}`;
344
+ for (let n = 1; n < s; n += 1) {
345
+ let r = t + n * c, a = e.getPointAtLength(r);
346
+ a.x < u && (u = a.x), a.x > d && (d = a.x), a.y < f && (f = a.y), a.y > p && (p = a.y), ee += ` L ${F(P(a.x, i))} ${F(P(a.y, i))}`;
347
+ }
348
+ return {
349
+ pathData: ee,
350
+ bounds: {
351
+ minX: u,
352
+ maxX: d,
353
+ minY: f,
354
+ maxY: p
355
+ }
356
+ };
357
+ }
358
+ function dt(e) {
359
+ if (e.length === 1) return [{
360
+ position: 0,
361
+ rgba: e[0]
362
+ }];
363
+ let t = Array(e.length), n = e.length - 1;
364
+ for (let r = 0; r < e.length; r += 1) t[r] = {
365
+ position: r / n,
366
+ rgba: e[r]
367
+ };
368
+ return t;
369
+ }
370
+ function ft(e, t, n, r) {
371
+ let i = N(t, 0, 1), a = r;
372
+ for (a < 0 && (a = 0), a > e.length - 2 && (a = e.length - 2); a > 0 && i < e[a].position;) --a;
373
+ for (; a < e.length - 2 && i > e[a + 1].position;) a += 1;
374
+ let o = e[a], s = e[a + 1], c = s.position - o.position, l = c > 0 ? (i - o.position) / c : 0;
375
+ return gt(pt(o.rgba, s.rgba, l, n));
376
+ }
377
+ function pt(e, t, n, r) {
378
+ let i = N(n, 0, 1);
379
+ if (r === "linearRGB") {
380
+ let n = mt(e.red), r = mt(e.green), a = mt(e.blue), o = mt(t.red), s = mt(t.green), c = mt(t.blue), l = n + (o - n) * i, u = r + (s - r) * i, d = a + (c - a) * i;
381
+ return {
382
+ red: ht(l),
383
+ green: ht(u),
384
+ blue: ht(d),
385
+ alpha: e.alpha + (t.alpha - e.alpha) * i
386
+ };
387
+ }
388
+ return {
389
+ red: e.red + (t.red - e.red) * i,
390
+ green: e.green + (t.green - e.green) * i,
391
+ blue: e.blue + (t.blue - e.blue) * i,
392
+ alpha: e.alpha + (t.alpha - e.alpha) * i
393
+ };
394
+ }
395
+ function mt(e) {
396
+ let t = N(e / 255, 0, 1);
397
+ return t <= .04045 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
398
+ }
399
+ function ht(e) {
400
+ let t = N(e, 0, 1), n;
401
+ return n = t <= .0031308 ? t * 12.92 : 1.055 * t ** (1 / 2.4) - .055, N(Math.round(n * 255), 0, 255);
402
+ }
403
+ function gt(e) {
404
+ let t = N(e.alpha, 0, 1), n = N(Math.round(e.red), 0, 255), r = N(Math.round(e.green), 0, 255), i = N(Math.round(e.blue), 0, 255);
405
+ return t >= 1 ? `#${I(n)}${I(r)}${I(i)}` : `rgba(${n}, ${r}, ${i}, ${P(t, 4).toString()})`;
406
+ }
407
+ function _t(e) {
408
+ let t = `fill="${H(e.fill ?? "none")}"`, n = Object.keys(e);
409
+ for (let r = 0; r < n.length; r += 1) {
410
+ let i = n[r];
411
+ if (i === "stroke" || i === "d") continue;
412
+ let a = e[i];
413
+ t += ` ${i}="${H(a)}"`;
414
+ }
415
+ return t;
416
+ }
417
+ function vt(e, t, n) {
418
+ return `<path d="${H(e)}" stroke="${H(t)}" ${n} />`;
419
+ }
420
+ function yt(e) {
421
+ let t = [], n = e.segmentAttributeMap.fill ?? "none";
422
+ t.push(`fill="${H(n)}"`), t.push(`stroke="${H(e.stroke)}"`);
423
+ for (let n of Object.keys(e.segmentAttributeMap)) {
424
+ if (n === "stroke" || n === "d") continue;
425
+ let r = e.segmentAttributeMap[n];
426
+ t.push(`${n}="${H(r)}"`);
427
+ }
428
+ return `<path d="${H(e.pathData)}" ${t.join(" ")} />`;
429
+ }
430
+ function bt(e, t) {
431
+ let n = [];
432
+ for (let e of Object.keys(t)) n.push(`${e}="${H(t[e])}"`);
433
+ return `<g data-svg-path-gradient="true"${n.length ? " " + n.join(" ") : ""}>${e.join("")}</g>`;
434
+ }
435
+ function H(e) {
436
+ return String(e).replaceAll("&", "&amp;").replaceAll("\"", "&quot;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
437
+ }
438
+ function xt(e, t = null, n = {}) {
439
+ return new Promise((r, i) => {
440
+ let a = null;
441
+ try {
442
+ if (!e || typeof e != "string") throw Error("SvgPathGradientAsync: pathData must be a non-empty string.");
443
+ let i = n.temperatureMode ?? null;
444
+ if (i === null && (!Array.isArray(t) || t.length === 0)) throw Error("SvgPathGradientAsync: colors must be a non-empty array when temperatureMode is not enabled.");
445
+ if ((n.returnMode ?? "string") !== "string") throw Error("SvgPathGradientAsync: only returnMode=\"string\" is supported for the async version.");
446
+ let o = typeof n.decimalPlaces == "number" ? n.decimalPlaces : 3, s = typeof n.flattenTolerance == "number" && n.flattenTolerance > 0 ? n.flattenTolerance : .25, c = n.attrs ? { ...n.attrs } : {}, l = n.groupAttrs ? { ...n.groupAttrs } : {}, u = L(c["stroke-width"]), d = typeof n.strokeWidth == "number" && n.strokeWidth > 0 ? n.strokeWidth : typeof u == "number" && u > 0 ? u : 1;
447
+ a = R(e);
448
+ let f = a.pathElement, p = f.getTotalLength(), ee = i === null ? O(t, n.colorReferenceElement) : [];
449
+ if (i === null && (!(p > 0) || ee.length === 1)) {
450
+ let t = bt([yt({
451
+ pathData: e,
452
+ stroke: gt(ee[0]),
453
+ segmentAttributeMap: c
454
+ })], l);
455
+ z(a), r(t);
456
+ return;
457
+ }
458
+ let te = n.colorSpace ?? "linearRGB";
459
+ if (i !== null) {
460
+ let e = n.temperatureColors;
461
+ if (!Array.isArray(e) || e.length !== 2) throw Error("SvgPathGradientAsync: temperatureColors must be a tuple of exactly 2 colors when temperatureMode is enabled.");
462
+ }
463
+ let ne = i === null ? null : O(n.temperatureColors, n.colorReferenceElement), re = i === null ? (() => {
464
+ let e = dt(ee), t = Array(e.length);
465
+ for (let n = 0; n < e.length; n += 1) t[n] = {
466
+ position: e[n].position,
467
+ rgba: e[n].rgba
468
+ };
469
+ return t;
470
+ })() : [], ie = lt(p, d, n.maxSegmentLength), ae = B(p, n.segments, ie), oe = p / ae, se = typeof n.overlap == "number" && n.overlap >= 0 ? n.overlap : d * .5, ce = oe * .45;
471
+ se > ce && (se = ce);
472
+ let le = typeof n.samplePointLimitPerSegment == "number" && n.samplePointLimitPerSegment > 10 ? n.samplePointLimitPerSegment : 250, ue = _t(c), de = [], fe = i === null ? null : [], pe = i === null ? null : [], me = 0, he = i === null ? re.length - 2 : 0, ge = 0, _e = () => {
473
+ let e = performance.now(), t = typeof n.frameBudgetMs == "number" ? n.frameBudgetMs : 8;
474
+ for (; ge < ae && performance.now() - e < t;) {
475
+ let e = ge * oe, t = (ge + 1) * oe, n = e, r = t;
476
+ if (ge !== 0 && (n = e - se), ge !== ae - 1 && (r = t + se), n = N(n, 0, p), r = N(r, 0, p), r > n) {
477
+ if (i !== null) {
478
+ let e = V(f, n, r, s, o, le);
479
+ fe.push(e.pathData), pe.push(e.bounds);
480
+ } else {
481
+ let e = (n + r) * .5 / p;
482
+ for (; me < he && e > re[me + 1].position;) me += 1;
483
+ let t = ft(re, e, te, me), i = ut(f, n, r, s, o, le);
484
+ de.push(vt(i, t, ue));
485
+ }
486
+ }
487
+ ge += 1;
488
+ }
489
+ if (ge < ae) {
490
+ requestAnimationFrame(_e);
491
+ return;
492
+ }
493
+ if (i !== null) {
494
+ let e = Infinity, t = -Infinity;
495
+ for (let n = 0; n < pe.length; n += 1) {
496
+ let r = pe[n], a = i === "vertical" ? r.minY : r.minX, o = i === "vertical" ? r.maxY : r.maxX;
497
+ a < e && (e = a), o > t && (t = o);
498
+ }
499
+ let n = ne[0], r = ne[1];
500
+ de.length = 0;
501
+ for (let a = 0; a < pe.length; a += 1) {
502
+ let o = pe[a], s = st(((i === "vertical" ? o.minY : o.minX) + (i === "vertical" ? o.maxY : o.maxX)) * .5, e, t, !0), c = gt(i === "vertical" ? ot(n, r, s, te) : ot(r, n, s, te)), l = fe[a];
503
+ de.push(vt(l, c, ue));
504
+ }
505
+ }
506
+ let c = bt(de, l);
507
+ z(a), r(c);
508
+ };
509
+ requestAnimationFrame(_e);
510
+ } catch (e) {
511
+ z(a), i(e);
512
+ }
513
+ });
514
+ }
515
+ //#endregion
516
+ //#region src/atoms/SparklineGradientPath.vue
517
+ var U = ["innerHTML"], St = {
518
+ __name: "SparklineGradientPath",
519
+ props: {
520
+ svgPathData: {
521
+ type: String,
522
+ required: !0
523
+ },
524
+ enabled: {
525
+ type: Boolean,
526
+ required: !0
527
+ },
528
+ strokeWidth: {
529
+ type: Number,
530
+ required: !0
531
+ },
532
+ highColor: {
533
+ type: String,
534
+ required: !0
535
+ },
536
+ lowColor: {
537
+ type: String,
538
+ required: !0
539
+ },
540
+ segments: {
541
+ type: Number,
542
+ required: !0
543
+ }
544
+ },
545
+ setup(e) {
546
+ let t = e, n = x(""), r = 0;
547
+ return w(() => [
548
+ t.enabled,
549
+ t.svgPathData,
550
+ t.strokeWidth,
551
+ t.highColor,
552
+ t.lowColor,
553
+ t.segments
554
+ ], async ([e]) => {
555
+ let i = ++r;
556
+ if (!e) {
557
+ n.value = "";
558
+ return;
559
+ }
560
+ let a = await xt(t.svgPathData, null, {
561
+ segments: t.segments,
562
+ temperatureMode: "vertical",
563
+ temperatureColors: [t.highColor, t.lowColor],
564
+ attrs: {
565
+ "stroke-width": t.strokeWidth,
566
+ "stroke-linecap": "round",
567
+ "stroke-linejoin": "round"
568
+ },
569
+ groupAttrs: { class: "vue-ui-sparkline-gradient" }
570
+ });
571
+ i === r && (n.value = a);
572
+ }, { immediate: !0 }), (e, t) => (b(), _("g", { innerHTML: n.value }, null, 8, U));
573
+ }
574
+ }, Ct = /* @__PURE__ */ e({ default: () => W }), wt = ["id"], Tt = ["id"], Et = { style: { position: "relative" } }, Dt = [
575
+ "xmlns",
576
+ "viewBox",
577
+ "aria-describedby"
578
+ ], Ot = ["width", "height"], kt = ["id"], At = [
579
+ "id",
580
+ "y1",
581
+ "y2"
582
+ ], jt = ["stop-color", "offset"], Mt = ["id"], Nt = [
583
+ "x",
584
+ "y",
585
+ "width",
586
+ "height"
587
+ ], Pt = ["clip-path"], Ft = { key: 0 }, It = [
588
+ "data-cy",
589
+ "d",
590
+ "fill"
591
+ ], Lt = [
592
+ "id",
593
+ "d",
594
+ "stroke-width"
595
+ ], Rt = [
596
+ "d",
597
+ "stroke",
598
+ "stroke-width",
599
+ "stroke-dasharray"
600
+ ], zt = [
601
+ "d",
602
+ "stroke",
603
+ "stroke-width"
604
+ ], Bt = [
605
+ "id",
606
+ "d",
607
+ "stroke-width"
608
+ ], Vt = [
609
+ "d",
610
+ "stroke",
611
+ "stroke-width",
612
+ "stroke-dasharray"
613
+ ], Ht = [
614
+ "d",
615
+ "stroke",
616
+ "stroke-width"
617
+ ], Ut = [
618
+ "x",
619
+ "y",
620
+ "width",
621
+ "height",
622
+ "fill",
623
+ "rx"
624
+ ], Wt = [
625
+ "x1",
626
+ "x2",
627
+ "y1",
628
+ "y2",
629
+ "stroke",
630
+ "stroke-dasharray",
631
+ "stroke-width"
632
+ ], Gt = [
633
+ "x1",
634
+ "x2",
635
+ "y1",
636
+ "y2",
637
+ "stroke",
638
+ "stroke-width",
639
+ "stroke-dasharray"
640
+ ], Kt = [
641
+ "cx",
642
+ "cy",
643
+ "r",
644
+ "fill",
645
+ "stroke",
646
+ "stroke-width"
647
+ ], qt = [
648
+ "x",
649
+ "y",
650
+ "font-size",
651
+ "font-weight",
652
+ "fill"
653
+ ], Jt = [
654
+ "x",
655
+ "y",
656
+ "width",
657
+ "height",
658
+ "fill",
659
+ "fill-opacity",
660
+ "stroke",
661
+ "stroke-opacity",
662
+ "stroke-width",
663
+ "stroke-dasharray"
664
+ ], Yt = [
665
+ "x",
666
+ "y",
667
+ "height",
668
+ "width",
669
+ "onMouseenter",
670
+ "onMouseleave",
671
+ "onClick"
672
+ ], Xt = ["title", "aria-label"], Zt = {
673
+ viewBox: "0 0 24 24",
674
+ width: "13",
675
+ height: "13",
676
+ "aria-hidden": "true",
677
+ focusable: "false"
678
+ }, Qt = ["stroke"], $t = {
679
+ key: 1,
680
+ style: {
681
+ position: "absolute",
682
+ top: "100%",
683
+ left: "0",
684
+ width: "100%"
685
+ },
686
+ "data-dom-to-png-ignore": "",
687
+ "aria-hidden": "true"
688
+ }, en = 280, W = /*#__PURE__*/ we({
689
+ __name: "vue-ui-sparkline",
690
+ props: {
691
+ config: {
692
+ type: Object,
693
+ default() {
694
+ return {};
695
+ }
696
+ },
697
+ dataset: {
698
+ type: Array,
699
+ default() {
700
+ return [];
701
+ }
702
+ },
703
+ showInfo: {
704
+ type: Boolean,
705
+ default: !0
706
+ },
707
+ selectedIndex: {
708
+ type: Number,
709
+ default: void 0
710
+ },
711
+ heightRatio: {
712
+ type: Number,
713
+ default: 1
714
+ },
715
+ forcedPadding: {
716
+ type: Number,
717
+ default: 30
718
+ },
719
+ zoomState: {
720
+ type: Object,
721
+ default: null
722
+ }
723
+ },
724
+ emits: [
725
+ "hoverIndex",
726
+ "selectDatapoint",
727
+ "zoom",
728
+ "zoomReset",
729
+ "update:zoomState"
730
+ ],
731
+ setup(e, { expose: we, emit: Je }) {
732
+ let Ye = Fe(() => import("./PackageVersion-DhXk363L.js").then((e) => e.t)), Xe = Fe(() => import("./SparkTooltip-BNpyQ021.js")), { vue_ui_sparkline: Ze } = ye(), { isThemeValid: Qe, warnInvalidTheme: $e } = Ce(), et = Ae(), T = e, tt = h(() => Array.isArray(T.dataset) && T.dataset.length > 0), E = x(ie()), rt = x(null), it = x(null), at = x(null), D = x(null), O = x(null), k = x(void 0), A = x(void 0), j = x(ut()), M = h(() => j.value.style.tooltip), ot = h(() => j.value.style.bar), N = h(() => j.value.style.line), P = h(() => j.value.style.area), F = h(() => j.value.style.dataLabel), I = h(() => j.value.style), L = h(() => j.value.style.zoom);
733
+ ge({
734
+ config: () => j.value,
735
+ dataset: () => T.dataset,
736
+ component: "VueUiSparkline",
737
+ rules: [
738
+ _e.emptyArray,
739
+ {
740
+ test: (e) => e.length > 500,
741
+ message: [
742
+ "👀 The dataset has > 500 datapoints. Consider if you really need this level of detail.",
743
+ "",
744
+ "▶️ Use larger time scales, or aggregated values"
745
+ ]
746
+ },
747
+ {
748
+ test: (e) => e.length > 1095,
749
+ message: [
750
+ "👀 The dataset has > 1095 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.",
751
+ "",
752
+ "▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance will be impacted."
753
+ ]
754
+ }
755
+ ]
756
+ });
757
+ function st(e) {
758
+ return T.config?.skeletonDataset && Array.isArray(T.config.skeletonDataset) ? T.config.skeletonDataset.map((e) => ({
759
+ period: "-",
760
+ value: e
761
+ })) : oe(e).map((e) => ({
762
+ period: "-",
763
+ value: e
764
+ }));
765
+ }
766
+ let ct = h(() => pe({
767
+ defaultConfig: {
768
+ gradientPath: { show: !1 },
769
+ temperatureColors: { show: !1 },
770
+ style: {
771
+ backgroundColor: "#99999930",
772
+ scaleMin: 0,
773
+ scaleMax: null,
774
+ animation: { show: !1 },
775
+ line: {
776
+ color: "#AAAAAA",
777
+ pulse: { show: !1 },
778
+ dashIndices: []
779
+ },
780
+ bar: { color: "#AAAAAA" },
781
+ area: { color: "#CACACA" },
782
+ zeroLine: { color: "#6A6A6A" },
783
+ dataLabel: { show: !1 },
784
+ tooltip: { show: !1 }
785
+ }
786
+ },
787
+ userConfig: j.value.skeletonConfig ?? {}
788
+ })), { loading: R, FINAL_DATASET: z, manualLoading: lt } = be({
789
+ ...Ge(T),
790
+ FINAL_CONFIG: j,
791
+ prepareConfig: ut,
792
+ callback: () => {
793
+ Promise.resolve().then(async () => {
794
+ await y(), En();
795
+ });
796
+ },
797
+ skeletonDataset: st(12),
798
+ skeletonConfig: pe({
799
+ defaultConfig: j.value,
800
+ userConfig: ct.value
801
+ })
802
+ }), { svgRef: B } = ke({ config: I.value.title });
803
+ function ut() {
804
+ let e = Se({
805
+ userConfig: T.config,
806
+ defaultConfig: Ze
807
+ }), t = {}, n = e.theme;
808
+ if (n) {
809
+ if (!Qe.value(e)) $e(e), t = e;
810
+ else {
811
+ let r = Se({
812
+ userConfig: je[n] || T.config,
813
+ defaultConfig: e
814
+ });
815
+ t = { ...Se({
816
+ userConfig: T.config,
817
+ defaultConfig: r
818
+ }) };
819
+ }
820
+ } else t = e;
821
+ return t;
822
+ }
823
+ let V = h(() => j.value?.style?.line.pulse || {}), dt = h(() => `${Math.max(200, Number(V.value.durationMs) || 4e3) / 1e3}s`), ft = x(0), pt = h(() => V.value?.begin || "0ms"), mt = x("0;1"), ht = h(() => V.value?.loop === !1 ? "1" : "indefinite"), gt = h(() => V.value?.loop === !1 ? "freeze" : void 0), _t = h(() => V.value.trail.show && H.value.lengthPx || 1), vt = h(() => !!V.value?.show && !Z.value && !et.value && !R.value && (X.value?.length || 0) > 1);
824
+ function yt() {
825
+ if (!vt.value) {
826
+ ft.value = 0;
827
+ return;
828
+ }
829
+ let e = B.value;
830
+ if (!e) return;
831
+ let t = `#${On.value}`, n = e.querySelector?.(t);
832
+ if (n && typeof n.getTotalLength == "function") {
833
+ let e = n.getTotalLength();
834
+ Number.isFinite(e) && e > 0 && (ft.value = e);
835
+ return;
836
+ }
837
+ requestAnimationFrame(() => {
838
+ let n = e.querySelector?.(t);
839
+ if (n && typeof n.getTotalLength == "function") {
840
+ let e = n.getTotalLength();
841
+ Number.isFinite(e) && e > 0 && (ft.value = e);
842
+ }
843
+ });
844
+ }
845
+ let bt = h(() => {
846
+ let e = V.value?.easing || "ease-in-out", t = {
847
+ ease: [
848
+ .25,
849
+ .1,
850
+ .25,
851
+ 1
852
+ ],
853
+ "ease-in": [
854
+ .42,
855
+ 0,
856
+ 1,
857
+ 1
858
+ ],
859
+ "ease-out": [
860
+ 0,
861
+ 0,
862
+ .58,
863
+ 1
864
+ ],
865
+ "ease-in-out": [
866
+ .42,
867
+ 0,
868
+ .58,
869
+ 1
870
+ ]
871
+ };
872
+ return e === "linear" ? {
873
+ calcMode: "linear",
874
+ keySplines: null,
875
+ keyTimes: "0;1"
876
+ } : e === "steps" ? {
877
+ calcMode: "discrete",
878
+ keySplines: null,
879
+ keyTimes: "0;1"
880
+ } : {
881
+ calcMode: "spline",
882
+ keySplines: (e === "cubic-bezier" ? Array.isArray(V.value?.cubicBezier) && V.value.cubicBezier.length === 4 ? V.value.cubicBezier : [
883
+ .4,
884
+ 0,
885
+ .2,
886
+ 1
887
+ ] : t[e] || t["ease-in-out"]).join(" "),
888
+ keyTimes: "0;1"
889
+ };
890
+ }), H = h(() => {
891
+ let e = V.value?.trail || {}, t = N.value.strokeWidth || 1;
892
+ return {
893
+ show: e.show !== !1,
894
+ lengthPx: e.length,
895
+ width: Math.max(1, Number(e.strokeWidth) || t * 2.2),
896
+ opacity: Math.min(1, Math.max(0, Number(e.opacity) ?? .6)),
897
+ fadeIn: .5,
898
+ fadeOut: .2
899
+ };
900
+ }), xt = x({
901
+ start: 0,
902
+ end: null
903
+ }), U = x(!1), Ct = x(!1), W = x(!1), tn = x("matrix(1, 0, 0, 1, 0, 0)"), nn = x(!1), rn = 0, an = 0, on = 0, sn = 0, cn = x(null), G = x(null), ln = x(!1), un = x({
904
+ time: 0,
905
+ x: 0,
906
+ y: 0,
907
+ pointerType: null
908
+ }), dn = h(() => {
909
+ let e = z.value.length;
910
+ if (!e) return {
911
+ start: 0,
912
+ end: -1
913
+ };
914
+ let t = Math.min(Math.max(0, xt.value.start || 0), e - 1);
915
+ return {
916
+ start: t,
917
+ end: Math.min(Math.max(t, xt.value.end == null ? e - 1 : xt.value.end), e - 1)
918
+ };
919
+ }), fn = h(() => {
920
+ let e = z.value.length;
921
+ return e ? dn.value.start > 0 || dn.value.end < e - 1 : !1;
922
+ }), pn = h(() => {
923
+ let { start: e, end: t } = dn.value;
924
+ return t < e ? [] : z.value.slice(e, t + 1).map((t, n) => ({
925
+ ...t,
926
+ __sourceIndex: e + n
927
+ }));
928
+ }), mn = h(() => l({
929
+ data: pn.value,
930
+ threshold: j.value.downsample.threshold
931
+ }));
932
+ h(() => {
933
+ if (!j.value.temperatureColors.show) return !1;
934
+ let e = pn.value.map(({ value: e }) => e).filter((e) => Number.isFinite(e));
935
+ return new Set(e).size <= 1;
936
+ }), w(() => T.config, (e) => {
937
+ R.value || (j.value = ut()), Mn(), q.value.chartWidth = I.value.chartWidth;
938
+ }, { deep: !0 }), w(() => T.dataset, (e) => {
939
+ Array.isArray(e) && e.length > 0 && (lt.value = !1), Xn(), Wn(), un.value = {
940
+ time: 0,
941
+ x: 0,
942
+ y: 0,
943
+ pointerType: null
944
+ }, xt.value = {
945
+ start: 0,
946
+ end: null
947
+ }, Yn(), K.value = l({
948
+ data: pn.value.map((e) => ({
949
+ ...e,
950
+ value: [void 0].includes(e.value) ? null : e.value
951
+ })),
952
+ threshold: j.value.downsample.threshold
953
+ });
954
+ let t = Nn();
955
+ J("update:zoomState", t), J("zoomReset", t);
956
+ }, { deep: !0 });
957
+ let K = x(hn());
958
+ function hn() {
959
+ return l({
960
+ data: pn.value.map((e) => I.value.animation.show && z.value.length > 1 ? {
961
+ ...e,
962
+ value: null
963
+ } : {
964
+ ...e,
965
+ value: [void 0].includes(e.value) ? null : e.value
966
+ }),
967
+ threshold: j.value.downsample.threshold
968
+ });
969
+ }
970
+ let gn = Ue(null), _n = Ue(null), vn = x(!1), yn = x(0), bn = x([]), xn = x(""), Sn = !1, Cn = h(() => {
971
+ let e = (mn.value || []).map((e) => `${e.period}::${Number.isFinite(e.value) ? e.value : 0}`).join("|"), t = j.value?.style?.animation || {}, n = !!j.value?.gradientPath?.show && !j.value.temperatureColors.show;
972
+ return `${e}#${!!t.show}#${t.animationFrames || 0}#${n}`;
973
+ });
974
+ function wn() {
975
+ Sn = !0, Tn();
976
+ }
977
+ function Tn() {
978
+ yn.value &&= (cancelAnimationFrame(yn.value), 0), bn.value.forEach((e) => clearTimeout(e)), bn.value = [], vn.value = !1;
979
+ }
980
+ function En() {
981
+ let e = j.value?.style?.animation || {}, t = mn.value || [], n = Cn.value, r = !!j.value.gradientPath.show && !j.value.temperatureColors.show;
982
+ if (n && n === xn.value && (vn.value || K.value.length === t.length)) return;
983
+ if (Tn(), r || !e.show || R.value || t.length <= 1 || et.value) {
984
+ K.value = t, xn.value = n;
985
+ return;
986
+ }
987
+ vn.value = !0, xn.value = n, K.value = [];
988
+ let i = Math.max(1, Number(e.animationFrames) || 1), a = Math.max(1, Math.floor(i / t.length)), o = 0, s = () => {
989
+ if (n !== Cn.value) {
990
+ Tn();
991
+ return;
992
+ }
993
+ if (o < t.length) {
994
+ K.value.push(t[o]);
995
+ let e = setTimeout(() => {
996
+ yn.value = requestAnimationFrame(s);
997
+ }, a);
998
+ bn.value.push(e), o += 1;
999
+ } else K.value = t, Tn();
1000
+ };
1001
+ yn.value = requestAnimationFrame(s);
1002
+ }
1003
+ w(Cn, () => {
1004
+ if (Sn) {
1005
+ Sn = !1, Tn(), K.value = mn.value || [], xn.value = Cn.value;
1006
+ return;
1007
+ }
1008
+ En();
1009
+ }), Ve(() => {
1010
+ Mn(), En();
1011
+ }), Be(() => {
1012
+ Tn(), Wn();
1013
+ });
1014
+ let Dn = x(0);
1015
+ w(() => R.value, async (e) => {
1016
+ e || (await y(), Dn.value += 1);
1017
+ }), w(() => vn.value, async (e) => {
1018
+ e || R.value || (await y(), Dn.value += 1);
1019
+ });
1020
+ let On = h(() => `sparkline_line_path_${E.value}`), kn = x(!0);
1021
+ async function An() {
1022
+ kn.value = !1, await y(), kn.value = !0, await y(), yt();
1023
+ }
1024
+ let jn = h(() => j.value.debug);
1025
+ function Mn() {
1026
+ if (p(T.dataset) ? (ae({
1027
+ componentName: "VueUiSparkline",
1028
+ type: "dataset",
1029
+ debug: jn.value
1030
+ }), lt.value = !0) : jn.value && T.dataset.forEach((e, t) => {
1031
+ he({
1032
+ datasetObject: e,
1033
+ requiredAttributes: ["period", "value"]
1034
+ }).forEach((e) => {
1035
+ ae({
1036
+ componentName: "VueUiSparkline",
1037
+ type: "datasetSerieAttribute",
1038
+ property: e,
1039
+ index: t
1040
+ });
1041
+ });
1042
+ }), p(T.dataset) || (lt.value = j.value.loading), j.value.responsive) {
1043
+ let e = Te(() => {
1044
+ let { width: e, height: t } = Ee({
1045
+ chart: rt.value,
1046
+ title: I.value.title.show && T.showInfo ? it.value : null,
1047
+ source: at.value
1048
+ });
1049
+ requestAnimationFrame(() => {
1050
+ q.value.width = e, q.value.height = t, q.value.chartWidth = I.value.chartWidth / 500 * e, q.value.padding = T.forcedPadding / 500 * e;
1051
+ });
1052
+ });
1053
+ gn.value && (_n.value && gn.value.unobserve(_n.value), gn.value.disconnect()), gn.value = new ResizeObserver(e), _n.value = rt.value.parentNode, gn.value.observe(_n.value);
1054
+ }
1055
+ }
1056
+ Be(() => {
1057
+ gn.value && (_n.value && gn.value.unobserve(_n.value), gn.value.disconnect());
1058
+ });
1059
+ let q = x({
1060
+ height: 80 * T.heightRatio,
1061
+ width: 500,
1062
+ chartWidth: I.value.chartWidth,
1063
+ padding: T.forcedPadding
1064
+ }), J = Je;
1065
+ function Nn() {
1066
+ if (!z.value.length) return {
1067
+ start: 0,
1068
+ end: 0
1069
+ };
1070
+ let { start: e, end: t } = dn.value;
1071
+ return {
1072
+ start: e,
1073
+ end: t + 1
1074
+ };
1075
+ }
1076
+ function Pn(e, t = Nn()) {
1077
+ if (!e || typeof e != "object") return null;
1078
+ let n = e.start !== void 0 && e.start !== null, r = e.end !== void 0 && e.end !== null;
1079
+ if (!n && !r) return null;
1080
+ let i = Number(n ? e.start : t.start), a = Number(r ? e.end : t.end);
1081
+ return !Number.isFinite(i) || !Number.isFinite(a) ? null : {
1082
+ start: i,
1083
+ end: a
1084
+ };
1085
+ }
1086
+ function Fn(e) {
1087
+ let t = Pn(e);
1088
+ if (!t) return null;
1089
+ let n = z.value.length;
1090
+ if (!n) return {
1091
+ start: 0,
1092
+ end: 0
1093
+ };
1094
+ let r = Math.max(0, Math.min(Math.trunc(t.start), n - 1));
1095
+ return {
1096
+ start: r,
1097
+ end: Math.max(r + 1, Math.min(Math.trunc(t.end), n))
1098
+ };
1099
+ }
1100
+ function In(e, { skipAnimation: t = !0, transition: n = !1 } = {}) {
1101
+ let r = Fn(e);
1102
+ if (!r) return null;
1103
+ let i = Nn();
1104
+ if (r.start !== i.start || r.end !== i.end) {
1105
+ Xn(), un.value = {
1106
+ time: 0,
1107
+ x: 0,
1108
+ y: 0,
1109
+ pointerType: null
1110
+ };
1111
+ let e = {
1112
+ start: r.start,
1113
+ end: r.end > r.start ? r.end - 1 : r.start
1114
+ };
1115
+ n ? Gn(e) : (t && wn(), xt.value = e), Yn();
1116
+ }
1117
+ return Nn();
1118
+ }
1119
+ function Ln(e) {
1120
+ let t = In(e, { transition: !0 });
1121
+ t && J("update:zoomState", t);
1122
+ }
1123
+ w([() => T.zoomState, () => z.value.length], ([e, t]) => {
1124
+ !e || t <= 0 || In(e, { transition: !0 });
1125
+ }, {
1126
+ deep: !0,
1127
+ immediate: !0
1128
+ });
1129
+ let Y = h(() => {
1130
+ let { top: e, right: t, bottom: n, left: r } = I.value.padding;
1131
+ return {
1132
+ top: e,
1133
+ left: r,
1134
+ right: q.value.width - t,
1135
+ bottom: q.value.height - n,
1136
+ start: T.showInfo && F.value.show && F.value.position === "left" ? q.value.width - q.value.chartWidth + r : q.value.padding + r,
1137
+ width: T.showInfo && F.value.show ? q.value.chartWidth - r - t : q.value.width - q.value.padding - r - t,
1138
+ height: q.value.height - e - n
1139
+ };
1140
+ });
1141
+ function Rn(e) {
1142
+ let t = z.value.length;
1143
+ if (!t) return {
1144
+ start: 0,
1145
+ end: -1
1146
+ };
1147
+ let n = Math.max(0, Math.min(Math.trunc(Number(e?.start) || 0), t - 1)), r = e?.end === null || e?.end === void 0 ? t - 1 : Math.trunc(Number(e.end));
1148
+ return {
1149
+ start: n,
1150
+ end: Math.max(n, Math.min(Number.isFinite(r) ? r : n, t - 1))
1151
+ };
1152
+ }
1153
+ function zn(e) {
1154
+ let t = (e || []).map((e) => {
1155
+ let t = e?.value;
1156
+ return isNaN(t) || [
1157
+ void 0,
1158
+ null,
1159
+ "NaN",
1160
+ NaN,
1161
+ Infinity,
1162
+ -Infinity
1163
+ ].includes(t) ? 0 : t || 0;
1164
+ }), n = I.value.scaleMin, r = I.value.scaleMax, i = [null, void 0].includes(n) ? t.length ? Math.min(...t) : 0 : n, a = [null, void 0].includes(r) ? t.length ? Math.max(...t) : 0 : r, o = Math.abs(i >= 0 ? 0 : i), s = a + o;
1165
+ return {
1166
+ absoluteMin: Number.isFinite(o) ? o : 0,
1167
+ absoluteMax: Number.isFinite(s) ? s : 0
1168
+ };
1169
+ }
1170
+ function Bn(e, t) {
1171
+ let n = t.absoluteMax === 0 ? 0 : (e + t.absoluteMin) / t.absoluteMax;
1172
+ return Y.value.bottom - Y.value.height * n;
1173
+ }
1174
+ function Vn(e, t, n, r) {
1175
+ let i = Math.max(1, e.end - e.start), a = Math.max(1, t.end - t.start), o = Y.value.start, s = Y.value.width, c = i / a, l = o + s * (e.start - t.start) / a - c * o, u = Bn(0, n), d = Bn(0, r), f = 1;
1176
+ n.absoluteMax > 0 && r.absoluteMax > 0 && (f = n.absoluteMax / r.absoluteMax);
1177
+ let p = d - f * u;
1178
+ return `matrix(${c}, 0, 0, ${f}, ${l}, ${p})`;
1179
+ }
1180
+ function Hn(e) {
1181
+ if (!W.value || !e) return;
1182
+ let t = tn.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*([-+\d.eE]+),\s*([-+\d.eE]+)\)$/);
1183
+ if (!t) return;
1184
+ let n = Number(t[1]), r = Number(t[2]), i = Number(t[3]), a = Number(t[4]);
1185
+ if ([
1186
+ n,
1187
+ r,
1188
+ i,
1189
+ a
1190
+ ].every(Number.isFinite)) return {
1191
+ transform: `matrix(1, 0, 0, 1, ${(n - 1) * e.x + i}, ${(r - 1) * e.y + a})`,
1192
+ transformOrigin: "0 0",
1193
+ transformBox: "view-box",
1194
+ transition: nn.value ? `transform ${en}ms cubic-bezier(0.4, 0, 0.2, 1)` : "none",
1195
+ willChange: "transform"
1196
+ };
1197
+ }
1198
+ function Un(e) {
1199
+ if (!W.value || !e) return;
1200
+ let t = tn.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*[-+\d.eE]+\)$/);
1201
+ if (!t) return;
1202
+ let n = Number(t[1]), r = Number(t[2]);
1203
+ if ([n, r].every(Number.isFinite)) return {
1204
+ transform: `matrix(1, 0, 0, 1, ${(n - 1) * e.x + r}, 0)`,
1205
+ transformOrigin: "0 0",
1206
+ transformBox: "view-box",
1207
+ transition: nn.value ? `transform ${en}ms cubic-bezier(0.4, 0, 0.2, 1)` : "none",
1208
+ willChange: "transform"
1209
+ };
1210
+ }
1211
+ function Wn({ resetTransform: e = !0 } = {}) {
1212
+ sn += 1, rn &&= (cancelAnimationFrame(rn), 0), an &&= (cancelAnimationFrame(an), 0), on &&= (clearTimeout(on), 0), nn.value = !1, W.value = !1, e && (tn.value = "matrix(1, 0, 0, 1, 0, 0)");
1213
+ }
1214
+ async function Gn(e) {
1215
+ let t = Rn(e), n = { ...dn.value };
1216
+ if (t.start === n.start && t.end === n.end) return;
1217
+ Wn();
1218
+ let r = vn.value;
1219
+ r && (Tn(), K.value = mn.value || []);
1220
+ let i = zn(K.value);
1221
+ wn(), xt.value = {
1222
+ start: t.start,
1223
+ end: t.end
1224
+ };
1225
+ let a = mn.value || [];
1226
+ if (r || !B.value || R.value || et.value || n.end < n.start || t.end < t.start || a.length <= 1) {
1227
+ K.value = a, xn.value = Cn.value, tn.value = "matrix(1, 0, 0, 1, 0, 0)";
1228
+ return;
1229
+ }
1230
+ let o = Vn(t, n, zn(a), i), s = ++sn;
1231
+ W.value = !0, nn.value = !1, tn.value = o, K.value = a, xn.value = Cn.value, await y(), s === sn && (rn = requestAnimationFrame(() => {
1232
+ rn = 0, an = requestAnimationFrame(() => {
1233
+ an = 0, s === sn && (nn.value = !0, tn.value = "matrix(1, 0, 0, 1, 0, 0)", on = setTimeout(async () => {
1234
+ on = 0, s === sn && (nn.value = !1, W.value = !1, await An());
1235
+ }, en));
1236
+ });
1237
+ }));
1238
+ }
1239
+ let Kn = h(() => !U.value || cn.value == null || G.value == null ? null : {
1240
+ x: Math.min(cn.value, G.value),
1241
+ width: Math.abs(G.value - cn.value),
1242
+ y: 0,
1243
+ height: q.value.height
1244
+ });
1245
+ function qn(e) {
1246
+ let t = B.value;
1247
+ if (!t) return null;
1248
+ let n = t.getScreenCTM?.();
1249
+ if (n && typeof t.createSVGPoint == "function") {
1250
+ let r = t.createSVGPoint();
1251
+ return r.x = e.clientX, r.y = e.clientY, r.matrixTransform(n.inverse()).x;
1252
+ }
1253
+ let r = t.getBoundingClientRect?.();
1254
+ return r?.width ? (e.clientX - r.left) / r.width * q.value.width : null;
1255
+ }
1256
+ function Jn(e) {
1257
+ return Math.min(Math.max(e, Y.value.start), Y.value.start + Y.value.width);
1258
+ }
1259
+ function Yn() {
1260
+ A.value = k.value, k.value = void 0, O.value = null, D.value = null, J("hoverIndex", { index: void 0 });
1261
+ }
1262
+ function Xn(e) {
1263
+ e?.pointerId != null && B.value?.hasPointerCapture?.(e.pointerId) && B.value.releasePointerCapture(e.pointerId), U.value = !1, cn.value = null, G.value = null;
1264
+ }
1265
+ function Zn(e) {
1266
+ (fn.value || U.value) && (Xn(e), un.value = {
1267
+ time: 0,
1268
+ x: 0,
1269
+ y: 0,
1270
+ pointerType: null
1271
+ }, Gn({
1272
+ start: 0,
1273
+ end: Math.max(0, z.value.length - 1)
1274
+ }), Yn(), J("update:zoomState", Nn()), J("zoomReset"));
1275
+ }
1276
+ function Qn(e) {
1277
+ (e.button === void 0 || e.button === 0) && (e.preventDefault(), e.stopPropagation(), Zn());
1278
+ }
1279
+ function $n(e) {
1280
+ e.detail === 0 && Zn();
1281
+ }
1282
+ function er(e) {
1283
+ if (!L.value.show) return;
1284
+ if (!fn.value || !e) return !1;
1285
+ let t = Date.now(), n = e.pointerType || "mouse", r = un.value, i = n === "touch" ? 450 : 350, a = n === "touch" ? 28 : 10, o = Math.hypot(e.clientX - r.x, e.clientY - r.y);
1286
+ return r.time > 0 && r.pointerType === n && t - r.time <= i && o <= a ? (ln.value = !0, Zn(e), setTimeout(() => {
1287
+ ln.value = !1;
1288
+ }, 0), !0) : (un.value = {
1289
+ time: t,
1290
+ x: e.clientX,
1291
+ y: e.clientY,
1292
+ pointerType: n
1293
+ }, !1);
1294
+ }
1295
+ function tr(e = B.value) {
1296
+ Ct.value = !0, e?.classList?.add("vue-ui-sparkline-pointer-focus");
1297
+ }
1298
+ function nr() {
1299
+ Ct.value = !1, B.value?.classList?.remove("vue-ui-sparkline-pointer-focus");
1300
+ }
1301
+ function rr(e) {
1302
+ if (e.button !== void 0 && e.button !== 0 || (tr(e.currentTarget), !L.value.show) || R.value || pn.value.length < 2) return;
1303
+ let t = qn(e);
1304
+ if (t == null) return;
1305
+ let n = Y.value.start, r = n + Y.value.width;
1306
+ t < n || t > r || (B.value?.focus?.({ preventScroll: !0 }), U.value = !0, cn.value = Jn(t), G.value = Jn(t));
1307
+ }
1308
+ function ir(e) {
1309
+ if (!L.value.show || !U.value) return;
1310
+ let t = qn(e);
1311
+ t != null && (G.value = Jn(t), cn.value != null && Math.abs(G.value - cn.value) >= 2 && !B.value?.hasPointerCapture?.(e.pointerId) && B.value?.setPointerCapture?.(e.pointerId));
1312
+ }
1313
+ function ar(e) {
1314
+ if (!L.value.show || !U.value) return;
1315
+ let t = qn(e);
1316
+ t != null && (G.value = Jn(t));
1317
+ let n = cn.value, r = G.value;
1318
+ if ((n == null || r == null ? 0 : Math.abs(r - n)) < Math.max(4, Y.value.width * .01)) {
1319
+ if (er(e)) return;
1320
+ Xn(e);
1321
+ return;
1322
+ }
1323
+ let i = Math.min(n, r), a = Math.max(n, r), o = Math.max(1, Y.value.width), s = pn.value.length, c = (i - Y.value.start) / o, l = (a - Y.value.start) / o, u = Math.max(0, Math.min(s - 1, Math.floor(c * (s - 1)))), d = Math.max(u, Math.min(s - 1, Math.ceil(l * (s - 1))));
1324
+ if (d <= u) {
1325
+ Xn(e);
1326
+ return;
1327
+ }
1328
+ let f = dn.value.start + u, p = dn.value.start + d;
1329
+ Gn({
1330
+ start: f,
1331
+ end: p
1332
+ }), un.value = {
1333
+ time: 0,
1334
+ x: 0,
1335
+ y: 0,
1336
+ pointerType: null
1337
+ }, Yn(), J("zoom", {
1338
+ start: f,
1339
+ end: p
1340
+ }), J("update:zoomState", {
1341
+ start: f,
1342
+ end: p + 1
1343
+ }), ln.value = !0, setTimeout(() => {
1344
+ ln.value = !1;
1345
+ }, 0), Xn(e);
1346
+ }
1347
+ let or = h(() => [null, void 0].includes(I.value.scaleMin) ? Math.min(...K.value.map((e) => isNaN(e.value) || [
1348
+ void 0,
1349
+ null,
1350
+ "NaN",
1351
+ NaN,
1352
+ Infinity,
1353
+ -Infinity
1354
+ ].includes(e.value) ? 0 : e.value || 0)) : I.value.scaleMin), sr = h(() => [null, void 0].includes(I.value.scaleMax) ? Math.max(...K.value.map((e) => isNaN(e.value) || [
1355
+ void 0,
1356
+ null,
1357
+ "NaN",
1358
+ NaN,
1359
+ Infinity,
1360
+ -Infinity
1361
+ ].includes(e.value) ? 0 : e.value || 0)) : I.value.scaleMax), cr = h(() => {
1362
+ let e = or.value >= 0 ? 0 : or.value;
1363
+ return Math.abs(e);
1364
+ }), lr = h(() => sr.value + cr.value), ur = h(() => Y.value.bottom - Y.value.height * dr(cr.value));
1365
+ function dr(e) {
1366
+ return isNaN(e / lr.value) ? 0 : e / lr.value;
1367
+ }
1368
+ let fr = h(() => K.value.length - 1 || 1), pr = x([]), mr = 0;
1369
+ Ke(() => {
1370
+ let e = ++mr;
1371
+ (async () => {
1372
+ let t = await ve({
1373
+ values: mn.value.map((e) => e.period),
1374
+ maxDatapoints: mn.value.length,
1375
+ formatter: F.value.datetimeFormatter,
1376
+ start: 0,
1377
+ end: mn.value.length
1378
+ });
1379
+ e === mr && (pr.value = t);
1380
+ })();
1381
+ });
1382
+ let X = h(() => {
1383
+ let e = K.value.length, t = Y.value.width / fr.value, n = Math.max(0, Y.value.start), r = Math.min(q.value.width, Y.value.right, Y.value.start + Y.value.width), i = Math.max(0, r - n), o = e > 0 ? i / e : 0;
1384
+ return K.value.map((e, r) => {
1385
+ let i = isNaN(e.value) || [
1386
+ void 0,
1387
+ "NaN",
1388
+ NaN,
1389
+ Infinity,
1390
+ -Infinity
1391
+ ].includes(e.value) ? 0 : e.value, s = n + r * o, c = Z.value ? o : t, l = Z.value ? s + o / 2 : Y.value.start + r * t;
1392
+ return {
1393
+ value: e.value,
1394
+ absoluteValue: i,
1395
+ period: pr.value && pr.value[r] && pr.value[r].text ? pr.value[r].text : e.period,
1396
+ plotValue: i + cr.value,
1397
+ toMax: dr(i + cr.value),
1398
+ sourceIndex: e.__sourceIndex ?? r,
1399
+ x: l,
1400
+ barX: s,
1401
+ y: Y.value.bottom - Y.value.height * dr(i + cr.value),
1402
+ id: `plot_${E.value}_${r}`,
1403
+ color: Z.value ? ot.value.color : P.value.useGradient ? a(N.value.color, .05 * (1 - r / fr.value)) : N.value.color,
1404
+ width: c
1405
+ };
1406
+ });
1407
+ }), hr = h(() => {
1408
+ if (T.selectedIndex !== void 0 && T.selectedIndex !== null && T.selectedIndex >= 0 && T.selectedIndex < z.value.length) {
1409
+ let e = X.value.findIndex((e) => e.sourceIndex === T.selectedIndex);
1410
+ return e >= 0 ? e : null;
1411
+ }
1412
+ return O.value !== void 0 && O.value !== null && O.value >= 0 && O.value < X.value.length ? O.value : null;
1413
+ });
1414
+ function gr(e, t) {
1415
+ return Number.isFinite(e?.sourceIndex) ? e.sourceIndex : t;
1416
+ }
1417
+ function _r(e, t) {
1418
+ let n = gr(e, t);
1419
+ j.value.events.datapointEnter && j.value.events.datapointEnter({
1420
+ datapoint: e,
1421
+ seriesIndex: n
1422
+ }), O.value = t, D.value = t, k.value = e, A.value ||= e, J("hoverIndex", { index: n });
1423
+ }
1424
+ function vr(e, t) {
1425
+ let n = gr(e, t);
1426
+ j.value.events.datapointLeave && j.value.events.datapointLeave({
1427
+ datapoint: e,
1428
+ seriesIndex: n
1429
+ }), A.value = k.value, k.value = void 0, O.value = null, D.value = null, J("hoverIndex", { index: void 0 });
1430
+ }
1431
+ let yr = h(() => {
1432
+ if (tt.value) {
1433
+ let e = X.value.map((e) => e.absoluteValue), t = e.reduce((e, t) => e + t, 0);
1434
+ return {
1435
+ latest: X.value[X.value.length - 1] ? X.value[X.value.length - 1].absoluteValue : 0,
1436
+ sum: t,
1437
+ average: t / X.value.length,
1438
+ median: ue(e),
1439
+ trend: se(X.value.map(({ x: e, y: t, absoluteValue: n }) => ({
1440
+ x: e,
1441
+ y: t,
1442
+ value: n
1443
+ }))).trend
1444
+ };
1445
+ }
1446
+ return {
1447
+ latest: null,
1448
+ sum: null,
1449
+ average: null,
1450
+ median: null,
1451
+ trend: null
1452
+ };
1453
+ }), br = h(() => tt.value ? F.value.valueType === "latest" ? yr.value.latest : F.value.valueType === "sum" ? yr.value.sum : F.value.valueType === "average" ? yr.value.average : 0 : 0), Z = h(() => j.value.type && j.value.type === "bar");
1454
+ function xr(e, t) {
1455
+ if (ln.value) return;
1456
+ let n = gr(e, t);
1457
+ j.value.events.datapointClick && j.value.events.datapointClick({
1458
+ datapoint: e,
1459
+ seriesIndex: n
1460
+ }), J("selectDatapoint", {
1461
+ datapoint: e,
1462
+ index: n
1463
+ });
1464
+ }
1465
+ let Q = h(() => N.value.cutNullValues);
1466
+ function Sr(e) {
1467
+ return ![
1468
+ null,
1469
+ void 0,
1470
+ "NaN",
1471
+ NaN,
1472
+ Infinity,
1473
+ -Infinity
1474
+ ].includes(e);
1475
+ }
1476
+ function Cr(e, t) {
1477
+ let n = e[t - 1], r = e[t + 1], i = !!n && !!r && n.value == null && r.value == null || !n && !!r && r.value == null || !!n && !r && n.value == null;
1478
+ return Sr(e[t]?.value) && i && Q.value;
1479
+ }
1480
+ function wr(e, t) {
1481
+ return k.value && e.id === k.value.id || hr.value === t || z.value.length === 1;
1482
+ }
1483
+ function Tr(e, t) {
1484
+ return Z.value || !Sr(e?.value) ? !1 : I.value.plot.show && wr(e, t) || Cr(X.value, t);
1485
+ }
1486
+ function Er(e, t) {
1487
+ return Math.max(1, wr(e, t) ? I.value.plot.radius : I.value.plot.radius * .7);
1488
+ }
1489
+ function Dr(e, t) {
1490
+ return wr(e, t) ? I.value.plot.stroke : I.value.backgroundColor;
1491
+ }
1492
+ let Or = h(() => Q.value ? X.value : X.value.filter((e) => e.value !== null)), kr = h(() => Array.isArray(N.value.dashIndices) ? N.value.dashIndices.map((e) => Math.trunc(Number(e))).filter(Number.isFinite) : []), Ar = h(() => new Set(kr.value));
1493
+ function jr(e, t) {
1494
+ let n = e?.sourceIndex, r = t?.sourceIndex;
1495
+ if (!Number.isFinite(n) || !Number.isFinite(r)) return !1;
1496
+ let i = Math.min(n, r), a = Math.max(n, r);
1497
+ for (let e of kr.value) if (e >= i && e <= a) return !0;
1498
+ return !1;
1499
+ }
1500
+ function Mr(e) {
1501
+ let t = /* @__PURE__ */ new Set();
1502
+ for (let n = 1; n < e.length; n += 1) jr(e[n - 1], e[n]) && t.add(n - 1);
1503
+ return t;
1504
+ }
1505
+ function Nr(e) {
1506
+ let t = /* @__PURE__ */ new Set();
1507
+ if (Q.value || !N.value.nullDashes?.show) return t;
1508
+ for (let n = 1; n < e.length; n += 1) {
1509
+ let r = e[n - 1]?.sourceIndex, i = e[n]?.sourceIndex;
1510
+ Number.isFinite(r) && Number.isFinite(i) && Math.abs(i - r) > 1 && t.add(n - 1);
1511
+ }
1512
+ return t;
1513
+ }
1514
+ let Pr = h(() => Q.value ? /* @__PURE__ */ new Set() : Mr(Or.value)), Fr = h(() => Nr(Or.value)), Ir = h(() => /* @__PURE__ */ new Set([...Pr.value, ...Fr.value])), Lr = h(() => Q.value ? X.value.reduce((e, t, n) => (Ar.value.has(t.sourceIndex) && e.push(n), e), []) : []), Rr = h(() => Q.value ? Lr.value.length > 0 : Ir.value.size > 0), zr = h(() => X.value.filter((e) => e.value !== null)), Br = h(() => zr.value.length > 1), Vr = h(() => Z.value || !Br.value ? "" : Q.value ? i(X.value) : d(Or.value)), Hr = h(() => Z.value || !Br.value ? "" : Q.value ? re(X.value) : ne(Or.value)), Ur = h(() => Z.value || !Rr.value || !Br.value ? [] : Q.value ? c(X.value, Lr.value) : f(Or.value, Ir.value)), Wr = h(() => Z.value || !Rr.value || !Br.value ? [] : Q.value ? r(X.value, Lr.value) : o(Or.value, Ir.value)), Gr = h(() => Z.value || !P.value.show || !Br.value ? [] : N.value.smooth ? u(Or.value, Y.value.bottom, Q.value).filter(Boolean) : (Q.value ? n(X.value, Y.value.bottom) : le(Or.value, Y.value.bottom)).split(";").filter(Boolean).map((e) => `M${e}Z`)), Kr = h(() => Z.value || !j.value.gradientPath.show || j.value.temperatureColors.show ? "" : `M ${(N.value.smooth ? Vr.value : Hr.value) || "0,0"}`), qr = h(() => {
1515
+ if (!j.value.temperatureColors.show) return null;
1516
+ let e = j.value.temperatureColors.colors;
1517
+ return !Array.isArray(e) || !e.length ? null : e.map((e) => ee(e));
1518
+ }), $ = h(() => {
1519
+ if (!j.value.temperatureColors.show) return null;
1520
+ let e = j.value.temperatureColors.colors;
1521
+ return !Array.isArray(e) || !e.length ? null : e.map((e) => ee(e));
1522
+ });
1523
+ function Jr(e) {
1524
+ if (!Number.isFinite(e?.y)) return 0;
1525
+ let t = Y.value.height || 1, n = (e.y - Y.value.top) / t;
1526
+ return Math.min(1, Math.max(0, n));
1527
+ }
1528
+ function Yr(e) {
1529
+ let t = qr.value;
1530
+ return !Array.isArray(t) || !t.length ? e.color : te({
1531
+ colors: t,
1532
+ ratio: Jr(e)
1533
+ });
1534
+ }
1535
+ w(() => [
1536
+ vt.value,
1537
+ On.value,
1538
+ X.value.length,
1539
+ q.value.width,
1540
+ q.value.height,
1541
+ j.value?.style?.line?.smooth
1542
+ ], async () => {
1543
+ await y(), yt();
1544
+ }, { immediate: !0 }), Ve(async () => {
1545
+ await y(), yt();
1546
+ }), w(() => R.value, async (e) => {
1547
+ e || await An();
1548
+ }), w(() => vn.value, async (e) => {
1549
+ e || R.value || await An();
1550
+ }), w([() => T.selectedIndex, () => X.value], ([e], [t]) => {
1551
+ if (e == null) {
1552
+ if (t != null) {
1553
+ O.value = null, D.value = null, k.value = void 0;
1554
+ return;
1555
+ }
1556
+ let e = k.value?.sourceIndex;
1557
+ if (e == null) return;
1558
+ let n = X.value.findIndex((t) => t.sourceIndex === e);
1559
+ if (n < 0) {
1560
+ O.value = null, D.value = null, k.value = void 0;
1561
+ return;
1562
+ }
1563
+ O.value = n, D.value = n, k.value = X.value[n];
1564
+ return;
1565
+ }
1566
+ if (e < 0 || e >= z.value.length) return;
1567
+ let n = X.value.findIndex((t) => t.sourceIndex === e);
1568
+ if (n < 0) {
1569
+ O.value = null, D.value = null, k.value = void 0;
1570
+ return;
1571
+ }
1572
+ let r = X.value[n];
1573
+ r && (O.value = n, D.value = n, k.value = r);
1574
+ });
1575
+ let Xr = x(!1);
1576
+ function Zr() {
1577
+ let e = hr.value;
1578
+ if (e !== null && e >= 0 && e < X.value.length) {
1579
+ let t = X.value[e];
1580
+ if (t) {
1581
+ D.value = e, k.value = t, O.value = e, Xr.value = !0;
1582
+ return;
1583
+ }
1584
+ }
1585
+ D.value = null, !k.value && X.value.length && _r(X.value.at(-1), X.value.length - 1), Xr.value = !0;
1586
+ }
1587
+ function Qr() {
1588
+ nr(), A.value = k.value, (T.selectedIndex === void 0 || T.selectedIndex === null) && (D.value = null, k.value = void 0, O.value = null, J("hoverIndex", { index: void 0 })), Xr.value = !1;
1589
+ }
1590
+ we({
1591
+ resetZoom: Zn,
1592
+ setZoomState: Ln
1593
+ });
1594
+ function $r(e) {
1595
+ if (!B.value || document.activeElement !== B.value) return;
1596
+ if (nr(), A.value = k.value, e.key === "Escape") {
1597
+ (fn.value || U.value) && (e.preventDefault(), e.stopPropagation(), Zn());
1598
+ return;
1599
+ }
1600
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight";
1601
+ if (!t && !n) return;
1602
+ let r = X.value.length;
1603
+ if (!r) return;
1604
+ e.preventDefault(), e.stopPropagation();
1605
+ let i = D.value, a = i !== null && i >= 0 && i < r, o = k.value ? X.value.findIndex((e) => e.id === k.value.id) : -1;
1606
+ a ? n ? (i += 1, i >= r && (i = 0)) : t && (--i, i < 0 && (i = r - 1)) : o !== null && o >= 0 && o < r ? (i = n ? o + 1 : o - 1, i >= r && (i = 0), i < 0 && (i = r - 1)) : i = n ? 0 : r - 1;
1607
+ let s = X.value[i];
1608
+ s && (D.value = i, _r(s, i));
1609
+ }
1610
+ let ei = h(() => ({
1611
+ headers: [j.value.translations.period, j.value.translations.value],
1612
+ rows: X.value.map((e) => [e.period, e.absoluteValue])
1613
+ }));
1614
+ return (n, r) => (b(), _("div", {
1615
+ ref_key: "sparklineChart",
1616
+ ref: rt,
1617
+ class: "vue-data-ui-component vue-ui-sparkline",
1618
+ id: E.value,
1619
+ style: ze(`width:100%;font-family:${I.value.fontFamily};`)
1620
+ }, [
1621
+ v("p", {
1622
+ id: `chart-instructions-${E.value}`,
1623
+ class: "sr-only"
1624
+ }, We(j.value.a11y.translations.keyboardNavigation), 9, Tt),
1625
+ ei.value?.rows?.length ? (b(), Me(Oe, {
1626
+ key: 0,
1627
+ uid: E.value,
1628
+ head: ei.value.headers,
1629
+ body: ei.value.rows,
1630
+ notice: j.value.a11y.translations.tableAvailable,
1631
+ caption: j.value.a11y.translations.tableCaption
1632
+ }, null, 8, [
1633
+ "uid",
1634
+ "head",
1635
+ "body",
1636
+ "notice",
1637
+ "caption"
1638
+ ])) : g("", !0),
1639
+ He(n.$slots, "before", Re(Ie({
1640
+ selected: k.value,
1641
+ latest: yr.value.latest,
1642
+ sum: yr.value.sum,
1643
+ average: yr.value.average,
1644
+ median: yr.value.median,
1645
+ trend: yr.value.trend
1646
+ })), void 0, !0),
1647
+ I.value.title.show && e.showInfo ? (b(), _("div", {
1648
+ key: 1,
1649
+ ref_key: "chartTitle",
1650
+ ref: it,
1651
+ class: "vue-ui-sparkline-title",
1652
+ style: ze(`display:flex;align-items:center;width:100%;color:${I.value.title.color};background:${I.value.backgroundColor};justify-content:${I.value.title.textAlign === "left" ? "flex-start" : I.value.title.textAlign === "right" ? "flex-end" : "center"};height:${I.value.title.fontSize * 2}px;font-size:${I.value.title.fontSize}px;font-weight:${I.value.title.bold ? "bold" : "normal"};`)
1653
+ }, [v("span", { style: ze(`padding:${I.value.title.textAlign === "left" ? "0 0 0 12px" : I.value.title.textAlign === "right" ? "0 12px 0 0" : "0"}`) }, We(k.value ? k.value.period : I.value.title.text), 5)], 4)) : g("", !0),
1654
+ v("div", Et, [
1655
+ (b(), _("svg", {
1656
+ ref_key: "svgRef",
1657
+ ref: B,
1658
+ class: Le({ "vue-ui-sparkline-pointer-focus": Ct.value }),
1659
+ xmlns: C(fe),
1660
+ viewBox: `0 0 ${q.value.width} ${q.value.height}`,
1661
+ style: ze({
1662
+ background: I.value.backgroundColor,
1663
+ overflow: "visible",
1664
+ direction: "ltr",
1665
+ cursor: L.value.show ? U.value ? "col-resize" : "crosshair" : "default",
1666
+ touchAction: "pan-y",
1667
+ userSelect: "none"
1668
+ }),
1669
+ tabindex: "0",
1670
+ "aria-describedby": `chart-instructions-${E.value}`,
1671
+ "aria-keyshortcuts": "Escape",
1672
+ onMouseleave: r[0] ||= (e) => A.value = void 0,
1673
+ onFocus: Zr,
1674
+ onBlur: Qr,
1675
+ onKeydown: $r,
1676
+ onPointerdown: rr,
1677
+ onPointermove: ir,
1678
+ onPointerup: ar,
1679
+ onPointercancel: Xn
1680
+ }, [
1681
+ Pe(C(Ye)),
1682
+ n.$slots["chart-background"] ? (b(), _("foreignObject", {
1683
+ key: 0,
1684
+ x: 0,
1685
+ y: 0,
1686
+ width: q.value.width <= 0 ? 10 : q.value.width,
1687
+ height: q.value.height <= 0 ? 10 : q.value.height,
1688
+ style: { pointerEvents: "none" }
1689
+ }, [He(n.$slots, "chart-background", {}, void 0, !0)], 8, Ot)) : g("", !0),
1690
+ v("defs", null, [
1691
+ Pe(De, {
1692
+ t: "linear",
1693
+ x1: "0%",
1694
+ y1: "0%",
1695
+ x2: "100%",
1696
+ y2: "0%",
1697
+ id: `sparkline_gradient_${E.value}`,
1698
+ stops: [[
1699
+ "0%",
1700
+ C(de)(C(a)(P.value.color, .05), P.value.opacity),
1701
+ 1
1702
+ ], [
1703
+ "100%",
1704
+ C(de)(P.value.color, P.value.opacity),
1705
+ 1
1706
+ ]]
1707
+ }, null, 8, ["id", "stops"]),
1708
+ Pe(De, {
1709
+ t: "linear",
1710
+ x2: "0%",
1711
+ y2: "100%",
1712
+ id: `sparkline_bar_gradient_pos_${E.value}`,
1713
+ stops: [[
1714
+ "0%",
1715
+ ot.value.color,
1716
+ 1
1717
+ ], [
1718
+ "100%",
1719
+ C(a)(ot.value.color, .05),
1720
+ 1
1721
+ ]]
1722
+ }, null, 8, ["id", "stops"]),
1723
+ Pe(De, {
1724
+ t: "linear",
1725
+ x2: "0%",
1726
+ y2: "100%",
1727
+ id: `sparkline_bar_gradient_neg_${E.value}`,
1728
+ stops: [[
1729
+ "0%",
1730
+ C(a)(ot.value.color, .05),
1731
+ 1
1732
+ ], [
1733
+ "100%",
1734
+ ot.value.color,
1735
+ 1
1736
+ ]]
1737
+ }, null, 8, ["id", "stops"]),
1738
+ v("filter", {
1739
+ id: `sparkline_pulse_glow_${E.value}`,
1740
+ filterUnits: "userSpaceOnUse",
1741
+ x: "-50",
1742
+ y: "-50",
1743
+ width: "100",
1744
+ height: "100"
1745
+ }, [...r[1] ||= [v("feGaussianBlur", {
1746
+ in: "SourceGraphic",
1747
+ stdDeviation: "3",
1748
+ result: "blur"
1749
+ }, null, -1), v("feMerge", null, [v("feMergeNode", { in: "blur" }), v("feMergeNode", { in: "SourceGraphic" })], -1)]], 8, kt),
1750
+ j.value.temperatureColors.show && $.value ? (b(), _("linearGradient", {
1751
+ key: 0,
1752
+ id: `temperature_grad_sparkline_${E.value}`,
1753
+ gradientUnits: "userSpaceOnUse",
1754
+ x1: "0",
1755
+ x2: "0",
1756
+ y1: Y.value.top,
1757
+ y2: Y.value.bottom
1758
+ }, [(b(!0), _(m, null, S($.value, (e, t) => (b(), _("stop", {
1759
+ key: `temperature_grad_stop_${t}_${E.value}`,
1760
+ "stop-color": e,
1761
+ offset: $.value.length === 1 ? "0%" : C(s)(t, $.value.length)
1762
+ }, null, 8, jt))), 128))], 8, At)) : g("", !0),
1763
+ v("clipPath", { id: `sparkline_zoom_clip_${E.value}` }, [v("rect", {
1764
+ x: Y.value.start - 4,
1765
+ y: Y.value.top - 8,
1766
+ width: Y.value.width + 8,
1767
+ height: Y.value.height + 16
1768
+ }, null, 8, Nt)], 8, Mt)
1769
+ ]),
1770
+ v("g", { "clip-path": W.value ? `url(#sparkline_zoom_clip_${E.value})` : void 0 }, [
1771
+ v("g", { style: ze({
1772
+ transform: tn.value,
1773
+ transformOrigin: "0 0",
1774
+ transformBox: "view-box",
1775
+ transition: nn.value ? `transform ${en}ms cubic-bezier(0.4, 0, 0.2, 1)` : "none",
1776
+ willChange: W.value ? "transform" : void 0
1777
+ }) }, [
1778
+ P.value.show && !Z.value && Gr.value.length ? (b(), _("g", Ft, [(b(!0), _(m, null, S(Gr.value, (e, t) => (b(), _("path", {
1779
+ key: `sparkline_area_${t}_${E.value}`,
1780
+ class: "vue-ui-sparkline-area",
1781
+ "data-cy": N.value.smooth ? "sparkline-smooth-area" : "sparkline-angle-area",
1782
+ d: e,
1783
+ fill: P.value.useGradient ? `url(#sparkline_gradient_${E.value})` : C(de)(P.value.color, P.value.opacity),
1784
+ "stroke-linecap": "round",
1785
+ "stroke-linejoin": "round"
1786
+ }, null, 8, It))), 128))])) : g("", !0),
1787
+ N.value.smooth && !Z.value ? (b(), _(m, { key: 1 }, [v("path", {
1788
+ id: On.value,
1789
+ d: `M ${Vr.value || "0,0"}`,
1790
+ fill: "none",
1791
+ stroke: "transparent",
1792
+ "stroke-width": N.value.strokeWidth,
1793
+ "stroke-linecap": "round",
1794
+ "stroke-linejoin": "round"
1795
+ }, null, 8, Lt), Rr.value ? (b(!0), _(m, { key: 0 }, S(Ur.value, (e) => (b(), _("path", {
1796
+ key: e.path,
1797
+ class: "vue-ui-sparkline-path",
1798
+ d: `M ${e.path}`,
1799
+ stroke: $.value ? `url(#temperature_grad_sparkline_${E.value})` : N.value.color,
1800
+ fill: "none",
1801
+ "stroke-width": N.value.strokeWidth,
1802
+ "stroke-linecap": "round",
1803
+ "stroke-linejoin": "round",
1804
+ "stroke-dasharray": e.dashed ? N.value.dashArray : 0
1805
+ }, null, 8, Rt))), 128)) : (b(), _("path", {
1806
+ key: 1,
1807
+ class: "vue-ui-sparkline-path",
1808
+ d: `M ${Vr.value || "0,0"}`,
1809
+ stroke: $.value ? `url(#temperature_grad_sparkline_${E.value})` : N.value.color,
1810
+ fill: "none",
1811
+ "stroke-width": N.value.strokeWidth,
1812
+ "stroke-linecap": "round",
1813
+ "stroke-linejoin": "round"
1814
+ }, null, 8, zt))], 64)) : g("", !0),
1815
+ !N.value.smooth && !Z.value ? (b(), _(m, { key: 2 }, [v("path", {
1816
+ id: On.value,
1817
+ d: `M ${Hr.value || "0,0"}`,
1818
+ fill: "none",
1819
+ stroke: "transparent",
1820
+ "stroke-width": N.value.strokeWidth,
1821
+ "stroke-linecap": "round",
1822
+ "stroke-linejoin": "round"
1823
+ }, null, 8, Bt), Rr.value ? (b(!0), _(m, { key: 0 }, S(Wr.value, (e) => (b(), _("path", {
1824
+ key: e.path,
1825
+ class: "vue-ui-sparkline-path",
1826
+ d: `M ${e.path}`,
1827
+ stroke: $.value ? `url(#temperature_grad_sparkline_${E.value})` : N.value.color,
1828
+ fill: "none",
1829
+ "stroke-width": N.value.strokeWidth,
1830
+ "stroke-linecap": "round",
1831
+ "stroke-linejoin": "round",
1832
+ "stroke-dasharray": e.dashed ? N.value.dashArray * 2 : 0
1833
+ }, null, 8, Vt))), 128)) : (b(), _("path", {
1834
+ key: 1,
1835
+ class: "vue-ui-sparkline-path",
1836
+ d: `M ${Hr.value || "0,0"}`,
1837
+ stroke: $.value ? `url(#temperature_grad_sparkline_${E.value})` : N.value.color,
1838
+ fill: "none",
1839
+ "stroke-width": N.value.strokeWidth,
1840
+ "stroke-linecap": "round",
1841
+ "stroke-linejoin": "round"
1842
+ }, null, 8, Ht))], 64)) : g("", !0),
1843
+ Kr.value && !$.value ? (b(), Me(St, {
1844
+ key: 3,
1845
+ svgPathData: Kr.value,
1846
+ enabled: j.value.gradientPath.show && !Z.value && !$.value,
1847
+ strokeWidth: N.value.strokeWidth,
1848
+ highColor: j.value.gradientPath.colors.high,
1849
+ lowColor: j.value.gradientPath.colors.low,
1850
+ segments: j.value.gradientPath.segments
1851
+ }, null, 8, [
1852
+ "svgPathData",
1853
+ "enabled",
1854
+ "strokeWidth",
1855
+ "highColor",
1856
+ "lowColor",
1857
+ "segments"
1858
+ ])) : g("", !0),
1859
+ kn.value && vt.value ? (b(), Me(nt, {
1860
+ key: 4,
1861
+ uid: E.value,
1862
+ svgRef: C(B),
1863
+ pulsePathId: On.value,
1864
+ pulsePathLength: ft.value,
1865
+ pulseDur: dt.value,
1866
+ pulseBegin: pt.value,
1867
+ pulseRepeatCount: ht.value,
1868
+ pulseFillMode: gt.value,
1869
+ pulseKeyPoints: mt.value,
1870
+ pulseMotion: bt.value,
1871
+ pulse: V.value,
1872
+ pulseTrail: H.value,
1873
+ pulseTrailLength: _t.value,
1874
+ prefersReducedMotion: C(et),
1875
+ loading: C(R),
1876
+ isBar: Z.value
1877
+ }, null, 8, [
1878
+ "uid",
1879
+ "svgRef",
1880
+ "pulsePathId",
1881
+ "pulsePathLength",
1882
+ "pulseDur",
1883
+ "pulseBegin",
1884
+ "pulseRepeatCount",
1885
+ "pulseFillMode",
1886
+ "pulseKeyPoints",
1887
+ "pulseMotion",
1888
+ "pulse",
1889
+ "pulseTrail",
1890
+ "pulseTrailLength",
1891
+ "prefersReducedMotion",
1892
+ "loading",
1893
+ "isBar"
1894
+ ])) : g("", !0),
1895
+ (b(!0), _(m, null, S(X.value, (e, t) => (b(), _("g", null, [Z.value ? (b(), _("rect", {
1896
+ key: 0,
1897
+ x: e.barX,
1898
+ y: isNaN(e.absoluteValue > 0 ? e.y : ur.value) ? 0 : e.absoluteValue > 0 ? e.y : ur.value,
1899
+ width: e.width,
1900
+ height: isNaN(Math.abs(e.y - ur.value)) ? 0 : Math.abs(e.y - ur.value),
1901
+ fill: e.absoluteValue > 0 ? `url(#sparkline_bar_gradient_pos_${E.value})` : `url(#sparkline_bar_gradient_neg_${E.value})`,
1902
+ rx: ot.value.borderRadius
1903
+ }, null, 8, Ut)) : g("", !0)]))), 256)),
1904
+ or.value < 0 ? (b(), _("line", {
1905
+ key: 5,
1906
+ x1: Y.value.start,
1907
+ x2: Y.value.start + Y.value.width,
1908
+ y1: C(me)(ur.value, Y.value.bottom),
1909
+ y2: C(me)(ur.value, Y.value.bottom),
1910
+ stroke: I.value.zeroLine.color,
1911
+ "stroke-dasharray": I.value.zeroLine.strokeWidth * 2,
1912
+ "stroke-width": I.value.zeroLine.strokeWidth,
1913
+ "stroke-linecap": "round"
1914
+ }, null, 8, Wt)) : g("", !0)
1915
+ ], 4),
1916
+ (b(!0), _(m, null, S(X.value, (e, t) => (b(), _("g", {
1917
+ key: `sparkline_indicator_${e.id}`,
1918
+ style: ze(Un(e))
1919
+ }, [I.value.verticalIndicator.show && (k.value && e.id === k.value.id || hr.value === t) ? (b(), _("line", {
1920
+ key: 0,
1921
+ x1: e.x,
1922
+ x2: e.x,
1923
+ y1: Y.value.top - 6,
1924
+ y2: Y.value.bottom,
1925
+ stroke: I.value.verticalIndicator.color || e.color,
1926
+ "stroke-width": I.value.verticalIndicator.strokeWidth,
1927
+ "stroke-linecap": "round",
1928
+ "stroke-dasharray": I.value.verticalIndicator.strokeDasharray || 0
1929
+ }, null, 8, Gt)) : g("", !0)], 4))), 128)),
1930
+ (b(!0), _(m, null, S(X.value, (e, t) => (b(), _("g", {
1931
+ key: `sparkline_plot_${e.id}`,
1932
+ style: ze(Hn(e))
1933
+ }, [Tr(e, t) ? (b(), _("circle", {
1934
+ key: 0,
1935
+ cx: e.x,
1936
+ cy: e.y,
1937
+ r: Er(e, t),
1938
+ fill: Yr(e),
1939
+ stroke: Dr(e, t),
1940
+ "stroke-width": I.value.plot.strokeWidth
1941
+ }, null, 8, Kt)) : g("", !0)], 4))), 128))
1942
+ ], 8, Pt),
1943
+ e.showInfo && F.value.show ? (b(), _("text", {
1944
+ key: 1,
1945
+ x: F.value.position === "left" ? 12 + F.value.offsetX : Y.value.width + 12 + F.value.offsetX,
1946
+ y: q.value.height / 2 + F.value.fontSize / 2.5 + F.value.offsetY,
1947
+ "font-size": F.value.fontSize,
1948
+ "font-weight": F.value.bold ? "bold" : "normal",
1949
+ fill: F.value.color
1950
+ }, We(k.value ? C(ce)(F.value.formatter, k.value.absoluteValue, C(t)({
1951
+ p: F.value.prefix,
1952
+ v: k.value.absoluteValue,
1953
+ s: F.value.suffix,
1954
+ r: F.value.roundingValue
1955
+ }), { datapoint: k.value }) : C(ce)(F.value.formatter, br.value, C(t)({
1956
+ p: F.value.prefix,
1957
+ v: br.value,
1958
+ s: F.value.suffix,
1959
+ r: F.value.roundingValue
1960
+ }))), 9, qt)) : g("", !0),
1961
+ Kn.value ? (b(), _("rect", {
1962
+ key: 2,
1963
+ x: Kn.value.x,
1964
+ y: Kn.value.y,
1965
+ width: Kn.value.width,
1966
+ height: Kn.value.height,
1967
+ fill: L.value.selection.fill,
1968
+ "fill-opacity": L.value.selection.fillOpacity,
1969
+ stroke: L.value.selection.stroke,
1970
+ "stroke-opacity": L.value.selection.strokeOpacity,
1971
+ "stroke-width": L.value.selection.strokeWidth,
1972
+ "stroke-dasharray": L.value.selection.strokeDasharray,
1973
+ "stroke-linecap": "round",
1974
+ "stroke-linejoin": "round",
1975
+ "pointer-events": "none"
1976
+ }, null, 8, Jt)) : g("", !0),
1977
+ (b(!0), _(m, null, S(X.value, (e, t) => (b(), _("rect", {
1978
+ x: Z.value ? e.barX : e.x - (Y.value.width / (fr.value + 1) > q.value.padding ? q.value.padding : Y.value.width / (fr.value + 1)) / 2,
1979
+ y: Y.value.top - 6,
1980
+ height: Y.value.height + 6,
1981
+ width: Z.value ? e.width : Y.value.width / (fr.value + 1) > q.value.padding ? q.value.padding : Y.value.width / (fr.value + 1),
1982
+ fill: "transparent",
1983
+ onMouseenter: () => _r(e, t),
1984
+ onMouseleave: () => vr(e, t),
1985
+ onClick: () => xr(e, t)
1986
+ }, null, 40, Yt))), 256)),
1987
+ He(n.$slots, "svg", { svg: {
1988
+ ...q.value,
1989
+ drawingArea: Y.value,
1990
+ timeLabels: pr.value,
1991
+ series: X.value,
1992
+ hoveredIndex: D.value,
1993
+ isZoomed: fn.value,
1994
+ zoomRange: dn.value
1995
+ } }, void 0, !0)
1996
+ ], 46, Dt)),
1997
+ fn.value && L.value.resetButton.show ? (b(), _("button", {
1998
+ key: 0,
1999
+ type: "button",
2000
+ class: "vue-ui-sparkline-reset-zoom",
2001
+ title: L.value.resetButton.title,
2002
+ "aria-label": L.value.resetButton.ariaLabel,
2003
+ style: ze({ cursor: j.value.useCursorPointer ? "pointer" : "default" }),
2004
+ onPointerdown: Qn,
2005
+ onClick: $n
2006
+ }, [(b(), _("svg", Zt, [v("path", {
2007
+ d: "M2 10a1 1 0 0 0 15 0c0-5-5-8-10-6l3-3M7 4l3 3",
2008
+ stroke: L.value.resetButton.color,
2009
+ fill: "none",
2010
+ "stroke-width": "2.5",
2011
+ "stroke-linecap": "round"
2012
+ }, null, 8, Qt)]))], 44, Xt)) : g("", !0),
2013
+ n.$slots.hint ? (b(), _("div", $t, [He(n.$slots, "hint", Re(Ie({
2014
+ hint: j.value.a11y.translations.keyboardNavigation,
2015
+ isVisible: Xr.value
2016
+ })), void 0, !0)])) : g("", !0)
2017
+ ]),
2018
+ k.value && M.value.show ? (b(), Me(C(Xe), {
2019
+ key: 2,
2020
+ x: k.value.x,
2021
+ y: k.value.y,
2022
+ prevX: A.value.x,
2023
+ prevY: A.value.y,
2024
+ offsetY: I.value.plot.radius * 3 + M.value.offsetY,
2025
+ svgRef: C(B),
2026
+ background: M.value.backgroundColor,
2027
+ color: M.value.color,
2028
+ fontSize: M.value.fontSize,
2029
+ borderWidth: M.value.borderWidth,
2030
+ borderColor: M.value.borderColor,
2031
+ borderRadius: M.value.borderRadius,
2032
+ backgroundOpacity: M.value.backgroundOpacity
2033
+ }, {
2034
+ default: qe(() => [He(n.$slots, "tooltip", Re(Ie({ ...k.value })), () => [Ne(We(k.value.period) + ": " + We(C(ce)(F.value.formatter, k.value.absoluteValue, C(t)({
2035
+ p: F.value.prefix,
2036
+ v: k.value.absoluteValue,
2037
+ s: F.value.suffix,
2038
+ r: F.value.roundingValue
2039
+ }), { datapoint: k.value })), 1)], !0)]),
2040
+ _: 3
2041
+ }, 8, [
2042
+ "x",
2043
+ "y",
2044
+ "prevX",
2045
+ "prevY",
2046
+ "offsetY",
2047
+ "svgRef",
2048
+ "background",
2049
+ "color",
2050
+ "fontSize",
2051
+ "borderWidth",
2052
+ "borderColor",
2053
+ "borderRadius",
2054
+ "backgroundOpacity"
2055
+ ])) : g("", !0),
2056
+ n.$slots.source ? (b(), _("div", {
2057
+ key: 3,
2058
+ ref_key: "source",
2059
+ ref: at,
2060
+ dir: "auto"
2061
+ }, [He(n.$slots, "source", {}, void 0, !0)], 512)) : g("", !0),
2062
+ He(n.$slots, "skeleton", {}, () => [C(R) ? (b(), Me(xe, { key: 0 })) : g("", !0)], !0)
2063
+ ], 12, wt));
2064
+ }
2065
+ }, [["__scopeId", "data-v-bad1b3bd"]]);
2066
+ //#endregion
2067
+ export { Ct as n, W as t };