vue-data-ui 3.22.13 → 3.23.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 (224) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +13 -1
  3. package/dist/{Arrow-DKx74WtM.js → Arrow-o2qHNvrC.js} +1 -1
  4. package/dist/{BaseDraggableDialog-3n8udWmh.js → BaseDraggableDialog-qTnfhLBz.js} +2 -2
  5. package/dist/{BaseIcon-CP5RWnqt.js → BaseIcon-91MZoczJ.js} +4 -3
  6. package/dist/{BaseLegendToggle-DsWphmIb.js → BaseLegendToggle-CtAPwzr2.js} +1 -1
  7. package/dist/{BaseZoomControls-C9_ygNN4.js → BaseZoomControls-rdzlicuz.js} +2 -2
  8. package/dist/{ColorPicker-3N_HVgXs.js → ColorPicker-CIAkdPrj.js} +2 -2
  9. package/dist/{DataTable-DzPEVvSo.js → DataTable-D4tM9s5Y.js} +2 -2
  10. package/dist/HillActions-BWhxHlrj.js +187 -0
  11. package/dist/{Legend-C0xAnJdO.js → Legend-CQTRlzK-.js} +2 -2
  12. package/dist/{NonSvgPenAndPaper-B_mE5UbR.js → NonSvgPenAndPaper-Cawacw1W.js} +19 -19
  13. package/dist/{PackageVersion-B6Hokxw9.js → PackageVersion--QCMh5k_.js} +1 -1
  14. package/dist/{PenAndPaper-CSMVXpg2.js → PenAndPaper-cE4J8-rA.js} +11 -11
  15. package/dist/{Shape-BfnXr1nJ.js → Shape-BPMV94Ij.js} +3 -3
  16. package/dist/{Slicer-C6qNUmZ4.js → Slicer-5yIrdoJv.js} +15 -15
  17. package/dist/SlicerPreview-DvjLV2TW.js +1689 -0
  18. package/dist/{SparkTooltip-uoUiL_P8.js → SparkTooltip-BaYtEKS6.js} +6 -6
  19. package/dist/Title-BODtwViI.js +87 -0
  20. package/dist/{Tooltip-CA1rtSyl.js → Tooltip-CMTGxeYO.js} +1 -1
  21. package/dist/{UserOptions-DzAFK9cY.js → UserOptions-3ujTo3LD.js} +2 -2
  22. package/dist/components/arrow.js +1 -1
  23. package/dist/components/vue-ui-3d-bar.js +1 -1
  24. package/dist/components/vue-ui-accordion.js +1 -1
  25. package/dist/components/vue-ui-age-pyramid.js +1 -1
  26. package/dist/components/vue-ui-annotator.js +1 -1
  27. package/dist/components/vue-ui-bullet.js +1 -1
  28. package/dist/components/vue-ui-bump.js +1 -1
  29. package/dist/components/vue-ui-candlestick.js +1 -1
  30. package/dist/components/vue-ui-carousel-table.js +1 -1
  31. package/dist/components/vue-ui-chestnut.js +1 -1
  32. package/dist/components/vue-ui-chord.js +1 -1
  33. package/dist/components/vue-ui-circle-pack.js +1 -1
  34. package/dist/components/vue-ui-cursor.js +1 -1
  35. package/dist/components/vue-ui-dag.js +1 -1
  36. package/dist/components/vue-ui-dashboard.js +1 -1
  37. package/dist/components/vue-ui-digits.js +1 -1
  38. package/dist/components/vue-ui-donut-evolution.js +1 -1
  39. package/dist/components/vue-ui-donut.js +1 -1
  40. package/dist/components/vue-ui-dumbbell.js +1 -1
  41. package/dist/components/vue-ui-flow.js +1 -1
  42. package/dist/components/vue-ui-funnel.js +1 -1
  43. package/dist/components/vue-ui-galaxy.js +1 -1
  44. package/dist/components/vue-ui-gauge.js +1 -1
  45. package/dist/components/vue-ui-geo.js +1 -1
  46. package/dist/components/vue-ui-gizmo.js +1 -1
  47. package/dist/components/vue-ui-heatmap.js +1 -1
  48. package/dist/components/vue-ui-hill.js +2 -0
  49. package/dist/components/vue-ui-history-plot.js +1 -1
  50. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  51. package/dist/components/vue-ui-icon.js +1 -1
  52. package/dist/components/vue-ui-kpi.js +1 -1
  53. package/dist/components/vue-ui-mini-loader.js +1 -1
  54. package/dist/components/vue-ui-molecule.js +1 -1
  55. package/dist/components/vue-ui-mood-radar.js +1 -1
  56. package/dist/components/vue-ui-nested-donuts.js +1 -1
  57. package/dist/components/vue-ui-onion.js +1 -1
  58. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  59. package/dist/components/vue-ui-quadrant.js +1 -1
  60. package/dist/components/vue-ui-quick-chart.js +1 -1
  61. package/dist/components/vue-ui-radar.js +1 -1
  62. package/dist/components/vue-ui-rating.js +1 -1
  63. package/dist/components/vue-ui-relation-circle.js +1 -1
  64. package/dist/components/vue-ui-ridgeline.js +1 -1
  65. package/dist/components/vue-ui-rings.js +1 -1
  66. package/dist/components/vue-ui-scatter.js +1 -1
  67. package/dist/components/vue-ui-skeleton.js +1 -1
  68. package/dist/components/vue-ui-smiley.js +1 -1
  69. package/dist/components/vue-ui-spark-trend.js +1 -1
  70. package/dist/components/vue-ui-sparkbar.js +1 -1
  71. package/dist/components/vue-ui-sparkgauge.js +1 -1
  72. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  73. package/dist/components/vue-ui-sparkline.js +1 -1
  74. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  75. package/dist/components/vue-ui-stackbar.js +1 -1
  76. package/dist/components/vue-ui-stackline.js +1 -1
  77. package/dist/components/vue-ui-strip-plot.js +1 -1
  78. package/dist/components/vue-ui-table-heatmap.js +1 -1
  79. package/dist/components/vue-ui-table-sparkline.js +1 -1
  80. package/dist/components/vue-ui-table.js +1 -1
  81. package/dist/components/vue-ui-thermometer.js +1 -1
  82. package/dist/components/vue-ui-timer.js +1 -1
  83. package/dist/components/vue-ui-tiremarks.js +1 -1
  84. package/dist/components/vue-ui-treemap.js +1 -1
  85. package/dist/components/vue-ui-vertical-bar.js +1 -1
  86. package/dist/components/vue-ui-waffle.js +1 -1
  87. package/dist/components/vue-ui-wheel.js +1 -1
  88. package/dist/components/vue-ui-word-cloud.js +1 -1
  89. package/dist/components/vue-ui-world.js +1 -1
  90. package/dist/components/vue-ui-xy-canvas.js +1 -1
  91. package/dist/components/vue-ui-xy.js +1 -1
  92. package/dist/{dom-to-png-BdAFKZQg.js → dom-to-png-4tdMNGPX.js} +1 -1
  93. package/dist/exposedLib-DWLRqRhv.js +25 -0
  94. package/dist/{img-Bikk1dGb.js → img-DIQG5q8T.js} +1 -1
  95. package/dist/{labelUtils-BUhssos9.js → labelUtils-C5lnc_xc.js} +1 -1
  96. package/dist/{lib-CFm_J26b.js → lib-BuMGJ_a0.js} +216 -173
  97. package/dist/{package-DmDydylu.js → package-BMc_ZieJ.js} +1 -1
  98. package/dist/{pdf-zmz3l2uy.js → pdf-Cnz4NKM9.js} +1 -1
  99. package/dist/{render-common-BIG8JYGK.js → render-common-Ktg2LZFG.js} +21 -21
  100. package/dist/ssr/vue-ui-donut.js +1 -1
  101. package/dist/ssr/vue-ui-xy.js +1 -1
  102. package/dist/ssr.js +2 -2
  103. package/dist/style.css +1 -1
  104. package/dist/types/vue-data-ui.d.ts +493 -0
  105. package/dist/types/vue-ui-hill.d.ts +90 -0
  106. package/dist/useAutoSizeLabelsInsideViewbox-DvDwcwi_.js +122 -0
  107. package/dist/{useConfig-C0V0eG7L.js → useConfig-BilxnBNr.js} +767 -476
  108. package/dist/useHints-Dq_w2E8B.js +66 -0
  109. package/dist/{useNestedProp-BY6DNN3i.js → useNestedProp--NSEmhOH.js} +1 -1
  110. package/dist/{useObjectBindings-Djwpii4d.js → useObjectBindings-Cwq7NcQz.js} +3 -2
  111. package/dist/{usePrinter-BH-xle1O.js → usePrinter-BFvi4jVy.js} +2 -2
  112. package/dist/useTransitions-g_zBREk2.js +39 -0
  113. package/dist/utils.js +14 -14
  114. package/dist/{vue-data-ui-rkzh6EkO.js → vue-data-ui-EsawKe_W.js} +85 -81
  115. package/dist/vue-data-ui.js +77 -76
  116. package/dist/vue-ui-3d-bar-RSUS2xpL.js +1849 -0
  117. package/dist/{vue-ui-accordion-UA88lv4d.js → vue-ui-accordion-61MlW-Ge.js} +4 -4
  118. package/dist/vue-ui-age-pyramid-CgnPWA93.js +1263 -0
  119. package/dist/vue-ui-annotator-DBRT85HG.js +2913 -0
  120. package/dist/vue-ui-bullet-Bc3-WaN1.js +724 -0
  121. package/dist/{vue-ui-bump-BS7RCf0Z.js → vue-ui-bump-Dvv3iSKr.js} +332 -295
  122. package/dist/{vue-ui-candlestick-BZSGDKrM.js → vue-ui-candlestick-DvvsrIdp.js} +464 -440
  123. package/dist/vue-ui-carousel-table-DtsNVim8.js +463 -0
  124. package/dist/vue-ui-chestnut-ArloORzP.js +2068 -0
  125. package/dist/{vue-ui-chord-D6G7ceE-.js → vue-ui-chord-xX5gWZy8.js} +430 -424
  126. package/dist/vue-ui-circle-pack-D8wykmqg.js +1638 -0
  127. package/dist/{vue-ui-cursor-BpN5MsXM.js → vue-ui-cursor-CxgE6Phh.js} +61 -61
  128. package/dist/{vue-ui-dag-BzgOgXzU.js → vue-ui-dag-C9Sf9vH7.js} +924 -916
  129. package/dist/vue-ui-dashboard-bGmaglAj.js +520 -0
  130. package/dist/{vue-ui-digits-OMPrn8fb.js → vue-ui-digits-DgDE-_Fn.js} +58 -50
  131. package/dist/vue-ui-donut-B_n6wF6B.js +2440 -0
  132. package/dist/{vue-ui-donut-Cp5NbZ1r.js → vue-ui-donut-Bmo149AR.js} +113 -113
  133. package/dist/{vue-ui-donut-evolution-DHVi5rOn.js → vue-ui-donut-evolution-D6vH_hfx.js} +528 -447
  134. package/dist/vue-ui-dumbbell-BX4Ao_wR.js +1582 -0
  135. package/dist/{vue-ui-flow-BusUK3H0.js → vue-ui-flow-Bshw8pT_.js} +415 -407
  136. package/dist/vue-ui-funnel-CjYosIik.js +797 -0
  137. package/dist/vue-ui-galaxy-CvXgy-dy.js +1111 -0
  138. package/dist/vue-ui-gauge-CByT0_vF.js +953 -0
  139. package/dist/{vue-ui-geo-CyFgFKlh.js → vue-ui-geo-C-gSZL2q.js} +378 -363
  140. package/dist/{vue-ui-gizmo-DdeXwCQp.js → vue-ui-gizmo-CJdxyPID.js} +57 -49
  141. package/dist/{vue-ui-heatmap-D8-qJ7fg.js → vue-ui-heatmap-DEEKv8ip.js} +498 -490
  142. package/dist/vue-ui-hill-D7LYAgAL.js +1768 -0
  143. package/dist/{vue-ui-history-plot-C2Aqk2ON.js → vue-ui-history-plot-BhcU94Pt.js} +553 -556
  144. package/dist/vue-ui-horizontal-bar-CfFye5tL.js +1733 -0
  145. package/dist/vue-ui-kpi-DCBnNfTb.js +104 -0
  146. package/dist/vue-ui-mini-loader-CtWpqnLW.js +133 -0
  147. package/dist/vue-ui-molecule-D3igGyOy.js +958 -0
  148. package/dist/{vue-ui-mood-radar-BiOjxFEN.js → vue-ui-mood-radar-sl6DMxqR.js} +349 -341
  149. package/dist/{vue-ui-nested-donuts-Cl1HVvDp.js → vue-ui-nested-donuts-aS4YzaB3.js} +449 -413
  150. package/dist/vue-ui-onion-EhPTZpW_.js +1258 -0
  151. package/dist/vue-ui-parallel-coordinate-plot-DE9wTmQQ.js +1455 -0
  152. package/dist/{vue-ui-quadrant-B21LkUc8.js → vue-ui-quadrant-SaY_RPSE.js} +625 -617
  153. package/dist/vue-ui-quick-chart-CJ9rejnj.js +2389 -0
  154. package/dist/{vue-ui-radar-CyzAyVos.js → vue-ui-radar-CaNen5Fj.js} +356 -310
  155. package/dist/vue-ui-rating--K7rX2an.js +360 -0
  156. package/dist/vue-ui-relation-circle-FLs8vOxQ.js +925 -0
  157. package/dist/vue-ui-ridgeline-Beg5hshN.js +1663 -0
  158. package/dist/{vue-ui-rings-FtcdX8xl.js → vue-ui-rings-BevKD8P-.js} +449 -423
  159. package/dist/{vue-ui-scatter-Cp_-2ahf.js → vue-ui-scatter-CNA7jF-o.js} +721 -702
  160. package/dist/{vue-ui-skeleton-COytVrfN.js → vue-ui-skeleton-B9ZP1w-i.js} +395 -387
  161. package/dist/{vue-ui-smiley-Da2jgkb7.js → vue-ui-smiley-DYnqqk6u.js} +128 -120
  162. package/dist/{vue-ui-spark-trend-DC2KUlEY.js → vue-ui-spark-trend-R0ebpg-G.js} +132 -117
  163. package/dist/{vue-ui-sparkbar-DdxQOFIF.js → vue-ui-sparkbar-DYC3By0v.js} +119 -111
  164. package/dist/{vue-ui-sparkgauge-DTA-fORH.js → vue-ui-sparkgauge-Bw6no-In.js} +76 -68
  165. package/dist/vue-ui-sparkhistogram-DvRKy8rq.js +590 -0
  166. package/dist/{vue-ui-sparkline-DcR_N-zT.js → vue-ui-sparkline-Dz1uzBos.js} +389 -364
  167. package/dist/vue-ui-sparkstackbar-DlnPdZih.js +692 -0
  168. package/dist/vue-ui-stackbar-B-THcavY.js +2350 -0
  169. package/dist/vue-ui-stackline-3dBPoI0h.js +2464 -0
  170. package/dist/{vue-ui-strip-plot-NLCwYvyw.js → vue-ui-strip-plot-ACeYOoHj.js} +505 -484
  171. package/dist/vue-ui-table-heatmap-DVwMqzje.js +364 -0
  172. package/dist/{vue-ui-table-AM9brdwU.js → vue-ui-table-rFy16bp0.js} +512 -504
  173. package/dist/{vue-ui-table-sparkline-BE6DAvur.js → vue-ui-table-sparkline-CABJzK8p.js} +207 -181
  174. package/dist/vue-ui-thermometer-CVQ-H69Q.js +777 -0
  175. package/dist/{vue-ui-timer-BZM5ITG9.js → vue-ui-timer-Bm8LpsnI.js} +66 -58
  176. package/dist/{vue-ui-tiremarks-BCncDpHX.js → vue-ui-tiremarks-DB3f5qiz.js} +127 -119
  177. package/dist/vue-ui-treemap-DP0Sx8Y8.js +1760 -0
  178. package/dist/vue-ui-waffle-iPpdk1Bm.js +1412 -0
  179. package/dist/vue-ui-wheel-BJkEYfLj.js +892 -0
  180. package/dist/{vue-ui-word-cloud-D7R7nhk1.js → vue-ui-word-cloud-B2sxtel9.js} +440 -432
  181. package/dist/{vue-ui-world-DZBt-07p.js → vue-ui-world-BBQZLnzm.js} +343 -335
  182. package/dist/vue-ui-xy-ChZg7AtI.js +1364 -0
  183. package/dist/{vue-ui-xy-CluEZ7lS.js → vue-ui-xy-DZj5DT-q.js} +1633 -1587
  184. package/dist/{vue-ui-xy-canvas-7YSYRdwr.js → vue-ui-xy-canvas-BN2u0bOJ.js} +456 -430
  185. package/dist/vue_ui_hill-dnltu0L-.js +368 -0
  186. package/package.json +2 -2
  187. package/dist/SlicerPreview-Cw6WMVhG.js +0 -1689
  188. package/dist/Title-BuPs74IB.js +0 -87
  189. package/dist/exposedLib-Ciw6TGtP.js +0 -25
  190. package/dist/useAutoSizeLabelsInsideViewbox-C9RNjsGv.js +0 -50
  191. package/dist/useMountedDelay-BAjrhRJb.js +0 -14
  192. package/dist/vue-ui-3d-bar-D5xHEWr1.js +0 -1824
  193. package/dist/vue-ui-age-pyramid-CAJg01c7.js +0 -1246
  194. package/dist/vue-ui-annotator-q3ZKx6ua.js +0 -2905
  195. package/dist/vue-ui-bullet-ByeaWGfI.js +0 -709
  196. package/dist/vue-ui-carousel-table-DO5NRXvX.js +0 -455
  197. package/dist/vue-ui-chestnut-BfeSPeEh.js +0 -2042
  198. package/dist/vue-ui-circle-pack-Cqmlw7AV.js +0 -1610
  199. package/dist/vue-ui-dashboard-DLvGJXJY.js +0 -512
  200. package/dist/vue-ui-donut-ZIRebAWc.js +0 -2418
  201. package/dist/vue-ui-dumbbell-gDYjU2oF.js +0 -1564
  202. package/dist/vue-ui-funnel-BtaYaU0r.js +0 -781
  203. package/dist/vue-ui-galaxy-BMp-HzDh.js +0 -1076
  204. package/dist/vue-ui-gauge-CBou0cFE.js +0 -925
  205. package/dist/vue-ui-horizontal-bar-BuwxI7d1.js +0 -1689
  206. package/dist/vue-ui-kpi-ByxoO01r.js +0 -96
  207. package/dist/vue-ui-mini-loader-D9pprk2c.js +0 -125
  208. package/dist/vue-ui-molecule-BqJJq49_.js +0 -932
  209. package/dist/vue-ui-onion-CRQOxurS.js +0 -1199
  210. package/dist/vue-ui-parallel-coordinate-plot-Dhn18RtR.js +0 -1412
  211. package/dist/vue-ui-quick-chart-DAhSXYnp.js +0 -2443
  212. package/dist/vue-ui-rating-DbxK-ftN.js +0 -352
  213. package/dist/vue-ui-relation-circle-Cb33DMZo.js +0 -917
  214. package/dist/vue-ui-ridgeline-D7aArzQk.js +0 -1627
  215. package/dist/vue-ui-sparkhistogram-D1oFTrvt.js +0 -575
  216. package/dist/vue-ui-sparkstackbar-BlFio0lP.js +0 -674
  217. package/dist/vue-ui-stackbar-Cu13EdVa.js +0 -2322
  218. package/dist/vue-ui-stackline-DKL0o_-3.js +0 -2427
  219. package/dist/vue-ui-table-heatmap-CSI482KG.js +0 -338
  220. package/dist/vue-ui-thermometer-D6Czx7Fb.js +0 -769
  221. package/dist/vue-ui-treemap-BOEYCOdk.js +0 -1727
  222. package/dist/vue-ui-waffle-BrM8IHdG.js +0 -1367
  223. package/dist/vue-ui-wheel-BNsajigQ.js +0 -884
  224. package/dist/vue-ui-xy-Dt_1bSBT.js +0 -1364
