vue-data-ui 2.3.26 → 2.3.27

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 (146) hide show
  1. package/README.md +13 -7
  2. package/dist/{Arrow-BRk7ox-0.cjs → Arrow-HROOtfWV.cjs} +1 -1
  3. package/dist/{Arrow-Bkhcj4Ua.js → Arrow-O38M_J_k.js} +1 -1
  4. package/dist/{BaseIcon-r5Y-jYX5.cjs → BaseIcon-CiO8gP9x.cjs} +1 -1
  5. package/dist/{BaseIcon-Cr58pV0U.js → BaseIcon-D8FXGup9.js} +4 -3
  6. package/dist/{DataTable-BM_PreHp.cjs → DataTable-C6HTLT7L.cjs} +1 -1
  7. package/dist/{DataTable-DFEpvyNK.js → DataTable-EqeVt-K-.js} +2 -2
  8. package/dist/{Legend-C-mWIWYw.js → Legend-8eVERYMn.js} +1 -1
  9. package/dist/{Legend-yNP9uHMI.cjs → Legend-C_lBCmBu.cjs} +1 -1
  10. package/dist/{Shape-DBO11ZkD.cjs → Shape-D8RdmYWq.cjs} +1 -1
  11. package/dist/{Shape-CN-v5JU3.js → Shape-DvcgW6uK.js} +1 -1
  12. package/dist/{Slicer-CTw_6ddN.cjs → Slicer-BvYL7yVK.cjs} +1 -1
  13. package/dist/{Slicer-DK9Yp2l3.js → Slicer-CH_5wnFM.js} +1 -1
  14. package/dist/{Title-R6PrAyfG.cjs → Title-B9iq63n1.cjs} +1 -1
  15. package/dist/{Title-BFBOWO3Q.js → Title-C3Ez1ceq.js} +1 -1
  16. package/dist/{Tooltip-DravvC2X.js → Tooltip-7SRMoiu-.js} +1 -1
  17. package/dist/{Tooltip-DAjRpG7b.cjs → Tooltip-DcDEanxk.cjs} +1 -1
  18. package/dist/documentation/installation.md +3 -2
  19. package/dist/index-BQOxn6SH.cjs +4 -0
  20. package/dist/{index-Ck92ROEN.js → index-DiWO-_ca.js} +874 -537
  21. package/dist/style.css +1 -1
  22. package/dist/types/vue-data-ui.d.cts +169 -33
  23. package/dist/types/vue-data-ui.d.ts +169 -33
  24. package/dist/{useNestedProp-CUrnndD5.cjs → useNestedProp-BtqgWTf9.cjs} +1 -1
  25. package/dist/{useNestedProp-C0fDv_7c.js → useNestedProp-DNX5EefQ.js} +1 -1
  26. package/dist/{usePrinter-DBPRZcAN.js → usePrinter-BD40aUzH.js} +1 -1
  27. package/dist/{usePrinter-c6hW2FYl.cjs → usePrinter-Q1J--baX.cjs} +1 -1
  28. package/dist/{vue-data-ui-BhnYYgwX.js → vue-data-ui-GHpxkf8a.js} +64 -62
  29. package/dist/vue-data-ui-yd5q4Ura.cjs +9 -0
  30. package/dist/vue-data-ui.cjs +1 -1
  31. package/dist/vue-data-ui.js +37 -36
  32. package/dist/{vue-ui-3d-bar-B2bAI0Ok.js → vue-ui-3d-bar-CAmoj5dT.js} +7 -7
  33. package/dist/{vue-ui-3d-bar-DXLZL0d1.cjs → vue-ui-3d-bar-DkJ4c3HQ.cjs} +1 -1
  34. package/dist/{vue-ui-accordion-CYyb5N_o.js → vue-ui-accordion-CiNdgRO9.js} +3 -3
  35. package/dist/{vue-ui-accordion-jSupvtFc.cjs → vue-ui-accordion-ogVvFfQy.cjs} +1 -1
  36. package/dist/{vue-ui-age-pyramid-DfD0KmQj.js → vue-ui-age-pyramid-BrTpbEha.js} +8 -8
  37. package/dist/{vue-ui-age-pyramid-07V7HAUc.cjs → vue-ui-age-pyramid-CkKVbbl8.cjs} +1 -1
  38. package/dist/{vue-ui-annotator-DPxczJLi.js → vue-ui-annotator-B9IqZ-Hy.js} +1 -1
  39. package/dist/{vue-ui-annotator-Cn3IeVBP.cjs → vue-ui-annotator-QbetAXoj.cjs} +1 -1
  40. package/dist/{vue-ui-candlestick-3oyL2e4C.cjs → vue-ui-candlestick-BvRwlc3d.cjs} +1 -1
  41. package/dist/{vue-ui-candlestick-D5lyf_Oa.js → vue-ui-candlestick-XjjwFaDO.js} +9 -9
  42. package/dist/{vue-ui-carousel-table-BolCtd-r.cjs → vue-ui-carousel-table-DtxcnSEp.cjs} +1 -1
  43. package/dist/{vue-ui-carousel-table-CMm6zqzo.js → vue-ui-carousel-table-KYENY5gp.js} +4 -4
  44. package/dist/{vue-ui-chestnut-7EjCEIHL.cjs → vue-ui-chestnut-C7gFvKLJ.cjs} +1 -1
  45. package/dist/{vue-ui-chestnut-BaZuTrGs.js → vue-ui-chestnut-DfIcguJd.js} +6 -6
  46. package/dist/{vue-ui-cursor-BNflEMT2.js → vue-ui-cursor-C4pJe90O.js} +2 -2
  47. package/dist/{vue-ui-cursor-D_Q1P1gt.cjs → vue-ui-cursor-COS_MXr8.cjs} +1 -1
  48. package/dist/{vue-ui-dashboard-CjPmVfs3.js → vue-ui-dashboard-B_NUnxEF.js} +2 -2
  49. package/dist/{vue-ui-dashboard-D2RbUnMC.cjs → vue-ui-dashboard-DNOjWStr.cjs} +1 -1
  50. package/dist/{vue-ui-digits-CgrkyBWm.cjs → vue-ui-digits-Vx5prxaT.cjs} +1 -1
  51. package/dist/{vue-ui-digits-DZPhwYe-.js → vue-ui-digits-uufqLbRt.js} +2 -2
  52. package/dist/{vue-ui-donut-CT4WPUa9.js → vue-ui-donut-C33U3e8H.js} +9 -9
  53. package/dist/{vue-ui-donut-OZoCX5cL.cjs → vue-ui-donut-CeHnjIGu.cjs} +1 -1
  54. package/dist/{vue-ui-donut-evolution-HBigDBJ1.js → vue-ui-donut-evolution-IzfAVo5I.js} +9 -9
  55. package/dist/{vue-ui-donut-evolution-B5QxzbPT.cjs → vue-ui-donut-evolution-hHfvz1Yd.cjs} +1 -1
  56. package/dist/{vue-ui-dumbbell-BbsbYS3D.js → vue-ui-dumbbell-KvrVLLw6.js} +8 -8
  57. package/dist/{vue-ui-dumbbell-D3bJRtj_.cjs → vue-ui-dumbbell-z_Ck4W33.cjs} +1 -1
  58. package/dist/{vue-ui-flow-JFuGf_sv.js → vue-ui-flow-BjMikE9b.js} +7 -7
  59. package/dist/{vue-ui-flow-CfoQVPzv.cjs → vue-ui-flow-Dg4dkrcd.cjs} +1 -1
  60. package/dist/{vue-ui-galaxy-CvZ1nzpB.cjs → vue-ui-galaxy-B8EoId23.cjs} +1 -1
  61. package/dist/{vue-ui-galaxy-e4ZjPVWn.js → vue-ui-galaxy-BdgveN18.js} +9 -9
  62. package/dist/{vue-ui-gauge-KjRrEYR0.js → vue-ui-gauge-D01FLnNz.js} +5 -5
  63. package/dist/{vue-ui-gauge-B_LND1ru.cjs → vue-ui-gauge-D8pokfoA.cjs} +1 -1
  64. package/dist/{vue-ui-gizmo-CBtza3IW.cjs → vue-ui-gizmo-8lKc8m8b.cjs} +1 -1
  65. package/dist/{vue-ui-gizmo-DzUxGQT6.js → vue-ui-gizmo-Cp-EftjP.js} +2 -2
  66. package/dist/{vue-ui-heatmap-BYrZ7lqp.js → vue-ui-heatmap-BEsvmj5R.js} +8 -8
  67. package/dist/{vue-ui-heatmap-CT1YT1xR.cjs → vue-ui-heatmap-DvpvKq3Q.cjs} +1 -1
  68. package/dist/{vue-ui-kpi-C5hCo3ZN.js → vue-ui-kpi-D6rVKouk.js} +2 -2
  69. package/dist/{vue-ui-kpi-DViXiLEh.cjs → vue-ui-kpi-PWurAGxE.cjs} +1 -1
  70. package/dist/{vue-ui-mini-loader-DDcjfpGi.cjs → vue-ui-mini-loader-BsypWozL.cjs} +1 -1
  71. package/dist/{vue-ui-mini-loader-BVSeWn2P.js → vue-ui-mini-loader-YV68i0nk.js} +2 -2
  72. package/dist/{vue-ui-molecule-pOHE_E-U.js → vue-ui-molecule-BWYCf3Km.js} +9 -9
  73. package/dist/{vue-ui-molecule--7cCYOj1.cjs → vue-ui-molecule-Bx3fXHnw.cjs} +1 -1
  74. package/dist/{vue-ui-mood-radar-DhmpKZpW.cjs → vue-ui-mood-radar-C6devC4e.cjs} +1 -1
  75. package/dist/{vue-ui-mood-radar-Co6cLOze.js → vue-ui-mood-radar-DsZozq6x.js} +9 -9
  76. package/dist/{vue-ui-nested-donuts-BFyjhjQ_.cjs → vue-ui-nested-donuts-BtT3VsSf.cjs} +1 -1
  77. package/dist/{vue-ui-nested-donuts-kZh0P2Zc.js → vue-ui-nested-donuts-qaViBhR3.js} +9 -9
  78. package/dist/{vue-ui-onion-DSGKwLbh.js → vue-ui-onion-0iFsjuLM.js} +9 -9
  79. package/dist/{vue-ui-onion-BoKPJLJS.cjs → vue-ui-onion-9ATTDUpw.cjs} +1 -1
  80. package/dist/{vue-ui-parallel-coordinate-plot-BLAKE17u.cjs → vue-ui-parallel-coordinate-plot-BkZOKTIS.cjs} +1 -1
  81. package/dist/{vue-ui-parallel-coordinate-plot-B1I7MZP6.js → vue-ui-parallel-coordinate-plot-DxDFs1Lb.js} +10 -10
  82. package/dist/{vue-ui-quadrant-BIPClpre.cjs → vue-ui-quadrant-DD4H_Dhk.cjs} +1 -1
  83. package/dist/{vue-ui-quadrant-CHdlKi32.js → vue-ui-quadrant-Tw7SKMbQ.js} +10 -10
  84. package/dist/{vue-ui-quick-chart-ChnLIxWE.js → vue-ui-quick-chart-CpFHKtpm.js} +6 -6
  85. package/dist/{vue-ui-quick-chart-5GZ03bOo.cjs → vue-ui-quick-chart-D1udOl47.cjs} +1 -1
  86. package/dist/{vue-ui-radar-BWPQ2p4R.cjs → vue-ui-radar-CZmJDj3q.cjs} +1 -1
  87. package/dist/{vue-ui-radar-BIogM1O1.js → vue-ui-radar-D5FV2IDm.js} +10 -10
  88. package/dist/{vue-ui-rating-BI9eigGC.cjs → vue-ui-rating-DTWIh_CV.cjs} +1 -1
  89. package/dist/{vue-ui-rating-Y3i8Ogz9.js → vue-ui-rating-Dds9tjxd.js} +2 -2
  90. package/dist/{vue-ui-relation-circle-m1hqaBQ0.js → vue-ui-relation-circle-B2p8F7-L.js} +5 -5
  91. package/dist/{vue-ui-relation-circle-9tS5nJOC.cjs → vue-ui-relation-circle-Cu9lKkX3.cjs} +1 -1
  92. package/dist/{vue-ui-rings-BGa6d8nO.js → vue-ui-rings-BKzCFSx-.js} +9 -9
  93. package/dist/{vue-ui-rings-C2f4ARZJ.cjs → vue-ui-rings-DN7XmhKZ.cjs} +1 -1
  94. package/dist/{vue-ui-scatter-B5aIcdg9.js → vue-ui-scatter-CwV9l1P7.js} +10 -10
  95. package/dist/{vue-ui-scatter-CSAIrCEA.cjs → vue-ui-scatter-DJlC5mz4.cjs} +1 -1
  96. package/dist/{vue-ui-screenshot-BxURLkX-.js → vue-ui-screenshot-Bo6i-aRF.js} +1 -1
  97. package/dist/{vue-ui-screenshot-CHnimNZm.cjs → vue-ui-screenshot-CnPWz57l.cjs} +1 -1
  98. package/dist/{vue-ui-skeleton-DwEcR_uq.cjs → vue-ui-skeleton-CcrGR_Vh.cjs} +1 -1
  99. package/dist/{vue-ui-skeleton-B_c8tnen.js → vue-ui-skeleton-CeNL0kH-.js} +2 -2
  100. package/dist/{vue-ui-smiley-UfNprSwL.cjs → vue-ui-smiley-BBcmwq4z.cjs} +1 -1
  101. package/dist/{vue-ui-smiley-CV3_wGOs.js → vue-ui-smiley-BGMzw-SW.js} +2 -2
  102. package/dist/{vue-ui-spark-trend-7KqTeaKP.js → vue-ui-spark-trend-CSC9zmt7.js} +4 -4
  103. package/dist/{vue-ui-spark-trend-DgqT22Rz.cjs → vue-ui-spark-trend-DlvTlA9z.cjs} +1 -1
  104. package/dist/{vue-ui-sparkbar-ekQGLCse.js → vue-ui-sparkbar-0CNZluKs.js} +3 -3
  105. package/dist/{vue-ui-sparkbar-DZoXx0tC.cjs → vue-ui-sparkbar-Di-BPkJ0.cjs} +1 -1
  106. package/dist/{vue-ui-sparkgauge-7hgIimV9.cjs → vue-ui-sparkgauge-B5g5nxUh.cjs} +1 -1
  107. package/dist/{vue-ui-sparkgauge-CsU1IpLn.js → vue-ui-sparkgauge-DJPt0cLe.js} +3 -3
  108. package/dist/{vue-ui-sparkhistogram-CRY_Y5eU.cjs → vue-ui-sparkhistogram-BhkYmR4U.cjs} +1 -1
  109. package/dist/{vue-ui-sparkhistogram-_S3BGzoc.js → vue-ui-sparkhistogram-DpvQcFls.js} +4 -4
  110. package/dist/{vue-ui-sparkline-BR6TRx3i.cjs → vue-ui-sparkline-Bw3y-88R.cjs} +1 -1
  111. package/dist/{vue-ui-sparkline-DRu2dwsD.js → vue-ui-sparkline-CDSg9rhl.js} +3 -3
  112. package/dist/{vue-ui-sparkstackbar-aI73Hnxf.cjs → vue-ui-sparkstackbar-Ckcir2dk.cjs} +1 -1
  113. package/dist/{vue-ui-sparkstackbar-DbxeqSNo.js → vue-ui-sparkstackbar-DveNwcVx.js} +3 -3
  114. package/dist/vue-ui-stackbar-CZUsUeZ_.js +750 -0
  115. package/dist/vue-ui-stackbar-jNWFgXiA.cjs +15 -0
  116. package/dist/{vue-ui-strip-plot-CuhUA0Qj.cjs → vue-ui-strip-plot-CzHFNhr3.cjs} +1 -1
  117. package/dist/{vue-ui-strip-plot-B1C5JAka.js → vue-ui-strip-plot-lVVqtsNc.js} +9 -9
  118. package/dist/{vue-ui-table-vZxmfkYh.js → vue-ui-table-8hNkBy1z.js} +1 -1
  119. package/dist/{vue-ui-table-heatmap-B-we4-9Z.js → vue-ui-table-heatmap-BAPA4nvf.js} +4 -4
  120. package/dist/{vue-ui-table-heatmap-CMASM_wg.cjs → vue-ui-table-heatmap-HgHQKSax.cjs} +1 -1
  121. package/dist/{vue-ui-table-BKq6uaQQ.cjs → vue-ui-table-qtBWpg0m.cjs} +1 -1
  122. package/dist/{vue-ui-table-sparkline-DBBEauiC.js → vue-ui-table-sparkline-DZY_23mg.js} +5 -5
  123. package/dist/{vue-ui-table-sparkline-CXr9vhM1.cjs → vue-ui-table-sparkline-Q8y6tloS.cjs} +1 -1
  124. package/dist/{vue-ui-thermometer-8Nd55_MN.cjs → vue-ui-thermometer-Cbu9jVvC.cjs} +1 -1
  125. package/dist/{vue-ui-thermometer-_KBWIP2u.js → vue-ui-thermometer-CcH1qmLq.js} +5 -5
  126. package/dist/{vue-ui-timer-CgYqGFuQ.cjs → vue-ui-timer-C52mSn4m.cjs} +1 -1
  127. package/dist/{vue-ui-timer-D_UhMYSm.js → vue-ui-timer-DJfYr02u.js} +4 -4
  128. package/dist/{vue-ui-tiremarks-Dy1h0ZlT.js → vue-ui-tiremarks-CcLcd5oA.js} +5 -5
  129. package/dist/{vue-ui-tiremarks-7TlDnrfz.cjs → vue-ui-tiremarks-dNuNMt_R.cjs} +1 -1
  130. package/dist/{vue-ui-treemap-DrXs6PXS.js → vue-ui-treemap-BOz94BVK.js} +9 -9
  131. package/dist/{vue-ui-treemap-feRelA00.cjs → vue-ui-treemap-orjA7Y0U.cjs} +1 -1
  132. package/dist/{vue-ui-vertical-bar-ICikmicE.cjs → vue-ui-vertical-bar-BHIt5cjc.cjs} +1 -1
  133. package/dist/{vue-ui-vertical-bar-BcIZTywJ.js → vue-ui-vertical-bar-BquCm_UG.js} +9 -9
  134. package/dist/{vue-ui-waffle-DtIGHSlB.js → vue-ui-waffle-CNlp7RTS.js} +9 -9
  135. package/dist/{vue-ui-waffle-CGhfSP2_.cjs → vue-ui-waffle-Dv8pXiYm.cjs} +1 -1
  136. package/dist/{vue-ui-wheel-EdABo6ty.cjs → vue-ui-wheel-BVjbh4oM.cjs} +1 -1
  137. package/dist/{vue-ui-wheel-B6Cya6I_.js → vue-ui-wheel-DMRiVkhu.js} +5 -5
  138. package/dist/{vue-ui-word-cloud-narokI2y.js → vue-ui-word-cloud-CHRE8f_k.js} +6 -6
  139. package/dist/{vue-ui-word-cloud-DQV03srb.cjs → vue-ui-word-cloud-CZum_IjT.cjs} +1 -1
  140. package/dist/{vue-ui-xy-DOWVG8x2.cjs → vue-ui-xy-BOoG4xg8.cjs} +1 -1
  141. package/dist/{vue-ui-xy-D1yhL28g.js → vue-ui-xy-CsFr8tix.js} +12 -12
  142. package/dist/{vue-ui-xy-canvas-Dp8YKKTs.cjs → vue-ui-xy-canvas-BHa3-phi.cjs} +1 -1
  143. package/dist/{vue-ui-xy-canvas-D2VfaNJf.js → vue-ui-xy-canvas-Bb2Z3E-7.js} +10 -10
  144. package/package.json +2 -1
  145. package/dist/index-D2z8eN-t.cjs +0 -4
  146. package/dist/vue-data-ui-B1MbygY4.cjs +0 -9
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("./useNestedProp-CUrnndD5.cjs"),g=require("./index-D2z8eN-t.cjs"),j=require("./Title-R6PrAyfG.cjs"),O=require("./usePrinter-c6hW2FYl.cjs"),L=require("./vue-ui-skeleton-DwEcR_uq.cjs"),U=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),H=["id"],M=["xmlns","viewBox"],X={key:0},D=["d","stroke-width","stroke"],R={key:1},Y=["x1","y1","x2","y2","stroke-width","stroke"],J=["x","y","font-size","fill","font-weight","text-anchor"],K={key:3,class:"vue-data-ui-watermark"},Q={__name:"vue-ui-tiremarks",props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},setup(A,{expose:V}){const u=A,{vue_ui_tiremarks:q}=g.useConfig(),x=e.computed(()=>!!u.dataset&&Object.keys(u.dataset).length),$=e.ref(g.createUid()),w=e.ref(null),P=e.ref(0),t=e.computed(()=>{const a=E.useNestedProp({userConfig:u.config,defaultConfig:q});return a.theme?{...E.useNestedProp({userConfig:g.themes.vue_ui_tiremarks[a.theme]||u.config,defaultConfig:a})}:a}),{isPrinting:B,isImaging:z,generatePdf:S,generateImage:F}=O.usePrinter({elementId:$.value,fileName:t.value.style.chart.title.text||"vue-ui-tiremarks"}),c=e.ref(t.value.style.chart.animation.use?0:u.dataset.percentage);e.watch(()=>u.dataset.percentage,()=>{c.value=e.ref(t.value.style.chart.animation.use?0:u.dataset.percentage),I()}),e.onMounted(()=>{g.objectIsEmpty(u.dataset)&&g.error({componentName:"VueUiTiremarks",type:"dataset"}),I()});function I(){let a=0,s=t.value.style.chart.animation.speed,l=.005*t.value.style.chart.animation.acceleration;function r(){c.value+=s+a,a+=l,c.value<u.dataset.percentage?requestAnimationFrame(r):c.value=u.dataset.percentage}t.value.style.chart.animation.use&&(c.value=0,r())}const y=e.computed(()=>t.value.style.chart.layout.display==="vertical"),n=e.computed(()=>{const a={top:48,left:64,right:64,bottom:48};return y.value?{top:t.value.style.chart.percentage.verticalPosition==="top"?a.top:3,left:3,right:3,bottom:t.value.style.chart.percentage.verticalPosition==="bottom"?a.bottom:3}:{top:0,bottom:0,left:t.value.style.chart.percentage.horizontalPosition==="left"?a.left:3,right:t.value.style.chart.percentage.horizontalPosition==="right"?a.right:10}}),_=e.computed(()=>Object.values(n.value).reduce((a,s)=>a+s,0)),o=e.computed(()=>({height:y.value?312:56,width:y.value?56:312})),G=e.ref(100);e.computed(()=>u.dataset.percentage/G.value);const i=e.computed(()=>y.value?{mark:(o.value.height-_.value)/100*.5,space:(o.value.height-_.value)/100*.5}:{mark:(o.value.width-_.value)/100*.5,space:(o.value.width-_.value)/100*.5}),N=e.computed(()=>{const a=[];for(let l=0;l<100;l+=1){const r=t.value.style.chart.layout.ticks.gradient.show?g.shiftHue(t.value.style.chart.layout.activeColor,l/100*(t.value.style.chart.layout.ticks.gradient.shiftHueIntensity/100)):t.value.style.chart.layout.activeColor;if(y.value){const f=t.value.style.chart.layout.crescendo?(100-l)*(o.value.width-n.value.left-n.value.right)/100/3:0,v=n.value.left+4+f,d=o.value.width-n.value.right-4-f,h=o.value.height-n.value.bottom-l*i.value.mark-l*i.value.space-i.value.mark,m=o.value.height-n.value.bottom-l*i.value.mark-l*i.value.space-i.value.mark,k=(d-v)/t.value.style.chart.layout.curveAngleX,C=t.value.style.chart.layout.curveAngleY*((1+l)/100);a.push({x1:v,x2:d,y1:h,y2:m,curve:`M ${v} ${h} C ${v+k} ${h-C}, ${d-k} ${m-C}, ${d} ${m}`,color:r})}else{const f=t.value.style.chart.layout.crescendo?(100-l)*(o.value.height-n.value.top-n.value.bottom)/100/3:0,v=n.value.left+l*i.value.mark+l*i.value.space-i.value.mark,d=v,h=n.value.top+4+f,m=o.value.height-n.value.bottom-4-f,k=t.value.style.chart.layout.curveAngleY*((1+l)/100),C=(m-h)/t.value.style.chart.layout.curveAngleX;a.push({x1:v,x2:d,y1:h,y2:m,curve:`M ${v} ${h} C ${v+k} ${h+C}, ${d+k} ${m-C}, ${d} ${m}`,color:r})}}return a}),p=e.computed(()=>{let a,s,l;const r=t.value.style.chart.percentage.fontSize/3;return y.value?t.value.style.chart.percentage.verticalPosition==="top"?(a=o.value.width/2,s=n.value.top/2,l="middle"):t.value.style.chart.percentage.verticalPosition==="bottom"&&(a=o.value.width/2,s=o.value.height-n.value.bottom/2+r,l="middle"):t.value.style.chart.percentage.horizontalPosition==="left"?(a=4,s=o.value.height/2+r,l="start"):t.value.style.chart.percentage.horizontalPosition==="right"&&(a=o.value.width-n.value.right+8,s=o.value.height/2+r,l="start"),{x:a,y:s,textAnchor:l,bold:t.value.style.chart.percentage.bold,fontSize:t.value.style.chart.percentage.fontSize,fill:t.value.style.chart.percentage.color}}),b=e.ref(!1);function T(a){b.value=a,P.value+=1}return V({generatePdf:S,generateImage:F}),(a,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"tiremarksChart",ref:w,class:e.normalizeClass(`vue-ui-tiremarks ${t.value.useCssAnimation?"":"vue-ui-dna"}`),style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor}`),id:$.value},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:12px`)},[e.createVNode(j._sfc_main,{config:{title:{cy:"wheel-title",...t.value.style.chart.title},subtitle:{cy:"wheel-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&x.value?(e.openBlock(),e.createBlock(O.UserOptions,{ref:"details",key:`user_options_${P.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(B),isImaging:e.unref(z),uid:$.value,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasFullscreen:t.value.userOptions.buttons.fullscreen,hasXls:!1,isFullscreen:b.value,titles:{...t.value.userOptions.buttonTitles},chartElement:w.value,onToggleFullscreen:T,onGeneratePdf:e.unref(S),onGenerateImage:e.unref(F)},e.createSlots({_:2},[a.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionPdf",{},void 0,!0)]),key:"0"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:r})=>[e.renderSlot(a.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:r})),void 0,!0)]),key:"2"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasImg","hasFullscreen","isFullscreen","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),x.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(g.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":b.value,"vue-data-ui-fulscreen--off":!b.value}),viewBox:`0 0 ${o.value.width} ${o.value.height}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[t.value.style.chart.layout.curved?(e.openBlock(),e.createElementBlock("g",X,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(l,r)=>(e.openBlock(),e.createElementBlock("path",{d:l.curve,"stroke-width":i.value.mark,stroke:c.value>=r?l.color:t.value.style.chart.layout.inactiveColor,"stroke-linecap":"round",fill:"none",class:e.normalizeClass({"vue-ui-tick-animated":t.value.style.chart.animation.use&&r<=c.value})},null,10,D))),256))])):(e.openBlock(),e.createElementBlock("g",R,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(l,r)=>(e.openBlock(),e.createElementBlock("line",{x1:l.x1,y1:l.y1,x2:l.x2,y2:l.y2,"stroke-width":i.value.mark,stroke:c.value>=r?l.color:t.value.style.chart.layout.inactiveColor,"stroke-linecap":"round"},null,8,Y))),256))])),t.value.style.chart.percentage.show?(e.openBlock(),e.createElementBlock("text",{key:2,x:p.value.x,y:p.value.y,"font-size":p.value.fontSize,fill:t.value.style.chart.layout.ticks.gradient.show&&t.value.style.chart.percentage.useGradientColor?e.unref(g.shiftHue)(t.value.style.chart.layout.activeColor,c.value/100*(t.value.style.chart.layout.ticks.gradient.shiftHueIntensity/100)):t.value.style.chart.percentage.color,"font-weight":p.value.bold?"bold":"normal","text-anchor":p.value.textAnchor},e.toDisplayString(c.value.toFixed(t.value.style.chart.percentage.rounding)+"%"),9,J)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"svg",{svg:o.value},void 0,!0)],14,M)):e.createCommentVNode("",!0),a.$slots.watermark?(e.openBlock(),e.createElementBlock("div",K,[e.renderSlot(a.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(B)||e.unref(z)})),void 0,!0)])):e.createCommentVNode("",!0),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(L.default,{key:4,config:{type:"tiremarks",style:{backgroundColor:t.value.style.chart.backgroundColor,tiremarks:{color:"#CCCCCC"}}}},null,8,["config"]))],14,H))}},W=U._export_sfc(Q,[["__scopeId","data-v-92e00604"]]);exports.default=W;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("./useNestedProp-BtqgWTf9.cjs"),g=require("./index-BQOxn6SH.cjs"),j=require("./Title-B9iq63n1.cjs"),O=require("./usePrinter-Q1J--baX.cjs"),L=require("./vue-ui-skeleton-CcrGR_Vh.cjs"),U=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),H=["id"],M=["xmlns","viewBox"],X={key:0},D=["d","stroke-width","stroke"],R={key:1},Y=["x1","y1","x2","y2","stroke-width","stroke"],J=["x","y","font-size","fill","font-weight","text-anchor"],K={key:3,class:"vue-data-ui-watermark"},Q={__name:"vue-ui-tiremarks",props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},setup(A,{expose:V}){const u=A,{vue_ui_tiremarks:q}=g.useConfig(),x=e.computed(()=>!!u.dataset&&Object.keys(u.dataset).length),$=e.ref(g.createUid()),w=e.ref(null),P=e.ref(0),t=e.computed(()=>{const a=E.useNestedProp({userConfig:u.config,defaultConfig:q});return a.theme?{...E.useNestedProp({userConfig:g.themes.vue_ui_tiremarks[a.theme]||u.config,defaultConfig:a})}:a}),{isPrinting:B,isImaging:z,generatePdf:S,generateImage:F}=O.usePrinter({elementId:$.value,fileName:t.value.style.chart.title.text||"vue-ui-tiremarks"}),c=e.ref(t.value.style.chart.animation.use?0:u.dataset.percentage);e.watch(()=>u.dataset.percentage,()=>{c.value=e.ref(t.value.style.chart.animation.use?0:u.dataset.percentage),I()}),e.onMounted(()=>{g.objectIsEmpty(u.dataset)&&g.error({componentName:"VueUiTiremarks",type:"dataset"}),I()});function I(){let a=0,s=t.value.style.chart.animation.speed,l=.005*t.value.style.chart.animation.acceleration;function r(){c.value+=s+a,a+=l,c.value<u.dataset.percentage?requestAnimationFrame(r):c.value=u.dataset.percentage}t.value.style.chart.animation.use&&(c.value=0,r())}const y=e.computed(()=>t.value.style.chart.layout.display==="vertical"),n=e.computed(()=>{const a={top:48,left:64,right:64,bottom:48};return y.value?{top:t.value.style.chart.percentage.verticalPosition==="top"?a.top:3,left:3,right:3,bottom:t.value.style.chart.percentage.verticalPosition==="bottom"?a.bottom:3}:{top:0,bottom:0,left:t.value.style.chart.percentage.horizontalPosition==="left"?a.left:3,right:t.value.style.chart.percentage.horizontalPosition==="right"?a.right:10}}),_=e.computed(()=>Object.values(n.value).reduce((a,s)=>a+s,0)),o=e.computed(()=>({height:y.value?312:56,width:y.value?56:312})),G=e.ref(100);e.computed(()=>u.dataset.percentage/G.value);const i=e.computed(()=>y.value?{mark:(o.value.height-_.value)/100*.5,space:(o.value.height-_.value)/100*.5}:{mark:(o.value.width-_.value)/100*.5,space:(o.value.width-_.value)/100*.5}),N=e.computed(()=>{const a=[];for(let l=0;l<100;l+=1){const r=t.value.style.chart.layout.ticks.gradient.show?g.shiftHue(t.value.style.chart.layout.activeColor,l/100*(t.value.style.chart.layout.ticks.gradient.shiftHueIntensity/100)):t.value.style.chart.layout.activeColor;if(y.value){const f=t.value.style.chart.layout.crescendo?(100-l)*(o.value.width-n.value.left-n.value.right)/100/3:0,v=n.value.left+4+f,d=o.value.width-n.value.right-4-f,h=o.value.height-n.value.bottom-l*i.value.mark-l*i.value.space-i.value.mark,m=o.value.height-n.value.bottom-l*i.value.mark-l*i.value.space-i.value.mark,k=(d-v)/t.value.style.chart.layout.curveAngleX,C=t.value.style.chart.layout.curveAngleY*((1+l)/100);a.push({x1:v,x2:d,y1:h,y2:m,curve:`M ${v} ${h} C ${v+k} ${h-C}, ${d-k} ${m-C}, ${d} ${m}`,color:r})}else{const f=t.value.style.chart.layout.crescendo?(100-l)*(o.value.height-n.value.top-n.value.bottom)/100/3:0,v=n.value.left+l*i.value.mark+l*i.value.space-i.value.mark,d=v,h=n.value.top+4+f,m=o.value.height-n.value.bottom-4-f,k=t.value.style.chart.layout.curveAngleY*((1+l)/100),C=(m-h)/t.value.style.chart.layout.curveAngleX;a.push({x1:v,x2:d,y1:h,y2:m,curve:`M ${v} ${h} C ${v+k} ${h+C}, ${d+k} ${m-C}, ${d} ${m}`,color:r})}}return a}),p=e.computed(()=>{let a,s,l;const r=t.value.style.chart.percentage.fontSize/3;return y.value?t.value.style.chart.percentage.verticalPosition==="top"?(a=o.value.width/2,s=n.value.top/2,l="middle"):t.value.style.chart.percentage.verticalPosition==="bottom"&&(a=o.value.width/2,s=o.value.height-n.value.bottom/2+r,l="middle"):t.value.style.chart.percentage.horizontalPosition==="left"?(a=4,s=o.value.height/2+r,l="start"):t.value.style.chart.percentage.horizontalPosition==="right"&&(a=o.value.width-n.value.right+8,s=o.value.height/2+r,l="start"),{x:a,y:s,textAnchor:l,bold:t.value.style.chart.percentage.bold,fontSize:t.value.style.chart.percentage.fontSize,fill:t.value.style.chart.percentage.color}}),b=e.ref(!1);function T(a){b.value=a,P.value+=1}return V({generatePdf:S,generateImage:F}),(a,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"tiremarksChart",ref:w,class:e.normalizeClass(`vue-ui-tiremarks ${t.value.useCssAnimation?"":"vue-ui-dna"}`),style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor}`),id:$.value},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:12px`)},[e.createVNode(j._sfc_main,{config:{title:{cy:"wheel-title",...t.value.style.chart.title},subtitle:{cy:"wheel-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&x.value?(e.openBlock(),e.createBlock(O.UserOptions,{ref:"details",key:`user_options_${P.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(B),isImaging:e.unref(z),uid:$.value,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasFullscreen:t.value.userOptions.buttons.fullscreen,hasXls:!1,isFullscreen:b.value,titles:{...t.value.userOptions.buttonTitles},chartElement:w.value,onToggleFullscreen:T,onGeneratePdf:e.unref(S),onGenerateImage:e.unref(F)},e.createSlots({_:2},[a.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionPdf",{},void 0,!0)]),key:"0"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:r})=>[e.renderSlot(a.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:r})),void 0,!0)]),key:"2"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasImg","hasFullscreen","isFullscreen","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),x.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(g.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":b.value,"vue-data-ui-fulscreen--off":!b.value}),viewBox:`0 0 ${o.value.width} ${o.value.height}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[t.value.style.chart.layout.curved?(e.openBlock(),e.createElementBlock("g",X,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(l,r)=>(e.openBlock(),e.createElementBlock("path",{d:l.curve,"stroke-width":i.value.mark,stroke:c.value>=r?l.color:t.value.style.chart.layout.inactiveColor,"stroke-linecap":"round",fill:"none",class:e.normalizeClass({"vue-ui-tick-animated":t.value.style.chart.animation.use&&r<=c.value})},null,10,D))),256))])):(e.openBlock(),e.createElementBlock("g",R,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(l,r)=>(e.openBlock(),e.createElementBlock("line",{x1:l.x1,y1:l.y1,x2:l.x2,y2:l.y2,"stroke-width":i.value.mark,stroke:c.value>=r?l.color:t.value.style.chart.layout.inactiveColor,"stroke-linecap":"round"},null,8,Y))),256))])),t.value.style.chart.percentage.show?(e.openBlock(),e.createElementBlock("text",{key:2,x:p.value.x,y:p.value.y,"font-size":p.value.fontSize,fill:t.value.style.chart.layout.ticks.gradient.show&&t.value.style.chart.percentage.useGradientColor?e.unref(g.shiftHue)(t.value.style.chart.layout.activeColor,c.value/100*(t.value.style.chart.layout.ticks.gradient.shiftHueIntensity/100)):t.value.style.chart.percentage.color,"font-weight":p.value.bold?"bold":"normal","text-anchor":p.value.textAnchor},e.toDisplayString(c.value.toFixed(t.value.style.chart.percentage.rounding)+"%"),9,J)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"svg",{svg:o.value},void 0,!0)],14,M)):e.createCommentVNode("",!0),a.$slots.watermark?(e.openBlock(),e.createElementBlock("div",K,[e.renderSlot(a.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(B)||e.unref(z)})),void 0,!0)])):e.createCommentVNode("",!0),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(L.default,{key:4,config:{type:"tiremarks",style:{backgroundColor:t.value.style.chart.backgroundColor,tiremarks:{color:"#CCCCCC"}}}},null,8,["config"]))],14,H))}},W=U._export_sfc(Q,[["__scopeId","data-v-92e00604"]]);exports.default=W;
@@ -1,14 +1,14 @@
1
1
  import { computed as w, ref as y, onMounted as He, onBeforeUnmount as Ee, openBlock as m, createElementBlock as C, normalizeClass as ke, normalizeStyle as D, createVNode as ne, createCommentVNode as M, createBlock as ee, unref as k, createSlots as Ue, withCtx as T, renderSlot as _, normalizeProps as G, guardReactiveProps as X, Fragment as xe, renderList as $e, createElementVNode as O, toDisplayString as q, createTextVNode as Te, nextTick as Ge, pushScopeId as Xe, popScopeId as qe } from "vue";
2
- import { u as je, c as _e, t as Ye, a as Ze, p as x, b as Je, o as Ke, e as Qe, d as te, f as le, X as et, l as Oe, C as Se, v as Ne, w as tt, n as lt, q as ot } from "./index-Ck92ROEN.js";
3
- import { _ as at } from "./Title-BFBOWO3Q.js";
4
- import { u as nt, U as st } from "./usePrinter-DBPRZcAN.js";
5
- import { _ as rt } from "./Tooltip-DravvC2X.js";
6
- import { L as ut } from "./Legend-C-mWIWYw.js";
7
- import it from "./vue-ui-skeleton-B_c8tnen.js";
8
- import { D as ct } from "./DataTable-DFEpvyNK.js";
9
- import dt from "./vue-ui-accordion-CYyb5N_o.js";
2
+ import { u as je, c as _e, t as Ye, a as Ze, p as x, b as Je, o as Ke, e as Qe, d as te, f as le, X as et, l as Oe, C as Se, v as Ne, w as tt, n as lt, q as ot } from "./index-DiWO-_ca.js";
3
+ import { _ as at } from "./Title-C3Ez1ceq.js";
4
+ import { u as nt, U as st } from "./usePrinter-BD40aUzH.js";
5
+ import { _ as rt } from "./Tooltip-7SRMoiu-.js";
6
+ import { L as ut } from "./Legend-8eVERYMn.js";
7
+ import it from "./vue-ui-skeleton-CeNL0kH-.js";
8
+ import { D as ct } from "./DataTable-EqeVt-K-.js";
9
+ import dt from "./vue-ui-accordion-CiNdgRO9.js";
10
10
  import { t as vt, u as ht } from "./useResponsive-NZB-WLRF.js";
11
- import { u as ze } from "./useNestedProp-C0fDv_7c.js";
11
+ import { u as ze } from "./useNestedProp-DNX5EefQ.js";
12
12
  import { _ as ft } from "./_plugin-vue_export-helper-CHgC5LLL.js";
13
13
  function Ie(a, i) {
14
14
  const s = a.length;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./index-D2z8eN-t.cjs"),ke=require("./Title-R6PrAyfG.cjs"),re=require("./usePrinter-c6hW2FYl.cjs"),Ce=require("./Tooltip-DAjRpG7b.cjs"),we=require("./Legend-yNP9uHMI.cjs"),xe=require("./vue-ui-skeleton-DwEcR_uq.cjs"),Te=require("./DataTable-BM_PreHp.cjs"),$e=require("./vue-ui-accordion-jSupvtFc.cjs"),ue=require("./useResponsive-B3TrDDIG.cjs"),se=require("./useNestedProp-CUrnndD5.cjs"),Se=require("./_plugin-vue_export-helper-BHFhmbuH.cjs");function ie(n,d){const s=n.length;if(s===0)throw new Error(`Max aspect ratio cannot be computed: ${n} is an empty array`);{let u=1/0,i=-1/0,v=0;for(let f=0;f<s;f+=1){const p=n[f].normalizedValue;p<u&&(u=p),p>i&&(i=p),v+=p}return Math.max(d**2*i/v**2,v**2/(d**2*u))}}function ce(n){const{xOffset:d,yOffset:s,width:u,height:i}=n;return{x0:d,y0:s,x1:d+u,y1:s+i}}function Ne(n,d,s){if(n.length===0)return!0;{const u=n.concat(d),i=ie(n,s),v=ie(u,s);return i>=v}}function Be(n){const d=[],s=n.length;for(let u=0;u<s;u+=1){const i=n[u],v=i.length;for(let h=0;h<v;h+=1)d.push(i[h])}return d}function _e(n,d){const s={...d,children:n};return ve(s)}function ze(n){return(n.x1-n.x0)*(n.y1-n.y0)}function de(n,d){const{width:s,height:u,xOffset:i,yOffset:v}=W(d),h=n.length,f=n.map(m=>m.normalizedValue||0).reduce((m,k)=>m+k,0),p=f/u,C=f/s;let b=i,w=v;const g=[];if(s>=u){for(let m=0;m<h;m+=1){const k=n[m],x=w+k.normalizedValue/p,t={x0:b,y0:w,x1:b+p,y1:x},T=Object.assign({},k,t);w=x,g.push(T)}return g}else{for(let m=0;m<h;m+=1){const k=n[m],x=b+k.normalizedValue/C,t={x0:b,y0:w,x1:x,y1:w+C},T=Object.assign({},k,t);b=x,g.push(T)}return g}}function Pe(n){const d=W(n),s=d.width,u=d.height;return Math.min(s,u)}function Oe(n,d){const s=n.length,u=n.map(p=>p.value??0).reduce((p,C)=>p+C,0),i=d/u,v=[];let h,f;for(let p=0;p<s;p+=1)f=n[p],h=Object.assign({},f,{normalizedValue:f.value*(i||0)}),v.push(h);return v}function W(n){const{x0:d,y0:s,x1:u,y1:i}=n;return{xOffset:d,yOffset:s,width:u-d,height:i-s}}function Ve(n,d,s,u){let i=n,v=d,h=s,f=u;for(;;){const p=i.length;if(p===0){const g=de(v,h);return f.concat(g)}const C=Pe(h),b=i[0],w=i.slice(1,p);if(Ne(v,b,C)){const g=v.concat(b);i=w,v=g,h=h,f=f}else{const g=v.length;let m=0;for(let T=0;T<g;T+=1)m+=v[T].normalizedValue;const k=Ee(h,m),x=de(v,h),t=f.concat(x);i=i,v=[],h=k,f=t}}}function ve(n){if(typeof n.children>"u"||!n.children.length)return[n];{const d=Oe(n.children,ze(n)),s=Ve(d,[],n,[]),u=s.length,i=[];for(let h=0;h<u;h+=1)i.push(ve(s[h]));return Be(i)}}function Ee(n,d){const{width:s,height:u,xOffset:i,yOffset:v}=W(n);if(s>=u){const h=d/u,f=s-h,p={xOffset:i+h,yOffset:v,width:f,height:u};return ce(p)}else{const h=d/s,f=u-h,p={xOffset:i,yOffset:v+h,width:s,height:f};return ce(p)}}const Re=n=>(e.pushScopeId("data-v-1e3a642b"),n=n(),e.popScopeId(),n),Fe=["id"],Ie=["xmlns","viewBox"],Le={key:0},De=["id"],qe=["stop-color"],Ae=["stop-color"],He=["x","y","height","width","fill","rx","stroke","stroke-width","onClick","onMouseenter"],Me=["x","y","height","width"],We={style:{width:"100%",height:"100%"},class:"vue-ui-treemap-cell"},Ue=Re(()=>e.createElementVNode("br",null,null,-1)),Ge={key:3,class:"vue-data-ui-watermark"},je=["onClick"],Xe={key:0},Ye={key:1},Ze=["innerHTML"],Je={__name:"vue-ui-treemap",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend","selectDatapoint"],setup(n,{expose:d,emit:s}){const u=n,{vue_ui_treemap:i}=r.useConfig(),v=e.computed(()=>!!u.dataset&&u.dataset.length),h=e.computed(()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),f=e.ref(r.createUid()),p=e.ref(!1),C=e.ref(""),b=e.ref(!1),w=e.ref(0),g=e.ref([]),m=e.ref(null),k=e.ref(null),x=e.ref(null),t=e.computed(()=>{const o=se.useNestedProp({userConfig:u.config,defaultConfig:i});return o.theme?{...se.useNestedProp({userConfig:r.themes.vue_ui_treemap[o.theme]||u.config,defaultConfig:o}),customPalette:r.themePalettes[o.theme]||r.palette}:o}),{isPrinting:T,isImaging:U,generatePdf:G,generateImage:j}=re.usePrinter({elementId:`treemap_${f.value}`,fileName:t.value.style.chart.title.text||"vue-ui-treemap"}),L=e.computed(()=>r.convertCustomPalette(t.value.customPalette)),N=e.ref({showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),B=e.ref({height:t.value.style.chart.height,width:t.value.style.chart.width}),z=e.computed(()=>({bottom:B.value.height-t.value.style.chart.padding.bottom,height:B.value.height-t.value.style.chart.padding.top-t.value.style.chart.padding.bottom,left:t.value.style.chart.padding.left,right:B.value.width-t.value.style.chart.padding.right,top:t.value.style.chart.padding.top,vbHeight:B.value.height,vbWidth:B.value.width,width:B.value.width-t.value.style.chart.padding.left-t.value.style.chart.padding.right}));function X(o){o.forEach((a,l)=>{a.id=r.createUid(),a.color=r.convertColorToHex(a.color)||L.value[l]||r.palette[l]||r.palette[l%r.palette.length],a.children&&(a.children.forEach(c=>{c.parentId=a.id,c.color=a.color}),X(a.children))})}const P=e.ref(u.dataset),D=e.ref(null);e.onMounted(()=>{if(r.objectIsEmpty(u.dataset)&&r.error({componentName:"VueUiTreemap",type:"dataset"}),X(P.value),t.value.responsive){const o=ue.throttle(()=>{const{width:a,height:l}=ue.useResponsive({chart:m.value,title:t.value.style.chart.title.text?k.value:null,legend:t.value.style.chart.legend.show?x.value:null});B.value.width=a,B.value.height=l});D.value=new ResizeObserver(o),D.value.observe(m.value.parentNode)}}),e.onBeforeUnmount(()=>{D.value&&D.value.disconnect()});const H=e.ref(P.value),F=e.computed(()=>H.value.map((o,a)=>({...o,color:r.convertColorToHex(o.color)||L.value[a]||r.palette[a]||r.palette[a%r.palette.length]})).filter(o=>!g.value.includes(o.id))),E=e.computed(()=>P.value.filter(o=>!g.value.includes(o.id)).map(o=>o.value||0).reduce((o,a)=>o+a,0)),Y=e.computed({get(){let o=[...F.value];return t.value.style.chart.layout.sorted&&(o=[...F.value].sort((a,l)=>l.value-a.value)),o.map(a=>({...a}))},set(o){return o}});function Z(o,a){return o.value/a}function he(o,a,l){const c=t.value.style.chart.layout.rects.colorRatio-Z(a,l);return r.lightenHexColor(o,c<0?0:c)}function J(o,a,l,c){return o.map((y,V)=>{const A=he(r.convertColorToHex(a)||L.value[V]||r.palette[V]||r.palette[V%r.palette.length],y,c),be=Z(y,c);return{...y,color:A,proportion:be,parentName:l,children:y.children?J(y.children,A,y.name,c):void 0}})}const I=e.computed(()=>_e(Y.value.map((o,a)=>{const l=o.children?o.children.reduce((c,y)=>c+y.value,0):o.value;return{value:o.value,id:o.id,children:o.children?J(o.children.sort((c,y)=>y.value-c.value),o.color,o.name,l):void 0,color:o.color,name:o.name}}),{x0:z.value.left*2,y0:z.value.top,x1:z.value.width,y1:z.value.height}));function K({y0:o,y1:a}){return a-o<=0?1e-4:a-o}function Q({x0:o,x1:a}){return a-o<=0?1e-4:a-o}function O(o){const a=t.value.style.chart.layout.labels.fontSize*(o.proportion*2>1?1:o.proportion*2);return a<t.value.style.chart.layout.labels.minFontSize?t.value.style.chart.layout.labels.minFontSize:a}function pe(o){b.value=o,w.value+=1}const R=e.computed(()=>({startX:0,startY:0,width:z.value.vbWidth,height:z.value.vbHeight})),$=e.ref(!1);function ee(o,a=P.value){for(const l of a){if(l.id===o)return l;if(l.children){const c=ee(o,l.children);if(c)return c}}return null}function fe(o){$.value?(s("selectDatapoint",void 0),H.value=P.value):(s("selectDatapoint",o),H.value=[ee(o.parentId)]),$.value=!$.value}const S=e.ref(null),te=e.computed(()=>P.value.map((o,a)=>({...o,color:r.convertColorToHex(o.color)||L.value[a]||r.palette[a]||r.palette[a%r.palette.length],shape:"square"})).sort((o,a)=>a.value-o.value).map((o,a)=>({...o,proportion:o.value/P.value.map(l=>l.value).reduce((l,c)=>l+c,0),opacity:g.value.includes(o.id)?.5:1}))),ge=e.computed(()=>({cy:"treemap-div-legend",backgroundColor:t.value.style.chart.legend.backgroundColor,color:t.value.style.chart.legend.color,fontSize:t.value.style.chart.legend.fontSize,paddingBottom:12,fontWeight:t.value.style.chart.legend.bold?"bold":""}));function oe(o){$.value=!1,S.value=null,g.value.includes(o.id)?g.value=g.value.filter(a=>a!==o.id):g.value.length<u.dataset.length-1&&g.value.push(o.id),s("selectLegend",Y.value)}const M=e.ref(null);function me({datapoint:o,seriesIndex:a}){S.value=o,M.value={datapoint:o,seriesIndex:a,config:t.value,series:F.value};const l=t.value.style.chart.tooltip.customFormat;if(r.isFunction(l)&&r.functionReturnsString(()=>l({seriesIndex:a,datapoint:o,series:F.value,config:t.value})))C.value=l({seriesIndex:a,datapoint:o,series:F.value,config:t.value});else{let c="";c+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${o.name}</div>`,c+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><rect x="0" y="0" height="12" width="12" stroke="none" fill="${o.color}"/></svg>`,c+=`<b>${r.dataLabel({p:t.value.style.chart.layout.labels.prefix,v:o.value,s:t.value.style.chart.layout.labels.suffix,r:t.value.style.chart.tooltip.roundingValue})}</b>`,C.value=`<div>${c}</div>`}p.value=!0}const _=e.computed(()=>{const o=I.value.map(l=>({name:l.name,color:l.color})),a=I.value.map(l=>l.value);return{head:o,body:a}});function le(){e.nextTick(()=>{const o=_.value.head.map((c,y)=>[[c.name],[_.value.body[y]],[isNaN(_.value.body[y]/E.value)?"-":_.value.body[y]/E.value*100]]),a=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(o),l=r.createCsvContent(a);r.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-treemap"})})}const q=e.computed(()=>{const o=[t.value.table.columnNames.series,t.value.table.columnNames.value,t.value.table.columnNames.percentage],a=_.value.head.map((y,V)=>{const A=r.dataLabel({p:t.value.style.chart.layout.labels.prefix,v:_.value.body[V],s:t.value.style.chart.layout.labels.suffix,r:t.value.table.td.roundingValue});return[{color:y.color,name:y.name,shape:"square"},A,isNaN(_.value.body[V]/E.value)?"-":(_.value.body[V]/E.value*100).toFixed(t.value.table.td.roundingPercentage)+"%"]}),l={th:{backgroundColor:t.value.table.th.backgroundColor,color:t.value.table.th.color,outline:t.value.table.th.outline},td:{backgroundColor:t.value.table.td.backgroundColor,color:t.value.table.td.color,outline:t.value.table.td.outline},breakpoint:t.value.table.responsiveBreakpoint};return{colNames:[t.value.table.columnNames.series,t.value.table.columnNames.value],head:o,body:a,config:l}});function ye(){return I.value}function ae(){N.value.showTable=!N.value.showTable}function ne(){N.value.showTooltip=!N.value.showTooltip}return d({getData:ye,generateCsv:le,generateImage:j,generatePdf:G,toggleTable:ae,toggleTooltip:ne}),(o,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"treemapChart",ref:m,class:e.normalizeClass(`vue-ui-treemap ${b.value?"vue-data-ui-wrapper-fullscreen":""} ${t.value.useCssAnimation?"":"vue-ui-dna"}`),style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; ${t.value.responsive?"height: 100%;":""} text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor}`),id:`treemap_${f.value}`},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:k,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:6px`)},[e.createVNode(ke._sfc_main,{config:{title:{cy:"treemap-div-title",...t.value.style.chart.title},subtitle:{cy:"treemap-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&v.value?(e.openBlock(),e.createBlock(re.UserOptions,{ref:"details",key:`user_option_${w.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(T),isImaging:e.unref(U),uid:f.value,hasTooltip:t.value.userOptions.buttons.tooltip&&t.value.style.chart.tooltip.show,hasPdf:t.value.userOptions.buttons.pdf,hasXls:t.value.userOptions.buttons.csv,hasImg:t.value.userOptions.buttons.img,hasTable:t.value.userOptions.buttons.table,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:b.value,isTooltip:N.value.showTooltip,titles:{...t.value.userOptions.buttonTitles},chartElement:m.value,onToggleFullscreen:pe,onGeneratePdf:e.unref(G),onGenerateCsv:le,onGenerateImage:e.unref(j),onToggleTable:ae,onToggleTooltip:ne},e.createSlots({_:2},[o.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,o.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,o.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,o.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,o.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,o.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:c})=>[e.renderSlot(o.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:c})),void 0,!0)]),key:"5"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","isTooltip","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(r.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":b.value,"vue-data-ui-fulscreen--off":!b.value,"vue-data-ui-zoom-plus":!$.value,"vue-data-ui-zoom-minus":$.value}),viewBox:`${R.value.startX} ${R.value.startY} ${R.value.width<=0?10:R.value.width} ${R.value.height<=0?10:R.value.height}`,style:e.normalizeStyle(`max-width:100%; overflow: hidden; background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(l,c)=>(e.openBlock(),e.createElementBlock("g",null,[t.value.style.chart.layout.rects.gradient.show?(e.openBlock(),e.createElementBlock("defs",Le,[e.createElementVNode("radialGradient",{id:`tgrad_${l.id}`,gradientTransform:"translate(-1, -1.000001) scale(2, 2)"},[e.createElementVNode("stop",{offset:"18%","stop-color":l.color},null,8,qe),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(r.lightenHexColor)(l.color,t.value.style.chart.layout.rects.gradient.intensity/100)},null,8,Ae)],8,De)])):e.createCommentVNode("",!0)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(l,c)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("rect",{x:l.x0,y:l.y0,height:K(l),width:Q(l),fill:h.value?l.color:t.value.style.chart.layout.rects.gradient.show?`url(#tgrad_${l.id})`:l.color,rx:t.value.style.chart.layout.rects.borderRadius,stroke:S.value&&S.value.id===l.id?t.value.style.chart.layout.rects.selected.stroke:t.value.style.chart.layout.rects.stroke,"stroke-width":S.value&&S.value.id===l.id?t.value.style.chart.layout.rects.selected.strokeWidth:t.value.style.chart.layout.rects.strokeWidth,onClick:y=>fe(l),onMouseenter:()=>me({datapoint:l,seriesIndex:c}),onMouseleave:a[0]||(a[0]=y=>{S.value=null,p.value=!1}),style:e.normalizeStyle(`opacity:${S.value?S.value.id===l.id?1:t.value.style.chart.layout.rects.selected.unselectedOpacity:1}`),class:"vue-ui-treemap-rect"},null,44,He),(e.openBlock(),e.createElementBlock("foreignObject",{x:l.x0,y:l.y0,height:K(l),width:Q(l),class:"vue-ui-treemap-cell-foreignObject"},[e.createElementVNode("div",We,[t.value.style.chart.layout.labels.showDefaultLabels&&(l.proportion>t.value.style.chart.layout.labels.hideUnderProportion||$.value)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"vue-ui-treemap-cell-default",style:e.normalizeStyle(`width:calc(100% - ${O(l)/1.5}px);text-align:left;line-height:${O(l)<14?14:O(l)}px;padding:${O(l)/3}px; color:${e.unref(r.adaptColorToBackground)(l.color)}`)},[e.createElementVNode("span",{style:e.normalizeStyle(`width:100%;font-size:${O(l)}px;`)},e.toDisplayString(l.name),5),Ue,e.createElementVNode("span",{style:e.normalizeStyle(`width:100%;font-size:${O(l)}px;`)},e.toDisplayString(e.unref(r.dataLabel)({p:t.value.style.chart.layout.labels.prefix,v:l.value,s:t.value.style.chart.layout.labels.suffix,r:t.value.style.chart.layout.labels.rounding})),5)],4)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"rect",e.normalizeProps(e.guardReactiveProps({rect:l,shouldShow:l.proportion>t.value.style.chart.layout.labels.hideUnderProportion||$.value,fontSize:O(l),isZoom:$.value,textColor:e.unref(r.adaptColorToBackground)(l.color)})),void 0,!0)])],8,Me))]))),256)),e.renderSlot(o.$slots,"svg",e.normalizeProps(e.guardReactiveProps({svg:z.value,isZoom:$.value,rect:S.value,config:t.value})),void 0,!0)],14,Ie)):e.createCommentVNode("",!0),o.$slots.watermark?(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(o.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(T)||e.unref(U)})),void 0,!0)])):e.createCommentVNode("",!0),v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(xe.default,{key:4,config:{type:"treemap",style:{backgroundColor:t.value.style.chart.backgroundColor,treemap:{color:"#CCCCCC"}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:x},[t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(we.Legend,{key:0,legendSet:te.value,config:ge.value,id:`treemap_legend_${f.value}`,onClickMarker:a[1]||(a[1]=({legend:l})=>oe(l))},{item:e.withCtx(({legend:l,index:c})=>[e.createElementVNode("div",{onClick:y=>oe(l),style:e.normalizeStyle(`opacity:${g.value.includes(l.id)?.5:1}`)},[e.createTextVNode(e.toDisplayString(l.name)+": "+e.toDisplayString(e.unref(r.dataLabel)({p:t.value.style.chart.layout.labels.prefix,v:l.value,s:t.value.style.chart.layout.labels.suffix,r:t.value.style.chart.legend.roundingValue}))+" ",1),g.value.includes(l.id)?(e.openBlock(),e.createElementBlock("span",Ye," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",Xe," ("+e.toDisplayString(isNaN(l.value/E.value)?"-":(l.value/E.value*100).toFixed(t.value.style.chart.legend.roundingPercentage))+"%) ",1))],12,je)]),_:1},8,["legendSet","config","id"])):e.renderSlot(o.$slots,"legend",{key:1,legend:te.value},void 0,!0)],512),e.createVNode(Ce._sfc_main,{show:N.value.showTooltip&&p.value,backgroundColor:t.value.style.chart.tooltip.backgroundColor,color:t.value.style.chart.tooltip.color,fontSize:t.value.style.chart.tooltip.fontSize,borderRadius:t.value.style.chart.tooltip.borderRadius,borderColor:t.value.style.chart.tooltip.borderColor,borderWidth:t.value.style.chart.tooltip.borderWidth,backgroundOpacity:t.value.style.chart.tooltip.backgroundOpacity,position:t.value.style.chart.tooltip.position,offsetY:t.value.style.chart.tooltip.offsetY,parent:m.value,content:C.value,isCustom:e.unref(r.isFunction)(t.value.style.chart.tooltip.customFormat)},{"tooltip-before":e.withCtx(()=>[e.renderSlot(o.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...M.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(o.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...M.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","fontSize","borderRadius","borderColor","borderWidth","backgroundOpacity","position","offsetY","parent","content","isCustom"]),v.value?(e.openBlock(),e.createBlock($e.default,{key:5,hideDetails:"",config:{open:N.value.showTable,maxHeight:1e4,body:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color},head:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color}}},{content:e.withCtx(()=>[e.createVNode(Te.DataTable,{colNames:q.value.colNames,head:q.value.head,body:q.value.body,config:q.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:a[2]||(a[2]=l=>N.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createElementVNode("div",{innerHTML:l,style:{display:"flex","align-items":"center"}},null,8,Ze)]),td:e.withCtx(({td:l})=>[e.createTextVNode(e.toDisplayString(l.name||l),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,Fe))}},Ke=Se._export_sfc(Je,[["__scopeId","data-v-1e3a642b"]]);exports.default=Ke;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./index-BQOxn6SH.cjs"),ke=require("./Title-B9iq63n1.cjs"),re=require("./usePrinter-Q1J--baX.cjs"),Ce=require("./Tooltip-DcDEanxk.cjs"),we=require("./Legend-C_lBCmBu.cjs"),xe=require("./vue-ui-skeleton-CcrGR_Vh.cjs"),Te=require("./DataTable-C6HTLT7L.cjs"),$e=require("./vue-ui-accordion-ogVvFfQy.cjs"),ue=require("./useResponsive-B3TrDDIG.cjs"),se=require("./useNestedProp-BtqgWTf9.cjs"),Se=require("./_plugin-vue_export-helper-BHFhmbuH.cjs");function ie(n,d){const s=n.length;if(s===0)throw new Error(`Max aspect ratio cannot be computed: ${n} is an empty array`);{let u=1/0,i=-1/0,v=0;for(let f=0;f<s;f+=1){const p=n[f].normalizedValue;p<u&&(u=p),p>i&&(i=p),v+=p}return Math.max(d**2*i/v**2,v**2/(d**2*u))}}function ce(n){const{xOffset:d,yOffset:s,width:u,height:i}=n;return{x0:d,y0:s,x1:d+u,y1:s+i}}function Ne(n,d,s){if(n.length===0)return!0;{const u=n.concat(d),i=ie(n,s),v=ie(u,s);return i>=v}}function Be(n){const d=[],s=n.length;for(let u=0;u<s;u+=1){const i=n[u],v=i.length;for(let h=0;h<v;h+=1)d.push(i[h])}return d}function _e(n,d){const s={...d,children:n};return ve(s)}function ze(n){return(n.x1-n.x0)*(n.y1-n.y0)}function de(n,d){const{width:s,height:u,xOffset:i,yOffset:v}=W(d),h=n.length,f=n.map(m=>m.normalizedValue||0).reduce((m,k)=>m+k,0),p=f/u,C=f/s;let b=i,w=v;const g=[];if(s>=u){for(let m=0;m<h;m+=1){const k=n[m],x=w+k.normalizedValue/p,t={x0:b,y0:w,x1:b+p,y1:x},T=Object.assign({},k,t);w=x,g.push(T)}return g}else{for(let m=0;m<h;m+=1){const k=n[m],x=b+k.normalizedValue/C,t={x0:b,y0:w,x1:x,y1:w+C},T=Object.assign({},k,t);b=x,g.push(T)}return g}}function Pe(n){const d=W(n),s=d.width,u=d.height;return Math.min(s,u)}function Oe(n,d){const s=n.length,u=n.map(p=>p.value??0).reduce((p,C)=>p+C,0),i=d/u,v=[];let h,f;for(let p=0;p<s;p+=1)f=n[p],h=Object.assign({},f,{normalizedValue:f.value*(i||0)}),v.push(h);return v}function W(n){const{x0:d,y0:s,x1:u,y1:i}=n;return{xOffset:d,yOffset:s,width:u-d,height:i-s}}function Ve(n,d,s,u){let i=n,v=d,h=s,f=u;for(;;){const p=i.length;if(p===0){const g=de(v,h);return f.concat(g)}const C=Pe(h),b=i[0],w=i.slice(1,p);if(Ne(v,b,C)){const g=v.concat(b);i=w,v=g,h=h,f=f}else{const g=v.length;let m=0;for(let T=0;T<g;T+=1)m+=v[T].normalizedValue;const k=Ee(h,m),x=de(v,h),t=f.concat(x);i=i,v=[],h=k,f=t}}}function ve(n){if(typeof n.children>"u"||!n.children.length)return[n];{const d=Oe(n.children,ze(n)),s=Ve(d,[],n,[]),u=s.length,i=[];for(let h=0;h<u;h+=1)i.push(ve(s[h]));return Be(i)}}function Ee(n,d){const{width:s,height:u,xOffset:i,yOffset:v}=W(n);if(s>=u){const h=d/u,f=s-h,p={xOffset:i+h,yOffset:v,width:f,height:u};return ce(p)}else{const h=d/s,f=u-h,p={xOffset:i,yOffset:v+h,width:s,height:f};return ce(p)}}const Re=n=>(e.pushScopeId("data-v-1e3a642b"),n=n(),e.popScopeId(),n),Fe=["id"],Ie=["xmlns","viewBox"],Le={key:0},De=["id"],qe=["stop-color"],Ae=["stop-color"],He=["x","y","height","width","fill","rx","stroke","stroke-width","onClick","onMouseenter"],Me=["x","y","height","width"],We={style:{width:"100%",height:"100%"},class:"vue-ui-treemap-cell"},Ue=Re(()=>e.createElementVNode("br",null,null,-1)),Ge={key:3,class:"vue-data-ui-watermark"},je=["onClick"],Xe={key:0},Ye={key:1},Ze=["innerHTML"],Je={__name:"vue-ui-treemap",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend","selectDatapoint"],setup(n,{expose:d,emit:s}){const u=n,{vue_ui_treemap:i}=r.useConfig(),v=e.computed(()=>!!u.dataset&&u.dataset.length),h=e.computed(()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),f=e.ref(r.createUid()),p=e.ref(!1),C=e.ref(""),b=e.ref(!1),w=e.ref(0),g=e.ref([]),m=e.ref(null),k=e.ref(null),x=e.ref(null),t=e.computed(()=>{const o=se.useNestedProp({userConfig:u.config,defaultConfig:i});return o.theme?{...se.useNestedProp({userConfig:r.themes.vue_ui_treemap[o.theme]||u.config,defaultConfig:o}),customPalette:r.themePalettes[o.theme]||r.palette}:o}),{isPrinting:T,isImaging:U,generatePdf:G,generateImage:j}=re.usePrinter({elementId:`treemap_${f.value}`,fileName:t.value.style.chart.title.text||"vue-ui-treemap"}),L=e.computed(()=>r.convertCustomPalette(t.value.customPalette)),N=e.ref({showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),B=e.ref({height:t.value.style.chart.height,width:t.value.style.chart.width}),z=e.computed(()=>({bottom:B.value.height-t.value.style.chart.padding.bottom,height:B.value.height-t.value.style.chart.padding.top-t.value.style.chart.padding.bottom,left:t.value.style.chart.padding.left,right:B.value.width-t.value.style.chart.padding.right,top:t.value.style.chart.padding.top,vbHeight:B.value.height,vbWidth:B.value.width,width:B.value.width-t.value.style.chart.padding.left-t.value.style.chart.padding.right}));function X(o){o.forEach((a,l)=>{a.id=r.createUid(),a.color=r.convertColorToHex(a.color)||L.value[l]||r.palette[l]||r.palette[l%r.palette.length],a.children&&(a.children.forEach(c=>{c.parentId=a.id,c.color=a.color}),X(a.children))})}const P=e.ref(u.dataset),D=e.ref(null);e.onMounted(()=>{if(r.objectIsEmpty(u.dataset)&&r.error({componentName:"VueUiTreemap",type:"dataset"}),X(P.value),t.value.responsive){const o=ue.throttle(()=>{const{width:a,height:l}=ue.useResponsive({chart:m.value,title:t.value.style.chart.title.text?k.value:null,legend:t.value.style.chart.legend.show?x.value:null});B.value.width=a,B.value.height=l});D.value=new ResizeObserver(o),D.value.observe(m.value.parentNode)}}),e.onBeforeUnmount(()=>{D.value&&D.value.disconnect()});const H=e.ref(P.value),F=e.computed(()=>H.value.map((o,a)=>({...o,color:r.convertColorToHex(o.color)||L.value[a]||r.palette[a]||r.palette[a%r.palette.length]})).filter(o=>!g.value.includes(o.id))),E=e.computed(()=>P.value.filter(o=>!g.value.includes(o.id)).map(o=>o.value||0).reduce((o,a)=>o+a,0)),Y=e.computed({get(){let o=[...F.value];return t.value.style.chart.layout.sorted&&(o=[...F.value].sort((a,l)=>l.value-a.value)),o.map(a=>({...a}))},set(o){return o}});function Z(o,a){return o.value/a}function he(o,a,l){const c=t.value.style.chart.layout.rects.colorRatio-Z(a,l);return r.lightenHexColor(o,c<0?0:c)}function J(o,a,l,c){return o.map((y,V)=>{const A=he(r.convertColorToHex(a)||L.value[V]||r.palette[V]||r.palette[V%r.palette.length],y,c),be=Z(y,c);return{...y,color:A,proportion:be,parentName:l,children:y.children?J(y.children,A,y.name,c):void 0}})}const I=e.computed(()=>_e(Y.value.map((o,a)=>{const l=o.children?o.children.reduce((c,y)=>c+y.value,0):o.value;return{value:o.value,id:o.id,children:o.children?J(o.children.sort((c,y)=>y.value-c.value),o.color,o.name,l):void 0,color:o.color,name:o.name}}),{x0:z.value.left*2,y0:z.value.top,x1:z.value.width,y1:z.value.height}));function K({y0:o,y1:a}){return a-o<=0?1e-4:a-o}function Q({x0:o,x1:a}){return a-o<=0?1e-4:a-o}function O(o){const a=t.value.style.chart.layout.labels.fontSize*(o.proportion*2>1?1:o.proportion*2);return a<t.value.style.chart.layout.labels.minFontSize?t.value.style.chart.layout.labels.minFontSize:a}function pe(o){b.value=o,w.value+=1}const R=e.computed(()=>({startX:0,startY:0,width:z.value.vbWidth,height:z.value.vbHeight})),$=e.ref(!1);function ee(o,a=P.value){for(const l of a){if(l.id===o)return l;if(l.children){const c=ee(o,l.children);if(c)return c}}return null}function fe(o){$.value?(s("selectDatapoint",void 0),H.value=P.value):(s("selectDatapoint",o),H.value=[ee(o.parentId)]),$.value=!$.value}const S=e.ref(null),te=e.computed(()=>P.value.map((o,a)=>({...o,color:r.convertColorToHex(o.color)||L.value[a]||r.palette[a]||r.palette[a%r.palette.length],shape:"square"})).sort((o,a)=>a.value-o.value).map((o,a)=>({...o,proportion:o.value/P.value.map(l=>l.value).reduce((l,c)=>l+c,0),opacity:g.value.includes(o.id)?.5:1}))),ge=e.computed(()=>({cy:"treemap-div-legend",backgroundColor:t.value.style.chart.legend.backgroundColor,color:t.value.style.chart.legend.color,fontSize:t.value.style.chart.legend.fontSize,paddingBottom:12,fontWeight:t.value.style.chart.legend.bold?"bold":""}));function oe(o){$.value=!1,S.value=null,g.value.includes(o.id)?g.value=g.value.filter(a=>a!==o.id):g.value.length<u.dataset.length-1&&g.value.push(o.id),s("selectLegend",Y.value)}const M=e.ref(null);function me({datapoint:o,seriesIndex:a}){S.value=o,M.value={datapoint:o,seriesIndex:a,config:t.value,series:F.value};const l=t.value.style.chart.tooltip.customFormat;if(r.isFunction(l)&&r.functionReturnsString(()=>l({seriesIndex:a,datapoint:o,series:F.value,config:t.value})))C.value=l({seriesIndex:a,datapoint:o,series:F.value,config:t.value});else{let c="";c+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${o.name}</div>`,c+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><rect x="0" y="0" height="12" width="12" stroke="none" fill="${o.color}"/></svg>`,c+=`<b>${r.dataLabel({p:t.value.style.chart.layout.labels.prefix,v:o.value,s:t.value.style.chart.layout.labels.suffix,r:t.value.style.chart.tooltip.roundingValue})}</b>`,C.value=`<div>${c}</div>`}p.value=!0}const _=e.computed(()=>{const o=I.value.map(l=>({name:l.name,color:l.color})),a=I.value.map(l=>l.value);return{head:o,body:a}});function le(){e.nextTick(()=>{const o=_.value.head.map((c,y)=>[[c.name],[_.value.body[y]],[isNaN(_.value.body[y]/E.value)?"-":_.value.body[y]/E.value*100]]),a=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(o),l=r.createCsvContent(a);r.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-treemap"})})}const q=e.computed(()=>{const o=[t.value.table.columnNames.series,t.value.table.columnNames.value,t.value.table.columnNames.percentage],a=_.value.head.map((y,V)=>{const A=r.dataLabel({p:t.value.style.chart.layout.labels.prefix,v:_.value.body[V],s:t.value.style.chart.layout.labels.suffix,r:t.value.table.td.roundingValue});return[{color:y.color,name:y.name,shape:"square"},A,isNaN(_.value.body[V]/E.value)?"-":(_.value.body[V]/E.value*100).toFixed(t.value.table.td.roundingPercentage)+"%"]}),l={th:{backgroundColor:t.value.table.th.backgroundColor,color:t.value.table.th.color,outline:t.value.table.th.outline},td:{backgroundColor:t.value.table.td.backgroundColor,color:t.value.table.td.color,outline:t.value.table.td.outline},breakpoint:t.value.table.responsiveBreakpoint};return{colNames:[t.value.table.columnNames.series,t.value.table.columnNames.value],head:o,body:a,config:l}});function ye(){return I.value}function ae(){N.value.showTable=!N.value.showTable}function ne(){N.value.showTooltip=!N.value.showTooltip}return d({getData:ye,generateCsv:le,generateImage:j,generatePdf:G,toggleTable:ae,toggleTooltip:ne}),(o,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"treemapChart",ref:m,class:e.normalizeClass(`vue-ui-treemap ${b.value?"vue-data-ui-wrapper-fullscreen":""} ${t.value.useCssAnimation?"":"vue-ui-dna"}`),style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; ${t.value.responsive?"height: 100%;":""} text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor}`),id:`treemap_${f.value}`},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:k,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:6px`)},[e.createVNode(ke._sfc_main,{config:{title:{cy:"treemap-div-title",...t.value.style.chart.title},subtitle:{cy:"treemap-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&v.value?(e.openBlock(),e.createBlock(re.UserOptions,{ref:"details",key:`user_option_${w.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(T),isImaging:e.unref(U),uid:f.value,hasTooltip:t.value.userOptions.buttons.tooltip&&t.value.style.chart.tooltip.show,hasPdf:t.value.userOptions.buttons.pdf,hasXls:t.value.userOptions.buttons.csv,hasImg:t.value.userOptions.buttons.img,hasTable:t.value.userOptions.buttons.table,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:b.value,isTooltip:N.value.showTooltip,titles:{...t.value.userOptions.buttonTitles},chartElement:m.value,onToggleFullscreen:pe,onGeneratePdf:e.unref(G),onGenerateCsv:le,onGenerateImage:e.unref(j),onToggleTable:ae,onToggleTooltip:ne},e.createSlots({_:2},[o.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,o.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,o.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,o.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,o.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,o.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:c})=>[e.renderSlot(o.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:c})),void 0,!0)]),key:"5"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","isTooltip","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(r.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":b.value,"vue-data-ui-fulscreen--off":!b.value,"vue-data-ui-zoom-plus":!$.value,"vue-data-ui-zoom-minus":$.value}),viewBox:`${R.value.startX} ${R.value.startY} ${R.value.width<=0?10:R.value.width} ${R.value.height<=0?10:R.value.height}`,style:e.normalizeStyle(`max-width:100%; overflow: hidden; background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(l,c)=>(e.openBlock(),e.createElementBlock("g",null,[t.value.style.chart.layout.rects.gradient.show?(e.openBlock(),e.createElementBlock("defs",Le,[e.createElementVNode("radialGradient",{id:`tgrad_${l.id}`,gradientTransform:"translate(-1, -1.000001) scale(2, 2)"},[e.createElementVNode("stop",{offset:"18%","stop-color":l.color},null,8,qe),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(r.lightenHexColor)(l.color,t.value.style.chart.layout.rects.gradient.intensity/100)},null,8,Ae)],8,De)])):e.createCommentVNode("",!0)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(l,c)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("rect",{x:l.x0,y:l.y0,height:K(l),width:Q(l),fill:h.value?l.color:t.value.style.chart.layout.rects.gradient.show?`url(#tgrad_${l.id})`:l.color,rx:t.value.style.chart.layout.rects.borderRadius,stroke:S.value&&S.value.id===l.id?t.value.style.chart.layout.rects.selected.stroke:t.value.style.chart.layout.rects.stroke,"stroke-width":S.value&&S.value.id===l.id?t.value.style.chart.layout.rects.selected.strokeWidth:t.value.style.chart.layout.rects.strokeWidth,onClick:y=>fe(l),onMouseenter:()=>me({datapoint:l,seriesIndex:c}),onMouseleave:a[0]||(a[0]=y=>{S.value=null,p.value=!1}),style:e.normalizeStyle(`opacity:${S.value?S.value.id===l.id?1:t.value.style.chart.layout.rects.selected.unselectedOpacity:1}`),class:"vue-ui-treemap-rect"},null,44,He),(e.openBlock(),e.createElementBlock("foreignObject",{x:l.x0,y:l.y0,height:K(l),width:Q(l),class:"vue-ui-treemap-cell-foreignObject"},[e.createElementVNode("div",We,[t.value.style.chart.layout.labels.showDefaultLabels&&(l.proportion>t.value.style.chart.layout.labels.hideUnderProportion||$.value)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"vue-ui-treemap-cell-default",style:e.normalizeStyle(`width:calc(100% - ${O(l)/1.5}px);text-align:left;line-height:${O(l)<14?14:O(l)}px;padding:${O(l)/3}px; color:${e.unref(r.adaptColorToBackground)(l.color)}`)},[e.createElementVNode("span",{style:e.normalizeStyle(`width:100%;font-size:${O(l)}px;`)},e.toDisplayString(l.name),5),Ue,e.createElementVNode("span",{style:e.normalizeStyle(`width:100%;font-size:${O(l)}px;`)},e.toDisplayString(e.unref(r.dataLabel)({p:t.value.style.chart.layout.labels.prefix,v:l.value,s:t.value.style.chart.layout.labels.suffix,r:t.value.style.chart.layout.labels.rounding})),5)],4)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"rect",e.normalizeProps(e.guardReactiveProps({rect:l,shouldShow:l.proportion>t.value.style.chart.layout.labels.hideUnderProportion||$.value,fontSize:O(l),isZoom:$.value,textColor:e.unref(r.adaptColorToBackground)(l.color)})),void 0,!0)])],8,Me))]))),256)),e.renderSlot(o.$slots,"svg",e.normalizeProps(e.guardReactiveProps({svg:z.value,isZoom:$.value,rect:S.value,config:t.value})),void 0,!0)],14,Ie)):e.createCommentVNode("",!0),o.$slots.watermark?(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(o.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(T)||e.unref(U)})),void 0,!0)])):e.createCommentVNode("",!0),v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(xe.default,{key:4,config:{type:"treemap",style:{backgroundColor:t.value.style.chart.backgroundColor,treemap:{color:"#CCCCCC"}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:x},[t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(we.Legend,{key:0,legendSet:te.value,config:ge.value,id:`treemap_legend_${f.value}`,onClickMarker:a[1]||(a[1]=({legend:l})=>oe(l))},{item:e.withCtx(({legend:l,index:c})=>[e.createElementVNode("div",{onClick:y=>oe(l),style:e.normalizeStyle(`opacity:${g.value.includes(l.id)?.5:1}`)},[e.createTextVNode(e.toDisplayString(l.name)+": "+e.toDisplayString(e.unref(r.dataLabel)({p:t.value.style.chart.layout.labels.prefix,v:l.value,s:t.value.style.chart.layout.labels.suffix,r:t.value.style.chart.legend.roundingValue}))+" ",1),g.value.includes(l.id)?(e.openBlock(),e.createElementBlock("span",Ye," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",Xe," ("+e.toDisplayString(isNaN(l.value/E.value)?"-":(l.value/E.value*100).toFixed(t.value.style.chart.legend.roundingPercentage))+"%) ",1))],12,je)]),_:1},8,["legendSet","config","id"])):e.renderSlot(o.$slots,"legend",{key:1,legend:te.value},void 0,!0)],512),e.createVNode(Ce._sfc_main,{show:N.value.showTooltip&&p.value,backgroundColor:t.value.style.chart.tooltip.backgroundColor,color:t.value.style.chart.tooltip.color,fontSize:t.value.style.chart.tooltip.fontSize,borderRadius:t.value.style.chart.tooltip.borderRadius,borderColor:t.value.style.chart.tooltip.borderColor,borderWidth:t.value.style.chart.tooltip.borderWidth,backgroundOpacity:t.value.style.chart.tooltip.backgroundOpacity,position:t.value.style.chart.tooltip.position,offsetY:t.value.style.chart.tooltip.offsetY,parent:m.value,content:C.value,isCustom:e.unref(r.isFunction)(t.value.style.chart.tooltip.customFormat)},{"tooltip-before":e.withCtx(()=>[e.renderSlot(o.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...M.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(o.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...M.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","fontSize","borderRadius","borderColor","borderWidth","backgroundOpacity","position","offsetY","parent","content","isCustom"]),v.value?(e.openBlock(),e.createBlock($e.default,{key:5,hideDetails:"",config:{open:N.value.showTable,maxHeight:1e4,body:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color},head:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color}}},{content:e.withCtx(()=>[e.createVNode(Te.DataTable,{colNames:q.value.colNames,head:q.value.head,body:q.value.body,config:q.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:a[2]||(a[2]=l=>N.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createElementVNode("div",{innerHTML:l,style:{display:"flex","align-items":"center"}},null,8,Ze)]),td:e.withCtx(({td:l})=>[e.createTextVNode(e.toDisplayString(l.name||l),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,Fe))}},Ke=Se._export_sfc(Je,[["__scopeId","data-v-1e3a642b"]]);exports.default=Ke;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./index-D2z8eN-t.cjs"),ee=require("./useResponsive-B3TrDDIG.cjs"),me=require("./Title-R6PrAyfG.cjs"),te=require("./usePrinter-c6hW2FYl.cjs"),be=require("./Tooltip-DAjRpG7b.cjs"),le=require("./Legend-yNP9uHMI.cjs"),ke=require("./vue-ui-skeleton-DwEcR_uq.cjs"),Ce=require("./BaseIcon-r5Y-jYX5.cjs"),xe=require("./vue-ui-accordion-jSupvtFc.cjs"),ae=require("./useNestedProp-CUrnndD5.cjs"),_e=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),$e=["id"],Ne=["onClick"],we=["xmlns","viewBox"],Se=["id"],Ve=["stop-color"],Te=["stop-color"],Ee=["x","y","width","height","fill","rx"],Be=["x","y","width","height","fill","rx","stroke","stroke-width"],ze=["x2","y1","y2","stroke","stroke-width"],Pe=["x","y","font-size","fill","font-weight"],Le=["x","y","font-size","fill","font-weight"],De=["x","y","font-size","fill","font-weight"],Fe=["x","y","font-size","fill","font-weight"],Ie=["y","width","height","fill","onMouseenter"],Oe={key:4,class:"vue-data-ui-watermark"},Re=["onClick"],Me={style:"width:100%;padding-top: 36px;position:relative"},qe={class:"vue-ui-data-table"},He={key:0},Ue={style:{width:"100%"}},Ae=["data-cell"],Ge={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},Xe=["data-cell"],je={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},We=["data-cell"],Ye={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},Ke=["data-cell"],Je={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},Qe=["data-cell"],Ze={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},et=["data-cell"],tt={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},lt=["data-cell"],at={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},ot={__name:"vue-ui-vertical-bar",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend"],setup(oe,{expose:ne,emit:re}){const f=oe;e.useCssVars(l=>({"1d948788":l.tdo}));const{vue_ui_vertical_bar:ue}=r.useConfig(),w=e.computed(()=>!!f.dataset&&f.dataset.length),m=e.ref(r.createUid()),ie=e.ref(null),E=e.ref(!1),B=e.ref(""),S=e.ref(0),se=e.ref(null),F=e.ref(0),C=e.ref(null),I=e.ref(null),z=e.ref(null),t=e.computed(()=>{const l=ae.useNestedProp({userConfig:f.config,defaultConfig:ue});return l.theme?{...ae.useNestedProp({userConfig:r.themes.vue_ui_vertical_bar[l.theme]||f.config,defaultConfig:l}),customPalette:r.themePalettes[l.theme]||r.palette}:l}),{isPrinting:O,isImaging:R,generatePdf:M,generateImage:q}=te.usePrinter({elementId:`vue-ui-vertical-bar_${m.value}`,fileName:t.value.style.chart.title.text||"vue-ui-vertical-bar"}),H=e.computed(()=>r.convertCustomPalette(t.value.customPalette)),U=e.ref(null),A=e.ref(!1),ce=e.computed(()=>t.value.table.responsiveBreakpoint),V=e.ref(null);e.onMounted(()=>{if(r.objectIsEmpty(f.dataset)&&r.error({componentName:"VueUiVerticalBar",type:"dataset"}),S.value=f.dataset.flatMap(l=>l.children&&l.children.length>0?l.children.length:1).reduce((l,o)=>l+o,0),de(),t.value.responsive){const l=ee.throttle(()=>{const{width:o,height:a}=ee.useResponsive({chart:C.value,title:t.value.style.chart.title.text?I.value:null,legend:t.value.style.chart.legend.show?z.value:null});j.value=o,s.value=a/S.value-d.value*2});V.value=new ResizeObserver(l),V.value.observe(C.value.parentNode)}}),e.onBeforeUnmount(()=>{V.value&&V.value.disconnect()});function de(){new ResizeObserver(o=>{o.forEach(a=>{A.value=a.contentRect.width<ce.value})}).observe(U.value)}const h=e.ref({showTable:t.value.table.show,sortDesc:t.value.style.chart.layout.bars.sort==="desc",showTooltip:t.value.style.chart.tooltip.show}),G=e.computed(()=>h.value.sortDesc),b=e.computed(()=>(f.dataset.forEach((l,o)=>{l.children&&(r.objectIsEmpty(l.children)?r.error({componentName:"VueUiVerticalBar",type:"datasetAttributeEmpty",property:`children (index ${o})`}):l.children.forEach((a,n)=>{[null,void 0].includes(a.name)&&r.error({componentName:"VueUiVerticalBar",type:"datasetSerieAttribute",property:"name",key:"children",index:n})}))}),f.dataset.map((l,o)=>{const a=`vertical_parent_${o}_${m.value}`,n=!!l.children&&l.children.length>0;return![null,void 0].includes(l.value)&&l.value<0&&console.warn(`VueUiVerticalBar is not designed to graph negative values. ${l.name||"serie at index"+o} has the following value: ${l.value}`),{...l,id:a,shape:"square",opacity:y.value.includes(a)?.5:1,value:n?l.children.map(u=>u.value||0).reduce((u,i)=>u+i,0):l.value||0,hasChildren:n,isChild:!1,segregate:()=>x(a),isSegregated:y.value.includes(a),color:r.convertColorToHex(l.color)||H.value[o]||r.palette[o]||r.palette[o%r.palette.length],children:!l.children||!l.children.length?[]:l.children.toSorted((u,i)=>G.value?i.value-u.value:u.value-i.value).map((u,i)=>(![null,void 0].includes(u.value)&&u.value<0&&console.warn(`VueUiVerticalBar is not designed to graph negative values. ${u.name+" child serie"||"child serie at index"+o+", "+i} has the following value: ${u.value}`),{...u,value:u.value||0,isChild:!0,parentId:a,parentName:l.name,parentValue:l.value,id:`vertical_child_${o}_${i}_${m.value}`,childIndex:i,color:r.convertColorToHex(u.color)||r.convertColorToHex(l.color)||H.value[o]||r.palette[o]||r.palette[o%r.palette.length]})).map((u,i)=>({...u,isFirstChild:i===0,isLastChild:i===l.children.length-1}))}}).toSorted((l,o)=>G.value?o.value-l.value:l.value-o.value))),X=e.computed(()=>({cy:"vertical-bar-div-legend",backgroundColor:t.value.style.chart.legend.backgroundColor,color:t.value.style.chart.legend.color,fontSize:t.value.style.chart.legend.fontSize,paddingBottom:12,fontWeight:t.value.style.chart.legend.bold?"bold":""})),s=e.ref(t.value.style.chart.layout.bars.height),d=e.ref(t.value.style.chart.layout.bars.gap),ve=e.computed(()=>(s.value+d.value)*S.value),j=e.ref(512),c=e.computed(()=>({width:j.value,height:ve.value,padding:{top:12,left:128+t.value.style.chart.layout.bars.offsetX,right:64+t.value.style.chart.layout.bars.paddingRight,bottom:12}})),v=e.computed(()=>({fullHeight:c.value.padding.top+c.value.padding.bottom+c.value.height,top:c.value.padding.top,left:c.value.padding.left,right:c.value.width-c.value.padding.right,bottom:c.value.padding.top+c.value.height,width:c.value.width-(c.value.padding.left+c.value.padding.right)}));function P(){S.value=k.value.flatMap(l=>l.children&&l.children.length>0?l.children.length:1).reduce((l,o)=>l+o,0)}const y=e.ref([]);function x(l){y.value.includes(l)?y.value=y.value.filter(o=>o!==l):y.value.push(l),P(),re("selectLegend",k.value)}const k=e.computed(()=>b.value.filter(l=>!y.value.includes(l.id))),p=e.computed(()=>k.value.map(l=>l.value).reduce((l,o)=>l+o));function W(l,o=!1,a=0){return o?(l/p.value*100).toFixed(a)+"%":l/p.value}const _=e.computed(()=>k.value.flatMap(l=>l.hasChildren?l.children:l)),he=e.computed(()=>Math.max(...k.value.flatMap(l=>l.children&&l.children.length?Math.max(...l.children.map(o=>o.value)):l.value)));function $(l){const o=l/he.value;return v.value.width*o}function pe(l){return $(l)+v.value.left}function T(l,o){const a=k.value.find(i=>i.id===l.parentId),n=v.value.top+(d.value+s.value)*o,u=a.children.length*(d.value+s.value);return{y:n+u/2-t.value.style.chart.layout.bars.parentLabels.fontSize,name:a.name,value:[void 0,NaN,null].includes(a.value)?"":a.value.toFixed(t.value.style.chart.layout.bars.dataLabels.value.roundingValue),percentageToTotal:isNaN(a.value/p.value)?"":W(a.value,!0,t.value.style.chart.layout.bars.dataLabels.percentage.roundingPercentage)}}function ge(){return k.value}const L=e.ref(null),D=e.ref(null);function ye(l,o){D.value={datapoint:l,seriesIndex:o,series:b.value,config:t.value},E.value=!0,L.value=l.id;let a="";const n=l.isChild?l.parentName:l.name,u=l.isChild?l.name:"",i=t.value.style.chart.tooltip.customFormat;r.isFunction(i)&&r.functionReturnsString(()=>i({datapoint:l,series:b.value,config:t.value,seriesIndex:o}))?B.value=i({datapoint:l,series:b.value,config:t.value,seriesIndex:o}):(a+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;text-align:left;">
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./index-BQOxn6SH.cjs"),ee=require("./useResponsive-B3TrDDIG.cjs"),me=require("./Title-B9iq63n1.cjs"),te=require("./usePrinter-Q1J--baX.cjs"),be=require("./Tooltip-DcDEanxk.cjs"),le=require("./Legend-C_lBCmBu.cjs"),ke=require("./vue-ui-skeleton-CcrGR_Vh.cjs"),Ce=require("./BaseIcon-CiO8gP9x.cjs"),xe=require("./vue-ui-accordion-ogVvFfQy.cjs"),ae=require("./useNestedProp-BtqgWTf9.cjs"),_e=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),$e=["id"],Ne=["onClick"],we=["xmlns","viewBox"],Se=["id"],Ve=["stop-color"],Te=["stop-color"],Ee=["x","y","width","height","fill","rx"],Be=["x","y","width","height","fill","rx","stroke","stroke-width"],ze=["x2","y1","y2","stroke","stroke-width"],Pe=["x","y","font-size","fill","font-weight"],Le=["x","y","font-size","fill","font-weight"],De=["x","y","font-size","fill","font-weight"],Fe=["x","y","font-size","fill","font-weight"],Ie=["y","width","height","fill","onMouseenter"],Oe={key:4,class:"vue-data-ui-watermark"},Re=["onClick"],Me={style:"width:100%;padding-top: 36px;position:relative"},qe={class:"vue-ui-data-table"},He={key:0},Ue={style:{width:"100%"}},Ae=["data-cell"],Ge={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},Xe=["data-cell"],je={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},We=["data-cell"],Ye={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},Ke=["data-cell"],Je={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},Qe=["data-cell"],Ze={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},et=["data-cell"],tt={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},lt=["data-cell"],at={style:{display:"flex","align-items":"center",gap:"5px","justify-content":"flex-end",width:"100%","padding-right":"3px"}},ot={__name:"vue-ui-vertical-bar",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend"],setup(oe,{expose:ne,emit:re}){const f=oe;e.useCssVars(l=>({"1d948788":l.tdo}));const{vue_ui_vertical_bar:ue}=r.useConfig(),w=e.computed(()=>!!f.dataset&&f.dataset.length),m=e.ref(r.createUid()),ie=e.ref(null),E=e.ref(!1),B=e.ref(""),S=e.ref(0),se=e.ref(null),F=e.ref(0),C=e.ref(null),I=e.ref(null),z=e.ref(null),t=e.computed(()=>{const l=ae.useNestedProp({userConfig:f.config,defaultConfig:ue});return l.theme?{...ae.useNestedProp({userConfig:r.themes.vue_ui_vertical_bar[l.theme]||f.config,defaultConfig:l}),customPalette:r.themePalettes[l.theme]||r.palette}:l}),{isPrinting:O,isImaging:R,generatePdf:M,generateImage:q}=te.usePrinter({elementId:`vue-ui-vertical-bar_${m.value}`,fileName:t.value.style.chart.title.text||"vue-ui-vertical-bar"}),H=e.computed(()=>r.convertCustomPalette(t.value.customPalette)),U=e.ref(null),A=e.ref(!1),ce=e.computed(()=>t.value.table.responsiveBreakpoint),V=e.ref(null);e.onMounted(()=>{if(r.objectIsEmpty(f.dataset)&&r.error({componentName:"VueUiVerticalBar",type:"dataset"}),S.value=f.dataset.flatMap(l=>l.children&&l.children.length>0?l.children.length:1).reduce((l,o)=>l+o,0),de(),t.value.responsive){const l=ee.throttle(()=>{const{width:o,height:a}=ee.useResponsive({chart:C.value,title:t.value.style.chart.title.text?I.value:null,legend:t.value.style.chart.legend.show?z.value:null});j.value=o,s.value=a/S.value-d.value*2});V.value=new ResizeObserver(l),V.value.observe(C.value.parentNode)}}),e.onBeforeUnmount(()=>{V.value&&V.value.disconnect()});function de(){new ResizeObserver(o=>{o.forEach(a=>{A.value=a.contentRect.width<ce.value})}).observe(U.value)}const h=e.ref({showTable:t.value.table.show,sortDesc:t.value.style.chart.layout.bars.sort==="desc",showTooltip:t.value.style.chart.tooltip.show}),G=e.computed(()=>h.value.sortDesc),b=e.computed(()=>(f.dataset.forEach((l,o)=>{l.children&&(r.objectIsEmpty(l.children)?r.error({componentName:"VueUiVerticalBar",type:"datasetAttributeEmpty",property:`children (index ${o})`}):l.children.forEach((a,n)=>{[null,void 0].includes(a.name)&&r.error({componentName:"VueUiVerticalBar",type:"datasetSerieAttribute",property:"name",key:"children",index:n})}))}),f.dataset.map((l,o)=>{const a=`vertical_parent_${o}_${m.value}`,n=!!l.children&&l.children.length>0;return![null,void 0].includes(l.value)&&l.value<0&&console.warn(`VueUiVerticalBar is not designed to graph negative values. ${l.name||"serie at index"+o} has the following value: ${l.value}`),{...l,id:a,shape:"square",opacity:y.value.includes(a)?.5:1,value:n?l.children.map(u=>u.value||0).reduce((u,i)=>u+i,0):l.value||0,hasChildren:n,isChild:!1,segregate:()=>x(a),isSegregated:y.value.includes(a),color:r.convertColorToHex(l.color)||H.value[o]||r.palette[o]||r.palette[o%r.palette.length],children:!l.children||!l.children.length?[]:l.children.toSorted((u,i)=>G.value?i.value-u.value:u.value-i.value).map((u,i)=>(![null,void 0].includes(u.value)&&u.value<0&&console.warn(`VueUiVerticalBar is not designed to graph negative values. ${u.name+" child serie"||"child serie at index"+o+", "+i} has the following value: ${u.value}`),{...u,value:u.value||0,isChild:!0,parentId:a,parentName:l.name,parentValue:l.value,id:`vertical_child_${o}_${i}_${m.value}`,childIndex:i,color:r.convertColorToHex(u.color)||r.convertColorToHex(l.color)||H.value[o]||r.palette[o]||r.palette[o%r.palette.length]})).map((u,i)=>({...u,isFirstChild:i===0,isLastChild:i===l.children.length-1}))}}).toSorted((l,o)=>G.value?o.value-l.value:l.value-o.value))),X=e.computed(()=>({cy:"vertical-bar-div-legend",backgroundColor:t.value.style.chart.legend.backgroundColor,color:t.value.style.chart.legend.color,fontSize:t.value.style.chart.legend.fontSize,paddingBottom:12,fontWeight:t.value.style.chart.legend.bold?"bold":""})),s=e.ref(t.value.style.chart.layout.bars.height),d=e.ref(t.value.style.chart.layout.bars.gap),ve=e.computed(()=>(s.value+d.value)*S.value),j=e.ref(512),c=e.computed(()=>({width:j.value,height:ve.value,padding:{top:12,left:128+t.value.style.chart.layout.bars.offsetX,right:64+t.value.style.chart.layout.bars.paddingRight,bottom:12}})),v=e.computed(()=>({fullHeight:c.value.padding.top+c.value.padding.bottom+c.value.height,top:c.value.padding.top,left:c.value.padding.left,right:c.value.width-c.value.padding.right,bottom:c.value.padding.top+c.value.height,width:c.value.width-(c.value.padding.left+c.value.padding.right)}));function P(){S.value=k.value.flatMap(l=>l.children&&l.children.length>0?l.children.length:1).reduce((l,o)=>l+o,0)}const y=e.ref([]);function x(l){y.value.includes(l)?y.value=y.value.filter(o=>o!==l):y.value.push(l),P(),re("selectLegend",k.value)}const k=e.computed(()=>b.value.filter(l=>!y.value.includes(l.id))),p=e.computed(()=>k.value.map(l=>l.value).reduce((l,o)=>l+o));function W(l,o=!1,a=0){return o?(l/p.value*100).toFixed(a)+"%":l/p.value}const _=e.computed(()=>k.value.flatMap(l=>l.hasChildren?l.children:l)),he=e.computed(()=>Math.max(...k.value.flatMap(l=>l.children&&l.children.length?Math.max(...l.children.map(o=>o.value)):l.value)));function $(l){const o=l/he.value;return v.value.width*o}function pe(l){return $(l)+v.value.left}function T(l,o){const a=k.value.find(i=>i.id===l.parentId),n=v.value.top+(d.value+s.value)*o,u=a.children.length*(d.value+s.value);return{y:n+u/2-t.value.style.chart.layout.bars.parentLabels.fontSize,name:a.name,value:[void 0,NaN,null].includes(a.value)?"":a.value.toFixed(t.value.style.chart.layout.bars.dataLabels.value.roundingValue),percentageToTotal:isNaN(a.value/p.value)?"":W(a.value,!0,t.value.style.chart.layout.bars.dataLabels.percentage.roundingPercentage)}}function ge(){return k.value}const L=e.ref(null),D=e.ref(null);function ye(l,o){D.value={datapoint:l,seriesIndex:o,series:b.value,config:t.value},E.value=!0,L.value=l.id;let a="";const n=l.isChild?l.parentName:l.name,u=l.isChild?l.name:"",i=t.value.style.chart.tooltip.customFormat;r.isFunction(i)&&r.functionReturnsString(()=>i({datapoint:l,series:b.value,config:t.value,seriesIndex:o}))?B.value=i({datapoint:l,series:b.value,config:t.value,seriesIndex:o}):(a+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;text-align:left;">
2
2
  <div style="display:flex;align-items:center;gap:4px;"><svg viewBox="0 0 12 12" height="14" width="14"><rect x="0" y="0" height="12" width="12" rx="2" stroke="none" fill="${l.color}"/></svg> ${n}</div>
3
3
  ${u?`<div>${u}</div>`:""}
4
4
  </div>`,t.value.style.chart.tooltip.showValue&&(a+=`<div>${t.value.translations.value}: <b>${t.value.style.chart.tooltip.prefix}${[void 0,NaN,null].includes(l.value)?"-":l.value.toFixed(t.value.style.chart.tooltip.roundingValue)}${t.value.style.chart.tooltip.suffix}</b></div>`),t.value.style.chart.tooltip.showPercentage&&(a+=`<div>${t.value.translations.percentageToTotal} : <b>${isNaN(l.value/p.value)?"-":`${(l.value/p.value*100).toFixed(t.value.style.chart.tooltip.roundingPercentage)}`}%</b></div>`,l.isChild&&(a+=`<div>${t.value.translations.percentageToSerie}: <b>${isNaN(l.value/l.parentValue)?"-":`${(l.value/l.parentValue*100).toFixed(t.value.style.chart.tooltip.roundingPercentage)}`}%</b></div>`)),B.value=`<div style="text-align:left">${a}</div>`)}function Y(l){if(isNaN(l)||!t.value.style.chart.layout.bars.dataLabels.value.show)return"";const o=r.dataLabel({p:t.value.style.chart.layout.bars.dataLabels.value.prefix,v:l,s:t.value.style.chart.layout.bars.dataLabels.value.suffix,r:t.value.style.chart.layout.bars.dataLabels.value.roundingValue}),a=`(${W(l,!0,t.value.style.chart.layout.bars.dataLabels.percentage.roundingPercentage)})`;return`${o}${t.value.style.chart.layout.bars.dataLabels.percentage.show?` ${a}`:""}`}const g=e.computed(()=>{const l=[t.value.translations.parentName,t.value.translations.value,t.value.translations.percentageToTotal,t.value.translations.childName,t.value.translations.value,t.value.translations.percentageToSerie,t.value.translations.percentageToTotal],o=_.value.map(a=>a.isChild?a.isFirstChild?{color:a.color,parentName:a.parentName,parentValue:a.parentValue,percentageToTotal:a.parentValue/p.value,childName:a.name,childValue:a.value,childPercentageToParent:a.value/a.parentValue,childPercentageToTotal:a.value/p.value}:{color:"",parentName:"",parentValue:"",percentageToTotal:"",childName:a.name,childValue:a.value,childPercentageToParent:a.value/a.parentValue,childPercentageToTotal:a.value/p.value}:{color:a.color,parentName:a.name,parentValue:a.value,percentageToTotal:a.value/p.value,childName:"",childValue:"",childPercentageToParent:"",childPercentageToTotal:""});return{head:l,body:o}});function K(){const l=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[""]],o=g.value.head,a=g.value.body.map(i=>[i.parentName,i.parentValue,i.percentageToTotal,i.childName,i.childValue,i.childPercentageToParent,i.childPercentageToTotal]),n=l.concat([o]).concat(a),u=r.createCsvContent(n);r.downloadCsv({csvContent:u,title:t.value.style.chart.title.text||"vue-ui-vertical-bar"})}const N=e.ref(!1);function fe(l){N.value=l,F.value+=1}function J(){h.value.showTable=!h.value.showTable}function Q(){h.value.sortDesc=!h.value.sortDesc,P()}function Z(){h.value.showTooltip=!h.value.showTooltip}return ne({getData:ge,recalculateHeight:P,generatePdf:M,generateCsv:K,generateImage:q,toggleTable:J,toggleSort:Q,toggleTooltip:Z}),(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`vue-ui-vertical-bar ${N.value?"vue-data-ui-wrapper-fullscreen":""} ${t.value.useCssAnimation?"":"vue-ui-dna"}`),ref_key:"verticalBarChart",ref:C,id:`vue-ui-vertical-bar_${m.value}`,style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor};${t.value.responsive?"height: 100%":""}`)},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:I,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:12px`)},[e.createVNode(me._sfc_main,{config:{title:{cy:"vertical-bar-div-title",...t.value.style.chart.title},subtitle:{cy:"vertical-bar-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&w.value?(e.openBlock(),e.createBlock(te.UserOptions,{ref_key:"details",ref:ie,key:`user_options_${F.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isImaging:e.unref(R),isPrinting:e.unref(O),uid:m.value,hasTooltip:t.value.userOptions.buttons.tooltip&&t.value.style.chart.tooltip.show,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasXls:t.value.userOptions.buttons.csv,hasTable:t.value.userOptions.buttons.table,hasSort:t.value.userOptions.buttons.sort,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:N.value,isTooltip:h.value.showTooltip,titles:{...t.value.userOptions.buttonTitles},chartElement:C.value,onToggleFullscreen:fe,onGeneratePdf:e.unref(M),onGenerateCsv:K,onGenerateImage:e.unref(q),onToggleTable:J,onToggleSort:Q,onToggleTooltip:Z},e.createSlots({_:2},[l.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,l.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,l.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,l.$slots.optionLabels?{name:"optionLabels",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionLabels",{},void 0,!0)]),key:"5"}:void 0,l.$slots.optionSort?{name:"optionSort",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionSort",{},void 0,!0)]),key:"6"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:a,isFullscreen:n})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:a,isFullscreen:n})),void 0,!0)]),key:"7"}:void 0]),1032,["backgroundColor","color","isImaging","isPrinting","uid","hasTooltip","hasPdf","hasImg","hasXls","hasTable","hasSort","hasFullscreen","isFullscreen","isTooltip","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),t.value.style.chart.legend.show&&t.value.style.chart.legend.position==="top"?(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"chartLegend",ref:z},[e.createVNode(le.Legend,{legendSet:b.value,config:X.value,onClickMarker:o[0]||(o[0]=({legend:a})=>x(a.id))},{item:e.withCtx(({legend:a})=>[e.createElementVNode("div",{"data-cy-legend-item":"",onClick:n=>x(a.id),style:e.normalizeStyle(`opacity:${y.value.includes(a.id)?.5:1}`)},e.toDisplayString(a.name)+": "+e.toDisplayString(t.value.style.chart.legend.prefix)+e.toDisplayString(a.value.toFixed(t.value.style.chart.legend.roundingValue))+e.toDisplayString(t.value.style.chart.legend.suffix),13,Ne)]),_:1},8,["legendSet","config"])],512)):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createElementBlock("svg",{key:3,xmlns:e.unref(r.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":N.value,"vue-data-ui-fulscreen--off":!N.value}),viewBox:`0 0 ${c.value.width<=0?10:c.value.width} ${v.value.fullHeight<=0?10:v.value.fullHeight}`,style:e.normalizeStyle(`max-width:100%;overflow:visible;background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(a,n)=>(e.openBlock(),e.createElementBlock("linearGradient",{x1:"0%",y1:"0%",x2:"100%",y2:"0%",id:`vertical_bar_gradient_${m.value}_${n}`},[e.createElementVNode("stop",{offset:"0%","stop-color":a.color},null,8,Ve),e.createElementVNode("stop",{offset:"100%","stop-color":`${e.unref(r.shiftHue)(a.color,.03)}${e.unref(r.opacity)[100-t.value.style.chart.layout.bars.gradientIntensity]}`},null,8,Te)],8,Se))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(a,n)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("rect",{x:v.value.left,y:v.value.top+(d.value+s.value)*n,width:$(a.value)<=0?1e-4:$(a.value),height:s.value<=0?1e-4:s.value,fill:t.value.style.chart.layout.bars.underlayerColor,rx:t.value.style.chart.layout.bars.borderRadius,class:e.normalizeClass({animated:t.value.useCssAnimation})},null,10,Ee)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(a,n)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("rect",{x:v.value.left,y:v.value.top+(d.value+s.value)*n,width:$(a.value)<=0?1e-4:$(a.value),height:s.value<=0?1e-4:s.value,fill:t.value.style.chart.layout.bars.useGradient?`url(#vertical_bar_gradient_${m.value}_${n})`:`${a.color}${e.unref(r.opacity)[t.value.style.chart.layout.bars.fillOpacity]}`,rx:t.value.style.chart.layout.bars.borderRadius,stroke:t.value.style.chart.layout.bars.useStroke?a.color:"none","stroke-width":t.value.style.chart.layout.bars.useStroke?t.value.style.chart.layout.bars.strokeWidth:0,class:e.normalizeClass({animated:t.value.useCssAnimation})},null,10,Be),(!a.isChild||a.isLastChild)&&t.value.style.chart.layout.separators.show&&n!==_.value.length-1?(e.openBlock(),e.createElementBlock("line",{key:0,x1:0,x2:v.value.left,y1:s.value+d.value/2+v.value.top+(d.value+s.value)*n,y2:s.value+d.value/2+v.value.top+(d.value+s.value)*n,stroke:t.value.style.chart.layout.separators.color,"stroke-width":t.value.style.chart.layout.separators.strokeWidth,"stroke-linecap":"round"},null,8,ze)):e.createCommentVNode("",!0),e.createElementVNode("text",{x:pe(a.value)+3+t.value.style.chart.layout.bars.dataLabels.offsetX,y:v.value.top+(d.value+s.value)*n+s.value/2+t.value.style.chart.layout.bars.dataLabels.fontSize/2,"text-anchor":"start","font-size":t.value.style.chart.layout.bars.dataLabels.fontSize,fill:t.value.style.chart.layout.bars.dataLabels.color,"font-weight":t.value.style.chart.layout.bars.dataLabels.bold?"bold":"normal"},e.toDisplayString(Y(a.value)),9,Pe),(a.isChild||!a.hasChildren)&&t.value.style.chart.layout.bars.nameLabels.show?(e.openBlock(),e.createElementBlock("text",{key:1,"text-anchor":"end",x:v.value.left-3+t.value.style.chart.layout.bars.nameLabels.offsetX,y:v.value.top+(d.value+s.value)*n+s.value/2+t.value.style.chart.layout.bars.nameLabels.fontSize/2,"font-size":t.value.style.chart.layout.bars.nameLabels.fontSize,fill:t.value.style.chart.layout.bars.nameLabels.color,"font-weight":t.value.style.chart.layout.bars.nameLabels.bold?"bold":"normal"},e.toDisplayString(a.name),9,Le)):e.createCommentVNode("",!0),a.isChild&&a.childIndex===0&&t.value.style.chart.layout.bars.parentLabels.show?(e.openBlock(),e.createElementBlock("text",{key:2,x:3+t.value.style.chart.layout.bars.parentLabels.offsetX,y:T(a,n).y,"font-size":t.value.style.chart.layout.bars.parentLabels.fontSize,fill:t.value.style.chart.layout.bars.parentLabels.color,"font-weight":t.value.style.chart.layout.bars.parentLabels.bold?"bold":"normal","text-anchor":"start"},e.toDisplayString(T(a,n).name),9,De)):e.createCommentVNode("",!0),a.isChild&&a.childIndex===0&&t.value.style.chart.layout.bars.parentLabels.show?(e.openBlock(),e.createElementBlock("text",{key:3,x:3+t.value.style.chart.layout.bars.parentLabels.offsetX,y:T(a,n).y+t.value.style.chart.layout.bars.parentLabels.fontSize+6,"font-size":t.value.style.chart.layout.bars.parentLabels.fontSize,fill:t.value.style.chart.layout.bars.parentLabels.color,"font-weight":t.value.style.chart.layout.bars.dataLabels.bold?"bold":"normal","text-anchor":"start"},e.toDisplayString(Y(T(a,n).value)),9,Fe)):e.createCommentVNode("",!0),e.createElementVNode("rect",{"data-cy-trap":"",x:0,y:v.value.top+(d.value+s.value)*n-d.value/2,width:c.value.width<=0?1e-4:c.value.width,height:s.value+d.value<=0?1e-4:s.value+d.value,fill:L.value===a.id?`${t.value.style.chart.layout.highlighter.color}${e.unref(r.opacity)[t.value.style.chart.layout.highlighter.opacity]}`:"transparent",onMouseenter:u=>ye(a,n),onMouseleave:o[1]||(o[1]=u=>{se.value=null,E.value=!1,L.value=null})},null,40,Ie)]))),256)),e.renderSlot(l.$slots,"svg",{svg:c.value},void 0,!0)],14,we)):e.createCommentVNode("",!0),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",Oe,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(O)||e.unref(R)})),void 0,!0)])):e.createCommentVNode("",!0),w.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ke.default,{key:5,config:{type:"verticalBar",style:{backgroundColor:t.value.style.chart.backgroundColor,verticalBar:{axis:{color:"#CCCCCC"},color:"#CCCCCC"}}}},null,8,["config"])),t.value.style.chart.legend.show&&t.value.style.chart.legend.position==="bottom"?(e.openBlock(),e.createElementBlock("div",{key:6,ref_key:"chartLegend",ref:z},[e.createVNode(le.Legend,{legendSet:b.value,config:X.value,onClickMarker:o[2]||(o[2]=({legend:a})=>x(a.id))},{item:e.withCtx(({legend:a})=>[e.createElementVNode("div",{onClick:n=>x(a.id),style:e.normalizeStyle(`opacity:${y.value.includes(a.id)?.5:1}`)},e.toDisplayString(a.name)+" : "+e.toDisplayString(t.value.style.chart.legend.prefix)+e.toDisplayString(a.value.toFixed(t.value.style.chart.legend.roundingValue))+e.toDisplayString(t.value.style.chart.legend.suffix),13,Re)]),_:1},8,["legendSet","config"])],512)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"legend",{legend:b.value},void 0,!0),e.createVNode(be._sfc_main,{show:h.value.showTooltip&&E.value&&y.value.length<f.dataset.length,backgroundColor:t.value.style.chart.tooltip.backgroundColor,color:t.value.style.chart.tooltip.color,borderRadius:t.value.style.chart.tooltip.borderRadius,borderColor:t.value.style.chart.tooltip.borderColor,borderWidth:t.value.style.chart.tooltip.borderWidth,fontSize:t.value.style.chart.tooltip.fontSize,backgroundOpacity:t.value.style.chart.tooltip.backgroundOpacity,position:t.value.style.chart.tooltip.position,offsetY:t.value.style.chart.tooltip.offsetY,parent:C.value,content:B.value,isCustom:t.value.style.chart.tooltip.customFormat&&typeof t.value.style.chart.tooltip.customFormat=="function"},{"tooltip-before":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","borderRadius","borderColor","borderWidth","fontSize","backgroundOpacity","position","offsetY","parent","content","isCustom"]),w.value?(e.openBlock(),e.createBlock(xe.default,{key:7,hideDetails:"",config:{open:h.value.showTable,maxHeight:1e4,body:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color},head:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color}}},{content:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"tableContainer",ref:U,class:"vue-ui-vertical-bar-table"},[e.createElementVNode("div",Me,[e.createElementVNode("div",{role:"button",tabindex:"0",style:e.normalizeStyle(`width:32px; position: absolute; top: 0; right:4px; padding: 0 0px; display: flex; align-items:center;justify-content:center;height: 36px; width: 32px; cursor:pointer; background:${t.value.table.th.backgroundColor};`),onClick:o[3]||(o[3]=a=>h.value.showTable=!1),onKeypress:o[4]||(o[4]=e.withKeys(a=>h.value.showTable=!1,["enter"]))},[e.createVNode(Ce.default,{name:"close",stroke:t.value.table.th.color,"stroke-width":2},null,8,["stroke"])],36),e.createElementVNode("div",{style:{width:"100%","container-type":"inline-size"},class:e.normalizeClass({"vue-ui-responsive":A.value})},[e.createElementVNode("table",qe,[e.createElementVNode("caption",{style:e.normalizeStyle({backgroundColor:t.value.table.th.backgroundColor,color:t.value.table.th.color,outline:t.value.table.th.outline}),class:"vue-ui-data-table__caption"},[e.createTextVNode(e.toDisplayString(t.value.style.chart.title.text)+" ",1),t.value.style.chart.title.subtitle.text?(e.openBlock(),e.createElementBlock("span",He,e.toDisplayString(t.value.style.chart.title.subtitle.text),1)):e.createCommentVNode("",!0)],4),e.createElementVNode("thead",null,[e.createElementVNode("tr",{role:"row",style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value.head,a=>(e.openBlock(),e.createElementBlock("th",{style:e.normalizeStyle(`outline:${t.value.table.th.outline}`)},[e.createElementVNode("div",Ue,e.toDisplayString(a),1)],4))),256))],4),e.createElementVNode("tr",null,[e.createElementVNode("th",{style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color};outline:${t.value.table.th.outline}`)},null,4),e.createElementVNode("th",{style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color};outline:${t.value.table.th.outline};text-align:right;padding-right:5px;font-weight:bold`)},"∑ "+e.toDisplayString(t.value.table.td.prefix)+e.toDisplayString(isNaN(p.value)?"":p.value.toFixed(t.value.table.td.roundingValue))+e.toDisplayString(t.value.table.td.suffix),5),e.createElementVNode("th",{style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color};outline:${t.value.table.th.outline};text-align:right;padding-right:5px;font-weight:bold`)},"100%",4),e.createElementVNode("th",{style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color};outline:${t.value.table.th.outline}`)},null,4),e.createElementVNode("th",{style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color};outline:${t.value.table.th.outline}`)},null,4),e.createElementVNode("th",{style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color};outline:${t.value.table.th.outline}`)},null,4),e.createElementVNode("th",{style:e.normalizeStyle(`background:${t.value.table.th.backgroundColor};color:${t.value.table.th.color};outline:${t.value.table.th.outline}`)},null,4)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value.body,(a,n)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass({"vue-ui-data-table__tbody__row":!0,"vue-ui-data-table__tbody__row-even":n%2===0,"vue-ui-data-table__tbody__row-odd":n%2!==0}),style:e.normalizeStyle(`background:${t.value.table.td.backgroundColor};color:${t.value.table.td.color}`)},[e.createElementVNode("td",{class:"vue-ui-data-table__tbody__td",style:e.normalizeStyle(`outline:${t.value.table.td.outline};font-variant-numeric: tabular-nums;`),"data-cell":g.value.head[0]??""},[e.createElementVNode("div",Ge,[a.color?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(`color:${a.color};margin-right:3px`)},"⬤",4)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(a.parentName),1)])],12,Ae),e.createElementVNode("td",{class:"vue-ui-data-table__tbody__td",style:e.normalizeStyle(`outline:${t.value.table.td.outline}`),"data-cell":g.value.head[1]??""},[e.createElementVNode("div",je,e.toDisplayString(t.value.table.td.prefix)+e.toDisplayString(["",NaN,void 0].includes(a.parentValue)?"":a.parentValue.toFixed(t.value.table.td.roundingValue))+e.toDisplayString(t.value.table.td.suffix),1)],12,Xe),e.createElementVNode("td",{class:"vue-ui-data-table__tbody__td",style:e.normalizeStyle(`outline:${t.value.table.td.outline}`),"data-cell":g.value.head[2]??""},[e.createElementVNode("div",Ye,e.toDisplayString(["",NaN,void 0].includes(a.percentageToTotal)?"":`${(a.percentageToTotal*100).toFixed(t.value.table.td.roundingPercentage)}%`),1)],12,We),e.createElementVNode("td",{class:"vue-ui-data-table__tbody__td",style:e.normalizeStyle(`outline:${t.value.table.td.outline}`),"data-cell":g.value.head[3]??""},[e.createElementVNode("div",Je,e.toDisplayString(a.childName),1)],12,Ke),e.createElementVNode("td",{class:"vue-ui-data-table__tbody__td",style:e.normalizeStyle(`outline:${t.value.table.td.outline}`),"data-cell":g.value.head[4]??""},[e.createElementVNode("div",Ze,e.toDisplayString(t.value.table.td.prefix)+e.toDisplayString(["",NaN,void 0].includes(a.childValue)?"":a.childValue.toFixed(t.value.table.td.roundingValue))+e.toDisplayString(t.value.table.td.suffix),1)],12,Qe),e.createElementVNode("td",{class:"vue-ui-data-table__tbody__td",style:e.normalizeStyle(`outline:${t.value.table.td.outline}`),"data-cell":g.value.head[5]??""},[e.createElementVNode("div",tt,e.toDisplayString(["",NaN,void 0].includes(a.childPercentageToParent)?"":`${(a.childPercentageToParent*100).toFixed(t.value.table.td.roundingPercentage)}%`),1)],12,et),e.createElementVNode("td",{class:"vue-ui-data-table__tbody__td",style:e.normalizeStyle(`outline:${t.value.table.td.outline}`),"data-cell":g.value.head[6]??""},[e.createElementVNode("div",at,e.toDisplayString(["",NaN,void 0].includes(a.childPercentageToTotal)?"":`${(a.childPercentageToTotal*100).toFixed(t.value.table.td.roundingPercentage)}%`),1)],12,lt)],6))),256))])])],2)])],512)]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,$e))}},nt=_e._export_sfc(ot,[["__scopeId","data-v-c1e5caa2"]]);exports.default=nt;
@@ -1,14 +1,14 @@
1
1
  import { useCssVars as De, computed as f, ref as h, onMounted as Re, onBeforeUnmount as Me, openBlock as i, createElementBlock as c, normalizeClass as S, normalizeStyle as d, createVNode as D, createCommentVNode as b, createBlock as Q, unref as C, createSlots as Ue, withCtx as m, renderSlot as _, normalizeProps as G, guardReactiveProps as H, createElementVNode as o, toDisplayString as u, Fragment as R, renderList as M, withKeys as Xe, createTextVNode as Ae } from "vue";
2
- import { u as Ee, c as Ge, t as He, a as We, p as V, b as je, o as _e, e as Z, d as ee, X as Ye, s as qe, r as te, v as Ke, w as Je, f as Qe, n as Ze, q as et } from "./index-Ck92ROEN.js";
2
+ import { u as Ee, c as Ge, t as He, a as We, p as V, b as je, o as _e, e as Z, d as ee, X as Ye, s as qe, r as te, v as Ke, w as Je, f as Qe, n as Ze, q as et } from "./index-DiWO-_ca.js";
3
3
  import { t as tt, u as lt } from "./useResponsive-NZB-WLRF.js";
4
- import { _ as at } from "./Title-BFBOWO3Q.js";
5
- import { u as ot, U as nt } from "./usePrinter-DBPRZcAN.js";
6
- import { _ as ut } from "./Tooltip-DravvC2X.js";
7
- import { L as $e } from "./Legend-C-mWIWYw.js";
8
- import rt from "./vue-ui-skeleton-B_c8tnen.js";
9
- import st from "./BaseIcon-Cr58pV0U.js";
10
- import it from "./vue-ui-accordion-CYyb5N_o.js";
11
- import { u as xe } from "./useNestedProp-C0fDv_7c.js";
4
+ import { _ as at } from "./Title-C3Ez1ceq.js";
5
+ import { u as ot, U as nt } from "./usePrinter-BD40aUzH.js";
6
+ import { _ as ut } from "./Tooltip-7SRMoiu-.js";
7
+ import { L as $e } from "./Legend-8eVERYMn.js";
8
+ import rt from "./vue-ui-skeleton-CeNL0kH-.js";
9
+ import st from "./BaseIcon-D8FXGup9.js";
10
+ import it from "./vue-ui-accordion-CiNdgRO9.js";
11
+ import { u as xe } from "./useNestedProp-DNX5EefQ.js";
12
12
  import { _ as dt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
13
13
  const ct = ["id"], vt = ["onClick"], ht = ["xmlns", "viewBox"], pt = ["id"], gt = ["stop-color"], yt = ["stop-color"], ft = ["x", "y", "width", "height", "fill", "rx"], bt = ["x", "y", "width", "height", "fill", "rx", "stroke", "stroke-width"], mt = ["x2", "y1", "y2", "stroke", "stroke-width"], _t = ["x", "y", "font-size", "fill", "font-weight"], $t = ["x", "y", "font-size", "fill", "font-weight"], xt = ["x", "y", "font-size", "fill", "font-weight"], kt = ["x", "y", "font-size", "fill", "font-weight"], Ct = ["y", "width", "height", "fill", "onMouseenter"], wt = {
14
14
  key: 4,
@@ -1,14 +1,14 @@
1
1
  import { computed as c, ref as v, onMounted as Ve, onBeforeUnmount as Me, openBlock as s, createElementBlock as n, normalizeClass as ke, normalizeStyle as j, createVNode as ae, createCommentVNode as b, createBlock as K, unref as p, createSlots as De, withCtx as g, renderSlot as m, normalizeProps as W, guardReactiveProps as q, createElementVNode as w, Fragment as $, renderList as V, toDisplayString as T, createTextVNode as xe, nextTick as Ee, pushScopeId as Ge, popScopeId as Re } from "vue";
2
- import { u as Ue, c as je, t as We, a as qe, p as B, o as He, e as oe, g as Xe, b as Ye, d as Je, f as I, X as Ke, s as Qe, r as Ze, C as et, E as tt, v as lt, w as at, n as ot, q as ut } from "./index-Ck92ROEN.js";
2
+ import { u as Ue, c as je, t as We, a as qe, p as B, o as He, e as oe, g as Xe, b as Ye, d as Je, f as I, X as Ke, s as Qe, r as Ze, C as et, E as tt, v as lt, w as at, n as ot, q as ut } from "./index-DiWO-_ca.js";
3
3
  import { t as st, u as rt } from "./useResponsive-NZB-WLRF.js";
4
- import { _ as nt } from "./Title-BFBOWO3Q.js";
5
- import { u as it, U as ct } from "./usePrinter-DBPRZcAN.js";
6
- import { _ as vt } from "./Tooltip-DravvC2X.js";
7
- import { D as dt } from "./DataTable-DFEpvyNK.js";
8
- import { L as ht } from "./Legend-C-mWIWYw.js";
9
- import yt from "./vue-ui-skeleton-B_c8tnen.js";
10
- import pt from "./vue-ui-accordion-CYyb5N_o.js";
11
- import { u as Ce } from "./useNestedProp-C0fDv_7c.js";
4
+ import { _ as nt } from "./Title-C3Ez1ceq.js";
5
+ import { u as it, U as ct } from "./usePrinter-BD40aUzH.js";
6
+ import { _ as vt } from "./Tooltip-7SRMoiu-.js";
7
+ import { D as dt } from "./DataTable-EqeVt-K-.js";
8
+ import { L as ht } from "./Legend-8eVERYMn.js";
9
+ import yt from "./vue-ui-skeleton-CeNL0kH-.js";
10
+ import pt from "./vue-ui-accordion-CiNdgRO9.js";
11
+ import { u as Ce } from "./useNestedProp-DNX5EefQ.js";
12
12
  import { _ as ft } from "./_plugin-vue_export-helper-CHgC5LLL.js";
13
13
  const _e = (M) => (Ge("data-v-33939b0e"), M = M(), Re(), M), gt = ["id"], mt = ["xmlns", "viewBox"], bt = ["id"], wt = ["stop-color"], kt = ["stop-color"], xt = ["id"], Ct = /* @__PURE__ */ _e(() => /* @__PURE__ */ w("feGaussianBlur", {
14
14
  in: "SourceGraphic",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("./index-D2z8eN-t.cjs"),ae=require("./useResponsive-B3TrDDIG.cjs"),be=require("./Title-R6PrAyfG.cjs"),oe=require("./usePrinter-c6hW2FYl.cjs"),ke=require("./Tooltip-DAjRpG7b.cjs"),we=require("./DataTable-BM_PreHp.cjs"),xe=require("./Legend-yNP9uHMI.cjs"),Ce=require("./vue-ui-skeleton-DwEcR_uq.cjs"),Be=require("./vue-ui-accordion-jSupvtFc.cjs"),re=require("./useNestedProp-CUrnndD5.cjs"),_e=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ue=S=>(e.pushScopeId("data-v-33939b0e"),S=S(),e.popScopeId(),S),Se=["id"],Ne=["xmlns","viewBox"],$e=["id"],Te=["stop-color"],Pe=["stop-color"],Ve=["id"],Ee=ue(()=>e.createElementVNode("feGaussianBlur",{in:"SourceGraphic",stdDeviation:2},null,-1)),Ie=ue(()=>e.createElementVNode("feColorMatrix",{type:"saturate",values:"0"},null,-1)),ze=[Ee,Ie],Fe=["x","y","height","width"],Le=["rx","x","y","height","width","stroke","stroke-width","filter"],Oe=["rx","x","y","height","width","fill","stroke","stroke-width","filter"],De=["x","y","height","width","filter"],Ae={key:0},Me={key:1},qe={key:2},Re={key:3},Ue=["onMouseover","x","y","height","width"],je={key:3,class:"vue-data-ui-watermark"},Ge=["onClick"],We={key:0},He={key:1},Ye=["innerHTML"],Xe={__name:"vue-ui-waffle",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend"],setup(S,{expose:ne,emit:se}){const p=S,{vue_ui_waffle:ie}=n.useConfig(),E=e.computed(()=>!!p.dataset&&p.dataset.length),m=e.ref(n.createUid()),ce=e.ref(null),L=e.ref(!1),O=e.ref(""),B=e.ref(null),q=e.ref(0),N=e.ref(null),R=e.ref(null),U=e.ref(null),t=e.computed(()=>{const l=re.useNestedProp({userConfig:p.config,defaultConfig:ie});return l.theme?{...re.useNestedProp({userConfig:n.themes.vue_ui_waffle[l.theme]||p.config,defaultConfig:l}),customPalette:n.themePalettes[l.theme]||n.palette}:l}),I=e.ref(null);e.onMounted(()=>{if(n.objectIsEmpty(p.dataset)?n.error({componentName:"VueUiWaffle",type:"dataset"}):p.dataset.forEach((l,o)=>{n.getMissingDatasetAttributes({datasetObject:l,requiredAttributes:["name","values"]}).forEach(a=>{n.error({componentName:"VueUiWaffle",type:"datasetSerieAttribute",property:a,index:o})})}),t.value.responsive){const l=ae.throttle(()=>{const{width:o,height:a}=ae.useResponsive({chart:N.value,title:t.value.style.chart.title.text?R.value:null,legend:t.value.style.chart.legend.show?U.value:null});b.value.width=o,b.value.height=a,k.value.width=o,k.value.height=a});I.value=new ResizeObserver(l),I.value.observe(N.value.parentNode)}}),e.onBeforeUnmount(()=>{I.value&&I.value.disconnect()});const{isPrinting:j,isImaging:G,generatePdf:W,generateImage:H}=oe.usePrinter({elementId:`vue-ui-waffle_${m.value}`,fileName:t.value.style.chart.title.text||"vue-ui-waffle"}),Y=e.computed(()=>n.convertCustomPalette(t.value.customPalette)),y=e.ref({showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),b=e.ref({height:512,width:512}),k=e.ref({top:0,left:0,height:512,width:512}),w=e.computed(()=>(k.value.width-t.value.style.chart.layout.grid.size*t.value.style.chart.layout.grid.spaceBetween)/t.value.style.chart.layout.grid.size),x=e.computed(()=>(k.value.height-t.value.style.chart.layout.grid.size*t.value.style.chart.layout.grid.spaceBetween)/t.value.style.chart.layout.grid.size),$=e.computed(()=>k.value.width/t.value.style.chart.layout.grid.size),z=e.computed(()=>k.value.height/t.value.style.chart.layout.grid.size);function X(l){const o=t.value.style.chart.layout.grid.size*t.value.style.chart.layout.grid.size,a=l.reduce((h,M)=>h+M,0),r=l.map(h=>h/a*o),u=r.map(Math.floor),s=r.map(h=>h%1);let v=o-u.reduce((h,M)=>h+M,0);for(;v>0;){let h=s.indexOf(Math.max(...s));u[h]+=1,s[h]=0,v-=1}return u}const J=e.computed(()=>p.dataset.map((l,o)=>({...l,color:n.convertColorToHex(l.color)||Y.value[o]||n.palette[o]||n.palette[o%n.palette.length],uid:`serie_${o}`,absoluteIndex:o}))),c=e.ref(J.value),de=e.computed(()=>{const l=c.value.filter((o,a)=>!d.value.includes(o.uid)).map((o,a)=>(o.values||[]).reduce((r,u)=>r+u,0));return X(l)}),ve=e.computed(()=>{const l=c.value.map((o,a)=>(o.values||[]).reduce((r,u)=>r+u));return X(l)}),T=e.computed(()=>(p.dataset.forEach((l,o)=>{[null,void 0].includes(l.values)&&n.error({componentName:"VueUiWaffle",type:"datasetSerieAttribute",property:"values (number[])",index:o})}),c.value.filter((l,o)=>!d.value.includes(l.uid)).map((l,o)=>({absoluteIndex:l.absoluteIndex,uid:l.uid,name:l.name,color:l.color,value:(l.values||[]).reduce((a,r)=>a+r,0),absoluteValues:l.values||[],proportion:de.value[o]})))),he=e.computed(()=>c.value.map((l,o)=>({absoluteIndex:l.absoluteIndex,uid:l.uid,name:l.name,color:l.color,value:(l.values||[]).reduce((a,r)=>a+r,0),absoluteValues:l.values||[],proportion:ve.value[o]})));function pe(){return he.value.map(l=>({name:l.name,color:l.color,value:l.value,proportion:l.proportion}))}const fe=e.computed(()=>{let l=0;return T.value.map((o,a)=>{const r=l,u=r+o.proportion,s=[];for(let v=Math.floor(r);v<Math.floor(u);v+=1)s.push(v);return l=u,{...o,start:r,rects:s}})}),i=e.computed(()=>fe.value.flatMap((l,o)=>l.rects.map((a,r)=>({isFirst:r===0,isLongEnough:a.length>2,name:l.name,color:l.color,value:l.value,serieIndex:o,absoluteStartIndex:r<3,serieId:l.uid,...l}))).map((l,o)=>({...l,isAbsoluteFirst:o%t.value.style.chart.layout.grid.size===0}))),P=e.computed(()=>{const l=[];for(let o=0;o<t.value.style.chart.layout.grid.size;o+=1)for(let a=0;a<t.value.style.chart.layout.grid.size;a+=1)l.push({isStartOfLine:a===0,position:t.value.style.chart.layout.grid.vertical?o:a,x:(t.value.style.chart.layout.grid.vertical?o:a)*(w.value+t.value.style.chart.layout.grid.spaceBetween),y:(t.value.style.chart.layout.grid.vertical?a:o)*(x.value+t.value.style.chart.layout.grid.spaceBetween)+k.value.top});return l}),d=e.ref([]),C=e.ref(!1),K=e.ref(null),Q=e.ref(null);function Z(l){if(!t.value.useAnimation){d.value.includes(l)?d.value=d.value.filter(u=>u!==l):d.value.length<_.value.length-1&&_.value.length>1&&d.value.push(l);return}const o=J.value.find(u=>u.uid===l).values.reduce((u,s)=>u+s,0);let r=c.value.find(u=>u.uid===l).values.reduce((u,s)=>u+s,0);if(d.value.includes(l)){let s=function(){r>u?(cancelAnimationFrame(K.value),c.value=c.value.map((v,h)=>v.uid===l?{...v,values:[u]}:v),C.value=!1):(C.value=!0,r+=u*.025,c.value=c.value.map((v,h)=>v.uid===l?{...v,values:[r]}:v),K.value=requestAnimationFrame(s))};d.value=d.value.filter(v=>v!==l);const u=o;s()}else if(d.value.length<_.value.length-1&&_.value.length>1){let u=function(){r<.1?(cancelAnimationFrame(Q.value),d.value.push(l),c.value=c.value.map((s,v)=>s.uid===l?{...s,values:[0]}:s),C.value=!1):(C.value=!0,r/=1.5,c.value=c.value.map((s,v)=>s.uid===l?{...s,values:[r]}:s),Q.value=requestAnimationFrame(u))};u()}se("selectLegend",T.value.map(u=>({name:u.name,color:u.color,value:u.value,proportion:u.proportion/Math.pow(t.value.style.chart.layout.grid.size,2)})))}const _=e.computed(()=>c.value.map((l,o)=>({name:l.name,color:l.color||Y[o]||n.palette[o]||n.palette[o%n.palette.length],value:(l.values||[]).reduce((a,r)=>a+r,0),uid:l.uid,shape:"square"})).map((l,o)=>({...l,proportion:l.value/c.value.map(a=>(a.values||[]).reduce((r,u)=>r+u,0)).reduce((a,r)=>a+r,0),opacity:d.value.includes(l.uid)?.5:1,segregate:()=>Z(l.uid),isSegregated:d.value.includes(l.uid)}))),ye=e.computed(()=>({cy:"waffle-div-legend",backgroundColor:t.value.style.chart.legend.backgroundColor,color:t.value.style.chart.legend.color,fontSize:t.value.style.chart.legend.fontSize,paddingBottom:12,fontWeight:t.value.style.chart.legend.bold?"bold":""})),f=e.computed(()=>T.value.map(l=>l.value).reduce((l,o)=>l+o,0)),D=e.ref(null);function ge(l){if(d.value.length===p.dataset.length)return;const o=i.value[l];D.value={datapoint:o,seriesIndex:o.absoluteIndex,series:c.value,config:t.value},L.value=!0,B.value=i.value[l].serieIndex;const a=t.value.style.chart.tooltip.customFormat;if(n.isFunction(a)&&n.functionReturnsString(()=>a({seriesIndex:i.value[l].absoluteIndex,datapoint:o,series:c.value,config:t.value})))O.value=a({seriesIndex:i.value[l].absoluteIndex,datapoint:o,series:c.value,config:t.value});else{let r="";r+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${o.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"><rect x="0" y="0" height="12" width="12" stroke="none" rx="1" fill="${o.color}" /></svg>`,t.value.style.chart.tooltip.showValue&&(r+=`<b>${n.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:o.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.tooltip.roundingValue})}</b>`),t.value.style.chart.tooltip.showPercentage&&(t.value.style.chart.tooltip.showValue?r+=`<span>(${(o.value/f.value*100).toFixed(t.value.style.chart.tooltip.roundingPercentage)}%)</span></div>`:r+=`<b>${(o.value/f.value*100).toFixed(t.value.style.chart.tooltip.roundingPercentage)}%</b></div>`),O.value=r}}const g=e.computed(()=>{const l=T.value.map(a=>({name:a.name,color:a.color})),o=T.value.map(a=>a.value);return{head:l,body:o}});function A(l){return t.value.useBlurOnHover&&![null,void 0].includes(B.value)&&B.value!==l?`url(#blur_${m.value})`:""}function ee(){e.nextTick(()=>{const l=g.value.head.map((r,u)=>[[r.name],[g.value.body[u]],[isNaN(g.value.body[u]/f.value)?"-":g.value.body[u]/f.value*100]]),o=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(l),a=n.createCsvContent(o);n.downloadCsv({csvContent:a,title:t.value.style.chart.title.text||"vue-ui-waffle"})})}const F=e.computed(()=>{const l=[' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',n.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:f.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),"100%"],o=g.value.head.map((u,s)=>[{color:u.color,name:u.name},n.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:g.value.body[s],s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),isNaN(g.value.body[s]/f.value)?"-":(g.value.body[s]/f.value*100).toFixed(t.value.table.td.roundingPercentage)+"%"]),a={th:{backgroundColor:t.value.table.th.backgroundColor,color:t.value.table.th.color,outline:t.value.table.th.outline},td:{backgroundColor:t.value.table.td.backgroundColor,color:t.value.table.td.color,outline:t.value.table.td.outline},shape:"square",breakpoint:t.value.table.responsiveBreakpoint},r=[t.value.table.columnNames.series,t.value.table.columnNames.value,t.value.table.columnNames.percentage];return{head:l,body:o,config:a,colNames:r}}),V=e.ref(!1);function me(l){V.value=l,q.value+=1}function te(){y.value.showTable=!y.value.showTable}function le(){y.value.showTooltip=!y.value.showTooltip}return ne({getData:pe,generatePdf:W,generateCsv:ee,generateImage:H,toggleTable:te,toggleTooltip:le}),(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`vue-ui-waffle ${V.value?"vue-data-ui-wrapper-fullscreen":""}`),ref_key:"waffleChart",ref:N,id:`vue-ui-waffle_${m.value}`,style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor};${t.value.responsive?"height: 100%":""}`)},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:R,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:12px`)},[e.createVNode(be._sfc_main,{config:{title:{cy:"waffle-title",...t.value.style.chart.title},subtitle:{cy:"waffle-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&E.value?(e.openBlock(),e.createBlock(oe.UserOptions,{ref_key:"details",ref:ce,key:`user_options_${q.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(j),isImaging:e.unref(G),uid:m.value,hasTooltip:t.value.userOptions.buttons.tooltip&&t.value.style.chart.tooltip.show,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasXls:t.value.userOptions.buttons.csv,hasTable:t.value.userOptions.buttons.table,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:V.value,isTooltip:y.value.showTooltip,titles:{...t.value.userOptions.buttonTitles},chartElement:N.value,onToggleFullscreen:me,onGeneratePdf:e.unref(W),onGenerateCsv:ee,onGenerateImage:e.unref(H),onToggleTable:te,onToggleTooltip:le},e.createSlots({_:2},[l.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,l.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,l.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:a,isFullscreen:r})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:a,isFullscreen:r})),void 0,!0)]),key:"5"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasImg","hasXls","hasTable","hasFullscreen","isFullscreen","isTooltip","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(n.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":V.value,"vue-data-ui-fulscreen--off":!V.value}),viewBox:`0 0 ${b.value.width<=0?10:b.value.width} ${b.value.height<=0?10:b.value.height}`,style:e.normalizeStyle(`max-width:100%;overflow:visible;background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(a,r)=>(e.openBlock(),e.createElementBlock("radialGradient",{cx:"50%",cy:"50%",r:"50%",fx:"50%",fy:"50%",id:`gradient_${m.value}_${r}`},[e.createElementVNode("stop",{offset:"0%","stop-color":`${e.unref(n.shiftHue)(a.color,.05)}${e.unref(n.opacity)[100-t.value.style.chart.layout.rect.gradientIntensity]}`},null,8,Te),e.createElementVNode("stop",{offset:"100%","stop-color":a.color},null,8,Pe)],8,$e))),256))]),e.createElementVNode("defs",null,[e.createElementVNode("filter",{id:`blur_${m.value}`,x:"-50%",y:"-50%",width:"200%",height:"200%"},ze,8,Ve)]),t.value.useCustomCells?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("foreignObject",{x:a.x,y:a.y,height:x.value<=0?1e-4:x.value,width:w.value<=0?1e-4:w.value,class:"vue-ui-waffle-custom-cell-foreignObject"},[e.renderSlot(l.$slots,"cell",e.normalizeProps(e.guardReactiveProps({cell:{...a,color:i.value[r].color,...i.value[r]},isSelected:[null,void 0].includes(B.value)?!0:i.value[r].serieIndex===B.value})),void 0,!0)],8,Fe))),256)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("rect",{rx:t.value.style.chart.layout.rect.rounded?t.value.style.chart.layout.rect.rounding:0,x:a.x+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.grid.spaceBetween/2,height:x.value<=0?1e-4:x.value,width:w.value<=0?1e-4:w.value,fill:"white",stroke:t.value.style.chart.layout.rect.stroke,"stroke-width":t.value.style.chart.layout.rect.strokeWidth,filter:A(i.value[r].serieIndex)},null,8,Le))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("rect",{rx:t.value.style.chart.layout.rect.rounded?t.value.style.chart.layout.rect.rounding:0,x:a.x+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.grid.spaceBetween/2,height:x.value<=0?1e-4:x.value,width:w.value<=0?1e-4:w.value,fill:t.value.style.chart.layout.rect.useGradient&&t.value.style.chart.layout.rect.gradientIntensity>0?`url(#gradient_${m.value}_${r})`:i.value[r].color,stroke:t.value.style.chart.layout.rect.stroke,"stroke-width":t.value.style.chart.layout.rect.strokeWidth,filter:A(i.value[r].serieIndex)},null,8,Oe))),256))],64)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[!C.value&&!t.value.style.chart.layout.grid.vertical&&t.value.style.chart.layout.labels.captions.show&&(i.value[r].isFirst&&a.position<t.value.style.chart.layout.grid.size-2||i.value[r].isAbsoluteFirst&&r%t.value.style.chart.layout.grid.size===0&&i.value[r].absoluteStartIndex)?(e.openBlock(),e.createElementBlock("foreignObject",{key:0,x:a.x+t.value.style.chart.layout.labels.captions.offsetX+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.labels.captions.offsetY+t.value.style.chart.layout.grid.spaceBetween/2,height:z.value<=0?1e-4:z.value,width:$.value*t.value.style.chart.layout.grid.size<=0?1e-4:$.value*t.value.style.chart.layout.grid.size,filter:A(i.value[r].serieIndex)},[e.createElementVNode("div",{class:"vue-ui-waffle-caption",style:e.normalizeStyle(`height: 100%; width: 100%; font-size:${t.value.style.chart.layout.labels.captions.fontSize}px;display:flex;align-items:center;justify-content:flex-start;padding: 0 ${$.value/12}px;color:${e.unref(n.adaptColorToBackground)(i.value[r].color)};gap:2px`)},[t.value.style.chart.layout.labels.captions.showSerieName?(e.openBlock(),e.createElementBlock("span",Ae,e.toDisplayString(t.value.style.chart.layout.labels.captions.serieNameAbbreviation?e.unref(n.abbreviate)({source:i.value[r].name,length:t.value.style.chart.layout.labels.captions.serieNameMaxAbbreviationSize}):i.value[r].name)+": ",1)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.captions.showPercentage?(e.openBlock(),e.createElementBlock("span",Me,e.toDisplayString(e.unref(n.dataLabel)({v:i.value[r].proportion,s:"%",r:t.value.style.chart.layout.labels.captions.roundingPercentage})),1)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.captions.showPercentage&&t.value.style.chart.layout.labels.captions.showValue?(e.openBlock(),e.createElementBlock("span",qe," ("+e.toDisplayString(e.unref(n.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:i.value[r].value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.captions.roundingValue}))+") ",1)):e.createCommentVNode("",!0),!t.value.style.chart.layout.labels.captions.showPercentage&&t.value.style.chart.layout.labels.captions.showValue?(e.openBlock(),e.createElementBlock("span",Re,e.toDisplayString(e.unref(n.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:i.value[r].value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.captions.roundingValue})),1)):e.createCommentVNode("",!0)],4)],8,De)):e.createCommentVNode("",!0)],64))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("rect",{onMouseover:u=>ge(r),onMouseleave:o[0]||(o[0]=u=>{L.value=!1,B.value=null}),x:a.x+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.grid.spaceBetween/2,height:z.value<=0?1e-4:z.value,width:$.value<=0?1e-4:$.value,fill:"transparent",stroke:"none"},null,40,Ue))),256)),e.renderSlot(l.$slots,"svg",{svg:b.value},void 0,!0)],14,Ne)):e.createCommentVNode("",!0),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",je,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(j)||e.unref(G)})),void 0,!0)])):e.createCommentVNode("",!0),E.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ce.default,{key:4,config:{type:"waffle",style:{backgroundColor:t.value.style.chart.backgroundColor,waffle:{color:"#CCCCCC"}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:U},[t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(xe.Legend,{key:0,legendSet:_.value,config:ye.value,onClickMarker:o[1]||(o[1]=({legend:a})=>Z(a.uid))},{item:e.withCtx(({legend:a})=>[e.createElementVNode("div",{onClick:r=>a.segregate(),style:e.normalizeStyle(`opacity:${d.value.includes(a.uid)?.5:1}`)},[e.createTextVNode(e.toDisplayString(a.name)+": "+e.toDisplayString(e.unref(n.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:a.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue,isAnimating:C.value}))+" ",1),d.value.includes(a.uid)?(e.openBlock(),e.createElementBlock("span",He," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",We," ("+e.toDisplayString(isNaN(a.value/f.value)?"-":e.unref(n.dataLabel)({v:a.value/f.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage,isAnimating:C.value}))+") ",1))],12,Ge)]),_:1},8,["legendSet","config"])):e.renderSlot(l.$slots,"legend",{key:1,legend:_.value},void 0,!0)],512),e.createVNode(ke._sfc_main,{show:y.value.showTooltip&&L.value&&d.value.length<p.dataset.length,backgroundColor:t.value.style.chart.tooltip.backgroundColor,color:t.value.style.chart.tooltip.color,borderRadius:t.value.style.chart.tooltip.borderRadius,borderColor:t.value.style.chart.tooltip.borderColor,borderWidth:t.value.style.chart.tooltip.borderWidth,backgroundOpacity:t.value.style.chart.tooltip.backgroundOpacity,position:t.value.style.chart.tooltip.position,offsetY:t.value.style.chart.tooltip.offsetY,parent:N.value,content:O.value,isCustom:t.value.style.chart.tooltip.customFormat&&typeof t.value.style.chart.tooltip.customFormat=="function",fontSize:t.value.style.chart.tooltip.fontSize},{"tooltip-before":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","borderRadius","borderColor","borderWidth","backgroundOpacity","position","offsetY","parent","content","isCustom","fontSize"]),E.value?(e.openBlock(),e.createBlock(Be.default,{key:5,hideDetails:"",config:{open:y.value.showTable,maxHeight:1e4,body:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color},head:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color}}},{content:e.withCtx(()=>[e.createVNode(we.DataTable,{colNames:F.value.colNames,head:F.value.head,body:F.value.body,config:F.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:o[2]||(o[2]=a=>y.value.showTable=!1)},{th:e.withCtx(({th:a})=>[e.createElementVNode("div",{innerHTML:a,style:{display:"flex","align-items":"center"}},null,8,Ye)]),td:e.withCtx(({td:a})=>[e.createTextVNode(e.toDisplayString(a.name||a),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,Se))}},Je=_e._export_sfc(Xe,[["__scopeId","data-v-33939b0e"]]);exports.default=Je;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("./index-BQOxn6SH.cjs"),ae=require("./useResponsive-B3TrDDIG.cjs"),be=require("./Title-B9iq63n1.cjs"),oe=require("./usePrinter-Q1J--baX.cjs"),ke=require("./Tooltip-DcDEanxk.cjs"),we=require("./DataTable-C6HTLT7L.cjs"),xe=require("./Legend-C_lBCmBu.cjs"),Ce=require("./vue-ui-skeleton-CcrGR_Vh.cjs"),Be=require("./vue-ui-accordion-ogVvFfQy.cjs"),re=require("./useNestedProp-BtqgWTf9.cjs"),_e=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ue=S=>(e.pushScopeId("data-v-33939b0e"),S=S(),e.popScopeId(),S),Se=["id"],Ne=["xmlns","viewBox"],$e=["id"],Te=["stop-color"],Pe=["stop-color"],Ve=["id"],Ee=ue(()=>e.createElementVNode("feGaussianBlur",{in:"SourceGraphic",stdDeviation:2},null,-1)),Ie=ue(()=>e.createElementVNode("feColorMatrix",{type:"saturate",values:"0"},null,-1)),ze=[Ee,Ie],Fe=["x","y","height","width"],Le=["rx","x","y","height","width","stroke","stroke-width","filter"],Oe=["rx","x","y","height","width","fill","stroke","stroke-width","filter"],De=["x","y","height","width","filter"],Ae={key:0},Me={key:1},qe={key:2},Re={key:3},Ue=["onMouseover","x","y","height","width"],je={key:3,class:"vue-data-ui-watermark"},Ge=["onClick"],We={key:0},He={key:1},Ye=["innerHTML"],Xe={__name:"vue-ui-waffle",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend"],setup(S,{expose:ne,emit:se}){const p=S,{vue_ui_waffle:ie}=n.useConfig(),E=e.computed(()=>!!p.dataset&&p.dataset.length),m=e.ref(n.createUid()),ce=e.ref(null),L=e.ref(!1),O=e.ref(""),B=e.ref(null),q=e.ref(0),N=e.ref(null),R=e.ref(null),U=e.ref(null),t=e.computed(()=>{const l=re.useNestedProp({userConfig:p.config,defaultConfig:ie});return l.theme?{...re.useNestedProp({userConfig:n.themes.vue_ui_waffle[l.theme]||p.config,defaultConfig:l}),customPalette:n.themePalettes[l.theme]||n.palette}:l}),I=e.ref(null);e.onMounted(()=>{if(n.objectIsEmpty(p.dataset)?n.error({componentName:"VueUiWaffle",type:"dataset"}):p.dataset.forEach((l,o)=>{n.getMissingDatasetAttributes({datasetObject:l,requiredAttributes:["name","values"]}).forEach(a=>{n.error({componentName:"VueUiWaffle",type:"datasetSerieAttribute",property:a,index:o})})}),t.value.responsive){const l=ae.throttle(()=>{const{width:o,height:a}=ae.useResponsive({chart:N.value,title:t.value.style.chart.title.text?R.value:null,legend:t.value.style.chart.legend.show?U.value:null});b.value.width=o,b.value.height=a,k.value.width=o,k.value.height=a});I.value=new ResizeObserver(l),I.value.observe(N.value.parentNode)}}),e.onBeforeUnmount(()=>{I.value&&I.value.disconnect()});const{isPrinting:j,isImaging:G,generatePdf:W,generateImage:H}=oe.usePrinter({elementId:`vue-ui-waffle_${m.value}`,fileName:t.value.style.chart.title.text||"vue-ui-waffle"}),Y=e.computed(()=>n.convertCustomPalette(t.value.customPalette)),y=e.ref({showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),b=e.ref({height:512,width:512}),k=e.ref({top:0,left:0,height:512,width:512}),w=e.computed(()=>(k.value.width-t.value.style.chart.layout.grid.size*t.value.style.chart.layout.grid.spaceBetween)/t.value.style.chart.layout.grid.size),x=e.computed(()=>(k.value.height-t.value.style.chart.layout.grid.size*t.value.style.chart.layout.grid.spaceBetween)/t.value.style.chart.layout.grid.size),$=e.computed(()=>k.value.width/t.value.style.chart.layout.grid.size),z=e.computed(()=>k.value.height/t.value.style.chart.layout.grid.size);function X(l){const o=t.value.style.chart.layout.grid.size*t.value.style.chart.layout.grid.size,a=l.reduce((h,M)=>h+M,0),r=l.map(h=>h/a*o),u=r.map(Math.floor),s=r.map(h=>h%1);let v=o-u.reduce((h,M)=>h+M,0);for(;v>0;){let h=s.indexOf(Math.max(...s));u[h]+=1,s[h]=0,v-=1}return u}const J=e.computed(()=>p.dataset.map((l,o)=>({...l,color:n.convertColorToHex(l.color)||Y.value[o]||n.palette[o]||n.palette[o%n.palette.length],uid:`serie_${o}`,absoluteIndex:o}))),c=e.ref(J.value),de=e.computed(()=>{const l=c.value.filter((o,a)=>!d.value.includes(o.uid)).map((o,a)=>(o.values||[]).reduce((r,u)=>r+u,0));return X(l)}),ve=e.computed(()=>{const l=c.value.map((o,a)=>(o.values||[]).reduce((r,u)=>r+u));return X(l)}),T=e.computed(()=>(p.dataset.forEach((l,o)=>{[null,void 0].includes(l.values)&&n.error({componentName:"VueUiWaffle",type:"datasetSerieAttribute",property:"values (number[])",index:o})}),c.value.filter((l,o)=>!d.value.includes(l.uid)).map((l,o)=>({absoluteIndex:l.absoluteIndex,uid:l.uid,name:l.name,color:l.color,value:(l.values||[]).reduce((a,r)=>a+r,0),absoluteValues:l.values||[],proportion:de.value[o]})))),he=e.computed(()=>c.value.map((l,o)=>({absoluteIndex:l.absoluteIndex,uid:l.uid,name:l.name,color:l.color,value:(l.values||[]).reduce((a,r)=>a+r,0),absoluteValues:l.values||[],proportion:ve.value[o]})));function pe(){return he.value.map(l=>({name:l.name,color:l.color,value:l.value,proportion:l.proportion}))}const fe=e.computed(()=>{let l=0;return T.value.map((o,a)=>{const r=l,u=r+o.proportion,s=[];for(let v=Math.floor(r);v<Math.floor(u);v+=1)s.push(v);return l=u,{...o,start:r,rects:s}})}),i=e.computed(()=>fe.value.flatMap((l,o)=>l.rects.map((a,r)=>({isFirst:r===0,isLongEnough:a.length>2,name:l.name,color:l.color,value:l.value,serieIndex:o,absoluteStartIndex:r<3,serieId:l.uid,...l}))).map((l,o)=>({...l,isAbsoluteFirst:o%t.value.style.chart.layout.grid.size===0}))),P=e.computed(()=>{const l=[];for(let o=0;o<t.value.style.chart.layout.grid.size;o+=1)for(let a=0;a<t.value.style.chart.layout.grid.size;a+=1)l.push({isStartOfLine:a===0,position:t.value.style.chart.layout.grid.vertical?o:a,x:(t.value.style.chart.layout.grid.vertical?o:a)*(w.value+t.value.style.chart.layout.grid.spaceBetween),y:(t.value.style.chart.layout.grid.vertical?a:o)*(x.value+t.value.style.chart.layout.grid.spaceBetween)+k.value.top});return l}),d=e.ref([]),C=e.ref(!1),K=e.ref(null),Q=e.ref(null);function Z(l){if(!t.value.useAnimation){d.value.includes(l)?d.value=d.value.filter(u=>u!==l):d.value.length<_.value.length-1&&_.value.length>1&&d.value.push(l);return}const o=J.value.find(u=>u.uid===l).values.reduce((u,s)=>u+s,0);let r=c.value.find(u=>u.uid===l).values.reduce((u,s)=>u+s,0);if(d.value.includes(l)){let s=function(){r>u?(cancelAnimationFrame(K.value),c.value=c.value.map((v,h)=>v.uid===l?{...v,values:[u]}:v),C.value=!1):(C.value=!0,r+=u*.025,c.value=c.value.map((v,h)=>v.uid===l?{...v,values:[r]}:v),K.value=requestAnimationFrame(s))};d.value=d.value.filter(v=>v!==l);const u=o;s()}else if(d.value.length<_.value.length-1&&_.value.length>1){let u=function(){r<.1?(cancelAnimationFrame(Q.value),d.value.push(l),c.value=c.value.map((s,v)=>s.uid===l?{...s,values:[0]}:s),C.value=!1):(C.value=!0,r/=1.5,c.value=c.value.map((s,v)=>s.uid===l?{...s,values:[r]}:s),Q.value=requestAnimationFrame(u))};u()}se("selectLegend",T.value.map(u=>({name:u.name,color:u.color,value:u.value,proportion:u.proportion/Math.pow(t.value.style.chart.layout.grid.size,2)})))}const _=e.computed(()=>c.value.map((l,o)=>({name:l.name,color:l.color||Y[o]||n.palette[o]||n.palette[o%n.palette.length],value:(l.values||[]).reduce((a,r)=>a+r,0),uid:l.uid,shape:"square"})).map((l,o)=>({...l,proportion:l.value/c.value.map(a=>(a.values||[]).reduce((r,u)=>r+u,0)).reduce((a,r)=>a+r,0),opacity:d.value.includes(l.uid)?.5:1,segregate:()=>Z(l.uid),isSegregated:d.value.includes(l.uid)}))),ye=e.computed(()=>({cy:"waffle-div-legend",backgroundColor:t.value.style.chart.legend.backgroundColor,color:t.value.style.chart.legend.color,fontSize:t.value.style.chart.legend.fontSize,paddingBottom:12,fontWeight:t.value.style.chart.legend.bold?"bold":""})),f=e.computed(()=>T.value.map(l=>l.value).reduce((l,o)=>l+o,0)),D=e.ref(null);function ge(l){if(d.value.length===p.dataset.length)return;const o=i.value[l];D.value={datapoint:o,seriesIndex:o.absoluteIndex,series:c.value,config:t.value},L.value=!0,B.value=i.value[l].serieIndex;const a=t.value.style.chart.tooltip.customFormat;if(n.isFunction(a)&&n.functionReturnsString(()=>a({seriesIndex:i.value[l].absoluteIndex,datapoint:o,series:c.value,config:t.value})))O.value=a({seriesIndex:i.value[l].absoluteIndex,datapoint:o,series:c.value,config:t.value});else{let r="";r+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${o.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"><rect x="0" y="0" height="12" width="12" stroke="none" rx="1" fill="${o.color}" /></svg>`,t.value.style.chart.tooltip.showValue&&(r+=`<b>${n.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:o.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.tooltip.roundingValue})}</b>`),t.value.style.chart.tooltip.showPercentage&&(t.value.style.chart.tooltip.showValue?r+=`<span>(${(o.value/f.value*100).toFixed(t.value.style.chart.tooltip.roundingPercentage)}%)</span></div>`:r+=`<b>${(o.value/f.value*100).toFixed(t.value.style.chart.tooltip.roundingPercentage)}%</b></div>`),O.value=r}}const g=e.computed(()=>{const l=T.value.map(a=>({name:a.name,color:a.color})),o=T.value.map(a=>a.value);return{head:l,body:o}});function A(l){return t.value.useBlurOnHover&&![null,void 0].includes(B.value)&&B.value!==l?`url(#blur_${m.value})`:""}function ee(){e.nextTick(()=>{const l=g.value.head.map((r,u)=>[[r.name],[g.value.body[u]],[isNaN(g.value.body[u]/f.value)?"-":g.value.body[u]/f.value*100]]),o=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(l),a=n.createCsvContent(o);n.downloadCsv({csvContent:a,title:t.value.style.chart.title.text||"vue-ui-waffle"})})}const F=e.computed(()=>{const l=[' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',n.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:f.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),"100%"],o=g.value.head.map((u,s)=>[{color:u.color,name:u.name},n.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:g.value.body[s],s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),isNaN(g.value.body[s]/f.value)?"-":(g.value.body[s]/f.value*100).toFixed(t.value.table.td.roundingPercentage)+"%"]),a={th:{backgroundColor:t.value.table.th.backgroundColor,color:t.value.table.th.color,outline:t.value.table.th.outline},td:{backgroundColor:t.value.table.td.backgroundColor,color:t.value.table.td.color,outline:t.value.table.td.outline},shape:"square",breakpoint:t.value.table.responsiveBreakpoint},r=[t.value.table.columnNames.series,t.value.table.columnNames.value,t.value.table.columnNames.percentage];return{head:l,body:o,config:a,colNames:r}}),V=e.ref(!1);function me(l){V.value=l,q.value+=1}function te(){y.value.showTable=!y.value.showTable}function le(){y.value.showTooltip=!y.value.showTooltip}return ne({getData:pe,generatePdf:W,generateCsv:ee,generateImage:H,toggleTable:te,toggleTooltip:le}),(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`vue-ui-waffle ${V.value?"vue-data-ui-wrapper-fullscreen":""}`),ref_key:"waffleChart",ref:N,id:`vue-ui-waffle_${m.value}`,style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;${t.value.style.chart.title.text?"":"padding-top:36px"};background:${t.value.style.chart.backgroundColor};${t.value.responsive?"height: 100%":""}`)},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:R,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:12px`)},[e.createVNode(be._sfc_main,{config:{title:{cy:"waffle-title",...t.value.style.chart.title},subtitle:{cy:"waffle-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&E.value?(e.openBlock(),e.createBlock(oe.UserOptions,{ref_key:"details",ref:ce,key:`user_options_${q.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(j),isImaging:e.unref(G),uid:m.value,hasTooltip:t.value.userOptions.buttons.tooltip&&t.value.style.chart.tooltip.show,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasXls:t.value.userOptions.buttons.csv,hasTable:t.value.userOptions.buttons.table,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:V.value,isTooltip:y.value.showTooltip,titles:{...t.value.userOptions.buttonTitles},chartElement:N.value,onToggleFullscreen:me,onGeneratePdf:e.unref(W),onGenerateCsv:ee,onGenerateImage:e.unref(H),onToggleTable:te,onToggleTooltip:le},e.createSlots({_:2},[l.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,l.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,l.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:a,isFullscreen:r})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:a,isFullscreen:r})),void 0,!0)]),key:"5"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasImg","hasXls","hasTable","hasFullscreen","isFullscreen","isTooltip","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(n.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":V.value,"vue-data-ui-fulscreen--off":!V.value}),viewBox:`0 0 ${b.value.width<=0?10:b.value.width} ${b.value.height<=0?10:b.value.height}`,style:e.normalizeStyle(`max-width:100%;overflow:visible;background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(a,r)=>(e.openBlock(),e.createElementBlock("radialGradient",{cx:"50%",cy:"50%",r:"50%",fx:"50%",fy:"50%",id:`gradient_${m.value}_${r}`},[e.createElementVNode("stop",{offset:"0%","stop-color":`${e.unref(n.shiftHue)(a.color,.05)}${e.unref(n.opacity)[100-t.value.style.chart.layout.rect.gradientIntensity]}`},null,8,Te),e.createElementVNode("stop",{offset:"100%","stop-color":a.color},null,8,Pe)],8,$e))),256))]),e.createElementVNode("defs",null,[e.createElementVNode("filter",{id:`blur_${m.value}`,x:"-50%",y:"-50%",width:"200%",height:"200%"},ze,8,Ve)]),t.value.useCustomCells?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("foreignObject",{x:a.x,y:a.y,height:x.value<=0?1e-4:x.value,width:w.value<=0?1e-4:w.value,class:"vue-ui-waffle-custom-cell-foreignObject"},[e.renderSlot(l.$slots,"cell",e.normalizeProps(e.guardReactiveProps({cell:{...a,color:i.value[r].color,...i.value[r]},isSelected:[null,void 0].includes(B.value)?!0:i.value[r].serieIndex===B.value})),void 0,!0)],8,Fe))),256)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("rect",{rx:t.value.style.chart.layout.rect.rounded?t.value.style.chart.layout.rect.rounding:0,x:a.x+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.grid.spaceBetween/2,height:x.value<=0?1e-4:x.value,width:w.value<=0?1e-4:w.value,fill:"white",stroke:t.value.style.chart.layout.rect.stroke,"stroke-width":t.value.style.chart.layout.rect.strokeWidth,filter:A(i.value[r].serieIndex)},null,8,Le))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("rect",{rx:t.value.style.chart.layout.rect.rounded?t.value.style.chart.layout.rect.rounding:0,x:a.x+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.grid.spaceBetween/2,height:x.value<=0?1e-4:x.value,width:w.value<=0?1e-4:w.value,fill:t.value.style.chart.layout.rect.useGradient&&t.value.style.chart.layout.rect.gradientIntensity>0?`url(#gradient_${m.value}_${r})`:i.value[r].color,stroke:t.value.style.chart.layout.rect.stroke,"stroke-width":t.value.style.chart.layout.rect.strokeWidth,filter:A(i.value[r].serieIndex)},null,8,Oe))),256))],64)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[!C.value&&!t.value.style.chart.layout.grid.vertical&&t.value.style.chart.layout.labels.captions.show&&(i.value[r].isFirst&&a.position<t.value.style.chart.layout.grid.size-2||i.value[r].isAbsoluteFirst&&r%t.value.style.chart.layout.grid.size===0&&i.value[r].absoluteStartIndex)?(e.openBlock(),e.createElementBlock("foreignObject",{key:0,x:a.x+t.value.style.chart.layout.labels.captions.offsetX+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.labels.captions.offsetY+t.value.style.chart.layout.grid.spaceBetween/2,height:z.value<=0?1e-4:z.value,width:$.value*t.value.style.chart.layout.grid.size<=0?1e-4:$.value*t.value.style.chart.layout.grid.size,filter:A(i.value[r].serieIndex)},[e.createElementVNode("div",{class:"vue-ui-waffle-caption",style:e.normalizeStyle(`height: 100%; width: 100%; font-size:${t.value.style.chart.layout.labels.captions.fontSize}px;display:flex;align-items:center;justify-content:flex-start;padding: 0 ${$.value/12}px;color:${e.unref(n.adaptColorToBackground)(i.value[r].color)};gap:2px`)},[t.value.style.chart.layout.labels.captions.showSerieName?(e.openBlock(),e.createElementBlock("span",Ae,e.toDisplayString(t.value.style.chart.layout.labels.captions.serieNameAbbreviation?e.unref(n.abbreviate)({source:i.value[r].name,length:t.value.style.chart.layout.labels.captions.serieNameMaxAbbreviationSize}):i.value[r].name)+": ",1)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.captions.showPercentage?(e.openBlock(),e.createElementBlock("span",Me,e.toDisplayString(e.unref(n.dataLabel)({v:i.value[r].proportion,s:"%",r:t.value.style.chart.layout.labels.captions.roundingPercentage})),1)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.captions.showPercentage&&t.value.style.chart.layout.labels.captions.showValue?(e.openBlock(),e.createElementBlock("span",qe," ("+e.toDisplayString(e.unref(n.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:i.value[r].value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.captions.roundingValue}))+") ",1)):e.createCommentVNode("",!0),!t.value.style.chart.layout.labels.captions.showPercentage&&t.value.style.chart.layout.labels.captions.showValue?(e.openBlock(),e.createElementBlock("span",Re,e.toDisplayString(e.unref(n.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:i.value[r].value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.captions.roundingValue})),1)):e.createCommentVNode("",!0)],4)],8,De)):e.createCommentVNode("",!0)],64))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(a,r)=>(e.openBlock(),e.createElementBlock("rect",{onMouseover:u=>ge(r),onMouseleave:o[0]||(o[0]=u=>{L.value=!1,B.value=null}),x:a.x+t.value.style.chart.layout.grid.spaceBetween/2,y:a.y+t.value.style.chart.layout.grid.spaceBetween/2,height:z.value<=0?1e-4:z.value,width:$.value<=0?1e-4:$.value,fill:"transparent",stroke:"none"},null,40,Ue))),256)),e.renderSlot(l.$slots,"svg",{svg:b.value},void 0,!0)],14,Ne)):e.createCommentVNode("",!0),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",je,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(j)||e.unref(G)})),void 0,!0)])):e.createCommentVNode("",!0),E.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ce.default,{key:4,config:{type:"waffle",style:{backgroundColor:t.value.style.chart.backgroundColor,waffle:{color:"#CCCCCC"}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:U},[t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(xe.Legend,{key:0,legendSet:_.value,config:ye.value,onClickMarker:o[1]||(o[1]=({legend:a})=>Z(a.uid))},{item:e.withCtx(({legend:a})=>[e.createElementVNode("div",{onClick:r=>a.segregate(),style:e.normalizeStyle(`opacity:${d.value.includes(a.uid)?.5:1}`)},[e.createTextVNode(e.toDisplayString(a.name)+": "+e.toDisplayString(e.unref(n.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:a.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue,isAnimating:C.value}))+" ",1),d.value.includes(a.uid)?(e.openBlock(),e.createElementBlock("span",He," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",We," ("+e.toDisplayString(isNaN(a.value/f.value)?"-":e.unref(n.dataLabel)({v:a.value/f.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage,isAnimating:C.value}))+") ",1))],12,Ge)]),_:1},8,["legendSet","config"])):e.renderSlot(l.$slots,"legend",{key:1,legend:_.value},void 0,!0)],512),e.createVNode(ke._sfc_main,{show:y.value.showTooltip&&L.value&&d.value.length<p.dataset.length,backgroundColor:t.value.style.chart.tooltip.backgroundColor,color:t.value.style.chart.tooltip.color,borderRadius:t.value.style.chart.tooltip.borderRadius,borderColor:t.value.style.chart.tooltip.borderColor,borderWidth:t.value.style.chart.tooltip.borderWidth,backgroundOpacity:t.value.style.chart.tooltip.backgroundOpacity,position:t.value.style.chart.tooltip.position,offsetY:t.value.style.chart.tooltip.offsetY,parent:N.value,content:O.value,isCustom:t.value.style.chart.tooltip.customFormat&&typeof t.value.style.chart.tooltip.customFormat=="function",fontSize:t.value.style.chart.tooltip.fontSize},{"tooltip-before":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","borderRadius","borderColor","borderWidth","backgroundOpacity","position","offsetY","parent","content","isCustom","fontSize"]),E.value?(e.openBlock(),e.createBlock(Be.default,{key:5,hideDetails:"",config:{open:y.value.showTable,maxHeight:1e4,body:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color},head:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color}}},{content:e.withCtx(()=>[e.createVNode(we.DataTable,{colNames:F.value.colNames,head:F.value.head,body:F.value.body,config:F.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:o[2]||(o[2]=a=>y.value.showTable=!1)},{th:e.withCtx(({th:a})=>[e.createElementVNode("div",{innerHTML:a,style:{display:"flex","align-items":"center"}},null,8,Ye)]),td:e.withCtx(({td:a})=>[e.createTextVNode(e.toDisplayString(a.name||a),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,Se))}},Je=_e._export_sfc(Xe,[["__scopeId","data-v-33939b0e"]]);exports.default=Je;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("./index-D2z8eN-t.cjs"),q=require("./Title-R6PrAyfG.cjs"),P=require("./usePrinter-c6hW2FYl.cjs"),B=require("./useResponsive-B3TrDDIG.cjs"),T=require("./vue-ui-skeleton-DwEcR_uq.cjs"),S=require("./useNestedProp-CUrnndD5.cjs"),U=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),G=["id"],L=["xmlns","viewBox"],R=["x1","x2","y1","y2","stroke","stroke-width","stroke-linecap"],X=["cx","cy","r","stroke","stroke-width"],j=["x","y","font-size","fill","font-weight"],H={key:3,class:"vue-data-ui-watermark"},Y={__name:"vue-ui-wheel",props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},setup(I,{expose:F}){const o=I,{vue_ui_wheel:N}=c.useConfig(),f=e.computed(()=>!!o.dataset&&Object.keys(o.dataset).length),y=e.ref(c.createUid()),z=e.ref(null),g=e.ref(0),d=e.ref(null),p=e.ref(null),t=e.computed(()=>{const l=S.useNestedProp({userConfig:o.config,defaultConfig:N});return l.theme?{...S.useNestedProp({userConfig:c.themes.vue_ui_wheel[l.theme]||o.config,defaultConfig:l})}:l}),{isPrinting:k,isImaging:w,generatePdf:C,generateImage:b}=P.usePrinter({elementId:y.value,fileName:t.value.style.chart.title.text||"vue-ui-wheel"}),n=e.ref({size:360,height:360,width:360}),m=e.ref(t.value.style.chart.layout.percentage.fontSize),r=e.computed(()=>({radius:Math.min(n.value.width,n.value.height)*.9/2,centerX:n.value.width/2,centerY:n.value.height/2}));function _(l,u=1){return{x:r.value.centerX+r.value.radius*Math.cos(29.85+l*Math.PI/180)*u,y:r.value.centerY+r.value.radius*Math.sin(29.85+l*Math.PI/180)*u}}const s=e.ref(t.value.style.chart.animation.use?0:o.dataset.percentage||0);e.watch(()=>o.dataset.percentage,()=>{s.value=e.ref(t.value.style.chart.animation.use?0:o.dataset.percentage||0),x()});const h=e.ref(null);e.onMounted(()=>{if(c.objectIsEmpty(o.dataset)&&c.error({componentName:"VueUiWheel",type:"dataset"}),x(),t.value.responsive){const l=B.throttle(()=>{const{width:u,height:a}=B.useResponsive({chart:d.value,title:t.value.style.chart.title.text?p.value:null});n.value.width=u,n.value.height=a,m.value=t.value.style.chart.layout.percentage.fontSize/360*Math.min(u,a)});h.value=new ResizeObserver(l),h.value.observe(d.value.parentNode)}}),e.onBeforeUnmount(()=>{h.value&&h.value.disconnect()});function x(){let l=0,u=t.value.style.chart.animation.speed,a=.005*t.value.style.chart.animation.acceleration;function i(){s.value+=u+l,l+=a,s.value<(o.dataset.percentage||0)?requestAnimationFrame(i):s.value=o.dataset.percentage||0}t.value.style.chart.animation.use&&(s.value=0,i())}const $=e.computed(()=>{const l=[];for(let a=0;a<100;a+=1){const i=s.value>a?t.value.style.chart.layout.wheel.ticks.activeColor:t.value.style.chart.layout.wheel.ticks.inactiveColor,{x:E,y:V}=_(n.value.size/100*a),{x:A,y:M}=_(n.value.size/100*a,.9);l.push({x1:E,y1:V,x2:A,y2:M,color:t.value.style.chart.layout.wheel.ticks.gradient.show?c.shiftHue(i,a/100*(t.value.style.chart.layout.wheel.ticks.gradient.shiftHueIntensity/100)):i})}return l}),v=e.ref(!1);function O(l){v.value=l,g.value+=1}return F({generatePdf:C,generateImage:b}),(l,u)=>(e.openBlock(),e.createElementBlock("div",{class:"vue-ui-wheel",ref_key:"wheelChart",ref:d,id:y.value,style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;background:${t.value.style.chart.backgroundColor};${t.value.responsive?"height:100%":""}`)},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:p,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:12px`)},[e.createVNode(q._sfc_main,{config:{title:{cy:"wheel-title",...t.value.style.chart.title},subtitle:{cy:"wheel-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&f.value?(e.openBlock(),e.createBlock(P.UserOptions,{ref_key:"details",ref:z,key:`user_options_${g.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(k),isImaging:e.unref(w),uid:y.value,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasFullscreen:t.value.userOptions.buttons.fullscreen,hasXls:!1,isFullscreen:v.value,titles:{...t.value.userOptions.buttonTitles},chartElement:d.value,onToggleFullscreen:O,onGeneratePdf:e.unref(C),onGenerateImage:e.unref(b)},e.createSlots({_:2},[l.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionPdf",{},void 0,!0)]),key:"0"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:a,isFullscreen:i})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:a,isFullscreen:i})),void 0,!0)]),key:"2"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasImg","hasFullscreen","isFullscreen","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(c.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":v.value,"vue-data-ui-fulscreen--off":!v.value}),viewBox:`0 0 ${n.value.width<=0?10:n.value.width} ${n.value.height<=0?10:n.value.height}`,style:e.normalizeStyle(`max-width:100%;overflow:visible;background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(a,i)=>(e.openBlock(),e.createElementBlock("line",{x1:a.x1,x2:a.x2,y1:a.y1,y2:a.y2,stroke:a.color,"stroke-width":5/360*Math.min(n.value.width,n.value.height),"stroke-linecap":t.value.style.chart.layout.wheel.ticks.rounded?"round":"butt",class:e.normalizeClass({"vue-ui-tick-animated":t.value.style.chart.animation.use&&i<=s.value})},null,10,R))),256)),t.value.style.chart.layout.innerCircle.show?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:r.value.centerX,cy:r.value.centerY,r:r.value.radius*.8<=0?1e-4:r.value.radius*.8,stroke:t.value.style.chart.layout.innerCircle.stroke,"stroke-width":t.value.style.chart.layout.innerCircle.strokeWidth,fill:"none"},null,8,X)):e.createCommentVNode("",!0),t.value.style.chart.layout.percentage.show?(e.openBlock(),e.createElementBlock("text",{key:1,x:r.value.centerX,y:r.value.centerY+m.value/3,"font-size":m.value,fill:t.value.style.chart.layout.wheel.ticks.gradient.show?e.unref(c.shiftHue)(t.value.style.chart.layout.wheel.ticks.activeColor,s.value/100*(t.value.style.chart.layout.wheel.ticks.gradient.shiftHueIntensity/100)):t.value.style.chart.layout.wheel.ticks.activeColor,"text-anchor":"middle","font-weight":t.value.style.chart.layout.percentage.bold?"bold":"normal",style:{"font-variant-numeric":"tabluar-nums"}},e.toDisplayString(Number(s.value.toFixed(t.value.style.chart.layout.percentage.rounding)).toLocaleString())+"% ",9,j)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"svg",{svg:n.value},void 0,!0)],14,L)):e.createCommentVNode("",!0),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",H,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(k)||e.unref(w)})),void 0,!0)])):e.createCommentVNode("",!0),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T.default,{key:4,config:{type:"wheel",style:{backgroundColor:t.value.style.chart.backgroundColor,wheel:{color:"#CCCCCC"}}}},null,8,["config"]))],12,G))}},D=U._export_sfc(Y,[["__scopeId","data-v-1ea442b0"]]);exports.default=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("./index-BQOxn6SH.cjs"),q=require("./Title-B9iq63n1.cjs"),P=require("./usePrinter-Q1J--baX.cjs"),B=require("./useResponsive-B3TrDDIG.cjs"),T=require("./vue-ui-skeleton-CcrGR_Vh.cjs"),S=require("./useNestedProp-BtqgWTf9.cjs"),U=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),G=["id"],L=["xmlns","viewBox"],R=["x1","x2","y1","y2","stroke","stroke-width","stroke-linecap"],X=["cx","cy","r","stroke","stroke-width"],j=["x","y","font-size","fill","font-weight"],H={key:3,class:"vue-data-ui-watermark"},Y={__name:"vue-ui-wheel",props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},setup(I,{expose:F}){const o=I,{vue_ui_wheel:N}=c.useConfig(),f=e.computed(()=>!!o.dataset&&Object.keys(o.dataset).length),y=e.ref(c.createUid()),z=e.ref(null),g=e.ref(0),d=e.ref(null),p=e.ref(null),t=e.computed(()=>{const l=S.useNestedProp({userConfig:o.config,defaultConfig:N});return l.theme?{...S.useNestedProp({userConfig:c.themes.vue_ui_wheel[l.theme]||o.config,defaultConfig:l})}:l}),{isPrinting:k,isImaging:w,generatePdf:C,generateImage:b}=P.usePrinter({elementId:y.value,fileName:t.value.style.chart.title.text||"vue-ui-wheel"}),n=e.ref({size:360,height:360,width:360}),m=e.ref(t.value.style.chart.layout.percentage.fontSize),r=e.computed(()=>({radius:Math.min(n.value.width,n.value.height)*.9/2,centerX:n.value.width/2,centerY:n.value.height/2}));function _(l,u=1){return{x:r.value.centerX+r.value.radius*Math.cos(29.85+l*Math.PI/180)*u,y:r.value.centerY+r.value.radius*Math.sin(29.85+l*Math.PI/180)*u}}const s=e.ref(t.value.style.chart.animation.use?0:o.dataset.percentage||0);e.watch(()=>o.dataset.percentage,()=>{s.value=e.ref(t.value.style.chart.animation.use?0:o.dataset.percentage||0),x()});const h=e.ref(null);e.onMounted(()=>{if(c.objectIsEmpty(o.dataset)&&c.error({componentName:"VueUiWheel",type:"dataset"}),x(),t.value.responsive){const l=B.throttle(()=>{const{width:u,height:a}=B.useResponsive({chart:d.value,title:t.value.style.chart.title.text?p.value:null});n.value.width=u,n.value.height=a,m.value=t.value.style.chart.layout.percentage.fontSize/360*Math.min(u,a)});h.value=new ResizeObserver(l),h.value.observe(d.value.parentNode)}}),e.onBeforeUnmount(()=>{h.value&&h.value.disconnect()});function x(){let l=0,u=t.value.style.chart.animation.speed,a=.005*t.value.style.chart.animation.acceleration;function i(){s.value+=u+l,l+=a,s.value<(o.dataset.percentage||0)?requestAnimationFrame(i):s.value=o.dataset.percentage||0}t.value.style.chart.animation.use&&(s.value=0,i())}const $=e.computed(()=>{const l=[];for(let a=0;a<100;a+=1){const i=s.value>a?t.value.style.chart.layout.wheel.ticks.activeColor:t.value.style.chart.layout.wheel.ticks.inactiveColor,{x:E,y:V}=_(n.value.size/100*a),{x:A,y:M}=_(n.value.size/100*a,.9);l.push({x1:E,y1:V,x2:A,y2:M,color:t.value.style.chart.layout.wheel.ticks.gradient.show?c.shiftHue(i,a/100*(t.value.style.chart.layout.wheel.ticks.gradient.shiftHueIntensity/100)):i})}return l}),v=e.ref(!1);function O(l){v.value=l,g.value+=1}return F({generatePdf:C,generateImage:b}),(l,u)=>(e.openBlock(),e.createElementBlock("div",{class:"vue-ui-wheel",ref_key:"wheelChart",ref:d,id:y.value,style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;background:${t.value.style.chart.backgroundColor};${t.value.responsive?"height:100%":""}`)},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:p,style:e.normalizeStyle(`width:100%;background:${t.value.style.chart.backgroundColor};padding-bottom:12px`)},[e.createVNode(q._sfc_main,{config:{title:{cy:"wheel-title",...t.value.style.chart.title},subtitle:{cy:"wheel-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"])],4)):e.createCommentVNode("",!0),t.value.userOptions.show&&f.value?(e.openBlock(),e.createBlock(P.UserOptions,{ref_key:"details",ref:z,key:`user_options_${g.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(k),isImaging:e.unref(w),uid:y.value,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasFullscreen:t.value.userOptions.buttons.fullscreen,hasXls:!1,isFullscreen:v.value,titles:{...t.value.userOptions.buttonTitles},chartElement:d.value,onToggleFullscreen:O,onGeneratePdf:e.unref(C),onGenerateImage:e.unref(b)},e.createSlots({_:2},[l.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionPdf",{},void 0,!0)]),key:"0"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:a,isFullscreen:i})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:a,isFullscreen:i})),void 0,!0)]),key:"2"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasImg","hasFullscreen","isFullscreen","titles","chartElement","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(c.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":v.value,"vue-data-ui-fulscreen--off":!v.value}),viewBox:`0 0 ${n.value.width<=0?10:n.value.width} ${n.value.height<=0?10:n.value.height}`,style:e.normalizeStyle(`max-width:100%;overflow:visible;background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(a,i)=>(e.openBlock(),e.createElementBlock("line",{x1:a.x1,x2:a.x2,y1:a.y1,y2:a.y2,stroke:a.color,"stroke-width":5/360*Math.min(n.value.width,n.value.height),"stroke-linecap":t.value.style.chart.layout.wheel.ticks.rounded?"round":"butt",class:e.normalizeClass({"vue-ui-tick-animated":t.value.style.chart.animation.use&&i<=s.value})},null,10,R))),256)),t.value.style.chart.layout.innerCircle.show?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:r.value.centerX,cy:r.value.centerY,r:r.value.radius*.8<=0?1e-4:r.value.radius*.8,stroke:t.value.style.chart.layout.innerCircle.stroke,"stroke-width":t.value.style.chart.layout.innerCircle.strokeWidth,fill:"none"},null,8,X)):e.createCommentVNode("",!0),t.value.style.chart.layout.percentage.show?(e.openBlock(),e.createElementBlock("text",{key:1,x:r.value.centerX,y:r.value.centerY+m.value/3,"font-size":m.value,fill:t.value.style.chart.layout.wheel.ticks.gradient.show?e.unref(c.shiftHue)(t.value.style.chart.layout.wheel.ticks.activeColor,s.value/100*(t.value.style.chart.layout.wheel.ticks.gradient.shiftHueIntensity/100)):t.value.style.chart.layout.wheel.ticks.activeColor,"text-anchor":"middle","font-weight":t.value.style.chart.layout.percentage.bold?"bold":"normal",style:{"font-variant-numeric":"tabluar-nums"}},e.toDisplayString(Number(s.value.toFixed(t.value.style.chart.layout.percentage.rounding)).toLocaleString())+"% ",9,j)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"svg",{svg:n.value},void 0,!0)],14,L)):e.createCommentVNode("",!0),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",H,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(k)||e.unref(w)})),void 0,!0)])):e.createCommentVNode("",!0),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T.default,{key:4,config:{type:"wheel",style:{backgroundColor:t.value.style.chart.backgroundColor,wheel:{color:"#CCCCCC"}}}},null,8,["config"]))],12,G))}},D=U._export_sfc(Y,[["__scopeId","data-v-1ea442b0"]]);exports.default=D;
@@ -1,10 +1,10 @@
1
1
  import { computed as p, ref as s, watch as W, onMounted as q, onBeforeUnmount as J, openBlock as r, createElementBlock as h, normalizeStyle as C, createVNode as K, createCommentVNode as d, createBlock as N, unref as v, createSlots as Q, withCtx as _, renderSlot as y, normalizeProps as A, guardReactiveProps as M, normalizeClass as U, Fragment as Z, renderList as ee, toDisplayString as te } from "vue";
2
- import { u as ae, c as le, t as se, o as ne, e as oe, s as X, X as re } from "./index-Ck92ROEN.js";
3
- import { _ as ue } from "./Title-BFBOWO3Q.js";
4
- import { u as ie, U as ce } from "./usePrinter-DBPRZcAN.js";
2
+ import { u as ae, c as le, t as se, o as ne, e as oe, s as X, X as re } from "./index-DiWO-_ca.js";
3
+ import { _ as ue } from "./Title-C3Ez1ceq.js";
4
+ import { u as ie, U as ce } from "./usePrinter-BD40aUzH.js";
5
5
  import { t as he, u as ve } from "./useResponsive-NZB-WLRF.js";
6
- import de from "./vue-ui-skeleton-B_c8tnen.js";
7
- import { u as B } from "./useNestedProp-C0fDv_7c.js";
6
+ import de from "./vue-ui-skeleton-CeNL0kH-.js";
7
+ import { u as B } from "./useNestedProp-DNX5EefQ.js";
8
8
  import { _ as ye } from "./_plugin-vue_export-helper-CHgC5LLL.js";
9
9
  const fe = ["id"], ge = ["xmlns", "viewBox"], me = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-linecap"], pe = ["cx", "cy", "r", "stroke", "stroke-width"], ke = ["x", "y", "font-size", "fill", "font-weight"], we = {
10
10
  key: 3,
@@ -1,11 +1,11 @@
1
1
  import { computed as F, ref as r, onMounted as fe, onBeforeUnmount as ge, watch as pe, openBlock as c, createElementBlock as h, normalizeStyle as N, createVNode as R, createCommentVNode as y, createBlock as j, unref as m, createSlots as be, withCtx as v, renderSlot as f, normalizeProps as H, guardReactiveProps as q, normalizeClass as Y, createElementVNode as J, Fragment as ye, renderList as we, toDisplayString as K, createTextVNode as Ce, nextTick as Q } from "vue";
2
- import { u as ke, S as xe, c as Z, t as $e, a as _e, p as z, o as Te, e as ee, g as Pe, f as Fe, X as Ne, n as ze, q as Ie } from "./index-Ck92ROEN.js";
3
- import { _ as Se } from "./Title-BFBOWO3Q.js";
4
- import { u as Oe, U as Me } from "./usePrinter-DBPRZcAN.js";
2
+ import { u as ke, S as xe, c as Z, t as $e, a as _e, p as z, o as Te, e as ee, g as Pe, f as Fe, X as Ne, n as ze, q as Ie } from "./index-DiWO-_ca.js";
3
+ import { _ as Se } from "./Title-C3Ez1ceq.js";
4
+ import { u as Oe, U as Me } from "./usePrinter-BD40aUzH.js";
5
5
  import { t as De, u as We } from "./useResponsive-NZB-WLRF.js";
6
- import Ee from "./vue-ui-accordion-CYyb5N_o.js";
7
- import { D as Ae } from "./DataTable-DFEpvyNK.js";
8
- import { u as te } from "./useNestedProp-C0fDv_7c.js";
6
+ import Ee from "./vue-ui-accordion-CiNdgRO9.js";
7
+ import { D as Ae } from "./DataTable-EqeVt-K-.js";
8
+ import { u as te } from "./useNestedProp-DNX5EefQ.js";
9
9
  import { _ as Ve } from "./_plugin-vue_export-helper-CHgC5LLL.js";
10
10
  const Be = ["id"], Ue = ["xmlns", "viewBox"], Ge = ["transform"], Le = ["fill", "font-weight", "x", "y", "font-size", "transform"], Xe = {
11
11
  key: 3,