@visactor/vseed 0.0.11 → 0.0.12

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 (54) hide show
  1. package/dist/builder/builder/builder.d.ts +4336 -477
  2. package/dist/builder/register/theme.d.ts +4 -1
  3. package/dist/dataSelector/selector.d.ts +1 -1
  4. package/dist/index.cjs +907 -174
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +877 -174
  7. package/dist/index.js.map +1 -1
  8. package/dist/pipeline/advanced/pipes/config/config.d.ts +3 -3
  9. package/dist/pipeline/constant.d.ts +2 -0
  10. package/dist/pipeline/spec/pipes/crosshair/horizontalCrosshairRect.d.ts +2 -0
  11. package/dist/pipeline/spec/pipes/crosshair/index.d.ts +3 -0
  12. package/dist/pipeline/spec/pipes/crosshair/verticalCrosshairLine.d.ts +2 -0
  13. package/dist/pipeline/spec/pipes/crosshair/verticalCrosshairRect.d.ts +2 -0
  14. package/dist/pipeline/spec/pipes/index.d.ts +1 -0
  15. package/dist/pipeline/spec/pipes/markStyle/areaStyle.d.ts +2 -0
  16. package/dist/pipeline/spec/pipes/markStyle/index.d.ts +3 -0
  17. package/dist/pipeline/spec/pipes/markStyle/lineStyle.d.ts +2 -0
  18. package/dist/pipeline/spec/pipes/markStyle/pointStyle.d.ts +2 -0
  19. package/dist/pipeline/spec/pipes/stack/index.d.ts +1 -0
  20. package/dist/pipeline/spec/pipes/stack/stackCornerRadius.d.ts +2 -0
  21. package/dist/pipeline/utils/chatType.d.ts +16 -16
  22. package/dist/pipeline/utils/format/createFormatter.d.ts +2 -0
  23. package/dist/pipeline/utils/format/createNumFormatter.d.ts +2 -0
  24. package/dist/pipeline/utils/format/index.d.ts +2 -0
  25. package/dist/pipeline/utils/index.d.ts +4 -2
  26. package/dist/pipeline/utils/measures/findMeasureById.d.ts +2 -0
  27. package/dist/pipeline/utils/measures/index.d.ts +1 -0
  28. package/dist/types/advancedVSeed.d.ts +2441 -320
  29. package/dist/types/chartType/area/area.d.ts +33 -1
  30. package/dist/types/chartType/areaPercent/areaPercent.d.ts +36 -4
  31. package/dist/types/chartType/bar/bar.d.ts +13 -2
  32. package/dist/types/chartType/barParallel/barParallel.d.ts +13 -2
  33. package/dist/types/chartType/barPercent/barPercent.d.ts +13 -2
  34. package/dist/types/chartType/column/column.d.ts +13 -2
  35. package/dist/types/chartType/columnParallel/columnParallel.d.ts +13 -2
  36. package/dist/types/chartType/columnPercent/columnPercent.d.ts +13 -2
  37. package/dist/types/chartType/line/line.d.ts +27 -4
  38. package/dist/types/properties/config/config.d.ts +105 -36
  39. package/dist/types/properties/config/crosshair.d.ts +17 -0
  40. package/dist/types/properties/config/index.d.ts +2 -0
  41. package/dist/types/properties/config/stackCornerRadius.d.ts +3 -0
  42. package/dist/types/properties/markStyle/areaStyle.d.ts +129 -0
  43. package/dist/types/properties/markStyle/index.d.ts +3 -0
  44. package/dist/types/properties/markStyle/lineStyle.d.ts +160 -0
  45. package/dist/types/properties/markStyle/markStyle.d.ts +543 -2
  46. package/dist/types/properties/markStyle/pointStyle.d.ts +168 -0
  47. package/dist/types/properties/measures/format/formatter.d.ts +1 -0
  48. package/dist/types/properties/measures/format/index.d.ts +2 -0
  49. package/dist/types/properties/measures/format/numFormat.d.ts +20 -0
  50. package/dist/types/properties/measures/index.d.ts +2 -2
  51. package/dist/types/properties/measures/measures.d.ts +40 -40
  52. package/dist/types/properties/theme/customTheme.d.ts +3094 -72
  53. package/dist/types/vseed.d.ts +20 -20
  54. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -27,6 +27,7 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  registerBar: ()=>registerBar,
28
28
  isVChart: ()=>isVChart,
29
29
  zBaseConfig: ()=>zBaseConfig,
30
+ zTooltip: ()=>zTooltip,
30
31
  pieAdvancedPipeline: ()=>pieAdvancedPipeline,
31
32
  execPipeline: ()=>execPipeline,
32
33
  areaSpecPipeline: ()=>areaSpecPipeline,
