@visactor/vseed 0.0.7 → 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 (59) hide show
  1. package/dist/builder/builder/builder.d.ts +5998 -109
  2. package/dist/dataReshape/constant.d.ts +1 -0
  3. package/dist/dataReshape/index.d.ts +1 -0
  4. package/dist/dataSelector/index.d.ts +1 -0
  5. package/dist/dataSelector/selector.d.ts +7 -0
  6. package/dist/index.cjs +1468 -241
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.js +1427 -242
  9. package/dist/index.js.map +1 -1
  10. package/dist/pipeline/advanced/pipes/config/config.d.ts +11 -0
  11. package/dist/pipeline/advanced/pipes/config/index.d.ts +1 -0
  12. package/dist/pipeline/advanced/pipes/index.d.ts +3 -1
  13. package/dist/pipeline/advanced/pipes/markStyle/index.d.ts +1 -0
  14. package/dist/pipeline/advanced/pipes/{encoding/encodingXY copy.d.ts → markStyle/markStyle.d.ts} +1 -1
  15. package/dist/pipeline/spec/pipes/index.d.ts +1 -0
  16. package/dist/pipeline/spec/pipes/legend/{pivotLegend.d.ts → discreteLegend.d.ts} +1 -1
  17. package/dist/pipeline/spec/pipes/legend/index.d.ts +2 -2
  18. package/dist/pipeline/spec/pipes/legend/pivotDiscreteLegend.d.ts +2 -0
  19. package/dist/pipeline/spec/pipes/{init/line copy.d.ts → markStyle/barStyle.d.ts} +1 -1
  20. package/dist/pipeline/spec/pipes/markStyle/index.d.ts +1 -0
  21. package/dist/pipeline/spec/pipes/stack/index.d.ts +1 -1
  22. package/dist/pipeline/spec/pipes/stack/stack.d.ts +2 -2
  23. package/dist/types/advancedVSeed.d.ts +1567 -0
  24. package/dist/types/chartType/area/area.d.ts +11 -1
  25. package/dist/types/chartType/areaPercent/areaPercent.d.ts +11 -1
  26. package/dist/types/chartType/bar/bar.d.ts +20 -1
  27. package/dist/types/chartType/barParallel/barParallel.d.ts +20 -1
  28. package/dist/types/chartType/barPercent/barPercent.d.ts +20 -1
  29. package/dist/types/chartType/column/column.d.ts +20 -1
  30. package/dist/types/chartType/columnParallel/columnParallel.d.ts +20 -1
  31. package/dist/types/chartType/columnPercent/columnPercent.d.ts +20 -1
  32. package/dist/types/chartType/donut/donut.d.ts +1 -1
  33. package/dist/types/chartType/dualAxis/dualAxis.d.ts +1 -1
  34. package/dist/types/chartType/line/line.d.ts +11 -1
  35. package/dist/types/chartType/pie/pie.d.ts +4 -4
  36. package/dist/types/chartType/pivotTable/pivotTable.d.ts +1 -1
  37. package/dist/types/chartType/rose/rose.d.ts +4 -4
  38. package/dist/types/chartType/table/table.d.ts +1 -1
  39. package/dist/types/dataSelector/index.d.ts +1 -0
  40. package/dist/types/dataSelector/selector.d.ts +34 -0
  41. package/dist/types/properties/baseConfig/baseConfig.d.ts +102 -0
  42. package/dist/types/properties/baseConfig/legend.d.ts +101 -4
  43. package/dist/types/properties/chartType/index.d.ts +2 -2
  44. package/dist/types/properties/config/axis.d.ts +257 -0
  45. package/dist/types/properties/config/bandAxis.d.ts +82 -0
  46. package/dist/types/properties/config/config.d.ts +721 -0
  47. package/dist/types/properties/config/index.d.ts +4 -0
  48. package/dist/types/properties/config/linearAxis.d.ts +80 -0
  49. package/dist/types/properties/index.d.ts +2 -0
  50. package/dist/types/properties/markStyle/barStyle.d.ts +114 -0
  51. package/dist/types/properties/markStyle/index.d.ts +2 -0
  52. package/dist/types/properties/markStyle/markStyle.d.ts +29 -0
  53. package/dist/types/properties/theme/customTheme.d.ts +1540 -0
  54. package/package.json +1 -1
  55. package/dist/pipeline/advanced/pipeline/line copy.d.ts +0 -2
  56. package/dist/pipeline/spec/pipes/legend/legend.d.ts +0 -2
  57. package/dist/pipeline/spec/pipes/pivotChart/pivotGridStyle copy.d.ts +0 -2
  58. package/dist/pipeline/spec/pipes/pivotChart/pivotRowDimensions copy.d.ts +0 -2
  59. /package/dist/types/properties/chartType/{zChartType.d.ts → chartType.d.ts} +0 -0
