vue-data-ui 3.6.0 → 3.7.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 (199) hide show
  1. package/README.md +26 -26
  2. package/dist/{Arrow-BGVin3AS.js → Arrow-CWYIBV-7.js} +1 -1
  3. package/dist/{BaseDraggableDialog-DhKIof09.js → BaseDraggableDialog-CRF94NJQ.js} +2 -2
  4. package/dist/{BaseIcon-DLFL0M4-.js → BaseIcon-CofSxalQ.js} +1 -1
  5. package/dist/{ColorPicker-CjIJvLdc.js → ColorPicker-e1-OSGlQ.js} +10 -10
  6. package/dist/{DataTable-UCyd_BQI.js → DataTable-CHaOCmsE.js} +2 -2
  7. package/dist/{Legend-D9ZTJKjh.js → Legend-Web3GjlR.js} +2 -2
  8. package/dist/{NonSvgPenAndPaper-a2UzZL0y.js → NonSvgPenAndPaper-CjYFLlns.js} +3 -3
  9. package/dist/{PackageVersion-D_4Hr4S4.js → PackageVersion-Bq_mtsqr.js} +1 -1
  10. package/dist/{PenAndPaper-BJSMejV9.js → PenAndPaper-HCZQTkqi.js} +20 -20
  11. package/dist/{Shape-CNXKB8O0.js → Shape-DE6X_t31.js} +3 -3
  12. package/dist/{Slicer-CJfhtoVn.js → Slicer-BFBBG6xv.js} +23 -23
  13. package/dist/{SlicerPreview-wXjV4LWO.js → SlicerPreview-D76aSViW.js} +2 -2
  14. package/dist/{SparkTooltip-BEewz-_Q.js → SparkTooltip-B2rpVWE1.js} +6 -6
  15. package/dist/{Title-Bb1VWCtR.js → Title-DfFUb9hd.js} +1 -1
  16. package/dist/{Tooltip-oWCO1HKy.js → Tooltip-WD0Ros6G.js} +1 -1
  17. package/dist/{UserOptions-BqmUW9Kp.js → UserOptions-B3I-s3Lw.js} +2 -2
  18. package/dist/components/arrow.js +1 -1
  19. package/dist/components/vue-ui-3d-bar.js +3 -3
  20. package/dist/components/vue-ui-accordion.js +1 -1
  21. package/dist/components/vue-ui-age-pyramid.js +3 -3
  22. package/dist/components/vue-ui-annotator.js +1 -1
  23. package/dist/components/vue-ui-bullet.js +3 -3
  24. package/dist/components/vue-ui-candlestick.js +3 -3
  25. package/dist/components/vue-ui-carousel-table.js +1 -1
  26. package/dist/components/vue-ui-chestnut.js +3 -3
  27. package/dist/components/vue-ui-chord.js +3 -3
  28. package/dist/components/vue-ui-circle-pack.js +3 -3
  29. package/dist/components/vue-ui-cursor.js +1 -1
  30. package/dist/components/vue-ui-dashboard.js +1 -1
  31. package/dist/components/vue-ui-digits.js +1 -1
  32. package/dist/components/vue-ui-donut-evolution.js +2 -2
  33. package/dist/components/vue-ui-donut.js +3 -3
  34. package/dist/components/vue-ui-dumbbell.js +3 -3
  35. package/dist/components/vue-ui-flow.js +3 -3
  36. package/dist/components/vue-ui-funnel.js +2 -2
  37. package/dist/components/vue-ui-galaxy.js +1 -1
  38. package/dist/components/vue-ui-gauge.js +1 -1
  39. package/dist/components/vue-ui-gizmo.js +1 -1
  40. package/dist/components/vue-ui-heatmap.js +1 -1
  41. package/dist/components/vue-ui-history-plot.js +3 -3
  42. package/dist/components/vue-ui-horizontal-bar.js +3 -3
  43. package/dist/components/vue-ui-icon.js +1 -1
  44. package/dist/components/vue-ui-kpi.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +3 -3
  47. package/dist/components/vue-ui-mood-radar.js +3 -3
  48. package/dist/components/vue-ui-nested-donuts.js +2 -2
  49. package/dist/components/vue-ui-onion.js +3 -3
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +3 -3
  52. package/dist/components/vue-ui-quick-chart.js +3 -3
  53. package/dist/components/vue-ui-radar.js +3 -3
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +3 -3
  56. package/dist/components/vue-ui-ridgeline.js +3 -3
  57. package/dist/components/vue-ui-rings.js +3 -3
  58. package/dist/components/vue-ui-scatter.js +3 -3
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +2 -2
  63. package/dist/components/vue-ui-sparkgauge.js +3 -3
  64. package/dist/components/vue-ui-sparkhistogram.js +3 -3
  65. package/dist/components/vue-ui-sparkline.js +3 -3
  66. package/dist/components/vue-ui-sparkstackbar.js +2 -2
  67. package/dist/components/vue-ui-stackbar.js +3 -3
  68. package/dist/components/vue-ui-stackline.js +1 -1
  69. package/dist/components/vue-ui-strip-plot.js +3 -3
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +2 -2
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +3 -3
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +2 -2
  76. package/dist/components/vue-ui-treemap.js +3 -3
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +2 -2
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +3 -3
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +3 -3
  83. package/dist/components/vue-ui-xy.js +3 -3
  84. package/dist/{dom-to-png--BNgrTZV.js → dom-to-png-CH2DfsJe.js} +1 -1
  85. package/dist/{img-BecE5qXd.js → img-DUzJeMlr.js} +1 -1
  86. package/dist/{lib-C_mNZmhD.js → lib-C5BH09_g.js} +111 -110
  87. package/dist/{pdf-DuG5j3Wv.js → pdf-BSWQncok.js} +1 -1
  88. package/dist/style.css +1 -1
  89. package/dist/types/vue-data-ui.d.ts +1 -0
  90. package/dist/{useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js → useAutoSizeLabelsInsideViewbox-DOALwU4q.js} +7 -7
  91. package/dist/{useNestedProp-CIoDlpHu.js → useNestedProp-CWo6bftQ.js} +1 -1
  92. package/dist/{usePrinter-DTzqpYKF.js → usePrinter-DCJzEiS8.js} +2 -2
  93. package/dist/useThemeCheck-DGJ31Vi5.js +32 -0
  94. package/dist/{useTimeLabels-BGFjWgrv.js → useTimeLabels-C5qMhpbe.js} +50 -49
  95. package/dist/{vue-data-ui-BWuOXu_s.js → vue-data-ui-ByLTJx5V.js} +78 -78
  96. package/dist/vue-data-ui.js +225 -205
  97. package/dist/{vue-ui-3d-bar-BNQAuLqF.js → vue-ui-3d-bar-Dkds4k5N.js} +546 -517
  98. package/dist/{vue-ui-accordion-SSLXLlNz.js → vue-ui-accordion-DSdZUn2C.js} +3 -3
  99. package/dist/vue-ui-age-pyramid-C-fwZRYE.js +960 -0
  100. package/dist/{vue-ui-annotator-34Ld0u5M.js → vue-ui-annotator-DRaH8hXn.js} +7 -7
  101. package/dist/vue-ui-bullet-BKVJRjGh.js +657 -0
  102. package/dist/{vue-ui-candlestick-BcChw-8c.js → vue-ui-candlestick-BKFWHU4O.js} +596 -561
  103. package/dist/{vue-ui-carousel-table-Cp_od0lI.js → vue-ui-carousel-table-VmPH6y2g.js} +48 -48
  104. package/dist/{vue-ui-chestnut-DTaIsP72.js → vue-ui-chestnut-DpMHe-OI.js} +534 -505
  105. package/dist/vue-ui-chord-Djdr0PY_.js +1182 -0
  106. package/dist/vue-ui-circle-pack-CyUqNJQt.js +832 -0
  107. package/dist/{vue-ui-cursor-lW-dVs_k.js → vue-ui-cursor-BMe8ZiV6.js} +2 -2
  108. package/dist/{vue-ui-dashboard-DIymn9Cx.js → vue-ui-dashboard-eBXj-KCw.js} +140 -140
  109. package/dist/{vue-ui-digits-YHA3fA0j.js → vue-ui-digits-D382I0-w.js} +2 -2
  110. package/dist/{vue-ui-donut-BaDmbWLh.js → vue-ui-donut-BLb0kj_P.js} +634 -602
  111. package/dist/vue-ui-donut-evolution-BqrldXpI.js +1243 -0
  112. package/dist/vue-ui-dumbbell-BuZT5a-d.js +1258 -0
  113. package/dist/vue-ui-flow-LLp6ntEP.js +1026 -0
  114. package/dist/vue-ui-funnel-pILUR-OG.js +743 -0
  115. package/dist/vue-ui-galaxy-X6yiw8kx.js +837 -0
  116. package/dist/vue-ui-gauge-DBh-vFb9.js +864 -0
  117. package/dist/{vue-ui-gizmo-E33_xZte.js → vue-ui-gizmo-DtyEukIP.js} +3 -3
  118. package/dist/{vue-ui-heatmap-DJXMvFPp.js → vue-ui-heatmap-mkD6QkXo.js} +501 -466
  119. package/dist/vue-ui-history-plot-CyTaBaxA.js +1239 -0
  120. package/dist/{vue-ui-kpi-C-XuLBVQ.js → vue-ui-kpi-CKMZDc3n.js} +3 -3
  121. package/dist/{vue-ui-mini-loader-DawncJvl.js → vue-ui-mini-loader-BN72OfS0.js} +2 -2
  122. package/dist/vue-ui-molecule-UzQ3o5HW.js +782 -0
  123. package/dist/vue-ui-mood-radar-C2zkRLGy.js +930 -0
  124. package/dist/vue-ui-nested-donuts-B5OpvmJ9.js +1454 -0
  125. package/dist/vue-ui-onion-DbhIOGtF.js +944 -0
  126. package/dist/vue-ui-parallel-coordinate-plot-Dv_T4mWW.js +1080 -0
  127. package/dist/{vue-ui-quadrant-B2bLWyCm.js → vue-ui-quadrant-CG6_CWsQ.js} +510 -481
  128. package/dist/{vue-ui-quick-chart-J_RmCwI_.js → vue-ui-quick-chart-DOeRhk7r.js} +795 -758
  129. package/dist/vue-ui-radar-DdHa9Hsh.js +1013 -0
  130. package/dist/{vue-ui-rating-CBS8zaQd.js → vue-ui-rating-DtzmtJwF.js} +26 -26
  131. package/dist/vue-ui-relation-circle-B5lL4l9w.js +670 -0
  132. package/dist/vue-ui-ridgeline-3pk4Mlft.js +1302 -0
  133. package/dist/vue-ui-rings-DhyrjrZi.js +884 -0
  134. package/dist/vue-ui-scatter-DKCD70mi.js +1619 -0
  135. package/dist/{vue-ui-skeleton-DsrlMELy.js → vue-ui-skeleton-CzzdmraB.js} +3 -3
  136. package/dist/{vue-ui-smiley-P_8WIBDD.js → vue-ui-smiley-OYyM-ukP.js} +2 -2
  137. package/dist/vue-ui-spark-trend-BMTcxeCT.js +364 -0
  138. package/dist/vue-ui-sparkbar-DVk1JiPL.js +381 -0
  139. package/dist/vue-ui-sparkgauge-Cq9Nw_xu.js +260 -0
  140. package/dist/vue-ui-sparkhistogram-PFHlCE_k.js +411 -0
  141. package/dist/vue-ui-sparkline-BHHwO_cV.js +549 -0
  142. package/dist/vue-ui-sparkstackbar-BosVkkiC.js +470 -0
  143. package/dist/vue-ui-stackbar-Djk5CPUy.js +1867 -0
  144. package/dist/vue-ui-stackline-mU4CSol9.js +1963 -0
  145. package/dist/{vue-ui-strip-plot-CTtivaxm.js → vue-ui-strip-plot-CZQSL0GK.js} +343 -314
  146. package/dist/{vue-ui-table-CHt3AQiq.js → vue-ui-table-DMM090pe.js} +5 -5
  147. package/dist/vue-ui-table-heatmap-vQEFrjCX.js +307 -0
  148. package/dist/{vue-ui-table-sparkline-D5MckwMl.js → vue-ui-table-sparkline-CQJc0mJY.js} +292 -263
  149. package/dist/vue-ui-thermometer-D1uxoVeZ.js +613 -0
  150. package/dist/{vue-ui-timer-B-Xa6ALH.js → vue-ui-timer-jTnS3ES5.js} +25 -25
  151. package/dist/vue-ui-tiremarks-Bv-oIFVV.js +477 -0
  152. package/dist/vue-ui-treemap-B9MVtunp.js +1359 -0
  153. package/dist/{vue-ui-vertical-bar-D9XQe_ud.js → vue-ui-vertical-bar-BSbDj5qZ.js} +520 -485
  154. package/dist/{vue-ui-waffle-Bk98w86A.js → vue-ui-waffle-DIALVfvc.js} +376 -347
  155. package/dist/vue-ui-wheel-aUhrFpGk.js +690 -0
  156. package/dist/vue-ui-word-cloud-DZmMWsUu.js +904 -0
  157. package/dist/{vue-ui-world-xOY__pp8.js → vue-ui-world-CVLlgp2f.js} +57 -57
  158. package/dist/vue-ui-xy-Cy7mOurZ.js +3455 -0
  159. package/dist/vue-ui-xy-canvas-Cr13t9M5.js +1599 -0
  160. package/dist/vue_ui_vertical_bar-CELc39b8.js +18 -0
  161. package/package.json +5 -5
  162. package/dist/themes-DH-N_ePR.js +0 -54
  163. package/dist/vue-ui-age-pyramid-DsOlpJBh.js +0 -933
  164. package/dist/vue-ui-bullet-Ci4lO4_W.js +0 -630
  165. package/dist/vue-ui-chord-BKC--Nbq.js +0 -1153
  166. package/dist/vue-ui-circle-pack-B3sfU0Vo.js +0 -803
  167. package/dist/vue-ui-donut-evolution-BqUzmyW2.js +0 -1208
  168. package/dist/vue-ui-dumbbell-CWKTrzsm.js +0 -1231
  169. package/dist/vue-ui-flow-SMbuDPdL.js +0 -991
  170. package/dist/vue-ui-funnel-3fRlMBzq.js +0 -716
  171. package/dist/vue-ui-galaxy-CFZ1xYD5.js +0 -808
  172. package/dist/vue-ui-gauge-DJpbjfpL.js +0 -835
  173. package/dist/vue-ui-history-plot-CvPMx5Lg.js +0 -1204
  174. package/dist/vue-ui-molecule-CasngKZI.js +0 -753
  175. package/dist/vue-ui-mood-radar-DGz2TQi4.js +0 -903
  176. package/dist/vue-ui-nested-donuts-Bjjz2sWG.js +0 -1419
  177. package/dist/vue-ui-onion-DwTIY6i1.js +0 -915
  178. package/dist/vue-ui-parallel-coordinate-plot-DedxvtPN.js +0 -1051
  179. package/dist/vue-ui-radar-D1rz2RnH.js +0 -984
  180. package/dist/vue-ui-relation-circle-DUfRwwo1.js +0 -641
  181. package/dist/vue-ui-ridgeline-DKPWMWRc.js +0 -1273
  182. package/dist/vue-ui-rings-BY0EQGLb.js +0 -855
  183. package/dist/vue-ui-scatter-ky9p5Pgh.js +0 -1590
  184. package/dist/vue-ui-spark-trend-DkJn_3FI.js +0 -337
  185. package/dist/vue-ui-sparkbar-qB1fmgej.js +0 -352
  186. package/dist/vue-ui-sparkgauge-BezFN_Rc.js +0 -233
  187. package/dist/vue-ui-sparkhistogram-DGt5b8FR.js +0 -384
  188. package/dist/vue-ui-sparkline-D7Wx1ejg.js +0 -514
  189. package/dist/vue-ui-sparkstackbar-DtO7-yim.js +0 -441
  190. package/dist/vue-ui-stackbar-Dr48I48D.js +0 -1832
  191. package/dist/vue-ui-stackline-Juns5Yh4.js +0 -1928
  192. package/dist/vue-ui-table-heatmap-Cn-56b5F.js +0 -282
  193. package/dist/vue-ui-thermometer-BOidpwAZ.js +0 -584
  194. package/dist/vue-ui-tiremarks-BsTyVS2P.js +0 -450
  195. package/dist/vue-ui-treemap-BWTaY91B.js +0 -1330
  196. package/dist/vue-ui-wheel-nj73b_Dc.js +0 -663
  197. package/dist/vue-ui-word-cloud-Dcaogr-D.js +0 -875
  198. package/dist/vue-ui-xy-BT67faLv.js +0 -3424
  199. package/dist/vue-ui-xy-canvas-BoB7-4QK.js +0 -1564
