vue-data-ui 2.3.88 → 2.3.90
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.
- package/dist/{Arrow-kIoRmLea.js → Arrow-C_Fnn6al.js} +1 -1
- package/dist/{Arrow-CaBSHqw3.cjs → Arrow-D1pymKl6.cjs} +1 -1
- package/dist/{BaseIcon-dAh8thfs.js → BaseIcon-BMfi5PnL.js} +1 -1
- package/dist/{BaseIcon-B2zEAYL0.cjs → BaseIcon-CnFXP_n9.cjs} +1 -1
- package/dist/{DataTable-BLGE-au6.js → DataTable-Cmbf3abv.js} +2 -2
- package/dist/{DataTable-DEvCstuA.cjs → DataTable-cOEA6Z37.cjs} +1 -1
- package/dist/{Legend-BAZwLtW5.js → Legend-CCq0mNRg.js} +1 -1
- package/dist/{Legend-D9oHmbQR.cjs → Legend-XqP6-7Ac.cjs} +1 -1
- package/dist/{Shape-yv-533z4.cjs → Shape-B51JGReT.cjs} +1 -1
- package/dist/{Shape-Bw52scDY.js → Shape-BNocET8E.js} +1 -1
- package/dist/{Slicer-eP9UH3h4.js → Slicer-BKszZXjM.js} +2 -2
- package/dist/{Slicer-CnyR7m1m.cjs → Slicer-Bc7OWCcl.cjs} +1 -1
- package/dist/{Title-BOtOowG-.cjs → Title-BaR4XyXa.cjs} +1 -1
- package/dist/{Title-vxOwL9mI.js → Title-DlBwa3-X.js} +1 -1
- package/dist/{Tooltip-B25UdCt3.cjs → Tooltip-CX57w9Q9.cjs} +1 -1
- package/dist/{Tooltip-FDQ6j0dy.js → Tooltip-w32n-8sY.js} +1 -1
- package/dist/img-BFCs759q.cjs +1 -0
- package/dist/img-DGzWcJ4Y.js +15 -0
- package/dist/{index-BzFQHG8B.cjs → index-B8EMsnjU.cjs} +1 -1
- package/dist/{index-Bkzd7TEp.js → index-DQl1TFXa.js} +1 -1
- package/dist/pdf-9cRTLjY8.cjs +1 -0
- package/dist/{pdf-97UbtKC2.js → pdf-B7oVat64.js} +7 -7
- package/dist/style.css +1 -1
- package/dist/{useNestedProp-BU19Uk2G.cjs → useNestedProp-DlCe_zZz.cjs} +1 -1
- package/dist/{useNestedProp-BjKkGjnV.js → useNestedProp-lmeFt-ev.js} +1 -1
- package/dist/usePrinter-BmXrEJ99.cjs +1 -0
- package/dist/{usePrinter-BO99ut-7.js → usePrinter-DgKGVvJC.js} +155 -156
- package/dist/{vue-data-ui-9X87OiUw.js → vue-data-ui-Byrb_Y3k.js} +57 -57
- package/dist/{vue-data-ui-C4vMufw3.cjs → vue-data-ui-DQurgvN8.cjs} +1 -1
- package/dist/vue-data-ui.cjs +1 -1
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-BQs0ss6E.js → vue-ui-3d-bar-CM_usP2U.js} +7 -7
- package/dist/{vue-ui-3d-bar-DW_P_GEm.cjs → vue-ui-3d-bar-Ce-Re50D.cjs} +1 -1
- package/dist/{vue-ui-accordion-Dq8PnOQI.js → vue-ui-accordion-CroZrm7T.js} +3 -3
- package/dist/{vue-ui-accordion-D9rDPTxC.cjs → vue-ui-accordion-DRI-fN6I.cjs} +1 -1
- package/dist/{vue-ui-age-pyramid-BtQBOmuj.js → vue-ui-age-pyramid-BZU-WI_a.js} +8 -8
- package/dist/{vue-ui-age-pyramid-w1cHqmfP.cjs → vue-ui-age-pyramid-C08rTXJn.cjs} +1 -1
- package/dist/{vue-ui-annotator-DN8dHbpa.cjs → vue-ui-annotator-BpzM25VY.cjs} +1 -1
- package/dist/{vue-ui-annotator-yL2aaXSM.js → vue-ui-annotator-CsfYgmrC.js} +1 -1
- package/dist/{vue-ui-candlestick-DvI-paAZ.js → vue-ui-candlestick-BPi7aBEf.js} +9 -9
- package/dist/{vue-ui-candlestick-Bb3gE99L.cjs → vue-ui-candlestick-m8fjxbj-.cjs} +1 -1
- package/dist/{vue-ui-carousel-table-DrnpUyMB.cjs → vue-ui-carousel-table-CpodLcgX.cjs} +1 -1
- package/dist/{vue-ui-carousel-table-CFOGiUYF.js → vue-ui-carousel-table-tbviS8Fo.js} +4 -4
- package/dist/{vue-ui-chestnut--s6irU0q.cjs → vue-ui-chestnut-Y0gQvbbf.cjs} +1 -1
- package/dist/{vue-ui-chestnut-BsAh9hFC.js → vue-ui-chestnut-ql9yEs6j.js} +6 -6
- package/dist/{vue-ui-cursor-B-XJpQPg.cjs → vue-ui-cursor-B3w0SgJP.cjs} +1 -1
- package/dist/{vue-ui-cursor-C4ReYD2O.js → vue-ui-cursor-Dw7_R_Pd.js} +2 -2
- package/dist/{vue-ui-dashboard-B9vNbg0W.js → vue-ui-dashboard-DAY0cdat.js} +3 -3
- package/dist/vue-ui-dashboard-enrB5B3P.cjs +1 -0
- package/dist/{vue-ui-digits-DMXN0q7k.cjs → vue-ui-digits-3Q6uZCzD.cjs} +1 -1
- package/dist/{vue-ui-digits-BWo3eCH7.js → vue-ui-digits-DN6CRpXc.js} +2 -2
- package/dist/{vue-ui-donut-Cel6UjXl.js → vue-ui-donut-B3yDJvZI.js} +9 -9
- package/dist/{vue-ui-donut-B0iDrljg.cjs → vue-ui-donut-CCm7GJsm.cjs} +1 -1
- package/dist/{vue-ui-donut-evolution-daM3GjWu.js → vue-ui-donut-evolution-CzBvVRKG.js} +9 -9
- package/dist/{vue-ui-donut-evolution-D94iUNlt.cjs → vue-ui-donut-evolution-DiN8Jm0n.cjs} +1 -1
- package/dist/{vue-ui-dumbbell-AimehlIj.cjs → vue-ui-dumbbell-lb72j7bY.cjs} +1 -1
- package/dist/{vue-ui-dumbbell-DY_AhNS1.js → vue-ui-dumbbell-vQ5YRGwJ.js} +8 -8
- package/dist/{vue-ui-flow-BhnVwgW5.cjs → vue-ui-flow-B5Gxaqvl.cjs} +1 -1
- package/dist/{vue-ui-flow-DHemHIqr.js → vue-ui-flow-DAOKURA6.js} +7 -7
- package/dist/{vue-ui-galaxy-D8uc51fE.js → vue-ui-galaxy-B86BK1JM.js} +9 -9
- package/dist/{vue-ui-galaxy-DlS-pSHI.cjs → vue-ui-galaxy-Ck5cPkrh.cjs} +1 -1
- package/dist/{vue-ui-gauge-DkgiaTIQ.cjs → vue-ui-gauge-BwIhwSUw.cjs} +1 -1
- package/dist/{vue-ui-gauge-BDP3AbQP.js → vue-ui-gauge-n8TilFo9.js} +5 -5
- package/dist/{vue-ui-gizmo-Bw-drsvJ.js → vue-ui-gizmo-CFIBlG4V.js} +2 -2
- package/dist/{vue-ui-gizmo-d48XB9Y7.cjs → vue-ui-gizmo-DrGaoiM_.cjs} +1 -1
- package/dist/{vue-ui-heatmap-qXivxpXK.cjs → vue-ui-heatmap-BLc6thGZ.cjs} +1 -1
- package/dist/{vue-ui-heatmap-D6rhUBIv.js → vue-ui-heatmap-ZkmD9EAg.js} +8 -8
- package/dist/{vue-ui-kpi-CaJNQu-7.js → vue-ui-kpi-CtJ3t6GX.js} +3 -3
- package/dist/{vue-ui-kpi-DYtYBfVS.cjs → vue-ui-kpi-D6Myg0y1.cjs} +1 -1
- package/dist/{vue-ui-mini-loader-Bd3n8Eh7.cjs → vue-ui-mini-loader-BjJ_YYZj.cjs} +1 -1
- package/dist/{vue-ui-mini-loader-C8WE9mmc.js → vue-ui-mini-loader-Cosy9XjR.js} +2 -2
- package/dist/{vue-ui-molecule-DCOIE2Oz.cjs → vue-ui-molecule-CAj1HFit.cjs} +1 -1
- package/dist/{vue-ui-molecule-BJ78cyz2.js → vue-ui-molecule-DTFOBjgC.js} +9 -9
- package/dist/{vue-ui-mood-radar-xc7ZIj7B.cjs → vue-ui-mood-radar-CV2in2wO.cjs} +1 -1
- package/dist/{vue-ui-mood-radar-BcKbxhUb.js → vue-ui-mood-radar-J_dI9m_i.js} +9 -9
- package/dist/{vue-ui-nested-donuts-1AnFMRQE.cjs → vue-ui-nested-donuts-4vO23n9z.cjs} +1 -1
- package/dist/{vue-ui-nested-donuts-DmqrKtK-.js → vue-ui-nested-donuts-CtqU4xxu.js} +9 -9
- package/dist/{vue-ui-onion-B-CQQFDn.cjs → vue-ui-onion-B3mtn6xf.cjs} +1 -1
- package/dist/{vue-ui-onion-B7-Luph_.js → vue-ui-onion-BMo0Ye54.js} +9 -9
- package/dist/{vue-ui-parallel-coordinate-plot-Cg7rXYJl.cjs → vue-ui-parallel-coordinate-plot-DFMbhLY9.cjs} +1 -1
- package/dist/{vue-ui-parallel-coordinate-plot-Cl2fIY0h.js → vue-ui-parallel-coordinate-plot-yKLZbDS5.js} +10 -10
- package/dist/{vue-ui-quadrant-BMRu5C6_.js → vue-ui-quadrant-BrRasVaj.js} +10 -10
- package/dist/{vue-ui-quadrant-DzqQM8zj.cjs → vue-ui-quadrant-CpJX1Jwa.cjs} +1 -1
- package/dist/{vue-ui-quick-chart-D6Y5lQZz.cjs → vue-ui-quick-chart-CTxsI2tk.cjs} +1 -1
- package/dist/{vue-ui-quick-chart-bdjkTZCJ.js → vue-ui-quick-chart-uH33UIjX.js} +7 -7
- package/dist/{vue-ui-radar-DUBmmYCM.js → vue-ui-radar-BJ3qMHP4.js} +10 -10
- package/dist/{vue-ui-radar-CmIznCHB.cjs → vue-ui-radar-DFjsXmJ3.cjs} +1 -1
- package/dist/{vue-ui-rating-D353kmjW.cjs → vue-ui-rating-BEWaQMBR.cjs} +1 -1
- package/dist/{vue-ui-rating-vn6QGQ1T.js → vue-ui-rating-BFskhiyh.js} +2 -2
- package/dist/{vue-ui-relation-circle-Dd_nf_ni.cjs → vue-ui-relation-circle-DXuKdCih.cjs} +1 -1
- package/dist/{vue-ui-relation-circle-Enjx6oV8.js → vue-ui-relation-circle-DdK4qk0P.js} +5 -5
- package/dist/{vue-ui-rings-D3n403nM.js → vue-ui-rings-BqHSq6Wt.js} +9 -9
- package/dist/{vue-ui-rings-BggXdDcB.cjs → vue-ui-rings-D_T_D6AS.cjs} +1 -1
- package/dist/{vue-ui-scatter-D8gjIVvT.js → vue-ui-scatter-C0gfF6NJ.js} +10 -10
- package/dist/{vue-ui-scatter-C5kTB_at.cjs → vue-ui-scatter-DPByFMNL.cjs} +1 -1
- package/dist/{vue-ui-screenshot-BOtaOWHH.js → vue-ui-screenshot-6tOLntj9.js} +1 -1
- package/dist/{vue-ui-screenshot-BOtri9ZP.cjs → vue-ui-screenshot-CbvIYfYU.cjs} +1 -1
- package/dist/{vue-ui-skeleton-B1pWkVPT.js → vue-ui-skeleton-BVJGmYjj.js} +2 -2
- package/dist/{vue-ui-skeleton-B_ed6BaF.cjs → vue-ui-skeleton-Bli7jLZ7.cjs} +1 -1
- package/dist/{vue-ui-smiley-Fx2vCfWl.js → vue-ui-smiley-2EoxEmXW.js} +2 -2
- package/dist/{vue-ui-smiley-BHwhptXa.cjs → vue-ui-smiley-CUgH2tnV.cjs} +1 -1
- package/dist/{vue-ui-spark-trend-BbGJLy6v.js → vue-ui-spark-trend-DjNPMOkN.js} +4 -4
- package/dist/{vue-ui-spark-trend-DYeF_f9D.cjs → vue-ui-spark-trend-sfgUJ32Q.cjs} +1 -1
- package/dist/{vue-ui-sparkbar-D4zOXsmw.js → vue-ui-sparkbar-BBm3DE1P.js} +3 -3
- package/dist/{vue-ui-sparkbar-waCPID8a.cjs → vue-ui-sparkbar-CKWYzriN.cjs} +1 -1
- package/dist/{vue-ui-sparkgauge-ByLoId02.cjs → vue-ui-sparkgauge-D0q9F9Nz.cjs} +1 -1
- package/dist/{vue-ui-sparkgauge-CrOeVBM6.js → vue-ui-sparkgauge-IIW24eJQ.js} +3 -3
- package/dist/{vue-ui-sparkhistogram-Du-8Djku.cjs → vue-ui-sparkhistogram-CywhBkm2.cjs} +1 -1
- package/dist/{vue-ui-sparkhistogram-m8HxSpNJ.js → vue-ui-sparkhistogram-DVXxA6ji.js} +4 -4
- package/dist/{vue-ui-sparkline-Ccq4xp69.cjs → vue-ui-sparkline-Besp8Ffy.cjs} +1 -1
- package/dist/{vue-ui-sparkline-KMDtu_Z0.js → vue-ui-sparkline-CH89kcaa.js} +3 -3
- package/dist/{vue-ui-sparkstackbar-D3YWcJ_H.js → vue-ui-sparkstackbar-Bcod5yu_.js} +112 -96
- package/dist/vue-ui-sparkstackbar-qXm8Ozzm.cjs +1 -0
- package/dist/{vue-ui-stackbar-DlfuJps0.cjs → vue-ui-stackbar-D0fGVkCR.cjs} +1 -1
- package/dist/{vue-ui-stackbar-D6oKKqGM.js → vue-ui-stackbar-Djjcgtyg.js} +10 -10
- package/dist/{vue-ui-strip-plot-BbAVQ73Y.js → vue-ui-strip-plot-ByPCQ4xk.js} +9 -9
- package/dist/{vue-ui-strip-plot-CtJyMV8c.cjs → vue-ui-strip-plot-XDj8rL9m.cjs} +1 -1
- package/dist/{vue-ui-table-B1feGzci.cjs → vue-ui-table-B6Kpda3o.cjs} +1 -1
- package/dist/{vue-ui-table-C3fDr-79.js → vue-ui-table-D8Sm2fzX.js} +1 -1
- package/dist/{vue-ui-table-heatmap-DTTq642Y.cjs → vue-ui-table-heatmap-DjEN0l12.cjs} +1 -1
- package/dist/{vue-ui-table-heatmap-Bs11u_Bn.js → vue-ui-table-heatmap-mlq_J56h.js} +4 -4
- package/dist/{vue-ui-table-sparkline-C9v0ZCRY.cjs → vue-ui-table-sparkline-DByva7rj.cjs} +1 -1
- package/dist/{vue-ui-table-sparkline-BmnqHZCN.js → vue-ui-table-sparkline-DF29_qZk.js} +5 -5
- package/dist/{vue-ui-thermometer-BF0EfLSS.js → vue-ui-thermometer-BKf-rGuS.js} +5 -5
- package/dist/{vue-ui-thermometer-DH4J5XrN.cjs → vue-ui-thermometer-C3T56ras.cjs} +1 -1
- package/dist/{vue-ui-timer-Dex5u9Ug.js → vue-ui-timer-B8jW8M60.js} +4 -4
- package/dist/{vue-ui-timer-BoF6_mg_.cjs → vue-ui-timer-B_ZvV1ON.cjs} +1 -1
- package/dist/{vue-ui-tiremarks-DEhFA_QA.cjs → vue-ui-tiremarks-DRbSpTgq.cjs} +1 -1
- package/dist/{vue-ui-tiremarks-i2bIrejU.js → vue-ui-tiremarks-riEfve5q.js} +5 -5
- package/dist/{vue-ui-treemap-CkHKUr9H.js → vue-ui-treemap-5F0ynBnb.js} +9 -9
- package/dist/{vue-ui-treemap-BXfhAmfw.cjs → vue-ui-treemap-CtKUTs2G.cjs} +1 -1
- package/dist/{vue-ui-vertical-bar-Co4Vz7W1.cjs → vue-ui-vertical-bar-BBIWdeXH.cjs} +1 -1
- package/dist/{vue-ui-vertical-bar-Ui-eKo2G.js → vue-ui-vertical-bar-CxRBvHZy.js} +9 -9
- package/dist/{vue-ui-waffle-DJIU32yG.cjs → vue-ui-waffle-9a3C4Nj-.cjs} +1 -1
- package/dist/{vue-ui-waffle-IjZAL-JJ.js → vue-ui-waffle-B8G4i5WH.js} +9 -9
- package/dist/{vue-ui-wheel-WTP6VSQg.cjs → vue-ui-wheel-CErxlmqw.cjs} +1 -1
- package/dist/{vue-ui-wheel-CEyocXra.js → vue-ui-wheel-DmzkGeCY.js} +5 -5
- package/dist/{vue-ui-word-cloud-CanNB33d.js → vue-ui-word-cloud-dMBTVGVk.js} +7 -7
- package/dist/{vue-ui-word-cloud-Cg-5NUED.cjs → vue-ui-word-cloud-nmx846H2.cjs} +1 -1
- package/dist/vue-ui-xy-CLYgZk3Y.cjs +3 -0
- package/dist/{vue-ui-xy-canvas-DQCerSdP.cjs → vue-ui-xy-canvas-CCwtKYgd.cjs} +1 -1
- package/dist/{vue-ui-xy-canvas-CtYuW5vo.js → vue-ui-xy-canvas-nraUv13Y.js} +10 -10
- package/dist/{vue-ui-xy-Ea4QdEJG.js → vue-ui-xy-iUQyB_PL.js} +769 -762
- package/package.json +1 -1
- package/dist/pdf-Cz3729tZ.cjs +0 -1
- package/dist/usePrinter-BY2kEF_E.cjs +0 -1
- package/dist/vue-ui-dashboard-DRPAfzVQ.cjs +0 -1
- package/dist/vue-ui-sparkstackbar-BbG_IuZ6.cjs +0 -1
- package/dist/vue-ui-xy-B5Wip8Yp.cjs +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("./index-BzFQHG8B.cjs"),ie=require("./useResponsive-B3TrDDIG.cjs"),Ce=require("./Title-BOtOowG-.cjs"),ve=require("./usePrinter-BY2kEF_E.cjs"),xe=require("./DataTable-DEvCstuA.cjs"),_e=require("./Tooltip-B25UdCt3.cjs"),Be=require("./Legend-D9oHmbQR.cjs"),Se=require("./vue-ui-skeleton-B_ed6BaF.cjs"),$e=require("./vue-ui-accordion-D9rDPTxC.cjs"),de=require("./useNestedProp-BU19Uk2G.cjs"),Le=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),Ne=B=>(e.pushScopeId("data-v-15467798"),B=B(),e.popScopeId(),B),Ee=["id"],Oe=["xmlns","viewBox"],Ve=["id"],ze=["stop-color"],Te=["offset","stop-color"],Fe=["offset","stop-color"],De=["stop-color"],Pe=["id"],Me=["id"],Xe=Ne(()=>e.createElementVNode("feColorMatrix",{type:"saturate",values:"0"},null,-1)),Ae=["id"],Ie=["flood-color"],qe=["d","stroke","filter"],Re=["cx","cy","r","fill","filter"],Ge=["stroke","d"],Ye=["d","fill","stroke","stroke-width","filter"],Ue=["cx","cy","r","fill","stroke"],je=["cx","cy","r","fill"],He=["d","fill","onMouseenter","onClick"],We=["x","y","fill","font-size"],Je=["x","y","fill","font-size"],Ke=["x","y","fill","font-size"],Qe=["x","y","fill","font-size"],Ze=["filter"],et={key:0},tt=["x","y"],lt={key:1},at=["cx","cy","fill","filter","onClick"],ot=["text-anchor","x","y","fill","font-size","onClick"],rt=["text-anchor","x","y","fill","font-size","onClick"],ut={key:2},nt=["x","y","width"],st={key:3,class:"vue-data-ui-watermark"},ct=["onClick"],it={key:0,style:{"font-variant-numeric":"tabular-nums"}},vt={key:1},dt=["innerHTML"],ht={__name:"vue-ui-donut",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend","selectDatapoint"],setup(B,{expose:he,emit:X}){const p=B,{vue_ui_donut:fe}=o.useConfig(),S=e.computed({get(){return!!p.dataset&&p.dataset.length},set(a){return a}}),$=e.ref(null),A=e.ref(null),I=e.ref(null),O=e.ref(null),q=e.ref(0),R=e.ref(0),G=e.ref(0);e.onMounted(()=>{Y()}),e.onBeforeUnmount(()=>{O.value&&O.value.disconnect()});function Y(){if(o.objectIsEmpty(p.dataset)?o.error({componentName:"VueUiDonut",type:"dataset"}):p.dataset.forEach((a,r)=>{o.getMissingDatasetAttributes({datasetObject:a,requiredAttributes:["name","values"]}).forEach(l=>{S.value=!1,o.error({componentName:"VueUiDonut",type:"datasetSerieAttribute",property:l,index:r})})}),t.value.responsive){const a=ie.throttle(()=>{const{width:r,height:l}=ie.useResponsive({chart:$.value,title:t.value.style.chart.title.text?A.value:null,legend:t.value.style.chart.legend.show?I.value:null});s.value.width=r,s.value.height=l});O.value=new ResizeObserver(a),O.value.observe($.value.parentNode)}}const y=e.ref(o.createUid()),ye=e.ref(null),T=e.ref(!1),F=e.ref(""),b=e.ref(null),U=e.ref(0);function j(){const a=de.useNestedProp({userConfig:p.config,defaultConfig:fe});return a.theme?{...de.useNestedProp({userConfig:o.themes.vue_ui_donut[a.theme]||p.config,defaultConfig:a}),customPalette:o.themePalettes[a.theme]||o.palette}:a}const t=e.computed({get:()=>j(),set:a=>a});e.watch(()=>p.config,a=>{t.value=j(),Y(),q.value+=1,R.value+=1,G.value+=1},{deep:!0});const{isPrinting:H,isImaging:W,generatePdf:J,generateImage:K}=ve.usePrinter({elementId:`donut__${y.value}`,fileName:t.value.style.chart.title.text||"vue-ui-donut"}),Q=e.computed(()=>o.convertCustomPalette(t.value.customPalette)),v=e.ref({dataLabels:{show:t.value.style.chart.layout.labels.dataLabels.show},showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),s=e.ref({height:360,width:512}),L=e.computed(()=>{const a=t.value.style.chart.layout.donut.strokeWidth/512,r=s.value.width*a,l=r>f.value?f.value:r;return l<24?24:l}),k=e.computed(()=>p.dataset.map((a,r)=>({name:a.name,color:o.convertColorToHex(a.color)||Q.value[r]||o.palette[r]||o.palette[r%o.palette.length],value:a.values.reduce((l,u)=>l+u,0),absoluteValues:a.values,comment:a.comment||""}))),h=e.ref(k.value);e.watch(()=>k.value,a=>h.value=a);function pe(){return k.value.map(a=>({name:a.name,color:a.color,value:a.value}))}const m=e.ref([]),Z=e.ref(null),ee=e.ref(null),w=e.ref(!1);function te(a){const r=k.value.find((n,i)=>i===a);let u=h.value.find((n,i)=>i===a).value;if(m.value.includes(a)){let i=function(){u>n?(cancelAnimationFrame(Z.value),h.value=h.value.map((c,M)=>a===M?{...c,value:n}:c),w.value=!1):(w.value=!0,u+=n*.025,h.value=h.value.map((c,M)=>a===M?{...c,value:u}:c),Z.value=requestAnimationFrame(i))};m.value=m.value.filter(c=>c!==a);const n=r.value;i()}else if(m.value.length<k.value.length-1){let n=function(){u<.1?(cancelAnimationFrame(ee.value),m.value.push(a),h.value=h.value.map((i,c)=>a===c?{...i,value:0}:i),w.value=!1):(w.value=!0,u/=1.1,h.value=h.value.map((i,c)=>a===c?{...i,value:u}:i),ee.value=requestAnimationFrame(n))};n()}X("selectLegend",x.value.map(n=>({name:n.name,color:n.color,value:n.value})))}const x=e.computed(()=>(h.value.forEach((a,r)=>{if([null,void 0].includes(a.values))return{...a,values:[]}}),h.value.map((a,r)=>({...a,seriesIndex:r})).filter((a,r)=>!m.value.includes(r)))),le=e.computed(()=>p.dataset.map((a,r)=>({name:a.name,color:o.convertColorToHex(a.color)||Q.value[r]||o.palette[r]||o.palette[r%o.palette.length],value:(a.values||[]).reduce((l,u)=>l+u,0),shape:"circle"})).map((a,r)=>({...a,proportion:a.value/p.dataset.map(l=>(l.values||[]).reduce((u,n)=>u+n,0)).reduce((l,u)=>l+u,0),opacity:m.value.includes(r)?.5:1,segregate:()=>te(r),isSegregated:m.value.includes(r)}))),me=e.computed(()=>({cy:"donut-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(()=>{const a=Math.min(s.value.width/3,s.value.height/3);return a<55?55:a}),C=e.computed(()=>o.makeDonut({series:x.value},s.value.width/2,s.value.height/2,f.value,f.value,1.99999,2,1,360,105.25,L.value));function _(a){return a.proportion*100>t.value.style.chart.layout.labels.dataLabels.hideUnderValue}function ae(a,r){const l=a.value/be(r);return isNaN(l)?0:o.applyDataLabel(t.value.style.chart.layout.labels.percentage.formatter,l*100,o.dataLabel({v:l*100,s:"%",r:t.value.style.chart.layout.labels.percentage.rounding}),{datapoint:a})}function be(a){return[...a].map(r=>r.value).reduce((r,l)=>r+l,0)}const d=e.computed(()=>x.value.map(a=>a.value).reduce((a,r)=>a+r,0)),oe=e.computed(()=>d.value/x.value.length),D=e.ref(null),N=e.ref(!1);function ge({datapoint:a,relativeIndex:r,seriesIndex:l,show:u=!1}){D.value={datapoint:a,seriesIndex:l,config:t.value,series:k.value},T.value=u,b.value=r;let n="";const i=t.value.style.chart.tooltip.customFormat;if(N.value=!1,o.isFunction(i))try{const c=i({seriesIndex:l,datapoint:a,series:k.value,config:t.value});typeof c=="string"&&(F.value=c,N.value=!0)}catch{console.warn("Custom format cannot be applied."),N.value=!1}if(!N.value){if(n+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${a.name}</div>`,n+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${a.color}"/></svg>`,t.value.style.chart.tooltip.showValue&&(n+=`<b>${o.applyDataLabel(t.value.style.chart.layout.labels.value.formatter,a.value,o.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.tooltip.roundingValue}),{datapoint:a,relativeIndex:r,seriesIndex:l})}</b>`),t.value.style.chart.tooltip.showPercentage){const c=o.applyDataLabel(t.value.style.chart.layout.labels.percentage.formatter,a.proportion*100,o.dataLabel({v:a.proportion*100,s:"%",r:t.value.style.chart.tooltip.roundingPercentage}),{datapoint:a,relativeIndex:r,seriesIndex:l});t.value.style.chart.tooltip.showValue?n+=`<span>(${c})</span></div>`:n+=`<b>${c}%</b></div>`}t.value.style.chart.comments.showInTooltip&&a.comment&&(n+=`<div class="vue-data-ui-tooltip-comment" style="background:${a.color}20; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${a.color}">${a.comment}</div>`),F.value=`<div>${n}</div>`}}function P(a){return t.value.useBlurOnHover&&![null,void 0].includes(b.value)&&b.value!==a?`url(#blur_${y.value})`:""}const g=e.computed(()=>{const a=x.value.map(l=>({name:l.name,color:l.color})),r=x.value.map(l=>l.value);return{head:a,body:r}});function re(){e.nextTick(()=>{const a=g.value.head.map((u,n)=>[[u.name],[g.value.body[n]],[isNaN(g.value.body[n]/d.value)?"-":g.value.body[n]/d.value*100]]),r=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(a),l=o.createCsvContent(r);o.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-donut"})})}const V=e.computed(()=>{const a=[' <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>',o.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:d.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),"100%"],r=g.value.head.map((n,i)=>{const c=o.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:g.value.body[i],s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue});return[{color:n.color,name:n.name},c,isNaN(g.value.body[i]/d.value)?"-":(g.value.body[i]/d.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,t.value.table.columnNames.percentage],head:a,body:r,config:l}}),E=e.ref(!1);function ke(a){E.value=a,U.value+=1}const ue=e.computed(()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent));function we(a){return a.toFixed(t.value.style.chart.legend.roundingPercentage).split("").map(r=>"-").join("")}function z(a,r){X("selectDatapoint",{datapoint:a,index:r})}function ne(){v.value.showTable=!v.value.showTable}function se(){v.value.dataLabels.show=!v.value.dataLabels.show}function ce(){v.value.showTooltip=!v.value.showTooltip}return he({getData:pe,generatePdf:J,generateCsv:re,generateImage:K,toggleTable:ne,toggleLabels:se,toggleTooltip:ce}),(a,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"donutChart",ref:$,class:e.normalizeClass(`vue-ui-donut ${E.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:`donut__${y.value}`},[e.renderSlot(a.$slots,"userConfig",{},void 0,!0),t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:A,style:"width:100%;background:transparent;padding-bottom:24px"},[(e.openBlock(),e.createBlock(Ce._sfc_main,{key:`title_${q.value}`,config:{title:{cy:"donut-div-title",...t.value.style.chart.title},subtitle:{cy:"donut-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))],512)):e.createCommentVNode("",!0),t.value.userOptions.show&&S.value?(e.openBlock(),e.createBlock(ve.UserOptions,{ref_key:"details",ref:ye,key:`user_option_${U.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(H),isImaging:e.unref(W),uid:y.value,hasTooltip:t.value.style.chart.tooltip.show&&t.value.userOptions.buttons.tooltip,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasXls:t.value.userOptions.buttons.csv,hasTable:t.value.userOptions.buttons.table,hasLabel:t.value.userOptions.buttons.labels,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:E.value,chartElement:$.value,position:t.value.userOptions.position,isTooltip:v.value.showTooltip,titles:{...t.value.userOptions.buttonTitles},onToggleFullscreen:ke,onGeneratePdf:e.unref(J),onGenerateCsv:re,onGenerateImage:e.unref(K),onToggleTable:ne,onToggleLabels:se,onToggleTooltip:ce},e.createSlots({_:2},[a.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,a.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,a.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,a.$slots.optionLabels?{name:"optionLabels",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionLabels",{},void 0,!0)]),key:"5"}:void 0,a.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:u})=>[e.renderSlot(a.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:u})),void 0,!0)]),key:"6"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasImg","hasXls","hasTable","hasLabel","hasFullscreen","isFullscreen","chartElement","position","isTooltip","titles","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(o.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":E.value,"vue-data-ui-fulscreen--off":!E.value}),viewBox:`0 0 ${s.value.width<=0?10:s.value.width} ${s.value.height<=0?10:s.value.height}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[t.value.style.chart.useGradient?(e.openBlock(),e.createElementBlock("radialGradient",{key:0,id:`gradient_${y.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":e.unref(o.setOpacity)(t.value.style.chart.backgroundColor,0),"stop-opacity":"0"},null,8,ze),e.createElementVNode("stop",{offset:`${(1-L.value/f.value)*100}%`,"stop-color":e.unref(o.setOpacity)("#FFFFFF",0),"stop-opacity":"0"},null,8,Te),e.createElementVNode("stop",{offset:`${(1-L.value/f.value/2)*100}%`,"stop-color":e.unref(o.setOpacity)("#FFFFFF",t.value.style.chart.gradientIntensity)},null,8,Fe),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(o.setOpacity)(t.value.style.chart.backgroundColor,0),"stop-opacity":"0"},null,8,De)],8,Ve)):e.createCommentVNode("",!0)]),e.createElementVNode("defs",null,[e.createElementVNode("filter",{id:`blur_${y.value}`,x:"-50%",y:"-50%",width:"200%",height:"200%"},[e.createElementVNode("feGaussianBlur",{in:"SourceGraphic",stdDeviation:2,id:`blur_std_${y.value}`},null,8,Me),Xe],8,Pe),e.createElementVNode("filter",{id:`shadow_${y.value}`,"color-interpolation-filters":"sRGB"},[e.createElementVNode("feDropShadow",{dx:"0",dy:"0",stdDeviation:"10","flood-opacity":"0.5","flood-color":t.value.style.chart.layout.donut.shadowColor},null,8,Ie)],8,Ae)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("g",null,[_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("path",{key:0,d:e.unref(o.calcNutArrowPath)(l,{x:s.value.width/2,y:s.value.height/2},16,16,!1,!1,L.value),stroke:l.color,"stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round",fill:"none",filter:P(u)},null,8,qe)):e.createCommentVNode("",!0)]))),256)),e.createElementVNode("circle",{cx:s.value.width/2,cy:s.value.height/2,r:f.value<=0?10:f.value,fill:t.value.style.chart.backgroundColor,filter:t.value.style.chart.layout.donut.useShadow?`url(#shadow_${y.value})`:""},null,8,Re),d.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("path",{stroke:t.value.style.chart.backgroundColor,d:l.arcSlice,fill:"#FFFFFF"},null,8,Ge))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("path",{class:"vue-ui-donut-arc-path",d:l.arcSlice,fill:e.unref(o.setOpacity)(l.color,80),stroke:t.value.style.chart.backgroundColor,"stroke-width":t.value.style.chart.layout.donut.borderWidth,filter:P(u)},null,8,Ye))),256))],64)):(e.openBlock(),e.createElementBlock("circle",{key:1,cx:s.value.width/2,cy:s.value.height/2,r:f.value<=0?10:f.value,fill:t.value.style.chart.backgroundColor,stroke:e.unref(o.adaptColorToBackground)(t.value.style.chart.background)},null,8,Ue)),t.value.style.chart.useGradient?(e.openBlock(),e.createElementBlock("circle",{key:2,cx:s.value.width/2,cy:s.value.height/2,r:f.value<=0?10:f.value,fill:`url(#gradient_${y.value})`},null,8,je)):e.createCommentVNode("",!0),d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("path",{"data-cy-donut-trap":"",d:l.arcSlice,fill:b.value===u?"rgba(0,0,0,0.1)":"transparent",onMouseenter:n=>ge({datapoint:l,relativeIndex:u,seriesIndex:l.seriesIndex,show:!0}),onMouseleave:r[0]||(r[0]=n=>{T.value=!1,b.value=null}),onClick:n=>z(l,u)},null,40,He))),256)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.total.show?(e.openBlock(),e.createElementBlock("text",{key:4,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2-(t.value.style.chart.layout.labels.hollow.average.show?t.value.style.chart.layout.labels.hollow.total.fontSize:0)+t.value.style.chart.layout.labels.hollow.total.offsetY,fill:t.value.style.chart.layout.labels.hollow.total.color,"font-size":t.value.style.chart.layout.labels.hollow.total.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.total.bold?"bold":""}`)},e.toDisplayString(t.value.style.chart.layout.labels.hollow.total.text),13,We)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.total.show?(e.openBlock(),e.createElementBlock("text",{key:5,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2+t.value.style.chart.layout.labels.hollow.total.fontSize-(t.value.style.chart.layout.labels.hollow.average.show?t.value.style.chart.layout.labels.hollow.total.fontSize:0)+t.value.style.chart.layout.labels.hollow.total.value.offsetY,fill:t.value.style.chart.layout.labels.hollow.total.value.color,"font-size":t.value.style.chart.layout.labels.hollow.total.value.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.total.value.bold?"bold":""}`)},e.toDisplayString(e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.hollow.total.value.formatter,d.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.hollow.total.value.prefix,v:d.value,s:t.value.style.chart.layout.labels.hollow.total.value.suffix}))),13,Je)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.average.show?(e.openBlock(),e.createElementBlock("text",{key:6,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2+(t.value.style.chart.layout.labels.hollow.total.show?t.value.style.chart.layout.labels.hollow.average.fontSize:0)+t.value.style.chart.layout.labels.hollow.average.offsetY,fill:t.value.style.chart.layout.labels.hollow.average.color,"font-size":t.value.style.chart.layout.labels.hollow.average.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.average.bold?"bold":""}`)},e.toDisplayString(t.value.style.chart.layout.labels.hollow.average.text),13,Ke)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.average.show?(e.openBlock(),e.createElementBlock("text",{key:7,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2+(t.value.style.chart.layout.labels.hollow.total.show?t.value.style.chart.layout.labels.hollow.average.fontSize:0)+t.value.style.chart.layout.labels.hollow.average.fontSize+t.value.style.chart.layout.labels.hollow.average.value.offsetY,fill:t.value.style.chart.layout.labels.hollow.average.value.color,"font-size":t.value.style.chart.layout.labels.hollow.average.value.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.average.value.bold?"bold":""}`)},e.toDisplayString(w.value?"--":e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.hollow.average.value.formatter,oe.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.hollow.average.value.prefix,v:oe.value,s:t.value.style.chart.layout.labels.hollow.average.value.suffix,r:t.value.style.chart.layout.labels.hollow.average.value.rounding}))),13,Qe)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("g",{filter:P(u),class:e.normalizeClass({animated:t.value.useCssAnimation})},[t.value.style.chart.layout.labels.dataLabels.useLabelSlots?(e.openBlock(),e.createElementBlock("g",et,[(e.openBlock(),e.createElementBlock("foreignObject",{x:e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="end"?e.unref(o.calcMarkerOffsetX)(l).x-120:e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="middle"?e.unref(o.calcMarkerOffsetX)(l).x-60:e.unref(o.calcMarkerOffsetX)(l).x,y:e.unref(o.calcMarkerOffsetY)(l)-(ue.value?20:0),width:"120",height:"60",style:{overflow:"visible"}},[e.createElementVNode("div",null,[e.renderSlot(a.$slots,"dataLabel",e.normalizeProps(e.guardReactiveProps({datapoint:l,isBlur:!t.value.useBlurOnHover||[null,void 0].includes(b.value)||b.value===u,isSafari:ue.value,isVisible:_(l)&&v.value.dataLabels.show,textAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16,!0).anchor,flexAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16).anchor,percentage:ae(l,C.value)})),void 0,!0)])],8,tt))])):(e.openBlock(),e.createElementBlock("g",lt,[_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:e.unref(o.calcMarkerOffsetX)(l).x,cy:e.unref(o.calcMarkerOffsetY)(l)-3.5,fill:l.color,r:3,filter:!t.value.useBlurOnHover||[null,void 0].includes(b.value)||b.value===u?"":`url(#blur_${y.value})`,onClick:n=>z(l,u)},null,8,at)):e.createCommentVNode("",!0),_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("text",{key:1,"text-anchor":e.unref(o.calcMarkerOffsetX)(l,!0,12).anchor,x:e.unref(o.calcMarkerOffsetX)(l,!0,12).x,y:e.unref(o.calcMarkerOffsetY)(l),fill:t.value.style.chart.layout.labels.percentage.color,"font-size":t.value.style.chart.layout.labels.percentage.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.percentage.bold?"bold":""}`),onClick:n=>z(l,u)},e.toDisplayString(ae(l,C.value))+" "+e.toDisplayString(t.value.style.chart.layout.labels.value.show?`(${e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.value.formatter,l.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.value.rounding}),{datapoint:l})})`:""),13,ot)):e.createCommentVNode("",!0),_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("text",{key:2,"text-anchor":e.unref(o.calcMarkerOffsetX)(l).anchor,x:e.unref(o.calcMarkerOffsetX)(l,!0,12).x,y:e.unref(o.calcMarkerOffsetY)(l)+t.value.style.chart.layout.labels.percentage.fontSize,fill:t.value.style.chart.layout.labels.name.color,"font-size":t.value.style.chart.layout.labels.name.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.name.bold?"bold":""}`),onClick:n=>z(l,u)},e.toDisplayString(l.name),13,rt)):e.createCommentVNode("",!0)])),v.value.dataLabels.show&&t.value.style.chart.comments.show&&l.comment?(e.openBlock(),e.createElementBlock("g",ut,[_(l)?(e.openBlock(),e.createElementBlock("foreignObject",{key:0,x:t.value.style.chart.comments.offsetX+(e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="end"?e.unref(o.calcMarkerOffsetX)(l).x-t.value.style.chart.comments.width:e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="middle"?e.unref(o.calcMarkerOffsetX)(l).x-t.value.style.chart.comments.width/2:e.unref(o.calcMarkerOffsetX)(l).x),y:e.unref(o.calcMarkerOffsetY)(l)+24+t.value.style.chart.comments.offsetY,width:t.value.style.chart.comments.width,height:"200",style:{overflow:"visible","pointer-events":"none"}},[e.createElementVNode("div",null,[e.renderSlot(a.$slots,"plot-comment",{plot:{...l,textAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16,!0).anchor,flexAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16).anchor}},void 0,!0)])],8,nt)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,Ze))),256)),e.renderSlot(a.$slots,"svg",{svg:s.value},void 0,!0)],14,Oe)):e.createCommentVNode("",!0),a.$slots.watermark?(e.openBlock(),e.createElementBlock("div",st,[e.renderSlot(a.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(H)||e.unref(W)})),void 0,!0)])):e.createCommentVNode("",!0),S.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Se.default,{key:4,config:{type:"donut",style:{backgroundColor:t.value.style.chart.backgroundColor,donut:{color:"#CCCCCC",strokeWidth:L.value*.8}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:I},[t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(Be.Legend,{key:`legend_${G.value}`,legendSet:le.value,config:me.value,onClickMarker:r[1]||(r[1]=({i:l})=>te(l))},{item:e.withCtx(({legend:l,index:u})=>[e.createElementVNode("div",{onClick:n=>l.segregate(),style:e.normalizeStyle(`opacity:${m.value.includes(u)?.5:1}`)},[e.createTextVNode(e.toDisplayString(l.name)+": "+e.toDisplayString(e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.value.formatter,l.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue}),{datapoint:l,index:u}))+" ",1),m.value.includes(u)?(e.openBlock(),e.createElementBlock("span",vt," ( "+e.toDisplayString(we(l.proportion*100))+" % ) ",1)):(e.openBlock(),e.createElementBlock("span",it," ("+e.toDisplayString(isNaN(l.value/d.value)?"-":e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.percentage.formatter,w.value?l.proportion*100:l.value/d.value*100,e.unref(o.dataLabel)({v:w.value?l.proportion*100:l.value/d.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage})))+") ",1))],12,ct)]),_:1},8,["legendSet","config"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"legend",{legend:le.value},void 0,!0)],512),e.createVNode(_e._sfc_main,{show:v.value.showTooltip&&T.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:$.value,content:F.value,isCustom:N.value},{"tooltip-before":e.withCtx(()=>[e.renderSlot(a.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(a.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","fontSize","borderRadius","borderColor","borderWidth","backgroundOpacity","position","offsetY","parent","content","isCustom"]),S.value?(e.openBlock(),e.createBlock($e.default,{key:5,hideDetails:"",config:{open:v.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.openBlock(),e.createBlock(xe.DataTable,{key:`table_${R.value}`,colNames:V.value.colNames,head:V.value.head,body:V.value.body,config:V.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:r[2]||(r[2]=l=>v.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createElementVNode("div",{innerHTML:l,style:{display:"flex","align-items":"center"}},null,8,dt)]),td:e.withCtx(({td:l})=>[e.createTextVNode(e.toDisplayString(l.name?l.name:isNaN(Number(l))?l.includes("%")?e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.percentage.formatter,l,e.unref(o.dataLabel)({v:l,s:"%",r:t.value.style.chart.layout.labels.percentage.rounding})):l:e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.value.formatter,l,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:l,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.value.rounding}))),1)]),_:1},8,["colNames","head","body","config","title"]))]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,Ee))}},ft=Le._export_sfc(ht,[["__scopeId","data-v-15467798"]]);exports.default=ft;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("./index-B8EMsnjU.cjs"),ie=require("./useResponsive-B3TrDDIG.cjs"),Ce=require("./Title-BaR4XyXa.cjs"),ve=require("./usePrinter-BmXrEJ99.cjs"),xe=require("./DataTable-cOEA6Z37.cjs"),_e=require("./Tooltip-CX57w9Q9.cjs"),Be=require("./Legend-XqP6-7Ac.cjs"),Se=require("./vue-ui-skeleton-Bli7jLZ7.cjs"),$e=require("./vue-ui-accordion-DRI-fN6I.cjs"),de=require("./useNestedProp-DlCe_zZz.cjs"),Le=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),Ne=B=>(e.pushScopeId("data-v-15467798"),B=B(),e.popScopeId(),B),Ee=["id"],Oe=["xmlns","viewBox"],Ve=["id"],ze=["stop-color"],Te=["offset","stop-color"],Fe=["offset","stop-color"],De=["stop-color"],Pe=["id"],Me=["id"],Xe=Ne(()=>e.createElementVNode("feColorMatrix",{type:"saturate",values:"0"},null,-1)),Ae=["id"],Ie=["flood-color"],qe=["d","stroke","filter"],Re=["cx","cy","r","fill","filter"],Ge=["stroke","d"],Ye=["d","fill","stroke","stroke-width","filter"],Ue=["cx","cy","r","fill","stroke"],je=["cx","cy","r","fill"],He=["d","fill","onMouseenter","onClick"],We=["x","y","fill","font-size"],Je=["x","y","fill","font-size"],Ke=["x","y","fill","font-size"],Qe=["x","y","fill","font-size"],Ze=["filter"],et={key:0},tt=["x","y"],lt={key:1},at=["cx","cy","fill","filter","onClick"],ot=["text-anchor","x","y","fill","font-size","onClick"],rt=["text-anchor","x","y","fill","font-size","onClick"],ut={key:2},nt=["x","y","width"],st={key:3,class:"vue-data-ui-watermark"},ct=["onClick"],it={key:0,style:{"font-variant-numeric":"tabular-nums"}},vt={key:1},dt=["innerHTML"],ht={__name:"vue-ui-donut",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend","selectDatapoint"],setup(B,{expose:he,emit:X}){const p=B,{vue_ui_donut:fe}=o.useConfig(),S=e.computed({get(){return!!p.dataset&&p.dataset.length},set(a){return a}}),$=e.ref(null),A=e.ref(null),I=e.ref(null),O=e.ref(null),q=e.ref(0),R=e.ref(0),G=e.ref(0);e.onMounted(()=>{Y()}),e.onBeforeUnmount(()=>{O.value&&O.value.disconnect()});function Y(){if(o.objectIsEmpty(p.dataset)?o.error({componentName:"VueUiDonut",type:"dataset"}):p.dataset.forEach((a,r)=>{o.getMissingDatasetAttributes({datasetObject:a,requiredAttributes:["name","values"]}).forEach(l=>{S.value=!1,o.error({componentName:"VueUiDonut",type:"datasetSerieAttribute",property:l,index:r})})}),t.value.responsive){const a=ie.throttle(()=>{const{width:r,height:l}=ie.useResponsive({chart:$.value,title:t.value.style.chart.title.text?A.value:null,legend:t.value.style.chart.legend.show?I.value:null});s.value.width=r,s.value.height=l});O.value=new ResizeObserver(a),O.value.observe($.value.parentNode)}}const y=e.ref(o.createUid()),ye=e.ref(null),T=e.ref(!1),F=e.ref(""),b=e.ref(null),U=e.ref(0);function j(){const a=de.useNestedProp({userConfig:p.config,defaultConfig:fe});return a.theme?{...de.useNestedProp({userConfig:o.themes.vue_ui_donut[a.theme]||p.config,defaultConfig:a}),customPalette:o.themePalettes[a.theme]||o.palette}:a}const t=e.computed({get:()=>j(),set:a=>a});e.watch(()=>p.config,a=>{t.value=j(),Y(),q.value+=1,R.value+=1,G.value+=1},{deep:!0});const{isPrinting:H,isImaging:W,generatePdf:J,generateImage:K}=ve.usePrinter({elementId:`donut__${y.value}`,fileName:t.value.style.chart.title.text||"vue-ui-donut"}),Q=e.computed(()=>o.convertCustomPalette(t.value.customPalette)),v=e.ref({dataLabels:{show:t.value.style.chart.layout.labels.dataLabels.show},showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),s=e.ref({height:360,width:512}),L=e.computed(()=>{const a=t.value.style.chart.layout.donut.strokeWidth/512,r=s.value.width*a,l=r>f.value?f.value:r;return l<24?24:l}),k=e.computed(()=>p.dataset.map((a,r)=>({name:a.name,color:o.convertColorToHex(a.color)||Q.value[r]||o.palette[r]||o.palette[r%o.palette.length],value:a.values.reduce((l,u)=>l+u,0),absoluteValues:a.values,comment:a.comment||""}))),h=e.ref(k.value);e.watch(()=>k.value,a=>h.value=a);function pe(){return k.value.map(a=>({name:a.name,color:a.color,value:a.value}))}const m=e.ref([]),Z=e.ref(null),ee=e.ref(null),w=e.ref(!1);function te(a){const r=k.value.find((n,i)=>i===a);let u=h.value.find((n,i)=>i===a).value;if(m.value.includes(a)){let i=function(){u>n?(cancelAnimationFrame(Z.value),h.value=h.value.map((c,M)=>a===M?{...c,value:n}:c),w.value=!1):(w.value=!0,u+=n*.025,h.value=h.value.map((c,M)=>a===M?{...c,value:u}:c),Z.value=requestAnimationFrame(i))};m.value=m.value.filter(c=>c!==a);const n=r.value;i()}else if(m.value.length<k.value.length-1){let n=function(){u<.1?(cancelAnimationFrame(ee.value),m.value.push(a),h.value=h.value.map((i,c)=>a===c?{...i,value:0}:i),w.value=!1):(w.value=!0,u/=1.1,h.value=h.value.map((i,c)=>a===c?{...i,value:u}:i),ee.value=requestAnimationFrame(n))};n()}X("selectLegend",x.value.map(n=>({name:n.name,color:n.color,value:n.value})))}const x=e.computed(()=>(h.value.forEach((a,r)=>{if([null,void 0].includes(a.values))return{...a,values:[]}}),h.value.map((a,r)=>({...a,seriesIndex:r})).filter((a,r)=>!m.value.includes(r)))),le=e.computed(()=>p.dataset.map((a,r)=>({name:a.name,color:o.convertColorToHex(a.color)||Q.value[r]||o.palette[r]||o.palette[r%o.palette.length],value:(a.values||[]).reduce((l,u)=>l+u,0),shape:"circle"})).map((a,r)=>({...a,proportion:a.value/p.dataset.map(l=>(l.values||[]).reduce((u,n)=>u+n,0)).reduce((l,u)=>l+u,0),opacity:m.value.includes(r)?.5:1,segregate:()=>te(r),isSegregated:m.value.includes(r)}))),me=e.computed(()=>({cy:"donut-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(()=>{const a=Math.min(s.value.width/3,s.value.height/3);return a<55?55:a}),C=e.computed(()=>o.makeDonut({series:x.value},s.value.width/2,s.value.height/2,f.value,f.value,1.99999,2,1,360,105.25,L.value));function _(a){return a.proportion*100>t.value.style.chart.layout.labels.dataLabels.hideUnderValue}function ae(a,r){const l=a.value/be(r);return isNaN(l)?0:o.applyDataLabel(t.value.style.chart.layout.labels.percentage.formatter,l*100,o.dataLabel({v:l*100,s:"%",r:t.value.style.chart.layout.labels.percentage.rounding}),{datapoint:a})}function be(a){return[...a].map(r=>r.value).reduce((r,l)=>r+l,0)}const d=e.computed(()=>x.value.map(a=>a.value).reduce((a,r)=>a+r,0)),oe=e.computed(()=>d.value/x.value.length),D=e.ref(null),N=e.ref(!1);function ge({datapoint:a,relativeIndex:r,seriesIndex:l,show:u=!1}){D.value={datapoint:a,seriesIndex:l,config:t.value,series:k.value},T.value=u,b.value=r;let n="";const i=t.value.style.chart.tooltip.customFormat;if(N.value=!1,o.isFunction(i))try{const c=i({seriesIndex:l,datapoint:a,series:k.value,config:t.value});typeof c=="string"&&(F.value=c,N.value=!0)}catch{console.warn("Custom format cannot be applied."),N.value=!1}if(!N.value){if(n+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${a.name}</div>`,n+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${a.color}"/></svg>`,t.value.style.chart.tooltip.showValue&&(n+=`<b>${o.applyDataLabel(t.value.style.chart.layout.labels.value.formatter,a.value,o.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.tooltip.roundingValue}),{datapoint:a,relativeIndex:r,seriesIndex:l})}</b>`),t.value.style.chart.tooltip.showPercentage){const c=o.applyDataLabel(t.value.style.chart.layout.labels.percentage.formatter,a.proportion*100,o.dataLabel({v:a.proportion*100,s:"%",r:t.value.style.chart.tooltip.roundingPercentage}),{datapoint:a,relativeIndex:r,seriesIndex:l});t.value.style.chart.tooltip.showValue?n+=`<span>(${c})</span></div>`:n+=`<b>${c}%</b></div>`}t.value.style.chart.comments.showInTooltip&&a.comment&&(n+=`<div class="vue-data-ui-tooltip-comment" style="background:${a.color}20; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${a.color}">${a.comment}</div>`),F.value=`<div>${n}</div>`}}function P(a){return t.value.useBlurOnHover&&![null,void 0].includes(b.value)&&b.value!==a?`url(#blur_${y.value})`:""}const g=e.computed(()=>{const a=x.value.map(l=>({name:l.name,color:l.color})),r=x.value.map(l=>l.value);return{head:a,body:r}});function re(){e.nextTick(()=>{const a=g.value.head.map((u,n)=>[[u.name],[g.value.body[n]],[isNaN(g.value.body[n]/d.value)?"-":g.value.body[n]/d.value*100]]),r=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(a),l=o.createCsvContent(r);o.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-donut"})})}const V=e.computed(()=>{const a=[' <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>',o.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:d.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),"100%"],r=g.value.head.map((n,i)=>{const c=o.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:g.value.body[i],s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue});return[{color:n.color,name:n.name},c,isNaN(g.value.body[i]/d.value)?"-":(g.value.body[i]/d.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,t.value.table.columnNames.percentage],head:a,body:r,config:l}}),E=e.ref(!1);function ke(a){E.value=a,U.value+=1}const ue=e.computed(()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent));function we(a){return a.toFixed(t.value.style.chart.legend.roundingPercentage).split("").map(r=>"-").join("")}function z(a,r){X("selectDatapoint",{datapoint:a,index:r})}function ne(){v.value.showTable=!v.value.showTable}function se(){v.value.dataLabels.show=!v.value.dataLabels.show}function ce(){v.value.showTooltip=!v.value.showTooltip}return he({getData:pe,generatePdf:J,generateCsv:re,generateImage:K,toggleTable:ne,toggleLabels:se,toggleTooltip:ce}),(a,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"donutChart",ref:$,class:e.normalizeClass(`vue-ui-donut ${E.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:`donut__${y.value}`},[e.renderSlot(a.$slots,"userConfig",{},void 0,!0),t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:A,style:"width:100%;background:transparent;padding-bottom:24px"},[(e.openBlock(),e.createBlock(Ce._sfc_main,{key:`title_${q.value}`,config:{title:{cy:"donut-div-title",...t.value.style.chart.title},subtitle:{cy:"donut-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))],512)):e.createCommentVNode("",!0),t.value.userOptions.show&&S.value?(e.openBlock(),e.createBlock(ve.UserOptions,{ref_key:"details",ref:ye,key:`user_option_${U.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(H),isImaging:e.unref(W),uid:y.value,hasTooltip:t.value.style.chart.tooltip.show&&t.value.userOptions.buttons.tooltip,hasPdf:t.value.userOptions.buttons.pdf,hasImg:t.value.userOptions.buttons.img,hasXls:t.value.userOptions.buttons.csv,hasTable:t.value.userOptions.buttons.table,hasLabel:t.value.userOptions.buttons.labels,hasFullscreen:t.value.userOptions.buttons.fullscreen,isFullscreen:E.value,chartElement:$.value,position:t.value.userOptions.position,isTooltip:v.value.showTooltip,titles:{...t.value.userOptions.buttonTitles},onToggleFullscreen:ke,onGeneratePdf:e.unref(J),onGenerateCsv:re,onGenerateImage:e.unref(K),onToggleTable:ne,onToggleLabels:se,onToggleTooltip:ce},e.createSlots({_:2},[a.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,a.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,a.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,a.$slots.optionLabels?{name:"optionLabels",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionLabels",{},void 0,!0)]),key:"5"}:void 0,a.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:u})=>[e.renderSlot(a.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:u})),void 0,!0)]),key:"6"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasImg","hasXls","hasTable","hasLabel","hasFullscreen","isFullscreen","chartElement","position","isTooltip","titles","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(o.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":E.value,"vue-data-ui-fulscreen--off":!E.value}),viewBox:`0 0 ${s.value.width<=0?10:s.value.width} ${s.value.height<=0?10:s.value.height}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[t.value.style.chart.useGradient?(e.openBlock(),e.createElementBlock("radialGradient",{key:0,id:`gradient_${y.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":e.unref(o.setOpacity)(t.value.style.chart.backgroundColor,0),"stop-opacity":"0"},null,8,ze),e.createElementVNode("stop",{offset:`${(1-L.value/f.value)*100}%`,"stop-color":e.unref(o.setOpacity)("#FFFFFF",0),"stop-opacity":"0"},null,8,Te),e.createElementVNode("stop",{offset:`${(1-L.value/f.value/2)*100}%`,"stop-color":e.unref(o.setOpacity)("#FFFFFF",t.value.style.chart.gradientIntensity)},null,8,Fe),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(o.setOpacity)(t.value.style.chart.backgroundColor,0),"stop-opacity":"0"},null,8,De)],8,Ve)):e.createCommentVNode("",!0)]),e.createElementVNode("defs",null,[e.createElementVNode("filter",{id:`blur_${y.value}`,x:"-50%",y:"-50%",width:"200%",height:"200%"},[e.createElementVNode("feGaussianBlur",{in:"SourceGraphic",stdDeviation:2,id:`blur_std_${y.value}`},null,8,Me),Xe],8,Pe),e.createElementVNode("filter",{id:`shadow_${y.value}`,"color-interpolation-filters":"sRGB"},[e.createElementVNode("feDropShadow",{dx:"0",dy:"0",stdDeviation:"10","flood-opacity":"0.5","flood-color":t.value.style.chart.layout.donut.shadowColor},null,8,Ie)],8,Ae)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("g",null,[_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("path",{key:0,d:e.unref(o.calcNutArrowPath)(l,{x:s.value.width/2,y:s.value.height/2},16,16,!1,!1,L.value),stroke:l.color,"stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round",fill:"none",filter:P(u)},null,8,qe)):e.createCommentVNode("",!0)]))),256)),e.createElementVNode("circle",{cx:s.value.width/2,cy:s.value.height/2,r:f.value<=0?10:f.value,fill:t.value.style.chart.backgroundColor,filter:t.value.style.chart.layout.donut.useShadow?`url(#shadow_${y.value})`:""},null,8,Re),d.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("path",{stroke:t.value.style.chart.backgroundColor,d:l.arcSlice,fill:"#FFFFFF"},null,8,Ge))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("path",{class:"vue-ui-donut-arc-path",d:l.arcSlice,fill:e.unref(o.setOpacity)(l.color,80),stroke:t.value.style.chart.backgroundColor,"stroke-width":t.value.style.chart.layout.donut.borderWidth,filter:P(u)},null,8,Ye))),256))],64)):(e.openBlock(),e.createElementBlock("circle",{key:1,cx:s.value.width/2,cy:s.value.height/2,r:f.value<=0?10:f.value,fill:t.value.style.chart.backgroundColor,stroke:e.unref(o.adaptColorToBackground)(t.value.style.chart.background)},null,8,Ue)),t.value.style.chart.useGradient?(e.openBlock(),e.createElementBlock("circle",{key:2,cx:s.value.width/2,cy:s.value.height/2,r:f.value<=0?10:f.value,fill:`url(#gradient_${y.value})`},null,8,je)):e.createCommentVNode("",!0),d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("path",{"data-cy-donut-trap":"",d:l.arcSlice,fill:b.value===u?"rgba(0,0,0,0.1)":"transparent",onMouseenter:n=>ge({datapoint:l,relativeIndex:u,seriesIndex:l.seriesIndex,show:!0}),onMouseleave:r[0]||(r[0]=n=>{T.value=!1,b.value=null}),onClick:n=>z(l,u)},null,40,He))),256)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.total.show?(e.openBlock(),e.createElementBlock("text",{key:4,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2-(t.value.style.chart.layout.labels.hollow.average.show?t.value.style.chart.layout.labels.hollow.total.fontSize:0)+t.value.style.chart.layout.labels.hollow.total.offsetY,fill:t.value.style.chart.layout.labels.hollow.total.color,"font-size":t.value.style.chart.layout.labels.hollow.total.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.total.bold?"bold":""}`)},e.toDisplayString(t.value.style.chart.layout.labels.hollow.total.text),13,We)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.total.show?(e.openBlock(),e.createElementBlock("text",{key:5,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2+t.value.style.chart.layout.labels.hollow.total.fontSize-(t.value.style.chart.layout.labels.hollow.average.show?t.value.style.chart.layout.labels.hollow.total.fontSize:0)+t.value.style.chart.layout.labels.hollow.total.value.offsetY,fill:t.value.style.chart.layout.labels.hollow.total.value.color,"font-size":t.value.style.chart.layout.labels.hollow.total.value.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.total.value.bold?"bold":""}`)},e.toDisplayString(e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.hollow.total.value.formatter,d.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.hollow.total.value.prefix,v:d.value,s:t.value.style.chart.layout.labels.hollow.total.value.suffix}))),13,Je)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.average.show?(e.openBlock(),e.createElementBlock("text",{key:6,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2+(t.value.style.chart.layout.labels.hollow.total.show?t.value.style.chart.layout.labels.hollow.average.fontSize:0)+t.value.style.chart.layout.labels.hollow.average.offsetY,fill:t.value.style.chart.layout.labels.hollow.average.color,"font-size":t.value.style.chart.layout.labels.hollow.average.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.average.bold?"bold":""}`)},e.toDisplayString(t.value.style.chart.layout.labels.hollow.average.text),13,Ke)):e.createCommentVNode("",!0),t.value.style.chart.layout.labels.hollow.average.show?(e.openBlock(),e.createElementBlock("text",{key:7,"text-anchor":"middle",x:s.value.width/2,y:s.value.height/2+(t.value.style.chart.layout.labels.hollow.total.show?t.value.style.chart.layout.labels.hollow.average.fontSize:0)+t.value.style.chart.layout.labels.hollow.average.fontSize+t.value.style.chart.layout.labels.hollow.average.value.offsetY,fill:t.value.style.chart.layout.labels.hollow.average.value.color,"font-size":t.value.style.chart.layout.labels.hollow.average.value.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.hollow.average.value.bold?"bold":""}`)},e.toDisplayString(w.value?"--":e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.hollow.average.value.formatter,oe.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.hollow.average.value.prefix,v:oe.value,s:t.value.style.chart.layout.labels.hollow.average.value.suffix,r:t.value.style.chart.layout.labels.hollow.average.value.rounding}))),13,Qe)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(l,u)=>(e.openBlock(),e.createElementBlock("g",{filter:P(u),class:e.normalizeClass({animated:t.value.useCssAnimation})},[t.value.style.chart.layout.labels.dataLabels.useLabelSlots?(e.openBlock(),e.createElementBlock("g",et,[(e.openBlock(),e.createElementBlock("foreignObject",{x:e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="end"?e.unref(o.calcMarkerOffsetX)(l).x-120:e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="middle"?e.unref(o.calcMarkerOffsetX)(l).x-60:e.unref(o.calcMarkerOffsetX)(l).x,y:e.unref(o.calcMarkerOffsetY)(l)-(ue.value?20:0),width:"120",height:"60",style:{overflow:"visible"}},[e.createElementVNode("div",null,[e.renderSlot(a.$slots,"dataLabel",e.normalizeProps(e.guardReactiveProps({datapoint:l,isBlur:!t.value.useBlurOnHover||[null,void 0].includes(b.value)||b.value===u,isSafari:ue.value,isVisible:_(l)&&v.value.dataLabels.show,textAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16,!0).anchor,flexAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16).anchor,percentage:ae(l,C.value)})),void 0,!0)])],8,tt))])):(e.openBlock(),e.createElementBlock("g",lt,[_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:e.unref(o.calcMarkerOffsetX)(l).x,cy:e.unref(o.calcMarkerOffsetY)(l)-3.5,fill:l.color,r:3,filter:!t.value.useBlurOnHover||[null,void 0].includes(b.value)||b.value===u?"":`url(#blur_${y.value})`,onClick:n=>z(l,u)},null,8,at)):e.createCommentVNode("",!0),_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("text",{key:1,"text-anchor":e.unref(o.calcMarkerOffsetX)(l,!0,12).anchor,x:e.unref(o.calcMarkerOffsetX)(l,!0,12).x,y:e.unref(o.calcMarkerOffsetY)(l),fill:t.value.style.chart.layout.labels.percentage.color,"font-size":t.value.style.chart.layout.labels.percentage.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.percentage.bold?"bold":""}`),onClick:n=>z(l,u)},e.toDisplayString(ae(l,C.value))+" "+e.toDisplayString(t.value.style.chart.layout.labels.value.show?`(${e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.value.formatter,l.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.value.rounding}),{datapoint:l})})`:""),13,ot)):e.createCommentVNode("",!0),_(l)&&v.value.dataLabels.show?(e.openBlock(),e.createElementBlock("text",{key:2,"text-anchor":e.unref(o.calcMarkerOffsetX)(l).anchor,x:e.unref(o.calcMarkerOffsetX)(l,!0,12).x,y:e.unref(o.calcMarkerOffsetY)(l)+t.value.style.chart.layout.labels.percentage.fontSize,fill:t.value.style.chart.layout.labels.name.color,"font-size":t.value.style.chart.layout.labels.name.fontSize,style:e.normalizeStyle(`font-weight:${t.value.style.chart.layout.labels.name.bold?"bold":""}`),onClick:n=>z(l,u)},e.toDisplayString(l.name),13,rt)):e.createCommentVNode("",!0)])),v.value.dataLabels.show&&t.value.style.chart.comments.show&&l.comment?(e.openBlock(),e.createElementBlock("g",ut,[_(l)?(e.openBlock(),e.createElementBlock("foreignObject",{key:0,x:t.value.style.chart.comments.offsetX+(e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="end"?e.unref(o.calcMarkerOffsetX)(l).x-t.value.style.chart.comments.width:e.unref(o.calcMarkerOffsetX)(l,!0).anchor==="middle"?e.unref(o.calcMarkerOffsetX)(l).x-t.value.style.chart.comments.width/2:e.unref(o.calcMarkerOffsetX)(l).x),y:e.unref(o.calcMarkerOffsetY)(l)+24+t.value.style.chart.comments.offsetY,width:t.value.style.chart.comments.width,height:"200",style:{overflow:"visible","pointer-events":"none"}},[e.createElementVNode("div",null,[e.renderSlot(a.$slots,"plot-comment",{plot:{...l,textAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16,!0).anchor,flexAlign:e.unref(o.calcMarkerOffsetX)(l,!0,16).anchor}},void 0,!0)])],8,nt)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,Ze))),256)),e.renderSlot(a.$slots,"svg",{svg:s.value},void 0,!0)],14,Oe)):e.createCommentVNode("",!0),a.$slots.watermark?(e.openBlock(),e.createElementBlock("div",st,[e.renderSlot(a.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(H)||e.unref(W)})),void 0,!0)])):e.createCommentVNode("",!0),S.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Se.default,{key:4,config:{type:"donut",style:{backgroundColor:t.value.style.chart.backgroundColor,donut:{color:"#CCCCCC",strokeWidth:L.value*.8}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:I},[t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(Be.Legend,{key:`legend_${G.value}`,legendSet:le.value,config:me.value,onClickMarker:r[1]||(r[1]=({i:l})=>te(l))},{item:e.withCtx(({legend:l,index:u})=>[e.createElementVNode("div",{onClick:n=>l.segregate(),style:e.normalizeStyle(`opacity:${m.value.includes(u)?.5:1}`)},[e.createTextVNode(e.toDisplayString(l.name)+": "+e.toDisplayString(e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.value.formatter,l.value,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue}),{datapoint:l,index:u}))+" ",1),m.value.includes(u)?(e.openBlock(),e.createElementBlock("span",vt," ( "+e.toDisplayString(we(l.proportion*100))+" % ) ",1)):(e.openBlock(),e.createElementBlock("span",it," ("+e.toDisplayString(isNaN(l.value/d.value)?"-":e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.percentage.formatter,w.value?l.proportion*100:l.value/d.value*100,e.unref(o.dataLabel)({v:w.value?l.proportion*100:l.value/d.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage})))+") ",1))],12,ct)]),_:1},8,["legendSet","config"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"legend",{legend:le.value},void 0,!0)],512),e.createVNode(_e._sfc_main,{show:v.value.showTooltip&&T.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:$.value,content:F.value,isCustom:N.value},{"tooltip-before":e.withCtx(()=>[e.renderSlot(a.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(a.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...D.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","fontSize","borderRadius","borderColor","borderWidth","backgroundOpacity","position","offsetY","parent","content","isCustom"]),S.value?(e.openBlock(),e.createBlock($e.default,{key:5,hideDetails:"",config:{open:v.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.openBlock(),e.createBlock(xe.DataTable,{key:`table_${R.value}`,colNames:V.value.colNames,head:V.value.head,body:V.value.body,config:V.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:r[2]||(r[2]=l=>v.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createElementVNode("div",{innerHTML:l,style:{display:"flex","align-items":"center"}},null,8,dt)]),td:e.withCtx(({td:l})=>[e.createTextVNode(e.toDisplayString(l.name?l.name:isNaN(Number(l))?l.includes("%")?e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.percentage.formatter,l,e.unref(o.dataLabel)({v:l,s:"%",r:t.value.style.chart.layout.labels.percentage.rounding})):l:e.unref(o.applyDataLabel)(t.value.style.chart.layout.labels.value.formatter,l,e.unref(o.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:l,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.layout.labels.value.rounding}))),1)]),_:1},8,["colNames","head","body","config","title"]))]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,Ee))}},ft=Le._export_sfc(ht,[["__scopeId","data-v-15467798"]]);exports.default=ft;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { computed as x, ref as m, onMounted as Ke, watch as Fe, openBlock as a, createElementBlock as u, normalizeClass as F, normalizeStyle as ae, createBlock as E, createCommentVNode as d, unref as c, createSlots as qe, withCtx as P, renderSlot as T, normalizeProps as ue, guardReactiveProps as oe, createElementVNode as v, Fragment as p, renderList as k, toDisplayString as b, withKeys as Je, createTextVNode as Pe, nextTick as Qe } from "vue";
|
|
2
|
-
import { u as Ze, o as et, e as B, g as tt, c as De, t as lt, a as at, p as Y, b as ut, G as ot, d as se, C as Te, m as re, X as st, s as U, D as rt, i as ne, f as K, j as Ie, k as q, n as Ee, H as Oe, q as nt, r as it } from "./index-
|
|
3
|
-
import { _ as ct } from "./Title-
|
|
4
|
-
import { u as vt, U as dt } from "./usePrinter-
|
|
5
|
-
import { D as ht } from "./DataTable-
|
|
6
|
-
import { L as yt } from "./Legend-
|
|
7
|
-
import ft from "./vue-ui-skeleton-
|
|
8
|
-
import { S as gt } from "./Slicer-
|
|
9
|
-
import bt from "./vue-ui-accordion-
|
|
10
|
-
import { u as He } from "./useNestedProp-
|
|
2
|
+
import { u as Ze, o as et, e as B, g as tt, c as De, t as lt, a as at, p as Y, b as ut, G as ot, d as se, C as Te, m as re, X as st, s as U, D as rt, i as ne, f as K, j as Ie, k as q, n as Ee, H as Oe, q as nt, r as it } from "./index-DQl1TFXa.js";
|
|
3
|
+
import { _ as ct } from "./Title-DlBwa3-X.js";
|
|
4
|
+
import { u as vt, U as dt } from "./usePrinter-DgKGVvJC.js";
|
|
5
|
+
import { D as ht } from "./DataTable-Cmbf3abv.js";
|
|
6
|
+
import { L as yt } from "./Legend-CCq0mNRg.js";
|
|
7
|
+
import ft from "./vue-ui-skeleton-BVJGmYjj.js";
|
|
8
|
+
import { S as gt } from "./Slicer-BKszZXjM.js";
|
|
9
|
+
import bt from "./vue-ui-accordion-CroZrm7T.js";
|
|
10
|
+
import { u as He } from "./useNestedProp-lmeFt-ev.js";
|
|
11
11
|
import { _ as xt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
12
12
|
const mt = ["id"], pt = ["xmlns", "viewBox"], kt = ["id"], _t = ["stop-color"], Ct = ["stop-color"], wt = ["id"], Lt = ["stop-color"], $t = ["stop-color"], St = ["stop-color"], At = { key: 0 }, Nt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], zt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Ft = { key: 0 }, Pt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Dt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Tt = ["x", "y", "font-size", "fill", "font-weight"], It = ["text-anchor", "font-size", "fill", "transform"], Et = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], Ot = { key: 1 }, Ht = ["cx", "cy", "r", "fill"], Mt = { key: 0 }, Vt = { key: 0 }, Wt = ["d", "stroke"], Rt = ["text-anchor", "x", "y", "fill"], Ut = ["cx", "cy", "r", "fill"], Xt = { key: 0 }, Gt = ["cx", "cy", "fill"], jt = { key: 1 }, Bt = ["d", "fill", "stroke"], Yt = { key: 2 }, Kt = ["d", "fill", "stroke"], qt = ["x", "y", "font-size", "fill"], Jt = ["x", "y", "width", "fill", "onClick"], Qt = ["x", "y", "width", "height", "onMouseenter", "onClick"], Zt = {
|
|
13
13
|
key: 3,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("./index-BzFQHG8B.cjs"),be=require("./Title-BOtOowG-.cjs"),se=require("./usePrinter-BY2kEF_E.cjs"),xe=require("./DataTable-DEvCstuA.cjs"),Be=require("./Legend-D9oHmbQR.cjs"),Ce=require("./vue-ui-skeleton-B_ed6BaF.cjs"),_e=require("./Slicer-CnyR7m1m.cjs"),Ee=require("./vue-ui-accordion-D9rDPTxC.cjs"),ce=require("./useNestedProp-BU19Uk2G.cjs"),Ne=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),we=["id"],Se=["xmlns","viewBox"],Le=["id"],Ve=["stop-color"],ze=["stop-color"],$e=["id"],Fe=["stop-color"],Ae=["stop-color"],De=["stop-color"],Pe={key:0},Te=["x1","x2","y1","y2","stroke","stroke-width"],Oe=["x1","x2","y1","y2","stroke","stroke-width"],Ie={key:0},Me=["x1","x2","y1","y2","stroke","stroke-width"],He=["x1","x2","y1","y2","stroke","stroke-width"],Re=["x","y","font-size","fill","font-weight"],We=["text-anchor","font-size","fill","transform"],Ue=["x1","y1","x2","y2","stroke","stroke-width"],Xe={key:1},qe=["cx","cy","r","fill"],Ge={key:0},Ye={key:0},je=["d","stroke"],Ke=["text-anchor","x","y","fill"],Je=["cx","cy","r","fill"],Qe={key:0},Ze=["cx","cy","fill"],et={key:1},tt=["d","fill","stroke"],lt={key:2},at=["d","fill","stroke"],ot=["x","y","font-size","fill"],ut=["x","y","width","fill","onClick"],nt=["x","y","width","height","onMouseenter","onClick"],rt={key:3,"data-cy-zoom":"",class:"vue-ui-donut-evolution-dialog"},st=["x","y","width","height","fill"],ct=["x1","y1","x2","y2","stroke"],it=["x1","y2","x2","y1","stroke"],dt=["onKeypress","cx","cy","r"],vt=["d","stroke"],ht=["cx","cy","r","fill"],yt=["d","fill","stroke"],mt={class:"vue-ui-donut-evolution-focus"},ft=["text-anchor","x","y","fill"],gt=["cx","cy","r","fill"],pt=["cx","cy","r","fill"],kt=["x","y","fill"],bt=["x","y","font-size","fill"],xt={key:3,class:"vue-data-ui-watermark"},Bt=["onClick"],Ct={key:0},_t={key:1},Et={key:0},Nt={key:1},wt={__name:"vue-ui-donut-evolution",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend"],setup(ie,{expose:de,emit:M}){const p=ie,{vue_ui_donut_evolution:ve}=n.useConfig(),z=e.computed(()=>!!p.dataset&&p.dataset.length),i=e.ref({start:0,end:Math.max(...p.dataset.map(a=>a.values.length))});function H(){i.value={start:0,end:L.value},X.value+=1}e.onMounted(()=>{R()});function R(){n.objectIsEmpty(p.dataset)?n.error({componentName:"VueUiDonutEvolution",type:"dataset"}):p.dataset.length&&p.dataset.forEach((a,c)=>{n.getMissingDatasetAttributes({datasetObject:a,requiredAttributes:["name","values"]}).forEach(l=>{n.error({componentName:"VueUiDonutEvolution",type:"datasetSerieAttribute",property:l,index:c})})})}const _=e.ref(n.createUid()),y=e.ref([]),h=e.ref(null),A=e.ref(null),k=e.ref(!1),b=e.ref(null),W=e.ref(null),U=e.ref(0),X=e.ref(0),q=e.ref(0),G=e.ref(0),Y=e.ref(0),t=e.computed({get:()=>j(),set:a=>a});function j(){const a=ce.useNestedProp({userConfig:p.config,defaultConfig:ve});return a.theme?{...ce.useNestedProp({userConfig:n.themes.vue_ui_donut_evolution[a.theme]||p.config,defaultConfig:a}),customPalette:n.themePalettes[a.theme]||n.palette}:a}e.watch(()=>p.config,a=>{t.value=j(),R(),q.value+=1,G.value+=1,Y.value+=1},{deep:!0}),e.watch(()=>p.dataset,a=>{H()},{deep:!0});const{isPrinting:K,isImaging:J,generatePdf:Q,generateImage:Z}=se.usePrinter({elementId:_.value,fileName:t.value.style.chart.title.text||"vue-ui-donut-evolution"}),he=e.computed(()=>n.convertCustomPalette(t.value.customPalette)),$=e.ref({showTable:t.value.table.show}),u=e.computed(()=>({top:t.value.style.chart.layout.padding.top,right:t.value.style.chart.layout.padding.right,bottom:t.value.style.chart.layout.padding.bottom,left:t.value.style.chart.layout.padding.left})),r=e.computed(()=>{const a=t.value.style.chart.layout.height,c=t.value.style.chart.layout.width,l=a-u.value.top-u.value.bottom,s=c-u.value.left-u.value.right;return{absoluteHeight:a,absoluteWidth:c,centerX:u.value.left+s/2,centerY:u.value.top+l/2,height:l,width:s}}),C=e.computed(()=>(p.dataset.forEach((a,c)=>{[null,void 0].includes(a.name)&&n.error({componentName:"VueUiDonutEvolution",type:"datasetSerieAttribute",property:"name",index:c}),[null,void 0].includes(a.values)&&n.error({componentName:"VueUiDonutEvolution",type:"datasetSerieAttribute",property:"values",index:c})}),p.dataset.map((a,c)=>({...a,values:n.sanitizeArray(a.values),color:n.convertColorToHex(a.color)||he.value[c]||n.palette[c]||n.palette[c%n.palette.length],length:(a.values||[]).length,uid:n.createUid()})))),S=e.computed(()=>C.value.filter(a=>!y.value.includes(a.uid)).map(a=>({...a,values:a.values.filter((c,l)=>l>=i.value.start&&l<=i.value.end)}))),L=e.computed(()=>Math.max(...S.value.map(a=>a.length))),f=e.computed(()=>r.value.width/(i.value.end-i.value.start)),m=e.computed(()=>{const a=[];for(let o=0;o<i.value.end-i.value.start;o+=1){const v=S.value.map(B=>B.values[o]??null),d=v.filter(B=>[void 0,null].includes(B)).length===v.length,x=v.reduce((B,g)=>B+g,0),I=v.map(B=>B/x),w=u.value.left+f.value*o+f.value/2;a.push({index:o,percentages:I,subtotal:d||x<0?null:x,values:v,x:w})}const c=0,l=Math.max(...a.map(o=>o.subtotal)),s=a.length===1?l*2:l;return a.map((o,v)=>{const d=f.value/2*.7,x=d>r.value.width/16?r.value.width/16:d,I=h.value===o.index?r.value.width/16:x,w=a.length>4?d*2:d*2>f.value/2*.7?f.value/2*.7:d*2,B=r.value.absoluteHeight-u.value.bottom-r.value.height*o.subtotal/n.calculateNiceScale(c,s,t.value.style.chart.layout.grid.yAxis.dataLabels.steps).max;return{...o,y:B,radius:x,activeRadius:I,hoverRadius:w,donut:n.makeDonut({series:S.value.map((g,re)=>({color:g.color,name:g.name,value:g.values[v]??0}))},o.x,B,x,x,1.99999,2,1,360,105.25,x/2),donutHover:n.makeDonut({series:S.value.map((g,re)=>({color:g.color,name:g.name,value:g.values[v]??0}))},o.x,B,w,w,1.99999,2,1,360,105.25,w/2),donutFocus:n.makeDonut({series:S.value.map((g,re)=>({color:g.color,name:g.name,value:g.values[v]??0}))},r.value.centerX,r.value.centerY,r.value.height/3.6,r.value.height/3.6,1.99999,2,1,360,105.25,r.value.height/6)}})});function F(a,c,l){return n.applyDataLabel(t.value.style.chart.layout.dataLabels.formatter,a,n.dataLabel({p:t.value.style.chart.layout.dataLabels.prefix,v:a,s:t.value.style.chart.layout.dataLabels.suffix,r:t.value.style.chart.layout.dataLabels.rounding}),{datapoint:c,index:l})}const D=e.computed(()=>({max:Math.max(...m.value.map(a=>a.subtotal)),min:0})),E=e.computed(()=>{const a=m.value.length===1?D.value.max*2:D.value.max;return n.calculateNiceScale(D.value.min,a,t.value.style.chart.layout.grid.yAxis.dataLabels.steps)});function ye(a){return a/E.value.max}const me=e.computed(()=>E.value.ticks.map(a=>({y:r.value.absoluteHeight-u.value.bottom-r.value.height*ye(a),value:a})));function ee(a,c){return isNaN(a.value/n.sumByAttribute(c,"value"))?0:(a.value/n.sumByAttribute(c,"value")*100).toFixed(0)+"%"}function te(){k.value||(h.value=null,A.value=null)}function fe(a){k.value||(h.value=a.index,A.value=a)}const P=e.ref(null);function T(a,c){a.subtotal&&(A.value=null,h.value=null,k.value=!0,b.value=a,[null,void 0].includes(c)||(P.value=c))}function le(){b.value=null,k.value=!1,P.value=null}const ae=e.computed(()=>C.value.map((a,c)=>({name:a.name,value:a.values.slice(i.value.start,i.value.end).reduce((l,s)=>l+s,0),shape:"circle",uid:a.uid,color:a.color})).sort((a,c)=>c.value-a.value).map(a=>({...a,opacity:y.value.includes(a.uid)?.5:1,segregate:()=>O(a.uid),isSegregated:y.value.includes(a.uid)}))),oe=e.computed(()=>m.value.map(a=>a.subtotal).reduce((a,c)=>a+c,0)),ge=e.computed(()=>({cy:"donut-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 O(a){if(y.value.includes(a))y.value=y.value.filter(c=>c!==a),M("selectLegend",null);else{if(y.value.length===C.value.length-1)return;y.value.push(a),M("selectLegend",C.value.find(c=>c.uid===a))}b.value&&T(m.value.find((c,l)=>l===P.value))}const N=e.computed(()=>{const a=[""].concat(C.value.filter(o=>!y.value.includes(o.uid)).map(o=>({name:o.name,color:o.color}))).concat(["Σ"]);let c=[];for(let o=0;o<L.value;o+=1){const v=C.value.filter(d=>!y.value.includes(d.uid)).map(d=>d.values[o]??0).reduce((d,x)=>d+x,0);c.push([t.value.style.chart.layout.grid.xAxis.dataLabels.values[o]??"-"].concat(C.value.filter(d=>!y.value.includes(d.uid)).map(d=>({value:d.values[o]??0,percentage:d.values[o]?d.values[o]/v*100:0}))).concat([`${t.value.style.chart.layout.dataLabels.prefix}${Number(v.toFixed(t.value.table.td.roundingValue))}${t.value.style.chart.layout.dataLabels.suffix}`]))}const 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},s=[t.value.table.columnNames.period].concat(C.value.filter(o=>!y.value.includes(o.uid)).map(o=>o.name)).concat(t.value.table.columnNames.total);return{head:a,body:c,config:l,colNames:s}});function pe(){return C.value}function ue(){e.nextTick(()=>{const a=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[""]],c=[...N.value.head.map(v=>v.name??v)],l=[...N.value.body.map(v=>v.map(d=>d.value??d))],s=a.concat([c]).concat(l),o=n.createCsvContent(s);n.downloadCsv({csvContent:o,title:t.value.style.chart.title.text||"vue-ui-donut-evolution"})})}const V=e.ref(!1);function ke(a){V.value=a,U.value+=1}function ne(){$.value.showTable=!$.value.showTable}return de({getData:pe,generatePdf:Q,generateCsv:ue,generateImage:Z,toggleTable:ne}),(a,c)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"donutEvolutionChart",ref:W,class:e.normalizeClass(`vue-ui-donut-evolution ${V.value?"vue-data-ui-wrapper-fullscreen":""} ${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:"width:100%;background:transparent;padding-bottom:24px",onMouseleave:te},[(e.openBlock(),e.createBlock(be._sfc_main,{key:`title_${q.value}`,config:{title:{cy:"donut-evolution-div-title",...t.value.style.chart.title},subtitle:{cy:"donut-evolution-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))],32)):e.createCommentVNode("",!0),t.value.userOptions.show&&z.value?(e.openBlock(),e.createBlock(se.UserOptions,{ref:"details",key:`user_options_${U.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(K),isImaging:e.unref(J),uid:_.value,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,titles:{...t.value.userOptions.buttonTitles},chartElement:W.value,position:t.value.userOptions.position,onToggleFullscreen:ke,onGeneratePdf:e.unref(Q),onGenerateCsv:ue,onGenerateImage:e.unref(Z),onToggleTable:ne},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.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,a.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTable",{},void 0,!0)]),key:"3"}:void 0,a.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:s})=>[e.renderSlot(a.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:s})),void 0,!0)]),key:"4"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasImg","hasXls","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),z.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 ${r.value.absoluteWidth} ${r.value.absoluteHeight}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`hover_${_.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":e.unref(n.setOpacity)(t.value.style.chart.backgroundColor,t.value.style.chart.layout.highlighter.opacity)},null,8,Ve),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(n.setOpacity)(t.value.style.chart.layout.highlighter.color,t.value.style.chart.layout.highlighter.opacity)},null,8,ze)],8,Le),e.createElementVNode("radialGradient",{id:`focus_${_.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":e.unref(n.setOpacity)(e.unref(n.convertColorToHex)(t.value.style.chart.backgroundColor),0)},null,8,Fe),e.createElementVNode("stop",{offset:"77%","stop-color":e.unref(n.setOpacity)("#FFFFFF",30)},null,8,Ae),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(n.setOpacity)(e.unref(n.convertColorToHex)(t.value.style.chart.backgroundColor),0)},null,8,De)],8,$e)]),t.value.style.chart.layout.grid.show?(e.openBlock(),e.createElementBlock("g",Pe,[e.createElementVNode("line",{x1:u.value.left,x2:u.value.left,y1:u.value.top,y2:u.value.top+r.value.height,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth,"stroke-linecap":"round"},null,8,Te),e.createElementVNode("line",{x1:u.value.left,x2:r.value.absoluteWidth-u.value.right,y1:r.value.absoluteHeight-u.value.bottom,y2:r.value.absoluteHeight-u.value.bottom,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth,"stroke-linecap":"round"},null,8,Oe),t.value.style.chart.layout.grid.showVerticalLines?(e.openBlock(),e.createElementBlock("g",Ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.end-i.value.start,(l,s)=>(e.openBlock(),e.createElementBlock("line",{x1:u.value.left+(s+1)*f.value,x2:u.value.left+(s+1)*f.value,y1:u.value.top,y2:r.value.absoluteHeight-u.value.bottom,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth,"stroke-linecap":"round"},null,8,Me))),256))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.value.style.chart.layout.grid.yAxis.dataLabels.show?(e.openBlock(),e.createElementBlock("g",{key:1,class:e.normalizeClass({"donut-opacity":!0,"donut-behind":h.value!==null||k.value})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(me.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",null,[l.value>=E.value.min&&l.value<=E.value.max?(e.openBlock(),e.createElementBlock("line",{key:0,x1:u.value.left,x2:u.value.left-5,y1:l.y,y2:l.y,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth},null,8,He)):e.createCommentVNode("",!0),l.value>=E.value.min&&l.value<=E.value.max?(e.openBlock(),e.createElementBlock("text",{key:1,x:u.value.left-8+t.value.style.chart.layout.grid.yAxis.dataLabels.offsetX,y:l.y+t.value.style.chart.layout.grid.yAxis.dataLabels.fontSize/3,"font-size":t.value.style.chart.layout.grid.yAxis.dataLabels.fontSize,"text-anchor":"end",fill:t.value.style.chart.layout.grid.yAxis.dataLabels.color,"font-weight":t.value.style.chart.layout.grid.yAxis.dataLabels.bold?"bold":"normal"},e.toDisplayString(e.unref(n.canShowValue)(l.value)?e.unref(n.applyDataLabel)(t.value.style.chart.layout.dataLabels.formatter,l.value,e.unref(n.dataLabel)({p:t.value.style.chart.layout.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.dataLabels.suffix,r:t.value.style.chart.layout.grid.yAxis.dataLabels.roundingValue}),{datapoint:l,seriesIndex:s}):""),9,Re)):e.createCommentVNode("",!0)]))),256))],2)):e.createCommentVNode("",!0),t.value.style.chart.layout.grid.xAxis.dataLabels.show?(e.openBlock(),e.createElementBlock("g",{key:2,class:e.normalizeClass({"donut-opacity":!0,"donut-behind":k.value})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.end-i.value.start,(l,s)=>(e.openBlock(),e.createElementBlock("g",null,[t.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast&&(s===0||s===L.value-1)||!t.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast?(e.openBlock(),e.createElementBlock("text",{key:0,"text-anchor":t.value.style.chart.layout.grid.xAxis.dataLabels.rotation>0?"start":t.value.style.chart.layout.grid.xAxis.dataLabels.rotation<0?"end":"middle","font-size":t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize,fill:t.value.style.chart.layout.grid.xAxis.dataLabels.color,transform:`translate(${u.value.left+f.value*s+f.value/2}, ${t.value.style.chart.layout.grid.xAxis.dataLabels.offsetY+r.value.absoluteHeight-u.value.bottom+t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize*2}), rotate(${t.value.style.chart.layout.grid.xAxis.dataLabels.rotation})`},e.toDisplayString(t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(s)+Number(i.value.start)]??""),9,We)):e.createCommentVNode("",!0)]))),256))],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",null,[t.value.style.chart.layout.line.show&&s<m.value.length-1&&![l.subtotal,m.value[s+1].subtotal].includes(null)?(e.openBlock(),e.createElementBlock("line",{key:0,class:e.normalizeClass({"donut-opacity":!0,"donut-behind":h.value!==null||k.value}),x1:l.x,y1:l.y,x2:m.value[s+1].x,y2:m.value[s+1].y,stroke:t.value.style.chart.layout.line.stroke,"stroke-width":t.value.style.chart.layout.line.strokeWidth,"stroke-linecap":"round","stroke-linejoin":"round"},null,10,Ue)):e.createCommentVNode("",!0),l.subtotal!==null?(e.openBlock(),e.createElementBlock("g",Xe,[l.subtotal?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:l.x,cy:l.y,r:l.activeRadius,fill:t.value.style.chart.backgroundColor},null,8,qe)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",{class:e.normalizeClass({"donut-opacity":!0,"donut-behind":s!==h.value&&h.value!==null||k.value})},[l.subtotal?(e.openBlock(),e.createElementBlock("g",Ge,[h.value!==null&&h.value===s?(e.openBlock(),e.createElementBlock("g",Ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donutHover,o=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("path",{d:e.unref(n.calcNutArrowPath)(o,{x:o.center.endX,y:o.center.endY},12,12,{x:l.x,y:l.y},!0,20),stroke:o.color,"stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,8,je)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donutHover,(o,v)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("text",{"data-cy-hover-label":"","text-anchor":e.unref(n.calcMarkerOffsetX)(o,!0,0).anchor,x:e.unref(n.calcMarkerOffsetX)(o,!0,3).x,y:e.unref(n.calcMarkerOffsetY)(o),fill:t.value.style.chart.layout.grid.yAxis.dataLabels.color,"font-size":8,"font-weight":"bold"},e.toDisplayString(o.name)+": "+e.toDisplayString(ee(o,l.donut))+" ("+e.toDisplayString(o.value===null?"-":F(o.value,o,v))+") ",9,Ke)]))),256)),e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:l.x,cy:l.y,r:l.hoverRadius,fill:t.value.style.chart.backgroundColor},null,8,Je)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",{class:e.normalizeClass({"donut-opacity":!0,"donut-behind":s!==h.value&&h.value!==null||k.value})},[l.subtotal!==null?(e.openBlock(),e.createElementBlock("g",Qe,[l.subtotal===0?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:l.x,cy:l.y,r:3,fill:t.value.style.chart.color},null,8,Ze)):h.value!==null&&h.value===s?(e.openBlock(),e.createElementBlock("g",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donutHover,(o,v)=>(e.openBlock(),e.createElementBlock("path",{d:o.arcSlice,fill:`${o.color}`,"stroke-width":1,stroke:t.value.style.chart.backgroundColor},null,8,tt))),256))])):(e.openBlock(),e.createElementBlock("g",lt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donut,(o,v)=>(e.openBlock(),e.createElementBlock("path",{d:o.arcSlice,fill:`${o.color}`,"stroke-width":.5,stroke:t.value.style.chart.backgroundColor},null,8,at))),256))]))])):e.createCommentVNode("",!0)],2))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",{class:e.normalizeClass({"donut-opacity":!0,"donut-behind":s!==h.value&&h.value!==null||k.value})},[l.subtotal!==null&&t.value.style.chart.layout.dataLabels.show?(e.openBlock(),e.createElementBlock("text",{key:0,"text-anchor":"middle",x:l.x,y:h.value===l.index&&l.subtotal?l.y+t.value.style.chart.layout.dataLabels.fontSize/3:l.y-l.radius-t.value.style.chart.layout.dataLabels.fontSize+t.value.style.chart.layout.dataLabels.offsetY,"font-size":t.value.style.chart.layout.dataLabels.fontSize,"font-weight":"bold",fill:t.value.style.chart.layout.dataLabels.color},e.toDisplayString(F(l.subtotal,l,s)),9,ot)):e.createCommentVNode("",!0)],2))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("rect",{x:u.value.left+s*f.value,y:r.value.absoluteHeight-u.value.bottom-10,width:f.value,height:10,fill:h.value===l.index?`url(#hover_${_.value})`:"transparent",onClick:o=>T(l,s),class:e.normalizeClass({"donut-hover":h.value===l.index&&l.subtotal})},null,10,ut))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("rect",{"data-cy-trap":"",x:u.value.left+s*f.value,y:u.value.top,width:f.value,height:r.value.height,fill:"transparent",onMouseenter:o=>fe(l),onMouseleave:te,onClick:o=>T(l,s),class:e.normalizeClass({"donut-hover":h.value===l.index&&l.subtotal})},null,42,nt))),256)),k.value?(e.openBlock(),e.createElementBlock("g",rt,[e.createElementVNode("rect",{rx:4,x:u.value.left,y:u.value.top,width:r.value.width,height:r.value.height,fill:t.value.style.chart.backgroundColor,style:{filter:"drop-shadow(0 12px 12px rgba(0,0,0,0.3))"}},null,8,st),e.createElementVNode("line",{"data-html2canvas-ignore":"",x1:r.value.absoluteWidth-u.value.right-15,y1:u.value.top+5,x2:r.value.absoluteWidth-u.value.right-4,y2:u.value.top+15.5,"stroke-linecap":"round",stroke:t.value.style.chart.color,"stroke-width":"1.5"},null,8,ct),e.createElementVNode("line",{"data-html2canvas-ignore":"",x1:r.value.absoluteWidth-u.value.right-15,y2:u.value.top+5,x2:r.value.absoluteWidth-u.value.right-4,y1:u.value.top+15.5,"stroke-linecap":"round",stroke:t.value.style.chart.color,"stroke-width":"1.5"},null,8,it),e.createElementVNode("circle",{"data-cy-close":"",onClick:le,onKeypress:e.withKeys(le,["enter"]),cx:r.value.absoluteWidth-u.value.right-r.value.width/40,cy:u.value.top+r.value.height/30,r:r.value.height/12,fill:"transparent",style:{cursor:"pointer"},tabindex:"0"},null,40,dt),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.donutFocus,l=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("path",{"data-cy-zoom-donut":"",d:e.unref(n.calcNutArrowPath)(l,{x:r.value.centerX,y:r.value.centerY},12,12,!1,!1,15),stroke:l.color,"stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round",fill:"none",class:"vue-ui-donut-evolution-focus"},null,8,vt)]))),256)),e.createElementVNode("circle",{cx:u.value.left+r.value.width/2,cy:u.value.top+r.value.height/2,r:r.value.height/7,fill:t.value.style.chart.backgroundColor},null,8,ht),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.donutFocus,(l,s)=>(e.openBlock(),e.createElementBlock("path",{d:l.arcSlice,fill:`${l.color}`,"stroke-width":1,stroke:t.value.style.chart.backgroundColor,class:"vue-ui-donut-evolution-focus"},null,8,yt))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.donutFocus,(l,s)=>(e.openBlock(),e.createElementBlock("g",mt,[e.createElementVNode("text",{"text-anchor":e.unref(n.calcMarkerOffsetX)(l,!0,20).anchor,x:e.unref(n.calcMarkerOffsetX)(l,!0,10).x,y:e.unref(n.calcMarkerOffsetY)(l),fill:t.value.style.chart.layout.grid.yAxis.dataLabels.color,"font-size":10,"font-weight":"bold"},e.toDisplayString(l.name)+": "+e.toDisplayString(ee(l,b.value.donutFocus))+" ("+e.toDisplayString(l.value===null?"-":F(l.value,l,s))+") ",9,ft)]))),256)),e.createElementVNode("circle",{cx:u.value.left+r.value.width/2,cy:u.value.top+r.value.height/2,r:r.value.height/3.8,fill:`url(#focus_${_.value})`},null,8,gt),e.createElementVNode("circle",{cx:u.value.left+r.value.width/2,cy:u.value.top+r.value.height/2,r:r.value.height/7.7,fill:t.value.style.chart.backgroundColor},null,8,pt),e.createElementVNode("text",{"text-anchor":"middle",x:u.value.left+r.value.width/2,y:u.value.top+r.value.height/2+14/3,"font-size":14,"font-weight":"bold",fill:t.value.style.chart.layout.dataLabels.color,class:"vue-ui-donut-evolution-focus"},e.toDisplayString(F(b.value.subtotal,b.value,null)),9,kt),t.value.style.chart.layout.grid.xAxis.dataLabels.values[b.value.index]?(e.openBlock(),e.createElementBlock("text",{key:0,x:u.value.left+6,y:u.value.top+t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize*2,"font-size":t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize*1.6,fill:t.value.style.chart.layout.dataLabels.color},e.toDisplayString(t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(b.value.index)+Number(i.value.start)]),9,bt)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"svg",{svg:r.value},void 0,!0)],14,Se)):e.createCommentVNode("",!0),a.$slots.watermark?(e.openBlock(),e.createElementBlock("div",xt,[e.renderSlot(a.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(K)||e.unref(J)})),void 0,!0)])):e.createCommentVNode("",!0),z.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ce.default,{key:4,config:{type:"donutEvolution",style:{backgroundColor:t.value.style.chart.backgroundColor,donutEvolution:{axis:{color:"#CCCCCC"},donuts:{color:"#CCCCCC"}}}}},null,8,["config"])),L.value>1&&t.value.style.chart.zoom.show?(e.openBlock(),e.createBlock(_e.Slicer,{key:`slicer_${X.value}`,background:t.value.style.chart.zoom.color,borderColor:t.value.style.chart.backgroundColor,fontSize:t.value.style.chart.zoom.fontSize,useResetSlot:t.value.style.chart.zoom.useResetSlot,labelLeft:t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(i.value.start)]||"",labelRight:t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(i.value.end)-1]||"",textColor:t.value.style.chart.color,inputColor:t.value.style.chart.zoom.color,selectColor:t.value.style.chart.zoom.highlightColor,max:L.value,min:0,valueStart:i.value.start,valueEnd:i.value.end,start:i.value.start,"onUpdate:start":c[0]||(c[0]=l=>i.value.start=l),end:i.value.end,"onUpdate:end":c[1]||(c[1]=l=>i.value.end=l),onReset:H},{"reset-action":e.withCtx(({reset:l})=>[e.renderSlot(a.$slots,"reset-action",e.normalizeProps(e.guardReactiveProps({reset:l})),void 0,!0)]),_:3},8,["background","borderColor","fontSize","useResetSlot","labelLeft","labelRight","textColor","inputColor","selectColor","max","valueStart","valueEnd","start","end"])):e.createCommentVNode("",!0),t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(Be.Legend,{key:`legend_${Y.value}`,legendSet:ae.value,config:ge.value,onClickMarker:c[2]||(c[2]=({legend:l})=>O(l.uid))},{item:e.withCtx(({legend:l,index:s})=>[e.createElementVNode("div",{"data-cy-legend-item":"",onClick:o=>O(l.uid),style:e.normalizeStyle(`opacity:${y.value.includes(l.uid)?.5:1}`)},[e.createTextVNode(e.toDisplayString(l.name)+": "+e.toDisplayString(e.unref(n.applyDataLabel)(t.value.style.chart.layout.dataLabels.formatter,l.value,e.unref(n.dataLabel)({p:t.value.style.chart.layout.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue}),{datapoint:l,seriesIndex:s}))+" ",1),y.value.includes(l.uid)?(e.openBlock(),e.createElementBlock("span",_t," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",Ct," ("+e.toDisplayString(isNaN(l.value/oe.value)?"-":e.unref(n.dataLabel)({v:l.value/oe.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage}))+") ",1))],12,Bt)]),_:1},8,["legendSet","config"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"legend",{legend:ae.value},void 0,!0),z.value?(e.openBlock(),e.createBlock(Ee.default,{key:7,hideDetails:"",config:{open:$.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.openBlock(),e.createBlock(xe.DataTable,{key:`table_${G.value}`,colNames:N.value.colNames,head:N.value.head,body:N.value.body,config:N.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:c[3]||(c[3]=l=>$.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createTextVNode(e.toDisplayString(l.name??l),1)]),td:e.withCtx(({td:l})=>[l.value===null?(e.openBlock(),e.createElementBlock("span",Et,"-")):(e.openBlock(),e.createElementBlock("b",Nt,e.toDisplayString(isNaN(l.value)?"":t.value.style.chart.layout.dataLabels.prefix)+e.toDisplayString(!isNaN(l.value)&&l.value!==null?Number(l.value.toFixed(t.value.table.td.roundingValue)).toLocaleString():l)+e.toDisplayString(isNaN(l.value)?"":t.value.style.chart.layout.dataLabels.suffix),1)),e.createElementVNode("span",null,e.toDisplayString(l.percentage&&!isNaN(l.percentage)?`(${Number(l.percentage.toFixed(t.value.table.td.roundingPercentage)).toLocaleString()}%)`:""),1)]),_:1},8,["colNames","head","body","config","title"]))]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,we))}},St=Ne._export_sfc(wt,[["__scopeId","data-v-ccc93573"]]);exports.default=St;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("./index-B8EMsnjU.cjs"),be=require("./Title-BaR4XyXa.cjs"),se=require("./usePrinter-BmXrEJ99.cjs"),xe=require("./DataTable-cOEA6Z37.cjs"),Be=require("./Legend-XqP6-7Ac.cjs"),Ce=require("./vue-ui-skeleton-Bli7jLZ7.cjs"),_e=require("./Slicer-Bc7OWCcl.cjs"),Ee=require("./vue-ui-accordion-DRI-fN6I.cjs"),ce=require("./useNestedProp-DlCe_zZz.cjs"),Ne=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),we=["id"],Se=["xmlns","viewBox"],Le=["id"],Ve=["stop-color"],ze=["stop-color"],$e=["id"],Fe=["stop-color"],Ae=["stop-color"],De=["stop-color"],Pe={key:0},Te=["x1","x2","y1","y2","stroke","stroke-width"],Oe=["x1","x2","y1","y2","stroke","stroke-width"],Ie={key:0},Me=["x1","x2","y1","y2","stroke","stroke-width"],He=["x1","x2","y1","y2","stroke","stroke-width"],Re=["x","y","font-size","fill","font-weight"],We=["text-anchor","font-size","fill","transform"],Ue=["x1","y1","x2","y2","stroke","stroke-width"],Xe={key:1},qe=["cx","cy","r","fill"],Ge={key:0},Ye={key:0},je=["d","stroke"],Ke=["text-anchor","x","y","fill"],Je=["cx","cy","r","fill"],Qe={key:0},Ze=["cx","cy","fill"],et={key:1},tt=["d","fill","stroke"],lt={key:2},at=["d","fill","stroke"],ot=["x","y","font-size","fill"],ut=["x","y","width","fill","onClick"],nt=["x","y","width","height","onMouseenter","onClick"],rt={key:3,"data-cy-zoom":"",class:"vue-ui-donut-evolution-dialog"},st=["x","y","width","height","fill"],ct=["x1","y1","x2","y2","stroke"],it=["x1","y2","x2","y1","stroke"],dt=["onKeypress","cx","cy","r"],vt=["d","stroke"],ht=["cx","cy","r","fill"],yt=["d","fill","stroke"],mt={class:"vue-ui-donut-evolution-focus"},ft=["text-anchor","x","y","fill"],gt=["cx","cy","r","fill"],pt=["cx","cy","r","fill"],kt=["x","y","fill"],bt=["x","y","font-size","fill"],xt={key:3,class:"vue-data-ui-watermark"},Bt=["onClick"],Ct={key:0},_t={key:1},Et={key:0},Nt={key:1},wt={__name:"vue-ui-donut-evolution",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend"],setup(ie,{expose:de,emit:M}){const p=ie,{vue_ui_donut_evolution:ve}=n.useConfig(),z=e.computed(()=>!!p.dataset&&p.dataset.length),i=e.ref({start:0,end:Math.max(...p.dataset.map(a=>a.values.length))});function H(){i.value={start:0,end:L.value},X.value+=1}e.onMounted(()=>{R()});function R(){n.objectIsEmpty(p.dataset)?n.error({componentName:"VueUiDonutEvolution",type:"dataset"}):p.dataset.length&&p.dataset.forEach((a,c)=>{n.getMissingDatasetAttributes({datasetObject:a,requiredAttributes:["name","values"]}).forEach(l=>{n.error({componentName:"VueUiDonutEvolution",type:"datasetSerieAttribute",property:l,index:c})})})}const _=e.ref(n.createUid()),y=e.ref([]),h=e.ref(null),A=e.ref(null),k=e.ref(!1),b=e.ref(null),W=e.ref(null),U=e.ref(0),X=e.ref(0),q=e.ref(0),G=e.ref(0),Y=e.ref(0),t=e.computed({get:()=>j(),set:a=>a});function j(){const a=ce.useNestedProp({userConfig:p.config,defaultConfig:ve});return a.theme?{...ce.useNestedProp({userConfig:n.themes.vue_ui_donut_evolution[a.theme]||p.config,defaultConfig:a}),customPalette:n.themePalettes[a.theme]||n.palette}:a}e.watch(()=>p.config,a=>{t.value=j(),R(),q.value+=1,G.value+=1,Y.value+=1},{deep:!0}),e.watch(()=>p.dataset,a=>{H()},{deep:!0});const{isPrinting:K,isImaging:J,generatePdf:Q,generateImage:Z}=se.usePrinter({elementId:_.value,fileName:t.value.style.chart.title.text||"vue-ui-donut-evolution"}),he=e.computed(()=>n.convertCustomPalette(t.value.customPalette)),$=e.ref({showTable:t.value.table.show}),u=e.computed(()=>({top:t.value.style.chart.layout.padding.top,right:t.value.style.chart.layout.padding.right,bottom:t.value.style.chart.layout.padding.bottom,left:t.value.style.chart.layout.padding.left})),r=e.computed(()=>{const a=t.value.style.chart.layout.height,c=t.value.style.chart.layout.width,l=a-u.value.top-u.value.bottom,s=c-u.value.left-u.value.right;return{absoluteHeight:a,absoluteWidth:c,centerX:u.value.left+s/2,centerY:u.value.top+l/2,height:l,width:s}}),C=e.computed(()=>(p.dataset.forEach((a,c)=>{[null,void 0].includes(a.name)&&n.error({componentName:"VueUiDonutEvolution",type:"datasetSerieAttribute",property:"name",index:c}),[null,void 0].includes(a.values)&&n.error({componentName:"VueUiDonutEvolution",type:"datasetSerieAttribute",property:"values",index:c})}),p.dataset.map((a,c)=>({...a,values:n.sanitizeArray(a.values),color:n.convertColorToHex(a.color)||he.value[c]||n.palette[c]||n.palette[c%n.palette.length],length:(a.values||[]).length,uid:n.createUid()})))),S=e.computed(()=>C.value.filter(a=>!y.value.includes(a.uid)).map(a=>({...a,values:a.values.filter((c,l)=>l>=i.value.start&&l<=i.value.end)}))),L=e.computed(()=>Math.max(...S.value.map(a=>a.length))),f=e.computed(()=>r.value.width/(i.value.end-i.value.start)),m=e.computed(()=>{const a=[];for(let o=0;o<i.value.end-i.value.start;o+=1){const v=S.value.map(B=>B.values[o]??null),d=v.filter(B=>[void 0,null].includes(B)).length===v.length,x=v.reduce((B,g)=>B+g,0),I=v.map(B=>B/x),w=u.value.left+f.value*o+f.value/2;a.push({index:o,percentages:I,subtotal:d||x<0?null:x,values:v,x:w})}const c=0,l=Math.max(...a.map(o=>o.subtotal)),s=a.length===1?l*2:l;return a.map((o,v)=>{const d=f.value/2*.7,x=d>r.value.width/16?r.value.width/16:d,I=h.value===o.index?r.value.width/16:x,w=a.length>4?d*2:d*2>f.value/2*.7?f.value/2*.7:d*2,B=r.value.absoluteHeight-u.value.bottom-r.value.height*o.subtotal/n.calculateNiceScale(c,s,t.value.style.chart.layout.grid.yAxis.dataLabels.steps).max;return{...o,y:B,radius:x,activeRadius:I,hoverRadius:w,donut:n.makeDonut({series:S.value.map((g,re)=>({color:g.color,name:g.name,value:g.values[v]??0}))},o.x,B,x,x,1.99999,2,1,360,105.25,x/2),donutHover:n.makeDonut({series:S.value.map((g,re)=>({color:g.color,name:g.name,value:g.values[v]??0}))},o.x,B,w,w,1.99999,2,1,360,105.25,w/2),donutFocus:n.makeDonut({series:S.value.map((g,re)=>({color:g.color,name:g.name,value:g.values[v]??0}))},r.value.centerX,r.value.centerY,r.value.height/3.6,r.value.height/3.6,1.99999,2,1,360,105.25,r.value.height/6)}})});function F(a,c,l){return n.applyDataLabel(t.value.style.chart.layout.dataLabels.formatter,a,n.dataLabel({p:t.value.style.chart.layout.dataLabels.prefix,v:a,s:t.value.style.chart.layout.dataLabels.suffix,r:t.value.style.chart.layout.dataLabels.rounding}),{datapoint:c,index:l})}const D=e.computed(()=>({max:Math.max(...m.value.map(a=>a.subtotal)),min:0})),E=e.computed(()=>{const a=m.value.length===1?D.value.max*2:D.value.max;return n.calculateNiceScale(D.value.min,a,t.value.style.chart.layout.grid.yAxis.dataLabels.steps)});function ye(a){return a/E.value.max}const me=e.computed(()=>E.value.ticks.map(a=>({y:r.value.absoluteHeight-u.value.bottom-r.value.height*ye(a),value:a})));function ee(a,c){return isNaN(a.value/n.sumByAttribute(c,"value"))?0:(a.value/n.sumByAttribute(c,"value")*100).toFixed(0)+"%"}function te(){k.value||(h.value=null,A.value=null)}function fe(a){k.value||(h.value=a.index,A.value=a)}const P=e.ref(null);function T(a,c){a.subtotal&&(A.value=null,h.value=null,k.value=!0,b.value=a,[null,void 0].includes(c)||(P.value=c))}function le(){b.value=null,k.value=!1,P.value=null}const ae=e.computed(()=>C.value.map((a,c)=>({name:a.name,value:a.values.slice(i.value.start,i.value.end).reduce((l,s)=>l+s,0),shape:"circle",uid:a.uid,color:a.color})).sort((a,c)=>c.value-a.value).map(a=>({...a,opacity:y.value.includes(a.uid)?.5:1,segregate:()=>O(a.uid),isSegregated:y.value.includes(a.uid)}))),oe=e.computed(()=>m.value.map(a=>a.subtotal).reduce((a,c)=>a+c,0)),ge=e.computed(()=>({cy:"donut-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 O(a){if(y.value.includes(a))y.value=y.value.filter(c=>c!==a),M("selectLegend",null);else{if(y.value.length===C.value.length-1)return;y.value.push(a),M("selectLegend",C.value.find(c=>c.uid===a))}b.value&&T(m.value.find((c,l)=>l===P.value))}const N=e.computed(()=>{const a=[""].concat(C.value.filter(o=>!y.value.includes(o.uid)).map(o=>({name:o.name,color:o.color}))).concat(["Σ"]);let c=[];for(let o=0;o<L.value;o+=1){const v=C.value.filter(d=>!y.value.includes(d.uid)).map(d=>d.values[o]??0).reduce((d,x)=>d+x,0);c.push([t.value.style.chart.layout.grid.xAxis.dataLabels.values[o]??"-"].concat(C.value.filter(d=>!y.value.includes(d.uid)).map(d=>({value:d.values[o]??0,percentage:d.values[o]?d.values[o]/v*100:0}))).concat([`${t.value.style.chart.layout.dataLabels.prefix}${Number(v.toFixed(t.value.table.td.roundingValue))}${t.value.style.chart.layout.dataLabels.suffix}`]))}const 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},s=[t.value.table.columnNames.period].concat(C.value.filter(o=>!y.value.includes(o.uid)).map(o=>o.name)).concat(t.value.table.columnNames.total);return{head:a,body:c,config:l,colNames:s}});function pe(){return C.value}function ue(){e.nextTick(()=>{const a=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[""]],c=[...N.value.head.map(v=>v.name??v)],l=[...N.value.body.map(v=>v.map(d=>d.value??d))],s=a.concat([c]).concat(l),o=n.createCsvContent(s);n.downloadCsv({csvContent:o,title:t.value.style.chart.title.text||"vue-ui-donut-evolution"})})}const V=e.ref(!1);function ke(a){V.value=a,U.value+=1}function ne(){$.value.showTable=!$.value.showTable}return de({getData:pe,generatePdf:Q,generateCsv:ue,generateImage:Z,toggleTable:ne}),(a,c)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"donutEvolutionChart",ref:W,class:e.normalizeClass(`vue-ui-donut-evolution ${V.value?"vue-data-ui-wrapper-fullscreen":""} ${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:"width:100%;background:transparent;padding-bottom:24px",onMouseleave:te},[(e.openBlock(),e.createBlock(be._sfc_main,{key:`title_${q.value}`,config:{title:{cy:"donut-evolution-div-title",...t.value.style.chart.title},subtitle:{cy:"donut-evolution-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))],32)):e.createCommentVNode("",!0),t.value.userOptions.show&&z.value?(e.openBlock(),e.createBlock(se.UserOptions,{ref:"details",key:`user_options_${U.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(K),isImaging:e.unref(J),uid:_.value,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,titles:{...t.value.userOptions.buttonTitles},chartElement:W.value,position:t.value.userOptions.position,onToggleFullscreen:ke,onGeneratePdf:e.unref(Q),onGenerateCsv:ue,onGenerateImage:e.unref(Z),onToggleTable:ne},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.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,a.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTable",{},void 0,!0)]),key:"3"}:void 0,a.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:s})=>[e.renderSlot(a.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:s})),void 0,!0)]),key:"4"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasImg","hasXls","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),z.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 ${r.value.absoluteWidth} ${r.value.absoluteHeight}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`hover_${_.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":e.unref(n.setOpacity)(t.value.style.chart.backgroundColor,t.value.style.chart.layout.highlighter.opacity)},null,8,Ve),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(n.setOpacity)(t.value.style.chart.layout.highlighter.color,t.value.style.chart.layout.highlighter.opacity)},null,8,ze)],8,Le),e.createElementVNode("radialGradient",{id:`focus_${_.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":e.unref(n.setOpacity)(e.unref(n.convertColorToHex)(t.value.style.chart.backgroundColor),0)},null,8,Fe),e.createElementVNode("stop",{offset:"77%","stop-color":e.unref(n.setOpacity)("#FFFFFF",30)},null,8,Ae),e.createElementVNode("stop",{offset:"100%","stop-color":e.unref(n.setOpacity)(e.unref(n.convertColorToHex)(t.value.style.chart.backgroundColor),0)},null,8,De)],8,$e)]),t.value.style.chart.layout.grid.show?(e.openBlock(),e.createElementBlock("g",Pe,[e.createElementVNode("line",{x1:u.value.left,x2:u.value.left,y1:u.value.top,y2:u.value.top+r.value.height,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth,"stroke-linecap":"round"},null,8,Te),e.createElementVNode("line",{x1:u.value.left,x2:r.value.absoluteWidth-u.value.right,y1:r.value.absoluteHeight-u.value.bottom,y2:r.value.absoluteHeight-u.value.bottom,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth,"stroke-linecap":"round"},null,8,Oe),t.value.style.chart.layout.grid.showVerticalLines?(e.openBlock(),e.createElementBlock("g",Ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.end-i.value.start,(l,s)=>(e.openBlock(),e.createElementBlock("line",{x1:u.value.left+(s+1)*f.value,x2:u.value.left+(s+1)*f.value,y1:u.value.top,y2:r.value.absoluteHeight-u.value.bottom,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth,"stroke-linecap":"round"},null,8,Me))),256))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.value.style.chart.layout.grid.yAxis.dataLabels.show?(e.openBlock(),e.createElementBlock("g",{key:1,class:e.normalizeClass({"donut-opacity":!0,"donut-behind":h.value!==null||k.value})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(me.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",null,[l.value>=E.value.min&&l.value<=E.value.max?(e.openBlock(),e.createElementBlock("line",{key:0,x1:u.value.left,x2:u.value.left-5,y1:l.y,y2:l.y,stroke:t.value.style.chart.layout.grid.stroke,"stroke-width":t.value.style.chart.layout.grid.strokeWidth},null,8,He)):e.createCommentVNode("",!0),l.value>=E.value.min&&l.value<=E.value.max?(e.openBlock(),e.createElementBlock("text",{key:1,x:u.value.left-8+t.value.style.chart.layout.grid.yAxis.dataLabels.offsetX,y:l.y+t.value.style.chart.layout.grid.yAxis.dataLabels.fontSize/3,"font-size":t.value.style.chart.layout.grid.yAxis.dataLabels.fontSize,"text-anchor":"end",fill:t.value.style.chart.layout.grid.yAxis.dataLabels.color,"font-weight":t.value.style.chart.layout.grid.yAxis.dataLabels.bold?"bold":"normal"},e.toDisplayString(e.unref(n.canShowValue)(l.value)?e.unref(n.applyDataLabel)(t.value.style.chart.layout.dataLabels.formatter,l.value,e.unref(n.dataLabel)({p:t.value.style.chart.layout.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.dataLabels.suffix,r:t.value.style.chart.layout.grid.yAxis.dataLabels.roundingValue}),{datapoint:l,seriesIndex:s}):""),9,Re)):e.createCommentVNode("",!0)]))),256))],2)):e.createCommentVNode("",!0),t.value.style.chart.layout.grid.xAxis.dataLabels.show?(e.openBlock(),e.createElementBlock("g",{key:2,class:e.normalizeClass({"donut-opacity":!0,"donut-behind":k.value})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.end-i.value.start,(l,s)=>(e.openBlock(),e.createElementBlock("g",null,[t.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast&&(s===0||s===L.value-1)||!t.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast?(e.openBlock(),e.createElementBlock("text",{key:0,"text-anchor":t.value.style.chart.layout.grid.xAxis.dataLabels.rotation>0?"start":t.value.style.chart.layout.grid.xAxis.dataLabels.rotation<0?"end":"middle","font-size":t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize,fill:t.value.style.chart.layout.grid.xAxis.dataLabels.color,transform:`translate(${u.value.left+f.value*s+f.value/2}, ${t.value.style.chart.layout.grid.xAxis.dataLabels.offsetY+r.value.absoluteHeight-u.value.bottom+t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize*2}), rotate(${t.value.style.chart.layout.grid.xAxis.dataLabels.rotation})`},e.toDisplayString(t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(s)+Number(i.value.start)]??""),9,We)):e.createCommentVNode("",!0)]))),256))],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",null,[t.value.style.chart.layout.line.show&&s<m.value.length-1&&![l.subtotal,m.value[s+1].subtotal].includes(null)?(e.openBlock(),e.createElementBlock("line",{key:0,class:e.normalizeClass({"donut-opacity":!0,"donut-behind":h.value!==null||k.value}),x1:l.x,y1:l.y,x2:m.value[s+1].x,y2:m.value[s+1].y,stroke:t.value.style.chart.layout.line.stroke,"stroke-width":t.value.style.chart.layout.line.strokeWidth,"stroke-linecap":"round","stroke-linejoin":"round"},null,10,Ue)):e.createCommentVNode("",!0),l.subtotal!==null?(e.openBlock(),e.createElementBlock("g",Xe,[l.subtotal?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:l.x,cy:l.y,r:l.activeRadius,fill:t.value.style.chart.backgroundColor},null,8,qe)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",{class:e.normalizeClass({"donut-opacity":!0,"donut-behind":s!==h.value&&h.value!==null||k.value})},[l.subtotal?(e.openBlock(),e.createElementBlock("g",Ge,[h.value!==null&&h.value===s?(e.openBlock(),e.createElementBlock("g",Ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donutHover,o=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("path",{d:e.unref(n.calcNutArrowPath)(o,{x:o.center.endX,y:o.center.endY},12,12,{x:l.x,y:l.y},!0,20),stroke:o.color,"stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,8,je)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donutHover,(o,v)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("text",{"data-cy-hover-label":"","text-anchor":e.unref(n.calcMarkerOffsetX)(o,!0,0).anchor,x:e.unref(n.calcMarkerOffsetX)(o,!0,3).x,y:e.unref(n.calcMarkerOffsetY)(o),fill:t.value.style.chart.layout.grid.yAxis.dataLabels.color,"font-size":8,"font-weight":"bold"},e.toDisplayString(o.name)+": "+e.toDisplayString(ee(o,l.donut))+" ("+e.toDisplayString(o.value===null?"-":F(o.value,o,v))+") ",9,Ke)]))),256)),e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:l.x,cy:l.y,r:l.hoverRadius,fill:t.value.style.chart.backgroundColor},null,8,Je)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",{class:e.normalizeClass({"donut-opacity":!0,"donut-behind":s!==h.value&&h.value!==null||k.value})},[l.subtotal!==null?(e.openBlock(),e.createElementBlock("g",Qe,[l.subtotal===0?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:l.x,cy:l.y,r:3,fill:t.value.style.chart.color},null,8,Ze)):h.value!==null&&h.value===s?(e.openBlock(),e.createElementBlock("g",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donutHover,(o,v)=>(e.openBlock(),e.createElementBlock("path",{d:o.arcSlice,fill:`${o.color}`,"stroke-width":1,stroke:t.value.style.chart.backgroundColor},null,8,tt))),256))])):(e.openBlock(),e.createElementBlock("g",lt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.donut,(o,v)=>(e.openBlock(),e.createElementBlock("path",{d:o.arcSlice,fill:`${o.color}`,"stroke-width":.5,stroke:t.value.style.chart.backgroundColor},null,8,at))),256))]))])):e.createCommentVNode("",!0)],2))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("g",{class:e.normalizeClass({"donut-opacity":!0,"donut-behind":s!==h.value&&h.value!==null||k.value})},[l.subtotal!==null&&t.value.style.chart.layout.dataLabels.show?(e.openBlock(),e.createElementBlock("text",{key:0,"text-anchor":"middle",x:l.x,y:h.value===l.index&&l.subtotal?l.y+t.value.style.chart.layout.dataLabels.fontSize/3:l.y-l.radius-t.value.style.chart.layout.dataLabels.fontSize+t.value.style.chart.layout.dataLabels.offsetY,"font-size":t.value.style.chart.layout.dataLabels.fontSize,"font-weight":"bold",fill:t.value.style.chart.layout.dataLabels.color},e.toDisplayString(F(l.subtotal,l,s)),9,ot)):e.createCommentVNode("",!0)],2))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("rect",{x:u.value.left+s*f.value,y:r.value.absoluteHeight-u.value.bottom-10,width:f.value,height:10,fill:h.value===l.index?`url(#hover_${_.value})`:"transparent",onClick:o=>T(l,s),class:e.normalizeClass({"donut-hover":h.value===l.index&&l.subtotal})},null,10,ut))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,s)=>(e.openBlock(),e.createElementBlock("rect",{"data-cy-trap":"",x:u.value.left+s*f.value,y:u.value.top,width:f.value,height:r.value.height,fill:"transparent",onMouseenter:o=>fe(l),onMouseleave:te,onClick:o=>T(l,s),class:e.normalizeClass({"donut-hover":h.value===l.index&&l.subtotal})},null,42,nt))),256)),k.value?(e.openBlock(),e.createElementBlock("g",rt,[e.createElementVNode("rect",{rx:4,x:u.value.left,y:u.value.top,width:r.value.width,height:r.value.height,fill:t.value.style.chart.backgroundColor,style:{filter:"drop-shadow(0 12px 12px rgba(0,0,0,0.3))"}},null,8,st),e.createElementVNode("line",{"data-html2canvas-ignore":"",x1:r.value.absoluteWidth-u.value.right-15,y1:u.value.top+5,x2:r.value.absoluteWidth-u.value.right-4,y2:u.value.top+15.5,"stroke-linecap":"round",stroke:t.value.style.chart.color,"stroke-width":"1.5"},null,8,ct),e.createElementVNode("line",{"data-html2canvas-ignore":"",x1:r.value.absoluteWidth-u.value.right-15,y2:u.value.top+5,x2:r.value.absoluteWidth-u.value.right-4,y1:u.value.top+15.5,"stroke-linecap":"round",stroke:t.value.style.chart.color,"stroke-width":"1.5"},null,8,it),e.createElementVNode("circle",{"data-cy-close":"",onClick:le,onKeypress:e.withKeys(le,["enter"]),cx:r.value.absoluteWidth-u.value.right-r.value.width/40,cy:u.value.top+r.value.height/30,r:r.value.height/12,fill:"transparent",style:{cursor:"pointer"},tabindex:"0"},null,40,dt),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.donutFocus,l=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("path",{"data-cy-zoom-donut":"",d:e.unref(n.calcNutArrowPath)(l,{x:r.value.centerX,y:r.value.centerY},12,12,!1,!1,15),stroke:l.color,"stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round",fill:"none",class:"vue-ui-donut-evolution-focus"},null,8,vt)]))),256)),e.createElementVNode("circle",{cx:u.value.left+r.value.width/2,cy:u.value.top+r.value.height/2,r:r.value.height/7,fill:t.value.style.chart.backgroundColor},null,8,ht),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.donutFocus,(l,s)=>(e.openBlock(),e.createElementBlock("path",{d:l.arcSlice,fill:`${l.color}`,"stroke-width":1,stroke:t.value.style.chart.backgroundColor,class:"vue-ui-donut-evolution-focus"},null,8,yt))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.donutFocus,(l,s)=>(e.openBlock(),e.createElementBlock("g",mt,[e.createElementVNode("text",{"text-anchor":e.unref(n.calcMarkerOffsetX)(l,!0,20).anchor,x:e.unref(n.calcMarkerOffsetX)(l,!0,10).x,y:e.unref(n.calcMarkerOffsetY)(l),fill:t.value.style.chart.layout.grid.yAxis.dataLabels.color,"font-size":10,"font-weight":"bold"},e.toDisplayString(l.name)+": "+e.toDisplayString(ee(l,b.value.donutFocus))+" ("+e.toDisplayString(l.value===null?"-":F(l.value,l,s))+") ",9,ft)]))),256)),e.createElementVNode("circle",{cx:u.value.left+r.value.width/2,cy:u.value.top+r.value.height/2,r:r.value.height/3.8,fill:`url(#focus_${_.value})`},null,8,gt),e.createElementVNode("circle",{cx:u.value.left+r.value.width/2,cy:u.value.top+r.value.height/2,r:r.value.height/7.7,fill:t.value.style.chart.backgroundColor},null,8,pt),e.createElementVNode("text",{"text-anchor":"middle",x:u.value.left+r.value.width/2,y:u.value.top+r.value.height/2+14/3,"font-size":14,"font-weight":"bold",fill:t.value.style.chart.layout.dataLabels.color,class:"vue-ui-donut-evolution-focus"},e.toDisplayString(F(b.value.subtotal,b.value,null)),9,kt),t.value.style.chart.layout.grid.xAxis.dataLabels.values[b.value.index]?(e.openBlock(),e.createElementBlock("text",{key:0,x:u.value.left+6,y:u.value.top+t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize*2,"font-size":t.value.style.chart.layout.grid.xAxis.dataLabels.fontSize*1.6,fill:t.value.style.chart.layout.dataLabels.color},e.toDisplayString(t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(b.value.index)+Number(i.value.start)]),9,bt)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"svg",{svg:r.value},void 0,!0)],14,Se)):e.createCommentVNode("",!0),a.$slots.watermark?(e.openBlock(),e.createElementBlock("div",xt,[e.renderSlot(a.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(K)||e.unref(J)})),void 0,!0)])):e.createCommentVNode("",!0),z.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ce.default,{key:4,config:{type:"donutEvolution",style:{backgroundColor:t.value.style.chart.backgroundColor,donutEvolution:{axis:{color:"#CCCCCC"},donuts:{color:"#CCCCCC"}}}}},null,8,["config"])),L.value>1&&t.value.style.chart.zoom.show?(e.openBlock(),e.createBlock(_e.Slicer,{key:`slicer_${X.value}`,background:t.value.style.chart.zoom.color,borderColor:t.value.style.chart.backgroundColor,fontSize:t.value.style.chart.zoom.fontSize,useResetSlot:t.value.style.chart.zoom.useResetSlot,labelLeft:t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(i.value.start)]||"",labelRight:t.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(i.value.end)-1]||"",textColor:t.value.style.chart.color,inputColor:t.value.style.chart.zoom.color,selectColor:t.value.style.chart.zoom.highlightColor,max:L.value,min:0,valueStart:i.value.start,valueEnd:i.value.end,start:i.value.start,"onUpdate:start":c[0]||(c[0]=l=>i.value.start=l),end:i.value.end,"onUpdate:end":c[1]||(c[1]=l=>i.value.end=l),onReset:H},{"reset-action":e.withCtx(({reset:l})=>[e.renderSlot(a.$slots,"reset-action",e.normalizeProps(e.guardReactiveProps({reset:l})),void 0,!0)]),_:3},8,["background","borderColor","fontSize","useResetSlot","labelLeft","labelRight","textColor","inputColor","selectColor","max","valueStart","valueEnd","start","end"])):e.createCommentVNode("",!0),t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(Be.Legend,{key:`legend_${Y.value}`,legendSet:ae.value,config:ge.value,onClickMarker:c[2]||(c[2]=({legend:l})=>O(l.uid))},{item:e.withCtx(({legend:l,index:s})=>[e.createElementVNode("div",{"data-cy-legend-item":"",onClick:o=>O(l.uid),style:e.normalizeStyle(`opacity:${y.value.includes(l.uid)?.5:1}`)},[e.createTextVNode(e.toDisplayString(l.name)+": "+e.toDisplayString(e.unref(n.applyDataLabel)(t.value.style.chart.layout.dataLabels.formatter,l.value,e.unref(n.dataLabel)({p:t.value.style.chart.layout.dataLabels.prefix,v:l.value,s:t.value.style.chart.layout.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue}),{datapoint:l,seriesIndex:s}))+" ",1),y.value.includes(l.uid)?(e.openBlock(),e.createElementBlock("span",_t," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",Ct," ("+e.toDisplayString(isNaN(l.value/oe.value)?"-":e.unref(n.dataLabel)({v:l.value/oe.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage}))+") ",1))],12,Bt)]),_:1},8,["legendSet","config"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"legend",{legend:ae.value},void 0,!0),z.value?(e.openBlock(),e.createBlock(Ee.default,{key:7,hideDetails:"",config:{open:$.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.openBlock(),e.createBlock(xe.DataTable,{key:`table_${G.value}`,colNames:N.value.colNames,head:N.value.head,body:N.value.body,config:N.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:c[3]||(c[3]=l=>$.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createTextVNode(e.toDisplayString(l.name??l),1)]),td:e.withCtx(({td:l})=>[l.value===null?(e.openBlock(),e.createElementBlock("span",Et,"-")):(e.openBlock(),e.createElementBlock("b",Nt,e.toDisplayString(isNaN(l.value)?"":t.value.style.chart.layout.dataLabels.prefix)+e.toDisplayString(!isNaN(l.value)&&l.value!==null?Number(l.value.toFixed(t.value.table.td.roundingValue)).toLocaleString():l)+e.toDisplayString(isNaN(l.value)?"":t.value.style.chart.layout.dataLabels.suffix),1)),e.createElementVNode("span",null,e.toDisplayString(l.percentage&&!isNaN(l.percentage)?`(${Number(l.percentage.toFixed(t.value.table.td.roundingPercentage)).toLocaleString()}%)`:""),1)]),_:1},8,["colNames","head","body","config","title"]))]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,we))}},St=Ne._export_sfc(wt,[["__scopeId","data-v-ccc93573"]]);exports.default=St;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./index-BzFQHG8B.cjs"),R=require("./useResponsive-B3TrDDIG.cjs"),le=require("./Title-BOtOowG-.cjs"),W=require("./usePrinter-BY2kEF_E.cjs"),ae=require("./DataTable-DEvCstuA.cjs"),oe=require("./vue-ui-skeleton-B_ed6BaF.cjs"),re=require("./Legend-D9oHmbQR.cjs"),se=require("./vue-ui-accordion-D9rDPTxC.cjs"),U=require("./useNestedProp-BU19Uk2G.cjs"),ne=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ue=["id"],ce=["xmlns","viewBox"],ie={key:0},de=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],ve={key:1},he=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],ye=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],me={key:2},fe=["x","y","font-size","fill","font-weight"],be=["x","y","font-size","fill"],ge={key:3},pe=["x","y","font-size","fill","font-weight"],ke=["id"],_e=["stop-color"],xe=["stop-color"],Ce=["stop-color"],we=["id"],Be=["stop-color"],Ne=["stop-color"],Ee=["stop-color"],Le=["id"],$e=["stop-color"],Se=["stop-color"],Ve=["id"],ze=["stop-color"],Xe=["stop-color"],Ae={key:0},Pe=["d","fill"],Te={key:1},De=["x","y","height","width","fill"],Fe=["cx","cy","r","fill","stroke","stroke-width"],Me=["cx","cy","r","fill","stroke","stroke-width"],Ge={key:2},Ie=["x","y","fill","font-size"],Oe={key:3},He=["x","y","fill","font-size"],qe={key:3,class:"vue-data-ui-watermark"},Re=["xmlns","height","width"],We=["fill"],Ue=["innerHTML"],je={__name:"vue-ui-dumbbell",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectDatapoint"],setup(j,{expose:Y,emit:Ze}){const y=j,{vue_ui_dumbbell:Z}=s.useConfig(),b=e.computed({get(){return!!y.dataset&&y.dataset.length},set(a){return a}}),d=e.ref(s.createUid()),L=e.ref(0),k=e.ref(null),$=e.ref(null),S=e.ref(null),V=e.ref(0),z=e.ref(0),X=e.ref(0),t=e.computed({get:()=>A(),set:a=>a});function A(){const a=U.useNestedProp({userConfig:y.config,defaultConfig:Z});return a.theme?{...U.useNestedProp({userConfig:s.themes.vue_ui_dumbbell[a.theme]||y.config,defaultConfig:a})}:a}e.watch(()=>y.config,a=>{t.value=A(),P(),V.value+=1,z.value+=1,X.value+=1,i.value=t.value.style.chart.rowHeight,g.value=t.value.style.chart.width},{deep:!0}),e.watch(()=>y.dataset,a=>{I()},{deep:!0});const _=e.ref(null);e.onMounted(()=>{P()});function P(){if(s.objectIsEmpty(y.dataset)?s.error({componentName:"VueUiDumbbell",type:"dataset"}):y.dataset.forEach((a,n)=>{s.getMissingDatasetAttributes({datasetObject:a,requiredAttributes:["name","start","end"]}).forEach(l=>{b.value=!1,s.error({componentName:"VueUiDumbbell",type:"datasetSerieAttribute",property:l,index:n})})}),t.value.responsive){const a=R.throttle(()=>{const{width:n,height:l}=R.useResponsive({chart:k.value,title:t.value.style.chart.title.text?$.value:null,legend:t.value.style.chart.legend.show?S.value:null});g.value=n,i.value=l/y.dataset.length,v.value=C()});_.value=new ResizeObserver(a),_.value.observe(k.value.parentNode)}}e.onBeforeUnmount(()=>{_.value&&_.value.disconnect()});const{isPrinting:T,isImaging:D,generatePdf:F,generateImage:M}=W.usePrinter({elementId:`dumbbell_${d.value}`,fileName:t.value.style.chart.title.text||"vue-ui-dumbbell"}),x=e.ref({showTable:t.value.table.show}),m=e.computed(()=>y.dataset.map((a,n)=>({...a,start:s.checkNaN(a.start),end:s.checkNaN(a.end),id:s.createUid()}))),N=e.computed(()=>({max:Math.max(...m.value.flatMap(a=>[a.start,a.end])),min:Math.min(...m.value.flatMap(a=>[a.start,a.end]))})),c=e.computed(()=>s.calculateNiceScale(N.value.min<0?N.value.min:0,N.value.max,t.value.style.chart.grid.scaleSteps)),i=e.ref(t.value.style.chart.rowHeight),g=e.ref(t.value.style.chart.width),o=e.computed(()=>{const a=i.value,n=t.value.style.chart.padding.left+t.value.style.chart.padding.right+g.value,l=t.value.style.chart.padding.top+t.value.style.chart.padding.bottom+a*y.dataset.length,r=c.value.ticks.length*(g.value/c.value.ticks.length);return{left:t.value.style.chart.padding.left,right:n-t.value.style.chart.padding.right,top:t.value.style.chart.padding.top,bottom:l-t.value.style.chart.padding.bottom,width:g.value,height:a*y.dataset.length,rowHeight:a,absoluteHeight:l,absoluteWidth:n,widthPlotReference:r}});function C(){return m.value.map((a,n)=>{const l=o.value.left+(a.start+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,r=o.value.left+(a.end+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,u=l+(r-l)/2;return{...a,startX:l,endX:r,centerX:u,y:o.value.top+n*i.value+i.value/2,endVal:a.start}})}const v=e.ref([]),G=e.ref(null),J=e.computed(()=>m.value.map(a=>a.end).reduce((a,n)=>a+n,0));e.onMounted(()=>{I()});function I(){v.value=C();let a=v.value.map(l=>l.start).reduce((l,r)=>l+r,0);function n(){const l=m.value.map(r=>r.end-r.start);a>=J.value?(cancelAnimationFrame(G.value),v.value=C()):(v.value=v.value.map((r,u)=>{r.endVal+=l[u]*(t.value.animationSpeed/100);const h=o.value.left+(r.start+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,B=o.value.left+(r.endVal+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,E=h+(B-h)/2;return{...r,startX:h,endX:B,centerX:E,y:o.value.top+u*i.value+i.value/2,endVal:r.endVal}}),a=v.value.map(r=>r.endVal).reduce((r,u)=>r+u,0),G.value=requestAnimationFrame(n))}t.value.useAnimation?n():v.value=C()}const O=e.computed(()=>[{name:t.value.style.chart.legend.labelStart,color:t.value.style.chart.plots.gradient.show?`url(#start_grad_${d.value})`:t.value.style.chart.plots.startColor},{name:t.value.style.chart.legend.labelEnd,color:t.value.style.chart.plots.gradient.show?`url(#end_grad_${d.value})`:t.value.style.chart.plots.endColor}]),K=e.computed(()=>({cy:"donut-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,paddingTop:12,fontWeight:t.value.style.chart.legend.bold?"bold":""})),f=e.computed(()=>{const a=v.value.map(l=>({name:l.name})),n=v.value.map(l=>({start:l.start,end:l.end}));return{head:a,body:n}}),w=e.computed(()=>{const a=[t.value.table.columnNames.series,t.value.table.columnNames.start,t.value.table.columnNames.end,t.value.table.columnNames.progression],n=f.value.head.map((u,h)=>{const B=s.dataLabel({p:t.value.style.chart.labels.prefix,v:f.value.body[h].start,s:t.value.style.chart.labels.suffix,r:t.value.table.td.roundingValue}),E=s.dataLabel({p:t.value.style.chart.labels.prefix,v:f.value.body[h].end,s:t.value.style.chart.labels.suffix,r:t.value.table.td.roundingValue}),te=s.dataLabel({v:100*(f.value.body[h].end/f.value.body[h].start-1),s:"%",r:t.value.table.td.roundingPercentage});return[{name:u.name},B,E,te]}),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.start,t.value.table.columnNames.end,t.value.table.columnNames.progression],head:a,body:n,config:l}});function H(){e.nextTick(()=>{const a=f.value.head.map((r,u)=>[[r.name],[f.value.body[u].start],[f.value.body[u].end]]),n=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[t.value.table.columnNames.series],[t.value.table.columnNames.start],[t.value.table.columnNames.end]]].concat(a),l=s.createCsvContent(n);s.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-dumbbell"})})}const p=e.ref(!1);function Q(a){p.value=a,L.value+=1}function ee(){return v.value}function q(){x.value.showTable=!x.value.showTable}return Y({getData:ee,generatePdf:F,generateCsv:H,generateImage:M,toggleTable:q}),(a,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dumbbellChart",ref:k,class:e.normalizeClass(`vue-ui-dumbbell ${p.value?"vue-data-ui-wrapper-fullscreen":""}`),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%":""}`),id:`dumbbell_${d.value}`},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:$,style:"width:100%;background:transparent;padding-bottom:24px"},[(e.openBlock(),e.createBlock(le._sfc_main,{key:`title_${V.value}`,config:{title:{cy:"donut-div-title",...t.value.style.chart.title},subtitle:{cy:"donut-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))],512)):e.createCommentVNode("",!0),t.value.userOptions.show&&b.value?(e.openBlock(),e.createBlock(W.UserOptions,{ref:"details",key:`user_option_${L.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(T),isImaging:e.unref(D),uid:d.value,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:p.value,titles:{...t.value.userOptions.buttonTitles},chartElement:k.value,position:t.value.userOptions.position,onToggleFullscreen:Q,onGeneratePdf:e.unref(F),onGenerateCsv:H,onGenerateImage:e.unref(M),onToggleTable:q},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.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,a.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTable",{},void 0,!0)]),key:"3"}: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:"4"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(s.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":p.value,"vue-data-ui-fulscreen--off":!p.value}),viewBox:`0 0 ${o.value.absoluteWidth<=0?10:o.value.absoluteWidth} ${o.value.absoluteHeight<=0?10:o.value.absoluteHeight}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[t.value.style.chart.grid.verticalGrid.show?(e.openBlock(),e.createElementBlock("g",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value.ticks,(l,r)=>(e.openBlock(),e.createElementBlock("line",{x1:o.value.left+r*o.value.width/(c.value.ticks.length-1),x2:o.value.left+r*o.value.width/(c.value.ticks.length-1),y1:o.value.top,y2:o.value.bottom,stroke:t.value.style.chart.grid.verticalGrid.stroke,"stroke-width":t.value.style.chart.grid.verticalGrid.strokeWidth,"stroke-dasharray":t.value.style.chart.grid.verticalGrid.strokeDasharray},null,8,de))),256))])):e.createCommentVNode("",!0),t.value.style.chart.grid.horizontalGrid.show?(e.openBlock(),e.createElementBlock("g",ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,r)=>(e.openBlock(),e.createElementBlock("line",{x1:o.value.left,x2:o.value.right,y1:o.value.top+r*i.value,y2:o.value.top+r*i.value,stroke:t.value.style.chart.grid.horizontalGrid.stroke,"stroke-width":t.value.style.chart.grid.horizontalGrid.strokeWidth,"stroke-dasharray":t.value.style.chart.grid.horizontalGrid.strokeDasharray},null,8,he))),256)),e.createElementVNode("line",{x1:o.value.left,x2:o.value.right,y1:o.value.bottom,y2:o.value.bottom,stroke:t.value.style.chart.grid.horizontalGrid.stroke,"stroke-width":t.value.style.chart.grid.horizontalGrid.strokeWidth,"stroke-dasharray":t.value.style.chart.grid.horizontalGrid.strokeDasharray},null,8,ye)])):e.createCommentVNode("",!0),t.value.style.chart.labels.yAxisLabels.show?(e.openBlock(),e.createElementBlock("g",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.value.left-6+t.value.style.chart.labels.yAxisLabels.offsetX,y:o.value.top+r*i.value+(t.value.style.chart.labels.yAxisLabels.showProgression?i.value/3:i.value/2)+t.value.style.chart.labels.yAxisLabels.fontSize/3,"font-size":t.value.style.chart.labels.yAxisLabels.fontSize,fill:t.value.style.chart.labels.yAxisLabels.color,"font-weight":t.value.style.chart.labels.yAxisLabels.bold?"bold":"normal","text-anchor":"end"},e.toDisplayString(l.name),9,fe))),256)),t.value.style.chart.labels.yAxisLabels.showProgression?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.value,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.value.left-6+t.value.style.chart.labels.yAxisLabels.offsetX,y:o.value.top+r*i.value+i.value/1.3+t.value.style.chart.labels.yAxisLabels.fontSize/3,"font-size":t.value.style.chart.labels.yAxisLabels.fontSize,fill:t.value.style.chart.labels.yAxisLabels.color,"text-anchor":"end"},e.toDisplayString(e.unref(s.dataLabel)({v:100*(l.end/l.start-1),s:"%",r:t.value.style.chart.labels.yAxisLabels.rounding})),9,be))),256)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.value.style.chart.labels.xAxisLabels.show?(e.openBlock(),e.createElementBlock("g",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value.ticks,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.value.left+r*(o.value.width/(c.value.ticks.length-1)),y:o.value.bottom+t.value.style.chart.labels.xAxisLabels.fontSize+t.value.style.chart.labels.xAxisLabels.offsetY,"font-size":t.value.style.chart.labels.xAxisLabels.fontSize,fill:t.value.style.chart.labels.xAxisLabels.color,"font-weight":t.value.style.chart.labels.xAxisLabels.bold?"bold":"normal","text-anchor":"middle"},e.toDisplayString(e.unref(s.applyDataLabel)(t.value.style.chart.labels.formatter,l,e.unref(s.dataLabel)({p:t.value.style.chart.labels.prefix,v:l,s:t.value.style.chart.labels.suffix,r:t.value.style.chart.labels.xAxisLabels.rounding}),{datapoint:l,seriesIndex:r})),9,pe))),256))])):e.createCommentVNode("",!0),e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`start_grad_${d.value}`,fy:"30%"},[e.createElementVNode("stop",{offset:"10%","stop-color":e.unref(s.lightenHexColor)(t.value.style.chart.plots.startColor,t.value.style.chart.plots.gradient.intensity/100)},null,8,_e),e.createElementVNode("stop",{offset:"90%","stop-color":e.unref(s.darkenHexColor)(t.value.style.chart.plots.startColor,.1)},null,8,xe),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.startColor},null,8,Ce)],8,ke),e.createElementVNode("radialGradient",{id:`end_grad_${d.value}`,fy:"30%"},[e.createElementVNode("stop",{offset:"10%","stop-color":e.unref(s.lightenHexColor)(t.value.style.chart.plots.endColor,t.value.style.chart.plots.gradient.intensity/100)},null,8,Be),e.createElementVNode("stop",{offset:"90%","stop-color":e.unref(s.darkenHexColor)(t.value.style.chart.plots.endColor,.1)},null,8,Ne),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.endColor},null,8,Ee)],8,we)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(l,r)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`grad_positive_${d.value}`,x1:"0%",x2:"100%",y1:"0%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":t.value.style.chart.plots.startColor},null,8,$e),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.endColor},null,8,Se)],8,Le),e.createElementVNode("linearGradient",{id:`grad_negative_${d.value}`,x1:"0%",x2:"100%",y1:"0%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":t.value.style.chart.plots.endColor},null,8,ze),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.startColor},null,8,Xe)],8,Ve)]),t.value.style.chart.plots.link.type==="curved"?(e.openBlock(),e.createElementBlock("g",Ae,[e.createElementVNode("path",{d:`M
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./index-B8EMsnjU.cjs"),R=require("./useResponsive-B3TrDDIG.cjs"),le=require("./Title-BaR4XyXa.cjs"),W=require("./usePrinter-BmXrEJ99.cjs"),ae=require("./DataTable-cOEA6Z37.cjs"),oe=require("./vue-ui-skeleton-Bli7jLZ7.cjs"),re=require("./Legend-XqP6-7Ac.cjs"),se=require("./vue-ui-accordion-DRI-fN6I.cjs"),U=require("./useNestedProp-DlCe_zZz.cjs"),ne=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ue=["id"],ce=["xmlns","viewBox"],ie={key:0},de=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],ve={key:1},he=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],ye=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],me={key:2},fe=["x","y","font-size","fill","font-weight"],be=["x","y","font-size","fill"],ge={key:3},pe=["x","y","font-size","fill","font-weight"],ke=["id"],_e=["stop-color"],xe=["stop-color"],Ce=["stop-color"],we=["id"],Be=["stop-color"],Ne=["stop-color"],Ee=["stop-color"],Le=["id"],$e=["stop-color"],Se=["stop-color"],Ve=["id"],ze=["stop-color"],Xe=["stop-color"],Ae={key:0},Pe=["d","fill"],Te={key:1},De=["x","y","height","width","fill"],Fe=["cx","cy","r","fill","stroke","stroke-width"],Me=["cx","cy","r","fill","stroke","stroke-width"],Ge={key:2},Ie=["x","y","fill","font-size"],Oe={key:3},He=["x","y","fill","font-size"],qe={key:3,class:"vue-data-ui-watermark"},Re=["xmlns","height","width"],We=["fill"],Ue=["innerHTML"],je={__name:"vue-ui-dumbbell",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectDatapoint"],setup(j,{expose:Y,emit:Ze}){const y=j,{vue_ui_dumbbell:Z}=s.useConfig(),b=e.computed({get(){return!!y.dataset&&y.dataset.length},set(a){return a}}),d=e.ref(s.createUid()),L=e.ref(0),k=e.ref(null),$=e.ref(null),S=e.ref(null),V=e.ref(0),z=e.ref(0),X=e.ref(0),t=e.computed({get:()=>A(),set:a=>a});function A(){const a=U.useNestedProp({userConfig:y.config,defaultConfig:Z});return a.theme?{...U.useNestedProp({userConfig:s.themes.vue_ui_dumbbell[a.theme]||y.config,defaultConfig:a})}:a}e.watch(()=>y.config,a=>{t.value=A(),P(),V.value+=1,z.value+=1,X.value+=1,i.value=t.value.style.chart.rowHeight,g.value=t.value.style.chart.width},{deep:!0}),e.watch(()=>y.dataset,a=>{I()},{deep:!0});const _=e.ref(null);e.onMounted(()=>{P()});function P(){if(s.objectIsEmpty(y.dataset)?s.error({componentName:"VueUiDumbbell",type:"dataset"}):y.dataset.forEach((a,n)=>{s.getMissingDatasetAttributes({datasetObject:a,requiredAttributes:["name","start","end"]}).forEach(l=>{b.value=!1,s.error({componentName:"VueUiDumbbell",type:"datasetSerieAttribute",property:l,index:n})})}),t.value.responsive){const a=R.throttle(()=>{const{width:n,height:l}=R.useResponsive({chart:k.value,title:t.value.style.chart.title.text?$.value:null,legend:t.value.style.chart.legend.show?S.value:null});g.value=n,i.value=l/y.dataset.length,v.value=C()});_.value=new ResizeObserver(a),_.value.observe(k.value.parentNode)}}e.onBeforeUnmount(()=>{_.value&&_.value.disconnect()});const{isPrinting:T,isImaging:D,generatePdf:F,generateImage:M}=W.usePrinter({elementId:`dumbbell_${d.value}`,fileName:t.value.style.chart.title.text||"vue-ui-dumbbell"}),x=e.ref({showTable:t.value.table.show}),m=e.computed(()=>y.dataset.map((a,n)=>({...a,start:s.checkNaN(a.start),end:s.checkNaN(a.end),id:s.createUid()}))),N=e.computed(()=>({max:Math.max(...m.value.flatMap(a=>[a.start,a.end])),min:Math.min(...m.value.flatMap(a=>[a.start,a.end]))})),c=e.computed(()=>s.calculateNiceScale(N.value.min<0?N.value.min:0,N.value.max,t.value.style.chart.grid.scaleSteps)),i=e.ref(t.value.style.chart.rowHeight),g=e.ref(t.value.style.chart.width),o=e.computed(()=>{const a=i.value,n=t.value.style.chart.padding.left+t.value.style.chart.padding.right+g.value,l=t.value.style.chart.padding.top+t.value.style.chart.padding.bottom+a*y.dataset.length,r=c.value.ticks.length*(g.value/c.value.ticks.length);return{left:t.value.style.chart.padding.left,right:n-t.value.style.chart.padding.right,top:t.value.style.chart.padding.top,bottom:l-t.value.style.chart.padding.bottom,width:g.value,height:a*y.dataset.length,rowHeight:a,absoluteHeight:l,absoluteWidth:n,widthPlotReference:r}});function C(){return m.value.map((a,n)=>{const l=o.value.left+(a.start+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,r=o.value.left+(a.end+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,u=l+(r-l)/2;return{...a,startX:l,endX:r,centerX:u,y:o.value.top+n*i.value+i.value/2,endVal:a.start}})}const v=e.ref([]),G=e.ref(null),J=e.computed(()=>m.value.map(a=>a.end).reduce((a,n)=>a+n,0));e.onMounted(()=>{I()});function I(){v.value=C();let a=v.value.map(l=>l.start).reduce((l,r)=>l+r,0);function n(){const l=m.value.map(r=>r.end-r.start);a>=J.value?(cancelAnimationFrame(G.value),v.value=C()):(v.value=v.value.map((r,u)=>{r.endVal+=l[u]*(t.value.animationSpeed/100);const h=o.value.left+(r.start+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,B=o.value.left+(r.endVal+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*o.value.widthPlotReference,E=h+(B-h)/2;return{...r,startX:h,endX:B,centerX:E,y:o.value.top+u*i.value+i.value/2,endVal:r.endVal}}),a=v.value.map(r=>r.endVal).reduce((r,u)=>r+u,0),G.value=requestAnimationFrame(n))}t.value.useAnimation?n():v.value=C()}const O=e.computed(()=>[{name:t.value.style.chart.legend.labelStart,color:t.value.style.chart.plots.gradient.show?`url(#start_grad_${d.value})`:t.value.style.chart.plots.startColor},{name:t.value.style.chart.legend.labelEnd,color:t.value.style.chart.plots.gradient.show?`url(#end_grad_${d.value})`:t.value.style.chart.plots.endColor}]),K=e.computed(()=>({cy:"donut-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,paddingTop:12,fontWeight:t.value.style.chart.legend.bold?"bold":""})),f=e.computed(()=>{const a=v.value.map(l=>({name:l.name})),n=v.value.map(l=>({start:l.start,end:l.end}));return{head:a,body:n}}),w=e.computed(()=>{const a=[t.value.table.columnNames.series,t.value.table.columnNames.start,t.value.table.columnNames.end,t.value.table.columnNames.progression],n=f.value.head.map((u,h)=>{const B=s.dataLabel({p:t.value.style.chart.labels.prefix,v:f.value.body[h].start,s:t.value.style.chart.labels.suffix,r:t.value.table.td.roundingValue}),E=s.dataLabel({p:t.value.style.chart.labels.prefix,v:f.value.body[h].end,s:t.value.style.chart.labels.suffix,r:t.value.table.td.roundingValue}),te=s.dataLabel({v:100*(f.value.body[h].end/f.value.body[h].start-1),s:"%",r:t.value.table.td.roundingPercentage});return[{name:u.name},B,E,te]}),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.start,t.value.table.columnNames.end,t.value.table.columnNames.progression],head:a,body:n,config:l}});function H(){e.nextTick(()=>{const a=f.value.head.map((r,u)=>[[r.name],[f.value.body[u].start],[f.value.body[u].end]]),n=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[t.value.table.columnNames.series],[t.value.table.columnNames.start],[t.value.table.columnNames.end]]].concat(a),l=s.createCsvContent(n);s.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-dumbbell"})})}const p=e.ref(!1);function Q(a){p.value=a,L.value+=1}function ee(){return v.value}function q(){x.value.showTable=!x.value.showTable}return Y({getData:ee,generatePdf:F,generateCsv:H,generateImage:M,toggleTable:q}),(a,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dumbbellChart",ref:k,class:e.normalizeClass(`vue-ui-dumbbell ${p.value?"vue-data-ui-wrapper-fullscreen":""}`),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%":""}`),id:`dumbbell_${d.value}`},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"chartTitle",ref:$,style:"width:100%;background:transparent;padding-bottom:24px"},[(e.openBlock(),e.createBlock(le._sfc_main,{key:`title_${V.value}`,config:{title:{cy:"donut-div-title",...t.value.style.chart.title},subtitle:{cy:"donut-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))],512)):e.createCommentVNode("",!0),t.value.userOptions.show&&b.value?(e.openBlock(),e.createBlock(W.UserOptions,{ref:"details",key:`user_option_${L.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(T),isImaging:e.unref(D),uid:d.value,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:p.value,titles:{...t.value.userOptions.buttonTitles},chartElement:k.value,position:t.value.userOptions.position,onToggleFullscreen:Q,onGeneratePdf:e.unref(F),onGenerateCsv:H,onGenerateImage:e.unref(M),onToggleTable:q},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.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,a.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,a.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"optionTable",{},void 0,!0)]),key:"3"}: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:"4"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createElementBlock("svg",{key:2,xmlns:e.unref(s.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":p.value,"vue-data-ui-fulscreen--off":!p.value}),viewBox:`0 0 ${o.value.absoluteWidth<=0?10:o.value.absoluteWidth} ${o.value.absoluteHeight<=0?10:o.value.absoluteHeight}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[t.value.style.chart.grid.verticalGrid.show?(e.openBlock(),e.createElementBlock("g",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value.ticks,(l,r)=>(e.openBlock(),e.createElementBlock("line",{x1:o.value.left+r*o.value.width/(c.value.ticks.length-1),x2:o.value.left+r*o.value.width/(c.value.ticks.length-1),y1:o.value.top,y2:o.value.bottom,stroke:t.value.style.chart.grid.verticalGrid.stroke,"stroke-width":t.value.style.chart.grid.verticalGrid.strokeWidth,"stroke-dasharray":t.value.style.chart.grid.verticalGrid.strokeDasharray},null,8,de))),256))])):e.createCommentVNode("",!0),t.value.style.chart.grid.horizontalGrid.show?(e.openBlock(),e.createElementBlock("g",ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,r)=>(e.openBlock(),e.createElementBlock("line",{x1:o.value.left,x2:o.value.right,y1:o.value.top+r*i.value,y2:o.value.top+r*i.value,stroke:t.value.style.chart.grid.horizontalGrid.stroke,"stroke-width":t.value.style.chart.grid.horizontalGrid.strokeWidth,"stroke-dasharray":t.value.style.chart.grid.horizontalGrid.strokeDasharray},null,8,he))),256)),e.createElementVNode("line",{x1:o.value.left,x2:o.value.right,y1:o.value.bottom,y2:o.value.bottom,stroke:t.value.style.chart.grid.horizontalGrid.stroke,"stroke-width":t.value.style.chart.grid.horizontalGrid.strokeWidth,"stroke-dasharray":t.value.style.chart.grid.horizontalGrid.strokeDasharray},null,8,ye)])):e.createCommentVNode("",!0),t.value.style.chart.labels.yAxisLabels.show?(e.openBlock(),e.createElementBlock("g",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.value.left-6+t.value.style.chart.labels.yAxisLabels.offsetX,y:o.value.top+r*i.value+(t.value.style.chart.labels.yAxisLabels.showProgression?i.value/3:i.value/2)+t.value.style.chart.labels.yAxisLabels.fontSize/3,"font-size":t.value.style.chart.labels.yAxisLabels.fontSize,fill:t.value.style.chart.labels.yAxisLabels.color,"font-weight":t.value.style.chart.labels.yAxisLabels.bold?"bold":"normal","text-anchor":"end"},e.toDisplayString(l.name),9,fe))),256)),t.value.style.chart.labels.yAxisLabels.showProgression?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.value,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.value.left-6+t.value.style.chart.labels.yAxisLabels.offsetX,y:o.value.top+r*i.value+i.value/1.3+t.value.style.chart.labels.yAxisLabels.fontSize/3,"font-size":t.value.style.chart.labels.yAxisLabels.fontSize,fill:t.value.style.chart.labels.yAxisLabels.color,"text-anchor":"end"},e.toDisplayString(e.unref(s.dataLabel)({v:100*(l.end/l.start-1),s:"%",r:t.value.style.chart.labels.yAxisLabels.rounding})),9,be))),256)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.value.style.chart.labels.xAxisLabels.show?(e.openBlock(),e.createElementBlock("g",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value.ticks,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.value.left+r*(o.value.width/(c.value.ticks.length-1)),y:o.value.bottom+t.value.style.chart.labels.xAxisLabels.fontSize+t.value.style.chart.labels.xAxisLabels.offsetY,"font-size":t.value.style.chart.labels.xAxisLabels.fontSize,fill:t.value.style.chart.labels.xAxisLabels.color,"font-weight":t.value.style.chart.labels.xAxisLabels.bold?"bold":"normal","text-anchor":"middle"},e.toDisplayString(e.unref(s.applyDataLabel)(t.value.style.chart.labels.formatter,l,e.unref(s.dataLabel)({p:t.value.style.chart.labels.prefix,v:l,s:t.value.style.chart.labels.suffix,r:t.value.style.chart.labels.xAxisLabels.rounding}),{datapoint:l,seriesIndex:r})),9,pe))),256))])):e.createCommentVNode("",!0),e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`start_grad_${d.value}`,fy:"30%"},[e.createElementVNode("stop",{offset:"10%","stop-color":e.unref(s.lightenHexColor)(t.value.style.chart.plots.startColor,t.value.style.chart.plots.gradient.intensity/100)},null,8,_e),e.createElementVNode("stop",{offset:"90%","stop-color":e.unref(s.darkenHexColor)(t.value.style.chart.plots.startColor,.1)},null,8,xe),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.startColor},null,8,Ce)],8,ke),e.createElementVNode("radialGradient",{id:`end_grad_${d.value}`,fy:"30%"},[e.createElementVNode("stop",{offset:"10%","stop-color":e.unref(s.lightenHexColor)(t.value.style.chart.plots.endColor,t.value.style.chart.plots.gradient.intensity/100)},null,8,Be),e.createElementVNode("stop",{offset:"90%","stop-color":e.unref(s.darkenHexColor)(t.value.style.chart.plots.endColor,.1)},null,8,Ne),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.endColor},null,8,Ee)],8,we)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(l,r)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`grad_positive_${d.value}`,x1:"0%",x2:"100%",y1:"0%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":t.value.style.chart.plots.startColor},null,8,$e),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.endColor},null,8,Se)],8,Le),e.createElementVNode("linearGradient",{id:`grad_negative_${d.value}`,x1:"0%",x2:"100%",y1:"0%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":t.value.style.chart.plots.endColor},null,8,ze),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.startColor},null,8,Xe)],8,Ve)]),t.value.style.chart.plots.link.type==="curved"?(e.openBlock(),e.createElementBlock("g",Ae,[e.createElementVNode("path",{d:`M
|
|
2
2
|
${l.startX},${l.y+t.value.style.chart.plots.radius/2}
|
|
3
3
|
C ${l.centerX},${l.y} ${l.centerX},${l.y}
|
|
4
4
|
${l.endX},${l.y+t.value.style.chart.plots.radius/2}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { computed as p, ref as y, watch as oe, onMounted as re, onBeforeUnmount as Le, openBlock as o, createElementBlock as r, normalizeClass as ne, normalizeStyle as E, createBlock as S, createCommentVNode as g, unref as d, createSlots as ze, withCtx as _, renderSlot as C, normalizeProps as ue, guardReactiveProps as ie, Fragment as w, renderList as $, createElementVNode as n, toDisplayString as L, createTextVNode as ce, nextTick as Xe } from "vue";
|
|
2
|
-
import { u as Se, c as de, t as Ae, o as Ne, e as ve, g as Te, v as he, C as Pe, f as z, X as ye, i as V, l as be, h as fe, q as Ge, r as De } from "./index-
|
|
2
|
+
import { u as Se, c as de, t as Ae, o as Ne, e as ve, g as Te, v as he, C as Pe, f as z, X as ye, i as V, l as be, h as fe, q as Ge, r as De } from "./index-DQl1TFXa.js";
|
|
3
3
|
import { t as Ie, u as Me } from "./useResponsive-NZB-WLRF.js";
|
|
4
|
-
import { _ as Fe } from "./Title-
|
|
5
|
-
import { u as Oe, U as Ee } from "./usePrinter-
|
|
6
|
-
import { D as Ve } from "./DataTable-
|
|
7
|
-
import He from "./vue-ui-skeleton-
|
|
8
|
-
import { L as We } from "./Legend-
|
|
9
|
-
import Re from "./vue-ui-accordion-
|
|
10
|
-
import { u as ge } from "./useNestedProp-
|
|
4
|
+
import { _ as Fe } from "./Title-DlBwa3-X.js";
|
|
5
|
+
import { u as Oe, U as Ee } from "./usePrinter-DgKGVvJC.js";
|
|
6
|
+
import { D as Ve } from "./DataTable-Cmbf3abv.js";
|
|
7
|
+
import He from "./vue-ui-skeleton-BVJGmYjj.js";
|
|
8
|
+
import { L as We } from "./Legend-CCq0mNRg.js";
|
|
9
|
+
import Re from "./vue-ui-accordion-CroZrm7T.js";
|
|
10
|
+
import { u as ge } from "./useNestedProp-lmeFt-ev.js";
|
|
11
11
|
import { _ as Be } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
12
12
|
const Ue = ["id"], je = ["xmlns", "viewBox"], qe = { key: 0 }, Ye = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Ze = { key: 1 }, Je = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Ke = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Qe = { key: 2 }, et = ["x", "y", "font-size", "fill", "font-weight"], tt = ["x", "y", "font-size", "fill"], lt = { key: 3 }, at = ["x", "y", "font-size", "fill", "font-weight"], st = ["id"], ot = ["stop-color"], rt = ["stop-color"], nt = ["stop-color"], ut = ["id"], it = ["stop-color"], ct = ["stop-color"], dt = ["stop-color"], vt = ["id"], ht = ["stop-color"], yt = ["stop-color"], bt = ["id"], ft = ["stop-color"], gt = ["stop-color"], mt = { key: 0 }, pt = ["d", "fill"], _t = { key: 1 }, xt = ["x", "y", "height", "width", "fill"], kt = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Ct = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], wt = { key: 2 }, $t = ["x", "y", "fill", "font-size"], Lt = { key: 3 }, zt = ["x", "y", "fill", "font-size"], Xt = {
|
|
13
13
|
key: 3,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./index-BzFQHG8B.cjs"),he=require("./Title-BOtOowG-.cjs"),Z=require("./usePrinter-BY2kEF_E.cjs"),fe=require("./DataTable-DEvCstuA.cjs"),ve=require("./vue-ui-accordion-D9rDPTxC.cjs"),me=require("./vue-ui-skeleton-B_ed6BaF.cjs"),J=require("./useNestedProp-BU19Uk2G.cjs"),pe=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ge=["id"],ke={key:0,style:"width:100%;background:transparent;padding-bottom:24px"},ye=["xmlns","viewBox"],be=["id"],we=["stop-color"],Ce=["stop-color"],Ne=["d","fill","stroke","stroke-width"],xe=["x","y","height","width","fill","stroke","stroke-width","onMouseenter"],$e=["x","y","font-size","fill"],Be=["x","y","font-size","fill"],_e={key:2,class:"vue-data-ui-watermark"},Ee=["innerHTML"],Se={__name:"vue-ui-flow",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(K,{expose:Q}){const f=K,{vue_ui_flow:ee}=s.useConfig(),x=e.computed(()=>!!f.dataset&&f.dataset.length);e.onMounted(()=>{P()});function P(){s.objectIsEmpty(f.dataset)&&s.error({componentName:"VueUiFlow",type:"dataset"})}const $=e.ref(s.createUid()),F=e.ref(null),L=e.ref(0),z=e.ref(0),y=e.ref(!1);function te(l){y.value=l,L.value+=1}const t=e.computed({get:()=>I(),set:l=>l});function I(){const l=J.useNestedProp({userConfig:f.config,defaultConfig:ee});return l.theme?{...J.useNestedProp({userConfig:s.themes.vue_ui_flow[l.theme]||f.config,defaultConfig:l}),customPalette:s.themePalettes[l.theme]||s.palette}:l}e.watch(()=>f.config,l=>{t.value=I(),P(),z.value+=1},{deep:!0});const{isPrinting:H,isImaging:O,generatePdf:M,generateImage:V}=Z.usePrinter({elementId:`flow_${$.value}`,fileName:t.value.style.chart.title.text||"vue-ui-flow"}),B=e.computed(()=>s.convertCustomPalette(t.value.customPalette)),D=e.computed(()=>t.value.style.chart.nodes.gap),g=e.computed(()=>t.value.style.chart.nodes.width),b=e.ref({showTable:t.value.table.show}),Y=e.computed(()=>t.value.style.chart.links.width),_=e.computed(()=>!f.dataset||!f.dataset.length?[]:f.dataset.map(l=>[l[0],l[1],s.checkNaN(l[2])])),q=e.computed(()=>{const l={};function n(r){l[r]||(l[r]={inflow:0,outflow:0})}_.value.forEach(([r,a,c])=>{n(r),n(a),l[r].outflow+=c,l[a].inflow+=c});let o=0;for(const r in l){const a=Math.max(l[r].inflow,l[r].outflow);o=Math.max(o,a)}return o});function le(l){return l/q.value*100+t.value.style.chart.nodes.minHeight}function oe(l){const n=t.value.style.chart.nodes.minHeight;return(l-n)/100*q.value}function ne(l){const n={},o={};function r(u,i){n[u]||(n[u]={height:0,level:null,inflow:0,outflow:0}),n[u].level===null&&(n[u].level=i),o[i]||(o[i]=[]),o[i].includes(u)||o[i].push(u)}l.forEach(([u,i,h],k)=>{const p=n[u]?n[u].level:0,N=p+1;r(u,p),r(i,N),n[u].children||(n[u].children=[]),n[u].children.push({target:i,value:h}),n[u].outflow+=h,n[i].inflow+=h}),Object.keys(n).forEach((u,i)=>{n[u].color=B.value[i]||B.value[i%B.value.length]||s.palette[i]||s.palette[i%d.length]});for(const u in n)n[u].height=le(Math.max(n[u].inflow,n[u].outflow)),n[u].name=u;const a={};for(const u in o){let i=0;o[u].forEach((h,k)=>{const p=n[h].height;a[h]={x:parseInt(u,10)*Y.value+t.value.style.chart.padding.left,y:i,absoluteY:i,height:p,i:k,color:n[h].color,value:oe(p)},i+=p+D.value})}const c=[];for(const u in n){let i=a[u].absoluteY;n[u].children&&n[u].children.forEach(({target:h,value:k},p)=>{const N=a[h].y,S=a[u],T=a[h],A=s.checkNaN(i),W=s.checkNaN(i+k/n[u].outflow*S.height),X=s.checkNaN(N),R=s.checkNaN(N+k/n[h].inflow*T.height),de={id:s.createUid(),source:u,target:h,path:`M ${s.checkNaN(S.x)+s.checkNaN(g.value)} ${A} L ${s.checkNaN(S.x)+s.checkNaN(g.value)} ${W} L ${s.checkNaN(T.x)} ${R} L ${s.checkNaN(T.x)} ${X} Z`,value:k,sourceColor:n[u].color,targetColor:n[h].color};c.push(de),i+=W-A,a[h].y+=R-X})}return{nodeCoordinates:a,links:c}}const v=e.computed(()=>{const l=ne(f.dataset);return{nodes:Object.keys(l.nodeCoordinates).map((n,o)=>({...l.nodeCoordinates[n],name:n})),links:l.links}}),ae=e.computed(()=>se(v.value.nodes));function se(l){const n={};for(const r in l){const{x:a,height:c}=l[r];n[a]||(n[a]=0),n[a]+=c+D.value}return Math.max(...Object.values(n))}const E=e.computed(()=>{const{top:l,right:n,left:o,bottom:r}=t.value.style.chart.padding,a=_.value.length*Y.value;return{height:ae.value+l+r,width:n+Math.max(...v.value.nodes.map(c=>c.x))+g.value,left:o,top:l,right:a-n,p_top:l,p_bottom:r}});function re(l){const n={},o={},r=new Set;return _.value.forEach(([a,c,u])=>{n[a]||(n[a]=[]),o[c]||(o[c]=[]),n[a].push(c),o[c].push(a)}),n[l]&&n[l].forEach(a=>r.add(a)),o[l]&&o[l].forEach(a=>r.add(a)),Array.from(r).concat(l)}const m=e.ref(null),w=e.ref(null);function ue(l){m.value=re(l.name),w.value=l.name}function ie(){m.value=null,w.value=null}const G=e.computed(()=>v.value.links.map(({source:l,target:n,sourceColor:o,targetColor:r,value:a})=>({source:l,target:n,sourceColor:o,targetColor:r,value:a})));function U(){e.nextTick(()=>{const l=G.value.map((r,a)=>[[r.source],[r.target],[r.value]]),n=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[t.value.table.columnNames.source],[t.value.table.columnNames.target],[t.value.table.columnNames.value]]].concat(l),o=s.createCsvContent(n);s.downloadCsv({csvContent:o,title:t.value.style.chart.title.text||"vue-ui-flow"})})}const C=e.computed(()=>{const l=[t.value.table.columnNames.source,t.value.table.columnNames.target,t.value.table.columnNames.value],n=G.value.map((a,c)=>[{color:a.sourceColor,name:a.source},{color:a.targetColor,name:a.target},s.dataLabel({p:t.value.style.chart.nodes.labels.prefix,v:a.value,s:t.value.style.chart.nodes.labels.suffix,r:t.value.style.chart.nodes.labels.rounding})]),o={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.source,t.value.table.columnNames.target,t.value.table.columnNames.value],head:l,body:n,config:o}});function ce(){return v.value}function j(){b.value.showTable=!b.value.showTable}return Q({getData:ce,generateCsv:U,generateImage:V,generatePdf:M,toggleTable:j}),(l,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowChart",ref:F,class:e.normalizeClass(`vue-ui-flow ${y.value?"vue-data-ui-wrapper-fullscreen":""}`),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:`flow_${$.value}`},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(),e.createBlock(he._sfc_main,{key:`title_${z.value}`,config:{title:{cy:"flow-title",...t.value.style.chart.title},subtitle:{cy:"flow-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))])):e.createCommentVNode("",!0),t.value.userOptions.show&&x.value?(e.openBlock(),e.createBlock(Z.UserOptions,{ref:"details",key:`user_option_${L.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(H),isImaging:e.unref(O),uid:$.value,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:y.value,titles:{...t.value.userOptions.buttonTitles},chartElement:F.value,position:t.value.userOptions.position,onToggleFullscreen:te,onGeneratePdf:e.unref(M),onGenerateCsv:U,onGenerateImage:e.unref(V),onToggleTable:j},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.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,l.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTable",{},void 0,!0)]),key:"3"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:o,isFullscreen:r})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:o,isFullscreen:r})),void 0,!0)]),key:"4"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{xmlns:e.unref(s.XMLNS),viewBox:`0 0 ${E.value.width} ${E.value.height}`,class:e.normalizeClass({"vue-data-ui-fullscreen--on":y.value,"vue-data-ui-fulscreen--off":!y.value}),style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.links,(o,r)=>(e.openBlock(),e.createElementBlock("linearGradient",{id:o.id,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":o.sourceColor},null,8,we),e.createElementVNode("stop",{offset:"100%","stop-color":o.targetColor},null,8,Ce)],8,be))),256))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.links,o=>(e.openBlock(),e.createElementBlock("path",{class:"vue-ui-flow-link",d:o.path,fill:`url(#${o.id})`,stroke:t.value.style.chart.links.stroke,"stroke-width":t.value.style.chart.links.strokeWidth,style:e.normalizeStyle(`opacity:${w.value?[o.target,o.source].includes(w.value)?1:.3:t.value.style.chart.links.opacity}`)},null,12,Ne))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.nodes,(o,r)=>(e.openBlock(),e.createElementBlock("rect",{class:"vue-ui-flow-node",x:o.x,y:e.unref(s.checkNaN)(o.absoluteY),height:e.unref(s.checkNaN)(o.height),width:g.value,fill:o.color,stroke:t.value.style.chart.nodes.stroke,"stroke-width":t.value.style.chart.nodes.strokeWidth,onMouseenter:a=>ue(o),onMouseleave:n[0]||(n[0]=a=>ie()),style:e.normalizeStyle(`opacity:${m.value?m.value.includes(o.name)?1:.2:1}`)},null,44,xe))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.nodes,(o,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.x+g.value/2,y:e.unref(s.checkNaN)(o.absoluteY+o.height/2-t.value.style.chart.nodes.labels.fontSize/4),"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(s.adaptColorToBackground)(o.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(o.name)?1:0:1}`)},e.toDisplayString(t.value.style.chart.nodes.labels.abbreviation.use?e.unref(s.abbreviate)({source:o.name,length:t.value.style.chart.nodes.labels.abbreviation.length}):o.name),13,$e))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.nodes,(o,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.x+g.value/2,y:e.unref(s.checkNaN)(o.absoluteY+o.height/2+t.value.style.chart.nodes.labels.fontSize),"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(s.adaptColorToBackground)(o.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(o.name)?1:0:1}`)},e.toDisplayString(e.unref(s.applyDataLabel)(t.value.style.chart.nodes.labels.formatter,o.value,e.unref(s.dataLabel)({p:t.value.style.chart.nodes.labels.prefix,v:o.value,s:t.value.style.chart.nodes.labels.suffix,r:t.value.style.chart.nodes.labels.rounding}),{datapoint:o,seriesIndex:r})),13,Be))),256)),e.renderSlot(l.$slots,"svg",{svg:E.value},void 0,!0)],14,ye)),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",_e,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(H)||e.unref(O)})),void 0,!0)])):e.createCommentVNode("",!0),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(me.default,{key:3,config:{type:"flow",style:{backgroundColor:t.value.style.chart.backgroundColor}}},null,8,["config"])),x.value?(e.openBlock(),e.createBlock(ve.default,{key:4,hideDetails:"",config:{open:b.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(fe.DataTable,{colNames:C.value.colNames,head:C.value.head,body:C.value.body,config:C.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:n[1]||(n[1]=o=>b.value.showTable=!1)},{th:e.withCtx(({th:o})=>[e.createElementVNode("div",{innerHTML:o,style:{display:"flex","align-items":"center"}},null,8,Ee)]),td:e.withCtx(({td:o})=>[e.createTextVNode(e.toDisplayString(o.name||o),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,ge))}},Te=pe._export_sfc(Se,[["__scopeId","data-v-51f26d4b"]]);exports.default=Te;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./index-B8EMsnjU.cjs"),he=require("./Title-BaR4XyXa.cjs"),Z=require("./usePrinter-BmXrEJ99.cjs"),fe=require("./DataTable-cOEA6Z37.cjs"),ve=require("./vue-ui-accordion-DRI-fN6I.cjs"),me=require("./vue-ui-skeleton-Bli7jLZ7.cjs"),J=require("./useNestedProp-DlCe_zZz.cjs"),pe=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ge=["id"],ke={key:0,style:"width:100%;background:transparent;padding-bottom:24px"},ye=["xmlns","viewBox"],be=["id"],we=["stop-color"],Ce=["stop-color"],Ne=["d","fill","stroke","stroke-width"],xe=["x","y","height","width","fill","stroke","stroke-width","onMouseenter"],$e=["x","y","font-size","fill"],Be=["x","y","font-size","fill"],_e={key:2,class:"vue-data-ui-watermark"},Ee=["innerHTML"],Se={__name:"vue-ui-flow",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(K,{expose:Q}){const f=K,{vue_ui_flow:ee}=s.useConfig(),x=e.computed(()=>!!f.dataset&&f.dataset.length);e.onMounted(()=>{P()});function P(){s.objectIsEmpty(f.dataset)&&s.error({componentName:"VueUiFlow",type:"dataset"})}const $=e.ref(s.createUid()),F=e.ref(null),L=e.ref(0),z=e.ref(0),y=e.ref(!1);function te(l){y.value=l,L.value+=1}const t=e.computed({get:()=>I(),set:l=>l});function I(){const l=J.useNestedProp({userConfig:f.config,defaultConfig:ee});return l.theme?{...J.useNestedProp({userConfig:s.themes.vue_ui_flow[l.theme]||f.config,defaultConfig:l}),customPalette:s.themePalettes[l.theme]||s.palette}:l}e.watch(()=>f.config,l=>{t.value=I(),P(),z.value+=1},{deep:!0});const{isPrinting:H,isImaging:O,generatePdf:M,generateImage:V}=Z.usePrinter({elementId:`flow_${$.value}`,fileName:t.value.style.chart.title.text||"vue-ui-flow"}),B=e.computed(()=>s.convertCustomPalette(t.value.customPalette)),D=e.computed(()=>t.value.style.chart.nodes.gap),g=e.computed(()=>t.value.style.chart.nodes.width),b=e.ref({showTable:t.value.table.show}),Y=e.computed(()=>t.value.style.chart.links.width),_=e.computed(()=>!f.dataset||!f.dataset.length?[]:f.dataset.map(l=>[l[0],l[1],s.checkNaN(l[2])])),q=e.computed(()=>{const l={};function n(r){l[r]||(l[r]={inflow:0,outflow:0})}_.value.forEach(([r,a,c])=>{n(r),n(a),l[r].outflow+=c,l[a].inflow+=c});let o=0;for(const r in l){const a=Math.max(l[r].inflow,l[r].outflow);o=Math.max(o,a)}return o});function le(l){return l/q.value*100+t.value.style.chart.nodes.minHeight}function oe(l){const n=t.value.style.chart.nodes.minHeight;return(l-n)/100*q.value}function ne(l){const n={},o={};function r(u,i){n[u]||(n[u]={height:0,level:null,inflow:0,outflow:0}),n[u].level===null&&(n[u].level=i),o[i]||(o[i]=[]),o[i].includes(u)||o[i].push(u)}l.forEach(([u,i,h],k)=>{const p=n[u]?n[u].level:0,N=p+1;r(u,p),r(i,N),n[u].children||(n[u].children=[]),n[u].children.push({target:i,value:h}),n[u].outflow+=h,n[i].inflow+=h}),Object.keys(n).forEach((u,i)=>{n[u].color=B.value[i]||B.value[i%B.value.length]||s.palette[i]||s.palette[i%d.length]});for(const u in n)n[u].height=le(Math.max(n[u].inflow,n[u].outflow)),n[u].name=u;const a={};for(const u in o){let i=0;o[u].forEach((h,k)=>{const p=n[h].height;a[h]={x:parseInt(u,10)*Y.value+t.value.style.chart.padding.left,y:i,absoluteY:i,height:p,i:k,color:n[h].color,value:oe(p)},i+=p+D.value})}const c=[];for(const u in n){let i=a[u].absoluteY;n[u].children&&n[u].children.forEach(({target:h,value:k},p)=>{const N=a[h].y,S=a[u],T=a[h],A=s.checkNaN(i),W=s.checkNaN(i+k/n[u].outflow*S.height),X=s.checkNaN(N),R=s.checkNaN(N+k/n[h].inflow*T.height),de={id:s.createUid(),source:u,target:h,path:`M ${s.checkNaN(S.x)+s.checkNaN(g.value)} ${A} L ${s.checkNaN(S.x)+s.checkNaN(g.value)} ${W} L ${s.checkNaN(T.x)} ${R} L ${s.checkNaN(T.x)} ${X} Z`,value:k,sourceColor:n[u].color,targetColor:n[h].color};c.push(de),i+=W-A,a[h].y+=R-X})}return{nodeCoordinates:a,links:c}}const v=e.computed(()=>{const l=ne(f.dataset);return{nodes:Object.keys(l.nodeCoordinates).map((n,o)=>({...l.nodeCoordinates[n],name:n})),links:l.links}}),ae=e.computed(()=>se(v.value.nodes));function se(l){const n={};for(const r in l){const{x:a,height:c}=l[r];n[a]||(n[a]=0),n[a]+=c+D.value}return Math.max(...Object.values(n))}const E=e.computed(()=>{const{top:l,right:n,left:o,bottom:r}=t.value.style.chart.padding,a=_.value.length*Y.value;return{height:ae.value+l+r,width:n+Math.max(...v.value.nodes.map(c=>c.x))+g.value,left:o,top:l,right:a-n,p_top:l,p_bottom:r}});function re(l){const n={},o={},r=new Set;return _.value.forEach(([a,c,u])=>{n[a]||(n[a]=[]),o[c]||(o[c]=[]),n[a].push(c),o[c].push(a)}),n[l]&&n[l].forEach(a=>r.add(a)),o[l]&&o[l].forEach(a=>r.add(a)),Array.from(r).concat(l)}const m=e.ref(null),w=e.ref(null);function ue(l){m.value=re(l.name),w.value=l.name}function ie(){m.value=null,w.value=null}const G=e.computed(()=>v.value.links.map(({source:l,target:n,sourceColor:o,targetColor:r,value:a})=>({source:l,target:n,sourceColor:o,targetColor:r,value:a})));function U(){e.nextTick(()=>{const l=G.value.map((r,a)=>[[r.source],[r.target],[r.value]]),n=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[t.value.table.columnNames.source],[t.value.table.columnNames.target],[t.value.table.columnNames.value]]].concat(l),o=s.createCsvContent(n);s.downloadCsv({csvContent:o,title:t.value.style.chart.title.text||"vue-ui-flow"})})}const C=e.computed(()=>{const l=[t.value.table.columnNames.source,t.value.table.columnNames.target,t.value.table.columnNames.value],n=G.value.map((a,c)=>[{color:a.sourceColor,name:a.source},{color:a.targetColor,name:a.target},s.dataLabel({p:t.value.style.chart.nodes.labels.prefix,v:a.value,s:t.value.style.chart.nodes.labels.suffix,r:t.value.style.chart.nodes.labels.rounding})]),o={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.source,t.value.table.columnNames.target,t.value.table.columnNames.value],head:l,body:n,config:o}});function ce(){return v.value}function j(){b.value.showTable=!b.value.showTable}return Q({getData:ce,generateCsv:U,generateImage:V,generatePdf:M,toggleTable:j}),(l,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowChart",ref:F,class:e.normalizeClass(`vue-ui-flow ${y.value?"vue-data-ui-wrapper-fullscreen":""}`),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:`flow_${$.value}`},[t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(),e.createBlock(he._sfc_main,{key:`title_${z.value}`,config:{title:{cy:"flow-title",...t.value.style.chart.title},subtitle:{cy:"flow-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))])):e.createCommentVNode("",!0),t.value.userOptions.show&&x.value?(e.openBlock(),e.createBlock(Z.UserOptions,{ref:"details",key:`user_option_${L.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(H),isImaging:e.unref(O),uid:$.value,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:y.value,titles:{...t.value.userOptions.buttonTitles},chartElement:F.value,position:t.value.userOptions.position,onToggleFullscreen:te,onGeneratePdf:e.unref(M),onGenerateCsv:U,onGenerateImage:e.unref(V),onToggleTable:j},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.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,l.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTable",{},void 0,!0)]),key:"3"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:o,isFullscreen:r})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:o,isFullscreen:r})),void 0,!0)]),key:"4"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{xmlns:e.unref(s.XMLNS),viewBox:`0 0 ${E.value.width} ${E.value.height}`,class:e.normalizeClass({"vue-data-ui-fullscreen--on":y.value,"vue-data-ui-fulscreen--off":!y.value}),style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.links,(o,r)=>(e.openBlock(),e.createElementBlock("linearGradient",{id:o.id,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":o.sourceColor},null,8,we),e.createElementVNode("stop",{offset:"100%","stop-color":o.targetColor},null,8,Ce)],8,be))),256))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.links,o=>(e.openBlock(),e.createElementBlock("path",{class:"vue-ui-flow-link",d:o.path,fill:`url(#${o.id})`,stroke:t.value.style.chart.links.stroke,"stroke-width":t.value.style.chart.links.strokeWidth,style:e.normalizeStyle(`opacity:${w.value?[o.target,o.source].includes(w.value)?1:.3:t.value.style.chart.links.opacity}`)},null,12,Ne))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.nodes,(o,r)=>(e.openBlock(),e.createElementBlock("rect",{class:"vue-ui-flow-node",x:o.x,y:e.unref(s.checkNaN)(o.absoluteY),height:e.unref(s.checkNaN)(o.height),width:g.value,fill:o.color,stroke:t.value.style.chart.nodes.stroke,"stroke-width":t.value.style.chart.nodes.strokeWidth,onMouseenter:a=>ue(o),onMouseleave:n[0]||(n[0]=a=>ie()),style:e.normalizeStyle(`opacity:${m.value?m.value.includes(o.name)?1:.2:1}`)},null,44,xe))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.nodes,(o,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.x+g.value/2,y:e.unref(s.checkNaN)(o.absoluteY+o.height/2-t.value.style.chart.nodes.labels.fontSize/4),"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(s.adaptColorToBackground)(o.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(o.name)?1:0:1}`)},e.toDisplayString(t.value.style.chart.nodes.labels.abbreviation.use?e.unref(s.abbreviate)({source:o.name,length:t.value.style.chart.nodes.labels.abbreviation.length}):o.name),13,$e))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value.nodes,(o,r)=>(e.openBlock(),e.createElementBlock("text",{x:o.x+g.value/2,y:e.unref(s.checkNaN)(o.absoluteY+o.height/2+t.value.style.chart.nodes.labels.fontSize),"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(s.adaptColorToBackground)(o.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(o.name)?1:0:1}`)},e.toDisplayString(e.unref(s.applyDataLabel)(t.value.style.chart.nodes.labels.formatter,o.value,e.unref(s.dataLabel)({p:t.value.style.chart.nodes.labels.prefix,v:o.value,s:t.value.style.chart.nodes.labels.suffix,r:t.value.style.chart.nodes.labels.rounding}),{datapoint:o,seriesIndex:r})),13,Be))),256)),e.renderSlot(l.$slots,"svg",{svg:E.value},void 0,!0)],14,ye)),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",_e,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(H)||e.unref(O)})),void 0,!0)])):e.createCommentVNode("",!0),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(me.default,{key:3,config:{type:"flow",style:{backgroundColor:t.value.style.chart.backgroundColor}}},null,8,["config"])),x.value?(e.openBlock(),e.createBlock(ve.default,{key:4,hideDetails:"",config:{open:b.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(fe.DataTable,{colNames:C.value.colNames,head:C.value.head,body:C.value.body,config:C.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:n[1]||(n[1]=o=>b.value.showTable=!1)},{th:e.withCtx(({th:o})=>[e.createElementVNode("div",{innerHTML:o,style:{display:"flex","align-items":"center"}},null,8,Ee)]),td:e.withCtx(({td:o})=>[e.createTextVNode(e.toDisplayString(o.name||o),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,ge))}},Te=pe._export_sfc(Se,[["__scopeId","data-v-51f26d4b"]]);exports.default=Te;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { computed as m, onMounted as Le, ref as y, watch as He, openBlock as r, createElementBlock as h, normalizeClass as ce, normalizeStyle as _, createBlock as E, createCommentVNode as T, unref as i, createSlots as Oe, withCtx as k, renderSlot as C, normalizeProps as de, guardReactiveProps as ve, createElementVNode as S, Fragment as P, renderList as F, toDisplayString as U, createVNode as Ee, createTextVNode as Se, nextTick as Me } from "vue";
|
|
2
|
-
import { u as ze, o as Ye, e as De, c as fe, t as Ge, a as Be, p as V, b as Ae, v, f as he, X as Ue, F as me, I as Ve, i as je, q as Xe, r as We } from "./index-
|
|
3
|
-
import { _ as qe } from "./Title-
|
|
4
|
-
import { u as Re, U as Ze } from "./usePrinter-
|
|
5
|
-
import { D as Je } from "./DataTable-
|
|
6
|
-
import Ke from "./vue-ui-accordion-
|
|
7
|
-
import Qe from "./vue-ui-skeleton-
|
|
8
|
-
import { u as ge } from "./useNestedProp-
|
|
2
|
+
import { u as ze, o as Ye, e as De, c as fe, t as Ge, a as Be, p as V, b as Ae, v, f as he, X as Ue, F as me, I as Ve, i as je, q as Xe, r as We } from "./index-DQl1TFXa.js";
|
|
3
|
+
import { _ as qe } from "./Title-DlBwa3-X.js";
|
|
4
|
+
import { u as Re, U as Ze } from "./usePrinter-DgKGVvJC.js";
|
|
5
|
+
import { D as Je } from "./DataTable-Cmbf3abv.js";
|
|
6
|
+
import Ke from "./vue-ui-accordion-CroZrm7T.js";
|
|
7
|
+
import Qe from "./vue-ui-skeleton-BVJGmYjj.js";
|
|
8
|
+
import { u as ge } from "./useNestedProp-lmeFt-ev.js";
|
|
9
9
|
import { _ as et } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
10
10
|
const tt = ["id"], lt = {
|
|
11
11
|
key: 0,
|