vue-data-ui 3.22.11 → 3.22.13

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