package/dist/index.cjs CHANGED
@@ -36,14 +36,22 @@ __webpack_require__.d(__webpack_exports__, {
36
36
  zMeasureGroup: ()=>zMeasureGroup,
37
37
  zUnfoldInfo: ()=>zUnfoldInfo,
38
38
  zMeasures: ()=>zMeasures,
39
+ FoldMeasureName: ()=>FoldMeasureName,
39
40
  darkTheme: ()=>darkTheme,
40
41
  columnPercentAdvancedPipeline: ()=>columnPercentAdvancedPipeline,
42
+ zAxis: ()=>zAxis,
41
43
  isVTable: ()=>isVTable,
42
44
  columnSpecPipeline: ()=>columnSpecPipeline,
43
- zFoldInfo: ()=>zFoldInfo,
45
+ UnfoldDimensionGroup: ()=>UnfoldDimensionGroup,
44
46
  zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
45
- columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
47
+ zFoldInfo: ()=>zFoldInfo,
48
+ zYBandAxis: ()=>zYBandAxis,
49
+ ORIGINAL_DATA: ()=>ORIGINAL_DATA,
50
+ zYLinearAxis: ()=>zYLinearAxis,
51
+ zMarkStyle: ()=>zMarkStyle,
52
+ Separator: ()=>Separator,
46
53
  columnAdvancedPipeline: ()=>columnAdvancedPipeline,
54
+ columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
47
55
  zLabel: ()=>zLabel,
48
56
  registerColumn: ()=>registerColumn,
49
57
  zDimension: ()=>zDimension,
@@ -51,6 +59,7 @@ __webpack_require__.d(__webpack_exports__, {
51
59
  registerColumnParallel: ()=>registerColumnParallel,
52
60
  isPivotChart: ()=>isPivotChart,
53
61
  zCustomTheme: ()=>zCustomTheme,
62
+ zXBandAxis: ()=>zXBandAxis,
54
63
  dataReshapeFor1D1M: ()=>dataReshapeFor1D1M,
55
64
  registerArea: ()=>registerArea,
56
65
  zDataset: ()=>zDataset,
@@ -61,10 +70,14 @@ __webpack_require__.d(__webpack_exports__, {
61
70
  zMeasure: ()=>zMeasure,
62
71
  zDimensions: ()=>zDimensions,
63
72
  zLegend: ()=>zLegend,
73
+ FoldMeasureId: ()=>FoldMeasureId,
64
74
  zTheme: ()=>zTheme,
65
75
  zEncoding: ()=>zEncoding,
66
76
  registerAreaPercent: ()=>registerAreaPercent,
77
+ zXLinearAxis: ()=>zXLinearAxis,
78
+ zConfig: ()=>zConfig,
67
79
  zDatum: ()=>zDatum,
80
+ zBarStyle: ()=>zBarStyle,
68
81
  barAdvancedPipeline: ()=>barAdvancedPipeline,
69
82
  zCustomThemeConfig: ()=>zCustomThemeConfig,
70
83
  columnParallelAdvancedPipeline: ()=>columnParallelAdvancedPipeline,
@@ -73,15 +86,16 @@ __webpack_require__.d(__webpack_exports__, {
73
86
  foldMeasures: ()=>foldMeasures,
74
87
  dataReshapeFor2D1M: ()=>dataReshapeFor2D1M,
75
88
  registerLightTheme: ()=>registerLightTheme,
76
- registerDarkTheme: ()=>registerDarkTheme,
77
89
  zChartType: ()=>zChartType,
90
+ registerDarkTheme: ()=>registerDarkTheme,
78
91
  barParallelAdvancedPipeline: ()=>barParallelAdvancedPipeline,
92
+ FoldMeasureValue: ()=>FoldMeasureValue,
79
93
  barPercentSpecPipeline: ()=>barPercentSpecPipeline,
80
94
  lineAdvancedPipeline: ()=>lineAdvancedPipeline,
81
95
  pieSpecPipeline: ()=>pieSpecPipeline,
82
- zTooltip: ()=>zTooltip,
83
96
  barSpecPipeline: ()=>barSpecPipeline,
84
97
  lineSpecPipeline: ()=>lineSpecPipeline,
98
+ zTooltip: ()=>zTooltip,
85
99
  zBaseConfig: ()=>zBaseConfig,
86
100
  unfoldDimensions: ()=>unfoldDimensions,
87
101
  areaAdvancedPipeline: ()=>areaAdvancedPipeline,
@@ -90,11 +104,131 @@ __webpack_require__.d(__webpack_exports__, {
90
104
  barParallelSpecPipeline: ()=>barParallelSpecPipeline,
91
105
  registerAll: ()=>all_registerAll
92
106
  });
107
+ const initAdvancedVSeed = (advancedVSeed, context)=>{
108
+ const { vseed } = context;
109
+ const { chartType = 'table' } = vseed;
110
+ return {
111
+ ...advancedVSeed,
112
+ chartType
113
+ };
114
+ };
115
+ const isVTable = (chartType)=>[
116
+ 'table',
117
+ 'pivotTable'
118
+ ].includes(chartType);
119
+ const isVChart = (chartType)=>!isVTable(chartType);
120
+ const isPivotChart = (vseed)=>{
121
+ const { measures, dimensions } = vseed;
122
+ const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'rowDimension' === dimension.location || 'columnDimension' === dimension.location);
123
+ const hasMeasureGroup = measures && measures.find((measure)=>measure && measure.children);
124
+ return hasRowOrColumnDimension || hasMeasureGroup;
125
+ };
126
+ const autoMeasures = (advancedVSeed, context)=>{
127
+ const result = {
128
+ ...advancedVSeed
129
+ };
130
+ const { vseed } = context;
131
+ const { measures, dataset } = vseed;
132
+ if (!dataset) throw new Error('dataset is required');
133
+ if (0 === dataset.length) return result;
134
+ if (isPivotChart(vseed)) return autoMeasureGroup(advancedVSeed, context);
135
+ if (measures) {
136
+ result.measures = measures;
137
+ return result;
138
+ }
139
+ const top100dataset = dataset.slice(0, 100);
140
+ const sample = top100dataset.reduce((prev, cur)=>({
141
+ ...prev,
142
+ ...cur
143
+ }), {});
144
+ result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
145
+ '',
146
+ null,
147
+ void 0
148
+ ].includes(key)).map((measure)=>({
149
+ id: measure,
150
+ alias: measure
151
+ }));
152
+ return result;
153
+ };
154
+ const autoMeasureGroup = (advancedVSeed, context)=>{
155
+ const { vseed } = context;
156
+ const { measures } = vseed;
157
+ const hasMeasureGroup = measures?.some((measure)=>measure.children);
158
+ if (!measures) return advancedVSeed;
159
+ if (!hasMeasureGroup) {
160
+ const newMeasures = [
161
+ {
162
+ id: 'measureGroup',
163
+ alias: 'measureGroup',
164
+ children: measures
165
+ }
166
+ ];
167
+ return {
168
+ ...advancedVSeed,
169
+ measures: newMeasures
170
+ };
171
+ }
172
+ let currentGroup = createEmptyMeasureGroup();
173
+ const measureGroups = [];
174
+ for (const measure of measures)if ('children' in measure) {
175
+ if (currentGroup.children?.length) {
176
+ currentGroup.id = currentGroup.children.map((item)=>item.id).join('-');
177
+ currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
178
+ measureGroups.push(currentGroup);
179
+ currentGroup = createEmptyMeasureGroup();
180
+ }
181
+ measureGroups.push(measure);
182
+ } else currentGroup.children?.push(measure);
183
+ if (currentGroup.children?.length) {
184
+ currentGroup.id = currentGroup.children.map((item)=>item.id).join('-');
185
+ currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
186
+ measureGroups.push(currentGroup);
187
+ currentGroup = createEmptyMeasureGroup();
188
+ }
189
+ advancedVSeed.measures = measureGroups;
190
+ return advancedVSeed;
191
+ };
192
+ const createEmptyMeasureGroup = ()=>({
193
+ id: '',
194
+ alias: '',
195
+ children: []
196
+ });
197
+ const autoDimensions = (advancedVSeed, context)=>{
198
+ const result = {
199
+ ...advancedVSeed
200
+ };
201
+ const { vseed } = context;
202
+ const { dimensions, dataset } = vseed;
203
+ const { measures = [] } = advancedVSeed;
204
+ if (!dataset) throw new Error('dataset is required');
205
+ if (0 === dataset.length) return result;
206
+ if (dimensions) {
207
+ result.dimensions = dimensions;
208
+ return result;
209
+ }
210
+ const top100dataset = dataset.slice(0, 100);
211
+ const sample = top100dataset.reduce((prev, cur)=>({
212
+ ...prev,
213
+ ...cur
214
+ }), {});
215
+ result.dimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
216
+ '',
217
+ null,
218
+ void 0
219
+ ].includes(key) && !measures.some((measure)=>measure.id === key)).map((dim)=>({
220
+ id: dim,
221
+ alias: dim,
222
+ location: 'dimension'
223
+ }));
224
+ return result;
225
+ };
93
226
  const FoldMeasureName = '__MeaName__';
94
227
  const FoldMeasureValue = '__MeaValue__';
95
228
  const FoldMeasureId = '__MeaId__';
96
229
  const UnfoldDimensionGroup = '__DimGroup__';
97
230
  const Separator = '-';
231
+ const ORIGINAL_DATA = '__OriginalData__';
98
232
  const external_remeda_namespaceObject = require("remeda");
99
233
  const unfoldDimensions = (dataset, dimensions, measures, unfoldStartIndex = 0, foldGroupName = UnfoldDimensionGroup, dimensionsSeparator = Separator)=>{
100
234
  if (unfoldStartIndex < 0 || unfoldStartIndex >= dimensions.length) throw new Error('unfoldStartIndex is out of range');
@@ -133,12 +267,15 @@ const foldMeasures = (dataset, measures, measureId = FoldMeasureId, measureName
133
267
  };
134
268
  const result = new Array(dataset.length * measures.length);
135
269
  let index = 0;
270
+ const ids = measures.map((d)=>d.id);
136
271
  for(let i = 0; i < dataset.length; i++)for(let j = 0; j < measures.length; j++){
137
- const datum = {
272
+ const datum = (0, external_remeda_namespaceObject.omit)({
138
273
  ...dataset[i]
139
- };
274
+ }, ids);
275
+ datum[ORIGINAL_DATA] = dataset[i];
140
276
  const measure = measures[j];
141
277
  const { id, alias } = measure;
278
+ datum[id] = dataset[i][id];
142
279
  datum[measureId] = id;
143
280
  datum[measureName] = alias;
144
281
  datum[measureValue] = dataset[i][id];
@@ -374,10 +511,10 @@ const pivotReshapeTo2D1M = (advancedVSeed, context)=>{
374
511
  if (!measures) return;
375
512
  const groupId = measureGroup.id;
376
513
  const { dataset: newSubDataset, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {
377
- foldMeasureId: FoldMeasureId + groupId,
378
- foldMeasureName: FoldMeasureName + groupId,
514
+ foldMeasureId: FoldMeasureId,
515
+ foldMeasureName: FoldMeasureName,
379
516
  foldMeasureValue: FoldMeasureValue + groupId,
380
- unfoldDimensionGroup: UnfoldDimensionGroup + groupId
517
+ unfoldDimensionGroup: UnfoldDimensionGroup
381
518
  });
382
519
  const reshapeInfo = {
383
520
  id: groupId,
@@ -401,15 +538,16 @@ const encodingXY = (advancedVSeed)=>{
401
538
  if (!datasetReshapeInfo || !dimensions) return result;
402
539
  const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
403
540
  const { foldInfo, unfoldInfo } = cur;
404
- const isSingleDimension = 0 === dimensions.length;
541
+ const isSingleDimension = 1 === dimensions.length;
542
+ const isZeroDimension = 0 === dimensions.length;
405
543
  const x = [
406
- isSingleDimension ? foldInfo.measureName : dimensions[0].id
544
+ isZeroDimension ? foldInfo.measureName : dimensions[0].id
407
545
  ];
408
546
  const y = [
409
547
  foldInfo.measureValue
410
548
  ];
411
549
  const group = [
412
- isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName
550
+ isSingleDimension || isZeroDimension ? foldInfo.measureName : unfoldInfo.groupName
413
551
  ];
414
552
  const color = [
415
553
  foldInfo.measureName
@@ -437,15 +575,16 @@ const encodingYX = (advancedVSeed)=>{
437
575
  if (!datasetReshapeInfo || !dimensions) return result;
438
576
  const encoding = datasetReshapeInfo.reduce((prev, cur)=>{
439
577
  const { foldInfo, unfoldInfo } = cur;
440
- const isSingleDimension = 0 === dimensions.length;
578
+ const isZeroDimension = 0 === dimensions.length;
579
+ const isSingleDimension = 1 === dimensions.length;
441
580
  const y = [
442
- isSingleDimension ? foldInfo.measureName : dimensions[0].id
581
+ isZeroDimension ? foldInfo.measureName : dimensions[0].id
443
582
  ];
444
583
  const x = [
445
584
  foldInfo.measureValue
446
585
  ];
447
586
  const group = [
448
- isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName
587
+ isSingleDimension || isZeroDimension ? foldInfo.measureName : unfoldInfo.groupName
449
588
  ];
450
589
  const color = [
451
590
  foldInfo.measureName
@@ -500,158 +639,89 @@ const encodingPolar = (advancedVSeed)=>{
500
639
  encoding
501
640
  };
502
641
  };
503
- const initAdvancedVSeed = (advancedVSeed, context)=>{
642
+ const vchartBaseConfig = (advancedVSeed, context)=>{
504
643
  const { vseed } = context;
505
- const { chartType = 'table' } = vseed;
506
- return {
507
- ...advancedVSeed,
508
- chartType
509
- };
510
- };
511
- const isVTable = (chartType)=>[
512
- 'table',
513
- 'pivotTable'
514
- ].includes(chartType);
515
- const isVChart = (chartType)=>!isVTable(chartType);
516
- const isPivotChart = (vseed)=>{
517
- const { measures, dimensions } = vseed;
518
- const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'rowDimension' === dimension.location || 'columnDimension' === dimension.location);
519
- const hasMeasureGroup = measures && measures.find((measure)=>measure && measure.children);
520
- return hasRowOrColumnDimension || hasMeasureGroup;
521
- };
522
- const autoMeasures = (advancedVSeed, context)=>{
523
644
  const result = {
524
645
  ...advancedVSeed
525
646
  };
526
- const { vseed } = context;
527
- const { measures, dataset } = vseed;
528
- if (!dataset) throw new Error('dataset is required');
529
- if (0 === dataset.length) return result;
530
- if (isPivotChart(vseed)) return autoMeasureGroup(advancedVSeed, context);
531
- if (measures) {
532
- result.measures = measures;
533
- return result;
534
- }
535
- const top100dataset = dataset.slice(0, 100);
536
- const sample = top100dataset.reduce((prev, cur)=>({
537
- ...prev,
538
- ...cur
539
- }), {});
540
- result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
541
- '',
542
- null,
543
- void 0
544
- ].includes(key)).map((measure)=>({
545
- id: measure,
546
- alias: measure
547
- }));
647
+ const config = (0, external_remeda_namespaceObject.pick)(vseed, [
648
+ 'backgroundColor',
649
+ 'color',
650
+ 'label',
651
+ 'legend',
652
+ 'tooltip'
653
+ ]);
654
+ result.baseConfig = {
655
+ vchart: {
656
+ ...config
657
+ }
658
+ };
548
659
  return result;
549
660
  };
550
- const autoMeasureGroup = (advancedVSeed, context)=>{
661
+ const lineConfig = (advancedVSeed, context)=>{
551
662
  const { vseed } = context;
552
- const { measures } = vseed;
553
- const hasMeasureGroup = measures?.some((measure)=>measure.children);
554
- if (!measures) return advancedVSeed;
555
- if (!hasMeasureGroup) {
556
- const newMeasures = [
557
- {
558
- id: 'measureGroup',
559
- alias: 'measureGroup',
560
- children: measures
561
- }
562
- ];
563
- return {
564
- ...advancedVSeed,
565
- measures: newMeasures
566
- };
567
- }
568
- let currentGroup = createEmptyMeasureGroup();
569
- const measureGroups = [];
570
- for (const measure of measures)if ('children' in measure) {
571
- if (currentGroup.children?.length) {
572
- currentGroup.id = currentGroup.children.map((item)=>item.id).join('-');
573
- currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
574
- measureGroups.push(currentGroup);
575
- currentGroup = createEmptyMeasureGroup();
576
- }
577
- measureGroups.push(measure);
578
- } else currentGroup.children?.push(measure);
579
- if (currentGroup.children?.length) {
580
- currentGroup.id = currentGroup.children.map((item)=>item.id).join('-');
581
- currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
582
- measureGroups.push(currentGroup);
583
- currentGroup = createEmptyMeasureGroup();
584
- }
585
- advancedVSeed.measures = measureGroups;
586
- return advancedVSeed;
587
- };
588
- const createEmptyMeasureGroup = ()=>({
589
- id: '',
590
- alias: '',
591
- children: []
592
- });
593
- const autoDimensions = (advancedVSeed, context)=>{
663
+ const { chartType } = vseed;
594
664
  const result = {
595
665
  ...advancedVSeed
596
666
  };
597
- const { vseed } = context;
598
- const { dimensions, dataset } = vseed;
599
- const { measures = [] } = advancedVSeed;
600
- if (!dataset) throw new Error('dataset is required');
601
- if (0 === dataset.length) return result;
602
- if (dimensions) {
603
- result.dimensions = dimensions;
604
- return result;
605
- }
606
- const top100dataset = dataset.slice(0, 100);
607
- const sample = top100dataset.reduce((prev, cur)=>({
608
- ...prev,
609
- ...cur
610
- }), {});
611
- result.dimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
612
- '',
613
- null,
614
- void 0
615
- ].includes(key) && !measures.some((measure)=>measure.id === key)).map((dim)=>({
616
- id: dim,
617
- alias: dim,
618
- location: 'dimension'
619
- }));
667
+ const config = (0, external_remeda_namespaceObject.pick)(vseed, [
668
+ 'xAxis',
669
+ 'yAxis'
670
+ ]);
671
+ result.config = {
672
+ ...result.config || {},
673
+ [chartType]: {
674
+ ...config
675
+ }
676
+ };
620
677
  return result;
621
678
  };
622
- const vchartBaseConfig = (advancedVSeed, context)=>{
679
+ const pieConfig = (advancedVSeed, context)=>{
623
680
  const { vseed } = context;
681
+ const { chartType } = vseed;
624
682
  const result = {
625
683
  ...advancedVSeed
626
684
  };
627
- const config = (0, external_remeda_namespaceObject.pick)(vseed, [
628
- 'backgroundColor',
629
- 'color',
630
- 'label',
631
- 'legend',
632
- 'tooltip'
633
- ]);
634
- result.baseConfig = {
635
- vchart: {
685
+ const config = (0, external_remeda_namespaceObject.pick)(vseed, []);
686
+ result.config = {
687
+ ...result.config || {},
688
+ [chartType]: {
636
689
  ...config
637
690
  }
638
691
  };
639
692
  return result;
640
693
  };
694
+ const barConfig = lineConfig;
695
+ const barParallelConfig = lineConfig;
696
+ const barPercentConfig = lineConfig;
697
+ const columnConfig = lineConfig;
698
+ const columnParallelConfig = lineConfig;
699
+ const columnPercentConfig = lineConfig;
700
+ const areaConfig = lineConfig;
701
+ const areaPercentConfig = lineConfig;
641
702
  const vchartTheme = (advancedVSeed, context)=>{
642
703
  const { customTheme, vseed } = context;
643
- const { theme = 'light' } = vseed;
704
+ const { theme = 'light', chartType } = vseed;
644
705
  const result = {
645
706
  ...advancedVSeed
646
707
  };
647
708
  if (!customTheme || !customTheme[theme]) return result;
648
- const config = result.baseConfig?.vchart;
649
- const themeConfig = customTheme?.[theme].baseConfig?.vchart;
650
- if (!themeConfig || !config) return result;
651
- const mergedConfig = (0, external_remeda_namespaceObject.mergeDeep)(themeConfig, (0, external_remeda_namespaceObject.clone)(config));
652
- result.baseConfig = {
653
- vchart: mergedConfig
654
- };
709
+ const baseConfigVChartTheme = customTheme?.[theme].baseConfig?.vchart;
710
+ if (baseConfigVChartTheme) {
711
+ const baseConfigVChart = result.baseConfig?.vchart || {};
712
+ const mergedConfig = (0, external_remeda_namespaceObject.mergeDeep)(baseConfigVChartTheme, (0, external_remeda_namespaceObject.clone)(baseConfigVChart));
713
+ result.baseConfig = {
714
+ vchart: mergedConfig
715
+ };
716
+ }
717
+ const chartConfigTheme = customTheme?.[theme].config?.[chartType];
718
+ if (chartConfigTheme) {
719
+ const chartConfig = result.config?.[chartType] || {};
720
+ const mergedConfig = (0, external_remeda_namespaceObject.mergeDeep)(chartConfigTheme, (0, external_remeda_namespaceObject.clone)(chartConfig));
721
+ result.config = {
722
+ [chartType]: mergedConfig
723
+ };
724
+ }
655
725
  return result;
656
726
  };
657
727
  const execPipeline = (pipeline, context, initialValue = {})=>{
@@ -664,6 +734,16 @@ const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
664
734
  if (usePivotChart) return execPipeline(pivotPipeline, context, advancedVSeed);
665
735
  return execPipeline(pipeline, context, advancedVSeed);
666
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
+ };
667
747
  const lineAdvancedPipeline = [
668
748
  initAdvancedVSeed,
669
749
  autoMeasures,
@@ -675,6 +755,7 @@ const lineAdvancedPipeline = [
675
755
  ]),
676
756
  encodingXY,
677
757
  vchartBaseConfig,
758
+ lineConfig,
678
759
  vchartTheme
679
760
  ];
680
761
  const barAdvancedPipeline = [
@@ -687,8 +768,10 @@ const barAdvancedPipeline = [
687
768
  pivotReshapeTo2D1M
688
769
  ]),
689
770
  encodingYX,
771
+ barConfig,
690
772
  vchartBaseConfig,
691
- vchartTheme
773
+ vchartTheme,
774
+ markStyle_markStyle
692
775
  ];
693
776
  const barParallelAdvancedPipeline = [
694
777
  initAdvancedVSeed,
@@ -700,8 +783,10 @@ const barParallelAdvancedPipeline = [
700
783
  pivotReshapeTo2D1M
701
784
  ]),
702
785
  encodingYX,
786
+ barParallelConfig,
703
787
  vchartBaseConfig,
704
- vchartTheme
788
+ vchartTheme,
789
+ markStyle_markStyle
705
790
  ];
706
791
  const barPercentAdvancedPipeline = [
707
792
  initAdvancedVSeed,
@@ -713,8 +798,10 @@ const barPercentAdvancedPipeline = [
713
798
  pivotReshapeTo2D1M
714
799
  ]),
715
800
  encodingYX,
801
+ barPercentConfig,
716
802
  vchartBaseConfig,
717
- vchartTheme
803
+ vchartTheme,
804
+ markStyle_markStyle
718
805
  ];
719
806
  const columnAdvancedPipeline = [
720
807
  initAdvancedVSeed,
@@ -726,8 +813,10 @@ const columnAdvancedPipeline = [
726
813
  pivotReshapeTo2D1M
727
814
  ]),
728
815
  encodingXY,
816
+ columnConfig,
729
817
  vchartBaseConfig,
730
- vchartTheme
818
+ vchartTheme,
819
+ markStyle_markStyle
731
820
  ];
732
821
  const columnParallelAdvancedPipeline = [
733
822
  initAdvancedVSeed,
@@ -739,8 +828,10 @@ const columnParallelAdvancedPipeline = [
739
828
  pivotReshapeTo2D1M
740
829
  ]),
741
830
  encodingXY,
831
+ columnParallelConfig,
742
832
  vchartBaseConfig,
743
- vchartTheme
833
+ vchartTheme,
834
+ markStyle_markStyle
744
835
  ];
745
836
  const columnPercentAdvancedPipeline = [
746
837
  initAdvancedVSeed,
@@ -752,8 +843,10 @@ const columnPercentAdvancedPipeline = [
752
843
  pivotReshapeTo2D1M
753
844
  ]),
754
845
  encodingXY,
846
+ columnPercentConfig,
755
847
  vchartBaseConfig,
756
- vchartTheme
848
+ vchartTheme,
849
+ markStyle_markStyle
757
850
  ];
758
851
  const areaAdvancedPipeline = [
759
852
  initAdvancedVSeed,
@@ -765,6 +858,7 @@ const areaAdvancedPipeline = [
765
858
  pivotReshapeTo2D1M
766
859
  ]),
767
860
  encodingXY,
861
+ areaConfig,
768
862
  vchartBaseConfig,
769
863
  vchartTheme
770
864
  ];
@@ -778,6 +872,7 @@ const areaPercentAdvancedPipeline = [
778
872
  pivotReshapeTo2D1M
779
873
  ]),
780
874
  encodingXY,
875
+ areaPercentConfig,
781
876
  vchartBaseConfig,
782
877
  vchartTheme
783
878
  ];
@@ -791,6 +886,7 @@ const pieAdvancedPipeline = [
791
886
  pivotReshapeTo1D1M
792
887
  ]),
793
888
  encodingPolar,
889
+ pieConfig,
794
890
  vchartBaseConfig,
795
891
  vchartTheme
796
892
  ];
