vue-data-ui 2.6.28 → 2.6.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/{Arrow-CAjJ853A.js → Arrow-BRX5QREB.js} +1 -1
  2. package/dist/{Arrow-DAyQKLcK.cjs → Arrow-P-MV7QP4.cjs} +1 -1
  3. package/dist/{BaseIcon-h1prcupB.js → BaseIcon-C4DFWCPQ.js} +1 -1
  4. package/dist/{BaseIcon-BI3eFhr1.cjs → BaseIcon-D6N5NtS_.cjs} +1 -1
  5. package/dist/{DataTable-r2HNsyUX.cjs → DataTable-BQev_mkM.cjs} +1 -1
  6. package/dist/{DataTable-BT1MSIYm.js → DataTable-CtmSPqq3.js} +2 -2
  7. package/dist/{Legend-Bpt6RBG8.cjs → Legend-BWGGSzzL.cjs} +1 -1
  8. package/dist/{Legend-Bi_ML4Pn.js → Legend-CnjPrxu7.js} +2 -2
  9. package/dist/{PackageVersion-J4TBr3Rf.js → PackageVersion-BqivyRli.js} +1 -1
  10. package/dist/{PackageVersion-BV7LcPDV.cjs → PackageVersion-nCHRrr8B.cjs} +1 -1
  11. package/dist/{PenAndPaper-CZ-9vnJd.js → PenAndPaper-CkSxK8EU.js} +3 -3
  12. package/dist/{PenAndPaper-DP7fHf74.cjs → PenAndPaper-DnAMv6UG.cjs} +1 -1
  13. package/dist/{PenAndPaper.vue_vue_type_style_index_0_scoped_3cea7589_lang-DTVlE6RY.cjs → PenAndPaper.vue_vue_type_style_index_0_scoped_3cea7589_lang-Ct4MZLWW.cjs} +1 -1
  14. package/dist/{PenAndPaper.vue_vue_type_style_index_0_scoped_3cea7589_lang-q8a9FDTk.js → PenAndPaper.vue_vue_type_style_index_0_scoped_3cea7589_lang-CvYiOyf0.js} +3 -3
  15. package/dist/{Shape-B1cFbBnY.cjs → Shape-B6FwaN9w.cjs} +1 -1
  16. package/dist/{Shape-DKT9Kqk7.js → Shape-cqkzw4S8.js} +1 -1
  17. package/dist/{Slicer-DB-NAuJL.js → Slicer-DKa09VYX.js} +2 -2
  18. package/dist/{Slicer-RU1fvaGI.cjs → Slicer-DNdHNpQI.cjs} +1 -1
  19. package/dist/{Title-B47pulul.js → Title-B2U8Vwbr.js} +1 -1
  20. package/dist/{Title-DjxAodUf.cjs → Title-BTVFor-3.cjs} +1 -1
  21. package/dist/{Tooltip-ogV3t9Et.cjs → Tooltip-BAREkrGW.cjs} +1 -1
  22. package/dist/{Tooltip-v3_dMNKi.js → Tooltip-BoEfXPUr.js} +1 -1
  23. package/dist/{index-4RRlWcLr.js → index-DE2bSxF0.js} +3 -2
  24. package/dist/index-rvnEQA3z.cjs +9 -0
  25. package/dist/llms.txt +232 -0
  26. package/dist/style.css +1 -1
  27. package/dist/types/vue-data-ui.d.cts +1 -0
  28. package/dist/types/vue-data-ui.d.ts +1 -0
  29. package/dist/{useNestedProp-CPc3u5vP.js → useNestedProp-BHQyCZVK.js} +1 -1
  30. package/dist/{useNestedProp-OY09Srif.cjs → useNestedProp-CO_r2Hl_.cjs} +1 -1
  31. package/dist/{usePrinter-DDgV-g0v.cjs → usePrinter-CgDYkKfY.cjs} +1 -1
  32. package/dist/{usePrinter-FdlD3Leg.js → usePrinter-I_7yI4nF.js} +1 -1
  33. package/dist/{vue-data-ui-BmgimpbQ.js → vue-data-ui-B7ugrnFy.js} +61 -61
  34. package/dist/{vue-data-ui-BSNSO6yu.cjs → vue-data-ui-iYl-xVMm.cjs} +1 -1
  35. package/dist/vue-data-ui.cjs +1 -1
  36. package/dist/vue-data-ui.js +1 -1
  37. package/dist/{vue-ui-3d-bar-0-nrP5n6.js → vue-ui-3d-bar-DMUqZWxd.js} +9 -9
  38. package/dist/{vue-ui-3d-bar-BGI5KJpt.cjs → vue-ui-3d-bar-DR6Ja85o.cjs} +1 -1
  39. package/dist/{vue-ui-accordion-I9YX633w.js → vue-ui-accordion-CAYrK0AD.js} +3 -3
  40. package/dist/{vue-ui-accordion-BboUGt-9.cjs → vue-ui-accordion-DSWAoyYy.cjs} +1 -1
  41. package/dist/{vue-ui-age-pyramid-C6NmpTMr.js → vue-ui-age-pyramid-DNzvCd0F.js} +10 -10
  42. package/dist/{vue-ui-age-pyramid-DN_KJekA.cjs → vue-ui-age-pyramid-DeP3lyDF.cjs} +1 -1
  43. package/dist/{vue-ui-annotator-DStzhwzU.js → vue-ui-annotator-BAdmhVtS.js} +1 -1
  44. package/dist/{vue-ui-annotator-L-f_1hLT.cjs → vue-ui-annotator-BmOIg-Ft.cjs} +1 -1
  45. package/dist/{vue-ui-bullet-BCNaSp3O.cjs → vue-ui-bullet-CA8DrZNY.cjs} +1 -1
  46. package/dist/{vue-ui-bullet-Dq2MsuyN.js → vue-ui-bullet-DMYIXQFC.js} +8 -8
  47. package/dist/{vue-ui-candlestick-9iTYHhad.js → vue-ui-candlestick-ChL6Hz8x.js} +11 -11
  48. package/dist/{vue-ui-candlestick-hg6BYKYF.cjs → vue-ui-candlestick-mMCn6J9b.cjs} +1 -1
  49. package/dist/{vue-ui-carousel-table-CaMRToS_.cjs → vue-ui-carousel-table-BpjBdxQg.cjs} +1 -1
  50. package/dist/{vue-ui-carousel-table-D3GqEHvK.js → vue-ui-carousel-table-CoYO6jw3.js} +4 -4
  51. package/dist/{vue-ui-chestnut-Dl_TQF-L.js → vue-ui-chestnut-CsvNioev.js} +8 -8
  52. package/dist/{vue-ui-chestnut-ViGzV_gH.cjs → vue-ui-chestnut-DWz1CQ42.cjs} +1 -1
  53. package/dist/{vue-ui-circle-pack-CzgQYWZS.js → vue-ui-circle-pack-C6xn7Wea.js} +9 -9
  54. package/dist/{vue-ui-circle-pack-CDF6Vpt6.cjs → vue-ui-circle-pack-okahjhJZ.cjs} +1 -1
  55. package/dist/{vue-ui-cursor-Cd2gEBSb.js → vue-ui-cursor-BBBQuZ4O.js} +2 -2
  56. package/dist/{vue-ui-cursor-B6B1RIBj.cjs → vue-ui-cursor-Cc_ltPTZ.cjs} +1 -1
  57. package/dist/{vue-ui-dashboard-CJpCmlsb.cjs → vue-ui-dashboard-Cbg-Nrjo.cjs} +1 -1
  58. package/dist/{vue-ui-dashboard-CQ0t86PU.js → vue-ui-dashboard-DQwLolfb.js} +2 -2
  59. package/dist/{vue-ui-digits--Uo-UP39.cjs → vue-ui-digits--alL40K7.cjs} +1 -1
  60. package/dist/{vue-ui-digits-De_0njxV.js → vue-ui-digits-Cz26Uc8Y.js} +2 -2
  61. package/dist/{vue-ui-donut-eRo_Rcn7.cjs → vue-ui-donut-D2GpXD47.cjs} +1 -1
  62. package/dist/{vue-ui-donut-CpJ4w6x_.js → vue-ui-donut-DnWEzuwO.js} +12 -12
  63. package/dist/{vue-ui-donut-evolution-BNcCQB_7.js → vue-ui-donut-evolution-CQNZ5_sE.js} +11 -11
  64. package/dist/{vue-ui-donut-evolution-C4ggQb2r.cjs → vue-ui-donut-evolution-DyIF2r5a.cjs} +1 -1
  65. package/dist/{vue-ui-dumbbell-C9IjXewZ.cjs → vue-ui-dumbbell-CqAV79yJ.cjs} +1 -1
  66. package/dist/{vue-ui-dumbbell-B3sk0RXg.js → vue-ui-dumbbell-DlzCrhkR.js} +10 -10
  67. package/dist/{vue-ui-flow-BuDDlyI4.cjs → vue-ui-flow-Crh83Qsy.cjs} +1 -1
  68. package/dist/{vue-ui-flow-g7pN_Y8S.js → vue-ui-flow-q4-5ZIPV.js} +9 -9
  69. package/dist/{vue-ui-funnel-DgcymfFg.cjs → vue-ui-funnel-DbPvFn75.cjs} +1 -1
  70. package/dist/{vue-ui-funnel-BG4S2tkJ.js → vue-ui-funnel-sa_ic8K7.js} +9 -9
  71. package/dist/{vue-ui-galaxy-B1XpQCbj.cjs → vue-ui-galaxy-BEWvtIRO.cjs} +1 -1
  72. package/dist/{vue-ui-galaxy-DZyXCGNE.js → vue-ui-galaxy-e4vLdstV.js} +11 -11
  73. package/dist/{vue-ui-gauge-sup8MraV.cjs → vue-ui-gauge-B3pGxgCP.cjs} +1 -1
  74. package/dist/{vue-ui-gauge-C5XEkmG7.js → vue-ui-gauge-KSkSXPcl.js} +7 -7
  75. package/dist/{vue-ui-gizmo-DnbVyXdl.js → vue-ui-gizmo-DPz1e1Pn.js} +3 -3
  76. package/dist/{vue-ui-gizmo-Con0HdYV.cjs → vue-ui-gizmo-dPb1eIC_.cjs} +1 -1
  77. package/dist/{vue-ui-heatmap-CMEjJp25.cjs → vue-ui-heatmap-BCdMmkey.cjs} +1 -1
  78. package/dist/{vue-ui-heatmap-JSiKvLGN.js → vue-ui-heatmap-BylnOSx4.js} +10 -10
  79. package/dist/{vue-ui-history-plot-DX5bxrQE.js → vue-ui-history-plot-B-8xlbH5.js} +11 -11
  80. package/dist/{vue-ui-history-plot-LSny6C9i.cjs → vue-ui-history-plot-BpA-FDre.cjs} +1 -1
  81. package/dist/{vue-ui-kpi-D5hjTCaA.js → vue-ui-kpi-B5JI7-k3.js} +3 -3
  82. package/dist/{vue-ui-kpi-Dn-ifyxf.cjs → vue-ui-kpi-EDKBcrjT.cjs} +1 -1
  83. package/dist/{vue-ui-mini-loader-QaFKK0A0.js → vue-ui-mini-loader-CRgvvMRU.js} +2 -2
  84. package/dist/{vue-ui-mini-loader-Dav_SSSQ.cjs → vue-ui-mini-loader-DXQwFL4h.cjs} +1 -1
  85. package/dist/{vue-ui-molecule-BB1J8Dbo.cjs → vue-ui-molecule-CytuHtHf.cjs} +1 -1
  86. package/dist/{vue-ui-molecule-BLbSDPvP.js → vue-ui-molecule-Hpk9kuI6.js} +10 -10
  87. package/dist/{vue-ui-mood-radar-2i9AMp4M.cjs → vue-ui-mood-radar-DxID-zjc.cjs} +1 -1
  88. package/dist/{vue-ui-mood-radar-DALxGShD.js → vue-ui-mood-radar-N37metQ4.js} +11 -11
  89. package/dist/{vue-ui-nested-donuts-BNE1i3hX.cjs → vue-ui-nested-donuts-BRjDOd7g.cjs} +1 -1
  90. package/dist/{vue-ui-nested-donuts-CrwpbYj1.js → vue-ui-nested-donuts-CHCGjXVS.js} +11 -11
  91. package/dist/{vue-ui-onion-Dg11ctuw.cjs → vue-ui-onion-CKKTTslN.cjs} +1 -1
  92. package/dist/{vue-ui-onion-CCAFH42D.js → vue-ui-onion-CoGjkMfb.js} +11 -11
  93. package/dist/{vue-ui-parallel-coordinate-plot-BEVOsDtM.cjs → vue-ui-parallel-coordinate-plot-Bsj1hG9n.cjs} +1 -1
  94. package/dist/{vue-ui-parallel-coordinate-plot-v8Ynm3w5.js → vue-ui-parallel-coordinate-plot-CZ1tXiBt.js} +12 -12
  95. package/dist/{vue-ui-quadrant-HwNbrGMQ.js → vue-ui-quadrant-B4hgp2L3.js} +12 -12
  96. package/dist/{vue-ui-quadrant--F_ZyLFk.cjs → vue-ui-quadrant-KdLhXJ3m.cjs} +1 -1
  97. package/dist/{vue-ui-quick-chart-DQdiHpqZ.cjs → vue-ui-quick-chart-D3nP3bLw.cjs} +1 -1
  98. package/dist/{vue-ui-quick-chart-CVfXiwBs.js → vue-ui-quick-chart-N_eJnDW6.js} +9 -9
  99. package/dist/{vue-ui-radar-DpBICEaV.js → vue-ui-radar-ZXIMhCkZ.js} +12 -12
  100. package/dist/{vue-ui-radar-BAp4IGrw.cjs → vue-ui-radar-twbtmUQD.cjs} +1 -1
  101. package/dist/{vue-ui-rating-D72lzAno.cjs → vue-ui-rating-C6jmzGUv.cjs} +1 -1
  102. package/dist/{vue-ui-rating-Bjmj2p6V.js → vue-ui-rating-C7umC2uJ.js} +2 -2
  103. package/dist/{vue-ui-relation-circle-C9hr45P6.cjs → vue-ui-relation-circle-CfLFpg-g.cjs} +1 -1
  104. package/dist/{vue-ui-relation-circle-CWpiwvyP.js → vue-ui-relation-circle-D7ZGLDM8.js} +7 -7
  105. package/dist/{vue-ui-rings-Cp0F0mSk.js → vue-ui-rings-JoztQMIx.js} +12 -12
  106. package/dist/{vue-ui-rings-BhZWnXiZ.cjs → vue-ui-rings-jG4HLDJP.cjs} +1 -1
  107. package/dist/{vue-ui-scatter-BWk3QtZv.cjs → vue-ui-scatter-CqN7H-oc.cjs} +1 -1
  108. package/dist/{vue-ui-scatter-BJrYQZAa.js → vue-ui-scatter-DdqfEkrJ.js} +12 -12
  109. package/dist/{vue-ui-screenshot-sXfihBWk.cjs → vue-ui-screenshot-66ruM9o7.cjs} +1 -1
  110. package/dist/{vue-ui-screenshot-R5QLfXl9.js → vue-ui-screenshot-_es5a1Ip.js} +1 -1
  111. package/dist/{vue-ui-skeleton-Txytd5FS.js → vue-ui-skeleton-B_hsPdj7.js} +3 -3
  112. package/dist/{vue-ui-skeleton-raZOriRn.cjs → vue-ui-skeleton-HPhNvL89.cjs} +1 -1
  113. package/dist/{vue-ui-smiley-BWIjNtsk.cjs → vue-ui-smiley-9la7pNZe.cjs} +1 -1
  114. package/dist/{vue-ui-smiley-Dcyf6FLr.js → vue-ui-smiley-lGPkS7Pk.js} +2 -2
  115. package/dist/{vue-ui-spark-trend-1CYZEhc-.js → vue-ui-spark-trend-9AUVAX8V.js} +5 -5
  116. package/dist/{vue-ui-spark-trend-DO9LbfKP.cjs → vue-ui-spark-trend-Dgf1z038.cjs} +1 -1
  117. package/dist/{vue-ui-sparkbar-_ImT_rmQ.js → vue-ui-sparkbar-C3HFtQ64.js} +4 -4
  118. package/dist/{vue-ui-sparkbar-BydU6AYL.cjs → vue-ui-sparkbar-edNM1lrk.cjs} +1 -1
  119. package/dist/{vue-ui-sparkgauge-CP1tnMln.cjs → vue-ui-sparkgauge-B3zteFe-.cjs} +1 -1
  120. package/dist/{vue-ui-sparkgauge-DwVjglhg.js → vue-ui-sparkgauge-_vAX9ilP.js} +4 -4
  121. package/dist/{vue-ui-sparkhistogram-DUi7rP7a.cjs → vue-ui-sparkhistogram-CrYI72qk.cjs} +1 -1
  122. package/dist/{vue-ui-sparkhistogram-BsaYQmh9.js → vue-ui-sparkhistogram-fvO1g3HF.js} +5 -5
  123. package/dist/{vue-ui-sparkline-CMURk8mO.cjs → vue-ui-sparkline-Clmiz5UH.cjs} +1 -1
  124. package/dist/{vue-ui-sparkline-DmePoZxQ.js → vue-ui-sparkline-pYxMgfR1.js} +4 -4
  125. package/dist/{vue-ui-sparkstackbar-DIsWXCPJ.cjs → vue-ui-sparkstackbar-CPCVqziv.cjs} +1 -1
  126. package/dist/{vue-ui-sparkstackbar-B83LJYrz.js → vue-ui-sparkstackbar-Dk8T_zu4.js} +5 -5
  127. package/dist/{vue-ui-stackbar-D7ayfpLF.js → vue-ui-stackbar-DfL5KJhM.js} +13 -13
  128. package/dist/{vue-ui-stackbar-CUmbJBQz.cjs → vue-ui-stackbar-Pot5g_fX.cjs} +1 -1
  129. package/dist/{vue-ui-strip-plot-D4VJAtJv.cjs → vue-ui-strip-plot-B1xJcSIQ.cjs} +1 -1
  130. package/dist/{vue-ui-strip-plot-Co4JPPsu.js → vue-ui-strip-plot-yRx1AVSK.js} +11 -11
  131. package/dist/{vue-ui-table-vBPVOVdW.cjs → vue-ui-table-D4-uugt1.cjs} +1 -1
  132. package/dist/{vue-ui-table-heatmap-B8V6IJRD.cjs → vue-ui-table-heatmap-C49jQMKn.cjs} +1 -1
  133. package/dist/{vue-ui-table-heatmap-CcVjIvRn.js → vue-ui-table-heatmap-DAlMrdv8.js} +4 -4
  134. package/dist/{vue-ui-table-sparkline-DqNoUFXf.cjs → vue-ui-table-sparkline-B8zhGjPZ.cjs} +1 -1
  135. package/dist/{vue-ui-table-sparkline-A52CEigV.js → vue-ui-table-sparkline-DchPkw-Y.js} +5 -5
  136. package/dist/{vue-ui-table-CqBuNHeX.js → vue-ui-table-u-DH9XHp.js} +1 -1
  137. package/dist/{vue-ui-thermometer-s-VfsY-H.cjs → vue-ui-thermometer-D7NbjsPR.cjs} +1 -1
  138. package/dist/{vue-ui-thermometer-CZwzbH4U.js → vue-ui-thermometer-DlQvn5wd.js} +7 -7
  139. package/dist/{vue-ui-timer-xBfXaHH4.cjs → vue-ui-timer-BRKYn8pW.cjs} +1 -1
  140. package/dist/{vue-ui-timer-CtLLA8zf.js → vue-ui-timer-D-SOK3Pe.js} +5 -5
  141. package/dist/{vue-ui-tiremarks-gIdzqyuY.cjs → vue-ui-tiremarks-BJFHrHRq.cjs} +1 -1
  142. package/dist/{vue-ui-tiremarks-DAf44W2K.js → vue-ui-tiremarks-CpxW1Gkn.js} +7 -7
  143. package/dist/{vue-ui-treemap-ux_WLWjB.cjs → vue-ui-treemap-6Eapt8sp.cjs} +1 -1
  144. package/dist/{vue-ui-treemap-aeR4rGYE.js → vue-ui-treemap-BDEHEI-i.js} +11 -11
  145. package/dist/{vue-ui-vertical-bar-D4XQjiLY.cjs → vue-ui-vertical-bar-CDQDRIPf.cjs} +1 -1
  146. package/dist/{vue-ui-vertical-bar-BVxrBq8G.js → vue-ui-vertical-bar-CQ8w4eMb.js} +12 -12
  147. package/dist/{vue-ui-waffle-lSlfXn1P.cjs → vue-ui-waffle-DLrrEJd7.cjs} +1 -1
  148. package/dist/{vue-ui-waffle-o1EM500w.js → vue-ui-waffle-wJu-mO9q.js} +12 -12
  149. package/dist/{vue-ui-wheel-lEiHpMDb.cjs → vue-ui-wheel-BC0uDg6d.cjs} +1 -1
  150. package/dist/{vue-ui-wheel-CU_OW9-2.js → vue-ui-wheel-COmmZvTx.js} +7 -7
  151. package/dist/{vue-ui-word-cloud-BhbV09xg.cjs → vue-ui-word-cloud-96YYNdwX.cjs} +1 -1
  152. package/dist/{vue-ui-word-cloud-DKlJ3x7X.js → vue-ui-word-cloud-CUMT9ZEB.js} +10 -10
  153. package/dist/{vue-ui-xy-CsFUNXKI.js → vue-ui-xy-6mSAgv8G.js} +16 -16
  154. package/dist/{vue-ui-xy-DdSlwQAQ.cjs → vue-ui-xy-BQKH0C34.cjs} +2 -2
  155. package/dist/{vue-ui-xy-canvas-Dow767yO.cjs → vue-ui-xy-canvas-4_7tSROk.cjs} +1 -1
  156. package/dist/{vue-ui-xy-canvas-DxpbUfTQ.js → vue-ui-xy-canvas-CZgVdBJ8.js} +12 -12
  157. package/package.json +1 -1
  158. package/dist/index-0ZojJ1mH.cjs +0 -9
