vue-data-ui 3.0.0-next.1 → 3.0.0-next.10

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 (97) hide show
  1. package/README.md +17 -2
  2. package/dist/{Arrow-BKKETqRi.js → Arrow-8Wnel_lw.js} +1 -1
  3. package/dist/{BaseDraggableDialog-Duz4Bd3A.js → BaseDraggableDialog-D-IcFGSE.js} +2 -2
  4. package/dist/{BaseIcon-BAHAKjob.js → BaseIcon-RLse0qy8.js} +1 -1
  5. package/dist/{ColorPicker-oPTO1J9Q.js → ColorPicker-D9dpnizT.js} +2 -2
  6. package/dist/{DataTable-vByThHdN.js → DataTable-IzCJ9gby.js} +2 -2
  7. package/dist/{Legend-CIElSUHU.js → Legend-SfJ53F5x.js} +19 -18
  8. package/dist/{NonSvgPenAndPaper-CsY6Bf4e.js → NonSvgPenAndPaper-3oZlBiCt.js} +3 -3
  9. package/dist/{PackageVersion-B0wGS6pw.js → PackageVersion-u8Hc4rJi.js} +1 -1
  10. package/dist/{PenAndPaper-7o0xS-d4.js → PenAndPaper-6iArlmj7.js} +3 -3
  11. package/dist/{Shape-Blrp5ZfP.js → Shape-vSWSsIaU.js} +1 -1
  12. package/dist/{Slicer-CcM8hzCn.js → Slicer-CPMTQDCj.js} +2 -2
  13. package/dist/{SparkTooltip-iaouYun8.js → SparkTooltip-sazd7MmK.js} +1 -1
  14. package/dist/{Title-CWxjC3bE.js → Title-CTsOHFNh.js} +1 -1
  15. package/dist/Tooltip-4cn1szzA.js +157 -0
  16. package/dist/{UserOptions-BEBaPSlU.js → UserOptions-X9Ckvwp-.js} +2 -2
  17. package/dist/{dom-to-png-CrAOuxmd.js → dom-to-png-C3BKllTG.js} +1 -1
  18. package/dist/{img-D3JvqNF8.js → img-D9CjuW6g.js} +1 -1
  19. package/dist/{index-BSa4GlHG.js → index-DBSLpcPM.js} +1486 -1419
  20. package/dist/{pdf-DROWzopj.js → pdf-V4tIjxUb.js} +1 -1
  21. package/dist/style.css +1 -1
  22. package/dist/types/vue-data-ui.d.cts +81 -57
  23. package/dist/types/vue-data-ui.d.ts +81 -57
  24. package/dist/useLoading-Bt5Doa8m.js +28 -0
  25. package/dist/{useNestedProp-uR74_CFG.js → useNestedProp-BQFkJRtL.js} +1 -1
  26. package/dist/{usePrinter-j3g1L2nh.js → usePrinter-CjyE7ii3.js} +2 -2
  27. package/dist/{useTimeLabels-Mrr0jrpL.js → useTimeLabels-DG97x2hL.js} +139 -132
  28. package/dist/{vue-data-ui-BzMRz9Un.js → vue-data-ui-BgN2CPSV.js} +80 -74
  29. package/dist/vue-data-ui.js +53 -52
  30. package/dist/{vue-ui-3d-bar-BAOGEe-m.js → vue-ui-3d-bar-DlnRLAbw.js} +6 -6
  31. package/dist/{vue-ui-accordion-DzF-SPaZ.js → vue-ui-accordion-yWXqkLfQ.js} +3 -3
  32. package/dist/{vue-ui-age-pyramid-BRdQ44O4.js → vue-ui-age-pyramid-C_4kFlWe.js} +6 -6
  33. package/dist/{vue-ui-annotator-mjIKrhYa.js → vue-ui-annotator-DVXA74Er.js} +2 -2
  34. package/dist/{vue-ui-bullet-CLYmLvSB.js → vue-ui-bullet-DoxSEGR4.js} +7 -7
  35. package/dist/{vue-ui-candlestick-BFLmoEEN.js → vue-ui-candlestick-Bke-ZK92.js} +8 -8
  36. package/dist/{vue-ui-carousel-table-V89TMa5p.js → vue-ui-carousel-table-CqRuHaU6.js} +4 -4
  37. package/dist/{vue-ui-chestnut-C7eNjkFo.js → vue-ui-chestnut-BYIowBXd.js} +6 -6
  38. package/dist/{vue-ui-chord-BuYDLE7K.js → vue-ui-chord-DyA4jvyD.js} +8 -8
  39. package/dist/{vue-ui-circle-pack-CCMbsOpk.js → vue-ui-circle-pack-BVT22rGO.js} +26 -26
  40. package/dist/{vue-ui-cursor-BrKIImfp.js → vue-ui-cursor-B3RyMKwx.js} +2 -2
  41. package/dist/{vue-ui-dashboard-WMKjx3iE.js → vue-ui-dashboard-Cgqpnpao.js} +62 -62
  42. package/dist/{vue-ui-digits-BoYPIuXn.js → vue-ui-digits-Db9yuqjo.js} +2 -2
  43. package/dist/vue-ui-donut-CdsBUcPD.js +1547 -0
  44. package/dist/{vue-ui-donut-evolution-DSG8NUG0.js → vue-ui-donut-evolution-D5eUZJuU.js} +9 -9
  45. package/dist/{vue-ui-dumbbell-BMveoLd_.js → vue-ui-dumbbell-CWgs8sB6.js} +7 -7
  46. package/dist/{vue-ui-flow-Dnsik-8f.js → vue-ui-flow-CL5jxEBp.js} +7 -7
  47. package/dist/{vue-ui-funnel-CQ0nHCvy.js → vue-ui-funnel-DT9BzBp3.js} +6 -6
  48. package/dist/{vue-ui-galaxy-D5L31IXm.js → vue-ui-galaxy-hwr5J-b7.js} +5 -5
  49. package/dist/{vue-ui-gauge-BnuDe4Wj.js → vue-ui-gauge-D_fnRyKs.js} +6 -6
  50. package/dist/{vue-ui-gizmo-DYYw-JEs.js → vue-ui-gizmo-CLni95HP.js} +3 -3
  51. package/dist/{vue-ui-heatmap-9KJYiKzE.js → vue-ui-heatmap-Bd8qoV2F.js} +7 -7
  52. package/dist/{vue-ui-history-plot-QOaVWh5L.js → vue-ui-history-plot-BJvaJkPO.js} +7 -7
  53. package/dist/{vue-ui-kpi-EtTBwHGS.js → vue-ui-kpi-B7uO6vRA.js} +3 -3
  54. package/dist/{vue-ui-mini-loader-CRnUCpsm.js → vue-ui-mini-loader-CTDfGO91.js} +2 -2
  55. package/dist/{vue-ui-molecule-Bfk3Vhbi.js → vue-ui-molecule-BSE6LaGt.js} +5 -5
  56. package/dist/{vue-ui-mood-radar-BfRkWvgp.js → vue-ui-mood-radar-CN24P-Tk.js} +7 -7
  57. package/dist/{vue-ui-nested-donuts-Ck9Zm1UU.js → vue-ui-nested-donuts-CWL3uP-u.js} +497 -462
  58. package/dist/{vue-ui-onion-DF7Z21x-.js → vue-ui-onion-Bib32nel.js} +7 -7
  59. package/dist/{vue-ui-parallel-coordinate-plot-JVogg7k5.js → vue-ui-parallel-coordinate-plot-l0O-i93L.js} +8 -8
  60. package/dist/{vue-ui-quadrant-DpFjMZoK.js → vue-ui-quadrant-D0pzeobL.js} +8 -8
  61. package/dist/{vue-ui-quick-chart-NfXEFkoL.js → vue-ui-quick-chart-CaLIrn96.js} +7 -7
  62. package/dist/{vue-ui-radar-Dg8UovnR.js → vue-ui-radar-DXJ1WS7s.js} +7 -7
  63. package/dist/{vue-ui-rating-D3cpdLRt.js → vue-ui-rating-C6qqU59J.js} +2 -2
  64. package/dist/{vue-ui-relation-circle-BZTTPLCi.js → vue-ui-relation-circle-SpPQ2WhH.js} +6 -6
  65. package/dist/{vue-ui-ridgeline-CtY_J3hk.js → vue-ui-ridgeline-BMsbiTjU.js} +9 -9
  66. package/dist/{vue-ui-rings-BiA-bRgU.js → vue-ui-rings-ES4LhrT0.js} +8 -8
  67. package/dist/{vue-ui-scatter-C3sCChYD.js → vue-ui-scatter-yV6nLFs6.js} +8 -8
  68. package/dist/{vue-ui-skeleton-DY48gQ96.js → vue-ui-skeleton-7gkY0oe-.js} +3 -3
  69. package/dist/{vue-ui-smiley-DopwmgcY.js → vue-ui-smiley-CYLqgGm1.js} +2 -2
  70. package/dist/{vue-ui-spark-trend-DO7P-2x8.js → vue-ui-spark-trend-kQ3dsaGO.js} +3 -3
  71. package/dist/{vue-ui-sparkbar-mqLbTvAg.js → vue-ui-sparkbar-Bfe8SMeM.js} +3 -3
  72. package/dist/{vue-ui-sparkgauge-CdfZYUAZ.js → vue-ui-sparkgauge-Dxts3pPS.js} +3 -3
  73. package/dist/{vue-ui-sparkhistogram-DAy--kFA.js → vue-ui-sparkhistogram-CC6-gQ2R.js} +4 -4
  74. package/dist/{vue-ui-sparkline-KkG0FnmI.js → vue-ui-sparkline-Ba6FPyOS.js} +3 -3
  75. package/dist/{vue-ui-sparkstackbar-LDRannBB.js → vue-ui-sparkstackbar-CQr6s7Ij.js} +3 -3
  76. package/dist/{vue-ui-stackbar-Bys4yWs_.js → vue-ui-stackbar-cJAK-x5g.js} +10 -10
  77. package/dist/{vue-ui-strip-plot-DUBqioS2.js → vue-ui-strip-plot-DyU5K6-X.js} +7 -7
  78. package/dist/{vue-ui-table-CPWgP-71.js → vue-ui-table-B_KeSP8f.js} +3 -3
  79. package/dist/{vue-ui-table-heatmap-DfrMVDEE.js → vue-ui-table-heatmap-CzGGjLl6.js} +5 -5
  80. package/dist/{vue-ui-table-sparkline-CNC7Lp0t.js → vue-ui-table-sparkline-BoW1Y5Hh.js} +4 -4
  81. package/dist/{vue-ui-thermometer-Bby5nWIi.js → vue-ui-thermometer-ROH_nY6z.js} +6 -6
  82. package/dist/{vue-ui-timer-ym9etXUy.js → vue-ui-timer-DmgpfYIT.js} +5 -5
  83. package/dist/{vue-ui-tiremarks-C0V_XedF.js → vue-ui-tiremarks-CkmD6BQB.js} +6 -6
  84. package/dist/{vue-ui-treemap-B5k0NEO3.js → vue-ui-treemap-BOxeG-ql.js} +8 -8
  85. package/dist/vue-ui-vertical-bar-BoKi7wHJ.js +1106 -0
  86. package/dist/{vue-ui-waffle-DrEQsTIO.js → vue-ui-waffle-BIM_Qg3a.js} +8 -8
  87. package/dist/{vue-ui-wheel-BOTBLBOr.js → vue-ui-wheel-CGZgFZax.js} +6 -6
  88. package/dist/{vue-ui-word-cloud-Btay9XOs.js → vue-ui-word-cloud-Dt-X1dFo.js} +6 -6
  89. package/dist/{vue-ui-world-zBvIXrWH.js → vue-ui-world-BrPqffT7.js} +6 -6
  90. package/dist/vue-ui-xy-CYko0Jmo.js +2982 -0
  91. package/dist/{vue-ui-xy-canvas-CDjYeEkq.js → vue-ui-xy-canvas-DVRWryRe.js} +9 -9
  92. package/package.json +2 -2
  93. package/dist/Tooltip-Cq9HywcX.js +0 -149
  94. package/dist/useMouse-AicQS8Vf.js +0 -13
  95. package/dist/vue-ui-donut-DJVqqXEb.js +0 -1338
  96. package/dist/vue-ui-vertical-bar-DRmHFEMu.js +0 -974
  97. package/dist/vue-ui-xy-C7uPPKm9.js +0 -3149
