@visactor/vseed 0.0.23 → 0.0.24

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 (39) hide show
  1. package/dist/builder/builder/builder.d.ts +1125 -757
  2. package/dist/builder/register/chartType.d.ts +2 -0
  3. package/dist/dataReshape/dataReshapeFor2D1M0Name.d.ts +19 -0
  4. package/dist/dataReshape/index.d.ts +1 -0
  5. package/dist/dataReshape/unfoldZeroDimensions.d.ts +10 -0
  6. package/dist/index.cjs +586 -117
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.js +541 -105
  9. package/dist/index.js.map +1 -1
  10. package/dist/pipeline/advanced/chart/pipeline/heatmap.d.ts +2 -0
  11. package/dist/pipeline/advanced/chart/pipeline/index.d.ts +2 -0
  12. package/dist/pipeline/advanced/chart/pipeline/radar.d.ts +2 -0
  13. package/dist/pipeline/advanced/chart/pipes/config/config.d.ts +2 -0
  14. package/dist/pipeline/advanced/chart/pipes/encoding/encodingAR.d.ts +2 -0
  15. package/dist/pipeline/advanced/chart/pipes/encoding/index.d.ts +1 -0
  16. package/dist/pipeline/advanced/chart/pipes/reshape/index.d.ts +3 -1
  17. package/dist/pipeline/advanced/chart/pipes/reshape/pivotReshapeTo2D1M0Name.d.ts +8 -0
  18. package/dist/pipeline/advanced/chart/pipes/reshape/reshapeTo2D1M0Name.d.ts +8 -0
  19. package/dist/pipeline/spec/chart/pipeline/heatmap.d.ts +2 -0
  20. package/dist/pipeline/spec/chart/pipeline/index.d.ts +3 -1
  21. package/dist/pipeline/spec/chart/pipeline/radar.d.ts +2 -0
  22. package/dist/pipeline/spec/chart/pipes/axes/index.d.ts +2 -0
  23. package/dist/pipeline/spec/chart/pipes/axes/radarAngle.d.ts +2 -0
  24. package/dist/pipeline/spec/chart/pipes/axes/radarRadius.d.ts +2 -0
  25. package/dist/pipeline/spec/chart/pipes/init/index.d.ts +3 -2
  26. package/dist/pipeline/spec/chart/pipes/{axes/a.d.ts → init/radar.d.ts} +1 -1
  27. package/dist/types/advancedVSeed.d.ts +455 -185
  28. package/dist/types/chartType/heatmap/heatmap.d.ts +207 -0
  29. package/dist/types/chartType/heatmap/index.d.ts +1 -0
  30. package/dist/types/chartType/index.d.ts +4 -2
  31. package/dist/types/chartType/radar/index.d.ts +1 -0
  32. package/dist/types/chartType/radar/radar.d.ts +207 -0
  33. package/dist/types/properties/chartType/chartType.d.ts +10 -6
  34. package/dist/types/properties/config/config.d.ts +519 -238
  35. package/dist/types/properties/theme/customTheme.d.ts +496 -228
  36. package/dist/types/vseed.d.ts +1018 -784
  37. package/dist/umd/index.js +564 -117
  38. package/dist/umd/index.js.map +1 -1
  39. package/package.json +1 -1
package/dist/umd/index.js CHANGED
@@ -31,13 +31,14 @@
31
31
  __webpack_require__.r(__webpack_exports__);
