vue-data-ui 2.4.7 → 2.4.9

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 (155) hide show
  1. package/README.md +11 -10
  2. package/dist/{Arrow-Ds1Mhkkt.cjs → Arrow-BGrY1ydc.cjs} +1 -1
  3. package/dist/{Arrow-BCeetU2P.js → Arrow-Fke-ybVE.js} +1 -1
  4. package/dist/{BaseIcon-Icg3SIlH.js → BaseIcon-BFZiytmY.js} +1 -1
  5. package/dist/{BaseIcon-C31iTAGj.cjs → BaseIcon-P668oVRL.cjs} +1 -1
  6. package/dist/{DataTable-CqaGqXkz.cjs → DataTable-8vTlt4e4.cjs} +1 -1
  7. package/dist/{DataTable-CnLqhXZ2.js → DataTable-Bqouzjik.js} +2 -2
  8. package/dist/{Legend-8QHo6cZQ.js → Legend-BN2BcDVi.js} +1 -1
  9. package/dist/{Legend-D2iK-_M0.cjs → Legend-DiLvq4vW.cjs} +1 -1
  10. package/dist/{PackageVersion-Bw7N_9KM.js → PackageVersion-CTpPwNFg.js} +1 -1
  11. package/dist/{PackageVersion-DjuywB0J.cjs → PackageVersion-DPna32U7.cjs} +1 -1
  12. package/dist/{PenAndPaper-BiWc81tP.js → PenAndPaper-DLwiH2Np.js} +18 -18
  13. package/dist/{PenAndPaper-DoKpW2Tl.cjs → PenAndPaper-bKJD5B9n.cjs} +1 -1
  14. package/dist/{Shape-BfZLKYNk.cjs → Shape-CLIJMoFo.cjs} +1 -1
  15. package/dist/{Shape-CppjH62a.js → Shape-IDJlHO6G.js} +1 -1
  16. package/dist/{Slicer-U4q5iMIE.cjs → Slicer-BkionZj4.cjs} +1 -1
  17. package/dist/{Slicer-CA5jR9Em.js → Slicer-CQsrB1vr.js} +2 -2
  18. package/dist/{Title-aR9ViX_A.cjs → Title-RGaMCxMM.cjs} +1 -1
  19. package/dist/{Title-yJsQ5q-l.js → Title-eBZtf9JC.js} +1 -1
  20. package/dist/Tooltip-DfxV57uu.cjs +1 -0
  21. package/dist/Tooltip-wUAIAM2C.js +109 -0
  22. package/dist/documentation/installation.md +10 -10
  23. package/dist/{index-Cn1EWnYG.js → index-CRiXU5u4.js} +66 -63
  24. package/dist/index-CxfVE-zl.cjs +9 -0
  25. package/dist/style.css +1 -1
  26. package/dist/types/vue-data-ui.d.cts +3 -0
  27. package/dist/types/vue-data-ui.d.ts +3 -0
  28. package/dist/{useNestedProp-BXn-g9sr.js → useNestedProp-CJpdmtwu.js} +1 -1
  29. package/dist/{useNestedProp-DxZ05ZEt.cjs → useNestedProp-DxRaQ3VM.cjs} +1 -1
  30. package/dist/{usePrinter-B3HaYNI4.cjs → usePrinter-1WhDjgbn.cjs} +1 -1
  31. package/dist/{usePrinter-ZkzmtO6K.js → usePrinter-uc7d9V3q.js} +1 -1
  32. package/dist/{vue-data-ui-DfGCpkA8.js → vue-data-ui-CIm7VqEX.js} +58 -58
  33. package/dist/{vue-data-ui-Bn_29KuS.cjs → vue-data-ui-MkOQ0Nle.cjs} +1 -1
  34. package/dist/vue-data-ui.cjs +1 -1
  35. package/dist/vue-data-ui.js +1 -1
  36. package/dist/{vue-ui-3d-bar-Cz7ZSFFf.js → vue-ui-3d-bar-BJ3zWmrS.js} +9 -9
  37. package/dist/{vue-ui-3d-bar-CERRaGHQ.cjs → vue-ui-3d-bar-C1Me6SaI.cjs} +1 -1
  38. package/dist/{vue-ui-accordion-kQwtYRmD.cjs → vue-ui-accordion-Bwp3om8n.cjs} +1 -1
  39. package/dist/{vue-ui-accordion-UADqAdVj.js → vue-ui-accordion-UcagglMR.js} +3 -3
  40. package/dist/{vue-ui-age-pyramid-DhGijqy5.js → vue-ui-age-pyramid-CVziTeLg.js} +10 -10
  41. package/dist/{vue-ui-age-pyramid-Rfk1WUfJ.cjs → vue-ui-age-pyramid-DFBnbj8i.cjs} +1 -1
  42. package/dist/{vue-ui-annotator-BdAFNoMu.cjs → vue-ui-annotator-DtntPrcs.cjs} +1 -1
  43. package/dist/{vue-ui-annotator-CCgDEOdY.js → vue-ui-annotator-X2GVxnvT.js} +1 -1
  44. package/dist/{vue-ui-bullet-Bkx9sfrv.cjs → vue-ui-bullet-Dgbg2x2i.cjs} +1 -1
  45. package/dist/{vue-ui-bullet-CSVuqhhg.js → vue-ui-bullet-gkQMIEIY.js} +8 -8
  46. package/dist/{vue-ui-candlestick-D0RfMi-W.js → vue-ui-candlestick-DlrvnR9W.js} +11 -11
  47. package/dist/{vue-ui-candlestick-CuNi5UZ7.cjs → vue-ui-candlestick-a8DCa9QA.cjs} +1 -1
  48. package/dist/{vue-ui-carousel-table-DeY0f9Ba.js → vue-ui-carousel-table-DqDoR5Ke.js} +4 -4
  49. package/dist/{vue-ui-carousel-table-Dch3TChE.cjs → vue-ui-carousel-table-Dv7Y4mPd.cjs} +1 -1
  50. package/dist/{vue-ui-chestnut-B2Gio3KC.js → vue-ui-chestnut-B01FJ4C4.js} +8 -8
  51. package/dist/{vue-ui-chestnut-bqu8whHd.cjs → vue-ui-chestnut-B8O8csWz.cjs} +1 -1
  52. package/dist/{vue-ui-cursor-Dnv5a5oy.cjs → vue-ui-cursor-BViP1aeI.cjs} +1 -1
  53. package/dist/{vue-ui-cursor-BlW4uLBm.js → vue-ui-cursor-Ba_H8Ncs.js} +2 -2
  54. package/dist/{vue-ui-dashboard-DCaNJXOd.js → vue-ui-dashboard-14KBNioW.js} +2 -2
  55. package/dist/{vue-ui-dashboard-De5_U4a9.cjs → vue-ui-dashboard-gP-6lXnW.cjs} +1 -1
  56. package/dist/{vue-ui-digits-DlteJApK.js → vue-ui-digits-BsR96Ev2.js} +2 -2
  57. package/dist/{vue-ui-digits-Dc0L7473.cjs → vue-ui-digits-D2YQwzS9.cjs} +1 -1
  58. package/dist/{vue-ui-donut-CBTZK6YJ.cjs → vue-ui-donut-BBgDxAnA.cjs} +1 -1
  59. package/dist/{vue-ui-donut-6Vh9u3Xp.js → vue-ui-donut-CRfeBum_.js} +11 -11
  60. package/dist/{vue-ui-donut-evolution-gQyMiCiu.js → vue-ui-donut-evolution-B8HXkrQY.js} +11 -11
  61. package/dist/{vue-ui-donut-evolution-CmgjvLvu.cjs → vue-ui-donut-evolution-BJv9WfCY.cjs} +1 -1
  62. package/dist/{vue-ui-dumbbell-C4xg1FG4.js → vue-ui-dumbbell-B8JLe4Rx.js} +10 -10
  63. package/dist/{vue-ui-dumbbell-ByhSaE6s.cjs → vue-ui-dumbbell-W6qsJcrI.cjs} +1 -1
  64. package/dist/{vue-ui-flow-Bef5hCwj.cjs → vue-ui-flow-BaGjUUsp.cjs} +1 -1
  65. package/dist/{vue-ui-flow-DYF0P7LD.js → vue-ui-flow-XQRrGPwP.js} +9 -9
  66. package/dist/{vue-ui-galaxy-aM8uOGRD.js → vue-ui-galaxy-C860KoXR.js} +11 -11
  67. package/dist/{vue-ui-galaxy-COY_QSwC.cjs → vue-ui-galaxy-Dll7-xmx.cjs} +1 -1
  68. package/dist/{vue-ui-gauge-qYg_QM-A.js → vue-ui-gauge-CaM7KOxs.js} +7 -7
  69. package/dist/{vue-ui-gauge-CW8ZpODM.cjs → vue-ui-gauge-Cw6HxC9W.cjs} +1 -1
  70. package/dist/{vue-ui-gizmo-DgS57tJ2.cjs → vue-ui-gizmo-9S26lSOK.cjs} +1 -1
  71. package/dist/{vue-ui-gizmo-BZyOCD_y.js → vue-ui-gizmo-CUsTgs2Y.js} +3 -3
  72. package/dist/{vue-ui-heatmap-Czg21edC.cjs → vue-ui-heatmap-BDBRTOtW.cjs} +1 -1
  73. package/dist/{vue-ui-heatmap-BfJGluVp.js → vue-ui-heatmap-C_2gDpgT.js} +10 -10
  74. package/dist/{vue-ui-kpi-C5ISBjIs.js → vue-ui-kpi-8TItSsJI.js} +3 -3
  75. package/dist/{vue-ui-kpi-DQpkO2MX.cjs → vue-ui-kpi-x5RLnUtN.cjs} +1 -1
  76. package/dist/{vue-ui-mini-loader-Db5Khvfw.cjs → vue-ui-mini-loader-AZUp82dL.cjs} +1 -1
  77. package/dist/{vue-ui-mini-loader-BiaLLW3x.js → vue-ui-mini-loader-BeWlFItj.js} +2 -2
  78. package/dist/{vue-ui-molecule-fmAXI5nL.js → vue-ui-molecule-CJ_9xqd9.js} +11 -11
  79. package/dist/{vue-ui-molecule-4AXvVmWt.cjs → vue-ui-molecule-tkmH5BKP.cjs} +1 -1
  80. package/dist/{vue-ui-mood-radar-BzfFikJv.cjs → vue-ui-mood-radar-C75OoHKh.cjs} +1 -1
  81. package/dist/{vue-ui-mood-radar-CVLad_RZ.js → vue-ui-mood-radar-Ck53yZA6.js} +11 -11
  82. package/dist/{vue-ui-nested-donuts-7VePVE4W.js → vue-ui-nested-donuts-B_S0s6fo.js} +11 -11
  83. package/dist/{vue-ui-nested-donuts-BP0qdKto.cjs → vue-ui-nested-donuts-Bpyw1aFZ.cjs} +1 -1
  84. package/dist/{vue-ui-onion-LCcrKbXJ.js → vue-ui-onion-DnLZsLDV.js} +11 -11
  85. package/dist/{vue-ui-onion-tzmb3ARN.cjs → vue-ui-onion-lMCndwqx.cjs} +1 -1
  86. package/dist/{vue-ui-parallel-coordinate-plot-Dgu-tY5L.cjs → vue-ui-parallel-coordinate-plot-CiuKqlpx.cjs} +1 -1
  87. package/dist/{vue-ui-parallel-coordinate-plot-D0Xxq5a9.js → vue-ui-parallel-coordinate-plot-Cjr4ER1g.js} +12 -12
  88. package/dist/{vue-ui-quadrant-D_e1Knsr.js → vue-ui-quadrant-7ayR33KM.js} +12 -12
  89. package/dist/{vue-ui-quadrant-DkOZbxio.cjs → vue-ui-quadrant-DDbKIPVl.cjs} +1 -1
  90. package/dist/{vue-ui-quick-chart-CIm7vclU.js → vue-ui-quick-chart-C0jzFqV_.js} +9 -9
  91. package/dist/{vue-ui-quick-chart-Brzheuk8.cjs → vue-ui-quick-chart-CF5lJluJ.cjs} +1 -1
  92. package/dist/{vue-ui-radar-DoNZ8Qv9.cjs → vue-ui-radar-Dpfn4aPE.cjs} +1 -1
  93. package/dist/{vue-ui-radar-Cx_w_viT.js → vue-ui-radar-_wv53dRp.js} +12 -12
  94. package/dist/{vue-ui-rating-NRP3A0oA.js → vue-ui-rating-DQHUlrFb.js} +2 -2
  95. package/dist/{vue-ui-rating-B4zDVBEd.cjs → vue-ui-rating-DW2tgPIX.cjs} +1 -1
  96. package/dist/{vue-ui-relation-circle-C4LKLsEz.js → vue-ui-relation-circle-79WZpSrS.js} +7 -7
  97. package/dist/{vue-ui-relation-circle-Cuk4LDJo.cjs → vue-ui-relation-circle-BMq4fJ88.cjs} +1 -1
  98. package/dist/{vue-ui-rings-D6Rs1eq0.cjs → vue-ui-rings-BoTgy6Fr.cjs} +1 -1
  99. package/dist/{vue-ui-rings-DXawhL1m.js → vue-ui-rings-BrCjSI5Z.js} +11 -11
  100. package/dist/{vue-ui-scatter-DlfZqYP9.cjs → vue-ui-scatter-AgWOR5nX.cjs} +1 -1
  101. package/dist/{vue-ui-scatter-8EzIXx2n.js → vue-ui-scatter-CBmiFQT9.js} +12 -12
  102. package/dist/{vue-ui-screenshot-Wwmw7VVM.js → vue-ui-screenshot-BKOcxDB2.js} +1 -1
  103. package/dist/{vue-ui-screenshot-Dt0UpXVm.cjs → vue-ui-screenshot-Bq3qvacn.cjs} +1 -1
  104. package/dist/{vue-ui-skeleton-D3AGluiW.js → vue-ui-skeleton-CjpLaxv-.js} +3 -3
  105. package/dist/{vue-ui-skeleton-Si57O3af.cjs → vue-ui-skeleton-xn62L2MO.cjs} +1 -1
  106. package/dist/{vue-ui-smiley-UxTt4IMY.cjs → vue-ui-smiley-9H9LUASi.cjs} +1 -1
  107. package/dist/{vue-ui-smiley-CRddsfyu.js → vue-ui-smiley-D6aLE71R.js} +2 -2
  108. package/dist/{vue-ui-spark-trend-Cgr4pAvU.js → vue-ui-spark-trend-DhUNW1YZ.js} +5 -5
  109. package/dist/{vue-ui-spark-trend-tMuRiISe.cjs → vue-ui-spark-trend-KO9LcvA9.cjs} +1 -1
  110. package/dist/{vue-ui-sparkbar-B6TEBbyt.js → vue-ui-sparkbar-BzN6k1x-.js} +4 -4
  111. package/dist/{vue-ui-sparkbar-BZVjpA5h.cjs → vue-ui-sparkbar-CyNsfVim.cjs} +1 -1
  112. package/dist/{vue-ui-sparkgauge-P5fVXRT8.js → vue-ui-sparkgauge-Cze6RBhD.js} +4 -4
  113. package/dist/{vue-ui-sparkgauge-B9P3ngyj.cjs → vue-ui-sparkgauge-m2_6j81L.cjs} +1 -1
  114. package/dist/{vue-ui-sparkhistogram-vlWx_CFP.js → vue-ui-sparkhistogram-B-v4hU6_.js} +5 -5
  115. package/dist/{vue-ui-sparkhistogram-BSQsOim4.cjs → vue-ui-sparkhistogram-CLsOngeA.cjs} +1 -1
  116. package/dist/{vue-ui-sparkline-5FsmrmmU.cjs → vue-ui-sparkline--mWL3SLf.cjs} +1 -1
  117. package/dist/{vue-ui-sparkline-B1UrThV_.js → vue-ui-sparkline-DLnP9odc.js} +4 -4
  118. package/dist/vue-ui-sparkstackbar-BXP6IEtT.cjs +1 -0
  119. package/dist/vue-ui-sparkstackbar-cDy_FCNx.js +374 -0
  120. package/dist/{vue-ui-stackbar-DhnCj5jR.js → vue-ui-stackbar-CiqiPCPX.js} +12 -12
  121. package/dist/{vue-ui-stackbar-BpFxY9uX.cjs → vue-ui-stackbar-DrpNm-6r.cjs} +1 -1
  122. package/dist/{vue-ui-strip-plot-CutPMUb1.js → vue-ui-strip-plot-C-zS7o1M.js} +11 -11
  123. package/dist/{vue-ui-strip-plot-DnFquLCu.cjs → vue-ui-strip-plot-DNo9nipS.cjs} +1 -1
  124. package/dist/{vue-ui-table-CUtRHuc4.cjs → vue-ui-table-D9aY6eJT.cjs} +1 -1
  125. package/dist/{vue-ui-table-Cx0eqrK_.js → vue-ui-table-EATZiVw7.js} +1 -1
  126. package/dist/{vue-ui-table-heatmap-DS2cSiGt.cjs → vue-ui-table-heatmap-KxsHw3d3.cjs} +1 -1
  127. package/dist/{vue-ui-table-heatmap-DyGuk9kw.js → vue-ui-table-heatmap-zs6Z470G.js} +4 -4
  128. package/dist/{vue-ui-table-sparkline--Ekk_QoU.js → vue-ui-table-sparkline-BNI0g8vI.js} +5 -5
  129. package/dist/{vue-ui-table-sparkline-C1ril5t8.cjs → vue-ui-table-sparkline-CKXBmV2x.cjs} +1 -1
  130. package/dist/{vue-ui-thermometer-Dr6_S2Qz.cjs → vue-ui-thermometer-B70IlU6G.cjs} +1 -1
  131. package/dist/{vue-ui-thermometer-Dz_xaxCt.js → vue-ui-thermometer-DWYtuYTq.js} +7 -7
  132. package/dist/{vue-ui-timer-DRdgSmMv.js → vue-ui-timer-DLobjqLZ.js} +5 -5
  133. package/dist/{vue-ui-timer-BkmRYrPn.cjs → vue-ui-timer-Dimpnhrr.cjs} +1 -1
  134. package/dist/{vue-ui-tiremarks-BwVRnR-c.cjs → vue-ui-tiremarks-CehKPt9l.cjs} +1 -1
  135. package/dist/{vue-ui-tiremarks-XuaMScx0.js → vue-ui-tiremarks-DHosMEnc.js} +7 -7
  136. package/dist/{vue-ui-treemap-D8HfM8ny.js → vue-ui-treemap-3zwGXPWM.js} +11 -11
  137. package/dist/{vue-ui-treemap-yUQZvXta.cjs → vue-ui-treemap-uxUzrgJw.cjs} +1 -1
  138. package/dist/{vue-ui-vertical-bar-BcWnPMjH.js → vue-ui-vertical-bar-UXCZ5jyu.js} +11 -11
  139. package/dist/{vue-ui-vertical-bar-DpaRYTVo.cjs → vue-ui-vertical-bar-tljvI8ZD.cjs} +1 -1
  140. package/dist/{vue-ui-waffle-sLIM61xh.js → vue-ui-waffle-B5YJ2-qg.js} +11 -11
  141. package/dist/{vue-ui-waffle-uur49hDo.cjs → vue-ui-waffle-BB0nwq8k.cjs} +1 -1
  142. package/dist/{vue-ui-wheel-D3Pfhpbe.js → vue-ui-wheel-BNV-kvRK.js} +7 -7
  143. package/dist/{vue-ui-wheel-CJBuFjJt.cjs → vue-ui-wheel-Doj339q6.cjs} +1 -1
  144. package/dist/{vue-ui-word-cloud-DhC8SN1l.js → vue-ui-word-cloud-DzlAcim2.js} +10 -10
  145. package/dist/{vue-ui-word-cloud-Dhz-n0_M.cjs → vue-ui-word-cloud-vEgW75C-.cjs} +1 -1
  146. package/dist/{vue-ui-xy-Cn-JnSRl.cjs → vue-ui-xy-CpuHnuJR.cjs} +1 -1
  147. package/dist/{vue-ui-xy-D7nWzSu1.js → vue-ui-xy-DcinX3ix.js} +14 -14
  148. package/dist/{vue-ui-xy-canvas-DWZRAtDJ.js → vue-ui-xy-canvas-C5oFgOEO.js} +11 -11
  149. package/dist/{vue-ui-xy-canvas-BI5nAbis.cjs → vue-ui-xy-canvas-D665Zxts.cjs} +1 -1
  150. package/package.json +1 -1
  151. package/dist/Tooltip-CN6_JyjT.cjs +0 -1
  152. package/dist/Tooltip-klg8yuWM.js +0 -104
  153. package/dist/index-Ci5MafHS.cjs +0 -9
  154. package/dist/vue-ui-sparkstackbar-BzrHl4LW.js +0 -290
  155. package/dist/vue-ui-sparkstackbar-CEXgwtwV.cjs +0 -1
