vue-data-ui 3.25.3 → 3.25.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/{Arrow-Bvx4_tSN.js → Arrow-DLn-pcrh.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BCQY4Tir.js → BaseDraggableDialog-BM_R41j8.js} +2 -2
  3. package/dist/{BaseIcon-CVrQHhw1.js → BaseIcon-t83PDe9k.js} +1 -1
  4. package/dist/{BaseLegendToggle-BF-thEu0.js → BaseLegendToggle-__JnV08B.js} +1 -1
  5. package/dist/{BaseZoomControls-BAHeLgV8.js → BaseZoomControls-Xo16vFa4.js} +2 -2
  6. package/dist/{ColorPicker-B0CMtFkc.js → ColorPicker-ZJrR3Olp.js} +2 -2
  7. package/dist/{DataTable-BBpTEQY5.js → DataTable-COIO9gi4.js} +2 -2
  8. package/dist/{HillActions-ChMsbYib.js → HillActions-Cl-dNBZR.js} +1 -1
  9. package/dist/{Legend-DmitJZi5.js → Legend-X4kF4PvW.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-DNIpZGOP.js → NonSvgPenAndPaper-DS84BAOx.js} +12 -12
  11. package/dist/{PackageVersion-hRJtldYi.js → PackageVersion-5SWftabm.js} +1 -1
  12. package/dist/{PenAndPaper-DzM1vUXR.js → PenAndPaper-B_SdRSKH.js} +12 -12
  13. package/dist/{Shape-BBKymE00.js → Shape-CIqU-p2F.js} +1 -1
  14. package/dist/{SlicerPreview-W4PWXK69.js → SlicerPreview-GvsdvE-h.js} +27 -27
  15. package/dist/{SparkTooltip-9hXY74AD.js → SparkTooltip-C-Y-mDrc.js} +1 -1
  16. package/dist/{Title-DIf1lG-_.js → Title-CPHi-evi.js} +1 -1
  17. package/dist/{Tooltip-C3jBTIhR.js → Tooltip-hhrkQ3Lk.js} +1 -1
  18. package/dist/{UserOptions-m0uxKoiy.js → UserOptions-f3Q0nqrj.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-DPcw-QzB.js → dom-to-png-C6cQJ5Hq.js} +1 -1
  91. package/dist/{exposedLib-BGrCpxDo.js → exposedLib-CG3aXJ-v.js} +9 -9
  92. package/dist/{img-IjqD_xWl.js → img-DhGApYG0.js} +1 -1
  93. package/dist/{labelUtils-Bgt85NUY.js → labelUtils-BXX2NzRe.js} +1 -1
  94. package/dist/{lib-C7t_vY8w.js → lib-Dql7cqyA.js} +200 -177
  95. package/dist/{package-NccReU84.js → package-DmsdiyeS.js} +1 -1
  96. package/dist/{pdf-HBji623H.js → pdf-Di5yPEw9.js} +1 -1
  97. package/dist/{render-common-CHj9aLwI.js → render-common-zoPh9a78.js} +2 -2
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/{useNestedProp-BfTgFMXF.js → useNestedProp-Chvyfpl-.js} +1 -1
  103. package/dist/{usePrinter-VVTuFI6H.js → usePrinter-DISD7q5m.js} +2 -2
  104. package/dist/utils.js +2 -2
  105. package/dist/{vue-data-ui-xQI9KcZd.js → vue-data-ui-DTj71yB7.js} +70 -70
  106. package/dist/vue-data-ui.js +73 -73
  107. package/dist/vue-ui-3d-bar-CH8SpxS2.js +1829 -0
  108. package/dist/{vue-ui-accordion-DuARUUdY.js → vue-ui-accordion-D4zsdacF.js} +3 -3
  109. package/dist/{vue-ui-age-pyramid-D-ggLbES.js → vue-ui-age-pyramid-B9MUVi75.js} +214 -214
  110. package/dist/{vue-ui-annotator-MvDwnq7k.js → vue-ui-annotator-CmlcWPIm.js} +6 -6
  111. package/dist/vue-ui-bullet-n8KNnDwh.js +700 -0
  112. package/dist/{vue-ui-bump-DiH9-DLV.js → vue-ui-bump-BkOtQNWe.js} +54 -54
  113. package/dist/{vue-ui-candlestick-B486ChH8.js → vue-ui-candlestick-Bxlvqk49.js} +450 -446
  114. package/dist/vue-ui-carousel-table-CRgbs7jR.js +467 -0
  115. package/dist/{vue-ui-chestnut-DGESmviK.js → vue-ui-chestnut-ByDKbkG9.js} +273 -273
  116. package/dist/{vue-ui-chord-DQJ7RuvS.js → vue-ui-chord-DQRBgVOx.js} +31 -31
  117. package/dist/{vue-ui-circle-pack-YXuSpTIB.js → vue-ui-circle-pack-CBBc0HOe.js} +28 -28
  118. package/dist/{vue-ui-cursor-Dju_nWZh.js → vue-ui-cursor-BHyXRadA.js} +3 -3
  119. package/dist/{vue-ui-dag-C2f1v-IC.js → vue-ui-dag-CyVqaLbF.js} +75 -75
  120. package/dist/{vue-ui-dashboard-pNI0se0n.js → vue-ui-dashboard-7I-7wvCP.js} +69 -69
  121. package/dist/{vue-ui-digits-C5Z_lpSZ.js → vue-ui-digits-BBL8uERO.js} +3 -3
  122. package/dist/{vue-ui-donut-DZXYGFJc.js → vue-ui-donut-DcgUuefk.js} +101 -101
  123. package/dist/vue-ui-donut-DfiocufT.js +2413 -0
  124. package/dist/{vue-ui-donut-evolution-DQn-87Ak.js → vue-ui-donut-evolution-BoqO8By2.js} +374 -374
  125. package/dist/{vue-ui-dumbbell-CDtBLV2m.js → vue-ui-dumbbell-7M_oUQdi.js} +137 -137
  126. package/dist/{vue-ui-flow-B0L2gQ3k.js → vue-ui-flow-CoylrfnO.js} +40 -40
  127. package/dist/vue-ui-funnel-DaBYHWIC.js +747 -0
  128. package/dist/{vue-ui-galaxy-yF4pKrlD.js → vue-ui-galaxy-BIebStQ3.js} +245 -245
  129. package/dist/vue-ui-gauge-CwdTmiRP.js +932 -0
  130. package/dist/{vue-ui-geo-CFz30xe0.js → vue-ui-geo-jR4P4pbt.js} +36 -36
  131. package/dist/{vue-ui-gizmo-ys9jjs02.js → vue-ui-gizmo-D6W86s9o.js} +3 -3
  132. package/dist/{vue-ui-heatmap-qigx4Z5I.js → vue-ui-heatmap-DXYlGwqR.js} +180 -180
  133. package/dist/{vue-ui-hill-K3JKKF1b.js → vue-ui-hill-fFq7pm-g.js} +9 -9
  134. package/dist/vue-ui-history-plot-CgIELoD2.js +1696 -0
  135. package/dist/vue-ui-horizontal-bar-D3Sft4kp.js +1709 -0
  136. package/dist/{vue-ui-kpi-0W2GpUBQ.js → vue-ui-kpi-fzLsKlyE.js} +3 -3
  137. package/dist/{vue-ui-label-CBM2b0Aq.js → vue-ui-label-BSgLalWD.js} +64 -64
  138. package/dist/{vue-ui-mini-loader-C-2BQ3hi.js → vue-ui-mini-loader-BL2odRfu.js} +2 -2
  139. package/dist/vue-ui-molecule-DeHWkkhy.js +929 -0
  140. package/dist/{vue-ui-mood-radar-VCVoA-i7.js → vue-ui-mood-radar-bvGx6XgG.js} +201 -201
  141. package/dist/{vue-ui-nested-donuts-CFPhvIy3.js → vue-ui-nested-donuts-CeAV2xPk.js} +124 -124
  142. package/dist/{vue-ui-onion-BMucjktR.js → vue-ui-onion-B7oFulsQ.js} +119 -119
  143. package/dist/{vue-ui-parallel-coordinate-plot-BhahYf50.js → vue-ui-parallel-coordinate-plot-B_QJ4N9o.js} +376 -376
  144. package/dist/{vue-ui-quadrant-77idomwS.js → vue-ui-quadrant-DrKnz37q.js} +46 -46
  145. package/dist/{vue-ui-quick-chart-CNKuNur5.js → vue-ui-quick-chart-BFscCR59.js} +185 -185
  146. package/dist/{vue-ui-radar-CuT1AXHF.js → vue-ui-radar-Bzx69q8f.js} +311 -311
  147. package/dist/{vue-ui-rating-CTuSylET.js → vue-ui-rating-CimC9FQ9.js} +2 -2
  148. package/dist/vue-ui-relation-circle-DIQYyDGb.js +903 -0
  149. package/dist/{vue-ui-ridgeline-CijnGJ6-.js → vue-ui-ridgeline-CPEnM45x.js} +199 -199
  150. package/dist/{vue-ui-rings-DDGKIiGT.js → vue-ui-rings-qPL5Iwji.js} +327 -327
  151. package/dist/vue-ui-scatter-BB0ClTsU.js +2403 -0
  152. package/dist/{vue-ui-skeleton-Clzzx8hc.js → vue-ui-skeleton-zmbcOVEf.js} +59 -59
  153. package/dist/{vue-ui-smiley-DILPVI14.js → vue-ui-smiley-DzPkCMN-.js} +2 -2
  154. package/dist/{vue-ui-spark-trend-CYIyrTQj.js → vue-ui-spark-trend-Ciq7-k_q.js} +8 -8
  155. package/dist/{vue-ui-sparkbar-C2HcYmPm.js → vue-ui-sparkbar-D1M7-naP.js} +142 -142
  156. package/dist/{vue-ui-sparkgauge-BLJ0mImj.js → vue-ui-sparkgauge-rsqaeR_n.js} +33 -33
  157. package/dist/{vue-ui-sparkhistogram-1FYy_qM3.js → vue-ui-sparkhistogram-C4WXt2Ni.js} +26 -26
  158. package/dist/{vue-ui-sparkline-C11KKbIn.js → vue-ui-sparkline-Dv7XrEzO.js} +253 -253
  159. package/dist/vue-ui-sparkstackbar-DDOXdeV-.js +738 -0
  160. package/dist/vue-ui-stackbar-C_hMnOLb.js +2353 -0
  161. package/dist/vue-ui-stackline-BHGi63lD.js +2467 -0
  162. package/dist/vue-ui-strip-plot-Cygpn-l8.js +1738 -0
  163. package/dist/vue-ui-table-BQna1wL6.js +1352 -0
  164. package/dist/{vue-ui-table-heatmap-Dj06PSQK.js → vue-ui-table-heatmap-Dv_ZKKm3.js} +9 -9
  165. package/dist/{vue-ui-table-sparkline-1h7A5F1N.js → vue-ui-table-sparkline-BCuimtk6.js} +13 -13
  166. package/dist/{vue-ui-thermometer-CVKlj7fU.js → vue-ui-thermometer-DytlLJ32.js} +28 -28
  167. package/dist/{vue-ui-timer-BWz6K56E.js → vue-ui-timer-CvHP4HoW.js} +5 -5
  168. package/dist/{vue-ui-tiremarks-D26MLo5F.js → vue-ui-tiremarks-BvjdZwgh.js} +6 -6
  169. package/dist/{vue-ui-treemap-33VL-HnF.js → vue-ui-treemap-C5OpqzSc.js} +39 -39
  170. package/dist/vue-ui-waffle-B7T_Zzan.js +1619 -0
  171. package/dist/{vue-ui-wheel-BPbR_-t8.js → vue-ui-wheel-D1B0k7IW.js} +23 -23
  172. package/dist/{vue-ui-word-cloud-RFcpvswb.js → vue-ui-word-cloud-C4pX6jop.js} +27 -27
  173. package/dist/{vue-ui-world-CseHQjz7.js → vue-ui-world-D0_2upjg.js} +116 -116
  174. package/dist/{vue-ui-xy-D_biv7Wg.js → vue-ui-xy-Ck41KYqF.js} +1493 -1489
  175. package/dist/{vue-ui-xy-C3UI9YIM.js → vue-ui-xy-D_5FfaH-.js} +423 -422
  176. package/dist/{vue-ui-xy-canvas-R1I0sffy.js → vue-ui-xy-canvas-B_8Mu19r.js} +77 -77
  177. package/package.json +1 -1
  178. package/dist/vue-ui-3d-bar-Cf5mJEzr.js +0 -1829
  179. package/dist/vue-ui-bullet-DWe51l3b.js +0 -700
  180. package/dist/vue-ui-carousel-table-BPNQQVsu.js +0 -467
  181. package/dist/vue-ui-donut-CaMaNvIF.js +0 -2413
  182. package/dist/vue-ui-funnel-G5nO77o5.js +0 -747
  183. package/dist/vue-ui-gauge-DA92q6HZ.js +0 -932
  184. package/dist/vue-ui-history-plot-DUoXwHLn.js +0 -1696
  185. package/dist/vue-ui-horizontal-bar-C51hv9PU.js +0 -1709
  186. package/dist/vue-ui-molecule-B1ChvZql.js +0 -929
  187. package/dist/vue-ui-relation-circle-DxONGvTM.js +0 -903
  188. package/dist/vue-ui-scatter-Cwlhv9y6.js +0 -2403
  189. package/dist/vue-ui-sparkstackbar-B4H_cgzW.js +0 -738
  190. package/dist/vue-ui-stackbar-CBOAAVtS.js +0 -2349
  191. package/dist/vue-ui-stackline-24PeB3yN.js +0 -2463
  192. package/dist/vue-ui-strip-plot-C3Q1lECl.js +0 -1738
  193. package/dist/vue-ui-table-DMJWplCT.js +0 -1352
  194. package/dist/vue-ui-waffle-DIFpyE2V.js +0 -1619
