vue-data-ui 3.26.5 → 3.27.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.
Files changed (200) hide show
  1. package/dist/{Arrow-BQbcOtfC.js → Arrow-DKO1l8oR.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BCFCiP_6.js → BaseDraggableDialog-C50TEJFv.js} +2 -2
  3. package/dist/{BaseIcon-CIK6Sqo3.js → BaseIcon-Cx9FD751.js} +1 -1
  4. package/dist/{BaseLegendToggle-Doa5rYP2.js → BaseLegendToggle-CP3sddwv.js} +1 -1
  5. package/dist/{BaseZoomControls-BGQM8B5F.js → BaseZoomControls-vNi8YykO.js} +2 -2
  6. package/dist/{ColorPicker-Cb7qpvFt.js → ColorPicker-hmC2bvwS.js} +2 -2
  7. package/dist/{DataTable-B6LDCXBz.js → DataTable-CjF_An2h.js} +2 -2
  8. package/dist/{HillActions-CwdgCb7Q.js → HillActions-DqqGB33u.js} +1 -1
  9. package/dist/{Legend-D9FGXIbQ.js → Legend-CulFgjUY.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-9T4MSwXC.js → NonSvgPenAndPaper-BK1v_MfW.js} +3 -3
  11. package/dist/{PackageVersion-CslTvFsC.js → PackageVersion-D7H9nfK0.js} +1 -1
  12. package/dist/{PenAndPaper-C1EcBgJW.js → PenAndPaper-CNiuGw6k.js} +3 -3
  13. package/dist/{Shape-BZgQLgu5.js → Shape-DSwamtmO.js} +1 -1
  14. package/dist/{SlicerPreview-DyYv_G-_.js → SlicerPreview-k5YerMA9.js} +12 -12
  15. package/dist/{SparkTooltip-D4cRlyuq.js → SparkTooltip-D35KVv6N.js} +6 -6
  16. package/dist/{Title-Bd98RysU.js → Title-BMCuINbv.js} +1 -1
  17. package/dist/{Tooltip-DmQeI5WE.js → Tooltip-C4ZTwkLF.js} +1 -1
  18. package/dist/{UserOptions-B_yBcZ1-.js → UserOptions-CORYQiif.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-B_RJohlM.js → dom-to-png-CBusMkua.js} +1 -1
  91. package/dist/{exposedLib-C-JlvWAt.js → exposedLib-UNxZlnAS.js} +10 -10
  92. package/dist/{img-KURaWjZI.js → img-Bb5rHcpO.js} +1 -1
  93. package/dist/{labelUtils-DShv2Mbg.js → labelUtils-Ccn9kK7T.js} +1 -1
  94. package/dist/{lib-TWIH5fGr.js → lib-D4wK6ljP.js} +127 -133
  95. package/dist/{package-DbTqd5lc.js → package-DmQufM0G.js} +1 -1
  96. package/dist/{pdf-CLl24Afl.js → pdf-BzIQHx-F.js} +1 -1
  97. package/dist/{render-common-CKv-jztN.js → render-common-BtfjXdkJ.js} +10 -10
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +212 -59
  103. package/dist/types/vue-ui-stackbar.d.ts +10 -0
  104. package/dist/{useConfig-DObkR9Aa.js → useConfig-D_6ZrPMD.js} +82 -0
  105. package/dist/{useNestedProp-BxOdWM0c.js → useNestedProp-DR_8JPol.js} +1 -1
  106. package/dist/{useObjectBindings-CPmyIJxB.js → useObjectBindings-DvasYMGu.js} +2 -2
  107. package/dist/{usePrinter-8Y1Rju0Y.js → usePrinter-DdW2GSm0.js} +2 -2
  108. package/dist/utils.js +10 -10
  109. package/dist/{vue-data-ui-C3G5Zdl5.js → vue-data-ui-Df7WV80w.js} +70 -70
  110. package/dist/vue-data-ui.js +75 -75
  111. package/dist/{vue-ui-3d-bar-Cl6-fBV8.js → vue-ui-3d-bar-CJjNPwhG.js} +463 -463
  112. package/dist/{vue-ui-accordion-AyyZDab3.js → vue-ui-accordion-CaoNWreI.js} +4 -4
  113. package/dist/{vue-ui-age-pyramid-DOtWAL8s.js → vue-ui-age-pyramid-BYcM0uIP.js} +22 -22
  114. package/dist/{vue-ui-annotator-BCVjlojM.js → vue-ui-annotator-BmqjDjRF.js} +10 -10
  115. package/dist/{vue-ui-bullet-B_1Ctjvq.js → vue-ui-bullet-DBOAvpBB.js} +18 -18
  116. package/dist/vue-ui-bump-rPYwDJ4o.js +1242 -0
  117. package/dist/{vue-ui-candlestick-KvhjbAxt.js → vue-ui-candlestick-WQHIQNv_.js} +625 -625
  118. package/dist/{vue-ui-carousel-table-ArMiO0cG.js → vue-ui-carousel-table-Dojcvt49.js} +106 -106
  119. package/dist/{vue-ui-chestnut-DSM0U27X.js → vue-ui-chestnut-BdhEByUf.js} +65 -65
  120. package/dist/{vue-ui-chord-64akfaem.js → vue-ui-chord-MF4xF5az.js} +46 -46
  121. package/dist/{vue-ui-circle-pack-CaR_aNEh.js → vue-ui-circle-pack-BwDim7G8.js} +26 -26
  122. package/dist/{vue-ui-cursor-DCgqYZiz.js → vue-ui-cursor-w_5cbpSb.js} +61 -61
  123. package/dist/{vue-ui-dag-8uKK0Rlp.js → vue-ui-dag-D2EUqeDN.js} +65 -65
  124. package/dist/{vue-ui-dashboard-DeccYtSY.js → vue-ui-dashboard-BLnVXosj.js} +70 -70
  125. package/dist/{vue-ui-digits-BvK7bVuJ.js → vue-ui-digits-zSqwYWHm.js} +4 -4
  126. package/dist/{vue-ui-donut-8joMj08Z.js → vue-ui-donut-ZYZfqIhi.js} +117 -117
  127. package/dist/{vue-ui-donut-evolution-DgITf95R.js → vue-ui-donut-evolution-DtLbWi3h.js} +216 -216
  128. package/dist/vue-ui-donut-nLDLZwig.js +2427 -0
  129. package/dist/{vue-ui-dumbbell-U2L4ZYhB.js → vue-ui-dumbbell-Qgn3wRyI.js} +20 -20
  130. package/dist/{vue-ui-flow-DD20fJu_.js → vue-ui-flow-iSH6dyGw.js} +109 -109
  131. package/dist/vue-ui-funnel-Cc2z2zS5.js +749 -0
  132. package/dist/{vue-ui-galaxy-VZFZnHPv.js → vue-ui-galaxy-GhuBSU0o.js} +267 -267
  133. package/dist/vue-ui-gauge-BAjBO13a.js +934 -0
  134. package/dist/{vue-ui-geo-DeDQ6ubl.js → vue-ui-geo-mwTtvIHY.js} +19 -19
  135. package/dist/{vue-ui-gizmo-D5oUKIsP.js → vue-ui-gizmo-B5vOOrZX.js} +4 -4
  136. package/dist/vue-ui-heatmap-fimkY1nN.js +1613 -0
  137. package/dist/{vue-ui-hill-DONFacXR.js → vue-ui-hill-DPfTt3UE.js} +18 -18
  138. package/dist/{vue-ui-history-plot-BMy_y9S6.js → vue-ui-history-plot-B1WgzqTb.js} +53 -53
  139. package/dist/vue-ui-horizontal-bar-Bkp5HQdt.js +1723 -0
  140. package/dist/{vue-ui-kpi-Bol0OWs3.js → vue-ui-kpi-D-p0CSQh.js} +4 -4
  141. package/dist/{vue-ui-label-cwjXaEDQ.js → vue-ui-label-r3-QloJL.js} +65 -65
  142. package/dist/{vue-ui-mini-loader-kdpasmXb.js → vue-ui-mini-loader-CnrBGAtM.js} +3 -3
  143. package/dist/vue-ui-molecule-BhdAYX_H.js +941 -0
  144. package/dist/vue-ui-mood-radar-CdlnPrQf.js +1111 -0
  145. package/dist/{vue-ui-nested-donuts-ZmGGEvRk.js → vue-ui-nested-donuts-DceVEyUc.js} +341 -341
  146. package/dist/{vue-ui-onion-D6IKPpL-.js → vue-ui-onion-_L0uEATI.js} +209 -209
  147. package/dist/vue-ui-parallel-coordinate-plot-CbXwIM47.js +1444 -0
  148. package/dist/{vue-ui-quadrant-CueHa1Pm.js → vue-ui-quadrant-CDDFLRcX.js} +55 -55
  149. package/dist/{vue-ui-quick-chart-C8ZxX1Zw.js → vue-ui-quick-chart-Dom257hl.js} +377 -377
  150. package/dist/vue-ui-radar-BLdri1bA.js +1386 -0
  151. package/dist/{vue-ui-rating-V_OnJN9Y.js → vue-ui-rating-C_iTttXB.js} +25 -25
  152. package/dist/vue-ui-relation-circle-BmxTSgjd.js +905 -0
  153. package/dist/vue-ui-ridgeline-CsUrcVmL.js +1630 -0
  154. package/dist/{vue-ui-rings-Bf9IKwDr.js → vue-ui-rings-D_GPkgbD.js} +318 -318
  155. package/dist/vue-ui-scatter-D_C-IhnW.js +2418 -0
  156. package/dist/{vue-ui-skeleton-dyXWT6JX.js → vue-ui-skeleton-t7e6KEZ2.js} +60 -60
  157. package/dist/{vue-ui-smiley-w6nH1I0E.js → vue-ui-smiley-Dl95YWVo.js} +14 -14
  158. package/dist/{vue-ui-spark-trend-Bso9bwmY.js → vue-ui-spark-trend-pkZA7u5V.js} +20 -20
  159. package/dist/{vue-ui-sparkbar-CL06Yt56.js → vue-ui-sparkbar-Ds7OJjhG.js} +77 -77
  160. package/dist/{vue-ui-sparkgauge-BHDM5Hbr.js → vue-ui-sparkgauge-US1M88qc.js} +6 -6
  161. package/dist/vue-ui-sparkhistogram-FISVpSvv.js +589 -0
  162. package/dist/{vue-ui-sparkline-znaswFQj.js → vue-ui-sparkline-DvE1dHcs.js} +37 -37
  163. package/dist/{vue-ui-sparkstackbar-BOzVoWoa.js → vue-ui-sparkstackbar-CWtF9eG-.js} +39 -39
  164. package/dist/vue-ui-stackbar-fMgrHzZe.js +3273 -0
  165. package/dist/{vue-ui-stackline-qcLrNL09.js → vue-ui-stackline-CSMuUup2.js} +303 -303
  166. package/dist/vue-ui-strip-plot-TGD2UFHS.js +1752 -0
  167. package/dist/{vue-ui-table-D295mJIf.js → vue-ui-table-BCEIbg8-.js} +14 -14
  168. package/dist/{vue-ui-table-heatmap-CXeMKqKz.js → vue-ui-table-heatmap-CvUcFWMf.js} +9 -9
  169. package/dist/vue-ui-table-sparkline-CoVQ1qGY.js +738 -0
  170. package/dist/vue-ui-thermometer-BYFAZCzh.js +758 -0
  171. package/dist/{vue-ui-timer-BULpjYiI.js → vue-ui-timer-BKr8RVnn.js} +10 -10
  172. package/dist/{vue-ui-tiremarks-B7bTeU8h.js → vue-ui-tiremarks-BYu3cEoy.js} +35 -35
  173. package/dist/{vue-ui-treemap-DkqDz9W4.js → vue-ui-treemap-BR3rX5_L.js} +50 -50
  174. package/dist/{vue-ui-waffle-Cn7WBzqh.js → vue-ui-waffle-mP8g5aQk.js} +275 -275
  175. package/dist/{vue-ui-wheel-Cy7kBvEx.js → vue-ui-wheel-CZsSO2R6.js} +187 -187
  176. package/dist/{vue-ui-word-cloud-tRqc2ZMR.js → vue-ui-word-cloud-CJ30onqy.js} +35 -35
  177. package/dist/{vue-ui-world-B755-zji.js → vue-ui-world-BZ09DOiF.js} +498 -498
  178. package/dist/{vue-ui-xy-BiHIJ7rK.js → vue-ui-xy-C3h54loZ.js} +405 -405
  179. package/dist/{vue-ui-xy-canvas-DGuMC_Rf.js → vue-ui-xy-canvas-BwgK8drp.js} +165 -165
  180. package/dist/{vue-ui-xy-DWYTZz_v.js → vue-ui-xy-jemv5dsf.js} +288 -288
  181. package/dist/{vue_ui_stackbar-DdjDL6aq.js → vue_ui_stackbar-yQyvT4Su.js} +46 -0
  182. package/package.json +1 -1
  183. package/dist/vue-ui-bump-kOK6x4al.js +0 -1242
  184. package/dist/vue-ui-donut-CvbfzzdT.js +0 -2427
  185. package/dist/vue-ui-funnel-Cx8hVlZV.js +0 -749
  186. package/dist/vue-ui-gauge-Copa7G58.js +0 -934
  187. package/dist/vue-ui-heatmap-BukWtNsd.js +0 -1613
  188. package/dist/vue-ui-horizontal-bar-bcPSs999.js +0 -1723
  189. package/dist/vue-ui-molecule-BiAI5lbh.js +0 -941
  190. package/dist/vue-ui-mood-radar-f4xXkiBs.js +0 -1111
  191. package/dist/vue-ui-parallel-coordinate-plot-BbfModz3.js +0 -1444
  192. package/dist/vue-ui-radar-BcD7Zqvb.js +0 -1386
  193. package/dist/vue-ui-relation-circle-DlN4r83K.js +0 -905
  194. package/dist/vue-ui-ridgeline-BlQnTWXi.js +0 -1630
  195. package/dist/vue-ui-scatter-arPbS9MH.js +0 -2418
  196. package/dist/vue-ui-sparkhistogram-3Tw8PEms.js +0 -589
  197. package/dist/vue-ui-stackbar-BTOvMsP8.js +0 -2755
  198. package/dist/vue-ui-strip-plot-BLNaCPm8.js +0 -1752
  199. package/dist/vue-ui-table-sparkline-BYuwQrwA.js +0 -738
  200. package/dist/vue-ui-thermometer-BwJ0oF-H.js +0 -758
