vue-data-ui 3.26.4 → 3.27.0

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