@visactor/vseed 0.0.16 → 0.0.17

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/dist/builder/builder/builder.d.ts +821 -130
  2. package/dist/builder/builder/builder.d.ts.map +1 -1
  3. package/dist/builder/register/all.d.ts.map +1 -1
  4. package/dist/builder/register/chartType.d.ts +2 -0
  5. package/dist/builder/register/chartType.d.ts.map +1 -1
  6. package/dist/dataReshape/dataReshapeFor1D2M.d.ts +20 -0
  7. package/dist/dataReshape/dataReshapeFor1D2M.d.ts.map +1 -0
  8. package/dist/dataReshape/index.d.ts +1 -0
  9. package/dist/dataReshape/index.d.ts.map +1 -1
  10. package/dist/index.cjs +661 -39
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.js +636 -32
  13. package/dist/index.js.map +1 -1
  14. package/dist/pipeline/advanced/pipeline/funnel.d.ts +3 -0
  15. package/dist/pipeline/advanced/pipeline/funnel.d.ts.map +1 -0
  16. package/dist/pipeline/advanced/pipeline/index.d.ts +2 -0
  17. package/dist/pipeline/advanced/pipeline/index.d.ts.map +1 -1
  18. package/dist/pipeline/advanced/pipeline/scatter.d.ts +3 -0
  19. package/dist/pipeline/advanced/pipeline/scatter.d.ts.map +1 -0
  20. package/dist/pipeline/advanced/pipes/config/config.d.ts +2 -0
  21. package/dist/pipeline/advanced/pipes/config/config.d.ts.map +1 -1
  22. package/dist/pipeline/advanced/pipes/encoding/encodingFunnel.d.ts +3 -0
  23. package/dist/pipeline/advanced/pipes/encoding/encodingFunnel.d.ts.map +1 -0
  24. package/dist/pipeline/advanced/pipes/encoding/encodingYY.d.ts +3 -0
  25. package/dist/pipeline/advanced/pipes/encoding/encodingYY.d.ts.map +1 -0
  26. package/dist/pipeline/advanced/pipes/encoding/index.d.ts +1 -0
  27. package/dist/pipeline/advanced/pipes/encoding/index.d.ts.map +1 -1
  28. package/dist/pipeline/advanced/pipes/reshape/index.d.ts +2 -0
  29. package/dist/pipeline/advanced/pipes/reshape/index.d.ts.map +1 -1
  30. package/dist/pipeline/advanced/pipes/reshape/pivotReshapeTo1D2M.d.ts +9 -0
  31. package/dist/pipeline/advanced/pipes/reshape/pivotReshapeTo1D2M.d.ts.map +1 -0
  32. package/dist/pipeline/advanced/pipes/reshape/reshapeTo1D2M.d.ts +9 -0
  33. package/dist/pipeline/advanced/pipes/reshape/reshapeTo1D2M.d.ts.map +1 -0
  34. package/dist/pipeline/spec/pipeline/area.d.ts.map +1 -1
  35. package/dist/pipeline/spec/pipeline/funnel.d.ts +3 -0
  36. package/dist/pipeline/spec/pipeline/funnel.d.ts.map +1 -0
  37. package/dist/pipeline/spec/pipeline/index.d.ts +2 -0
  38. package/dist/pipeline/spec/pipeline/index.d.ts.map +1 -1
  39. package/dist/pipeline/spec/pipeline/line.d.ts.map +1 -1
  40. package/dist/pipeline/spec/pipeline/roseParallel.d.ts.map +1 -1
  41. package/dist/pipeline/spec/pipeline/scatter.d.ts +3 -0
  42. package/dist/pipeline/spec/pipeline/scatter.d.ts.map +1 -0
  43. package/dist/pipeline/spec/pipes/vchart/axes/xLinear.d.ts.map +1 -1
  44. package/dist/pipeline/spec/pipes/vchart/axes/yLinear.d.ts.map +1 -1
  45. package/dist/pipeline/spec/pipes/vchart/color/color.d.ts.map +1 -1
  46. package/dist/pipeline/spec/pipes/vchart/crosshair/horizontalCrosshairLine.d.ts +3 -0
  47. package/dist/pipeline/spec/pipes/vchart/crosshair/horizontalCrosshairLine.d.ts.map +1 -0
  48. package/dist/pipeline/spec/pipes/vchart/crosshair/index.d.ts +1 -0
  49. package/dist/pipeline/spec/pipes/vchart/crosshair/index.d.ts.map +1 -1
  50. package/dist/pipeline/spec/pipes/vchart/dataset/dataset.d.ts.map +1 -1
  51. package/dist/pipeline/spec/pipes/vchart/init/funnel.d.ts +3 -0
  52. package/dist/pipeline/spec/pipes/vchart/init/funnel.d.ts.map +1 -0
  53. package/dist/pipeline/spec/pipes/vchart/init/index.d.ts +1 -0
  54. package/dist/pipeline/spec/pipes/vchart/init/index.d.ts.map +1 -1
  55. package/dist/pipeline/spec/pipes/vchart/init/roseParallel.d.ts.map +1 -1
  56. package/dist/pipeline/spec/pipes/vchart/init/scatter.d.ts +3 -0
  57. package/dist/pipeline/spec/pipes/vchart/init/scatter.d.ts.map +1 -0
  58. package/dist/pipeline/spec/pipes/vchart/markStyle/barStyle.d.ts.map +1 -1
  59. package/dist/pipeline/spec/pipes/vchart/markStyle/index.d.ts +1 -0
  60. package/dist/pipeline/spec/pipes/vchart/markStyle/index.d.ts.map +1 -1
  61. package/dist/pipeline/spec/pipes/vchart/markStyle/pointState.d.ts +4 -0
  62. package/dist/pipeline/spec/pipes/vchart/markStyle/pointState.d.ts.map +1 -0
  63. package/dist/pipeline/spec/pipes/vchart/markStyle/pointStyle.d.ts.map +1 -1
  64. package/dist/pipeline/spec/pipes/vchart/tooltip/tooltip.d.ts.map +1 -1
  65. package/dist/pipeline/utils/measures/findMeasureById.d.ts +2 -1
  66. package/dist/pipeline/utils/measures/findMeasureById.d.ts.map +1 -1
  67. package/dist/pipeline/utils/measures/index.d.ts +1 -1
  68. package/dist/pipeline/utils/measures/index.d.ts.map +1 -1
  69. package/dist/theme/dark.d.ts.map +1 -1
  70. package/dist/theme/light.d.ts.map +1 -1
  71. package/dist/types/advancedVSeed.d.ts +179 -4
  72. package/dist/types/advancedVSeed.d.ts.map +1 -1
  73. package/dist/types/chartType/funnel/funnel.d.ts +224 -0
  74. package/dist/types/chartType/funnel/funnel.d.ts.map +1 -0
  75. package/dist/types/chartType/funnel/index.d.ts +2 -0
  76. package/dist/types/chartType/funnel/index.d.ts.map +1 -0
  77. package/dist/types/chartType/index.d.ts +2 -0
  78. package/dist/types/chartType/index.d.ts.map +1 -1
  79. package/dist/types/chartType/scatter/index.d.ts +2 -0
  80. package/dist/types/chartType/scatter/index.d.ts.map +1 -0
  81. package/dist/types/chartType/scatter/scatter.d.ts +843 -0
  82. package/dist/types/chartType/scatter/scatter.d.ts.map +1 -0
  83. package/dist/types/properties/baseConfig/color.d.ts +2 -2
  84. package/dist/types/properties/baseConfig/color.d.ts.map +1 -1
  85. package/dist/types/properties/chartType/chartType.d.ts +6 -2
  86. package/dist/types/properties/chartType/chartType.d.ts.map +1 -1
  87. package/dist/types/properties/config/config.d.ts +88 -2
  88. package/dist/types/properties/config/config.d.ts.map +1 -1
  89. package/dist/types/properties/encoding/encoding.d.ts +2 -0
  90. package/dist/types/properties/encoding/encoding.d.ts.map +1 -1
  91. package/dist/types/properties/theme/customTheme.d.ts +176 -4
  92. package/dist/types/properties/theme/customTheme.d.ts.map +1 -1
  93. package/dist/types/vseed.d.ts +1255 -4
  94. package/dist/types/vseed.d.ts.map +1 -1
  95. package/dist/umd/index.js +649 -39
  96. package/dist/umd/index.js.map +1 -1
  97. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -26,42 +26,45 @@ __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
