@visactor/vseed 0.0.3 → 0.0.5

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 (113) hide show
  1. package/dist/builder/builder/buildAdvanced.d.ts +1 -1
  2. package/dist/builder/builder/buildSpec.d.ts +1 -1
  3. package/dist/builder/builder/builder.d.ts +387 -7
  4. package/dist/builder/register/all.d.ts +1 -0
  5. package/dist/builder/register/index.d.ts +3 -1
  6. package/dist/builder/register/theme.d.ts +4 -0
  7. package/dist/dataReshape/dataReshapeFor1D1M.d.ts +1 -1
  8. package/dist/dataReshape/dataReshapeFor2D1M.d.ts +1 -1
  9. package/dist/dataReshape/foldMeasures.d.ts +2 -2
  10. package/dist/dataReshape/unfoldDimensions.d.ts +2 -2
  11. package/dist/index.cjs +691 -265
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.js +446 -80
  15. package/dist/index.js.map +1 -0
  16. package/dist/pipeline/advanced/pipeline/area.d.ts +1 -1
  17. package/dist/pipeline/advanced/pipeline/areaPercent.d.ts +1 -1
  18. package/dist/pipeline/advanced/pipeline/bar.d.ts +1 -1
  19. package/dist/pipeline/advanced/pipeline/barParallel.d.ts +1 -1
  20. package/dist/pipeline/advanced/pipeline/barPercent.d.ts +1 -1
  21. package/dist/pipeline/advanced/pipeline/column.d.ts +1 -1
  22. package/dist/pipeline/advanced/pipeline/columnParallel.d.ts +1 -1
  23. package/dist/pipeline/advanced/pipeline/columnPercent.d.ts +1 -1
  24. package/dist/pipeline/advanced/pipeline/line.d.ts +1 -1
  25. package/dist/pipeline/advanced/pipes/baseConfig/baseConfig.d.ts +3 -0
  26. package/dist/pipeline/advanced/pipes/baseConfig/index.d.ts +1 -0
  27. package/dist/pipeline/advanced/pipes/encoding/encodingCartesian.d.ts +1 -1
  28. package/dist/pipeline/advanced/pipes/index.d.ts +2 -0
  29. package/dist/pipeline/advanced/pipes/init/autoDimensions.d.ts +2 -0
  30. package/dist/pipeline/advanced/pipes/init/autoMeasures.d.ts +2 -0
  31. package/dist/pipeline/advanced/pipes/init/index.d.ts +2 -0
  32. package/dist/pipeline/advanced/pipes/init/initAdvancedVSeed.d.ts +1 -1
  33. package/dist/pipeline/advanced/pipes/init/utils.d.ts +1 -0
  34. package/dist/pipeline/advanced/pipes/reshape/reshapeTo1D1M.d.ts +1 -1
  35. package/dist/pipeline/advanced/pipes/reshape/reshapeTo2D1M.d.ts +1 -1
  36. package/dist/pipeline/advanced/pipes/theme/index.d.ts +1 -0
  37. package/dist/pipeline/advanced/pipes/theme/theme.d.ts +3 -0
  38. package/dist/pipeline/spec/pipeline/area.d.ts +1 -1
  39. package/dist/pipeline/spec/pipeline/areaPercent.d.ts +1 -1
  40. package/dist/pipeline/spec/pipeline/bar.d.ts +1 -1
  41. package/dist/pipeline/spec/pipeline/barParallel.d.ts +1 -1
  42. package/dist/pipeline/spec/pipeline/barPercent.d.ts +1 -1
  43. package/dist/pipeline/spec/pipeline/column.d.ts +1 -1
  44. package/dist/pipeline/spec/pipeline/columnParallel.d.ts +1 -1
  45. package/dist/pipeline/spec/pipeline/columnPercent.d.ts +1 -1
  46. package/dist/pipeline/spec/pipeline/line.d.ts +1 -1
  47. package/dist/pipeline/spec/pipes/axes/xBand.d.ts +1 -1
  48. package/dist/pipeline/spec/pipes/axes/xLinear.d.ts +1 -1
  49. package/dist/pipeline/spec/pipes/axes/yBand.d.ts +1 -1
  50. package/dist/pipeline/spec/pipes/axes/yLinear.d.ts +1 -1
  51. package/dist/pipeline/spec/pipes/backgroundColor/background.d.ts +2 -0
  52. package/dist/pipeline/spec/pipes/backgroundColor/index.d.ts +1 -0
  53. package/dist/pipeline/spec/pipes/color/color.d.ts +2 -0
  54. package/dist/pipeline/spec/pipes/color/index.d.ts +1 -0
  55. package/dist/pipeline/spec/pipes/dataset/dataset.d.ts +1 -1
  56. package/dist/pipeline/spec/pipes/index.d.ts +5 -0
  57. package/dist/pipeline/spec/pipes/init/area.d.ts +1 -1
  58. package/dist/pipeline/spec/pipes/init/bar.d.ts +1 -1
  59. package/dist/pipeline/spec/pipes/init/barParallel.d.ts +1 -1
  60. package/dist/pipeline/spec/pipes/init/column.d.ts +1 -1
  61. package/dist/pipeline/spec/pipes/init/columnParallel.d.ts +1 -1
  62. package/dist/pipeline/spec/pipes/init/line.d.ts +1 -1
  63. package/dist/pipeline/spec/pipes/label/index.d.ts +1 -0
  64. package/dist/pipeline/spec/pipes/label/label.d.ts +2 -0
  65. package/dist/pipeline/spec/pipes/legend/index.d.ts +1 -0
  66. package/dist/pipeline/spec/pipes/legend/legend.d.ts +2 -0
  67. package/dist/pipeline/spec/pipes/percent/percent.d.ts +1 -1
  68. package/dist/pipeline/spec/pipes/stack/stack.d.ts +1 -1
  69. package/dist/pipeline/spec/pipes/tooltip/index.d.ts +1 -0
  70. package/dist/pipeline/spec/pipes/tooltip/tooltip.d.ts +2 -0
  71. package/dist/pipeline/utils/chatType.d.ts +3 -0
  72. package/dist/pipeline/utils/index.d.ts +1 -0
  73. package/dist/pipeline/utils/pipeline.d.ts +1 -1
  74. package/dist/theme/dark.d.ts +2 -0
  75. package/dist/theme/index.d.ts +2 -0
  76. package/dist/theme/light.d.ts +2 -0
  77. package/dist/types/{properties/advancedVSeed.d.ts → advancedVSeed.d.ts} +53 -8
  78. package/dist/types/builder/builder.d.ts +10 -3
  79. package/dist/types/chartType/area/area.d.ts +38 -3
  80. package/dist/types/chartType/areaPercent/areaPercent.d.ts +38 -3
  81. package/dist/types/chartType/bar/bar.d.ts +38 -3
  82. package/dist/types/chartType/barParallel/barParallel.d.ts +38 -3
  83. package/dist/types/chartType/barPercent/barPercent.d.ts +38 -3
  84. package/dist/types/chartType/column/column.d.ts +38 -3
  85. package/dist/types/chartType/columnParallel/columnParallel.d.ts +38 -3
  86. package/dist/types/chartType/columnPercent/columnPercent.d.ts +38 -3
  87. package/dist/types/chartType/donut/donut.d.ts +38 -3
  88. package/dist/types/chartType/dualAxis/dualAxis.d.ts +38 -3
  89. package/dist/types/chartType/index.d.ts +1 -1
  90. package/dist/types/chartType/line/line.d.ts +38 -3
  91. package/dist/types/chartType/pie/pie.d.ts +38 -3
  92. package/dist/types/chartType/pivotTable/pivotTable.d.ts +18 -3
  93. package/dist/types/chartType/rose/rose.d.ts +38 -3
  94. package/dist/types/chartType/table/table.d.ts +18 -3
  95. package/dist/types/index.d.ts +2 -0
  96. package/dist/types/pipeline/advancedVSeed/advancedVSeed.d.ts +4 -1
  97. package/dist/types/pipeline/spec/spec.d.ts +2 -1
  98. package/dist/types/properties/baseConfig/backgroundColor.d.ts +8 -0
  99. package/dist/types/properties/baseConfig/baseConfig.d.ts +44 -0
  100. package/dist/types/properties/baseConfig/color.d.ts +23 -0
  101. package/dist/types/properties/baseConfig/index.d.ts +12 -0
  102. package/dist/types/properties/baseConfig/label.d.ts +11 -0
  103. package/dist/types/properties/baseConfig/legend.d.ts +11 -0
  104. package/dist/types/properties/baseConfig/tooltip.d.ts +11 -0
  105. package/dist/types/properties/chartType/zChartType.d.ts +8 -8
  106. package/dist/types/properties/index.d.ts +2 -2
  107. package/dist/types/properties/theme/customTheme.d.ts +49 -0
  108. package/dist/types/properties/theme/index.d.ts +4 -0
  109. package/dist/types/properties/theme/theme.d.ts +15 -0
  110. package/dist/types/{properties/vseed.d.ts → vseed.d.ts} +25 -18
  111. package/package.json +2 -1
  112. package/dist/types/chartType/vseedDSL.d.ts +0 -16
  113. /package/dist/builder/register/{register.d.ts → chartType.d.ts} +0 -0
