@visactor/vseed 0.0.8 → 0.0.9

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 (36) hide show
  1. package/dist/builder/builder/builder.d.ts +137 -0
  2. package/dist/dataReshape/constant.d.ts +1 -0
  3. package/dist/dataSelector/index.d.ts +1 -0
  4. package/dist/dataSelector/selector.d.ts +7 -0
  5. package/dist/index.cjs +495 -79
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.js +488 -81
  8. package/dist/index.js.map +1 -1
  9. package/dist/pipeline/advanced/pipes/index.d.ts +1 -0
  10. package/dist/pipeline/advanced/pipes/markStyle/index.d.ts +1 -0
  11. package/dist/pipeline/advanced/pipes/markStyle/markStyle.d.ts +2 -0
  12. package/dist/pipeline/spec/pipes/index.d.ts +1 -0
  13. package/dist/pipeline/spec/pipes/legend/{pivotLegend.d.ts → discreteLegend.d.ts} +1 -1
  14. package/dist/pipeline/spec/pipes/legend/index.d.ts +2 -2
  15. package/dist/pipeline/spec/pipes/legend/pivotDiscreteLegend.d.ts +2 -0
  16. package/dist/pipeline/spec/pipes/{legend/legend.d.ts → markStyle/barStyle.d.ts} +1 -1
  17. package/dist/pipeline/spec/pipes/markStyle/index.d.ts +1 -0
  18. package/dist/pipeline/spec/pipes/stack/index.d.ts +1 -1
  19. package/dist/pipeline/spec/pipes/stack/stack.d.ts +2 -2
  20. package/dist/types/advancedVSeed.d.ts +129 -0
  21. package/dist/types/chartType/bar/bar.d.ts +10 -1
  22. package/dist/types/chartType/barParallel/barParallel.d.ts +10 -1
  23. package/dist/types/chartType/barPercent/barPercent.d.ts +10 -1
  24. package/dist/types/chartType/column/column.d.ts +10 -1
  25. package/dist/types/chartType/columnParallel/columnParallel.d.ts +10 -1
  26. package/dist/types/chartType/columnPercent/columnPercent.d.ts +10 -1
  27. package/dist/types/dataSelector/index.d.ts +1 -0
  28. package/dist/types/dataSelector/selector.d.ts +34 -0
  29. package/dist/types/properties/baseConfig/baseConfig.d.ts +102 -0
  30. package/dist/types/properties/baseConfig/legend.d.ts +101 -4
  31. package/dist/types/properties/index.d.ts +1 -0
  32. package/dist/types/properties/markStyle/barStyle.d.ts +114 -0
  33. package/dist/types/properties/markStyle/index.d.ts +2 -0
  34. package/dist/types/properties/markStyle/markStyle.d.ts +29 -0
  35. package/dist/types/properties/theme/customTheme.d.ts +102 -0
  36. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -46,7 +46,9 @@ __webpack_require__.d(__webpack_exports__, {
46
46
  zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
47
47
  zFoldInfo: ()=>zFoldInfo,
48
48
  zYBandAxis: ()=>zYBandAxis,
49
+ ORIGINAL_DATA: ()=>ORIGINAL_DATA,
49
50
  zYLinearAxis: ()=>zYLinearAxis,
51
+ zMarkStyle: ()=>zMarkStyle,
50
52
  Separator: ()=>Separator,
51
53
  columnAdvancedPipeline: ()=>columnAdvancedPipeline,
52
54
  columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
@@ -75,6 +77,7 @@ __webpack_require__.d(__webpack_exports__, {
75
77
  zXLinearAxis: ()=>zXLinearAxis,
76
78
  zConfig: ()=>zConfig,
77
79
  zDatum: ()=>zDatum,
80
+ zBarStyle: ()=>zBarStyle,
78
81
  barAdvancedPipeline: ()=>barAdvancedPipeline,
79
82
  zCustomThemeConfig: ()=>zCustomThemeConfig,
80
83
  columnParallelAdvancedPipeline: ()=>columnParallelAdvancedPipeline,
@@ -225,6 +228,7 @@ const FoldMeasureValue = '__MeaValue__';
225
228
  const FoldMeasureId = '__MeaId__';
226
229
  const UnfoldDimensionGroup = '__DimGroup__';
227
230
  const Separator = '-';
231
+ const ORIGINAL_DATA = '__OriginalData__';
228
232
  const external_remeda_namespaceObject = require("remeda");
229
233
  const unfoldDimensions = (dataset, dimensions, measures, unfoldStartIndex = 0, foldGroupName = UnfoldDimensionGroup, dimensionsSeparator = Separator)=>{
230
234
  if (unfoldStartIndex < 0 || unfoldStartIndex >= dimensions.length) throw new Error('unfoldStartIndex is out of range');
@@ -263,12 +267,15 @@ const foldMeasures = (dataset, measures, measureId = FoldMeasureId, measureName
263
267
  };
264
268
  const result = new Array(dataset.length * measures.length);
265
269
  let index = 0;
270
+ const ids = measures.map((d)=>d.id);
266
271
  for(let i = 0; i < dataset.length; i++)for(let j = 0; j < measures.length; j++){
267
- const datum = {
272
+ const datum = (0, external_remeda_namespaceObject.omit)({
268
273
  ...dataset[i]
269
- };
274
+ }, ids);
275
+ datum[ORIGINAL_DATA] = dataset[i];
270
276
  const measure = measures[j];
271
277
  const { id, alias } = measure;
278
+ datum[id] = dataset[i][id];
272
279
  datum[measureId] = id;
273
280
  datum[measureName] = alias;
274
281
  datum[measureValue] = dataset[i][id];
@@ -531,15 +538,16 @@ const encodingXY = (advancedVSeed)=>{
531
538
  if (!datasetReshapeInfo || !dimensions) return result;
532
539
  const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
533
540
  const { foldInfo, unfoldInfo } = cur;
534
- const isSingleDimension = 0 === dimensions.length;
541
+ const isSingleDimension = 1 === dimensions.length;
542
+ const isZeroDimension = 0 === dimensions.length;
535
543
  const x = [
536
- isSingleDimension ? foldInfo.measureName : dimensions[0].id
544
+ isZeroDimension ? foldInfo.measureName : dimensions[0].id
537
545
  ];
538
546
  const y = [
539
547
  foldInfo.measureValue
540
548
  ];
541
549
  const group = [
542
- isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName
550
+ isSingleDimension || isZeroDimension ? foldInfo.measureName : unfoldInfo.groupName
543
551
  ];
544
552
  const color = [
545
553
  foldInfo.measureName
@@ -567,15 +575,16 @@ const encodingYX = (advancedVSeed)=>{
567
575
  if (!datasetReshapeInfo || !dimensions) return result;
568
576
  const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
569
577
  const { foldInfo, unfoldInfo } = cur;
570
- const isSingleDimension = 0 === dimensions.length;
578
+ const isZeroDimension = 0 === dimensions.length;
579
+ const isSingleDimension = 1 === dimensions.length;
571
580
  const y = [
572
- isSingleDimension ? foldInfo.measureName : dimensions[0].id
581
+ isZeroDimension ? foldInfo.measureName : dimensions[0].id
573
582
  ];
574
583
  const x = [
575
584
  foldInfo.measureValue
576
585
  ];
577
586
  const group = [
578
- isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName
587
+ isSingleDimension || isZeroDimension ? foldInfo.measureName : unfoldInfo.groupName
579
588
  ];
580
589
  const color = [
581
590
  foldInfo.measureName
@@ -725,6 +734,16 @@ const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
725
734
  if (usePivotChart) return execPipeline(pivotPipeline, context, advancedVSeed);
726
735
  return execPipeline(pipeline, context, advancedVSeed);
727
736
  };
737
+ const markStyle_markStyle = (advancedVSeed, context)=>{
738
+ const { vseed } = context;
739
+ const markStyle = (0, external_remeda_namespaceObject.pick)(vseed, [
740
+ 'barStyle'
741
+ ]);
742
+ return {
743
+ ...advancedVSeed,
744
+ markStyle
745
+ };
746
+ };
728
747
  const lineAdvancedPipeline = [
729
748
  initAdvancedVSeed,
730
749
  autoMeasures,
@@ -751,7 +770,8 @@ const barAdvancedPipeline = [
751
770
  encodingYX,
752
771
  barConfig,
753
772
  vchartBaseConfig,
754
- vchartTheme
773
+ vchartTheme,
774
+ markStyle_markStyle
755
775
  ];
756
776
  const barParallelAdvancedPipeline = [
757
777
  initAdvancedVSeed,
@@ -765,7 +785,8 @@ const barParallelAdvancedPipeline = [
765
785
  encodingYX,
766
786
  barParallelConfig,
767
787
  vchartBaseConfig,
768
- vchartTheme
788
+ vchartTheme,
789
+ markStyle_markStyle
769
790
  ];
770
791
  const barPercentAdvancedPipeline = [
771
792
  initAdvancedVSeed,
@@ -779,7 +800,8 @@ const barPercentAdvancedPipeline = [
779
800
  encodingYX,
780
801
  barPercentConfig,
781
802
  vchartBaseConfig,
782
- vchartTheme
803
+ vchartTheme,
804
+ markStyle_markStyle
783
805
  ];
784
806
  const columnAdvancedPipeline = [
785
807
  initAdvancedVSeed,
@@ -793,7 +815,8 @@ const columnAdvancedPipeline = [
793
815
  encodingXY,
794
816
  columnConfig,
795
817
  vchartBaseConfig,
796
- vchartTheme
818
+ vchartTheme,
819
+ markStyle_markStyle
797
820
  ];
798
821
  const columnParallelAdvancedPipeline = [
799
822
  initAdvancedVSeed,
@@ -807,7 +830,8 @@ const columnParallelAdvancedPipeline = [
807
830
  encodingXY,
808
831
  columnParallelConfig,
809
832
  vchartBaseConfig,
810
- vchartTheme
833
+ vchartTheme,
834
+ markStyle_markStyle
811
835
  ];
812
836
  const columnPercentAdvancedPipeline = [
813
837
  initAdvancedVSeed,
@@ -821,7 +845,8 @@ const columnPercentAdvancedPipeline = [
821
845
  encodingXY,
822
846
  columnPercentConfig,
823
847
  vchartBaseConfig,
824
- vchartTheme
848
+ vchartTheme,
849
+ markStyle_markStyle
825
850
  ];
826
851
  const areaAdvancedPipeline = [
827
852
  initAdvancedVSeed,
@@ -1392,11 +1417,11 @@ const percent = (spec, context)=>{
1392
1417
  result.percent = true;
1393
1418
  return result;
1394
1419
  };
1395
- const stack = (spec, context)=>{
1420
+ const stackInverse = (spec)=>{
1396
1421
  const result = {
1397
1422
  ...spec
1398
1423
  };
1399
- result.stack = true;
1424
+ result.stackInverse = true;
1400
1425
  return result;
1401
1426
  };
1402
1427
  const background_backgroundColor = (spec, context)=>{
@@ -1442,24 +1467,103 @@ const label_label = (spec, context)=>{
1442
1467
  };
1443
1468
  return result;
1444
1469
  };
1445
- const defaultLegend = {
1446
- enable: true
1447
- };
1448
- const legend_legend = (spec, context)=>{
1470
+ const discreteLegend = (spec, context)=>{
1449
1471
  const result = {
1450
1472
  ...spec
1451
1473
  };
1452
1474
  const { advancedVSeed } = context;
1453
1475
  const baseConfig = advancedVSeed.baseConfig.vchart;
1454
1476
  if (!baseConfig || !baseConfig.legend) return result;
1455
- const { legend = defaultLegend } = baseConfig;
1456
- const { enable } = legend;
1477
+ const { legend } = baseConfig;
1478
+ const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight, maxSize, border, shapeType = 'rectRound' } = legend || {};
1479
+ const orient = [
1480
+ 'bottom',
1481
+ 'bottomLeft',
1482
+ 'bottomRight',
1483
+ 'bl',
1484
+ 'br'
1485
+ ].includes(position) ? 'bottom' : [
1486
+ 'top',
1487
+ 'topLeft',
1488
+ 'topRight',
1489
+ 'tl',
1490
+ 'tr'
1491
+ ].includes(position) ? 'top' : [
1492
+ 'left',
1493
+ 'leftTop',
1494
+ 'leftBottom',
1495
+ 'lt',
1496
+ 'lb'
1497
+ ].includes(position) ? 'left' : 'right';
1498
+ const legendPosition = [
1499
+ 'topLeft',
1500
+ 'bottomLeft',
1501
+ 'leftTop',
1502
+ 'rightTop',
1503
+ 'lt',
1504
+ 'rt',
1505
+ 'tl',
1506
+ 'bl'
1507
+ ].includes(position) ? 'start' : [
1508
+ 'topRight',
1509
+ 'bottomRight',
1510
+ 'leftBottom',
1511
+ 'rightBottom',
1512
+ 'lb',
1513
+ 'rb',
1514
+ 'rt',
1515
+ 'br'
1516
+ ].includes(position) ? 'end' : 'middle';
1457
1517
  result.legends = {
1458
- visible: enable
1518
+ type: 'discrete',
1519
+ visible: enable,
1520
+ maxCol: maxSize,
1521
+ maxRow: maxSize,
1522
+ autoPage: true,
1523
+ orient,
1524
+ position: legendPosition,
1525
+ data: border ? (items)=>items.map((item)=>{
1526
+ item.shape.outerBorder = {
1527
+ stroke: item.shape.fill,
1528
+ distance: 3,
1529
+ lineWidth: 1
1530
+ };
1531
+ return item;
1532
+ }) : void 0,
1533
+ item: {
1534
+ focus: true,
1535
+ focusIconStyle: {
1536
+ size: labelFontSize + 2,
1537
+ fill: labelFontColor,
1538
+ fontWeight: labelFontWeight
1539
+ },
1540
+ shape: {
1541
+ space: border ? 6 : 4,
1542
+ style: {
1543
+ symbolType: shapeType,
1544
+ size: border ? 8 : 10
1545
+ }
1546
+ },
1547
+ label: {
1548
+ style: {
1549
+ fontSize: labelFontSize,
1550
+ fill: labelFontColor,
1551
+ fontWeight: labelFontWeight
1552
+ }
1553
+ },
1554
+ background: {
1555
+ state: {
1556
+ selectedHover: {
1557
+ fill: labelFontColor,
1558
+ fillOpacity: 0.05
1559
+ }
1560
+ }
1561
+ }
1562
+ }
1459
1563
  };
1460
1564
  return result;
1461
1565
  };
1462
- const pivotLegend = (spec, context)=>{
1566
+ const pivotDiscreteLegend = (spec, context)=>{
1463
1567
  const result = {
1464
1568
  ...spec
1465
1569
  };
@@ -1469,38 +1573,94 @@ const pivotLegend = (spec, context)=>{
1469
1573
  const { datasetReshapeInfo } = advancedVSeed;
1470
1574
  const colorItems = (0, external_remeda_namespaceObject.unique)(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
1471
1575
  const { legend, color } = baseConfig;
1472
- const { enable } = legend;
1473
1576
  const { colorScheme } = color;
1577
+ const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight, maxSize, border, shapeType = 'rectRound' } = legend || {};
1578
+ const orient = [
1579
+ 'bottom',
1580
+ 'bottomLeft',
1581
+ 'bottomRight',
1582
+ 'bl',
1583
+ 'br'
1584
+ ].includes(position) ? 'bottom' : [
1585
+ 'top',
1586
+ 'topLeft',
1587
+ 'topRight',
1588
+ 'tl',
1589
+ 'tr'
1590
+ ].includes(position) ? 'top' : [
1591
+ 'left',
1592
+ 'leftTop',
1593
+ 'leftBottom',
1594
+ 'lt',
1595
+ 'lb'
1596
+ ].includes(position) ? 'left' : 'right';
1597
+ const legendPosition = [
1598
+ 'topLeft',
1599
+ 'bottomLeft',
1600
+ 'leftTop',
1601
+ 'rightTop',
1602
+ 'lt',
1603
+ 'rt',
1604
+ 'tl',
1605
+ 'bl'
1606
+ ].includes(position) ? 'start' : [
1607
+ 'topRight',
1608
+ 'bottomRight',
1609
+ 'leftBottom',
1610
+ 'rightBottom',
1611
+ 'lb',
1612
+ 'rb',
1613
+ 'rt',
1614
+ 'br'
1615
+ ].includes(position) ? 'end' : 'middle';
1474
1616
  const legends = {
1475
1617
  visible: enable,
1476
- alignSelf: 'end',
1477
1618
  type: 'discrete',
1478
- position: 'middle',
1619
+ orient,
1620
+ position: legendPosition,
1621
+ maxCol: maxSize,
1622
+ maxRow: maxSize,
1479
1623
  data: colorItems.map((d, index)=>({
1480
1624
  label: d,
1481
1625
  shape: {
1482
- symbolType: 'square',
1626
+ outerBorder: border ? {
1627
+ stroke: colorScheme[index],
1628
+ distance: 3,
1629
+ lineWidth: 1
1630
+ } : void 0,
1483
1631
  fill: colorScheme[index]
1484
1632
  }
1485
1633
  })),
1486
1634
  item: {
1635
+ focus: true,
1636
+ focusIconStyle: {
1637
+ size: labelFontSize + 2,
1638
+ fill: labelFontColor,
1639
+ fontWeight: labelFontWeight
1640
+ },
1641
+ shape: {
1642
+ space: border ? 6 : 4,
1643
+ style: {
1644
+ symbolType: shapeType,
1645
+ size: border ? 8 : 10
1646
+ }
1647
+ },
1648
+ label: {
1649
+ style: {
1650
+ fontSize: labelFontSize,
1651
+ fill: labelFontColor,
1652
+ fontWeight: labelFontWeight
1653
+ }
1654
+ },
1487
1655
  background: {
1488
- visible: true,
1489
1656
  state: {
1490
1657
  selectedHover: {
1491
- fill: '#000000',
1658
+ fill: labelFontColor,
1492
1659
  fillOpacity: 0.05
1493
1660
  }
1494
1661
  }
1495
- },
1496
- label: {
1497
- style: {
1498
- fontSize: 12,
1499
- fill: '#6F6F6F'
1500
- }
1501
1662
  }
1502
- },
1503
- orient: 'bottom'
1663
+ }
1504
1664
  };
1505
1665
  return {
1506
1666
  ...result,
@@ -1749,6 +1909,122 @@ const pivotRowDimensions = (spec, context)=>{
1749
1909
  rows: rows
1750
1910
  };
1751
1911
  };
1912
+ const selector_selector = (datum, selector)=>{
1913
+ if (!selector) return true;
1914
+ const selectors = Array.isArray(selector) ? selector : [
1915
+ selector
1916
+ ];
1917
+ for (const selector of selectors)if (isValueSelector(selector)) {
1918
+ if (Object.values(datum).find((v)=>v === selector)) return true;
1919
+ } else if (isMeasureSelector(selector)) {
1920
+ const selectorValueArr = Array.isArray(selector.value) ? selector.value : [
1921
+ selector.value
1922
+ ];
1923
+ switch(selector.operator){
1924
+ case '=':
1925
+ if (datum[selector.field] === selectorValueArr[0]) return true;
1926
+ break;
1927
+ case '!=':
1928
+ if (datum[selector.field] !== selectorValueArr[0]) return true;
1929
+ break;
1930
+ case '>':
1931
+ if (datum[selector.field] > selectorValueArr[0]) return true;
1932
+ break;
1933
+ case '<':
1934
+ if (datum[selector.field] < selectorValueArr[0]) return true;
1935
+ break;
1936
+ case '>=':
1937
+ if (datum[selector.field] >= selectorValueArr[0]) return true;
1938
+ break;
1939
+ case '<=':
1940
+ if (datum[selector.field] <= selectorValueArr[0]) return true;
1941
+ break;
1942
+ case 'between':
1943
+ if (Array.isArray(selector.value) && datum[selector.field] >= selectorValueArr[0] && datum[selector.field] <= selectorValueArr[1]) return true;
1944
+ break;
1945
+ default:
1946
+ break;
1947
+ }
1948
+ } else if (isDimensionSelector(selector)) {
1949
+ const selectorValueArr = Array.isArray(selector.value) ? selector.value : [
1950
+ selector.value
1951
+ ];
1952
+ if ('in' === selector.operator && selectorValueArr.includes(datum[selector.field])) return true;
1953
+ if ('not in' === selector.operator && !selectorValueArr.includes(datum[selector.field])) return true;
1954
+ } else if (isPartialDatumSelector(selector)) {
1955
+ if (Object.keys(selector).every((key)=>datum[key] === selector[key])) return true;
1956
+ }
1957
+ return false;
1958
+ };
1959
+ const isValueSelector = (selector)=>'string' == typeof selector || 'number' == typeof selector;
1960
+ const isPartialDatumSelector = (selector)=>'object' == typeof selector && null !== selector;
1961
+ const isMeasureSelector = (selector)=>'object' == typeof selector && null !== selector && 'field' in selector && 'operator' in selector && 'value' in selector && [
1962
+ '=',
1963
+ '!=',
1964
+ '>',
1965
+ '<',
1966
+ '>=',
1967
+ '<=',
1968
+ 'between'
1969
+ ].includes(selector.operator);
1970
+ const isDimensionSelector = (selector)=>'object' == typeof selector && null !== selector && 'field' in selector && 'operator' in selector && 'value' in selector && [
1971
+ 'in',
1972
+ 'not in'
1973
+ ].includes(selector.operator);
1974
+ const barStyle_barStyle = (spec, context)=>{
1975
+ const { advancedVSeed } = context;
1976
+ const { markStyle, encoding } = advancedVSeed;
1977
+ const { barStyle } = markStyle;
1978
+ if (!barStyle) return spec;
1979
+ const result = {
1980
+ ...spec
1981
+ };
1982
+ const { selector: barSelector, barBorderColor, barBorderStyle, barBorderWidth, barColor, barColorOpacity, barRadius } = barStyle;
1983
+ return {
1984
+ ...result,
1985
+ bar: {
1986
+ style: {
1987
+ fill: (datum, context)=>{
1988
+ if (selector_selector(datum, barSelector)) return barColor;
1989
+ return context.seriesColor(datum[encoding[0]?.group?.[0]]);
1990
+ },
1991
+ fillOpacity: (datum)=>{
1992
+ if (selector_selector(datum, barSelector)) return barColorOpacity;
1993
+ return 1;
1994
+ },
1995
+ stroke: (datum, context)=>{
1996
+ if (selector_selector(datum, barSelector)) return barBorderColor;
1997
+ return context.seriesColor(datum[encoding[0]?.group?.[0]]);
1998
+ },
1999
+ lineWidth: (datum)=>{
2000
+ if (selector_selector(datum, barSelector)) return barBorderWidth;
2001
+ return 0;
2002
+ },
2003
+ lineDash: (datum)=>{
2004
+ if (selector_selector(datum, barSelector)) {
2005
+ if ('solid' === barBorderStyle) ;
2006
+ else if ('dashed' === barBorderStyle) return [
2007
+ 5,
2008
+ 5
2009
+ ];
2010
+ else if ('dotted' === barBorderStyle) return [
2011
+ 1,
2012
+ 5
2013
+ ];
2014
+ }
2015
+ return [
2016
+ 0,
2017
+ 0
2018
+ ];
2019
+ },
2020
+ cornerRadius: (datum)=>{
2021
+ if (selector_selector(datum, barSelector)) return barRadius;
2022
+ return 0;
2023
+ }
2024
+ }
2025
+ }
2026
+ };
2027
+ };
1752
2028
  const line_line = [
1753
2029
  initLine,
1754
2030
  color_color,
@@ -1758,7 +2034,7 @@ const line_line = [
1758
2034
  yLinear,
1759
2035
  label_label,
1760
2036
  tooltip_tooltip,
1761
- legend_legend
2037
+ discreteLegend
1762
2038
  ];
1763
2039
  const pivotLine = [
1764
2040
  initPivot,
@@ -1777,13 +2053,14 @@ const pivotLine = [
1777
2053
  ]),
1778
2054
  pivotRowDimensions,
1779
2055
  pivotColumnDimensions,
1780
- pivotLegend
2056
+ pivotDiscreteLegend
1781
2057
  ];
1782
2058
  const lineSpecPipeline = [
1783
2059
  pivotAdapter_pivotAdapter(line_line, pivotLine)
1784
2060
  ];
1785
2061
  const column = [
1786
2062
  initColumn,
2063
+ stackInverse,
1787
2064
  color_color,
1788
2065
  background_backgroundColor,
1789
2066
  dataset_dataset,
@@ -1791,7 +2068,8 @@ const column = [
1791
2068
  yLinear,
1792
2069
  label_label,
1793
2070
  tooltip_tooltip,
1794
- legend_legend
2071
+ discreteLegend,
2072
+ barStyle_barStyle
1795
2073
  ];
1796
2074
  const pivotColumn = [
1797
2075
  initPivot,
@@ -1800,17 +2078,19 @@ const pivotColumn = [
1800
2078
  datasetPivot,
1801
2079
  pivotIndicators([
1802
2080
  initColumn,
2081
+ stackInverse,
1803
2082
  color_color,
1804
2083
  background_backgroundColor,
1805
2084
  datasetPivotPlaceholder,
1806
2085
  xBand,
1807
2086
  yLinear,
1808
2087
  label_label,
1809
- tooltip_tooltip
2088
+ tooltip_tooltip,
2089
+ barStyle_barStyle
1810
2090
  ]),
1811
2091
  pivotRowDimensions,
1812
2092
  pivotColumnDimensions,
1813
- pivotLegend
2093
+ pivotDiscreteLegend
1814
2094
  ];
1815
2095
  const columnSpecPipeline = [
1816
2096
  pivotAdapter_pivotAdapter(column, pivotColumn)
@@ -1824,7 +2104,8 @@ const columnParallel = [
1824
2104
  yLinear,
1825
2105
  label_label,
1826
2106
  tooltip_tooltip,
1827
- legend_legend
2107
+ discreteLegend,
2108
+ barStyle_barStyle
1828
2109
  ];
1829
2110
  const pivotColumnParallel = [
1830
2111
  initPivot,
@@ -1839,17 +2120,19 @@ const pivotColumnParallel = [
1839
2120
  xBand,
1840
2121
  yLinear,
1841
2122
  label_label,
1842
- tooltip_tooltip
2123
+ tooltip_tooltip,
2124
+ barStyle_barStyle
1843
2125
  ]),
1844
2126
  pivotRowDimensions,
1845
2127
  pivotColumnDimensions,
1846
- pivotLegend
2128
+ pivotDiscreteLegend
1847
2129
  ];
1848
2130
  const columnParallelSpecPipeline = [
1849
2131
  pivotAdapter_pivotAdapter(columnParallel, pivotColumnParallel)
1850
2132
  ];
1851
2133
  const columnPercent = [
1852
2134
  initColumn,
2135
+ stackInverse,
1853
2136
  color_color,
1854
2137
  background_backgroundColor,
1855
2138
  percent,
@@ -1858,7 +2141,8 @@ const columnPercent = [
1858
2141
  yLinear,
1859
2142
  label_label,
1860
2143
  tooltip_tooltip,
1861
- legend_legend
2144
+ discreteLegend,
2145
+ barStyle_barStyle
1862
2146
  ];
1863
2147
  const pivotColumnPercent = [
1864
2148
  initPivot,
@@ -1867,6 +2151,7 @@ const pivotColumnPercent = [
1867
2151
  datasetPivot,
1868
2152
  pivotIndicators([
1869
2153
  initColumn,
2154
+ stackInverse,
1870
2155
  color_color,
1871
2156
  percent,
1872
2157
  background_backgroundColor,
@@ -1874,11 +2159,12 @@ const pivotColumnPercent = [
1874
2159
  xBand,
1875
2160
  yLinear,
1876
2161
  label_label,
1877
- tooltip_tooltip
2162
+ tooltip_tooltip,
2163
+ barStyle_barStyle
1878
2164
  ]),
1879
2165
  pivotRowDimensions,
1880
2166
  pivotColumnDimensions,
1881
- pivotLegend
2167
+ pivotDiscreteLegend
1882
2168
  ];
1883
2169
  const columnPercentSpecPipeline = [
1884
2170
  pivotAdapter_pivotAdapter(columnPercent, pivotColumnPercent)
@@ -1892,7 +2178,8 @@ const bar = [
1892
2178
  yBand,
1893
2179
  label_label,
1894
2180
  tooltip_tooltip,
1895
- legend_legend
2181
+ discreteLegend,
2182
+ barStyle_barStyle
1896
2183
  ];
1897
2184
  const pivotBar = [
1898
2185
  initPivot,
@@ -1907,11 +2194,12 @@ const pivotBar = [
1907
2194
  yBand,
1908
2195
  label_label,
1909
2196
  label_label,
1910
- tooltip_tooltip
2197
+ tooltip_tooltip,
2198
+ barStyle_barStyle
1911
2199
  ]),
1912
2200
  pivotRowDimensions,
1913
2201
  pivotColumnDimensions,
1914
- pivotLegend
2202
+ pivotDiscreteLegend
1915
2203
  ];
1916
2204
  const barSpecPipeline = [
1917
2205
  pivotAdapter_pivotAdapter(bar, pivotBar)
@@ -1925,7 +2213,8 @@ const barParallel = [
1925
2213
  yBand,
1926
2214
  label_label,
1927
2215
  tooltip_tooltip,
1928
- legend_legend
2216
+ discreteLegend,
2217
+ barStyle_barStyle
1929
2218
  ];
1930
2219
  const pivotBarParallel = [
1931
2220
  initPivot,
@@ -1940,11 +2229,12 @@ const pivotBarParallel = [
1940
2229
  yBand,
1941
2230
  xLinear,
1942
2231
  label_label,
1943
- tooltip_tooltip
2232
+ tooltip_tooltip,
2233
+ barStyle_barStyle
1944
2234
  ]),
1945
2235
  pivotRowDimensions,
1946
2236
  pivotColumnDimensions,
1947
- pivotLegend
2237
+ pivotDiscreteLegend
1948
2238
  ];
1949
2239
  const barParallelSpecPipeline = [
1950
2240
  pivotAdapter_pivotAdapter(barParallel, pivotBarParallel)
@@ -1959,7 +2249,8 @@ const barPercent = [
1959
2249
  yBand,
1960
2250
  label_label,
1961
2251
  tooltip_tooltip,
1962
- legend_legend
2252
+ discreteLegend,
2253
+ barStyle_barStyle
1963
2254
  ];
1964
2255
  const pivotBarPercent = [
1965
2256
  initPivot,
@@ -1975,26 +2266,27 @@ const pivotBarPercent = [
1975
2266
  yBand,
1976
2267
  xLinear,
1977
2268
  label_label,
1978
- tooltip_tooltip
2269
+ tooltip_tooltip,
2270
+ barStyle_barStyle
1979
2271
  ]),
1980
2272
  pivotRowDimensions,
1981
2273
  pivotColumnDimensions,
1982
- pivotLegend
2274
+ pivotDiscreteLegend
1983
2275
  ];
1984
2276
  const barPercentSpecPipeline = [
1985
2277
  pivotAdapter_pivotAdapter(barPercent, pivotBarPercent)
1986
2278
  ];
1987
2279
  const area_area = [
1988
2280
  initArea,
2281
+ stackInverse,
1989
2282
  color_color,
1990
2283
  background_backgroundColor,
1991
- stack,
1992
2284
  dataset_dataset,
1993
2285
  xBand,
1994
2286
  yLinear,
1995
2287
  label_label,
1996
2288
  tooltip_tooltip,
1997
- legend_legend
2289
+ discreteLegend
1998
2290
  ];
1999
2291
  const pivotArea = [
2000
2292
  initPivot,
@@ -2005,7 +2297,7 @@ const pivotArea = [
2005
2297
  initArea,
2006
2298
  color_color,
2007
2299
  background_backgroundColor,
2008
- stack,
2300
+ stackInverse,
2009
2301
  datasetPivotPlaceholder,
2010
2302
  xBand,
2011
2303
  yLinear,
@@ -2014,13 +2306,14 @@ const pivotArea = [
2014
2306
  ]),
2015
2307
  pivotRowDimensions,
2016
2308
  pivotColumnDimensions,
2017
- pivotLegend
2309
+ pivotDiscreteLegend
2018
2310
  ];
2019
2311
  const areaSpecPipeline = [
2020
2312
  pivotAdapter_pivotAdapter(area_area, pivotArea)
2021
2313
  ];
2022
2314
  const areaPercent = [
2023
2315
  initArea,
2316
+ stackInverse,
2024
2317
  color_color,
2025
2318
  background_backgroundColor,
2026
2319
  percent,
@@ -2029,7 +2322,7 @@ const areaPercent = [
2029
2322
  yLinear,
2030
2323
  label_label,
2031
2324
  tooltip_tooltip,
2032
- legend_legend
2325
+ discreteLegend
2033
2326
  ];
2034
2327
  const pivotAreaPercent = [
2035
2328
  initPivot,
@@ -2038,6 +2331,7 @@ const pivotAreaPercent = [
2038
2331
  datasetPivot,
2039
2332
  pivotIndicators([
2040
2333
  initArea,
2334
+ stackInverse,
2041
2335
  color_color,
2042
2336
  background_backgroundColor,
2043
2337
  percent,
@@ -2049,7 +2343,7 @@ const pivotAreaPercent = [
2049
2343
  ]),
2050
2344
  pivotRowDimensions,
2051
2345
  pivotColumnDimensions,
2052
- pivotLegend
2346
+ pivotDiscreteLegend
2053
2347
  ];
2054
2348
  const areaPercentSpecPipeline = [
2055
2349
  pivotAdapter_pivotAdapter(areaPercent, pivotAreaPercent)
@@ -2061,7 +2355,7 @@ const pie = [
2061
2355
  dataset_dataset,
2062
2356
  label_label,
2063
2357
  tooltip_tooltip,
2064
- legend_legend
2358
+ discreteLegend
2065
2359
  ];
2066
2360
  const pivotPie = [
2067
2361
  initPivot,
@@ -2078,7 +2372,7 @@ const pivotPie = [
2078
2372
  ]),
2079
2373
  pivotRowDimensions,
2080
2374
  pivotColumnDimensions,
2081
- pivotLegend
2375
+ pivotDiscreteLegend
2082
2376
  ];
2083
2377
  const pieSpecPipeline = [
2084
2378
  pivotAdapter_pivotAdapter(pie, pivotPie)
@@ -2215,18 +2509,18 @@ const lightTheme = ()=>{
2215
2509
  },
2216
2510
  grid: {
2217
2511
  visible: true,
2218
- gridColor: 'rgba(54, 65, 89, 0.15)',
2512
+ gridColor: '#36415926',
2219
2513
  gridWidth: 0.5
2220
2514
  },
2221
2515
  tick: {
2222
2516
  visible: false,
2223
2517
  tickInside: false,
2224
2518
  tickSize: 4,
2225
- tickColor: 'rgba(54, 65, 89, 0.30)'
2519
+ tickColor: '#3641594d'
2226
2520
  },
2227
2521
  line: {
2228
2522
  visible: false,
2229
- lineColor: 'rgba(54, 65, 89, 0.30)',
2523
+ lineColor: '#3641594d',
2230
2524
  lineWidth: 1
2231
2525
  }
2232
2526
  };
@@ -2257,18 +2551,18 @@ const lightTheme = ()=>{
2257
2551
  },
2258
2552
  grid: {
2259
2553
  visible: false,
2260
- gridColor: 'rgba(54, 65, 89, 0.15)',
2554
+ gridColor: '#36415926',
2261
2555
  gridWidth: 0.5
2262
2556
  },
2263
2557
  tick: {
2264
2558
  visible: false,
2265
2559
  tickInside: false,
2266
2560
  tickSize: 4,
2267
- tickColor: 'rgba(54, 65, 89, 0.30)'
2561
+ tickColor: '#3641594d'
2268
2562
  },
2269
2563
  line: {
2270
2564
  visible: true,
2271
- lineColor: 'rgba(54, 65, 89, 0.30)',
2565
+ lineColor: '#3641594d',
2272
2566
  lineWidth: 1
2273
2567
  }
2274
2568
  };
@@ -2288,10 +2582,10 @@ const lightTheme = ()=>{
2288
2582
  return {
2289
2583
  baseConfig: {
2290
2584
  vtable: {
2291
- backgroundColor: '#ffffff'
2585
+ backgroundColor: 'transparent'
2292
2586
  },
2293
2587
  vchart: {
2294
- backgroundColor: '#ffffff',
2588
+ backgroundColor: 'transparent',
2295
2589
  color: {
2296
2590
  colorScheme: [
2297
2591
  '#8D72F6',
@@ -2313,7 +2607,14 @@ const lightTheme = ()=>{
2313
2607
  enable: true
2314
2608
  },
2315
2609
  legend: {
2316
- enable: true
2610
+ enable: true,
2611
+ border: true,
2612
+ maxSize: 1,
2613
+ shapeType: 'rectRound',
2614
+ position: 'rt',
2615
+ labelFontColor: '#646A73',
2616
+ labelFontSize: 12,
2617
+ labelFontWeight: 400
2317
2618
  }
2318
2619
  }
2319
2620
  },
@@ -2437,10 +2738,10 @@ const darkTheme = ()=>{
2437
2738
  return {
2438
2739
  baseConfig: {
2439
2740
  vtable: {
2440
- backgroundColor: '#141414'
2741
+ backgroundColor: 'transparent'
2441
2742
  },
2442
2743
  vchart: {
2443
- backgroundColor: '#141414',
2744
+ backgroundColor: 'transparent',
2444
2745
  color: {
2445
2746
  colorScheme: [
2446
2747
  '#2E62F1',
@@ -2462,7 +2763,14 @@ const darkTheme = ()=>{
2462
2763
  enable: true
2463
2764
  },
2464
2765
  legend: {
2465
- enable: true
2766
+ enable: true,
2767
+ border: true,
2768
+ maxSize: 1,
2769
+ position: 'rt',
2770
+ shapeType: 'rectRound',
2771
+ labelFontColor: '#FDFDFD',
2772
+ labelFontSize: 12,
2773
+ labelFontWeight: 400
2466
2774
  }
2467
2775
  }
2468
2776
  },
@@ -2629,7 +2937,58 @@ const zTooltip = external_zod_namespaceObject.z.object({
2629
2937
  enable: external_zod_namespaceObject.z.boolean().default(true).optional()
2630
2938
  });
2631
2939
  const zLegend = external_zod_namespaceObject.z.object({
2632
- enable: external_zod_namespaceObject.z.boolean().default(true).optional()
2940
+ enable: external_zod_namespaceObject.z.boolean().default(true).optional(),
2941
+ border: external_zod_namespaceObject.z.boolean().default(true).optional(),
2942
+ maxSize: external_zod_namespaceObject.z.number().default(1).optional(),
2943
+ shapeType: external_zod_namespaceObject.z["enum"]([
2944
+ 'circle',
2945
+ 'cross',
2946
+ 'diamond',
2947
+ 'square',
2948
+ 'arrow',
2949
+ 'arrow2Left',
2950
+ 'arrow2Right',
2951
+ 'wedge',
2952
+ 'thinTriangle',
2953
+ 'triangle',
2954
+ 'triangleUp',
2955
+ 'triangleDown',
2956
+ 'triangleRight',
2957
+ 'triangleLeft',
2958
+ 'stroke',
2959
+ 'star',
2960
+ 'wye',
2961
+ 'rect',
2962
+ 'arrowLeft',
2963
+ 'arrowRight',
2964
+ 'rectRound',
2965
+ 'roundLine'
2966
+ ]).default('rectRound').optional(),
2967
+ position: external_zod_namespaceObject.z["enum"]([
2968
+ 'left',
2969
+ 'leftTop',
2970
+ 'leftBottom',
2971
+ 'lt',
2972
+ 'lb',
2973
+ 'top',
2974
+ 'topLeft',
2975
+ 'topRight',
2976
+ 'tl',
2977
+ 'tr',
2978
+ 'right',
2979
+ 'rightTop',
2980
+ 'rightBottom',
2981
+ 'rt',
2982
+ 'rb',
2983
+ 'bottom',
2984
+ 'bottomLeft',
2985
+ 'bottomRight',
2986
+ 'bl',
2987
+ 'br'
2988
+ ]).default('bottom').optional(),
2989
+ labelFontSize: external_zod_namespaceObject.z.number().default(12).optional(),
2990
+ labelFontColor: external_zod_namespaceObject.z.string().default('#fff').optional(),
2991
+ labelFontWeight: external_zod_namespaceObject.z.number().or(external_zod_namespaceObject.z.string()).default(400).optional()
2633
2992
  });
2634
2993
  const zVChartBaseConfig = external_zod_namespaceObject.z.object({
2635
2994
  backgroundColor: zBackgroundColor,
@@ -2826,10 +3185,62 @@ const zCustomThemeConfig = external_zod_namespaceObject.z.object({
2826
3185
  });
2827
3186
  const zCustomTheme = external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), zCustomThemeConfig).optional();
2828
3187
  const zTheme = external_zod_namespaceObject.z.string();
3188
+ const zSelector = external_zod_namespaceObject.z.union([
3189
+ external_zod_namespaceObject.z.string(),
3190
+ external_zod_namespaceObject.z.number(),
3191
+ external_zod_namespaceObject.z.object({
3192
+ field: external_zod_namespaceObject.z.string(),
3193
+ operator: external_zod_namespaceObject.z.string(),
3194
+ value: external_zod_namespaceObject.z.union([
3195
+ external_zod_namespaceObject.z.string(),
3196
+ external_zod_namespaceObject.z.number(),
3197
+ external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.union([
3198
+ external_zod_namespaceObject.z.string(),
3199
+ external_zod_namespaceObject.z.number()
3200
+ ]))
3201
+ ])
3202
+ }),
3203
+ external_zod_namespaceObject.z.object({
3204
+ field: external_zod_namespaceObject.z.string(),
3205
+ operator: external_zod_namespaceObject.z.string(),
3206
+ value: external_zod_namespaceObject.z.union([
3207
+ external_zod_namespaceObject.z.string(),
3208
+ external_zod_namespaceObject.z.number(),
3209
+ external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.union([
3210
+ external_zod_namespaceObject.z.string(),
3211
+ external_zod_namespaceObject.z.number()
3212
+ ]))
3213
+ ])
3214
+ })
3215
+ ]);
3216
+ const zSelectors = external_zod_namespaceObject.z.array(zSelector);
3217
+ const zBarStyle = external_zod_namespaceObject.z.object({
3218
+ selector: external_zod_namespaceObject.z.union([
3219
+ zSelector,
3220
+ zSelectors
3221
+ ]),
3222
+ barColor: external_zod_namespaceObject.z.string(),
3223
+ barColorOpacity: external_zod_namespaceObject.z.number(),
3224
+ barBorderColor: external_zod_namespaceObject.z.string(),
3225
+ barBorderWidth: external_zod_namespaceObject.z.number(),
3226
+ barBorderStyle: external_zod_namespaceObject.z.union([
3227
+ external_zod_namespaceObject.z.literal('solid'),
3228
+ external_zod_namespaceObject.z.literal('dashed'),
3229
+ external_zod_namespaceObject.z.literal('dotted')
3230
+ ]),
3231
+ barRadius: external_zod_namespaceObject.z.union([
3232
+ external_zod_namespaceObject.z.number(),
3233
+ external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.number())
3234
+ ])
3235
+ });
3236
+ const zMarkStyle = external_zod_namespaceObject.z.object({
3237
+ barStyle: zBarStyle.optional()
3238
+ });
2829
3239
  exports.Builder = __webpack_exports__.Builder;
2830
3240
  exports.FoldMeasureId = __webpack_exports__.FoldMeasureId;
2831
3241
  exports.FoldMeasureName = __webpack_exports__.FoldMeasureName;
2832
3242
  exports.FoldMeasureValue = __webpack_exports__.FoldMeasureValue;
3243
+ exports.ORIGINAL_DATA = __webpack_exports__.ORIGINAL_DATA;
2833
3244
  exports.Separator = __webpack_exports__.Separator;
2834
3245
  exports.UnfoldDimensionGroup = __webpack_exports__.UnfoldDimensionGroup;
2835
3246
  exports.areaAdvancedPipeline = __webpack_exports__.areaAdvancedPipeline;
@@ -2877,6 +3288,7 @@ exports.registerLine = __webpack_exports__.registerLine;
2877
3288
  exports.unfoldDimensions = __webpack_exports__.unfoldDimensions;
2878
3289
  exports.zAxis = __webpack_exports__.zAxis;
2879
3290
  exports.zBackgroundColor = __webpack_exports__.zBackgroundColor;
3291
+ exports.zBarStyle = __webpack_exports__.zBarStyle;
2880
3292
  exports.zBaseConfig = __webpack_exports__.zBaseConfig;
2881
3293
  exports.zChartType = __webpack_exports__.zChartType;
2882
3294
  exports.zColor = __webpack_exports__.zColor;
@@ -2892,6 +3304,7 @@ exports.zEncoding = __webpack_exports__.zEncoding;
2892
3304
  exports.zFoldInfo = __webpack_exports__.zFoldInfo;
2893
3305
  exports.zLabel = __webpack_exports__.zLabel;
2894
3306
  exports.zLegend = __webpack_exports__.zLegend;
3307
+ exports.zMarkStyle = __webpack_exports__.zMarkStyle;
2895
3308
  exports.zMeasure = __webpack_exports__.zMeasure;
2896
3309
  exports.zMeasureGroup = __webpack_exports__.zMeasureGroup;
2897
3310
  exports.zMeasures = __webpack_exports__.zMeasures;
@@ -2907,6 +3320,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
2907
3320
  "FoldMeasureId",
2908
3321
  "FoldMeasureName",
2909
3322
  "FoldMeasureValue",
3323
+ "ORIGINAL_DATA",
2910
3324
  "Separator",
2911
3325
  "UnfoldDimensionGroup",
2912
3326
  "areaAdvancedPipeline",
@@ -2954,6 +3368,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
2954
3368
  "unfoldDimensions",
2955
3369
  "zAxis",
2956
3370
  "zBackgroundColor",
3371
+ "zBarStyle",
2957
3372
  "zBaseConfig",
2958
3373
  "zChartType",
2959
3374
  "zColor",
@@ -2969,6 +3384,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
2969
3384
  "zFoldInfo",
2970
3385
  "zLabel",
2971
3386
  "zLegend",
3387
+ "zMarkStyle",
2972
3388
  "zMeasure",
2973
3389
  "zMeasureGroup",
2974
3390
  "zMeasures",