@@ -1,1738 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { $ as t, $t as n, At as r, D as i, G as a, It as o, Jt as s, Nt as c, S as l, St as u, X as d, Xt as ee, Y as te, Yt as ne, _ as re, b as ie, i as ae, lt as oe, mt as se, nt as ce, q as le, t as ue, v as de, w as fe, x as pe } from "./lib-C7t_vY8w.js";
3
- import { n as me, t as he } from "./useHints-Dq_w2E8B.js";
4
- import { t as ge } from "./useConfig-CyCVHo81.js";
5
- import { t as _e } from "./usePrinter-VVTuFI6H.js";
6
- import { n as ve, t as ye } from "./BaseScanner-DZvpgOjM.js";
7
- import { t as be } from "./useNestedProp-BfTgFMXF.js";
8
- import { t as xe } from "./useThemeCheck-C43Tcqmk.js";
9
- import { t as Se } from "./useChartExport-iwOqiIWX.js";
10
- import { t as Ce } from "./useTransitions-g_zBREk2.js";
11
- import { t as we } from "./useTimeLabelCollider-AEcY4Ioe.js";
12
- import { t as Te } from "./img-IjqD_xWl.js";
13
- import { n as Ee } from "./Title-DIf1lG-_.js";
14
- import { t as De } from "./Shape-BBKymE00.js";
15
- import { t as Oe } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
- import { l as ke, t as Ae } from "./useResponsive-ZtArZtUf.js";
17
- import { t as je } from "./DefGrad-DVBqDjhO.js";
18
- import { t as Me } from "./A11yDataTable-DdRsVULz.js";
19
- import { t as Ne } from "./useUserOptionState-DK-_1ddE.js";
20
- import { t as Pe } from "./useChartAccessibility-DYqac8yF.js";
21
- import { t as Fe } from "./vue_ui_strip_plot-BaHbnnwN.js";
22
- import { Fragment as f, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createSlots as Ie, createTextVNode as Le, createVNode as Re, defineAsyncComponent as v, guardReactiveProps as y, mergeProps as ze, nextTick as Be, normalizeClass as b, normalizeProps as x, normalizeStyle as S, onBeforeUnmount as Ve, onMounted as He, openBlock as C, ref as w, renderList as T, renderSlot as E, resolveDynamicComponent as Ue, shallowRef as We, toDisplayString as D, toRefs as Ge, unref as O, watch as Ke, watchEffect as qe, withCtx as k } from "vue";
23
- //#region src/components/vue-ui-strip-plot.vue
24
- var Je = /* @__PURE__ */ e({ default: () => Et }), Ye = ["id"], Xe = ["id"], Ze = { style: { position: "relative" } }, Qe = [
25
- "xmlns",
26
- "viewBox",
27
- "aria-describedby"
28
- ], $e = [
29
- "x",
30
- "y",
31
- "width",
32
- "height"
33
- ], et = { key: 1 }, tt = { key: 0 }, nt = [
34
- "x1",
35
- "x2",
36
- "y1",
37
- "y2",
38
- "stroke",
39
- "stroke-width",
40
- "stroke-dasharray"
41
- ], rt = { key: 1 }, it = [
42
- "x1",
43
- "x2",
44
- "y1",
45
- "y2",
46
- "stroke",
47
- "stroke-width",
48
- "stroke-dasharray"
49
- ], at = [
50
- "x1",
51
- "x2",
52
- "y1",
53
- "y2",
54
- "stroke",
55
- "stroke-width"
56
- ], ot = [
57
- "x1",
58
- "x2",
59
- "y1",
60
- "y2",
61
- "stroke",
62
- "stroke-width"
63
- ], st = [
64
- "transform",
65
- "fill",
66
- "font-size"
67
- ], ct = [
68
- "transform",
69
- "font-size",
70
- "fill",
71
- "text-anchor"
72
- ], lt = [
73
- "transform",
74
- "font-size",
75
- "fill",
76
- "text-anchor",
77
- "innerHTML"
78
- ], ut = [
79
- "fill",
80
- "font-size",
81
- "transform"
82
- ], dt = [
83
- "fill",
84
- "font-size",
85
- "x",
86
- "y"
87
- ], ft = [
88
- "x1",
89
- "x2",
90
- "y1",
91
- "y2",
92
- "stroke"
93
- ], pt = [
94
- "cx",
95
- "cy",
96
- "fill"
97
- ], mt = [
98
- "cx",
99
- "cy",
100
- "fill"
101
- ], ht = [
102
- "d",
103
- "fill",
104
- "stroke",
105
- "fill-opacity",
106
- "stroke-opacity",
107
- "stroke-width",
108
- "onMouseenter"
109
- ], gt = [
110
- "x1",
111
- "x2",
112
- "y1",
113
- "y2",
114
- "stroke",
115
- "stroke-opacity",
116
- "stroke-width"
117
- ], _t = ["onMouseenter"], vt = [
118
- "x1",
119
- "x2",
120
- "y1",
121
- "y2",
122
- "stroke",
123
- "stroke-width"
124
- ], yt = [
125
- "x",
126
- "y",
127
- "width",
128
- "height",
129
- "fill",
130
- "stroke",
131
- "stroke-width",
132
- "rx"
133
- ], bt = [
134
- "cx",
135
- "cy",
136
- "r",
137
- "fill",
138
- "stroke"
139
- ], xt = { key: 1 }, St = [
140
- "x",
141
- "y",
142
- "font-size",
143
- "fill"
144
- ], Ct = {
145
- key: 0,
146
- style: {
147
- position: "absolute",
148
- top: "100%",
149
- left: "0",
150
- width: "100%"
151
- },
152
- "data-dom-to-png-ignore": "",
153
- "aria-hidden": "true"
154
- }, wt = {
155
- key: 5,
156
- class: "vue-data-ui-watermark"
157
- }, Tt = { style: {
158
- display: "flex",
159
- "align-items": "center"
160
- } }, Et = /*#__PURE__*/ Oe({
161
- __name: "vue-ui-strip-plot",
162
- props: {
163
- config: {
164
- type: Object,
165
- default() {
166
- return {};
167
- }
168
- },
169
- dataset: {
170
- type: Array,
171
- default() {
172
- return [];
173
- }
174
- }
175
- },
176
- emits: ["selectDatapoint", "copyAlt"],
177
- setup(e, { expose: Oe, emit: Je }) {
178
- let Et = v(() => import("./Tooltip-C3jBTIhR.js")), Dt = v(() => import("./BaseIcon-CVrQHhw1.js").then((e) => e.n)), Ot = v(() => import("./vue-ui-accordion-DuARUUdY.js").then((e) => e.n)), kt = v(() => import("./DataTable-BBpTEQY5.js")), At = v(() => import("./UserOptions-m0uxKoiy.js").then((e) => e.n)), jt = v(() => import("./PenAndPaper-DzM1vUXR.js").then((e) => e.t)), Mt = v(() => import("./PackageVersion-hRJtldYi.js").then((e) => e.t)), Nt = v(() => import("./BaseDraggableDialog-BCQY4Tir.js").then((e) => e.n)), Pt = [
179
- "classic",
180
- "scatter",
181
- "violin"
182
- ], { vue_ui_strip_plot: Ft } = ge(), { isThemeValid: It, warnInvalidTheme: Lt } = xe(), A = e, Rt = Je, zt = p({
183
- get() {
184
- return !!A.dataset && A.dataset.length;
185
- },
186
- set(e) {
187
- return e;
188
- }
189
- }), j = w(le()), Bt = w(0), M = w(!1), Vt = w(""), N = w(null), Ht = w(null), Ut = w(null), Wt = w(null), Gt = w(!1), Kt = w(0), qt = w(0), Jt = w(null), Yt = w(null), Xt = w(null), Zt = w(null), Qt = w(null), $t = w(null), en = w(null), tn = w(null), P = w("pointer"), nn = w({
190
- x: 0,
191
- y: 0
192
- }), rn = w(!1), F = w(mn());
193
- me({
194
- config: () => F.value,
195
- dataset: () => A.dataset,
196
- component: "VueUiStripPlot",
197
- rules: [he.emptyArray, {
198
- test: (e) => e.length > 12,
199
- message: [
200
- "👀 The number of series is > 12. Consider:",
201
- "",
202
- "▶️ Using filters to let users choose a maximum number of series to display.",
203
- "",
204
- "▶️ Using multiple instances of the chart to display related series."
205
- ]
206
- }]
207
- });
208
- let { transitionEnabled: an } = Ce({
209
- config: () => F.value.transitions,
210
- dataset: () => A.dataset
211
- }), on = p(() => hn(F.value.type)), I = p(() => F.value.userOptions.useCursorPointer), sn = p(() => ee({
212
- defaultConfig: {
213
- userOptions: { show: !1 },
214
- table: { show: !1 },
215
- style: { chart: {
216
- backgroundColor: "#99999930",
217
- padding: {
218
- top: 24,
219
- left: 24,
220
- right: 24,
221
- bottom: 24
222
- },
223
- grid: {
224
- stroke: "#6A6A6A",
225
- horizontalGrid: { stroke: "#6A6A6A" },
226
- verticalGrid: { stroke: "#6A6A6A" }
227
- },
228
- plots: { stroke: "#6A6A6A" },
229
- labels: {
230
- bestPlotLabel: { show: !1 },
231
- axis: {
232
- xLabel: "",
233
- yLabel: ""
234
- },
235
- xAxisLabels: { show: !1 },
236
- yAxisLabels: { show: !1 }
237
- }
238
- } }
239
- },
240
- userConfig: F.value.skeletonConfig ?? {}
241
- })), { loading: cn, FINAL_DATASET: ln, manualLoading: un } = ve({
242
- ...Ge(A),
243
- FINAL_CONFIG: F,
244
- prepareConfig: mn,
245
- skeletonDataset: A.config?.skeletonDataset ?? [
246
- {
247
- name: "_",
248
- color: "#DBDBDB",
249
- plots: [
250
- {
251
- name: "_",
252
- value: 1
253
- },
254
- {
255
- name: "_",
256
- value: 2
257
- },
258
- {
259
- name: "_",
260
- value: 3
261
- }
262
- ]
263
- },
264
- {
265
- name: "_",
266
- color: "#C4C4C4",
267
- plots: [
268
- {
269
- name: "_",
270
- value: 3
271
- },
272
- {
273
- name: "_",
274
- value: 5
275
- },
276
- {
277
- name: "_",
278
- value: 8
279
- }
280
- ]
281
- },
282
- {
283
- name: "_",
284
- color: "#ADADAD",
285
- plots: [
286
- {
287
- name: "_",
288
- value: 8
289
- },
290
- {
291
- name: "_",
292
- value: 13
293
- },
294
- {
295
- name: "_",
296
- value: 21
297
- }
298
- ]
299
- },
300
- {
301
- name: "_",
302
- color: "#969696",
303
- plots: [
304
- {
305
- name: "_",
306
- value: 21
307
- },
308
- {
309
- name: "_",
310
- value: 34
311
- },
312
- {
313
- name: "_",
314
- value: 55
315
- }
316
- ]
317
- },
318
- {
319
- name: "_",
320
- color: "#808080",
321
- plots: [
322
- {
323
- name: "_",
324
- value: 55
325
- },
326
- {
327
- name: "_",
328
- value: 89
329
- },
330
- {
331
- name: "_",
332
- value: 144
333
- }
334
- ]
335
- }
336
- ],
337
- skeletonConfig: ee({
338
- defaultConfig: F.value,
339
- userConfig: sn.value
340
- })
341
- }), { userOptionsVisible: dn, setUserOptionsVisibility: fn, keepUserOptionState: pn } = Ne({ config: F.value }), { svgRef: L } = Pe({ config: F.value.style.chart.title });
342
- function mn() {
343
- let e = be({
344
- userConfig: A.config,
345
- defaultConfig: Ft
346
- }), t = e.theme;
347
- if (!t) return e;
348
- if (!It.value(e)) return Lt(e), e;
349
- let n = be({
350
- userConfig: Fe[t] || A.config,
351
- defaultConfig: e
352
- }), r = be({
353
- userConfig: A.config,
354
- defaultConfig: n
355
- });
356
- return {
357
- ...r,
358
- customPalette: r.customPalette.length ? r.customPalette : s[t] || o
359
- };
360
- }
361
- function hn(e) {
362
- return Pt.includes(e) ? e : "classic";
363
- }
364
- Ke(() => A.config, async (e) => {
365
- cn.value || (F.value = mn()), dn.value = !F.value.userOptions.showOnChartHover, _n(), Kt.value += 1, qt.value += 1, H.value.dataLabels.show = F.value.style.chart.labels.bestPlotLabel.show, H.value.showTable = F.value.table.show, H.value.showTooltip = F.value.style.chart.tooltip.show, B.value = F.value.style.chart.width, V.value = F.value.style.chart.height, Dn.value = F.value.style.chart.plots.radius;
366
- }, { deep: !0 }), Ke(() => A.dataset, (e) => {
367
- Array.isArray(e) && e.length > 0 && (un.value = !1);
368
- }, { deep: !0 });
369
- let R = We(null), z = We(null);
370
- He(() => {
371
- _n();
372
- });
373
- let gn = p(() => F.value.debug);
374
- function _n() {
375
- if (c(A.dataset) ? (ce({
376
- componentName: "VueUiStripPlot",
377
- type: "dataset",
378
- debug: gn.value
379
- }), un.value = !0) : A.dataset.forEach((e, t) => {
380
- se({
381
- datasetObject: e,
382
- requiredAttributes: ["name", "plots"]
383
- }).forEach((e) => {
384
- zt.value = !1, ce({
385
- componentName: "VueUiStripPlot",
386
- type: "datasetSerieAttribute",
387
- property: e,
388
- index: t,
389
- debug: gn.value
390
- });
391
- }), e.plots && e.plots.forEach((e, n) => {
392
- se({
393
- datasetObject: e,
394
- requiredAttributes: ["name", "value"]
395
- }).forEach((e) => {
396
- zt.value = !1, ce({
397
- componentName: "VueUiStripPlot",
398
- type: "datasetSerieAttribute",
399
- property: e,
400
- index: `${t},${n}`,
401
- debug: gn.value
402
- });
403
- });
404
- });
405
- }), c(A.dataset) || (un.value = F.value.loading), F.value.responsive) {
406
- let e = ke(() => {
407
- let { width: e, height: t } = Ae({
408
- chart: N.value,
409
- title: F.value.style.chart.title.text ? Ht.value : null,
410
- source: Ut.value,
411
- noTitle: Wt.value
412
- });
413
- requestAnimationFrame(() => {
414
- En.value = t, B.value = Math.max(.1, e), V.value = Math.max(.1, t - 12), F.value.responsiveProportionalSizing ? Dn.value = ne({
415
- relator: Math.min(t, e),
416
- adjuster: 600,
417
- source: F.value.style.chart.plots.radius,
418
- threshold: 6,
419
- fallback: 6
420
- }) : Dn.value = F.value.style.chart.plots.radius;
421
- });
422
- });
423
- R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect()), R.value = new ResizeObserver(e), z.value = N.value.parentNode, R.value.observe(z.value);
424
- }
425
- Gt.value = !0, setTimeout(() => {
426
- wn.value = !1;
427
- }, Pn.value * 50);
428
- }
429
- Ve(() => {
430
- R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect());
431
- });
432
- let { isPrinting: vn, isImaging: yn, generatePdf: bn, generateImage: xn } = _e({
433
- elementId: `strip-plot_${j.value}`,
434
- fileName: F.value.style.chart.title.text || "vue-ui-strip-plot",
435
- options: F.value.userOptions.print
436
- }), Sn = p(() => F.value.userOptions.show && !F.value.style.chart.title.text), Cn = p(() => fe(F.value.customPalette)), wn = w(F.value.useCssAnimation), Tn = w({
437
- top: F.value.style.chart.padding.top,
438
- bottom: F.value.style.chart.padding.bottom,
439
- left: F.value.style.chart.padding.left,
440
- right: F.value.style.chart.padding.right
441
- }), B = w(F.value.style.chart.width), V = w(F.value.style.chart.height), En = w(F.value.style.chart.height), Dn = w(F.value.style.chart.plots.radius), H = w({
442
- showTable: F.value.table.show,
443
- dataLabels: { show: F.value.style.chart.labels.bestPlotLabel.show },
444
- showTooltip: F.value.style.chart.tooltip.show
445
- });
446
- Ke(F, () => {
447
- H.value = {
448
- showTable: F.value.table.show,
449
- dataLabels: { show: F.value.style.chart.labels.bestPlotLabel.show },
450
- showTooltip: F.value.style.chart.tooltip.show
451
- }, B.value = F.value.style.chart.width, V.value = F.value.style.chart.height, Dn.value = F.value.style.chart.plots.radius;
452
- }, { immediate: !0 });
453
- let U = p(() => Math.min(Dn.value, G.value.stripWidth / 2 * .9));
454
- function W(e) {
455
- return Number.isFinite(e) ? Number(e.toFixed(2)) : 0;
456
- }
457
- function On() {
458
- return Math.max(0, (G.value.stripWidth / 2 - U.value * 1.8) * .86) * Math.min(1, F.value.style.chart.violin.widthRatio);
459
- }
460
- function kn() {
461
- let e = 0;
462
- $t.value && (e = Array.from($t.value.querySelectorAll("text")).reduce((e, t) => {
463
- let n = t.getComputedTextLength();
464
- return n > e ? n : e;
465
- }, 0));
466
- let t = Zt.value ? Zt.value.getBoundingClientRect().width : 0;
467
- return e + t + (t ? 24 : 0);
468
- }
469
- let An = w(0), jn = ke((e) => {
470
- An.value = e;
471
- }, 100);
472
- qe((e) => {
473
- let t = Qt.value;
474
- if (!t) return;
475
- let n = new ResizeObserver((e) => {
476
- jn(e[0].contentRect.height);
477
- });
478
- n.observe(t), e(() => n.disconnect());
479
- }), Ve(() => {
480
- An.value = 0;
481
- });
482
- let Mn = p(() => {
483
- let e = 0;
484
- Xt.value && (e = Xt.value.getBBox().height + F.value.style.chart.labels.axis.fontSize / 3 + 12 + F.value.style.chart.labels.axis.xLabelOffsetY);
485
- let t = 0;
486
- return Qt.value && (t = An.value + 12), e + t;
487
- }), G = p(() => {
488
- let e = kn(), t = Tn.value.left + e + F.value.style.chart.labels.axis.yLabelOffsetX + 5, n = B.value - Tn.value.right, r = Math.max(0, n - t), i = Tn.value.top + F.value.style.chart.plots.radius + F.value.style.chart.labels.bestPlotLabel.fontSize, a = V.value - Tn.value.bottom - Mn.value, o = Math.max(0, a - i), s = Array.isArray(ln.value) ? ln.value.length : 0;
489
- return {
490
- left: t,
491
- right: n,
492
- top: i,
493
- bottom: a,
494
- width: r,
495
- height: o,
496
- stripWidth: s > 0 ? r / s : 0,
497
- absoluteHeight: V.value
498
- };
499
- });
500
- function Nn(e) {
501
- return G.value.left + (e + 1) * G.value.stripWidth - G.value.stripWidth / 2;
502
- }
503
- let K = p(() => ln.value.map((e, t) => {
504
- let n = le();
505
- return {
506
- ...e,
507
- id: n,
508
- color: e.color ? l(e.color) : Cn.value[t] || o[t] || o[t % o.length],
509
- plots: e.plots.map((r, i) => ({
510
- ...r,
511
- value: ie(r.value),
512
- parentId: n,
513
- parentName: e.name,
514
- parentIndex: t,
515
- plotIndex: i,
516
- color: e.color ? l(e.color) : Cn.value[t] || o[t] || o[t % o.length],
517
- id: le()
518
- })).sort((e, t) => e.value - t.value)
519
- };
520
- })), q = p(() => (K.value || []).map((e, t) => ({
521
- ...e,
522
- plots: e.plots.map((e) => ({
523
- ...e,
524
- x: Nn(t)
525
- }))
526
- }))), Pn = p(() => Math.max(...q.value.map((e) => e.plots.length))), Fn = p(() => {
527
- let e = q.value.flatMap((e) => e.plots.map((e) => e.value));
528
- return {
529
- max: Math.max(...e),
530
- min: Math.min(...e)
531
- };
532
- }), In = p(() => {
533
- let e = F.value.style.chart.grid.scaleMin, t = F.value.style.chart.grid.scaleMax, n = Math.max(2, F.value.style.chart.grid.scaleSteps), r = Fn.value.min < 0 ? Fn.value.min : 0, i = Fn.value.max;
534
- if (e === null && t === null) return re(r, i, n);
535
- if (e !== null && t !== null) return de(e, t, n);
536
- let a = re(e === null ? r : e, t === null ? i : t, n);
537
- return de(e === null ? a.min : e, t === null ? a.max : t, n);
538
- });
539
- function J(e) {
540
- let t = In.value.max - In.value.min;
541
- return t ? G.value.bottom - (e - In.value.min) / t * G.value.height : G.value.bottom;
542
- }
543
- let Y = p(() => (q.value || []).map((e, t) => {
544
- let n = e.plots.map((e) => ({
545
- ...e,
546
- y: J(e.value)
547
- })), r = on.value === "classic" ? n.map(() => 0) : Vn(n);
548
- return {
549
- ...e,
550
- plots: n.map((e, t) => ({
551
- ...e,
552
- x: e.x + r[t]
553
- }))
554
- };
555
- })), X = p(() => on.value === "violin" && !!F.value.style.chart.violin?.boxPlot?.show);
556
- function Ln(e, t) {
557
- if (!e.length) return 0;
558
- if (e.length === 1) return e[0];
559
- let n = (e.length - 1) * t, r = Math.floor(n), i = n - r, a = e[r + 1];
560
- return a === void 0 ? e[r] : e[r] + i * (a - e[r]);
561
- }
562
- let Rn = p(() => X.value ? Y.value.map((e, t) => {
563
- let n = e.plots.map((e) => e.value).sort((e, t) => e - t), r = Ln(n, .25), i = Ln(n, .5), a = Ln(n, .75), o = a - r, s = r - o * 1.5, c = a + o * 1.5, l = n.find((e) => e >= s), u = n.slice().reverse().find((e) => e <= c), d = Nn(t), ee = Math.max(U.value * 2.8, Math.min(On() * .32, G.value.stripWidth * .12)) * Math.min(1.5, F.value.style.chart.violin.boxPlot.widthRatio);
564
- return {
565
- id: e.id,
566
- boxPlotColor: F.value.style.chart.violin.boxPlot.useSerieColor ? e.color : F.value.style.chart.violin.boxPlot.color,
567
- color: e.color,
568
- name: e.name,
569
- count: n.length,
570
- lowerAdjacent: l ?? n[0],
571
- q1: r,
572
- median: i,
573
- q3: a,
574
- upperAdjacent: u ?? n[n.length - 1],
575
- iqr: o,
576
- lowerFence: s,
577
- upperFence: c,
578
- centerX: d,
579
- boxLeft: d - ee / 2,
580
- boxWidth: ee,
581
- q1Y: J(r),
582
- medianY: J(i),
583
- q3Y: J(a),
584
- lowerY: J(l ?? n[0]),
585
- upperY: J(u ?? n[n.length - 1])
586
- };
587
- }) : []), zn = p(() => [
588
- F.value.table.columnNames.series,
589
- F.value.style.chart.violin.tooltipLabels.lowerAdjacent,
590
- F.value.style.chart.violin.tooltipLabels.q1,
591
- F.value.style.chart.violin.tooltipLabels.median,
592
- F.value.style.chart.violin.tooltipLabels.q3,
593
- F.value.style.chart.violin.tooltipLabels.upperAdjacent,
594
- F.value.style.chart.violin.tooltipLabels.iqr,
595
- F.value.style.chart.violin.tooltipLabels.count
596
- ]);
597
- function Bn(e) {
598
- return d({
599
- p: F.value.style.chart.labels.prefix,
600
- v: e,
601
- s: F.value.style.chart.labels.suffix,
602
- r: F.value.table.td.roundingValue
603
- });
604
- }
605
- function Vn(e) {
606
- let t = on.value === "violin" ? Math.max(0, On() - U.value * 1.15) : Math.max(0, G.value.stripWidth / 2 - U.value * 1.5);
607
- if (!e.length || !t) return e.map(() => 0);
608
- let n = e.map(() => 0), r = U.value * 2.1, i = Math.min(t, r), a = [0];
609
- for (let e = i; e <= t + i / 2; e += i) a.push(-Math.min(e, t)), a.push(Math.min(e, t));
610
- let o = [];
611
- return e.forEach((e, t) => {
612
- let i = a.find((t) => o.every((n) => {
613
- let i = t - n.offset, a = e.y - n.y;
614
- return Math.hypot(i, a) >= r;
615
- })) ?? 0;
616
- n[t] = i, o.push({
617
- y: e.y,
618
- offset: i
619
- });
620
- }), n;
621
- }
622
- let Hn = p(() => on.value === "violin" ? Y.value.map((e, t) => ({
623
- id: e.id,
624
- color: F.value.style.chart.violin.useSerieColor ? e.color : F.value.style.chart.violin.stroke,
625
- fill: F.value.style.chart.violin.useSerieColor ? e.color : F.value.style.chart.violin.fill,
626
- path: Un(e.plots, t),
627
- connectors: Wn(e.plots, t)
628
- })) : []);
629
- function Un(e, t) {
630
- let n = On();
631
- if (!e.length || !G.value.height || !n) return "";
632
- let r = Nn(t), i = e.map((e) => e.y), a = Z(i), o = Kn({
633
- yValues: i,
634
- bandwidth: a
635
- });
636
- return o.length > 1 ? o.map((e) => Jn({
637
- yValues: e,
638
- centerX: r,
639
- maxWidth: Gn({
640
- clusterLength: e.length,
641
- totalLength: i.length,
642
- maxWidth: n
643
- }),
644
- bandwidth: Z(e)
645
- })).join(" ") : Jn({
646
- yValues: i,
647
- centerX: r,
648
- maxWidth: n,
649
- bandwidth: a
650
- });
651
- }
652
- function Wn(e, t) {
653
- if (!e.length) return [];
654
- let n = Nn(t), r = e.map((e) => e.y), i = Kn({
655
- yValues: r,
656
- bandwidth: Z(r)
657
- });
658
- return i.length < 2 ? [] : i.slice(1).map((e, t) => {
659
- let r = i[t], a = Z(r), o = Z(e), s = pe(Math.max(...r) + a * 2.35, G.value.top, G.value.bottom), c = pe(Math.min(...e) - o * 2.35, G.value.top, G.value.bottom);
660
- return {
661
- x: W(n),
662
- y1: W(s),
663
- y2: W(c)
664
- };
665
- });
666
- }
667
- function Gn({ clusterLength: e, totalLength: t, maxWidth: n }) {
668
- let r = (e / t) ** .6, i = e <= 2 ? .72 : 1;
669
- return Math.max(U.value * 2.2, n * pe(r * i, .18, 1));
670
- }
671
- function Z(e) {
672
- let t = e.reduce((e, t) => e + t, 0) / Math.max(1, e.length), n = e.reduce((e, n) => e + (n - t) ** 2, 0) / Math.max(1, e.length), r = Math.sqrt(n), i = e.length < 2 ? Math.max(U.value * 2.6, G.value.height / 48) : U.value * 2.1;
673
- return pe(1.06 * r * e.length ** -.2, i, G.value.height / 5);
674
- }
675
- function Kn({ yValues: e, bandwidth: t }) {
676
- if (e.length < 2) return [e];
677
- let n = [...e].sort((e, t) => e - t), r = Math.max(t * 1.45, U.value * 5), i = [], a = [n[0]];
678
- for (let e = 1; e < n.length; e += 1) Math.abs(n[e] - n[e - 1]) > r ? (i.push(a), a = [n[e]]) : a.push(n[e]);
679
- return i.push(a), qn(i);
680
- }
681
- function qn(e) {
682
- return e.reduce((e, t) => {
683
- let n = e[e.length - 1];
684
- if (!n) return e.push(t), e;
685
- let r = Z(n), i = Z(t);
686
- return Math.max(...n) + r * 2.35 >= Math.min(...t) - i * 2.35 ? n.push(...t) : e.push(t), e;
687
- }, []);
688
- }
689
- function Jn({ yValues: e, centerX: t, maxWidth: n, bandwidth: r }) {
690
- let i = pe(Math.min(...e) - r * 2.35, G.value.top, G.value.bottom), a = pe(Math.max(...e) + r * 2.35, G.value.top, G.value.bottom), o = Math.max(48, Math.min(120, Math.round((a - i) / Math.max(1, r / 4)))), s = Array.from({ length: o }, (t, n) => {
691
- let s = i + (a - i) * n / Math.max(1, o - 1);
692
- return {
693
- y: s,
694
- density: e.reduce((e, t) => {
695
- let n = (s - t) / r;
696
- return e + Math.exp(-.5 * n * n);
697
- }, 0)
698
- };
699
- }), c = Math.max(...s.map((e) => e.density));
700
- if (!c) return "";
701
- let l = s.map((e, t) => {
702
- let r = t === 0 || t === s.length - 1 ? 0 : e.density / c * n;
703
- return {
704
- y: W(e.y),
705
- width: W(r)
706
- };
707
- }), u = l.map((e) => ({
708
- x: W(t - e.width),
709
- y: e.y
710
- })), d = l.slice(0, -1).reverse().map((e) => ({
711
- x: W(t + e.width),
712
- y: e.y
713
- }));
714
- return `${Yn([...u, ...d])} Z`;
715
- }
716
- function Yn(e) {
717
- if (!e.length) return "";
718
- if (e.length === 1) return `M ${e[0].x} ${e[0].y}`;
719
- let t = `M ${e[0].x} ${e[0].y}`;
720
- for (let n = 1; n < e.length - 1; n += 1) {
721
- let r = e[n], i = e[n + 1], a = W((r.x + i.x) / 2), o = W((r.y + i.y) / 2);
722
- t += ` Q ${r.x} ${r.y} ${a} ${o}`;
723
- }
724
- let n = e[e.length - 1];
725
- return `${t} L ${n.x} ${n.y}`;
726
- }
727
- let Xn = p(() => In.value.ticks.map((e) => ({
728
- y: J(e),
729
- x1: G.value.left,
730
- x2: G.value.right,
731
- value: e
732
- }))), Zn = w(null), Q = w(null);
733
- function Qn({ datapoint: e, seriesIndex: t }) {
734
- P.value !== "keyboard" && (M.value = !1, Q.value = null, F.value.events.datapointLeave && F.value.events.datapointLeave({
735
- datapoint: e,
736
- seriesIndex: t
737
- }));
738
- }
739
- function $n({ datapoint: e, seriesIndex: t }) {
740
- Rt("selectDatapoint", e), F.value.events.datapointClick && F.value.events.datapointClick({
741
- datapoint: e,
742
- seriesIndex: t
743
- });
744
- }
745
- function er(e, t = {}) {
746
- return ae(F.value.style.chart.labels.formatter, e, d({
747
- p: F.value.style.chart.labels.prefix,
748
- v: e,
749
- s: F.value.style.chart.labels.suffix,
750
- r: F.value.style.chart.tooltip.roundingValue
751
- }), t);
752
- }
753
- function tr({ datapoint: e, seriesIndex: t, triggerMode: n = "pointer" }) {
754
- F.value.events.datapointEnter && F.value.events.datapointEnter({
755
- datapoint: e,
756
- seriesIndex: t
757
- }), P.value = n, Zn.value = {
758
- datapoint: e,
759
- seriesIndex: t,
760
- config: F.value,
761
- series: K.value
762
- }, M.value = !0, Q.value = e;
763
- let r = F.value.style.chart.tooltip.customFormat;
764
- if (u(r) && oe(() => r({
765
- seriesIndex: t,
766
- datapoint: e,
767
- series: K.value,
768
- config: F.value
769
- }))) Vt.value = r({
770
- seriesIndex: t,
771
- datapoint: e,
772
- series: K.value,
773
- config: F.value
774
- });
775
- else {
776
- let n = "";
777
- n += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${F.value.style.chart.plots.gradient.show ? `url(#${e.parentId})` : e.color}"/></svg>${e.name}</div>`, n += `<div>${er(e.value, {
778
- datapoint: e,
779
- seriesIndex: t
780
- })}</div>`, Vt.value = `<div>${n}</div>`;
781
- }
782
- }
783
- function nr() {
784
- P.value !== "keyboard" && (M.value = !1, Q.value = null);
785
- }
786
- function rr({ boxPlot: e, seriesIndex: t, triggerMode: n = "pointer" }) {
787
- P.value = n, Q.value = null, M.value = !0, Zn.value = {
788
- boxPlot: e,
789
- seriesIndex: t,
790
- config: F.value,
791
- series: K.value
792
- };
793
- let r = F.value.style.chart.tooltip.customFormat;
794
- if (u(r)) try {
795
- let n = {
796
- boxPlot: e,
797
- seriesIndex: t,
798
- series: K.value,
799
- config: F.value
800
- };
801
- if (oe(() => r(n))) {
802
- Vt.value = r(n);
803
- return;
804
- }
805
- } catch {}
806
- let i = [
807
- [F.value.style.chart.violin.tooltipLabels.upperAdjacent, e.upperAdjacent],
808
- [F.value.style.chart.violin.tooltipLabels.q3, e.q3],
809
- [F.value.style.chart.violin.tooltipLabels.median, e.median],
810
- [F.value.style.chart.violin.tooltipLabels.q1, e.q1],
811
- [F.value.style.chart.violin.tooltipLabels.lowerAdjacent, e.lowerAdjacent],
812
- [F.value.style.chart.violin.tooltipLabels.iqr, e.iqr]
813
- ], a = `<svg viewBox="0 0 12 12" height="14" width="14"><rect x="1" y="1" width="10" height="10" rx="2" stroke="none" fill="${e.color}"/></svg>`, o = i.map(([n, r]) => `<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;"><span>${n}</span><b>${er(r, {
814
- boxPlot: e,
815
- seriesIndex: t
816
- })}</b></div>`).join("");
817
- Vt.value = `<div style="min-width:160px;"><div style="display:flex;flex-direction:row;gap:6px;align-items:center;margin-bottom:6px;">${a}${e.name}</div>` + o + `<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;margin-top:6px;"><span>${F.value.style.chart.violin.tooltipLabels.count}</span><b>${e.count}</b></div></div>`;
818
- }
819
- let ir = p(() => ({
820
- head: q.value.flatMap((e) => JSON.parse(JSON.stringify(e.plots)).sort((e, t) => t.value - e.value).map((t) => ({
821
- name: `${e.name} - ${t.name}`,
822
- color: t.color
823
- }))),
824
- body: q.value.flatMap((e) => JSON.parse(JSON.stringify(e.plots)).sort((e, t) => t.value - e.value).map((e) => e.value))
825
- }));
826
- function ar(e = null) {
827
- Be(() => {
828
- let n = [], r = [F.value.table.columnNames.series, F.value.table.columnNames.value];
829
- X.value ? (r = zn.value, n = Rn.value.map((e) => [
830
- [e.name],
831
- [e.lowerAdjacent],
832
- [e.q1],
833
- [e.median],
834
- [e.q3],
835
- [e.upperAdjacent],
836
- [e.iqr],
837
- [e.count]
838
- ])) : n = ir.value.head.map((e, t) => [[e.name], [ir.value.body[t]]]);
839
- let a = [
840
- [F.value.style.chart.title.text],
841
- [F.value.style.chart.title.subtitle.text],
842
- r.map((e) => [e])
843
- ].concat(n), o = i(a);
844
- e ? e(o) : t({
845
- csvContent: o,
846
- title: F.value.style.chart.title.text || "vue-ui-strip-plot"
847
- });
848
- });
849
- }
850
- let or = p(() => {
851
- if (X.value) {
852
- let e = zn.value;
853
- return {
854
- colNames: e,
855
- head: e,
856
- body: Rn.value.map((e) => [
857
- {
858
- color: e.color,
859
- name: e.name
860
- },
861
- Bn(e.lowerAdjacent),
862
- Bn(e.q1),
863
- Bn(e.median),
864
- Bn(e.q3),
865
- Bn(e.upperAdjacent),
866
- Bn(e.iqr),
867
- e.count
868
- ]),
869
- config: {
870
- th: {
871
- backgroundColor: F.value.table.th.backgroundColor,
872
- color: F.value.table.th.color,
873
- outline: F.value.table.th.outline
874
- },
875
- td: {
876
- backgroundColor: F.value.table.td.backgroundColor,
877
- color: F.value.table.td.color,
878
- outline: F.value.table.td.outline
879
- },
880
- breakpoint: F.value.table.responsiveBreakpoint
881
- }
882
- };
883
- }
884
- let e = [F.value.table.columnNames.series, F.value.table.columnNames.value], t = ir.value.head.map((e, t) => {
885
- let n = d({
886
- p: F.value.style.chart.labels.prefix,
887
- v: ir.value.body[t],
888
- s: F.value.style.chart.labels.suffix,
889
- r: F.value.table.td.roundingValue
890
- });
891
- return [{
892
- color: e.color,
893
- name: e.name
894
- }, n];
895
- }), n = {
896
- th: {
897
- backgroundColor: F.value.table.th.backgroundColor,
898
- color: F.value.table.th.color,
899
- outline: F.value.table.th.outline
900
- },
901
- td: {
902
- backgroundColor: F.value.table.td.backgroundColor,
903
- color: F.value.table.td.color,
904
- outline: F.value.table.td.outline
905
- },
906
- breakpoint: F.value.table.responsiveBreakpoint
907
- };
908
- return {
909
- colNames: [F.value.table.columnNames.series, F.value.table.columnNames.value],
910
- head: e,
911
- body: t,
912
- config: n
913
- };
914
- }), $ = w(!1);
915
- function sr(e) {
916
- $.value = e, Bt.value += 1;
917
- }
918
- function cr() {
919
- return q.value;
920
- }
921
- function lr() {
922
- H.value.showTable = !H.value.showTable;
923
- }
924
- function ur() {
925
- H.value.dataLabels.show = !H.value.dataLabels.show;
926
- }
927
- function dr() {
928
- H.value.showTooltip = !H.value.showTooltip;
929
- }
930
- let fr = w(!1);
931
- function pr() {
932
- fr.value = !fr.value;
933
- }
934
- async function mr({ scale: e = 2 } = {}) {
935
- if (!N.value) return;
936
- let { width: t, height: n } = N.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Te({
937
- domElement: N.value,
938
- base64: !0,
939
- img: !0,
940
- scale: e
941
- });
942
- return {
943
- imageUri: i,
944
- base64: a,
945
- title: F.value.style.chart.title.text,
946
- width: t,
947
- height: n,
948
- aspectRatio: r
949
- };
950
- }
951
- let hr = p(() => q.value.map((e) => e.name)), gr = w({
952
- start: 0,
953
- end: q.value.length
954
- });
955
- we({
956
- timeLabelsEls: Qt,
957
- timeLabels: hr,
958
- slicer: gr,
959
- configRef: F,
960
- rotationPath: [
961
- "style",
962
- "chart",
963
- "labels",
964
- "xAxisLabels",
965
- "rotation"
966
- ],
967
- autoRotatePath: [
968
- "style",
969
- "chart",
970
- "labels",
971
- "xAxisLabels",
972
- "autoRotate",
973
- "enable"
974
- ],
975
- isAutoSize: !1,
976
- width: B,
977
- height: V,
978
- targetClass: ".vue-ui-strip-plot-category-name",
979
- rotation: F.value.style.chart.labels.xAxisLabels.autoRotate.angle
980
- });
981
- let _r = p(() => {
982
- let e = F.value.table.useDialog && !F.value.table.show, t = H.value.showTable;
983
- return {
984
- component: e ? Nt : Ot,
985
- title: `${F.value.style.chart.title.text}${F.value.style.chart.title.subtitle.text ? `: ${F.value.style.chart.title.subtitle.text}` : ""}`,
986
- props: e ? {
987
- backgroundColor: F.value.table.th.backgroundColor,
988
- color: F.value.table.th.color,
989
- headerColor: F.value.table.th.color,
990
- headerBg: F.value.table.th.backgroundColor,
991
- isFullscreen: $.value,
992
- fullscreenParent: N.value,
993
- forcedWidth: Math.min(800, window.innerWidth * .8),
994
- isCursorPointer: I.value
995
- } : {
996
- hideDetails: !0,
997
- config: {
998
- open: t,
999
- maxHeight: 1e4,
1000
- body: {
1001
- backgroundColor: F.value.style.chart.backgroundColor,
1002
- color: F.value.style.chart.color
1003
- },
1004
- head: {
1005
- backgroundColor: F.value.style.chart.backgroundColor,
1006
- color: F.value.style.chart.color
1007
- }
1008
- }
1009
- }
1010
- };
1011
- });
1012
- Ke(() => H.value.showTable, (e) => {
1013
- F.value.table.show || (e && F.value.table.useDialog && Jt.value ? Jt.value.open() : "close" in Jt.value && Jt.value.close());
1014
- });
1015
- function vr() {
1016
- H.value.showTable = !1, Yt.value && Yt.value.setTableIconState(!1);
1017
- }
1018
- let yr = p(() => F.value.style.chart.backgroundColor), br = p(() => F.value.style.chart.title), { isCallbackImaging: xr, isCallbackSvg: Sr, generateSvg: Cr, onGenerateImage: wr } = Se({
1019
- svg: L,
1020
- title: br,
1021
- legend: null,
1022
- legendItems: null,
1023
- backgroundColor: yr,
1024
- getSvgCallback: () => F.value.userOptions.callbacks.svg,
1025
- generateImage: xn
1026
- });
1027
- async function Tr() {
1028
- if (Rt("copyAlt", {
1029
- config: F.value,
1030
- dataset: Y.value
1031
- }), !F.value.userOptions.callbacks.altCopy) {
1032
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1033
- return;
1034
- }
1035
- await Promise.resolve(F.value.userOptions.callbacks.altCopy({
1036
- config: F.value,
1037
- dataset: Y.value
1038
- }));
1039
- }
1040
- function Er() {
1041
- return Y.value.length;
1042
- }
1043
- function Dr(e) {
1044
- return Y.value[e]?.plots ?? [];
1045
- }
1046
- function Or(e = en.value, t = tn.value) {
1047
- return !Number.isInteger(e) || !Number.isInteger(t) ? null : Dr(e)[t] ?? null;
1048
- }
1049
- function kr() {
1050
- en.value = null, tn.value = null, P.value = "pointer", M.value = !1, Q.value = null;
1051
- }
1052
- function Ar(e) {
1053
- if (!e || !L.value) return;
1054
- let t = L.value.getBoundingClientRect();
1055
- nn.value = {
1056
- x: t.left + e.x / B.value * t.width,
1057
- y: t.top + e.y / V.value * t.height
1058
- };
1059
- }
1060
- function jr(e, t) {
1061
- let n = Or(e, t);
1062
- n && (en.value = e, tn.value = t, P.value = "keyboard", Ar(n), tr({
1063
- datapoint: n,
1064
- seriesIndex: e,
1065
- triggerMode: "keyboard"
1066
- }));
1067
- }
1068
- function Mr() {
1069
- rn.value = !0, en.value = null, tn.value = null;
1070
- }
1071
- function Nr() {
1072
- rn.value = !1, kr();
1073
- }
1074
- function Pr(e) {
1075
- if (!L.value || fr.value || document.activeElement !== L.value || !Er()) return;
1076
- let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "ArrowUp", i = e.key === "ArrowDown", a = e.key === "Enter" || e.key === " ", o = e.key === "Escape";
1077
- if (!t && !n && !r && !i && !a && !o) return;
1078
- if (e.preventDefault(), e.stopPropagation(), o) {
1079
- kr();
1080
- return;
1081
- }
1082
- let s = en.value, c = tn.value;
1083
- if (s === null || c === null) s = 0, c = 0;
1084
- else if (t || n) {
1085
- let e = Er();
1086
- s = n ? (s + 1) % e : (s - 1 + e) % e;
1087
- let t = Dr(s);
1088
- if (!t.length) return;
1089
- c = Math.min(c, t.length - 1);
1090
- } else if (r || i) {
1091
- let e = Dr(s);
1092
- if (!e.length) return;
1093
- c = r ? (c + 1) % e.length : (c - 1 + e.length) % e.length;
1094
- }
1095
- if (a) {
1096
- let e = Or();
1097
- if (!e) return;
1098
- $n({
1099
- datapoint: e,
1100
- seriesIndex: en.value
1101
- });
1102
- return;
1103
- }
1104
- jr(s, c);
1105
- }
1106
- let Fr = p(() => ({
1107
- headers: or.value?.colNames ?? [],
1108
- rows: or.value?.body?.map((e) => e.map((e) => e && typeof e == "object" && "name" in e ? e.name : e)) ?? []
1109
- }));
1110
- return Oe({
1111
- getData: cr,
1112
- getImage: mr,
1113
- generatePdf: bn,
1114
- generateCsv: ar,
1115
- generateImage: xn,
1116
- generateSvg: Cr,
1117
- toggleTable: lr,
1118
- toggleLabels: ur,
1119
- toggleTooltip: dr,
1120
- toggleAnnotator: pr,
1121
- toggleFullscreen: sr,
1122
- copyAlt: Tr
1123
- }), (e, t) => (C(), g("div", {
1124
- ref_key: "stripPlotChart",
1125
- ref: N,
1126
- class: b(`vue-data-ui-component vue-ui-strip-plot ${$.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${F.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1127
- style: S(`font-family:${F.value.style.fontFamily};width:100%; text-align:center;background:${F.value.style.chart.backgroundColor};${F.value.responsive ? "height:100%" : ""}`),
1128
- id: `strip-plot_${j.value}`,
1129
- onMouseenter: t[2] ||= () => O(fn)(!0),
1130
- onMouseleave: t[3] ||= () => O(fn)(!1)
1131
- }, [
1132
- _("div", {
1133
- id: `chart-instructions-${j.value}`,
1134
- class: "sr-only"
1135
- }, [_("p", null, D(F.value.a11y.translations.keyboardNavigation), 1)], 8, Xe),
1136
- Fr.value?.rows?.length ? (C(), m(Me, {
1137
- key: 0,
1138
- uid: j.value,
1139
- head: Fr.value.headers,
1140
- body: Fr.value.rows,
1141
- notice: F.value.a11y.translations.tableAvailable,
1142
- caption: F.value.a11y.translations.tableCaption
1143
- }, null, 8, [
1144
- "uid",
1145
- "head",
1146
- "body",
1147
- "notice",
1148
- "caption"
1149
- ])) : h("", !0),
1150
- F.value.userOptions.buttons.annotator ? (C(), m(O(jt), {
1151
- key: 1,
1152
- svgRef: O(L),
1153
- backgroundColor: F.value.style.chart.backgroundColor,
1154
- color: F.value.style.chart.color,
1155
- active: fr.value,
1156
- isCursorPointer: I.value,
1157
- onClose: pr
1158
- }, {
1159
- "annotator-action-close": k(() => [E(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1160
- "annotator-action-color": k(({ color: t }) => [E(e.$slots, "annotator-action-color", x(y({ color: t })), void 0, !0)]),
1161
- "annotator-action-draw": k(({ mode: t }) => [E(e.$slots, "annotator-action-draw", x(y({ mode: t })), void 0, !0)]),
1162
- "annotator-action-undo": k(({ disabled: t }) => [E(e.$slots, "annotator-action-undo", x(y({ disabled: t })), void 0, !0)]),
1163
- "annotator-action-redo": k(({ disabled: t }) => [E(e.$slots, "annotator-action-redo", x(y({ disabled: t })), void 0, !0)]),
1164
- "annotator-action-delete": k(({ disabled: t }) => [E(e.$slots, "annotator-action-delete", x(y({ disabled: t })), void 0, !0)]),
1165
- _: 3
1166
- }, 8, [
1167
- "svgRef",
1168
- "backgroundColor",
1169
- "color",
1170
- "active",
1171
- "isCursorPointer"
1172
- ])) : h("", !0),
1173
- Sn.value ? (C(), g("div", {
1174
- key: 2,
1175
- ref_key: "noTitle",
1176
- ref: Wt,
1177
- class: "vue-data-ui-no-title-space",
1178
- style: "height:36px; width: 100%;background:transparent"
1179
- }, null, 512)) : h("", !0),
1180
- F.value.style.chart.title.text ? (C(), g("div", {
1181
- key: 3,
1182
- ref_key: "chartTitle",
1183
- ref: Ht,
1184
- style: "width:100%;background:transparent;padding-bottom:24px"
1185
- }, [(C(), m(Ee, {
1186
- key: `title_${Kt.value}`,
1187
- config: {
1188
- title: {
1189
- cy: "donut-div-title",
1190
- ...F.value.style.chart.title
1191
- },
1192
- subtitle: {
1193
- cy: "donut-div-subtitle",
1194
- ...F.value.style.chart.title.subtitle
1195
- }
1196
- }
1197
- }, null, 8, ["config"]))], 512)) : h("", !0),
1198
- F.value.userOptions.show && zt.value && (O(pn) || O(dn)) ? (C(), m(O(At), {
1199
- ref_key: "userOptionsRef",
1200
- ref: Yt,
1201
- key: `user_option_${Bt.value}`,
1202
- backgroundColor: F.value.style.chart.backgroundColor,
1203
- color: F.value.style.chart.color,
1204
- isPrinting: O(vn),
1205
- isImaging: O(yn),
1206
- uid: j.value,
1207
- hasTooltip: F.value.userOptions.buttons.tooltip && F.value.style.chart.tooltip.show,
1208
- hasPdf: F.value.userOptions.buttons.pdf,
1209
- hasXls: F.value.userOptions.buttons.csv,
1210
- hasImg: F.value.userOptions.buttons.img,
1211
- hasSvg: F.value.userOptions.buttons.svg,
1212
- hasTable: F.value.userOptions.buttons.table,
1213
- hasLabel: F.value.userOptions.buttons.labels && F.value.type !== "violin",
1214
- hasFullscreen: F.value.userOptions.buttons.fullscreen,
1215
- hasAltCopy: F.value.userOptions.buttons.altCopy,
1216
- isTooltip: H.value.showTooltip,
1217
- isFullscreen: $.value,
1218
- titles: { ...F.value.userOptions.buttonTitles },
1219
- chartElement: N.value,
1220
- position: F.value.userOptions.position,
1221
- hasAnnotator: F.value.userOptions.buttons.annotator,
1222
- isAnnotation: fr.value,
1223
- callbacks: F.value.userOptions.callbacks,
1224
- printScale: F.value.userOptions.print.scale,
1225
- tableDialog: F.value.table.useDialog,
1226
- isCursorPointer: I.value,
1227
- onToggleFullscreen: sr,
1228
- onGeneratePdf: O(bn),
1229
- onGenerateCsv: ar,
1230
- onGenerateImage: O(wr),
1231
- onGenerateSvg: O(Cr),
1232
- onToggleTable: lr,
1233
- onToggleLabels: ur,
1234
- onToggleTooltip: dr,
1235
- onToggleAnnotator: pr,
1236
- onCopyAlt: Tr,
1237
- style: S({ visibility: O(pn) ? O(dn) ? "visible" : "hidden" : "visible" })
1238
- }, Ie({ _: 2 }, [
1239
- e.$slots.menuIcon ? {
1240
- name: "menuIcon",
1241
- fn: k(({ isOpen: t, color: n }) => [E(e.$slots, "menuIcon", x(y({
1242
- isOpen: t,
1243
- color: n
1244
- })), void 0, !0)]),
1245
- key: "0"
1246
- } : void 0,
1247
- e.$slots.optionTooltip ? {
1248
- name: "optionTooltip",
1249
- fn: k(() => [E(e.$slots, "optionTooltip", {}, void 0, !0)]),
1250
- key: "1"
1251
- } : void 0,
1252
- e.$slots.optionPdf ? {
1253
- name: "optionPdf",
1254
- fn: k(() => [E(e.$slots, "optionPdf", {}, void 0, !0)]),
1255
- key: "2"
1256
- } : void 0,
1257
- e.$slots.optionCsv ? {
1258
- name: "optionCsv",
1259
- fn: k(() => [E(e.$slots, "optionCsv", {}, void 0, !0)]),
1260
- key: "3"
1261
- } : void 0,
1262
- e.$slots.optionImg ? {
1263
- name: "optionImg",
1264
- fn: k(() => [E(e.$slots, "optionImg", {}, void 0, !0)]),
1265
- key: "4"
1266
- } : void 0,
1267
- e.$slots.optionSvg ? {
1268
- name: "optionSvg",
1269
- fn: k(() => [E(e.$slots, "optionSvg", {}, void 0, !0)]),
1270
- key: "5"
1271
- } : void 0,
1272
- e.$slots.optionTable ? {
1273
- name: "optionTable",
1274
- fn: k(() => [E(e.$slots, "optionTable", {}, void 0, !0)]),
1275
- key: "6"
1276
- } : void 0,
1277
- e.$slots.optionLabels ? {
1278
- name: "optionLabels",
1279
- fn: k(() => [E(e.$slots, "optionLabels", {}, void 0, !0)]),
1280
- key: "7"
1281
- } : void 0,
1282
- e.$slots.optionFullscreen ? {
1283
- name: "optionFullscreen",
1284
- fn: k(({ toggleFullscreen: t, isFullscreen: n }) => [E(e.$slots, "optionFullscreen", x(y({
1285
- toggleFullscreen: t,
1286
- isFullscreen: n
1287
- })), void 0, !0)]),
1288
- key: "8"
1289
- } : void 0,
1290
- e.$slots.optionAnnotator ? {
1291
- name: "optionAnnotator",
1292
- fn: k(({ toggleAnnotator: t, isAnnotator: n }) => [E(e.$slots, "optionAnnotator", x(y({
1293
- toggleAnnotator: t,
1294
- isAnnotator: n
1295
- })), void 0, !0)]),
1296
- key: "9"
1297
- } : void 0,
1298
- e.$slots.optionAltCopy ? {
1299
- name: "optionAltCopy",
1300
- fn: k(({ altCopy: t }) => [E(e.$slots, "optionAltCopy", x(y({ altCopy: t })), void 0, !0)]),
1301
- key: "10"
1302
- } : void 0,
1303
- e.$slots["custom-menu-before"] ? {
1304
- name: "custom-menu-before",
1305
- fn: k(() => [E(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1306
- key: "11"
1307
- } : void 0,
1308
- e.$slots["custom-menu-after"] ? {
1309
- name: "custom-menu-after",
1310
- fn: k(() => [E(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1311
- key: "12"
1312
- } : void 0
1313
- ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : h("", !0),
1314
- _("div", Ze, [(C(), g("svg", {
1315
- ref_key: "svgRef",
1316
- ref: L,
1317
- xmlns: O(ue),
1318
- class: b({
1319
- "vue-data-ui-fullscreen--on": $.value,
1320
- "vue-data-ui-fulscreen--off": !$.value,
1321
- "vue-data-ui-no-transition": !O(an)
1322
- }),
1323
- viewBox: `0 0 ${B.value} ${V.value}`,
1324
- style: S(`max-width:100%; overflow: visible; background:transparent;color:${F.value.style.chart.color};`),
1325
- "aria-describedby": `chart-instructions-${j.value}`,
1326
- tabindex: "0",
1327
- onFocus: Mr,
1328
- onBlur: Nr,
1329
- onKeydown: Pr
1330
- }, [
1331
- Re(O(Mt)),
1332
- e.$slots["chart-background"] ? (C(), g("foreignObject", {
1333
- key: 0,
1334
- x: G.value.left,
1335
- y: G.value.top,
1336
- width: Math.max(.1, G.value.width),
1337
- height: Math.max(.1, G.value.height),
1338
- style: { pointerEvents: "none" }
1339
- }, [E(e.$slots, "chart-background", {}, void 0, !0)], 8, $e)) : h("", !0),
1340
- F.value.style.chart.grid.show ? (C(), g("g", et, [
1341
- F.value.style.chart.grid.horizontalGrid.show ? (C(), g("g", tt, [(C(!0), g(f, null, T(Xn.value, (e) => (C(), g("line", {
1342
- x1: e.x1,
1343
- x2: e.x2,
1344
- y1: e.y,
1345
- y2: e.y,
1346
- stroke: F.value.style.chart.grid.horizontalGrid.stroke,
1347
- "stroke-width": F.value.style.chart.grid.horizontalGrid.strokeWidth,
1348
- "stroke-dasharray": F.value.style.chart.grid.horizontalGrid.strokeDasharray,
1349
- "stroke-linecap": "round"
1350
- }, null, 8, nt))), 256))])) : h("", !0),
1351
- F.value.style.chart.grid.verticalGrid.show ? (C(), g("g", rt, [(C(!0), g(f, null, T(q.value, (e, t) => (C(), g("line", {
1352
- x1: G.value.left + (t + 1) * G.value.stripWidth,
1353
- x2: G.value.left + (t + 1) * G.value.stripWidth,
1354
- y1: G.value.top,
1355
- y2: G.value.bottom,
1356
- stroke: F.value.style.chart.grid.verticalGrid.stroke,
1357
- "stroke-width": F.value.style.chart.grid.verticalGrid.strokeWidth,
1358
- "stroke-dasharray": F.value.style.chart.grid.verticalGrid.strokeDasharray,
1359
- "stroke-linecap": "round"
1360
- }, null, 8, it))), 256))])) : h("", !0),
1361
- _("line", {
1362
- x1: G.value.left,
1363
- x2: G.value.left,
1364
- y1: G.value.top,
1365
- y2: G.value.bottom,
1366
- stroke: F.value.style.chart.grid.stroke,
1367
- "stroke-width": F.value.style.chart.grid.strokeWidth,
1368
- "stroke-linecap": "round"
1369
- }, null, 8, at),
1370
- _("line", {
1371
- x1: G.value.left,
1372
- x2: G.value.right,
1373
- y1: G.value.bottom,
1374
- y2: G.value.bottom,
1375
- stroke: F.value.style.chart.grid.stroke,
1376
- "stroke-width": F.value.style.chart.grid.strokeWidth,
1377
- "stroke-linecap": "round"
1378
- }, null, 8, ot)
1379
- ])) : h("", !0),
1380
- F.value.style.chart.labels.yAxisLabels.show ? (C(), g("g", {
1381
- key: 2,
1382
- ref_key: "scaleLabels",
1383
- ref: $t
1384
- }, [(C(!0), g(f, null, T(Xn.value, (e, t) => (C(), g("text", {
1385
- class: b({ "vue-data-ui-transition": O(an) }),
1386
- key: `sl_${t}`,
1387
- transform: `translate(${e.x1 + F.value.style.chart.labels.yAxisLabels.offsetX - 5}, ${e.y + F.value.style.chart.labels.yAxisLabels.fontSize / 3})`,
1388
- fill: F.value.style.chart.labels.yAxisLabels.color,
1389
- "font-size": F.value.style.chart.labels.yAxisLabels.fontSize,
1390
- "text-anchor": "end"
1391
- }, D(O(ae)(F.value.style.chart.labels.formatter, e.value, O(d)({
1392
- p: F.value.style.chart.labels.prefix,
1393
- v: e.value,
1394
- s: F.value.style.chart.labels.suffix,
1395
- r: F.value.style.chart.labels.yAxisLabels.rounding
1396
- }), {
1397
- datapoint: e,
1398
- seriesIndex: t
1399
- })), 11, st))), 128))], 512)) : h("", !0),
1400
- F.value.style.chart.labels.xAxisLabels.show ? (C(), g("g", {
1401
- key: 3,
1402
- ref_key: "timeLabelsEls",
1403
- ref: Qt
1404
- }, [(C(!0), g(f, null, T(hr.value, (e, t) => (C(), g("g", null, [String(e).includes("\n") ? (C(), g("text", {
1405
- key: 1,
1406
- class: "vue-ui-strip-plot-category-name",
1407
- transform: `translate(${G.value.left + (t + 1) * G.value.stripWidth - G.value.stripWidth / 2}, ${G.value.bottom + F.value.style.chart.labels.xAxisLabels.fontSize * 2 + F.value.style.chart.labels.xAxisLabels.offsetY}), rotate(${F.value.style.chart.labels.xAxisLabels.rotation})`,
1408
- "font-size": F.value.style.chart.labels.xAxisLabels.fontSize,
1409
- fill: F.value.style.chart.labels.xAxisLabels.color,
1410
- "text-anchor": F.value.style.chart.labels.xAxisLabels.rotation > 0 ? "start" : F.value.style.chart.labels.xAxisLabels.rotation < 0 ? "end" : "middle",
1411
- innerHTML: O(a)({
1412
- content: O(n)(String(e)),
1413
- fontSize: F.value.style.chart.labels.xAxisLabels.fontSize,
1414
- fill: F.value.style.chart.labels.xAxisLabels.color,
1415
- x: 0,
1416
- y: 0
1417
- })
1418
- }, null, 8, lt)) : (C(), g("text", {
1419
- key: 0,
1420
- class: "vue-ui-strip-plot-category-name",
1421
- transform: `translate(${G.value.left + (t + 1) * G.value.stripWidth - G.value.stripWidth / 2}, ${G.value.bottom + F.value.style.chart.labels.xAxisLabels.fontSize * 2 + F.value.style.chart.labels.xAxisLabels.offsetY}), rotate(${F.value.style.chart.labels.xAxisLabels.rotation})`,
1422
- "font-size": F.value.style.chart.labels.xAxisLabels.fontSize,
1423
- fill: F.value.style.chart.labels.xAxisLabels.color,
1424
- "text-anchor": F.value.style.chart.labels.xAxisLabels.rotation > 0 ? "start" : F.value.style.chart.labels.xAxisLabels.rotation < 0 ? "end" : "middle"
1425
- }, D(String(e)), 9, ct))]))), 256))], 512)) : h("", !0),
1426
- F.value.style.chart.labels.axis.yLabel ? (C(), g("text", {
1427
- key: 4,
1428
- ref_key: "yAxisLabel",
1429
- ref: Zt,
1430
- fill: F.value.style.chart.labels.axis.color,
1431
- "font-size": F.value.style.chart.labels.axis.fontSize,
1432
- transform: `translate(${F.value.style.chart.labels.axis.fontSize}, ${G.value.top + G.value.height / 2}) rotate(-90)`,
1433
- "text-anchor": "middle"
1434
- }, D(F.value.style.chart.labels.axis.yLabel), 9, ut)) : h("", !0),
1435
- F.value.style.chart.labels.axis.xLabel ? (C(), g("text", {
1436
- key: 5,
1437
- ref_key: "xAxisLabel",
1438
- ref: Xt,
1439
- fill: F.value.style.chart.labels.axis.color,
1440
- "font-size": F.value.style.chart.labels.axis.fontSize,
1441
- x: G.value.left + G.value.width / 2,
1442
- y: V.value - F.value.style.chart.labels.axis.fontSize / 3,
1443
- "text-anchor": "middle"
1444
- }, D(F.value.style.chart.labels.axis.xLabel), 9, dt)) : h("", !0),
1445
- Q.value ? (C(), g(f, { key: 6 }, [
1446
- _("line", {
1447
- x1: G.value.left,
1448
- x2: G.value.right,
1449
- y1: Q.value.y,
1450
- y2: Q.value.y,
1451
- stroke: Q.value.color,
1452
- "stroke-width": 1,
1453
- class: b({ "select-circle": F.value.useCssAnimation })
1454
- }, null, 10, ft),
1455
- _("circle", {
1456
- cx: G.value.left,
1457
- cy: Q.value.y,
1458
- r: 3,
1459
- fill: Q.value.color,
1460
- class: b({ "select-circle": F.value.useCssAnimation })
1461
- }, null, 10, pt),
1462
- _("circle", {
1463
- cx: G.value.right,
1464
- cy: Q.value.y,
1465
- r: 3,
1466
- fill: Q.value.color,
1467
- class: b({ "select-circle": F.value.useCssAnimation })
1468
- }, null, 10, mt)
1469
- ], 64)) : h("", !0),
1470
- _("defs", null, [(C(!0), g(f, null, T(q.value, (e) => (C(), m(je, {
1471
- t: "radial",
1472
- id: e.id,
1473
- key: `r_${e.id}`,
1474
- fy: "30%",
1475
- stops: [
1476
- [
1477
- "10%",
1478
- O(r)(e.color, F.value.style.chart.plots.gradient.intensity / 100),
1479
- 1
1480
- ],
1481
- [
1482
- "90%",
1483
- O(te)(e.color, .1),
1484
- 1
1485
- ],
1486
- [
1487
- "100%",
1488
- e.color,
1489
- 1
1490
- ]
1491
- ]
1492
- }, null, 8, ["id", "stops"]))), 128))]),
1493
- (C(!0), g(f, null, T(Hn.value, (e, n) => (C(), g(f, { key: e.id }, [e.path ? (C(), g("path", {
1494
- key: 0,
1495
- d: e.path,
1496
- fill: e.fill,
1497
- stroke: e.color,
1498
- "fill-opacity": F.value.style.chart.violin.opacity,
1499
- "stroke-opacity": F.value.style.chart.violin.strokeOpacity,
1500
- "stroke-width": F.value.style.chart.violin.strokeWidth,
1501
- style: S({
1502
- pointerEvents: X.value ? "auto" : "none",
1503
- cursor: X.value && I.value ? "pointer" : "default"
1504
- }),
1505
- onMouseenter: (e) => X.value && Rn.value[n] && rr({
1506
- boxPlot: Rn.value[n],
1507
- seriesIndex: n,
1508
- triggerMode: "pointer"
1509
- }),
1510
- onMouseleave: t[0] ||= (e) => X.value && nr()
1511
- }, null, 44, ht)) : h("", !0), (C(!0), g(f, null, T(e.connectors, (t, n) => (C(), g("line", {
1512
- key: `violin_connector_${e.id}_${n}`,
1513
- x1: t.x,
1514
- x2: t.x,
1515
- y1: t.y1,
1516
- y2: t.y2,
1517
- stroke: e.color,
1518
- "stroke-opacity": F.value.style.chart.violin.strokeOpacity,
1519
- "stroke-width": F.value.style.chart.violin.strokeWidth,
1520
- "stroke-linecap": "round",
1521
- style: { "pointer-events": "none" }
1522
- }, null, 8, gt))), 128))], 64))), 128)),
1523
- (C(!0), g(f, null, T(Rn.value, (e, t) => (C(), g("g", {
1524
- key: `boxplot_${e.id}`,
1525
- style: S({ cursor: I.value ? "pointer" : "default" }),
1526
- onMouseenter: (n) => rr({
1527
- boxPlot: e,
1528
- seriesIndex: t,
1529
- triggerMode: "pointer"
1530
- }),
1531
- onMouseleave: nr
1532
- }, [
1533
- _("line", {
1534
- x1: e.centerX,
1535
- x2: e.centerX,
1536
- y1: e.upperY,
1537
- y2: e.lowerY,
1538
- stroke: O(te)(e.boxPlotColor, .2),
1539
- "stroke-width": Math.max(1, F.value.style.chart.violin.strokeWidth),
1540
- "stroke-linecap": "round"
1541
- }, null, 8, vt),
1542
- _("rect", {
1543
- x: e.boxLeft,
1544
- y: Math.min(e.q1Y, e.q3Y),
1545
- width: e.boxWidth,
1546
- height: Math.max(1, Math.abs(e.q3Y - e.q1Y)),
1547
- fill: e.boxPlotColor,
1548
- stroke: O(te)(e.boxPlotColor, .2),
1549
- "stroke-width": Math.max(1, F.value.style.chart.violin.strokeWidth),
1550
- rx: e.boxWidth / 20
1551
- }, null, 8, yt),
1552
- _("circle", {
1553
- cx: e.boxLeft + e.boxWidth / 2,
1554
- cy: e.medianY,
1555
- r: e.boxWidth / 3 * Math.min(1, F.value.style.chart.violin.boxPlot.medianCircleRadiusRatio),
1556
- fill: F.value.style.chart.violin.boxPlot.medianCircleFill,
1557
- stroke: O(te)(e.boxPlotColor, .2)
1558
- }, null, 8, bt)
1559
- ], 44, _t))), 128)),
1560
- (C(!0), g(f, null, T(Y.value, (t, n) => (C(), g(f, null, [X.value ? h("", !0) : (C(!0), g(f, { key: 0 }, T(t.plots, (n, r) => (C(), m(De, ze({ ref_for: !0 }, e.$attrs, {
1561
- plot: {
1562
- x: n.x,
1563
- y: Gt.value ? n.y : G.value.top
1564
- },
1565
- radius: Q.value && Q.value.id === n.id ? U.value * 1.5 : U.value,
1566
- shape: F.value.style.chart.plots.shape,
1567
- stroke: F.value.style.chart.plots.stroke,
1568
- strokeWidth: F.value.style.chart.plots.strokeWidth,
1569
- color: F.value.style.chart.plots.gradient.show ? `url(#${t.id})` : t.color,
1570
- style: `transition: all 0.2s ease-in-out; opacity:${Q.value ? Q.value.id === n.id ? 1 : .2 : F.value.style.chart.plots.opacity};${wn.value ? `transition-delay:${r * 50}ms` : ""}`,
1571
- class: {
1572
- "vue-ui-strip-plot-animated": F.value.useCssAnimation && wn.value && !O(cn),
1573
- "vue-ui-strip-plot-select-circle": F.value.useCssAnimation && !wn.value
1574
- },
1575
- onMouseenter: (e) => tr({
1576
- datapoint: n,
1577
- seriesIndex: r,
1578
- triggerMode: "pointer"
1579
- }),
1580
- onMouseleave: (e) => Qn({
1581
- datapoint: n,
1582
- seriesIndex: r
1583
- }),
1584
- onClick: (e) => $n({
1585
- datapoint: n,
1586
- seriesIndex: r
1587
- })
1588
- }), null, 16, [
1589
- "plot",
1590
- "radius",
1591
- "shape",
1592
- "stroke",
1593
- "strokeWidth",
1594
- "color",
1595
- "style",
1596
- "class",
1597
- "onMouseenter",
1598
- "onMouseleave",
1599
- "onClick"
1600
- ]))), 256)), H.value.dataLabels.show && !X.value ? (C(), g("g", xt, [(C(!0), g(f, null, T(t.plots, (e, n) => (C(), g(f, null, [n === t.plots.length - 1 || Q.value && Q.value.id === e.id && !H.value.showTooltip ? (C(), g("text", {
1601
- key: 0,
1602
- x: e.x,
1603
- y: e.y + F.value.style.chart.labels.bestPlotLabel.offsetY - U.value * (Q.value && Q.value.id === e.id && !H.value.showTooltip ? 2 : 1.5),
1604
- "font-size": F.value.style.chart.labels.bestPlotLabel.fontSize,
1605
- fill: F.value.style.chart.labels.bestPlotLabel.color,
1606
- "text-anchor": "middle",
1607
- style: S(`opacity:${F.value.useCssAnimation ? +!wn.value : 1};transition:opacity 0.2s ease-in;`)
1608
- }, D(e.name) + " " + D(F.value.style.chart.labels.bestPlotLabel.showValue ? O(ae)(F.value.style.chart.labels.formatter, e.value, O(d)({
1609
- p: `(${F.value.style.chart.labels.prefix}`,
1610
- v: e.value,
1611
- s: `${F.value.style.chart.labels.suffix})`,
1612
- r: F.value.style.chart.labels.bestPlotLabel.rounding
1613
- }), {
1614
- datapoint: e,
1615
- seriesIndex: n
1616
- }) : ""), 13, St)) : h("", !0)], 64))), 256))])) : h("", !0)], 64))), 256)),
1617
- E(e.$slots, "svg", { svg: {
1618
- ...G.value,
1619
- isPrintingImg: O(vn) || O(yn) || O(xr),
1620
- isPrintingSvg: O(Sr),
1621
- boxPlotSummaries: Rn.value,
1622
- series: q.value
1623
- } }, void 0, !0)
1624
- ], 46, Qe)), e.$slots.hint ? (C(), g("div", Ct, [E(e.$slots, "hint", x(y({
1625
- hint: F.value.a11y.translations.keyboardNavigation,
1626
- isVisible: rn.value
1627
- })), void 0, !0)])) : h("", !0)]),
1628
- e.$slots.watermark ? (C(), g("div", wt, [E(e.$slots, "watermark", x(y({ isPrinting: O(vn) || O(yn) || O(xr) || O(Sr) })), void 0, !0)])) : h("", !0),
1629
- e.$slots.source ? (C(), g("div", {
1630
- key: 6,
1631
- ref_key: "source",
1632
- ref: Ut,
1633
- dir: "auto"
1634
- }, [E(e.$slots, "source", {}, void 0, !0)], 512)) : h("", !0),
1635
- Re(O(Et), {
1636
- teleportTo: F.value.style.chart.tooltip.teleportTo,
1637
- show: H.value.showTooltip && M.value,
1638
- backgroundColor: F.value.style.chart.tooltip.backgroundColor,
1639
- color: F.value.style.chart.tooltip.color,
1640
- borderRadius: F.value.style.chart.tooltip.borderRadius,
1641
- borderColor: F.value.style.chart.tooltip.borderColor,
1642
- borderWidth: F.value.style.chart.tooltip.borderWidth,
1643
- fontSize: F.value.style.chart.tooltip.fontSize,
1644
- backgroundOpacity: F.value.style.chart.tooltip.backgroundOpacity,
1645
- position: F.value.style.chart.tooltip.position,
1646
- offsetX: F.value.style.chart.tooltip.offsetX,
1647
- offsetY: F.value.style.chart.tooltip.offsetY,
1648
- parent: N.value,
1649
- content: Vt.value,
1650
- isFullscreen: $.value,
1651
- isCustom: O(u)(F.value.style.chart.tooltip.customFormat),
1652
- smooth: F.value.style.chart.tooltip.smooth,
1653
- backdropFilter: F.value.style.chart.tooltip.backdropFilter,
1654
- smoothForce: F.value.style.chart.tooltip.smoothForce,
1655
- smoothSnapThreshold: F.value.style.chart.tooltip.smoothSnapThreshold,
1656
- isA11yMode: P.value === "keyboard",
1657
- a11yPosition: nn.value
1658
- }, {
1659
- "tooltip-before": k(() => [E(e.$slots, "tooltip-before", x(y({ ...Zn.value })), void 0, !0)]),
1660
- tooltip: k(() => [E(e.$slots, "tooltip", x(y({ ...Zn.value })), void 0, !0)]),
1661
- "tooltip-after": k(() => [E(e.$slots, "tooltip-after", x(y({ ...Zn.value })), void 0, !0)]),
1662
- _: 3
1663
- }, 8, [
1664
- "teleportTo",
1665
- "show",
1666
- "backgroundColor",
1667
- "color",
1668
- "borderRadius",
1669
- "borderColor",
1670
- "borderWidth",
1671
- "fontSize",
1672
- "backgroundOpacity",
1673
- "position",
1674
- "offsetX",
1675
- "offsetY",
1676
- "parent",
1677
- "content",
1678
- "isFullscreen",
1679
- "isCustom",
1680
- "smooth",
1681
- "backdropFilter",
1682
- "smoothForce",
1683
- "smoothSnapThreshold",
1684
- "isA11yMode",
1685
- "a11yPosition"
1686
- ]),
1687
- zt.value && F.value.userOptions.buttons.table ? (C(), m(Ue(_r.value.component), ze({ key: 7 }, _r.value.props, {
1688
- ref_key: "tableUnit",
1689
- ref: Jt,
1690
- onClose: vr
1691
- }), Ie({
1692
- content: k(() => [(C(), m(O(kt), {
1693
- key: `table_${qt.value}`,
1694
- colNames: or.value.colNames,
1695
- head: or.value.head,
1696
- body: or.value.body,
1697
- config: or.value.config,
1698
- title: F.value.table.useDialog ? "" : _r.value.title,
1699
- withCloseButton: !F.value.table.useDialog,
1700
- isCursorPointer: I.value,
1701
- onClose: vr
1702
- }, {
1703
- th: k(({ th: e }) => [_("div", Tt, D(e), 1)]),
1704
- td: k(({ td: e }) => [Le(D(e.name || e), 1)]),
1705
- _: 1
1706
- }, 8, [
1707
- "colNames",
1708
- "head",
1709
- "body",
1710
- "config",
1711
- "title",
1712
- "withCloseButton",
1713
- "isCursorPointer"
1714
- ]))]),
1715
- _: 2
1716
- }, [F.value.table.useDialog ? {
1717
- name: "title",
1718
- fn: k(() => [Le(D(_r.value.title), 1)]),
1719
- key: "0"
1720
- } : void 0, F.value.table.useDialog ? {
1721
- name: "actions",
1722
- fn: k(() => [_("button", {
1723
- tabindex: "0",
1724
- class: "vue-ui-user-options-button",
1725
- onClick: t[1] ||= (e) => ar(F.value.userOptions.callbacks.csv),
1726
- style: S({ cursor: I.value ? "pointer" : "default" })
1727
- }, [Re(O(Dt), {
1728
- name: "fileCsv",
1729
- stroke: _r.value.props.color
1730
- }, null, 8, ["stroke"])], 4)]),
1731
- key: "1"
1732
- } : void 0]), 1040)) : h("", !0),
1733
- E(e.$slots, "skeleton", {}, () => [O(cn) ? (C(), m(ye, { key: 0 })) : h("", !0)], !0)
1734
- ], 46, Ye));
1735
- }
1736
- }, [["__scopeId", "data-v-35f5cf1a"]]);
1737
- //#endregion
1738
- export { Je as n, Et as t };