32
32
  __webpack_require__.d(__webpack_exports__, {
33
33
  funnelAdvancedPipeline: ()=>funnelAdvancedPipeline,
34
- zPie: ()=>zPie,
34
+ zHeatmapConfig: ()=>zHeatmapConfig,
35
35
  zBar: ()=>zBar,
36
36
  pieAdvancedPipeline: ()=>pieAdvancedPipeline,
37
37
  execPipeline: ()=>execPipeline,
38
38
  areaSpecPipeline: ()=>areaSpecPipeline,
39
39
  isTable: ()=>isTable,
40
40
  zDonut: ()=>zDonut,
41
+ zPie: ()=>zPie,
41
42
  zRoseConfig: ()=>zRoseConfig,
42
43
  findFirstMeasure: ()=>findFirstMeasure,
43
44
  scatterAdvancedPipeline: ()=>scatterAdvancedPipeline,
@@ -86,31 +87,32 @@
86
87
  zColumnParallelConfig: ()=>zColumnParallelConfig,
87
88
  donutSpecPipeline: ()=>donutSpecPipeline,
88
89
  registerAreaPercent: ()=>registerAreaPercent,
89
- zTheme: ()=>zTheme,
90
+ zHeatmap: ()=>zHeatmap,
90
91
  zBarPercent: ()=>zBarPercent,
92
+ zTheme: ()=>zTheme,
91
93
  zDatum: ()=>zDatum,
92
94
  barAdvancedPipeline: ()=>barAdvancedPipeline,
93
95
  zCustomThemeConfig: ()=>zCustomThemeConfig,
94
96
  registerColumnPercent: ()=>registerColumnPercent,
95
- zCrosshairLine: ()=>zCrosshairLine,
97
+ registerHeatmap: ()=>registerHeatmap,
96
98
  registerAreaRange: ()=>registerAreaRange,
97
99
  roseSpecPipeline: ()=>roseSpecPipeline,
100
+ dataReshapeFor2D1M0Name: ()=>dataReshapeFor2D1M0Name,
98
101
  registerBarPercent: ()=>registerBarPercent,
99
- zPivotTable: ()=>zPivotTable,
100
102
  registerLightTheme: ()=>registerLightTheme,
101
103
  roseAdvancedPipeline: ()=>roseAdvancedPipeline,
102
104
  zBarParallel: ()=>zBarParallel,
103
105
  zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
104
- registerDarkTheme: ()=>registerDarkTheme,
106
+ registerPivotTable: ()=>registerPivotTable,
105
107
  tableAdvancedPipeline: ()=>tableAdvancedPipeline,
108
+ registerDarkTheme: ()=>registerDarkTheme,
106
109
  pieSpecPipeline: ()=>pieSpecPipeline,
107
- registerPivotTable: ()=>registerPivotTable,
108
110
  zChartType: ()=>zChartType,
109
- zMeasureTree: ()=>zMeasureTree,
111
+ zCrosshairLine: ()=>zCrosshairLine,
110
112
  barSpecPipeline: ()=>barSpecPipeline,
111
- zSortAxis: ()=>zSortAxis,
113
+ zMeasureTree: ()=>zMeasureTree,
112
114
  registerRose: ()=>registerRose,
113
- zRose: ()=>zRose,
115
+ zPivotTable: ()=>zPivotTable,
114
116
  unfoldDimensions: ()=>unfoldDimensions,
115
117
  roseParallelAdvancedPipeline: ()=>roseParallelAdvancedPipeline,
116
118
  registerTable: ()=>registerTable,
@@ -120,30 +122,37 @@
120
122
  registerAll: ()=>registerAll,
121
123
  registerBar: ()=>registerBar,
122
124
  isVChart: ()=>isVChart,
125
+ radarSpecPipeline: ()=>radarSpecPipeline,
123
126
  zPieConfig: ()=>zPieConfig,
127
+ zRadar: ()=>zRadar,
128
+ zRose: ()=>zRose,
124
129
  zStackCornerRadius: ()=>zStackCornerRadius,
125
- zTable: ()=>zTable,
126
130
  registerLine: ()=>registerLine,
127
131
  registerCustomTheme: ()=>registerCustomTheme,
128
132
  zColor: ()=>zColor,
129
133
  registerRoseParallel: ()=>registerRoseParallel,
130
134
  registerDonut: ()=>registerDonut,
135
+ heatmapSpecPipeline: ()=>heatmapSpecPipeline,
136
+ heatmapAdvancedPipeline: ()=>heatmapAdvancedPipeline,
131
137
  zDonutConfig: ()=>zDonutConfig,
132
- zMeasureGroup: ()=>zMeasureGroup,
133
- zUnfoldInfo: ()=>zUnfoldInfo,
134
138
  zFunnelConfig: ()=>zFunnelConfig,
139
+ zMeasureGroup: ()=>zMeasureGroup,
135
140
  zMeasures: ()=>zMeasures,
136
141
  FoldMeasureName: ()=>FoldMeasureName,
142
+ zRadarConfig: ()=>zRadarConfig,
137
143
  darkTheme: ()=>darkTheme,
138
144
  createNumFormatter: ()=>createNumFormatter,
139
145
  zAreaConfig: ()=>zAreaConfig,
140
146
  zAxis: ()=>zAxis,
141
147
  isVTable: ()=>isVTable,
148
+ zSortAxis: ()=>zSortAxis,
149
+ zTable: ()=>zTable,
142
150
  zLine: ()=>zLine,
143
151
  columnSpecPipeline: ()=>columnSpecPipeline,
144
152
  UnfoldDimensionGroup: ()=>UnfoldDimensionGroup,
145
153
  zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
146
154
  zFoldInfo: ()=>zFoldInfo,
155
+ zUnfoldInfo: ()=>zUnfoldInfo,
147
156
  zAreaStyle: ()=>zAreaStyle,
148
157
  ORIGINAL_DATA: ()=>ORIGINAL_DATA,
149
158
  zAnnotationArea: ()=>zAnnotationArea,
@@ -167,12 +176,14 @@
167
176
  findMeasureById: ()=>findMeasureById,
168
177
  zVSeed: ()=>zVSeed,
169
178
  areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
179
+ radarAdvancedPipeline: ()=>radarAdvancedPipeline,
170
180
  zBackgroundColor: ()=>zBackgroundColor,
171
181
  zAreaPercentConfig: ()=>zAreaPercentConfig,
172
182
  registerBarParallel: ()=>registerBarParallel,
173
- zMeasure: ()=>zMeasure,
183
+ registerRadar: ()=>registerRadar,
174
184
  zLocale: ()=>zLocale,
175
185
  pivotTableSpecPipeline: ()=>pivotTableSpecPipeline,
186
+ zMeasure: ()=>zMeasure,
176
187
  areaRangeSpecPipeline: ()=>areaRangeSpecPipeline,
177
188
  areaRangeAdvancedPipeline: ()=>areaRangeAdvancedPipeline,
178
189
  zAreaRange: ()=>zAreaRange,
@@ -1614,6 +1625,96 @@
1614
1625
  };
1615
1626
  }
1616
1627
  };
1628
+ const unfoldZeroDimensions = (dataset, measures, measureName, unfoldGroupName = UnfoldDimensionGroup, unfoldGroupId = UnfoldDimensionGroupId)=>{
1629
+ const unfoldInfo = {
1630
+ groupName: unfoldGroupName,
1631
+ groupId: unfoldGroupId,
1632
+ colorItems: [],
1633
+ colorIdMap: {}
1634
+ };
1635
+ if (0 === measures.length) return {
1636
+ dataset,
1637
+ unfoldInfo: {
1638
+ groupName: unfoldGroupName,
1639
+ groupId: unfoldGroupId,
1640
+ colorItems: [],
1641
+ colorIdMap: {}
1642
+ }
1643
+ };
1644
+ const colorItems = [];
1645
+ const colorMap = {};
1646
+ for(let i = 0; i < dataset.length; i++){
1647
+ const datum = dataset[i];
1648
+ const colorName = measureName;
1649
+ const colorId = measureName;
1650
+ datum[unfoldGroupName] = colorName;
1651
+ datum[unfoldGroupId] = colorId;
1652
+ colorItems.push(colorId);
1653
+ colorMap[colorId] = colorName;
1654
+ }
1655
+ unfoldInfo.colorItems = chunk_QJLMYOTX_i(colorItems);
1656
+ unfoldInfo.colorIdMap = colorMap;
1657
+ return {
1658
+ dataset,
1659
+ unfoldInfo
1660
+ };
1661
+ };
1662
+ const dataReshapeFor2D1M0Name_emptyReshapeResult = {
1663
+ dataset: [],
1664
+ foldInfo: {
1665
+ foldMap: {},
1666
+ measureId: '',
1667
+ measureName: '',
1668
+ measureValue: ''
1669
+ },
1670
+ unfoldInfo: {
1671
+ groupName: '',
1672
+ groupId: '',
1673
+ colorItems: [],
1674
+ colorIdMap: {}
1675
+ }
1676
+ };
1677
+ const dataReshapeFor2D1M0Name = (dataset, dimensions, measures, options)=>{
1678
+ const { foldMeasureId = FoldMeasureId, foldMeasureName = FoldMeasureName, foldMeasureValue = FoldMeasureValue, unfoldDimensionGroup = UnfoldDimensionGroup, unfoldDimensionGroupId = UnfoldDimensionGroupId } = options || {};
1679
+ if (0 === dimensions.length && 0 === measures.length) return dataReshapeFor2D1M0Name_emptyReshapeResult;
1680
+ const { dataset: foldedDataset, foldInfo } = foldMeasures(dataset, measures, foldMeasureId, foldMeasureName, foldMeasureValue);
1681
+ if (0 === dimensions.length) {
1682
+ const { dataset: finalDataset, unfoldInfo } = unfoldZeroDimensions(foldedDataset, [
1683
+ {
1684
+ id: foldMeasureValue,
1685
+ alias: i18n`指标值`
1686
+ }
1687
+ ], i18n`指标名称`, unfoldDimensionGroup, unfoldDimensionGroupId);
1688
+ return {
1689
+ dataset: finalDataset,
1690
+ foldInfo,
1691
+ unfoldInfo
1692
+ };
1693
+ }
1694
+ {
1695
+ const onlyOneMeasure = 1 === measures.length;
1696
+ const onlyOneDimension = 1 === dimensions.length;
1697
+ const dims = [
1698
+ ...dimensions
1699
+ ];
1700
+ if (!onlyOneMeasure || onlyOneDimension) dims.push({
1701
+ id: foldMeasureName,
1702
+ alias: i18n`指标名称`,
1703
+ location: 'dimension'
1704
+ });
1705
+ const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(foldedDataset, dims, [
1706
+ {
1707
+ id: foldMeasureValue,
1708
+ alias: i18n`指标值`
1709
+ }
1710
+ ], 1, unfoldDimensionGroup, unfoldDimensionGroupId, foldMeasureId);
1711
+ return {
1712
+ dataset: finalDataset,
1713
+ foldInfo,
1714
+ unfoldInfo
1715
+ };
1716
+ }
1717
+ };
1617
1718
  const reshapeTo2D1M = (advancedVSeed, context)=>{
1618
1719
  const result = {
1619
1720
  ...advancedVSeed
@@ -1638,6 +1739,30 @@
1638
1739
  measures
1639
1740
  };
1640
1741
  };