@@ -1,1564 +0,0 @@
1
- import { defineAsyncComponent as pe, ref as d, computed as g, useSlots as Tl, onMounted as Aa, toRefs as Al, watch as P, nextTick as be, onBeforeUnmount as Fa, shallowRef as Ye, createElementBlock as Fe, openBlock as R, normalizeClass as Fl, normalizeStyle as xe, createCommentVNode as W, createElementVNode as J, createBlock as V, unref as L, createSlots as Ra, withCtx as b, renderSlot as M, normalizeProps as K, guardReactiveProps as ee, createVNode as Oa, Teleport as Rl, toDisplayString as Ge, resolveDynamicComponent as Ol, mergeProps as Pl, createTextVNode as Pa } from "vue";
2
- import { c as Dl, t as El, b as Nl, p as ae, O as Le, e as _l, m as qe, a as se, d as re, h as Da, u as Hl, a1 as Xl, w as Ul, o as Bl, f as Wl, G as Ea, s as ke, S as Vl, P as Yl, Q as Gl, H as ql } from "./lib-C_mNZmhD.js";
3
- import { c as Zl, a as Ze, d as jl, t as Jl, u as Ql, l as C, r as Re, b as Y, p as Na } from "./useResponsive-DfdjqQps.js";
4
- import { u as Kl, a as je } from "./useNestedProp-CIoDlpHu.js";
5
- import { u as et, B as at } from "./BaseScanner-BgWxam9d.js";
6
- import { u as lt } from "./usePrinter-DTzqpYKF.js";
7
- import { u as tt, a as ot, l as ut } from "./useTimeLabels-BGFjWgrv.js";
8
- import { u as st } from "./useUserOptionState-BIvW1Kz7.js";
9
- import { u as rt } from "./useChartAccessibility-9icAAmYg.js";
10
- import nt from "./img-BecE5qXd.js";
11
- import { t as it } from "./themes-DH-N_ePR.js";
12
- import vt from "./Legend-D9ZTJKjh.js";
13
- import ct from "./Title-Bb1VWCtR.js";
14
- import dt from "./BaseIcon-DLFL0M4-.js";
15
- import ht from "./vue-ui-accordion-SSLXLlNz.js";
16
- import { S as ft } from "./SlicerPreview-wXjV4LWO.js";
17
- import { _ as yt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
18
- const mt = ["id"], gt = ["id"], pt = ["id"], bt = ["onClick"], xt = {
19
- key: 4,
20
- class: "vue-data-ui-watermark"
21
- }, Lt = ["innerHTML"], kt = {
22
- __name: "vue-ui-xy-canvas",
23
- props: {
24
- dataset: {
25
- type: Array,
26
- default() {
27
- return [];
28
- }
29
- },
30
- config: {
31
- type: Object,
32
- default() {
33
- return {};
34
- }
35
- },
36
- selectedXIndex: {
37
- type: Number,
38
- default: void 0
39
- }
40
- },
41
- emits: ["selectLegend", "selectX"],
42
- setup(Je, { expose: _a, emit: Ha }) {
43
- const Xa = pe(() => import("./Tooltip-oWCO1HKy.js")), Ua = pe(() => import("./DataTable-UCyd_BQI.js")), Ba = pe(() => import("./UserOptions-BqmUW9Kp.js")), Wa = pe(() => import("./NonSvgPenAndPaper-a2UzZL0y.js")), Va = pe(() => import("./BaseDraggableDialog-DhKIof09.js")), { vue_ui_xy_canvas: Ya } = Kl(), p = Je, Q = d(Dl()), H = d(null), le = d(null), v = d(null), m = d(1), G = d(1), ne = d(!1), h = d(null), Ce = d(""), Qe = d(null), $ = d([]), te = d(1), D = d(!0), X = d(!0), we = d(null), Ke = d(0), ie = d(!1), ea = d(null), aa = d(null), q = d(null), la = d(null), Oe = d(0), Pe = d(0), De = d(0), E = d(null), ta = d(!1), ve = d(null), Ee = d(null), ce = d(!1), oa = d(!1), Se = d(!1), w = d(null), U = g(() => Array.isArray(He.value) && He.value.length > 0), Ne = Ha, Ga = Tl();
44
- Aa(() => {
45
- Ga["chart-background"] && console.warn("VueUiXyCanvas does not support the #chart-background slot.");
46
- });
47
- const a = d(Ue()), qa = g(() => !!a.value.debug), { loading: _e, FINAL_DATASET: He } = et({
48
- ...Al(p),
49
- FINAL_CONFIG: a,
50
- prepareConfig: Ue,
51
- skeletonDataset: [
52
- {
53
- name: "",
54
- series: [0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 134],
55
- type: "line",
56
- smooth: !0,
57
- color: "#BABABA"
58
- },
59
- {
60
- name: "",
61
- series: [0, 0.5, 1, 1.5, 2.5, 4, 6.5, 10.5, 17, 27.5, 44.5, 67],
62
- type: "bar",
63
- color: "#AAAAAA"
64
- }
65
- ],
66
- skeletonConfig: El({
67
- defaultConfig: a.value,
68
- userConfig: {
69
- userOptions: { show: !1 },
70
- table: { show: !1 },
71
- style: {
72
- chart: {
73
- backgroundColor: "#99999930",
74
- grid: {
75
- x: {
76
- axisColor: "#6A6A6A",
77
- timeLabels: { show: !1 },
78
- axisName: "",
79
- horizontalLines: {
80
- color: "#6A6A6A"
81
- }
82
- },
83
- y: {
84
- axisColor: "#6A6A6A",
85
- axisLabels: { show: !1 },
86
- axisName: "",
87
- verticalLines: {
88
- color: "#6A6A6A"
89
- }
90
- },
91
- zeroLine: {
92
- color: "#6A6A6A"
93
- }
94
- },
95
- legend: {
96
- backgroundColor: "#99999930"
97
- },
98
- paddingProportions: {
99
- left: 0.05
100
- }
101
- }
102
- }
103
- }
104
- })
105
- }), { userOptionsVisible: Xe, setUserOptionsVisibility: ua, keepUserOptionState: sa } = st({ config: a.value }), { svgRef: S } = rt({ config: a.value.style.chart.title });
106
- function Za() {
107
- ua(!0);
108
- }
109
- function ja() {
110
- ua(!1), Ne("selectX", { seriesIndex: null, datapoint: null }), h.value = null;
111
- }
112
- function Ue() {
113
- const e = je({
114
- userConfig: p.config,
115
- defaultConfig: Ya
116
- });
117
- let l = {};
118
- return e.theme ? l = {
119
- ...je({
120
- userConfig: it.vue_ui_xy_canvas[e.theme] || p.config,
121
- defaultConfig: e
122
- }),
123
- customPalette: Nl[e.theme] || ae
124
- } : l = e, p.config && Le(p.config, "style.chart.scale.min") ? l.style.chart.scale.min = p.config.style.chart.scale.min : l.style.chart.scale.min = null, p.config && Le(p.config, "style.chart.scale.max") ? l.style.chart.scale.max = p.config.style.chart.scale.max : l.style.chart.scale.max = null, p.config && Le(p.config, "style.chart.zoom.startIndex") ? l.style.chart.zoom.startIndex = p.config.style.chart.zoom.startIndex : l.style.chart.zoom.startIndex = null, p.config && Le(p.config, "style.chart.zoom.endIndex") ? l.style.chart.zoom.endIndex = p.config.style.chart.zoom.endIndex : l.style.chart.zoom.endIndex = null, p.config && Le(p.config, "style.chart.grid.y.timeLabels") && (console.warn("VueUiXyCanvas: you are using the deprecated config.style.chart.grid.y.timeLabels. It is recommended to move this configuration to config.style.chart.grid.x.timeLabels."), l.style.chart.grid.x.timeLabels = je({
125
- defaultConfig: l.style.chart.grid.x.timeLabels,
126
- userConfig: p.config.style.chart.grid.y.timeLabels
127
- })), l;
128
- }
129
- P(() => p.config, (e) => {
130
- _e.value || (a.value = Ue()), Xe.value = !a.value.userOptions.showOnChartHover, ka(), Oe.value += 1, Pe.value += 1, De.value += 1, c.value.showTable = a.value.table.show, c.value.showDataLabels = a.value.style.chart.dataLabels.show, c.value.stacked = a.value.style.chart.stacked, c.value.showTooltip = a.value.style.chart.tooltip.show;
131
- }, { deep: !0 }), P(() => p.dataset, async (e) => {
132
- !Array.isArray(e) || e.length === 0 || (await be(), S.value && !v.value && (v.value = S.value.getContext("2d", { willReadFrequently: !0 })), D.value = !0, X.value = !0, await he(), Me(), Oe.value += 1, Pe.value += 1, De.value += 1);
133
- }, { deep: !0 });
134
- const ra = d(a.value.style.chart.aspectRatio), { isPrinting: na, isImaging: ia, generatePdf: va, generateImage: ca } = lt({
135
- elementId: `xy_canvas_${Q.value}`,
136
- fileName: a.value.style.chart.title.text || "vue-ui-xy-canvas",
137
- options: a.value.userOptions.print
138
- }), c = d({
139
- showTable: a.value.table.show,
140
- showDataLabels: a.value.style.chart.dataLabels.show,
141
- stacked: a.value.style.chart.stacked,
142
- showTooltip: a.value.style.chart.tooltip.show
143
- });
144
- function da(e) {
145
- ie.value = e, Ke.value += 1;
146
- }
147
- const ha = g(() => _l(a.value.customPalette)), O = g(() => F.value ? Math.max(...F.value.filter((e, l) => !$.value.includes(e.absoluteIndex)).map((e) => e.series.length)) : 0);
148
- function Ja(e) {
149
- w.value = e, Z();
150
- }
151
- const o = g(() => {
152
- const e = m.value - m.value * (a.value.style.chart.paddingProportions.left + a.value.style.chart.paddingProportions.right);
153
- return {
154
- canvasWidth: m.value,
155
- canvasHeight: G.value,
156
- left: m.value * a.value.style.chart.paddingProportions.left,
157
- top: G.value * a.value.style.chart.paddingProportions.top,
158
- right: m.value - m.value * a.value.style.chart.paddingProportions.right,
159
- bottom: G.value - G.value * a.value.style.chart.paddingProportions.bottom,
160
- width: e,
161
- height: G.value - G.value * (a.value.style.chart.paddingProportions.top + a.value.style.chart.paddingProportions.bottom),
162
- slot: e / (u.value.end - u.value.start)
163
- };
164
- });
165
- function fa(e, l) {
166
- return e / l;
167
- }
168
- function Qa({ hasAutoScale: e, series: l, min: t, max: r, scale: s, yOffset: i, individualHeight: n, stackIndex: f = null }) {
169
- return l.map((x, A) => {
170
- const k = s.min < 0 ? Math.abs(s.min) : 0, _ = fa(x + k, k + s.max);
171
- let me, ge;
172
- e && (me = s.min, ge = fa(x - me, s.max - me));
173
- let B = 0;
174
- return f === null ? B = o.value.bottom - o.value.height * (e ? ge : _) : B = o.value.bottom - i - n * (e ? ge : _), {
175
- x: o.value.left + o.value.slot * A + o.value.slot / 2,
176
- y: B,
177
- value: x
178
- };
179
- });
180
- }
181
- const z = g(() => {
182
- const e = a.value.style.chart.scale.min !== null ? a.value.style.chart.scale.min : Math.min(...F.value.filter((n, f) => !$.value.includes(n.absoluteIndex)).flatMap((n) => n.series.slice(u.value.start, u.value.end))), l = a.value.style.chart.scale.max !== null ? a.value.style.chart.scale.max : Math.max(...F.value.filter((n, f) => !$.value.includes(n.absoluteIndex)).flatMap((n) => n.series.slice(u.value.start, u.value.end))), t = qe(e < 0 ? e : 0, l === e ? e + 1 < 0 ? 0 : e + 1 : l < 0 ? 0 : l, a.value.style.chart.scale.ticks), r = t.min < 0 ? Math.abs(t.min) : 0, s = o.value.bottom - o.value.height * (r / (t.max + r)), i = t.ticks.map((n) => ({
183
- y: o.value.bottom - o.value.height * ((n + r) / (t.max + r)),
184
- x: o.value.left - 8,
185
- value: n
186
- }));
187
- return {
188
- absoluteMin: r,
189
- max: l,
190
- min: e,
191
- scale: t,
192
- yLabels: i,
193
- zero: s
194
- };
195
- }), Ka = g(() => y.value.map((e) => `
196
- <div style="display:flex;flex-direction:row;gap:6px;align-items:center;">
197
- <svg viewBox="0 0 10 10" height="12" width="12">
198
- <circle cx="5" cy="5" r="5" fill="${e.color}"/>
199
- </svg>
200
- <span>${e.name ? e.name + ": " : ""}</span>
201
- <span>${se(
202
- a.value.style.chart.dataLabels.formatter,
203
- e.series[h.value] ?? "-",
204
- re({
205
- p: e.prefix || "",
206
- v: e.series[h.value] ?? "-",
207
- s: e.suffix || "",
208
- r: e.rounding || 0
209
- }),
210
- { datapoint: e, seriesIndex: h.value }
211
- )}</span>
212
- </div>
213
- `)), ze = g(() => a.value.style.chart.line.cutNullValues), F = g(() => He.value.map((e, l) => ({
214
- ...e,
215
- series: Hl({
216
- data: Xl(e.series, [], ze.value),
217
- threshold: a.value.downsample.threshold
218
- }),
219
- absoluteIndex: l,
220
- color: Da(e.color || ha.value[l] || ae[l] || ae[l % ae.length])
221
- }))), el = g(() => {
222
- if (!a.value.style.chart.zoom.minimap.show) return [];
223
- const e = F.value.filter((s) => !$.value.includes(s.absoluteIndex)), l = Math.max(...e.map((s) => s.series.length)), t = [];
224
- for (let s = 0; s < l; s += 1)
225
- t.push(e.map((i) => i.series[s] || 0).reduce((i, n) => (i || 0) + (n || 0), 0));
226
- const r = Math.min(...t);
227
- return t.map((s) => s + (r < 0 ? Math.abs(r) : 0));
228
- }), al = g(() => a.value.style.chart.zoom.minimap.show ? F.value.map((l) => ({
229
- ...l,
230
- isVisible: !$.value.includes(l.absoluteIndex)
231
- })) : []);
232
- P(O, (e) => {
233
- e && he();
234
- });
235
- const y = g(() => Ul(F.value.filter((e, l) => !$.value.includes(e.absoluteIndex))).map((e, l) => ({
236
- ...e,
237
- series: e.series.slice(u.value.start, u.value.end)
238
- })).map((e, l) => {
239
- let t = [null, void 0].includes(e.scaleMin) ? Math.min(...e.series) || 0 : e.scaleMin, r = [null, void 0].includes(e.scaleMax) ? Math.max(...e.series) || 1 : e.scaleMax;
240
- t === r && (t = t >= 0 ? r - 1 : t, r = r >= 0 ? r : t + 1), e.series.filter((B) => ![null, void 0].includes(B)).map((B) => (B - t) / (r - t));
241
- const s = {
242
- valueMin: t,
243
- valueMax: r
244
- }, i = e.scaleSteps || a.value.style.chart.scale.ticks;
245
- let n;
246
- e.autoScaling ? n = qe(s.valueMin, s.valueMax, i) : n = qe(s.valueMin < 0 ? s.valueMin : 0, s.valueMax <= 0 ? 0 : s.valueMax, i);
247
- const f = c.value.stacked ? o.value.height * (1 - e.cumulatedStackRatio) : 0, x = c.value.stacked ? o.value.height / a.value.style.chart.stackGap : 0, A = c.value.stacked ? o.value.height * e.stackRatio - x : o.value.height, k = n.min < 0 ? Math.abs(n.min) : 0;
248
- let _;
249
- e.autoScaling && c.value.stacked && r <= 0 ? _ = o.value.bottom - f - A : _ = o.value.bottom - f - A * (k / (n.max + k));
250
- const me = n.ticks.map((B, Il) => ({
251
- y: o.value.bottom - f - A * (Il / (n.ticks.length - 1)),
252
- x: o.value.left - 8,
253
- value: B
254
- })), ge = Qa({
255
- hasAutoScale: c.value.stacked && e.autoScaling,
256
- series: e.series,
257
- min: c.value.stacked ? t : z.value.min,
258
- max: c.value.stacked ? r : z.value.max,
259
- scale: c.value.stacked ? n : z.value.scale,
260
- yOffset: f,
261
- individualHeight: A,
262
- stackIndex: c.value.stacked ? l : null
263
- });
264
- return {
265
- ...e,
266
- coordinatesLine: ge,
267
- min: t,
268
- max: r,
269
- localScale: n,
270
- localZero: _,
271
- localMin: k,
272
- localYLabels: me,
273
- yOffset: f,
274
- individualHeight: A
275
- };
276
- })), u = d({
277
- start: 0,
278
- end: O.value
279
- }), I = d({ start: 0, end: O.value }), de = d(null);
280
- function ll() {
281
- return new Promise((e) => requestAnimationFrame(
282
- () => requestAnimationFrame(() => e())
283
- ));
284
- }
285
- Fa(() => {
286
- de.value && cancelAnimationFrame(de.value);
287
- });
288
- async function he() {
289
- ma(), await be(), de.value && cancelAnimationFrame(de.value), de.value = requestAnimationFrame(async () => {
290
- await ll(), ma();
291
- });
292
- }
293
- const tl = g(() => a.value.style.chart.zoom.preview.enable && (I.value.start !== u.value.start || I.value.end !== u.value.end));
294
- function ya(e, l) {
295
- I.value[e] = l;
296
- }
297
- async function ma() {
298
- if (!ce.value) {
299
- ce.value = !0;
300
- try {
301
- const { startIndex: e, endIndex: l } = a.value.style.chart.zoom, t = Math.max(...F.value.map((i) => i.series.length)), r = e ?? 0, s = l != null ? Math.min(ga(l + 1), t) : t;
302
- Se.value = !0, u.value.start = r, u.value.end = s, I.value.start = r, I.value.end = s, Be(), oa.value = !0, await be(), q.value && (q.value.setStartValue(u.value.start), q.value.setEndValue(u.value.end));
303
- } finally {
304
- queueMicrotask(() => {
305
- Se.value = !1;
306
- }), ce.value = !1;
307
- }
308
- }
309
- }
310
- function ol(e) {
311
- ce.value || Se.value || e !== u.value.start && (u.value.start = e, I.value.start = e, Be());
312
- }
313
- function ul(e) {
314
- if (ce.value || Se.value) return;
315
- const l = ga(e);
316
- l !== u.value.end && (u.value.end = l, I.value.end = l, Be());
317
- }
318
- function ga(e) {
319
- const l = O.value;
320
- return e > l ? l : e < 0 || e < u.value.start ? a.value.style.chart.zoom.startIndex !== null ? a.value.style.chart.zoom.startIndex + 1 : 1 : e;
321
- }
322
- function Be() {
323
- const e = Math.max(
324
- 1,
325
- Math.max(...F.value.map((r) => r.series.length))
326
- );
327
- let l = Math.max(0, Math.min(u.value.start ?? 0, e - 1)), t = Math.max(l + 1, Math.min(u.value.end ?? e, e));
328
- (!Number.isFinite(l) || !Number.isFinite(t) || t <= l) && (l = 0, t = e), u.value = { start: l, end: t }, I.value.start = l, I.value.end = t, q.value && (q.value.setStartValue(l), q.value.setEndValue(t));
329
- }
330
- const sl = g(() => y.value.filter((e) => ["line", "plot", void 0].includes(e.type))), T = g(() => y.value.filter((e) => e.type === "bar"));
331
- function Me() {
332
- if (!S.value || !le.value) return;
333
- const e = le.value.offsetWidth, l = le.value.offsetHeight;
334
- S.value.width = e * te.value * 2, S.value.height = l * te.value * 2, m.value = e * te.value * 2, G.value = l * te.value * 2, v.value?.scale(te.value, te.value), Z();
335
- }
336
- P(U, async (e) => {
337
- if (!e) {
338
- we.value = null, ne.value = !1, h.value = null, E.value = null;
339
- return;
340
- }
341
- await be(), S.value && !v.value && (v.value = S.value.getContext("2d", { willReadFrequently: !0 })), D.value = !0, X.value = !0, await he(), Me(), Z();
342
- });
343
- function rl() {
344
- if (v.value && (v.value.clearRect(0, 0, 1e4, 1e4), v.value.fillStyle = a.value.style.chart.backgroundColor, v.value.fillRect(0, 0, o.value.canvasWidth, o.value.canvasHeight), !!U.value)) {
345
- if (c.value.stacked)
346
- a.value.style.chart.grid.y.verticalLines.show && u.value.end - u.value.start < a.value.style.chart.grid.y.verticalLines.hideUnderXLength ? y.value.forEach((e) => {
347
- for (let l = 0; l < u.value.end - u.value.start + 1; l += 1)
348
- C(
349
- v.value,
350
- [
351
- {
352
- x: o.value.left + o.value.slot * l,
353
- y: o.value.bottom - e.yOffset - e.individualHeight
354
- },
355
- {
356
- x: o.value.left + o.value.slot * l,
357
- y: o.value.bottom - e.yOffset
358
- }
359
- ],
360
- {
361
- color: a.value.style.chart.grid.y.verticalLines.color
362
- }
363
- );
364
- }) : a.value.style.chart.grid.y.verticalLines.show && u.value.end - u.value.start >= a.value.style.chart.grid.y.verticalLines.hideUnderXLength && y.value.forEach((e) => {
365
- for (let l = u.value.start; l < u.value.end; l += 1)
366
- l % Math.floor((u.value.end - u.value.start) / a.value.style.chart.grid.x.timeLabels.modulo) === 0 && C(
367
- v.value,
368
- [
369
- {
370
- x: o.value.left + o.value.slot * (l - u.value.start) + o.value.slot / 2,
371
- y: o.value.bottom - e.yOffset - e.individualHeight
372
- },
373
- {
374
- x: o.value.left + o.value.slot * (l - u.value.start) + o.value.slot / 2,
375
- y: o.value.bottom - e.yOffset
376
- }
377
- ],
378
- {
379
- color: a.value.style.chart.grid.y.verticalLines.color
380
- }
381
- );
382
- }), a.value.style.chart.grid.x.horizontalLines.show && (a.value.style.chart.grid.x.horizontalLines.alternate ? y.value.forEach((e) => {
383
- e.localYLabels.forEach((l, t) => {
384
- t < e.localYLabels.length - 1 && Re(
385
- v.value,
386
- [
387
- { x: o.value.left, y: l.y },
388
- { x: o.value.right, y: l.y },
389
- { x: o.value.right, y: e.localYLabels[t + 1].y },
390
- { x: o.value.left, y: e.localYLabels[t + 1].y }
391
- ],
392
- {
393
- fillColor: t % 2 === 0 ? "transparent" : ke(a.value.style.chart.grid.x.horizontalLines.color, a.value.style.chart.grid.x.horizontalLines.opacity),
394
- strokeColor: "transparent"
395
- }
396
- );
397
- });
398
- }) : y.value.forEach((e) => {
399
- e.localYLabels.slice(u.value.start, u.value.end).forEach((l) => {
400
- C(
401
- v.value,
402
- [
403
- { x: o.value.left, y: l.y },
404
- { x: o.value.right, y: l.y }
405
- ],
406
- {
407
- color: a.value.style.chart.grid.x.horizontalLines.color
408
- }
409
- );
410
- });
411
- })), a.value.style.chart.grid.zeroLine.show && y.value.forEach((e) => {
412
- C(
413
- v.value,
414
- [
415
- { x: o.value.left, y: e.localZero },
416
- { x: o.value.right, y: e.localZero }
417
- ],
418
- {
419
- color: a.value.style.chart.grid.zeroLine.color,
420
- lineDash: a.value.style.chart.grid.zeroLine.dashed ? [10, 10] : [0, 0]
421
- }
422
- );
423
- }), a.value.style.chart.grid.y.axisLabels.show && y.value.forEach((e) => {
424
- C(
425
- v.value,
426
- [
427
- { x: o.value.left, y: o.value.bottom - e.yOffset },
428
- { x: o.value.left, y: o.value.bottom - e.yOffset - e.individualHeight }
429
- ],
430
- {
431
- color: e.color
432
- }
433
- ), C(
434
- v.value,
435
- [
436
- { x: o.value.right, y: o.value.bottom - e.yOffset },
437
- { x: o.value.right, y: o.value.bottom - e.yOffset - e.individualHeight }
438
- ],
439
- {
440
- color: e.color
441
- }
442
- );
443
- }), y.value.forEach((e) => {
444
- Y(
445
- v.value,
446
- e.name,
447
- m.value / 35,
448
- o.value.bottom - e.yOffset - e.individualHeight / 2,
449
- {
450
- align: "center",
451
- rotation: -90,
452
- color: e.color,
453
- font: `${Math.round(m.value / 40 * a.value.style.chart.grid.y.axisLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`
454
- }
455
- );
456
- });
457
- else {
458
- if (a.value.style.chart.grid.y.verticalLines.show && u.value.end - u.value.start < a.value.style.chart.grid.y.verticalLines.hideUnderXLength)
459
- for (let e = 0; e < u.value.end - u.value.start + 1; e += 1)
460
- C(
461
- v.value,
462
- [
463
- { x: o.value.left + o.value.slot * e, y: o.value.top },
464
- { x: o.value.left + o.value.slot * e, y: o.value.bottom }
465
- ],
466
- {
467
- color: a.value.style.chart.grid.y.verticalLines.color
468
- }
469
- );
470
- else if (a.value.style.chart.grid.y.verticalLines.show && u.value.end - u.value.start >= a.value.style.chart.grid.y.verticalLines.hideUnderXLength)
471
- for (let e = u.value.start; e < u.value.end; e += 1)
472
- e % Math.floor((u.value.end - u.value.start) / a.value.style.chart.grid.x.timeLabels.modulo) === 0 && C(
473
- v.value,
474
- [
475
- { x: o.value.left + o.value.slot * (e - u.value.start) + o.value.slot / 2, y: o.value.top },
476
- { x: o.value.left + o.value.slot * (e - u.value.start) + o.value.slot / 2, y: o.value.bottom }
477
- ],
478
- {
479
- color: a.value.style.chart.grid.y.verticalLines.color
480
- }
481
- );
482
- a.value.style.chart.grid.x.horizontalLines.show && (a.value.style.chart.grid.x.horizontalLines.alternate ? z.value.yLabels.forEach((e, l) => {
483
- l < z.value.yLabels.length - 1 && Re(
484
- v.value,
485
- [
486
- { x: o.value.left, y: e.y },
487
- { x: o.value.right, y: e.y },
488
- { x: o.value.right, y: z.value.yLabels[l + 1].y },
489
- { x: o.value.left, y: z.value.yLabels[l + 1].y }
490
- ],
491
- {
492
- fillColor: l % 2 === 0 ? "transparent" : ke(a.value.style.chart.grid.x.horizontalLines.color, a.value.style.chart.grid.x.horizontalLines.opacity),
493
- strokeColor: "transparent"
494
- }
495
- );
496
- }) : z.value.yLabels.forEach((e) => {
497
- C(
498
- v.value,
499
- [
500
- { x: o.value.left, y: e.y },
501
- { x: o.value.right, y: e.y }
502
- ],
503
- {
504
- color: a.value.style.chart.grid.x.horizontalLines.color
505
- }
506
- );
507
- })), a.value.style.chart.grid.y.showAxis && C(
508
- v.value,
509
- [
510
- { x: o.value.left, y: o.value.top },
511
- { x: o.value.left, y: o.value.bottom }
512
- ],
513
- {
514
- color: a.value.style.chart.grid.y.axisColor,
515
- lineWidth: a.value.style.chart.grid.y.axisThickness
516
- }
517
- ), a.value.style.chart.grid.x.showAxis && C(
518
- v.value,
519
- [
520
- { x: o.value.left, y: o.value.bottom },
521
- { x: o.value.right, y: o.value.bottom }
522
- ],
523
- {
524
- color: a.value.style.chart.grid.x.axisColor,
525
- lineWidth: a.value.style.chart.grid.x.axisThickness
526
- }
527
- ), a.value.style.chart.grid.zeroLine.show && C(
528
- v.value,
529
- [
530
- { x: o.value.left, y: z.value.zero },
531
- { x: o.value.right, y: z.value.zero }
532
- ],
533
- {
534
- color: a.value.style.chart.grid.zeroLine.color,
535
- lineDash: a.value.style.chart.grid.zeroLine.dashed ? [10, 10] : [0, 0]
536
- }
537
- );
538
- }
539
- a.value.style.chart.grid.y.axisName && Y(
540
- v.value,
541
- a.value.style.chart.grid.y.axisName,
542
- m.value - m.value / 40 * a.value.style.chart.grid.y.axisLabels.fontSizeRatio * 1.2,
543
- o.value.bottom - o.value.height / 2,
544
- {
545
- font: `${a.value.style.chart.grid.y.axisLabels.bold ? "bold " : ""}${Math.round(m.value / 40 * a.value.style.chart.grid.y.axisLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
546
- color: a.value.style.chart.color,
547
- align: "center",
548
- rotation: 90
549
- }
550
- ), a.value.style.chart.grid.x.axisName && Y(
551
- v.value,
552
- a.value.style.chart.grid.x.axisName,
553
- m.value / 2,
554
- G.value,
555
- {
556
- font: `${a.value.style.chart.grid.y.axisLabels.bold ? "bold " : ""}${Math.round(m.value / 40 * a.value.style.chart.grid.y.axisLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
557
- color: a.value.style.chart.color,
558
- align: "center"
559
- }
560
- );
561
- }
562
- }
563
- function nl(e) {
564
- for (let l = 0; l < e.coordinatesLine.length; l += 1) {
565
- const t = (h.value === l || w.value === l ? m.value / 150 : a.value.style.chart.line.plots.show || e.type === "plot" ? m.value / 200 : 0) * a.value.style.chart.line.plots.radiusRatio;
566
- Ze(
567
- v.value,
568
- { x: e.coordinatesLine[l].x, y: e.coordinatesLine[l].y },
569
- t,
570
- {
571
- color: a.value.style.chart.backgroundColor,
572
- fillStyle: e.color
573
- }
574
- );
575
- }
576
- }
577
- function il() {
578
- y.value.forEach((e) => {
579
- e.showYMarker && fe(e) && Y(
580
- v.value,
581
- se(
582
- a.value.style.chart.dataLabels.formatter,
583
- fe(e).value,
584
- re({
585
- p: e.prefix || a.value.style.chart.grid.y.axisLabels.prefix || "",
586
- v: fe(e).value,
587
- s: e.suffix || a.value.style.chart.grid.y.axisLabels.suffix || "",
588
- r: e.rounding || a.value.style.chart.grid.y.axisLabels.rounding || 0
589
- }),
590
- { datapoint: fe(e), seriesIndex: null }
591
- ),
592
- o.value.left - 8 + a.value.style.chart.grid.y.axisLabels.offsetX,
593
- fe(e).y,
594
- {
595
- align: "right",
596
- font: `${a.value.style.chart.grid.y.axisLabels.bold ? "bold " : ""}${Math.round(m.value / 40 * a.value.style.chart.grid.y.axisLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
597
- color: e.color
598
- }
599
- );
600
- });
601
- }
602
- function vl() {
603
- a.value.style.chart.grid.y.axisLabels.show && (c.value.stacked ? y.value.forEach((e) => {
604
- e.localYLabels.forEach((l, t) => {
605
- Y(
606
- v.value,
607
- se(
608
- a.value.style.chart.dataLabels.formatter,
609
- l.value,
610
- re({
611
- p: e.prefix || a.value.style.chart.grid.y.axisLabels.prefix || "",
612
- v: l.value,
613
- s: e.suffix || a.value.style.chart.grid.y.axisLabels.suffix || "",
614
- r: e.rounding || a.value.style.chart.grid.y.axisLabels.rounding || 0
615
- }),
616
- { datapoint: l, seriesIndex: t }
617
- ),
618
- l.x + a.value.style.chart.grid.y.axisLabels.offsetX,
619
- l.y,
620
- {
621
- align: "right",
622
- font: `${a.value.style.chart.grid.y.axisLabels.bold ? "bold " : ""}${Math.round(m.value / 40 * a.value.style.chart.grid.y.axisLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
623
- color: e.color,
624
- globalAlpha: e.showYMarker && ![null, void 0].includes(h.value ?? w.value) ? 0.2 : 1
625
- }
626
- );
627
- });
628
- }) : z.value.yLabels.forEach((e, l) => {
629
- Y(
630
- v.value,
631
- se(
632
- a.value.style.chart.dataLabels.formatter,
633
- e.value,
634
- re({
635
- p: a.value.style.chart.grid.y.axisLabels.prefix || "",
636
- v: e.value,
637
- s: a.value.style.chart.grid.y.axisLabels.suffix || "",
638
- r: a.value.style.chart.grid.y.axisLabels.rounding || 0
639
- }),
640
- { datapoint: e, seriesIndex: l }
641
- ),
642
- e.x + a.value.style.chart.grid.y.axisLabels.offsetX,
643
- e.y,
644
- {
645
- align: "right",
646
- font: `${a.value.style.chart.grid.y.axisLabels.bold ? "bold " : ""}${Math.round(m.value / 40 * a.value.style.chart.grid.y.axisLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
647
- color: a.value.style.chart.grid.y.axisLabels.color,
648
- globalAlpha: y.value.some((t) => t.showYMarker) && ![null, void 0].includes(h.value ?? w.value) ? 0.2 : 1
649
- }
650
- );
651
- }));
652
- }
653
- function cl(e) {
654
- for (let l = 0; l < e.coordinatesLine.length; l += 1)
655
- Y(
656
- v.value,
657
- se(
658
- a.value.style.chart.dataLabels.formatter,
659
- e.coordinatesLine[l].value,
660
- re({
661
- p: e.prefix || "",
662
- v: e.coordinatesLine[l].value,
663
- s: e.suffix || "",
664
- r: e.rounding || 0
665
- }),
666
- { datapoint: e.coordinatesLine[l], seriesIndex: l }
667
- ),
668
- e.coordinatesLine[l].x,
669
- e.coordinatesLine[l].y + a.value.style.chart.dataLabels.offsetY,
670
- {
671
- align: "center",
672
- font: `${a.value.style.chart.dataLabels.bold ? "bold " : ""}${Math.round(m.value / 40 * a.value.style.chart.dataLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
673
- color: a.value.style.chart.dataLabels.useSerieColor ? e.color : a.value.style.chart.dataLabels.color,
674
- strokeColor: a.value.style.chart.backgroundColor,
675
- lineWidth: 0.5
676
- }
677
- );
678
- }
679
- const N = g(() => tt({
680
- values: a.value.style.chart.grid.x.timeLabels.values,
681
- maxDatapoints: O.value,
682
- formatter: a.value.style.chart.grid.x.timeLabels.datetimeFormatter,
683
- start: 0,
684
- end: O.value
685
- })), pa = g(() => {
686
- const e = a.value.style.chart.grid.x.timeLabels.datetimeFormatter, l = ot({
687
- useUTC: e.useUTC,
688
- locale: ut[e.locale] || { months: [], shortMonths: [], days: [], shortDays: [] },
689
- januaryAsYear: e.januaryAsYear
690
- });
691
- return (t, r) => {
692
- const i = a.value.style.chart.grid.x.timeLabels.values?.[t];
693
- return i == null ? "" : l.formatDate(new Date(i), r);
694
- };
695
- }), ba = g(() => (a.value.style.chart.grid.x.timeLabels.values || []).map((l, t) => ({
696
- text: pa.value(t, a.value.style.chart.zoom.timeFormat),
697
- absoluteIndex: t
698
- }))), dl = g(() => (a.value.style.chart.grid.x.timeLabels.values || []).map((l, t) => ({
699
- text: pa.value(t, a.value.style.chart.tooltip.timeFormat),
700
- absoluteIndex: t
701
- })));
702
- function hl() {
703
- for (let e = u.value.start; e < u.value.end; e += 1)
704
- (u.value.end - u.value.start < a.value.style.chart.grid.x.timeLabels.modulo || u.value.end - u.value.start >= a.value.style.chart.grid.x.timeLabels.modulo && (e % Math.floor((u.value.end - u.value.start) / a.value.style.chart.grid.x.timeLabels.modulo) === 0 || (e === h.value + u.value.start || e === w.value) && a.value.style.chart.grid.x.timeLabels.showMarker)) && Y(
705
- v.value,
706
- N.value[e] ? N.value[e].text : e + 1,
707
- o.value.left + o.value.slot * (e - u.value.start) + o.value.slot / 2,
708
- o.value.bottom + m.value / a.value.style.chart.grid.x.timeLabels.offsetY,
709
- {
710
- align: a.value.style.chart.grid.x.timeLabels.rotation === 0 ? "center" : a.value.style.chart.grid.x.timeLabels.rotation > 0 ? "left" : "right",
711
- font: `${a.value.style.chart.grid.x.timeLabels.bold ? "bold " : ""}${Math.round(m.value / 40 * a.value.style.chart.grid.x.timeLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
712
- color: a.value.style.chart.grid.x.timeLabels.showMarker ? ke(a.value.style.chart.grid.x.timeLabels.color, h.value !== null || w.value !== null ? h.value + u.value.start === e || w.value === e ? 100 : 20 : 100) : a.value.style.chart.grid.x.timeLabels.color,
713
- rotation: a.value.style.chart.grid.x.timeLabels.rotation
714
- }
715
- );
716
- }
717
- function xa() {
718
- C(
719
- v.value,
720
- [
721
- { x: o.value.left + o.value.slot * (h.value ?? w.value) + o.value.slot / 2, y: o.value.top },
722
- { x: o.value.left + o.value.slot * (h.value ?? w.value) + o.value.slot / 2, y: o.value.bottom }
723
- ],
724
- {
725
- color: a.value.style.chart.selector.color,
726
- lineDash: a.value.style.chart.selector.dashed ? [8, 8] : [0, 0],
727
- lineWidth: 2
728
- }
729
- );
730
- }
731
- function fl() {
732
- E.value && C(
733
- v.value,
734
- [
735
- { x: o.value.left, y: E.value },
736
- { x: o.value.right, y: E.value }
737
- ],
738
- {
739
- color: a.value.style.chart.selector.color,
740
- lineDash: a.value.style.chart.selector.dashed ? [8, 8] : [0, 0],
741
- lineWidth: 2
742
- }
743
- );
744
- }
745
- function yl() {
746
- T.value.forEach((e, l) => {
747
- for (let t = 0; t < e.coordinatesLine.length; t += 1)
748
- Re(
749
- v.value,
750
- [
751
- {
752
- x: o.value.left + o.value.slot * t + o.value.slot / 10 + (c.value.stacked ? 0 : o.value.slot / T.value.length * l - (l === 0 ? 0 : o.value.slot / (5 * T.value.length) * l)),
753
- y: c.value.stacked ? e.localZero : z.value.zero
754
- },
755
- {
756
- x: o.value.left + o.value.slot * t + o.value.slot / 10 + (c.value.stacked ? 0 : o.value.slot / T.value.length * l - (l === 0 ? 0 : o.value.slot / (5 * T.value.length) * l)) + o.value.slot * 0.8 / (c.value.stacked ? 1 : T.value.length),
757
- y: c.value.stacked ? e.localZero : z.value.zero
758
- },
759
- {
760
- x: o.value.left + o.value.slot * t + o.value.slot / 10 + (c.value.stacked ? 0 : o.value.slot / T.value.length * l - (l === 0 ? 0 : o.value.slot / (5 * T.value.length) * l)) + o.value.slot * 0.8 / (c.value.stacked ? 1 : T.value.length),
761
- y: e.coordinatesLine[t].y
762
- },
763
- {
764
- x: o.value.left + o.value.slot * t + o.value.slot / 10 + (c.value.stacked ? 0 : o.value.slot / T.value.length * l - (l === 0 ? 0 : o.value.slot / (5 * T.value.length) * l)),
765
- y: e.coordinatesLine[t].y
766
- }
767
- ],
768
- {
769
- strokeColor: a.value.style.chart.backgroundColor,
770
- gradient: {
771
- type: "linear",
772
- start: {
773
- x: e.coordinatesLine[t].x,
774
- y: e.coordinatesLine[t].y
775
- },
776
- end: {
777
- x: e.coordinatesLine[t].x,
778
- y: c.value.stacked ? e.localZero : z.value.zero
779
- },
780
- stops: [
781
- { offset: 0, color: e.color },
782
- { offset: 1, color: a.value.style.chart.bar.gradient.show ? Vl(e.color, 0.5) : e.color }
783
- ]
784
- }
785
- }
786
- ), c.value.showDataLabels && [!0, void 0].includes(e.dataLabels) && Y(
787
- v.value,
788
- se(
789
- a.value.style.chart.dataLabels.formatter,
790
- e.coordinatesLine[t].value,
791
- re({
792
- p: e.prefix || "",
793
- v: e.coordinatesLine[t].value,
794
- s: e.suffix || "",
795
- r: e.rounding || 0
796
- }),
797
- { datapoint: e.coordinatesLine[t], seriesIndex: t }
798
- ),
799
- o.value.left + o.value.slot * t + o.value.slot / 10 + (c.value.stacked ? 0 : o.value.slot / T.value.length * l - (l === 0 ? 0 : o.value.slot / (5 * T.value.length) * l)) + o.value.slot * 0.4 / (c.value.stacked ? 1 : T.value.length),
800
- (e.coordinatesLine[t].value < 0 ? c.value.stacked ? e.localZero : z.value.zero : e.coordinatesLine[t].y) + a.value.style.chart.dataLabels.offsetY,
801
- {
802
- align: "center",
803
- font: `${Math.round(m.value / 40 * a.value.style.chart.dataLabels.fontSizeRatio)}px ${a.value.style.fontFamily}`,
804
- color: a.value.style.chart.dataLabels.useSerieColor ? e.color : a.value.style.chart.dataLabels.color,
805
- strokeColor: a.value.style.chart.backgroundColor,
806
- lineWidth: 0.8
807
- }
808
- );
809
- });
810
- }
811
- function ml(e, l) {
812
- const t = e.coordinatesLine.map((n, f) => {
813
- const x = e.series[f];
814
- return x != null && Number.isFinite(n?.y) ? n : null;
815
- }), r = [], s = [];
816
- let i = [];
817
- for (let n = 0; n < t.length; n += 1) {
818
- const f = t[n];
819
- if (f)
820
- i.push(f);
821
- else {
822
- if (i.length >= 2) {
823
- const x = i[0], A = i[i.length - 1];
824
- r.push([
825
- { x: x.x, y: l },
826
- ...i,
827
- { x: A.x, y: l }
828
- ]);
829
- } else i.length === 1 && s.push(i[0]);
830
- i = [];
831
- }
832
- }
833
- if (i.length >= 2) {
834
- const n = i[0], f = i[i.length - 1];
835
- r.push([
836
- { x: n.x, y: l },
837
- ...i,
838
- { x: f.x, y: l }
839
- ]);
840
- } else i.length === 1 && s.push(i[0]);
841
- return { polygons: r, singles: s };
842
- }
843
- function gl(e) {
844
- const l = e.coordinatesLine.map((s, i) => {
845
- const n = e.series[i];
846
- return n != null && Number.isFinite(s?.y) ? s : null;
847
- }), t = [];
848
- let r = [];
849
- for (let s = 0; s < l.length; s += 1) {
850
- const i = l[s];
851
- i ? r.push(i) : (r.length >= 2 && t.push(r), r = []);
852
- }
853
- return r.length >= 2 && t.push(r), t;
854
- }
855
- function La(e) {
856
- if (ze.value) {
857
- const l = gl(e);
858
- for (const t of l)
859
- C(v.value, t, {
860
- color: e.color,
861
- lineWidth: 3
862
- });
863
- } else
864
- C(v.value, e.coordinatesLine, {
865
- color: e.color,
866
- lineWidth: 3
867
- });
868
- }
869
- function pl(e) {
870
- const l = !!ze.value;
871
- if (e.useArea) {
872
- const t = c.value.stacked ? e.localZero : z.value.zero;
873
- if (l) {
874
- const { polygons: r, singles: s } = ml(e, t);
875
- for (const n of r)
876
- Na(v.value, n, {
877
- fillColor: ke(e.color, a.value.style.chart.area.opacity),
878
- strokeColor: "transparent"
879
- });
880
- const i = m.value / 200 * a.value.style.chart.line.plots.radiusRatio;
881
- for (const n of s)
882
- Ze(
883
- v.value,
884
- { x: n.x, y: n.y },
885
- i,
886
- {
887
- color: a.value.style.chart.backgroundColor,
888
- fillStyle: e.color
889
- }
890
- );
891
- } else {
892
- const r = { x: e.coordinatesLine[0].x, y: t }, s = { x: e.coordinatesLine.at(-1).x, y: t };
893
- Na(
894
- v.value,
895
- [r, ...e.coordinatesLine, s],
896
- {
897
- fillColor: ke(e.color, a.value.style.chart.area.opacity),
898
- strokeColor: "transparent"
899
- }
900
- );
901
- }
902
- La(e);
903
- return;
904
- }
905
- La(e);
906
- }
907
- function bl() {
908
- y.value.forEach((e, l) => {
909
- C(
910
- v.value,
911
- [
912
- { x: o.value.left, y: o.value.bottom - e.yOffset },
913
- { x: o.value.right, y: o.value.bottom - e.yOffset }
914
- ],
915
- {
916
- color: a.value.style.chart.grid.x.horizontalLines.color,
917
- lineWidth: 1
918
- }
919
- );
920
- });
921
- }
922
- function xl() {
923
- const { left: e, top: l, width: t, height: r } = o.value, s = u.value.start, n = u.value.end - s, f = t / n, x = I.value.start - s, A = I.value.end - s, k = Math.max(0, Math.min(n, x)), _ = Math.max(0, Math.min(n, A));
924
- Re(
925
- v.value,
926
- [
927
- { x: e + k * f, y: l },
928
- { x: e + k * f + (_ - k) * f, y: l },
929
- { x: e + k * f + (_ - k) * f, y: l + r },
930
- { x: e + k * f, y: l + r }
931
- ],
932
- {
933
- fillColor: a.value.style.chart.zoom.preview.fill,
934
- strokeColor: a.value.style.chart.zoom.preview.stroke,
935
- lineDash: Array(4).fill(a.value.style.chart.zoom.preview.strokeDasharray),
936
- lineWidth: a.value.style.chart.zoom.preview.strokeWidth
937
- }
938
- );
939
- }
940
- function Z() {
941
- !U.value || !S.value || !v.value || (rl(), D.value ? ((h.value !== null || w.value !== null) && a.value.style.chart.selector.show && xa(), yl(), c.value.stacked && a.value.style.chart.grid.x.showAxis && bl(), sl.value.forEach((e) => {
942
- (e.type === "line" || !e.type) && pl(e), X.value && (nl(e), c.value.showDataLabels && [!0, void 0].includes(e.dataLabels) && cl(e));
943
- }), S.value && (we.value = Zl(S.value))) : (we.value && (v.value.clearRect(0, 0, 1e4, 1e4), v.value.drawImage(we.value, 0, 0)), (h.value !== null || w.value !== null) && a.value.style.chart.selector.show && xa(), (h.value !== null || w.value !== null) && y.value.forEach((e) => {
944
- const l = h.value ?? w.value, t = e.coordinatesLine[l];
945
- (e.type === "line" || !e.type || e.type === "plot") && t && Number.isFinite(t.x) && Number.isFinite(t.y) && Ze(
946
- v.value,
947
- { x: t.x, y: t.y },
948
- m.value / 150 * a.value.style.chart.line.plots.radiusRatio,
949
- {
950
- color: a.value.style.chart.backgroundColor,
951
- fillStyle: e.color
952
- }
953
- );
954
- })), a.value.style.chart.grid.x.timeLabels.show && hl(), a.value.style.chart.selector.show && a.value.style.chart.selector.showHorizontalSelector && fl(), vl(), il(), a.value.style.chart.zoom.preview.enable && (u.value.start !== I.value.start || u.value.end !== I.value.end) && xl(), D.value = !1);
955
- }
956
- const $e = jl(() => {
957
- X.value = !0, Me();
958
- }, O.value > 200 ? 10 : 1, !X.value);
959
- function fe(e) {
960
- if ([null, void 0].includes(h.value ?? w.value) || !e.coordinatesLine[h.value ?? w.value]) return !1;
961
- const { y: l, value: t } = e.coordinatesLine[h.value ?? w.value];
962
- return { y: l, value: t };
963
- }
964
- function Ll(e) {
965
- if (!U.value || !S.value) return;
966
- const { left: l, top: t } = S.value.getBoundingClientRect(), r = e.clientX - l;
967
- if (E.value = (e.clientY - t) * 2, (E.value < o.value.top || E.value > o.value.bottom) && (E.value = null), r * 2 < o.value.left || r * 2 > o.value.right) {
968
- ne.value = !1, h.value = null;
969
- return;
970
- }
971
- const s = r * 2 - o.value.left;
972
- if (h.value = Math.floor(s / o.value.slot), ne.value = !0, !X.value) return;
973
- let i = "";
974
- const n = a.value.style.chart.tooltip.customFormat, f = y.value.map((x) => ({
975
- shape: x.shape || null,
976
- name: x.name,
977
- color: x.color,
978
- type: x.type || "line",
979
- value: x.series.find((A, k) => k === h.value)
980
- }));
981
- kl({ seriesIndex: h.value, datapoint: f }), Ea(n) && ql(() => n({
982
- seriesIndex: h.value,
983
- datapoint: f,
984
- series: y.value,
985
- config: a.value
986
- })) ? Ce.value = n({
987
- seriesIndex: h.value,
988
- datapoint: f,
989
- series: y.value,
990
- config: a.value
991
- }) : (a.value.style.chart.grid.x.timeLabels.values.slice(u.value.start, u.value.end)[h.value] ? i += `<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${a.value.style.chart.tooltip.borderColor}; width:100%">${a.value.style.chart.tooltip.useDefaultTimeFormat ? N.value.slice(u.value.start, u.value.end)[h.value]?.text : dl.value[h.value]?.text}</div>` : i += `<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${a.value.style.chart.tooltip.borderColor}; width:100%">${N.value[h.value + u.value.start]?.text ?? ""}</div>`, i += Ka.value.join(""), Ce.value = i), X.value = !1;
992
- }
993
- function kl({ seriesIndex: e, datapoint: l }) {
994
- const t = u.value.start + e;
995
- Ne("selectX", {
996
- dataset: l,
997
- index: t,
998
- indexLabel: ""
999
- });
1000
- }
1001
- P(() => p.selectedXIndex, (e) => {
1002
- if ([null, void 0].includes(p.selectedXIndex)) {
1003
- h.value = null;
1004
- return;
1005
- }
1006
- const l = e - u.value.start;
1007
- l < 0 || e >= u.value.end ? h.value = null : h.value = l ?? null;
1008
- }, { immediate: !0 }), P(() => h.value, (e) => {
1009
- $e();
1010
- }), P(() => u.value, (e) => {
1011
- D.value = !0, Z();
1012
- }, {
1013
- deep: !0
1014
- }), P(() => I.value, (e) => {
1015
- Z();
1016
- }, { deep: !0 }), P(() => c.value.showDataLabels, (e) => {
1017
- D.value = !0, Z();
1018
- }), P(() => E.value, (e) => {
1019
- e && Z();
1020
- }), P(() => c.value.stacked, (e) => {
1021
- D.value = !0, X.value = !0, $e();
1022
- });
1023
- function Cl() {
1024
- ne.value = !1, h.value = null, Ce.value = "", E.value = null, Z();
1025
- }
1026
- const j = Ye(null), oe = Ye(null), ue = Ye(null);
1027
- Aa(() => {
1028
- ta.value = !0, ka();
1029
- });
1030
- function ka() {
1031
- if (Bl(p.dataset) && qa.value && Wl({ componentName: "VueUiXyCanvas", type: "dataset" }), be(() => {
1032
- S.value && !v.value && (v.value = S.value.getContext("2d", { willReadFrequently: !0 })), v.value && U.value && (D.value = !0, X.value = !0, Me());
1033
- }), a.value.responsive) {
1034
- const e = Jl(() => {
1035
- const { width: l, height: t } = Ql({
1036
- chart: H.value,
1037
- title: a.value.style.chart.title.text ? ea.value : null,
1038
- legend: a.value.style.chart.legend.show ? aa.value : null,
1039
- slicer: a.value.style.chart.zoom.show && O.value > 6 ? q.value?.$el : null,
1040
- source: la.value
1041
- });
1042
- requestAnimationFrame(() => {
1043
- ra.value = `${l} / ${t}`;
1044
- });
1045
- });
1046
- j.value && (oe.value && j.value.unobserve(oe.value), j.value.disconnect()), j.value = new ResizeObserver(e), oe.value = H.value.parentNode, j.value.observe(oe.value);
1047
- }
1048
- ue.value && ue.value.disconnect(), ue.value = new ResizeObserver((e) => {
1049
- for (const l of e)
1050
- l.contentBoxSize && le.value && (D.value = !0, $e());
1051
- }), ue.value.observe(le.value), he();
1052
- }
1053
- Fa(() => {
1054
- ue.value && ue.value.disconnect(), j.value && (oe.value && j.value.unobserve(oe.value), j.value.disconnect());
1055
- });
1056
- function Ie(e) {
1057
- Ne("selectLegend", y.value.find((l) => l.absoluteIndex === e)), $.value.includes(e) ? $.value = $.value.filter((l) => l !== e) : $.value.push(e), D.value = !0, $e();
1058
- }
1059
- function Ca(e) {
1060
- if (!F.value.length)
1061
- return a.value.debug && console.warn("VueUiXyCanvas - There are no series to show."), null;
1062
- const l = F.value.find((t) => t.name === e);
1063
- return l || (a.value.debug && console.warn(`VueUiXyCanvas - Series name not found "${e}"`), null);
1064
- }
1065
- function wl(e) {
1066
- const l = Ca(e);
1067
- l !== null && $.value.includes(l.absoluteIndex) && Ie(l.absoluteIndex);
1068
- }
1069
- function Sl(e) {
1070
- const l = Ca(e);
1071
- l !== null && ($.value.includes(l.absoluteIndex) || Ie(l.absoluteIndex));
1072
- }
1073
- const wa = g(() => F.value.map((e, l) => ({
1074
- ...e,
1075
- name: e.name,
1076
- color: Da(e.color) || ha.value[l] || ae[l] || ae[l % ae.length],
1077
- shape: e.shape || "circle",
1078
- prefix: e.prefix || "",
1079
- suffix: e.suffix || "",
1080
- rounding: e.rounding || 0
1081
- })).map((e) => ({
1082
- ...e,
1083
- opacity: $.value.includes(e.absoluteIndex) ? 0.5 : 1,
1084
- segregate: () => Ie(e.absoluteIndex),
1085
- isSegregated: $.value.includes(e.absoluteIndex)
1086
- }))), zl = g(() => ({
1087
- cy: "donut-div-legend",
1088
- backgroundColor: a.value.style.chart.legend.backgroundColor,
1089
- color: a.value.style.chart.legend.color,
1090
- fontSize: a.value.style.chart.legend.fontSize,
1091
- paddingBottom: 12,
1092
- fontWeight: a.value.style.chart.legend.bold ? "bold" : ""
1093
- })), Te = g(() => {
1094
- const e = [""].concat(y.value.map((s) => s.name)).concat(' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>');
1095
- let l = [];
1096
- for (let s = 0; s < O.value; s += 1) {
1097
- const i = y.value.map((n) => n.series[s] ?? 0).reduce((n, f) => n + f, 0);
1098
- l.push([a.value.style.chart.grid.x.timeLabels.values.slice(u.value.start, u.value.end)[s] ? N.value.slice(u.value.start, u.value.end)[s].text : s + 1].concat(y.value.map((n) => (n.series[s] ?? 0).toFixed(a.value.table.rounding))).concat((i ?? 0).toFixed(a.value.table.rounding)));
1099
- }
1100
- const t = {
1101
- th: {
1102
- backgroundColor: a.value.table.th.backgroundColor,
1103
- color: a.value.table.th.color,
1104
- outline: a.value.table.th.outline
1105
- },
1106
- td: {
1107
- backgroundColor: a.value.table.td.backgroundColor,
1108
- color: a.value.table.td.color,
1109
- outline: a.value.table.td.outline
1110
- },
1111
- breakpoint: a.value.table.responsiveBreakpoint
1112
- }, r = [a.value.table.columnNames.period].concat(y.value.map((s) => s.name)).concat(a.value.table.columnNames.total);
1113
- return { head: e, body: l.slice(0, u.value.end - u.value.start), config: t, colNames: r };
1114
- }), Sa = g(() => {
1115
- if (y.value.length === 0) return { head: [], body: [], config: {}, columnNames: [] };
1116
- const e = y.value.map((t) => ({
1117
- label: t.name,
1118
- color: t.color,
1119
- type: t.type
1120
- })), l = [];
1121
- for (let t = u.value.start; t < u.value.end; t += 1) {
1122
- const r = [a.value.style.chart.grid.x.timeLabels.values[t] ? N.value[t].text : t + 1];
1123
- y.value.forEach((s) => {
1124
- r.push(Number((s.series[t] || 0).toFixed(a.value.table.rounding)));
1125
- }), l.push(r);
1126
- }
1127
- return { head: e, body: l };
1128
- });
1129
- function We(e = null) {
1130
- const l = [[a.value.style.chart.title.text], [a.value.style.chart.title.subtitle.text], [""]], t = ["", ...Sa.value.head.map((n) => n.label)], r = Sa.value.body, s = l.concat([t]).concat(r), i = Yl(s);
1131
- e ? e(i) : Gl({ csvContent: i, title: a.value.style.chart.title.text || "vue-ui-xy-canvas" });
1132
- }
1133
- function Ml() {
1134
- return y.value;
1135
- }
1136
- function za() {
1137
- c.value.showTable = !c.value.showTable;
1138
- }
1139
- function Ma() {
1140
- c.value.showDataLabels = !c.value.showDataLabels;
1141
- }
1142
- function $a() {
1143
- c.value.stacked = !c.value.stacked;
1144
- }
1145
- function Ia() {
1146
- c.value.showTooltip = !c.value.showTooltip;
1147
- }
1148
- const Ae = d(!1);
1149
- function Ve() {
1150
- Ae.value = !Ae.value;
1151
- }
1152
- async function $l({ scale: e = 2 } = {}) {
1153
- if (!H.value) return;
1154
- const { width: l, height: t } = H.value.getBoundingClientRect(), r = l / t, { imageUri: s, base64: i } = await nt({ domElement: H.value, base64: !0, img: !0, scale: e });
1155
- return {
1156
- imageUri: s,
1157
- base64: i,
1158
- title: a.value.style.chart.title.text,
1159
- width: l,
1160
- height: t,
1161
- aspectRatio: r
1162
- };
1163
- }
1164
- const ye = g(() => {
1165
- const e = a.value.table.useDialog && !a.value.table.show, l = c.value.showTable;
1166
- return {
1167
- component: e ? Va : ht,
1168
- title: `${a.value.style.chart.title.text}${a.value.style.chart.title.subtitle.text ? `: ${a.value.style.chart.title.subtitle.text}` : ""}`,
1169
- props: e ? {
1170
- backgroundColor: a.value.table.th.backgroundColor,
1171
- color: a.value.table.th.color,
1172
- headerColor: a.value.table.th.color,
1173
- headerBg: a.value.table.th.backgroundColor,
1174
- isFullscreen: ie.value,
1175
- fullscreenParent: H.value,
1176
- forcedWidth: Math.min(800, window.innerWidth * 0.8)
1177
- } : {
1178
- hideDetails: !0,
1179
- config: {
1180
- open: l,
1181
- maxHeight: 1e4,
1182
- body: {
1183
- backgroundColor: a.value.style.chart.backgroundColor,
1184
- color: a.value.style.chart.color
1185
- },
1186
- head: {
1187
- backgroundColor: a.value.style.chart.backgroundColor,
1188
- color: a.value.style.chart.color
1189
- }
1190
- }
1191
- }
1192
- };
1193
- });
1194
- P(() => c.value.showTable, (e) => {
1195
- a.value.table.show || (e && a.value.table.useDialog && ve.value ? ve.value.open() : "close" in ve.value && ve.value.close());
1196
- });
1197
- function Ta() {
1198
- c.value.showTable = !1, Ee.value && Ee.value.setTableIconState(!1);
1199
- }
1200
- return _a({
1201
- getData: Ml,
1202
- getImage: $l,
1203
- generateCsv: We,
1204
- generatePdf: va,
1205
- generateImage: ca,
1206
- hideSeries: Sl,
1207
- showSeries: wl,
1208
- toggleTable: za,
1209
- toggleLabels: Ma,
1210
- toggleStack: $a,
1211
- toggleTooltip: Ia,
1212
- toggleAnnotator: Ve,
1213
- toggleFullscreen: da
1214
- }), (e, l) => (R(), Fe("div", {
1215
- style: xe(`width:100%; position:relative; ${a.value.responsive ? "height: 100%" : ""}; background:${a.value.style.chart.backgroundColor};`),
1216
- ref_key: "xy",
1217
- ref: H,
1218
- id: `xy_canvas_${Q.value}`,
1219
- class: Fl(`vue-data-ui-component vue-ui-xy-canvas ${ie.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
1220
- onMouseenter: Za,
1221
- onMouseleave: ja
1222
- }, [
1223
- a.value.style.chart.title.text ? (R(), Fe("div", {
1224
- key: 0,
1225
- ref_key: "chartTitle",
1226
- ref: ea,
1227
- style: xe(`width:100%;background:${a.value.style.chart.backgroundColor};`)
1228
- }, [
1229
- (R(), V(ct, {
1230
- key: `title_${Oe.value}`,
1231
- config: {
1232
- title: {
1233
- cy: "xy-canvas-title",
1234
- ...a.value.style.chart.title
1235
- },
1236
- subtitle: {
1237
- cy: "xy-canvas-subtitle",
1238
- ...a.value.style.chart.title.subtitle
1239
- }
1240
- }
1241
- }, null, 8, ["config"]))
1242
- ], 4)) : W("", !0),
1243
- J("div", {
1244
- id: `legend-top-${Q.value}`
1245
- }, null, 8, gt),
1246
- a.value.userOptions.show && U.value && (L(sa) || L(Xe)) ? (R(), V(L(Ba), {
1247
- ref_key: "userOptionsRef",
1248
- ref: Ee,
1249
- key: `user_option_${Ke.value}`,
1250
- backgroundColor: a.value.style.chart.backgroundColor,
1251
- color: a.value.style.chart.color,
1252
- isPrinting: L(na),
1253
- isImaging: L(ia),
1254
- uid: Q.value,
1255
- hasTooltip: a.value.userOptions.buttons.tooltip && a.value.style.chart.tooltip.show,
1256
- hasPdf: a.value.userOptions.buttons.pdf,
1257
- hasImg: a.value.userOptions.buttons.img,
1258
- hasXls: a.value.userOptions.buttons.csv,
1259
- hasLabel: a.value.userOptions.buttons.labels,
1260
- hasStack: Je.dataset.length > 1 && a.value.userOptions.buttons.stack,
1261
- hasFullscreen: a.value.userOptions.buttons.fullscreen,
1262
- hasTable: u.value.end - u.value.start <= 730 && a.value.userOptions.buttons.table,
1263
- isFullscreen: ie.value,
1264
- isTooltip: c.value.showTooltip,
1265
- isStacked: c.value.stacked,
1266
- titles: { ...a.value.userOptions.buttonTitles },
1267
- chartElement: H.value,
1268
- position: a.value.userOptions.position,
1269
- hasAnnotator: a.value.userOptions.buttons.annotator,
1270
- isAnnotation: Ae.value,
1271
- callbacks: a.value.userOptions.callbacks,
1272
- printScale: a.value.userOptions.print.scale,
1273
- tableDialog: a.value.table.useDialog,
1274
- onToggleFullscreen: da,
1275
- onGeneratePdf: L(va),
1276
- onGenerateCsv: We,
1277
- onGenerateImage: L(ca),
1278
- onToggleTable: za,
1279
- onToggleLabels: Ma,
1280
- onToggleStack: $a,
1281
- onToggleTooltip: Ia,
1282
- onToggleAnnotator: Ve,
1283
- style: xe({
1284
- visibility: L(sa) ? L(Xe) ? "visible" : "hidden" : "visible"
1285
- })
1286
- }, Ra({ _: 2 }, [
1287
- e.$slots.menuIcon ? {
1288
- name: "menuIcon",
1289
- fn: b(({ isOpen: t, color: r }) => [
1290
- M(e.$slots, "menuIcon", K(ee({ isOpen: t, color: r })), void 0, !0)
1291
- ]),
1292
- key: "0"
1293
- } : void 0,
1294
- e.$slots.optionTooltip ? {
1295
- name: "optionTooltip",
1296
- fn: b(() => [
1297
- M(e.$slots, "optionTooltip", {}, void 0, !0)
1298
- ]),
1299
- key: "1"
1300
- } : void 0,
1301
- e.$slots.optionPdf ? {
1302
- name: "optionPdf",
1303
- fn: b(() => [
1304
- M(e.$slots, "optionPdf", {}, void 0, !0)
1305
- ]),
1306
- key: "2"
1307
- } : void 0,
1308
- e.$slots.optionCsv ? {
1309
- name: "optionCsv",
1310
- fn: b(() => [
1311
- M(e.$slots, "optionCsv", {}, void 0, !0)
1312
- ]),
1313
- key: "3"
1314
- } : void 0,
1315
- e.$slots.optionImg ? {
1316
- name: "optionImg",
1317
- fn: b(() => [
1318
- M(e.$slots, "optionImg", {}, void 0, !0)
1319
- ]),
1320
- key: "4"
1321
- } : void 0,
1322
- e.$slots.optionTable ? {
1323
- name: "optionTable",
1324
- fn: b(() => [
1325
- M(e.$slots, "optionTable", {}, void 0, !0)
1326
- ]),
1327
- key: "5"
1328
- } : void 0,
1329
- e.$slots.optionLabels ? {
1330
- name: "optionLabels",
1331
- fn: b(() => [
1332
- M(e.$slots, "optionLabels", {}, void 0, !0)
1333
- ]),
1334
- key: "6"
1335
- } : void 0,
1336
- e.$slots.optionStack ? {
1337
- name: "optionStack",
1338
- fn: b(() => [
1339
- M(e.$slots, "optionStack", {}, void 0, !0)
1340
- ]),
1341
- key: "7"
1342
- } : void 0,
1343
- e.$slots.optionFullscreen ? {
1344
- name: "optionFullscreen",
1345
- fn: b(({ toggleFullscreen: t, isFullscreen: r }) => [
1346
- M(e.$slots, "optionFullscreen", K(ee({ toggleFullscreen: t, isFullscreen: r })), void 0, !0)
1347
- ]),
1348
- key: "8"
1349
- } : void 0,
1350
- e.$slots.optionAnnotator ? {
1351
- name: "optionAnnotator",
1352
- fn: b(({ toggleAnnotator: t, isAnnotator: r }) => [
1353
- M(e.$slots, "optionAnnotator", K(ee({ toggleAnnotator: t, isAnnotator: r })), void 0, !0)
1354
- ]),
1355
- key: "9"
1356
- } : void 0
1357
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasImg", "hasXls", "hasLabel", "hasStack", "hasFullscreen", "hasTable", "isFullscreen", "isTooltip", "isStacked", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "onGeneratePdf", "onGenerateImage", "style"])) : W("", !0),
1358
- J("div", {
1359
- class: "vue-ui-xy-canvas",
1360
- style: xe(`position: relative; aspect-ratio: ${ra.value}`),
1361
- ref_key: "container",
1362
- ref: le
1363
- }, [
1364
- J("canvas", {
1365
- ref_key: "canvas",
1366
- ref: S,
1367
- style: { width: "100%", height: "100%" },
1368
- onMousemove: l[0] || (l[0] = (t) => Ll(t)),
1369
- onMouseleave: Cl
1370
- }, null, 544),
1371
- L(_e) ? (R(), V(at, { key: 0 })) : W("", !0),
1372
- Oa(L(Xa), {
1373
- show: c.value.showTooltip && ne.value,
1374
- backgroundColor: a.value.style.chart.tooltip.backgroundColor,
1375
- color: a.value.style.chart.tooltip.color,
1376
- fontSize: a.value.style.chart.tooltip.fontSize,
1377
- borderRadius: a.value.style.chart.tooltip.borderRadius,
1378
- borderColor: a.value.style.chart.tooltip.borderColor,
1379
- borderWidth: a.value.style.chart.tooltip.borderWidth,
1380
- position: a.value.style.chart.tooltip.position,
1381
- offsetY: a.value.style.chart.tooltip.offsetY,
1382
- parent: L(S),
1383
- content: Ce.value,
1384
- isFullscreen: ie.value,
1385
- backgroundOpacity: a.value.style.chart.tooltip.backgroundOpacity,
1386
- isCustom: L(Ea)(a.value.style.chart.tooltip.customFormat),
1387
- smooth: a.value.style.chart.tooltip.smooth,
1388
- backdropFilter: a.value.style.chart.tooltip.backdropFilter,
1389
- smoothForce: a.value.style.chart.tooltip.smoothForce,
1390
- smoothSnapThreshold: a.value.style.chart.tooltip.smoothSnapThreshold
1391
- }, {
1392
- "tooltip-before": b(() => [
1393
- M(e.$slots, "tooltip-before", K(ee({ ...Qe.value })), void 0, !0)
1394
- ]),
1395
- "tooltip-after": b(() => [
1396
- M(e.$slots, "tooltip-after", K(ee({ ...Qe.value })), void 0, !0)
1397
- ]),
1398
- _: 3
1399
- }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "position", "offsetY", "parent", "content", "isFullscreen", "backgroundOpacity", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"])
1400
- ], 4),
1401
- a.value.style.chart.zoom.show && O.value > 6 && U.value && oa.value && !L(_e) ? (R(), V(ft, {
1402
- key: 2,
1403
- ref_key: "chartSlicer",
1404
- ref: q,
1405
- allMinimaps: al.value,
1406
- background: a.value.style.chart.zoom.color,
1407
- borderColor: a.value.style.chart.backgroundColor,
1408
- customFormat: a.value.style.chart.zoom.customFormat,
1409
- cutNullValues: ze.value,
1410
- enableRangeHandles: a.value.style.chart.zoom.enableRangeHandles,
1411
- enableSelectionDrag: a.value.style.chart.zoom.enableSelectionDrag,
1412
- end: u.value.end,
1413
- focusOnDrag: a.value.style.chart.zoom.focusOnDrag,
1414
- focusRangeRatio: a.value.style.chart.zoom.focusRangeRatio,
1415
- fontSize: a.value.style.chart.zoom.fontSize,
1416
- immediate: !a.value.style.chart.zoom.preview.enable,
1417
- inputColor: a.value.style.chart.zoom.color,
1418
- isPreview: tl.value,
1419
- labelLeft: a.value.style.chart.grid.x.timeLabels.values[u.value.start] ? N.value[u.value.start].text : "",
1420
- labelRight: a.value.style.chart.grid.x.timeLabels.values[u.value.end - 1] ? N.value[u.value.end - 1].text : "",
1421
- max: O.value,
1422
- min: 0,
1423
- minimap: el.value,
1424
- minimapCompact: a.value.style.chart.zoom.minimap.compact,
1425
- minimapFrameColor: a.value.style.chart.zoom.minimap.frameColor,
1426
- minimapIndicatorColor: a.value.style.chart.zoom.minimap.indicatorColor,
1427
- minimapLineColor: a.value.style.chart.zoom.minimap.lineColor,
1428
- minimapMerged: a.value.style.chart.zoom.minimap.merged,
1429
- minimapSelectedColor: a.value.style.chart.zoom.minimap.selectedColor,
1430
- minimapSelectedColorOpacity: a.value.style.chart.zoom.minimap.selectedColorOpacity,
1431
- minimapSelectedIndex: h.value,
1432
- minimapSelectionRadius: a.value.style.chart.zoom.minimap.selectionRadius,
1433
- preciseLabels: ba.value.length ? ba.value : N.value,
1434
- refreshEndPoint: a.value.style.chart.zoom.endIndex !== null ? a.value.style.chart.zoom.endIndex + 1 : O.value,
1435
- refreshStartPoint: a.value.style.chart.zoom.startIndex !== null ? a.value.style.chart.zoom.startIndex : 0,
1436
- selectColor: a.value.style.chart.zoom.highlightColor,
1437
- selectedSeries: F.value,
1438
- smoothMinimap: a.value.style.chart.zoom.minimap.smooth,
1439
- start: u.value.start,
1440
- timeLabels: N.value,
1441
- usePreciseLabels: a.value.style.chart.grid.x.timeLabels.datetimeFormatter.enable && !a.value.style.chart.zoom.useDefaultFormat,
1442
- textColor: a.value.style.chart.color,
1443
- useResetSlot: a.value.style.chart.zoom.useResetSlot,
1444
- valueEnd: u.value.end,
1445
- valueStart: u.value.start,
1446
- verticalHandles: a.value.style.chart.zoom.minimap.verticalHandles,
1447
- onFutureEnd: l[1] || (l[1] = (t) => ya("end", t)),
1448
- onFutureStart: l[2] || (l[2] = (t) => ya("start", t)),
1449
- onReset: he,
1450
- onTrapMouse: Ja,
1451
- "onUpdate:end": ul,
1452
- "onUpdate:start": ol
1453
- }, {
1454
- "reset-action": b(({ reset: t }) => [
1455
- M(e.$slots, "reset-action", K(ee({ reset: t })), void 0, !0)
1456
- ]),
1457
- _: 3
1458
- }, 8, ["allMinimaps", "background", "borderColor", "customFormat", "cutNullValues", "enableRangeHandles", "enableSelectionDrag", "end", "focusOnDrag", "focusRangeRatio", "fontSize", "immediate", "inputColor", "isPreview", "labelLeft", "labelRight", "max", "minimap", "minimapCompact", "minimapFrameColor", "minimapIndicatorColor", "minimapLineColor", "minimapMerged", "minimapSelectedColor", "minimapSelectedColorOpacity", "minimapSelectedIndex", "minimapSelectionRadius", "preciseLabels", "refreshEndPoint", "refreshStartPoint", "selectColor", "selectedSeries", "smoothMinimap", "start", "timeLabels", "usePreciseLabels", "textColor", "useResetSlot", "valueEnd", "valueStart", "verticalHandles"])) : W("", !0),
1459
- J("div", {
1460
- id: `legend-bottom-${Q.value}`
1461
- }, null, 8, pt),
1462
- ta.value ? (R(), V(Rl, {
1463
- key: 3,
1464
- to: a.value.style.chart.legend.position === "top" ? `#legend-top-${Q.value}` : `#legend-bottom-${Q.value}`
1465
- }, [
1466
- J("div", {
1467
- ref_key: "chartLegend",
1468
- ref: aa
1469
- }, [
1470
- a.value.style.chart.legend.show && U.value ? (R(), V(vt, {
1471
- legendSet: wa.value,
1472
- config: zl.value,
1473
- key: `legend_${De.value}`,
1474
- onClickMarker: l[3] || (l[3] = ({ i: t }) => Ie(t))
1475
- }, {
1476
- item: b(({ legend: t, index: r }) => [
1477
- J("div", {
1478
- onClick: (s) => t.segregate(),
1479
- style: xe(`opacity:${$.value.includes(r) ? 0.5 : 1}`)
1480
- }, Ge(t.name), 13, bt)
1481
- ]),
1482
- _: 1
1483
- }, 8, ["legendSet", "config"])) : M(e.$slots, "legend", {
1484
- key: 1,
1485
- legend: wa.value
1486
- }, void 0, !0)
1487
- ], 512)
1488
- ], 8, ["to"])) : W("", !0),
1489
- e.$slots.watermark ? (R(), Fe("div", xt, [
1490
- M(e.$slots, "watermark", K(ee({ isPrinting: L(na) || L(ia) })), void 0, !0)
1491
- ])) : W("", !0),
1492
- e.$slots.source ? (R(), Fe("div", {
1493
- key: 5,
1494
- ref_key: "source",
1495
- ref: la,
1496
- dir: "auto"
1497
- }, [
1498
- M(e.$slots, "source", {}, void 0, !0)
1499
- ], 512)) : W("", !0),
1500
- U.value && a.value.userOptions.buttons.table ? (R(), V(Ol(ye.value.component), Pl({ key: 6 }, ye.value.props, {
1501
- ref_key: "tableUnit",
1502
- ref: ve,
1503
- onClose: Ta
1504
- }), Ra({
1505
- content: b(() => [
1506
- (R(), V(L(Ua), {
1507
- key: `table_${Pe.value}`,
1508
- colNames: Te.value.colNames,
1509
- head: Te.value.head,
1510
- body: Te.value.body,
1511
- config: Te.value.config,
1512
- title: a.value.table.useDialog ? "" : ye.value.title,
1513
- withCloseButton: !a.value.table.useDialog,
1514
- onClose: Ta
1515
- }, {
1516
- th: b(({ th: t }) => [
1517
- J("div", { innerHTML: t }, null, 8, Lt)
1518
- ]),
1519
- td: b(({ td: t }) => [
1520
- Pa(Ge(t), 1)
1521
- ]),
1522
- _: 1
1523
- }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"]))
1524
- ]),
1525
- _: 2
1526
- }, [
1527
- a.value.table.useDialog ? {
1528
- name: "title",
1529
- fn: b(() => [
1530
- Pa(Ge(ye.value.title), 1)
1531
- ]),
1532
- key: "0"
1533
- } : void 0,
1534
- a.value.table.useDialog ? {
1535
- name: "actions",
1536
- fn: b(() => [
1537
- J("button", {
1538
- tabindex: "0",
1539
- class: "vue-ui-user-options-button",
1540
- onClick: l[4] || (l[4] = (t) => We(a.value.userOptions.callbacks.csv))
1541
- }, [
1542
- Oa(dt, {
1543
- name: "excel",
1544
- stroke: ye.value.props.color
1545
- }, null, 8, ["stroke"])
1546
- ])
1547
- ]),
1548
- key: "1"
1549
- } : void 0
1550
- ]), 1040)) : W("", !0),
1551
- a.value.userOptions.buttons.annotator && y.value.length ? (R(), V(L(Wa), {
1552
- key: 7,
1553
- parent: H.value,
1554
- backgroundColor: a.value.style.chart.backgroundColor,
1555
- color: a.value.style.chart.color,
1556
- active: Ae.value,
1557
- onClose: Ve
1558
- }, null, 8, ["parent", "backgroundColor", "color", "active"])) : W("", !0)
1559
- ], 46, mt));
1560
- }
1561
- }, Ht = /* @__PURE__ */ yt(kt, [["__scopeId", "data-v-ab4f23de"]]);
1562
- export {
1563
- Ht as default
1564
- };