@@ -838,6 +934,11 @@ const initColumn = (spec, context)=>{
838
934
  result.yField = encoding[0].y[0];
839
935
  result.seriesField = encoding[0].group[0];
840
936
  result.padding = 0;
937
+ result.region = [
938
+ {
939
+ clip: true
940
+ }
941
+ ];
841
942
  return result;
842
943
  };
843
944
  const initBar = (spec, context)=>{
@@ -853,6 +954,11 @@ const initBar = (spec, context)=>{
853
954
  result.xField = encoding[0].x?.[0];
854
955
  result.seriesField = encoding[0].group?.[0];
855
956
  result.padding = 0;
957
+ result.region = [
958
+ {
959
+ clip: true
960
+ }
961
+ ];
856
962
  return result;
857
963
  };
858
964
  const initBarParallel = (spec, context)=>{
@@ -872,6 +978,11 @@ const initBarParallel = (spec, context)=>{
872
978
  result.xField = encoding[0].x[0];
873
979
  result.seriesField = encoding[0].group[0];
874
980
  result.padding = 0;
981
+ result.region = [
982
+ {
983
+ clip: true
984
+ }
985
+ ];
875
986
  return result;
876
987
  };
877
988
  const initArea = (spec, context)=>{
@@ -887,6 +998,11 @@ const initArea = (spec, context)=>{
887
998
  result.yField = encoding[0].y[0];
888
999
  result.seriesField = encoding[0].group[0];
889
1000
  result.padding = 0;
1001
+ result.region = [
1002
+ {
1003
+ clip: true
1004
+ }
1005
+ ];
890
1006
  return result;
891
1007
  };
892
1008
  const initLine = (spec, context)=>{
@@ -902,6 +1018,11 @@ const initLine = (spec, context)=>{
902
1018
  result.yField = encoding[0].y[0];
903
1019
  result.seriesField = encoding[0].group[0];
904
1020
  result.padding = 0;
1021
+ result.region = [
1022
+ {
1023
+ clip: true
1024
+ }
1025
+ ];
905
1026
  return result;
906
1027
  };
907
1028
  const initColumnParallel = (spec, context)=>{
@@ -921,6 +1042,11 @@ const initColumnParallel = (spec, context)=>{
921
1042
  result.yField = encoding[0].y[0];
922
1043
  result.seriesField = encoding[0].group[0];
923
1044
  result.padding = 0;
1045
+ result.region = [
1046
+ {
1047
+ clip: true
1048
+ }
1049
+ ];
924
1050
  return result;
925
1051
  };
926
1052
  const initPie = (spec, context)=>{
@@ -937,6 +1063,11 @@ const initPie = (spec, context)=>{
937
1063
  result.categoryField = encoding[0].angle[0];
938
1064
  result.seriesField = encoding[0].group[0];
939
1065
  result.padding = 0;
1066
+ result.region = [
1067
+ {
1068
+ clip: true
1069
+ }
1070
+ ];
940
1071
  return result;
941
1072
  };
942
1073
  const initPivot = (spec)=>{
@@ -954,67 +1085,328 @@ const initPivot = (spec)=>{
954
1085
  indicatorsAsCol: false
955
1086
  };
956
1087
  };
957
- const xBand = (spec)=>{
1088
+ const xBand = (spec, context)=>{
958
1089
  const result = {
959
1090
  ...spec
960
1091
  };
1092
+ const { advancedVSeed, vseed } = context;
1093
+ const { chartType } = vseed;
1094
+ const config = advancedVSeed.config?.[chartType]?.xAxis;
961
1095
  if (!result.axes) result.axes = [];
1096
+ if (!config) {
1097
+ result.axes = [
1098
+ ...result.axes,
1099
+ {
1100
+ visible: true,
1101
+ type: 'band',
1102
+ orient: 'bottom'
1103
+ }
1104
+ ];
1105
+ return result;
1106
+ }
1107
+ const { visible = true, label, tick, title, grid, line, labelAutoHide, labelAutoHideGap, labelAutoLimit, labelAutoLimitLength, labelAutoRotate, labelAutoRotateAngleRange } = config;
1108
+ const sampling = !(labelAutoHide || labelAutoRotate || labelAutoLimit);
1109
+ const bandAxis = {
1110
+ visible,
1111
+ type: 'band',
1112
+ orient: 'bottom',
1113
+ maxHeight: labelAutoLimitLength,
1114
+ sampling,
1115
+ hover: true,
1116
+ label: {
1117
+ visible: label?.visible,
1118
+ flush: true,
1119
+ space: 8,
1120
+ style: {
1121
+ maxLineWidth: labelAutoLimitLength,
1122
+ fill: label?.labelColor,
1123
+ angle: label?.labelAngle,
1124
+ fontSize: label?.labelFontSize,
1125
+ fontWeight: label?.labelFontWeight
1126
+ },
1127
+ minGap: labelAutoHideGap,
1128
+ autoHide: labelAutoHide,
1129
+ autoHideMethod: 'greedy',
1130
+ autoHideSeparation: labelAutoHideGap,
1131
+ autoLimit: labelAutoLimit,
1132
+ autoRotate: labelAutoRotate,
1133
+ autoRotateAngle: labelAutoRotateAngleRange,
1134
+ lastVisible: true
1135
+ },
1136
+ title: {
1137
+ visible: title?.visible,
1138
+ text: title?.titleText,
1139
+ style: {
1140
+ fill: title?.titleColor,
1141
+ fontSize: title?.titleFontSize,
1142
+ fontWeight: title?.titleFontWeight
1143
+ }
1144
+ },
1145
+ tick: {
1146
+ visible: tick?.visible,
1147
+ tickSize: tick?.tickSize,
1148
+ inside: tick?.tickInside,
1149
+ style: {
1150
+ stroke: tick?.tickColor
1151
+ }
1152
+ },
1153
+ grid: {
1154
+ visible: grid?.visible,
1155
+ style: {
1156
+ lineWidth: grid?.gridWidth,
1157
+ stroke: grid?.gridColor
1158
+ }
1159
+ },
1160
+ domainLine: {
1161
+ visible: line?.visible,
1162
+ style: {
1163
+ lineWidth: line?.lineWidth,
1164
+ stroke: line?.lineColor
1165
+ }
1166
+ }
1167
+ };
962
1168
  result.axes = [
963
1169
  ...result.axes,
964
- {
965
- visible: true,
966
- type: 'band',
967
- orient: 'bottom'
968
- }
1170
+ bandAxis
969
1171
  ];
970
1172
  return result;
971
1173
  };
972
- const xLinear = (spec)=>{
1174
+ const xLinear = (spec, context)=>{
973
1175
  const result = {
974
1176
  ...spec
975
1177
  };
1178
+ const { advancedVSeed, vseed } = context;
1179
+ const { chartType } = vseed;
1180
+ const config = advancedVSeed.config?.[chartType]?.xAxis;
976
1181
  if (!result.axes) result.axes = [];
1182
+ if (!config) {
1183
+ result.axes = [
1184
+ ...result.axes,
1185
+ {
1186
+ visible: true,
1187
+ type: 'linear',
1188
+ orient: 'bottom'
1189
+ }
1190
+ ];
1191
+ return result;
1192
+ }
1193
+ const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min } = config;
1194
+ const linearAxis = {
1195
+ visible,
1196
+ type: 'linear',
1197
+ orient: 'bottom',
1198
+ nice,
1199
+ zero,
1200
+ inverse,
1201
+ max,
1202
+ min,
1203
+ label: {
1204
+ visible: label?.visible,
1205
+ style: {
1206
+ fill: label?.labelColor,
1207
+ angle: label?.labelAngle,
1208
+ fontSize: label?.labelFontSize,
1209
+ fontWeight: label?.labelFontWeight
1210
+ }
1211
+ },
1212
+ title: {
1213
+ visible: title?.visible,
1214
+ text: title?.titleText,
1215
+ style: {
1216
+ fill: title?.titleColor,
1217
+ fontSize: title?.titleFontSize,
1218
+ fontWeight: title?.titleFontWeight
1219
+ }
1220
+ },
1221
+ tick: {
1222
+ visible: tick?.visible,
1223
+ tickSize: tick?.tickSize,
1224
+ inside: tick?.tickInside,
1225
+ style: {
1226
+ stroke: tick?.tickColor
1227
+ }
1228
+ },
1229
+ grid: {
1230
+ visible: grid?.visible,
1231
+ style: {
1232
+ lineWidth: grid?.gridWidth,
1233
+ stroke: grid?.gridColor
1234
+ }
1235
+ },
1236
+ domainLine: {
1237
+ visible: line?.visible,
1238
+ style: {
1239
+ lineWidth: line?.lineWidth,
1240
+ stroke: line?.lineColor
1241
+ }
1242
+ }
1243
+ };
977
1244
  result.axes = [
978
1245
  ...result.axes,
979
- {
980
- visible: true,
981
- type: 'linear',
982
- orient: 'bottom',
983
- nice: true,
984
- zero: true
985
- }
1246
+ linearAxis
986
1247
  ];
987
1248
  return result;
988
1249
  };
989
- const yBand = (spec)=>{
1250
+ const yBand = (spec, context)=>{
990
1251
  const result = {
991
1252
  ...spec
992
1253
  };
1254
+ const { advancedVSeed, vseed } = context;
1255
+ const { chartType } = vseed;
1256
+ const config = advancedVSeed.config?.[chartType]?.yAxis;
993
1257
  if (!result.axes) result.axes = [];
1258
+ if (!config) {
1259
+ result.axes = [
1260
+ ...result.axes,
1261
+ {
1262
+ visible: true,
1263
+ type: 'band',
1264
+ orient: 'left'
1265
+ }
1266
+ ];
1267
+ return result;
1268
+ }
1269
+ const { visible = true, label, tick, title, grid, line, labelAutoHide, labelAutoHideGap, labelAutoLimit, labelAutoLimitLength, labelAutoRotate, labelAutoRotateAngleRange } = config;
1270
+ const sampling = !(labelAutoHide || labelAutoRotate || labelAutoLimit);
1271
+ const bandAxis = {
1272
+ visible,
1273
+ type: 'band',
1274
+ orient: 'left',
1275
+ maxWidth: labelAutoLimitLength,
1276
+ sampling,
1277
+ hover: true,
1278
+ label: {
1279
+ visible: label?.visible,
1280
+ flush: true,
1281
+ containerAlign: 'left',
1282
+ space: 8,
1283
+ style: {
1284
+ maxLineWidth: labelAutoLimitLength,
1285
+ fill: label?.labelColor,
1286
+ angle: label?.labelAngle,
1287
+ fontSize: label?.labelFontSize,
1288
+ fontWeight: label?.labelFontWeight
1289
+ },
1290
+ minGap: labelAutoHideGap,
1291
+ autoHide: labelAutoHide,
1292
+ autoHideMethod: 'greedy',
1293
+ autoHideSeparation: labelAutoHideGap,
1294
+ autoLimit: labelAutoLimit,
1295
+ autoRotate: labelAutoRotate,
1296
+ autoRotateAngle: labelAutoRotateAngleRange,
1297
+ lastVisible: true
1298
+ },
1299
+ title: {
1300
+ visible: title?.visible,
1301
+ text: title?.titleText,
1302
+ style: {
1303
+ fill: title?.titleColor,
1304
+ fontSize: title?.titleFontSize,
1305
+ fontWeight: title?.titleFontWeight
1306
+ }
1307
+ },
1308
+ tick: {
1309
+ visible: tick?.visible,
1310
+ tickSize: tick?.tickSize,
1311
+ inside: tick?.tickInside,
1312
+ style: {
1313
+ stroke: tick?.tickColor
1314
+ }
1315
+ },
1316
+ grid: {
1317
+ visible: grid?.visible,
1318
+ style: {
1319
+ lineWidth: grid?.gridWidth,
1320
+ stroke: grid?.gridColor
1321
+ }
1322
+ },
1323
+ domainLine: {
1324
+ visible: line?.visible,
1325
+ style: {
1326
+ lineWidth: line?.lineWidth,
1327
+ stroke: line?.lineColor
1328
+ }
1329
+ }
1330
+ };
994
1331
  result.axes = [
995
1332
  ...result.axes,
996
- {
997
- visible: true,
998
- type: 'band',
999
- orient: 'left'
1000
- }
1333
+ bandAxis
1001
1334
  ];
1002
1335
  return result;
1003
1336
  };
1004
- const yLinear = (spec)=>{
1337
+ const yLinear = (spec, context)=>{
1005
1338
  const result = {
1006
1339
  ...spec
1007
1340
  };
1341
+ const { advancedVSeed, vseed } = context;
1342
+ const { chartType } = vseed;
1343
+ const config = advancedVSeed.config?.[chartType]?.yAxis;
1008
1344
  if (!result.axes) result.axes = [];
1345
+ if (!config) {
1346
+ result.axes = [
1347
+ ...result.axes,
1348
+ {
1349
+ visible: true,
1350
+ type: 'linear',
1351
+ orient: 'left'
1352
+ }
1353
+ ];
1354
+ return result;
1355
+ }
1356
+ const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min } = config;
1357
+ const linearAxis = {
1358
+ visible,
1359
+ type: 'linear',
1360
+ orient: 'left',
1361
+ nice,
1362
+ zero,
1363
+ inverse,
1364
+ max,
1365
+ min,
1366
+ label: {
1367
+ visible: label?.visible,
1368
+ style: {
1369
+ fill: label?.labelColor,
1370
+ angle: label?.labelAngle,
1371
+ fontSize: label?.labelFontSize,
1372
+ fontWeight: label?.labelFontWeight
1373
+ }
1374
+ },
1375
+ title: {
1376
+ visible: title?.visible,
1377
+ text: title?.titleText,
1378
+ style: {
1379
+ fill: title?.titleColor,
1380
+ fontSize: title?.titleFontSize,
1381
+ fontWeight: title?.titleFontWeight
1382
+ }
1383
+ },
1384
+ tick: {
1385
+ visible: tick?.visible,
1386
+ tickSize: tick?.tickSize,
1387
+ inside: tick?.tickInside,
1388
+ style: {
1389
+ stroke: tick?.tickColor
1390
+ }
1391
+ },
1392
+ grid: {
1393
+ visible: grid?.visible,
1394
+ style: {
1395
+ lineWidth: grid?.gridWidth,
1396
+ stroke: grid?.gridColor
1397
+ }
1398
+ },
1399
+ domainLine: {
1400
+ visible: line?.visible,
1401
+ style: {
1402
+ lineWidth: line?.lineWidth,
1403
+ stroke: line?.lineColor
1404
+ }
1405
+ }
1406
+ };
1009
1407
  result.axes = [
1010
1408
  ...result.axes,
1011
- {
1012
- visible: true,
1013
- type: 'linear',
1014
- orient: 'left',
1015
- nice: true,
1016
- zero: true
1017
- }
1409
+ linearAxis
1018
1410
  ];
1019
1411
  return result;
1020
1412
  };
@@ -1025,11 +1417,11 @@ const percent = (spec, context)=>{
1025
1417
  result.percent = true;
1026
1418
  return result;
1027
1419
  };
1028
- const stack = (spec, context)=>{
1420
+ const stackInverse = (spec)=>{
1029
1421
  const result = {
1030
1422
  ...spec
1031
1423
  };
1032
- result.stack = true;
1424
+ result.stackInverse = true;
1033
1425
  return result;
1034
1426
  };
1035
1427
  const background_backgroundColor = (spec, context)=>{
@@ -1075,24 +1467,103 @@ const label_label = (spec, context)=>{
1075
1467
  };
1076
1468
  return result;
1077
1469
  };
1078
- const defaultLegend = {
1079
- enable: true
1080
- };
1081
- const legend_legend = (spec, context)=>{
1470
+ const discreteLegend = (spec, context)=>{
1082
1471
  const result = {
1083
1472
  ...spec
1084
1473
  };
1085
1474
  const { advancedVSeed } = context;
1086
1475
  const baseConfig = advancedVSeed.baseConfig.vchart;
1087
1476
  if (!baseConfig || !baseConfig.legend) return result;
1088
- const { legend = defaultLegend } = baseConfig;
1089
- 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';
1090
1517
  result.legends = {
1091
- 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
+ }
1092
1563
  };
1093
1564
  return result;
1094
1565
  };
1095
- const pivotLegend = (spec, context)=>{
1566
+ const pivotDiscreteLegend = (spec, context)=>{
1096
1567
  const result = {
1097
1568
  ...spec
1098
1569
  };
@@ -1102,38 +1573,94 @@ const pivotLegend = (spec, context)=>{
1102
1573
  const { datasetReshapeInfo } = advancedVSeed;
1103
1574
  const colorItems = (0, external_remeda_namespaceObject.unique)(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
1104
1575
  const { legend, color } = baseConfig;
1105
- const { enable } = legend;
1106
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';
1107
1616
  const legends = {
1108
1617
  visible: enable,
1109
- alignSelf: 'end',
1110
1618
  type: 'discrete',
1111
- position: 'middle',
1619
+ orient,
1620
+ position: legendPosition,
1621
+ maxCol: maxSize,
1622
+ maxRow: maxSize,
1112
1623
  data: colorItems.map((d, index)=>({
1113
1624
  label: d,
1114
1625
  shape: {
1115
- symbolType: 'square',
1626
+ outerBorder: border ? {
1627
+ stroke: colorScheme[index],
1628
+ distance: 3,
1629
+ lineWidth: 1
1630
+ } : void 0,
1116
1631
  fill: colorScheme[index]
1117
1632
  }
1118
1633
  })),
1119
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
+ },
1120
1655
  background: {
1121
- visible: true,
1122
1656
  state: {
1123
1657
  selectedHover: {
1124
- fill: '#000000',
1658
+ fill: labelFontColor,
1125
1659
  fillOpacity: 0.05
1126
1660
  }
1127
1661
  }
1128
- },
1129
- label: {
1130
- style: {
1131
- fontSize: 12,
1132
- fill: '#6F6F6F'
1133
- }
1134
1662
  }
1135
- },
1136
- orient: 'bottom'
1663
+ }
1137
1664
  };
1138
1665
  return {
1139
1666
  ...result,
@@ -1382,7 +1909,123 @@ const pivotRowDimensions = (spec, context)=>{
1382
1909
  rows: rows
1383
1910
  };
1384
1911
  };
1385
- const line = [
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
+ };
2028
+ const line_line = [
1386
2029
  initLine,
1387
2030
  color_color,
1388
2031
  background_backgroundColor,
@@ -1391,7 +2034,7 @@ const line = [
1391
2034
  yLinear,
1392
2035
  label_label,
1393
2036
  tooltip_tooltip,
1394
- legend_legend
2037
+ discreteLegend
1395
2038
  ];
1396
2039
  const pivotLine = [
1397
2040
  initPivot,
@@ -1410,13 +2053,14 @@ const pivotLine = [
1410
2053
  ]),
1411
2054
  pivotRowDimensions,
1412
2055
  pivotColumnDimensions,
1413
- pivotLegend
2056
+ pivotDiscreteLegend
1414
2057
  ];
1415
2058
  const lineSpecPipeline = [
1416
- pivotAdapter_pivotAdapter(line, pivotLine)
2059
+ pivotAdapter_pivotAdapter(line_line, pivotLine)
1417
2060
  ];
1418
2061
  const column = [
1419
2062
  initColumn,
2063
+ stackInverse,
1420
2064
  color_color,
1421
2065
  background_backgroundColor,
1422
2066
  dataset_dataset,
@@ -1424,7 +2068,8 @@ const column = [
1424
2068
  yLinear,
1425
2069
  label_label,
1426
2070
  tooltip_tooltip,
1427
- legend_legend
2071
+ discreteLegend,
2072
+ barStyle_barStyle
1428
2073
  ];
1429
2074
  const pivotColumn = [
1430
2075
  initPivot,
@@ -1433,17 +2078,19 @@ const pivotColumn = [
1433
2078
  datasetPivot,
1434
2079
  pivotIndicators([
1435
2080
  initColumn,
2081
+ stackInverse,
1436
2082
  color_color,
1437
2083
  background_backgroundColor,
1438
2084
  datasetPivotPlaceholder,
1439
2085
  xBand,
1440
2086
  yLinear,
1441
2087
  label_label,
1442
- tooltip_tooltip
2088
+ tooltip_tooltip,
2089
+ barStyle_barStyle
1443
2090
  ]),
1444
2091
  pivotRowDimensions,
1445
2092
  pivotColumnDimensions,
1446
- pivotLegend
2093
+ pivotDiscreteLegend
1447
2094
  ];
1448
2095
  const columnSpecPipeline = [
1449
2096
  pivotAdapter_pivotAdapter(column, pivotColumn)
@@ -1457,7 +2104,8 @@ const columnParallel = [
1457
2104
  yLinear,
1458
2105
  label_label,
1459
2106
  tooltip_tooltip,
1460
- legend_legend
2107
+ discreteLegend,
2108
+ barStyle_barStyle
1461
2109
  ];
1462
2110
  const pivotColumnParallel = [
1463
2111
  initPivot,
@@ -1472,17 +2120,19 @@ const pivotColumnParallel = [
1472
2120
  xBand,
1473
2121
  yLinear,
1474
2122
  label_label,
1475
- tooltip_tooltip
2123
+ tooltip_tooltip,
2124
+ barStyle_barStyle
1476
2125
  ]),
1477
2126
  pivotRowDimensions,
1478
2127
  pivotColumnDimensions,
1479
- pivotLegend
2128
+ pivotDiscreteLegend
1480
2129
  ];
1481
2130
  const columnParallelSpecPipeline = [
1482
2131
  pivotAdapter_pivotAdapter(columnParallel, pivotColumnParallel)
1483
2132
  ];
1484
2133
  const columnPercent = [
1485
2134
  initColumn,
2135
+ stackInverse,
1486
2136
  color_color,
1487
2137
  background_backgroundColor,
1488
2138
  percent,
@@ -1491,7 +2141,8 @@ const columnPercent = [
1491
2141
  yLinear,
1492
2142
  label_label,
1493
2143
  tooltip_tooltip,
1494
- legend_legend
2144
+ discreteLegend,
2145
+ barStyle_barStyle
1495
2146
  ];
1496
2147
  const pivotColumnPercent = [
1497
2148
  initPivot,
@@ -1500,6 +2151,7 @@ const pivotColumnPercent = [
1500
2151
  datasetPivot,
1501
2152
  pivotIndicators([
1502
2153
  initColumn,
2154
+ stackInverse,
1503
2155
  color_color,
1504
2156
  percent,
1505
2157
  background_backgroundColor,
@@ -1507,11 +2159,12 @@ const pivotColumnPercent = [
1507
2159
  xBand,
1508
2160
  yLinear,
1509
2161
  label_label,
1510
- tooltip_tooltip
2162
+ tooltip_tooltip,
2163
+ barStyle_barStyle
1511
2164
  ]),
1512
2165
  pivotRowDimensions,
1513
2166
  pivotColumnDimensions,
1514
- pivotLegend
2167
+ pivotDiscreteLegend
1515
2168
  ];
1516
2169
  const columnPercentSpecPipeline = [
1517
2170
  pivotAdapter_pivotAdapter(columnPercent, pivotColumnPercent)
@@ -1525,7 +2178,8 @@ const bar = [
1525
2178
  yBand,
1526
2179
  label_label,
1527
2180
  tooltip_tooltip,
1528
- legend_legend
2181
+ discreteLegend,
2182
+ barStyle_barStyle
1529
2183
  ];
1530
2184
  const pivotBar = [
1531
2185
  initPivot,
@@ -1540,11 +2194,12 @@ const pivotBar = [
1540
2194
  yBand,
1541
2195
  label_label,
1542
2196
  label_label,
1543
- tooltip_tooltip
2197
+ tooltip_tooltip,
2198
+ barStyle_barStyle
1544
2199
  ]),
1545
2200
  pivotRowDimensions,
1546
2201
  pivotColumnDimensions,
1547
- pivotLegend
2202
+ pivotDiscreteLegend
1548
2203
  ];
1549
2204
  const barSpecPipeline = [
1550
2205
  pivotAdapter_pivotAdapter(bar, pivotBar)
@@ -1558,7 +2213,8 @@ const barParallel = [
1558
2213
  yBand,
1559
2214
  label_label,
1560
2215
  tooltip_tooltip,
1561
- legend_legend
2216
+ discreteLegend,
2217
+ barStyle_barStyle
1562
2218
  ];
1563
2219
  const pivotBarParallel = [
1564
2220
  initPivot,
@@ -1573,11 +2229,12 @@ const pivotBarParallel = [
1573
2229
  yBand,
1574
2230
  xLinear,
1575
2231
  label_label,
1576
- tooltip_tooltip
2232
+ tooltip_tooltip,
2233
+ barStyle_barStyle
1577
2234
  ]),
1578
2235
  pivotRowDimensions,
1579
2236
  pivotColumnDimensions,
1580
- pivotLegend
2237
+ pivotDiscreteLegend
1581
2238
  ];
1582
2239
  const barParallelSpecPipeline = [
1583
2240
  pivotAdapter_pivotAdapter(barParallel, pivotBarParallel)
@@ -1592,7 +2249,8 @@ const barPercent = [
1592
2249
  yBand,
1593
2250
  label_label,
1594
2251
  tooltip_tooltip,
1595
- legend_legend
2252
+ discreteLegend,
2253
+ barStyle_barStyle
1596
2254
  ];
1597
2255
  const pivotBarPercent = [
1598
2256
  initPivot,
@@ -1608,26 +2266,27 @@ const pivotBarPercent = [
1608
2266
  yBand,
1609
2267
  xLinear,
1610
2268
  label_label,
1611
- tooltip_tooltip
2269
+ tooltip_tooltip,
2270
+ barStyle_barStyle
1612
2271
  ]),
1613
2272
  pivotRowDimensions,
1614
2273
  pivotColumnDimensions,
1615
- pivotLegend
2274
+ pivotDiscreteLegend
1616
2275
  ];
1617
2276
  const barPercentSpecPipeline = [
1618
2277
  pivotAdapter_pivotAdapter(barPercent, pivotBarPercent)
1619
2278
  ];
1620
2279
  const area_area = [
1621
2280
  initArea,
2281
+ stackInverse,
1622
2282
  color_color,
1623
2283
  background_backgroundColor,
1624
- stack,
1625
2284
  dataset_dataset,
1626
2285
  xBand,
1627
2286
  yLinear,
1628
2287
  label_label,
1629
2288
  tooltip_tooltip,
1630
- legend_legend
2289
+ discreteLegend
1631
2290
  ];
1632
2291
  const pivotArea = [
1633
2292
  initPivot,
@@ -1638,7 +2297,7 @@ const pivotArea = [
1638
2297
  initArea,
1639
2298
  color_color,
1640
2299
  background_backgroundColor,
1641
- stack,
2300
+ stackInverse,
1642
2301
  datasetPivotPlaceholder,
1643
2302
  xBand,
1644
2303
  yLinear,
@@ -1647,13 +2306,14 @@ const pivotArea = [
1647
2306
  ]),
1648
2307
  pivotRowDimensions,
1649
2308
  pivotColumnDimensions,
1650
- pivotLegend
2309
+ pivotDiscreteLegend
1651
2310
  ];
1652
2311
  const areaSpecPipeline = [
1653
2312
  pivotAdapter_pivotAdapter(area_area, pivotArea)
1654
2313
  ];
1655
2314
  const areaPercent = [
1656
2315
  initArea,
2316
+ stackInverse,
1657
2317
  color_color,
1658
2318
  background_backgroundColor,
1659
2319
  percent,
@@ -1662,7 +2322,7 @@ const areaPercent = [
1662
2322
  yLinear,
1663
2323
  label_label,
1664
2324
  tooltip_tooltip,
1665
- legend_legend
2325
+ discreteLegend
1666
2326
  ];
1667
2327
  const pivotAreaPercent = [
1668
2328
  initPivot,
@@ -1671,6 +2331,7 @@ const pivotAreaPercent = [
1671
2331
  datasetPivot,
1672
2332
  pivotIndicators([
1673
2333
  initArea,
2334
+ stackInverse,
1674
2335
  color_color,
1675
2336
  background_backgroundColor,
1676
2337
  percent,
@@ -1682,7 +2343,7 @@ const pivotAreaPercent = [
1682
2343
  ]),
1683
2344
  pivotRowDimensions,
1684
2345
  pivotColumnDimensions,
1685
- pivotLegend
2346
+ pivotDiscreteLegend
1686
2347
  ];
1687
2348
  const areaPercentSpecPipeline = [
1688
2349
  pivotAdapter_pivotAdapter(areaPercent, pivotAreaPercent)
@@ -1694,7 +2355,7 @@ const pie = [
1694
2355
  dataset_dataset,
1695
2356
  label_label,
1696
2357
  tooltip_tooltip,
1697
- legend_legend
2358
+ discreteLegend
1698
2359
  ];
1699
2360
  const pivotPie = [
1700
2361
  initPivot,
@@ -1711,7 +2372,7 @@ const pivotPie = [
1711
2372
  ]),
1712
2373
  pivotRowDimensions,
1713
2374
  pivotColumnDimensions,
1714
- pivotLegend
2375
+ pivotDiscreteLegend
1715
2376
  ];
1716
2377
  const pieSpecPipeline = [
1717
2378
  pivotAdapter_pivotAdapter(pie, pivotPie)
@@ -1827,13 +2488,104 @@ const registerPie = ()=>{
1827
2488
  Builder._advancedPipelineMap.pie = pieAdvancedPipeline;
1828
2489
  Builder._specPipelineMap.pie = pieSpecPipeline;
1829
2490
  };
1830
- const lightTheme = ()=>({
2491
+ const lightTheme = ()=>{
2492
+ const linearAxis = {
2493
+ nice: true,
2494
+ zero: true,
2495
+ inverse: false,
2496
+ label: {
2497
+ visible: true,
2498
+ labelAngle: 0,
2499
+ labelColor: '#797B85',
2500
+ labelFontSize: 12,
2501
+ labelFontWeight: 400
2502
+ },
2503
+ title: {
2504
+ visible: false,
2505
+ titleText: '',
2506
+ titleColor: '#646A73',
2507
+ titleFontSize: 12,
2508
+ titleFontWeight: 400
2509
+ },
2510
+ grid: {
2511
+ visible: true,
2512
+ gridColor: '#36415926',
2513
+ gridWidth: 0.5
2514
+ },
2515
+ tick: {
2516
+ visible: false,
2517
+ tickInside: false,
2518
+ tickSize: 4,
2519
+ tickColor: '#3641594d'
2520
+ },
2521
+ line: {
2522
+ visible: false,
2523
+ lineColor: '#3641594d',
2524
+ lineWidth: 1
2525
+ }
2526
+ };
2527
+ const bandAxis = {
2528
+ labelAutoHide: true,
2529
+ labelAutoHideGap: 4,
2530
+ labelAutoLimit: true,
2531
+ labelAutoLimitLength: 100,
2532
+ labelAutoRotate: true,
2533
+ labelAutoRotateAngleRange: [
2534
+ 0,
2535
+ -45,
2536
+ -90
2537
+ ],
2538
+ label: {
2539
+ visible: true,
2540
+ labelAngle: 0,
2541
+ labelColor: '#797B85',
2542
+ labelFontSize: 12,
2543
+ labelFontWeight: 400
2544
+ },
2545
+ title: {
2546
+ visible: false,
2547
+ titleText: '',
2548
+ titleColor: '#646A73',
2549
+ titleFontSize: 12,
2550
+ titleFontWeight: 400
2551
+ },
2552
+ grid: {
2553
+ visible: false,
2554
+ gridColor: '#36415926',
2555
+ gridWidth: 0.5
2556
+ },
2557
+ tick: {
2558
+ visible: false,
2559
+ tickInside: false,
2560
+ tickSize: 4,
2561
+ tickColor: '#3641594d'
2562
+ },
2563
+ line: {
2564
+ visible: true,
2565
+ lineColor: '#3641594d',
2566
+ lineWidth: 1
2567
+ }
2568
+ };
2569
+ const barBandAxis = {
2570
+ ...bandAxis,
2571
+ labelAutoHide: false,
2572
+ labelAutoHideGap: 1,
2573
+ labelAutoLimit: false,
2574
+ labelAutoLimitLength: void 0,
2575
+ labelAutoRotate: false,
2576
+ labelAutoRotateAngleRange: [
2577
+ 0,
2578
+ -45,
2579
+ -90
2580
+ ]
2581
+ };
2582
+ return {
1831
2583
  baseConfig: {
1832
2584
  vtable: {
1833
- backgroundColor: '#ffffff'
2585
+ backgroundColor: 'transparent'
1834
2586
  },
1835
2587
  vchart: {
1836
- backgroundColor: '#ffffff',
2588
+ backgroundColor: 'transparent',
1837
2589
  color: {
1838
2590
  colorScheme: [
1839
2591
  '#8D72F6',
@@ -1855,18 +2607,141 @@ const lightTheme = ()=>({
1855
2607
  enable: true
1856
2608
  },
1857
2609
  legend: {
1858
- 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
1859
2618
  }
1860
2619
  }
2620
+ },
2621
+ config: {
2622
+ line: {
2623
+ xAxis: bandAxis,
2624
+ yAxis: linearAxis
2625
+ },
2626
+ column: {
2627
+ xAxis: bandAxis,
2628
+ yAxis: linearAxis
2629
+ },
2630
+ columnParallel: {
2631
+ xAxis: bandAxis,
2632
+ yAxis: linearAxis
2633
+ },
2634
+ columnPercent: {
2635
+ xAxis: bandAxis,
2636
+ yAxis: linearAxis
2637
+ },
2638
+ bar: {
2639
+ xAxis: linearAxis,
2640
+ yAxis: barBandAxis
2641
+ },
2642
+ barParallel: {
2643
+ xAxis: linearAxis,
2644
+ yAxis: barBandAxis
2645
+ },
2646
+ barPercent: {
2647
+ xAxis: linearAxis,
2648
+ yAxis: barBandAxis
2649
+ },
2650
+ area: {
2651
+ xAxis: bandAxis,
2652
+ yAxis: linearAxis
2653
+ },
2654
+ areaPercent: {
2655
+ xAxis: bandAxis,
2656
+ yAxis: linearAxis
2657
+ }
1861
2658
  }
1862
- });
1863
- const darkTheme = ()=>({
2659
+ };
2660
+ };
2661
+ const darkTheme = ()=>{
2662
+ const linearAxis = {
2663
+ nice: true,
2664
+ zero: true,
2665
+ label: {
2666
+ visible: true,
2667
+ labelAngle: 0,
2668
+ labelColor: '#E2E3E6',
2669
+ labelFontSize: 12,
2670
+ labelFontWeight: 400
2671
+ },
2672
+ title: {
2673
+ visible: false,
2674
+ titleText: '',
2675
+ titleColor: '#FDFDFD',
2676
+ titleFontSize: 12,
2677
+ titleFontWeight: 400
2678
+ },
2679
+ grid: {
2680
+ visible: true,
2681
+ gridColor: '#404349',
2682
+ gridWidth: 0.5
2683
+ },
2684
+ tick: {
2685
+ visible: false,
2686
+ tickInside: false,
2687
+ tickSize: 4,
2688
+ tickColor: '#4B4F54'
2689
+ },
2690
+ line: {
2691
+ visible: false,
2692
+ lineColor: '#4B4F54',
2693
+ lineWidth: 1
2694
+ }
2695
+ };
2696
+ const bandAxis = {
2697
+ labelAutoHide: true,
2698
+ labelAutoHideGap: 4,
2699
+ labelAutoLimit: true,
2700
+ labelAutoLimitLength: 100,
2701
+ labelAutoRotate: true,
2702
+ labelAutoRotateAngleRange: [
2703
+ 0,
2704
+ -45,
2705
+ -90
2706
+ ],
2707
+ label: {
2708
+ visible: true,
2709
+ labelAngle: 0,
2710
+ labelColor: '#E2E3E6',
2711
+ labelFontSize: 12,
2712
+ labelFontWeight: 400
2713
+ },
2714
+ title: {
2715
+ visible: false,
2716
+ titleText: '',
2717
+ titleColor: '#FDFDFD',
2718
+ titleFontSize: 12,
2719
+ titleFontWeight: 400
2720
+ },
2721
+ grid: {
2722
+ visible: false,
2723
+ gridColor: '#404349',
2724
+ gridWidth: 0.5
2725
+ },
2726
+ tick: {
2727
+ visible: false,
2728
+ tickInside: false,
2729
+ tickSize: 4,
2730
+ tickColor: '#4B4F54'
2731
+ },
2732
+ line: {
2733
+ visible: true,
2734
+ lineColor: '#4B4F54',
2735
+ lineWidth: 1
2736
+ }
2737
+ };
2738
+ return {
1864
2739
  baseConfig: {
1865
2740
  vtable: {
1866
- backgroundColor: '#141414'
2741
+ backgroundColor: 'transparent'
1867
2742
  },
1868
2743
  vchart: {
1869
- backgroundColor: '#141414',
2744
+ backgroundColor: 'transparent',
1870
2745
  color: {
1871
2746
  colorScheme: [
1872
2747
  '#2E62F1',
@@ -1888,11 +2763,57 @@ const darkTheme = ()=>({
1888
2763
  enable: true
1889
2764
  },
1890
2765
  legend: {
1891
- 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
1892
2774
  }
1893
2775
  }
2776
+ },
2777
+ config: {
2778
+ line: {
2779
+ xAxis: bandAxis,
2780
+ yAxis: linearAxis
2781
+ },
2782
+ column: {
2783
+ xAxis: bandAxis,
2784
+ yAxis: linearAxis
2785
+ },
2786
+ columnParallel: {
2787
+ xAxis: bandAxis,
2788
+ yAxis: linearAxis
2789
+ },
2790
+ columnPercent: {
2791
+ xAxis: bandAxis,
2792
+ yAxis: linearAxis
2793
+ },
2794
+ bar: {
2795
+ xAxis: linearAxis,
2796
+ yAxis: bandAxis
2797
+ },
2798
+ barParallel: {
2799
+ xAxis: linearAxis,
2800
+ yAxis: bandAxis
2801
+ },
2802
+ barPercent: {
2803
+ xAxis: linearAxis,
2804
+ yAxis: bandAxis
2805
+ },
2806
+ area: {
2807
+ xAxis: bandAxis,
2808
+ yAxis: linearAxis
2809
+ },
2810
+ areaPercent: {
2811
+ xAxis: bandAxis,
2812
+ yAxis: linearAxis
2813
+ }
1894
2814
  }
1895
- });
2815
+ };
2816
+ };
1896
2817
  const registerCustomTheme = (key, themeConfig)=>{
1897
2818
  Builder._themeMap[key] = themeConfig;
1898
2819
  };
@@ -2016,7 +2937,58 @@ const zTooltip = external_zod_namespaceObject.z.object({
2016
2937
  enable: external_zod_namespaceObject.z.boolean().default(true).optional()
2017
2938
  });
2018
2939
  const zLegend = external_zod_namespaceObject.z.object({
2019
- 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()
2020
2992
  });
2021
2993
  const zVChartBaseConfig = external_zod_namespaceObject.z.object({
2022
2994
  backgroundColor: zBackgroundColor,
@@ -2032,12 +3004,245 @@ const zBaseConfig = external_zod_namespaceObject.z.object({
2032
3004
  vchart: zVChartBaseConfig.optional(),
2033
3005
  vtable: zVTableBaseConfig.optional()
2034
3006
  });
3007
+ const zAxis = external_zod_namespaceObject.z.object({
3008
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3009
+ min: external_zod_namespaceObject.z.number().optional(),
3010
+ max: external_zod_namespaceObject.z.number().optional(),
3011
+ nice: external_zod_namespaceObject.z.boolean().default(true).optional(),
3012
+ zero: external_zod_namespaceObject.z.boolean().default(true).optional(),
3013
+ inverse: external_zod_namespaceObject.z.boolean().default(false).optional(),
3014
+ labelAutoHide: external_zod_namespaceObject.z.boolean().default(true).optional(),
3015
+ labelAutoHideGap: external_zod_namespaceObject.z.number().default(4).optional(),
3016
+ labelAutoRotate: external_zod_namespaceObject.z.boolean().default(true).optional(),
3017
+ labelAutoRotateAngleRange: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.number()).default([
3018
+ 0,
3019
+ -45,
3020
+ -90
3021
+ ]).optional(),
3022
+ labelAutoLimit: external_zod_namespaceObject.z.boolean().default(true).optional(),
3023
+ labelAutoLimitLength: external_zod_namespaceObject.z.number().default(100).optional(),
3024
+ label: external_zod_namespaceObject.z.object({
3025
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3026
+ labelColor: external_zod_namespaceObject.z.string().default('#797B85').optional(),
3027
+ labelFontSize: external_zod_namespaceObject.z.number().default(12).optional(),
3028
+ labelFontWeight: external_zod_namespaceObject.z.number().default(400).optional(),
3029
+ labelAngle: external_zod_namespaceObject.z.number().default(0).optional()
3030
+ }).optional(),
3031
+ line: external_zod_namespaceObject.z.object({
3032
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3033
+ lineColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.30)').optional(),
3034
+ lineWidth: external_zod_namespaceObject.z.number().default(1).optional()
3035
+ }).optional(),
3036
+ tick: external_zod_namespaceObject.z.object({
3037
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3038
+ tickInside: external_zod_namespaceObject.z.boolean().default(false).optional(),
3039
+ tickColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.30)').optional(),
3040
+ tickSize: external_zod_namespaceObject.z.number().default(4).optional()
3041
+ }).optional(),
3042
+ title: external_zod_namespaceObject.z.object({
3043
+ visible: external_zod_namespaceObject.z.boolean().default(false).optional(),
3044
+ titleText: external_zod_namespaceObject.z.string().default('').optional(),
3045
+ titleColor: external_zod_namespaceObject.z.string().default('#646A73').optional(),
3046
+ titleFontSize: external_zod_namespaceObject.z.number().default(12).optional(),
3047
+ titleFontWeight: external_zod_namespaceObject.z.number().default(400).optional()
3048
+ }).optional(),
3049
+ grid: external_zod_namespaceObject.z.object({
3050
+ visible: external_zod_namespaceObject.z.boolean().default(false).optional(),
3051
+ gridColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.15)').optional(),
3052
+ gridWidth: external_zod_namespaceObject.z.number().default(0.5).optional()
3053
+ }).optional()
3054
+ });
3055
+ const zXBandAxis = external_zod_namespaceObject.z.object({
3056
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3057
+ labelAutoHide: external_zod_namespaceObject.z.boolean().default(true).optional(),
3058
+ labelAutoHideGap: external_zod_namespaceObject.z.number().default(0).optional(),
3059
+ labelAutoRotate: external_zod_namespaceObject.z.boolean().default(true).optional(),
3060
+ labelAutoRotateAngleRange: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.number()).default([
3061
+ 0,
3062
+ -45,
3063
+ -90
3064
+ ]).optional(),
3065
+ labelAutoLimit: external_zod_namespaceObject.z.boolean().default(true).optional(),
3066
+ labelAutoLimitLength: external_zod_namespaceObject.z.number().default(100).optional(),
3067
+ label: external_zod_namespaceObject.z.object({
3068
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3069
+ labelColor: external_zod_namespaceObject.z.string().default('#797B85').optional(),
3070
+ labelFontSize: external_zod_namespaceObject.z.number().default(12).optional(),
3071
+ labelFontWeight: external_zod_namespaceObject.z.number().default(400).optional(),
3072
+ labelAngle: external_zod_namespaceObject.z.number().default(0).optional()
3073
+ }).optional(),
3074
+ line: external_zod_namespaceObject.z.object({
3075
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3076
+ lineColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.30)').optional(),
3077
+ lineWidth: external_zod_namespaceObject.z.number().default(1).optional()
3078
+ }).optional(),
3079
+ tick: external_zod_namespaceObject.z.object({
3080
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3081
+ tickInside: external_zod_namespaceObject.z.boolean().default(false).optional(),
3082
+ tickColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.30)').optional(),
3083
+ tickSize: external_zod_namespaceObject.z.number().default(4).optional()
3084
+ }).optional(),
3085
+ title: external_zod_namespaceObject.z.object({
3086
+ visible: external_zod_namespaceObject.z.boolean().default(false).optional(),
3087
+ titleText: external_zod_namespaceObject.z.string().default('').optional(),
3088
+ titleColor: external_zod_namespaceObject.z.string().default('#646A73').optional(),
3089
+ titleFontSize: external_zod_namespaceObject.z.number().default(12).optional(),
3090
+ titleFontWeight: external_zod_namespaceObject.z.number().default(400).optional()
3091
+ }).optional(),
3092
+ grid: external_zod_namespaceObject.z.object({
3093
+ visible: external_zod_namespaceObject.z.boolean().default(false).optional(),
3094
+ gridColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.15)').optional(),
3095
+ gridWidth: external_zod_namespaceObject.z.number().default(0.5).optional()
3096
+ }).optional()
3097
+ });
3098
+ const zYBandAxis = zXBandAxis;
3099
+ const zXLinearAxis = external_zod_namespaceObject.z.object({
3100
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3101
+ min: external_zod_namespaceObject.z.number().optional(),
3102
+ max: external_zod_namespaceObject.z.number().optional(),
3103
+ nice: external_zod_namespaceObject.z.boolean().default(true).optional(),
3104
+ zero: external_zod_namespaceObject.z.boolean().default(true).optional(),
3105
+ inverse: external_zod_namespaceObject.z.boolean().default(false).optional(),
3106
+ label: external_zod_namespaceObject.z.object({
3107
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3108
+ labelColor: external_zod_namespaceObject.z.string().default('#797B85').optional(),
3109
+ labelFontSize: external_zod_namespaceObject.z.number().default(12).optional(),
3110
+ labelFontWeight: external_zod_namespaceObject.z.number().default(400).optional(),
3111
+ labelAngle: external_zod_namespaceObject.z.number().default(0).optional()
3112
+ }).optional(),
3113
+ line: external_zod_namespaceObject.z.object({
3114
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3115
+ lineColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.30)').optional(),
3116
+ lineWidth: external_zod_namespaceObject.z.number().default(1).optional()
3117
+ }).optional(),
3118
+ tick: external_zod_namespaceObject.z.object({
3119
+ visible: external_zod_namespaceObject.z.boolean().default(true).optional(),
3120
+ tickInside: external_zod_namespaceObject.z.boolean().default(false).optional(),
3121
+ tickColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.30)').optional(),
3122
+ tickSize: external_zod_namespaceObject.z.number().default(4).optional()
3123
+ }).optional(),
3124
+ title: external_zod_namespaceObject.z.object({
3125
+ visible: external_zod_namespaceObject.z.boolean().default(false).optional(),
3126
+ titleText: external_zod_namespaceObject.z.string().default('').optional(),
3127
+ titleColor: external_zod_namespaceObject.z.string().default('#646A73').optional(),
3128
+ titleFontSize: external_zod_namespaceObject.z.number().default(12).optional(),
3129
+ titleFontWeight: external_zod_namespaceObject.z.number().default(400).optional()
3130
+ }).optional(),
3131
+ grid: external_zod_namespaceObject.z.object({
3132
+ visible: external_zod_namespaceObject.z.boolean().default(false).optional(),
3133
+ gridColor: external_zod_namespaceObject.z.string().default('rgba(54, 65, 89, 0.15)').optional(),
3134
+ gridWidth: external_zod_namespaceObject.z.number().default(0.5).optional()
3135
+ }).optional()
3136
+ });
3137
+ const zYLinearAxis = zXLinearAxis;
3138
+ const zConfig = external_zod_namespaceObject.z.object({
3139
+ line: external_zod_namespaceObject.z.object({
3140
+ xAxis: zXBandAxis,
3141
+ yAxis: zYLinearAxis
3142
+ }).optional(),
3143
+ column: external_zod_namespaceObject.z.object({
3144
+ xAxis: zXBandAxis,
3145
+ yAxis: zYLinearAxis
3146
+ }).optional(),
3147
+ columnParallel: external_zod_namespaceObject.z.object({
3148
+ xAxis: zXBandAxis,
3149
+ yAxis: zYLinearAxis
3150
+ }).optional(),
3151
+ columnPercent: external_zod_namespaceObject.z.object({
3152
+ xAxis: zXBandAxis,
3153
+ yAxis: zYLinearAxis
3154
+ }).optional(),
3155
+ bar: external_zod_namespaceObject.z.object({
3156
+ xAxis: zXLinearAxis,
3157
+ yAxis: zYBandAxis
3158
+ }).optional(),
3159
+ barParallel: external_zod_namespaceObject.z.object({
3160
+ xAxis: zXLinearAxis,
3161
+ yAxis: zYBandAxis
3162
+ }).optional(),
3163
+ barPercent: external_zod_namespaceObject.z.object({
3164
+ xAxis: zXLinearAxis,
3165
+ yAxis: zYBandAxis
3166
+ }).optional(),
3167
+ area: external_zod_namespaceObject.z.object({
3168
+ xAxis: zXBandAxis,
3169
+ yAxis: zYLinearAxis
3170
+ }).optional(),
3171
+ areaPercent: external_zod_namespaceObject.z.object({
3172
+ xAxis: zXBandAxis,
3173
+ yAxis: zYLinearAxis
3174
+ }).optional(),
3175
+ pie: external_zod_namespaceObject.z.object({}).optional(),
3176
+ donut: external_zod_namespaceObject.z.object({}).optional(),
3177
+ rose: external_zod_namespaceObject.z.object({}).optional(),
3178
+ dualAxis: external_zod_namespaceObject.z.object({}).optional(),
3179
+ table: external_zod_namespaceObject.z.object({}).optional(),
3180
+ pivotTable: external_zod_namespaceObject.z.object({}).optional()
3181
+ });
2035
3182
  const zCustomThemeConfig = external_zod_namespaceObject.z.object({
2036
- baseConfig: zBaseConfig.optional()
3183
+ baseConfig: zBaseConfig.optional(),
3184
+ config: zConfig.optional()
2037
3185
  });
2038
3186
  const zCustomTheme = external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), zCustomThemeConfig).optional();
2039
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
+ });
2040
3239
  exports.Builder = __webpack_exports__.Builder;
3240
+ exports.FoldMeasureId = __webpack_exports__.FoldMeasureId;
3241
+ exports.FoldMeasureName = __webpack_exports__.FoldMeasureName;
3242
+ exports.FoldMeasureValue = __webpack_exports__.FoldMeasureValue;
3243
+ exports.ORIGINAL_DATA = __webpack_exports__.ORIGINAL_DATA;
3244
+ exports.Separator = __webpack_exports__.Separator;
3245
+ exports.UnfoldDimensionGroup = __webpack_exports__.UnfoldDimensionGroup;
2041
3246
  exports.areaAdvancedPipeline = __webpack_exports__.areaAdvancedPipeline;
2042
3247
  exports.areaPercentAdvancedPipeline = __webpack_exports__.areaPercentAdvancedPipeline;
2043
3248
  exports.areaPercentSpecPipeline = __webpack_exports__.areaPercentSpecPipeline;
@@ -2081,10 +3286,13 @@ exports.registerDarkTheme = __webpack_exports__.registerDarkTheme;
2081
3286
  exports.registerLightTheme = __webpack_exports__.registerLightTheme;
2082
3287
  exports.registerLine = __webpack_exports__.registerLine;
2083
3288
  exports.unfoldDimensions = __webpack_exports__.unfoldDimensions;
3289
+ exports.zAxis = __webpack_exports__.zAxis;
2084
3290
  exports.zBackgroundColor = __webpack_exports__.zBackgroundColor;
3291
+ exports.zBarStyle = __webpack_exports__.zBarStyle;
2085
3292
  exports.zBaseConfig = __webpack_exports__.zBaseConfig;
2086
3293
  exports.zChartType = __webpack_exports__.zChartType;
2087
3294
  exports.zColor = __webpack_exports__.zColor;
3295
+ exports.zConfig = __webpack_exports__.zConfig;
2088
3296
  exports.zCustomTheme = __webpack_exports__.zCustomTheme;
2089
3297
  exports.zCustomThemeConfig = __webpack_exports__.zCustomThemeConfig;
2090
3298
  exports.zDataset = __webpack_exports__.zDataset;
@@ -2096,14 +3304,25 @@ exports.zEncoding = __webpack_exports__.zEncoding;
2096
3304
  exports.zFoldInfo = __webpack_exports__.zFoldInfo;
2097
3305
  exports.zLabel = __webpack_exports__.zLabel;
2098
3306
  exports.zLegend = __webpack_exports__.zLegend;
3307
+ exports.zMarkStyle = __webpack_exports__.zMarkStyle;
2099
3308
  exports.zMeasure = __webpack_exports__.zMeasure;
2100
3309
  exports.zMeasureGroup = __webpack_exports__.zMeasureGroup;
2101
3310
  exports.zMeasures = __webpack_exports__.zMeasures;
2102
3311
  exports.zTheme = __webpack_exports__.zTheme;
2103
3312
  exports.zTooltip = __webpack_exports__.zTooltip;
2104
3313
  exports.zUnfoldInfo = __webpack_exports__.zUnfoldInfo;
3314
+ exports.zXBandAxis = __webpack_exports__.zXBandAxis;
3315
+ exports.zXLinearAxis = __webpack_exports__.zXLinearAxis;
3316
+ exports.zYBandAxis = __webpack_exports__.zYBandAxis;
3317
+ exports.zYLinearAxis = __webpack_exports__.zYLinearAxis;
2105
3318
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
2106
3319
  "Builder",
3320
+ "FoldMeasureId",
3321
+ "FoldMeasureName",
3322
+ "FoldMeasureValue",
3323
+ "ORIGINAL_DATA",
3324
+ "Separator",
3325
+ "UnfoldDimensionGroup",
2107
3326
  "areaAdvancedPipeline",
2108
3327
  "areaPercentAdvancedPipeline",
2109
3328
  "areaPercentSpecPipeline",
@@ -2147,10 +3366,13 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
2147
3366
  "registerLightTheme",
2148
3367
  "registerLine",
2149
3368
  "unfoldDimensions",
3369
+ "zAxis",
2150
3370
  "zBackgroundColor",
3371
+ "zBarStyle",
2151
3372
  "zBaseConfig",
2152
3373
  "zChartType",
2153
3374
  "zColor",
3375
+ "zConfig",
2154
3376
  "zCustomTheme",
2155
3377
  "zCustomThemeConfig",
2156
3378
  "zDataset",
@@ -2162,12 +3384,17 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
2162
3384
  "zFoldInfo",
2163
3385
  "zLabel",
2164
3386
  "zLegend",
3387
+ "zMarkStyle",
2165
3388
  "zMeasure",
2166
3389
  "zMeasureGroup",
2167
3390
  "zMeasures",
2168
3391
  "zTheme",
2169
3392
  "zTooltip",
2170
- "zUnfoldInfo"
3393
+ "zUnfoldInfo",
3394
+ "zXBandAxis",
3395
+ "zXLinearAxis",
3396
+ "zYBandAxis",
3397
+ "zYLinearAxis"
2171
3398
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
2172
3399
  Object.defineProperty(exports, '__esModule', {
2173
3400
  value: true