vue-data-ui 3.17.2 → 3.17.4
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 +228 -228
- package/dist/{A11yDataTable-KcVAX2cP.js → A11yDataTable-BpmuNomI.js} +1 -1
- package/dist/{Arrow-Bn-9n3bm.js → Arrow-dSvLFssU.js} +1 -1
- package/dist/{BaseDraggableDialog-CIb-iD9g.js → BaseDraggableDialog-Di8Hlru3.js} +26 -24
- package/dist/{BaseIcon-Cb3zzG6s.js → BaseIcon-DX0hTWa-.js} +11 -5
- package/dist/{BaseLegendToggle-BQVIawmA.js → BaseLegendToggle-cMP8M2u0.js} +4 -4
- package/dist/BaseScanner-BON3d_Sx.js +38 -0
- package/dist/{BaseZoomControls-DievbOeJ.js → BaseZoomControls-CVSC1-SU.js} +11 -5
- package/dist/{ColorPicker-B0mV4xzu.js → ColorPicker-bAxGcXK0.js} +38 -22
- package/dist/{DataTable-DT2kIdQ6.js → DataTable-cMnb68Ik.js} +15 -11
- package/dist/{Legend-CS7Xo5LK.js → Legend-DGN5lY60.js} +15 -12
- package/dist/{NonSvgPenAndPaper-VyJFyJ6X.js → NonSvgPenAndPaper-B6E0zEYe.js} +34 -12
- package/dist/{PackageVersion-PjmqM4wb.js → PackageVersion-DVvvyQXB.js} +1 -1
- package/dist/{PenAndPaper-Ct3qJ4lA.js → PenAndPaper-CJDoB5H9.js} +87 -27
- package/dist/{Shape-BKRUOeKk.js → Shape-CxJ5_Rre.js} +1 -1
- package/dist/{Slicer-CIHwwuNR.js → Slicer-D7UcO8sN.js} +75 -33
- package/dist/{SlicerPreview-BMx3cqgX.js → SlicerPreview-D_CgrN_7.js} +198 -102
- package/dist/{SparkTooltip-BorBpltj.js → SparkTooltip-D4bM-kfz.js} +5 -5
- package/dist/{Title-BeMKE1cj.js → Title-BbKoiBk2.js} +1 -1
- package/dist/{Tooltip-C8KGyqQk.js → Tooltip-Cvt7Fi0Q.js} +9 -2
- package/dist/{UserOptions-rW2fRf3V.js → UserOptions-DVduN6X7.js} +48 -14
- package/dist/components/arrow.js +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-accordion.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-icon.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-pattern-seed.js +5 -0
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/{dom-to-png-CtxhhdWb.js → dom-to-png-DGvx6i5V.js} +21 -6
- package/dist/{exposedLib-DlqmhBx3.js → exposedLib-sJvY1pST.js} +1 -1
- package/dist/{geoProjections-D0Vxsz_O.js → geoProjections-BFq2sOBY.js} +19 -11
- package/dist/{img-LXxMLmCg.js → img-CjTQXS0U.js} +31 -7
- package/dist/{labelUtils-CqTHa20R.js → labelUtils-DX9oyq3C.js} +2 -6
- package/dist/{lib-DBptbyyI.js → lib-DMzrGQHK.js} +337 -124
- package/dist/patternUtils-BINhU4Ky.js +615 -0
- package/dist/{pdf-B4tTdfvl.js → pdf-C4H4o1Cj.js} +11 -2
- package/dist/style.css +1 -1
- package/dist/types/arrow.d.ts +1 -1
- package/dist/types/utils.d.ts +500 -451
- package/dist/types/vue-data-ui.d.ts +2124 -1786
- package/dist/types/vue-ui-3d-bar.d.ts +10 -7
- package/dist/types/vue-ui-accordion.d.ts +2 -4
- package/dist/types/vue-ui-age-pyramid.d.ts +10 -8
- package/dist/types/vue-ui-annotator.d.ts +3 -3
- package/dist/types/vue-ui-bullet.d.ts +10 -7
- package/dist/types/vue-ui-bump.d.ts +9 -6
- package/dist/types/vue-ui-candlestick.d.ts +10 -7
- package/dist/types/vue-ui-carousel-table.d.ts +2 -2
- package/dist/types/vue-ui-chestnut.d.ts +9 -6
- package/dist/types/vue-ui-chord.d.ts +10 -7
- package/dist/types/vue-ui-circle-pack.d.ts +10 -7
- package/dist/types/vue-ui-cursor.d.ts +2 -2
- package/dist/types/vue-ui-dag.d.ts +10 -7
- package/dist/types/vue-ui-dashboard.d.ts +3 -3
- package/dist/types/vue-ui-digits.d.ts +2 -2
- package/dist/types/vue-ui-donut-evolution.d.ts +11 -8
- package/dist/types/vue-ui-donut.d.ts +11 -8
- package/dist/types/vue-ui-dumbbell.d.ts +11 -8
- package/dist/types/vue-ui-flow.d.ts +11 -8
- package/dist/types/vue-ui-funnel.d.ts +11 -8
- package/dist/types/vue-ui-galaxy.d.ts +11 -8
- package/dist/types/vue-ui-gauge.d.ts +11 -8
- package/dist/types/vue-ui-geo.d.ts +13 -6
- package/dist/types/vue-ui-gizmo.d.ts +2 -5
- package/dist/types/vue-ui-heatmap.d.ts +11 -8
- package/dist/types/vue-ui-history-plot.d.ts +11 -8
- package/dist/types/vue-ui-horizontal-bar.d.ts +11 -8
- package/dist/types/vue-ui-icon.d.ts +2 -4
- package/dist/types/vue-ui-kpi.d.ts +2 -4
- package/dist/types/vue-ui-mini-loader.d.ts +4 -4
- package/dist/types/vue-ui-molecule.d.ts +11 -8
- package/dist/types/vue-ui-mood-radar.d.ts +11 -8
- package/dist/types/vue-ui-nested-donuts.d.ts +11 -8
- package/dist/types/vue-ui-onion.d.ts +11 -8
- package/dist/types/vue-ui-parallel-coordinate-plot.d.ts +11 -8
- package/dist/types/vue-ui-pattern-seed.d.ts +14 -0
- package/dist/types/vue-ui-pattern.d.ts +2 -4
- package/dist/types/vue-ui-quadrant.d.ts +11 -8
- package/dist/types/vue-ui-quick-chart.d.ts +11 -8
- package/dist/types/vue-ui-radar.d.ts +11 -8
- package/dist/types/vue-ui-rating.d.ts +4 -4
- package/dist/types/vue-ui-relation-circle.d.ts +11 -8
- package/dist/types/vue-ui-ridgeline.d.ts +11 -8
- package/dist/types/vue-ui-rings.d.ts +11 -8
- package/dist/types/vue-ui-scatter.d.ts +11 -8
- package/dist/types/vue-ui-skeleton.d.ts +2 -4
- package/dist/types/vue-ui-smiley.d.ts +2 -5
- package/dist/types/vue-ui-spark-trend.d.ts +2 -4
- package/dist/types/vue-ui-sparkbar.d.ts +4 -4
- package/dist/types/vue-ui-sparkgauge.d.ts +4 -4
- package/dist/types/vue-ui-sparkhistogram.d.ts +4 -4
- package/dist/types/vue-ui-sparkline.d.ts +4 -4
- package/dist/types/vue-ui-sparkstackbar.d.ts +4 -4
- package/dist/types/vue-ui-stackbar.d.ts +11 -8
- package/dist/types/vue-ui-stackline.d.ts +11 -8
- package/dist/types/vue-ui-strip-plot.d.ts +11 -8
- package/dist/types/vue-ui-table-heatmap.d.ts +4 -4
- package/dist/types/vue-ui-table-sparkline.d.ts +4 -4
- package/dist/types/vue-ui-table.d.ts +4 -4
- package/dist/types/vue-ui-thermometer.d.ts +11 -8
- package/dist/types/vue-ui-timer.d.ts +2 -4
- package/dist/types/vue-ui-tiremarks.d.ts +11 -8
- package/dist/types/vue-ui-treemap.d.ts +11 -8
- package/dist/types/vue-ui-vertical-bar.d.ts +11 -8
- package/dist/types/vue-ui-waffle.d.ts +11 -8
- package/dist/types/vue-ui-wheel.d.ts +11 -8
- package/dist/types/vue-ui-word-cloud.d.ts +11 -8
- package/dist/types/vue-ui-world.d.ts +11 -8
- package/dist/types/vue-ui-xy-canvas.d.ts +11 -8
- package/dist/types/vue-ui-xy.d.ts +9 -6
- package/dist/{useAutoSizeLabelsInsideViewbox-DX7LdvFX.js → useAutoSizeLabelsInsideViewbox-izlGDfwu.js} +1 -1
- package/dist/{useChartAccessibility-9icAAmYg.js → useChartAccessibility-cp6XQtqi.js} +4 -1
- package/dist/{useConfig-C40HvGpD.js → useConfig-DTHxOX6V.js} +2 -8
- package/dist/{useNestedProp-Bf5XFbs8.js → useNestedProp-DH0BEVVS.js} +1 -1
- package/dist/{useObjectBindings-DOokNdQ_.js → useObjectBindings-BjkVidN3.js} +17 -6
- package/dist/{usePanZoom-CDF7rb3o.js → usePanZoom-BbDhcKWf.js} +11 -2
- package/dist/{usePrefersMotion-CUKm8_t8.js → usePrefersMotion-Co0nj1eS.js} +3 -1
- package/dist/{usePrinter-CEpYU3r5.js → usePrinter-C4t8DdQ-.js} +3 -8
- package/dist/{useStableElementSize-DCNs0Tx7.js → useStableElementSize-C48ZVcZQ.js} +4 -1
- package/dist/{useSvgExport-ByUukOZt.js → useSvgExport-BTG4hVPO.js} +154 -34
- package/dist/{useTableResponsive-Cbx-ACcP.js → useTableResponsive-BpfiEtzR.js} +7 -3
- package/dist/{useThemeCheck-D1ZYXUwG.js → useThemeCheck-C9Ccl7U9.js} +4 -2
- package/dist/{useTimeLabelCollider-CIsgDrl9.js → useTimeLabelCollider-D3JeJ6Ye.js} +13 -5
- package/dist/{useTimeLabels-C-A2uZKi.js → useTimeLabels-Cv0tD9In.js} +22 -6
- package/dist/{useUserOptionState-BIvW1Kz7.js → useUserOptionState-B7Ej974k.js} +6 -4
- package/dist/utils.js +28 -25
- package/dist/{vue-data-ui-CGsJdqdx.js → vue-data-ui-C0aMSe2G.js} +138 -72
- package/dist/vue-data-ui.js +103 -99
- package/dist/{vue-ui-3d-bar-Bnm0MPNr.js → vue-ui-3d-bar-CzXlsUEJ.js} +328 -101
- package/dist/{vue-ui-accordion-DDuJT1xA.js → vue-ui-accordion-BHmfmb_6.js} +26 -14
- package/dist/{vue-ui-age-pyramid-vvDMkGxw.js → vue-ui-age-pyramid-DMZ9oYFv.js} +180 -73
- package/dist/{vue-ui-annotator-BdmTltyl.js → vue-ui-annotator-Db4eooqI.js} +162 -53
- package/dist/{vue-ui-bullet-CM5pK6Sj.js → vue-ui-bullet-CEH6eppC.js} +92 -35
- package/dist/{vue-ui-bump-DAo_mV8M.js → vue-ui-bump-JbKFEe2A.js} +205 -102
- package/dist/{vue-ui-candlestick-DsiOmaj1.js → vue-ui-candlestick-BX01sTaY.js} +285 -100
- package/dist/{vue-ui-carousel-table-DUl5G_cg.js → vue-ui-carousel-table-BOAti3gd.js} +66 -29
- package/dist/{vue-ui-chestnut-DMMCHoHB.js → vue-ui-chestnut-B0rhAzCA.js} +277 -88
- package/dist/{vue-ui-chord-75V7kRrX.js → vue-ui-chord-DKIHZ39Z.js} +226 -96
- package/dist/{vue-ui-circle-pack-BGXpEnmN.js → vue-ui-circle-pack-Ct2roluW.js} +196 -111
- package/dist/{vue-ui-cursor-BpPe14qk.js → vue-ui-cursor-B3cJoPku.js} +14 -7
- package/dist/{vue-ui-dag-D20FezGN.js → vue-ui-dag-DCq1VMNd.js} +261 -99
- package/dist/{vue-ui-dashboard-BcafQJ1Y.js → vue-ui-dashboard-BqAYr0Fr.js} +261 -94
- package/dist/{vue-ui-digits-gFYVzPkE.js → vue-ui-digits-D16SQQ4M.js} +6 -6
- package/dist/{vue-ui-donut-Cz7rvM7I.js → vue-ui-donut-d0LLrlKG.js} +532 -157
- package/dist/{vue-ui-donut-evolution-Cp0-8Deg.js → vue-ui-donut-evolution-6sMhQduN.js} +311 -92
- package/dist/{vue-ui-dumbbell-D_13qNsV.js → vue-ui-dumbbell-CUybhrwj.js} +266 -93
- package/dist/{vue-ui-flow-BuaVAVvN.js → vue-ui-flow-BZ-9RFsy.js} +121 -48
- package/dist/{vue-ui-funnel-Cv18o2ax.js → vue-ui-funnel-BJgvIvlz.js} +91 -39
- package/dist/{vue-ui-galaxy-n17IGTDo.js → vue-ui-galaxy-DR9WL985.js} +161 -69
- package/dist/{vue-ui-gauge-2bks6sjR.js → vue-ui-gauge-x96W5OPx.js} +95 -37
- package/dist/{vue-ui-geo-D6BoOtIP.js → vue-ui-geo-qTfYs5qi.js} +113 -43
- package/dist/{vue-ui-gizmo-CV07ZThl.js → vue-ui-gizmo-C8HOirN9.js} +25 -12
- package/dist/{vue-ui-heatmap-DfbRacVm.js → vue-ui-heatmap-Cy9o-A7B.js} +316 -125
- package/dist/{vue-ui-history-plot-5sPJfAue.js → vue-ui-history-plot-j0DMfNPJ.js} +186 -73
- package/dist/{vue-ui-horizontal-bar-BhMvbsvs.js → vue-ui-horizontal-bar-CRScV3rx.js} +151 -56
- package/dist/{vue-ui-kpi-P92uuJ_R.js → vue-ui-kpi-CEx3P3Do.js} +35 -14
- package/dist/{vue-ui-mini-loader-DrROXJIX.js → vue-ui-mini-loader-CyDOoarO.js} +17 -11
- package/dist/{vue-ui-molecule-BI6zROGn.js → vue-ui-molecule-B_19tjnI.js} +226 -120
- package/dist/{vue-ui-mood-radar-Byc_xyhw.js → vue-ui-mood-radar-DrkGtt7m.js} +166 -56
- package/dist/{vue-ui-nested-donuts-BZu1ntbw.js → vue-ui-nested-donuts-C3enuKq1.js} +196 -89
- package/dist/{vue-ui-onion-O2tKgfXh.js → vue-ui-onion-DMMLNXVu.js} +155 -74
- package/dist/{vue-ui-parallel-coordinate-plot-CbDGHCzy.js → vue-ui-parallel-coordinate-plot-YokoI6TP.js} +262 -84
- package/dist/vue-ui-pattern-seed-BcNlxb2i.js +36 -0
- package/dist/{vue-ui-quadrant-CPgUkle7.js → vue-ui-quadrant-D8vI4gIT.js} +240 -88
- package/dist/{vue-ui-quick-chart-CgDH-APs.js → vue-ui-quick-chart-BdwHAQyA.js} +445 -150
- package/dist/{vue-ui-radar-Belp_vQe.js → vue-ui-radar-DQWyecSD.js} +186 -68
- package/dist/{vue-ui-rating-C1f6x_PD.js → vue-ui-rating-DKmEn0VK.js} +30 -11
- package/dist/{vue-ui-relation-circle-AWRDIZzF.js → vue-ui-relation-circle-XQH3QkrI.js} +119 -45
- package/dist/{vue-ui-ridgeline-Cao4_cEs.js → vue-ui-ridgeline-ksI62sSU.js} +349 -85
- package/dist/{vue-ui-rings-Dl462hDH.js → vue-ui-rings-Dwbo1Fro.js} +179 -81
- package/dist/{vue-ui-scatter-BrVEK5YL.js → vue-ui-scatter-GFzM-YYz.js} +282 -102
- package/dist/{vue-ui-skeleton-BsTtcR3x.js → vue-ui-skeleton-xLPY1FKW.js} +161 -144
- package/dist/{vue-ui-smiley-M5Gn70_Z.js → vue-ui-smiley-BLMl69Ca.js} +28 -17
- package/dist/{vue-ui-spark-trend-CbtI2yPI.js → vue-ui-spark-trend-Bkxd18l5.js} +76 -31
- package/dist/{vue-ui-sparkbar-DgrwoANx.js → vue-ui-sparkbar-D2abFa-u.js} +113 -59
- package/dist/{vue-ui-sparkgauge-CepspA5J.js → vue-ui-sparkgauge-D6IF3ZQR.js} +47 -18
- package/dist/{vue-ui-sparkhistogram-BAVAkN0U.js → vue-ui-sparkhistogram-Dl8WlJLW.js} +145 -60
- package/dist/{vue-ui-sparkline-BMcsfaUW.js → vue-ui-sparkline-BY05SDNv.js} +226 -68
- package/dist/{vue-ui-sparkstackbar-BAzr99-y.js → vue-ui-sparkstackbar-BLFjfklb.js} +84 -36
- package/dist/{vue-ui-stackbar-BnepTc3z.js → vue-ui-stackbar-Dw-CI94e.js} +482 -169
- package/dist/{vue-ui-stackline-p3Utm59w.js → vue-ui-stackline-CkgSbKkp.js} +473 -164
- package/dist/{vue-ui-strip-plot-BfYmPTZT.js → vue-ui-strip-plot-P16Y5yN1.js} +239 -132
- package/dist/{vue-ui-table-BNmt2bQy.js → vue-ui-table-BPLypaeX.js} +339 -122
- package/dist/{vue-ui-table-heatmap-C6rSAGDu.js → vue-ui-table-heatmap-CWp_5d1z.js} +89 -25
- package/dist/{vue-ui-table-sparkline-BMt2q1FS.js → vue-ui-table-sparkline-CpjyrPic.js} +127 -47
- package/dist/{vue-ui-thermometer-Bf22bEzP.js → vue-ui-thermometer-B9nc954A.js} +129 -48
- package/dist/{vue-ui-timer-CkEPkE7B.js → vue-ui-timer-BDfbM4vl.js} +32 -15
- package/dist/{vue-ui-tiremarks-ltmjDwug.js → vue-ui-tiremarks-DHV_oSQ0.js} +90 -35
- package/dist/vue-ui-treemap-DLWOi_EG.js +1748 -0
- package/dist/{vue-ui-waffle-AUF7SKGN.js → vue-ui-waffle-CpNJSzAD.js} +206 -87
- package/dist/{vue-ui-wheel-Dn1nmx7r.js → vue-ui-wheel-DqBmaQ6h.js} +231 -61
- package/dist/{vue-ui-word-cloud-Bll30XSc.js → vue-ui-word-cloud-DexRxuh1.js} +443 -350
- package/dist/vue-ui-world-DAJgtvpz.js +14451 -0
- package/dist/{vue-ui-xy-BGC31q8v.js → vue-ui-xy-Cv-50xHj.js} +840 -252
- package/dist/{vue-ui-xy-canvas-BR-Qogdl.js → vue-ui-xy-canvas-BNUX13xH.js} +448 -159
- package/package.json +120 -119
- package/dist/BaseScanner-BhhkKVoj.js +0 -30
- package/dist/vue-ui-treemap-CGbTrwdn.js +0 -1726
- package/dist/vue-ui-world-CiNUxqIq.js +0 -1011
package/README.md
CHANGED
|
@@ -122,18 +122,18 @@ npm i vue-data-ui
|
|
|
122
122
|
You can declare components globally in your main.js:
|
|
123
123
|
|
|
124
124
|
```js
|
|
125
|
-
import { createApp } from
|
|
126
|
-
import App from
|
|
125
|
+
import { createApp } from 'vue';
|
|
126
|
+
import App from './App.vue';
|
|
127
127
|
// Include the css;
|
|
128
|
-
import
|
|
128
|
+
import 'vue-data-ui/style.css';
|
|
129
129
|
|
|
130
130
|
// You can declare Vue Data UI components globally
|
|
131
|
-
import { VueUiRadar } from
|
|
131
|
+
import { VueUiRadar } from 'vue-data-ui';
|
|
132
132
|
|
|
133
133
|
const app = createApp(App);
|
|
134
134
|
|
|
135
|
-
app.component(
|
|
136
|
-
app.mount(
|
|
135
|
+
app.component('VueUiRadar', VueUiRadar);
|
|
136
|
+
app.mount('#app');
|
|
137
137
|
```
|
|
138
138
|
|
|
139
139
|
Or you can import just what you need into your files:
|
|
@@ -234,11 +234,11 @@ Most Vue Data UI chart components include a #svg slot you can use to introduce c
|
|
|
234
234
|
|
|
235
235
|
```html
|
|
236
236
|
<VueUiXy :dataset="dataset" :config="config">
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
237
|
+
<template #svg="{ svg }">
|
|
238
|
+
<foreignObject x="100" y="0" height="100" width="150">
|
|
239
|
+
<div>This is a custom caption</div>
|
|
240
|
+
</foreignObject>
|
|
241
|
+
</template>
|
|
242
242
|
</VueUiXy>
|
|
243
243
|
```
|
|
244
244
|
|
|
@@ -269,9 +269,9 @@ It is recommended to set the show legend config attribute to false, to hide the
|
|
|
269
269
|
|
|
270
270
|
```html
|
|
271
271
|
<VueUiDonut :config="config" :dataset="dataset">
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
272
|
+
<template #legend="{ legend }">
|
|
273
|
+
<div v-for="item in legend">{{ legend.name }}</div>
|
|
274
|
+
</template>
|
|
275
275
|
</VueUiDonut>
|
|
276
276
|
```
|
|
277
277
|
|
|
@@ -323,14 +323,14 @@ You will usually only need the `datapoint` attribute exposed by the slot, but yo
|
|
|
323
323
|
|
|
324
324
|
```html
|
|
325
325
|
<VueUiXy :dataset :config>
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
326
|
+
<template #tooltip="{ ...tooltip }">
|
|
327
|
+
<div>
|
|
328
|
+
<span>{{ tooltip.timeLabel.text }}</span>
|
|
329
|
+
<div v-for="serie in tooltip.datapoint" :key="serie.id">
|
|
330
|
+
{{ serie.name }}: {{ serie.value }}
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</template>
|
|
334
334
|
</VueUiXy>
|
|
335
335
|
```
|
|
336
336
|
|
|
@@ -416,14 +416,14 @@ This slot exposes the isPrinting boolean you can use to display the watermark on
|
|
|
416
416
|
|
|
417
417
|
```html
|
|
418
418
|
<VueUiDonut :config="config" :dataset="dataset">
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
419
|
+
<template #watermark="{ isPrinting }">
|
|
420
|
+
<div
|
|
421
|
+
v-if="isPrinting"
|
|
422
|
+
style="font-size: 100px; opacity: 0.1; transform: rotate(-10deg)"
|
|
423
|
+
>
|
|
424
|
+
WATERMARK
|
|
425
|
+
</div>
|
|
426
|
+
</template>
|
|
427
427
|
</VueUiDonut>
|
|
428
428
|
```
|
|
429
429
|
|
|
@@ -441,9 +441,9 @@ The config option zoom.useResetSlot must be set to true to use the slot.
|
|
|
441
441
|
|
|
442
442
|
```html
|
|
443
443
|
<VueUiXy :config="config" :dataset="dataset">
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
444
|
+
<template #reset-action="{ reset }">
|
|
445
|
+
<button @click="reset()">RESET ZOOM</button>
|
|
446
|
+
</template>
|
|
447
447
|
</VueUiXy>
|
|
448
448
|
```
|
|
449
449
|
|
|
@@ -452,9 +452,9 @@ The config option zoom.useResetSlot must be set to true to use the slot.
|
|
|
452
452
|
If for some reason you can't access the documentation website and need to get the default config object for a component:
|
|
453
453
|
|
|
454
454
|
```js
|
|
455
|
-
import { getVueDataUiConfig } from
|
|
455
|
+
import { getVueDataUiConfig } from 'vue-data-ui';
|
|
456
456
|
|
|
457
|
-
const defaultConfigXy = getVueDataUiConfig(
|
|
457
|
+
const defaultConfigXy = getVueDataUiConfig('vue_ui_xy');
|
|
458
458
|
```
|
|
459
459
|
|
|
460
460
|
# Themes (since v2.2.9)
|
|
@@ -489,32 +489,32 @@ const donutConfig = ref({
|
|
|
489
489
|
You can quickly setup your own theme for a given chart:
|
|
490
490
|
|
|
491
491
|
```js
|
|
492
|
-
import { getVueDataUiConfig, mergeConfigs } from
|
|
492
|
+
import { getVueDataUiConfig, mergeConfigs } from 'vue-data-ui';
|
|
493
493
|
|
|
494
494
|
// Get the default config and set color options
|
|
495
|
-
const customTheme = getVueDataUiConfig(
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
495
|
+
const customTheme = getVueDataUiConfig('vue_ui_xy', {
|
|
496
|
+
colorBackground: '#1A1A1A',
|
|
497
|
+
colorTextPrimary: '#CD9077',
|
|
498
|
+
colorTextSecondary: '#825848',
|
|
499
|
+
colorGrid: '#CD9077',
|
|
500
|
+
colorBorder: '#CD9077',
|
|
501
501
|
});
|
|
502
502
|
|
|
503
503
|
const config = computed(() => {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
504
|
+
// Use the `mergeConfigs` utility to set additional configurations while preserving your theme
|
|
505
|
+
return mergeConfigs({
|
|
506
|
+
defaultConfig: customTheme,
|
|
507
|
+
userConfig: {
|
|
508
|
+
chart: {
|
|
509
|
+
title: {
|
|
510
|
+
text: 'Title',
|
|
511
|
+
subtitle: {
|
|
512
|
+
text: 'Subtitle',
|
|
513
|
+
},
|
|
514
|
+
},
|
|
515
|
+
},
|
|
514
516
|
},
|
|
515
|
-
|
|
516
|
-
},
|
|
517
|
-
});
|
|
517
|
+
});
|
|
518
518
|
});
|
|
519
519
|
```
|
|
520
520
|
|
|
@@ -688,11 +688,11 @@ The user options menu can be set to appear only when hovering over the component
|
|
|
688
688
|
|
|
689
689
|
```js
|
|
690
690
|
const config = ref({
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
691
|
+
userOptions: {
|
|
692
|
+
show: true,
|
|
693
|
+
showOnChartHover: true, // Default: false
|
|
694
|
+
keepStateOnChartLeave: true, // Set to false to always close the menu when hovering out of the chart
|
|
695
|
+
},
|
|
696
696
|
});
|
|
697
697
|
```
|
|
698
698
|
|
|
@@ -702,15 +702,15 @@ To hide a given action, set the userOption.buttons, for example:
|
|
|
702
702
|
|
|
703
703
|
```js
|
|
704
704
|
const config = ref({
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
705
|
+
userOptions: {
|
|
706
|
+
show: true,
|
|
707
|
+
buttons: {
|
|
708
|
+
pdf: false,
|
|
709
|
+
fullscreen: false,
|
|
710
|
+
altCopy: true,
|
|
711
|
+
// all other pertinent actions for the component will be visible by default (list of all actions below)
|
|
712
|
+
},
|
|
712
713
|
},
|
|
713
|
-
},
|
|
714
714
|
});
|
|
715
715
|
```
|
|
716
716
|
|
|
@@ -719,14 +719,14 @@ What happens when the button is clicked is taken care of by the component, excep
|
|
|
719
719
|
|
|
720
720
|
```html
|
|
721
721
|
<VueUiDonut :config="config" :dataset="dataset">
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
722
|
+
<template #optionPdf> GENERATE PDF </template>
|
|
723
|
+
|
|
724
|
+
<!-- This is the only action where scoped content is provided -->
|
|
725
|
+
<template template #optionFullscreen="{ isFullscreen, toggleFullscreen }">
|
|
726
|
+
<div @click="toggleFullscreen(isFullscreen ? 'out' : 'in')">
|
|
727
|
+
TOGGLE FULLSCREEN
|
|
728
|
+
</div>
|
|
729
|
+
</template>
|
|
730
730
|
</VueUiDonut>
|
|
731
731
|
```
|
|
732
732
|
|
|
@@ -734,23 +734,23 @@ You can pass a callback through the config, for each button, to override the def
|
|
|
734
734
|
|
|
735
735
|
```ts
|
|
736
736
|
const config = {
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
737
|
+
userOptions: {
|
|
738
|
+
callbacks: {
|
|
739
|
+
pdf: ({ chartElement, imageUri, base64 }) => {
|
|
740
|
+
console.log(chartElement);
|
|
741
|
+
},
|
|
742
|
+
img: ({ chartElement, imageUri, base64 }) => {
|
|
743
|
+
console.log(base64);
|
|
744
|
+
},
|
|
745
|
+
csv: (csvStr: string) => {
|
|
746
|
+
console.log(csvStr);
|
|
747
|
+
},
|
|
748
|
+
altCopy: ({ dataset: dst, config: cfg }) => {
|
|
749
|
+
console.log({ dst, cfg });
|
|
750
|
+
},
|
|
751
|
+
// the other attributes also have the same names as the buttons
|
|
752
|
+
},
|
|
752
753
|
},
|
|
753
|
-
},
|
|
754
754
|
};
|
|
755
755
|
```
|
|
756
756
|
|
|
@@ -816,7 +816,7 @@ User options menu icon can be customized using the #menuIcon slot:
|
|
|
816
816
|
|
|
817
817
|
```html
|
|
818
818
|
<template #menuIcon="{ isOpen, color }">
|
|
819
|
-
|
|
819
|
+
<div>{{ isOpen ? 'close' : 'open' }}</div>
|
|
820
820
|
</template>
|
|
821
821
|
```
|
|
822
822
|
|
|
@@ -824,25 +824,25 @@ Since version 3.5.1, slots are exposed to customize the chart annotator sub-menu
|
|
|
824
824
|
|
|
825
825
|
```html
|
|
826
826
|
<VueUiXy :dataset="dataset" :config="config">
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
827
|
+
<template #annotator-action-close>
|
|
828
|
+
<MyCloseIcon />
|
|
829
|
+
</template>
|
|
830
|
+
<template #annotator-action-color="{ color }">
|
|
831
|
+
<MyColorIcon :color="color" />
|
|
832
|
+
</template>
|
|
833
|
+
<template #annotator-action-draw="{ mode }">
|
|
834
|
+
<MyDrawIcon v-if="mode === 'draw'" />
|
|
835
|
+
<MyTextIcon v-else />
|
|
836
|
+
</template>
|
|
837
|
+
<template #annotator-action-undo="{ disabled }">
|
|
838
|
+
<MyUndoIcon />
|
|
839
|
+
</template>
|
|
840
|
+
<template #annotator-action-redo="{ disabled }">
|
|
841
|
+
<MyRedoIcon />
|
|
842
|
+
</template>
|
|
843
|
+
<template #annotator-action-delete="{ disabled }">
|
|
844
|
+
<MyDeleteIcon />
|
|
845
|
+
</template>
|
|
846
846
|
</VueUiXy>
|
|
847
847
|
```
|
|
848
848
|
|
|
@@ -956,8 +956,8 @@ To activate responsiveness, set the config.responsive attribute to true:
|
|
|
956
956
|
|
|
957
957
|
```js
|
|
958
958
|
const config = ref({
|
|
959
|
-
|
|
960
|
-
|
|
959
|
+
responsive: true,
|
|
960
|
+
// rest of your config
|
|
961
961
|
});
|
|
962
962
|
```
|
|
963
963
|
|
|
@@ -995,11 +995,11 @@ The content placed inside this slot has pointer-events set to none, so it does n
|
|
|
995
995
|
|
|
996
996
|
```html
|
|
997
997
|
<VueUiXy :config="config" :dataset="dataset">
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
998
|
+
<template #chart-background>
|
|
999
|
+
<div
|
|
1000
|
+
style="width: 100%; height: 100%; background: radial-gradient(at top left, red, white)"
|
|
1001
|
+
/>
|
|
1002
|
+
</template>
|
|
1003
1003
|
</VueUiXy>
|
|
1004
1004
|
```
|
|
1005
1005
|
|
|
@@ -1028,18 +1028,18 @@ A pattern element must be used inside this slot. It will be injected inside a de
|
|
|
1028
1028
|
|
|
1029
1029
|
```html
|
|
1030
1030
|
<VueUiDonut :config="config" :dataset="dataset">
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1031
|
+
<template #pattern="{ seriesIndex, patternId }">
|
|
1032
|
+
<!-- Apply a pattern on the first datapoint only -->
|
|
1033
|
+
<pattern
|
|
1034
|
+
v-if="seriesIndex === 0"
|
|
1035
|
+
:id="patternId"
|
|
1036
|
+
viewBox="0,0,10,10"
|
|
1037
|
+
width="10%"
|
|
1038
|
+
height="10%"
|
|
1039
|
+
>
|
|
1040
|
+
<polygon points="0,0 2,5 0,10 5,8 10,10 8,5 10,0 5,2" />
|
|
1041
|
+
</pattern>
|
|
1042
|
+
</template>
|
|
1043
1043
|
</VueUiDonut>
|
|
1044
1044
|
```
|
|
1045
1045
|
|
|
@@ -1061,15 +1061,15 @@ The #pattern slot is available on the following components:
|
|
|
1061
1061
|
A set of 12 readymade patterns is available through the VueUiPattern component:
|
|
1062
1062
|
|
|
1063
1063
|
```js
|
|
1064
|
-
import { VueUiPattern } from
|
|
1064
|
+
import { VueUiPattern } from 'vue-data-ui';
|
|
1065
1065
|
```
|
|
1066
1066
|
|
|
1067
1067
|
```html
|
|
1068
1068
|
<VueUiDonut :dataset="dataset" :config="config">
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1069
|
+
<template #pattern="{ seriesIndex, patternId }">
|
|
1070
|
+
<VueUiPattern :id="patternId" name="bubbles" v-if="seriesIndex === 0" />
|
|
1071
|
+
<VueUiPattern :id="patternId" name="squares" v-if="seriesIndex === 1" />
|
|
1072
|
+
</template>
|
|
1073
1073
|
</VueUiDonut>
|
|
1074
1074
|
```
|
|
1075
1075
|
|
|
@@ -1105,68 +1105,68 @@ A set of utility functions is available:
|
|
|
1105
1105
|
|
|
1106
1106
|
```js
|
|
1107
1107
|
import {
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
} from
|
|
1108
|
+
abbreviate,
|
|
1109
|
+
darkenColor,
|
|
1110
|
+
lightenColor,
|
|
1111
|
+
shiftColorHue,
|
|
1112
|
+
createTSpans,
|
|
1113
|
+
getCumulativeAverage,
|
|
1114
|
+
getCumulativeMedian,
|
|
1115
|
+
} from 'vue-data-ui';
|
|
1116
1116
|
```
|
|
1117
1117
|
|
|
1118
1118
|
### abreviate
|
|
1119
1119
|
|
|
1120
1120
|
```js
|
|
1121
|
-
import { abbreviate } from
|
|
1121
|
+
import { abbreviate } from 'vue-data-ui';
|
|
1122
1122
|
|
|
1123
|
-
const text =
|
|
1123
|
+
const text = 'lorem ipsum dolor sit amet';
|
|
1124
1124
|
const abbreviated = abbreviate({
|
|
1125
|
-
|
|
1126
|
-
|
|
1125
|
+
source: text,
|
|
1126
|
+
length: 5,
|
|
1127
1127
|
}); // Result: LIDSA
|
|
1128
1128
|
```
|
|
1129
1129
|
|
|
1130
1130
|
### darkenColor
|
|
1131
1131
|
|
|
1132
1132
|
```js
|
|
1133
|
-
import { darkenColor } from
|
|
1133
|
+
import { darkenColor } from 'vue-data-ui';
|
|
1134
1134
|
|
|
1135
|
-
const color =
|
|
1135
|
+
const color = '#FF0000';
|
|
1136
1136
|
const darkened = darkenColor(color, 0.5); // Result: #800000ff
|
|
1137
1137
|
```
|
|
1138
1138
|
|
|
1139
1139
|
### lightenColor
|
|
1140
1140
|
|
|
1141
1141
|
```js
|
|
1142
|
-
import { lightenColor } from
|
|
1142
|
+
import { lightenColor } from 'vue-data-ui';
|
|
1143
1143
|
|
|
1144
|
-
const color =
|
|
1144
|
+
const color = '#FF0000';
|
|
1145
1145
|
const lightened = lightenColor(color, 0.5); // Result: #ff8080ff
|
|
1146
1146
|
```
|
|
1147
1147
|
|
|
1148
1148
|
### shiftColorHue
|
|
1149
1149
|
|
|
1150
1150
|
```js
|
|
1151
|
-
import { shiftColorHue } from
|
|
1151
|
+
import { shiftColorHue } from 'vue-data-ui';
|
|
1152
1152
|
|
|
1153
1153
|
// Color format can be HEX (with or without alpha channel), RGB, RGBA, or named color
|
|
1154
|
-
const color =
|
|
1154
|
+
const color = '#FF0000';
|
|
1155
1155
|
const shifted = shiftColorHue(color, 0.1); // Result: #ff9900ff
|
|
1156
1156
|
```
|
|
1157
1157
|
|
|
1158
1158
|
### createTSpans
|
|
1159
1159
|
|
|
1160
1160
|
```js
|
|
1161
|
-
import { createTSpans } from
|
|
1161
|
+
import { createTSpans } from 'vue-data-ui';
|
|
1162
1162
|
|
|
1163
1163
|
const textContent = createTSpans({
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1164
|
+
content: 'This is an example of multiline text',
|
|
1165
|
+
fontSize: 16,
|
|
1166
|
+
fill: '#1A1A1A',
|
|
1167
|
+
maxWords: 3,
|
|
1168
|
+
x: 10,
|
|
1169
|
+
y: 20,
|
|
1170
1170
|
});
|
|
1171
1171
|
```
|
|
1172
1172
|
|
|
@@ -1174,19 +1174,19 @@ const textContent = createTSpans({
|
|
|
1174
1174
|
<!-- The output must be used inside a svg text element with `v-html`, for example in a #data-label slot, or in your own svg -->
|
|
1175
1175
|
|
|
1176
1176
|
<text
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1177
|
+
:x="10"
|
|
1178
|
+
:y="20"
|
|
1179
|
+
fill="#1A1A1A"
|
|
1180
|
+
:font-size="16"
|
|
1181
|
+
text-anchor="middle"
|
|
1182
|
+
v-html="textContent"
|
|
1183
1183
|
/>
|
|
1184
1184
|
```
|
|
1185
1185
|
|
|
1186
1186
|
### getCumulativeAverage
|
|
1187
1187
|
|
|
1188
1188
|
```js
|
|
1189
|
-
import { getCumulativeAverage } from
|
|
1189
|
+
import { getCumulativeAverage } from 'vue-data-ui';
|
|
1190
1190
|
|
|
1191
1191
|
// simple usage
|
|
1192
1192
|
const arr = [0, 1, 2, 3, 4];
|
|
@@ -1195,25 +1195,25 @@ const cumulativeAvg = getCumulativeAverage({ values: arr });
|
|
|
1195
1195
|
// Ignore invalid values entirely
|
|
1196
1196
|
const arrWithInvalid = [1, null, 2, Infinity, NaN, undefined];
|
|
1197
1197
|
const cumulativeAvgNoInvalid = getCumulativeAverage({
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1198
|
+
values: arrWithInvalid,
|
|
1199
|
+
config: {
|
|
1200
|
+
keepInvalid: false,
|
|
1201
|
+
},
|
|
1202
1202
|
});
|
|
1203
1203
|
|
|
1204
1204
|
// Convert invalid values to zero
|
|
1205
1205
|
const cumulativeAvgZeroed = getCumulativeAverage({
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1206
|
+
values: arrWithInvalid,
|
|
1207
|
+
config: {
|
|
1208
|
+
convertInvalidToZero: true,
|
|
1209
|
+
},
|
|
1210
1210
|
});
|
|
1211
1211
|
```
|
|
1212
1212
|
|
|
1213
1213
|
### getCumulativeMedian
|
|
1214
1214
|
|
|
1215
1215
|
```js
|
|
1216
|
-
import { getCumulativeMedian } from
|
|
1216
|
+
import { getCumulativeMedian } from 'vue-data-ui';
|
|
1217
1217
|
|
|
1218
1218
|
// simple usage
|
|
1219
1219
|
const arr = [0, 1, 2, 3, 4];
|
|
@@ -1222,35 +1222,35 @@ const cumulativeMed = getCumulativeMedian({ values: arr });
|
|
|
1222
1222
|
// Ignore invalid values entirely
|
|
1223
1223
|
const arrWithInvalid = [1, null, 2, Infinity, NaN, undefined];
|
|
1224
1224
|
const cumulativeMedNoInvalid = getCumulativeMedian({
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1225
|
+
values: arrWithInvalid,
|
|
1226
|
+
config: {
|
|
1227
|
+
keepInvalid: false,
|
|
1228
|
+
},
|
|
1229
1229
|
});
|
|
1230
1230
|
|
|
1231
1231
|
// Convert invalid values to zero
|
|
1232
1232
|
const cumulativeMedZeroed = getCumulativeMedian({
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1233
|
+
values: arrWithInvalid,
|
|
1234
|
+
config: {
|
|
1235
|
+
convertInvalidToZero: true,
|
|
1236
|
+
},
|
|
1237
1237
|
});
|
|
1238
1238
|
```
|
|
1239
1239
|
|
|
1240
1240
|
### mergeConfigs
|
|
1241
1241
|
|
|
1242
1242
|
```js
|
|
1243
|
-
import { mergeConfigs, getVueDataUiConfig } from
|
|
1244
|
-
const defaultConfig = getVueDataUiConfig(
|
|
1243
|
+
import { mergeConfigs, getVueDataUiConfig } from 'vue-data-ui';
|
|
1244
|
+
const defaultConfig = getVueDataUiConfig('vue_ui_xy');
|
|
1245
1245
|
|
|
1246
1246
|
// Create a full config with user overrides
|
|
1247
1247
|
const merged = mergeConfigs({
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1248
|
+
defaultConfig,
|
|
1249
|
+
userConfig: {
|
|
1250
|
+
chart: {
|
|
1251
|
+
backgroundColor: '#FF0000',
|
|
1252
|
+
},
|
|
1252
1253
|
},
|
|
1253
|
-
},
|
|
1254
1254
|
});
|
|
1255
1255
|
```
|
|
1256
1256
|
|
|
@@ -1291,9 +1291,9 @@ A composable that **flattens** a reactive object into a set of refs (one for eac
|
|
|
1291
1291
|
- **Dynamic path support**: New paths added at runtime are discovered automatically (and proxied), so you never lose reactivity when mutating the structure.
|
|
1292
1292
|
|
|
1293
1293
|
```js
|
|
1294
|
-
import { useObjectBindings, getVueDataUiConfig } from
|
|
1294
|
+
import { useObjectBindings, getVueDataUiConfig } from 'vue-data-ui';
|
|
1295
1295
|
|
|
1296
|
-
const config = ref(getVueDataUiConfig(
|
|
1296
|
+
const config = ref(getVueDataUiConfig('vue_ui_donut')); // or your custom config for this component
|
|
1297
1297
|
|
|
1298
1298
|
const bindings = useObjectBindings(config);
|
|
1299
1299
|
// Now `bindings` has computed refs for each leaf path:
|
|
@@ -1308,12 +1308,12 @@ You can then use these in your template:
|
|
|
1308
1308
|
|
|
1309
1309
|
```html
|
|
1310
1310
|
<template>
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1311
|
+
<div>
|
|
1312
|
+
<input
|
|
1313
|
+
type="color"
|
|
1314
|
+
v-model="bindings['style.chart.backgroundColor'].value"
|
|
1315
|
+
/>
|
|
1316
|
+
</div>
|
|
1317
1317
|
</template>
|
|
1318
1318
|
```
|
|
1319
1319
|
|
|
@@ -1327,10 +1327,10 @@ Most chart components expose the following methods:
|
|
|
1327
1327
|
const componentRef = ref(null);
|
|
1328
1328
|
|
|
1329
1329
|
onMounted(async () => {
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1330
|
+
if (componentRef) {
|
|
1331
|
+
const data = await componentRef.value.getData();
|
|
1332
|
+
console.log(data);
|
|
1333
|
+
}
|
|
1334
1334
|
});
|
|
1335
1335
|
```
|
|
1336
1336
|
|
|
@@ -1340,11 +1340,11 @@ onMounted(async () => {
|
|
|
1340
1340
|
const componentRef = ref(null);
|
|
1341
1341
|
|
|
1342
1342
|
onMounted(async () => {
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1343
|
+
if (componentRef) {
|
|
1344
|
+
const { imgUri, base64, title, width, height, aspectRatio } =
|
|
1345
|
+
await componentRef.value.getImage({ scale: 2 }); // optional scale, defaults to 2, increase for better image quality
|
|
1346
|
+
console.log(imageUri);
|
|
1347
|
+
}
|
|
1348
1348
|
});
|
|
1349
1349
|
```
|
|
1350
1350
|
|
|
@@ -1367,13 +1367,13 @@ Example:
|
|
|
1367
1367
|
const chart = ref(null); // Add this ref on the chart component
|
|
1368
1368
|
|
|
1369
1369
|
function showSeriesByName(name) {
|
|
1370
|
-
|
|
1371
|
-
|
|
1370
|
+
if (!chart.value) return;
|
|
1371
|
+
chart.value.showSeries(name);
|
|
1372
1372
|
}
|
|
1373
1373
|
|
|
1374
1374
|
function hideSeriesByName(name) {
|
|
1375
|
-
|
|
1376
|
-
|
|
1375
|
+
if (!chart.value) return;
|
|
1376
|
+
chart.value.hideSeries(name);
|
|
1377
1377
|
}
|
|
1378
1378
|
```
|
|
1379
1379
|
|
|
@@ -1410,14 +1410,14 @@ It is possible to configure the following translations, used in hidden hints for
|
|
|
1410
1410
|
|
|
1411
1411
|
```js
|
|
1412
1412
|
const config = computed(() => ({
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1413
|
+
a11y: {
|
|
1414
|
+
translations: {
|
|
1415
|
+
keyboardNavigation:
|
|
1416
|
+
'Use the left and right arrow keys to move between data points.',
|
|
1417
|
+
tableAvailable: 'A data table for this chart is available below.',
|
|
1418
|
+
tableCaption: 'Chart data table',
|
|
1419
|
+
},
|
|
1419
1420
|
},
|
|
1420
|
-
},
|
|
1421
1421
|
}));
|
|
1422
1422
|
```
|
|
1423
1423
|
|
|
@@ -1425,10 +1425,10 @@ A #hint scoped slot is available to display a navigation hint when the chart are
|
|
|
1425
1425
|
|
|
1426
1426
|
```html
|
|
1427
1427
|
<VueUiXy :dataset :config>
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1428
|
+
<template #hint="{ hint, isVisible }">
|
|
1429
|
+
<!-- Slot content is absolutely positoned below the chart area, but you can style it to adjust the position. -->
|
|
1430
|
+
<p v-if="isVisible">{{ hint }}</p>
|
|
1431
|
+
</template>
|
|
1432
1432
|
</VueUiXy>
|
|
1433
1433
|
```
|
|
1434
1434
|
|
|
@@ -1499,9 +1499,9 @@ A slot is available to customize the contents of the button:
|
|
|
1499
1499
|
|
|
1500
1500
|
```html
|
|
1501
1501
|
<VueUiXy :dataset="dataset" :config="config">
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1502
|
+
<template #optionAltCopy>
|
|
1503
|
+
<MyAccessibilityIcon />
|
|
1504
|
+
</template>
|
|
1505
1505
|
</VueUiXy>
|
|
1506
1506
|
```
|
|
1507
1507
|
|
|
@@ -1512,6 +1512,6 @@ To have a cursor pointer on these elements, you have to opt-in through the confi
|
|
|
1512
1512
|
|
|
1513
1513
|
```js
|
|
1514
1514
|
const config = computed(() => ({
|
|
1515
|
-
|
|
1515
|
+
useCursorPointer: true, // false by default
|
|
1516
1516
|
}));
|
|
1517
1517
|
```
|