27
  registerBar: ()=>registerBar,
28
28
  isVChart: ()=>isVChart,
29
+ funnelAdvancedPipeline: ()=>funnelAdvancedPipeline,
29
30
  autoFormatter: ()=>autoFormatter,
30
31
  roseParallelAdvancedPipeline: ()=>roseParallelAdvancedPipeline,
31
- zBaseConfig: ()=>zBaseConfig,
32
32
  pieAdvancedPipeline: ()=>pieAdvancedPipeline,
33
33
  execPipeline: ()=>execPipeline,
34
34
  areaSpecPipeline: ()=>areaSpecPipeline,
35
35
  registerCustomTheme: ()=>registerCustomTheme,
36
36
  registerLine: ()=>registerLine,
37
+ zBaseConfig: ()=>zBaseConfig,
37
38
  zColor: ()=>zColor,
39
+ findFirstMeasure: ()=>findFirstMeasure,
40
+ scatterAdvancedPipeline: ()=>scatterAdvancedPipeline,
38
41
  zMeasureGroup: ()=>zMeasureGroup,
39
- zStackCornerRadius: ()=>zStackCornerRadius,
40
- zTooltip: ()=>zTooltip,
41
- zUnfoldInfo: ()=>zUnfoldInfo,
42
42
  zMeasures: ()=>zMeasures,
43
+ zUnfoldInfo: ()=>zUnfoldInfo,
43
44
  zCrosshairRect: ()=>zCrosshairRect,
44
45
  FoldMeasureName: ()=>FoldMeasureName,
45
46
  intl: ()=>intl,
46
47
  darkTheme: ()=>darkTheme,
47
48
  createNumFormatter: ()=>createNumFormatter,
48
49
  columnPercentAdvancedPipeline: ()=>columnPercentAdvancedPipeline,
49
- zAxis: ()=>zAxis,
50
+ scatterSpecPipeline: ()=>scatterSpecPipeline,
50
51
  isVTable: ()=>isVTable,
51
52
  zAnnotation: ()=>zAnnotation,
53
+ zAxis: ()=>zAxis,
52
54
  zCrosshairLine: ()=>zCrosshairLine,
53
55
  columnSpecPipeline: ()=>columnSpecPipeline,
54
56
  UnfoldDimensionGroup: ()=>UnfoldDimensionGroup,
55
57
  zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
56
58
  zFoldInfo: ()=>zFoldInfo,
57
- zYBandAxis: ()=>zYBandAxis,
59
+ zStackCornerRadius: ()=>zStackCornerRadius,
58
60
  zAreaStyle: ()=>zAreaStyle,
59
61
  ORIGINAL_DATA: ()=>ORIGINAL_DATA,
60
- zAnnotationHorizontalLine: ()=>zAnnotationHorizontalLine,
62
+ dataReshapeFor1D2M: ()=>dataReshapeFor1D2M,
61
63
  zAnnotationArea: ()=>zAnnotationArea,
64
+ zAnnotationHorizontalLine: ()=>zAnnotationHorizontalLine,
62
65
  zMarkStyle: ()=>zMarkStyle,
63
- zYLinearAxis: ()=>zYLinearAxis,
64
66
  Separator: ()=>Separator,
67
+ zTooltip: ()=>zTooltip,
65
68
  columnAdvancedPipeline: ()=>columnAdvancedPipeline,
66
69
  columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
67
70
  zLabel: ()=>zLabel,