@@ -36,8 +37,10 @@ __webpack_require__.d(__webpack_exports__, {
36
37
  zMeasureGroup: ()=>zMeasureGroup,
37
38
  zUnfoldInfo: ()=>zUnfoldInfo,
38
39
  zMeasures: ()=>zMeasures,
40
+ zCrosshairRect: ()=>zCrosshairRect,
39
41
  FoldMeasureName: ()=>FoldMeasureName,
40
42
  darkTheme: ()=>darkTheme,
43
+ createNumFormatter: ()=>createNumFormatter,
41
44
  columnPercentAdvancedPipeline: ()=>columnPercentAdvancedPipeline,
42
45
  zAxis: ()=>zAxis,
43
46
  isVTable: ()=>isVTable,
@@ -47,6 +50,7 @@ __webpack_require__.d(__webpack_exports__, {
47
50
  zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
48
51
  zFoldInfo: ()=>zFoldInfo,
49
52
  zYBandAxis: ()=>zYBandAxis,
53
+ zAreaStyle: ()=>zAreaStyle,
50
54
  ORIGINAL_DATA: ()=>ORIGINAL_DATA,
51
55
  zAnnotationHorizontalLine: ()=>zAnnotationHorizontalLine,
52
56
  zAnnotationArea: ()=>zAnnotationArea,
@@ -61,12 +65,16 @@ __webpack_require__.d(__webpack_exports__, {
61
65
  lightTheme: ()=>lightTheme,
62
66
  registerColumnParallel: ()=>registerColumnParallel,
63
67
  zDimension: ()=>zDimension,
68
+ zPointStyle: ()=>zPointStyle,
64
69
  isPivotChart: ()=>isPivotChart,
65
70
  zCustomTheme: ()=>zCustomTheme,
71
+ zLineStyle: ()=>zLineStyle,
66
72
  zXBandAxis: ()=>zXBandAxis,
67
73
  dataReshapeFor1D1M: ()=>dataReshapeFor1D1M,
68
74
  registerArea: ()=>registerArea,
75
+ findMeasureById: ()=>findMeasureById,
69
76
  zDataset: ()=>zDataset,
77
+ zNumFormat: ()=>zNumFormat,
70
78
  barPercentAdvancedPipeline: ()=>barPercentAdvancedPipeline,
71
79
  areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
72
80
  zBackgroundColor: ()=>zBackgroundColor,
@@ -87,11 +95,13 @@ __webpack_require__.d(__webpack_exports__, {
87
95
  columnParallelAdvancedPipeline: ()=>columnParallelAdvancedPipeline,
88
96
  registerColumnPercent: ()=>registerColumnPercent,
89
97
  registerBarPercent: ()=>registerBarPercent,
98
+ zCrosshairLine: ()=>zCrosshairLine,
90
99
  foldMeasures: ()=>foldMeasures,
91
100
  dataReshapeFor2D1M: ()=>dataReshapeFor2D1M,
92
101
  registerLightTheme: ()=>registerLightTheme,
93
- zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
102
+ zStackCornerRadius: ()=>zStackCornerRadius,
94
103
  registerDarkTheme: ()=>registerDarkTheme,
104
+ zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
95
105
  barParallelAdvancedPipeline: ()=>barParallelAdvancedPipeline,
96
106
  FoldMeasureValue: ()=>FoldMeasureValue,
97
107
  barPercentSpecPipeline: ()=>barPercentSpecPipeline,
@@ -100,7 +110,7 @@ __webpack_require__.d(__webpack_exports__, {
100
110
  barSpecPipeline: ()=>barSpecPipeline,
101
111
  lineSpecPipeline: ()=>lineSpecPipeline,
102
112
  zChartType: ()=>zChartType,
103
- zTooltip: ()=>zTooltip,
113
+ createFormatter: ()=>createFormatter,
104
114
  unfoldDimensions: ()=>unfoldDimensions,
105
115
  areaAdvancedPipeline: ()=>areaAdvancedPipeline,
106
116
  areaPercentSpecPipeline: ()=>areaPercentSpecPipeline,
@@ -178,16 +188,16 @@ const autoMeasureGroup = (advancedVSeed, context)=>{
178
188
  const measureGroups = [];
179
189
  for (const measure of measures)if ('children' in measure) {
180
190
  if (currentGroup.children?.length) {
181
- currentGroup.id = currentGroup.children.map((item)=>item.id).join('-');
182
191
  currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
192
+ currentGroup.id = currentGroup.alias + currentGroup.children.map((item)=>item.id).join('-');
183
193
  measureGroups.push(currentGroup);
184
194
  currentGroup = createEmptyMeasureGroup();
185
195
  }
186
196
  measureGroups.push(measure);
187
197
  } else currentGroup.children?.push(measure);
188
198
  if (currentGroup.children?.length) {
189
- currentGroup.id = currentGroup.children.map((item)=>item.id).join('-');
190
199
  currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
200
+ currentGroup.id = currentGroup.alias + currentGroup.children.map((item)=>item.id).join('-');
191
201
  measureGroups.push(currentGroup);
192
202
  currentGroup = createEmptyMeasureGroup();
193
203
  }
@@ -671,7 +681,28 @@ const lineConfig = (advancedVSeed, context)=>{
671
681
  };
672
682
  const config = (0, external_remeda_namespaceObject.pick)(vseed, [
673
683
  'xAxis',
674
- 'yAxis'
684
+ 'yAxis',
685
+ 'crosshairLine'
686
+ ]);
687
+ result.config = {
688
+ ...result.config || {},
689
+ [chartType]: {
690
+ ...config
691
+ }
692
+ };
693
+ return result;
694
+ };
695
+ const columnConfig = (advancedVSeed, context)=>{
696
+ const { vseed } = context;
697
+ const { chartType } = vseed;
698
+ const result = {
699
+ ...advancedVSeed
700
+ };
701
+ const config = (0, external_remeda_namespaceObject.pick)(vseed, [
702
+ 'xAxis',
703
+ 'yAxis',
704
+ 'crosshairRect',
705
+ 'stackCornerRadius'
675
706
  ]);
676
707
  result.config = {
677
708
  ...result.config || {},
@@ -696,14 +727,13 @@ const pieConfig = (advancedVSeed, context)=>{
696
727
  };
697
728
  return result;
698
729
  };
699
- const barConfig = lineConfig;
700
- const barParallelConfig = lineConfig;
701
- const barPercentConfig = lineConfig;
702
- const columnConfig = lineConfig;
703
- const columnParallelConfig = lineConfig;
704
- const columnPercentConfig = lineConfig;
705
730
  const areaConfig = lineConfig;
706
731
  const areaPercentConfig = lineConfig;
732
+ const barConfig = columnConfig;
733
+ const barParallelConfig = columnConfig;
734
+ const barPercentConfig = columnConfig;
735
+ const columnParallelConfig = columnConfig;
736
+ const columnPercentConfig = columnConfig;
707
737
  const vchartTheme = (advancedVSeed, context)=>{
708
738
  const { customTheme, vseed } = context;
709
739
  const { theme = 'light', chartType } = vseed;
@@ -742,7 +772,10 @@ const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
742
772
  const markStyle_markStyle = (advancedVSeed, context)=>{
743
773
  const { vseed } = context;
744
774
  const markStyle = (0, external_remeda_namespaceObject.pick)(vseed, [
745
- 'barStyle'
775
+ 'barStyle',
776
+ 'pointStyle',
777
+ 'lineStyle',
778
+ 'areaStyle'
746
779
  ]);
747
780
  return {
748
781
  ...advancedVSeed,
@@ -775,6 +808,7 @@ const lineAdvancedPipeline = [
775
808
  vchartBaseConfig,
776
809
  lineConfig,
777
810
  vchartTheme,
811
+ markStyle_markStyle,
778
812
  annotation_annotation
779
813
  ];
780
814
  const barAdvancedPipeline = [
@@ -886,6 +920,7 @@ const areaAdvancedPipeline = [
886
920
  areaConfig,
887
921
  vchartBaseConfig,
888
922
  vchartTheme,
923
+ markStyle_markStyle,
889
924
  annotation_annotation
890
925
  ];
891
926
  const areaPercentAdvancedPipeline = [
@@ -901,6 +936,7 @@ const areaPercentAdvancedPipeline = [
901
936
  areaPercentConfig,
902
937
  vchartBaseConfig,
903
938
  vchartTheme,
939
+ markStyle_markStyle,
904
940
  annotation_annotation
905
941
  ];
906
942
  const pieAdvancedPipeline = [
@@ -1191,7 +1227,15 @@ const xBand = (spec, context)=>{
1191
1227
  lineWidth: line?.lineWidth,
1192
1228
  stroke: line?.lineColor
1193
1229
  }
1194
- }
1230
+ },
1231
+ paddingInner: [
1232
+ 0.15,
1233
+ 0.1
1234
+ ],
1235
+ paddingOuter: [
1236
+ 0.075,
1237
+ 0.1
1238
+ ]
1195
1239
  };
1196
1240
  result.axes = [
1197
1241
  ...result.axes,
@@ -1199,6 +1243,8 @@ const xBand = (spec, context)=>{
1199
1243
  ];
1200
1244
  return result;
1201
1245
  };
1246
+ const ANNOTATION_Z_INDEX = 1000;
1247
+ const LINEAR_AXIS_INNER_OFFSET_TOP = 5;
1202
1248
  const xLinear = (spec, context)=>{
1203
1249
  const result = {
1204
1250
  ...spec
@@ -1267,6 +1313,9 @@ const xLinear = (spec, context)=>{
1267
1313
  lineWidth: line?.lineWidth,
1268
1314
  stroke: line?.lineColor
1269
1315
  }
1316
+ },
1317
+ innerOffset: {
1318
+ top: LINEAR_AXIS_INNER_OFFSET_TOP
1270
1319
  }
1271
1320
  };
1272
1321
  result.axes = [
@@ -1354,7 +1403,15 @@ const yBand = (spec, context)=>{
1354
1403
  lineWidth: line?.lineWidth,
1355
1404
  stroke: line?.lineColor
1356
1405
  }
1357
- }
1406
+ },
1407
+ paddingInner: [
1408
+ 0.15,
1409
+ 0.1
1410
+ ],
1411
+ paddingOuter: [
1412
+ 0.075,
1413
+ 0.1
1414
+ ]
1358
1415
  };
1359
1416
  result.axes = [
1360
1417
  ...result.axes,
@@ -1430,6 +1487,9 @@ const yLinear = (spec, context)=>{
1430
1487
  lineWidth: line?.lineWidth,
1431
1488
  stroke: line?.lineColor
1432
1489
  }
1490
+ },
1491
+ innerOffset: {
1492
+ top: LINEAR_AXIS_INNER_OFFSET_TOP
1433
1493
  }
1434
1494
  };
1435
1495
  result.axes = [
@@ -1452,6 +1512,15 @@ const stackInverse = (spec)=>{
1452
1512
  result.stackInverse = true;
1453
1513
  return result;
1454
1514
  };
1515
+ const stackCornerRadius_stackCornerRadius = (spec, context)=>{
1516
+ const { advancedVSeed, vseed } = context;
1517
+ const { chartType } = vseed;
1518
+ const stackCornerRadius = advancedVSeed.config?.[chartType]?.stackCornerRadius;
1519
+ return {
1520
+ ...spec,
1521
+ stackCornerRadius
1522
+ };
1523
+ };
1455
1524
  const background_backgroundColor = (spec, context)=>{
1456
1525
  const result = {
1457
1526
  ...spec
@@ -1465,6 +1534,43 @@ const background_backgroundColor = (spec, context)=>{
1465
1534
  background: backgroundColor
1466
1535
  };
1467
1536
  };
1537
+ function findMeasureById(measures, id) {
1538
+ if (!measures) return;
1539
+ const stack = [
1540
+ ...measures
1541
+ ];
1542
+ while(stack.length > 0){
1543
+ const current = stack.pop();
1544
+ if (!current) continue;
1545
+ if (current.id === id && !('children' in current)) return current;
1546
+ if ('children' in current && current.children) stack.push(...current.children);
1547
+ }
1548
+ }
1549
+ const createNumFormatter = (format)=>{
1550
+ const { type = 'number', ratio = 1, symbol = '', thousandSeparator = true, decimalPlaces = 2, round = 'round', prefix = '', suffix = '' } = format || {};
1551
+ return (value)=>{
1552
+ let num = Number(value);
1553
+ let typeSymbol = '';
1554
+ if (Number.isNaN(num)) return num.toString();
1555
+ if ('percent' === type) {
1556
+ num *= 100;
1557
+ typeSymbol = '%';
1558
+ } else if ('permille' === type) {
1559
+ num *= 1000;
1560
+ typeSymbol = "\u2030";
1561
+ } else if ('number' === type) num /= ratio || 1;
1562
+ const multiplier = 10 ** decimalPlaces;
1563
+ num = Math[round](num * multiplier) / multiplier;
1564
+ let numStr = num.toFixed(decimalPlaces);
1565
+ if (thousandSeparator) {
1566
+ const parts = numStr.split('.');
1567
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
1568
+ numStr = parts.join('.');
1569
+ }
1570
+ return `${prefix}${numStr}${typeSymbol}${symbol}${suffix}`;
1571
+ };
1572
+ };
1573
+ const createFormatter = (format)=>createNumFormatter(format);
1468
1574
  const defaultTooltip = {
1469
1575
  enable: true
1470
1576
  };
@@ -1473,11 +1579,55 @@ const tooltip_tooltip = (spec, context)=>{
1473
1579
  ...spec
1474
1580
  };
1475
1581
  const { advancedVSeed } = context;
1582
+ const { measures, datasetReshapeInfo } = advancedVSeed;
1476
1583
  const baseConfig = advancedVSeed.baseConfig.vchart;
1477
1584
  const { tooltip = defaultTooltip } = baseConfig;
1478
1585
  const { enable } = tooltip;
1586
+ const { measureId, measureName, measureValue } = datasetReshapeInfo[0].foldInfo;
1479
1587
  result.tooltip = {
1480
- visible: enable
1588
+ visible: enable,
1589
+ mark: {
1590
+ content: [
1591
+ {
1592
+ visible: true,
1593
+ key: (datum)=>datum && datum[measureName] || '',
1594
+ value: (datum)=>{
1595
+ if (!datum) return '';
1596
+ const value = datum[measureValue];
1597
+ const id = datum[measureId];
1598
+ const measure = findMeasureById(measures, id);
1599
+ if (!measure) return String(value);
1600
+ const { format = {}, autoFormat = true } = measure;
1601
+ if (format || autoFormat) {
1602
+ const formatter = createFormatter(format);
1603
+ return formatter(value);
1604
+ }
1605
+ return String(value);
1606
+ }
1607
+ }
1608
+ ]
1609
+ },
1610
+ dimension: {
1611
+ content: [
1612
+ {
1613
+ visible: true,
1614
+ key: (datum)=>datum && datum[measureName] || '',
1615
+ value: (datum)=>{
1616
+ if (!datum) return '';
1617
+ const value = datum[measureValue];
1618
+ const id = datum[measureId];
1619
+ const measure = findMeasureById(measures, id);
1620
+ if (!measure) return String(value);
1621
+ const { format = {}, autoFormat = true } = measure;
1622
+ if (format || autoFormat) {
1623
+ const formatter = createFormatter(format);
1624
+ return formatter(value);
1625
+ }
1626
+ return String(value);
1627
+ }
1628
+ }
1629
+ ]
1630
+ }
1481
1631
  };
1482
1632
  return result;
1483
1633
  };
@@ -1486,12 +1636,24 @@ const label_label = (spec, context)=>{
1486
1636
  ...spec
1487
1637
  };
1488
1638
  const { advancedVSeed } = context;
1639
+ const { measures, datasetReshapeInfo } = advancedVSeed;
1489
1640
  const baseConfig = advancedVSeed.baseConfig.vchart;
1490
1641
  if (!baseConfig || !baseConfig.label) return result;
1642
+ const { measureId } = datasetReshapeInfo[0].foldInfo;
1491
1643
  const { label } = baseConfig;
1492
1644
  const { enable } = label;
1493
1645
  result.label = {
1494
- visible: enable
1646
+ visible: enable,
1647
+ formatMethod: (value, datum)=>{
1648
+ const id = datum[measureId];
1649
+ const measure = findMeasureById(measures, id);
1650
+ if (!measure) return value;
1651
+ const { format = {}, autoFormat = true } = measure;
1652
+ if (format || autoFormat) {
1653
+ const formatter = createFormatter(format);
1654
+ return formatter(value);
1655
+ }
1656
+ }
1495
1657
  };
1496
1658
  return result;
1497
1659
  };
@@ -1794,6 +1956,7 @@ const pivotGridStyle = (spec)=>{
1794
1956
  ...spec
1795
1957
  };
1796
1958
  const transparent = 'rgba(0,0,0,0)';
1959
+ const hoverBackgroundColor = 'rgba(178,186,207, 0.2)';
1797
1960
  return {
1798
1961
  ...result,
1799
1962
  theme: {
@@ -1812,7 +1975,10 @@ const pivotGridStyle = (spec)=>{
1812
1975
  0,
1813
1976
  1,
1814
1977
  0
1815
- ]
1978
+ ],
1979
+ hover: {
1980
+ cellBgColor: 'transparent'
1981
+ }
1816
1982
  },
1817
1983
  headerStyle: {
1818
1984
  borderColor: 'rgba(0,4,20,0.2)',
@@ -1822,7 +1988,7 @@ const pivotGridStyle = (spec)=>{
1822
1988
  borderLineWidth: 0,
1823
1989
  bgColor: transparent,
1824
1990
  hover: {
1825
- cellBgColor: 'rgba(178,186,207, 0.2)'
1991
+ cellBgColor: hoverBackgroundColor
1826
1992
  }
1827
1993
  },
1828
1994
  rowHeaderStyle: {
@@ -1832,7 +1998,7 @@ const pivotGridStyle = (spec)=>{
1832
1998
  borderLineWidth: 0,
1833
1999
  bgColor: transparent,
1834
2000
  hover: {
1835
- cellBgColor: 'rgba(178,186,207, 0.2)'
2001
+ cellBgColor: hoverBackgroundColor
1836
2002
  }
1837
2003
  },
1838
2004
  cornerHeaderStyle: {
@@ -1849,7 +2015,7 @@ const pivotGridStyle = (spec)=>{
1849
2015
  ],
1850
2016
  bgColor: transparent,
1851
2017
  hover: {
1852
- cellBgColor: ''
2018
+ cellBgColor: hoverBackgroundColor
1853
2019
  }
1854
2020
  },
1855
2021
  cornerRightTopCellStyle: {
@@ -1857,7 +2023,7 @@ const pivotGridStyle = (spec)=>{
1857
2023
  borderLineWidth: 0,
1858
2024
  bgColor: transparent,
1859
2025
  hover: {
1860
- cellBgColor: ''
2026
+ cellBgColor: hoverBackgroundColor
1861
2027
  }
1862
2028
  },
1863
2029
  cornerLeftBottomCellStyle: {
@@ -1865,7 +2031,7 @@ const pivotGridStyle = (spec)=>{
1865
2031
  borderLineWidth: 0,
1866
2032
  bgColor: transparent,
1867
2033
  hover: {
1868
- cellBgColor: ''
2034
+ cellBgColor: hoverBackgroundColor
1869
2035
  }
1870
2036
  },
1871
2037
  cornerRightBottomCellStyle: {
@@ -1873,7 +2039,7 @@ const pivotGridStyle = (spec)=>{
1873
2039
  borderLineWidth: 0,
1874
2040
  bgColor: transparent,
1875
2041
  hover: {
1876
- cellBgColor: ''
2042
+ cellBgColor: hoverBackgroundColor
1877
2043
  }
1878
2044
  },
1879
2045
  rightFrozenStyle: {
@@ -1881,7 +2047,7 @@ const pivotGridStyle = (spec)=>{
1881
2047
  borderLineWidth: 0,
1882
2048
  bgColor: transparent,
1883
2049
  hover: {
1884
- cellBgColor: 'rgba(178,186,207, 0.2)'
2050
+ cellBgColor: hoverBackgroundColor
1885
2051
  }
1886
2052
  },
1887
2053
  bottomFrozenStyle: {
@@ -1889,7 +2055,7 @@ const pivotGridStyle = (spec)=>{
1889
2055
  borderLineWidth: 0,
1890
2056
  bgColor: transparent,
1891
2057
  hover: {
1892
- cellBgColor: 'rgba(178,186,207, 0.2)'
2058
+ cellBgColor: hoverBackgroundColor
1893
2059
  }
1894
2060
  },
1895
2061
  selectionStyle: {
@@ -1937,8 +2103,10 @@ const pivotRowDimensions = (spec, context)=>{
1937
2103
  rows: rows
1938
2104
  };
1939
2105
  };
1940
- const selector_selector = (datum, selector)=>{
2106
+ const selector_selector = (vchartDatum, selector)=>{
1941
2107
  if (!selector) return true;
2108
+ const vchartKeys = Object.keys(vchartDatum).filter((k)=>k.toLocaleLowerCase().startsWith('__vchart'));
2109
+ const datum = (0, external_remeda_namespaceObject.omit)(vchartDatum, vchartKeys);
1942
2110
  const selectors = Array.isArray(selector) ? selector : [
1943
2111
  selector
1944
2112
  ];
@@ -2027,52 +2195,218 @@ const barStyle_barStyle = (spec, context)=>{
2027
2195
  const { advancedVSeed } = context;
2028
2196
  const { markStyle, encoding } = advancedVSeed;
2029
2197
  const { barStyle } = markStyle;
2030
- if (!barStyle) return spec;
2031
2198
  const result = {
2032
- ...spec
2199
+ ...spec,
2200
+ bar: {
2201
+ state: {
2202
+ hover: {
2203
+ stroke: (datum, context)=>{
2204
+ const field = encoding[0]?.group?.[0];
2205
+ const color = context.seriesColor(datum[field]);
2206
+ return color;
2207
+ },
2208
+ lineWidth: 4,
2209
+ fillOpacity: 0.6
2210
+ }
2211
+ }
2212
+ }
2033
2213
  };
2034
- const { selector: barSelector, barBorderColor, barBorderStyle, barBorderWidth, barColor, barColorOpacity, barRadius } = barStyle;
2214
+ if (!barStyle) return result;
2215
+ const barStyles = Array.isArray(barStyle) ? barStyle : [
2216
+ barStyle
2217
+ ];
2218
+ const customMap = barStyles.reduce((result, style, index)=>{
2219
+ const { barBorderColor, barBorderStyle, barBorderWidth, barColor, barColorOpacity, barRadius } = style;
2220
+ const lineDash = 'dashed' === barBorderStyle ? [
2221
+ 5,
2222
+ 2
2223
+ ] : 'dotted' === barBorderStyle ? [
2224
+ 2,
2225
+ 5
2226
+ ] : [
2227
+ 0,
2228
+ 0
2229
+ ];
2230
+ return {
2231
+ ...result,
2232
+ [`custom${index + 1}`]: {
2233
+ level: index + 1,
2234
+ filter: (datum)=>{
2235
+ if (selector_selector(datum, style.selector)) return true;
2236
+ return false;
2237
+ },
2238
+ style: {
2239
+ fill: barColor,
2240
+ fillOpacity: barColorOpacity,
2241
+ stroke: barBorderColor,
2242
+ lineWidth: barBorderWidth,
2243
+ lineDash: lineDash,
2244
+ cornerRadius: barRadius
2245
+ }
2246
+ }
2247
+ };
2248
+ }, {});
2035
2249
  return {
2036
2250
  ...result,
2037
2251
  bar: {
2038
- style: {
2039
- fill: barColor ? (datum, context)=>{
2040
- if (selector_selector(datum, barSelector)) return barColor;
2041
- return context.seriesColor(datum[encoding[0]?.group?.[0]]);
2042
- } : void 0,
2043
- fillOpacity: barColorOpacity ? (datum)=>{
2044
- if (selector_selector(datum, barSelector)) return barColorOpacity;
2045
- return 1;
2046
- } : void 0,
2047
- stroke: barBorderColor ? (datum, context)=>{
2048
- if (selector_selector(datum, barSelector)) return barBorderColor;
2049
- return context.seriesColor(datum[encoding[0]?.group?.[0]]);
2050
- } : void 0,
2051
- lineWidth: barBorderWidth ? (datum)=>{
2052
- if (selector_selector(datum, barSelector)) return barBorderWidth;
2053
- return 0;
2054
- } : void 0,
2055
- lineDash: barBorderStyle ? (datum)=>{
2056
- if (selector_selector(datum, barSelector)) {
2057
- if ('solid' === barBorderStyle) ;
2058
- else if ('dashed' === barBorderStyle) return [
2059
- 5,
2060
- 5
2061
- ];
2062
- else if ('dotted' === barBorderStyle) return [
2063
- 1,
2064
- 5
2065
- ];
2066
- }
2067
- return [
2068
- 0,
2069
- 0
2070
- ];
2071
- } : void 0,
2072
- cornerRadius: barRadius ? (datum)=>{
2073
- if (selector_selector(datum, barSelector)) return barRadius;
2074
- return 0;
2075
- } : void 0
2252
+ state: {
2253
+ ...customMap
2254
+ }
2255
+ }
2256
+ };
2257
+ };
2258
+ const pointStyle_pointStyle = (spec, context)=>{
2259
+ const { advancedVSeed } = context;
2260
+ const { markStyle } = advancedVSeed;
2261
+ const { pointStyle } = markStyle;
2262
+ const result = {
2263
+ ...spec,
2264
+ point: {
2265
+ state: {
2266
+ dimension_hover: {
2267
+ scaleX: 1.4,
2268
+ scaleY: 1.4
2269
+ }
2270
+ }
2271
+ }
2272
+ };
2273
+ if (!pointStyle) return result;
2274
+ const pointStyles = Array.isArray(pointStyle) ? pointStyle : [
2275
+ pointStyle
2276
+ ];
2277
+ const customMap = pointStyles.reduce((result, style, index)=>{
2278
+ const { pointBorderColor, pointBorderStyle, pointBorderWidth, pointColor, pointColorOpacity, pointSize } = style;
2279
+ const lineDash = 'dashed' === pointBorderStyle ? [
2280
+ 5,
2281
+ 2
2282
+ ] : 'dotted' === pointBorderStyle ? [
2283
+ 2,
2284
+ 5
2285
+ ] : [
2286
+ 0,
2287
+ 0
2288
+ ];
2289
+ return {
2290
+ ...result,
2291
+ [`custom${index + 1}`]: {
2292
+ level: index + 1,
2293
+ filter: (datum)=>{
2294
+ if (selector_selector(datum, style.selector)) return true;
2295
+ return false;
2296
+ },
2297
+ style: {
2298
+ size: pointSize,
2299
+ fill: pointColor,
2300
+ fillOpacity: pointColorOpacity,
2301
+ stroke: pointBorderColor,
2302
+ lineWidth: pointBorderWidth,
2303
+ lineDash: lineDash
2304
+ }
2305
+ }
2306
+ };
2307
+ }, {});
2308
+ return {
2309
+ ...result,
2310
+ point: {
2311
+ state: {
2312
+ ...customMap
2313
+ }
2314
+ }
2315
+ };
2316
+ };
2317
+ const lineStyle_lineStyle = (spec, context)=>{
2318
+ const { advancedVSeed } = context;
2319
+ const { markStyle, encoding, dataset } = advancedVSeed;
2320
+ const { lineStyle } = markStyle;
2321
+ if (!lineStyle) return spec;
2322
+ const result = {
2323
+ ...spec
2324
+ };
2325
+ const lineStyles = Array.isArray(lineStyle) ? lineStyle : [
2326
+ lineStyle
2327
+ ];
2328
+ const group = encoding[0]?.group?.[0];
2329
+ const lineGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[group ?? '']);
2330
+ const customMap = lineStyles.reduce((result, style, index)=>{
2331
+ const { lineColor, lineColorOpacity, lineSmooth, lineStyle, lineWidth } = style;
2332
+ const dashSegment = (lineWidth ?? 2) * 2;
2333
+ const dashGap = lineWidth ?? 2;
2334
+ const lineDash = 'dashed' === lineStyle ? [
2335
+ dashSegment,
2336
+ dashSegment
2337
+ ] : 'dotted' === lineStyle ? [
2338
+ dashGap / 2,
2339
+ 2 * dashGap
2340
+ ] : [
2341
+ 0,
2342
+ 0
2343
+ ];
2344
+ const curveType = lineSmooth ? 'monotone' : 'linear';
2345
+ return {
2346
+ ...result,
2347
+ [`custom${index + 1}`]: {
2348
+ level: index + 1,
2349
+ filter: (datum)=>{
2350
+ const lineData = lineGroups[datum[group ?? '']];
2351
+ for (const d of lineData)if (selector_selector(d, style.selector)) return true;
2352
+ return false;
2353
+ },
2354
+ style: {
2355
+ curveType: curveType,
2356
+ fill: lineColor,
2357
+ fillOpacity: lineColorOpacity,
2358
+ stroke: lineColor,
2359
+ lineWidth: lineWidth,
2360
+ lineDash: lineDash
2361
+ }
2362
+ }
2363
+ };
2364
+ }, {});
2365
+ return {
2366
+ ...result,
2367
+ line: {
2368
+ state: {
2369
+ ...customMap
2370
+ }
2371
+ }
2372
+ };
2373
+ };
2374
+ const areaStyle_areaStyle = (spec, context)=>{
2375
+ const { advancedVSeed } = context;
2376
+ const { markStyle, encoding, dataset } = advancedVSeed;
2377
+ const { areaStyle } = markStyle;
2378
+ if (!areaStyle) return spec;
2379
+ const result = {
2380
+ ...spec
2381
+ };
2382
+ const areaStyles = Array.isArray(areaStyle) ? areaStyle : [
2383
+ areaStyle
2384
+ ];
2385
+ const group = encoding[0]?.group?.[0];
2386
+ const lineGroups = (0, external_remeda_namespaceObject.groupBy)(dataset, (d)=>d[group ?? '']);
2387
+ const customMap = areaStyles.reduce((result, style, index)=>{
2388
+ const { areaColor, areaColorOpacity } = style;
2389
+ return {
2390
+ ...result,
2391
+ [`custom${index + 1}`]: {
2392
+ level: index + 1,
2393
+ filter: (datum)=>{
2394
+ const lineData = lineGroups[datum[group ?? '']];
2395
+ for (const d of lineData)if (selector_selector(d, style.selector)) return true;
2396
+ return false;
2397
+ },
2398
+ style: {
2399
+ fill: areaColor,
2400
+ fillOpacity: areaColorOpacity
2401
+ }
2402
+ }
2403
+ };
2404
+ }, {});
2405
+ return {
2406
+ ...result,
2407
+ area: {
2408
+ state: {
2409
+ ...customMap
2076
2410
  }
2077
2411
  }
2078
2412
  };
@@ -2095,20 +2429,15 @@ const annotationPoint_annotationPoint = (spec, context)=>{
2095
2429
  const dataset = advancedVSeed.dataset.flat();
2096
2430
  const selectedData = dataset.filter((datum)=>selector_selector(datum, selectorPoint));
2097
2431
  return selectedData.map((datum)=>({
2432
+ zIndex: ANNOTATION_Z_INDEX,
2098
2433
  regionRelative: true,
2099
2434
  position: (data, context)=>{
2100
2435
  const targetDatum = data.find((item)=>isSubset(datum, item));
2101
2436
  if (targetDatum) {
2102
2437
  const { x, y } = context.dataToPosition(targetDatum);
2103
- const xBandWidth = context.scaleX?.bandwidth?.();
2104
- const yBandWidth = context.scaleY?.bandwidth?.();
2105
- if (xBandWidth) return {
2106
- x: x,
2107
- y: y
2108
- };
2109
- if (yBandWidth) return {
2438
+ return {
2110
2439
  x,
2111
- y: y
2440
+ y
2112
2441
  };
2113
2442
  }
2114
2443
  },
@@ -2168,6 +2497,7 @@ const annotationVerticalLine_annotationVerticalLine = (spec, context)=>{
2168
2497
  const dataset = advancedVSeed.dataset.flat();
2169
2498
  const generateOneMarkLine = (x)=>({
2170
2499
  x: x,
2500
+ zIndex: ANNOTATION_Z_INDEX,
2171
2501
  line: {
2172
2502
  visible: lineVisible,
2173
2503
  style: {
@@ -2264,6 +2594,7 @@ const annotationHorizontalLine_annotationHorizontalLine = (spec, context)=>{
2264
2594
  const dataset = advancedVSeed.dataset.flat();
2265
2595
  const generateOneMarkLine = (y)=>({
2266
2596
  y,
2597
+ zIndex: ANNOTATION_Z_INDEX,
2267
2598
  line: {
2268
2599
  visible: lineVisible,
2269
2600
  style: {
@@ -2358,20 +2689,19 @@ const annotationArea_annotationArea = (spec, context)=>{
2358
2689
  right: 'insideRight'
2359
2690
  };
2360
2691
  const markArea = annotationAreaList.flatMap((annotationArea)=>{
2361
- const { selector: selectorPoint, text = '', textPosition = 'top', textColor = '#ffffff', textFontSize = 12, textFontWeight = 400, textAlign = 'center', textBaseline = 'top', backgroundBorderColor, backgroundBorderRadius = 4, backgroundBorderWidth = 1, backgroundColor = '#191d24', backgroundPadding = 4, backgroundVisible = true, outerPadding = 8, areaColor = '#888888', areaColorOpacity = 0.15, areaBorderColor, areaBorderRadius, areaBorderWidth } = annotationArea;
2692
+ const { selector: selectorPoint, text = '', textPosition = 'top', textColor = '#ffffff', textFontSize = 12, textFontWeight = 400, textAlign = 'center', textBaseline = 'top', backgroundBorderColor, backgroundBorderRadius = 4, backgroundBorderWidth = 1, backgroundColor = '#191d24', backgroundPadding = 4, backgroundVisible = true, outerPadding = 0, areaColor = '#888888', areaColorOpacity = 0.15, areaBorderColor, areaBorderRadius, areaBorderWidth } = annotationArea;
2362
2693
  const dataset = advancedVSeed.dataset.flat();
2363
2694
  const selectedData = dataset.filter((datum)=>selector_selector(datum, selectorPoint));
2364
2695
  return {
2696
+ zIndex: ANNOTATION_Z_INDEX,
2365
2697
  regionRelative: true,
2366
2698
  positions: (data, context)=>{
2367
- console.log('debug selectedData', selectedData);
2368
2699
  const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
2369
2700
  const xyList = positionData.map((datum)=>context.dataToPosition(datum));
2370
- const xScale = context.scaleX;
2371
- const yScale = context.scaleY;
2372
- const xBandWidth = xScale?.bandwidth?.();
2373
- const yBandWidth = yScale?.bandwidth?.();
2374
- if (xBandWidth) {
2701
+ const yAxisHelper = context.getYAxisHelper();
2702
+ const xAxisHelper = context.getXAxisHelper();
2703
+ if ('function' == typeof xAxisHelper?.getBandwidth) {
2704
+ const yScale = yAxisHelper.getScale();
2375
2705
  const minX = Math.min(...xyList.map((item)=>item.x)) - outerPadding;
2376
2706
  const maxX = Math.max(...xyList.map((item)=>item.x)) + outerPadding;
2377
2707
  const minY = Math.min(...yScale.range());
@@ -2395,7 +2725,8 @@ const annotationArea_annotationArea = (spec, context)=>{
2395
2725
  }
2396
2726
  ];
2397
2727
  }
2398
- if (yBandWidth) {
2728
+ if ('function' == typeof yAxisHelper?.getBandwidth) {
2729
+ const xScale = xAxisHelper.getScale();
2399
2730
  const minY = Math.min(...xyList.map((item)=>item.y)) - outerPadding;
2400
2731
  const maxY = Math.max(...xyList.map((item)=>item.y)) + outerPadding;
2401
2732
  const minX = Math.min(...xScale.range());
@@ -2483,15 +2814,17 @@ const annotationAreaBand = (spec, context)=>{
2483
2814
  const dataset = advancedVSeed.dataset.flat();
2484
2815
  const selectedData = dataset.filter((datum)=>selector_selector(datum, selectorPoint));
2485
2816
  return {
2817
+ zIndex: ANNOTATION_Z_INDEX,
2486
2818
  regionRelative: true,
2487
2819
  positions: (data, context)=>{
2488
2820
  const positionData = data.filter((item)=>selectedData.some((datum)=>isSubset(datum, item)));
2489
2821
  const xyList = positionData.map((datum)=>context.dataToPosition(datum));
2490
- const xScale = context.scaleX;
2491
- const yScale = context.scaleY;
2492
- const xBandWidth = xScale?.bandwidth?.();
2493
- const yBandWidth = yScale?.bandwidth?.();
2494
- if (xBandWidth) {
2822
+ const yAxisHelper = context.getYAxisHelper();
2823
+ const xAxisHelper = context.getXAxisHelper();
2824
+ if ('function' == typeof xAxisHelper?.getBandwidth) {
2825
+ const depth = context.fieldX.length ?? 0;
2826
+ const xBandWidth = xAxisHelper?.getBandwidth?.(depth - 1);
2827
+ const yScale = yAxisHelper.getScale();
2495
2828
  const minX = Math.min(...xyList.map((item)=>item.x)) - outerPadding;
2496
2829
  const maxX = Math.max(...xyList.map((item)=>item.x)) + xBandWidth + outerPadding;
2497
2830
  const minY = Math.min(...yScale.range());
@@ -2515,7 +2848,10 @@ const annotationAreaBand = (spec, context)=>{
2515
2848
  }
2516
2849
  ];
2517
2850
  }
2518
- if (yBandWidth) {
2851
+ if ('function' == typeof yAxisHelper?.getBandwidth) {
2852
+ const depth = context.fieldY.length ?? 0;
2853
+ const yBandWidth = yAxisHelper?.getBandwidth?.(depth - 1);
2854
+ const xScale = xAxisHelper.getScale();
2519
2855
  const minY = Math.min(...xyList.map((item)=>item.y)) - outerPadding;
2520
2856
  const maxY = Math.max(...xyList.map((item)=>item.y)) + yBandWidth + outerPadding;
2521
2857
  const minX = Math.min(...xScale.range());
@@ -2580,6 +2916,118 @@ const annotationAreaBand = (spec, context)=>{
2580
2916
  markArea: markArea
2581
2917
  };
2582
2918
  };
2919
+ const verticalCrosshairLine = (spec, context)=>{
2920
+ const result = {
2921
+ ...spec
2922
+ };
2923
+ const { advancedVSeed, vseed } = context;
2924
+ const { chartType } = vseed;
2925
+ const config = advancedVSeed.config?.[chartType]?.crosshairLine;
2926
+ if (!config) return result;
2927
+ if (!result.crosshair) result.crosshair = {};
2928
+ const { visible = true, lineColor, labelColor, labelVisible, labelBackgroundColor } = config;
2929
+ const crosshair = result.crosshair;
2930
+ crosshair.xField = {
2931
+ visible,
2932
+ line: {
2933
+ type: 'line',
2934
+ style: {
2935
+ lineWidth: 1,
2936
+ opacity: 1,
2937
+ stroke: lineColor,
2938
+ lineDash: [
2939
+ 4,
2940
+ 2
2941
+ ]
2942
+ }
2943
+ },
2944
+ label: {
2945
+ visible: labelVisible,
2946
+ labelBackground: {
2947
+ visible: labelVisible,
2948
+ style: {
2949
+ fill: labelBackgroundColor
2950
+ }
2951
+ },
2952
+ style: {
2953
+ fill: labelColor
2954
+ }
2955
+ }
2956
+ };
2957
+ return result;
2958
+ };
2959
+ const verticalCrosshairRect = (spec, context)=>{
2960
+ const result = {
2961
+ ...spec
2962
+ };
2963
+ const { advancedVSeed, vseed } = context;
2964
+ const { chartType } = vseed;
2965
+ const config = advancedVSeed.config?.[chartType]?.crosshairRect;
2966
+ if (!config) return result;
2967
+ if (!result.crosshair) result.crosshair = {};
2968
+ const { visible = true, rectColor, labelColor, labelVisible, labelBackgroundColor } = config;
2969
+ const crosshair = result.crosshair;
2970
+ crosshair.xField = {
2971
+ visible,
2972
+ line: {
2973
+ type: 'rect',
2974
+ style: {
2975
+ lineWidth: 0,
2976
+ opacity: 0.2,
2977
+ fill: rectColor
2978
+ }
2979
+ },
2980
+ label: {
2981
+ visible: labelVisible,
2982
+ labelBackground: {
2983
+ visible: labelVisible,
2984
+ style: {
2985
+ fill: labelBackgroundColor
2986
+ }
2987
+ },
2988
+ style: {
2989
+ fill: labelColor
2990
+ }
2991
+ }
2992
+ };
2993
+ return result;
2994
+ };
2995
+ const horizontalCrosshairRect = (spec, context)=>{
2996
+ const result = {
2997
+ ...spec
2998
+ };
2999
+ const { advancedVSeed, vseed } = context;
3000
+ const { chartType } = vseed;
3001
+ const config = advancedVSeed.config?.[chartType]?.crosshairRect;
3002
+ if (!config) return result;
3003
+ if (!result.crosshair) result.crosshair = {};
3004
+ const { visible = true, rectColor, labelColor, labelVisible, labelBackgroundColor } = config;
3005
+ const crosshair = result.crosshair;
3006
+ crosshair.yField = {
3007
+ visible,
3008
+ line: {
3009
+ type: 'rect',
3010
+ style: {
3011
+ lineWidth: 0,
3012
+ opacity: 0.2,
3013
+ fill: rectColor
3014
+ }
3015
+ },
3016
+ label: {
3017
+ visible: labelVisible,
3018
+ labelBackground: {
3019
+ visible: labelVisible,
3020
+ style: {
3021
+ fill: labelBackgroundColor
3022
+ }
3023
+ },
3024
+ style: {
3025
+ fill: labelColor
3026
+ }
3027
+ }
3028
+ };
3029
+ return result;
3030
+ };
2583
3031
  const line_line = [
2584
3032
  initLine,
2585
3033
  color_color,
@@ -2589,7 +3037,10 @@ const line_line = [
2589
3037
  yLinear,
2590
3038
  label_label,
2591
3039
  tooltip_tooltip,
3040
+ verticalCrosshairLine,
2592
3041
  discreteLegend,
3042
+ pointStyle_pointStyle,
3043
+ lineStyle_lineStyle,
2593
3044
  annotationPoint_annotationPoint,
2594
3045
  annotationVerticalLine_annotationVerticalLine,
2595
3046
  annotationHorizontalLine_annotationHorizontalLine,
@@ -2609,6 +3060,9 @@ const pivotLine = [
2609
3060
  yLinear,
2610
3061
  label_label,
2611
3062
  tooltip_tooltip,
3063
+ verticalCrosshairLine,
3064
+ pointStyle_pointStyle,
3065
+ lineStyle_lineStyle,
2612
3066
  annotationPoint_annotationPoint,
2613
3067
  annotationVerticalLine_annotationVerticalLine,
2614
3068
  annotationHorizontalLine_annotationHorizontalLine,
@@ -2623,6 +3077,7 @@ const lineSpecPipeline = [
2623
3077
  ];
2624
3078
  const column = [
2625
3079
  initColumn,
3080
+ stackCornerRadius_stackCornerRadius,
2626
3081
  stackInverse,
2627
3082
  color_color,
2628
3083
  background_backgroundColor,
@@ -2631,6 +3086,7 @@ const column = [
2631
3086
  yLinear,
2632
3087
  label_label,
2633
3088
  tooltip_tooltip,
3089
+ verticalCrosshairRect,
2634
3090
  discreteLegend,
2635
3091
  barStyle_barStyle,
2636
3092
  annotationPoint_annotationPoint,
@@ -2645,6 +3101,7 @@ const pivotColumn = [
2645
3101
  datasetPivot,
2646
3102
  pivotIndicators([
2647
3103
  initColumn,
3104
+ stackCornerRadius_stackCornerRadius,
2648
3105
  stackInverse,
2649
3106
  color_color,
2650
3107
  background_backgroundColor,
@@ -2653,6 +3110,7 @@ const pivotColumn = [
2653
3110
  yLinear,
2654
3111
  label_label,
2655
3112
  tooltip_tooltip,
3113
+ verticalCrosshairRect,
2656
3114
  barStyle_barStyle,
2657
3115
  annotationPoint_annotationPoint,
2658
3116
  annotationVerticalLine_annotationVerticalLine,
@@ -2668,6 +3126,7 @@ const columnSpecPipeline = [
2668
3126
  ];
2669
3127
  const columnParallel = [
2670
3128
  initColumnParallel,
3129
+ stackCornerRadius_stackCornerRadius,
2671
3130
  color_color,
2672
3131
  background_backgroundColor,
2673
3132
  dataset_dataset,
@@ -2676,6 +3135,7 @@ const columnParallel = [
2676
3135
  label_label,
2677
3136
  tooltip_tooltip,
2678
3137
  discreteLegend,
3138
+ verticalCrosshairRect,
2679
3139
  barStyle_barStyle,
2680
3140
  annotationPoint_annotationPoint,
2681
3141
  annotationVerticalLine_annotationVerticalLine,
@@ -2689,6 +3149,7 @@ const pivotColumnParallel = [
2689
3149
  datasetPivot,
2690
3150
  pivotIndicators([
2691
3151
  initColumnParallel,
3152
+ stackCornerRadius_stackCornerRadius,
2692
3153
  color_color,
2693
3154
  background_backgroundColor,
2694
3155
  datasetPivotPlaceholder,
@@ -2696,6 +3157,7 @@ const pivotColumnParallel = [
2696
3157
  yLinear,
2697
3158
  label_label,
2698
3159
  tooltip_tooltip,
3160
+ verticalCrosshairRect,
2699
3161
  barStyle_barStyle,
2700
3162
  annotationPoint_annotationPoint,
2701
3163
  annotationVerticalLine_annotationVerticalLine,
@@ -2711,6 +3173,7 @@ const columnParallelSpecPipeline = [
2711
3173
  ];
2712
3174
  const columnPercent = [
2713
3175
  initColumn,
3176
+ stackCornerRadius_stackCornerRadius,
2714
3177
  stackInverse,
2715
3178
  color_color,
2716
3179
  background_backgroundColor,
@@ -2720,6 +3183,7 @@ const columnPercent = [
2720
3183
  yLinear,
2721
3184
  label_label,
2722
3185
  tooltip_tooltip,
3186
+ verticalCrosshairRect,
2723
3187
  discreteLegend,
2724
3188
  barStyle_barStyle,
2725
3189
  annotationPoint_annotationPoint,
@@ -2734,6 +3198,7 @@ const pivotColumnPercent = [
2734
3198
  datasetPivot,
2735
3199
  pivotIndicators([
2736
3200
  initColumn,
3201
+ stackCornerRadius_stackCornerRadius,
2737
3202
  stackInverse,
2738
3203
  color_color,
2739
3204
  percent,
@@ -2743,6 +3208,7 @@ const pivotColumnPercent = [
2743
3208
  yLinear,
2744
3209
  label_label,
2745
3210
  tooltip_tooltip,
3211
+ verticalCrosshairRect,
2746
3212
  barStyle_barStyle,
2747
3213
  annotationPoint_annotationPoint,
2748
3214
  annotationVerticalLine_annotationVerticalLine,
@@ -2758,6 +3224,7 @@ const columnPercentSpecPipeline = [
2758
3224
  ];
2759
3225
  const bar = [
2760
3226
  initBar,
3227
+ stackCornerRadius_stackCornerRadius,
2761
3228
  color_color,
2762
3229
  background_backgroundColor,
2763
3230
  dataset_dataset,
@@ -2765,6 +3232,7 @@ const bar = [
2765
3232
  yBand,
2766
3233
  label_label,
2767
3234
  tooltip_tooltip,
3235
+ horizontalCrosshairRect,
2768
3236
  discreteLegend,
2769
3237
  barStyle_barStyle,
2770
3238
  annotationPoint_annotationPoint,
@@ -2779,6 +3247,7 @@ const pivotBar = [
2779
3247
  datasetPivot,
2780
3248
  pivotIndicators([
2781
3249
  initBar,
3250
+ stackCornerRadius_stackCornerRadius,
2782
3251
  color_color,
2783
3252
  background_backgroundColor,
2784
3253
  datasetPivotPlaceholder,
@@ -2786,6 +3255,7 @@ const pivotBar = [
2786
3255
  label_label,
2787
3256
  label_label,
2788
3257
  tooltip_tooltip,
3258
+ horizontalCrosshairRect,
2789
3259
  barStyle_barStyle,
2790
3260
  annotationPoint_annotationPoint,
2791
3261
  annotationVerticalLine_annotationVerticalLine,
@@ -2801,6 +3271,7 @@ const barSpecPipeline = [
2801
3271
  ];
2802
3272
  const barParallel = [
2803
3273
  initBarParallel,
3274
+ stackCornerRadius_stackCornerRadius,
2804
3275
  color_color,
2805
3276
  background_backgroundColor,
2806
3277
  dataset_dataset,
@@ -2808,6 +3279,7 @@ const barParallel = [
2808
3279
  yBand,
2809
3280
  label_label,
2810
3281
  tooltip_tooltip,
3282
+ horizontalCrosshairRect,
2811
3283
  discreteLegend,
2812
3284
  barStyle_barStyle,
2813
3285
  annotationPoint_annotationPoint,
@@ -2822,6 +3294,7 @@ const pivotBarParallel = [
2822
3294
  datasetPivot,
2823
3295
  pivotIndicators([
2824
3296
  initBarParallel,
3297
+ stackCornerRadius_stackCornerRadius,
2825
3298
  color_color,
2826
3299
  background_backgroundColor,
2827
3300
  datasetPivotPlaceholder,
@@ -2829,6 +3302,7 @@ const pivotBarParallel = [
2829
3302
  xLinear,
2830
3303
  label_label,
2831
3304
  tooltip_tooltip,
3305
+ horizontalCrosshairRect,
2832
3306
  barStyle_barStyle,
2833
3307
  annotationPoint_annotationPoint,
2834
3308
  annotationVerticalLine_annotationVerticalLine,
@@ -2844,6 +3318,7 @@ const barParallelSpecPipeline = [
2844
3318
  ];
2845
3319
  const barPercent = [
2846
3320
  initBar,
3321
+ stackCornerRadius_stackCornerRadius,
2847
3322
  color_color,
2848
3323
  background_backgroundColor,
2849
3324
  percent,
@@ -2852,6 +3327,7 @@ const barPercent = [
2852
3327
  yBand,
2853
3328
  label_label,
2854
3329
  tooltip_tooltip,
3330
+ horizontalCrosshairRect,
2855
3331
  discreteLegend,
2856
3332
  barStyle_barStyle,
2857
3333
  annotationPoint_annotationPoint,
@@ -2866,6 +3342,7 @@ const pivotBarPercent = [
2866
3342
  datasetPivot,
2867
3343
  pivotIndicators([
2868
3344
  initBar,
3345
+ stackCornerRadius_stackCornerRadius,
2869
3346
  color_color,
2870
3347
  background_backgroundColor,
2871
3348
  percent,
@@ -2874,6 +3351,7 @@ const pivotBarPercent = [
2874
3351
  xLinear,
2875
3352
  label_label,
2876
3353
  tooltip_tooltip,
3354
+ horizontalCrosshairRect,
2877
3355
  barStyle_barStyle,
2878
3356
  annotationPoint_annotationPoint,
2879
3357
  annotationVerticalLine_annotationVerticalLine,
@@ -2897,7 +3375,11 @@ const area_area = [
2897
3375
  yLinear,
2898
3376
  label_label,
2899
3377
  tooltip_tooltip,
3378
+ verticalCrosshairLine,
2900
3379
  discreteLegend,
3380
+ pointStyle_pointStyle,
3381
+ lineStyle_lineStyle,
3382
+ areaStyle_areaStyle,
2901
3383
  annotationPoint_annotationPoint,
2902
3384
  annotationVerticalLine_annotationVerticalLine,
2903
3385
  annotationHorizontalLine_annotationHorizontalLine,
@@ -2918,6 +3400,10 @@ const pivotArea = [
2918
3400
  yLinear,
2919
3401
  label_label,
2920
3402
  tooltip_tooltip,
3403
+ verticalCrosshairLine,
3404
+ pointStyle_pointStyle,
3405
+ lineStyle_lineStyle,
3406
+ areaStyle_areaStyle,
2921
3407
  annotationPoint_annotationPoint,
2922
3408
  annotationVerticalLine_annotationVerticalLine,
2923
3409
  annotationHorizontalLine_annotationHorizontalLine,
@@ -2941,7 +3427,11 @@ const areaPercent = [
2941
3427
  yLinear,
2942
3428
  label_label,
2943
3429
  tooltip_tooltip,
3430
+ verticalCrosshairLine,
2944
3431
  discreteLegend,
3432
+ pointStyle_pointStyle,
3433
+ lineStyle_lineStyle,
3434
+ areaStyle_areaStyle,
2945
3435
  annotationPoint_annotationPoint,
2946
3436
  annotationVerticalLine_annotationVerticalLine,
2947
3437
  annotationHorizontalLine_annotationHorizontalLine,
@@ -2963,6 +3453,10 @@ const pivotAreaPercent = [
2963
3453
  yLinear,
2964
3454
  label_label,
2965
3455
  tooltip_tooltip,
3456
+ verticalCrosshairLine,
3457
+ pointStyle_pointStyle,
3458
+ lineStyle_lineStyle,
3459
+ areaStyle_areaStyle,
2966
3460
  annotationPoint_annotationPoint,
2967
3461
  annotationVerticalLine_annotationVerticalLine,
2968
3462
  annotationHorizontalLine_annotationHorizontalLine,
@@ -3170,7 +3664,7 @@ const lightTheme = ()=>{
3170
3664
  labelAutoHideGap: 4,
3171
3665
  labelAutoLimit: true,
3172
3666
  labelAutoLimitLength: 100,
3173
- labelAutoRotate: true,
3667
+ labelAutoRotate: false,
3174
3668
  labelAutoRotateAngleRange: [
3175
3669
  0,
3176
3670
  -45,
@@ -3220,6 +3714,20 @@ const lightTheme = ()=>{
3220
3714
  -90
3221
3715
  ]
3222
3716
  };
3717
+ const crosshairLine = {
3718
+ visible: true,
3719
+ labelVisible: true,
3720
+ lineColor: '#3641594d',
3721
+ labelColor: '#ffffff',
3722
+ labelBackgroundColor: '#364159'
3723
+ };
3724
+ const crosshairRect = {
3725
+ visible: true,
3726
+ labelVisible: true,
3727
+ rectColor: '#3641594d',
3728
+ labelColor: '#ffffff',
3729
+ labelBackgroundColor: '#364159'
3730
+ };
3223
3731
  return {
3224
3732
  baseConfig: {
3225
3733
  vtable: {
@@ -3262,39 +3770,84 @@ const lightTheme = ()=>{
3262
3770
  config: {
3263
3771
  line: {
3264
3772
  xAxis: bandAxis,
3265
- yAxis: linearAxis
3773
+ yAxis: linearAxis,
3774
+ crosshairLine
3266
3775
  },
3267
3776
  column: {
3268
3777
  xAxis: bandAxis,
3269
- yAxis: linearAxis
3778
+ yAxis: linearAxis,
3779
+ crosshairRect,
3780
+ stackCornerRadius: [
3781
+ 4,
3782
+ 4,
3783
+ 0,
3784
+ 0
3785
+ ]
3270
3786
  },
3271
3787
  columnParallel: {
3272
3788
  xAxis: bandAxis,
3273
- yAxis: linearAxis
3789
+ yAxis: linearAxis,
3790
+ crosshairRect,
3791
+ stackCornerRadius: [
3792
+ 4,
3793
+ 4,
3794
+ 0,
3795
+ 0
3796
+ ]
3274
3797
  },
3275
3798
  columnPercent: {
3276
3799
  xAxis: bandAxis,
3277
- yAxis: linearAxis
3800
+ yAxis: linearAxis,
3801
+ crosshairRect,
3802
+ stackCornerRadius: [
3803
+ 4,
3804
+ 4,
3805
+ 0,
3806
+ 0
3807
+ ]
3278
3808
  },
3279
3809
  bar: {
3280
3810
  xAxis: linearAxis,
3281
- yAxis: barBandAxis
3811
+ yAxis: barBandAxis,
3812
+ crosshairRect,
3813
+ stackCornerRadius: [
3814
+ 0,
3815
+ 4,
3816
+ 4,
3817
+ 0
3818
+ ]
3282
3819
  },
3283
3820
  barParallel: {
3284
3821
  xAxis: linearAxis,
3285
- yAxis: barBandAxis
3822
+ yAxis: barBandAxis,
3823
+ crosshairRect,
3824
+ stackCornerRadius: [
3825
+ 0,
3826
+ 4,
3827
+ 4,
3828
+ 0
3829
+ ]
3286
3830
  },
3287
3831
  barPercent: {
3288
3832
  xAxis: linearAxis,
3289
- yAxis: barBandAxis
3833
+ yAxis: barBandAxis,
3834
+ crosshairRect,
3835
+ stackCornerRadius: [
3836
+ 0,
3837
+ 4,
3838
+ 4,
3839
+ 0
3840
+ ]
3290
3841
  },
3291
3842
  area: {
3292
3843
  xAxis: bandAxis,
3293
- yAxis: linearAxis
3844
+ yAxis: linearAxis,
3845
+ crosshairLine
3294
3846
  },
3295
3847
  areaPercent: {
3296
3848
  xAxis: bandAxis,
3297
- yAxis: linearAxis
3849
+ yAxis: linearAxis,
3850
+ crosshairLine
3298
3851
  }
3299
3852
  }
3300
3853
  };
@@ -3339,7 +3892,7 @@ const darkTheme = ()=>{
3339
3892
  labelAutoHideGap: 4,
3340
3893
  labelAutoLimit: true,
3341
3894
  labelAutoLimitLength: 100,
3342
- labelAutoRotate: true,
3895
+ labelAutoRotate: false,
3343
3896
  labelAutoRotateAngleRange: [
3344
3897
  0,
3345
3898
  -45,
@@ -3376,6 +3929,33 @@ const darkTheme = ()=>{
3376
3929
  lineWidth: 1
3377
3930
  }
3378
3931
  };
3932
+ const barBandAxis = {
3933
+ ...bandAxis,
3934
+ labelAutoHide: false,
3935
+ labelAutoHideGap: 1,
3936
+ labelAutoLimit: false,
3937
+ labelAutoLimitLength: void 0,
3938
+ labelAutoRotate: false,
3939
+ labelAutoRotateAngleRange: [
3940
+ 0,
3941
+ -45,
3942
+ -90
3943
+ ]
3944
+ };
3945
+ const crosshairLine = {
3946
+ visible: true,
3947
+ labelVisible: true,
3948
+ lineColor: '#E2E3E6',
3949
+ labelColor: '#4B4F54',
3950
+ labelBackgroundColor: '#ffffff'
3951
+ };
3952
+ const crosshairRect = {
3953
+ visible: true,
3954
+ labelVisible: true,
3955
+ lineColor: '#E2E3E6',
3956
+ labelColor: '#4B4F54',
3957
+ labelBackgroundColor: '#ffffff'
3958
+ };
3379
3959
  return {
3380
3960
  baseConfig: {
3381
3961
  vtable: {
@@ -3418,45 +3998,94 @@ const darkTheme = ()=>{
3418
3998
  config: {
3419
3999
  line: {
3420
4000
  xAxis: bandAxis,
3421
- yAxis: linearAxis
4001
+ yAxis: linearAxis,
4002
+ crosshairLine: crosshairLine
3422
4003
  },
3423
4004
  column: {
3424
4005
  xAxis: bandAxis,
3425
- yAxis: linearAxis
4006
+ yAxis: linearAxis,
4007
+ crosshairRect: crosshairRect,
4008
+ stackCornerRadius: [
4009
+ 4,
4010
+ 4,
4011
+ 0,
4012
+ 0
4013
+ ]
3426
4014
  },
3427
4015
  columnParallel: {
3428
4016
  xAxis: bandAxis,
3429
- yAxis: linearAxis
4017
+ yAxis: linearAxis,
4018
+ crosshairRect: crosshairRect,
4019
+ stackCornerRadius: [
4020
+ 4,
4021
+ 4,
4022
+ 0,
4023
+ 0
4024
+ ]
3430
4025
  },
3431
4026
  columnPercent: {
3432
4027
  xAxis: bandAxis,
3433
- yAxis: linearAxis
4028
+ yAxis: linearAxis,
4029
+ crosshairRect: crosshairRect,
4030
+ stackCornerRadius: [
4031
+ 4,
4032
+ 4,
4033
+ 0,
4034
+ 0
4035
+ ]
3434
4036
  },
3435
4037
  bar: {
3436
4038
  xAxis: linearAxis,
3437
- yAxis: bandAxis
4039
+ yAxis: barBandAxis,
4040
+ crosshairRect: crosshairRect,
4041
+ stackCornerRadius: [
4042
+ 0,
4043
+ 4,
4044
+ 4,
4045
+ 0
4046
+ ]
3438
4047
  },
3439
4048
  barParallel: {
3440
4049
  xAxis: linearAxis,
3441
- yAxis: bandAxis
4050
+ yAxis: barBandAxis,
4051
+ crosshairRect: crosshairRect,
4052
+ stackCornerRadius: [
4053
+ 0,
4054
+ 4,
4055
+ 4,
4056
+ 0
4057
+ ]
3442
4058
  },
3443
4059
  barPercent: {
3444
4060
  xAxis: linearAxis,
3445
- yAxis: bandAxis
4061
+ yAxis: barBandAxis,
4062
+ crosshairRect: crosshairRect,
4063
+ stackCornerRadius: [
4064
+ 0,
4065
+ 4,
4066
+ 4,
4067
+ 0
4068
+ ]
3446
4069
  },
3447
4070
  area: {
3448
4071
  xAxis: bandAxis,
3449
- yAxis: linearAxis
4072
+ yAxis: linearAxis,
4073
+ crosshairLine: crosshairLine
3450
4074
  },
3451
4075
  areaPercent: {
3452
4076
  xAxis: bandAxis,
3453
- yAxis: linearAxis
4077
+ yAxis: linearAxis,
4078
+ crosshairLine: crosshairLine
3454
4079
  }
3455
4080
  }
3456
4081
  };
3457
4082
  };
3458
4083
  const registerCustomTheme = (key, themeConfig)=>{
3459
- Builder._themeMap[key] = themeConfig;
4084
+ const customTheme = 'function' == typeof themeConfig ? themeConfig({
4085
+ lightTheme: lightTheme(),
4086
+ darkTheme: darkTheme()
4087
+ }) : themeConfig;
4088
+ Builder._themeMap[key] = customTheme;
3460
4089
  };
3461
4090
  const registerLightTheme = ()=>{
3462
4091
  registerCustomTheme('light', lightTheme());
@@ -3509,29 +4138,30 @@ const zDimension = external_zod_namespaceObject.z.object({
3509
4138
  ])
3510
4139
  });
3511
4140
  const zDimensions = external_zod_namespaceObject.z.array(zDimension).optional();
4141
+ const zNumFormat = external_zod_namespaceObject.z.object({
4142
+ type: external_zod_namespaceObject.z["enum"]([
4143
+ 'number',
4144
+ 'percent',
4145
+ 'permille'
4146
+ ]).default('number').optional(),
4147
+ ratio: external_zod_namespaceObject.z.number().default(1).optional(),
4148
+ symbol: external_zod_namespaceObject.z.string().default('').optional(),
4149
+ thousandSeparator: external_zod_namespaceObject.z.boolean().default(false).optional(),
4150
+ decimalPlaces: external_zod_namespaceObject.z.number().default(2).optional(),
4151
+ round: external_zod_namespaceObject.z["enum"]([
4152
+ 'round',
4153
+ 'floor',
4154
+ 'ceil'
4155
+ ]).default('round').optional(),
4156
+ prefix: external_zod_namespaceObject.z.string().default('').optional(),
4157
+ suffix: external_zod_namespaceObject.z.string().default('').optional()
4158
+ }).optional();
3512
4159
  const zMeasure = external_zod_namespaceObject.z.object({
3513
4160
  id: external_zod_namespaceObject.z.string(),
3514
4161
  alias: external_zod_namespaceObject.z.string().optional(),
3515
4162
  visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3516
4163
  autoFormat: external_zod_namespaceObject.z.boolean().default(true).optional(),
3517
- format: external_zod_namespaceObject.z.object({
3518
- type: external_zod_namespaceObject.z["enum"]([
3519
- 'number',
3520
- 'percent',
3521
- 'permille'
3522
- ]).optional().default('number'),
3523
- ratio: external_zod_namespaceObject.z.number().optional().default(1),
3524
- symbol: external_zod_namespaceObject.z.string().optional().default(''),
3525
- thousandSeparator: external_zod_namespaceObject.z.boolean().optional().default(false),
3526
- decimalPlaces: external_zod_namespaceObject.z.number().optional().default(2),
3527
- round: external_zod_namespaceObject.z["enum"]([
3528
- 'round',
3529
- 'floor',
3530
- 'ceil'
3531
- ]).optional().default('round'),
3532
- prefix: external_zod_namespaceObject.z.string().optional().default(''),
3533
- suffix: external_zod_namespaceObject.z.string().optional().default('')
3534
- }).optional()
4164
+ format: zNumFormat.optional()
3535
4165
  });
3536
4166
  const zMeasureGroup = external_zod_namespaceObject.z.object({
3537
4167
  id: external_zod_namespaceObject.z.string(),
@@ -3776,42 +4406,77 @@ const zXLinearAxis = external_zod_namespaceObject.z.object({
3776
4406
  }).optional()
3777
4407
  });
3778
4408
  const zYLinearAxis = zXLinearAxis;
4409
+ const zCrosshairLine = external_zod_namespaceObject.z.object({
4410
+ visible: external_zod_namespaceObject.z.boolean().optional(),
4411
+ lineColor: external_zod_namespaceObject.z.string().optional(),
4412
+ labelColor: external_zod_namespaceObject.z.string().optional(),
4413
+ labelVisible: external_zod_namespaceObject.z.boolean().optional(),
4414
+ labelBackgroundColor: external_zod_namespaceObject.z.string().optional()
4415
+ });
4416
+ const zCrosshairRect = external_zod_namespaceObject.z.object({
4417
+ visible: external_zod_namespaceObject.z.boolean().optional(),
4418
+ rectColor: external_zod_namespaceObject.z.string().optional(),
4419
+ labelColor: external_zod_namespaceObject.z.string().optional(),
4420
+ labelVisible: external_zod_namespaceObject.z.boolean().optional(),
4421
+ labelBackgroundColor: external_zod_namespaceObject.z.string().optional()
4422
+ });
4423
+ const zStackCornerRadius = external_zod_namespaceObject.z.number().or(external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.number())).default([
4424
+ 3,
4425
+ 3,
4426
+ 0,
4427
+ 0
4428
+ ]);
3779
4429
  const zConfig = external_zod_namespaceObject.z.object({
3780
4430
  line: external_zod_namespaceObject.z.object({
3781
- xAxis: zXBandAxis,
3782
- yAxis: zYLinearAxis
4431
+ xAxis: zXBandAxis.optional(),
4432
+ yAxis: zYLinearAxis.optional(),
4433
+ crosshairLine: zCrosshairLine.optional()
3783
4434
  }).optional(),
3784
4435
  column: external_zod_namespaceObject.z.object({
3785
- xAxis: zXBandAxis,
3786
- yAxis: zYLinearAxis
4436
+ xAxis: zXBandAxis.optional(),
4437
+ yAxis: zYLinearAxis.optional(),
4438
+ crosshairRect: zCrosshairRect.optional(),
4439
+ stackCornerRadius: zStackCornerRadius.optional()
3787
4440
  }).optional(),
3788
4441
  columnParallel: external_zod_namespaceObject.z.object({
3789
- xAxis: zXBandAxis,
3790
- yAxis: zYLinearAxis
4442
+ xAxis: zXBandAxis.optional(),
4443
+ yAxis: zYLinearAxis.optional(),
4444
+ crosshairRect: zCrosshairRect.optional(),
4445
+ stackCornerRadius: zStackCornerRadius.optional()
3791
4446
  }).optional(),
3792
4447
  columnPercent: external_zod_namespaceObject.z.object({
3793
- xAxis: zXBandAxis,
3794
- yAxis: zYLinearAxis
4448
+ xAxis: zXBandAxis.optional(),
4449
+ yAxis: zYLinearAxis.optional(),
4450
+ crosshairRect: zCrosshairRect.optional(),
4451
+ stackCornerRadius: zStackCornerRadius.optional()
3795
4452
  }).optional(),
3796
4453
  bar: external_zod_namespaceObject.z.object({
3797
- xAxis: zXLinearAxis,
3798
- yAxis: zYBandAxis
4454
+ xAxis: zXLinearAxis.optional(),
4455
+ yAxis: zYBandAxis.optional(),
4456
+ crosshairRect: zCrosshairRect.optional(),
4457
+ stackCornerRadius: zStackCornerRadius.optional()
3799
4458
  }).optional(),
3800
4459
  barParallel: external_zod_namespaceObject.z.object({
3801
- xAxis: zXLinearAxis,
3802
- yAxis: zYBandAxis
4460
+ xAxis: zXLinearAxis.optional(),
4461
+ yAxis: zYBandAxis.optional(),
4462
+ crosshairRect: zCrosshairRect.optional(),
4463
+ stackCornerRadius: zStackCornerRadius.optional()
3803
4464
  }).optional(),
3804
4465
  barPercent: external_zod_namespaceObject.z.object({
3805
- xAxis: zXLinearAxis,
3806
- yAxis: zYBandAxis
4466
+ xAxis: zXLinearAxis.optional(),
4467
+ yAxis: zYBandAxis.optional(),
4468
+ crosshairRect: zCrosshairRect.optional(),
4469
+ stackCornerRadius: zStackCornerRadius.optional()
3807
4470
  }).optional(),
3808
4471
  area: external_zod_namespaceObject.z.object({
3809
- xAxis: zXBandAxis,
3810
- yAxis: zYLinearAxis
4472
+ xAxis: zXBandAxis.optional(),
4473
+ yAxis: zYLinearAxis.optional(),
4474
+ crosshairLine: zCrosshairLine.optional()
3811
4475
  }).optional(),
3812
4476
  areaPercent: external_zod_namespaceObject.z.object({
3813
- xAxis: zXBandAxis,
3814
- yAxis: zYLinearAxis
4477
+ xAxis: zXBandAxis.optional(),
4478
+ yAxis: zYLinearAxis.optional(),
4479
+ crosshairLine: zCrosshairLine.optional()
3815
4480
  }).optional(),
3816
4481
  pie: external_zod_namespaceObject.z.object({}).optional(),
3817
4482
  donut: external_zod_namespaceObject.z.object({}).optional(),
@@ -3820,12 +4485,6 @@ const zConfig = external_zod_namespaceObject.z.object({
3820
4485
  table: external_zod_namespaceObject.z.object({}).optional(),
3821
4486
  pivotTable: external_zod_namespaceObject.z.object({}).optional()
3822
4487
  });
3823
- const zCustomThemeConfig = external_zod_namespaceObject.z.object({
3824
- baseConfig: zBaseConfig.optional(),
3825
- config: zConfig.optional()
3826
- });
3827
- const zCustomTheme = external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), zCustomThemeConfig).optional();
3828
- const zTheme = external_zod_namespaceObject.z.string();
3829
4488
  const zSelector = external_zod_namespaceObject.z.union([
3830
4489
  external_zod_namespaceObject.z.string(),
3831
4490
  external_zod_namespaceObject.z.number(),
@@ -3881,28 +4540,6 @@ const zSelector = external_zod_namespaceObject.z.union([
3881
4540
  })
3882
4541
  ]);
3883
4542
  const zSelectors = external_zod_namespaceObject.z.array(zSelector);
3884
- const zBarStyle = external_zod_namespaceObject.z.object({
3885
- selector: external_zod_namespaceObject.z.union([
3886
- zSelector,
3887
- zSelectors
3888
- ]).optional(),
3889
- barColor: external_zod_namespaceObject.z.string().optional(),
3890
- barColorOpacity: external_zod_namespaceObject.z.number().optional(),
3891
- barBorderColor: external_zod_namespaceObject.z.string().optional(),
3892
- barBorderWidth: external_zod_namespaceObject.z.number().optional(),
3893
- barBorderStyle: external_zod_namespaceObject.z.union([
3894
- external_zod_namespaceObject.z.literal('solid'),
3895
- external_zod_namespaceObject.z.literal('dashed'),
3896
- external_zod_namespaceObject.z.literal('dotted')
3897
- ]).optional(),
3898
- barRadius: external_zod_namespaceObject.z.union([
3899
- external_zod_namespaceObject.z.number(),
3900
- external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.number())
3901
- ]).optional()
3902
- });
3903
- const zMarkStyle = external_zod_namespaceObject.z.object({
3904
- barStyle: zBarStyle.optional()
3905
- });
3906
4543
  const zAnnotationPoint = external_zod_namespaceObject.z.object({
3907
4544
  selector: external_zod_namespaceObject.z.union([
3908
4545
  zSelector,
@@ -4083,6 +4720,82 @@ const zAnnotation = external_zod_namespaceObject.z.object({
4083
4720
  annotationHorizontalLine: zAnnotationHorizontalLine.or(external_zod_namespaceObject.z.array(zAnnotationHorizontalLine)).optional(),
4084
4721
  annotationArea: zAnnotationArea.or(external_zod_namespaceObject.z.array(zAnnotationArea)).optional()
4085
4722
  });
4723
+ const zBarStyle = external_zod_namespaceObject.z.object({
4724
+ selector: external_zod_namespaceObject.z.union([
4725
+ zSelector,
4726
+ zSelectors
4727
+ ]).optional(),
4728
+ barColor: external_zod_namespaceObject.z.string().optional(),
4729
+ barColorOpacity: external_zod_namespaceObject.z.number().optional(),
4730
+ barBorderColor: external_zod_namespaceObject.z.string().optional(),
4731
+ barBorderWidth: external_zod_namespaceObject.z.number().optional(),
4732
+ barBorderStyle: external_zod_namespaceObject.z.union([
4733
+ external_zod_namespaceObject.z.literal('solid'),
4734
+ external_zod_namespaceObject.z.literal('dashed'),
4735
+ external_zod_namespaceObject.z.literal('dotted')
4736
+ ]).optional(),
4737
+ barRadius: external_zod_namespaceObject.z.union([
4738
+ external_zod_namespaceObject.z.number(),
4739
+ external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.number())
4740
+ ]).optional()
4741
+ });
4742
+ const zPointStyle = external_zod_namespaceObject.z.object({
4743
+ selector: external_zod_namespaceObject.z.union([
4744
+ zSelector,
4745
+ zSelectors
4746
+ ]).optional(),
4747
+ pointSize: external_zod_namespaceObject.z.number().optional(),
4748
+ pointColor: external_zod_namespaceObject.z.string().optional(),
4749
+ pointColorOpacity: external_zod_namespaceObject.z.number().optional(),
4750
+ pointBorderColor: external_zod_namespaceObject.z.string().optional(),
4751
+ pointBorderWidth: external_zod_namespaceObject.z.number().optional(),
4752
+ pointBorderStyle: external_zod_namespaceObject.z.union([
4753
+ external_zod_namespaceObject.z["enum"]([
4754
+ 'solid',
4755
+ 'dashed',
4756
+ 'dotted'
4757
+ ])
4758
+ ]).optional()
4759
+ });
4760
+ const zLineStyle = external_zod_namespaceObject.z.object({
4761
+ selector: external_zod_namespaceObject.z.union([
4762
+ zSelector,
4763
+ zSelectors
4764
+ ]).optional(),
4765
+ lineSmooth: external_zod_namespaceObject.z.boolean().default(true).optional(),
4766
+ lineColor: external_zod_namespaceObject.z.string().optional(),
4767
+ lineColorOpacity: external_zod_namespaceObject.z.number().optional(),
4768
+ lineWidth: external_zod_namespaceObject.z.number().optional(),
4769
+ lineStyle: external_zod_namespaceObject.z.union([
4770
+ external_zod_namespaceObject.z["enum"]([
4771
+ 'solid',
4772
+ 'dashed',
4773
+ 'dotted'
4774
+ ])
4775
+ ]).optional()
4776
+ });
4777
+ const zAreaStyle = external_zod_namespaceObject.z.object({
4778
+ selector: external_zod_namespaceObject.z.union([
4779
+ zSelector,
4780
+ zSelectors
4781
+ ]).optional(),
4782
+ areaColor: external_zod_namespaceObject.z.string().optional(),
4783
+ areaColorOpacity: external_zod_namespaceObject.z.number().optional()
4784
+ });
4785
+ const zMarkStyle = external_zod_namespaceObject.z.object({
4786
+ barStyle: zBarStyle.or(external_zod_namespaceObject.z.array(zBarStyle)).optional(),
4787
+ pointStyle: zPointStyle.or(external_zod_namespaceObject.z.array(zPointStyle)).optional(),
4788
+ lineStyle: zLineStyle.or(external_zod_namespaceObject.z.array(zLineStyle)).optional(),
4789
+ areaStyle: zAreaStyle.or(external_zod_namespaceObject.z.array(zAreaStyle)).optional()
4790
+ });
4791
+ const zCustomThemeConfig = external_zod_namespaceObject.z.object({
4792
+ baseConfig: zBaseConfig.optional(),
4793
+ config: zConfig.optional(),
4794
+ annotation: zAnnotation.optional(),
4795
+ markStyle: zMarkStyle.optional()
4796
+ });
4797
+ const zCustomTheme = external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), zCustomThemeConfig).optional();
4798
+ const zTheme = external_zod_namespaceObject.z.string();
4086
4799
  exports.Builder = __webpack_exports__.Builder;
4087
4800
  exports.FoldMeasureId = __webpack_exports__.FoldMeasureId;
4088
4801
  exports.FoldMeasureName = __webpack_exports__.FoldMeasureName;
@@ -4106,10 +4819,13 @@ exports.columnParallelSpecPipeline = __webpack_exports__.columnParallelSpecPipel
4106
4819
  exports.columnPercentAdvancedPipeline = __webpack_exports__.columnPercentAdvancedPipeline;
4107
4820
  exports.columnPercentSpecPipeline = __webpack_exports__.columnPercentSpecPipeline;
4108
4821
  exports.columnSpecPipeline = __webpack_exports__.columnSpecPipeline;
4822
+ exports.createFormatter = __webpack_exports__.createFormatter;
4823
+ exports.createNumFormatter = __webpack_exports__.createNumFormatter;
4109
4824
  exports.darkTheme = __webpack_exports__.darkTheme;
4110
4825
  exports.dataReshapeFor1D1M = __webpack_exports__.dataReshapeFor1D1M;
4111
4826
  exports.dataReshapeFor2D1M = __webpack_exports__.dataReshapeFor2D1M;
4112
4827
  exports.execPipeline = __webpack_exports__.execPipeline;
4828
+ exports.findMeasureById = __webpack_exports__.findMeasureById;
4113
4829
  exports.foldMeasures = __webpack_exports__.foldMeasures;
4114
4830
  exports.isPivotChart = __webpack_exports__.isPivotChart;
4115
4831
  exports.isVChart = __webpack_exports__.isVChart;
@@ -4138,6 +4854,7 @@ exports.zAnnotationArea = __webpack_exports__.zAnnotationArea;
4138
4854
  exports.zAnnotationHorizontalLine = __webpack_exports__.zAnnotationHorizontalLine;
4139
4855
  exports.zAnnotationPoint = __webpack_exports__.zAnnotationPoint;
4140
4856
  exports.zAnnotationVerticalLine = __webpack_exports__.zAnnotationVerticalLine;
4857
+ exports.zAreaStyle = __webpack_exports__.zAreaStyle;
4141
4858
  exports.zAxis = __webpack_exports__.zAxis;
4142
4859
  exports.zBackgroundColor = __webpack_exports__.zBackgroundColor;
4143
4860
  exports.zBarStyle = __webpack_exports__.zBarStyle;
@@ -4145,6 +4862,8 @@ exports.zBaseConfig = __webpack_exports__.zBaseConfig;
4145
4862
  exports.zChartType = __webpack_exports__.zChartType;
4146
4863
  exports.zColor = __webpack_exports__.zColor;
4147
4864
  exports.zConfig = __webpack_exports__.zConfig;
4865
+ exports.zCrosshairLine = __webpack_exports__.zCrosshairLine;
4866
+ exports.zCrosshairRect = __webpack_exports__.zCrosshairRect;
4148
4867
  exports.zCustomTheme = __webpack_exports__.zCustomTheme;
4149
4868
  exports.zCustomThemeConfig = __webpack_exports__.zCustomThemeConfig;
4150
4869
  exports.zDataset = __webpack_exports__.zDataset;
@@ -4156,10 +4875,14 @@ exports.zEncoding = __webpack_exports__.zEncoding;
4156
4875
  exports.zFoldInfo = __webpack_exports__.zFoldInfo;
4157
4876
  exports.zLabel = __webpack_exports__.zLabel;
4158
4877
  exports.zLegend = __webpack_exports__.zLegend;
4878
+ exports.zLineStyle = __webpack_exports__.zLineStyle;
4159
4879
  exports.zMarkStyle = __webpack_exports__.zMarkStyle;
4160
4880
  exports.zMeasure = __webpack_exports__.zMeasure;
4161
4881
  exports.zMeasureGroup = __webpack_exports__.zMeasureGroup;
4162
4882
  exports.zMeasures = __webpack_exports__.zMeasures;
4883
+ exports.zNumFormat = __webpack_exports__.zNumFormat;
4884
+ exports.zPointStyle = __webpack_exports__.zPointStyle;
4885
+ exports.zStackCornerRadius = __webpack_exports__.zStackCornerRadius;
4163
4886
  exports.zTheme = __webpack_exports__.zTheme;
4164
4887
  exports.zTooltip = __webpack_exports__.zTooltip;
4165
4888
  exports.zUnfoldInfo = __webpack_exports__.zUnfoldInfo;
@@ -4191,10 +4914,13 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
4191
4914
  "columnPercentAdvancedPipeline",
4192
4915
  "columnPercentSpecPipeline",
4193
4916
  "columnSpecPipeline",
4917
+ "createFormatter",
4918
+ "createNumFormatter",
4194
4919
  "darkTheme",
4195
4920
  "dataReshapeFor1D1M",
4196
4921
  "dataReshapeFor2D1M",
4197
4922
  "execPipeline",
4923
+ "findMeasureById",
4198
4924
  "foldMeasures",
4199
4925
  "isPivotChart",
4200
4926
  "isVChart",
@@ -4223,6 +4949,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
4223
4949
  "zAnnotationHorizontalLine",
4224
4950
  "zAnnotationPoint",
4225
4951
  "zAnnotationVerticalLine",
4952
+ "zAreaStyle",
4226
4953
  "zAxis",
4227
4954
  "zBackgroundColor",
4228
4955
  "zBarStyle",
@@ -4230,6 +4957,8 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
4230
4957
  "zChartType",
4231
4958
  "zColor",
4232
4959
  "zConfig",
4960
+ "zCrosshairLine",
4961
+ "zCrosshairRect",
4233
4962
  "zCustomTheme",
4234
4963
  "zCustomThemeConfig",
4235
4964
  "zDataset",
@@ -4241,10 +4970,14 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
4241
4970
  "zFoldInfo",
4242
4971
  "zLabel",
4243
4972
  "zLegend",
4973
+ "zLineStyle",
4244
4974
  "zMarkStyle",
4245
4975
  "zMeasure",
4246
4976
  "zMeasureGroup",
4247
4977
  "zMeasures",
4978
+ "zNumFormat",
4979
+ "zPointStyle",
4980
+ "zStackCornerRadius",
4248
4981
  "zTheme",
4249
4982
  "zTooltip",
4250
4983
  "zUnfoldInfo",