@@ -39,6 +39,7 @@ declare module "vue-data-ui" {
39
39
  | VueUiThermometerDataset
40
40
  | VueUiTiremarksDataset
41
41
  | VueUiVerticalBarDatasetItem[]
42
+ | VueUiHorizontalBarDatasetItem[]
42
43
  | VueUiWaffleDatasetItem[]
43
44
  | VueUiWheelDataset
44
45
  | VueUiXyDatasetItem[]
@@ -95,6 +96,7 @@ declare module "vue-data-ui" {
95
96
  | VueUiThermometerConfig
96
97
  | VueUiTiremarksConfig
97
98
  | VueUiVerticalBarConfig
99
+ | VueUiHorizontalBarConfig
98
100
  | VueUiWaffleConfig
99
101
  | VueUiWheelConfig
100
102
  | VueUiXyConfig
@@ -2952,7 +2954,10 @@ declare module "vue-data-ui" {
2952
2954
  }
2953
2955
 
2954
2956
  export type VueUiXyConfig = {
2957
+ debug?: boolean;
2955
2958
  responsive?: boolean;
2959
+ autoSize?: boolean; // v3 opt-in
2960
+ loading?: boolean; // v3
2956
2961
  responsiveProportionalSizing?: boolean;
2957
2962
  theme?: Theme;
2958
2963
  customPalette?: string[];
@@ -3288,13 +3293,24 @@ declare module "vue-data-ui" {
3288
3293
  VueUiXyExpose
3289
3294
  >;
3290
3295
 
3296
+ export type VueUiDonutEvent = null | (({datapoint, seriesIndex }: { datapoint: VueUiDonutDatapoint; seriesIndex: number }) => void);
3297
+
3291
3298
  export type VueUiDonutConfig = {
3299
+ debug?: boolean;
3292
3300
  type?: "classic" | "polar";
3301
+ loading?: boolean;
3302
+ pie?: boolean;
3303
+ autoSize?: boolean;
3293
3304
  responsive?: boolean;
3294
3305
  theme?: Theme;
3295
3306
  customPalette?: string[];
3296
3307
  useBlurOnHover?: boolean;
3297
3308
  useCssAnimation?: boolean;
3309
+ events?: {
3310
+ datapointEnter?: VueUiDonutEvent;
3311
+ datapointLeave?: VueUiDonutEvent;
3312
+ datapointClick?: VueUiDonutEvent;
3313
+ };
3298
3314
  serieToggleAnimation?: {
3299
3315
  show?: boolean;
3300
3316
  durationMs?: number;
@@ -3333,6 +3349,7 @@ declare module "vue-data-ui" {
3333
3349
  color?: string;
3334
3350
  bold?: boolean;
3335
3351
  fontSize?: number;
3352
+ minFontSize?: number;
3336
3353
  rounding?: number;
3337
3354
  formatter?: Formatter;
3338
3355
  };
@@ -3340,6 +3357,7 @@ declare module "vue-data-ui" {
3340
3357
  color?: string;
3341
3358
  bold?: boolean;
3342
3359
  fontSize?: number;
3360
+ minFontSize?: number;
3343
3361
  };
3344
3362
  hollow?: {
3345
3363
  show?: boolean;
@@ -3387,6 +3405,9 @@ declare module "vue-data-ui" {
3387
3405
  useShadow?: boolean;
3388
3406
  shadowColor?: string;
3389
3407
  emptyFill?: string;
3408
+ selectedColor?: string;
3409
+ borderColorAuto?: boolean;
3410
+ borderColor?: string;
3390
3411
  };
3391
3412
  };
3392
3413
  comments?: ChartComments;
@@ -3499,6 +3520,9 @@ declare module "vue-data-ui" {
3499
3520
  };
3500
3521
 
3501
3522
  export type VueUiNestedDonutsConfig = {
3523
+ debug?: boolean; // v3
3524
+ loading?: boolean; // v3
3525
+ autoSize?: boolean; // v3
3502
3526
  responsive?: boolean;
3503
3527
  theme?: Theme;
3504
3528
  customPalette?: string[];
@@ -3544,6 +3568,7 @@ declare module "vue-data-ui" {
3544
3568
  useSerieColor?: boolean;
3545
3569
  showDonutName?: boolean;
3546
3570
  boldDonutName?: boolean;
3571
+ curvedDonutName?: boolean;
3547
3572
  donutNameAbbreviation?: boolean;
3548
3573
  donutNameOffsetY?: number;
3549
3574
  donutNameMaxAbbreviationSize?: number;
@@ -3557,6 +3582,9 @@ declare module "vue-data-ui" {
3557
3582
  useShadow?: boolean;
3558
3583
  shadowColor?: string;
3559
3584
  emptyFill?: string;
3585
+ selectedColor?: string;
3586
+ borderColorAuto?: boolean;
3587
+ borderColor?: string;
3560
3588
  };
3561
3589
  };
3562
3590
  legend?: ChartBaseLegend & {
@@ -4680,18 +4708,34 @@ declare module "vue-data-ui" {
4680
4708
  value: number;
4681
4709
  };
4682
4710
 
4711
+ export type VueUiHorizontalBarDatasetChild = VueUiVerticalBarDatasetChild; // v3 renaming
4712
+
4683
4713
  export type VueUiVerticalBarDatasetItem = {
4684
4714
  name: string;
4685
4715
  value: number;
4686
4716
  color?: string;
4687
- children?: VueUiVerticalBarDatasetChild[];
4717
+ children?: VueUiVerticalBarDatasetChild[] | VueUiHorizontalBarDatasetChild[];
4688
4718
  };
4689
4719
 
4720
+ export type VueUiHorizontalBarDatasetItem = VueUiVerticalBarDatasetItem // v3 renaming
4721
+
4722
+ export type VueUiVerticalBarEvent = null | (({ datapoint, seriesIndex }: { datapoint: VueUiVerticalBarDatapoint | VueUiHorizontalBarDatapoint; seriesIndex: number }) => void);
4723
+
4724
+ export type VueUiHorizontalBarEvent = VueUiVerticalBarEvent; // v3 renaming
4725
+
4690
4726
  export type VueUiVerticalBarConfig = {
4727
+ debug?: boolean;
4728
+ loading?: boolean;
4729
+ autoSize?: boolean;
4691
4730
  responsive?: boolean;
4692
4731
  theme?: Theme;
4693
4732
  customPalette?: string[];
4694
4733
  useCssAnimation?: boolean;
4734
+ events?: {
4735
+ datapointEnter?: VueUiVerticalBarEvent | VueUiHorizontalBarEvent;
4736
+ datapointLeave?: VueUiVerticalBarEvent | VueUiHorizontalBarEvent;
4737
+ datapointClick?: VueUiVerticalBarEvent | VueUiHorizontalBarEvent;
4738
+ };
4695
4739
  style?: {
4696
4740
  fontFamily?: string;
4697
4741
  chart?: {
@@ -4751,6 +4795,7 @@ declare module "vue-data-ui" {
4751
4795
  show?: boolean;
4752
4796
  color?: string;
4753
4797
  strokeWidth?: number;
4798
+ fullWidth?: boolean;
4754
4799
  };
4755
4800
  };
4756
4801
  title?: ChartTitle;
@@ -4773,9 +4818,9 @@ declare module "vue-data-ui" {
4773
4818
  | null
4774
4819
  | ((
4775
4820
  params: VueUiTooltipParams<
4776
- VueUiVerticalBarDatapoint,
4777
- VueUiVerticalBarSerie[],
4778
- VueUiVerticalBarConfig
4821
+ VueUiVerticalBarDatapoint | VueUiHorizontalBarDatapoint,
4822
+ VueUiVerticalBarSerie[] | VueUiHorizontalBarSerie[],
4823
+ VueUiVerticalBarConfig | VueUiHorizontalBarConfig
4779
4824
  >
4780
4825
  ) => string);
4781
4826
  };
@@ -4802,6 +4847,8 @@ declare module "vue-data-ui" {
4802
4847
  };
4803
4848
  };
4804
4849
 
4850
+ export type VueUiHorizontalBarConfig = VueUiVerticalBarConfig; // v3 renaming;
4851
+
4805
4852
  export type VueUiVerticalBarDatapoint = {
4806
4853
  children?: Array<any>;
4807
4854
  childIndex?: number;
@@ -4818,8 +4865,10 @@ declare module "vue-data-ui" {
4818
4865
  value: number;
4819
4866
  };
4820
4867
 
4868
+ export type VueUiHorizontalBarDatapoint = VueUiVerticalBarDatapoint; // v3 renaming
4869
+
4821
4870
  export type VueUiVerticalBarSerie = {
4822
- children: VueUiVerticalBarDatapoint[];
4871
+ children: VueUiVerticalBarDatapoint[] | VueUiHorizontalBarDatapoint[];
4823
4872
  color: string;
4824
4873
  hasChildren: boolean;
4825
4874
  is: string;
@@ -4830,8 +4879,10 @@ declare module "vue-data-ui" {
4830
4879
  value: number;
4831
4880
  };
4832
4881
 
4882
+ export type VueUiHorizontalBarSerie = VueUiVerticalBarSerie; // v3 renaming
4883
+
4833
4884
  export type VueUiVerticalBarExpose = {
4834
- getData(): Promise<Array<VueUiVerticalBarDatasetItem & Record<string, any>>>
4885
+ getData(): Promise<Array<VueUiVerticalBarDatasetItem & Record<string, any>>> | Promise<Array<VueUiHorizontalBarDatasetItem & Record<string, any>>>
4835
4886
  getImage(options?: { scale?: number }): GetImagePromise
4836
4887
  recalculateHeight(): void,
4837
4888
  generateCsv(): void
@@ -4844,6 +4895,8 @@ declare module "vue-data-ui" {
4844
4895
  toggleFullscreen(): void
4845
4896
  }
4846
4897
 
4898
+ export type VueUiHorizontalBarExpose = VueUiVerticalBarExpose; // v3 renaming
4899
+
4847
4900
  export const VueUiVerticalBar: DefineComponent<
4848
4901
  {
4849
4902
  config?: VueUiVerticalBarConfig;
@@ -4852,6 +4905,17 @@ declare module "vue-data-ui" {
4852
4905
  VueUiVerticalBarExpose
4853
4906
  >;
4854
4907
 
4908
+ /**
4909
+ * Renamed from the v2 VueUiVerticalBar
4910
+ */
4911
+ export const VueUiHorizontalBar: DefineComponent<
4912
+ {
4913
+ config?: VueUiHorizontalBarConfig;
4914
+ dataset: VueUiHorizontalBarDatasetItem[];
4915
+ },
4916
+ VueUiHorizontalBarExpose
4917
+ >;
4918
+
4855
4919
  export type VueUiSparklineDatasetItem = {
4856
4920
  period: string;
4857
4921
  value: number;
@@ -8076,6 +8140,7 @@ declare module "vue-data-ui" {
8076
8140
  | VueUiThermometerConfig
8077
8141
  | VueUiTiremarksConfig
8078
8142
  | VueUiVerticalBarConfig
8143
+ | VueUiHorizontalBarConfig
8079
8144
  | VueUiWaffleConfig
8080
8145
  | VueUiWheelConfig
8081
8146
  | VueUiXyConfig
@@ -8139,6 +8204,7 @@ declare module "vue-data-ui" {
8139
8204
  | "vue_ui_thermometer"
8140
8205
  | "vue_ui_tiremarks"
8141
8206
  | "vue_ui_vertical_bar"
8207
+ | "vue_ui_horizontal_bar"
8142
8208
  | "vue_ui_waffle"
8143
8209
  | "vue_ui_wheel"
8144
8210
  | "vue_ui_xy"
@@ -8501,60 +8567,15 @@ declare module "vue-data-ui" {
8501
8567
  y
8502
8568
  }: CreateTSpansArgs) => string;
8503
8569
 
8504
- export type UseObjectBindingsOptions = {
8505
- /** Delimiter to join object‑path segments */
8506
- delimiter?: string;
8507
- /** If true, array indices will not be traversed */
8508
- skipArrays?: boolean;
8509
- };
8510
-
8511
- /**
8512
- * Recursively build a union of dot‑delimited paths for an object type,
8513
- * but skip arrays (we don’t traverse them by default at runtime).
8514
- */
8515
- type Paths<T> = T extends object
8516
- ? T extends any[]
8517
- ? never
8518
- : {
8519
- [K in Extract<keyof T, string>]:
8520
- // if the property is itself an object, recurse
8521
- T[K] extends object
8522
- ? `${K}` | `${K}.${Paths<T[K]>}`
8523
- : `${K}`;
8524
- }[Extract<keyof T, string>]
8525
- : never;
8526
-
8527
- /**
8528
- * Given an object type `T` and one of its path strings `P`,
8529
- * resolve the type at that path.
8530
- */
8531
- type PathValue<T, P extends string> =
8532
- P extends `${infer K}.${infer Rest}`
8533
- ? K extends keyof T
8534
- ? PathValue<T[K], Rest>
8535
- : never
8536
- : P extends keyof T
8537
- ? T[P]
8538
- : never;
8539
-
8540
- /**
8541
- * A fully‑typed bindings record: for each valid path `P` in `T`,
8542
- * `ComputedRef` of the exact `PathValue<T,P>`.
8543
- */
8544
- export type TypedBindings<T extends object> = {
8545
- [P in Paths<T>]: WritableComputedRef<PathValue<T, P>>;
8546
- };
8547
-
8548
8570
  /**
8549
8571
  * Vue Data UI composable
8550
8572
  * ---
8551
8573
  * Flattens a reactive config object into computed refs for every leaf property.
8552
8574
  *
8553
8575
  * @template T extends object
8554
- * @param configRef A Vue `Ref<T>` holding your object.
8576
+ * @param configRef A Vue `Ref` holding your object.
8555
8577
  * @param options Optional settings: `delimiter` (default `"."`) and `skipArrays` (default `true`).
8556
- * @returns A `TypedBindings<T>` whose keys are every “leaf” path in `T`
8557
- * and whose values are `WritableComputedRef` of the exact property type.
8578
+ * @returns An object with flatten config as refs
8558
8579
  *
8559
8580
  * ___
8560
8581
  * @example
@@ -8584,8 +8605,11 @@ declare module "vue-data-ui" {
8584
8605
  * </template>
8585
8606
  * ```
8586
8607
  */
8587
- export function useObjectBindings<T extends object>(
8588
- configRef: Ref<T>,
8589
- options?: UseObjectBindingsOptions
8590
- ): TypedBindings<T>;
8608
+ export function useObjectBindings(
8609
+ configRef: Ref<Record<string, any>>,
8610
+ options?: {
8611
+ delimiter?: string
8612
+ skipArrays?: boolean
8613
+ }
8614
+ ): Record<string, Ref<any>>;
8591
8615
  }
@@ -39,6 +39,7 @@ declare module "vue-data-ui" {
39
39
  | VueUiThermometerDataset
40
40
  | VueUiTiremarksDataset
41
41
  | VueUiVerticalBarDatasetItem[]
42
+ | VueUiHorizontalBarDatasetItem[]
42
43
  | VueUiWaffleDatasetItem[]
43
44
  | VueUiWheelDataset
44
45
  | VueUiXyDatasetItem[]
@@ -95,6 +96,7 @@ declare module "vue-data-ui" {
95
96
  | VueUiThermometerConfig
96
97
  | VueUiTiremarksConfig
97
98
  | VueUiVerticalBarConfig
99
+ | VueUiHorizontalBarConfig
98
100
  | VueUiWaffleConfig
99
101
  | VueUiWheelConfig
100
102
  | VueUiXyConfig
@@ -2952,7 +2954,10 @@ declare module "vue-data-ui" {
2952
2954
  }
2953
2955
 
2954
2956
  export type VueUiXyConfig = {
2957
+ debug?: boolean;
2955
2958
  responsive?: boolean;
2959
+ autoSize?: boolean; // v3 opt-in
2960
+ loading?: boolean; // v3
2956
2961
  responsiveProportionalSizing?: boolean;
2957
2962
  theme?: Theme;
2958
2963
  customPalette?: string[];
@@ -3288,13 +3293,24 @@ declare module "vue-data-ui" {
3288
3293
  VueUiXyExpose
3289
3294
  >;
3290
3295
 
3296
+ export type VueUiDonutEvent = null | (({datapoint, seriesIndex }: { datapoint: VueUiDonutDatapoint; seriesIndex: number }) => void);
3297
+
3291
3298
  export type VueUiDonutConfig = {
3299
+ debug?: boolean;
3292
3300
  type?: "classic" | "polar";
3301
+ loading?: boolean;
3302
+ pie?: boolean;
3303
+ autoSize?: boolean;
3293
3304
  responsive?: boolean;
3294
3305
  theme?: Theme;
3295
3306
  customPalette?: string[];
3296
3307
  useBlurOnHover?: boolean;
3297
3308
  useCssAnimation?: boolean;
3309
+ events?: {
3310
+ datapointEnter?: VueUiDonutEvent;
3311
+ datapointLeave?: VueUiDonutEvent;
3312
+ datapointClick?: VueUiDonutEvent;
3313
+ };
3298
3314
  serieToggleAnimation?: {
3299
3315
  show?: boolean;
3300
3316
  durationMs?: number;
@@ -3333,6 +3349,7 @@ declare module "vue-data-ui" {
3333
3349
  color?: string;
3334
3350
  bold?: boolean;
3335
3351
  fontSize?: number;
3352
+ minFontSize?: number;
3336
3353
  rounding?: number;
3337
3354
  formatter?: Formatter;
3338
3355
  };
@@ -3340,6 +3357,7 @@ declare module "vue-data-ui" {
3340
3357
  color?: string;
3341
3358
  bold?: boolean;
3342
3359
  fontSize?: number;
3360
+ minFontSize?: number;
3343
3361
  };
3344
3362
  hollow?: {
3345
3363
  show?: boolean;
@@ -3387,6 +3405,9 @@ declare module "vue-data-ui" {
3387
3405
  useShadow?: boolean;
3388
3406
  shadowColor?: string;
3389
3407
  emptyFill?: string;
3408
+ selectedColor?: string;
3409
+ borderColorAuto?: boolean;
3410
+ borderColor?: string;
3390
3411
  };
3391
3412
  };
3392
3413
  comments?: ChartComments;
@@ -3499,6 +3520,9 @@ declare module "vue-data-ui" {
3499
3520
  };
3500
3521
 
3501
3522
  export type VueUiNestedDonutsConfig = {
3523
+ debug?: boolean; // v3
3524
+ loading?: boolean; // v3
3525
+ autoSize?: boolean; // v3
3502
3526
  responsive?: boolean;
3503
3527
  theme?: Theme;
3504
3528
  customPalette?: string[];
@@ -3544,6 +3568,7 @@ declare module "vue-data-ui" {
3544
3568
  useSerieColor?: boolean;
3545
3569
  showDonutName?: boolean;
3546
3570
  boldDonutName?: boolean;
3571
+ curvedDonutName?: boolean;
3547
3572
  donutNameAbbreviation?: boolean;
3548
3573
  donutNameOffsetY?: number;
3549
3574
  donutNameMaxAbbreviationSize?: number;
@@ -3557,6 +3582,9 @@ declare module "vue-data-ui" {
3557
3582
  useShadow?: boolean;
3558
3583
  shadowColor?: string;
3559
3584
  emptyFill?: string;
3585
+ selectedColor?: string;
3586
+ borderColorAuto?: boolean;
3587
+ borderColor?: string;
3560
3588
  };
3561
3589
  };
3562
3590
  legend?: ChartBaseLegend & {
@@ -4680,18 +4708,34 @@ declare module "vue-data-ui" {
4680
4708
  value: number;
4681
4709
  };
4682
4710
 
4711
+ export type VueUiHorizontalBarDatasetChild = VueUiVerticalBarDatasetChild; // v3 renaming
4712
+
4683
4713
  export type VueUiVerticalBarDatasetItem = {
4684
4714
  name: string;
4685
4715
  value: number;
4686
4716
  color?: string;
4687
- children?: VueUiVerticalBarDatasetChild[];
4717
+ children?: VueUiVerticalBarDatasetChild[] | VueUiHorizontalBarDatasetChild[];
4688
4718
  };
4689
4719
 
4720
+ export type VueUiHorizontalBarDatasetItem = VueUiVerticalBarDatasetItem // v3 renaming
4721
+
4722
+ export type VueUiVerticalBarEvent = null | (({ datapoint, seriesIndex }: { datapoint: VueUiVerticalBarDatapoint | VueUiHorizontalBarDatapoint; seriesIndex: number }) => void);
4723
+
4724
+ export type VueUiHorizontalBarEvent = VueUiVerticalBarEvent; // v3 renaming
4725
+
4690
4726
  export type VueUiVerticalBarConfig = {
4727
+ debug?: boolean;
4728
+ loading?: boolean;
4729
+ autoSize?: boolean;
4691
4730
  responsive?: boolean;
4692
4731
  theme?: Theme;
4693
4732
  customPalette?: string[];
4694
4733
  useCssAnimation?: boolean;
4734
+ events?: {
4735
+ datapointEnter?: VueUiVerticalBarEvent | VueUiHorizontalBarEvent;
4736
+ datapointLeave?: VueUiVerticalBarEvent | VueUiHorizontalBarEvent;
4737
+ datapointClick?: VueUiVerticalBarEvent | VueUiHorizontalBarEvent;
4738
+ };
4695
4739
  style?: {
4696
4740
  fontFamily?: string;
4697
4741
  chart?: {
@@ -4751,6 +4795,7 @@ declare module "vue-data-ui" {
4751
4795
  show?: boolean;
4752
4796
  color?: string;
4753
4797
  strokeWidth?: number;
4798
+ fullWidth?: boolean;
4754
4799
  };
4755
4800
  };
4756
4801
  title?: ChartTitle;
@@ -4773,9 +4818,9 @@ declare module "vue-data-ui" {
4773
4818
  | null
4774
4819
  | ((
4775
4820
  params: VueUiTooltipParams<
4776
- VueUiVerticalBarDatapoint,
4777
- VueUiVerticalBarSerie[],
4778
- VueUiVerticalBarConfig
4821
+ VueUiVerticalBarDatapoint | VueUiHorizontalBarDatapoint,
4822
+ VueUiVerticalBarSerie[] | VueUiHorizontalBarSerie[],
4823
+ VueUiVerticalBarConfig | VueUiHorizontalBarConfig
4779
4824
  >
4780
4825
  ) => string);
4781
4826
  };
@@ -4802,6 +4847,8 @@ declare module "vue-data-ui" {
4802
4847
  };
4803
4848
  };
4804
4849
 
4850
+ export type VueUiHorizontalBarConfig = VueUiVerticalBarConfig; // v3 renaming;
4851
+
4805
4852
  export type VueUiVerticalBarDatapoint = {
4806
4853
  children?: Array<any>;
4807
4854
  childIndex?: number;
@@ -4818,8 +4865,10 @@ declare module "vue-data-ui" {
4818
4865
  value: number;
4819
4866
  };
4820
4867
 
4868
+ export type VueUiHorizontalBarDatapoint = VueUiVerticalBarDatapoint; // v3 renaming
4869
+
4821
4870
  export type VueUiVerticalBarSerie = {
4822
- children: VueUiVerticalBarDatapoint[];
4871
+ children: VueUiVerticalBarDatapoint[] | VueUiHorizontalBarDatapoint[];
4823
4872
  color: string;
4824
4873
  hasChildren: boolean;
4825
4874
  is: string;
@@ -4830,8 +4879,10 @@ declare module "vue-data-ui" {
4830
4879
  value: number;
4831
4880
  };
4832
4881
 
4882
+ export type VueUiHorizontalBarSerie = VueUiVerticalBarSerie; // v3 renaming
4883
+
4833
4884
  export type VueUiVerticalBarExpose = {
4834
- getData(): Promise<Array<VueUiVerticalBarDatasetItem & Record<string, any>>>
4885
+ getData(): Promise<Array<VueUiVerticalBarDatasetItem & Record<string, any>>> | Promise<Array<VueUiHorizontalBarDatasetItem & Record<string, any>>>
4835
4886
  getImage(options?: { scale?: number }): GetImagePromise
4836
4887
  recalculateHeight(): void,
4837
4888
  generateCsv(): void
@@ -4844,6 +4895,8 @@ declare module "vue-data-ui" {
4844
4895
  toggleFullscreen(): void
4845
4896
  }
4846
4897
 
4898
+ export type VueUiHorizontalBarExpose = VueUiVerticalBarExpose; // v3 renaming
4899
+
4847
4900
  export const VueUiVerticalBar: DefineComponent<
4848
4901
  {
4849
4902
  config?: VueUiVerticalBarConfig;
@@ -4852,6 +4905,17 @@ declare module "vue-data-ui" {
4852
4905
  VueUiVerticalBarExpose
4853
4906
  >;
4854
4907
 
4908
+ /**
4909
+ * Renamed from the v2 VueUiVerticalBar
4910
+ */
4911
+ export const VueUiHorizontalBar: DefineComponent<
4912
+ {
4913
+ config?: VueUiHorizontalBarConfig;
4914
+ dataset: VueUiHorizontalBarDatasetItem[];
4915
+ },
4916
+ VueUiHorizontalBarExpose
4917
+ >;
4918
+
4855
4919
  export type VueUiSparklineDatasetItem = {
4856
4920
  period: string;
4857
4921
  value: number;
@@ -8076,6 +8140,7 @@ declare module "vue-data-ui" {
8076
8140
  | VueUiThermometerConfig
8077
8141
  | VueUiTiremarksConfig
8078
8142
  | VueUiVerticalBarConfig
8143
+ | VueUiHorizontalBarConfig
8079
8144
  | VueUiWaffleConfig
8080
8145
  | VueUiWheelConfig
8081
8146
  | VueUiXyConfig
@@ -8139,6 +8204,7 @@ declare module "vue-data-ui" {
8139
8204
  | "vue_ui_thermometer"
8140
8205
  | "vue_ui_tiremarks"
8141
8206
  | "vue_ui_vertical_bar"
8207
+ | "vue_ui_horizontal_bar"
8142
8208
  | "vue_ui_waffle"
8143
8209
  | "vue_ui_wheel"
8144
8210
  | "vue_ui_xy"
@@ -8501,60 +8567,15 @@ declare module "vue-data-ui" {
8501
8567
  y
8502
8568
  }: CreateTSpansArgs) => string;
8503
8569
 
8504
- export type UseObjectBindingsOptions = {
8505
- /** Delimiter to join object‑path segments */
8506
- delimiter?: string;
8507
- /** If true, array indices will not be traversed */
8508
- skipArrays?: boolean;
8509
- };
8510
-
8511
- /**
8512
- * Recursively build a union of dot‑delimited paths for an object type,
8513
- * but skip arrays (we don’t traverse them by default at runtime).
8514
- */
8515
- type Paths<T> = T extends object
8516
- ? T extends any[]
8517
- ? never
8518
- : {
8519
- [K in Extract<keyof T, string>]:
8520
- // if the property is itself an object, recurse
8521
- T[K] extends object
8522
- ? `${K}` | `${K}.${Paths<T[K]>}`
8523
- : `${K}`;
8524
- }[Extract<keyof T, string>]
8525
- : never;
8526
-
8527
- /**
8528
- * Given an object type `T` and one of its path strings `P`,
8529
- * resolve the type at that path.
8530
- */
8531
- type PathValue<T, P extends string> =
8532
- P extends `${infer K}.${infer Rest}`
8533
- ? K extends keyof T
8534
- ? PathValue<T[K], Rest>
8535
- : never
8536
- : P extends keyof T
8537
- ? T[P]
8538
- : never;
8539
-
8540
- /**
8541
- * A fully‑typed bindings record: for each valid path `P` in `T`,
8542
- * `ComputedRef` of the exact `PathValue<T,P>`.
8543
- */
8544
- export type TypedBindings<T extends object> = {
8545
- [P in Paths<T>]: WritableComputedRef<PathValue<T, P>>;
8546
- };
8547
-
8548
8570
  /**
8549
8571
  * Vue Data UI composable
8550
8572
  * ---
8551
8573
  * Flattens a reactive config object into computed refs for every leaf property.
8552
8574
  *
8553
8575
  * @template T extends object
8554
- * @param configRef A Vue `Ref<T>` holding your object.
8576
+ * @param configRef A Vue `Ref` holding your object.
8555
8577
  * @param options Optional settings: `delimiter` (default `"."`) and `skipArrays` (default `true`).
8556
- * @returns A `TypedBindings<T>` whose keys are every “leaf” path in `T`
8557
- * and whose values are `WritableComputedRef` of the exact property type.
8578
+ * @returns An object with flatten config as refs
8558
8579
  *
8559
8580
  * ___
8560
8581
  * @example
@@ -8584,8 +8605,11 @@ declare module "vue-data-ui" {
8584
8605
  * </template>
8585
8606
  * ```
8586
8607
  */
8587
- export function useObjectBindings<T extends object>(
8588
- configRef: Ref<T>,
8589
- options?: UseObjectBindingsOptions
8590
- ): TypedBindings<T>;
8608
+ export function useObjectBindings(
8609
+ configRef: Ref<Record<string, any>>,
8610
+ options?: {
8611
+ delimiter?: string
8612
+ skipArrays?: boolean
8613
+ }
8614
+ ): Record<string, Ref<any>>;
8591
8615
  }
@@ -0,0 +1,28 @@
1
+ import { createElementBlock as p, openBlock as v, ref as d, computed as g, unref as c, watchEffect as h } from "vue";
2
+ import { _ as A } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
+ const y = {}, B = { class: "vue-data-ui-scanner" };
4
+ function E(a, n) {
5
+ return v(), p("div", B);
6
+ }
7
+ const I = /* @__PURE__ */ A(y, [["render", E], ["__scopeId", "data-v-d6376e44"]]);
8
+ function S({
9
+ config: a,
10
+ dataset: n,
11
+ skeletonDataset: r,
12
+ skeletonConfig: t,
13
+ FINAL_CONFIG: i,
14
+ prepareConfig: _,
15
+ callback: s = null
16
+ }) {
17
+ const u = d(!1), o = g(() => {
18
+ const f = c(a)?.loading ?? !1, e = c(n), m = e == null || Array.isArray(e) && e.length === 0 || Object.keys(e).length === 0;
19
+ return u.value || f || m;
20
+ }), l = d(c(n));
21
+ return h(() => {
22
+ l.value = o.value ? r : c(n), i.value = o.value ? t : _(), s && s();
23
+ }), { loading: o, FINAL_DATASET: l, manualLoading: u, skeletonDataset: r, skeletonConfig: t };
24
+ }
25
+ export {
26
+ I as B,
27
+ S as u
28
+ };
@@ -1,4 +1,4 @@
1
- import { A as o, z as n } from "./index-BSa4GlHG.js";
1
+ import { A as o, z as n } from "./index-DBSLpcPM.js";
2
2
  function c({ defaultConfig: e, userConfig: r }) {
3
3
  if (!Object.keys(r || {}).length)
4
4
  return e;
@@ -10,7 +10,7 @@ function m({
10
10
  !t || r.value || (r.value = !0, clearTimeout(n.value), n.value = setTimeout(async () => {
11
11
  if (t)
12
12
  try {
13
- const { default: e } = await import("./pdf-DROWzopj.js");
13
+ const { default: e } = await import("./pdf-V4tIjxUb.js");
14
14
  await e({
15
15
  domElement: document.getElementById(u),
16
16
  fileName: l,
@@ -27,7 +27,7 @@ function m({
27
27
  !t || a.value || (a.value = !0, clearTimeout(n.value), n.value = setTimeout(async () => {
28
28
  if (t)
29
29
  try {
30
- const { default: e } = await import("./img-D3JvqNF8.js");
30
+ const { default: e } = await import("./img-D9CjuW6g.js");
31
31
  await e({
32
32
  domElement: document.getElementById(u),
33
33
  fileName: l,