@@ -71,7 +74,10 @@ __webpack_require__.d(__webpack_exports__, {
71
74
  lightTheme: ()=>lightTheme,
72
75
  registerColumnParallel: ()=>registerColumnParallel,
73
76
  zDimension: ()=>zDimension,
77
+ funnelSpecPipeline: ()=>funnelSpecPipeline,
74
78
  zPointStyle: ()=>zPointStyle,
79
+ zYBandAxis: ()=>zYBandAxis,
80
+ zYLinearAxis: ()=>zYLinearAxis,
75
81
  isPivotChart: ()=>isPivotChart,
76
82
  zCustomTheme: ()=>zCustomTheme,
77
83
  roseParallelSpecPipeline: ()=>roseParallelSpecPipeline,
@@ -282,7 +288,7 @@ const NUMBER_FORMAT_RULES = {
282
288
  };
283
289
  const createFormatter = (format)=>createNumFormatter(format);
284
290
  const autoFormatter = (value, locale)=>autoNumFormatter(value, locale);
285
- function findMeasureById(measures, id) {
291
+ const findMeasureById = (measures, id)=>{
286
292
  if (!measures) return;
287
293
  const stack = [
288
294
  ...measures
@@ -293,7 +299,22 @@ function findMeasureById(measures, id) {
293
299
  if (current.id === id && !('children' in current)) return current;
294
300
  if ('children' in current && current.children) stack.push(...current.children);
295
301
  }
296
- }
302
+ };
303
+ const findFirstMeasure = (measures)=>{
304
+ if (!measures) return;
305
+ const stack = [
306
+ ...measures
307
+ ].reverse();
308
+ while(stack.length > 0){
309
+ const current = stack.pop();
310
+ if (!current) continue;
311
+ if (!('children' in current)) return current;
312
+ if ('children' in current && current.children) {
313
+ const children = (current.children || []).reverse();
314
+ stack.push(...children);
315
+ }
316
+ }
317
+ };
297
318
  const autoMeasures = (advancedVSeed, context)=>{
298
319
  const result = {
299
320
  ...advancedVSeed
@@ -590,6 +611,60 @@ const dataReshapeFor1D1M = (dataset, dimensions, measures, options)=>{
590
611
  };
591
612
  }
592
613
  };
614
+ const dataReshapeFor1D2M_emptyReshapeResult = {
615
+ dataset: [],
616
+ foldInfo: {
617
+ foldMap: {},
618
+ measureId: '',
619
+ measureName: '',
620
+ measureValue: ''
621
+ },
622
+ unfoldInfo: {
623
+ groupName: '',
624
+ groupId: '',
625
+ colorItems: [],
626
+ colorIdMap: {}
627
+ }
628
+ };
629
+ const dataReshapeFor1D2M = (dataset, dimensions, measures, options)=>{
630
+ const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
631
+ if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor1D2M_emptyReshapeResult;
632
+ const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures.length > 1 ? measures.slice(1) : measures, foldMeasureId, foldMeasureName, foldMeasureValue);
633
+ if (0 === dimensions.length) {
634
+ const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
635
+ {
636
+ id: foldMeasureValue,
637
+ alias: i18n`指标值`,
638
+ location: 'dimension'
639
+ }
640
+ ], [
641
+ {
642
+ id: foldMeasureValue,
643
+ alias: i18n`指标值`
644
+ }
645
+ ], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
646
+ return {
647
+ dataset: finalDataset,
648
+ foldInfo,
649
+ unfoldInfo
650
+ };
651
+ }
652
+ {
653
+ const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, [
654
+ ...dimensions
655
+ ], [
656
+ {
657
+ id: foldMeasureValue,
658
+ alias: i18n`指标值`
659
+ }
660
+ ], 0, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
661
+ return {
662
+ dataset: finalDataset,
663
+ foldInfo,
664
+ unfoldInfo
665
+ };
666
+ }
667
+ };
593
668
  const reshapeTo2D1M = (advancedVSeed, context)=>{
594
669
  const result = {
595
670
  ...advancedVSeed
@@ -636,6 +711,28 @@ const reshapeTo1D1M = (advancedVSeed, context)=>{
636
711
  ]
637
712
  };
638
713
  };
714
+ const reshapeTo1D2M = (advancedVSeed, context)=>{
715
+ const result = {
716
+ ...advancedVSeed
717
+ };
718
+ const { vseed } = context;
719
+ const { dataset } = vseed;
720
+ const { dimensions, measures } = advancedVSeed;
721
+ if (!measures || !dimensions || !dataset) return result;
722
+ if (0 === measures.length) throw new Error('measures can not be empty');
723
+ const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, dimensions, measures);
724
+ return {
725
+ ...result,
726
+ dataset: newDatasets,
727
+ datasetReshapeInfo: [
728
+ {
729
+ id: '1D2M',
730
+ foldInfo,
731
+ unfoldInfo
732
+ }
733
+ ]
734
+ };
735
+ };
639
736
  const pivotReshapeTo1D1M = (advancedVSeed, context)=>{
640
737
  const result = {
641
738
  ...advancedVSeed
@@ -675,6 +772,45 @@ const pivotReshapeTo1D1M = (advancedVSeed, context)=>{
675
772
  datasetReshapeInfo: datasetReshapeInfo
676
773
  };
677
774
  };
775
+ const pivotReshapeTo1D2M = (advancedVSeed, context)=>{
776
+ const result = {
777
+ ...advancedVSeed
778
+ };
779
+ const { vseed } = context;
780
+ const { dataset } = vseed;
781
+ const { dimensions, measures } = advancedVSeed;
782
+ if (!measures || !dimensions) return result;
783
+ const measureGroups = [];
784
+ if (measures) measures.forEach((measure)=>{
785
+ if (measure.children && measure.children.length > 0) measureGroups.push(measure);
786
+ });
787
+ const newDatasets = [];
788
+ const datasetReshapeInfo = [];
789
+ measureGroups.forEach((measureGroup)=>{
790
+ const measures = measureGroup.children;
791
+ if (!measures) return;
792
+ const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
793
+ const groupId = measureGroup.id;
794
+ const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, commonDimensions, measures, {
795
+ foldMeasureId: FoldMeasureId,
796
+ foldMeasureName: FoldMeasureName,
797
+ foldMeasureValue: FoldMeasureValue + groupId,
798
+ unfoldDimensionGroup: UnfoldDimensionGroup
799
+ });
800
+ const reshapeInfo = {
801
+ id: groupId,
802
+ foldInfo,
803
+ unfoldInfo
804
+ };
805
+ newDatasets.push(newSubDataset);
806
+ datasetReshapeInfo.push(reshapeInfo);
807
+ });
808
+ return {
809
+ ...result,
810
+ dataset: newDatasets,
811
+ datasetReshapeInfo: datasetReshapeInfo
812
+ };
813
+ };
678
814
  const pivotReshapeTo2D1M = (advancedVSeed, context)=>{
679
815
  const result = {
680
816
  ...advancedVSeed
@@ -858,6 +994,37 @@ const encodingPie = (advancedVSeed)=>{
858
994
  encoding
859
995
  };
860
996
  };
997
+ const encodingFunnel = (advancedVSeed)=>{
998
+ const result = {
999
+ ...advancedVSeed
1000
+ };
1001
+ const { datasetReshapeInfo, dimensions } = advancedVSeed;
1002
+ if (!datasetReshapeInfo || !dimensions) return result;
1003
+ const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
1004
+ const { foldInfo, unfoldInfo } = cur;
1005
+ const size = [
1006
+ foldInfo.measureValue
1007
+ ];
1008
+ const group = [
1009
+ unfoldInfo.groupId
1010
+ ];
1011
+ const color = [
1012
+ unfoldInfo.groupId
1013
+ ];
1014
+ return [
1015
+ ...prev,
1016
+ {
1017
+ size,
1018
+ group,
1019
+ color
1020
+ }
1021
+ ];
1022
+ }, []);
1023
+ return {
1024
+ ...result,
1025
+ encoding
1026
+ };
1027
+ };
861
1028
  const vchartBaseConfig = (advancedVSeed, context)=>{
862
1029
  const { vseed } = context;
863
1030
  const result = {
@@ -933,6 +1100,7 @@ const pieConfig = (advancedVSeed, context)=>{
933
1100
  };
934
1101
  const areaConfig = lineConfig;
935
1102
  const areaPercentConfig = lineConfig;
1103
+ const scatterConfig = lineConfig;
936
1104
  const barConfig = columnConfig;
937
1105
  const barParallelConfig = columnConfig;
938
1106
  const barPercentConfig = columnConfig;
@@ -941,6 +1109,7 @@ const columnPercentConfig = columnConfig;
941
1109
  const donutConfig = pieConfig;
942
1110
  const roseConfig = pieConfig;
943
1111
  const roseParallelConfig = pieConfig;
1112
+ const funnelConfig = pieConfig;
944
1113
  const vchartTheme = (advancedVSeed, context)=>{
945
1114
  const { customTheme, vseed } = context;
946
1115
  const { theme = 'light', chartType } = vseed;
@@ -1225,12 +1394,96 @@ const roseParallelAdvancedPipeline = [
1225
1394
  markStyle_markStyle,
1226
1395
  annotation_annotation
1227
1396
  ];
1397
+ const funnelAdvancedPipeline = [
1398
+ initAdvancedVSeed,
1399
+ locale_locale,
1400
+ autoMeasures,
1401
+ autoDimensions,
1402
+ pivotAdapter([
1403
+ reshapeTo1D1M
1404
+ ], [
1405
+ pivotReshapeTo1D1M
1406
+ ]),
1407
+ encodingFunnel,
1408
+ funnelConfig,
1409
+ vchartBaseConfig,
1410
+ vchartTheme,
1411
+ annotation_annotation
1412
+ ];
1413
+ const encodingYY = (advancedVSeed)=>{
1414
+ const result = {
1415
+ ...advancedVSeed
1416
+ };
1417
+ const { datasetReshapeInfo, measures } = advancedVSeed;
1418
+ if (!datasetReshapeInfo || !measures) return result;
1419
+ const firstMeasure = findFirstMeasure(measures);
1420
+ const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
1421
+ const { foldInfo, unfoldInfo } = cur;
1422
+ const x = [
1423
+ firstMeasure?.id
1424
+ ];
1425
+ const y = [
1426
+ foldInfo.measureValue
1427
+ ];
1428
+ const group = [
1429
+ unfoldInfo.groupId
1430
+ ];
1431
+ const color = [
1432
+ unfoldInfo.groupId
1433
+ ];
1434
+ return [
1435
+ ...prev,
1436
+ {
1437
+ x,
1438
+ y,
1439
+ group,
1440
+ color
1441
+ }
1442
+ ];
1443
+ }, []);
1444
+ return {
1445
+ ...result,
1446
+ encoding
1447
+ };
1448
+ };
1449
+ const scatterAdvancedPipeline = [
1450
+ initAdvancedVSeed,
1451
+ locale_locale,
1452
+ autoMeasures,
1453
+ autoDimensions,
1454
+ pivotAdapter([
1455
+ reshapeTo1D2M
1456
+ ], [
1457
+ pivotReshapeTo1D2M
1458
+ ]),
1459
+ encodingYY,
1460
+ vchartBaseConfig,
1461
+ scatterConfig,
1462
+ vchartTheme,
1463
+ markStyle_markStyle,
1464
+ annotation_annotation
1465
+ ];
1228
1466
  const dataset_dataset = (spec, context)=>{
1229
1467
  const { advancedVSeed } = context;
1468
+ const { encoding } = advancedVSeed;
1469
+ const angle = encoding[0]?.angle?.[0];
1470
+ const x = encoding[0]?.x?.[0];
1471
+ const group = encoding[0]?.group?.[0];
1472
+ const fields = {};
1473
+ if (angle) fields[angle] = {
1474
+ sortIndex: 0
1475
+ };
1476
+ if (x) fields[x] = {
1477
+ sortIndex: 0
1478
+ };
1479
+ if (group) fields[group] = {
1480
+ sortIndex: 1
1481
+ };
1230
1482
  return {
1231
1483
  ...spec,
1232
1484
  data: {
1233
- values: advancedVSeed.dataset
1485
+ values: advancedVSeed.dataset,
1486
+ fields: fields
1234
1487
  }
1235
1488
  };
1236
1489
  };
@@ -1482,7 +1735,7 @@ const initRose = (spec, context)=>{
1482
1735
  state: {
1483
1736
  hover: {
1484
1737
  lineWidth: 1,
1485
- fillOpacity: 0.75
1738
+ fillOpacity: 0.6
1486
1739
  }
1487
1740
  }
1488
1741
  };
@@ -1518,6 +1771,12 @@ const initRoseParallel = (spec, context)=>{
1518
1771
  style: {
1519
1772
  stroke: '#ffffff',
1520
1773
  lineWidth: 1
1774
+ },
1775
+ state: {
1776
+ hover: {
1777
+ lineWidth: 1,
1778
+ fillOpacity: 0.6
1779
+ }
1521
1780
  }
1522
1781
  };
1523
1782
  result.region = [
@@ -1544,6 +1803,42 @@ const initPivot = (spec)=>{
1544
1803
  indicatorsAsCol: false
1545
1804
  };
1546
1805
  };
1806
+ const initFunnel = (spec, context)=>{
1807
+ const result = {
1808
+ ...spec
1809
+ };
1810
+ const { advancedVSeed } = context;
1811
+ const { encoding } = advancedVSeed;
1812
+ if (!encoding[0].size || !encoding[0].group || !encoding[0].color) return result;
1813
+ result.type = 'funnel';
1814
+ result.valueField = encoding[0].size[0];
1815
+ result.categoryField = encoding[0].group[0];
1816
+ result.padding = 0;
1817
+ result.isTransform = true;
1818
+ result.shape = 'rect';
1819
+ result.maxSize = '75%';
1820
+ result.minSize = '10%';
1821
+ result.region = [
1822
+ {
1823
+ clip: true
1824
+ }
1825
+ ];
1826
+ result.funnel = {
1827
+ style: {
1828
+ cornerRadius: 4
1829
+ },
1830
+ state: {
1831
+ hover: {
1832
+ fillOpacity: 0.6
1833
+ }
1834
+ }
1835
+ };
1836
+ result.transformLabel = {
1837
+ visible: true
1838
+ };
1839
+ result.animation = true;
1840
+ return result;
1841
+ };
1547
1842
  const xBand = (spec, context)=>{
1548
1843
  const result = {
1549
1844
  ...spec
@@ -1712,7 +2007,7 @@ const xLinear = (spec, context)=>{
1712
2007
  }
1713
2008
  },
1714
2009
  innerOffset: {
1715
- top: LINEAR_AXIS_INNER_OFFSET_TOP
2010
+ right: LINEAR_AXIS_INNER_OFFSET_TOP
1716
2011
  }
1717
2012
  };
1718
2013
  result.axes = [
@@ -2023,6 +2318,9 @@ const tooltip_tooltip = (spec, context)=>{
2023
2318
  result.tooltip = {
2024
2319
  visible: enable,
2025
2320
  mark: {
2321
+ title: {
2322
+ value: (datum)=>datum && datum[groupName] || ''
2323
+ },
2026
2324
  content: [
2027
2325
  {
2028
2326
  visible: true,
@@ -2266,11 +2564,11 @@ const pivotDiscreteLegend = (spec, context)=>{
2266
2564
  label: d,
2267
2565
  shape: {
2268
2566
  outerBorder: border ? {
2269
- stroke: colorScheme[index],
2567
+ stroke: colorScheme?.[index],
2270
2568
  distance: 3,
2271
2569
  lineWidth: 1
2272
2570
  } : void 0,
2273
- fill: colorScheme[index]
2571
+ fill: colorScheme?.[index]
2274
2572
  }
2275
2573
  })),
2276
2574
  item: {
@@ -2322,8 +2620,8 @@ const color_color = (spec, context)=>{
2322
2620
  const { color } = baseConfig;
2323
2621
  const { colorScheme, colorMapping } = color;
2324
2622
  const mappingList = [];
2325
- if (colorMapping) Object.entries(colorMapping).forEach(([key, value])=>{
2326
- const idMap = Object.entries(unfoldInfo.colorIdMap).filter(([_, v])=>key === v);
2623
+ if (colorMapping) Object.entries(colorMapping).sort((a, b)=>a[0].split(Separator).length - b[0].split(Separator).length).forEach(([key, value])=>{
2624
+ const idMap = Object.entries(unfoldInfo.colorIdMap).filter(([_, v])=>v.includes(key));
2327
2625
  for (const [colorId] of idMap)mappingList.push([
2328
2626
  colorId,
2329
2627
  value
@@ -2654,19 +2952,17 @@ const isDimensionSelector = (selector)=>'object' == typeof selector && null !==
2654
2952
  ].includes(selector.op));
2655
2953
  const barStyle_barStyle = (spec, context)=>{
2656
2954
  const { advancedVSeed } = context;
2657
- const { markStyle, encoding } = advancedVSeed;
2955
+ const { markStyle } = advancedVSeed;
2658
2956
  const { barStyle } = markStyle;
2659
2957
  const result = {
2660
2958
  ...spec,
2661
2959
  bar: {
2960
+ style: {
2961
+ stroke: '#fff',
2962
+ lineWidth: 1
2963
+ },
2662
2964
  state: {
2663
2965
  hover: {
2664
- stroke: (datum, context)=>{
2665
- const field = encoding[0]?.group?.[0];
2666
- const color = context.seriesColor(datum[field]);
2667
- return color;
2668
- },
2669
- lineWidth: 4,
2670
2966
  fillOpacity: 0.6
2671
2967
  }
2672
2968
  }
@@ -2722,14 +3018,7 @@ const pointStyle_pointStyle = (spec, context)=>{
2722
3018
  const { pointStyle } = markStyle;
2723
3019
  const result = {
2724
3020
  ...spec,
2725
- point: {
2726
- state: {
2727
- dimension_hover: {
2728
- scaleX: 1.4,
2729
- scaleY: 1.4
2730
- }
2731
- }
2732
- }
3021
+ point: {}
2733
3022
  };
2734
3023
  if (!pointStyle) return result;
2735
3024
  const pointStyles = Array.isArray(pointStyle) ? pointStyle : [
@@ -2775,6 +3064,47 @@ const pointStyle_pointStyle = (spec, context)=>{
2775
3064
  }
2776
3065
  };
2777
3066
  };
3067
+ const pointStateDimensionHover = (spec)=>{
3068
+ const point = spec.point || {};
3069
+ const result = {
3070
+ ...spec,
3071
+ point: {
3072
+ ...point,
3073
+ state: {
3074
+ dimension_hover: {
3075
+ scaleX: 1.4,
3076
+ scaleY: 1.4
3077
+ }
3078
+ }
3079
+ }
3080
+ };
3081
+ return result;
3082
+ };
3083
+ const pointStateHover = (spec, context)=>{
3084
+ const point = spec.point || {};
3085
+ const { advancedVSeed } = context;
3086
+ const { encoding } = advancedVSeed;
3087
+ const result = {
3088
+ ...spec,
3089
+ point: {
3090
+ ...point,
3091
+ state: {
3092
+ hover: {
3093
+ scaleX: 1.4,
3094
+ scaleY: 1.4,
3095
+ stroke: (datum, context)=>{
3096
+ const field = encoding[0]?.group?.[0];
3097
+ const color = context.seriesColor(datum[field]);
3098
+ return color;
3099
+ },
3100
+ fillOpacity: 0.6,
3101
+ lineWidth: 1
3102
+ }
3103
+ }
3104
+ }
3105
+ };
3106
+ return result;
3107
+ };
2778
3108
  const lineStyle_lineStyle = (spec, context)=>{
2779
3109
  const { advancedVSeed } = context;
2780
3110
  const { markStyle, encoding, dataset } = advancedVSeed;
@@ -3488,6 +3818,46 @@ const horizontalCrosshairRect = (spec, context)=>{
3488
3818
  };
3489
3819
  return result;
3490
3820
  };
3821
+ const horizontalCrosshairLine = (spec, context)=>{
3822
+ const result = {
3823
+ ...spec
3824
+ };
3825
+ const { advancedVSeed, vseed } = context;
3826
+ const { chartType } = vseed;
3827
+ const config = advancedVSeed.config?.[chartType]?.crosshairLine;
3828
+ if (!config) return result;
3829
+ if (!result.crosshair) result.crosshair = {};
3830
+ const { visible = true, lineColor, labelColor, labelVisible, labelBackgroundColor } = config;
3831
+ const crosshair = result.crosshair;
3832
+ crosshair.yField = {
3833
+ visible,
3834
+ line: {
3835
+ type: 'line',
3836
+ style: {
3837
+ lineWidth: 1,
3838
+ opacity: 1,
3839
+ stroke: lineColor,
3840
+ lineDash: [
3841
+ 4,
3842
+ 2
3843
+ ]
3844
+ }
3845
+ },
3846
+ label: {
3847
+ visible: labelVisible,
3848
+ labelBackground: {
3849
+ visible: labelVisible,
3850
+ style: {
3851
+ fill: labelBackgroundColor
3852
+ }
3853
+ },
3854
+ style: {
3855
+ fill: labelColor
3856
+ }
3857
+ }
3858
+ };
3859
+ return result;
3860
+ };
3491
3861
  const line_line = [
3492
3862
  initLine,
3493
3863
  color_color,
@@ -3500,6 +3870,7 @@ const line_line = [
3500
3870
  verticalCrosshairLine,
3501
3871
  discreteLegend,
3502
3872
  pointStyle_pointStyle,
3873
+ pointStateDimensionHover,
3503
3874
  lineStyle_lineStyle,
3504
3875
  annotationPoint_annotationPoint,
3505
3876
  annotationVerticalLine_annotationVerticalLine,
@@ -3522,6 +3893,7 @@ const pivotLine = [
3522
3893
  tooltip_tooltip,
3523
3894
  verticalCrosshairLine,
3524
3895
  pointStyle_pointStyle,
3896
+ pointStateDimensionHover,
3525
3897
  lineStyle_lineStyle,
3526
3898
  annotationPoint_annotationPoint,
3527
3899
  annotationVerticalLine_annotationVerticalLine,
@@ -3838,6 +4210,7 @@ const area_area = [
3838
4210
  verticalCrosshairLine,
3839
4211
  discreteLegend,
3840
4212
  pointStyle_pointStyle,
4213
+ pointStateDimensionHover,
3841
4214
  lineStyle_lineStyle,
3842
4215
  areaStyle_areaStyle,
3843
4216
  annotationPoint_annotationPoint,
@@ -3862,6 +4235,7 @@ const pivotArea = [
3862
4235
  tooltip_tooltip,
3863
4236
  verticalCrosshairLine,
3864
4237
  pointStyle_pointStyle,
4238
+ pointStateDimensionHover,
3865
4239
  lineStyle_lineStyle,
3866
4240
  areaStyle_areaStyle,
3867
4241
  annotationPoint_annotationPoint,
@@ -4054,7 +4428,6 @@ const roseParallel = [
4054
4428
  tooltip_tooltip,
4055
4429
  discreteLegend,
4056
4430
  verticalCrosshairRect,
4057
- barStyle_barStyle,
4058
4431
  annotationPoint_annotationPoint,
4059
4432
  annotationVerticalLine_annotationVerticalLine,
4060
4433
  annotationHorizontalLine_annotationHorizontalLine,
@@ -4076,7 +4449,6 @@ const pivotRoseParallel = [
4076
4449
  label_label,
4077
4450
  tooltip_tooltip,
4078
4451
  verticalCrosshairRect,
4079
- barStyle_barStyle,
4080
4452
  annotationPoint_annotationPoint,
4081
4453
  annotationVerticalLine_annotationVerticalLine,
4082
4454
  annotationHorizontalLine_annotationHorizontalLine,
@@ -4089,6 +4461,113 @@ const pivotRoseParallel = [
4089
4461
  const roseParallelSpecPipeline = [
4090
4462
  pivotAdapter_pivotAdapter(roseParallel, pivotRoseParallel)
4091
4463
  ];
4464
+ const funnel = [
4465
+ initFunnel,
4466
+ color_color,
4467
+ background_backgroundColor,
4468
+ dataset_dataset,
4469
+ label_label,
4470
+ tooltip_tooltip,
4471
+ discreteLegend,
4472
+ annotationPoint_annotationPoint,
4473
+ annotationVerticalLine_annotationVerticalLine,
4474
+ annotationHorizontalLine_annotationHorizontalLine,
4475
+ annotationArea_annotationArea
4476
+ ];
4477
+ const pivotFunnel = [
4478
+ initPivot,
4479
+ pivotGridStyle,
4480
+ pivotIndicators_pivotIndicatorsAsRow,
4481
+ datasetPivot,
4482
+ pivotIndicators([
4483
+ initFunnel,
4484
+ color_color,
4485
+ background_backgroundColor,
4486
+ datasetPivotPlaceholder,
4487
+ label_label,
4488
+ tooltip_tooltip,
4489
+ annotationPoint_annotationPoint,
4490
+ annotationVerticalLine_annotationVerticalLine,
4491
+ annotationHorizontalLine_annotationHorizontalLine,
4492
+ annotationArea_annotationArea
4493
+ ]),
4494
+ pivotRowDimensions,
4495
+ pivotColumnDimensions,
4496
+ pivotDiscreteLegend
4497
+ ];
4498
+ const funnelSpecPipeline = [
4499
+ pivotAdapter_pivotAdapter(funnel, pivotFunnel)
4500
+ ];
4501
+ const initScatter = (spec, context)=>{
4502
+ const result = {
4503
+ ...spec
4504
+ };
4505
+ const { advancedVSeed } = context;
4506
+ const { encoding } = advancedVSeed;
4507
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
4508
+ result.type = 'scatter';
4509
+ result.direction = 'vertical';
4510
+ result.xField = encoding[0].x[0];
4511
+ result.yField = encoding[0].y[0];
4512
+ result.seriesField = encoding[0].group[0];
4513
+ result.padding = 0;
4514
+ result.region = [
4515
+ {
4516
+ clip: true
4517
+ }
4518
+ ];
4519
+ result.animation = true;
4520
+ return result;
4521
+ };
4522
+ const scatter = [
4523
+ initScatter,
4524
+ color_color,
4525
+ background_backgroundColor,
4526
+ dataset_dataset,
4527
+ xLinear,
4528
+ yLinear,
4529
+ label_label,
4530
+ tooltip_tooltip,
4531
+ verticalCrosshairLine,
4532
+ horizontalCrosshairLine,
4533
+ discreteLegend,
4534
+ pointStyle_pointStyle,
4535
+ pointStateHover,
4536
+ annotationPoint_annotationPoint,
4537
+ annotationVerticalLine_annotationVerticalLine,
4538
+ annotationHorizontalLine_annotationHorizontalLine,
4539
+ annotationArea_annotationArea
4540
+ ];
4541
+ const pivotScatter = [
4542
+ initPivot,
4543
+ pivotGridStyle,
4544
+ pivotIndicators_pivotIndicatorsAsRow,
4545
+ datasetPivot,
4546
+ pivotIndicators([
4547
+ initScatter,
4548
+ color_color,
4549
+ background_backgroundColor,
4550
+ datasetPivotPlaceholder,
4551
+ xLinear,
4552
+ yLinear,
4553
+ label_label,
4554
+ tooltip_tooltip,
4555
+ verticalCrosshairLine,
4556
+ horizontalCrosshairLine,
4557
+ pointStyle_pointStyle,
4558
+ pointStateHover,
4559
+ annotationPoint_annotationPoint,
4560
+ annotationVerticalLine_annotationVerticalLine,
4561
+ annotationHorizontalLine_annotationHorizontalLine,
4562
+ annotationArea_annotationArea
4563
+ ]),
4564
+ pivotRowDimensions,
4565
+ pivotColumnDimensions,
4566
+ pivotDiscreteLegend
4567
+ ];
4568
+ const scatterSpecPipeline = [
4569
+ pivotAdapter_pivotAdapter(scatter, pivotScatter)
4570
+ ];
4092
4571
  const buildAdvanced = (builder)=>{
4093
4572
  const { chartType } = builder.vseed;
4094
4573
  if (!chartType) throw new Error('chartType is nil in buildAdvanced');
@@ -4219,6 +4698,14 @@ const registerRoseParallel = ()=>{
4219
4698
  Builder._advancedPipelineMap.roseParallel = roseParallelAdvancedPipeline;
4220
4699
  Builder._specPipelineMap.roseParallel = roseParallelSpecPipeline;
4221
4700
  };
4701
+ const registerFunnel = ()=>{
4702
+ Builder._advancedPipelineMap.funnel = funnelAdvancedPipeline;
4703
+ Builder._specPipelineMap.funnel = funnelSpecPipeline;
4704
+ };
4705
+ const registerScatter = ()=>{
4706
+ Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
4707
+ Builder._specPipelineMap.scatter = scatterSpecPipeline;
4708
+ };
4222
4709
  const lightTheme = ()=>{
4223
4710
  const linearAxis = {
4224
4711
  nice: true,
@@ -4444,6 +4931,23 @@ const lightTheme = ()=>{
4444
4931
  xAxis: bandAxis,
4445
4932
  yAxis: linearAxis,
4446
4933
  crosshairLine
4934
+ },
4935
+ scatter: {
4936
+ xAxis: {
4937
+ ...linearAxis,
4938
+ line: {
4939
+ ...linearAxis.line,
4940
+ visible: true
4941
+ }
4942
+ },
4943
+ yAxis: {
4944
+ ...linearAxis,
4945
+ line: {
4946
+ ...linearAxis.line,
4947
+ visible: true
4948
+ }
4949
+ },
4950
+ crosshairLine
4447
4951
  }
4448
4952
  }
4449
4953
  };
@@ -4672,6 +5176,23 @@ const darkTheme = ()=>{
4672
5176
  xAxis: bandAxis,
4673
5177
  yAxis: linearAxis,
4674
5178
  crosshairLine: crosshairLine
5179
+ },
5180
+ scatter: {
5181
+ xAxis: {
5182
+ ...linearAxis,
5183
+ line: {
5184
+ ...linearAxis.line,
5185
+ visible: true
5186
+ }
5187
+ },
5188
+ yAxis: {
5189
+ ...linearAxis,
5190
+ line: {
5191
+ ...linearAxis.line,
5192
+ visible: true
5193
+ }
5194
+ },
5195
+ crosshairLine
4675
5196
  }
4676
5197
  }
4677
5198
  };
@@ -4703,6 +5224,8 @@ const registerAll = ()=>{
4703
5224
  registerDonut();
4704
5225
  registerRose();
4705
5226
  registerRoseParallel();
5227
+ registerFunnel();
5228
+ registerScatter();
4706
5229
  registerLightTheme();
4707
5230
  registerDarkTheme();
4708
5231
  };
@@ -4723,7 +5246,9 @@ const zChartType = external_zod_namespaceObject.z["enum"]([
4723
5246
  'roseParallel',
4724
5247
  'pie',
4725
5248
  'donut',
4726
- 'dualAxis'
5249
+ 'dualAxis',
5250
+ 'scatter',
5251
+ 'funnel'
4727
5252
  ]);
4728
5253
  const zDatum = external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string().or(external_zod_namespaceObject.z.number()), external_zod_namespaceObject.z.any());
4729
5254
  const zDataset = external_zod_namespaceObject.z.array(zDatum);
@@ -4796,7 +5321,8 @@ const zEncoding = external_zod_namespaceObject.z.array(external_zod_namespaceObj
4796
5321
  group: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
4797
5322
  angle: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
4798
5323
  radius: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
4799
- tooltip: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional()
5324
+ tooltip: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
5325
+ size: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional()
4800
5326
  }));
4801
5327
  const zBackgroundColor = external_zod_namespaceObject.z.string().default('transparent').optional();
4802
5328
  const zLabel = external_zod_namespaceObject.z.object({
@@ -5029,6 +5555,8 @@ const zStackCornerRadius = external_zod_namespaceObject.z.number().or(external_z
5029
5555
  0
5030
5556
  ]);
5031
5557
  const zConfig = external_zod_namespaceObject.z.object({
5558
+ table: external_zod_namespaceObject.z.object({}).optional(),
5559
+ pivotTable: external_zod_namespaceObject.z.object({}).optional(),
5032
5560
  line: external_zod_namespaceObject.z.object({
5033
5561
  xAxis: zXBandAxis.optional(),
5034
5562
  yAxis: zYLinearAxis.optional(),
@@ -5085,8 +5613,12 @@ const zConfig = external_zod_namespaceObject.z.object({
5085
5613
  pie: external_zod_namespaceObject.z.object({}).optional(),
5086
5614
  donut: external_zod_namespaceObject.z.object({}).optional(),
5087
5615
  dualAxis: external_zod_namespaceObject.z.object({}).optional(),
5088
- table: external_zod_namespaceObject.z.object({}).optional(),
5089
- pivotTable: external_zod_namespaceObject.z.object({}).optional()
5616
+ scatter: external_zod_namespaceObject.z.object({
5617
+ xAxis: zXLinearAxis.optional(),
5618
+ yAxis: zYLinearAxis.optional(),
5619
+ crosshairLine: zCrosshairLine.optional()
5620
+ }).optional(),
5621
+ funnel: external_zod_namespaceObject.z.object({}).optional()
5090
5622
  });
5091
5623
  const zSelector = external_zod_namespaceObject.z.union([
5092
5624
  external_zod_namespaceObject.z.string(),
@@ -5535,6 +6067,19 @@ const zLine = external_zod_namespaceObject.z.object({
5535
6067
  annotationArea: zAnnotationArea.optional(),
5536
6068
  locale: zLocale.optional()
5537
6069
  });
6070
+ const zRose = external_zod_namespaceObject.z.object({
6071
+ chartType: external_zod_namespaceObject.z.literal('rose'),
6072
+ dataset: zDataset.optional(),
6073
+ dimensions: zDimensions.optional(),
6074
+ measures: zMeasures.optional(),
6075
+ backgroundColor: zBackgroundColor.optional(),
6076
+ color: zColor.optional(),
6077
+ label: zLabel.optional(),
6078
+ legend: zLegend.optional(),
6079
+ tooltip: zTooltip.optional(),
6080
+ theme: zTheme.optional(),
6081
+ locale: zLocale.optional()
6082
+ });
5538
6083
  const zBarPercent = external_zod_namespaceObject.z.object({
5539
6084
  chartType: external_zod_namespaceObject.z.literal('barPercent'),
5540
6085
  dataset: zDataset.optional(),
@@ -5570,6 +6115,19 @@ const zPie = external_zod_namespaceObject.z.object({
5570
6115
  theme: zTheme.optional(),
5571
6116
  locale: zLocale.optional()
5572
6117
  });
6118
+ const zDonut = external_zod_namespaceObject.z.object({
6119
+ chartType: external_zod_namespaceObject.z.literal('donut'),
6120
+ dataset: zDataset.optional(),
6121
+ dimensions: zDimensions.optional(),
6122
+ measures: zMeasures.optional(),
6123
+ backgroundColor: zBackgroundColor.optional(),
6124
+ color: zColor.optional(),
6125
+ label: zLabel.optional(),
6126
+ legend: zLegend.optional(),
6127
+ tooltip: zTooltip.optional(),
6128
+ theme: zTheme.optional(),
6129
+ locale: zLocale.optional()
6130
+ });
5573
6131
  const zArea = external_zod_namespaceObject.z.object({
5574
6132
  chartType: external_zod_namespaceObject.z.literal('area'),
5575
6133
  dataset: zDataset.optional(),
@@ -5616,6 +6174,53 @@ const zAreaPercent = external_zod_namespaceObject.z.object({
5616
6174
  annotationArea: zAnnotationArea.optional(),
5617
6175
  locale: zLocale.optional()
5618
6176
  });
6177
+ const zRoseParallel = external_zod_namespaceObject.z.object({
6178
+ chartType: external_zod_namespaceObject.z.literal('roseParallel'),
6179
+ dataset: zDataset.optional(),
6180
+ dimensions: zDimensions.optional(),
6181
+ measures: zMeasures.optional(),
6182
+ backgroundColor: zBackgroundColor.optional(),
6183
+ color: zColor.optional(),
6184
+ label: zLabel.optional(),
6185
+ legend: zLegend.optional(),
6186
+ tooltip: zTooltip.optional(),
6187
+ theme: zTheme.optional(),
6188
+ locale: zLocale.optional()
6189
+ });
6190
+ const zScatter = external_zod_namespaceObject.z.object({
6191
+ chartType: external_zod_namespaceObject.z.literal('scatter'),
6192
+ dataset: zDataset.optional(),
6193
+ dimensions: zDimensions.optional(),
6194
+ measures: zMeasures.optional(),
6195
+ backgroundColor: zBackgroundColor.optional(),
6196
+ color: zColor.optional(),
6197
+ label: zLabel.optional(),
6198
+ legend: zLegend.optional(),
6199
+ tooltip: zTooltip.optional(),
6200
+ xAxis: zXLinearAxis.optional(),
6201
+ yAxis: zYLinearAxis.optional(),
6202
+ crosshairLine: zCrosshairLine.optional(),
6203
+ theme: zTheme.optional(),
6204
+ pointStyle: zPointStyle.optional(),
6205
+ annotationPoint: zAnnotationPoint.optional(),
6206
+ annotationVerticalLine: zAnnotationVerticalLine.optional(),
6207
+ annotationHorizontalLine: zAnnotationHorizontalLine.optional(),
6208
+ annotationArea: zAnnotationArea.optional(),
6209
+ locale: zLocale.optional()
6210
+ });
6211
+ const zFunnel = external_zod_namespaceObject.z.object({
6212
+ chartType: external_zod_namespaceObject.z.literal('funnel'),
6213
+ dataset: zDataset.optional(),
6214
+ dimensions: zDimensions.optional(),
6215
+ measures: zMeasures.optional(),
6216
+ backgroundColor: zBackgroundColor.optional(),
6217
+ color: zColor.optional(),
6218
+ label: zLabel.optional(),
6219
+ legend: zLegend.optional(),
6220
+ tooltip: zTooltip.optional(),
6221
+ theme: zTheme.optional(),
6222
+ locale: zLocale.optional()
6223
+ });
5619
6224
  const zVSeed = external_zod_namespaceObject.z.discriminatedUnion('chartType', [
5620
6225
  zLine,
5621
6226
  zColumn,
@@ -5626,7 +6231,12 @@ const zVSeed = external_zod_namespaceObject.z.discriminatedUnion('chartType', [
5626
6231
  zBarPercent,
5627
6232
  zArea,
5628
6233
  zAreaPercent,
5629
- zPie
6234
+ zPie,
6235
+ zRose,
6236
+ zRoseParallel,
6237
+ zScatter,
6238
+ zDonut,
6239
+ zFunnel
5630
6240
  ]);
5631
6241
  exports.Builder = __webpack_exports__.Builder;
5632
6242
  exports.FoldMeasureId = __webpack_exports__.FoldMeasureId;
@@ -5658,12 +6268,16 @@ exports.createFormatter = __webpack_exports__.createFormatter;
5658
6268
  exports.createNumFormatter = __webpack_exports__.createNumFormatter;
5659
6269
  exports.darkTheme = __webpack_exports__.darkTheme;
5660
6270
  exports.dataReshapeFor1D1M = __webpack_exports__.dataReshapeFor1D1M;
6271
+ exports.dataReshapeFor1D2M = __webpack_exports__.dataReshapeFor1D2M;
5661
6272
  exports.dataReshapeFor2D1M = __webpack_exports__.dataReshapeFor2D1M;
5662
6273
  exports.donutAdvancedPipeline = __webpack_exports__.donutAdvancedPipeline;
5663
6274
  exports.donutSpecPipeline = __webpack_exports__.donutSpecPipeline;
5664
6275
  exports.execPipeline = __webpack_exports__.execPipeline;
6276
+ exports.findFirstMeasure = __webpack_exports__.findFirstMeasure;
5665
6277
  exports.findMeasureById = __webpack_exports__.findMeasureById;
5666
6278
  exports.foldMeasures = __webpack_exports__.foldMeasures;
6279
+ exports.funnelAdvancedPipeline = __webpack_exports__.funnelAdvancedPipeline;
6280
+ exports.funnelSpecPipeline = __webpack_exports__.funnelSpecPipeline;
5667
6281
  exports.i18n = __webpack_exports__.i18n;
5668
6282
  exports.intl = __webpack_exports__.intl;
5669
6283
  exports.isPivotChart = __webpack_exports__.isPivotChart;
@@ -5691,6 +6305,8 @@ exports.roseAdvancedPipeline = __webpack_exports__.roseAdvancedPipeline;
5691
6305
  exports.roseParallelAdvancedPipeline = __webpack_exports__.roseParallelAdvancedPipeline;
5692
6306
  exports.roseParallelSpecPipeline = __webpack_exports__.roseParallelSpecPipeline;
5693
6307
  exports.roseSpecPipeline = __webpack_exports__.roseSpecPipeline;
6308
+ exports.scatterAdvancedPipeline = __webpack_exports__.scatterAdvancedPipeline;
6309
+ exports.scatterSpecPipeline = __webpack_exports__.scatterSpecPipeline;
5694
6310
  exports.unfoldDimensions = __webpack_exports__.unfoldDimensions;
5695
6311
  exports.zAnnotation = __webpack_exports__.zAnnotation;
5696
6312
  exports.zAnnotationArea = __webpack_exports__.zAnnotationArea;
@@ -5765,12 +6381,16 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
5765
6381
  "createNumFormatter",
5766
6382
  "darkTheme",
5767
6383
  "dataReshapeFor1D1M",
6384
+ "dataReshapeFor1D2M",
5768
6385
  "dataReshapeFor2D1M",
5769
6386
  "donutAdvancedPipeline",
5770
6387
  "donutSpecPipeline",
5771
6388
  "execPipeline",
6389
+ "findFirstMeasure",
5772
6390
  "findMeasureById",
5773
6391
  "foldMeasures",
6392
+ "funnelAdvancedPipeline",
6393
+ "funnelSpecPipeline",
5774
6394
  "i18n",
5775
6395
  "intl",
5776
6396
  "isPivotChart",
@@ -5798,6 +6418,8 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
5798
6418
  "roseParallelAdvancedPipeline",
5799
6419
  "roseParallelSpecPipeline",
5800
6420
  "roseSpecPipeline",
6421
+ "scatterAdvancedPipeline",
6422
+ "scatterSpecPipeline",
5801
6423
  "unfoldDimensions",
5802
6424
  "zAnnotation",
5803
6425
  "zAnnotationArea",