@@ -1,9 +1,9 @@
1
1
  import { computed as v, ref as m, watch as R, onMounted as se, openBlock as o, createElementBlock as n, normalizeStyle as N, renderSlot as W, normalizeProps as oe, guardReactiveProps as re, createElementVNode as f, toDisplayString as j, createCommentVNode as y, unref as c, createVNode as ne, Fragment as P, renderList as A, createBlock as ie } from "vue";
2
- import { u as de, c as ve, t as ce, o as he, e as U, g as ye, w as C, Y as fe, Z as pe, X as ge, s as I, R as X, i as Z, f as q } from "./index-Cn1EWnYG.js";
3
- import { u as Y } from "./useNestedProp-BXn-g9sr.js";
4
- import me from "./vue-ui-skeleton-D3AGluiW.js";
2
+ import { u as de, c as ve, t as ce, o as he, e as U, g as ye, w as C, Y as fe, Z as pe, X as ge, s as I, R as X, i as Z, f as q } from "./index-CRiXU5u4.js";
3
+ import { u as Y } from "./useNestedProp-CJpdmtwu.js";
4
+ import me from "./vue-ui-skeleton-CjpLaxv-.js";
5
5
  import { t as ke, u as be } from "./useResponsive-CoxXLe23.js";
6
- import { _ as _e } from "./PackageVersion-Bw7N_9KM.js";
6
+ import { _ as _e } from "./PackageVersion-CTpPwNFg.js";
7
7
  import { _ as xe } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
