vue-data-ui 2.4.1 → 2.4.2
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/README.md +44 -44
- package/dist/{Arrow-DpMf3yPs.cjs → Arrow-DLTRnzcG.cjs} +1 -1
- package/dist/{Arrow-BIs_9yK8.js → Arrow-JuK2z9IB.js} +1 -1
- package/dist/BaseIcon-BGExhz6v.cjs +1 -0
- package/dist/{BaseIcon-CXDdkPfN.js → BaseIcon-rRli6Sfv.js} +7 -4
- package/dist/{DataTable-BTgMVOwp.cjs → DataTable-DJzhv96s.cjs} +1 -1
- package/dist/{DataTable-DL2agEJ3.js → DataTable-DTk7C4Pr.js} +2 -2
- package/dist/{Legend-DXLiSLHd.js → Legend-CYF2gpXG.js} +1 -1
- package/dist/{Legend-Dj9KiaLv.cjs → Legend-YZ7Hz3o1.cjs} +1 -1
- package/dist/{PackageVersion-DtnhR89q.js → PackageVersion-CvCRsT5_.js} +1 -1
- package/dist/{PackageVersion-D4D0WicU.cjs → PackageVersion-DVZtsuy4.cjs} +1 -1
- package/dist/PenAndPaper-CyXm-yVL.cjs +1 -0
- package/dist/PenAndPaper-Jb0pLt3G.js +269 -0
- package/dist/{Shape-CO_Ak9Zm.js → Shape-BpPn4eWR.js} +1 -1
- package/dist/{Shape-7EC2UKDK.cjs → Shape-X2F-QV_B.cjs} +1 -1
- package/dist/{Slicer-CLAVjSQP.cjs → Slicer-CL0tP5a5.cjs} +1 -1
- package/dist/{Slicer-BZfUZr1J.js → Slicer-CU7dRZR0.js} +2 -2
- package/dist/{Title-DYNLqCCT.js → Title-5VmBwT4i.js} +1 -1
- package/dist/{Title-C-lm3Mkl.cjs → Title-Co5jI5ed.cjs} +1 -1
- package/dist/{Tooltip-t-3mVhcz.cjs → Tooltip-Bl6W8Zn7.cjs} +1 -1
- package/dist/{Tooltip-CICAYyQj.js → Tooltip-Cj4EF7v1.js} +1 -1
- package/dist/{index-DDXisDKy.js → index-DnVHQ2xI.js} +880 -842
- package/dist/index-FfZRtJ6A.cjs +9 -0
- package/dist/style.css +1 -1
- package/dist/types/vue-data-ui.d.cts +18 -16
- package/dist/types/vue-data-ui.d.ts +18 -16
- package/dist/{useNestedProp-S1UXxUgm.js → useNestedProp-Cox0K0Y5.js} +1 -1
- package/dist/{useNestedProp-CC9zGr7C.cjs → useNestedProp-q7byAAIJ.cjs} +1 -1
- package/dist/usePrinter-BCAFeO_J.cjs +1 -0
- package/dist/{usePrinter-8ofTb2MJ.js → usePrinter-BEeNAqS5.js} +230 -185
- package/dist/vue-data-ui-CRLLZpt0.cjs +9 -0
- package/dist/vue-data-ui-W7nnqn0v.js +261 -0
- package/dist/vue-data-ui.cjs +1 -1
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-DcF1nyGW.js → vue-ui-3d-bar-BwBrUabe.js} +414 -390
- package/dist/vue-ui-3d-bar-bD_n6qL_.cjs +19 -0
- package/dist/{vue-ui-accordion-D_1fE5EF.js → vue-ui-accordion-DspS4q3f.js} +3 -3
- package/dist/{vue-ui-accordion-Cc9958th.cjs → vue-ui-accordion-xXgqfR2l.cjs} +1 -1
- package/dist/vue-ui-age-pyramid-BZcAwcVQ.cjs +1 -0
- package/dist/{vue-ui-age-pyramid-Oe_yHDL0.js → vue-ui-age-pyramid-CxBvm3uM.js} +218 -194
- package/dist/{vue-ui-annotator-Dix6_Gm6.js → vue-ui-annotator-BOofWpzv.js} +1 -1
- package/dist/{vue-ui-annotator-Dbp6cWMr.cjs → vue-ui-annotator-C6T5_7ZV.cjs} +1 -1
- package/dist/vue-ui-bullet-ChaEgXvR.cjs +23 -0
- package/dist/vue-ui-bullet-DraC-oFu.js +433 -0
- package/dist/vue-ui-candlestick--hPCfMFH.cjs +2 -0
- package/dist/{vue-ui-candlestick-CRwzWF6j.js → vue-ui-candlestick-DQZ5eT1f.js} +267 -243
- package/dist/{vue-ui-carousel-table-C0GDDSW9.cjs → vue-ui-carousel-table-DpRQklDZ.cjs} +1 -1
- package/dist/{vue-ui-carousel-table-BHeEbRKY.js → vue-ui-carousel-table-PdLjpH1p.js} +4 -4
- package/dist/{vue-ui-chestnut-CRk0RCB9.js → vue-ui-chestnut-ByI_O5hB.js} +293 -269
- package/dist/vue-ui-chestnut-ae6x87wl.cjs +6 -0
- package/dist/{vue-ui-cursor-y0kdr0uA.js → vue-ui-cursor-BM74l93B.js} +2 -2
- package/dist/{vue-ui-cursor-lU1rts1B.cjs → vue-ui-cursor-BvadpA2m.cjs} +1 -1
- package/dist/{vue-ui-dashboard-OyihaKdu.js → vue-ui-dashboard-CoANBhAM.js} +2 -2
- package/dist/{vue-ui-dashboard-BfC0jS-X.cjs → vue-ui-dashboard-OP51Gs8I.cjs} +1 -1
- package/dist/{vue-ui-digits-BJfcAiq_.cjs → vue-ui-digits-C7jJJg9k.cjs} +1 -1
- package/dist/{vue-ui-digits-IKt4qT2-.js → vue-ui-digits-DioaBnkB.js} +2 -2
- package/dist/vue-ui-donut-CplNylps.cjs +1 -0
- package/dist/vue-ui-donut-evolution-CQpr-6IS.cjs +1 -0
- package/dist/{vue-ui-donut-evolution-Dd4o37RP.js → vue-ui-donut-evolution-DAb1xzNd.js} +330 -306
- package/dist/{vue-ui-donut-DFaGk4fI.js → vue-ui-donut-ldqSm_JV.js} +345 -321
- package/dist/{vue-ui-dumbbell-B7j1_JoQ.js → vue-ui-dumbbell-Dg7PkiKJ.js} +265 -241
- package/dist/vue-ui-dumbbell-_ijaYr8W.cjs +9 -0
- package/dist/vue-ui-flow-BPt35d5K.cjs +1 -0
- package/dist/vue-ui-flow-DKT7ZEnr.js +508 -0
- package/dist/vue-ui-galaxy-e06PkTmp.cjs +1 -0
- package/dist/{vue-ui-galaxy-CH1BDtWl.js → vue-ui-galaxy-qAA9be3S.js} +193 -169
- package/dist/vue-ui-gauge-D8yVTIgP.js +518 -0
- package/dist/vue-ui-gauge-DiZVIU0D.cjs +1 -0
- package/dist/{vue-ui-gizmo-CKQcbe_7.js → vue-ui-gizmo-DC0uUwI3.js} +3 -3
- package/dist/{vue-ui-gizmo-DVwQaEH1.cjs → vue-ui-gizmo-W6bTkg59.cjs} +1 -1
- package/dist/vue-ui-heatmap-CbZcv_2I.cjs +1 -0
- package/dist/{vue-ui-heatmap-B-zWMk0Y.js → vue-ui-heatmap-u1raIzBQ.js} +252 -228
- package/dist/{vue-ui-kpi-CghbfSdM.js → vue-ui-kpi-C-iTxMD2.js} +3 -3
- package/dist/{vue-ui-kpi-CuY3xlVq.cjs → vue-ui-kpi-DY_2WF7U.cjs} +1 -1
- package/dist/{vue-ui-mini-loader-CH_PfeDc.cjs → vue-ui-mini-loader-Bfq2MNWu.cjs} +1 -1
- package/dist/{vue-ui-mini-loader-C7roqZ4p.js → vue-ui-mini-loader-C7x7S0hi.js} +2 -2
- package/dist/vue-ui-molecule-BFnOIxxs.js +798 -0
- package/dist/vue-ui-molecule-CbKMLrDT.cjs +1 -0
- package/dist/vue-ui-mood-radar-6LmFXuiw.cjs +1 -0
- package/dist/{vue-ui-mood-radar-DSznHxLS.js → vue-ui-mood-radar-CR1v5v2x.js} +263 -239
- package/dist/{vue-ui-nested-donuts-CiE4DdEQ.js → vue-ui-nested-donuts-DEiloQzq.js} +342 -318
- package/dist/vue-ui-nested-donuts-DS0fjiLi.cjs +17 -0
- package/dist/vue-ui-onion-CLvvu4Ku.cjs +5 -0
- package/dist/{vue-ui-onion-D9o6Rcgu.js → vue-ui-onion-LsEhBe4x.js} +226 -202
- package/dist/vue-ui-parallel-coordinate-plot-BWg8OFqH.cjs +8 -0
- package/dist/{vue-ui-parallel-coordinate-plot-BcYrYXhG.js → vue-ui-parallel-coordinate-plot-CTlIjJqG.js} +243 -219
- package/dist/{vue-ui-quadrant-Cs3A77us.js → vue-ui-quadrant-DKVVFufb.js} +350 -326
- package/dist/vue-ui-quadrant-OM5J1mG3.cjs +1 -0
- package/dist/{vue-ui-quick-chart-CiiSUexi.js → vue-ui-quick-chart-8vJikiGH.js} +505 -481
- package/dist/vue-ui-quick-chart-gG5Ar8-i.cjs +15 -0
- package/dist/{vue-ui-radar-CNSpiNrM.js → vue-ui-radar-20QhOUer.js} +255 -231
- package/dist/vue-ui-radar-CAaHjDO7.cjs +1 -0
- package/dist/{vue-ui-rating-GoUNDOdZ.cjs → vue-ui-rating-Bbzm5nUK.cjs} +1 -1
- package/dist/{vue-ui-rating-b_iYZWF8.js → vue-ui-rating-DRWJsve1.js} +2 -2
- package/dist/vue-ui-relation-circle-BoGAFXuS.cjs +1 -0
- package/dist/vue-ui-relation-circle-I45_Sk5l.js +349 -0
- package/dist/vue-ui-rings-B9WQ7S5m.cjs +2 -0
- package/dist/vue-ui-rings-DG8GCi3y.js +593 -0
- package/dist/vue-ui-scatter-BZfg1YIN.cjs +1 -0
- package/dist/{vue-ui-scatter-CVuoW-cD.js → vue-ui-scatter-Hqu5-F2H.js} +369 -345
- package/dist/{vue-ui-screenshot-Co2o48d6.cjs → vue-ui-screenshot-D8nxd5RV.cjs} +1 -1
- package/dist/{vue-ui-screenshot-Csc0dQL9.js → vue-ui-screenshot-cjiqbtLK.js} +1 -1
- package/dist/{vue-ui-skeleton-CGV1dEUD.cjs → vue-ui-skeleton-Djv08J67.cjs} +1 -1
- package/dist/{vue-ui-skeleton-B2sRnIXX.js → vue-ui-skeleton-aZmkNzAe.js} +3 -3
- package/dist/{vue-ui-smiley-Ci3uMgVh.cjs → vue-ui-smiley-B1TA19Hv.cjs} +1 -1
- package/dist/{vue-ui-smiley-D4s-AdIE.js → vue-ui-smiley-ChNvxygm.js} +2 -2
- package/dist/{vue-ui-spark-trend-BfoEoJEy.cjs → vue-ui-spark-trend-BqrPr63O.cjs} +1 -1
- package/dist/{vue-ui-spark-trend-CHKQGMLs.js → vue-ui-spark-trend-CQxELQcf.js} +5 -5
- package/dist/{vue-ui-sparkbar-Bb1fq2GR.js → vue-ui-sparkbar-0ixbKZzf.js} +4 -4
- package/dist/{vue-ui-sparkbar-DB2DeXti.cjs → vue-ui-sparkbar-CrTEPTU5.cjs} +1 -1
- package/dist/{vue-ui-sparkgauge-CJepIY2u.cjs → vue-ui-sparkgauge-BYxpe_WV.cjs} +1 -1
- package/dist/{vue-ui-sparkgauge-DWuaAQbo.js → vue-ui-sparkgauge-pdYb7OwH.js} +4 -4
- package/dist/{vue-ui-sparkhistogram-B7B36LLT.cjs → vue-ui-sparkhistogram-D21XDUH2.cjs} +1 -1
- package/dist/{vue-ui-sparkhistogram-CjeJ3ch1.js → vue-ui-sparkhistogram-N69h2q0U.js} +5 -5
- package/dist/{vue-ui-sparkline-DGJDBArr.js → vue-ui-sparkline-2BKYZMOb.js} +4 -4
- package/dist/{vue-ui-sparkline-BcqmwDAb.cjs → vue-ui-sparkline-Cf4m-Fxo.cjs} +1 -1
- package/dist/{vue-ui-sparkstackbar-DT3aKNeV.cjs → vue-ui-sparkstackbar-dAS8XoJs.cjs} +1 -1
- package/dist/{vue-ui-sparkstackbar-B3ul3qUZ.js → vue-ui-sparkstackbar-sh03cuOU.js} +4 -4
- package/dist/vue-ui-stackbar-B1si-1RM.js +938 -0
- package/dist/vue-ui-stackbar-Dy_saeSe.cjs +6 -0
- package/dist/{vue-ui-strip-plot-CIb2LSV8.js → vue-ui-strip-plot-BYn-QrTQ.js} +274 -250
- package/dist/vue-ui-strip-plot-D53LABpZ.cjs +1 -0
- package/dist/{vue-ui-table-B_sFrAO9.cjs → vue-ui-table-Ce4waJaj.cjs} +1 -1
- package/dist/{vue-ui-table-CmVi0nv2.js → vue-ui-table-DQORPCDJ.js} +1 -1
- package/dist/{vue-ui-table-heatmap-CgFr38QT.js → vue-ui-table-heatmap-Csp7Tx8N.js} +4 -4
- package/dist/{vue-ui-table-heatmap-Chvdf2Gi.cjs → vue-ui-table-heatmap-EqHt-O7Y.cjs} +1 -1
- package/dist/{vue-ui-table-sparkline-DUUYQ5dH.cjs → vue-ui-table-sparkline-DONmVOMh.cjs} +1 -1
- package/dist/{vue-ui-table-sparkline-eg2Qd8ws.js → vue-ui-table-sparkline-DdwVrfUj.js} +5 -5
- package/dist/vue-ui-thermometer-I6ZnlfAv.js +440 -0
- package/dist/vue-ui-thermometer-hQBkMa7u.cjs +1 -0
- package/dist/{vue-ui-timer-DM1IStj1.cjs → vue-ui-timer-COOXcn14.cjs} +1 -1
- package/dist/{vue-ui-timer-COSI3Q5T.js → vue-ui-timer-pi1SazTU.js} +5 -5
- package/dist/vue-ui-tiremarks-hdNqoGyd.cjs +1 -0
- package/dist/vue-ui-tiremarks-vdPQYiDp.js +303 -0
- package/dist/vue-ui-treemap-3FNUlKxL.js +816 -0
- package/dist/vue-ui-treemap-Cv0TSFQa.cjs +1 -0
- package/dist/vue-ui-vertical-bar-C--Ma0Dw.cjs +4 -0
- package/dist/{vue-ui-vertical-bar-CieqHVD5.js → vue-ui-vertical-bar-DwxpB46q.js} +312 -288
- package/dist/vue-ui-waffle-CKM0QyJN.cjs +1 -0
- package/dist/vue-ui-waffle-XecHJIc-.js +782 -0
- package/dist/vue-ui-wheel-Bbih5sSL.js +282 -0
- package/dist/vue-ui-wheel-C0dJrzOJ.cjs +1 -0
- package/dist/vue-ui-word-cloud-Cfd2wxsT.cjs +1 -0
- package/dist/vue-ui-word-cloud-DnhXUn5x.js +598 -0
- package/dist/vue-ui-xy-BDpqVzAq.cjs +3 -0
- package/dist/{vue-ui-xy-x8KEsGV-.js → vue-ui-xy-CqlRuFMc.js} +775 -751
- package/dist/{vue-ui-xy-canvas-BYdTxzi6.js → vue-ui-xy-canvas-C8c2X5fk.js} +409 -385
- package/dist/vue-ui-xy-canvas-Cansjd3L.cjs +9 -0
- package/package.json +1 -1
- package/dist/BaseIcon-E7FmzMcY.cjs +0 -1
- package/dist/index-C7_6YjWN.cjs +0 -9
- package/dist/usePrinter-8EP4iaGm.cjs +0 -1
- package/dist/vue-data-ui-4Yd255Ia.cjs +0 -9
- package/dist/vue-data-ui-Cp7bO_tj.js +0 -258
- package/dist/vue-ui-3d-bar-BeR2aBgQ.cjs +0 -19
- package/dist/vue-ui-age-pyramid-R-C4P4mI.cjs +0 -1
- package/dist/vue-ui-bullet-CQKaC4wG.js +0 -409
- package/dist/vue-ui-bullet-DSZox236.cjs +0 -23
- package/dist/vue-ui-candlestick-Dilozp3V.cjs +0 -2
- package/dist/vue-ui-chestnut-DdEcEI04.cjs +0 -6
- package/dist/vue-ui-donut-DTSVlGMg.cjs +0 -1
- package/dist/vue-ui-donut-evolution-BuUafabD.cjs +0 -1
- package/dist/vue-ui-dumbbell-CVfgnyKi.cjs +0 -9
- package/dist/vue-ui-flow-C45dODaB.cjs +0 -1
- package/dist/vue-ui-flow-DkPTzNv9.js +0 -484
- package/dist/vue-ui-galaxy-DlPavMK0.cjs +0 -1
- package/dist/vue-ui-gauge-BXiy515T.js +0 -494
- package/dist/vue-ui-gauge-vMFUYHYH.cjs +0 -1
- package/dist/vue-ui-heatmap-CMQqQnxc.cjs +0 -1
- package/dist/vue-ui-molecule-BwmkMEVN.js +0 -774
- package/dist/vue-ui-molecule-nOuD0hR5.cjs +0 -1
- package/dist/vue-ui-mood-radar-Bof_C9Ae.cjs +0 -1
- package/dist/vue-ui-nested-donuts-DIb6YyWv.cjs +0 -17
- package/dist/vue-ui-onion-N3tRNc4u.cjs +0 -5
- package/dist/vue-ui-parallel-coordinate-plot-qKGk2bX6.cjs +0 -8
- package/dist/vue-ui-quadrant-Do48rGrX.cjs +0 -1
- package/dist/vue-ui-quick-chart-BxU4d-sJ.cjs +0 -15
- package/dist/vue-ui-radar-CooAvwPA.cjs +0 -1
- package/dist/vue-ui-relation-circle-nRf1pvD0.js +0 -325
- package/dist/vue-ui-relation-circle-uNgJni4x.cjs +0 -1
- package/dist/vue-ui-rings-BgRc1o4_.js +0 -569
- package/dist/vue-ui-rings-iIgQI9Ws.cjs +0 -2
- package/dist/vue-ui-scatter-CkrpmLxP.cjs +0 -1
- package/dist/vue-ui-stackbar-CRcUugkl.cjs +0 -6
- package/dist/vue-ui-stackbar-DNROvZII.js +0 -915
- package/dist/vue-ui-strip-plot-Ck9Fmt_b.cjs +0 -1
- package/dist/vue-ui-thermometer-BFfN4aat.cjs +0 -1
- package/dist/vue-ui-thermometer-BePmFiwy.js +0 -416
- package/dist/vue-ui-tiremarks-BkYXzU3R.cjs +0 -1
- package/dist/vue-ui-tiremarks-d6TmSHY7.js +0 -279
- package/dist/vue-ui-treemap-BgeZnbl3.cjs +0 -1
- package/dist/vue-ui-treemap-Qg0858o6.js +0 -792
- package/dist/vue-ui-vertical-bar-D3atbdvl.cjs +0 -4
- package/dist/vue-ui-waffle-CD7C9Lu4.cjs +0 -1
- package/dist/vue-ui-waffle-CjNhM-mV.js +0 -758
- package/dist/vue-ui-wheel-B8mbO6ht.js +0 -258
- package/dist/vue-ui-wheel-CYmM7J61.cjs +0 -1
- package/dist/vue-ui-word-cloud-DMXrUmX5.js +0 -574
- package/dist/vue-ui-word-cloud-Dm9yZ1zQ.cjs +0 -1
- package/dist/vue-ui-xy-DoWnidom.cjs +0 -3
- package/dist/vue-ui-xy-canvas-DHs5sb3t.cjs +0 -9
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./index-FfZRtJ6A.cjs"),U=require("./useResponsive-B3TrDDIG.cjs"),oe=require("./Title-Co5jI5ed.cjs"),j=require("./usePrinter-BCAFeO_J.cjs"),re=require("./DataTable-DJzhv96s.cjs"),se=require("./vue-ui-skeleton-Djv08J67.cjs"),ne=require("./Legend-YZ7Hz3o1.cjs"),ue=require("./vue-ui-accordion-xXgqfR2l.cjs"),Y=require("./useNestedProp-q7byAAIJ.cjs"),ce=require("./PackageVersion-DVZtsuy4.cjs"),ie=require("./PenAndPaper-CyXm-yVL.cjs"),de=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ve=["id"],he=["xmlns","viewBox"],ye={key:0},fe=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],me={key:1},be=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],pe=["x1","x2","y1","y2","stroke","stroke-width","stroke-dasharray"],ge={key:2},ke=["x","y","font-size","fill","font-weight"],_e=["x","y","font-size","fill"],xe={key:3},Ce=["x","y","font-size","fill","font-weight"],we=["id"],Be=["stop-color"],Ne=["stop-color"],Ee=["stop-color"],Le=["id"],$e=["stop-color"],Ve=["stop-color"],Se=["stop-color"],ze=["id"],Ae=["stop-color"],Pe=["stop-color"],Xe=["id"],Te=["stop-color"],De=["stop-color"],Fe={key:0},Me=["d","fill"],Ge={key:1},Ie=["x","y","height","width","fill"],Oe=["cx","cy","r","fill","stroke","stroke-width"],qe=["cx","cy","r","fill","stroke","stroke-width"],He={key:2},Re=["x","y","fill","font-size"],We={key:3},Ue=["x","y","fill","font-size"],je={key:4,class:"vue-data-ui-watermark"},Ye=["xmlns","height","width"],Ze=["fill"],Je=["innerHTML"],Ke={__name:"vue-ui-dumbbell",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectDatapoint"],setup(Z,{expose:J,emit:et}){const y=Z,{vue_ui_dumbbell:K}=s.useConfig(),b=e.computed({get(){return!!y.dataset&&y.dataset.length},set(a){return a}}),d=e.ref(s.createUid()),V=e.ref(0),p=e.ref(null),S=e.ref(null),z=e.ref(null),A=e.ref(0),P=e.ref(0),X=e.ref(0),t=e.computed({get:()=>T(),set:a=>a});function T(){const a=Y.useNestedProp({userConfig:y.config,defaultConfig:K});return a.theme?{...Y.useNestedProp({userConfig:s.themes.vue_ui_dumbbell[a.theme]||y.config,defaultConfig:a})}:a}e.watch(()=>y.config,a=>{t.value=T(),D(),A.value+=1,P.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=>{q()},{deep:!0});const _=e.ref(null);e.onMounted(()=>{D()});function D(){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=U.throttle(()=>{const{width:n,height:l}=U.useResponsive({chart:p.value,title:t.value.style.chart.title.text?S.value:null,legend:t.value.style.chart.legend.show?z.value:null});g.value=n,i.value=l/y.dataset.length,v.value=C()});_.value=new ResizeObserver(a),_.value.observe(p.value.parentNode)}}e.onBeforeUnmount(()=>{_.value&&_.value.disconnect()});const{isPrinting:F,isImaging:M,generatePdf:G,generateImage:I}=j.usePrinter({elementId:`dumbbell_${d.value}`,fileName:t.value.style.chart.title.text||"vue-ui-dumbbell"}),x=e.ref({showTable:t.value.table.show}),f=e.computed(()=>y.dataset.map((a,n)=>({...a,start:s.checkNaN(a.start),end:s.checkNaN(a.end),id:s.createUid()}))),E=e.computed(()=>({max:Math.max(...f.value.flatMap(a=>[a.start,a.end])),min:Math.min(...f.value.flatMap(a=>[a.start,a.end]))})),c=e.computed(()=>s.calculateNiceScale(E.value.min<0?E.value.min:0,E.value.max,t.value.style.chart.grid.scaleSteps)),i=e.ref(t.value.style.chart.rowHeight),g=e.ref(t.value.style.chart.width),r=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,o=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:o}});function C(){return f.value.map((a,n)=>{const l=r.value.left+(a.start+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*r.value.widthPlotReference,o=r.value.left+(a.end+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*r.value.widthPlotReference,u=l+(o-l)/2;return{...a,startX:l,endX:o,centerX:u,y:r.value.top+n*i.value+i.value/2,endVal:a.start}})}const v=e.ref([]),O=e.ref(null),Q=e.computed(()=>f.value.map(a=>a.end).reduce((a,n)=>a+n,0));e.onMounted(()=>{q()});function q(){v.value=C();let a=v.value.map(l=>l.start).reduce((l,o)=>l+o,0);function n(){const l=f.value.map(o=>o.end-o.start);a>=Q.value?(cancelAnimationFrame(O.value),v.value=C()):(v.value=v.value.map((o,u)=>{o.endVal+=l[u]*(t.value.animationSpeed/100);const h=r.value.left+(o.start+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*r.value.widthPlotReference,N=r.value.left+(o.endVal+Math.abs(c.value.min))/(c.value.max+Math.abs(c.value.min))*r.value.widthPlotReference,$=h+(N-h)/2;return{...o,startX:h,endX:N,centerX:$,y:r.value.top+u*i.value+i.value/2,endVal:o.endVal}}),a=v.value.map(o=>o.endVal).reduce((o,u)=>o+u,0),O.value=requestAnimationFrame(n))}t.value.useAnimation?n():v.value=C()}const H=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}]),ee=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":""})),m=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=m.value.head.map((u,h)=>{const N=s.dataLabel({p:t.value.style.chart.labels.prefix,v:m.value.body[h].start,s:t.value.style.chart.labels.suffix,r:t.value.table.td.roundingValue}),$=s.dataLabel({p:t.value.style.chart.labels.prefix,v:m.value.body[h].end,s:t.value.style.chart.labels.suffix,r:t.value.table.td.roundingValue}),ae=s.dataLabel({v:100*(m.value.body[h].end/m.value.body[h].start-1),s:"%",r:t.value.table.td.roundingPercentage});return[{name:u.name},N,$,ae]}),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 R(){e.nextTick(()=>{const a=m.value.head.map((o,u)=>[[o.name],[m.value.body[u].start],[m.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 k=e.ref(!1);function te(a){k.value=a,V.value+=1}function le(){return v.value}function W(){x.value.showTable=!x.value.showTable}const B=e.ref(!1);function L(){B.value=!B.value}return J({getData:le,generatePdf:G,generateCsv:R,generateImage:I,toggleTable:W,toggleAnnotator:L}),(a,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dumbbellChart",ref:p,class:e.normalizeClass(`vue-ui-dumbbell ${k.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.userOptions.buttons.annotator?(e.openBlock(),e.createBlock(ie.PenAndPaper,{key:0,parent:p.value,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,active:B.value,onClose:L},null,8,["parent","backgroundColor","color","active"])):e.createCommentVNode("",!0),t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"chartTitle",ref:S,style:"width:100%;background:transparent;padding-bottom:24px"},[(e.openBlock(),e.createBlock(oe._sfc_main,{key:`title_${A.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(j.UserOptions,{ref:"details",key:`user_option_${V.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(F),isImaging:e.unref(M),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:k.value,titles:{...t.value.userOptions.buttonTitles},chartElement:p.value,position:t.value.userOptions.position,hasAnnotator:t.value.userOptions.buttons.annotator,isAnnotation:B.value,onToggleFullscreen:te,onGeneratePdf:e.unref(G),onGenerateCsv:R,onGenerateImage:e.unref(I),onToggleTable:W,onToggleAnnotator:L},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:o})=>[e.renderSlot(a.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:o})),void 0,!0)]),key:"4"}:void 0,a.$slots.optionAnnotator?{name:"optionAnnotator",fn:e.withCtx(({toggleAnnotator:l,isAnnotator:o})=>[e.renderSlot(a.$slots,"optionAnnotator",e.normalizeProps(e.guardReactiveProps({toggleAnnotator:l,isAnnotator:o})),void 0,!0)]),key:"5"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","hasAnnotator","isAnnotation","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createElementBlock("svg",{key:3,xmlns:e.unref(s.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":k.value,"vue-data-ui-fulscreen--off":!k.value}),viewBox:`0 0 ${r.value.absoluteWidth<=0?10:r.value.absoluteWidth} ${r.value.absoluteHeight<=0?10:r.value.absoluteHeight}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createVNode(ce._sfc_main),t.value.style.chart.grid.verticalGrid.show?(e.openBlock(),e.createElementBlock("g",ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value.ticks,(l,o)=>(e.openBlock(),e.createElementBlock("line",{x1:r.value.left+o*r.value.width/(c.value.ticks.length-1),x2:r.value.left+o*r.value.width/(c.value.ticks.length-1),y1:r.value.top,y2:r.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,fe))),256))])):e.createCommentVNode("",!0),t.value.style.chart.grid.horizontalGrid.show?(e.openBlock(),e.createElementBlock("g",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(l,o)=>(e.openBlock(),e.createElementBlock("line",{x1:r.value.left,x2:r.value.right,y1:r.value.top+o*i.value,y2:r.value.top+o*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,be))),256)),e.createElementVNode("line",{x1:r.value.left,x2:r.value.right,y1:r.value.bottom,y2:r.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,pe)])):e.createCommentVNode("",!0),t.value.style.chart.labels.yAxisLabels.show?(e.openBlock(),e.createElementBlock("g",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(l,o)=>(e.openBlock(),e.createElementBlock("text",{x:r.value.left-6+t.value.style.chart.labels.yAxisLabels.offsetX,y:r.value.top+o*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,ke))),256)),t.value.style.chart.labels.yAxisLabels.showProgression?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(f.value,(l,o)=>(e.openBlock(),e.createElementBlock("text",{x:r.value.left-6+t.value.style.chart.labels.yAxisLabels.offsetX,y:r.value.top+o*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,_e))),256)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.value.style.chart.labels.xAxisLabels.show?(e.openBlock(),e.createElementBlock("g",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value.ticks,(l,o)=>(e.openBlock(),e.createElementBlock("text",{x:r.value.left+o*(r.value.width/(c.value.ticks.length-1)),y:r.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:o})),9,Ce))),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,Be),e.createElementVNode("stop",{offset:"90%","stop-color":e.unref(s.darkenHexColor)(t.value.style.chart.plots.startColor,.1)},null,8,Ne),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.startColor},null,8,Ee)],8,we),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,$e),e.createElementVNode("stop",{offset:"90%","stop-color":e.unref(s.darkenHexColor)(t.value.style.chart.plots.endColor,.1)},null,8,Ve),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.endColor},null,8,Se)],8,Le)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(l,o)=>(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,Ae),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.endColor},null,8,Pe)],8,ze),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,Te),e.createElementVNode("stop",{offset:"100%","stop-color":t.value.style.chart.plots.startColor},null,8,De)],8,Xe)]),t.value.style.chart.plots.link.type==="curved"?(e.openBlock(),e.createElementBlock("g",Fe,[e.createElementVNode("path",{d:`M
|
|
2
|
+
${l.startX},${l.y+t.value.style.chart.plots.radius/2}
|
|
3
|
+
C ${l.centerX},${l.y} ${l.centerX},${l.y}
|
|
4
|
+
${l.endX},${l.y+t.value.style.chart.plots.radius/2}
|
|
5
|
+
L ${l.endX},${l.y-t.value.style.chart.plots.radius/2}
|
|
6
|
+
C ${l.centerX},${l.y} ${l.centerX},${l.y}
|
|
7
|
+
${l.startX},${l.y-t.value.style.chart.plots.radius/2}
|
|
8
|
+
Z
|
|
9
|
+
`,fill:l.endX>l.startX?`url(#grad_positive_${d.value})`:`url(#grad_negative_${d.value})`},null,8,Me)])):(e.openBlock(),e.createElementBlock("g",Ge,[e.createElementVNode("rect",{x:l.endX>l.startX?l.startX:l.endX,y:l.y-t.value.style.chart.plots.link.strokeWidth/2,height:t.value.style.chart.plots.link.strokeWidth,width:Math.abs(l.endX-l.startX),fill:l.endX>l.startX?`url(#grad_positive_${d.value})`:`url(#grad_negative_${d.value})`},null,8,Ie)])),e.createElementVNode("circle",{cx:l.startX,cy:l.y,r:t.value.style.chart.plots.radius,fill:t.value.style.chart.plots.gradient.show?`url(#start_grad_${d.value})`:t.value.style.chart.plots.startColor,stroke:t.value.style.chart.plots.stroke,"stroke-width":t.value.style.chart.plots.strokeWidth},null,8,Oe),e.createElementVNode("circle",{cx:l.endX,cy:l.y,r:t.value.style.chart.plots.radius,fill:t.value.style.chart.plots.gradient.show?`url(#end_grad_${d.value})`:t.value.style.chart.plots.endColor,stroke:t.value.style.chart.plots.stroke,"stroke-width":t.value.style.chart.plots.strokeWidth},null,8,qe),t.value.style.chart.labels.startLabels.show?(e.openBlock(),e.createElementBlock("g",He,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(u,h)=>(e.openBlock(),e.createElementBlock("text",{x:u.startX,y:r.value.top+(h+1)*i.value-t.value.style.chart.labels.startLabels.fontSize/3+t.value.style.chart.labels.startLabels.offsetY,fill:t.value.style.chart.labels.startLabels.useStartColor?t.value.style.chart.plots.startColor:t.value.style.chart.labels.startLabels.color,"font-size":t.value.style.chart.labels.startLabels.fontSize,"text-anchor":"middle"},e.toDisplayString(e.unref(s.applyDataLabel)(t.value.style.chart.labels.formatter,u.start,e.unref(s.dataLabel)({p:t.value.style.chart.labels.prefix,v:u.start,s:t.value.style.chart.labels.suffix,r:t.value.style.chart.labels.startLabels.rounding}),{datapoint:u,seriesIndex:h})),9,Re))),256))])):e.createCommentVNode("",!0),t.value.style.chart.labels.endLabels.show?(e.openBlock(),e.createElementBlock("g",We,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(u,h)=>(e.openBlock(),e.createElementBlock("text",{x:u.endX,y:r.value.top+h*i.value+t.value.style.chart.labels.endLabels.fontSize+t.value.style.chart.labels.endLabels.offsetY,fill:t.value.style.chart.labels.endLabels.useEndColor?t.value.style.chart.plots.endColor:t.value.style.chart.labels.endLabels.color,"font-size":t.value.style.chart.labels.endLabels.fontSize,"text-anchor":"middle"},e.toDisplayString(e.unref(s.applyDataLabel)(t.value.style.chart.labels.formatter,u.end,e.unref(s.dataLabel)({p:t.value.style.chart.labels.prefix,v:u.end,s:t.value.style.chart.labels.suffix,r:t.value.style.chart.labels.endLabels.rounding}),{datapoint:u,seriesIndex:h})),9,Ue))),256))])):e.createCommentVNode("",!0)]))),256)),e.renderSlot(a.$slots,"svg",{svg:r.value},void 0,!0)],14,he)):e.createCommentVNode("",!0),a.$slots.watermark?(e.openBlock(),e.createElementBlock("div",je,[e.renderSlot(a.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(F)||e.unref(M)})),void 0,!0)])):e.createCommentVNode("",!0),b.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(se.default,{key:5,config:{type:"dumbbell",style:{backgroundColor:t.value.style.chart.backgroundColor,dumbbell:{color:"#CCCCCC"}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:z},[t.value.style.chart.legend.show&&b.value?(e.openBlock(),e.createBlock(ne.Legend,{key:`legend_${X.value}`,legendSet:H.value,config:ee.value},{item:e.withCtx(({legend:l})=>[e.createElementVNode("div",{style:e.normalizeStyle(`display:flex;align-items:center;gap:4px;font-size:${t.value.style.chart.legend.fontSize}px`)},[(e.openBlock(),e.createElementBlock("svg",{xmlns:e.unref(s.XMLNS),viewBox:"0 0 20 20",height:t.value.style.chart.legend.fontSize,width:t.value.style.chart.legend.fontSize},[e.createElementVNode("circle",{cx:10,cy:10,r:9,fill:l.color},null,8,Ze)],8,Ye)),e.createTextVNode(" "+e.toDisplayString(l.name),1)],4)]),_:1},8,["legendSet","config"])):e.renderSlot(a.$slots,"legend",{key:1,legend:H.value},void 0,!0)],512),b.value?(e.openBlock(),e.createBlock(ue.default,{key:6,hideDetails:"",config:{open:x.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(re.DataTable,{key:`table_${P.value}`,colNames:w.value.colNames,head:w.value.head,body:w.value.body,config:w.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[0]||(n[0]=l=>x.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createElementVNode("div",{innerHTML:l,style:{display:"flex","align-items":"center"}},null,8,Je)]),td:e.withCtx(({td:l})=>[e.createTextVNode(e.toDisplayString(l.name||l),1)]),_:1},8,["colNames","head","body","config","title"]))]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,ve))}},Qe=de._export_sfc(Ke,[["__scopeId","data-v-546fc153"]]);exports.default=Qe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./index-FfZRtJ6A.cjs"),he=require("./Title-Co5jI5ed.cjs"),K=require("./usePrinter-BCAFeO_J.cjs"),me=require("./DataTable-DJzhv96s.cjs"),pe=require("./vue-ui-accordion-xXgqfR2l.cjs"),ge=require("./vue-ui-skeleton-Djv08J67.cjs"),Q=require("./useNestedProp-q7byAAIJ.cjs"),ke=require("./PackageVersion-DVZtsuy4.cjs"),ye=require("./PenAndPaper-CyXm-yVL.cjs"),be=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),Ce=["id"],we={key:1,style:"width:100%;background:transparent;padding-bottom:24px"},Ne=["xmlns","viewBox"],xe=["id"],$e=["stop-color"],Be=["stop-color"],_e=["d","fill","stroke","stroke-width"],Pe=["x","y","height","width","fill","stroke","stroke-width","onMouseenter"],Ee=["x","y","font-size","fill"],Se=["x","y","font-size","fill"],Te={key:3,class:"vue-data-ui-watermark"},Fe=["innerHTML"],Le={__name:"vue-ui-flow",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(ee,{expose:te}){const f=ee,{vue_ui_flow:oe}=s.useConfig(),$=e.computed(()=>!!f.dataset&&f.dataset.length);e.onMounted(()=>{z()});function z(){s.objectIsEmpty(f.dataset)&&s.error({componentName:"VueUiFlow",type:"dataset"})}const B=e.ref(s.createUid()),_=e.ref(null),I=e.ref(0),O=e.ref(0),y=e.ref(!1);function le(o){y.value=o,I.value+=1}const t=e.computed({get:()=>A(),set:o=>o});function A(){const o=Q.useNestedProp({userConfig:f.config,defaultConfig:oe});return o.theme?{...Q.useNestedProp({userConfig:s.themes.vue_ui_flow[o.theme]||f.config,defaultConfig:o}),customPalette:s.themePalettes[o.theme]||s.palette}:o}e.watch(()=>f.config,o=>{t.value=A(),z(),O.value+=1},{deep:!0});const{isPrinting:H,isImaging:V,generatePdf:M,generateImage:D}=K.usePrinter({elementId:`flow_${B.value}`,fileName:t.value.style.chart.title.text||"vue-ui-flow"}),P=e.computed(()=>s.convertCustomPalette(t.value.customPalette)),q=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=e.computed(()=>!f.dataset||!f.dataset.length?[]:f.dataset.map(o=>[o[0],o[1],s.checkNaN(o[2])])),G=e.computed(()=>{const o={};function n(r){o[r]||(o[r]={inflow:0,outflow:0})}E.value.forEach(([r,a,c])=>{n(r),n(a),o[r].outflow+=c,o[a].inflow+=c});let l=0;for(const r in o){const a=Math.max(o[r].inflow,o[r].outflow);l=Math.max(l,a)}return l});function ne(o){return o/G.value*100+t.value.style.chart.nodes.minHeight}function ae(o){const n=t.value.style.chart.nodes.minHeight;return(o-n)/100*G.value}function re(o){const n={},l={};function r(u,i){n[u]||(n[u]={height:0,level:null,inflow:0,outflow:0}),n[u].level===null&&(n[u].level=i),l[i]||(l[i]=[]),l[i].includes(u)||l[i].push(u)}o.forEach(([u,i,v],k)=>{const p=n[u]?n[u].level:0,x=p+1;r(u,p),r(i,x),n[u].children||(n[u].children=[]),n[u].children.push({target:i,value:v}),n[u].outflow+=v,n[i].inflow+=v}),Object.keys(n).forEach((u,i)=>{n[u].color=P.value[i]||P.value[i%P.value.length]||s.palette[i]||s.palette[i%d.length]});for(const u in n)n[u].height=ne(Math.max(n[u].inflow,n[u].outflow)),n[u].name=u;const a={};for(const u in l){let i=0;l[u].forEach((v,k)=>{const p=n[v].height;a[v]={x:parseInt(u,10)*Y.value+t.value.style.chart.padding.left,y:i,absoluteY:i,height:p,i:k,color:n[v].color,value:ae(p)},i+=p+q.value})}const c=[];for(const u in n){let i=a[u].absoluteY;n[u].children&&n[u].children.forEach(({target:v,value:k},p)=>{const x=a[v].y,F=a[u],L=a[v],X=s.checkNaN(i),R=s.checkNaN(i+k/n[u].outflow*F.height),Z=s.checkNaN(x),J=s.checkNaN(x+k/n[v].inflow*L.height),fe={id:s.createUid(),source:u,target:v,path:`M ${s.checkNaN(F.x)+s.checkNaN(g.value)} ${X} L ${s.checkNaN(F.x)+s.checkNaN(g.value)} ${R} L ${s.checkNaN(L.x)} ${J} L ${s.checkNaN(L.x)} ${Z} Z`,value:k,sourceColor:n[u].color,targetColor:n[v].color};c.push(fe),i+=R-X,a[v].y+=J-Z})}return{nodeCoordinates:a,links:c}}const h=e.computed(()=>{const o=re(f.dataset);return{nodes:Object.keys(o.nodeCoordinates).map((n,l)=>({...o.nodeCoordinates[n],name:n})),links:o.links}}),se=e.computed(()=>ue(h.value.nodes));function ue(o){const n={};for(const r in o){const{x:a,height:c}=o[r];n[a]||(n[a]=0),n[a]+=c+q.value}return Math.max(...Object.values(n))}const S=e.computed(()=>{const{top:o,right:n,left:l,bottom:r}=t.value.style.chart.padding,a=E.value.length*Y.value;return{height:se.value+o+r,width:n+Math.max(...h.value.nodes.map(c=>c.x))+g.value,left:l,top:o,right:a-n,p_top:o,p_bottom:r}});function ie(o){const n={},l={},r=new Set;return E.value.forEach(([a,c,u])=>{n[a]||(n[a]=[]),l[c]||(l[c]=[]),n[a].push(c),l[c].push(a)}),n[o]&&n[o].forEach(a=>r.add(a)),l[o]&&l[o].forEach(a=>r.add(a)),Array.from(r).concat(o)}const m=e.ref(null),C=e.ref(null);function ce(o){m.value=ie(o.name),C.value=o.name}function de(){m.value=null,C.value=null}const U=e.computed(()=>h.value.links.map(({source:o,target:n,sourceColor:l,targetColor:r,value:a})=>({source:o,target:n,sourceColor:l,targetColor:r,value:a})));function j(){e.nextTick(()=>{const o=U.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(o),l=s.createCsvContent(n);s.downloadCsv({csvContent:l,title:t.value.style.chart.title.text||"vue-ui-flow"})})}const w=e.computed(()=>{const o=[t.value.table.columnNames.source,t.value.table.columnNames.target,t.value.table.columnNames.value],n=U.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})]),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.source,t.value.table.columnNames.target,t.value.table.columnNames.value],head:o,body:n,config:l}});function ve(){return h.value}function W(){b.value.showTable=!b.value.showTable}const N=e.ref(!1);function T(){N.value=!N.value}return te({getData:ve,generateCsv:j,generateImage:D,generatePdf:M,toggleTable:W,toggleAnnotator:T}),(o,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowChart",ref:_,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_${B.value}`},[t.value.userOptions.buttons.annotator?(e.openBlock(),e.createBlock(ye.PenAndPaper,{key:0,parent:_.value,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,active:N.value,onClose:T},null,8,["parent","backgroundColor","color","active"])):e.createCommentVNode("",!0),t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",we,[(e.openBlock(),e.createBlock(he._sfc_main,{key:`title_${O.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&&$.value?(e.openBlock(),e.createBlock(K.UserOptions,{ref:"details",key:`user_option_${I.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(H),isImaging:e.unref(V),uid:B.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:_.value,position:t.value.userOptions.position,hasAnnotator:t.value.userOptions.buttons.annotator,isAnnotation:N.value,onToggleFullscreen:le,onGeneratePdf:e.unref(M),onGenerateCsv:j,onGenerateImage:e.unref(D),onToggleTable:W,onToggleAnnotator:T},e.createSlots({_:2},[o.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionPdf",{},void 0,!0)]),key:"0"}:void 0,o.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionCsv",{},void 0,!0)]),key:"1"}:void 0,o.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionImg",{},void 0,!0)]),key:"2"}:void 0,o.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"optionTable",{},void 0,!0)]),key:"3"}:void 0,o.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:l,isFullscreen:r})=>[e.renderSlot(o.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:l,isFullscreen:r})),void 0,!0)]),key:"4"}:void 0,o.$slots.optionAnnotator?{name:"optionAnnotator",fn:e.withCtx(({toggleAnnotator:l,isAnnotator:r})=>[e.renderSlot(o.$slots,"optionAnnotator",e.normalizeProps(e.guardReactiveProps({toggleAnnotator:l,isAnnotator:r})),void 0,!0)]),key:"5"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isFullscreen","titles","chartElement","position","hasAnnotator","isAnnotation","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{xmlns:e.unref(s.XMLNS),viewBox:`0 0 ${S.value.width} ${S.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.createVNode(ke._sfc_main),e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.links,(l,r)=>(e.openBlock(),e.createElementBlock("linearGradient",{id:l.id,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":l.sourceColor},null,8,$e),e.createElementVNode("stop",{offset:"100%","stop-color":l.targetColor},null,8,Be)],8,xe))),256))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.links,l=>(e.openBlock(),e.createElementBlock("path",{class:"vue-ui-flow-link",d:l.path,fill:`url(#${l.id})`,stroke:t.value.style.chart.links.stroke,"stroke-width":t.value.style.chart.links.strokeWidth,style:e.normalizeStyle(`opacity:${C.value?[l.target,l.source].includes(C.value)?1:.3:t.value.style.chart.links.opacity}`)},null,12,_e))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.nodes,(l,r)=>(e.openBlock(),e.createElementBlock("rect",{class:"vue-ui-flow-node",x:l.x,y:e.unref(s.checkNaN)(l.absoluteY),height:e.unref(s.checkNaN)(l.height),width:g.value,fill:l.color,stroke:t.value.style.chart.nodes.stroke,"stroke-width":t.value.style.chart.nodes.strokeWidth,onMouseenter:a=>ce(l),onMouseleave:n[0]||(n[0]=a=>de()),style:e.normalizeStyle(`opacity:${m.value?m.value.includes(l.name)?1:.2:1}`)},null,44,Pe))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.nodes,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:l.x+g.value/2,y:e.unref(s.checkNaN)(l.absoluteY+l.height/2-t.value.style.chart.nodes.labels.fontSize/4),"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(s.adaptColorToBackground)(l.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(l.name)?1:0:1}`)},e.toDisplayString(t.value.style.chart.nodes.labels.abbreviation.use?e.unref(s.abbreviate)({source:l.name,length:t.value.style.chart.nodes.labels.abbreviation.length}):l.name),13,Ee))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value.nodes,(l,r)=>(e.openBlock(),e.createElementBlock("text",{x:l.x+g.value/2,y:e.unref(s.checkNaN)(l.absoluteY+l.height/2+t.value.style.chart.nodes.labels.fontSize),"font-size":t.value.style.chart.nodes.labels.fontSize,fill:e.unref(s.adaptColorToBackground)(l.color),"text-anchor":"middle",style:e.normalizeStyle(`pointer-events: none; opacity:${m.value?m.value.includes(l.name)?1:0:1}`)},e.toDisplayString(e.unref(s.applyDataLabel)(t.value.style.chart.nodes.labels.formatter,l.value,e.unref(s.dataLabel)({p:t.value.style.chart.nodes.labels.prefix,v:l.value,s:t.value.style.chart.nodes.labels.suffix,r:t.value.style.chart.nodes.labels.rounding}),{datapoint:l,seriesIndex:r})),13,Se))),256)),e.renderSlot(o.$slots,"svg",{svg:S.value},void 0,!0)],14,Ne)),o.$slots.watermark?(e.openBlock(),e.createElementBlock("div",Te,[e.renderSlot(o.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(H)||e.unref(V)})),void 0,!0)])):e.createCommentVNode("",!0),$.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ge.default,{key:4,config:{type:"flow",style:{backgroundColor:t.value.style.chart.backgroundColor}}},null,8,["config"])),$.value?(e.openBlock(),e.createBlock(pe.default,{key:5,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(me.DataTable,{colNames:w.value.colNames,head:w.value.head,body:w.value.body,config:w.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]=l=>b.value.showTable=!1)},{th:e.withCtx(({th:l})=>[e.createElementVNode("div",{innerHTML:l,style:{display:"flex","align-items":"center"}},null,8,Fe)]),td:e.withCtx(({td:l})=>[e.createTextVNode(e.toDisplayString(l.name||l),1)]),_:1},8,["colNames","head","body","config","title"])]),_:1},8,["config"])):e.createCommentVNode("",!0)],14,Ce))}},ze=be._export_sfc(Le,[["__scopeId","data-v-b1626dda"]]);exports.default=ze;
|
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
import { computed as m, onMounted as He, ref as b, watch as Ee, openBlock as u, createElementBlock as h, normalizeClass as he, normalizeStyle as _, createBlock as P, createCommentVNode as N, unref as i, createSlots as Se, withCtx as y, renderSlot as w, normalizeProps as X, guardReactiveProps as W, createVNode as me, createElementVNode as S, Fragment as F, renderList as I, toDisplayString as q, createTextVNode as Me, nextTick as ze } from "vue";
|
|
2
|
+
import { u as Ye, o as De, e as Ge, c as ge, t as Be, a as Ue, p as K, b as Ve, v, f as pe, X as je, F as be, K as Xe, i as We, q as qe, r as Ke } from "./index-DnVHQ2xI.js";
|
|
3
|
+
import { _ as Re } from "./Title-5VmBwT4i.js";
|
|
4
|
+
import { u as Ze, U as Je } from "./usePrinter-BEeNAqS5.js";
|
|
5
|
+
import { D as Qe } from "./DataTable-DTk7C4Pr.js";
|
|
6
|
+
import et from "./vue-ui-accordion-DspS4q3f.js";
|
|
7
|
+
import tt from "./vue-ui-skeleton-aZmkNzAe.js";
|
|
8
|
+
import { u as ye } from "./useNestedProp-Cox0K0Y5.js";
|
|
9
|
+
import { _ as ot } from "./PackageVersion-CvCRsT5_.js";
|
|
10
|
+
import { P as lt } from "./PenAndPaper-Jb0pLt3G.js";
|
|
11
|
+
import { _ as at } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
12
|
+
const nt = ["id"], st = {
|
|
13
|
+
key: 1,
|
|
14
|
+
style: "width:100%;background:transparent;padding-bottom:24px"
|
|
15
|
+
}, rt = ["xmlns", "viewBox"], ut = ["id"], it = ["stop-color"], ct = ["stop-color"], dt = ["d", "fill", "stroke", "stroke-width"], vt = ["x", "y", "height", "width", "fill", "stroke", "stroke-width", "onMouseenter"], ft = ["x", "y", "font-size", "fill"], ht = ["x", "y", "font-size", "fill"], mt = {
|
|
16
|
+
key: 3,
|
|
17
|
+
class: "vue-data-ui-watermark"
|
|
18
|
+
}, gt = ["innerHTML"], pt = {
|
|
19
|
+
__name: "vue-ui-flow",
|
|
20
|
+
props: {
|
|
21
|
+
config: {
|
|
22
|
+
type: Object,
|
|
23
|
+
default() {
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
dataset: {
|
|
28
|
+
type: Array,
|
|
29
|
+
default() {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
setup(ke, { expose: we }) {
|
|
35
|
+
const g = ke, { vue_ui_flow: Ce } = Ye(), M = m(() => !!g.dataset && g.dataset.length);
|
|
36
|
+
He(() => {
|
|
37
|
+
R();
|
|
38
|
+
});
|
|
39
|
+
function R() {
|
|
40
|
+
De(g.dataset) && Ge({
|
|
41
|
+
componentName: "VueUiFlow",
|
|
42
|
+
type: "dataset"
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const z = b(ge()), Y = b(null), Z = b(0), J = b(0), T = b(!1);
|
|
46
|
+
function $e(t) {
|
|
47
|
+
T.value = t, Z.value += 1;
|
|
48
|
+
}
|
|
49
|
+
const e = m({
|
|
50
|
+
get: () => Q(),
|
|
51
|
+
set: (t) => t
|
|
52
|
+
});
|
|
53
|
+
function Q() {
|
|
54
|
+
const t = ye({
|
|
55
|
+
userConfig: g.config,
|
|
56
|
+
defaultConfig: Ce
|
|
57
|
+
});
|
|
58
|
+
return t.theme ? {
|
|
59
|
+
...ye({
|
|
60
|
+
userConfig: Be.vue_ui_flow[t.theme] || g.config,
|
|
61
|
+
defaultConfig: t
|
|
62
|
+
}),
|
|
63
|
+
customPalette: Ue[t.theme] || K
|
|
64
|
+
} : t;
|
|
65
|
+
}
|
|
66
|
+
Ee(() => g.config, (t) => {
|
|
67
|
+
e.value = Q(), R(), J.value += 1;
|
|
68
|
+
}, { deep: !0 });
|
|
69
|
+
const { isPrinting: ee, isImaging: te, generatePdf: oe, generateImage: le } = Ze({
|
|
70
|
+
elementId: `flow_${z.value}`,
|
|
71
|
+
fileName: e.value.style.chart.title.text || "vue-ui-flow"
|
|
72
|
+
}), D = m(() => Ve(e.value.customPalette)), ae = m(() => e.value.style.chart.nodes.gap), $ = m(() => e.value.style.chart.nodes.width), O = b({
|
|
73
|
+
showTable: e.value.table.show
|
|
74
|
+
}), ne = m(() => e.value.style.chart.links.width), G = m(() => !g.dataset || !g.dataset.length ? [] : g.dataset.map((t) => [
|
|
75
|
+
t[0],
|
|
76
|
+
t[1],
|
|
77
|
+
v(t[2])
|
|
78
|
+
])), se = m(() => {
|
|
79
|
+
const t = {};
|
|
80
|
+
function l(n) {
|
|
81
|
+
t[n] || (t[n] = { inflow: 0, outflow: 0 });
|
|
82
|
+
}
|
|
83
|
+
G.value.forEach(([n, a, c]) => {
|
|
84
|
+
l(n), l(a), t[n].outflow += c, t[a].inflow += c;
|
|
85
|
+
});
|
|
86
|
+
let o = 0;
|
|
87
|
+
for (const n in t) {
|
|
88
|
+
const a = Math.max(t[n].inflow, t[n].outflow);
|
|
89
|
+
o = Math.max(o, a);
|
|
90
|
+
}
|
|
91
|
+
return o;
|
|
92
|
+
});
|
|
93
|
+
function xe(t) {
|
|
94
|
+
return t / se.value * 100 + e.value.style.chart.nodes.minHeight;
|
|
95
|
+
}
|
|
96
|
+
function _e(t) {
|
|
97
|
+
const l = e.value.style.chart.nodes.minHeight;
|
|
98
|
+
return (t - l) / 100 * se.value;
|
|
99
|
+
}
|
|
100
|
+
function Ne(t) {
|
|
101
|
+
const l = {}, o = {};
|
|
102
|
+
function n(s, r) {
|
|
103
|
+
l[s] || (l[s] = { height: 0, level: null, inflow: 0, outflow: 0 }), l[s].level === null && (l[s].level = r), o[r] || (o[r] = []), o[r].includes(s) || o[r].push(s);
|
|
104
|
+
}
|
|
105
|
+
t.forEach(([s, r, f], x) => {
|
|
106
|
+
const C = l[s] ? l[s].level : 0, E = C + 1;
|
|
107
|
+
n(s, C), n(r, E), l[s].children || (l[s].children = []), l[s].children.push({ target: r, value: f }), l[s].outflow += f, l[r].inflow += f;
|
|
108
|
+
}), Object.keys(l).forEach((s, r) => {
|
|
109
|
+
l[s].color = D.value[r] || D.value[r % D.value.length] || K[r] || K[r % d.length];
|
|
110
|
+
});
|
|
111
|
+
for (const s in l)
|
|
112
|
+
l[s].height = xe(Math.max(l[s].inflow, l[s].outflow)), l[s].name = s;
|
|
113
|
+
const a = {};
|
|
114
|
+
for (const s in o) {
|
|
115
|
+
let r = 0;
|
|
116
|
+
o[s].forEach((f, x) => {
|
|
117
|
+
const C = l[f].height;
|
|
118
|
+
a[f] = {
|
|
119
|
+
x: parseInt(s, 10) * ne.value + e.value.style.chart.padding.left,
|
|
120
|
+
y: r,
|
|
121
|
+
absoluteY: r,
|
|
122
|
+
height: C,
|
|
123
|
+
i: x,
|
|
124
|
+
color: l[f].color,
|
|
125
|
+
value: _e(C)
|
|
126
|
+
}, r += C + ae.value;
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
const c = [];
|
|
130
|
+
for (const s in l) {
|
|
131
|
+
let r = a[s].absoluteY;
|
|
132
|
+
l[s].children && l[s].children.forEach(({ target: f, value: x }, C) => {
|
|
133
|
+
const E = a[f].y, V = a[s], j = a[f], ce = v(r), de = v(r + x / l[s].outflow * V.height), ve = v(E), fe = v(E + x / l[f].inflow * j.height), Le = {
|
|
134
|
+
id: ge(),
|
|
135
|
+
source: s,
|
|
136
|
+
target: f,
|
|
137
|
+
path: `M ${v(V.x) + v($.value)} ${ce} L ${v(V.x) + v($.value)} ${de} L ${v(j.x)} ${fe} L ${v(j.x)} ${ve} Z`,
|
|
138
|
+
value: x,
|
|
139
|
+
sourceColor: l[s].color,
|
|
140
|
+
targetColor: l[f].color
|
|
141
|
+
};
|
|
142
|
+
c.push(Le), r += de - ce, a[f].y += fe - ve;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return { nodeCoordinates: a, links: c };
|
|
146
|
+
}
|
|
147
|
+
const p = m(() => {
|
|
148
|
+
const t = Ne(g.dataset);
|
|
149
|
+
return {
|
|
150
|
+
nodes: Object.keys(t.nodeCoordinates).map((l, o) => ({
|
|
151
|
+
...t.nodeCoordinates[l],
|
|
152
|
+
name: l
|
|
153
|
+
})),
|
|
154
|
+
links: t.links
|
|
155
|
+
};
|
|
156
|
+
}), Te = m(() => Pe(p.value.nodes));
|
|
157
|
+
function Pe(t) {
|
|
158
|
+
const l = {};
|
|
159
|
+
for (const n in t) {
|
|
160
|
+
const { x: a, height: c } = t[n];
|
|
161
|
+
l[a] || (l[a] = 0), l[a] += c + ae.value;
|
|
162
|
+
}
|
|
163
|
+
return Math.max(...Object.values(l));
|
|
164
|
+
}
|
|
165
|
+
const B = m(() => {
|
|
166
|
+
const { top: t, right: l, left: o, bottom: n } = e.value.style.chart.padding, a = G.value.length * ne.value;
|
|
167
|
+
return {
|
|
168
|
+
height: Te.value + t + n,
|
|
169
|
+
width: l + Math.max(...p.value.nodes.map((c) => c.x)) + $.value,
|
|
170
|
+
left: o,
|
|
171
|
+
top: t,
|
|
172
|
+
right: a - l,
|
|
173
|
+
p_top: t,
|
|
174
|
+
p_bottom: n
|
|
175
|
+
};
|
|
176
|
+
});
|
|
177
|
+
function Fe(t) {
|
|
178
|
+
const l = {}, o = {}, n = /* @__PURE__ */ new Set();
|
|
179
|
+
return G.value.forEach(([a, c, s]) => {
|
|
180
|
+
l[a] || (l[a] = []), o[c] || (o[c] = []), l[a].push(c), o[c].push(a);
|
|
181
|
+
}), l[t] && l[t].forEach((a) => n.add(a)), o[t] && o[t].forEach((a) => n.add(a)), Array.from(n).concat(t);
|
|
182
|
+
}
|
|
183
|
+
const k = b(null), A = b(null);
|
|
184
|
+
function Ie(t) {
|
|
185
|
+
k.value = Fe(t.name), A.value = t.name;
|
|
186
|
+
}
|
|
187
|
+
function Oe() {
|
|
188
|
+
k.value = null, A.value = null;
|
|
189
|
+
}
|
|
190
|
+
const re = m(() => p.value.links.map(({ source: t, target: l, sourceColor: o, targetColor: n, value: a }) => ({
|
|
191
|
+
source: t,
|
|
192
|
+
target: l,
|
|
193
|
+
sourceColor: o,
|
|
194
|
+
targetColor: n,
|
|
195
|
+
value: a
|
|
196
|
+
})));
|
|
197
|
+
function ue() {
|
|
198
|
+
ze(() => {
|
|
199
|
+
const t = re.value.map((n, a) => [
|
|
200
|
+
[n.source],
|
|
201
|
+
[n.target],
|
|
202
|
+
[n.value]
|
|
203
|
+
]), l = [
|
|
204
|
+
[e.value.style.chart.title.text],
|
|
205
|
+
[e.value.style.chart.title.subtitle.text],
|
|
206
|
+
[
|
|
207
|
+
[e.value.table.columnNames.source],
|
|
208
|
+
[e.value.table.columnNames.target],
|
|
209
|
+
[e.value.table.columnNames.value]
|
|
210
|
+
]
|
|
211
|
+
].concat(t), o = qe(l);
|
|
212
|
+
Ke({
|
|
213
|
+
csvContent: o,
|
|
214
|
+
title: e.value.style.chart.title.text || "vue-ui-flow"
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
const L = m(() => {
|
|
219
|
+
const t = [
|
|
220
|
+
e.value.table.columnNames.source,
|
|
221
|
+
e.value.table.columnNames.target,
|
|
222
|
+
e.value.table.columnNames.value
|
|
223
|
+
], l = re.value.map((a, c) => [
|
|
224
|
+
{
|
|
225
|
+
color: a.sourceColor,
|
|
226
|
+
name: a.source
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
color: a.targetColor,
|
|
230
|
+
name: a.target
|
|
231
|
+
},
|
|
232
|
+
pe({
|
|
233
|
+
p: e.value.style.chart.nodes.labels.prefix,
|
|
234
|
+
v: a.value,
|
|
235
|
+
s: e.value.style.chart.nodes.labels.suffix,
|
|
236
|
+
r: e.value.style.chart.nodes.labels.rounding
|
|
237
|
+
})
|
|
238
|
+
]), o = {
|
|
239
|
+
th: {
|
|
240
|
+
backgroundColor: e.value.table.th.backgroundColor,
|
|
241
|
+
color: e.value.table.th.color,
|
|
242
|
+
outline: e.value.table.th.outline
|
|
243
|
+
},
|
|
244
|
+
td: {
|
|
245
|
+
backgroundColor: e.value.table.td.backgroundColor,
|
|
246
|
+
color: e.value.table.td.color,
|
|
247
|
+
outline: e.value.table.td.outline
|
|
248
|
+
},
|
|
249
|
+
breakpoint: e.value.table.responsiveBreakpoint
|
|
250
|
+
};
|
|
251
|
+
return {
|
|
252
|
+
colNames: [
|
|
253
|
+
e.value.table.columnNames.source,
|
|
254
|
+
e.value.table.columnNames.target,
|
|
255
|
+
e.value.table.columnNames.value
|
|
256
|
+
],
|
|
257
|
+
head: t,
|
|
258
|
+
body: l,
|
|
259
|
+
config: o
|
|
260
|
+
};
|
|
261
|
+
});
|
|
262
|
+
function Ae() {
|
|
263
|
+
return p.value;
|
|
264
|
+
}
|
|
265
|
+
function ie() {
|
|
266
|
+
O.value.showTable = !O.value.showTable;
|
|
267
|
+
}
|
|
268
|
+
const H = b(!1);
|
|
269
|
+
function U() {
|
|
270
|
+
H.value = !H.value;
|
|
271
|
+
}
|
|
272
|
+
return we({
|
|
273
|
+
getData: Ae,
|
|
274
|
+
generateCsv: ue,
|
|
275
|
+
generateImage: le,
|
|
276
|
+
generatePdf: oe,
|
|
277
|
+
toggleTable: ie,
|
|
278
|
+
toggleAnnotator: U
|
|
279
|
+
}), (t, l) => (u(), h("div", {
|
|
280
|
+
ref_key: "flowChart",
|
|
281
|
+
ref: Y,
|
|
282
|
+
class: he(`vue-ui-flow ${T.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
|
|
283
|
+
style: _(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;${e.value.style.chart.title.text ? "" : "padding-top:36px"};background:${e.value.style.chart.backgroundColor}`),
|
|
284
|
+
id: `flow_${z.value}`
|
|
285
|
+
}, [
|
|
286
|
+
e.value.userOptions.buttons.annotator ? (u(), P(lt, {
|
|
287
|
+
key: 0,
|
|
288
|
+
parent: Y.value,
|
|
289
|
+
backgroundColor: e.value.style.chart.backgroundColor,
|
|
290
|
+
color: e.value.style.chart.color,
|
|
291
|
+
active: H.value,
|
|
292
|
+
onClose: U
|
|
293
|
+
}, null, 8, ["parent", "backgroundColor", "color", "active"])) : N("", !0),
|
|
294
|
+
e.value.style.chart.title.text ? (u(), h("div", st, [
|
|
295
|
+
(u(), P(Re, {
|
|
296
|
+
key: `title_${J.value}`,
|
|
297
|
+
config: {
|
|
298
|
+
title: {
|
|
299
|
+
cy: "flow-title",
|
|
300
|
+
...e.value.style.chart.title
|
|
301
|
+
},
|
|
302
|
+
subtitle: {
|
|
303
|
+
cy: "flow-subtitle",
|
|
304
|
+
...e.value.style.chart.title.subtitle
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}, null, 8, ["config"]))
|
|
308
|
+
])) : N("", !0),
|
|
309
|
+
e.value.userOptions.show && M.value ? (u(), P(Je, {
|
|
310
|
+
ref: "details",
|
|
311
|
+
key: `user_option_${Z.value}`,
|
|
312
|
+
backgroundColor: e.value.style.chart.backgroundColor,
|
|
313
|
+
color: e.value.style.chart.color,
|
|
314
|
+
isPrinting: i(ee),
|
|
315
|
+
isImaging: i(te),
|
|
316
|
+
uid: z.value,
|
|
317
|
+
hasPdf: e.value.userOptions.buttons.pdf,
|
|
318
|
+
hasXls: e.value.userOptions.buttons.csv,
|
|
319
|
+
hasImg: e.value.userOptions.buttons.img,
|
|
320
|
+
hasTable: e.value.userOptions.buttons.table,
|
|
321
|
+
hasFullscreen: e.value.userOptions.buttons.fullscreen,
|
|
322
|
+
isFullscreen: T.value,
|
|
323
|
+
titles: { ...e.value.userOptions.buttonTitles },
|
|
324
|
+
chartElement: Y.value,
|
|
325
|
+
position: e.value.userOptions.position,
|
|
326
|
+
hasAnnotator: e.value.userOptions.buttons.annotator,
|
|
327
|
+
isAnnotation: H.value,
|
|
328
|
+
onToggleFullscreen: $e,
|
|
329
|
+
onGeneratePdf: i(oe),
|
|
330
|
+
onGenerateCsv: ue,
|
|
331
|
+
onGenerateImage: i(le),
|
|
332
|
+
onToggleTable: ie,
|
|
333
|
+
onToggleAnnotator: U
|
|
334
|
+
}, Se({ _: 2 }, [
|
|
335
|
+
t.$slots.optionPdf ? {
|
|
336
|
+
name: "optionPdf",
|
|
337
|
+
fn: y(() => [
|
|
338
|
+
w(t.$slots, "optionPdf", {}, void 0, !0)
|
|
339
|
+
]),
|
|
340
|
+
key: "0"
|
|
341
|
+
} : void 0,
|
|
342
|
+
t.$slots.optionCsv ? {
|
|
343
|
+
name: "optionCsv",
|
|
344
|
+
fn: y(() => [
|
|
345
|
+
w(t.$slots, "optionCsv", {}, void 0, !0)
|
|
346
|
+
]),
|
|
347
|
+
key: "1"
|
|
348
|
+
} : void 0,
|
|
349
|
+
t.$slots.optionImg ? {
|
|
350
|
+
name: "optionImg",
|
|
351
|
+
fn: y(() => [
|
|
352
|
+
w(t.$slots, "optionImg", {}, void 0, !0)
|
|
353
|
+
]),
|
|
354
|
+
key: "2"
|
|
355
|
+
} : void 0,
|
|
356
|
+
t.$slots.optionTable ? {
|
|
357
|
+
name: "optionTable",
|
|
358
|
+
fn: y(() => [
|
|
359
|
+
w(t.$slots, "optionTable", {}, void 0, !0)
|
|
360
|
+
]),
|
|
361
|
+
key: "3"
|
|
362
|
+
} : void 0,
|
|
363
|
+
t.$slots.optionFullscreen ? {
|
|
364
|
+
name: "optionFullscreen",
|
|
365
|
+
fn: y(({ toggleFullscreen: o, isFullscreen: n }) => [
|
|
366
|
+
w(t.$slots, "optionFullscreen", X(W({ toggleFullscreen: o, isFullscreen: n })), void 0, !0)
|
|
367
|
+
]),
|
|
368
|
+
key: "4"
|
|
369
|
+
} : void 0,
|
|
370
|
+
t.$slots.optionAnnotator ? {
|
|
371
|
+
name: "optionAnnotator",
|
|
372
|
+
fn: y(({ toggleAnnotator: o, isAnnotator: n }) => [
|
|
373
|
+
w(t.$slots, "optionAnnotator", X(W({ toggleAnnotator: o, isAnnotator: n })), void 0, !0)
|
|
374
|
+
]),
|
|
375
|
+
key: "5"
|
|
376
|
+
} : void 0
|
|
377
|
+
]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasXls", "hasImg", "hasTable", "hasFullscreen", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "onGeneratePdf", "onGenerateImage"])) : N("", !0),
|
|
378
|
+
(u(), h("svg", {
|
|
379
|
+
xmlns: i(je),
|
|
380
|
+
viewBox: `0 0 ${B.value.width} ${B.value.height}`,
|
|
381
|
+
class: he({ "vue-data-ui-fullscreen--on": T.value, "vue-data-ui-fulscreen--off": !T.value }),
|
|
382
|
+
style: _(`max-width:100%; overflow: visible; background:transparent;color:${e.value.style.chart.color}`)
|
|
383
|
+
}, [
|
|
384
|
+
me(ot),
|
|
385
|
+
S("defs", null, [
|
|
386
|
+
(u(!0), h(F, null, I(p.value.links, (o, n) => (u(), h("linearGradient", {
|
|
387
|
+
id: o.id,
|
|
388
|
+
x1: "0%",
|
|
389
|
+
y1: "0%",
|
|
390
|
+
x2: "100%",
|
|
391
|
+
y2: "0%"
|
|
392
|
+
}, [
|
|
393
|
+
S("stop", {
|
|
394
|
+
offset: "0%",
|
|
395
|
+
"stop-color": o.sourceColor
|
|
396
|
+
}, null, 8, it),
|
|
397
|
+
S("stop", {
|
|
398
|
+
offset: "100%",
|
|
399
|
+
"stop-color": o.targetColor
|
|
400
|
+
}, null, 8, ct)
|
|
401
|
+
], 8, ut))), 256))
|
|
402
|
+
]),
|
|
403
|
+
(u(!0), h(F, null, I(p.value.links, (o) => (u(), h("path", {
|
|
404
|
+
class: "vue-ui-flow-link",
|
|
405
|
+
d: o.path,
|
|
406
|
+
fill: `url(#${o.id})`,
|
|
407
|
+
stroke: e.value.style.chart.links.stroke,
|
|
408
|
+
"stroke-width": e.value.style.chart.links.strokeWidth,
|
|
409
|
+
style: _(`opacity:${A.value ? [o.target, o.source].includes(A.value) ? 1 : 0.3 : e.value.style.chart.links.opacity}`)
|
|
410
|
+
}, null, 12, dt))), 256)),
|
|
411
|
+
(u(!0), h(F, null, I(p.value.nodes, (o, n) => (u(), h("rect", {
|
|
412
|
+
class: "vue-ui-flow-node",
|
|
413
|
+
x: o.x,
|
|
414
|
+
y: i(v)(o.absoluteY),
|
|
415
|
+
height: i(v)(o.height),
|
|
416
|
+
width: $.value,
|
|
417
|
+
fill: o.color,
|
|
418
|
+
stroke: e.value.style.chart.nodes.stroke,
|
|
419
|
+
"stroke-width": e.value.style.chart.nodes.strokeWidth,
|
|
420
|
+
onMouseenter: (a) => Ie(o),
|
|
421
|
+
onMouseleave: l[0] || (l[0] = (a) => Oe()),
|
|
422
|
+
style: _(`opacity:${k.value ? k.value.includes(o.name) ? 1 : 0.2 : 1}`)
|
|
423
|
+
}, null, 44, vt))), 256)),
|
|
424
|
+
(u(!0), h(F, null, I(p.value.nodes, (o, n) => (u(), h("text", {
|
|
425
|
+
x: o.x + $.value / 2,
|
|
426
|
+
y: i(v)(o.absoluteY + o.height / 2 - e.value.style.chart.nodes.labels.fontSize / 4),
|
|
427
|
+
"font-size": e.value.style.chart.nodes.labels.fontSize,
|
|
428
|
+
fill: i(be)(o.color),
|
|
429
|
+
"text-anchor": "middle",
|
|
430
|
+
style: _(`pointer-events: none; opacity:${k.value ? k.value.includes(o.name) ? 1 : 0 : 1}`)
|
|
431
|
+
}, q(e.value.style.chart.nodes.labels.abbreviation.use ? i(Xe)({ source: o.name, length: e.value.style.chart.nodes.labels.abbreviation.length }) : o.name), 13, ft))), 256)),
|
|
432
|
+
(u(!0), h(F, null, I(p.value.nodes, (o, n) => (u(), h("text", {
|
|
433
|
+
x: o.x + $.value / 2,
|
|
434
|
+
y: i(v)(o.absoluteY + o.height / 2 + e.value.style.chart.nodes.labels.fontSize),
|
|
435
|
+
"font-size": e.value.style.chart.nodes.labels.fontSize,
|
|
436
|
+
fill: i(be)(o.color),
|
|
437
|
+
"text-anchor": "middle",
|
|
438
|
+
style: _(`pointer-events: none; opacity:${k.value ? k.value.includes(o.name) ? 1 : 0 : 1}`)
|
|
439
|
+
}, q(i(We)(
|
|
440
|
+
e.value.style.chart.nodes.labels.formatter,
|
|
441
|
+
o.value,
|
|
442
|
+
i(pe)({
|
|
443
|
+
p: e.value.style.chart.nodes.labels.prefix,
|
|
444
|
+
v: o.value,
|
|
445
|
+
s: e.value.style.chart.nodes.labels.suffix,
|
|
446
|
+
r: e.value.style.chart.nodes.labels.rounding
|
|
447
|
+
}),
|
|
448
|
+
{ datapoint: o, seriesIndex: n }
|
|
449
|
+
)), 13, ht))), 256)),
|
|
450
|
+
w(t.$slots, "svg", { svg: B.value }, void 0, !0)
|
|
451
|
+
], 14, rt)),
|
|
452
|
+
t.$slots.watermark ? (u(), h("div", mt, [
|
|
453
|
+
w(t.$slots, "watermark", X(W({ isPrinting: i(ee) || i(te) })), void 0, !0)
|
|
454
|
+
])) : N("", !0),
|
|
455
|
+
M.value ? N("", !0) : (u(), P(tt, {
|
|
456
|
+
key: 4,
|
|
457
|
+
config: {
|
|
458
|
+
type: "flow",
|
|
459
|
+
style: {
|
|
460
|
+
backgroundColor: e.value.style.chart.backgroundColor
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}, null, 8, ["config"])),
|
|
464
|
+
M.value ? (u(), P(et, {
|
|
465
|
+
key: 5,
|
|
466
|
+
hideDetails: "",
|
|
467
|
+
config: {
|
|
468
|
+
open: O.value.showTable,
|
|
469
|
+
maxHeight: 1e4,
|
|
470
|
+
body: {
|
|
471
|
+
backgroundColor: e.value.style.chart.backgroundColor,
|
|
472
|
+
color: e.value.style.chart.color
|
|
473
|
+
},
|
|
474
|
+
head: {
|
|
475
|
+
backgroundColor: e.value.style.chart.backgroundColor,
|
|
476
|
+
color: e.value.style.chart.color
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}, {
|
|
480
|
+
content: y(() => [
|
|
481
|
+
me(Qe, {
|
|
482
|
+
colNames: L.value.colNames,
|
|
483
|
+
head: L.value.head,
|
|
484
|
+
body: L.value.body,
|
|
485
|
+
config: L.value.config,
|
|
486
|
+
title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
|
|
487
|
+
onClose: l[1] || (l[1] = (o) => O.value.showTable = !1)
|
|
488
|
+
}, {
|
|
489
|
+
th: y(({ th: o }) => [
|
|
490
|
+
S("div", {
|
|
491
|
+
innerHTML: o,
|
|
492
|
+
style: { display: "flex", "align-items": "center" }
|
|
493
|
+
}, null, 8, gt)
|
|
494
|
+
]),
|
|
495
|
+
td: y(({ td: o }) => [
|
|
496
|
+
Me(q(o.name || o), 1)
|
|
497
|
+
]),
|
|
498
|
+
_: 1
|
|
499
|
+
}, 8, ["colNames", "head", "body", "config", "title"])
|
|
500
|
+
]),
|
|
501
|
+
_: 1
|
|
502
|
+
}, 8, ["config"])) : N("", !0)
|
|
503
|
+
], 14, nt));
|
|
504
|
+
}
|
|
505
|
+
}, Ft = /* @__PURE__ */ at(pt, [["__scopeId", "data-v-b1626dda"]]);
|
|
506
|
+
export {
|
|
507
|
+
Ft as default
|
|
508
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./index-FfZRtJ6A.cjs"),ae=require("./Legend-YZ7Hz3o1.cjs"),re=require("./Title-Co5jI5ed.cjs"),ne=require("./Tooltip-Bl6W8Zn7.cjs"),se=require("./DataTable-DJzhv96s.cjs"),U=require("./usePrinter-BCAFeO_J.cjs"),ue=require("./vue-ui-skeleton-Djv08J67.cjs"),ie=require("./vue-ui-accordion-xXgqfR2l.cjs"),H=require("./useNestedProp-q7byAAIJ.cjs"),ce=require("./PackageVersion-DVZtsuy4.cjs"),de=require("./PenAndPaper-CyXm-yVL.cjs"),ve=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),pe=["id"],he={key:1,style:"width:100%;background:transparent;padding-bottom:24px"},fe=["xmlns","viewBox"],ge=["id"],ye=["stdDeviation"],me=["d","stroke","stroke-width"],be=["d","stroke","stroke-width"],ke=["filter"],Ce=["d","stroke","stroke-width"],we=["d","stroke-width","onMouseenter","onClick"],xe={key:4,class:"vue-data-ui-watermark"},$e=["onClick"],Be={key:0},Te={key:1},Ne=["innerHTML"],Se={__name:"vue-ui-galaxy",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend","selectDatapoint"],setup(X,{expose:j,emit:_}){const i=X,{vue_ui_galaxy:Y}=r.useConfig(),b=e.computed(()=>!!i.dataset&&i.dataset.length);e.onMounted(()=>{P()});function P(){r.objectIsEmpty(i.dataset)?r.error({componentName:"VueUiGalaxy",type:"dataset"}):i.dataset.forEach((l,a)=>{r.getMissingDatasetAttributes({datasetObject:l,requiredAttributes:["name","values"]}).forEach(o=>{r.error({componentName:"VueUiGalaxy",type:"datasetSerieAttribute",property:o,index:a})})})}const g=e.ref(r.createUid()),k=e.ref(null),J=e.ref(null),x=e.ref(!1),$=e.ref(""),c=e.ref(null),L=e.ref(0),V=e.ref(0),E=e.ref(0),A=e.ref(0),t=e.computed({get:()=>F(),set:l=>l});function F(){const l=H.useNestedProp({userConfig:i.config,defaultConfig:Y});return l.theme?{...H.useNestedProp({userConfig:r.themes.vue_ui_galaxy[l.theme]||i.config,defaultConfig:l}),customPalette:r.themePalettes[l.theme]||r.palette}:l}e.watch(()=>i.config,l=>{t.value=F(),P(),V.value+=1,E.value+=1,A.value+=1},{deep:!0});const{isPrinting:O,isImaging:I,generatePdf:z,generateImage:D}=U.usePrinter({elementId:`galaxy_${g.value}`,fileName:t.value.style.chart.title.text||"vue-ui-galaxy"}),K=e.computed(()=>r.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}),B=e.ref({height:180,width:250}),u=e.ref([]);function T(l){u.value.includes(l.id)?u.value=u.value.filter(a=>a!==l.id):u.value.push(l.id),_("selectLegend",y.value.map(a=>({name:a.name,color:a.color,value:a.value})))}const h=e.computed(()=>i.dataset.map((l,a)=>({name:l.name,color:r.convertColorToHex(l.color)||K.value[a]||r.palette[a]||r.palette[a%r.palette.length],value:l.values?r.sanitizeArray(l.values).reduce((o,n)=>o+n,0):0,absoluteValues:r.sanitizeArray(l.values),id:r.createUid(),seriesIndex:a})).sort((l,a)=>a.value-l.value));function Q(){return h.value.map(l=>({name:l.name,color:l.color,value:l.value}))}const d=e.computed(()=>h.value.filter(l=>!u.value.includes(l.id)).map(l=>l.value).reduce((l,a)=>l+a,0)),Z=e.ref(190),q=e.computed(()=>h.value.filter(l=>!u.value.includes(l.id))),y=e.computed(()=>{const l=[];for(let a=0;a<q.value.length;a+=1){const o=q.value[a];let n=o.value/d.value*Z.value;a>0&&l.length&&(n+=l[a-1].points),l.push({points:n,...o,seriesIndex:a,proportion:o.value/d.value,path:r.createSpiralPath({points:n,startX:115+t.value.style.chart.layout.arcs.offsetX,startY:90+t.value.style.chart.layout.arcs.offsetY})})}return l.filter((a,o)=>!u.value.includes(a.id)).toSorted((a,o)=>o.points-a.points)}),m=e.ref(!1);function ee(l){m.value=l,L.value+=1}const N=e.ref(null);function te({datapoint:l,_relativeIndex:a,seriesIndex:o,show:n=!1}){N.value={datapoint:l,seriesIndex:o,series:h.value,config:t.value},x.value=n,c.value=l.id;let s="";const f=t.value.style.chart.tooltip.customFormat;r.isFunction(f)&&r.functionReturnsString(()=>f({seriesIndex:o,datapoint:l,series:h.value,config:t.value}))?$.value=f({seriesIndex:o,datapoint:l,series:h.value,config:t.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${l.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${l.color}"/></svg>`,t.value.style.chart.tooltip.showValue&&(s+=`<b>${r.applyDataLabel(t.value.style.chart.layout.labels.dataLabels.formatter,l.value,r.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.tooltip.roundingValue}),{datapoint:l,seriesIndex:o})}</b>`),t.value.style.chart.tooltip.showPercentage&&(t.value.style.chart.tooltip.showValue?s+=`<span>(${r.dataLabel({v:l.proportion*100,s:"%",r:t.value.style.chart.tooltip.roundingPercentage})})</span></div>`:s+=`<b>${r.dataLabel({v:l.proportion*100,s:"%",r:t.value.style.chart.tooltip.roundingPercentage})}</b></div>`),$.value=`<div>${s}</div>`)}const G=e.computed(()=>h.value.map((l,a)=>({...l,proportion:(l.value||0)/i.dataset.map(o=>(o.values||[]).reduce((n,s)=>n+s,0)).reduce((o,n)=>o+n,0),opacity:u.value.includes(l.id)?.5:1,shape:l.shape||"circle",segregate:()=>T(l),isSegregated:u.value.includes(l.id)}))),le=e.computed(()=>({cy:"galaxy-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":""})),p=e.computed(()=>{const l=y.value.map(o=>({name:o.name,color:o.color})),a=y.value.map(o=>o.value);return{head:l,body:a}});function M(){e.nextTick(()=>{const l=p.value.head.map((n,s)=>[[n.name],[p.value.body[s]],[isNaN(p.value.body[s]/d.value)?"-":p.value.body[s]/d.value*100]]),a=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(l),o=r.createCsvContent(a);r.downloadCsv({csvContent:o,title:t.value.style.chart.title.text||"vue-ui-galaxy"})})}const C=e.computed(()=>{const l=[' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',r.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%"],a=p.value.head.map((s,f)=>{const oe=r.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:p.value.body[f],s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue});return[{color:s.color,name:s.name},oe,isNaN(p.value.body[f]/d.value)?"-":r.dataLabel({v:p.value.body[f]/d.value*100,s:"%",r:t.value.table.td.roundingPercentage})]}),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.series,t.value.table.columnNames.value,t.value.table.columnNames.percentage],head:l,body:a,config:o}});function W(){v.value.showTable=!v.value.showTable}function R(){v.value.showTooltip=!v.value.showTooltip}const w=e.ref(!1);function S(){w.value=!w.value}return j({getData:Q,generatePdf:z,generateCsv:M,generateImage:D,toggleTable:W,toggleTooltip:R,toggleAnnotator:S}),(l,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"galaxyChart",ref:k,class:e.normalizeClass(`vue-ui-galaxy ${m.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:`galaxy_${g.value}`},[t.value.userOptions.buttons.annotator?(e.openBlock(),e.createBlock(de.PenAndPaper,{key:0,parent:k.value,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,active:w.value,onClose:S},null,8,["parent","backgroundColor","color","active"])):e.createCommentVNode("",!0),t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",he,[(e.openBlock(),e.createBlock(re._sfc_main,{key:`title_${V.value}`,config:{title:{cy:"galaxy-div-title",...t.value.style.chart.title},subtitle:{cy:"galaxy-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))])):e.createCommentVNode("",!0),t.value.userOptions.show&&b.value?(e.openBlock(),e.createBlock(U.UserOptions,{ref_key:"details",ref:J,key:`user_option_${L.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(O),isImaging:e.unref(I),uid:g.value,hasTooltip:t.value.userOptions.buttons.tooltip&&t.value.style.chart.tooltip.show,hasPdf:t.value.userOptions.buttons.pdf,hasXls:t.value.userOptions.buttons.csv,hasImg:t.value.userOptions.buttons.img,hasTable:t.value.userOptions.buttons.table,hasFullscreen:t.value.userOptions.buttons.fullscreen,isTooltip:v.value.showTooltip,isFullscreen:m.value,titles:{...t.value.userOptions.buttonTitles},chartElement:k.value,position:t.value.userOptions.position,hasAnnotator:t.value.userOptions.buttons.annotator,isAnnotation:w.value,onToggleFullscreen:ee,onGeneratePdf:e.unref(z),onGenerateCsv:M,onGenerateImage:e.unref(D),onToggleTable:W,onToggleTooltip:R,onToggleAnnotator:S},e.createSlots({_:2},[l.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,l.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,l.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:o,isFullscreen:n})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:o,isFullscreen:n})),void 0,!0)]),key:"5"}:void 0,l.$slots.optionAnnotator?{name:"optionAnnotator",fn:e.withCtx(({toggleAnnotator:o,isAnnotator:n})=>[e.renderSlot(l.$slots,"optionAnnotator",e.normalizeProps(e.guardReactiveProps({toggleAnnotator:o,isAnnotator:n})),void 0,!0)]),key:"6"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isTooltip","isFullscreen","titles","chartElement","position","hasAnnotator","isAnnotation","onGeneratePdf","onGenerateImage"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createElementBlock("svg",{key:3,xmlns:e.unref(r.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":m.value,"vue-data-ui-fulscreen--off":!m.value}),viewBox:`0 0 ${B.value.width} ${B.value.height}`,style:e.normalizeStyle(`max-width:100%; overflow: visible; background:transparent;color:${t.value.style.chart.color}`)},[e.createVNode(ce._sfc_main),e.createElementVNode("defs",null,[e.createElementVNode("filter",{id:`blur_${g.value}`,x:"-50%",y:"-50%",width:"200%",height:"200%"},[e.createElementVNode("feGaussianBlur",{in:"SourceGraphic",stdDeviation:100/t.value.style.chart.layout.arcs.gradient.intensity},null,8,ye)],8,ge)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,o=>(e.openBlock(),e.createElementBlock("g",null,[o.value?(e.openBlock(),e.createElementBlock("path",{key:0,d:o.path,fill:"none",stroke:t.value.style.chart.backgroundColor,"stroke-width":(t.value.style.chart.layout.arcs.strokeWidth+t.value.style.chart.layout.arcs.borderWidth)*(c.value===o.id&&t.value.style.chart.layout.arcs.hoverEffect.show?t.value.style.chart.layout.arcs.hoverEffect.multiplicator:1),"stroke-linecap":"round"},null,8,me)):e.createCommentVNode("",!0),o.value?(e.openBlock(),e.createElementBlock("path",{key:1,d:o.path,fill:"none",stroke:o.color,"stroke-width":t.value.style.chart.layout.arcs.strokeWidth*(c.value===o.id&&t.value.style.chart.layout.arcs.hoverEffect.show?t.value.style.chart.layout.arcs.hoverEffect.multiplicator:1),"stroke-linecap":"round",class:e.normalizeClass(`${c.value&&c.value!==o.id&&t.value.useBlurOnHover?"vue-ui-galaxy-blur":""}`)},null,10,be)):e.createCommentVNode("",!0),o.value&&t.value.style.chart.layout.arcs.gradient.show?(e.openBlock(),e.createElementBlock("g",{key:2,filter:`url(#blur_${g.value})`},[e.createElementVNode("path",{d:o.path,fill:"none",stroke:t.value.style.chart.layout.arcs.gradient.color,"stroke-width":t.value.style.chart.layout.arcs.strokeWidth/2*(c.value===o.id&&t.value.style.chart.layout.arcs.hoverEffect.show?t.value.style.chart.layout.arcs.hoverEffect.multiplicator:1),"stroke-linecap":"round",class:e.normalizeClass(`vue-ui-galaxy-gradient ${c.value&&c.value!==o.id&&t.value.useBlurOnHover?"vue-ui-galaxy-blur":""}`)},null,10,Ce)],8,ke)):e.createCommentVNode("",!0)]))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(o,n)=>(e.openBlock(),e.createElementBlock("g",null,[o.value?(e.openBlock(),e.createElementBlock("path",{key:0,d:o.path,fill:"none",stroke:"transparent","stroke-width":t.value.style.chart.layout.arcs.strokeWidth+t.value.style.chart.layout.arcs.borderWidth,"stroke-linecap":"round",onMouseenter:s=>te({datapoint:o,relativeIndex:n,seriesIndex:o.seriesIndex,show:!0}),onMouseleave:a[0]||(a[0]=s=>{x.value=!1,c.value=null}),onClick:s=>_("selectDatapoint",o)},null,40,we)):e.createCommentVNode("",!0)]))),256)),e.renderSlot(l.$slots,"svg",{svg:B.value},void 0,!0)],14,fe)):e.createCommentVNode("",!0),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",xe,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(O)||e.unref(I)})),void 0,!0)])):e.createCommentVNode("",!0),b.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ue.default,{key:5,config:{type:"galaxy",style:{backgroundColor:t.value.style.chart.backgroundColor,galaxy:{color:"#CCCCCC"}}}},null,8,["config"])),t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(ae.Legend,{key:`legend_${A.value}`,legendSet:G.value,config:le.value,onClickMarker:a[1]||(a[1]=({legend:o})=>T(o))},{item:e.withCtx(({legend:o,index:n})=>[e.createElementVNode("div",{onClick:s=>T(o),style:e.normalizeStyle(`opacity:${u.value.includes(o.id)?.5:1}`)},[e.createTextVNode(e.toDisplayString(o.name)+": "+e.toDisplayString(e.unref(r.applyDataLabel)(t.value.style.chart.layout.labels.dataLabels.formatter,o.value,e.unref(r.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:o.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue}),{datapoint:o,seriesIndex:n}))+" ",1),u.value.includes(o.id)?(e.openBlock(),e.createElementBlock("span",Te," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",Be," ("+e.toDisplayString(isNaN(o.value/d.value)?"-":e.unref(r.dataLabel)({v:o.value/d.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage}))+") ",1))],12,$e)]),_:1},8,["legendSet","config"])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"legend",{legend:G.value},void 0,!0),e.createVNode(ne._sfc_main,{show:v.value.showTooltip&&x.value,backgroundColor:t.value.style.chart.tooltip.backgroundColor,color:t.value.style.chart.tooltip.color,borderRadius:t.value.style.chart.tooltip.borderRadius,borderColor:t.value.style.chart.tooltip.borderColor,borderWidth:t.value.style.chart.tooltip.borderWidth,fontSize:t.value.style.chart.tooltip.fontSize,backgroundOpacity:t.value.style.chart.tooltip.backgroundOpacity,position:t.value.style.chart.tooltip.position,offsetY:t.value.style.chart.tooltip.offsetY,parent:k.value,content:$.value,isCustom:e.unref(r.isFunction)(t.value.style.chart.tooltip.customFormat)},{"tooltip-before":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...N.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...N.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","borderRadius","borderColor","borderWidth","fontSize","backgroundOpacity","position","offsetY","parent","content","isCustom"]),b.value?(e.openBlock(),e.createBlock(ie.default,{key:7,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(se.DataTable,{key:`table_${E.value}`,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:a[2]||(a[2]=o=>v.value.showTable=!1)},{th:e.withCtx(({th:o})=>[e.createElementVNode("div",{innerHTML:o,style:{display:"flex","align-items":"center"}},null,8,Ne)]),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,pe))}},_e=ve._export_sfc(Se,[["__scopeId","data-v-57830654"]]);exports.default=_e;
|