vue-data-ui 3.22.10 → 3.22.12

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