vue-data-ui 3.5.2 → 3.7.0
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 +36 -27
- package/dist/{Arrow-BGVin3AS.js → Arrow-CWYIBV-7.js} +1 -1
- package/dist/{BaseDraggableDialog-ymf2sfB8.js → BaseDraggableDialog-CRF94NJQ.js} +2 -2
- package/dist/{BaseIcon-BmMbm4d0.js → BaseIcon-CofSxalQ.js} +6 -5
- package/dist/{ColorPicker-ChuwChMo.js → ColorPicker-e1-OSGlQ.js} +10 -10
- package/dist/{DataTable-BT7VF2ua.js → DataTable-CHaOCmsE.js} +2 -2
- package/dist/{Legend-G6GMcdAc.js → Legend-Web3GjlR.js} +10 -10
- package/dist/{NonSvgPenAndPaper-DVgKKLIf.js → NonSvgPenAndPaper-CjYFLlns.js} +3 -3
- package/dist/{PackageVersion-Y7t79Jtq.js → PackageVersion-Bq_mtsqr.js} +1 -1
- package/dist/{PenAndPaper-SZQIAgkg.js → PenAndPaper-HCZQTkqi.js} +20 -20
- package/dist/{Shape-CNXKB8O0.js → Shape-DE6X_t31.js} +3 -3
- package/dist/{Slicer-D2wm0coO.js → Slicer-BFBBG6xv.js} +23 -23
- package/dist/{SlicerPreview-ij72TAs6.js → SlicerPreview-D76aSViW.js} +2 -2
- package/dist/{SparkTooltip-BEewz-_Q.js → SparkTooltip-B2rpVWE1.js} +6 -6
- package/dist/{Title-BzH_LEA3.js → Title-DfFUb9hd.js} +1 -1
- package/dist/{Tooltip-oWCO1HKy.js → Tooltip-WD0Ros6G.js} +1 -1
- package/dist/{UserOptions-CGnQt6Fd.js → UserOptions-B3I-s3Lw.js} +2 -2
- package/dist/components/arrow.js +1 -1
- package/dist/components/vue-ui-3d-bar.js +3 -3
- package/dist/components/vue-ui-accordion.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +3 -3
- package/dist/components/vue-ui-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +3 -3
- package/dist/components/vue-ui-candlestick.js +3 -3
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +3 -3
- package/dist/components/vue-ui-chord.js +3 -3
- package/dist/components/vue-ui-circle-pack.js +3 -3
- package/dist/components/vue-ui-cursor.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 +2 -2
- package/dist/components/vue-ui-donut.js +3 -3
- package/dist/components/vue-ui-dumbbell.js +3 -3
- package/dist/components/vue-ui-flow.js +3 -3
- package/dist/components/vue-ui-funnel.js +2 -2
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.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 +3 -3
- package/dist/components/vue-ui-horizontal-bar.js +3 -3
- 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 +3 -3
- package/dist/components/vue-ui-mood-radar.js +3 -3
- package/dist/components/vue-ui-nested-donuts.js +2 -2
- package/dist/components/vue-ui-onion.js +3 -3
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +3 -3
- package/dist/components/vue-ui-quick-chart.js +3 -3
- package/dist/components/vue-ui-radar.js +3 -3
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +3 -3
- package/dist/components/vue-ui-ridgeline.js +3 -3
- package/dist/components/vue-ui-rings.js +3 -3
- package/dist/components/vue-ui-scatter.js +3 -3
- 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 +2 -2
- package/dist/components/vue-ui-sparkgauge.js +3 -3
- package/dist/components/vue-ui-sparkhistogram.js +3 -3
- package/dist/components/vue-ui-sparkline.js +3 -3
- package/dist/components/vue-ui-sparkstackbar.js +2 -2
- package/dist/components/vue-ui-stackbar.js +3 -3
- package/dist/components/vue-ui-stackline.js +5 -0
- package/dist/components/vue-ui-strip-plot.js +3 -3
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +2 -2
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +3 -3
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +2 -2
- package/dist/components/vue-ui-treemap.js +3 -3
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +2 -2
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +3 -3
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +3 -3
- package/dist/components/vue-ui-xy.js +3 -3
- package/dist/{dom-to-png--BNgrTZV.js → dom-to-png-CH2DfsJe.js} +1 -1
- package/dist/{img-BecE5qXd.js → img-DUzJeMlr.js} +1 -1
- package/dist/{lib-C_mNZmhD.js → lib-C5BH09_g.js} +111 -110
- package/dist/{pdf-DuG5j3Wv.js → pdf-BSWQncok.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/types/vue-data-ui.d.ts +303 -9
- package/dist/types/vue-ui-stackline.d.ts +18 -0
- package/dist/{useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js → useAutoSizeLabelsInsideViewbox-DOALwU4q.js} +7 -7
- package/dist/{useNestedProp-CReNavA0.js → useNestedProp-CWo6bftQ.js} +535 -329
- package/dist/{usePrinter-DTzqpYKF.js → usePrinter-DCJzEiS8.js} +2 -2
- package/dist/useThemeCheck-DGJ31Vi5.js +32 -0
- package/dist/{useTimeLabels-BGFjWgrv.js → useTimeLabels-C5qMhpbe.js} +50 -49
- package/dist/{vue-data-ui-BRaq4hRp.js → vue-data-ui-ByLTJx5V.js} +79 -77
- package/dist/vue-data-ui.js +226 -204
- package/dist/{vue-ui-3d-bar-BB4ii8Nt.js → vue-ui-3d-bar-Dkds4k5N.js} +546 -517
- package/dist/{vue-ui-accordion-BmFTVF1a.js → vue-ui-accordion-DSdZUn2C.js} +3 -3
- package/dist/vue-ui-age-pyramid-C-fwZRYE.js +960 -0
- package/dist/{vue-ui-annotator-CcpaXBNK.js → vue-ui-annotator-DRaH8hXn.js} +7 -7
- package/dist/vue-ui-bullet-BKVJRjGh.js +657 -0
- package/dist/{vue-ui-candlestick-CMP7UL6z.js → vue-ui-candlestick-BKFWHU4O.js} +596 -561
- package/dist/{vue-ui-carousel-table-CzOcKsDj.js → vue-ui-carousel-table-VmPH6y2g.js} +48 -48
- package/dist/{vue-ui-chestnut-S787oASt.js → vue-ui-chestnut-DpMHe-OI.js} +534 -505
- package/dist/vue-ui-chord-Djdr0PY_.js +1182 -0
- package/dist/vue-ui-circle-pack-CyUqNJQt.js +832 -0
- package/dist/{vue-ui-cursor-C3yD_TUr.js → vue-ui-cursor-BMe8ZiV6.js} +2 -2
- package/dist/{vue-ui-dashboard-BfEcVRxQ.js → vue-ui-dashboard-eBXj-KCw.js} +140 -140
- package/dist/{vue-ui-digits-pRh179Gg.js → vue-ui-digits-D382I0-w.js} +2 -2
- package/dist/{vue-ui-donut-B_tEm4dT.js → vue-ui-donut-BLb0kj_P.js} +634 -602
- package/dist/vue-ui-donut-evolution-BqrldXpI.js +1243 -0
- package/dist/vue-ui-dumbbell-BuZT5a-d.js +1258 -0
- package/dist/vue-ui-flow-LLp6ntEP.js +1026 -0
- package/dist/vue-ui-funnel-pILUR-OG.js +743 -0
- package/dist/vue-ui-galaxy-X6yiw8kx.js +837 -0
- package/dist/vue-ui-gauge-DBh-vFb9.js +864 -0
- package/dist/{vue-ui-gizmo-BQzQlUJ8.js → vue-ui-gizmo-DtyEukIP.js} +3 -3
- package/dist/{vue-ui-heatmap-C9MhHWpp.js → vue-ui-heatmap-mkD6QkXo.js} +501 -466
- package/dist/vue-ui-history-plot-CyTaBaxA.js +1239 -0
- package/dist/{vue-ui-kpi-jcrPjW4C.js → vue-ui-kpi-CKMZDc3n.js} +3 -3
- package/dist/{vue-ui-mini-loader-DTM98mRN.js → vue-ui-mini-loader-BN72OfS0.js} +2 -2
- package/dist/vue-ui-molecule-UzQ3o5HW.js +782 -0
- package/dist/vue-ui-mood-radar-C2zkRLGy.js +930 -0
- package/dist/vue-ui-nested-donuts-B5OpvmJ9.js +1454 -0
- package/dist/vue-ui-onion-DbhIOGtF.js +944 -0
- package/dist/vue-ui-parallel-coordinate-plot-Dv_T4mWW.js +1080 -0
- package/dist/{vue-ui-quadrant-CeM23s0z.js → vue-ui-quadrant-CG6_CWsQ.js} +510 -481
- package/dist/{vue-ui-quick-chart-C0RMQzjC.js → vue-ui-quick-chart-DOeRhk7r.js} +795 -758
- package/dist/vue-ui-radar-DdHa9Hsh.js +1013 -0
- package/dist/{vue-ui-rating-tj97undO.js → vue-ui-rating-DtzmtJwF.js} +26 -26
- package/dist/vue-ui-relation-circle-B5lL4l9w.js +670 -0
- package/dist/vue-ui-ridgeline-3pk4Mlft.js +1302 -0
- package/dist/vue-ui-rings-DhyrjrZi.js +884 -0
- package/dist/vue-ui-scatter-DKCD70mi.js +1619 -0
- package/dist/{vue-ui-skeleton-87TORm6s.js → vue-ui-skeleton-CzzdmraB.js} +3 -3
- package/dist/{vue-ui-smiley-B74geHT3.js → vue-ui-smiley-OYyM-ukP.js} +2 -2
- package/dist/vue-ui-spark-trend-BMTcxeCT.js +364 -0
- package/dist/vue-ui-sparkbar-DVk1JiPL.js +381 -0
- package/dist/vue-ui-sparkgauge-Cq9Nw_xu.js +260 -0
- package/dist/vue-ui-sparkhistogram-PFHlCE_k.js +411 -0
- package/dist/vue-ui-sparkline-BHHwO_cV.js +549 -0
- package/dist/vue-ui-sparkstackbar-BosVkkiC.js +470 -0
- package/dist/vue-ui-stackbar-Djk5CPUy.js +1867 -0
- package/dist/vue-ui-stackline-mU4CSol9.js +1963 -0
- package/dist/{vue-ui-strip-plot-C1N2n39d.js → vue-ui-strip-plot-CZQSL0GK.js} +343 -314
- package/dist/{vue-ui-table-CcuoPHgI.js → vue-ui-table-DMM090pe.js} +5 -5
- package/dist/vue-ui-table-heatmap-vQEFrjCX.js +307 -0
- package/dist/{vue-ui-table-sparkline-BAxmZRff.js → vue-ui-table-sparkline-CQJc0mJY.js} +292 -263
- package/dist/vue-ui-thermometer-D1uxoVeZ.js +613 -0
- package/dist/{vue-ui-timer-BVsUQJz_.js → vue-ui-timer-jTnS3ES5.js} +25 -25
- package/dist/vue-ui-tiremarks-Bv-oIFVV.js +477 -0
- package/dist/vue-ui-treemap-B9MVtunp.js +1359 -0
- package/dist/{vue-ui-vertical-bar-B3gfBqD_.js → vue-ui-vertical-bar-BSbDj5qZ.js} +520 -485
- package/dist/{vue-ui-waffle-Bhlqo4xM.js → vue-ui-waffle-DIALVfvc.js} +376 -347
- package/dist/vue-ui-wheel-aUhrFpGk.js +690 -0
- package/dist/vue-ui-word-cloud-DZmMWsUu.js +904 -0
- package/dist/{vue-ui-world-C8KVyDim.js → vue-ui-world-CVLlgp2f.js} +57 -57
- package/dist/vue-ui-xy-Cy7mOurZ.js +3455 -0
- package/dist/vue-ui-xy-canvas-Cr13t9M5.js +1599 -0
- package/dist/vue_ui_vertical_bar-CELc39b8.js +18 -0
- package/package.json +5 -5
- package/dist/themes-AUNCOb2G.js +0 -53
- package/dist/vue-ui-age-pyramid-8bUepd28.js +0 -933
- package/dist/vue-ui-bullet-BvT4scFv.js +0 -630
- package/dist/vue-ui-chord-Dl9Y4mcz.js +0 -1153
- package/dist/vue-ui-circle-pack-CU09BzOV.js +0 -803
- package/dist/vue-ui-donut-evolution-DiGhMwMO.js +0 -1208
- package/dist/vue-ui-dumbbell-BlF3CLbN.js +0 -1231
- package/dist/vue-ui-flow-BQi5L8mJ.js +0 -991
- package/dist/vue-ui-funnel-CM_6Sare.js +0 -716
- package/dist/vue-ui-galaxy-BnZA62Li.js +0 -808
- package/dist/vue-ui-gauge-DAk72bez.js +0 -835
- package/dist/vue-ui-history-plot-BYQh3E8U.js +0 -1204
- package/dist/vue-ui-molecule-Bd1OXvl3.js +0 -753
- package/dist/vue-ui-mood-radar-DuoiTsYn.js +0 -903
- package/dist/vue-ui-nested-donuts-BTswQFjz.js +0 -1419
- package/dist/vue-ui-onion-D-1U2Qgl.js +0 -915
- package/dist/vue-ui-parallel-coordinate-plot-D-7VFHas.js +0 -1051
- package/dist/vue-ui-radar-BSfxyur3.js +0 -984
- package/dist/vue-ui-relation-circle-C7uV2mIj.js +0 -641
- package/dist/vue-ui-ridgeline-CYMfTlwI.js +0 -1273
- package/dist/vue-ui-rings-C96aj57d.js +0 -855
- package/dist/vue-ui-scatter-CtvOXUnx.js +0 -1590
- package/dist/vue-ui-spark-trend-6_Ibziyv.js +0 -337
- package/dist/vue-ui-sparkbar-BDCocMLI.js +0 -352
- package/dist/vue-ui-sparkgauge-CQ4Zk9-f.js +0 -233
- package/dist/vue-ui-sparkhistogram-BlTV9wfn.js +0 -384
- package/dist/vue-ui-sparkline-DWESyiqL.js +0 -514
- package/dist/vue-ui-sparkstackbar-DK_7X8mL.js +0 -441
- package/dist/vue-ui-stackbar-BWuw8ff4.js +0 -1827
- package/dist/vue-ui-table-heatmap-C9EMEM3Z.js +0 -282
- package/dist/vue-ui-thermometer-CDrM-WFq.js +0 -584
- package/dist/vue-ui-tiremarks-BQH2pNkG.js +0 -450
- package/dist/vue-ui-treemap-6WLoCHsH.js +0 -1330
- package/dist/vue-ui-wheel-CqHw1WuW.js +0 -663
- package/dist/vue-ui-word-cloud-CKuWZGLv.js +0 -875
- package/dist/vue-ui-xy-Cz2qIEfi.js +0 -3424
- package/dist/vue-ui-xy-canvas-y4h7gEFp.js +0 -1564
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
# vue-data-ui
|
|
9
9
|
|
|
10
10
|
[](https://github.com/graphieros/vue-data-ui)
|
|
11
|
-
[](https://github.com/graphieros/vue-data-ui)
|
|
12
12
|
[](https://github.com/graphieros/vue-data-ui/issues)
|
|
13
13
|
[](https://github.com/graphieros/vue-data-ui?tab=MIT-1-ov-file#readme)
|
|
14
14
|
[](https://madewithvuejs.com/p/vue-data-ui/shield-link)
|
|
@@ -49,6 +49,7 @@ Available components
|
|
|
49
49
|
- [VueUiRings](https://vue-data-ui.graphieros.com/docs#vue-ui-rings)
|
|
50
50
|
- [VueUiScatter](https://vue-data-ui.graphieros.com/docs#vue-ui-scatter)
|
|
51
51
|
- [VueUiStackbar](https://vue-data-ui.graphieros.com/docs#vue-ui-stackbar)
|
|
52
|
+
- [VueUiStackline](https://vue-data-ui.graphieros.com/docs#vue-ui-stackline)
|
|
52
53
|
- [VueUiStripPlot](https://vue-data-ui.graphieros.com/docs#vue-ui-strip-plot)
|
|
53
54
|
- [VueUiThermometer](https://vue-data-ui.graphieros.com/docs#vue-ui-thermometer)
|
|
54
55
|
- [VueUiTiremarks](https://vue-data-ui.graphieros.com/docs#vue-ui-tiremarks)
|
|
@@ -127,7 +128,7 @@ app.component("VueUiRadar", VueUiRadar);
|
|
|
127
128
|
app.mount("#app");
|
|
128
129
|
```
|
|
129
130
|
|
|
130
|
-
Or you can import just what you need
|
|
131
|
+
Or you can import just what you need into your files:
|
|
131
132
|
|
|
132
133
|
```js
|
|
133
134
|
<script setup>import {(VueUiRadar, VueUiXy)} from "vue-data-ui";</script>
|
|
@@ -207,7 +208,7 @@ customFormat: ({ seriesIndex, datapoint, series, config }) => {
|
|
|
207
208
|
Data labels can be customized using the `formatter` config attribute (since v2.3.29 on all chart components):
|
|
208
209
|
|
|
209
210
|
```
|
|
210
|
-
// the formatter attribute is generally placed under label or dataLabel config attribute objects
|
|
211
|
+
// the formatter attribute is generally placed under the label or dataLabel config attribute objects
|
|
211
212
|
|
|
212
213
|
const config = ref({
|
|
213
214
|
formatter: ({ value, config }) => {
|
|
@@ -268,8 +269,8 @@ It is recommended to set the show legend config attribute to false, to hide the
|
|
|
268
269
|
|
|
269
270
|
## Tooltip #tooltip-before & #tooltip-after slots
|
|
270
271
|
|
|
271
|
-
Customize tooltip contents with #tooltip-before and #tooltip-after slots.
|
|
272
|
-
It
|
|
272
|
+
Customize tooltip contents with #tooltip-before and #tooltip-after slots, to include an image, another chart or any other rich content into your tooltips.
|
|
273
|
+
It's an alternative to the config option `tooltip.customFormat`, in case richer tooltip content is needed.
|
|
273
274
|
|
|
274
275
|
Both slots expose the following object:
|
|
275
276
|
|
|
@@ -301,6 +302,7 @@ The following charts bear these slots:
|
|
|
301
302
|
- VueUiScatter
|
|
302
303
|
- VueUiSparkStackbar
|
|
303
304
|
- VueUiStackbar
|
|
305
|
+
- VueUiStackline
|
|
304
306
|
- VueUiTreemap
|
|
305
307
|
- VueUiHorizontalBar
|
|
306
308
|
- VueUiWordCloud
|
|
@@ -331,13 +333,13 @@ The following charts bear these slots:
|
|
|
331
333
|
</template>
|
|
332
334
|
<template #tooltip-after={ datapoint, seriesIndex, dataset, config }">
|
|
333
335
|
<div>
|
|
334
|
-
This content shows last
|
|
336
|
+
This content shows the last
|
|
335
337
|
</div>
|
|
336
338
|
</template>
|
|
337
339
|
</VueUiDonut>
|
|
338
340
|
```
|
|
339
341
|
|
|
340
|
-
The #tooltip-before & #tooltip-after slots also
|
|
342
|
+
The #tooltip-before & #tooltip-after slots also work when using the VueDataUi universal component, if the component it wraps supports them.
|
|
341
343
|
|
|
342
344
|
## Add a watermark using the #watermark slot
|
|
343
345
|
|
|
@@ -470,6 +472,7 @@ From the dataset you pass into the props, this component will produce the most a
|
|
|
470
472
|
| `VueUiRings` | `VueUiRingsDatasetItem[]` | `VueUiRingsConfig` | `@selectLegend`, `hideSeries`, `showSeries`, `getData`, `generatePdf`, `generateCsv`, `generateImage`, `toggleTable`, `toggleTooltip` , `getImage` | `#svg`, `#legend`, `#tooltip-before`, `#tooltip-after`, `#watermark`, `#chart-background`, `#pattern` | ✅ | ✅ |
|
|
471
473
|
| `VueUiScatter` | `VueUiScatterDatasetItem[]` | `VueUiScatterConfig` | `hideSeries`, `showSeries`, `getData`, `generatePdf`, `generateCsv`, `generateImage`, `toggleTable`, `toggleTooltip` , `getImage` | `#svg`, `#legend`, `#tooltip-before`, `#tooltip-after`, `#watermark`, `#chart-background` | ✅ | ✅ |
|
|
472
474
|
| `VueUiStackbar` | `VueUiStackbarDatasetItem[]` | `VueUiStackbarConfig` | `@selectLegend`, `@selectDatapoint`, `@selectTimeLabel`, `getData`, `generatePdf`, `generateCsv`, `generateImage`, `toggleTable`, `toggleLabels`, `toggleTooltip` , `getImage` | `#svg`, `#legend`, `#time-label`, `#tooltip-before`, `#tooltip-after`, `#reset-action`, `#watermark`, `#chart-background`, `#pattern` | ✅ | ✅ |
|
|
475
|
+
| `VueUiStackline` | `VueUiStacklineDatasetItem[]` | `VueUiStacklineConfig` | `@selectLegend`, `@selectDatapoint`, `@selectTimeLabel`, `getData`, `generatePdf`, `generateCsv`, `generateImage`, `toggleTable`, `toggleLabels`, `toggleTooltip` , `getImage` | `#svg`, `#legend`, `#time-label`, `#tooltip-before`, `#tooltip-after`, `#reset-action`, `#watermark`, `#chart-background`, `#pattern` | ✅ | ✅ |
|
|
473
476
|
| `VueUiStripPlot` | `VueUiStripPlotDataset[]` | `VueUiStripPlotConfig` | `@selectDatapoint`, `getData`, `generatePdf`, `generateCsv`, `generateImage`, `toggleTable`, `toggleLabels`, `toggleTooltip` , `getImage` | `#svg`, `#legend`, `#tooltip-before`, `#tooltip-after`, `#watermark`, `#chart-background` | ✅ | ✅ |
|
|
474
477
|
| `VueUiThermometer` | `VueUiThermometerDataset` | `VueUiThermometerConfig` | `generatePdf`, `generateImage` , `getImage` | `#svg`, `#watermark`, `#chart-background` | ❌ | ✅ |
|
|
475
478
|
| `VueUiTiremarks` | `VueUiTiremarksDataset` | `VueUiTiremarksConfig` | `generatePdf`, `generateImage` , `getImage` | `#svg`, `#legend`, `#watermark`, `#chart-background` | ❌ | ✅ |
|
|
@@ -536,8 +539,8 @@ All names of available icons are available in the vue-data-ui.d.ts file under th
|
|
|
536
539
|
|
|
537
540
|
# User options
|
|
538
541
|
|
|
539
|
-
User options menu is accessible in the burger menu located on the top right of charts, and visible by default.
|
|
540
|
-
To hide user options menu, set config.userOptions.show to false:
|
|
542
|
+
User options menu is accessible in the burger menu located on the top right of the charts, and visible by default.
|
|
543
|
+
To hide the user options menu, set config.userOptions.show to false:
|
|
541
544
|
|
|
542
545
|
```js
|
|
543
546
|
const config = ref({
|
|
@@ -548,7 +551,7 @@ const config = ref({
|
|
|
548
551
|
})
|
|
549
552
|
```
|
|
550
553
|
|
|
551
|
-
|
|
554
|
+
The user options menu can be set to appear only when hovering over the component:
|
|
552
555
|
|
|
553
556
|
```js
|
|
554
557
|
const config = ref({
|
|
@@ -560,7 +563,7 @@ const config = ref({
|
|
|
560
563
|
});
|
|
561
564
|
```
|
|
562
565
|
|
|
563
|
-
Predefined actions in user options menu depend on the type of chart. Some charts have more or
|
|
566
|
+
Predefined actions in the user options menu depend on the type of chart. Some charts have more or fewer actions available. Action buttons contain predefined icons by default.
|
|
564
567
|
|
|
565
568
|
To hide a given action, set the userOption.buttons, for example:
|
|
566
569
|
|
|
@@ -593,7 +596,7 @@ What happens when the button is clicked is taken care of by the component, excep
|
|
|
593
596
|
</VueUiDonut>
|
|
594
597
|
```
|
|
595
598
|
|
|
596
|
-
You can pass a callback
|
|
599
|
+
You can pass a callback through the config, for each button, to override the default behavior:
|
|
597
600
|
|
|
598
601
|
```ts
|
|
599
602
|
const config = {
|
|
@@ -608,7 +611,7 @@ const config = {
|
|
|
608
611
|
csv: (csvStr: string) => {
|
|
609
612
|
console.log(csvStr);
|
|
610
613
|
},
|
|
611
|
-
// the other
|
|
614
|
+
// the other attributes also have the same names as the buttons
|
|
612
615
|
},
|
|
613
616
|
},
|
|
614
617
|
};
|
|
@@ -654,6 +657,7 @@ User options actions available per chart:
|
|
|
654
657
|
| VueUiSparkgauge | (no user options menu) |
|
|
655
658
|
| VueUiSparkline | (no user options menu) |
|
|
656
659
|
| VueUiStackbar | optionTooltip, optionPdf, optionImg, optionCsv, optionTable, optionLabels, optionFullscreen, optionAnnotator |
|
|
660
|
+
| VueUiStackline | optionTooltip, optionPdf, optionImg, optionCsv, optionTable, optionLabels, optionFullscreen, optionAnnotator |
|
|
657
661
|
| VueUiStripPlot | optionTooltip, optionPdf, optionImg, optionCsv, optionTable, optionLabels, optionFullscreen, optionAnnotator |
|
|
658
662
|
| VueUiTableHeatmap | optionPdf, optionImg, optionCsv, optionFullscreen |
|
|
659
663
|
| VueUiTableSparkline | optionPdf, optionImg, optionCsv, optionFullscreen |
|
|
@@ -730,6 +734,7 @@ It is possible to provide a custom palette in the config prop through config.cus
|
|
|
730
734
|
- VueUiSparkStackbar
|
|
731
735
|
- VueUiSparkbar
|
|
732
736
|
- VueUiStackbar
|
|
737
|
+
- VueUiStackline
|
|
733
738
|
- VueUiStripPlot
|
|
734
739
|
- VueUiTableSparkline
|
|
735
740
|
- VueUiThermometer
|
|
@@ -747,7 +752,7 @@ Accepted color formats: HEX, RGB, HSL, named colors.
|
|
|
747
752
|
# Responsive charts
|
|
748
753
|
|
|
749
754
|
By default, all charts will scale to the width of their container.
|
|
750
|
-
However the
|
|
755
|
+
However the following charts can be made fully responsive, making them better to use in resizable containers:
|
|
751
756
|
|
|
752
757
|
| Component | Responsive feature implemented |
|
|
753
758
|
| --------------------------- | ------------------------------ |
|
|
@@ -787,6 +792,7 @@ However the folowing charts can be made fully responsive, making them better to
|
|
|
787
792
|
| VueUiSparkgauge | - |
|
|
788
793
|
| VueUiSparkline | ✅ |
|
|
789
794
|
| VueUiStackbar | ✅ |
|
|
795
|
+
| VueUiStackline | ✅ |
|
|
790
796
|
| VueUiStripPlot | ✅ |
|
|
791
797
|
| VueUiTableHeatmap | - |
|
|
792
798
|
| VueUiTableSparkline | - |
|
|
@@ -818,14 +824,14 @@ const config = ref({
|
|
|
818
824
|
Very large datasets (> 5k or > 10k datapoints) will cause the browsers rendering engines to slow down, caused by too many SVG DOM elements to render.
|
|
819
825
|
The following charts use the LTTB algorithm (Largest-Triangle-Three-Bucket) beyond a certain threshold to downsample the rendered dataset while preserving its shape. These components are the most susceptible to be used with very large datasets:
|
|
820
826
|
|
|
821
|
-
| Component | Default Threshold | Remark
|
|
822
|
-
| --------------- | ----------------- |
|
|
823
|
-
| VueUiXy | 1095 |
|
|
824
|
-
| VueUiXyCanvas | 10000 | Since this chart uses canvas,
|
|
825
|
-
| VueUiQuadrant | 1095 |
|
|
826
|
-
| VueUiScatter | 1095 |
|
|
827
|
-
| VueUiSparkline | 1095 |
|
|
828
|
-
| VueUiSparkTrend | 1095 |
|
|
827
|
+
| Component | Default Threshold | Remark |
|
|
828
|
+
| --------------- | ----------------- | ------------------------------------------------------------- |
|
|
829
|
+
| VueUiXy | 1095 | |
|
|
830
|
+
| VueUiXyCanvas | 10000 | Since this chart uses canvas, the threshold can be set higher |
|
|
831
|
+
| VueUiQuadrant | 1095 | |
|
|
832
|
+
| VueUiScatter | 1095 | |
|
|
833
|
+
| VueUiSparkline | 1095 | |
|
|
834
|
+
| VueUiSparkTrend | 1095 | |
|
|
829
835
|
|
|
830
836
|
The downsample threshold for each component can be set in the config prop passed to components:
|
|
831
837
|
|
|
@@ -878,7 +884,7 @@ A pattern element must be used inside this slot. It will be injected inside a de
|
|
|
878
884
|
```html
|
|
879
885
|
<VueUiDonut :config="config" :dataset="dataset">
|
|
880
886
|
<template #pattern="{ seriesIndex, patternId }">
|
|
881
|
-
<!-- Apply a
|
|
887
|
+
<!-- Apply a pattern on the first datapoint only -->
|
|
882
888
|
<pattern
|
|
883
889
|
v-if="seriesIndex === 0"
|
|
884
890
|
:id="patternId"
|
|
@@ -901,12 +907,13 @@ The #pattern slot is available on the following components:
|
|
|
901
907
|
- VueUiRidgeline
|
|
902
908
|
- VueUiRings
|
|
903
909
|
- VueUiStackbar
|
|
910
|
+
- VueUiStackline
|
|
904
911
|
- VueUiHorizontalBar
|
|
905
912
|
- VueUiWaffle
|
|
906
913
|
- VueUiWorld
|
|
907
914
|
- VueUiXy
|
|
908
915
|
|
|
909
|
-
A set of 12 readymade patterns
|
|
916
|
+
A set of 12 readymade patterns is available through the VueUiPattern component:
|
|
910
917
|
|
|
911
918
|
```js
|
|
912
919
|
import { VueUiPattern } from "vue-data-ui";
|
|
@@ -949,7 +956,7 @@ List of available patterns:
|
|
|
949
956
|
|
|
950
957
|
# Utility functions
|
|
951
958
|
|
|
952
|
-
A set of
|
|
959
|
+
A set of utility functions is available:
|
|
953
960
|
|
|
954
961
|
```js
|
|
955
962
|
import {
|
|
@@ -1104,7 +1111,7 @@ const merged = mergeConfigs({
|
|
|
1104
1111
|
|
|
1105
1112
|
## Multiline data labels
|
|
1106
1113
|
|
|
1107
|
-
Some components will display labels on
|
|
1114
|
+
Some components will display labels on multiple lines when the provided text contains a line break. (example: "I contain\na line break").
|
|
1108
1115
|
Below is a table of the places where such line breaks can be used:
|
|
1109
1116
|
|
|
1110
1117
|
| Component | Label displayed | Where to use line breaks |
|
|
@@ -1117,11 +1124,12 @@ Below is a table of the places where such line breaks can be used:
|
|
|
1117
1124
|
| VueUiQuickChart | Time labels (x axis) | config.xyPeriods |
|
|
1118
1125
|
| VueUiRidgeline | Time labels (x axis) | config.style.chart.xAxis.labels.values |
|
|
1119
1126
|
| VueUiStackbar | Time labels (x axis) | config.style.chart.grid.x.timeLabels.values |
|
|
1127
|
+
| VueUiStackline | Time labels (x axis) | config.style.chart.grid.x.timeLabels.values |
|
|
1120
1128
|
| VueUiStripPlot | x axis labels | dataset names |
|
|
1121
1129
|
|
|
1122
1130
|
## PDF generation
|
|
1123
1131
|
|
|
1124
|
-
This package requires jspdf as a peer dependency. Please install it in your project if you intend
|
|
1132
|
+
This package requires jspdf as a peer dependency. Please install it in your project if you intend to use the PDF printing feature.
|
|
1125
1133
|
|
|
1126
1134
|
## `useObjectBindings`
|
|
1127
1135
|
|
|
@@ -1237,6 +1245,7 @@ function hideSeriesByName(name) {
|
|
|
1237
1245
|
- VueUiScatter
|
|
1238
1246
|
- VueUiSparkStackbar
|
|
1239
1247
|
- VueUiStackbar
|
|
1248
|
+
- VueUiStackline
|
|
1240
1249
|
- VueUiTreemap
|
|
1241
1250
|
- VueUiWaffle
|
|
1242
1251
|
- VueUiXy
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed as u, createElementBlock as d, openBlock as m, createElementVNode as t, unref as o } from "vue";
|
|
2
|
-
import { c as n } from "./lib-
|
|
2
|
+
import { c as n } from "./lib-C5BH09_g.js";
|
|
3
3
|
const s = { class: "vue-ui-element-arrow" }, f = ["id", "viewBox", "refX", "refY", "markerWidth", "markerHeight"], c = ["d", "fill"], h = ["id", "viewBox", "refX", "refY", "markerWidth", "markerHeight"], y = ["d", "fill"], v = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-linecap", "stroke-dasharray", "marker-end", "marker-start"], z = {
|
|
4
4
|
__name: "Arrow",
|
|
5
5
|
props: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref as L, reactive as P, computed as N, onMounted as R, onUnmounted as F, createBlock as I, openBlock as z, Teleport as V, createElementBlock as B, createCommentVNode as j, withModifiers as s, normalizeStyle as D, createElementVNode as o, unref as K, renderSlot as S, createVNode as U, normalizeClass as q, nextTick as A } from "vue";
|
|
2
|
-
import G from "./BaseIcon-
|
|
3
|
-
import { X as J } from "./lib-
|
|
2
|
+
import G from "./BaseIcon-CofSxalQ.js";
|
|
3
|
+
import { X as J } from "./lib-C5BH09_g.js";
|
|
4
4
|
import { _ as Q } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const Z = ["xmlns"], _ = { class: "modal-title" }, ee = { class: "draggable-dialog-actions" }, te = {
|
|
6
6
|
__name: "BaseDraggableDialog",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed as e, createElementBlock as s, openBlock as i, normalizeClass as k, unref as L } from "vue";
|
|
2
|
-
import { X as l } from "./lib-
|
|
2
|
+
import { X as l } from "./lib-C5BH09_g.js";
|
|
3
3
|
import { _ as d } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
const M = ["xmlns", "viewBox", "height", "width", "innerHTML"], h = {
|
|
5
5
|
__name: "BaseIcon",
|
|
@@ -24,8 +24,8 @@ const M = ["xmlns", "viewBox", "height", "width", "innerHTML"], h = {
|
|
|
24
24
|
},
|
|
25
25
|
setup(o) {
|
|
26
26
|
const t = o, r = e(() => t.name === "numbers" ? "0 0 20 21" : "0 0 20 20"), n = e(() => ({
|
|
27
|
-
annotator: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" d="M 3
|
|
28
|
-
annotatorDisabled: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" d="M 3
|
|
27
|
+
annotator: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" stroke-linejoin="round" d="M 2 18 L 3 14 L 2 18 L 6 17 C 4 16 4 16 3 14 M 14 3 L 17 6 L 18 5 C 18 5 19 4 18 3 L 17 2 C 17 2 16 1 15 2 L 14 3 M 5 14 L 6 15 C 6 15 7 16 8 15 L 15 8 C 16 7 15 6 15 6 L 14 5 C 14 5 13 4 12 5 L 5 12 C 4 13 5 14 5 14" />`,
|
|
28
|
+
annotatorDisabled: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" stroke-linejoin="round" d="M 2 18 L 3 14 L 2 18 L 6 17 C 4 16 4 16 3 14 M 14 3 L 17 6 L 18 5 C 18 5 19 4 18 3 L 17 2 C 17 2 16 1 15 2 L 14 3 M 5 14 L 6 15 C 6 15 7 16 8 15 L 15 8 C 16 7 15 6 15 6 L 14 5 C 14 5 13 4 12 5 L 5 12 C 4 13 5 14 5 14 M 2 2 L 18 18" />`,
|
|
29
29
|
chart3dBar: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" d="M10 1 6 3 6 17 10 19 14 17 14 3 10 1M6 3 10 5 14 3M10 5 10 19" stroke-linecap="round" stroke-linejoin="round"/><path fill="${t.stroke}" stroke="none" style="opacity:0.3" d="M 6 10 L 10 12 L 14 10 L 14 17 L 10 19 L 6 17 L 6 10"/>`,
|
|
30
30
|
chartAgePyramid: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" d="M 2 15 L 2 17 L 9 17 L 9 15 L 2 15 M 11 15 L 11 17 L 18 17 L 18 15 L 11 15 M 9 13 L 3 13 L 3 11 L 9 11 L 9 13 M 11 11 L 11 13 L 17 13 L 17 11 L 11 11 M 9 9 L 4 9 L 4 7 L 9 7 L 9 9 M 11 7 L 11 9 L 16 9 L 16 7 L 11 7 M 9 5 L 6 5 L 6 3 L 9 3 L 9 5 M 11 3 L 11 5 L 14 5 L 14 3 L 11 3" />`,
|
|
31
31
|
chartBar: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" d="M2 12 2 18C2 19 2 19 3 19L5 19C6 19 6 19 6 18L6 12C6 11 6 11 5 11L3 11C2 11 2 11 2 12M8 7 8 18C8 19 8 19 9 19L11 19C12 19 12 19 12 18L12 7C12 6 12 6 11 6L9 6C8 6 8 6 8 7M14 2 14 18C14 19 14 19 15 19L17 19C18 19 18 19 18 18L18 2C18 1 18 1 17 1L15 1C14 1 14 1 14 2"/>`,
|
|
@@ -195,7 +195,8 @@ const M = ["xmlns", "viewBox", "height", "width", "innerHTML"], h = {
|
|
|
195
195
|
bringToBack: `<path fill="${t.stroke}" d="M 7 13 L 7 10 L 8 10 C 10 10 10 9 10 8 L 10 7 L 13 7 L 13 10 L 12 10 C 11 10 10 10 10 12 L 10 13 L 7 13"/><path fill="none" stroke="${t.stroke}" stroke-linecap="round" stroke-linejoin="round" d="M 11 9 M 9 8 L 9 3 C 9 3 9 2 8 2 L 3 2 C 2 2 2 3 2 3 L 2 8 C 2 9 3 9 3 9 L 8 9 C 9 9 9 8 9 8 M 11 12 L 11 17 C 11 18 12 18 12 18 L 17 18 C 17 18 18 18 18 17 L 18 12 C 18 12 18 11 17 11 L 12 11 C 11 11 11 12 11 12"/>`,
|
|
196
196
|
printer: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" stroke-linejoin="round" d="M 6 13 L 6 17 C 6 18 7 18 7 18 L 13 18 C 13 18 14 18 14 17 L 14 13 C 14 13 14 12 13 12 L 7 12 C 6 12 6 13 6 13 M 5 15 L 3 15 C 3 15 2 15 2 14 L 2 9 C 2 8 3 8 3 8 L 17 8 C 18 8 18 9 18 9 L 18 14 C 18 15 17 15 17 15 L 15 15 M 6 7 L 6 4 C 6 3 7 3 7 3 L 13 3 C 14 3 14 4 14 4 L 14 7"/>`,
|
|
197
197
|
save: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" stroke-linejoin="round" d="M 3 2 L 3 2 L 14 2 L 18 6 L 18 17 C 18 18 17 18 17 18 L 3 18 C 3 18 2 18 2 17 L 2 3 C 2 3 2 2 3 2 M 5 2 L 5 4 C 5 5 6 5 6 5 L 12 5 C 12 5 13 5 13 4 L 13 2 M 10 9 A 1 1 0 0 0 10 13 A 1 1 0 0 0 10 9"/>`,
|
|
198
|
-
svg: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" stroke-linejoin="round" d="M 4 1 C 2 1 1 2 1 4 L 1 16 C 1 18 2 19 4 19 L 16 19 C 18 19 19 18 19 16 L 19 6 C 15 6 14 5 14 1 Z M 8.458 9.052 L 10 16 L 11.519 9.03 M 16 11 C 16 8 12.995 8.81 13 11 L 13 14 C 13 17 15.99 16.299 16 14 L 16 13 L 15 13 M 6.982 10.286 C 6.564 8.238 3.921 8.788 4 11 C 4.757 13.259 6.806 11.607 7 14 C 7 17 3.854 16.299 4 14"
|
|
198
|
+
svg: `<path fill="none" stroke="${t.stroke}" stroke-width="${t.strokeWidth}" stroke-linecap="round" stroke-linejoin="round" d="M 4 1 C 2 1 1 2 1 4 L 1 16 C 1 18 2 19 4 19 L 16 19 C 18 19 19 18 19 16 L 19 6 C 15 6 14 5 14 1 Z M 8.458 9.052 L 10 16 L 11.519 9.03 M 16 11 C 16 8 12.995 8.81 13 11 L 13 14 C 13 17 15.99 16.299 16 14 L 16 13 L 15 13 M 6.982 10.286 C 6.564 8.238 3.921 8.788 4 11 C 4.757 13.259 6.806 11.607 7 14 C 7 17 3.854 16.299 4 14"/>`,
|
|
199
|
+
chartStackline: `<path d="M 2 16 L 2 18 L 18 18 L 18 10 L 14 14 L 11 12 L 8 15 L 5 13 Z" stroke="none" fill="${t.stroke}" style="opacity:0.9"/><path d="M 2 16 L 5 13 L 8 15 L 11 12 L 14 14 L 18 10 L 18 6 L 14 8 L 11 6 L 8 9 L 5 8 L 2 9 Z" stroke="none" fill="${t.stroke}"" style="opacity:0.6"/><path d="M 2 9 L 2 2 L 18 2 L 18 6 L 14 8 L 11 6 L 8 9 L 5 8 Z" stroke="none" fill="${t.stroke}" style="opacity:0.3"/><path d="M 1 1 L 1 19 L 19 19" stroke="${t.stroke}" stroke-linecap="round" stroke-linejoin="round" fill="none"/>`
|
|
199
200
|
}));
|
|
200
201
|
return (a, C) => (i(), s("svg", {
|
|
201
202
|
xmlns: L(l),
|
|
@@ -207,7 +208,7 @@ const M = ["xmlns", "viewBox", "height", "width", "innerHTML"], h = {
|
|
|
207
208
|
style: { background: "transparent" }
|
|
208
209
|
}, null, 10, M));
|
|
209
210
|
}
|
|
210
|
-
}, u = /* @__PURE__ */ d(h, [["__scopeId", "data-v-
|
|
211
|
+
}, u = /* @__PURE__ */ d(h, [["__scopeId", "data-v-1d5bfa8b"]]);
|
|
211
212
|
export {
|
|
212
213
|
u as default
|
|
213
214
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ref as u, computed as T, watchEffect as U, onMounted as
|
|
2
|
-
import g from "./BaseIcon-
|
|
3
|
-
import {
|
|
1
|
+
import { ref as u, computed as T, watchEffect as U, onMounted as W, onBeforeUnmount as Y, watch as j, withDirectives as q, createElementBlock as d, openBlock as s, withKeys as A, createElementVNode as i, createCommentVNode as R, createBlock as G, normalizeStyle as a, renderSlot as H, normalizeProps as J, guardReactiveProps as Q, createVNode as C, withModifiers as n, Fragment as M, renderList as N, Teleport as X, unref as Z, nextTick as _ } from "vue";
|
|
2
|
+
import g from "./BaseIcon-CofSxalQ.js";
|
|
3
|
+
import { w as ee } from "./lib-C5BH09_g.js";
|
|
4
4
|
import { v as oe } from "./vClickOutside-C6WiFswA.js";
|
|
5
5
|
import { _ as te } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const ne = ["onClick"], le = { style: { position: "absolute", top: "50%", left: "50%", transform: "translate(-50%,-46%)" } }, re = ["value"], ie = ["onClick"], ue = { style: { position: "absolute", top: "50%", left: "50%", transform: "translate(-50%,-46%)" } }, se = ["value"], ae = {
|
|
@@ -79,11 +79,11 @@ const ne = ["onClick"], le = { style: { position: "absolute", top: "50%", left:
|
|
|
79
79
|
function P() {
|
|
80
80
|
document.visibilityState === "visible" && k();
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
W(() => {
|
|
83
83
|
window.addEventListener("scroll", f, { passive: !0 }), window.addEventListener("resize", f, { passive: !0 }), window.addEventListener("focus", h), document.addEventListener("visibilitychange", P);
|
|
84
|
-
}),
|
|
84
|
+
}), Y(() => {
|
|
85
85
|
window.removeEventListener("scroll", f), window.removeEventListener("resize", f), window.removeEventListener("focus", h), document.removeEventListener("visibilitychange", P);
|
|
86
|
-
}),
|
|
86
|
+
}), j(
|
|
87
87
|
() => v.value,
|
|
88
88
|
(o) => {
|
|
89
89
|
c.value && (c.value.value = o);
|
|
@@ -100,10 +100,10 @@ const ne = ["onClick"], le = { style: { position: "absolute", top: "50%", left:
|
|
|
100
100
|
"#FF1493",
|
|
101
101
|
"#00CED1"
|
|
102
102
|
]);
|
|
103
|
-
return (o, e) =>
|
|
103
|
+
return (o, e) => q((s(), d("div", {
|
|
104
104
|
ref_key: "wrapperRef",
|
|
105
105
|
ref: O,
|
|
106
|
-
onKeydown:
|
|
106
|
+
onKeydown: A(x, ["esc"]),
|
|
107
107
|
style: { height: "100%", width: "100%", position: "relative" }
|
|
108
108
|
}, [
|
|
109
109
|
i("button", {
|
|
@@ -114,7 +114,7 @@ const ne = ["onClick"], le = { style: { position: "absolute", top: "50%", left:
|
|
|
114
114
|
style: a(V.value),
|
|
115
115
|
type: "button"
|
|
116
116
|
}, [
|
|
117
|
-
|
|
117
|
+
H(o.$slots, "annotator-action-color", J(Q({ color: p.value })), () => [
|
|
118
118
|
C(g, {
|
|
119
119
|
name: "palette",
|
|
120
120
|
stroke: p.value,
|
|
@@ -174,7 +174,7 @@ const ne = ["onClick"], le = { style: { position: "absolute", top: "50%", left:
|
|
|
174
174
|
}, null, 40, re)
|
|
175
175
|
], 36)
|
|
176
176
|
], 36)) : R("", !0),
|
|
177
|
-
r.value && t.teleported ? (s(),
|
|
177
|
+
r.value && t.teleported ? (s(), G(X, {
|
|
178
178
|
key: 1,
|
|
179
179
|
to: "body"
|
|
180
180
|
}, [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCssVars as A, unref as e, computed as D, ref as k, onMounted as E, createElementBlock as o, openBlock as l, normalizeClass as C, normalizeStyle as r, createCommentVNode as m, createElementVNode as a, withKeys as R, createVNode as B, toDisplayString as I, Fragment as g, renderList as v, renderSlot as N } from "vue";
|
|
2
|
-
import { _ as K } from "./Shape-
|
|
3
|
-
import O from "./BaseIcon-
|
|
2
|
+
import { _ as K } from "./Shape-DE6X_t31.js";
|
|
3
|
+
import O from "./BaseIcon-CofSxalQ.js";
|
|
4
4
|
import { _ as T } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const j = { class: "vue-ui-data-table" }, F = { style: { display: "flex", "align-items": "center", "justify-content": "flex-end", "padding-right": "3px", gap: "3px" } }, L = { style: { width: "12px", height: "12px" } }, M = {
|
|
6
6
|
key: 0,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { createElementBlock as n, openBlock as a, normalizeStyle as d, renderSlot as r, Fragment as
|
|
2
|
-
import {
|
|
3
|
-
import { _ as x } from "./Shape-
|
|
4
|
-
import { _ as
|
|
5
|
-
const
|
|
1
|
+
import { createElementBlock as n, openBlock as a, normalizeStyle as d, renderSlot as r, Fragment as u, renderList as m, normalizeClass as g, createCommentVNode as p, createVNode as h, mergeProps as k, unref as v } from "vue";
|
|
2
|
+
import { D as y } from "./lib-C5BH09_g.js";
|
|
3
|
+
import { _ as x } from "./Shape-DE6X_t31.js";
|
|
4
|
+
import { _ as b } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
|
+
const S = ["id"], $ = ["onClick", "viewBox"], B = {
|
|
6
6
|
__name: "Legend",
|
|
7
7
|
props: {
|
|
8
8
|
legendSet: {
|
|
@@ -29,7 +29,7 @@ const b = ["id"], $ = ["onClick", "viewBox"], B = {
|
|
|
29
29
|
emits: ["clickMarker"],
|
|
30
30
|
setup(t, { emit: c }) {
|
|
31
31
|
const s = c;
|
|
32
|
-
function
|
|
32
|
+
function f(o, l) {
|
|
33
33
|
s("clickMarker", { legend: o, i: l });
|
|
34
34
|
}
|
|
35
35
|
return (o, l) => (a(), n("div", {
|
|
@@ -45,13 +45,13 @@ const b = ["id"], $ = ["onClick", "viewBox"], B = {
|
|
|
45
45
|
})
|
|
46
46
|
}, [
|
|
47
47
|
r(o.$slots, "legendTitle", { titleSet: t.legendSet }, void 0, !0),
|
|
48
|
-
(a(!0), n(
|
|
48
|
+
(a(!0), n(u, null, m(t.legendSet, (e, i) => (a(), n("div", {
|
|
49
49
|
key: `legend_${i}`,
|
|
50
50
|
class: g({ "vue-data-ui-legend-item": !0, active: t.clickable })
|
|
51
51
|
}, [
|
|
52
52
|
e.shape ? (a(), n("svg", {
|
|
53
53
|
key: 0,
|
|
54
|
-
onClick: (C) =>
|
|
54
|
+
onClick: (C) => f(e, i),
|
|
55
55
|
height: "1em",
|
|
56
56
|
width: "1em",
|
|
57
57
|
viewBox: e.shape && e.shape === "star" ? "-10 -10 80 80" : "0 0 60 60",
|
|
@@ -77,9 +77,9 @@ const b = ["id"], $ = ["onClick", "viewBox"], B = {
|
|
|
77
77
|
index: i
|
|
78
78
|
}, void 0, !0)
|
|
79
79
|
], 2))), 128))
|
|
80
|
-
], 12,
|
|
80
|
+
], 12, S));
|
|
81
81
|
}
|
|
82
|
-
}, L = /* @__PURE__ */
|
|
82
|
+
}, L = /* @__PURE__ */ b(B, [["__scopeId", "data-v-5f2d7b2f"]]);
|
|
83
83
|
export {
|
|
84
84
|
L as default
|
|
85
85
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref as i, computed as we, onMounted as ke, nextTick as be, onBeforeUnmount as Ce, watch as oe, createElementBlock as x, openBlock as y, Fragment as q, createCommentVNode as Y, normalizeStyle as b, normalizeClass as D, createElementVNode as C, withDirectives as ae, createVNode as M, toDisplayString as re, unref as se, vModelText as ue, withModifiers as ie, renderList as ce } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
import R from "./BaseIcon-
|
|
4
|
-
import { C as Ee } from "./ColorPicker-
|
|
2
|
+
import { n as $e, d as Se, X as Ae } from "./lib-C5BH09_g.js";
|
|
3
|
+
import R from "./BaseIcon-CofSxalQ.js";
|
|
4
|
+
import { C as Ee } from "./ColorPicker-e1-OSGlQ.js";
|
|
5
5
|
import { _ as Be } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const Te = {
|
|
7
7
|
class: /* @__PURE__ */ D({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock as e, openBlock as t, toDisplayString as o, unref as r } from "vue";
|
|
2
|
-
const n = "3.
|
|
2
|
+
const n = "3.7.0", a = { "aria-hidden": "true" }, p = {
|
|
3
3
|
__name: "PackageVersion",
|
|
4
4
|
setup(s) {
|
|
5
5
|
return (c, i) => (t(), e("desc", a, "Composed with Vue Data UI " + o(r(n)), 1));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ref as c, computed as he, watch as z, nextTick as se, onMounted as Ae, onBeforeUnmount as we, createElementBlock as W, createCommentVNode as O, openBlock as j, normalizeStyle as x, createElementVNode as
|
|
2
|
-
import F from "./BaseIcon-
|
|
3
|
-
import { C as Ce } from "./ColorPicker-
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
1
|
+
import { ref as c, computed as he, watch as z, nextTick as se, onMounted as Ae, onBeforeUnmount as we, createElementBlock as W, createCommentVNode as O, openBlock as j, normalizeStyle as x, createElementVNode as E, withDirectives as re, renderSlot as B, createVNode as R, withCtx as be, normalizeProps as T, guardReactiveProps as M, normalizeClass as Y, toDisplayString as xe, unref as ye, vModelText as ue } from "vue";
|
|
2
|
+
import F from "./BaseIcon-CofSxalQ.js";
|
|
3
|
+
import { C as Ce } from "./ColorPicker-e1-OSGlQ.js";
|
|
4
|
+
import { n as ke, d as Ee } from "./lib-C5BH09_g.js";
|
|
5
|
+
const Se = {
|
|
6
6
|
class: "vue-ui-pen-and-paper-action",
|
|
7
7
|
style: { padding: "0 !important" }
|
|
8
8
|
}, $e = ["disabled"], De = {
|
|
@@ -31,13 +31,13 @@ const Ee = {
|
|
|
31
31
|
},
|
|
32
32
|
emits: ["close"],
|
|
33
33
|
setup(d, { emit: ie }) {
|
|
34
|
-
const s = d, ve = ie, b = c([]), y = c([]),
|
|
34
|
+
const s = d, ve = ie, b = c([]), y = c([]), S = c(s.color), N = c(2), Q = c(!1), V = c(""), o = c(null), A = c(null), I = c(null), p = c("draw"), K = c(!1), f = c(null), q = c({ x: 0, y: 0 }), D = c([""]), P = c({ row: 0, col: 0 }), $ = c(16), J = c("url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpSIVh2YQcchQnSyIijhKFYtgobQVWnUwufQLmjQkKS6OgmvBwY/FqoOLs64OroIg+AHi6OSk6CIl/i8ptIjx4Lgf7+497t4BQrPKNKtnAtB020wn4lIuvyqFXhGGiAhCiMnMMpKZxSx8x9c9Any9i/Es/3N/jgG1YDEgIBHPMcO0iTeIZzZtg/M+scjKskp8Tjxu0gWJH7muePzGueSywDNFM5ueJxaJpVIXK13MyqZGPE0cVTWd8oWcxyrnLc5atc7a9+QvDBf0lQzXaY4ggSUkkYIEBXVUUIWNGK06KRbStB/38Q+7/hS5FHJVwMixgBo0yK4f/A9+d2sVpya9pHAc6H1xnI9RILQLtBqO833sOK0TIPgMXOkdf60JzH6S3uho0SNgcBu4uO5oyh5wuQMMPRmyKbtSkKZQLALvZ/RNeSByC/Sveb2193H6AGSpq+Ub4OAQGCtR9rrPu/u6e/v3TLu/H5C7crM1WjgWAAAABmJLR0QAqwB5AHWF+8OUAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5gwUExIUagzGcQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAABfSURBVBjTldAxDoNQDIPhL0+q1L33P1AvAhN7xfK6WAgoLfSfrNiykpQtE+7RLzx2vgF9D3o8lWDmn1QVVMP0LZQGmNtqp1/cmou0XHdG/+sYeGZwFBqPCub8rkcvvAGvsi1VYarR8wAAAABJRU5ErkJggg==') 5 5, auto");
|
|
35
35
|
function Z(n) {
|
|
36
36
|
if (!o.value || p.value !== "text" || K.value) return;
|
|
37
37
|
const { x: e, y: l } = U(n);
|
|
38
38
|
q.value = { x: e, y: l }, D.value = [""], P.value = { row: 0, col: 0 };
|
|
39
39
|
const t = document.createElementNS("http://www.w3.org/2000/svg", "text");
|
|
40
|
-
t.setAttribute("x", e), t.setAttribute("y", l), t.setAttribute("fill",
|
|
40
|
+
t.setAttribute("x", e), t.setAttribute("y", l), t.setAttribute("fill", S.value), t.setAttribute("font-size", $.value * s.scale), t.setAttribute("font-family", "sans-serif"), t.setAttribute("class", "vue-data-ui-doodle"), t.setAttribute("dominant-baseline", "hanging"), t.setAttribute("pointer-events", "all");
|
|
41
41
|
const a = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
|
42
42
|
a.setAttribute("x", e), a.setAttribute("dy", "0"), a.textContent = "", t.appendChild(a), t.style.pointerEvents = "none", t.style.userSelect = "none", o.value.appendChild(t), f.value = t, K.value = !0, window.addEventListener("keydown", _), window.addEventListener("mousedown", ne, !0), ee(), te();
|
|
43
43
|
}
|
|
@@ -96,7 +96,7 @@ const Ee = {
|
|
|
96
96
|
o.value.removeChild(i);
|
|
97
97
|
let h = t + a * u * 1.2, k = l + m.width;
|
|
98
98
|
const w = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
99
|
-
w.setAttribute("x", k), w.setAttribute("y", h), w.setAttribute("width", 2), w.setAttribute("height", u), w.setAttribute("fill",
|
|
99
|
+
w.setAttribute("x", k), w.setAttribute("y", h), w.setAttribute("width", 2), w.setAttribute("height", u), w.setAttribute("fill", S.value), w.setAttribute("class", "vue-data-ui-svg-caret"), o.value.appendChild(w);
|
|
100
100
|
}
|
|
101
101
|
function ne(n) {
|
|
102
102
|
if (f.value && !f.value.contains(n.target)) {
|
|
@@ -185,7 +185,7 @@ const Ee = {
|
|
|
185
185
|
if (p.value !== "draw" || !s.active || !o.value) return;
|
|
186
186
|
Q.value = !0;
|
|
187
187
|
const { x: e, y: l } = U(n);
|
|
188
|
-
I.value = { x: e, y: l }, V.value = `M ${e} ${l}`, A.value = document.createElementNS("http://www.w3.org/2000/svg", "path"), A.value.setAttribute("stroke",
|
|
188
|
+
I.value = { x: e, y: l }, V.value = `M ${e} ${l}`, A.value = document.createElementNS("http://www.w3.org/2000/svg", "path"), A.value.setAttribute("stroke", S.value), A.value.setAttribute("stroke-width", N.value * s.scale), A.value.setAttribute("fill", "none"), A.value.setAttribute("stroke-linecap", "round"), A.value.setAttribute("stroke-linejoin", "round"), A.value.setAttribute("class", "vue-data-ui-doodle"), o.value.appendChild(A.value);
|
|
189
189
|
}
|
|
190
190
|
function H(n) {
|
|
191
191
|
if (!Q.value || !o.value || !A.value) return;
|
|
@@ -197,7 +197,7 @@ const Ee = {
|
|
|
197
197
|
const { x: e, y: l } = U(n);
|
|
198
198
|
if (I.value && I.value.x === e && I.value.y === l) {
|
|
199
199
|
const t = document.createElementNS("http://www.w3.org/2000/svg", "circle");
|
|
200
|
-
t.setAttribute("cx", e), t.setAttribute("cy", l), t.setAttribute("r", N.value * s.scale / 2), t.setAttribute("fill",
|
|
200
|
+
t.setAttribute("cx", e), t.setAttribute("cy", l), t.setAttribute("r", N.value * s.scale / 2), t.setAttribute("fill", S.value), t.setAttribute("class", "vue-data-ui-doodle"), o.value.appendChild(t), b.value.push(t);
|
|
201
201
|
} else {
|
|
202
202
|
const t = A.value;
|
|
203
203
|
t.setAttribute("d", fe(ce(V.value))), b.value.push(t);
|
|
@@ -248,7 +248,7 @@ const Ee = {
|
|
|
248
248
|
class: "vue-ui-pen-and-paper-actions",
|
|
249
249
|
style: x({ backgroundColor: d.backgroundColor })
|
|
250
250
|
}, [
|
|
251
|
-
|
|
251
|
+
E("button", {
|
|
252
252
|
class: "vue-ui-pen-and-paper-action",
|
|
253
253
|
onClick: e[0] || (e[0] = (l) => ve("close")),
|
|
254
254
|
style: x({
|
|
@@ -263,10 +263,10 @@ const Ee = {
|
|
|
263
263
|
}, null, 8, ["stroke"])
|
|
264
264
|
])
|
|
265
265
|
], 4),
|
|
266
|
-
|
|
266
|
+
E("button", Se, [
|
|
267
267
|
R(Ce, {
|
|
268
|
-
value:
|
|
269
|
-
"onUpdate:value": e[1] || (e[1] = (l) =>
|
|
268
|
+
value: S.value,
|
|
269
|
+
"onUpdate:value": e[1] || (e[1] = (l) => S.value = l),
|
|
270
270
|
backgroundColor: d.backgroundColor,
|
|
271
271
|
buttonBorderColor: C.value
|
|
272
272
|
}, {
|
|
@@ -276,7 +276,7 @@ const Ee = {
|
|
|
276
276
|
_: 3
|
|
277
277
|
}, 8, ["value", "backgroundColor", "buttonBorderColor"])
|
|
278
278
|
]),
|
|
279
|
-
|
|
279
|
+
E("button", {
|
|
280
280
|
class: Y(["vue-ui-pen-and-paper-action", { "vue-ui-pen-and-paper-action-active": p.value === "text" }]),
|
|
281
281
|
onClick: e[2] || (e[2] = (l) => p.value = p.value === "text" ? "draw" : "text"),
|
|
282
282
|
style: x({
|
|
@@ -290,7 +290,7 @@ const Ee = {
|
|
|
290
290
|
stroke: d.color
|
|
291
291
|
}, null, 8, ["name", "stroke"])
|
|
292
292
|
]),
|
|
293
|
-
|
|
293
|
+
E("div", {
|
|
294
294
|
style: x({
|
|
295
295
|
position: "absolute",
|
|
296
296
|
bottom: "-20px",
|
|
@@ -300,13 +300,13 @@ const Ee = {
|
|
|
300
300
|
fontSize: "12px",
|
|
301
301
|
fontVariantNumeric: "tabular-nums"
|
|
302
302
|
})
|
|
303
|
-
}, xe(ye(
|
|
303
|
+
}, xe(ye(Ee)({
|
|
304
304
|
v: p.value === "draw" ? N.value : $.value,
|
|
305
305
|
s: "px",
|
|
306
306
|
r: 1
|
|
307
307
|
})), 5)
|
|
308
308
|
], 6),
|
|
309
|
-
|
|
309
|
+
E("button", {
|
|
310
310
|
class: Y(["vue-ui-pen-and-paper-action", { "vue-ui-pen-and-paper-action-disabled": !b.value.length }]),
|
|
311
311
|
disabled: !b.value.length,
|
|
312
312
|
onClick: ge,
|
|
@@ -323,7 +323,7 @@ const Ee = {
|
|
|
323
323
|
}, null, 8, ["stroke"])
|
|
324
324
|
])
|
|
325
325
|
], 14, $e),
|
|
326
|
-
|
|
326
|
+
E("button", {
|
|
327
327
|
class: Y(["vue-ui-pen-and-paper-action", { "vue-ui-pen-and-paper-action-disabled": !y.value.length }]),
|
|
328
328
|
onClick: pe,
|
|
329
329
|
style: x({
|
|
@@ -339,7 +339,7 @@ const Ee = {
|
|
|
339
339
|
}, null, 8, ["stroke"])
|
|
340
340
|
])
|
|
341
341
|
], 6),
|
|
342
|
-
|
|
342
|
+
E("button", {
|
|
343
343
|
class: Y(["vue-ui-pen-and-paper-action", { "vue-ui-pen-and-paper-action-disabled": !b.value.length }]),
|
|
344
344
|
onClick: me,
|
|
345
345
|
style: x({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed as u, createElementBlock as r, openBlock as l, createCommentVNode as a, normalizeStyle as d } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
const g = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], S = ["d", "fill", "stroke", "stroke-width"], x = ["points", "fill", "stroke", "stroke-width"],
|
|
2
|
+
import { b as f, e as p } from "./lib-C5BH09_g.js";
|
|
3
|
+
const g = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], S = ["d", "fill", "stroke", "stroke-width"], x = ["points", "fill", "stroke", "stroke-width"], b = {
|
|
4
4
|
__name: "Shape",
|
|
5
5
|
props: {
|
|
6
6
|
color: String,
|
|
@@ -112,5 +112,5 @@ const g = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], S = ["d", "fill",
|
|
|
112
112
|
}
|
|
113
113
|
};
|
|
114
114
|
export {
|
|
115
|
-
|
|
115
|
+
b as _
|
|
116
116
|
};
|