@@ -0,0 +1,1455 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, D as n, G as r, Gt as i, Jt as a, Kt as o, P as s, Pt as c, S as ee, V as te, X as ne, _ as re, ct as ie, ht as ae, i as oe, jt as se, pt as ce, q as le, qt as ue, t as de, tt as fe, w as pe, xt as me } from "./lib-BuMGJ_a0.js";
3
+ import { n as he, t as ge } from "./useHints-Dq_w2E8B.js";
4
+ import { t as _e } from "./useConfig-BilxnBNr.js";
5
+ import { t as ve } from "./usePrinter-BFvi4jVy.js";
6
+ import { n as ye, t as be } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as xe } from "./useSvgExport-Ba9qBr9M.js";
8
+ import { t as Se } from "./useNestedProp--NSEmhOH.js";
9
+ import { t as Ce } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as we } from "./useTransitions-g_zBREk2.js";
11
+ import { t as Te } from "./useTimeLabelCollider-AEcY4Ioe.js";
12
+ import { t as Ee } from "./img-DIQG5q8T.js";
13
+ import { n as De } from "./Title-BODtwViI.js";
14
+ import { t as Oe } from "./Shape-BPMV94Ij.js";
15
+ import { t as ke } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
+ import { l as Ae, t as je } from "./useResponsive-ZtArZtUf.js";
17
+ import { t as Me } from "./BaseLegendToggle-CtAPwzr2.js";
18
+ import { t as Ne } from "./A11yDataTable-DdRsVULz.js";
19
+ import { t as Pe } from "./useUserOptionState-DK-_1ddE.js";
20
+ import { t as Fe } from "./useChartAccessibility-DYqac8yF.js";
21
+ import { t as Ie } from "./Legend-CQTRlzK-.js";
22
+ import { t as Le } from "./vue_ui_parallel_coordinate_plot-CBiOBira.js";
23
+ import { Fragment as l, Teleport as Re, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createSlots as ze, createTextVNode as Be, createVNode as Ve, defineAsyncComponent as h, guardReactiveProps as g, mergeProps as He, nextTick as Ue, normalizeClass as _, normalizeProps as v, normalizeStyle as y, onBeforeUnmount as We, onMounted as Ge, openBlock as b, ref as x, renderList as S, renderSlot as C, resolveDynamicComponent as Ke, shallowRef as qe, toDisplayString as w, toRefs as Je, unref as T, watch as Ye, watchEffect as Xe, withCtx as E } from "vue";
24
+ //#region src/components/vue-ui-parallel-coordinate-plot.vue
25
+ var Ze = /* @__PURE__ */ e({ default: () => Ct }), Qe = ["id"], $e = ["id"], et = ["id"], tt = { style: { position: "relative" } }, nt = [
26
+ "xmlns",
27
+ "aria-describedby",
28
+ "viewBox"
29
+ ], rt = [
30
+ "x",
31
+ "y",
32
+ "width",
33
+ "height"
34
+ ], it = { style: { "pointer-events": "none" } }, at = [
35
+ "x1",
36
+ "x2",
37
+ "y1",
38
+ "y2",
39
+ "stroke",
40
+ "stroke-width"
41
+ ], ot = [
42
+ "d",
43
+ "stroke",
44
+ "stroke-width"
45
+ ], st = { key: 0 }, ct = [
46
+ "transform",
47
+ "fill",
48
+ "font-size",
49
+ "font-weight"
50
+ ], lt = [
51
+ "fill",
52
+ "font-size",
53
+ "font-weight",
54
+ "text-anchor",
55
+ "transform"
56
+ ], ut = [
57
+ "fill",
58
+ "font-size",
59
+ "font-weight",
60
+ "text-anchor",
61
+ "transform",
62
+ "innerHTML"
63
+ ], dt = { key: 0 }, ft = [
64
+ "x",
65
+ "y",
66
+ "font-size",
67
+ "fill"
68
+ ], pt = [
69
+ "width",
70
+ "x",
71
+ "y"
72
+ ], mt = { style: { width: "100%" } }, ht = [
73
+ "d",
74
+ "stroke",
75
+ "stroke-width",
76
+ "onMouseenter",
77
+ "onMouseleave",
78
+ "onClick"
79
+ ], gt = [
80
+ "d",
81
+ "onMouseenter",
82
+ "onMouseleave",
83
+ "onClick"
84
+ ], _t = [
85
+ "transform",
86
+ "fill",
87
+ "font-weight",
88
+ "font-size",
89
+ "stroke",
90
+ "onMouseenter",
91
+ "onMouseleave",
92
+ "onClick"
93
+ ], vt = {
94
+ key: 0,
95
+ style: {
96
+ position: "absolute",
97
+ top: "100%",
98
+ left: "0",
99
+ width: "100%"
100
+ },
101
+ "data-dom-to-png-ignore": "",
102
+ "aria-hidden": "true"
103
+ }, yt = {
104
+ key: 5,
105
+ class: "vue-data-ui-watermark"
106
+ }, bt = ["id"], xt = ["onClick"], St = ["innerHTML"], Ct = /*#__PURE__*/ ke({
107
+ __name: "vue-ui-parallel-coordinate-plot",
108
+ props: {
109
+ config: {
110
+ type: Object,
111
+ default() {
112
+ return {};
113
+ }
114
+ },
115
+ dataset: {
116
+ type: Array,
117
+ default() {
118
+ return [];
119
+ }
120
+ }
121
+ },
122
+ emits: [
123
+ "selectLegend",
124
+ "selectDatapoint",
125
+ "copyAlt"
126
+ ],
127
+ setup(e, { expose: ke, emit: Ze }) {
128
+ let Ct = h(() => import("./Tooltip-CMTGxeYO.js")), wt = h(() => import("./BaseIcon-91MZoczJ.js").then((e) => e.n)), Tt = h(() => import("./vue-ui-accordion-61MlW-Ge.js").then((e) => e.n)), Et = h(() => import("./DataTable-D4tM9s5Y.js")), Dt = h(() => import("./PenAndPaper-cE4J8-rA.js").then((e) => e.t)), Ot = h(() => import("./UserOptions-3ujTo3LD.js").then((e) => e.n)), kt = h(() => import("./PackageVersion--QCMh5k_.js").then((e) => e.t)), At = h(() => import("./BaseDraggableDialog-qTnfhLBz.js").then((e) => e.n)), { vue_ui_parallel_coordinate_plot: jt } = _e(), { isThemeValid: Mt, warnInvalidTheme: Nt } = Ce(), D = e, Pt = u({
129
+ get() {
130
+ return !!D.dataset && D.dataset.length;
131
+ },
132
+ set(e) {
133
+ return e;
134
+ }
135
+ }), Ft = x(0), O = x(null), It = x(null), Lt = x(null), Rt = x(null), zt = x(null), Bt = x(0), Vt = x(0), Ht = x(0), Ut = x(!1), k = x(null), Wt = x(null), Gt = x(!1), Kt = x(!1), qt = x(null), A = x(null), Jt = x({
136
+ x: 0,
137
+ y: 0
138
+ }), Yt = x("pointer"), Xt = x(!1), j = x(le()), M = x(!1);
139
+ function Zt(e) {
140
+ M.value = e, Ft.value += 1;
141
+ }
142
+ let N = x(on()), { transitionEnabled: P } = we({
143
+ config: () => N.value.transitions,
144
+ dataset: () => D.dataset
145
+ });
146
+ he({
147
+ config: () => N.value,
148
+ dataset: () => D.dataset,
149
+ component: "VueUiParallelCoordinatePlot",
150
+ rules: [
151
+ ge.emptyArray,
152
+ {
153
+ test: (e) => e.length > 10,
154
+ message: [
155
+ "👀 There are > 10 series. Consider:",
156
+ "",
157
+ "▶️ Using filters, to show less series at the same time and make the chart more readable."
158
+ ]
159
+ },
160
+ {
161
+ test: (e) => e.some((e) => (e?.series ?? []).some((e) => (e?.values ?? []).length > 15)),
162
+ message: [
163
+ "👀 There are > 15 axes, which can make the chart hard to read. Consider:",
164
+ "",
165
+ "▶️ Using filters, to allow users to select a maximum set of metrics."
166
+ ]
167
+ },
168
+ {
169
+ test: (e) => e.some((e) => e?.series?.length > 5),
170
+ message: [
171
+ "👀 Some series have > 5 datapoints. Consider:",
172
+ "",
173
+ "▶️ Using filters, to allow users to select a maximum set of metrics."
174
+ ]
175
+ }
176
+ ]
177
+ });
178
+ let F = u(() => N.value.userOptions.useCursorPointer), Qt = u(() => a({
179
+ defaultConfig: {
180
+ useCssAnimation: !1,
181
+ userOptions: { show: !1 },
182
+ table: { show: !1 },
183
+ style: { chart: {
184
+ backgroundColor: "#99999930",
185
+ legend: {
186
+ show: !0,
187
+ backgroundColor: "transparent"
188
+ },
189
+ yAxis: {
190
+ stroke: "#6A6A6A",
191
+ labels: {
192
+ showAxisNames: !1,
193
+ axisNames: [],
194
+ ticks: { color: "#6A6A6A" }
195
+ }
196
+ }
197
+ } }
198
+ },
199
+ userConfig: N.value.skeletonConfig ?? {}
200
+ })), { loading: $t, FINAL_DATASET: en, manualLoading: tn } = ye({
201
+ ...Je(D),
202
+ FINAL_CONFIG: N,
203
+ prepareConfig: on,
204
+ callback: () => {
205
+ Promise.resolve().then(async () => {
206
+ await Ue(), H.value.showTable = N.value.table.show;
207
+ });
208
+ },
209
+ skeletonDataset: D.config?.skeletonDataset ?? [
210
+ {
211
+ name: "",
212
+ shape: "circle",
213
+ color: "transparent",
214
+ series: [{
215
+ name: "",
216
+ values: [
217
+ 1,
218
+ 10,
219
+ 100,
220
+ 1e3
221
+ ]
222
+ }]
223
+ },
224
+ {
225
+ name: "",
226
+ shape: "circle",
227
+ color: "#CACACA",
228
+ series: [{
229
+ name: "",
230
+ values: [
231
+ .2,
232
+ 3,
233
+ 50,
234
+ 800
235
+ ]
236
+ }]
237
+ },
238
+ {
239
+ name: "",
240
+ shape: "circle",
241
+ color: "transparent",
242
+ series: [{
243
+ name: "",
244
+ values: [
245
+ 0,
246
+ 0,
247
+ 0,
248
+ 0
249
+ ]
250
+ }]
251
+ }
252
+ ],
253
+ skeletonConfig: a({
254
+ defaultConfig: N.value,
255
+ userConfig: Qt.value
256
+ })
257
+ }), { userOptionsVisible: nn, setUserOptionsVisibility: rn, keepUserOptionState: an } = Pe({ config: N.value }), { svgRef: I } = Fe({ config: N.value.style.chart.title });
258
+ function on() {
259
+ let e = Se({
260
+ userConfig: D.config,
261
+ defaultConfig: jt
262
+ }), t = e.theme;
263
+ if (!t) return e;
264
+ if (!Mt.value(e)) return Nt(e), e;
265
+ let n = Se({
266
+ userConfig: Le[t] || D.config,
267
+ defaultConfig: e
268
+ }), r = Se({
269
+ userConfig: D.config,
270
+ defaultConfig: n
271
+ });
272
+ return {
273
+ ...r,
274
+ customPalette: r.customPalette.length ? r.customPalette : o[t] || c
275
+ };
276
+ }
277
+ Ye(() => D.config, (e) => {
278
+ $t.value || (N.value = on()), nn.value = !N.value.userOptions.showOnChartHover, cn(), Bt.value += 1, Ht.value += 1, Vt.value += 1, H.value.dataLabels.show = N.value.style.chart.yAxis.labels.datapoints.show, H.value.showTable = N.value.table.show, H.value.showTooltip = N.value.style.chart.tooltip.show;
279
+ }, { deep: !0 }), Ye(() => D.dataset, (e) => {
280
+ Array.isArray(e) && e.length > 0 && (tn.value = !1);
281
+ }, { deep: !0 });
282
+ let L = qe(null), R = qe(null);
283
+ Ge(() => {
284
+ Ut.value = !0, cn();
285
+ });
286
+ let sn = u(() => !!N.value.debug);
287
+ function cn() {
288
+ if (se(D.dataset) ? (fe({
289
+ componentName: "VueUiParallelCoordinatePlot",
290
+ type: "dataset",
291
+ debug: sn.value
292
+ }), tn.value = !0) : D.dataset.forEach((e, t) => {
293
+ ce({
294
+ datasetObject: e,
295
+ requiredAttributes: ["name", "series"]
296
+ }).forEach((e) => {
297
+ Pt.value = !1, fe({
298
+ componentName: "VueUiParallelCoordinatePlot",
299
+ type: "datasetSerieAttribute",
300
+ property: e,
301
+ index: t,
302
+ debug: sn.value
303
+ });
304
+ });
305
+ }), se(D.dataset) || (tn.value = N.value.loading), N.value.responsive) {
306
+ let e = Ae(() => {
307
+ let { width: e, height: t } = je({
308
+ chart: O.value,
309
+ title: N.value.style.chart.title.text ? It.value : null,
310
+ legend: N.value.style.chart.legend.show ? Lt.value : null,
311
+ source: Rt.value,
312
+ noTitle: zt.value
313
+ });
314
+ requestAnimationFrame(() => {
315
+ z.value.width = e, z.value.height = t - 12, N.value.responsiveProportionalSizing ? (z.value.plotSize = ue({
316
+ relator: Math.min(e, t),
317
+ adjuster: 600,
318
+ source: N.value.style.chart.plots.radius,
319
+ threshold: 2,
320
+ fallback: 2
321
+ }), z.value.ticksFontSize = ue({
322
+ relator: Math.min(e, t),
323
+ adjuster: 600,
324
+ source: N.value.style.chart.yAxis.labels.ticks.fontSize,
325
+ threshold: 10,
326
+ fallback: 10
327
+ }), z.value.datapointFontSize = ue({
328
+ relator: Math.min(e, t),
329
+ adjuster: 600,
330
+ source: N.value.style.chart.yAxis.labels.datapoints.fontSize,
331
+ threshold: 10,
332
+ fallback: 10
333
+ }), z.value.axisNameFontSize = ue({
334
+ relator: Math.min(e, t),
335
+ adjuster: 600,
336
+ source: N.value.style.chart.yAxis.labels.axisNamesFontSize,
337
+ threshold: 12,
338
+ fallback: 12
339
+ })) : (z.value.plotSize = N.value.style.chart.plots.radius, z.value.ticksFontSize = N.value.style.chart.yAxis.labels.ticks.fontSize, z.value.datapointFontSize = N.value.style.chart.yAxis.labels.datapoints.fontSize, z.value.axisNameFontSize = N.value.style.chart.yAxis.labels.axisNamesFontSize);
340
+ });
341
+ });
342
+ L.value && (R.value && L.value.unobserve(R.value), L.value.disconnect()), L.value = new ResizeObserver(e), R.value = O.value.parentNode, L.value.observe(R.value);
343
+ }
344
+ }
345
+ We(() => {
346
+ L.value && (R.value && L.value.unobserve(R.value), L.value.disconnect());
347
+ });
348
+ let { isPrinting: ln, isImaging: un, generatePdf: dn, generateImage: fn } = ve({
349
+ elementId: `pcp_${j.value}`,
350
+ fileName: N.value.style.chart.title.text || "vue-ui-parallel-coordinate-plot",
351
+ options: N.value.userOptions.print
352
+ }), pn = u(() => N.value.userOptions.show && !N.value.style.chart.title.text), z = x({
353
+ height: N.value.style.chart.height,
354
+ width: N.value.style.chart.width,
355
+ plotSize: N.value.style.chart.plots.radius,
356
+ ticksFontSize: N.value.style.chart.yAxis.labels.ticks.fontSize,
357
+ datapointFontSize: N.value.style.chart.yAxis.labels.datapoints.fontSize,
358
+ axisNameFontSize: N.value.style.chart.yAxis.labels.axisNamesFontSize
359
+ }), mn = u(() => z.value.width), hn = u(() => z.value.height), B = x(0), gn = Ae((e) => {
360
+ B.value = e;
361
+ }, 100);
362
+ Xe((e) => {
363
+ let t = qt.value;
364
+ if (!t) return;
365
+ let n = new ResizeObserver((e) => {
366
+ gn(e[0].contentRect.height);
367
+ });
368
+ n.observe(t), e(() => n.disconnect());
369
+ });
370
+ let V = u(() => {
371
+ let { top: e, right: t, bottom: n, left: r } = N.value.style.chart.padding, i = hn.value, a = mn.value;
372
+ return {
373
+ chartHeight: Math.max(.001, i),
374
+ chartWidth: Math.max(.001, a),
375
+ height: Math.max(.001, i - e - n - B.value - z.value.datapointFontSize * 2),
376
+ width: Math.max(.001, a - r - t),
377
+ top: e + B.value + z.value.datapointFontSize,
378
+ left: r,
379
+ right: a - t,
380
+ bottom: i - n - z.value.datapointFontSize
381
+ };
382
+ }), _n = u(() => pe(N.value.customPalette)), H = x({
383
+ dataLabels: { show: N.value.style.chart.yAxis.labels.datapoints.show },
384
+ showTable: N.value.table.show,
385
+ showTooltip: N.value.style.chart.tooltip.show
386
+ });
387
+ Ye(N, () => {
388
+ H.value = {
389
+ dataLabels: { show: N.value.style.chart.yAxis.labels.datapoints.show },
390
+ showTable: N.value.table.show,
391
+ showTooltip: N.value.style.chart.tooltip.show
392
+ };
393
+ }, { immediate: !0 });
394
+ let U = x([]);
395
+ function vn() {
396
+ U.value.length ? U.value = [] : G.value.forEach((e) => {
397
+ U.value.push(e.id);
398
+ }), Fn("selectLegend", Tn.value);
399
+ }
400
+ function yn(e) {
401
+ U.value.includes(e) ? U.value = U.value.filter((t) => t !== e) : U.value.push(e), Fn("selectLegend", Tn.value);
402
+ }
403
+ let W = u(() => en.value.map((e, t) => {
404
+ let n = ee(e.color) || _n.value[t] || c[t] || c[t % c.length];
405
+ return {
406
+ ...e,
407
+ series: e.series.map((e) => ({
408
+ ...e,
409
+ id: le(),
410
+ color: n
411
+ })),
412
+ seriesIndex: t,
413
+ color: n,
414
+ id: le(),
415
+ shape: e.shape || "circle"
416
+ };
417
+ }));
418
+ function bn(e) {
419
+ return W.value.length ? W.value.find((t) => t.name === e) || (N.value.debug && console.warn(`VueUiParallelCoordinatePlot - Series name not found "${e}"`), null) : (N.value.debug && console.warn("VueUiParallelCoordinatePlot - There are no series to show."), null);
420
+ }
421
+ function xn(e) {
422
+ let t = bn(e);
423
+ t !== null && U.value.includes(t.id) && yn(t.id);
424
+ }
425
+ function Sn(e) {
426
+ let t = bn(e);
427
+ t !== null && (U.value.includes(t.id) || yn(t.id));
428
+ }
429
+ let G = u(() => W.value.map((e) => ({
430
+ ...e,
431
+ opacity: U.value.includes(e.id) ? .5 : 1,
432
+ segregate: () => yn(e.id),
433
+ isSegregated: U.value.includes(e.id),
434
+ shape: e.shape || "circle"
435
+ }))), Cn = u(() => ({
436
+ cy: "pcp-div-legend",
437
+ backgroundColor: N.value.style.chart.legend.backgroundColor,
438
+ color: N.value.style.chart.legend.color,
439
+ fontSize: N.value.style.chart.legend.fontSize,
440
+ paddingBottom: 12,
441
+ fontWeight: N.value.style.chart.legend.bold ? "bold" : ""
442
+ })), wn = u(() => Math.max(...W.value.filter((e) => !U.value.includes(e.id)).map((e) => Math.max(...e.series.flatMap((e) => e.values.length))))), K = u(() => V.value.width / wn.value), Tn = u(() => W.value.filter((e) => !U.value.includes(e.id))), q = u(() => {
443
+ let e = [];
444
+ for (let t = 0; t < wn.value; t += 1) {
445
+ let n = Math.min(...Tn.value.flatMap((e) => e.series.map((e) => e.values[t] || 0) || 0)), r = Math.max(...Tn.value.flatMap((e) => e.series.map((e) => e.values[t] || 0) || 0)), i = re(r === n ? n / 4 : n, r === n ? r * 2 : r, N.value.style.chart.yAxis.scaleTicks), a = i.ticks.map((e, n) => {
446
+ let r = i.min < 0 ? e + Math.abs(i.min) : e - Math.abs(i.min), a = i.min < 0 ? i.max + Math.abs(i.min) : i.max - Math.abs(i.min);
447
+ return {
448
+ y: V.value.bottom - V.value.height * (r / a),
449
+ x: V.value.left + K.value * t + K.value / 2,
450
+ value: e
451
+ };
452
+ });
453
+ e.push({
454
+ scale: i,
455
+ ticks: a,
456
+ name: N.value.style.chart.yAxis.labels.axisNames[t] || `Y-${t + 1}`
457
+ });
458
+ }
459
+ return e;
460
+ }), J = u(() => Tn.value.map((e, t) => ({
461
+ ...e,
462
+ series: e.series.map((n, r) => ({
463
+ ...n,
464
+ datapoints: n.values.map((i, a) => {
465
+ let o = q.value[a].scale.min < 0 ? (i || 0) + Math.abs(q.value[a].scale.min) : (i || 0) - Math.abs(q.value[a].scale.min), s = q.value[a].scale.min < 0 ? q.value[a].scale.max + Math.abs(q.value[a].scale.min) : q.value[a].scale.max - Math.abs(q.value[a].scale.min);
466
+ return {
467
+ name: n.name,
468
+ seriesName: e.name,
469
+ axisIndex: a,
470
+ datapointIndex: r,
471
+ seriesIndex: t,
472
+ value: i || 0,
473
+ x: V.value.left + K.value * a + K.value / 2,
474
+ y: V.value.bottom - V.value.height * (o / s),
475
+ comment: n.comments && n.comments[a] || ""
476
+ };
477
+ })
478
+ }))
479
+ })).map((e) => ({
480
+ ...e,
481
+ series: e.series.map((e) => {
482
+ let t = te(e.datapoints), n = s(e.datapoints, .12), r = ae(N.value.style.chart.lines.smooth ? `M ${n}` : `M ${t}`);
483
+ return {
484
+ ...e,
485
+ smoothPath: n,
486
+ straightPath: t,
487
+ pathLength: r
488
+ };
489
+ })
490
+ }))), Y = u(() => J.value.flatMap((e, t) => e.series.map((n, r) => ({
491
+ shape: e.shape,
492
+ serieName: e.name,
493
+ serie: n,
494
+ relativeIndex: r,
495
+ seriesIndex: n.seriesIndex,
496
+ S: t,
497
+ key: `${t}_${r}`
498
+ }))));
499
+ function En({ value: e, index: t, datapoint: n }) {
500
+ return oe(N.value.style.chart.yAxis.labels.formatters[t] || null, e, ne({
501
+ p: N.value.style.chart.yAxis.labels.prefixes[t] || "",
502
+ v: e,
503
+ s: N.value.style.chart.yAxis.labels.suffixes[t] || "",
504
+ r: N.value.style.chart.yAxis.labels.roundings[t] || 0
505
+ }), {
506
+ datapoint: n,
507
+ seriesIndex: t
508
+ });
509
+ }
510
+ let X = x(null), Dn = x(null), On = x(!1), kn = x("");
511
+ function An({ shape: e, serie: t, S: n }) {
512
+ N.value.events.datapointLeave && N.value.events.datapointLeave({
513
+ datapoint: {
514
+ ...t,
515
+ shape: e
516
+ },
517
+ seriesIndex: n
518
+ });
519
+ let r = A.value === null ? null : Y.value[A.value];
520
+ Yt.value === "keyboard" && r && r.serie.id === t.id || (X.value = null, On.value = !1);
521
+ }
522
+ function jn(e) {
523
+ if (!I.value || !e?.datapoints?.length) return;
524
+ let t = e.datapoints[Math.floor(e.datapoints.length / 2)];
525
+ if (!t) return;
526
+ let n = i(t.x, t.y, I.value);
527
+ n && (Jt.value = n);
528
+ }
529
+ function Z({ shape: e, serieName: t, serie: n, relativeIndex: r, seriesIndex: i, S: a, triggerMode: o = "pointer" }) {
530
+ N.value.events.datapointEnter && N.value.events.datapointEnter({
531
+ datapoint: {
532
+ ...n,
533
+ shape: e
534
+ },
535
+ seriesIndex: a
536
+ }), Yt.value = o, Dn.value = {
537
+ config: N.value,
538
+ datapoint: n,
539
+ serie: n,
540
+ relativeIndex: r,
541
+ seriesIndex: i,
542
+ series: W.value,
543
+ scales: q.value
544
+ }, On.value = !0, X.value = n.id;
545
+ let s = "", c = N.value.style.chart.tooltip.customFormat;
546
+ me(c) && ie(() => c({
547
+ serie: n,
548
+ seriesIndex: n.seriesIndex,
549
+ series: W.value,
550
+ config: N.value,
551
+ scales: q.value
552
+ })) ? kn.value = c({
553
+ serie: n,
554
+ seriesIndex: n.seriesIndex,
555
+ series: W.value,
556
+ config: N.value,
557
+ scales: q.value
558
+ }) : (s += `<div style="width:100%;text-align:center;border-bottom:1px solid ${N.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${t ? t + " - " : ""}${n.name}</div>`, q.value.map((e) => e.name).forEach((e, t) => {
559
+ s += `
560
+ <div class="vue-ui-tooltip-item" style="text-align:left">
561
+ <span>${e}: </span>
562
+ <span>
563
+ ${oe(N.value.style.chart.yAxis.labels.formatters[t] || null, n.datapoints[t].value, ne({
564
+ p: N.value.style.chart.yAxis.labels.prefixes[t] || "",
565
+ v: n.datapoints[t].value,
566
+ s: N.value.style.chart.yAxis.labels.suffixes[t] || "",
567
+ r: N.value.style.chart.yAxis.labels.roundings[t] || ""
568
+ }), {
569
+ datapoint: n.datapoints[t],
570
+ seriesIndex: t
571
+ })}
572
+ </span>
573
+ </div>
574
+ `, N.value.style.chart.comments.showInTooltip && n.datapoints[t].comment && (s += `<div class="vue-data-ui-tooltip-comment" style="background:${n.color}20; padding: 6px; margin-bottom: 6px; border-left: 1px solid ${n.color}">${n.datapoints[t].comment}</div>`);
575
+ }), kn.value = `<div>${s}</div>`), o === "keyboard" && Ue(() => {
576
+ jn(n);
577
+ });
578
+ }
579
+ function Mn() {
580
+ return W.value;
581
+ }
582
+ let Q = u(() => {
583
+ let e = [N.value.table.columnNames.series, N.value.table.columnNames.item].concat(q.value.map((e) => e.name));
584
+ return {
585
+ body: J.value.flatMap((e, t) => e.series.map((t) => [e.name, t.name].concat(t.values))),
586
+ head: e,
587
+ config: {
588
+ th: {
589
+ backgroundColor: N.value.table.th.backgroundColor,
590
+ color: N.value.table.th.color,
591
+ outline: N.value.table.th.outline
592
+ },
593
+ td: {
594
+ backgroundColor: N.value.table.td.backgroundColor,
595
+ color: N.value.table.td.color,
596
+ outline: N.value.table.td.outline
597
+ },
598
+ breakpoint: N.value.table.responsiveBreakpoint
599
+ },
600
+ colNames: [N.value.table.columnNames.series, N.value.table.columnNames.item].concat(q.value.map((e) => e.name))
601
+ };
602
+ }), Nn = u(() => J.value.length === 0 ? {
603
+ head: [],
604
+ body: [],
605
+ config: {},
606
+ columnNames: []
607
+ } : {
608
+ head: Q.value.head,
609
+ body: Q.value.body
610
+ });
611
+ function Pn(e = null) {
612
+ let r = [
613
+ [N.value.style.chart.title.text],
614
+ [N.value.style.chart.title.subtitle.text],
615
+ [""]
616
+ ], i = Nn.value.head, a = Nn.value.body, o = n(r.concat([i]).concat(a));
617
+ e ? e(o) : t({
618
+ csvContent: o,
619
+ title: N.value.style.chart.title.text || "vue-ui-parallel-coordinate-plot"
620
+ });
621
+ }
622
+ let Fn = Ze;
623
+ function In({ serie: e, shape: t, S: n }) {
624
+ N.value.events.datapointClick && N.value.events.datapointClick({
625
+ datapoint: {
626
+ ...e,
627
+ shape: t
628
+ },
629
+ seriesIndex: n
630
+ }), Fn("selectDatapoint", e);
631
+ }
632
+ function Ln() {
633
+ H.value.showTable = !H.value.showTable;
634
+ }
635
+ function Rn() {
636
+ H.value.dataLabels.show = !H.value.dataLabels.show;
637
+ }
638
+ function zn() {
639
+ H.value.showTooltip = !H.value.showTooltip;
640
+ }
641
+ let Bn = x(!1);
642
+ function Vn() {
643
+ Bn.value = !Bn.value;
644
+ }
645
+ async function Hn({ scale: e = 2 } = {}) {
646
+ if (!O.value) return;
647
+ let { width: t, height: n } = O.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Ee({
648
+ domElement: O.value,
649
+ base64: !0,
650
+ img: !0,
651
+ scale: e
652
+ });
653
+ return {
654
+ imageUri: i,
655
+ base64: a,
656
+ title: N.value.style.chart.title.text,
657
+ width: t,
658
+ height: n,
659
+ aspectRatio: r
660
+ };
661
+ }
662
+ let Un = x({
663
+ start: 0,
664
+ end: 1
665
+ });
666
+ Te({
667
+ timeLabelsEls: qt,
668
+ timeLabels: u(() => q.value.map((e) => e.name)),
669
+ slicer: Un,
670
+ configRef: N,
671
+ rotationPath: [
672
+ "style",
673
+ "chart",
674
+ "yAxis",
675
+ "labels",
676
+ "axisNamesRotation"
677
+ ],
678
+ autoRotatePath: [
679
+ "style",
680
+ "chart",
681
+ "yAxis",
682
+ "labels",
683
+ "axisNamesAutoRotate",
684
+ "enable"
685
+ ],
686
+ isAutoSize: !1,
687
+ width: mn,
688
+ height: hn,
689
+ targetClass: ".vue-ui-parallel-coordinate-plot-x-label",
690
+ rotation: N.value.style.chart.yAxis.labels.axisNamesAutoRotate.angle
691
+ });
692
+ let Wn = u(() => {
693
+ let e = N.value.table.useDialog && !N.value.table.show, t = H.value.showTable;
694
+ return {
695
+ component: e ? At : Tt,
696
+ title: `${N.value.style.chart.title.text}${N.value.style.chart.title.subtitle.text ? `: ${N.value.style.chart.title.subtitle.text}` : ""}`,
697
+ props: e ? {
698
+ backgroundColor: N.value.table.th.backgroundColor,
699
+ color: N.value.table.th.color,
700
+ headerColor: N.value.table.th.color,
701
+ headerBg: N.value.table.th.backgroundColor,
702
+ isFullscreen: M.value,
703
+ fullscreenParent: O.value,
704
+ forcedWidth: Math.min(800, window.innerWidth * .8),
705
+ isCursorPointer: F.value
706
+ } : {
707
+ hideDetails: !0,
708
+ config: {
709
+ open: t,
710
+ maxHeight: 1e4,
711
+ body: {
712
+ backgroundColor: N.value.style.chart.backgroundColor,
713
+ color: N.value.style.chart.color
714
+ },
715
+ head: {
716
+ backgroundColor: N.value.style.chart.backgroundColor,
717
+ color: N.value.style.chart.color
718
+ }
719
+ }
720
+ }
721
+ };
722
+ });
723
+ Ye(() => H.value.showTable, (e) => {
724
+ N.value.table.show || (e && N.value.table.useDialog && k.value ? k.value.open() : "close" in k.value && k.value.close());
725
+ });
726
+ function Gn() {
727
+ H.value.showTable = !1, Wt.value && Wt.value.setTableIconState(!1);
728
+ }
729
+ let Kn = u(() => N.value.style.chart.backgroundColor), qn = u(() => N.value.style.chart.legend), { exportSvg: Jn, getSvg: Yn } = xe({
730
+ svg: I,
731
+ title: u(() => N.value.style.chart.title),
732
+ legend: qn,
733
+ legendItems: G,
734
+ backgroundColor: Kn
735
+ });
736
+ async function Xn({ isCb: e }) {
737
+ Kt.value = !0, await Ue();
738
+ try {
739
+ if (e) {
740
+ let { blob: e, url: t, text: n, dataUrl: r } = await Yn();
741
+ await Promise.resolve(N.value.userOptions.callbacks.svg({
742
+ blob: e,
743
+ url: t,
744
+ text: n,
745
+ dataUrl: r
746
+ }));
747
+ } else await Promise.resolve(Jn());
748
+ } finally {
749
+ Kt.value = !1;
750
+ }
751
+ }
752
+ function Zn(e) {
753
+ if (e?.stage === "start") {
754
+ Gt.value = !0;
755
+ return;
756
+ }
757
+ if (e?.stage === "end") {
758
+ Gt.value = !1;
759
+ return;
760
+ }
761
+ fn();
762
+ }
763
+ async function Qn() {
764
+ if (Fn("copyAlt", {
765
+ config: N.value,
766
+ dataset: J.value
767
+ }), !N.value.userOptions.callbacks.altCopy) {
768
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
769
+ return;
770
+ }
771
+ await Promise.resolve(N.value.userOptions.callbacks.altCopy({
772
+ config: N.value,
773
+ dataset: J.value
774
+ }));
775
+ }
776
+ function $n(e) {
777
+ let t = Y.value.length;
778
+ return t ? (e % t + t) % t : null;
779
+ }
780
+ function er() {
781
+ if (A.value !== null) {
782
+ let e = Y.value[A.value];
783
+ e && An({
784
+ shape: e.shape,
785
+ serie: e.serie,
786
+ S: e.S
787
+ });
788
+ }
789
+ A.value = null, Yt.value = "pointer", X.value = null, On.value = !1;
790
+ }
791
+ function tr() {
792
+ A.value = null, Xt.value = !0;
793
+ }
794
+ function nr() {
795
+ er(), Xt.value = !1;
796
+ }
797
+ function rr(e) {
798
+ if (!I.value || Bn.value || document.activeElement !== I.value || !Y.value.length) return;
799
+ let t = ["ArrowUp", "ArrowLeft"].includes(e.key), n = ["ArrowDown", "ArrowRight"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
800
+ if (!t && !n && !r && !i) return;
801
+ if (e.preventDefault(), e.stopPropagation(), i) {
802
+ er();
803
+ return;
804
+ }
805
+ if (r) {
806
+ if (A.value === null) return;
807
+ let e = Y.value[A.value];
808
+ if (!e) return;
809
+ In({
810
+ serie: e.serie,
811
+ shape: e.shape,
812
+ S: e.S
813
+ });
814
+ return;
815
+ }
816
+ let a = A.value;
817
+ a = a === null ? n ? 0 : Y.value.length - 1 : $n(a + (n ? 1 : -1));
818
+ let o = Y.value[a];
819
+ o && (A.value = a, Z({
820
+ shape: o.shape,
821
+ serieName: o.serieName,
822
+ serie: o.serie,
823
+ relativeIndex: o.relativeIndex,
824
+ seriesIndex: o.seriesIndex,
825
+ S: o.S,
826
+ triggerMode: "keyboard"
827
+ }));
828
+ }
829
+ let $ = u(() => ({
830
+ head: Q.value.head,
831
+ body: Q.value.body.map((e) => [
832
+ e[0] ?? "",
833
+ e[1] ?? "",
834
+ ...e.slice(2)
835
+ ]),
836
+ caption: N.value.a11y.translations.tableCaption,
837
+ notice: N.value.a11y.translations.tableAvailable
838
+ }));
839
+ return ke({
840
+ getData: Mn,
841
+ getImage: Hn,
842
+ generateCsv: Pn,
843
+ generatePdf: dn,
844
+ generateImage: fn,
845
+ generateSvg: Xn,
846
+ hideSeries: Sn,
847
+ showSeries: xn,
848
+ toggleTable: Ln,
849
+ toggleLabels: Rn,
850
+ toggleTooltip: zn,
851
+ toggleAnnotator: Vn,
852
+ toggleFullscreen: Zt,
853
+ copyAlt: Qn
854
+ }), (e, t) => (b(), p("div", {
855
+ ref_key: "pcpChart",
856
+ ref: O,
857
+ class: _(`vue-data-ui-component vue-ui-pcp ${M.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${N.value.useCssAnimation ? "" : "vue-ui-dna"}`),
858
+ style: y(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;background:${N.value.style.chart.backgroundColor};${N.value.responsive ? "height:100%" : ""}`),
859
+ id: `pcp_${j.value}`,
860
+ onMouseenter: t[2] ||= () => T(rn)(!0),
861
+ onMouseleave: t[3] ||= () => T(rn)(!1)
862
+ }, [
863
+ m("div", {
864
+ id: `chart-instructions-${j.value}`,
865
+ class: "sr-only"
866
+ }, [m("p", null, w(N.value.a11y.translations.keyboardNavigation), 1)], 8, $e),
867
+ $.value.body.length ? (b(), d(Ne, {
868
+ key: 0,
869
+ uid: j.value,
870
+ head: $.value.head,
871
+ body: $.value.body,
872
+ caption: $.value.caption,
873
+ notice: $.value.notice
874
+ }, null, 8, [
875
+ "uid",
876
+ "head",
877
+ "body",
878
+ "caption",
879
+ "notice"
880
+ ])) : f("", !0),
881
+ N.value.userOptions.buttons.annotator ? (b(), d(T(Dt), {
882
+ key: 1,
883
+ svgRef: T(I),
884
+ backgroundColor: N.value.style.chart.backgroundColor,
885
+ color: N.value.style.chart.color,
886
+ active: Bn.value,
887
+ isCursorPointer: F.value,
888
+ onClose: Vn
889
+ }, {
890
+ "annotator-action-close": E(() => [C(e.$slots, "annotator-action-close", {}, void 0, !0)]),
891
+ "annotator-action-color": E(({ color: t }) => [C(e.$slots, "annotator-action-color", v(g({ color: t })), void 0, !0)]),
892
+ "annotator-action-draw": E(({ mode: t }) => [C(e.$slots, "annotator-action-draw", v(g({ mode: t })), void 0, !0)]),
893
+ "annotator-action-undo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-undo", v(g({ disabled: t })), void 0, !0)]),
894
+ "annotator-action-redo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-redo", v(g({ disabled: t })), void 0, !0)]),
895
+ "annotator-action-delete": E(({ disabled: t }) => [C(e.$slots, "annotator-action-delete", v(g({ disabled: t })), void 0, !0)]),
896
+ _: 3
897
+ }, 8, [
898
+ "svgRef",
899
+ "backgroundColor",
900
+ "color",
901
+ "active",
902
+ "isCursorPointer"
903
+ ])) : f("", !0),
904
+ pn.value ? (b(), p("div", {
905
+ key: 2,
906
+ ref_key: "noTitle",
907
+ ref: zt,
908
+ class: "vue-data-ui-no-title-space",
909
+ style: "height:36px; width: 100%;background:transparent"
910
+ }, null, 512)) : f("", !0),
911
+ N.value.style.chart.title.text ? (b(), p("div", {
912
+ key: 3,
913
+ ref_key: "chartTitle",
914
+ ref: It,
915
+ style: "width:100%;background:transparent;padding-bottom:24px"
916
+ }, [(b(), d(De, {
917
+ key: `title_${Bt.value}`,
918
+ config: {
919
+ title: {
920
+ cy: "pcp-div-title",
921
+ ...N.value.style.chart.title
922
+ },
923
+ subtitle: {
924
+ cy: "pcp-div-subtitle",
925
+ ...N.value.style.chart.title.subtitle
926
+ }
927
+ }
928
+ }, null, 8, ["config"]))], 512)) : f("", !0),
929
+ m("div", { id: `legend-top-${j.value}` }, null, 8, et),
930
+ N.value.userOptions.show && Pt.value && (T(an) || T(nn)) ? (b(), d(T(Ot), {
931
+ ref_key: "userOptionsRef",
932
+ ref: Wt,
933
+ key: `user_options_${Ft.value}`,
934
+ backgroundColor: N.value.style.chart.backgroundColor,
935
+ color: N.value.style.chart.color,
936
+ isPrinting: T(ln),
937
+ isImaging: T(un),
938
+ uid: j.value,
939
+ hasTooltip: N.value.userOptions.buttons.tooltip && N.value.style.chart.tooltip.show,
940
+ hasPdf: N.value.userOptions.buttons.pdf,
941
+ hasXls: N.value.userOptions.buttons.csv,
942
+ hasImg: N.value.userOptions.buttons.img,
943
+ hasSvg: N.value.userOptions.buttons.svg,
944
+ hasTable: N.value.userOptions.buttons.table,
945
+ hasLabel: N.value.userOptions.buttons.labels,
946
+ hasFullscreen: N.value.userOptions.buttons.fullscreen,
947
+ hasAltCopy: N.value.userOptions.buttons.altCopy,
948
+ isFullscreen: M.value,
949
+ isTooltip: H.value.showTooltip,
950
+ titles: { ...N.value.userOptions.buttonTitles },
951
+ chartElement: O.value,
952
+ position: N.value.userOptions.position,
953
+ hasAnnotator: N.value.userOptions.buttons.annotator,
954
+ isAnnotation: Bn.value,
955
+ callbacks: N.value.userOptions.callbacks,
956
+ printScale: N.value.userOptions.print.scale,
957
+ tableDialog: N.value.table.useDialog,
958
+ isCursorPointer: F.value,
959
+ onToggleFullscreen: Zt,
960
+ onGeneratePdf: T(dn),
961
+ onGenerateCsv: Pn,
962
+ onGenerateImage: Zn,
963
+ onGenerateSvg: Xn,
964
+ onToggleTable: Ln,
965
+ onToggleLabels: Rn,
966
+ onToggleTooltip: zn,
967
+ onToggleAnnotator: Vn,
968
+ onCopyAlt: Qn,
969
+ style: y({ visibility: T(an) ? T(nn) ? "visible" : "hidden" : "visible" })
970
+ }, ze({ _: 2 }, [
971
+ e.$slots.menuIcon ? {
972
+ name: "menuIcon",
973
+ fn: E(({ isOpen: t, color: n }) => [C(e.$slots, "menuIcon", v(g({
974
+ isOpen: t,
975
+ color: n
976
+ })), void 0, !0)]),
977
+ key: "0"
978
+ } : void 0,
979
+ e.$slots.optionTooltip ? {
980
+ name: "optionTooltip",
981
+ fn: E(() => [C(e.$slots, "optionTooltip", {}, void 0, !0)]),
982
+ key: "1"
983
+ } : void 0,
984
+ e.$slots.optionPdf ? {
985
+ name: "optionPdf",
986
+ fn: E(() => [C(e.$slots, "optionPdf", {}, void 0, !0)]),
987
+ key: "2"
988
+ } : void 0,
989
+ e.$slots.optionCsv ? {
990
+ name: "optionCsv",
991
+ fn: E(() => [C(e.$slots, "optionCsv", {}, void 0, !0)]),
992
+ key: "3"
993
+ } : void 0,
994
+ e.$slots.optionImg ? {
995
+ name: "optionImg",
996
+ fn: E(() => [C(e.$slots, "optionImg", {}, void 0, !0)]),
997
+ key: "4"
998
+ } : void 0,
999
+ e.$slots.optionSvg ? {
1000
+ name: "optionSvg",
1001
+ fn: E(() => [C(e.$slots, "optionSvg", {}, void 0, !0)]),
1002
+ key: "5"
1003
+ } : void 0,
1004
+ e.$slots.optionTable ? {
1005
+ name: "optionTable",
1006
+ fn: E(() => [C(e.$slots, "optionTable", {}, void 0, !0)]),
1007
+ key: "6"
1008
+ } : void 0,
1009
+ e.$slots.optionLabels ? {
1010
+ name: "optionLabels",
1011
+ fn: E(() => [C(e.$slots, "optionLabels", {}, void 0, !0)]),
1012
+ key: "7"
1013
+ } : void 0,
1014
+ e.$slots.optionFullscreen ? {
1015
+ name: "optionFullscreen",
1016
+ fn: E(({ toggleFullscreen: t, isFullscreen: n }) => [C(e.$slots, "optionFullscreen", v(g({
1017
+ toggleFullscreen: t,
1018
+ isFullscreen: n
1019
+ })), void 0, !0)]),
1020
+ key: "8"
1021
+ } : void 0,
1022
+ e.$slots.optionAnnotator ? {
1023
+ name: "optionAnnotator",
1024
+ fn: E(({ toggleAnnotator: t, isAnnotator: n }) => [C(e.$slots, "optionAnnotator", v(g({
1025
+ toggleAnnotator: t,
1026
+ isAnnotator: n
1027
+ })), void 0, !0)]),
1028
+ key: "9"
1029
+ } : void 0,
1030
+ e.$slots.optionAltCopy ? {
1031
+ name: "optionAltCopy",
1032
+ fn: E(({ altCopy: t }) => [C(e.$slots, "optionAltCopy", v(g({ altCopy: t })), void 0, !0)]),
1033
+ key: "10"
1034
+ } : void 0,
1035
+ e.$slots["custom-menu-before"] ? {
1036
+ name: "custom-menu-before",
1037
+ fn: E(() => [C(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1038
+ key: "11"
1039
+ } : void 0,
1040
+ e.$slots["custom-menu-after"] ? {
1041
+ name: "custom-menu-after",
1042
+ fn: E(() => [C(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1043
+ key: "12"
1044
+ } : void 0
1045
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.style".split("."))) : f("", !0),
1046
+ m("div", tt, [(b(), p("svg", {
1047
+ ref_key: "svgRef",
1048
+ ref: I,
1049
+ xmlns: T(de),
1050
+ "aria-describedby": `chart-instructions-${j.value}`,
1051
+ class: _({
1052
+ "vue-data-ui-fullscreen--on": M.value,
1053
+ "vue-data-ui-fulscreen--off": !M.value,
1054
+ "vue-data-ui-no-transition": !T(P)
1055
+ }),
1056
+ viewBox: `0 0 ${V.value.chartWidth <= 0 ? 10 : V.value.chartWidth} ${V.value.chartHeight <= 0 ? 10 : V.value.chartHeight}`,
1057
+ style: y(`max-width:100%; overflow: visible; background:transparent;color:${N.value.style.chart.color}`),
1058
+ tabindex: "0",
1059
+ onFocus: tr,
1060
+ onBlur: nr,
1061
+ onKeydown: rr
1062
+ }, [
1063
+ Ve(T(kt)),
1064
+ e.$slots["chart-background"] ? (b(), p("foreignObject", {
1065
+ key: 0,
1066
+ x: V.value.left,
1067
+ y: V.value.top,
1068
+ width: V.value.width,
1069
+ height: V.value.height,
1070
+ style: { pointerEvents: "none" }
1071
+ }, [C(e.$slots, "chart-background", {}, void 0, !0)], 8, rt)) : f("", !0),
1072
+ (b(!0), p(l, null, S(q.value, (e, t) => (b(), p("g", it, [m("line", {
1073
+ x1: V.value.left + K.value * t + K.value / 2,
1074
+ x2: V.value.left + K.value * t + K.value / 2,
1075
+ y1: V.value.top,
1076
+ y2: V.value.bottom,
1077
+ stroke: N.value.style.chart.yAxis.stroke,
1078
+ "stroke-width": N.value.style.chart.yAxis.strokeWidth
1079
+ }, null, 8, at), N.value.style.chart.yAxis.labels.ticks.show ? (b(), p(l, { key: 0 }, [(b(!0), p(l, null, S(e.ticks, (t, n) => (b(), p("path", {
1080
+ class: _({ "vue-data-ui-transition": T(P) }),
1081
+ key: `tick_${e.name}_${n}`,
1082
+ d: `M${t.x},${t.y} ${t.x - 10},${t.y}`,
1083
+ stroke: N.value.style.chart.yAxis.stroke,
1084
+ "stroke-width": N.value.style.chart.yAxis.strokeWidth,
1085
+ style: y(`opacity:${X.value && !H.value.showTooltip ? .2 : 1}`)
1086
+ }, null, 14, ot))), 128)), T($t) ? f("", !0) : (b(), p("g", st, [(b(!0), p(l, null, S(e.ticks, (n, r) => (b(), p("text", {
1087
+ key: `tl_${e.name}_${r}`,
1088
+ class: _({ "vue-data-ui-transition": T(P) }),
1089
+ transform: `translate(${n.x - 12 + N.value.style.chart.yAxis.labels.ticks.offsetX}, ${n.y + N.value.style.chart.yAxis.labels.ticks.offsetY + z.value.ticksFontSize / 3})`,
1090
+ fill: N.value.style.chart.yAxis.labels.ticks.color,
1091
+ "text-anchor": "end",
1092
+ "font-size": z.value.ticksFontSize,
1093
+ "font-weight": N.value.style.chart.yAxis.labels.ticks.bold ? "bold" : "normal",
1094
+ style: y(`opacity:${X.value && !H.value.showTooltip ? .2 : 1}`)
1095
+ }, w(En({
1096
+ value: n.value,
1097
+ index: t,
1098
+ datapoint: n
1099
+ })), 15, ct))), 128))]))], 64)) : f("", !0)]))), 256)),
1100
+ N.value.style.chart.yAxis.labels.showAxisNames ? (b(), p("g", {
1101
+ key: 1,
1102
+ ref_key: "xAxisLabels",
1103
+ ref: qt
1104
+ }, [(b(!0), p(l, null, S(q.value, (e, t) => (b(), p(l, null, [String(e.name).includes("\n") ? (b(), p("text", {
1105
+ key: 1,
1106
+ class: "vue-ui-parallel-coordinate-plot-x-label",
1107
+ fill: N.value.style.chart.yAxis.labels.axisNamesColor,
1108
+ "font-size": z.value.axisNameFontSize,
1109
+ "font-weight": N.value.style.chart.yAxis.labels.axisNamesBold ? "bold" : "",
1110
+ "text-anchor": N.value.style.chart.yAxis.labels.axisNamesRotation === 0 ? "middle" : N.value.style.chart.yAxis.labels.axisNamesRotation < 0 ? "start" : "end",
1111
+ transform: `translate(${V.value.left + K.value * t + K.value / 2}, ${B.value - z.value.axisNameFontSize}), rotate(${N.value.style.chart.yAxis.labels.axisNamesRotation})`,
1112
+ innerHTML: T(r)({
1113
+ content: String(e.name),
1114
+ fontSize: z.value.axisNameFontSize,
1115
+ fill: N.value.style.chart.yAxis.labels.axisNamesColor,
1116
+ x: 0,
1117
+ y: 0
1118
+ })
1119
+ }, null, 8, ut)) : (b(), p("text", {
1120
+ key: 0,
1121
+ class: "vue-ui-parallel-coordinate-plot-x-label",
1122
+ fill: N.value.style.chart.yAxis.labels.axisNamesColor,
1123
+ "font-size": z.value.axisNameFontSize,
1124
+ "font-weight": N.value.style.chart.yAxis.labels.axisNamesBold ? "bold" : "",
1125
+ "text-anchor": N.value.style.chart.yAxis.labels.axisNamesRotation === 0 ? "middle" : N.value.style.chart.yAxis.labels.axisNamesRotation < 0 ? "start" : "end",
1126
+ transform: `translate(${V.value.left + K.value * t + K.value / 2}, ${B.value - z.value.axisNameFontSize}), rotate(${N.value.style.chart.yAxis.labels.axisNamesRotation})`
1127
+ }, w(e.name), 9, lt))], 64))), 256))], 512)) : f("", !0),
1128
+ (b(!0), p(l, null, S(J.value, (t, n) => (b(), p("g", null, [(b(!0), p(l, null, S(t.series, (r, i) => (b(), p("g", null, [
1129
+ N.value.style.chart.plots.show ? (b(), p("g", dt, [
1130
+ (b(!0), p(l, null, S(r.datapoints, (e, a) => (b(), d(Oe, {
1131
+ plot: {
1132
+ x: e.x,
1133
+ y: e.y
1134
+ },
1135
+ color: t.color,
1136
+ shape: t.shape,
1137
+ radius: t.shape === "triangle" ? z.value.plotSize * 1.2 : z.value.plotSize,
1138
+ stroke: N.value.style.chart.backgroundColor,
1139
+ strokeWidth: .5,
1140
+ onMouseenter: (e) => Z({
1141
+ shape: t.shape,
1142
+ serieName: t.name,
1143
+ serie: r,
1144
+ relativeIndex: i,
1145
+ seriesIndex: r.seriesIndex,
1146
+ S: n,
1147
+ triggerMode: "pointer"
1148
+ }),
1149
+ onMouseleave: (e) => An({
1150
+ serie: r,
1151
+ shape: t.shape,
1152
+ S: n
1153
+ }),
1154
+ style: y(`opacity:${X.value ? X.value === r.id ? N.value.style.chart.plots.opacity : .2 : N.value.style.chart.plots.opacity}`),
1155
+ onClick: () => In({
1156
+ serie: r,
1157
+ shape: t.shape,
1158
+ S: n
1159
+ })
1160
+ }, null, 8, [
1161
+ "plot",
1162
+ "color",
1163
+ "shape",
1164
+ "radius",
1165
+ "stroke",
1166
+ "onMouseenter",
1167
+ "onMouseleave",
1168
+ "style",
1169
+ "onClick"
1170
+ ]))), 256)),
1171
+ H.value.showTooltip ? f("", !0) : (b(), p(l, { key: 0 }, [X.value && X.value === r.id && r.datapoints.length ? (b(), p("text", {
1172
+ key: 0,
1173
+ x: r.datapoints[0].x - z.value.ticksFontSize,
1174
+ y: r.datapoints[0].y + z.value.ticksFontSize / 3,
1175
+ "text-anchor": "end",
1176
+ "font-size": z.value.ticksFontSize,
1177
+ fill: t.color,
1178
+ "font-weight": "bold"
1179
+ }, w(r.name), 9, ft)) : f("", !0)], 64)),
1180
+ N.value.style.chart.comments.show ? (b(!0), p(l, { key: 1 }, S(r.datapoints, (n) => (b(), p("g", null, [n.comment ? (b(), p("foreignObject", {
1181
+ key: 0,
1182
+ style: { overflow: "visible" },
1183
+ height: "12",
1184
+ width: N.value.style.chart.comments.width,
1185
+ x: n.x - N.value.style.chart.comments.width / 2 + N.value.style.chart.comments.offsetX,
1186
+ y: n.y + N.value.style.chart.comments.offsetY + 6
1187
+ }, [m("div", mt, [C(e.$slots, "plot-comment", { plot: {
1188
+ ...n,
1189
+ color: t.color
1190
+ } }, void 0, !0)])], 8, pt)) : f("", !0)]))), 256)) : f("", !0)
1191
+ ])) : f("", !0),
1192
+ m("path", {
1193
+ d: `M${N.value.style.chart.lines.smooth ? r.smoothPath : r.straightPath}`,
1194
+ stroke: t.color,
1195
+ "stroke-width": N.value.style.chart.lines.strokeWidth,
1196
+ fill: "none",
1197
+ class: _({
1198
+ "vue-ui-pcp-animated vue-data-ui-line-animated": N.value.useCssAnimation,
1199
+ "vue-data-ui-transition": T(P)
1200
+ }),
1201
+ onMouseenter: (e) => Z({
1202
+ shape: t.shape,
1203
+ serieName: t.name,
1204
+ serie: r,
1205
+ relativeIndex: i,
1206
+ seriesIndex: r.seriesIndex,
1207
+ S: n,
1208
+ triggerMode: "pointer"
1209
+ }),
1210
+ onMouseleave: (e) => An({
1211
+ serie: r,
1212
+ shape: t.shape,
1213
+ S: n
1214
+ }),
1215
+ onClick: () => In({
1216
+ serie: r,
1217
+ shape: t.shape,
1218
+ S: n
1219
+ }),
1220
+ style: y(`opacity:${X.value ? X.value === r.id ? N.value.style.chart.lines.opacity : .2 : N.value.style.chart.lines.opacity}; stroke-dasharray:${r.pathLength}; stroke-dashoffset: ${N.value.useCssAnimation ? r.pathLength : 0}`)
1221
+ }, null, 46, ht),
1222
+ H.value.showTooltip ? (b(), p("path", {
1223
+ key: 1,
1224
+ d: `M${N.value.style.chart.lines.smooth ? r.smoothPath : r.straightPath}`,
1225
+ stroke: "transparent",
1226
+ "stroke-width": 12,
1227
+ fill: "none",
1228
+ class: _({
1229
+ "vue-ui-pcp-animated vue-data-ui-line-animated": N.value.useCssAnimation,
1230
+ "vue-data-ui-transition": T(P)
1231
+ }),
1232
+ onMouseenter: (e) => Z({
1233
+ shape: t.shape,
1234
+ serieName: t.name,
1235
+ serie: r,
1236
+ relativeIndex: i,
1237
+ seriesIndex: r.seriesIndex,
1238
+ S: n,
1239
+ triggerMode: "pointer"
1240
+ }),
1241
+ onMouseleave: (e) => An({
1242
+ serie: r,
1243
+ shape: t.shape,
1244
+ S: n
1245
+ }),
1246
+ onClick: () => In({
1247
+ serie: r,
1248
+ shape: t.shape,
1249
+ S: n
1250
+ }),
1251
+ style: { opacity: "0" }
1252
+ }, null, 42, gt)) : f("", !0)
1253
+ ]))), 256))]))), 256)),
1254
+ (b(!0), p(l, null, S(J.value, (e, t) => (b(), p("g", null, [(b(!0), p(l, null, S(e.series, (n, r) => (b(), p("g", null, [!T($t) && (H.value.dataLabels.show || X.value && X.value === n.id) ? (b(!0), p(l, { key: 0 }, S(n.datapoints, (i, a) => (b(), p("text", {
1255
+ key: `pl_${n.id}_${a}`,
1256
+ transform: `translate(${i.x + 12 + N.value.style.chart.yAxis.labels.datapoints.offsetX}, ${i.y + N.value.style.chart.yAxis.labels.datapoints.offsetY + z.value.datapointFontSize / 3})`,
1257
+ fill: N.value.style.chart.yAxis.labels.datapoints.useSerieColor ? e.color : N.value.style.chart.yAxis.labels.datapoints.color,
1258
+ "text-anchor": "start",
1259
+ "font-weight": N.value.style.chart.yAxis.labels.datapoints.bold ? "bold" : "normal",
1260
+ class: _({
1261
+ "vue-ui-pcp-plot-label": !0,
1262
+ "vue-data-ui-transition": T(P)
1263
+ }),
1264
+ "font-size": z.value.datapointFontSize,
1265
+ stroke: N.value.style.chart.backgroundColor,
1266
+ "stroke-width": 3,
1267
+ "stroke-linecap": "round",
1268
+ "stroke-linejoin": "round",
1269
+ "paint-order": "stroke fill",
1270
+ onMouseenter: (i) => Z({
1271
+ shape: e.shape,
1272
+ serieName: e.name,
1273
+ serie: n,
1274
+ relativeIndex: r,
1275
+ seriesIndex: n.seriesIndex,
1276
+ S: t,
1277
+ triggerMode: "pointer"
1278
+ }),
1279
+ onMouseleave: (r) => An({
1280
+ serie: n,
1281
+ shape: e.shape,
1282
+ S: t
1283
+ }),
1284
+ onClick: () => In({
1285
+ serie: n,
1286
+ shape: e.shape,
1287
+ S: t
1288
+ }),
1289
+ style: y(`opacity:${X.value ? X.value === n.id ? 1 : .2 : 1}`)
1290
+ }, w(En({
1291
+ value: i.value,
1292
+ index: a,
1293
+ datapoint: i
1294
+ })), 47, _t))), 128)) : f("", !0)]))), 256))]))), 256)),
1295
+ C(e.$slots, "svg", { svg: {
1296
+ ...V.value,
1297
+ isPrintingImg: T(ln) || T(un) || Gt.value,
1298
+ isPrintingSvg: Kt.value
1299
+ } }, void 0, !0)
1300
+ ], 46, nt)), e.$slots.hint ? (b(), p("div", vt, [C(e.$slots, "hint", v(g({
1301
+ hint: N.value.a11y.translations.keyboardNavigation,
1302
+ isVisible: Xt.value
1303
+ })), void 0, !0)])) : f("", !0)]),
1304
+ e.$slots.watermark ? (b(), p("div", yt, [C(e.$slots, "watermark", v(g({ isPrinting: T(ln) || T(un) || Gt.value || Kt.value })), void 0, !0)])) : f("", !0),
1305
+ m("div", { id: `legend-bottom-${j.value}` }, null, 8, bt),
1306
+ Ut.value && (N.value.style.chart.legend.show || e.$slots.legend) ? (b(), d(Re, {
1307
+ key: 6,
1308
+ to: N.value.style.chart.legend.position === "top" ? `#legend-top-${j.value}` : `#legend-bottom-${j.value}`
1309
+ }, [m("div", {
1310
+ ref_key: "chartLegend",
1311
+ ref: Lt
1312
+ }, [C(e.$slots, "legend", { legend: G.value }, () => [N.value.style.chart.legend.show && Pt.value ? (b(), d(Ie, {
1313
+ key: `legend_${Vt.value}`,
1314
+ legendSet: G.value,
1315
+ config: Cn.value,
1316
+ isCursorPointer: F.value,
1317
+ onClickMarker: t[0] ||= ({ legend: e }) => {
1318
+ yn(e.id);
1319
+ }
1320
+ }, {
1321
+ item: E(({ legend: e, index: t }) => [m("div", {
1322
+ onClick: (t) => e.segregate(),
1323
+ style: y(`opacity:${U.value.includes(e.id) ? .5 : 1}`)
1324
+ }, w(e.name), 13, xt)]),
1325
+ legendToggle: E(() => [G.value.length > 2 && N.value.style.chart.legend.selectAllToggle.show && !T($t) ? (b(), d(Me, {
1326
+ key: 0,
1327
+ backgroundColor: N.value.style.chart.legend.selectAllToggle.backgroundColor,
1328
+ color: N.value.style.chart.legend.selectAllToggle.color,
1329
+ fontSize: N.value.style.chart.legend.fontSize,
1330
+ checked: U.value.length > 0,
1331
+ isCursorPointer: F.value,
1332
+ onToggle: vn
1333
+ }, null, 8, [
1334
+ "backgroundColor",
1335
+ "color",
1336
+ "fontSize",
1337
+ "checked",
1338
+ "isCursorPointer"
1339
+ ])) : f("", !0)]),
1340
+ _: 1
1341
+ }, 8, [
1342
+ "legendSet",
1343
+ "config",
1344
+ "isCursorPointer"
1345
+ ])) : f("", !0)], !0)], 512)], 8, ["to"])) : f("", !0),
1346
+ e.$slots.source ? (b(), p("div", {
1347
+ key: 7,
1348
+ ref_key: "source",
1349
+ ref: Rt,
1350
+ dir: "auto"
1351
+ }, [C(e.$slots, "source", {}, void 0, !0)], 512)) : f("", !0),
1352
+ Ve(T(Ct), {
1353
+ teleportTo: N.value.style.chart.tooltip.teleportTo,
1354
+ show: H.value.showTooltip && On.value,
1355
+ backgroundColor: N.value.style.chart.tooltip.backgroundColor,
1356
+ color: N.value.style.chart.tooltip.color,
1357
+ fontSize: N.value.style.chart.tooltip.fontSize,
1358
+ borderRadius: N.value.style.chart.tooltip.borderRadius,
1359
+ borderColor: N.value.style.chart.tooltip.borderColor,
1360
+ borderWidth: N.value.style.chart.tooltip.borderWidth,
1361
+ backgroundOpacity: N.value.style.chart.tooltip.backgroundOpacity,
1362
+ position: N.value.style.chart.tooltip.position,
1363
+ offsetX: N.value.style.chart.tooltip.offsetX,
1364
+ offsetY: N.value.style.chart.tooltip.offsetY,
1365
+ parent: O.value,
1366
+ content: kn.value,
1367
+ isFullscreen: M.value,
1368
+ isCustom: T(me)(N.value.style.chart.tooltip.customFormat),
1369
+ smooth: N.value.style.chart.tooltip.smooth,
1370
+ backdropFilter: N.value.style.chart.tooltip.backdropFilter,
1371
+ smoothForce: N.value.style.chart.tooltip.smoothForce,
1372
+ smoothSnapThreshold: N.value.style.chart.tooltip.smoothSnapThreshold,
1373
+ isA11yMode: Yt.value === "keyboard",
1374
+ a11yPosition: Jt.value
1375
+ }, {
1376
+ "tooltip-before": E(() => [C(e.$slots, "tooltip-before", v(g({ ...Dn.value })), void 0, !0)]),
1377
+ tooltip: E(() => [C(e.$slots, "tooltip", v(g({ ...Dn.value })), void 0, !0)]),
1378
+ "tooltip-after": E(() => [C(e.$slots, "tooltip-after", v(g({ ...Dn.value })), void 0, !0)]),
1379
+ _: 3
1380
+ }, 8, [
1381
+ "teleportTo",
1382
+ "show",
1383
+ "backgroundColor",
1384
+ "color",
1385
+ "fontSize",
1386
+ "borderRadius",
1387
+ "borderColor",
1388
+ "borderWidth",
1389
+ "backgroundOpacity",
1390
+ "position",
1391
+ "offsetX",
1392
+ "offsetY",
1393
+ "parent",
1394
+ "content",
1395
+ "isFullscreen",
1396
+ "isCustom",
1397
+ "smooth",
1398
+ "backdropFilter",
1399
+ "smoothForce",
1400
+ "smoothSnapThreshold",
1401
+ "isA11yMode",
1402
+ "a11yPosition"
1403
+ ]),
1404
+ Pt.value && N.value.userOptions.buttons.table ? (b(), d(Ke(Wn.value.component), He({ key: 8 }, Wn.value.props, {
1405
+ ref_key: "tableUnit",
1406
+ ref: k,
1407
+ onClose: Gn
1408
+ }), ze({
1409
+ content: E(() => [(b(), d(T(Et), {
1410
+ key: `table_${Ht.value}`,
1411
+ colNames: Q.value.colNames,
1412
+ head: Q.value.head,
1413
+ body: Q.value.body,
1414
+ config: Q.value.config,
1415
+ title: N.value.table.useDialog ? "" : Wn.value.title,
1416
+ withCloseButton: !N.value.table.useDialog,
1417
+ isCursorPointer: F.value,
1418
+ onClose: Gn
1419
+ }, {
1420
+ th: E(({ th: e }) => [m("div", { innerHTML: e }, null, 8, St)]),
1421
+ td: E(({ td: e }) => [Be(w(e), 1)]),
1422
+ _: 1
1423
+ }, 8, [
1424
+ "colNames",
1425
+ "head",
1426
+ "body",
1427
+ "config",
1428
+ "title",
1429
+ "withCloseButton",
1430
+ "isCursorPointer"
1431
+ ]))]),
1432
+ _: 2
1433
+ }, [N.value.table.useDialog ? {
1434
+ name: "title",
1435
+ fn: E(() => [Be(w(Wn.value.title), 1)]),
1436
+ key: "0"
1437
+ } : void 0, N.value.table.useDialog ? {
1438
+ name: "actions",
1439
+ fn: E(() => [m("button", {
1440
+ tabindex: "0",
1441
+ class: "vue-ui-user-options-button",
1442
+ onClick: t[1] ||= (e) => Pn(N.value.userOptions.callbacks.csv),
1443
+ style: y({ cursor: F.value ? "pointer" : "default" })
1444
+ }, [Ve(T(wt), {
1445
+ name: "fileCsv",
1446
+ stroke: Wn.value.props.color
1447
+ }, null, 8, ["stroke"])], 4)]),
1448
+ key: "1"
1449
+ } : void 0]), 1040)) : f("", !0),
1450
+ C(e.$slots, "skeleton", {}, () => [T($t) ? (b(), d(be, { key: 0 })) : f("", !0)], !0)
1451
+ ], 46, Qe));
1452
+ }
1453
+ }, [["__scopeId", "data-v-c3c9cdb8"]]);
1454
+ //#endregion
1455
+ export { Ze as n, Ct as t };