package/dist/llms.txt ADDED
@@ -0,0 +1,232 @@
1
+ # Vue Data UI
2
+
3
+ > VueDataUI is a Vue 3 data visualization library providing numerous chart components (pie/donut, bar, line, radar, etc.), as well as tables and rating components. This guide offers ready-to-use examples and best practices for integrating VueDataUI into your Vue application. The content is optimized for AI code editors (GitHub Copilot, Cursor, etc.) to suggest correct usage patterns.
4
+
5
+ Important notes:
6
+ - This library is *not* compatible with Vue2. It is to be used with Vue3.
7
+ - **Import and CSS:** Always import the required VueDataUI component and ensure you include the library's CSS.
8
+ - **Reactive Data:** Use Vue's reactivity (`ref` or `computed`) to manage your `dataset` and `config` objects.
9
+ - **Component Customization:** Use the config object to customize appearance (colors, legends, chart dimensions, etc.) based on your specific needs.
10
+ - **CLI Utilization:** Leverage `vue-data-ui-cli` for quick scaffolding of new components, ensuring proper structure and reducing setup errors.
11
+ - **AI Integration:** With these clear examples, AI code editors should suggest correct imports, prop bindings, and data structures, making it easier to build interactive charts with VueDataUI.
12
+
13
+ ## Docs
14
+
15
+ - [README](https://github.com/graphieros/vue-data-ui/blob/master/README.md): Readme file of the vue-data-ui library
16
+ - [Documentation]https://vue-data-ui.graphieros.com/: Official documentation website for the vue-data-ui library
17
+
18
+ ## Getting Started with VueDataUI
19
+
20
+ To begin, install the library and include its stylesheet:
21
+
22
+ npm install vue-data-ui
23
+
24
+ In your main entry file (e.g., main.js or main.ts), import the CSS and optionally register components globally:
25
+
26
+ import { createApp } from 'vue';
27
+ import App from './App.vue';
28
+ import 'vue-data-ui/style.css'; // Include VueDataUI styles
29
+
30
+ // Example: register a component globally (optional)
31
+ import { VueUiXy } from 'vue-data-ui';
32
+ const app = createApp(App);
33
+ app.component('VueUiXy', VueUiXy);
34
+
35
+ app.mount('#app');
36
+
37
+ You can also import components locally within Vue single-file components (see examples below). VueDataUI offers a **universal component** `<VueDataUi>` that can load any chart dynamically. For example:
38
+
39
+ <template>
40
+ <!-- Using the universal component to load a Donut chart -->
41
+ <VueDataUi component="VueUiDonut" :dataset="dataset" :config="config" />
42
+ </template>
43
+
44
+ <script setup>
45
+ import { ref } from 'vue';
46
+ import { VueDataUi } from 'vue-data-ui'; // universal component
47
+ import 'vue-data-ui/style.css'; // ensure styles are imported
48
+
49
+ const dataset = ref([ /* ... data ... */ ]);
50
+ const config = ref({ /* ... config ... */ });
51
+ </script>
52
+
53
+ Using `VueDataUi` will lazy-load only the specified chart component.
54
+
55
+ ## XY Chart Example
56
+
57
+ For line (or area) charts, bar chart, or combined charts, use the `VueUiXy` component. The dataset is an array of data points with the following datastructure:
58
+
59
+ type VueUiXyDatasetItem = {
60
+ name: string;
61
+ series: number[];
62
+ type: "bar" | "line" | "plot";
63
+ color?: string;
64
+ dashed?: boolean;
65
+ useTag?: "start" | "end" | "none";
66
+ showSerieName?: "start" | "end";
67
+ useArea?: boolean;
68
+ dataLabels?: boolean;
69
+ useProgression?: boolean; // Display a trend line
70
+ scaleSteps?: number; // The preferred number of scale segments on the y axis
71
+ scaleLabel?: string;
72
+ scaleMax?: number; // Force the max scale value
73
+ scaleMin?: number; // Force the min scale value
74
+ autoScaling?: boolean;
75
+ stackRatio?: number; // In stacked mode, sets the height ratio of the datapoint
76
+ comments?: string[]; // Provide an array of comments which will display at same index as the series item
77
+ shape?: Shape; // circle, triangle, square, pentagon, hexagon, star
78
+ smooth?: boolean; // Display as a spline
79
+ prefix?: string; // Use a prefix on data labels
80
+ suffix?: string; // Use a suffix on data labels
81
+ }
82
+
83
+ <!-- LineChart.vue - example of a basic line chart -->
84
+ <template>
85
+ <VueUiXy :dataset="dataset" :config="config" />
86
+ </template>
87
+
88
+ <script setup>
89
+ import { ref } from 'vue';
90
+ import { VueUiXy } from 'vue-data-ui'; // import the XY chart component
91
+
92
+ // Reactive dataset: array of points with minimal required attributes
93
+ const dataset = ref([
94
+ { name: 'Serie A', series: [1, 2, 3, 5], type: 'line' },
95
+ { name: 'Serie B', series: [13, 21, 3, 2], type: 'bar' },
96
+ { name: 'Serie C', series: [8, 2, 3, 6], type: 'plot' },
97
+ ]);
98
+
99
+ // Minimal config for the line chart (optional). The TS type for the config is VueUiXyConfig
100
+ const config = ref({
101
+ chart: {
102
+ fontFamily: "inherit",
103
+ backgroundColor: "#FFFFFF",
104
+ color: "#1A1A1A",
105
+ grid: {
106
+ showHorizontalLines: false,
107
+ showVerticalLines: false,
108
+ labels: {
109
+ show: true, // shows datapoint labels if the
110
+ color: "#1A1A1A",
111
+ xAxisLabels: {
112
+ values: ['01-01-2026', '02-01-2026', '03-01-2026', '04-01-2026'], // The values displayed on the x axis (time labels)
113
+ rotation: 0, // to rotate the x axis labels
114
+ }
115
+ }
116
+ },
117
+ title: {
118
+ text: 'Title',
119
+ color: '#1A1A1A'
120
+ },
121
+ bar: { // Specific config for bar types
122
+ labels: {
123
+ show: true,
124
+ }
125
+ },
126
+ line: { // Specific config for line types
127
+ labels: {
128
+ show: true
129
+ }
130
+ },
131
+ plot: { // Specific config for plot types
132
+ labels: {
133
+ show: true
134
+ }
135
+ },
136
+ tooltip: {
137
+ show: true,
138
+ customFormat: null, // Provide a custom html content with a callback, for example: ({ seriesIndex, datapoint, series, config, bars, lines, plots }) => { return `Your content` }
139
+ }
140
+ }
141
+ });
142
+ </script>
143
+
144
+ ## Sparkline Chart Example
145
+
146
+ Sparkline charts are mini charts for showing trends. The `VueUiSparkline` component renders a small, minimalist line chart. The dataset is an array of data points with the following datastructure:
147
+
148
+ type VueUiSparklineDatasetItem = {
149
+ period: string // For example, a date
150
+ value: number
151
+ }
152
+
153
+ <!-- SparklineChart.vue - example of a sparkline chart -->
154
+ <template>
155
+ <VueUiSparkline :dataset="dataset" :config="config" />
156
+ </template>
157
+
158
+ <script setup>
159
+ import { ref } from 'vue';
160
+ import { VueUiSparkline } from 'vue-data-ui'; // import the Sparkline component
161
+
162
+
163
+ // Reactive dataset: an array of objects of type VueUiSparklineDatasetItem
164
+ const dataset = ref([
165
+ { period: 'January', value: 1 },
166
+ { period: 'February', value: 2 },
167
+ { period: 'March', value: 3 },
168
+ ]);
169
+
170
+ // Minimal config example for the sparkline chart (optional). Full config type is VueUiSparklineConfig
171
+ const config = ref({
172
+ type: 'line', // or 'bar'
173
+ style: {
174
+ area: {
175
+ show: true,
176
+ },
177
+ dataLabel: {
178
+ show: true
179
+ },
180
+ line: {
181
+ color: '#6376DD'
182
+ },
183
+ plot: {
184
+ show: true,
185
+ radius: 4
186
+ },
187
+ title: {
188
+ show: true,
189
+ text: 'Title'
190
+ },
191
+ tooltip: {
192
+ show: true
193
+ },
194
+ verticalIndicator: {
195
+ show: true,
196
+ }
197
+ }
198
+ });
199
+ </script>
200
+
201
+ Notes:
202
+ - Ideal for embedding in dashboards or tables to indicate trends.
203
+
204
+ ## Using the vue-data-ui-cli
205
+
206
+ VueDataUI offers a CLI tool, `vue-data-ui-cli`, to quickly generate chart component boilerplates.
207
+
208
+ ### Installation:
209
+
210
+ npm install -g vue-data-ui-cli
211
+
212
+ This installs a global command `vdui-cli` (short for VueDataUI CLI).
213
+
214
+ ### Usage:
215
+
216
+ Run the CLI in your project directory:
217
+
218
+ vdui-cli
219
+
220
+ You'll be prompted for:
221
+ - **Component Type:** Select the VueDataUI chart type (e.g., Donut, Radar, etc.).
222
+ - **Reactive API:** Choose how to manage reactive data (using `ref` or `computed`).
223
+ - **TypeScript Usage:** Decide if the component should be in TypeScript or JavaScript.
224
+ - **Component Name:** Provide a name for your component (e.g., `MyDonutChart`).
225
+ - **Target Directory:** Specify where to create the new component file.
226
+
227
+ The CLI will generate a Vue single-file component pre-populated with:
228
+ - Correct imports for VueDataUI components.
229
+ - Sample reactive `dataset` and `config` objects.
230
+ - A template ready to render the selected chart.
231
+
232
+ This tool helps maintain consistency and speeds up development by providing a reliable boilerplate.