package/dist/index.cjs CHANGED
@@ -24,127 +24,69 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- registerBar: ()=>registerBar,
28
- dataReshapeFor1D1M: ()=>dataReshapeFor1D1M,
27
+ columnPercentSpecPipeline: ()=>columnPercentSpecPipeline,
28
+ isVChart: ()=>isVChart,
29
+ registerAll: ()=>all_registerAll,
29
30
  execPipeline: ()=>execPipeline,
30
31
  areaSpecPipeline: ()=>areaSpecPipeline,
31
- zDataset: ()=>zDataset,
32
+ registerCustomTheme: ()=>registerCustomTheme,
33
+ registerLine: ()=>registerLine,
34
+ zColor: ()=>zColor,
32
35
  zMeasureGroup: ()=>zMeasureGroup,
33
- barPercentAdvancedPipeline: ()=>barPercentAdvancedPipeline,
34
- areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
35
36
  zUnfoldInfo: ()=>zUnfoldInfo,
36
- zVSeed: ()=>zVSeed,
37
37
  zMeasures: ()=>zMeasures,
38
- zMeasure: ()=>zMeasure,
39
- zDimensions: ()=>zDimensions,
38
+ darkTheme: ()=>darkTheme,
40
39
  columnPercentAdvancedPipeline: ()=>columnPercentAdvancedPipeline,
41
- zEncoding: ()=>zEncoding,
42
- VSeedJSONSchema: ()=>VSeedJSONSchema,
40
+ isVTable: ()=>isVTable,
43
41
  columnSpecPipeline: ()=>columnSpecPipeline,
44
- zAdvancedVSeed: ()=>zAdvancedVSeed,
42
+ zFoldInfo: ()=>zFoldInfo,
45
43
  zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
44
+ columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
45
+ columnAdvancedPipeline: ()=>columnAdvancedPipeline,
46
+ zLabel: ()=>zLabel,
47
+ registerColumn: ()=>registerColumn,
48
+ zDimension: ()=>zDimension,
49
+ lightTheme: ()=>lightTheme,
50
+ registerColumnParallel: ()=>registerColumnParallel,
51
+ zCustomTheme: ()=>zCustomTheme,
52
+ dataReshapeFor1D1M: ()=>dataReshapeFor1D1M,
53
+ registerArea: ()=>registerArea,
54
+ zDataset: ()=>zDataset,
55
+ barPercentAdvancedPipeline: ()=>barPercentAdvancedPipeline,
56
+ areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
57
+ zBackgroundColor: ()=>zBackgroundColor,
58
+ registerBarParallel: ()=>registerBarParallel,
59
+ zMeasure: ()=>zMeasure,
60
+ zDimensions: ()=>zDimensions,
61
+ zLegend: ()=>zLegend,
62
+ zTheme: ()=>zTheme,
63
+ zEncoding: ()=>zEncoding,
64
+ registerAreaPercent: ()=>registerAreaPercent,
46
65
  zDatum: ()=>zDatum,
47
- zFoldInfo: ()=>zFoldInfo,
48
66
  barAdvancedPipeline: ()=>barAdvancedPipeline,
67
+ zCustomThemeConfig: ()=>zCustomThemeConfig,
49
68
  columnParallelAdvancedPipeline: ()=>columnParallelAdvancedPipeline,
50
- columnAdvancedPipeline: ()=>columnAdvancedPipeline,
51
- columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
52
- dataReshapeFor2D1M: ()=>dataReshapeFor2D1M,
69
+ registerColumnPercent: ()=>registerColumnPercent,
70
+ registerBarPercent: ()=>registerBarPercent,
53
71
  foldMeasures: ()=>foldMeasures,
54
- registerColumn: ()=>registerColumn,
72
+ dataReshapeFor2D1M: ()=>dataReshapeFor2D1M,
73
+ registerLightTheme: ()=>registerLightTheme,
74
+ registerDarkTheme: ()=>registerDarkTheme,
55
75
  zChartType: ()=>zChartType,
56
- zDimension: ()=>zDimension,
57
76
  barParallelAdvancedPipeline: ()=>barParallelAdvancedPipeline,
58
77
  barPercentSpecPipeline: ()=>barPercentSpecPipeline,
59
78
  lineAdvancedPipeline: ()=>lineAdvancedPipeline,
79
+ zTooltip: ()=>zTooltip,
60
80
  barSpecPipeline: ()=>barSpecPipeline,
61
81
  lineSpecPipeline: ()=>lineSpecPipeline,
82
+ zBaseConfig: ()=>zBaseConfig,
62
83
  unfoldDimensions: ()=>unfoldDimensions,
63
84
  areaAdvancedPipeline: ()=>areaAdvancedPipeline,
64
85
  areaPercentSpecPipeline: ()=>areaPercentSpecPipeline,
65
86
  Builder: ()=>Builder,
66
87
  barParallelSpecPipeline: ()=>barParallelSpecPipeline,