8
  const we = ["id"], Le = ["xmlns", "viewBox"], $e = ["id"], Ne = ["stop-color"], Ce = ["stop-color"], Ie = ["id"], Me = ["stop-color"], Ve = ["stop-color"], ze = ["id"], Se = ["stop-color"], We = ["stop-color"], Pe = { key: 0 }, Ae = ["d", "fill"], De = ["d", "fill"], Fe = ["d", "stroke", "stroke-width"], Ge = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Te = ["x", "y", "width", "height", "fill", "rx"], Be = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Ee = ["x1", "x2", "y1", "y2", "stroke", "stroke-dasharray", "stroke-width"], Oe = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Re = ["x", "y", "font-size", "font-weight", "fill"], je = ["x", "y", "height", "width", "onMouseenter", "onClick"], Ue = {
9
9
  __name: "vue-ui-sparkline",
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./index-CxfVE-zl.cjs"),V=require("./useNestedProp-DxRaQ3VM.cjs"),A=require("./vue-ui-skeleton-xn62L2MO.cjs"),q=require("./PackageVersion-DPna32U7.cjs"),O=require("./Tooltip-DfxV57uu.cjs"),U=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),j=["xmlns","viewBox"],M=["id"],H=["stop-color"],I=["stop-color"],R=["stop-color"],W={id:"stackPill",clipPathUnits:"objectBoundingBox"},Y=["fill"],G={key:0,"clip-path":"url(#stackPill)"},X=["x","width","height","fill"],J=["x","width","height","fill","stroke"],K=["onClick","x","width","height","onMouseenter"],Q=["width","height","rx"],Z=["onClick"],ee={style:{display:"flex","flex-direction":"row","align-items":"center",gap:"4px","justify-content":"center"}},te=["height","width"],le=["fill"],oe={key:4,ref:"source",dir:"auto"},ae={__name:"vue-ui-sparkstackbar",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectDatapoint"],setup(P,{emit:D}){const u=P,{vue_ui_sparkstackbar:L}=a.useConfig(),x=e.computed(()=>!!u.dataset&&u.dataset.length),B=e.ref(null),S=e.ref(a.createUid()),b=e.ref(!1),_=e.ref(""),t=e.computed({get:()=>$(),set:l=>l});function $(){const l=V.useNestedProp({userConfig:u.config,defaultConfig:L});return l.theme?{...V.useNestedProp({userConfig:a.themes.vue_ui_sparkstackbar[l.theme]||u.config,defaultConfig:l}),customPalette:a.themePalettes[l.theme]||a.palette}:l}e.watch(()=>u.config,l=>{t.value=$(),E()},{deep:!0}),e.watch(()=>u.dataset,l=>{p.value=u.dataset.map((n,o)=>({...n,color:n.color?a.convertColorToHex(n.color):f.value[o]||a.palette[o]||a.palette[o%a.palette.length]}))},{deep:!0});const f=e.computed(()=>a.convertCustomPalette(t.value.customPalette)),p=e.ref(u.dataset.map((l,n)=>({...l,value:t.value.style.animation.show?0:l.value||0,color:l.color?a.convertColorToHex(l.color):f.value[n]||a.palette[n]||a.palette[n%a.palette.length]}))),g=e.ref(!0);e.onMounted(()=>{if(E(),t.value.style.animation.show){let v=function(){r+=o/l,r<o?(p.value=p.value.map((s,i)=>({...s,value:s.value+=n[i],color:s.color?a.convertColorToHex(s.color):f.value[i]||a.palette[i]||a.palette[i%a.palette.length]})),requestAnimationFrame(v)):(g.value=!1,p.value=u.dataset.map((s,i)=>({...s,value:s.value||0,color:s.color?a.convertColorToHex(s.color):f.value[i]||a.palette[i]||a.palette[i%a.palette.length],id:a.createUid()})))};const l=t.value.style.animation.animationFrames,n=u.dataset.map((s,i)=>s.value/l),o=u.dataset.map(s=>s.value||0).reduce((s,i)=>s+i,0);let r=0;g.value=!0,v()}});function E(){a.objectIsEmpty(u.dataset)?a.error({componentName:"VueUiSparkStackbar",type:"dataset"}):u.dataset.forEach((l,n)=>{a.getMissingDatasetAttributes({datasetObject:l,requiredAttributes:["name","value"]}).forEach(o=>{a.error({componentName:"VueUiSparkStackbar",type:"datasetSerieAttribute",property:o,index:n})})})}const c=e.ref({width:500,height:16}),d=e.ref([]),N=e.computed(()=>u.dataset.map(l=>l.value||0).filter((l,n)=>!d.value.includes(n)).reduce((l,n)=>l+n,0)),y=e.computed(()=>p.value.map((l,n)=>{const o=l.value||0,r=o/N.value,v=isNaN(r)?0:r,s=v*c.value.width;return{...l,value:o,proportion:v,width:s,proportionLabel:a.dataLabel({v:v*100,s:"%",r:t.value.style.legend.percentage.rounding})}})),C=e.computed(()=>y.value.filter((l,n)=>!d.value.includes(n)));function F(l){d.value.includes(l)?d.value=d.value.filter(n=>n!==l):d.value.length<p.value.length-1&&d.value.push(l)}const h=e.computed(()=>{let l=0;const n=[];for(let o=0;o<C.value.length;o+=1)n.push({...C.value[o],start:l}),l+=C.value[o].width;return n});function z(l,n){D("selectDatapoint",{datapoint:l,index:n})}const w=e.ref(null),k=e.ref(!1),m=e.ref(null);function T({datapoint:l,seriesIndex:n}){if(!t.value.style.tooltip.show)return;w.value={datapoint:l,seriesIndex:n,config:t.value,series:y.value},b.value=!0,m.value=n;const o=t.value.style.tooltip.customFormat;if(a.isFunction(o))try{const r=o({seriesIndex:n,datapoint:l,series:y.value,config:t.value});typeof r=="string"&&(_.value=r,k.value=!0)}catch{console.warn("Custom format cannot be applied."),k.value=!1}if(!k.value){let r="";r+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${l.name}</div>`,r+=`<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="${l.color}"/></svg>`,r+=`<b>${l.proportionLabel}</b>`,r+=`<span>(${a.applyDataLabel(t.value.style.legend.value.formatter,l.value,a.dataLabel({p:t.value.style.legend.value.prefix,v:l.value,s:t.value.style.legend.value.suffix,r:t.value.style.legend.value.rounding}),{datapoint:l,seriesIndex:n})})</span>`,_.value=`<div>${r}</div>`}}return(l,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"sparkstackbarChart",ref:B,style:e.normalizeStyle(`width:100%; background:${t.value.style.backgroundColor}`)},[t.value.style.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${t.value.style.title.margin};padding: 0 6px;text-align:${t.value.style.title.textAlign}`)},[e.createElementVNode("div",{style:e.normalizeStyle(`font-size:${t.value.style.title.fontSize}px;color:${t.value.style.title.color};font-weight:${t.value.style.title.bold?"bold":"normal"}`)},e.toDisplayString(t.value.style.title.text),5),t.value.style.title.subtitle.text?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(`font-size:${t.value.style.title.subtitle.fontSize}px;color:${t.value.style.title.subtitle.color};font-weight:${t.value.style.title.subtitle.bold?"bold":"normal"}`)},e.toDisplayString(t.value.style.title.subtitle.text),5)):e.createCommentVNode("",!0)],4)):e.createCommentVNode("",!0),x.value?(e.openBlock(),e.createElementBlock("svg",{key:1,xmlns:e.unref(a.XMLNS),width:"100%",viewBox:`0 0 ${c.value.width} ${c.value.height}`},[e.createVNode(q._sfc_main),e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(o,r)=>(e.openBlock(),e.createElementBlock("linearGradient",{key:`stack_gradient_${r}`,gradientTransform:"rotate(90)",id:`stack_gradient_${r}_${S.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":o.color},null,8,H),e.createElementVNode("stop",{offset:"50%","stop-color":e.unref(a.setOpacity)(e.unref(a.shiftHue)(o.color,.05),100-t.value.style.bar.gradient.intensity)},null,8,I),e.createElementVNode("stop",{offset:"100%","stop-color":o.color},null,8,R)],8,M))),128)),e.createElementVNode("clipPath",W,[e.createElementVNode("rect",{x:"0.005",y:"-2",width:"0.99",height:"5",rx:"3",ry:"3",fill:t.value.style.backgroundColor},null,8,Y)])]),N.value>0?(e.openBlock(),e.createElementBlock("g",G,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(o,r)=>(e.openBlock(),e.createElementBlock("rect",{key:`stack_underlayer_${r}`,x:o.start,y:0,width:o.width,height:c.value.height,fill:t.value.style.bar.gradient.underlayerColor,class:e.normalizeClass({animated:!g.value}),style:e.normalizeStyle({opacity:m.value!==null&&t.value.style.tooltip.show?m.value===r?1:.5:1})},null,14,X))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(o,r)=>(e.openBlock(),e.createElementBlock("rect",{key:`stack_${r}`,x:o.start,y:0,width:o.width,height:c.value.height,fill:t.value.style.bar.gradient.show?`url(#stack_gradient_${r}_${S.value})`:o.color,stroke:t.value.style.backgroundColor,"stroke-linecap":"round",class:e.normalizeClass({animated:!g.value}),style:e.normalizeStyle({opacity:m.value!==null&&t.value.style.tooltip.show?m.value===r?1:.5:1})},null,14,J))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(o,r)=>(e.openBlock(),e.createElementBlock("rect",{key:`stack_trap_${r}`,onClick:()=>z(o,r),x:o.start,y:0,width:o.width,height:c.value.height,fill:"transparent",stroke:"none",class:e.normalizeClass({animated:!g.value}),onMouseenter:()=>T({datapoint:o,seriesIndex:r}),onMouseleave:n[0]||(n[0]=v=>{b.value=!1,m.value=null})},null,42,K))),128))])):(e.openBlock(),e.createElementBlock("rect",{key:1,x:2,y:1,width:c.value.width-4,height:c.value.height-2,stroke:"#CCCCCC","stroke-width":"2",fill:"transparent",rx:(c.value.height-4)/2},null,8,Q))],8,j)):e.createCommentVNode("",!0),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(A.default,{key:2,config:{type:"sparkStackbar",style:{backgroundColor:t.value.style.backgroundColor,sparkStackbar:{color:"#CCCCCC"}}}},null,8,["config"])),t.value.style.legend.show?(e.openBlock(),e.createElementBlock("div",{key:3,style:e.normalizeStyle(`background:transparent;margin:0 auto;margin:${t.value.style.legend.margin};justify-content:${t.value.style.legend.textAlign==="left"?"flex-start":t.value.style.legend.textAlign==="right"?"flex-end":"center"}`),class:"vue-ui-sparkstackbar-legend"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(o,r)=>(e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(`font-size:${t.value.style.legend.fontSize}px;`),class:e.normalizeClass({"vue-ui-sparkstackbar-legend-item":!0,"vue-ui-sparkstackbar-legend-item-unselected":d.value.includes(r)}),onClick:v=>{F(r),z(o,r)}},[e.createElementVNode("div",ee,[(e.openBlock(),e.createElementBlock("svg",{height:`${t.value.style.legend.fontSize}px`,width:`${t.value.style.legend.fontSize}px`,viewBox:"0 0 10 10"},[e.createElementVNode("circle",{cx:5,cy:5,r:5,fill:o.color},null,8,le)],8,te)),e.createElementVNode("span",{style:e.normalizeStyle(`color:${t.value.style.legend.name.color}; font-weight:${t.value.style.legend.name.bold?"bold":"normal"}`)},e.toDisplayString(o.name),5),t.value.style.legend.percentage.show?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(`font-weight:${t.value.style.legend.percentage.bold?"bold":"normal"};color:${t.value.style.legend.percentage.color}`)},e.toDisplayString(d.value.includes(r)?" - ":o.proportionLabel),5)):e.createCommentVNode("",!0),t.value.style.legend.value.show?(e.openBlock(),e.createElementBlock("span",{key:1,style:e.normalizeStyle(`font-weight:${t.value.style.legend.value.bold?"bold":"normal"};color:${t.value.style.legend.value.color}`)}," ("+e.toDisplayString(e.unref(a.applyDataLabel)(t.value.style.legend.value.formatter,o.value,e.unref(a.dataLabel)({p:t.value.style.legend.value.prefix,v:o.value,s:t.value.style.legend.value.suffix,r:t.value.style.legend.value.rounding}),{datapoint:o,seriesIndex:r}))+") ",5)):e.createCommentVNode("",!0)])],14,Z))),256))],4)):e.createCommentVNode("",!0),e.createVNode(O._sfc_main,{show:b.value&&t.value.style.tooltip.show,parent:B.value,backgroundColor:t.value.style.tooltip.backgroundColor,color:t.value.style.tooltip.color,fontSize:t.value.style.tooltip.fontSize,borderRadius:t.value.style.tooltip.borderRadius,borderColor:t.value.style.tooltip.borderColor,borderWidth:t.value.style.tooltip.borderWidth,backgroundOpacity:t.value.style.tooltip.backgroundOpacity,position:t.value.style.tooltip.position,content:_.value,isCustom:k.value,offsetY:-124+t.value.style.tooltip.offsetY,blockShiftY:!0},{"tooltip-before":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...w.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...w.value})),void 0,!0)]),_:3},8,["show","parent","backgroundColor","color","fontSize","borderRadius","borderColor","borderWidth","backgroundOpacity","position","content","isCustom","offsetY"]),l.$slots.source?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(l.$slots,"source",{},void 0,!0)],512)):e.createCommentVNode("",!0)],4))}},re=U._export_sfc(ae,[["__scopeId","data-v-233900f7"]]);exports.default=re;
@@ -0,0 +1,374 @@
1
+ import { computed as m, ref as d, watch as Y, onMounted as se, openBlock as s, createElementBlock as r, normalizeStyle as v, createElementVNode as p, toDisplayString as w, createCommentVNode as y, unref as C, createVNode as G, Fragment as x, renderList as $, normalizeClass as F, createBlock as re, withCtx as q, renderSlot as j, normalizeProps as H, guardReactiveProps as X } from "vue";
2
+ import { u as ne, c as J, t as ue, a as ie, p as i, d as N, b as ce, o as de, e as K, g as ve, f as E, X as pe, s as ge, w as fe, i as Q, x as he } from "./index-CRiXU5u4.js";
3
+ import { u as Z } from "./useNestedProp-CJpdmtwu.js";
4
+ import ye from "./vue-ui-skeleton-CjpLaxv-.js";
5
+ import { _ as me } from "./PackageVersion-CTpPwNFg.js";
6
+ import { _ as be } from "./Tooltip-wUAIAM2C.js";
7
+ import { _ as ke } from "./_plugin-vue_export-helper-CHgC5LLL.js";
8
+ const _e = ["xmlns", "viewBox"], we = ["id"], Ce = ["stop-color"], xe = ["stop-color"], $e = ["stop-color"], Se = {
9
+ id: "stackPill",
10
+ clipPathUnits: "objectBoundingBox"
11
+ }, ze = ["fill"], Pe = {
12
+ key: 0,
13
+ "clip-path": "url(#stackPill)"
14
+ }, De = ["x", "width", "height", "fill"], Fe = ["x", "width", "height", "fill", "stroke"], Ne = ["onClick", "x", "width", "height", "onMouseenter"], Ae = ["width", "height", "rx"], Le = ["onClick"], Be = { style: { display: "flex", "flex-direction": "row", "align-items": "center", gap: "4px", "justify-content": "center" } }, Oe = ["height", "width"], je = ["fill"], Ee = {
15
+ key: 4,
16
+ ref: "source",
17
+ dir: "auto"
18
+ }, Me = {
19
+ __name: "vue-ui-sparkstackbar",
20
+ props: {
21
+ config: {
22
+ type: Object,
23
+ default() {
24
+ return {};
25
+ }
26
+ },
27
+ dataset: {
28
+ type: Array,
29
+ default() {
30
+ return [];
31
+ }
32
+ }
33
+ },
34
+ emits: ["selectDatapoint"],
35
+ setup(ee, { emit: te }) {
36
+ const u = ee, { vue_ui_sparkstackbar: le } = ne(), M = m(() => !!u.dataset && u.dataset.length), T = d(null), U = d(J()), A = d(!1), L = d(""), e = m({
37
+ get: () => V(),
38
+ set: (t) => t
39
+ });
40
+ function V() {
41
+ const t = Z({
42
+ userConfig: u.config,
43
+ defaultConfig: le
44
+ });
45
+ return t.theme ? {
46
+ ...Z({
47
+ userConfig: ue.vue_ui_sparkstackbar[t.theme] || u.config,
48
+ defaultConfig: t
49
+ }),
50
+ customPalette: ie[t.theme] || i
51
+ } : t;
52
+ }
53
+ Y(() => u.config, (t) => {
54
+ e.value = V(), I();
55
+ }, { deep: !0 }), Y(() => u.dataset, (t) => {
56
+ b.value = u.dataset.map((a, l) => ({
57
+ ...a,
58
+ color: a.color ? N(a.color) : S.value[l] || i[l] || i[l % i.length]
59
+ }));
60
+ }, { deep: !0 });
61
+ const S = m(() => ce(e.value.customPalette)), b = d(u.dataset.map((t, a) => ({
62
+ ...t,
63
+ value: e.value.style.animation.show ? 0 : t.value || 0,
64
+ color: t.color ? N(t.color) : S.value[a] || i[a] || i[a % i.length]
65
+ }))), _ = d(!0);
66
+ se(() => {
67
+ if (I(), e.value.style.animation.show) {
68
+ let h = function() {
69
+ o += l / t, o < l ? (b.value = b.value.map((n, c) => ({
70
+ ...n,
71
+ value: n.value += a[c],
72
+ color: n.color ? N(n.color) : S.value[c] || i[c] || i[c % i.length]
73
+ })), requestAnimationFrame(h)) : (_.value = !1, b.value = u.dataset.map((n, c) => ({
74
+ ...n,
75
+ value: n.value || 0,
76
+ color: n.color ? N(n.color) : S.value[c] || i[c] || i[c % i.length],
77
+ id: J()
78
+ })));
79
+ };
80
+ const t = e.value.style.animation.animationFrames, a = u.dataset.map((n, c) => n.value / t), l = u.dataset.map((n) => n.value || 0).reduce((n, c) => n + c, 0);
81
+ let o = 0;
82
+ _.value = !0, h();
83
+ }
84
+ });
85
+ function I() {
86
+ de(u.dataset) ? K({
87
+ componentName: "VueUiSparkStackbar",
88
+ type: "dataset"
89
+ }) : u.dataset.forEach((t, a) => {
90
+ ve({
91
+ datasetObject: t,
92
+ requiredAttributes: ["name", "value"]
93
+ }).forEach((l) => {
94
+ K({
95
+ componentName: "VueUiSparkStackbar",
96
+ type: "datasetSerieAttribute",
97
+ property: l,
98
+ index: a
99
+ });
100
+ });
101
+ });
102
+ }
103
+ const g = d({
104
+ width: 500,
105
+ height: 16
106
+ }), f = d([]), R = m(() => u.dataset.map((t) => t.value || 0).filter((t, a) => !f.value.includes(a)).reduce((t, a) => t + a, 0)), z = m(() => b.value.map((t, a) => {
107
+ const l = t.value || 0, o = l / R.value, h = isNaN(o) ? 0 : o, n = h * g.value.width;
108
+ return {
109
+ ...t,
110
+ value: l,
111
+ proportion: h,
112
+ width: n,
113
+ proportionLabel: E({
114
+ v: h * 100,
115
+ s: "%",
116
+ r: e.value.style.legend.percentage.rounding
117
+ })
118
+ };
119
+ })), B = m(() => z.value.filter((t, a) => !f.value.includes(a)));
120
+ function oe(t) {
121
+ f.value.includes(t) ? f.value = f.value.filter((a) => a !== t) : f.value.length < b.value.length - 1 && f.value.push(t);
122
+ }
123
+ const P = m(() => {
124
+ let t = 0;
125
+ const a = [];
126
+ for (let l = 0; l < B.value.length; l += 1)
127
+ a.push({
128
+ ...B.value[l],
129
+ start: t
130
+ }), t += B.value[l].width;
131
+ return a;
132
+ });
133
+ function W(t, a) {
134
+ te("selectDatapoint", { datapoint: t, index: a });
135
+ }
136
+ const O = d(null), D = d(!1), k = d(null);
137
+ function ae({ datapoint: t, seriesIndex: a }) {
138
+ if (!e.value.style.tooltip.show)
139
+ return;
140
+ O.value = { datapoint: t, seriesIndex: a, config: e.value, series: z.value }, A.value = !0, k.value = a;
141
+ const l = e.value.style.tooltip.customFormat;
142
+ if (he(l))
143
+ try {
144
+ const o = l({
145
+ seriesIndex: a,
146
+ datapoint: t,
147
+ series: z.value,
148
+ config: e.value
149
+ });
150
+ typeof o == "string" && (L.value = o, D.value = !0);
151
+ } catch {
152
+ console.warn("Custom format cannot be applied."), D.value = !1;
153
+ }
154
+ if (!D.value) {
155
+ let o = "";
156
+ o += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${t.name}</div>`, o += `<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="${t.color}"/></svg>`, o += `<b>${t.proportionLabel}</b>`, o += `<span>(${Q(
157
+ e.value.style.legend.value.formatter,
158
+ t.value,
159
+ E({
160
+ p: e.value.style.legend.value.prefix,
161
+ v: t.value,
162
+ s: e.value.style.legend.value.suffix,
163
+ r: e.value.style.legend.value.rounding
164
+ }),
165
+ {
166
+ datapoint: t,
167
+ seriesIndex: a
168
+ }
169
+ )})</span>`, L.value = `<div>${o}</div>`;
170
+ }
171
+ }
172
+ return (t, a) => (s(), r("div", {
173
+ ref_key: "sparkstackbarChart",
174
+ ref: T,
175
+ style: v(`width:100%; background:${e.value.style.backgroundColor}`)
176
+ }, [
177
+ e.value.style.title.text ? (s(), r("div", {
178
+ key: 0,
179
+ style: v(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${e.value.style.title.margin};padding: 0 6px;text-align:${e.value.style.title.textAlign}`)
180
+ }, [
181
+ p("div", {
182
+ style: v(`font-size:${e.value.style.title.fontSize}px;color:${e.value.style.title.color};font-weight:${e.value.style.title.bold ? "bold" : "normal"}`)
183
+ }, w(e.value.style.title.text), 5),
184
+ e.value.style.title.subtitle.text ? (s(), r("div", {
185
+ key: 0,
186
+ style: v(`font-size:${e.value.style.title.subtitle.fontSize}px;color:${e.value.style.title.subtitle.color};font-weight:${e.value.style.title.subtitle.bold ? "bold" : "normal"}`)
187
+ }, w(e.value.style.title.subtitle.text), 5)) : y("", !0)
188
+ ], 4)) : y("", !0),
189
+ M.value ? (s(), r("svg", {
190
+ key: 1,
191
+ xmlns: C(pe),
192
+ width: "100%",
193
+ viewBox: `0 0 ${g.value.width} ${g.value.height}`
194
+ }, [
195
+ G(me),
196
+ p("defs", null, [
197
+ (s(!0), r(x, null, $(P.value, (l, o) => (s(), r("linearGradient", {
198
+ key: `stack_gradient_${o}`,
199
+ gradientTransform: "rotate(90)",
200
+ id: `stack_gradient_${o}_${U.value}`
201
+ }, [
202
+ p("stop", {
203
+ offset: "0%",
204
+ "stop-color": l.color
205
+ }, null, 8, Ce),
206
+ p("stop", {
207
+ offset: "50%",
208
+ "stop-color": C(ge)(C(fe)(l.color, 0.05), 100 - e.value.style.bar.gradient.intensity)
209
+ }, null, 8, xe),
210
+ p("stop", {
211
+ offset: "100%",
212
+ "stop-color": l.color
213
+ }, null, 8, $e)
214
+ ], 8, we))), 128)),
215
+ p("clipPath", Se, [
216
+ p("rect", {
217
+ x: "0.005",
218
+ y: "-2",
219
+ width: "0.99",
220
+ height: "5",
221
+ rx: "3",
222
+ ry: "3",
223
+ fill: e.value.style.backgroundColor
224
+ }, null, 8, ze)
225
+ ])
226
+ ]),
227
+ R.value > 0 ? (s(), r("g", Pe, [
228
+ (s(!0), r(x, null, $(P.value, (l, o) => (s(), r("rect", {
229
+ key: `stack_underlayer_${o}`,
230
+ x: l.start,
231
+ y: 0,
232
+ width: l.width,
233
+ height: g.value.height,
234
+ fill: e.value.style.bar.gradient.underlayerColor,
235
+ class: F({ animated: !_.value }),
236
+ style: v({
237
+ opacity: k.value !== null && e.value.style.tooltip.show ? k.value === o ? 1 : 0.5 : 1
238
+ })
239
+ }, null, 14, De))), 128)),
240
+ (s(!0), r(x, null, $(P.value, (l, o) => (s(), r("rect", {
241
+ key: `stack_${o}`,
242
+ x: l.start,
243
+ y: 0,
244
+ width: l.width,
245
+ height: g.value.height,
246
+ fill: e.value.style.bar.gradient.show ? `url(#stack_gradient_${o}_${U.value})` : l.color,
247
+ stroke: e.value.style.backgroundColor,
248
+ "stroke-linecap": "round",
249
+ class: F({ animated: !_.value }),
250
+ style: v({
251
+ opacity: k.value !== null && e.value.style.tooltip.show ? k.value === o ? 1 : 0.5 : 1
252
+ })
253
+ }, null, 14, Fe))), 128)),
254
+ (s(!0), r(x, null, $(P.value, (l, o) => (s(), r("rect", {
255
+ key: `stack_trap_${o}`,
256
+ onClick: () => W(l, o),
257
+ x: l.start,
258
+ y: 0,
259
+ width: l.width,
260
+ height: g.value.height,
261
+ fill: "transparent",
262
+ stroke: "none",
263
+ class: F({ animated: !_.value }),
264
+ onMouseenter: () => ae({ datapoint: l, seriesIndex: o }),
265
+ onMouseleave: a[0] || (a[0] = (h) => {
266
+ A.value = !1, k.value = null;
267
+ })
268
+ }, null, 42, Ne))), 128))
269
+ ])) : (s(), r("rect", {
270
+ key: 1,
271
+ x: 2,
272
+ y: 1,
273
+ width: g.value.width - 4,
274
+ height: g.value.height - 2,
275
+ stroke: "#CCCCCC",
276
+ "stroke-width": "2",
277
+ fill: "transparent",
278
+ rx: (g.value.height - 4) / 2
279
+ }, null, 8, Ae))
280
+ ], 8, _e)) : y("", !0),
281
+ M.value ? y("", !0) : (s(), re(ye, {
282
+ key: 2,
283
+ config: {
284
+ type: "sparkStackbar",
285
+ style: {
286
+ backgroundColor: e.value.style.backgroundColor,
287
+ sparkStackbar: {
288
+ color: "#CCCCCC"
289
+ }
290
+ }
291
+ }
292
+ }, null, 8, ["config"])),
293
+ e.value.style.legend.show ? (s(), r("div", {
294
+ key: 3,
295
+ style: v(`background:transparent;margin:0 auto;margin:${e.value.style.legend.margin};justify-content:${e.value.style.legend.textAlign === "left" ? "flex-start" : e.value.style.legend.textAlign === "right" ? "flex-end" : "center"}`),
296
+ class: "vue-ui-sparkstackbar-legend"
297
+ }, [
298
+ (s(!0), r(x, null, $(z.value, (l, o) => (s(), r("div", {
299
+ style: v(`font-size:${e.value.style.legend.fontSize}px;`),
300
+ class: F({ "vue-ui-sparkstackbar-legend-item": !0, "vue-ui-sparkstackbar-legend-item-unselected": f.value.includes(o) }),
301
+ onClick: (h) => {
302
+ oe(o), W(l, o);
303
+ }
304
+ }, [
305
+ p("div", Be, [
306
+ (s(), r("svg", {
307
+ height: `${e.value.style.legend.fontSize}px`,
308
+ width: `${e.value.style.legend.fontSize}px`,
309
+ viewBox: "0 0 10 10"
310
+ }, [
311
+ p("circle", {
312
+ cx: 5,
313
+ cy: 5,
314
+ r: 5,
315
+ fill: l.color
316
+ }, null, 8, je)
317
+ ], 8, Oe)),
318
+ p("span", {
319
+ style: v(`color:${e.value.style.legend.name.color}; font-weight:${e.value.style.legend.name.bold ? "bold" : "normal"}`)
320
+ }, w(l.name), 5),
321
+ e.value.style.legend.percentage.show ? (s(), r("span", {
322
+ key: 0,
323
+ style: v(`font-weight:${e.value.style.legend.percentage.bold ? "bold" : "normal"};color:${e.value.style.legend.percentage.color}`)
324
+ }, w(f.value.includes(o) ? " - " : l.proportionLabel), 5)) : y("", !0),
325
+ e.value.style.legend.value.show ? (s(), r("span", {
326
+ key: 1,
327
+ style: v(`font-weight:${e.value.style.legend.value.bold ? "bold" : "normal"};color:${e.value.style.legend.value.color}`)
328
+ }, " (" + w(C(Q)(
329
+ e.value.style.legend.value.formatter,
330
+ l.value,
331
+ C(E)({
332
+ p: e.value.style.legend.value.prefix,
333
+ v: l.value,
334
+ s: e.value.style.legend.value.suffix,
335
+ r: e.value.style.legend.value.rounding
336
+ }),
337
+ { datapoint: l, seriesIndex: o }
338
+ )) + ") ", 5)) : y("", !0)
339
+ ])
340
+ ], 14, Le))), 256))
341
+ ], 4)) : y("", !0),
342
+ G(be, {
343
+ show: A.value && e.value.style.tooltip.show,
344
+ parent: T.value,
345
+ backgroundColor: e.value.style.tooltip.backgroundColor,
346
+ color: e.value.style.tooltip.color,
347
+ fontSize: e.value.style.tooltip.fontSize,
348
+ borderRadius: e.value.style.tooltip.borderRadius,
349
+ borderColor: e.value.style.tooltip.borderColor,
350
+ borderWidth: e.value.style.tooltip.borderWidth,
351
+ backgroundOpacity: e.value.style.tooltip.backgroundOpacity,
352
+ position: e.value.style.tooltip.position,
353
+ content: L.value,
354
+ isCustom: D.value,
355
+ offsetY: -124 + e.value.style.tooltip.offsetY,
356
+ blockShiftY: !0
357
+ }, {
358
+ "tooltip-before": q(() => [
359
+ j(t.$slots, "tooltip-before", H(X({ ...O.value })), void 0, !0)
360
+ ]),
361
+ "tooltip-after": q(() => [
362
+ j(t.$slots, "tooltip-after", H(X({ ...O.value })), void 0, !0)
363
+ ]),
364
+ _: 3
365
+ }, 8, ["show", "parent", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "content", "isCustom", "offsetY"]),
366
+ t.$slots.source ? (s(), r("div", Ee, [
367
+ j(t.$slots, "source", {}, void 0, !0)
368
+ ], 512)) : y("", !0)
369
+ ], 4));
370
+ }
371
+ }, Ge = /* @__PURE__ */ ke(Me, [["__scopeId", "data-v-233900f7"]]);
372
+ export {
373
+ Ge as default
374
+ };
@@ -1,17 +1,17 @@
1
1
  import { computed as p, ref as g, onMounted as Xe, watch as Ue, openBlock as s, createElementBlock as n, normalizeClass as ye, normalizeStyle as U, createBlock as Y, createCommentVNode as v, renderSlot as k, createVNode as se, unref as z, createSlots as xt, withCtx as C, normalizeProps as D, guardReactiveProps as E, Fragment as h, renderList as f, createElementVNode as H, toDisplayString as S, createTextVNode as kt } from "vue";