1742
+ const reshapeTo2D1M0Name = (advancedVSeed, context)=>{
1743
+ const result = {
1744
+ ...advancedVSeed
1745
+ };
1746
+ const { vseed } = context;
1747
+ const { dataset } = vseed;
1748
+ const { dimensions, measures } = advancedVSeed;
1749
+ if (!measures || !dimensions || !dataset) return result;
1750
+ if (0 === measures.length) throw new Error('measures can not be empty');
1751
+ const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M0Name(dataset, dimensions, measures);
1752
+ return {
1753
+ ...result,
1754
+ dataset: newDatasets,
1755
+ datasetReshapeInfo: [
1756
+ {
1757
+ id: '2D1M',
1758
+ foldInfo,
1759
+ unfoldInfo
1760
+ }
1761
+ ],
1762
+ dimensions,
1763
+ measures
1764
+ };
1765
+ };
1641
1766
  const reshapeTo1D1M = (advancedVSeed, context)=>{
1642
1767
  const result = {
1643
1768
  ...advancedVSeed
@@ -1704,7 +1829,7 @@
1704
1829
  ]
1705
1830
  };
1706
1831
  };
1707
- const pivotReshapeTo1D1M = (advancedVSeed, context)=>{
1832
+ const pivotReshapeTo2D1M = (advancedVSeed, context)=>{
1708
1833
  const result = {
1709
1834
  ...advancedVSeed
1710
1835
  };
@@ -1717,14 +1842,14 @@
1717
1842
  if (measures) measures.forEach((measure)=>{
1718
1843
  if (measure.children && measure.children.length > 0) measureGroups.push(measure);
1719
1844
  });
1845
+ const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
1720
1846
  const newDatasets = [];
1721
1847
  const datasetReshapeInfo = [];
1722
1848
  measureGroups.forEach((measureGroup)=>{
1723
1849
  const measures = measureGroup.children;
1724
1850
  if (!measures) return;
1725
- const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
1726
1851
  const groupId = measureGroup.id;
1727
- const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, commonDimensions, measures, {
1852
+ const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {
1728
1853
  foldMeasureId: FoldMeasureId,
1729
1854
  foldMeasureName: FoldMeasureName,
1730
1855
  foldMeasureValue: FoldMeasureValue + groupId,
@@ -1744,7 +1869,47 @@
1744
1869
  datasetReshapeInfo: datasetReshapeInfo
1745
1870
  };
1746
1871
  };
1747
- const pivotReshapeTo1D2M = (advancedVSeed, context)=>{
1872
+ const pivotReshapeTo2D1M0Name = (advancedVSeed, context)=>{
1873
+ const result = {
1874
+ ...advancedVSeed
1875
+ };
1876
+ const { vseed } = context;
1877
+ const { dataset } = vseed;
1878
+ const { measures } = advancedVSeed;
1879
+ const dimensions = advancedVSeed.dimensions;
1880
+ if (!measures || !dimensions) return result;
1881
+ const measureGroups = [];
1882
+ if (measures) measures.forEach((measure)=>{
1883
+ if (measure.children && measure.children.length > 0) measureGroups.push(measure);
1884
+ });
1885
+ const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
1886
+ const newDatasets = [];
1887
+ const datasetReshapeInfo = [];
1888
+ measureGroups.forEach((measureGroup)=>{
1889
+ const measures = measureGroup.children;
1890
+ if (!measures) return;
1891
+ const groupId = measureGroup.id;
1892
+ const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor2D1M0Name(dataset, commonDimensions, measures, {
1893
+ foldMeasureId: FoldMeasureId,
1894
+ foldMeasureName: FoldMeasureName,
1895
+ foldMeasureValue: FoldMeasureValue + groupId,
1896
+ unfoldDimensionGroup: UnfoldDimensionGroup
1897
+ });
1898
+ const reshapeInfo = {
1899
+ id: groupId,
1900
+ foldInfo,
1901
+ unfoldInfo
1902
+ };
1903
+ newDatasets.push(newSubDataset);
1904
+ datasetReshapeInfo.push(reshapeInfo);
1905
+ });
1906
+ return {
1907
+ ...result,
1908
+ dataset: newDatasets,
1909
+ datasetReshapeInfo: datasetReshapeInfo
1910
+ };
1911
+ };
1912
+ const pivotReshapeTo1D1M = (advancedVSeed, context)=>{
1748
1913
  const result = {
1749
1914
  ...advancedVSeed
1750
1915
  };
@@ -1764,7 +1929,7 @@
1764
1929
  if (!measures) return;
1765
1930
  const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
1766
1931
  const groupId = measureGroup.id;
1767
- const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, commonDimensions, measures, {
1932
+ const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, commonDimensions, measures, {
1768
1933
  foldMeasureId: FoldMeasureId,
1769
1934
  foldMeasureName: FoldMeasureName,
1770
1935
  foldMeasureValue: FoldMeasureValue + groupId,
@@ -1784,7 +1949,7 @@
1784
1949
  datasetReshapeInfo: datasetReshapeInfo
1785
1950
  };
1786
1951
  };
1787
- const pivotReshapeTo2D1M = (advancedVSeed, context)=>{
1952
+ const pivotReshapeTo1D2M = (advancedVSeed, context)=>{
1788
1953
  const result = {
1789
1954
  ...advancedVSeed
1790
1955
  };
@@ -1797,14 +1962,14 @@
1797
1962
  if (measures) measures.forEach((measure)=>{
1798
1963
  if (measure.children && measure.children.length > 0) measureGroups.push(measure);
1799
1964
  });
1800
- const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
1801
1965
  const newDatasets = [];
1802
1966
  const datasetReshapeInfo = [];
1803
1967
  measureGroups.forEach((measureGroup)=>{
1804
1968
  const measures = measureGroup.children;
1805
1969
  if (!measures) return;
1970
+ const commonDimensions = dimensions.filter((dim)=>'dimension' === dim.location);
1806
1971
  const groupId = measureGroup.id;
1807
- const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {
1972
+ const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor1D2M(dataset, commonDimensions, measures, {
1808
1973
  foldMeasureId: FoldMeasureId,
1809
1974
  foldMeasureName: FoldMeasureName,
1810
1975
  foldMeasureValue: FoldMeasureValue + groupId,
@@ -2115,6 +2280,43 @@
2115
2280
  encoding
2116
2281
  };
2117
2282
  };
2283
+ const encodingAR = (advancedVSeed)=>{
2284
+ const result = {
2285
+ ...advancedVSeed
2286
+ };
2287
+ const { datasetReshapeInfo, dimensions, measures } = advancedVSeed;
2288
+ if (!datasetReshapeInfo || !dimensions || !measures) return result;
2289
+ const angleDimension = dimensions.find((item)=>'rowDimension' !== item.location && 'columnDimension' !== item.location);
2290
+ const isZeroDimension = 0 === dimensions.length;
2291
+ const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
2292
+ const { foldInfo, unfoldInfo } = cur;
2293
+ const angle = [
2294
+ isZeroDimension ? foldInfo.measureName : angleDimension?.id
2295
+ ];
2296
+ const radius = [
2297
+ foldInfo.measureValue
2298
+ ];
2299
+ const group = [
2300
+ unfoldInfo.groupId
2301
+ ];
2302
+ const color = [
2303
+ unfoldInfo.groupId
2304
+ ];
2305
+ return [
2306
+ ...prev,
2307
+ {
2308
+ angle,
2309
+ radius,
2310
+ group,
2311
+ color
2312
+ }
2313
+ ];
2314
+ }, []);
2315
+ return {
2316
+ ...result,
2317
+ encoding
2318
+ };
2319
+ };
2118
2320
  const encodingFunnel = (advancedVSeed)=>{
2119
2321
  const result = {
2120
2322
  ...advancedVSeed
@@ -2236,6 +2438,8 @@
2236
2438
  const roseConfig = pieConfig;
2237
2439
  const roseParallelConfig = pieConfig;
2238
2440
  const funnelConfig = pieConfig;
2441
+ const heatmapConfig = pieConfig;
2442
+ const radarConfig = pieConfig;
2239
2443
  function chunk_BZNENX2T_r(o) {
2240
2444
  if ("object" != typeof o || null === o) return !1;
2241
2445
  let e = Object.getPrototypeOf(o);
@@ -2425,9 +2629,9 @@
2425
2629
  autoMeasures,
2426
2630
  autoDimensions,
2427
2631
  pivotAdapter([
2428
- reshapeTo2D1M
2632
+ reshapeTo2D1M0Name
2429
2633
  ], [
2430
- pivotReshapeTo2D1M
2634
+ pivotReshapeTo2D1M0Name
2431
2635
  ]),
2432
2636
  encodingXY,
2433
2637
  sortXBandAxis,
@@ -2544,9 +2748,9 @@
2544
2748
  autoMeasures,
2545
2749
  autoDimensions,
2546
2750
  pivotAdapter([
2547
- reshapeTo2D1M
2751
+ reshapeTo2D1M0Name
2548
2752
  ], [
2549
- pivotReshapeTo2D1M
2753
+ pivotReshapeTo2D1M0Name
2550
2754
  ]),
2551
2755
  encodingXY,
2552
2756
  sortXBandAxis,
@@ -2561,9 +2765,9 @@
2561
2765
  autoMeasures,
2562
2766
  autoDimensions,
2563
2767
  pivotAdapter([
2564
- reshapeTo2D1M
2768
+ reshapeTo2D1M0Name
2565
2769
  ], [
2566
- pivotReshapeTo2D1M
2770
+ pivotReshapeTo2D1M0Name
2567
2771
  ]),
2568
2772
  encodingXY,
2569
2773
  sortXBandAxis,
@@ -2676,6 +2880,38 @@
2676
2880
  markStyle_markStyle,
2677
2881
  annotation_annotation
2678
2882
  ];
2883
+ const heatmapAdvancedPipeline = [
2884
+ initAdvancedVSeed,
2885
+ autoMeasures,
2886
+ autoDimensions,
2887
+ pivotAdapter([
2888
+ reshapeTo2D1M
2889
+ ], [
2890
+ pivotReshapeTo2D1M
2891
+ ]),
2892
+ encodingXY,
2893
+ sortXBandAxis,
2894
+ heatmapConfig,
2895
+ theme_theme,
2896
+ markStyle_markStyle,
2897
+ annotation_annotation
2898
+ ];
2899
+ const radarAdvancedPipeline = [
2900
+ initAdvancedVSeed,
2901
+ autoMeasures,
2902
+ autoDimensions,
2903
+ pivotAdapter([
2904
+ reshapeTo2D1M0Name
2905
+ ], [
2906
+ pivotReshapeTo2D1M0Name
2907
+ ]),
2908
+ encodingAR,
2909
+ sort_sortLegend,
2910
+ radarConfig,
2911
+ theme_theme,
2912
+ markStyle_markStyle,
2913
+ annotation_annotation
2914
+ ];
2679
2915
  const autoMeasures_autoMeasures = (advancedVSeed, context)=>{
2680
2916
  const result = {
2681
2917
  ...advancedVSeed
@@ -3260,21 +3496,46 @@
3260
3496
  result.animation = true;
3261
3497
  return result;
3262
3498
  };
3263
- const initPivot = (spec)=>{
3499
+ const initScatter = (spec, context)=>{
3264
3500
  const result = {
3265
3501
  ...spec
3266
3502
  };
3267
- return {
3268
- ...result,
3269
- animation: true,
3270
- rows: [],
3271
- columns: [],
3272
- indicators: [],
3273
- records: [],
3274
- widthMode: 'adaptive',
3275
- heightMode: 'adaptive',
3276
- indicatorsAsCol: false
3503
+ const { advancedVSeed } = context;
3504
+ const { encoding } = advancedVSeed;
3505
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
3506
+ result.type = 'scatter';
3507
+ result.direction = 'vertical';
3508
+ result.xField = encoding[0].x[0];
3509
+ result.yField = encoding[0].y[0];
3510
+ result.seriesField = encoding[0].group[0];
3511
+ result.padding = 0;
3512
+ result.region = [
3513
+ {
3514
+ clip: true
3515
+ }
3516
+ ];
3517
+ result.animation = true;
3518
+ return result;
3519
+ };
3520
+ const initRadar = (spec, context)=>{
3521
+ const result = {
3522
+ ...spec
3277
3523
  };
3524
+ const { advancedVSeed } = context;
3525
+ const { encoding } = advancedVSeed;
3526
+ if (!encoding[0].angle || !encoding[0].radius || !encoding[0].group) return result;
3527
+ result.type = 'radar';
3528
+ result.angleField = encoding[0].angle[0];
3529
+ result.radiusField = encoding[0].radius[0];
3530
+ result.seriesField = encoding[0].group[0];
3531
+ result.padding = 0;
3532
+ result.region = [
3533
+ {
3534
+ clip: true
3535
+ }
3536
+ ];
3537
+ result.animation = true;
3538
+ return result;
3278
3539
  };
3279
3540
  const initFunnel = (spec, context)=>{
3280
3541
  const result = {
@@ -3305,34 +3566,29 @@
3305
3566
  fillOpacity: 0.6
3306
3567
  }
3307
3568
  }
3308
- };
3309
- result.transformLabel = {
3310
- visible: true
3311
- };
3312
- result.animation = true;
3313
- return result;
3314
- };
3315
- const initScatter = (spec, context)=>{
3316
- const result = {
3317
- ...spec
3318
- };
3319
- const { advancedVSeed } = context;
3320
- const { encoding } = advancedVSeed;
3321
- if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
3322
- result.type = 'scatter';
3323
- result.direction = 'vertical';
3324
- result.xField = encoding[0].x[0];
3325
- result.yField = encoding[0].y[0];
3326
- result.seriesField = encoding[0].group[0];
3327
- result.padding = 0;
3328
- result.region = [
3329
- {
3330
- clip: true
3331
- }
3332
- ];
3569
+ };
3570
+ result.transformLabel = {
3571
+ visible: true
3572
+ };
3333
3573
  result.animation = true;
3334
3574
  return result;
3335
3575
  };
3576
+ const initPivot = (spec)=>{
3577
+ const result = {
3578
+ ...spec
3579
+ };
3580
+ return {
3581
+ ...result,
3582
+ animation: true,
3583
+ rows: [],
3584
+ columns: [],
3585
+ indicators: [],
3586
+ records: [],
3587
+ widthMode: 'adaptive',
3588
+ heightMode: 'adaptive',
3589
+ indicatorsAsCol: false
3590
+ };
3591
+ };
3336
3592
  const xBand = (spec, context)=>{
3337
3593
  const result = {
3338
3594
  ...spec
@@ -3694,7 +3950,7 @@
3694
3950
  };
3695
3951
  const { advancedVSeed } = context;
3696
3952
  const { dimensions, measures } = advancedVSeed;
3697
- if (!dimensions || !measures) return spec;
3953
+ if (!dimensions || !measures) return result;
3698
3954
  const is0D = 0 === dimensions.length;
3699
3955
  const is1M1D = 1 === dimensions.length && 1 === measures.length;
3700
3956
  const showAxis = !(is0D || is1M1D);
@@ -3725,7 +3981,7 @@
3725
3981
  };
3726
3982
  const { advancedVSeed } = context;
3727
3983
  const { dimensions, measures } = advancedVSeed;
3728
- if (!dimensions || !measures) return spec;
3984
+ if (!dimensions || !measures) return result;
3729
3985
  const is0D = 0 === dimensions.length;
3730
3986
  const is1M1D = 1 === dimensions.length && 1 === measures.length;
3731
3987
  const showAxis = !(is0D || is1M1D);
@@ -3761,6 +4017,59 @@
3761
4017
  });
3762
4018
  return result;
3763
4019
  };
4020
+ const radarAngleAxis = (spec, context)=>{
4021
+ const result = {
4022
+ ...spec
4023
+ };
4024
+ const { advancedVSeed } = context;
4025
+ const { dimensions, measures } = advancedVSeed;
4026
+ if (!dimensions || !measures) return result;
4027
+ if (!result.axes) result.axes = [];
4028
+ result.axes.push({
4029
+ orient: 'angle',
4030
+ visible: true,
4031
+ zero: true,
4032
+ nice: true,
4033
+ grid: {
4034
+ visible: true
4035
+ },
4036
+ domainLine: {
4037
+ visible: true
4038
+ },
4039
+ tick: {
4040
+ visible: true
4041
+ }
4042
+ });
4043
+ return result;
4044
+ };
4045
+ const radarRadiusAxis = (spec, context)=>{
4046
+ const result = {
4047
+ ...spec
4048
+ };
4049
+ const { advancedVSeed } = context;
4050
+ const { dimensions, measures } = advancedVSeed;
4051
+ if (!dimensions || !measures) return result;
4052
+ if (!result.axes) result.axes = [];
4053
+ result.axes.push({
4054
+ orient: 'radius',
4055
+ visible: true,
4056
+ zero: true,
4057
+ nice: true,
4058
+ grid: {
4059
+ visible: true
4060
+ },
4061
+ tick: {
4062
+ visible: true
4063
+ },
4064
+ label: {
4065
+ visible: true
4066
+ },
4067
+ domainLine: {
4068
+ visible: true
4069
+ }
4070
+ });
4071
+ return result;
4072
+ };
3764
4073
  const percent = (spec, context)=>{
3765
4074
  const result = {
3766
4075
  ...spec
@@ -3807,7 +4116,9 @@
3807
4116
  const { advancedVSeed } = context;
3808
4117
  const { measures, datasetReshapeInfo, chartType } = advancedVSeed;
3809
4118
  const baseConfig = advancedVSeed.config[chartType];
3810
- const { tooltip } = baseConfig;
4119
+ const { tooltip = {
4120
+ enable: true
4121
+ } } = baseConfig;
3811
4122
  const { enable } = tooltip;
3812
4123
  const { measureId, measureValue } = datasetReshapeInfo[0].foldInfo;
3813
4124
  const { groupName } = datasetReshapeInfo[0].unfoldInfo;
@@ -5891,6 +6202,55 @@
5891
6202
  const areaRangeSpecPipeline = [
5892
6203
  pivotAdapter_pivotAdapter(areaRange, pivotAreaRange)
5893
6204
  ];
6205
+ const scatter = [
6206
+ initScatter,
6207
+ color_color,
6208
+ background_backgroundColor,
6209
+ dataset_dataset,
6210
+ xLinear,
6211
+ yLinear,
6212
+ label_label,
6213
+ tooltip_tooltip,
6214
+ verticalCrosshairLine,
6215
+ horizontalCrosshairLine,
6216
+ discreteLegend,
6217
+ pointStyle_pointStyle,
6218
+ pointStateHover,
6219
+ annotationPoint_annotationPoint,
6220
+ annotationVerticalLine_annotationVerticalLine,
6221
+ annotationHorizontalLine_annotationHorizontalLine,
6222
+ annotationArea_annotationArea
6223
+ ];
6224
+ const pivotScatter = [
6225
+ initPivot,
6226
+ pivotGridStyle,
6227
+ pivotIndicators_pivotIndicatorsAsRow,
6228
+ datasetPivot,
6229
+ pivotIndicators([
6230
+ initScatter,
6231
+ color_color,
6232
+ background_backgroundColor,
6233
+ dataset_dataset,
6234
+ xLinear,
6235
+ yLinear,
6236
+ label_label,
6237
+ tooltip_tooltip,
6238
+ verticalCrosshairLine,
6239
+ horizontalCrosshairLine,
6240
+ pointStyle_pointStyle,
6241
+ pointStateHover,
6242
+ annotationPoint_annotationPoint,
6243
+ annotationVerticalLine_annotationVerticalLine,
6244
+ annotationHorizontalLine_annotationHorizontalLine,
6245
+ annotationArea_annotationArea
6246
+ ]),
6247
+ pivotRowDimensions,
6248
+ pivotColumnDimensions,
6249
+ pivotDiscreteLegend
6250
+ ];
6251
+ const scatterSpecPipeline = [
6252
+ pivotAdapter_pivotAdapter(scatter, pivotScatter)
6253
+ ];
5894
6254
  const pie = [
5895
6255
  initPie,
5896
6256
  color_color,
@@ -6049,6 +6409,49 @@
6049
6409
  const roseParallelSpecPipeline = [
6050
6410
  pivotAdapter_pivotAdapter(roseParallel, pivotRoseParallel)
6051
6411
  ];
6412
+ const radar = [
6413
+ initRadar,
6414
+ color_color,
6415
+ background_backgroundColor,
6416
+ dataset_dataset,
6417
+ radarAngleAxis,
6418
+ radarRadiusAxis,
6419
+ label_label,
6420
+ tooltip_tooltip,
6421
+ verticalCrosshairLine,
6422
+ discreteLegend,
6423
+ pointStyle_pointStyle,
6424
+ pointStateDimensionHover,
6425
+ lineStyle_lineStyle,
6426
+ areaStyle_areaStyle
6427
+ ];
6428
+ const pivotRadar = [
6429
+ initPivot,
6430
+ pivotGridStyle,
6431
+ pivotIndicators_pivotIndicatorsAsRow,
6432
+ datasetPivot,
6433
+ pivotIndicators([
6434
+ initRadar,
6435
+ color_color,
6436
+ background_backgroundColor,
6437
+ dataset_dataset,
6438
+ radarAngleAxis,
6439
+ radarRadiusAxis,
6440
+ label_label,
6441
+ tooltip_tooltip,
6442
+ verticalCrosshairLine,
6443
+ pointStyle_pointStyle,
6444
+ pointStateDimensionHover,
6445
+ lineStyle_lineStyle,
6446
+ areaStyle_areaStyle
6447
+ ]),
6448
+ pivotRowDimensions,
6449
+ pivotColumnDimensions,
6450
+ pivotDiscreteLegend
6451
+ ];
6452
+ const radarSpecPipeline = [
6453
+ pivotAdapter_pivotAdapter(radar, pivotRadar)
6454
+ ];
6052
6455
  const funnel = [
6053
6456
  initFunnel,
6054
6457
  color_color,
@@ -6086,43 +6489,43 @@
6086
6489
  const funnelSpecPipeline = [
6087
6490
  pivotAdapter_pivotAdapter(funnel, pivotFunnel)
6088
6491
  ];
6089
- const scatter = [
6090
- initScatter,
6492
+ const heatmap = [
6493
+ initLine,
6091
6494
  color_color,
6092
6495
  background_backgroundColor,
6093
6496
  dataset_dataset,
6094
- xLinear,
6497
+ xBand,
6095
6498
  yLinear,
6096
6499
  label_label,
6097
6500
  tooltip_tooltip,
6098
6501
  verticalCrosshairLine,
6099
- horizontalCrosshairLine,
6100
6502
  discreteLegend,
6101
6503
  pointStyle_pointStyle,
6102
- pointStateHover,
6504
+ pointStateDimensionHover,
6505
+ lineStyle_lineStyle,
6103
6506
  annotationPoint_annotationPoint,
6104
6507
  annotationVerticalLine_annotationVerticalLine,
6105
6508
  annotationHorizontalLine_annotationHorizontalLine,
6106
6509
  annotationArea_annotationArea
6107
6510
  ];
6108
- const pivotScatter = [
6511
+ const pivotHeatmap = [
6109
6512
  initPivot,
6110
6513
  pivotGridStyle,
6111
6514
  pivotIndicators_pivotIndicatorsAsRow,
6112
6515
  datasetPivot,
6113
6516
  pivotIndicators([
6114
- initScatter,
6517
+ initLine,
6115
6518
  color_color,
6116
6519
  background_backgroundColor,
6117
6520
  dataset_dataset,
6118
- xLinear,
6521
+ xBand,
6119
6522
  yLinear,
6120
6523
  label_label,
6121
6524
  tooltip_tooltip,
6122
6525
  verticalCrosshairLine,
6123
- horizontalCrosshairLine,
6124
6526
  pointStyle_pointStyle,
6125
- pointStateHover,
6527
+ pointStateDimensionHover,
6528
+ lineStyle_lineStyle,
6126
6529
  annotationPoint_annotationPoint,
6127
6530
  annotationVerticalLine_annotationVerticalLine,
6128
6531
  annotationHorizontalLine_annotationHorizontalLine,
@@ -6132,8 +6535,8 @@
6132
6535
  pivotColumnDimensions,
6133
6536
  pivotDiscreteLegend
6134
6537
  ];
6135
- const scatterSpecPipeline = [
6136
- pivotAdapter_pivotAdapter(scatter, pivotScatter)
6538
+ const heatmapSpecPipeline = [
6539
+ pivotAdapter_pivotAdapter(heatmap, pivotHeatmap)
6137
6540
  ];
6138
6541
  const initTable = (spec, context)=>{
6139
6542
  const { advancedVSeed } = context;
@@ -7065,6 +7468,14 @@
7065
7468
  Builder._advancedPipelineMap.pivotTable = pivotTableAdvancedPipeline;
7066
7469
  Builder._specPipelineMap.pivotTable = pivotTableSpecPipeline;
7067
7470
  };
7471
+ const registerHeatmap = ()=>{
7472
+ Builder._advancedPipelineMap.heatmap = heatmapAdvancedPipeline;
7473
+ Builder._specPipelineMap.heatmap = heatmapSpecPipeline;
7474
+ };
7475
+ const registerRadar = ()=>{
7476
+ Builder._advancedPipelineMap.radar = radarAdvancedPipeline;
7477
+ Builder._specPipelineMap.radar = radarSpecPipeline;
7478
+ };
7068
7479
  const lightTheme = ()=>{
7069
7480
  const linearAxis = {
7070
7481
  nice: true,
@@ -7339,6 +7750,9 @@
7339
7750
  donut: {
7340
7751
  ...baseConfig
7341
7752
  },
7753
+ radar: {
7754
+ ...baseConfig
7755
+ },
7342
7756
  rose: {
7343
7757
  ...baseConfig
7344
7758
  },
@@ -7638,6 +8052,9 @@
7638
8052
  donut: {
7639
8053
  ...baseConfig
7640
8054
  },
8055
+ radar: {
8056
+ ...baseConfig
8057
+ },
7641
8058
  rose: {
7642
8059
  ...baseConfig
7643
8060
  },
@@ -7678,6 +8095,8 @@
7678
8095
  registerCustomTheme('dark', darkTheme());
7679
8096
  };
7680
8097
  const registerAll = ()=>{
8098
+ registerTable();
8099
+ registerPivotTable();
7681
8100
  registerLine();
7682
8101
  registerColumn();
7683
8102
  registerColumnParallel();
@@ -7688,14 +8107,14 @@
7688
8107
  registerArea();
7689
8108
  registerAreaPercent();
7690
8109
  registerAreaRange();
8110
+ registerScatter();
7691
8111
  registerPie();
7692
8112
  registerDonut();
7693
8113
  registerRose();
7694
8114
  registerRoseParallel();
8115
+ registerRadar();
7695
8116
  registerFunnel();
7696
- registerScatter();
7697
- registerTable();
7698
- registerPivotTable();
8117
+ registerHeatmap();
7699
8118
  registerLightTheme();
7700
8119
  registerDarkTheme();
7701
8120
  };
@@ -12523,13 +12942,15 @@
12523
12942
  'area',
12524
12943
  'areaPercent',
12525
12944
  'areaRange',
12945
+ 'scatter',
12946
+ 'dualAxis',
12526
12947
  'rose',
12527
12948
  'roseParallel',
12528
12949
  'pie',
12529
12950
  'donut',
12530
- 'dualAxis',
12531
- 'scatter',
12532
- 'funnel'
12951
+ 'radar',
12952
+ 'funnel',
12953
+ 'heatmap'
12533
12954
  ]);
12534
12955
  const zDatum = record(schemas_string().or(schemas_number()), any());
12535
12956
  const zDataset = schemas_array(zDatum);
@@ -12854,22 +13275,6 @@
12854
13275
  });
12855
13276
  const zAreaPercentConfig = zAreaConfig;
12856
13277
  const zAreaRangeConfig = zAreaConfig;
12857
- const zRoseConfig = schemas_object({
12858
- backgroundColor: zBackgroundColor.optional(),
12859
- label: zLabel.optional(),
12860
- color: zColor.optional(),
12861
- tooltip: zTooltip.optional(),
12862
- legend: zLegend.optional()
12863
- });
12864
- const zRoseParallelConfig = zRoseConfig;
12865
- const zPieConfig = schemas_object({
12866
- backgroundColor: zBackgroundColor.optional(),
12867
- label: zLabel.optional(),
12868
- color: zColor.optional(),
12869
- tooltip: zTooltip.optional(),
12870
- legend: zLegend.optional()
12871
- });
12872
- const zDonutConfig = zPieConfig;
12873
13278
  const zDualAxisConfig = schemas_object({
12874
13279
  backgroundColor: zBackgroundColor.optional(),
12875
13280
  label: zLabel.optional(),
@@ -12887,13 +13292,25 @@
12887
13292
  yAxis: zYLinearAxis.optional(),
12888
13293
  crosshairLine: zCrosshairLine.optional()
12889
13294
  });
12890
- const zFunnelConfig = schemas_object({
13295
+ const zRoseConfig = schemas_object({
12891
13296
  backgroundColor: zBackgroundColor.optional(),
13297
+ label: zLabel.optional(),
12892
13298
  color: zColor.optional(),
12893
13299
  tooltip: zTooltip.optional(),
13300
+ legend: zLegend.optional()
13301
+ });
13302
+ const zRoseParallelConfig = zRoseConfig;
13303
+ const zPieConfig = schemas_object({
13304
+ backgroundColor: zBackgroundColor.optional(),
12894
13305
  label: zLabel.optional(),
13306
+ color: zColor.optional(),
13307
+ tooltip: zTooltip.optional(),
12895
13308
  legend: zLegend.optional()
12896
13309
  });
13310
+ const zDonutConfig = zPieConfig;
13311
+ const zRadarConfig = zPieConfig;
13312
+ const zFunnelConfig = zPieConfig;
13313
+ const zHeatmapConfig = zPieConfig;
12897
13314
  const zConfig = schemas_object({
12898
13315
  table: zTableConfig.optional(),
12899
13316
  pivotTable: zPivotTableConfig.optional(),
@@ -12907,13 +13324,15 @@
12907
13324
  area: zAreaConfig.optional(),
12908
13325
  areaPercent: zAreaPercentConfig.optional(),
12909
13326
  areaRange: zAreaRangeConfig.optional(),
13327
+ dualAxis: zDualAxisConfig.optional(),
13328
+ scatter: zScatterConfig.optional(),
12910
13329
  rose: zRoseConfig.optional(),
12911
13330
  roseParallel: zRoseParallelConfig.optional(),
12912
13331
  pie: zPieConfig.optional(),
12913
13332
  donut: zDonutConfig.optional(),
12914
- dualAxis: zDualAxisConfig.optional(),
12915
- scatter: zScatterConfig.optional(),
12916
- funnel: zFunnelConfig.optional()
13333
+ radar: zRadarConfig.optional(),
13334
+ funnel: zFunnelConfig.optional(),
13335
+ heatmap: zHeatmapConfig.optional()
12917
13336
  });
12918
13337
  const zAxis = schemas_object({
12919
13338
  visible: schemas_boolean().default(true).optional(),
@@ -19241,6 +19660,27 @@
19241
19660
  annotationArea: schemas_array(zAnnotationArea).or(zAnnotationArea).optional(),
19242
19661
  locale: zLocale.optional()
19243
19662
  });
19663
+ const zScatter = schemas_object({
19664
+ chartType: literal('scatter'),
19665
+ dataset: zDataset.optional(),
19666
+ dimensions: zDimensions.optional(),
19667
+ measures: zMeasureTree.optional(),
19668
+ backgroundColor: zBackgroundColor.optional(),
19669
+ color: zColor.optional(),
19670
+ label: zLabel.optional(),
19671
+ legend: zLegend.optional(),
19672
+ tooltip: zTooltip.optional(),
19673
+ xAxis: zXLinearAxis.optional(),
19674
+ yAxis: zYLinearAxis.optional(),
19675
+ crosshairLine: zCrosshairLine.optional(),
19676
+ theme: zTheme.optional(),
19677
+ pointStyle: zPointStyle.optional(),
19678
+ annotationPoint: schemas_array(zAnnotationPoint).or(zAnnotationPoint).optional(),
19679
+ annotationVerticalLine: schemas_array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),
19680
+ annotationHorizontalLine: schemas_array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),
19681
+ annotationArea: schemas_array(zAnnotationArea).or(zAnnotationArea).optional(),
19682
+ locale: zLocale.optional()
19683
+ });
19244
19684
  const zRose = schemas_object({
19245
19685
  chartType: literal('rose'),
19246
19686
  dataset: zDataset.optional(),
@@ -19293,8 +19733,8 @@
19293
19733
  theme: zTheme.optional(),
19294
19734
  locale: zLocale.optional()
19295
19735
  });
19296
- const zScatter = schemas_object({
19297
- chartType: literal('scatter'),
19736
+ const zRadar = schemas_object({
19737
+ chartType: literal('radar'),
19298
19738
  dataset: zDataset.optional(),
19299
19739
  dimensions: zDimensions.optional(),
19300
19740
  measures: zMeasureTree.optional(),
@@ -19303,15 +19743,7 @@
19303
19743
  label: zLabel.optional(),
19304
19744
  legend: zLegend.optional(),
19305
19745
  tooltip: zTooltip.optional(),
19306
- xAxis: zXLinearAxis.optional(),
19307
- yAxis: zYLinearAxis.optional(),
19308
- crosshairLine: zCrosshairLine.optional(),
19309
19746
  theme: zTheme.optional(),
19310
- pointStyle: zPointStyle.optional(),
19311
- annotationPoint: schemas_array(zAnnotationPoint).or(zAnnotationPoint).optional(),
19312
- annotationVerticalLine: schemas_array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).optional(),
19313
- annotationHorizontalLine: schemas_array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).optional(),
19314
- annotationArea: schemas_array(zAnnotationArea).or(zAnnotationArea).optional(),
19315
19747
  locale: zLocale.optional()
19316
19748
  });
19317
19749
  const zFunnel = schemas_object({
@@ -19327,6 +19759,19 @@
19327
19759
  theme: zTheme.optional(),
19328
19760
  locale: zLocale.optional()
19329
19761
  });
19762
+ const zHeatmap = schemas_object({
19763
+ chartType: literal('heatmap'),
19764
+ dataset: zDataset.optional(),
19765
+ dimensions: zDimensions.optional(),
19766
+ measures: zMeasureTree.optional(),
19767
+ backgroundColor: zBackgroundColor.optional(),
19768
+ color: zColor.optional(),
19769
+ label: zLabel.optional(),
19770
+ legend: zLegend.optional(),
19771
+ tooltip: zTooltip.optional(),
19772
+ theme: zTheme.optional(),
19773
+ locale: zLocale.optional()
19774
+ });
19330
19775
  const zVSeed = discriminatedUnion('chartType', [
19331
19776
  zTable,
19332
19777
  zPivotTable,
@@ -19340,12 +19785,14 @@
19340
19785
  zArea,
19341
19786
  zAreaPercent,
19342
19787
  zAreaRange,
19788
+ zScatter,
19343
19789
  zPie,
19790
+ zDonut,
19344
19791
  zRose,
19345
19792
  zRoseParallel,
19346
- zScatter,
19347
- zDonut,
19348
- zFunnel
19793
+ zRadar,
19794
+ zFunnel,
19795
+ zHeatmap
19349
19796
  ]);
19350
19797
  const zAdvancedVSeed = schemas_object({
19351
19798
  chartType: zChartType,