67
- columnPercentSpecPipeline: ()=>columnPercentSpecPipeline,
68
- registerAll: ()=>registerAll
88
+ registerBar: ()=>registerBar
69
89
  });
70
- const execPipeline = (pipeline, context, initialValue = {})=>{
71
- const result = pipeline.reduce((prev, cur)=>cur(prev, context), initialValue);
72
- return result;
73
- };
74
- const buildAdvanced = (builder)=>{
75
- const { chartType } = builder.vseed;
76
- if (!chartType) throw new Error('chartType is nil in buildAdvanced');
77
- const pipeline = builder.getAdvancedPipeline(chartType);
78
- if (!pipeline) throw new Error(`no advanced pipeline for chartType ${chartType}`);
79
- const context = {
80
- vseed: builder.vseed
81
- };
82
- try {
83
- return execPipeline(pipeline, context);
84
- } catch (e) {
85
- console.error(e);
86
- throw new Error("buildAdvanced error, see error info in console");
87
- }
88
- };
89
- const buildSpec = (builder, advancedVSeed)=>{
90
- const { chartType } = builder.vseed;
91
- if (!chartType) throw new Error('chartType is nil in buildSpec');
92
- const pipeline = builder.getSpecPipeline(chartType);
93
- if (!pipeline) throw new Error(`no spec pipeline for chartType ${chartType}`);
94
- const context = {
95
- vseed: builder.vseed,
96
- advancedVSeed
97
- };
98
- try {
99
- return execPipeline(pipeline, context);
100
- } catch (e) {
101
- console.error(e);
102
- throw new Error("buildSpec error, see error info in console");
103
- }
104
- };
105
- const build = (builder)=>{
106
- const advancedVSeed = builder.buildAdvanced();
107
- console.log('debug advancedVSeed', advancedVSeed);
108
- if (!advancedVSeed) throw new Error('advancedVSeed is null');
109
- const spec = builder.buildSpec(advancedVSeed);
110
- console.log('debug spec', spec);
111
- return spec;
112
- };
113
- class Builder {
114
- _vseed;
115
- _advancedVSeed;
116
- static _advancedPipelineMap = {};
117
- static _specPipelineMap = {};
118
- static from = (vseed)=>new Builder(vseed);
119
- constructor(vseed){
120
- this._vseed = vseed;
121
- this._advancedVSeed = null;
122
- }
123
- build = ()=>build(this);
124
- buildSpec = (advanced)=>buildSpec(this, advanced);
125
- buildAdvanced = ()=>buildAdvanced(this);
126
- getAdvancedPipeline = (chartType)=>Builder._advancedPipelineMap[chartType];
127
- getSpecPipeline = (chartType)=>Builder._specPipelineMap[chartType];
128
- get vseed() {
129
- return this._vseed;
130
- }
131
- set vseed(value) {
132
- this._vseed = value;
133
- }
134
- get advancedVSeed() {
135
- return this._advancedVSeed;
136
- }
137
- set advancedVSeed(value) {
138
- this._advancedVSeed = value;
139
- }
140
- }
141
- const initAdvancedVSeed = (advancedVSeed, context)=>{
142
- const { vseed } = context;
143
- return {
144
- ...advancedVSeed,
145
- chartType: vseed.chartType
146
- };
147
- };
148
90
  const FoldMeasureName = '__MeaName__';
149
91
  const FoldMeasureValue = '__MeaValue__';
150
92
  const FoldMeasureId = '__MeaId__';
@@ -270,7 +212,8 @@ const reshapeTo2D1M = (advancedVSeed, context)=>{
270
212
  ...advancedVSeed
271
213
  };
272
214
  const { vseed } = context;
273
- const { dimensions, measures, dataset } = vseed;
215
+ const { dataset } = vseed;
216
+ const { dimensions, measures } = advancedVSeed;
274
217
  if (!measures || !dimensions || !dataset) return result;
275
218
  if (0 === measures.length) throw new Error('measures can not be empty');
276
219
  const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, dimensions, measures);
@@ -351,25 +294,234 @@ const encodingYX = (advancedVSeed)=>{
351
294
  encoding
352
295
  };
353
296
  };
297
+ const initAdvancedVSeed = (advancedVSeed, context)=>{
298
+ const { vseed } = context;
299
+ const { chartType = 'table' } = vseed;
300
+ return {
301
+ ...advancedVSeed,
302
+ chartType
303
+ };
304
+ };
305
+ const autoMeasures = (advancedVSeed, context)=>{
306
+ const result = {
307
+ ...advancedVSeed
308
+ };
309
+ const { vseed } = context;
310
+ const { measures, dataset } = vseed;
311
+ if (!dataset) throw new Error('dataset is required');
312
+ if (0 === dataset.length) return result;
313
+ if (measures) {
314
+ result.measures = measures;
315
+ return result;
316
+ }
317
+ const top100dataset = dataset.slice(0, 100);
318
+ const sample = top100dataset.reduce((prev, cur)=>({
319
+ ...prev,
320
+ ...cur
321
+ }), {});
322
+ result.measures = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'number' == typeof item[key]) && ![
323
+ '',
324
+ null,
325
+ void 0
326
+ ].includes(key)).map((measure)=>({
327
+ id: measure,
328
+ alias: measure
329
+ }));
330
+ return result;
331
+ };
332
+ const autoDimensions = (advancedVSeed, context)=>{
333
+ const result = {
334
+ ...advancedVSeed
335
+ };
336
+ const { vseed } = context;
337
+ const { dimensions, dataset } = vseed;
338
+ const { measures = [] } = advancedVSeed;
339
+ if (!dataset) throw new Error('dataset is required');
340
+ if (0 === dataset.length) return result;
341
+ if (dimensions) {
342
+ result.dimensions = dimensions;
343
+ return result;
344
+ }
345
+ const top100dataset = dataset.slice(0, 100);
346
+ const sample = top100dataset.reduce((prev, cur)=>({
347
+ ...prev,
348
+ ...cur
349
+ }), {});
350
+ result.dimensions = Object.keys(sample).filter((key)=>top100dataset.some((item)=>'string' == typeof item[key]) && ![
351
+ '',
352
+ null,
353
+ void 0
354
+ ].includes(key) && !measures.some((measure)=>measure.id === key)).map((dim)=>({
355
+ id: dim,
356
+ alias: dim,
357
+ location: 'dimension'
358
+ }));
359
+ return result;
360
+ };
361
+ const external_remeda_namespaceObject = require("remeda");
362
+ const vchartBaseConfig = (advancedVSeed, context)=>{
363
+ const { vseed } = context;
364
+ const result = {
365
+ ...advancedVSeed
366
+ };
367
+ const config = (0, external_remeda_namespaceObject.pick)(vseed, [
368
+ 'backgroundColor',
369
+ 'color',
370
+ 'label',
371
+ 'legend',
372
+ 'tooltip'
373
+ ]);
374
+ result.baseConfig = {
375
+ vchart: {
376
+ ...config
377
+ }
378
+ };
379
+ return result;
380
+ };
381
+ const vchartTheme = (advancedVSeed, context)=>{
382
+ const { customTheme, vseed } = context;
383
+ const { theme = 'light' } = vseed;
384
+ const result = {
385
+ ...advancedVSeed
386
+ };
387
+ if (!customTheme || !customTheme[theme]) return result;
388
+ const config = result.baseConfig?.vchart;
389
+ const themeConfig = customTheme?.[theme].baseConfig?.vchart;
390
+ if (!themeConfig || !config) return result;
391
+ const mergedConfig = (0, external_remeda_namespaceObject.mergeDeep)(themeConfig, (0, external_remeda_namespaceObject.clone)(config));
392
+ result.baseConfig = {
393
+ vchart: mergedConfig
394
+ };
395
+ return result;
396
+ };
397
+ const lineAdvancedPipeline = [
398
+ initAdvancedVSeed,
399
+ autoMeasures,
400
+ autoDimensions,
401
+ reshapeTo2D1M,
402
+ encodingXY,
403
+ vchartBaseConfig,
404
+ vchartTheme
405
+ ];
406
+ const barAdvancedPipeline = [
407
+ initAdvancedVSeed,
408
+ autoMeasures,
409
+ autoDimensions,
410
+ reshapeTo2D1M,
411
+ encodingYX,
412
+ vchartBaseConfig,
413
+ vchartTheme
414
+ ];
415
+ const barParallelAdvancedPipeline = [
416
+ initAdvancedVSeed,
417
+ autoMeasures,
418
+ autoDimensions,
419
+ reshapeTo2D1M,
420
+ encodingYX,
421
+ vchartBaseConfig,
422
+ vchartTheme
423
+ ];
424
+ const barPercentAdvancedPipeline = [
425
+ initAdvancedVSeed,
426
+ autoMeasures,
427
+ autoDimensions,
428
+ reshapeTo2D1M,
429
+ encodingYX,
430
+ vchartBaseConfig,
431
+ vchartTheme
432
+ ];
354
433
  const columnAdvancedPipeline = [
355
434
  initAdvancedVSeed,
435
+ autoMeasures,
436
+ autoDimensions,
356
437
  reshapeTo2D1M,
357
- encodingXY
438
+ encodingXY,
439
+ vchartBaseConfig,
440
+ vchartTheme
358
441
  ];