2
- import { u as wt, c as Ye, t as Ct, a as _t, p as ie, M as Ge, b as zt, o as Lt, e as Je, g as St, d as $t, a4 as ne, a0 as qe, C as Ze, X as Mt, l as Tt, F as Ke, f as B, x as Qe, i as je, y as Nt, q as Ot, r as Pt } from "./index-Cn1EWnYG.js";
3
- import { u as et } from "./useNestedProp-BXn-g9sr.js";
2
+ import { u as wt, c as Ye, t as Ct, a as _t, p as ie, M as Ge, b as zt, o as Lt, e as Je, g as St, d as $t, a4 as ne, a0 as qe, C as Ze, X as Mt, l as Tt, F as Ke, f as B, x as Qe, i as je, y as Nt, q as Ot, r as Pt } from "./index-CRiXU5u4.js";
3
+ import { u as et } from "./useNestedProp-CJpdmtwu.js";
4
4
  import { t as At, u as Rt } from "./useResponsive-CoxXLe23.js";
5
- import { u as It, U as Ft } from "./usePrinter-ZkzmtO6K.js";
6
- import { S as Vt } from "./Slicer-CA5jR9Em.js";
7
- import { _ as Dt } from "./Tooltip-klg8yuWM.js";
8
- import { _ as Et } from "./Title-yJsQ5q-l.js";
9
- import { L as Ht } from "./Legend-8QHo6cZQ.js";
10
- import Bt from "./vue-ui-accordion-UADqAdVj.js";
11
- import { D as Wt } from "./DataTable-CnLqhXZ2.js";
12
- import Xt from "./vue-ui-skeleton-D3AGluiW.js";
13
- import { _ as Ut } from "./PackageVersion-Bw7N_9KM.js";
14
- import { P as Yt } from "./PenAndPaper-BiWc81tP.js";
5
+ import { u as It, U as Ft } from "./usePrinter-uc7d9V3q.js";
6
+ import { S as Vt } from "./Slicer-CQsrB1vr.js";
7
+ import { _ as Dt } from "./Tooltip-wUAIAM2C.js";
8
+ import { _ as Et } from "./Title-eBZtf9JC.js";
9
+ import { L as Ht } from "./Legend-BN2BcDVi.js";
10
+ import Bt from "./vue-ui-accordion-UcagglMR.js";
11
+ import { D as Wt } from "./DataTable-Bqouzjik.js";
12
+ import Xt from "./vue-ui-skeleton-CjpLaxv-.js";
13
+ import { _ as Ut } from "./PackageVersion-CTpPwNFg.js";
14
+ import { P as Yt } from "./PenAndPaper-DLwiH2Np.js";
15
15
  import { _ as Gt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
16
  const Jt = ["id"], qt = ["xmlns", "viewBox"], Zt = { key: 0 }, Kt = ["id"], Qt = ["stop-color"], jt = ["stop-color"], ea = ["stop-color"], ta = ["x1", "x2", "y1", "y2", "stroke"], aa = ["x1", "x2", "y1", "y2", "stroke"], la = ["x1", "x2", "y1", "y2", "stroke"], oa = ["x1", "x2", "y1", "y2", "stroke"], ra = ["x", "y", "height", "rx", "width", "fill", "stroke", "stroke-width"], sa = ["x", "y", "width", "rx", "height", "fill", "stroke", "stroke-width"], ia = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], na = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ua = ["x", "y", "font-size", "fill", "font-weight"], ca = ["transform", "font-size", "fill", "font-weight"], va = ["x", "y", "font-size", "fill", "font-weight"], ha = { key: 0 }, da = ["x", "y", "font-size", "font-weight", "fill"], ya = ["x", "y", "font-size", "fill", "font-weight"], ga = { key: 0 }, ba = ["x", "y", "font-size", "font-weight", "fill"], fa = ["x1", "x2", "y1", "y2", "stroke"], ma = ["x", "y", "font-size", "font-weight", "fill"], pa = ["x1", "x2", "y1", "y2", "stroke"], xa = ["font-size", "font-weight", "fill", "text-anchor", "transform"], ka = ["text-anchor", "font-size", "font-weight", "fill", "transform"], wa = ["font-size", "font-weight", "fill", "x", "y"], Ca = ["x", "y", "width", "height", "onClick", "onMouseenter", "fill"], _a = ["x", "y", "width", "height", "onClick", "onMouseenter", "fill"], za = {
17
17
  key: 4,
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("./index-Ci5MafHS.cjs"),Le=require("./useNestedProp-DxZ05ZEt.cjs"),Se=require("./useResponsive-BJ7DTGpm.cjs"),ze=require("./usePrinter-B3HaYNI4.cjs"),Ye=require("./Slicer-U4q5iMIE.cjs"),Ge=require("./Tooltip-CN6_JyjT.cjs"),Je=require("./Title-aR9ViX_A.cjs"),Ze=require("./Legend-D2iK-_M0.cjs"),Ke=require("./vue-ui-accordion-kQwtYRmD.cjs"),Qe=require("./DataTable-CqaGqXkz.cjs"),je=require("./vue-ui-skeleton-Si57O3af.cjs"),et=require("./PackageVersion-DjuywB0J.cjs"),tt=require("./PenAndPaper-DoKpW2Tl.cjs"),at=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),lt=["id"],ot=["xmlns","viewBox"],rt={key:0},st=["id"],nt=["stop-color"],it=["stop-color"],ut=["stop-color"],ct=["x1","x2","y1","y2","stroke"],dt=["x1","x2","y1","y2","stroke"],vt=["x1","x2","y1","y2","stroke"],ht=["x1","x2","y1","y2","stroke"],gt=["x","y","height","rx","width","fill","stroke","stroke-width"],yt=["x","y","width","rx","height","fill","stroke","stroke-width"],mt=["x1","x2","y1","y2","stroke","stroke-width"],bt=["x1","x2","y1","y2","stroke","stroke-width"],pt=["x","y","font-size","fill","font-weight"],ft=["transform","font-size","fill","font-weight"],kt=["x","y","font-size","fill","font-weight"],xt={key:0},wt=["x","y","font-size","font-weight","fill"],Ct=["x","y","font-size","fill","font-weight"],Bt={key:0},Lt=["x","y","font-size","font-weight","fill"],St=["x1","x2","y1","y2","stroke"],zt=["x","y","font-size","font-weight","fill"],_t=["x1","x2","y1","y2","stroke"],Nt=["font-size","font-weight","fill","text-anchor","transform"],Et=["text-anchor","font-size","font-weight","fill","transform"],Mt=["font-size","font-weight","fill","x","y"],$t=["x","y","width","height","onClick","onMouseenter","fill"],Tt=["x","y","width","height","onClick","onMouseenter","fill"],Vt={key:4,class:"vue-data-ui-watermark"},Pt=["onClick"],Ft=["innerHTML"],Rt={__name:"vue-ui-stackbar",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectDatapoint","selectLegend"],setup(Z,{expose:_e,emit:K}){const y=Z,{vue_ui_stackbar:Ne}=c.useConfig(),E=e.computed({get(){return!!y.dataset&&y.dataset.length},set(l){return l}}),M=e.ref(null),U=e.ref(c.createUid()),O=e.ref(!1),Q=e.ref(null),X=e.ref(""),p=e.ref([]),j=e.ref(0),ee=e.ref(null),te=e.ref(null),ae=e.ref(null),le=e.ref(null),oe=e.ref(0),Y=e.ref(!1),$=e.ref(null),T=e.ref(!1),Ee=e.ref(0),Me=e.ref(0),$e=e.ref(0);e.onMounted(()=>{G()});const t=e.computed({get:()=>re(),set:l=>l});function re(){const l=Le.useNestedProp({userConfig:y.config,defaultConfig:Ne});let r={};return l.theme?r={...Le.useNestedProp({userConfig:c.themes.vue_ui_stackbar[l.theme]||y.config,defaultConfig:l}),customPalette:c.themePalettes[l.theme]||c.palette}:r=l,y.config&&c.hasDeepProperty(y.config,"style.chart.grid.scale.scaleMin")?r.style.chart.grid.scale.scaleMin=y.config.style.chart.grid.scale.scaleMin:r.style.chart.grid.scale.scaleMin=null,y.config&&c.hasDeepProperty(y.config,"style.chart.grid.scale.scaleMax")?r.style.chart.grid.scale.scaleMax=y.config.style.chart.grid.scale.scaleMax:r.style.chart.grid.scale.scaleMax=null,r}e.watch(()=>y.config,l=>{t.value=re(),G(),Ee.value+=1,Me.value+=1,$e.value+=1},{deep:!0}),e.watch(()=>y.dataset,l=>{ve()},{deep:!0});const b=e.ref({dataLabels:{show:t.value.style.chart.bars.dataLabels.show},showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),{isPrinting:se,isImaging:ne,generatePdf:ie,generateImage:ue}=ze.usePrinter({elementId:`stackbar_${U.value}`,fileName:t.value.style.chart.title.text||"vue-ui-stackbar"}),D=e.ref({width:t.value.style.chart.width,height:t.value.style.chart.height,paddingRatio:{top:t.value.style.chart.padding.top/t.value.style.chart.height,right:t.value.style.chart.padding.right/t.value.style.chart.width,bottom:t.value.style.chart.padding.bottom/t.value.style.chart.height,left:t.value.style.chart.padding.left/t.value.style.chart.width}}),Te=e.computed(()=>c.convertCustomPalette(t.value.customPalette)),ce=e.ref(null),de=e.ref(null);e.onMounted(()=>{G()});function G(){if(c.objectIsEmpty(y.dataset)?c.error({componentName:"VueUiStackbar",type:"dataset"}):y.dataset.forEach((l,r)=>{c.getMissingDatasetAttributes({datasetObject:l,requiredAttributes:["name","series"]}).forEach(a=>{E.value=!1,c.error({componentName:"VueUiStackbar",type:"datasetSerieAttribute",property:a,index:r})})}),setTimeout(()=>{T.value=!0},10),t.value.responsive){const l=Se.throttle(()=>{T.value=!1;const{width:r,height:a}=Se.useResponsive({chart:M.value,title:t.value.style.chart.title.text?ee.value:null,legend:t.value.style.chart.legend.show?te.value:null,slicer:t.value.style.chart.zoom.show&&L.value>1?ae.value:null,source:le.value});D.value.width=r,D.value.height=a,clearTimeout(de.value),de.value=setTimeout(()=>{T.value=!0},10)});ce.value=new ResizeObserver(l),ce.value.observe(M.value.parentNode)}}const s=e.computed(()=>{const{height:l,width:r}=D.value,{right:a}=D.value.paddingRatio,o=t.value.style.chart.padding.top,n=r-r*a,i=l-t.value.style.chart.padding.bottom,m=t.value.style.chart.padding.left,S=r-m-r*a,z=l-o-t.value.style.chart.padding.bottom;return{chartHeight:l,chartWidth:r,top:o,right:n,bottom:i,left:m,width:S,height:z<0?0:z}}),B=e.computed(()=>y.dataset.map((l,r)=>{const a=c.convertColorToHex(l.color)||Te.value[r]||c.palette[r]||c.palette[r%c.palette.length];return{...l,series:JSON.parse(JSON.stringify(l.series)).map(o=>t.value.style.chart.bars.distributed?Math.abs(o):o),signedSeries:l.series.map(o=>o>=0?1:-1),absoluteIndex:r,id:c.createUid(),color:a}})),L=e.computed(()=>Math.max(...B.value.filter(l=>!p.value.includes(l.id)).map(l=>l.series.length))),u=e.ref({start:0,end:Math.max(...y.dataset.map(l=>l.series.length))});function ve(){u.value={start:0,end:Math.max(...y.dataset.map(l=>l.series.length))},oe.value+=1}const d=e.computed(()=>{let l;return t.value.orientation==="vertical"?l=s.value.width/(u.value.end-u.value.start):l=s.value.height/(u.value.end-u.value.start),l<=0?0:l}),V=e.computed(()=>c.sumSeries(B.value.filter(l=>!p.value.includes(l.id))).slice(u.value.start,u.value.end)),Ve=e.computed(()=>c.sumSeries(B.value.filter(l=>!p.value.includes(l.id)).map(l=>({...l,series:l.series.map((r,a)=>l.signedSeries[a]===-1&&r>=0?-r:r)}))).slice(u.value.start,u.value.end)),A=e.computed(()=>{const l=B.value.filter(r=>!p.value.includes(r.id));return{positive:c.sumSeries(l.map(r=>({...r,series:r.series.slice(u.value.start,u.value.end).map(a=>a>=0?a:0)}))),negative:c.sumSeries(l.map(r=>({...r,series:r.series.slice(u.value.start,u.value.end).map(a=>a<0?a:0)})))}}),w=e.computed(()=>{const l=t.value.style.chart.grid.scale.scaleMax!==null&&!t.value.style.chart.bars.distributed?t.value.style.chart.grid.scale.scaleMax:Math.max(...A.value.positive),r=Math.min(...A.value.negative),a=t.value.style.chart.grid.scale.scaleMin!==null&&!t.value.style.chart.bars.distributed?t.value.style.chart.grid.scale.scaleMin:[-1/0,1/0,NaN,void 0,null].includes(r)?0:r,o=!t.value.style.chart.bars.distributed&&(t.value.style.chart.grid.scale.scaleMax!==null||t.value.style.chart.grid.scale.scaleMin!==null)?c.calculateNiceScaleWithExactExtremes(a>0?0:a,l<0?0:l,t.value.style.chart.grid.scale.ticks):c.calculateNiceScale(a>0?0:a,l<0?0:l,t.value.style.chart.grid.scale.ticks);return o.ticks.map(n=>({zero:s.value.bottom-s.value.height*(Math.abs(o.min)/(o.max+Math.abs(o.min))),y:s.value.bottom-s.value.height*((n+Math.abs(o.min))/(o.max+Math.abs(o.min))),x:s.value.left-8,horizontal_zero:s.value.left+s.value.width*(Math.abs(o.min)/(o.max+Math.abs(o.min))),horizontal_x:s.value.left+s.value.width*((n+Math.abs(o.min))/(o.max+Math.abs(o.min))),horizontal_y:s.value.bottom-8,value:n}))}),P=e.computed(()=>t.value.style.chart.grid.x.timeLabels.values.slice(u.value.start,u.value.end)),g=e.computed(()=>{if(!E.value)return[];let l=Array(L.value).fill(0),r=Array(L.value).fill(0),a=Array(L.value).fill(0),o=Array(L.value).fill(0);const n=Math.max(...A.value.positive)||0,i=Math.min(...A.value.negative),m=[-1/0,1/0,NaN,void 0,null].includes(i)?0:i,S=!t.value.style.chart.bars.distributed&&(t.value.style.chart.grid.scale.scaleMax!==null||t.value.style.chart.grid.scale.scaleMin!==null)?c.calculateNiceScaleWithExactExtremes(t.value.style.chart.grid.scale.scaleMin!==null?t.value.style.chart.grid.scale.scaleMin:m>0?0:m,t.value.style.chart.grid.scale.scaleMax!==null?t.value.style.chart.grid.scale.scaleMax:n<0?0:n,t.value.style.chart.grid.scale.ticks):c.calculateNiceScale(t.value.style.chart.grid.scale.scaleMin!==null?t.value.style.chart.grid.scale.scaleMin:m>0?0:m,t.value.style.chart.grid.scale.scaleMax!==null?t.value.style.chart.grid.scale.scaleMax:n<0?0:n,t.value.style.chart.grid.scale.ticks),{min:z,max:F}=S,_=F+(z>=0?0:Math.abs(z))||1,f=s.value.height,W=s.value.width,Ce=w.value[0]?w.value[0].zero:s.value.bottom,Be=w.value[0]?w.value[0].horizontal_zero:s.value.left;return B.value.filter(R=>!p.value.includes(R.id)).map(R=>{const C=R.series.slice(u.value.start,u.value.end),De=R.signedSeries.slice(u.value.start,u.value.end),Ae=C.map((v,h)=>s.value.left+d.value*h+d.value*t.value.style.chart.bars.gapRatio/4),Ie=C.map((v,h)=>s.value.top+d.value*h+d.value*t.value.style.chart.bars.gapRatio/4),qe=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;let N,x;return v>0?(x=f*k,N=Ce-x-l[h],l[h]+=x):(x=f*k,N=Ce+a[h],a[h]+=Math.abs(x)),N}),He=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;let N,x;return v>0?(x=W*k,N=Be+r[h],r[h]+=x):(x=W*k,N=Be-Math.abs(x)-o[h],o[h]+=Math.abs(x)),N}),We=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;return v>0?f*k:f*Math.abs(k)}),Ue=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;return v>0?W*k:W*Math.abs(k)}),Xe=C.map(v=>Math.abs(v)).reduce((v,h)=>v+h,0);return{...R,proportions:C.map((v,h)=>t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/Xe),series:C,signedSeries:De,x:Ae,y:qe,height:We,horizontal_width:Ue,horizontal_y:Ie,horizontal_x:He}})}),he=e.computed(()=>Ve.value.map((l,r)=>({value:l,sign:l>=0?1:-1})));function I(l,r,a,o,n){const i=n===-1&&l>=0?-l:l;return c.applyDataLabel(t.value.style.chart.bars.dataLabels.formatter,i,c.dataLabel({p:t.value.style.chart.bars.dataLabels.prefix,v:i,s:t.value.style.chart.bars.dataLabels.suffix,r:t.value.style.chart.bars.dataLabels.rounding}),{datapoint:r,seriesIndex:a,datapointIndex:o})}function ge(l,r,a,o){return c.applyDataLabel(t.value.style.chart.bars.dataLabels.formatter,l,c.dataLabel({v:l,s:"%",r:t.value.style.chart.bars.dataLabels.rounding}),{datapoint:r,seriesIndex:a,datapointIndex:o})}function ye(l){const r=JSON.parse(JSON.stringify(g.value)).map(a=>({name:a.name,value:a.series[l]===0?0:a.series[l]||null,proportion:a.proportions[l]||null,color:a.color,id:a.id}));K("selectDatapoint",{datapoint:r,period:P.value[l]})}function me(l){$.value=l,O.value=!0;const r=t.value.style.chart.tooltip.customFormat,a=JSON.parse(JSON.stringify(g.value)).map(n=>({name:n.name,value:n.series[l]===0?0:(n.signedSeries[l]===-1&&n.series[l]>=0?-n.series[l]:n.series[l])||null,proportion:n.proportions[l]||null,color:n.color,id:n.id})),o=a.map(n=>Math.abs(n.value)).reduce((n,i)=>n+i,0);if(c.isFunction(r)&&c.functionReturnsString(()=>r({seriesIndex:l,datapoint:a,series:g.value,config:t.value})))X.value=r({seriesIndex:l,datapoint:a,series:g.value,config:t.value});else{const{showValue:n,showPercentage:i,borderColor:m,roundingValue:S,roundingPercentage:z}=t.value.style.chart.tooltip;let F="";P.value[l]&&(F+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${m};padding-bottom:6px;margin-bottom:3px;">${P.value[l]}</div>`);const _=[n&&i?"(":"",n&&i?")":""];a.reverse().forEach(f=>{F+=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("./index-CxfVE-zl.cjs"),Le=require("./useNestedProp-DxRaQ3VM.cjs"),Se=require("./useResponsive-BJ7DTGpm.cjs"),ze=require("./usePrinter-1WhDjgbn.cjs"),Ye=require("./Slicer-BkionZj4.cjs"),Ge=require("./Tooltip-DfxV57uu.cjs"),Je=require("./Title-RGaMCxMM.cjs"),Ze=require("./Legend-DiLvq4vW.cjs"),Ke=require("./vue-ui-accordion-Bwp3om8n.cjs"),Qe=require("./DataTable-8vTlt4e4.cjs"),je=require("./vue-ui-skeleton-xn62L2MO.cjs"),et=require("./PackageVersion-DPna32U7.cjs"),tt=require("./PenAndPaper-bKJD5B9n.cjs"),at=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),lt=["id"],ot=["xmlns","viewBox"],rt={key:0},st=["id"],nt=["stop-color"],it=["stop-color"],ut=["stop-color"],ct=["x1","x2","y1","y2","stroke"],dt=["x1","x2","y1","y2","stroke"],vt=["x1","x2","y1","y2","stroke"],ht=["x1","x2","y1","y2","stroke"],gt=["x","y","height","rx","width","fill","stroke","stroke-width"],yt=["x","y","width","rx","height","fill","stroke","stroke-width"],mt=["x1","x2","y1","y2","stroke","stroke-width"],bt=["x1","x2","y1","y2","stroke","stroke-width"],pt=["x","y","font-size","fill","font-weight"],ft=["transform","font-size","fill","font-weight"],kt=["x","y","font-size","fill","font-weight"],xt={key:0},wt=["x","y","font-size","font-weight","fill"],Ct=["x","y","font-size","fill","font-weight"],Bt={key:0},Lt=["x","y","font-size","font-weight","fill"],St=["x1","x2","y1","y2","stroke"],zt=["x","y","font-size","font-weight","fill"],_t=["x1","x2","y1","y2","stroke"],Nt=["font-size","font-weight","fill","text-anchor","transform"],Et=["text-anchor","font-size","font-weight","fill","transform"],Mt=["font-size","font-weight","fill","x","y"],$t=["x","y","width","height","onClick","onMouseenter","fill"],Tt=["x","y","width","height","onClick","onMouseenter","fill"],Vt={key:4,class:"vue-data-ui-watermark"},Pt=["onClick"],Ft=["innerHTML"],Rt={__name:"vue-ui-stackbar",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectDatapoint","selectLegend"],setup(Z,{expose:_e,emit:K}){const y=Z,{vue_ui_stackbar:Ne}=c.useConfig(),E=e.computed({get(){return!!y.dataset&&y.dataset.length},set(l){return l}}),M=e.ref(null),U=e.ref(c.createUid()),O=e.ref(!1),Q=e.ref(null),X=e.ref(""),p=e.ref([]),j=e.ref(0),ee=e.ref(null),te=e.ref(null),ae=e.ref(null),le=e.ref(null),oe=e.ref(0),Y=e.ref(!1),$=e.ref(null),T=e.ref(!1),Ee=e.ref(0),Me=e.ref(0),$e=e.ref(0);e.onMounted(()=>{G()});const t=e.computed({get:()=>re(),set:l=>l});function re(){const l=Le.useNestedProp({userConfig:y.config,defaultConfig:Ne});let r={};return l.theme?r={...Le.useNestedProp({userConfig:c.themes.vue_ui_stackbar[l.theme]||y.config,defaultConfig:l}),customPalette:c.themePalettes[l.theme]||c.palette}:r=l,y.config&&c.hasDeepProperty(y.config,"style.chart.grid.scale.scaleMin")?r.style.chart.grid.scale.scaleMin=y.config.style.chart.grid.scale.scaleMin:r.style.chart.grid.scale.scaleMin=null,y.config&&c.hasDeepProperty(y.config,"style.chart.grid.scale.scaleMax")?r.style.chart.grid.scale.scaleMax=y.config.style.chart.grid.scale.scaleMax:r.style.chart.grid.scale.scaleMax=null,r}e.watch(()=>y.config,l=>{t.value=re(),G(),Ee.value+=1,Me.value+=1,$e.value+=1},{deep:!0}),e.watch(()=>y.dataset,l=>{ve()},{deep:!0});const b=e.ref({dataLabels:{show:t.value.style.chart.bars.dataLabels.show},showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),{isPrinting:se,isImaging:ne,generatePdf:ie,generateImage:ue}=ze.usePrinter({elementId:`stackbar_${U.value}`,fileName:t.value.style.chart.title.text||"vue-ui-stackbar"}),D=e.ref({width:t.value.style.chart.width,height:t.value.style.chart.height,paddingRatio:{top:t.value.style.chart.padding.top/t.value.style.chart.height,right:t.value.style.chart.padding.right/t.value.style.chart.width,bottom:t.value.style.chart.padding.bottom/t.value.style.chart.height,left:t.value.style.chart.padding.left/t.value.style.chart.width}}),Te=e.computed(()=>c.convertCustomPalette(t.value.customPalette)),ce=e.ref(null),de=e.ref(null);e.onMounted(()=>{G()});function G(){if(c.objectIsEmpty(y.dataset)?c.error({componentName:"VueUiStackbar",type:"dataset"}):y.dataset.forEach((l,r)=>{c.getMissingDatasetAttributes({datasetObject:l,requiredAttributes:["name","series"]}).forEach(a=>{E.value=!1,c.error({componentName:"VueUiStackbar",type:"datasetSerieAttribute",property:a,index:r})})}),setTimeout(()=>{T.value=!0},10),t.value.responsive){const l=Se.throttle(()=>{T.value=!1;const{width:r,height:a}=Se.useResponsive({chart:M.value,title:t.value.style.chart.title.text?ee.value:null,legend:t.value.style.chart.legend.show?te.value:null,slicer:t.value.style.chart.zoom.show&&L.value>1?ae.value:null,source:le.value});D.value.width=r,D.value.height=a,clearTimeout(de.value),de.value=setTimeout(()=>{T.value=!0},10)});ce.value=new ResizeObserver(l),ce.value.observe(M.value.parentNode)}}const s=e.computed(()=>{const{height:l,width:r}=D.value,{right:a}=D.value.paddingRatio,o=t.value.style.chart.padding.top,n=r-r*a,i=l-t.value.style.chart.padding.bottom,m=t.value.style.chart.padding.left,S=r-m-r*a,z=l-o-t.value.style.chart.padding.bottom;return{chartHeight:l,chartWidth:r,top:o,right:n,bottom:i,left:m,width:S,height:z<0?0:z}}),B=e.computed(()=>y.dataset.map((l,r)=>{const a=c.convertColorToHex(l.color)||Te.value[r]||c.palette[r]||c.palette[r%c.palette.length];return{...l,series:JSON.parse(JSON.stringify(l.series)).map(o=>t.value.style.chart.bars.distributed?Math.abs(o):o),signedSeries:l.series.map(o=>o>=0?1:-1),absoluteIndex:r,id:c.createUid(),color:a}})),L=e.computed(()=>Math.max(...B.value.filter(l=>!p.value.includes(l.id)).map(l=>l.series.length))),u=e.ref({start:0,end:Math.max(...y.dataset.map(l=>l.series.length))});function ve(){u.value={start:0,end:Math.max(...y.dataset.map(l=>l.series.length))},oe.value+=1}const d=e.computed(()=>{let l;return t.value.orientation==="vertical"?l=s.value.width/(u.value.end-u.value.start):l=s.value.height/(u.value.end-u.value.start),l<=0?0:l}),V=e.computed(()=>c.sumSeries(B.value.filter(l=>!p.value.includes(l.id))).slice(u.value.start,u.value.end)),Ve=e.computed(()=>c.sumSeries(B.value.filter(l=>!p.value.includes(l.id)).map(l=>({...l,series:l.series.map((r,a)=>l.signedSeries[a]===-1&&r>=0?-r:r)}))).slice(u.value.start,u.value.end)),A=e.computed(()=>{const l=B.value.filter(r=>!p.value.includes(r.id));return{positive:c.sumSeries(l.map(r=>({...r,series:r.series.slice(u.value.start,u.value.end).map(a=>a>=0?a:0)}))),negative:c.sumSeries(l.map(r=>({...r,series:r.series.slice(u.value.start,u.value.end).map(a=>a<0?a:0)})))}}),w=e.computed(()=>{const l=t.value.style.chart.grid.scale.scaleMax!==null&&!t.value.style.chart.bars.distributed?t.value.style.chart.grid.scale.scaleMax:Math.max(...A.value.positive),r=Math.min(...A.value.negative),a=t.value.style.chart.grid.scale.scaleMin!==null&&!t.value.style.chart.bars.distributed?t.value.style.chart.grid.scale.scaleMin:[-1/0,1/0,NaN,void 0,null].includes(r)?0:r,o=!t.value.style.chart.bars.distributed&&(t.value.style.chart.grid.scale.scaleMax!==null||t.value.style.chart.grid.scale.scaleMin!==null)?c.calculateNiceScaleWithExactExtremes(a>0?0:a,l<0?0:l,t.value.style.chart.grid.scale.ticks):c.calculateNiceScale(a>0?0:a,l<0?0:l,t.value.style.chart.grid.scale.ticks);return o.ticks.map(n=>({zero:s.value.bottom-s.value.height*(Math.abs(o.min)/(o.max+Math.abs(o.min))),y:s.value.bottom-s.value.height*((n+Math.abs(o.min))/(o.max+Math.abs(o.min))),x:s.value.left-8,horizontal_zero:s.value.left+s.value.width*(Math.abs(o.min)/(o.max+Math.abs(o.min))),horizontal_x:s.value.left+s.value.width*((n+Math.abs(o.min))/(o.max+Math.abs(o.min))),horizontal_y:s.value.bottom-8,value:n}))}),P=e.computed(()=>t.value.style.chart.grid.x.timeLabels.values.slice(u.value.start,u.value.end)),g=e.computed(()=>{if(!E.value)return[];let l=Array(L.value).fill(0),r=Array(L.value).fill(0),a=Array(L.value).fill(0),o=Array(L.value).fill(0);const n=Math.max(...A.value.positive)||0,i=Math.min(...A.value.negative),m=[-1/0,1/0,NaN,void 0,null].includes(i)?0:i,S=!t.value.style.chart.bars.distributed&&(t.value.style.chart.grid.scale.scaleMax!==null||t.value.style.chart.grid.scale.scaleMin!==null)?c.calculateNiceScaleWithExactExtremes(t.value.style.chart.grid.scale.scaleMin!==null?t.value.style.chart.grid.scale.scaleMin:m>0?0:m,t.value.style.chart.grid.scale.scaleMax!==null?t.value.style.chart.grid.scale.scaleMax:n<0?0:n,t.value.style.chart.grid.scale.ticks):c.calculateNiceScale(t.value.style.chart.grid.scale.scaleMin!==null?t.value.style.chart.grid.scale.scaleMin:m>0?0:m,t.value.style.chart.grid.scale.scaleMax!==null?t.value.style.chart.grid.scale.scaleMax:n<0?0:n,t.value.style.chart.grid.scale.ticks),{min:z,max:F}=S,_=F+(z>=0?0:Math.abs(z))||1,f=s.value.height,W=s.value.width,Ce=w.value[0]?w.value[0].zero:s.value.bottom,Be=w.value[0]?w.value[0].horizontal_zero:s.value.left;return B.value.filter(R=>!p.value.includes(R.id)).map(R=>{const C=R.series.slice(u.value.start,u.value.end),De=R.signedSeries.slice(u.value.start,u.value.end),Ae=C.map((v,h)=>s.value.left+d.value*h+d.value*t.value.style.chart.bars.gapRatio/4),Ie=C.map((v,h)=>s.value.top+d.value*h+d.value*t.value.style.chart.bars.gapRatio/4),qe=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;let N,x;return v>0?(x=f*k,N=Ce-x-l[h],l[h]+=x):(x=f*k,N=Ce+a[h],a[h]+=Math.abs(x)),N}),He=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;let N,x;return v>0?(x=W*k,N=Be+r[h],r[h]+=x):(x=W*k,N=Be-Math.abs(x)-o[h],o[h]+=Math.abs(x)),N}),We=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;return v>0?f*k:f*Math.abs(k)}),Ue=C.map((v,h)=>{const k=t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/_;return v>0?W*k:W*Math.abs(k)}),Xe=C.map(v=>Math.abs(v)).reduce((v,h)=>v+h,0);return{...R,proportions:C.map((v,h)=>t.value.style.chart.bars.distributed?(v||0)/V.value[h]:(v||0)/Xe),series:C,signedSeries:De,x:Ae,y:qe,height:We,horizontal_width:Ue,horizontal_y:Ie,horizontal_x:He}})}),he=e.computed(()=>Ve.value.map((l,r)=>({value:l,sign:l>=0?1:-1})));function I(l,r,a,o,n){const i=n===-1&&l>=0?-l:l;return c.applyDataLabel(t.value.style.chart.bars.dataLabels.formatter,i,c.dataLabel({p:t.value.style.chart.bars.dataLabels.prefix,v:i,s:t.value.style.chart.bars.dataLabels.suffix,r:t.value.style.chart.bars.dataLabels.rounding}),{datapoint:r,seriesIndex:a,datapointIndex:o})}function ge(l,r,a,o){return c.applyDataLabel(t.value.style.chart.bars.dataLabels.formatter,l,c.dataLabel({v:l,s:"%",r:t.value.style.chart.bars.dataLabels.rounding}),{datapoint:r,seriesIndex:a,datapointIndex:o})}function ye(l){const r=JSON.parse(JSON.stringify(g.value)).map(a=>({name:a.name,value:a.series[l]===0?0:a.series[l]||null,proportion:a.proportions[l]||null,color:a.color,id:a.id}));K("selectDatapoint",{datapoint:r,period:P.value[l]})}function me(l){$.value=l,O.value=!0;const r=t.value.style.chart.tooltip.customFormat,a=JSON.parse(JSON.stringify(g.value)).map(n=>({name:n.name,value:n.series[l]===0?0:(n.signedSeries[l]===-1&&n.series[l]>=0?-n.series[l]:n.series[l])||null,proportion:n.proportions[l]||null,color:n.color,id:n.id})),o=a.map(n=>Math.abs(n.value)).reduce((n,i)=>n+i,0);if(c.isFunction(r)&&c.functionReturnsString(()=>r({seriesIndex:l,datapoint:a,series:g.value,config:t.value})))X.value=r({seriesIndex:l,datapoint:a,series:g.value,config:t.value});else{const{showValue:n,showPercentage:i,borderColor:m,roundingValue:S,roundingPercentage:z}=t.value.style.chart.tooltip;let F="";P.value[l]&&(F+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${m};padding-bottom:6px;margin-bottom:3px;">${P.value[l]}</div>`);const _=[n&&i?"(":"",n&&i?")":""];a.reverse().forEach(f=>{F+=`
2
2
  <div style="display:flex;flex-direction:row;align-items:center;gap:4px">
3
3
  <svg viewBox="0 0 12 12" height="14" width="14"><rect rx="1" x="0" y="0" height="12" width="12" stroke="none" fill="${t.value.style.chart.bars.gradient.show?`url(#gradient_${f.id})`:f.color}"/></svg>
4
4
  ${f.name}${n||i?":":""} ${n?c.dataLabel({p:t.value.style.chart.bars.dataLabels.prefix,v:f.value,s:t.value.style.chart.bars.dataLabels.suffix,r:S}):""} ${_[0]}${i?c.dataLabel({v:isNaN(f.value/o)?0:Math.abs(f.value)/o*100,s:"%",r:z}):""}${_[1]}
@@ -1,16 +1,16 @@
1
1
  import { computed as h, ref as i, watch as Ie, onMounted as Me, onBeforeUnmount as De, openBlock as o, createElementBlock as u, normalizeClass as F, normalizeStyle as Q, createBlock as T, createCommentVNode as v, unref as d, createSlots as Ge, withCtx as f, renderSlot as y, normalizeProps as W, guardReactiveProps as I, createVNode as xe, Fragment as g, renderList as C, createElementVNode as k, toDisplayString as L, mergeProps as Ee, createTextVNode as Ve, nextTick as He } from "vue";
2
- import { u as Re, c as Z, t as Ue, a as Be, p as A, o as Xe, e as ee, g as Ce, b as je, d as we, v as Ye, C as Je, f as B, X as qe, i as te, l as Ke, h as Qe, x as _e, y as Ze, q as et, r as tt, E as lt } from "./index-Cn1EWnYG.js";
2
+ import { u as Re, c as Z, t as Ue, a as Be, p as A, o as Xe, e as ee, g as Ce, b as je, d as we, v as Ye, C as Je, f as B, X as qe, i as te, l as Ke, h as Qe, x as _e, y as Ze, q as et, r as tt, E as lt } from "./index-CRiXU5u4.js";
3
3
  import { t as at, u as ot } from "./useResponsive-CoxXLe23.js";
4
- import { _ as st } from "./Title-yJsQ5q-l.js";
5
- import { u as rt, U as ut } from "./usePrinter-ZkzmtO6K.js";
6
- import { _ as nt } from "./Tooltip-klg8yuWM.js";
7
- import { D as it } from "./DataTable-CnLqhXZ2.js";
8
- import vt from "./vue-ui-skeleton-D3AGluiW.js";
9
- import { _ as ct } from "./Shape-CppjH62a.js";
10
- import ht from "./vue-ui-accordion-UADqAdVj.js";
11
- import { u as $e } from "./useNestedProp-BXn-g9sr.js";
12
- import { _ as dt } from "./PackageVersion-Bw7N_9KM.js";
13
- import { P as pt } from "./PenAndPaper-BiWc81tP.js";
4
+ import { _ as st } from "./Title-eBZtf9JC.js";
5
+ import { u as rt, U as ut } from "./usePrinter-uc7d9V3q.js";
6
+ import { _ as nt } from "./Tooltip-wUAIAM2C.js";
7
+ import { D as it } from "./DataTable-Bqouzjik.js";
8
+ import vt from "./vue-ui-skeleton-CjpLaxv-.js";
9
+ import { _ as ct } from "./Shape-IDJlHO6G.js";
10
+ import ht from "./vue-ui-accordion-UcagglMR.js";
11
+ import { u as $e } from "./useNestedProp-CJpdmtwu.js";
12
+ import { _ as dt } from "./PackageVersion-CTpPwNFg.js";
13
+ import { P as pt } from "./PenAndPaper-DLwiH2Np.js";
14
14
  import { _ as ft } from "./_plugin-vue_export-helper-CHgC5LLL.js";
15
15
  const yt = ["id"], bt = ["xmlns", "viewBox"], mt = { key: 0 }, gt = { key: 0 }, kt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], xt = { key: 1 }, Ct = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], wt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], _t = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], $t = ["x", "y", "fill", "font-size"], Tt = ["x", "y", "font-size", "fill"], Lt = ["fill", "font-size", "transform"], At = ["fill", "font-size", "x", "y"], Pt = ["x1", "x2", "y1", "y2", "stroke"], St = ["cx", "cy", "fill"], zt = ["cx", "cy", "fill"], Nt = ["id"], Ot = ["stop-color"], Ft = ["stop-color"], Wt = ["stop-color"], It = { key: 0 }, Mt = ["x", "y", "font-size", "fill"], Dt = {
16
16
  key: 5,