@@ -5,7 +5,6 @@ declare module 'vue-data-ui' {
5
5
  VNodeChild,
6
6
  Component,
7
7
  ComputedRef,
8
- MaybeRefOrGetter,
9
8
  } from 'vue';
10
9
 
11
10
  export type VueUiUnknownObj = {
@@ -158,6 +157,7 @@ declare module 'vue-data-ui' {
158
157
 
159
158
  export type VueDataUiExpose = {
160
159
  getData?: (...args: any[]) => Promise<any> | any;
160
+ getWaterfallSteps?: () => VueUiStackbarWaterfallComputedStep[];
161
161
  getImage?: (options?: { scale?: number }) => Promise<any>;
162
162
  generateCsv?: () => void;
163
163
  generateImage?: () => void;
@@ -234,7 +234,14 @@ declare module 'vue-data-ui' {
234
234
  export type VueUiCirclePackEvent = ChartEvent<VueUiCirclePackDatapoint>;
235
235
  export type VueUiSparklineEvent = ChartEvent<VueUiSparklineDatasetItem>;
236
236
  export type VueUiAgePyramidEvent = ChartEvent<VueUiAgePyramidDatapoint>;
237
- export type VueUiStackbarEvent = ChartEvent<VueUiStackbarDatapointItem[]>;
237
+ export type VueUiStackbarEvent =
238
+ | null
239
+ | ((payload: {
240
+ datapoint: VueUiStackbarInteractionDatapoint[];
241
+ seriesIndex: number;
242
+ // Present for waterfall clicks
243
+ waterfall?: VueUiStackbarWaterfallComputedStep;
244
+ }) => void);
238
245
  export type VueUiStacklineEvent = ChartEvent<VueUiStacklineDatapointItem[]>;
239
246
  export type VueUiCandlestickEvent = ChartEvent<VueUiCandlestickDatapoint>;
240
247
  export type VueUiRidgelineEvent = ChartEvent<VueUiRidgelineDatapointEvent>;
@@ -13382,13 +13389,46 @@ declare module 'vue-data-ui' {
13382
13389
  };
13383
13390
  };
13384
13391
 
13385
- export type VueUiStackbarDatasetItem = {
13386
- [key: string]: any; // To be recovered through the #svg slot
13392
+ export type VueUiStackbarWaterfallSegment = {
13393
+ key?: string | number;
13394
+ id?: string | number;
13395
+ name?: string;
13396
+ label?: string;
13397
+ value: number;
13398
+ color?: string;
13399
+ };
13400
+
13401
+ export type VueUiStackbarWaterfallKind = 'total' | 'subtotal' | 'change';
13402
+
13403
+ export type VueUiStackbarDatasetItemWaterfallSeries = {
13404
+ name?: string;
13405
+ label?: string;
13406
+ type?: VueUiStackbarWaterfallKind;
13407
+ color?: string;
13408
+ series?: VueUiStackbarWaterfallSegment[];
13409
+ };
13410
+
13411
+ export type VueUiStackbarStandardDatasetItem = {
13412
+ [key: string]: any;
13387
13413
  name: string;
13388
13414
  series: Array<number | null>;
13389
13415
  color?: string;
13416
+ type?: never;
13417
+ };
13418
+
13419
+ export type VueUiStackbarWaterfallDatasetItem = {
13420
+ [key: string]: any;
13421
+ name: string;
13422
+ type: 'waterfall';
13423
+ startValue?: number;
13424
+ series: VueUiStackbarDatasetItemWaterfallSeries[];
13425
+ color?: string;
13390
13426
  };
13391
13427
 
13428
+ export type VueUiStackbarDatasetItem =
13429
+ | VueUiStackbarStandardDatasetItem
13430
+ | VueUiStackbarWaterfallDatasetItem;
13431
+
13392
13432
  export type VueUiStackbarDatapointItem = {
13393
13433
  name: string;
13394
13434
  value: number;
@@ -13397,7 +13437,54 @@ declare module 'vue-data-ui' {
13397
13437
  id: string;
13398
13438
  };
13399
13439
 
13400
- export type VueUiStackbarSeriesItem = VueUiStackbarDatasetItem & {
13440
+ export type VueUiStackbarWaterfallComputedSegment = {
13441
+ key: string;
13442
+ name: string;
13443
+ label: string;
13444
+ value: number;
13445
+ start: number;
13446
+ end: number;
13447
+ color: string;
13448
+ };
13449
+
13450
+ export type VueUiStackbarWaterfallComputedStep = {
13451
+ index: number;
13452
+ name: string;
13453
+ kind: VueUiStackbarWaterfallKind;
13454
+ isTotal: boolean;
13455
+ previousBalance: number;
13456
+ start: number;
13457
+ end: number;
13458
+ balance: number;
13459
+ change: number;
13460
+ hasMixedSigns: boolean;
13461
+ positiveExtent: number;
13462
+ negativeExtent: number;
13463
+ segments: VueUiStackbarWaterfallComputedSegment[];
13464
+ color: string | null;
13465
+ };
13466
+
13467
+ export type VueUiStackbarInteractionDatapoint = {
13468
+ name: string;
13469
+ value: number | null;
13470
+ proportion: number | null;
13471
+ color: string;
13472
+ id: string;
13473
+ absoluteIndex?: number;
13474
+ timeLabel?: {
13475
+ text: string;
13476
+ absoluteIndex?: number;
13477
+ };
13478
+ // Available when the active dataset is a waterfall
13479
+ start?: number;
13480
+ end?: number;
13481
+ kind?: VueUiStackbarWaterfallKind;
13482
+ balance?: number;
13483
+ change?: number;
13484
+ stepName?: string;
13485
+ };
13486
+
13487
+ export type VueUiStackbarSeriesItem = VueUiStackbarStandardDatasetItem & {
13401
13488
  id: string;
13402
13489
  color: string;
13403
13490
  absoluteIndex: number;
@@ -13457,6 +13544,89 @@ declare module 'vue-data-ui' {
13457
13544
  backgroundColor?: string;
13458
13545
  position?: 'bottom' | 'top';
13459
13546
  };
13547
+ // waterfall config applied when a dataset series has a 'waterfall' type
13548
+ waterfall?: {
13549
+ bars?: {
13550
+ gapRatio?: number;
13551
+ borderRadius?: number;
13552
+ strokeWidth?: number;
13553
+ stroke?: string;
13554
+ gradient?: {
13555
+ show?: boolean;
13556
+ intensity?: number;
13557
+ };
13558
+ };
13559
+ colors?: {
13560
+ useSeriesColor?: boolean;
13561
+ positive?: string;
13562
+ negative?: string;
13563
+ total?: string;
13564
+ subtotal?: string;
13565
+ neutral?: string;
13566
+ };
13567
+ connectors?: {
13568
+ show?: boolean;
13569
+ stroke?: string;
13570
+ strokeWidth?: number;
13571
+ strokeDasharray?: string | number;
13572
+ adaptToRadius?: boolean;
13573
+ inset?: number;
13574
+ };
13575
+ categoryLabels?: {
13576
+ show?: boolean;
13577
+ fontSize?: number;
13578
+ color?: string;
13579
+ bold?: boolean;
13580
+ rotation?: number;
13581
+ offsetY?: number;
13582
+ };
13583
+ segmentLabels?: {
13584
+ show?: boolean;
13585
+ fontSize?: number;
13586
+ bold?: boolean;
13587
+ color?: string;
13588
+ adaptColorToBackground?: boolean;
13589
+ minHeight?: number;
13590
+ minWidth?: number;
13591
+ showZero?: boolean;
13592
+ prefix?: string;
13593
+ suffix?: string;
13594
+ rounding?: number;
13595
+ formatter?: Formatter;
13596
+ };
13597
+ stepLabels?: {
13598
+ show?: boolean;
13599
+ fontSize?: number;
13600
+ color?: string;
13601
+ bold?: boolean;
13602
+ prefix?: string;
13603
+ suffix?: string;
13604
+ rounding?: number;
13605
+ offset?: number;
13606
+ showPlusSign?: boolean;
13607
+ showZero?: boolean;
13608
+ useBalanceForTotals?: boolean;
13609
+ formatter?: Formatter;
13610
+ };
13611
+ tooltip?: {
13612
+ showBalance?: boolean;
13613
+ showChange?: boolean;
13614
+ showStart?: boolean;
13615
+ balanceTranslation?: string;
13616
+ changeTranslation?: string;
13617
+ startTranslation?: string;
13618
+ totalTranslation?: string;
13619
+ subtotalTranslation?: string;
13620
+ rounding?: number;
13621
+ };
13622
+ table?: {
13623
+ showKind?: boolean;
13624
+ showBalance?: boolean;
13625
+ kindTranslation?: string;
13626
+ balanceTranslation?: string;
13627
+ changeTranslation?: string;
13628
+ };
13629
+ };
13460
13630
  zoom?: ChartZoom & {
13461
13631
  preview?: {
13462
13632
  enable?: boolean;
@@ -13471,11 +13641,7 @@ declare module 'vue-data-ui' {
13471
13641
  | null
13472
13642
  | ((
13473
13643
  params: MinimalCustomFormatParams<
13474
- Array<
13475
- VueUiStackbarDatapointItem & {
13476
- absoluteIndex: number;
13477
- }
13478
- >
13644
+ VueUiStackbarInteractionDatapoint[]
13479
13645
  >,
13480
13646
  ) => string);
13481
13647
  };
@@ -13488,8 +13654,8 @@ declare module 'vue-data-ui' {
13488
13654
  | null
13489
13655
  | ((
13490
13656
  params: VueUiTooltipParams<
13491
- VueUiStackbarDatapointItem[],
13492
- VueUiStackbarSeriesItem[],
13657
+ VueUiStackbarInteractionDatapoint[],
13658
+ VueUiStackbarFormattedDatasetItem[],
13493
13659
  VueUiStackbarConfig
13494
13660
  >,
13495
13661
  ) => string);
@@ -13612,23 +13778,8 @@ declare module 'vue-data-ui' {
13612
13778
  };
13613
13779
 
13614
13780
  export type VueUiStackbarExpose = {
13615
- getData(): Promise<
13616
- Array<{
13617
- absoluteIndex: number;
13618
- color: string;
13619
- height: number[];
13620
- horizontal_width: number[];
13621
- horizontal_x: number[];
13622
- horizontal_y: number[];
13623
- id: string;
13624
- name: string;
13625
- proportions: number[];
13626
- series: number[];
13627
- signedSeries: number[];
13628
- x: number[];
13629
- y: number[];
13630
- }>
13631
- >;
13781
+ getData(): VueUiStackbarFormattedDatasetItem[];
13782
+ getWaterfallSteps(): VueUiStackbarWaterfallComputedStep[];
13632
13783
  getImage(options?: { scale?: number }): GetImagePromise;
13633
13784
  generateCsv(): void;
13634
13785
  generateImage(): void;
@@ -13643,32 +13794,33 @@ declare module 'vue-data-ui' {
13643
13794
  hideSeries(name: string): void;
13644
13795
  setZoomState(state: VueUiZoomState): void;
13645
13796
  resetZoom(): void;
13797
+ copyAlt(): Promise<void>;
13646
13798
  };
13647
13799
 
13648
13800
  export type VueUiStackbarFormattedDatasetItem = {
13649
13801
  absoluteIndex: number;
13802
+ datasetKey: string;
13650
13803
  color: string;
13651
- height: number[];
13652
- heightMinimap: ({ minimapH }: { minimapH: number }) => number[];
13653
- horizontal_width: number[];
13654
- horizontal_x: number[];
13655
- horizontal_y: number[];
13656
13804
  id: string;
13657
13805
  name: string;
13658
- proportions: number[];
13659
13806
  series: number[];
13660
- signedSeries: Array<0 | 1>;
13807
+ signedSeries: Array<-1 | 0 | 1>;
13808
+ proportions: number[];
13661
13809
  x: number[];
13662
- xMinimap: ({
13663
- left,
13664
- unitW,
13665
- }: {
13666
- left: number;
13667
- unitW: number;
13668
- }) => number[];
13669
13810
  y: number[];
13670
- yMinimap: ({ minimapH }: { minimapH: number }) => number[];
13811
+ height: number[];
13812
+ horizontal_width: number[];
13813
+ horizontal_x: number[];
13814
+ horizontal_y: number[];
13671
13815
  rectKeys: string[];
13816
+ minimapRectKeys: string[];
13817
+ xMinimap: (params: { left: number; unitW: number }) => number[];
13818
+ yMinimap: (params: { minimapH: number }) => number[];
13819
+ heightMinimap: (params: { minimapH: number }) => number[];
13820
+ // Waterfall-only segment positions and colors. null = no segment
13821
+ waterfallSegments?: Array<VueUiStackbarWaterfallComputedSegment | null>;
13822
+ waterfallColors?: string[];
13823
+ minimapWaterfallColors?: string[];
13672
13824
  };
13673
13825
 
13674
13826
  export type VueUiStackbarTimeLabelSlotProps = {
@@ -13706,27 +13858,22 @@ declare module 'vue-data-ui' {
13706
13858
  };
13707
13859
  };
13708
13860
 
13709
- export type VueUiStackbarTooltipDatapoint = {
13710
- absoluteIndex: number;
13711
- color: string;
13712
- id: string;
13713
- name: string;
13714
- proportion: number | null;
13715
- timeLabel: { text: string; absoluteIndex: number } | undefined;
13716
- value: number | null;
13717
- };
13861
+ export type VueUiStackbarTooltipDatapoint =
13862
+ VueUiStackbarInteractionDatapoint;
13718
13863
 
13719
13864
  export type VueUiStackbarTooltipSlotProps = {
13720
13865
  config: VueUiStackbarConfig;
13721
13866
  datapoint: VueUiStackbarTooltipDatapoint[];
13722
13867
  series: VueUiStackbarFormattedDatasetItem[];
13723
13868
  seriesIndex: number;
13724
- timeLabel: string;
13869
+ timeLabel: string | null;
13870
+ waterfall: VueUiStackbarWaterfallComputedStep | null;
13725
13871
  };
13726
13872
 
13727
13873
  export type VueUiStackbarLegendItem = {
13728
13874
  absoluteIndex: number;
13729
13875
  color: string;
13876
+ datasetKey?: string; // Stable key for legend groups in waterfall datasets
13730
13877
  id: string;
13731
13878
  isSegregated: boolean;
13732
13879
  name: string;
@@ -13734,7 +13881,7 @@ declare module 'vue-data-ui' {
13734
13881
  segregate: () => void;
13735
13882
  series: number[];
13736
13883
  shape: Shape;
13737
- signedSeries: Array<0 | 1>;
13884
+ signedSeries: Array<-1 | 0 | 1>;
13738
13885
  };
13739
13886
 
13740
13887
  export type VueUiStackbarLegendSlotProps = {
@@ -13752,23 +13899,29 @@ declare module 'vue-data-ui' {
13752
13899
  VueUiStackbarFormattedDatasetItem[];
13753
13900
 
13754
13901
  export type VueUiStackbarEmitSelectDatapoint = {
13755
- datapoint: VueUiStackbarDatapointItem[];
13902
+ datapoint: VueUiStackbarInteractionDatapoint[];
13756
13903
  period: {
13757
13904
  absoluteIndex: number;
13758
13905
  text: string;
13759
13906
  };
13907
+ // Added to waterfall events
13908
+ seriesIndex?: number;
13909
+ waterfall?: VueUiStackbarWaterfallComputedStep;
13760
13910
  };
13761
13911
 
13762
13912
  export type VueUiStackbarEmitSelectTimeLabel = {
13763
- datapoint: VueUiStackbarDatapointItem[];
13913
+ datapoint: VueUiStackbarInteractionDatapoint[];
13764
13914
  absoluteIndex: number;
13765
13915
  label: string;
13916
+ // Added to waterfall category selections
13917
+ waterfall?: VueUiStackbarWaterfallComputedStep;
13766
13918
  };
13767
13919
 
13768
13920
  export type VueUiStackbarEmitSelectX = {
13769
13921
  dataset: VueUiStackbarTooltipDatapoint[] | null;
13770
13922
  index: number | null;
13771
- indexLabel: number | null | undefined;
13923
+ // For waterfall categories this is a string label
13924
+ indexLabel: number | string | null | undefined;
13772
13925
  };
13773
13926
 
13774
13927
  export type VueUiStackbarEmitCopyAlt = {
@@ -13853,7 +14006,7 @@ declare module 'vue-data-ui' {
13853
14006
  standalone: boolean;
13854
14007
  };
13855
14008
 
13856
- export type VueUiStacklineDatasetItem = VueUiStackbarDatasetItem & {
14009
+ export type VueUiStacklineDatasetItem = VueUiStackbarStandardDatasetItem & {
13857
14010
  shape?: Shape;
13858
14011
  standalone?: boolean; // If true, series will not be part of stacked series
13859
14012
  };
@@ -30,6 +30,11 @@ import type {
30
30
  VueUiStackbarEmitCopyAlt,
31
31
  VueUiZoomState,
32
32
  VueUiEmitZoom,
33
+ VueUiStackbarWaterfallKind,
34
+ VueUiStackbarStandardDatasetItem,
35
+ VueUiStackbarDatasetItemWaterfallSeries,
36
+ VueUiStackbarWaterfallSegment,
37
+ VueUiStackbarWaterfallDatasetItem,
33
38
  } from 'vue-data-ui';
34
39
 
35
40
  export type {
@@ -62,6 +67,11 @@ export type {
62
67
  VueUiStackbarEmitCopyAlt,
63
68
  VueUiZoomState,
64
69
  VueUiEmitZoom,
70
+ VueUiStackbarWaterfallKind,
71
+ VueUiStackbarStandardDatasetItem,
72
+ VueUiStackbarDatasetItemWaterfallSeries,
73
+ VueUiStackbarWaterfallSegment,
74
+ VueUiStackbarWaterfallDatasetItem,
65
75
  };
66
76
 
67
77
  declare const VueUiStackbarBase: DefineComponent<
@@ -725,6 +725,88 @@ function e(e = {}) {
725
725
  ...O,
726
726
  position: "bottom"
727
727
  },
728
+ waterfall: {
729
+ bars: {
730
+ gapRatio: .5,
731
+ borderRadius: 0,
732
+ strokeWidth: 1,
733
+ stroke: m,
734
+ gradient: {
735
+ show: !0,
736
+ intensity: 20
737
+ }
738
+ },
739
+ colors: {
740
+ useSeriesColor: !0,
741
+ positive: "#36A783",
742
+ negative: "#E76F51",
743
+ total: "#4C7899",
744
+ subtotal: "#8192B0",
745
+ neutral: "#A3A3A3"
746
+ },
747
+ connectors: {
748
+ show: !0,
749
+ stroke: "#8B8B8B",
750
+ strokeWidth: 1,
751
+ strokeDasharray: "3 3",
752
+ adaptToRadius: !1,
753
+ inset: 0
754
+ },
755
+ categoryLabels: {
756
+ show: !0,
757
+ fontSize: b._14,
758
+ color: t,
759
+ bold: !1,
760
+ rotation: 0,
761
+ offsetY: 0
762
+ },
763
+ segmentLabels: {
764
+ show: !0,
765
+ fontSize: b._14,
766
+ bold: !1,
767
+ color: t,
768
+ adaptColorToBackground: !0,
769
+ minHeight: 14,
770
+ minWidth: 26,
771
+ showZero: !1,
772
+ prefix: "",
773
+ suffix: "",
774
+ rounding: 0,
775
+ formatter: null
776
+ },
777
+ stepLabels: {
778
+ show: !0,
779
+ fontSize: b._14,
780
+ color: t,
781
+ bold: !1,
782
+ prefix: "",
783
+ suffix: "",
784
+ rounding: 0,
785
+ offset: 0,
786
+ showPlusSign: !1,
787
+ showZero: !0,
788
+ useBalanceForTotals: !0,
789
+ formatter: null
790
+ },
791
+ tooltip: {
792
+ showBalance: !0,
793
+ showChange: !0,
794
+ showStart: !1,
795
+ balanceTranslation: "Balance",
796
+ changeTranslation: "Change",
797
+ startTranslation: "Previous balance",
798
+ totalTranslation: "Total",
799
+ subtotalTranslation: "Subtotal",
800
+ rounding: 0
801
+ },
802
+ table: {
803
+ showKind: !0,
804
+ showBalance: !0,
805
+ kindTranslation: "Type",
806
+ balanceTranslation: "Balance",
807
+ changeTranslation: "Change"
808
+ }
809
+ },
728
810
  zoom: {
729
811
  ...L,
730
812
  minimap: R,
@@ -1,4 +1,4 @@
1
- import { C as e, tn as t } from "./lib-TWIH5fGr.js";
1
+ import { C as e, nn as t } from "./lib-D4wK6ljP.js";
2
2
  //#region src/useNestedProp.js
3
3
  function n({ defaultConfig: n, userConfig: r }) {
4
4
  if (!Object.keys(r || {}).length) return n;
@@ -1,4 +1,4 @@
1
- import { t as e } from "./useConfig-DObkR9Aa.js";
1
+ import { t as e } from "./useConfig-D_6ZrPMD.js";
2
2
  import { computed as t, isRef as n, markRaw as r, watchEffect as i } from "vue";
3
3
  //#region src/getVueDataUiConfig.js
4
4
  var a = /* @__PURE__ */ "vue_ui_3d_bar.vue_ui_accordion.vue_ui_age_pyramid.vue_ui_annotator.vue_ui_bullet.vue_ui_bump.vue_ui_candlestick.vue_ui_carousel_table.vue_ui_chestnut.vue_ui_chord.vue_ui_circle_pack.vue_ui_cursor.vue_ui_dag.vue_ui_dashboard.vue_ui_digits.vue_ui_donut.vue_ui_donut_evolution.vue_ui_dumbbell.vue_ui_flow.vue_ui_funnel.vue_ui_galaxy.vue_ui_gauge.vue_ui_geo.vue_ui_gizmo.vue_ui_heatmap.vue_ui_hill.vue_ui_history_plot.vue_ui_horizontal_bar.vue_ui_kpi.vue_ui_label.vue_ui_mini_loader.vue_ui_molecule.vue_ui_mood_radar.vue_ui_nested_donuts.vue_ui_onion.vue_ui_parallel_coordinate_plot.vue_ui_quadrant.vue_ui_quick_chart.vue_ui_radar.vue_ui_rating.vue_ui_relation_circle.vue_ui_ridgeline.vue_ui_rings.vue_ui_scatter.vue_ui_skeleton.vue_ui_smiley.vue_ui_spark_trend.vue_ui_sparkbar.vue_ui_sparkgauge.vue_ui_sparkhistogram.vue_ui_sparkline.vue_ui_sparkstackbar.vue_ui_stackbar.vue_ui_stackline.vue_ui_strip_plot.vue_ui_table.vue_ui_table_heatmap.vue_ui_table_sparkline.vue_ui_thermometer.vue_ui_timer.vue_ui_tiremarks.vue_ui_treemap.vue_ui_vertical_bar.vue_ui_waffle.vue_ui_wheel.vue_ui_word_cloud.vue_ui_world.vue_ui_xy.vue_ui_xy_canvas".split(".");
@@ -48,7 +48,7 @@ var s = Object.fromEntries(Object.entries(/* @__PURE__ */ Object.assign({
48
48
  "./themes/vue_ui_sparkhistogram.json": () => import("./vue_ui_sparkhistogram-BRgvKUH6.js").then((e) => e.n).then((e) => e.default),
49
49
  "./themes/vue_ui_sparkline.json": () => import("./vue_ui_sparkline-b9pEUyGF.js").then((e) => e.n).then((e) => e.default),
50
50
  "./themes/vue_ui_sparkstackbar.json": () => import("./vue_ui_sparkstackbar-BOjuQnZd.js").then((e) => e.n).then((e) => e.default),
51
- "./themes/vue_ui_stackbar.json": () => import("./vue_ui_stackbar-DdjDL6aq.js").then((e) => e.n).then((e) => e.default),
51
+ "./themes/vue_ui_stackbar.json": () => import("./vue_ui_stackbar-yQyvT4Su.js").then((e) => e.n).then((e) => e.default),
52
52
  "./themes/vue_ui_stackline.json": () => import("./vue_ui_stackline-Bh0RuInt.js").then((e) => e.n).then((e) => e.default),
53
53
  "./themes/vue_ui_strip_plot.json": () => import("./vue_ui_strip_plot-BaHbnnwN.js").then((e) => e.n).then((e) => e.default),
54
54
  "./themes/vue_ui_table_heatmap.json": () => import("./vue_ui_table_heatmap-w8vx5k6f.js").then((e) => e.n).then((e) => e.default),
@@ -5,7 +5,7 @@ function t({ elementId: t, fileName: n, canPrint: r = !0, options: i }) {
5
5
  async function c() {
6
6
  r && !a.value && (a.value = !0, clearTimeout(s.value), s.value = setTimeout(async () => {
7
7
  if (r) try {
8
- let { default: e } = await import("./pdf-CLl24Afl.js");
8
+ let { default: e } = await import("./pdf-BzIQHx-F.js");
9
9
  await e({
10
10
  domElement: document.getElementById(t),
11
11
  fileName: n,
@@ -24,7 +24,7 @@ function t({ elementId: t, fileName: n, canPrint: r = !0, options: i }) {
24
24
  async function l() {
25
25
  r && !o.value && (o.value = !0, clearTimeout(s.value), s.value = setTimeout(async () => {
26
26
  if (r) try {
27
- let { default: e } = await import("./img-KURaWjZI.js").then((e) => e.n);
27
+ let { default: e } = await import("./img-Bb5rHcpO.js").then((e) => e.n);
28
28
  await e({
29
29
  domElement: document.getElementById(t),
30
30
  fileName: n,
package/dist/utils.js CHANGED
@@ -1,30 +1,30 @@
1
- import { E as e, P as t, U as n, Z as r, dt as i, mt as a, n as o, pt as s, q as c, r as l, yt as u } from "./lib-TWIH5fGr.js";
2
- import { a as d, i as f, n as p, o as m, r as h, t as g } from "./exposedLib-C-JlvWAt.js";
1
+ import { E as e, P as t, U as n, Z as r, bt as i, ft as a, ht as o, mt as s, n as c, q as l, r as u } from "./lib-D4wK6ljP.js";
2
+ import { a as d, i as f, n as p, o as m, r as h, t as g } from "./exposedLib-UNxZlnAS.js";
3
3
  import { t as _ } from "./patternUtils-CS7hn6at.js";
4
- import { i as v, n as y, r as b, t as x } from "./useObjectBindings-CPmyIJxB.js";
4
+ import { i as v, n as y, r as b, t as x } from "./useObjectBindings-DvasYMGu.js";
5
5
  //#region src/entries/utils.js
6
6
  var S = {
7
7
  applyDataCorrection: y,
8
8
  getVueDataUiConfig: v,
9
9
  getThemeConfig: b,
10
- abbreviate: o,
10
+ abbreviate: c,
11
11
  createPatternDef: _,
12
12
  createSmoothPath: t,
13
13
  createStraightPath: n,
14
- createTSpans: c,
14
+ createTSpans: l,
15
15
  createWordCloudDatasetFromPlainText: r,
16
- formatSmallValue: i,
16
+ formatSmallValue: a,
17
17
  getCumulativeAverage: s,
18
- getCumulativeMedian: a,
19
- getPalette: u,
18
+ getCumulativeMedian: o,
19
+ getPalette: i,
20
20
  lightenColor: h,
21
21
  darkenColor: p,
22
22
  shiftColorHue: m,
23
23
  mergeConfigs: d,
24
24
  useObjectBindings: x,
25
- adaptColorToBackground: l,
25
+ adaptColorToBackground: u,
26
26
  average: g,
27
27
  median: f
28
28
  };
29
29
  //#endregion
30
- export { o as abbreviate, l as adaptColorToBackground, y as applyDataCorrection, g as average, e as createColorWheel, _ as createPatternDef, t as createSmoothPath, n as createStraightPath, c as createTSpans, r as createWordCloudDatasetFromPlainText, p as darkenColor, S as default, i as formatSmallValue, s as getCumulativeAverage, a as getCumulativeMedian, u as getPalette, b as getThemeConfig, v as getVueDataUiConfig, h as lightenColor, f as median, d as mergeConfigs, m as shiftColorHue, x as useObjectBindings };
30
+ export { c as abbreviate, u as adaptColorToBackground, y as applyDataCorrection, g as average, e as createColorWheel, _ as createPatternDef, t as createSmoothPath, n as createStraightPath, l as createTSpans, r as createWordCloudDatasetFromPlainText, p as darkenColor, S as default, a as formatSmallValue, s as getCumulativeAverage, o as getCumulativeMedian, i as getPalette, b as getThemeConfig, v as getVueDataUiConfig, h as lightenColor, f as median, d as mergeConfigs, m as shiftColorHue, x as useObjectBindings };