359
- const initColumn = (spec, context)=>{
442
+ const columnParallelAdvancedPipeline = [
443
+ initAdvancedVSeed,
444
+ autoMeasures,
445
+ autoDimensions,
446
+ reshapeTo2D1M,
447
+ encodingXY,
448
+ vchartBaseConfig,
449
+ vchartTheme
450
+ ];
451
+ const columnPercentAdvancedPipeline = [
452
+ initAdvancedVSeed,
453
+ autoMeasures,
454
+ autoDimensions,
455
+ reshapeTo2D1M,
456
+ encodingXY,
457
+ vchartBaseConfig,
458
+ vchartTheme
459
+ ];
460
+ const areaAdvancedPipeline = [
461
+ initAdvancedVSeed,
462
+ autoMeasures,
463
+ autoDimensions,
464
+ reshapeTo2D1M,
465
+ encodingXY,
466
+ vchartBaseConfig,
467
+ vchartTheme
468
+ ];
469
+ const areaPercentAdvancedPipeline = [
470
+ initAdvancedVSeed,
471
+ autoMeasures,
472
+ autoDimensions,
473
+ reshapeTo2D1M,
474
+ encodingXY,
475
+ vchartBaseConfig,
476
+ vchartTheme
477
+ ];
478
+ const initLine = (spec, context)=>{
360
479
  const result = {
361
480
  ...spec
362
481
  };
363
482
  const { advancedVSeed } = context;
364
483
  const { encoding } = advancedVSeed;
365
- result.type = 'bar';
484
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
485
+ result.type = 'line';
366
486
  result.direction = 'vertical';
367
- result.xField = encoding[0].x?.[0];
368
- result.yField = encoding[0].y?.[0];
369
- result.seriesField = encoding[0].group?.[0];
487
+ result.xField = encoding[0].x[0];
488
+ result.yField = encoding[0].y[0];
489
+ result.seriesField = encoding[0].group[0];
370
490
  result.padding = 0;
371
491
  return result;
372
492
  };
493
+ const color_color = (spec, context)=>{
494
+ const result = {
495
+ ...spec
496
+ };
497
+ const { advancedVSeed } = context;
498
+ const { datasetReshapeInfo } = advancedVSeed;
499
+ const { unfoldInfo } = datasetReshapeInfo;
500
+ const baseConfig = advancedVSeed.baseConfig.vchart;
501
+ if (!baseConfig || !baseConfig.color) return result;
502
+ const { color } = baseConfig;
503
+ const { colorScheme, colorMapping } = color;
504
+ result.color = {
505
+ type: 'ordinal',
506
+ domain: unfoldInfo.colorItems,
507
+ range: colorScheme,
508
+ specified: colorMapping
509
+ };
510
+ return result;
511
+ };
512
+ const background_backgroundColor = (spec, context)=>{
513
+ const result = {
514
+ ...spec
515
+ };
516
+ const { advancedVSeed } = context;
517
+ const { baseConfig } = advancedVSeed;
518
+ if (!baseConfig?.vchart) return result;
519
+ const { backgroundColor } = baseConfig.vchart;
520
+ return {
521
+ ...result,
522
+ background: backgroundColor
523
+ };
524
+ };
373
525
  const dataset_dataset = (spec, context)=>{
374
526
  const { advancedVSeed } = context;
375
527
  return {
@@ -409,16 +561,138 @@ const yLinear = (spec)=>{
409
561
  ];
410
562
  return result;
411
563
  };
564
+ const label_label = (spec, context)=>{
565
+ const result = {
566
+ ...spec
567
+ };
568
+ const { advancedVSeed } = context;
569
+ const baseConfig = advancedVSeed.baseConfig.vchart;
570
+ if (!baseConfig || !baseConfig.label) return result;
571
+ const { label } = baseConfig;
572
+ const { enable } = label;
573
+ result.label = {
574
+ visible: enable
575
+ };
576
+ return result;
577
+ };
578
+ const defaultTooltip = {
579
+ enable: true
580
+ };
581
+ const tooltip_tooltip = (spec, context)=>{
582
+ const result = {
583
+ ...spec
584
+ };
585
+ const { advancedVSeed } = context;
586
+ const baseConfig = advancedVSeed.baseConfig.vchart;
587
+ const { tooltip = defaultTooltip } = baseConfig;
588
+ const { enable } = tooltip;
589
+ result.tooltip = {
590
+ visible: enable
591
+ };
592
+ return result;
593
+ };
594
+ const defaultLegend = {
595
+ enable: true
596
+ };
597
+ const legend_legend = (spec, context)=>{
598
+ const result = {
599
+ ...spec
600
+ };
601
+ const { advancedVSeed } = context;
602
+ const baseConfig = advancedVSeed.baseConfig.vchart;
603
+ if (!baseConfig || !baseConfig.legend) return result;
604
+ const { legend = defaultLegend } = baseConfig;
605
+ const { enable } = legend;
606
+ result.legends = {
607
+ visible: enable
608
+ };
609
+ return result;
610
+ };
611
+ const lineSpecPipeline = [
612
+ initLine,
613
+ color_color,
614
+ background_backgroundColor,
615
+ dataset_dataset,
616
+ xBand,
617
+ yLinear,
618
+ label_label,
619
+ tooltip_tooltip,
620
+ legend_legend
621
+ ];
622
+ const initColumn = (spec, context)=>{
623
+ const result = {
624
+ ...spec
625
+ };
626
+ const { advancedVSeed } = context;
627
+ const { encoding } = advancedVSeed;
628
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
629
+ result.type = 'bar';
630
+ result.direction = 'vertical';
631
+ result.xField = encoding[0].x[0];
632
+ result.yField = encoding[0].y[0];
633
+ result.seriesField = encoding[0].group[0];
634
+ result.padding = 0;
635
+ return result;
636
+ };
412
637
  const columnSpecPipeline = [
413
638
  initColumn,
639
+ color_color,
640
+ background_backgroundColor,
414
641
  dataset_dataset,
415
642
  xBand,
416
- yLinear
643
+ yLinear,
644
+ label_label,
645
+ tooltip_tooltip,
646
+ legend_legend
417
647
  ];
418
- const barAdvancedPipeline = [
419
- initAdvancedVSeed,
420
- reshapeTo2D1M,
421
- encodingYX
648
+ const initColumnParallel = (spec, context)=>{
649
+ const result = {
650
+ ...spec
651
+ };
652
+ const { advancedVSeed } = context;
653
+ const { encoding, datasetReshapeInfo } = advancedVSeed;
654
+ const { unfoldInfo } = datasetReshapeInfo;
655
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
656
+ result.type = 'bar';
657
+ result.direction = 'vertical';
658
+ result.xField = [
659
+ encoding[0].x[0],
660
+ unfoldInfo.groupName
661
+ ];
662
+ result.yField = encoding[0].y[0];
663
+ result.seriesField = encoding[0].group[0];
664
+ result.padding = 0;
665
+ return result;
666
+ };
667
+ const columnParallelSpecPipeline = [
668
+ initColumnParallel,
669
+ color_color,
670
+ background_backgroundColor,
671
+ dataset_dataset,
672
+ xBand,
673
+ yLinear,
674
+ label_label,
675
+ tooltip_tooltip,
676
+ legend_legend
677
+ ];
678
+ const percent = (spec, context)=>{
679
+ const result = {
680
+ ...spec
681
+ };
682
+ result.percent = true;
683
+ return result;
684
+ };
685
+ const columnPercentSpecPipeline = [
686
+ initColumn,
687
+ color_color,
688
+ background_backgroundColor,
689
+ percent,
690
+ dataset_dataset,
691
+ xBand,
692
+ yLinear,
693
+ label_label,
694
+ tooltip_tooltip,
695
+ legend_legend
422
696
  ];
423
697
  const initBar = (spec, context)=>{
424
698
  const result = {
@@ -426,6 +700,7 @@ const initBar = (spec, context)=>{
426
700
  };
427
701
  const { advancedVSeed } = context;
428
702
  const { encoding } = advancedVSeed;
703
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
429
704
  result.type = 'bar';
430
705
  result.direction = 'horizontal';
431
706
  result.yField = encoding[0].y?.[0];
@@ -466,39 +741,56 @@ const yBand = (spec)=>{
466
741
  };
467
742
  const barSpecPipeline = [
468
743
  initBar,
744
+ color_color,
745
+ background_backgroundColor,
469
746
  dataset_dataset,
470
747
  xLinear,
471
- yBand
472
- ];
473
- const lineAdvancedPipeline = [
474
- initAdvancedVSeed,
475
- reshapeTo2D1M,
476
- encodingXY
748
+ yBand,
749
+ label_label,
750
+ tooltip_tooltip,
751
+ legend_legend
477
752
  ];
478
- const initLine = (spec, context)=>{
753
+ const initBarParallel = (spec, context)=>{
479
754
  const result = {
480
755
  ...spec
481
756
  };
482
757
  const { advancedVSeed } = context;
483
- const { encoding } = advancedVSeed;
484
- result.type = 'line';
485
- result.direction = 'vertical';
486
- result.xField = encoding[0].x?.[0];
487
- result.yField = encoding[0].y?.[0];
488
- result.seriesField = encoding[0].group?.[0];
758
+ const { encoding, datasetReshapeInfo } = advancedVSeed;
759
+ const { unfoldInfo } = datasetReshapeInfo;
760
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
761
+ result.type = 'bar';
762
+ result.direction = 'horizontal';
763
+ result.yField = [
764
+ encoding[0].y[0],
765
+ unfoldInfo.groupName
766
+ ];
767
+ result.xField = encoding[0].x[0];
768
+ result.seriesField = encoding[0].group[0];
489
769
  result.padding = 0;
490
770
  return result;
491
771
  };
492
- const lineSpecPipeline = [
493
- initLine,
772
+ const barParallelSpecPipeline = [
773
+ initBarParallel,
774
+ color_color,
775
+ background_backgroundColor,
494
776
  dataset_dataset,
495
- xBand,
496
- yLinear
777
+ xLinear,
778
+ yBand,
779
+ label_label,
780
+ tooltip_tooltip,
781
+ legend_legend
497
782
  ];
498
- const areaAdvancedPipeline = [
499
- initAdvancedVSeed,
500
- reshapeTo2D1M,
501
- encodingXY
783
+ const barPercentSpecPipeline = [
784
+ initBar,
785
+ color_color,
786
+ background_backgroundColor,
787
+ percent,
788
+ dataset_dataset,
789
+ xLinear,
790
+ yBand,
791
+ label_label,
792
+ tooltip_tooltip,
793
+ legend_legend
502
794
  ];
503
795
  const initArea = (spec, context)=>{
504
796
  const result = {
@@ -506,11 +798,12 @@ const initArea = (spec, context)=>{
506
798
  };
507
799
  const { advancedVSeed } = context;
508
800
  const { encoding } = advancedVSeed;
801
+ if (!encoding[0].y || !encoding[0].x || !encoding[0].group) return result;
509
802
  result.type = 'area';
510
803
  result.direction = 'vertical';
511
- result.xField = encoding[0].x?.[0];
512
- result.yField = encoding[0].y?.[0];
513
- result.seriesField = encoding[0].group?.[0];
804
+ result.xField = encoding[0].x[0];
805
+ result.yField = encoding[0].y[0];
806
+ result.seriesField = encoding[0].group[0];
514
807
  result.padding = 0;
515
808
  return result;
516
809
  };
@@ -523,123 +816,108 @@ const stack = (spec, context)=>{
523
816
  };
524
817
  const areaSpecPipeline = [
525
818
  initArea,
819
+ color_color,
820
+ background_backgroundColor,
526
821
  stack,
527
822
  dataset_dataset,
528
823
  xBand,
529
- yLinear
530
- ];
531
- const areaPercentAdvancedPipeline = [
532
- initAdvancedVSeed,
533
- reshapeTo2D1M,
534
- encodingXY
824
+ yLinear,
825
+ label_label,
826
+ tooltip_tooltip,
827
+ legend_legend
535
828
  ];
536
- const percent = (spec, context)=>{
537
- const result = {
538
- ...spec
539
- };
540
- result.percent = true;
541
- return result;
542
- };
543
829
  const areaPercentSpecPipeline = [
544
830
  initArea,
831
+ color_color,
832
+ background_backgroundColor,
545
833
  percent,
546
834
  dataset_dataset,
547
835
  xBand,
548
- yLinear
836
+ yLinear,
837
+ label_label,
838
+ tooltip_tooltip,
839
+ legend_legend
549
840
  ];
550
- const barPercentAdvancedPipeline = [
551
- initAdvancedVSeed,
552
- reshapeTo2D1M,
553
- encodingYX
554
- ];
555
- const barPercentSpecPipeline = [
556
- initBar,
557
- percent,
558
- dataset_dataset,
559
- xLinear,
560
- yBand
561
- ];
562
- const columnPercentAdvancedPipeline = [
563
- initAdvancedVSeed,
564
- reshapeTo2D1M,
565
- encodingXY
566
- ];
567
- const columnPercentSpecPipeline = [
568
- initColumn,
569
- percent,
570
- dataset_dataset,
571
- xBand,
572
- yLinear
573
- ];
574
- const columnParallelAdvancedPipeline = [
575
- initAdvancedVSeed,
576
- reshapeTo2D1M,
577
- encodingXY
578
- ];
579
- const initColumnParallel = (spec, context)=>{
580
- const result = {
581
- ...spec
582
- };
583
- const { advancedVSeed } = context;
584
- const { encoding, datasetReshapeInfo } = advancedVSeed;
585
- const { foldInfo } = datasetReshapeInfo;
586
- result.type = 'bar';
587
- result.direction = 'vertical';
588
- if (encoding[0].x?.[0]) result.xField = [
589
- encoding[0].x[0],
590
- foldInfo.measureName
591
- ];
592
- result.yField = encoding[0].y?.[0];
593
- result.seriesField = encoding[0].group?.[0];
594
- result.padding = 0;
841
+ const execPipeline = (pipeline, context, initialValue = {})=>{
842
+ const result = pipeline.reduce((prev, cur)=>cur(prev, context), initialValue);
595
843
  return result;
596
844
  };
597
- const columnParallelSpecPipeline = [
598
- initColumnParallel,
599
- dataset_dataset,
600
- xBand,
601
- yLinear
602
- ];
603
- const barParallelAdvancedPipeline = [
604
- initAdvancedVSeed,
605
- reshapeTo2D1M,
606
- encodingYX
607
- ];
608
- const initBarParallel = (spec, context)=>{
609
- const result = {
610
- ...spec
845
+ const isVTable = (chartType)=>[
846
+ 'table',
847
+ 'pivotTable'
848
+ ].includes(chartType);
849
+ const isVChart = (chartType)=>!isVTable(chartType);
850
+ const buildAdvanced = (builder)=>{
851
+ const { chartType } = builder.vseed;
852
+ if (!chartType) throw new Error('chartType is nil in buildAdvanced');
853
+ const pipeline = builder.getAdvancedPipeline(chartType);
854
+ if (!pipeline) throw new Error(`no advanced pipeline for chartType ${chartType}`);
855
+ const context = {
856
+ vseed: builder.vseed,
857
+ customTheme: builder.getThemeMap()
611
858
  };
612
- const { advancedVSeed } = context;
613
- const { encoding, datasetReshapeInfo } = advancedVSeed;
614
- const { foldInfo } = datasetReshapeInfo;
615
- result.type = 'bar';
616
- result.direction = 'horizontal';
617
- result.yField = [
618
- encoding[0].y?.[0],
619
- foldInfo?.measureName
620
- ];
621
- result.xField = encoding[0].x?.[0];
622
- result.seriesField = encoding[0].group?.[0];
623
- result.padding = 0;
624
- return result;
859
+ try {
860
+ return execPipeline(pipeline, context);
861
+ } catch (e) {
862
+ console.error(e);
863
+ throw new Error("buildAdvanced error, see error info in console");
864
+ }
625
865
  };
626
- const barParallelSpecPipeline = [
627
- initBarParallel,
628
- dataset_dataset,
629
- xLinear,
630
- yBand
631
- ];
632
- const registerAll = ()=>{
633
- registerLine();
634
- registerColumn();
635
- registerColumnParallel();
636
- registerColumnPercent();
637
- registerBar();
638
- registerBarParallel();
639
- registerBarPercent();
640
- registerArea();
641
- registerAreaPercent();
866
+ const buildSpec = (builder, advancedVSeed)=>{
867
+ const { chartType } = builder.vseed;
868
+ if (!chartType) throw new Error('chartType is nil in buildSpec');
869
+ const pipeline = builder.getSpecPipeline(chartType);
870
+ if (!pipeline) throw new Error(`no spec pipeline for chartType ${chartType}`);
871
+ const context = {
872
+ vseed: builder.vseed,
873
+ advancedVSeed
874
+ };
875
+ try {
876
+ return execPipeline(pipeline, context);
877
+ } catch (e) {
878
+ console.error(e);
879
+ throw new Error("buildSpec error, see error info in console");
880
+ }
881
+ };
882
+ const build = (builder)=>{
883
+ console.log('debug vseed', builder.vseed);
884
+ const advancedVSeed = builder.buildAdvanced();
885
+ console.log('debug advancedVSeed', advancedVSeed);
886
+ if (!advancedVSeed) throw new Error('advancedVSeed is null');
887
+ const spec = builder.buildSpec(advancedVSeed);
888
+ console.log('debug spec', spec);
889
+ return spec;
642
890
  };
891
+ class Builder {
892
+ _vseed;
893
+ _advancedVSeed = null;
894
+ constructor(vseed){
895
+ this._vseed = vseed;
896
+ }
897
+ build = ()=>build(this);
898
+ buildSpec = (advanced)=>buildSpec(this, advanced);
899
+ buildAdvanced = ()=>buildAdvanced(this);
900
+ getAdvancedPipeline = (chartType)=>Builder._advancedPipelineMap[chartType];
901
+ getSpecPipeline = (chartType)=>Builder._specPipelineMap[chartType];
902
+ getTheme = (themeKey)=>Builder._themeMap[themeKey];
903
+ getThemeMap = ()=>Builder._themeMap;
904
+ get vseed() {
905
+ return this._vseed;
906
+ }
907
+ set vseed(value) {
908
+ this._vseed = value;
909
+ }
910
+ get advancedVSeed() {
911
+ return this._advancedVSeed;
912
+ }
913
+ set advancedVSeed(value) {
914
+ this._advancedVSeed = value;
915
+ }
916
+ static _advancedPipelineMap = {};
917
+ static _specPipelineMap = {};
918
+ static _themeMap = {};
919
+ static from = (vseed)=>new Builder(vseed);
920
+ }
643
921
  const registerColumn = ()=>{
644
922
  Builder._advancedPipelineMap.column = columnAdvancedPipeline;
645
923
  Builder._specPipelineMap.column = columnSpecPipeline;
@@ -676,6 +954,94 @@ const registerBarParallel = ()=>{
676
954
  Builder._advancedPipelineMap.barParallel = barParallelAdvancedPipeline;
677
955
  Builder._specPipelineMap.barParallel = barParallelSpecPipeline;
678
956
  };
957
+ const lightTheme = ()=>({
958
+ baseConfig: {
959
+ vtable: {
960
+ backgroundColor: '#ffffff'
961
+ },
962
+ vchart: {
963
+ backgroundColor: '#ffffff',
964
+ color: {
965
+ colorScheme: [
966
+ '#8D72F6',
967
+ '#5766EC',
968
+ '#66A3FE',
969
+ '#51D5E6',
970
+ '#4EC0B3',
971
+ '#F9DF90',
972
+ '#F9AD71',
973
+ '#ED8888',
974
+ '#E9A0C3',
975
+ '#D77DD3'
976
+ ]
977
+ },
978
+ label: {
979
+ enable: true
980
+ },
981
+ tooltip: {
982
+ enable: true
983
+ },
984
+ legend: {
985
+ enable: true
986
+ }
987
+ }
988
+ }
989
+ });
990
+ const darkTheme = ()=>({
991
+ baseConfig: {
992
+ vtable: {
993
+ backgroundColor: '#141414'
994
+ },
995
+ vchart: {
996
+ backgroundColor: '#141414',
997
+ color: {
998
+ colorScheme: [
999
+ '#2E62F1',
1000
+ '#4DC36A',
1001
+ '#FF8406',
1002
+ '#FFCC00',
1003
+ '#4F44CF',
1004
+ '#5AC8FA',
1005
+ '#003A8C',
1006
+ '#B08AE2',
1007
+ '#FF6341',
1008
+ '#98DD62'
1009
+ ]
1010
+ },
1011
+ label: {
1012
+ enable: true
1013
+ },
1014
+ tooltip: {
1015
+ enable: true
1016
+ },
1017
+ legend: {
1018
+ enable: true
1019
+ }
1020
+ }
1021
+ }
1022
+ });
1023
+ const registerCustomTheme = (key, themeConfig)=>{
1024
+ Builder._themeMap[key] = themeConfig;
1025
+ };
1026
+ const registerLightTheme = ()=>{
1027
+ registerCustomTheme('light', lightTheme());
1028
+ };
1029
+ const registerDarkTheme = ()=>{
1030
+ registerCustomTheme('dark', darkTheme());
1031
+ };
1032
+ const all_registerAll = ()=>{
1033
+ registerLine();
1034
+ registerColumn();
1035
+ registerColumnParallel();
1036
+ registerColumnPercent();
1037
+ registerBar();
1038
+ registerBarParallel();
1039
+ registerBarPercent();
1040
+ registerArea();
1041
+ registerAreaPercent();
1042
+ registerLightTheme();
1043
+ registerDarkTheme();
1044
+ };
679
1045
  const external_zod_namespaceObject = require("zod");
680
1046
  const zChartType = external_zod_namespaceObject.z["enum"]([
681
1047
  'table',
@@ -740,22 +1106,6 @@ const zMeasureGroup = external_zod_namespaceObject.z.object({
740
1106
  }
741
1107
  });
742
1108
  const zMeasures = external_zod_namespaceObject.z.array(zMeasureGroup.or(zMeasure)).optional();
743
- const zVSeed = external_zod_namespaceObject.z.object({
744
- chartType: zChartType,
745
- dataset: zDataset,
746
- dimensions: zDimensions,
747
- measures: zMeasures
748
- });
749
- const VSeedJSONSchema = external_zod_namespaceObject.z.toJSONSchema(zVSeed);
750
- const zEncoding = external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.object({
751
- x: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
752
- y: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
753
- color: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
754
- group: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
755
- angle: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
756
- radius: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
757
- tooltip: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional()
758
- }));
759
1109
  const zFoldInfo = external_zod_namespaceObject.z.object({
760
1110
  foldMap: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string().or(external_zod_namespaceObject.z.undefined())),
761
1111
  measureId: external_zod_namespaceObject.z.string(),
@@ -770,14 +1120,48 @@ const zDatasetReshapeInfo = external_zod_namespaceObject.z.object({
770
1120
  foldInfo: zFoldInfo,
771
1121
  unfoldInfo: zUnfoldInfo
772
1122
  });
773
- const zAdvancedVSeed = external_zod_namespaceObject.z.object({
774
- chartType: zChartType,
775
- dataset: zDataset,
776
- datasetReshapeInfo: zDatasetReshapeInfo,
777
- dimensions: zDimensions,
778
- measures: zMeasures,
779
- encoding: zEncoding
1123
+ const zEncoding = external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.object({
1124
+ x: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
1125
+ y: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
1126
+ color: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
1127
+ group: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
1128
+ angle: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
1129
+ radius: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
1130
+ tooltip: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional()
1131
+ }));
1132
+ const zBackgroundColor = external_zod_namespaceObject.z.string().default('transparent').optional();
1133
+ const zLabel = external_zod_namespaceObject.z.object({
1134
+ enable: external_zod_namespaceObject.z.boolean().default(true).optional()
1135
+ });
1136
+ const zColor = external_zod_namespaceObject.z.object({
1137
+ colorScheme: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
1138
+ colorMapping: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.string()).optional()
1139
+ });
1140
+ const zTooltip = external_zod_namespaceObject.z.object({
1141
+ enable: external_zod_namespaceObject.z.boolean().default(true).optional()
1142
+ });
1143
+ const zLegend = external_zod_namespaceObject.z.object({
1144
+ enable: external_zod_namespaceObject.z.boolean().default(true).optional()
1145
+ });
1146
+ const zVChartBaseConfig = external_zod_namespaceObject.z.object({
1147
+ backgroundColor: zBackgroundColor,
1148
+ label: zLabel.optional(),
1149
+ color: zColor.optional(),
1150
+ tooltip: zTooltip.optional(),
1151
+ legend: zLegend.optional()
1152
+ });
1153
+ const zVTableBaseConfig = external_zod_namespaceObject.z.object({
1154
+ backgroundColor: zBackgroundColor
1155
+ });
1156
+ const zBaseConfig = external_zod_namespaceObject.z.object({
1157
+ vchart: zVChartBaseConfig.optional(),
1158
+ vtable: zVTableBaseConfig.optional()
1159
+ });
1160
+ const zCustomThemeConfig = external_zod_namespaceObject.z.object({
1161
+ baseConfig: zBaseConfig.optional()
780
1162
  });
1163
+ const zCustomTheme = external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), zCustomThemeConfig).optional();
1164
+ const zTheme = external_zod_namespaceObject.z.string();
781
1165
  const dataReshapeFor1D1M_emptyReshapeResult = {
782
1166
  dataset: [],
783
1167
  foldInfo: {
@@ -835,7 +1219,6 @@ const dataReshapeFor1D1M = (dataset, dimensions, measures)=>{
835
1219
  }
836
1220
  };
837
1221
  exports.Builder = __webpack_exports__.Builder;
838
- exports.VSeedJSONSchema = __webpack_exports__.VSeedJSONSchema;
839
1222
  exports.areaAdvancedPipeline = __webpack_exports__.areaAdvancedPipeline;
840
1223
  exports.areaPercentAdvancedPipeline = __webpack_exports__.areaPercentAdvancedPipeline;
841
1224
  exports.areaPercentSpecPipeline = __webpack_exports__.areaPercentSpecPipeline;
@@ -852,18 +1235,36 @@ exports.columnParallelSpecPipeline = __webpack_exports__.columnParallelSpecPipel
852
1235
  exports.columnPercentAdvancedPipeline = __webpack_exports__.columnPercentAdvancedPipeline;
853
1236
  exports.columnPercentSpecPipeline = __webpack_exports__.columnPercentSpecPipeline;
854
1237
  exports.columnSpecPipeline = __webpack_exports__.columnSpecPipeline;
1238
+ exports.darkTheme = __webpack_exports__.darkTheme;
855
1239
  exports.dataReshapeFor1D1M = __webpack_exports__.dataReshapeFor1D1M;
856
1240
  exports.dataReshapeFor2D1M = __webpack_exports__.dataReshapeFor2D1M;
857
1241
  exports.execPipeline = __webpack_exports__.execPipeline;
858
1242
  exports.foldMeasures = __webpack_exports__.foldMeasures;
1243
+ exports.isVChart = __webpack_exports__.isVChart;
1244
+ exports.isVTable = __webpack_exports__.isVTable;
1245
+ exports.lightTheme = __webpack_exports__.lightTheme;
859
1246
  exports.lineAdvancedPipeline = __webpack_exports__.lineAdvancedPipeline;
860
1247
  exports.lineSpecPipeline = __webpack_exports__.lineSpecPipeline;
861
1248
  exports.registerAll = __webpack_exports__.registerAll;
1249
+ exports.registerArea = __webpack_exports__.registerArea;
1250
+ exports.registerAreaPercent = __webpack_exports__.registerAreaPercent;
862
1251
  exports.registerBar = __webpack_exports__.registerBar;
1252
+ exports.registerBarParallel = __webpack_exports__.registerBarParallel;
1253
+ exports.registerBarPercent = __webpack_exports__.registerBarPercent;
863
1254
  exports.registerColumn = __webpack_exports__.registerColumn;
1255
+ exports.registerColumnParallel = __webpack_exports__.registerColumnParallel;
1256
+ exports.registerColumnPercent = __webpack_exports__.registerColumnPercent;
1257
+ exports.registerCustomTheme = __webpack_exports__.registerCustomTheme;
1258
+ exports.registerDarkTheme = __webpack_exports__.registerDarkTheme;
1259
+ exports.registerLightTheme = __webpack_exports__.registerLightTheme;
1260
+ exports.registerLine = __webpack_exports__.registerLine;
864
1261
  exports.unfoldDimensions = __webpack_exports__.unfoldDimensions;
865
- exports.zAdvancedVSeed = __webpack_exports__.zAdvancedVSeed;
1262
+ exports.zBackgroundColor = __webpack_exports__.zBackgroundColor;
1263
+ exports.zBaseConfig = __webpack_exports__.zBaseConfig;
866
1264
  exports.zChartType = __webpack_exports__.zChartType;
1265
+ exports.zColor = __webpack_exports__.zColor;
1266
+ exports.zCustomTheme = __webpack_exports__.zCustomTheme;
1267
+ exports.zCustomThemeConfig = __webpack_exports__.zCustomThemeConfig;
867
1268
  exports.zDataset = __webpack_exports__.zDataset;
868
1269
  exports.zDatasetReshapeInfo = __webpack_exports__.zDatasetReshapeInfo;
869
1270
  exports.zDatum = __webpack_exports__.zDatum;
@@ -871,14 +1272,16 @@ exports.zDimension = __webpack_exports__.zDimension;
871
1272
  exports.zDimensions = __webpack_exports__.zDimensions;
872
1273
  exports.zEncoding = __webpack_exports__.zEncoding;
873
1274
  exports.zFoldInfo = __webpack_exports__.zFoldInfo;
1275
+ exports.zLabel = __webpack_exports__.zLabel;
1276
+ exports.zLegend = __webpack_exports__.zLegend;
874
1277
  exports.zMeasure = __webpack_exports__.zMeasure;
875
1278
  exports.zMeasureGroup = __webpack_exports__.zMeasureGroup;
876
1279
  exports.zMeasures = __webpack_exports__.zMeasures;
1280
+ exports.zTheme = __webpack_exports__.zTheme;
1281
+ exports.zTooltip = __webpack_exports__.zTooltip;
877
1282
  exports.zUnfoldInfo = __webpack_exports__.zUnfoldInfo;
878
- exports.zVSeed = __webpack_exports__.zVSeed;
879
1283
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
880
1284
  "Builder",
881
- "VSeedJSONSchema",
882
1285
  "areaAdvancedPipeline",
883
1286
  "areaPercentAdvancedPipeline",
884
1287
  "areaPercentSpecPipeline",
@@ -895,18 +1298,36 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
895
1298
  "columnPercentAdvancedPipeline",
896
1299
  "columnPercentSpecPipeline",
897
1300
  "columnSpecPipeline",
1301
+ "darkTheme",
898
1302
  "dataReshapeFor1D1M",
899
1303
  "dataReshapeFor2D1M",
900
1304
  "execPipeline",
901
1305
  "foldMeasures",
1306
+ "isVChart",
1307
+ "isVTable",
1308
+ "lightTheme",
902
1309
  "lineAdvancedPipeline",
903
1310
  "lineSpecPipeline",
904
1311
  "registerAll",
1312
+ "registerArea",
1313
+ "registerAreaPercent",
905
1314
  "registerBar",
1315
+ "registerBarParallel",
1316
+ "registerBarPercent",
906
1317
  "registerColumn",
1318
+ "registerColumnParallel",
1319
+ "registerColumnPercent",
1320
+ "registerCustomTheme",
1321
+ "registerDarkTheme",
1322
+ "registerLightTheme",
1323
+ "registerLine",
907
1324
  "unfoldDimensions",
908
- "zAdvancedVSeed",
1325
+ "zBackgroundColor",
1326
+ "zBaseConfig",
909
1327
  "zChartType",
1328
+ "zColor",
1329
+ "zCustomTheme",
1330
+ "zCustomThemeConfig",
910
1331
  "zDataset",
911
1332
  "zDatasetReshapeInfo",
912
1333
  "zDatum",
@@ -914,12 +1335,17 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
914
1335
  "zDimensions",
915
1336
  "zEncoding",
916
1337
  "zFoldInfo",
1338
+ "zLabel",
1339
+ "zLegend",
917
1340
  "zMeasure",
918
1341
  "zMeasureGroup",
919
1342
  "zMeasures",
920
- "zUnfoldInfo",
921
- "zVSeed"
1343
+ "zTheme",
1344
+ "zTooltip",
1345
+ "zUnfoldInfo"
922
1346
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
923
1347
  Object.defineProperty(exports, '__esModule', {
924
1348
  value: true
925
1349
  });
1350
+
1351
+ //# sourceMappingURL=index.cjs.map