@visactor/vseed 0.1.11 → 0.1.13

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 (174) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/advanced/colorItems.js +3 -2
  4. package/dist/esm/builder/builder/advanced/colorItems.js.map +1 -1
  5. package/dist/esm/builder/builder/build.js +0 -2
  6. package/dist/esm/builder/builder/build.js.map +1 -1
  7. package/dist/esm/builder/builder/buildAdvanced.js +3 -1
  8. package/dist/esm/builder/builder/buildAdvanced.js.map +1 -1
  9. package/dist/esm/builder/builder/buildSpec.js +3 -1
  10. package/dist/esm/builder/builder/buildSpec.js.map +1 -1
  11. package/dist/esm/builder/builder/builder.d.ts +357 -9
  12. package/dist/esm/builder/builder/builder.js +1 -1
  13. package/dist/esm/builder/builder/builder.js.map +1 -1
  14. package/dist/esm/dataReshape/foldMeasures.js +16 -16
  15. package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
  16. package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -2
  17. package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
  18. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -2
  19. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
  20. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -2
  21. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
  22. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -2
  23. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
  24. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -2
  25. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
  26. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -2
  27. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  28. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -2
  29. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
  30. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -2
  31. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
  32. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +3 -2
  33. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
  34. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -2
  35. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
  36. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -2
  37. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
  38. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -2
  39. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
  40. package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -2
  41. package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
  42. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +3 -2
  43. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
  44. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -2
  45. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
  46. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -2
  47. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -2
  49. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -2
  51. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/chart/pipes/config/config.js +3 -1
  53. package/dist/esm/pipeline/advanced/chart/pipes/config/config.js.map +1 -1
  54. package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js +6 -2
  55. package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
  56. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.d.ts +2 -0
  57. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js +12 -0
  58. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js.map +1 -0
  59. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -0
  60. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -0
  61. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +10 -4
  62. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
  63. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +10 -4
  64. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
  65. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +10 -4
  66. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
  67. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +9 -1
  68. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
  69. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +10 -4
  70. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  71. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +8 -0
  72. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
  73. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js +9 -1
  74. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
  75. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +8 -0
  76. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
  77. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +10 -4
  78. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
  79. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +9 -1
  80. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
  81. package/dist/esm/pipeline/advanced/chart/pipes/index.d.ts +1 -0
  82. package/dist/esm/pipeline/advanced/chart/pipes/index.js +1 -0
  83. package/dist/esm/pipeline/advanced/chart/pipes/markStyle/markStyle.js +3 -1
  84. package/dist/esm/pipeline/advanced/chart/pipes/markStyle/markStyle.js.map +1 -1
  85. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipAndLabelMeasure.d.ts +2 -0
  86. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipAndLabelMeasure.js +12 -0
  87. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipAndLabelMeasure.js.map +1 -0
  88. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.d.ts +1 -1
  89. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +2 -2
  90. package/dist/esm/pipeline/advanced/table/pipes/init/index.d.ts +0 -1
  91. package/dist/esm/pipeline/advanced/table/pipes/init/index.js +0 -1
  92. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js +2 -0
  93. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
  94. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +41 -20
  95. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  96. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js +2 -2
  97. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  98. package/dist/esm/pipeline/utils/dimensions/delete.d.ts +8 -0
  99. package/dist/esm/pipeline/utils/dimensions/delete.js +40 -0
  100. package/dist/esm/pipeline/utils/dimensions/delete.js.map +1 -0
  101. package/dist/esm/pipeline/utils/dimensions/find.d.ts +0 -2
  102. package/dist/esm/pipeline/utils/dimensions/find.js +0 -13
  103. package/dist/esm/pipeline/utils/dimensions/index.d.ts +2 -1
  104. package/dist/esm/pipeline/utils/dimensions/index.js +2 -1
  105. package/dist/esm/pipeline/utils/dimensions/typeGuard.d.ts +3 -0
  106. package/dist/esm/pipeline/utils/dimensions/typeGuard.js +5 -0
  107. package/dist/esm/pipeline/utils/dimensions/typeGuard.js.map +1 -0
  108. package/dist/esm/pipeline/utils/index.d.ts +1 -0
  109. package/dist/esm/pipeline/utils/index.js +1 -0
  110. package/dist/esm/pipeline/utils/replaceNullToUndefined.d.ts +5 -0
  111. package/dist/esm/pipeline/utils/replaceNullToUndefined.js +10 -0
  112. package/dist/esm/pipeline/utils/replaceNullToUndefined.js.map +1 -0
  113. package/dist/esm/theme/dark.js +19 -4
  114. package/dist/esm/theme/dark.js.map +1 -1
  115. package/dist/esm/theme/light.js +19 -4
  116. package/dist/esm/theme/light.js.map +1 -1
  117. package/dist/esm/types/advancedVSeed.d.ts +160 -40
  118. package/dist/esm/types/chartType/area/zArea.d.ts +4 -1
  119. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +4 -1
  120. package/dist/esm/types/chartType/bar/zBar.d.ts +4 -1
  121. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +4 -1
  122. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +4 -1
  123. package/dist/esm/types/chartType/column/zColumn.d.ts +4 -1
  124. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +4 -1
  125. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +4 -1
  126. package/dist/esm/types/chartType/donut/zDonut.d.ts +4 -1
  127. package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +5 -1
  128. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +4 -1
  129. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +4 -1
  130. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +4 -1
  131. package/dist/esm/types/chartType/line/zLine.d.ts +4 -1
  132. package/dist/esm/types/chartType/pie/zPie.d.ts +4 -1
  133. package/dist/esm/types/chartType/radar/zRadar.d.ts +4 -1
  134. package/dist/esm/types/chartType/rose/zRose.d.ts +4 -1
  135. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +4 -1
  136. package/dist/esm/types/chartType/scatter/zScatter.d.ts +4 -1
  137. package/dist/esm/types/properties/config/config.d.ts +144 -36
  138. package/dist/esm/types/properties/config/config.js +1 -1
  139. package/dist/esm/types/properties/config/config.js.map +1 -1
  140. package/dist/esm/types/properties/config/label/index.d.ts +2 -1
  141. package/dist/esm/types/properties/config/label/index.js +1 -1
  142. package/dist/esm/types/properties/config/label/label.d.ts +15 -6
  143. package/dist/esm/types/properties/config/label/label.js +0 -7
  144. package/dist/esm/types/properties/config/label/zLabel.d.ts +7 -0
  145. package/dist/esm/types/properties/config/label/zLabel.js +10 -0
  146. package/dist/esm/types/properties/config/label/zLabel.js.map +1 -0
  147. package/dist/esm/types/properties/datasetReshapeInfo/datasetReshapeInfo.d.ts +8 -2
  148. package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.d.ts +24 -6
  149. package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js +8 -2
  150. package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js.map +1 -1
  151. package/dist/esm/types/properties/encoding/index.d.ts +3 -0
  152. package/dist/esm/types/properties/encoding/index.js +4 -4
  153. package/dist/esm/types/properties/encoding/zDimensionEncoding.d.ts +11 -0
  154. package/dist/esm/types/properties/encoding/zDimensionEncoding.js +12 -1
  155. package/dist/esm/types/properties/encoding/zDimensionEncoding.js.map +1 -1
  156. package/dist/esm/types/properties/encoding/zEncoding.d.ts +17 -0
  157. package/dist/esm/types/properties/encoding/zEncoding.js +15 -1
  158. package/dist/esm/types/properties/encoding/zEncoding.js.map +1 -1
  159. package/dist/esm/types/properties/encoding/zMeasureEncoding.d.ts +14 -0
  160. package/dist/esm/types/properties/encoding/zMeasureEncoding.js +15 -1
  161. package/dist/esm/types/properties/encoding/zMeasureEncoding.js.map +1 -1
  162. package/dist/esm/types/properties/theme/customTheme.d.ts +144 -36
  163. package/dist/esm/types/zVseed.d.ts +72 -18
  164. package/dist/umd/index.js +489 -234
  165. package/dist/umd/index.js.map +1 -1
  166. package/package.json +2 -2
  167. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipMeasure.d.ts +0 -2
  168. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipMeasure.js +0 -12
  169. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipMeasure.js.map +0 -1
  170. package/dist/esm/pipeline/advanced/table/pipes/init/autoPivotDimensions.d.ts +0 -2
  171. package/dist/esm/pipeline/advanced/table/pipes/init/autoPivotDimensions.js +0 -52
  172. package/dist/esm/pipeline/advanced/table/pipes/init/autoPivotDimensions.js.map +0 -1
  173. package/dist/esm/pipeline/utils/dimensions/find.js.map +0 -1
  174. package/dist/esm/types/properties/config/label/label.js.map +0 -1
package/dist/umd/index.js CHANGED
@@ -87,6 +87,7 @@
87
87
  zCrosshairRect: ()=>zCrosshairRect,
88
88
  scatterSpecPipeline: ()=>scatterSpecPipeline,
89
89
  intl: ()=>intl,
90
+ zXLinearAxis: ()=>zXLinearAxis,
90
91
  zScatterMeasures: ()=>zScatterMeasures,
91
92
  columnPercentAdvancedPipeline: ()=>columnPercentAdvancedPipeline,
92
93
  zColumnConfig: ()=>zColumnConfig,
@@ -110,6 +111,7 @@
110
111
  isDimensionSelector: ()=>isDimensionSelector,
111
112
  zAnalysis: ()=>zAnalysis,
112
113
  zColorLegend: ()=>zColorLegend,
114
+ EncodingEnum: ()=>EncodingEnum,
113
115
  preorderTraverse: ()=>preorderTraverse,
114
116
  zDimensionTree: ()=>zDimensionTree,
115
117
  roseParallelSpecPipeline: ()=>roseParallelSpecPipeline,
@@ -119,8 +121,8 @@
119
121
  MeasureName: ()=>MeasureName,
120
122
  zDataset: ()=>zDataset,
121
123
  zNumFormat: ()=>zNumFormat,
124
+ DimensionEncodingEnum: ()=>DimensionEncodingEnum,
122
125
  barPercentAdvancedPipeline: ()=>barPercentAdvancedPipeline,
123
- findAllDimensions: ()=>findAllDimensions,
124
126
  FoldYMeasureValue: ()=>FoldYMeasureValue,
125
127
  zPivotTableConfig: ()=>zPivotTableConfig,
126
128
  zArea: ()=>zArea,
@@ -128,14 +130,15 @@
128
130
  zDimensions: ()=>zDimensions,
129
131
  zLegend: ()=>zLegend,
130
132
  FoldMeasureId: ()=>FoldMeasureId,
131
- zColumnParallelConfig: ()=>zColumnParallelConfig,
133
+ replaceNullToUndefined: ()=>replaceNullToUndefined,
132
134
  donutSpecPipeline: ()=>donutSpecPipeline,
133
135
  FoldXMeasureId: ()=>FoldXMeasureId,
134
136
  registerAreaPercent: ()=>registerAreaPercent,
135
137
  zBarPercent: ()=>zBarPercent,
138
+ zColumnParallelConfig: ()=>zColumnParallelConfig,
136
139
  zHeatmap: ()=>zHeatmap,
137
- zMeasureEncoding: ()=>zMeasureEncoding,
138
140
  zDatum: ()=>zDatum,
141
+ zMeasureEncoding: ()=>zMeasureEncoding,
139
142
  zScatterMeasure: ()=>zScatterMeasure,
140
143
  zTheme: ()=>zTheme,
141
144
  barAdvancedPipeline: ()=>barAdvancedPipeline,
@@ -143,23 +146,23 @@
143
146
  registerColumnPercent: ()=>registerColumnPercent,
144
147
  registerHeatmap: ()=>registerHeatmap,
145
148
  registerBarPercent: ()=>registerBarPercent,
146
- roseSpecPipeline: ()=>roseSpecPipeline,
147
149
  ColorIdEncoding: ()=>ColorIdEncoding,
150
+ roseSpecPipeline: ()=>roseSpecPipeline,
148
151
  zCrosshairLine: ()=>zCrosshairLine,
149
152
  registerLightTheme: ()=>registerLightTheme,
150
153
  roseAdvancedPipeline: ()=>roseAdvancedPipeline,
151
154
  zBarParallel: ()=>zBarParallel,
152
- isPartialDatumSelector: ()=>isPartialDatumSelector,
155
+ registerDarkTheme: ()=>registerDarkTheme,
153
156
  registerPivotTable: ()=>registerPivotTable,
154
- tableAdvancedPipeline: ()=>tableAdvancedPipeline,
157
+ isPartialDatumSelector: ()=>isPartialDatumSelector,
155
158
  pieSpecPipeline: ()=>pieSpecPipeline,
156
- registerDarkTheme: ()=>registerDarkTheme,
159
+ isDimensionGroup: ()=>isDimensionGroup,
157
160
  dualAxisSpecPipeline: ()=>dualAxisSpecPipeline,
158
- zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
161
+ tableAdvancedPipeline: ()=>tableAdvancedPipeline,
159
162
  barSpecPipeline: ()=>barSpecPipeline,
160
- zChartType: ()=>zChartType,
163
+ zAnnotationVerticalLine: ()=>zAnnotationVerticalLine,
161
164
  registerRose: ()=>registerRose,
162
- zMeasureTree: ()=>zMeasureTree,
165
+ zChartType: ()=>zChartType,
163
166
  unfoldDimensions: ()=>unfoldDimensions,
164
167
  roseParallelAdvancedPipeline: ()=>roseParallelAdvancedPipeline,
165
168
  registerTable: ()=>registerTable,
@@ -171,9 +174,9 @@
171
174
  isVChart: ()=>isVChart,
172
175
  radarSpecPipeline: ()=>radarSpecPipeline,
173
176
  Builder: ()=>Builder,
177
+ zMeasureTree: ()=>zMeasureTree,
174
178
  zPieConfig: ()=>zPieConfig,
175
179
  zPivotTable: ()=>zPivotTable,
176
- zRadar: ()=>zRadar,
177
180
  registerLine: ()=>registerLine,
178
181
  registerCustomTheme: ()=>registerCustomTheme,
179
182
  zColor: ()=>zColor,
@@ -193,17 +196,18 @@
193
196
  zAxis: ()=>zAxis,
194
197
  isVTable: ()=>isVTable,
195
198
  zMeasures: ()=>zMeasures,
196
- zRadarConfig: ()=>zRadarConfig,
199
+ zRadar: ()=>zRadar,
197
200
  zLine: ()=>zLine,
198
201
  columnSpecPipeline: ()=>columnSpecPipeline,
199
202
  zFoldInfo: ()=>zFoldInfo,
200
203
  zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
201
204
  zLinearColor: ()=>zLinearColor,
202
- zStackCornerRadius: ()=>zStackCornerRadius,
205
+ zRadarConfig: ()=>zRadarConfig,
203
206
  zAreaStyle: ()=>zAreaStyle,
204
207
  ORIGINAL_DATA: ()=>ORIGINAL_DATA,
205
- zUnfoldInfo: ()=>zUnfoldInfo,
208
+ zStackCornerRadius: ()=>zStackCornerRadius,
206
209
  zAnnotationArea: ()=>zAnnotationArea,
210
+ zUnfoldInfo: ()=>zUnfoldInfo,
207
211
  DetailEncoding: ()=>DetailEncoding,
208
212
  zRose: ()=>zRose,
209
213
  columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
@@ -237,8 +241,9 @@
237
241
  registerBarParallel: ()=>registerBarParallel,
238
242
  registerRadar: ()=>registerRadar,
239
243
  zLocale: ()=>zLocale,
244
+ isDimension: ()=>isDimension,
245
+ MeasureEncodingEnum: ()=>MeasureEncodingEnum,
240
246
  pivotTableSpecPipeline: ()=>pivotTableSpecPipeline,
241
- zMeasure: ()=>zMeasure,
242
247
  FoldXMeasureValue: ()=>FoldXMeasureValue,
243
248
  dualAxisAdvancedPipeline: ()=>dualAxisAdvancedPipeline,
244
249
  registerScatter: ()=>registerScatter,
@@ -250,9 +255,10 @@
250
255
  zAdvancedVSeed: ()=>zAdvancedVSeed,
251
256
  zConfig: ()=>zConfig,
252
257
  zBarStyle: ()=>zBarStyle,
253
- zRoseParallelConfig: ()=>zRoseParallelConfig,
254
- zXLinearAxis: ()=>zXLinearAxis,
258
+ deleteDimensionTreeByCallback: ()=>deleteDimensionTreeByCallback,
259
+ zMeasure: ()=>zMeasure,
255
260
  zAreaPercent: ()=>zAreaPercent,
261
+ zRoseParallelConfig: ()=>zRoseParallelConfig,
256
262
  columnParallelAdvancedPipeline: ()=>columnParallelAdvancedPipeline,
257
263
  isValueSelector: ()=>isValueSelector,
258
264
  donutAdvancedPipeline: ()=>donutAdvancedPipeline,
@@ -326,7 +332,9 @@
326
332
  };
327
333
  if (builder.vseed.locale) intl.setLocale(builder.vseed.locale);
328
334
  try {
329
- return execPipeline(pipeline, context);
335
+ const advancedVSeed = execPipeline(pipeline, context);
336
+ builder.advancedVSeed = advancedVSeed;
337
+ return advancedVSeed;
330
338
  } catch (e) {
331
339
  console.error(e);
332
340
  throw new Error("buildAdvanced error, see error info in console");
@@ -347,7 +355,9 @@
347
355
  };
348
356
  if (builder.vseed.locale) intl.setLocale(builder.vseed.locale);
349
357
  try {
350
- return execPipeline(pipeline, context);
358
+ const spec = execPipeline(pipeline, context);
359
+ builder.spec = spec;
360
+ return spec;
351
361
  } catch (e) {
352
362
  console.error(e);
353
363
  throw new Error("buildSpec error, see error info in console");
@@ -358,10 +368,8 @@
358
368
  };
359
369
  const build = (builder)=>{
360
370
  const advancedVSeed = builder.buildAdvanced();
361
- builder.advancedVSeed = advancedVSeed;
362
371
  if (!advancedVSeed) throw new Error('advancedVSeed is null');
363
372
  const spec = builder.buildSpec(advancedVSeed);
364
- builder.spec = spec;
365
373
  return spec;
366
374
  };
367
375
  var chunk_ANXBDSUI_s = {
@@ -445,9 +453,114 @@
445
453
  next: t
446
454
  });
447
455
  }
456
+ const preorderTraverse = (tree, callback)=>{
457
+ if (!tree || 0 === tree.length) return;
458
+ const stack = [
459
+ ...tree
460
+ ].reverse();
461
+ while(stack.length > 0){
462
+ const node = stack.pop();
463
+ const stop = callback(node);
464
+ if (true === stop) return;
465
+ if (!('children' in node)) continue;
466
+ const children = node.children;
467
+ if (children && children.length > 0) for(let i = children.length - 1; i >= 0; i--){
468
+ const child = children[i];
469
+ stack.push(child);
470
+ }
471
+ }
472
+ };
473
+ const measureDepth = (measures = [])=>{
474
+ if (!measures) return 0;
475
+ let depth = 1;
476
+ preorderTraverse(measures, (node)=>{
477
+ if ('children' in node) depth = Math.max(depth, 1 + measureDepth(node.children));
478
+ return false;
479
+ });
480
+ return depth;
481
+ };
482
+ const isMeasureTreeWithChildren = (measures)=>{
483
+ if (!measures) return false;
484
+ return measures.some((measure)=>'children' in measure);
485
+ };
486
+ const isMeasureTreeWithParentId = (measures)=>{
487
+ if (!measures) return false;
488
+ return measures.some((measure)=>'parentId' in measure);
489
+ };
490
+ const normalizeMeasureTree = (measures)=>{
491
+ const createEmptyMeasureGroup = ()=>({
492
+ id: 'group',
493
+ alias: '',
494
+ children: []
495
+ });
496
+ let currentGroup = createEmptyMeasureGroup();
497
+ const measureGroups = [];
498
+ for (const measure of measures)if ('children' in measure) {
499
+ if (currentGroup.children?.length) {
500
+ currentGroup.id = [
501
+ currentGroup.id,
502
+ ...currentGroup.children.map((item)=>item.id)
503
+ ].join('-');
504
+ currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
505
+ measureGroups.push(currentGroup);
506
+ currentGroup = createEmptyMeasureGroup();
507
+ }
508
+ measureGroups.push(measure);
509
+ } else currentGroup.children?.push(measure);
510
+ if (currentGroup.children?.length) {
511
+ currentGroup.id = [
512
+ currentGroup.id,
513
+ ...currentGroup.children.map((item)=>item.id)
514
+ ].join('-');
515
+ currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
516
+ measureGroups.push(currentGroup);
517
+ currentGroup = createEmptyMeasureGroup();
518
+ }
519
+ return measureGroups;
520
+ };
521
+ const DEFAULT_PARENT_ID = '__DefaultParentId__';
522
+ const isTable = (vseed)=>'table' === vseed.chartType;
523
+ const isPivotTable = (vseed)=>'pivotTable' === vseed.chartType;
524
+ const isVTable = (vseed)=>[
525
+ 'table',
526
+ 'pivotTable'
527
+ ].includes(vseed.chartType);
528
+ const isVChart = (vseed)=>!isVTable(vseed);
529
+ const isPivotChart = (vseed)=>{
530
+ if (isVTable(vseed)) return false;
531
+ if (isMeasureTreeWithParentId(vseed.measures)) {
532
+ const parentIds = vseed.measures?.map((measure)=>measure.parentId || DEFAULT_PARENT_ID);
533
+ return parentIds && chunk_QJLMYOTX_i(parentIds).length > 1;
534
+ }
535
+ if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
536
+ const { dimensions = [] } = vseed;
537
+ const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
538
+ if (hasRowOrColumnDimension) return true;
539
+ if ('scatter' === vseed.chartType) {
540
+ if (isMeasureTreeWithChildren(vseed.measures)) {
541
+ const depth = measureDepth(vseed.measures);
542
+ return 3 === depth;
543
+ }
544
+ if (vseed.scatterMeasures && vseed.scatterMeasures.length > 1) return true;
545
+ return false;
546
+ }
547
+ if ('dualAxis' === vseed.chartType) {
548
+ if (isMeasureTreeWithChildren(vseed.measures)) {
549
+ const depth = measureDepth(vseed.measures);
550
+ return 3 === depth;
551
+ }
552
+ if (vseed.dualMeasures && vseed.dualMeasures.length > 1) return true;
553
+ }
554
+ return false;
555
+ }
556
+ const { measures = [], dimensions = [] } = vseed;
557
+ const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
558
+ const hasMeasureGroup = measures && measures.some((measure)=>measure && measure.children);
559
+ return hasRowOrColumnDimension || hasMeasureGroup;
560
+ };
448
561
  const getColorItems = (builder)=>{
449
562
  const advancedVSeed = builder.advancedVSeed;
450
- if (!advancedVSeed) return [];
563
+ if (!advancedVSeed || isTable(builder.vseed) || isPivotTable(builder.vseed)) return [];
451
564
  const { datasetReshapeInfo } = advancedVSeed;
452
565
  const colorItems = chunk_QJLMYOTX_i(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
453
566
  const colorIdMap = datasetReshapeInfo.reduce((prev, cur)=>({
@@ -458,7 +571,7 @@
458
571
  };
459
572
  const getColorIdMap = (builder)=>{
460
573
  const advancedVSeed = builder.advancedVSeed;
461
- if (!advancedVSeed) return {};
574
+ if (!advancedVSeed || isTable(builder.vseed) || isPivotTable(builder.vseed)) return {};
462
575
  const { datasetReshapeInfo } = advancedVSeed;
463
576
  const colorIdMap = datasetReshapeInfo.reduce((prev, cur)=>({
464
577
  ...prev,
@@ -516,7 +629,7 @@
516
629
  if (customPipe) pipeline.push(customPipe);
517
630
  return pipeline;
518
631
  };
519
- static getTheme = (themeKey)=>Builder._themeMap[themeKey];
632
+ static getTheme = (themeKey)=>Builder._themeMap[themeKey || 'light'];
520
633
  static getThemeMap = ()=>Builder._themeMap;
521
634
  static from = (vseed)=>new Builder(vseed);
522
635
  static _advancedPipelineMap = {};
@@ -564,23 +677,6 @@
564
677
  measures: defaultMeasures
565
678
  };
566
679
  };
567
- const preorderTraverse = (tree, callback)=>{
568
- if (!tree || 0 === tree.length) return;
569
- const stack = [
570
- ...tree
571
- ].reverse();
572
- while(stack.length > 0){
573
- const node = stack.pop();
574
- const stop = callback(node);
575
- if (true === stop) return;
576
- if (!('children' in node)) continue;
577
- const children = node.children;
578
- if (children && children.length > 0) for(let i = children.length - 1; i >= 0; i--){
579
- const child = children[i];
580
- stack.push(child);
581
- }
582
- }
583
- };
584
680
  const findMeasureById = (measures = [], id)=>{
585
681
  if (!measures) return;
586
682
  let result;
@@ -1240,14 +1336,14 @@
1240
1336
  measureId,
1241
1337
  measureName,
1242
1338
  measureValue,
1243
- colorRange: [
1244
- 0,
1245
- 1
1246
- ],
1247
- measureRange: [
1248
- 0,
1249
- 1
1250
- ],
1339
+ statistics: {
1340
+ max: -1 / 0,
1341
+ min: 1 / 0,
1342
+ sum: 0,
1343
+ count: 0,
1344
+ colorMin: 1 / 0,
1345
+ colorMax: -1 / 0
1346
+ },
1251
1347
  foldMap: {}
1252
1348
  };
1253
1349
  const result = new Array(dataset.length * measures.length);
@@ -1268,15 +1364,15 @@
1268
1364
  const value = datum[ORIGINAL_DATA][colorMeasureId];
1269
1365
  datum[ColorEncoding] = value;
1270
1366
  datum[ColorIdEncoding] = colorMeasureId;
1271
- foldInfo.colorRange = [
1272
- Math.min(foldInfo.colorRange[0] || 1 / 0, Number(value)),
1273
- Math.max(foldInfo.colorRange[1] || -1 / 0, Number(value))
1274
- ];
1275
- }
1276
- foldInfo.measureRange = [
1277
- Math.min(foldInfo.measureRange[0] || 1 / 0, Number(datum[id])),
1278
- Math.max(foldInfo.measureRange[1] || -1 / 0, Number(datum[id]))
1279
- ];
1367
+ const valueNumber = Number(value);
1368
+ foldInfo.statistics.colorMin = Math.min(foldInfo.statistics.colorMin, valueNumber);
1369
+ foldInfo.statistics.colorMax = Math.max(foldInfo.statistics.colorMax, valueNumber);
1370
+ }
1371
+ const valueNumber = Number(datum[id]);
1372
+ foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
1373
+ foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
1374
+ foldInfo.statistics.sum += valueNumber;
1375
+ foldInfo.statistics.count++;
1280
1376
  foldInfo.foldMap[id] = alias;
1281
1377
  result[index++] = datum;
1282
1378
  }
@@ -1731,6 +1827,8 @@
1731
1827
  ];
1732
1828
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
1733
1829
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
1830
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
1831
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
1734
1832
  };
1735
1833
  const line_generateDefaultMeasureEncoding = (measures, encoding)=>{
1736
1834
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -1739,100 +1837,18 @@
1739
1837
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
1740
1838
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
1741
1839
  if (color.length > 0) encoding.color = color;
1840
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
1841
+ encoding.label = chunk_QJLMYOTX_i([
1842
+ ...encoding.label || [],
1843
+ ...label
1844
+ ]);
1742
1845
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
1743
1846
  encoding.tooltip = chunk_QJLMYOTX_i([
1744
1847
  ...encoding.tooltip || [],
1848
+ ...label,
1745
1849
  ...tooltip
1746
1850
  ]);
1747
1851
  };
1748
- const isMeasureTreeWithChildren = (measures)=>{
1749
- if (!measures) return false;
1750
- return measures.some((measure)=>'children' in measure);
1751
- };
1752
- const isMeasureTreeWithParentId = (measures)=>{
1753
- if (!measures) return false;
1754
- return measures.some((measure)=>'parentId' in measure);
1755
- };
1756
- const normalizeMeasureTree = (measures)=>{
1757
- const createEmptyMeasureGroup = ()=>({
1758
- id: 'group',
1759
- alias: '',
1760
- children: []
1761
- });
1762
- let currentGroup = createEmptyMeasureGroup();
1763
- const measureGroups = [];
1764
- for (const measure of measures)if ('children' in measure) {
1765
- if (currentGroup.children?.length) {
1766
- currentGroup.id = [
1767
- currentGroup.id,
1768
- ...currentGroup.children.map((item)=>item.id)
1769
- ].join('-');
1770
- currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
1771
- measureGroups.push(currentGroup);
1772
- currentGroup = createEmptyMeasureGroup();
1773
- }
1774
- measureGroups.push(measure);
1775
- } else currentGroup.children?.push(measure);
1776
- if (currentGroup.children?.length) {
1777
- currentGroup.id = [
1778
- currentGroup.id,
1779
- ...currentGroup.children.map((item)=>item.id)
1780
- ].join('-');
1781
- currentGroup.alias = currentGroup.children.map((item)=>item.alias).join('-');
1782
- measureGroups.push(currentGroup);
1783
- currentGroup = createEmptyMeasureGroup();
1784
- }
1785
- return measureGroups;
1786
- };
1787
- const measureDepth = (measures = [])=>{
1788
- if (!measures) return 0;
1789
- let depth = 1;
1790
- preorderTraverse(measures, (node)=>{
1791
- if ('children' in node) depth = Math.max(depth, 1 + measureDepth(node.children));
1792
- return false;
1793
- });
1794
- return depth;
1795
- };
1796
- const DEFAULT_PARENT_ID = '__DefaultParentId__';
1797
- const isTable = (vseed)=>'table' === vseed.chartType;
1798
- const isPivotTable = (vseed)=>'pivotTable' === vseed.chartType;
1799
- const isVTable = (vseed)=>[
1800
- 'table',
1801
- 'pivotTable'
1802
- ].includes(vseed.chartType);
1803
- const isVChart = (vseed)=>!isVTable(vseed);
1804
- const isPivotChart = (vseed)=>{
1805
- if (isVTable(vseed)) return false;
1806
- if (isMeasureTreeWithParentId(vseed.measures)) {
1807
- const parentIds = vseed.measures?.map((measure)=>measure.parentId || DEFAULT_PARENT_ID);
1808
- return parentIds && chunk_QJLMYOTX_i(parentIds).length > 1;
1809
- }
1810
- if ('dualAxis' === vseed.chartType || 'scatter' === vseed.chartType) {
1811
- const { dimensions = [] } = vseed;
1812
- const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
1813
- if (hasRowOrColumnDimension) return true;
1814
- if ('scatter' === vseed.chartType) {
1815
- if (isMeasureTreeWithChildren(vseed.measures)) {
1816
- const depth = measureDepth(vseed.measures);
1817
- return 3 === depth;
1818
- }
1819
- if (vseed.scatterMeasures && vseed.scatterMeasures.length > 1) return true;
1820
- return false;
1821
- }
1822
- if ('dualAxis' === vseed.chartType) {
1823
- if (isMeasureTreeWithChildren(vseed.measures)) {
1824
- const depth = measureDepth(vseed.measures);
1825
- return 3 === depth;
1826
- }
1827
- if (vseed.dualMeasures && vseed.dualMeasures.length > 1) return true;
1828
- }
1829
- return false;
1830
- }
1831
- const { measures = [], dimensions = [] } = vseed;
1832
- const hasRowOrColumnDimension = dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
1833
- const hasMeasureGroup = measures && measures.some((measure)=>measure && measure.children);
1834
- return hasRowOrColumnDimension || hasMeasureGroup;
1835
- };
1836
1852
  const buildMeasures = (advancedVSeed)=>{
1837
1853
  if (isMeasureTreeWithChildren(advancedVSeed.measures)) {
1838
1854
  advancedVSeed.measures = normalizeMeasureTree(advancedVSeed.measures);
@@ -1914,14 +1930,60 @@
1914
1930
  }
1915
1931
  return measureTree;
1916
1932
  };
1917
- const deleteTooltipMeasure = (advancedVSeed)=>{
1918
- const deleteBy = (measure)=>'tooltip' === measure.encoding;
1933
+ const deleteTooltipAndLabelMeasure = (advancedVSeed)=>{
1934
+ const deleteBy = (measure)=>'tooltip' === measure.encoding || 'label' === measure.encoding;
1919
1935
  const measureTree = deleteMeasureTreeByCallback(advancedVSeed.measures, deleteBy);
1920
1936
  return {
1921
1937
  ...advancedVSeed,
1922
1938
  measures: measureTree
1923
1939
  };
1924
1940
  };
1941
+ const isDimension = (dimension)=>!('children' in dimension);
1942
+ const isDimensionGroup = (dimension)=>'children' in dimension;
1943
+ const deleteDimensionTreeByCallback = (dimensionTree, callback)=>{
1944
+ if (!dimensionTree) return dimensionTree;
1945
+ const stack = [
1946
+ ...dimensionTree
1947
+ ].reverse();
1948
+ const parents = new Map();
1949
+ dimensionTree.forEach((node)=>{
1950
+ parents.set(node, dimensionTree);
1951
+ });
1952
+ const nodesToProcess = [];
1953
+ const visited = new Set();
1954
+ while(stack.length > 0){
1955
+ const node = stack[stack.length - 1];
1956
+ if (isDimensionGroup(node) && node.children && !visited.has(node)) {
1957
+ visited.add(node);
1958
+ const children = node.children.slice().reverse();
1959
+ for (const child of children){
1960
+ parents.set(child, node.children);
1961
+ stack.push(child);
1962
+ }
1963
+ } else {
1964
+ stack.pop();
1965
+ nodesToProcess.push(node);
1966
+ }
1967
+ }
1968
+ for (const node of nodesToProcess){
1969
+ const parentList = parents.get(node);
1970
+ if (parentList) {
1971
+ const index = parentList.indexOf(node);
1972
+ if (isDimension(node)) {
1973
+ if (callback?.(node, index, parentList)) parentList.splice(index, 1);
1974
+ }
1975
+ }
1976
+ }
1977
+ return dimensionTree;
1978
+ };
1979
+ const deleteTooltipAndLabelDimension = (advancedVSeed)=>{
1980
+ const deleteBy = (dimension)=>'tooltip' === dimension.encoding || 'label' === dimension.encoding;
1981
+ const dimensionTree = deleteDimensionTreeByCallback(advancedVSeed.dimensions, deleteBy);
1982
+ return {
1983
+ ...advancedVSeed,
1984
+ dimensions: dimensionTree
1985
+ };
1986
+ };
1925
1987
  const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
1926
1988
  const { vseed } = context;
1927
1989
  const usePivotChart = isPivotChart(vseed);
@@ -2183,13 +2245,30 @@
2183
2245
  });
2184
2246
  return chunk_QJLMYOTX_i(res.map((item)=>item[id]));
2185
2247
  };
2248
+ function chunk_3ZJAREUD_i(...e) {
2249
+ return chunk_WIMGWYZL_u(chunk_3ZJAREUD_o, e);
2250
+ }
2251
+ function chunk_3ZJAREUD_o(e, r) {
2252
+ let a = {};
2253
+ for (let [n, u] of Object.entries(e)){
2254
+ let l = r(u, n, e);
2255
+ a[n] = l;
2256
+ }
2257
+ return a;
2258
+ }
2259
+ const replaceNullToUndefined = (obj)=>{
2260
+ if (null === obj) return;
2261
+ if (Array.isArray(obj)) return obj.map(replaceNullToUndefined);
2262
+ if (chunk_BZNENX2T_r(obj)) return C(obj, chunk_3ZJAREUD_i((value)=>replaceNullToUndefined(value)));
2263
+ return obj;
2264
+ };
2186
2265
  const lineConfig = (advancedVSeed, context)=>{
2187
2266
  const { vseed } = context;
2188
2267
  const { chartType } = vseed;
2189
2268
  const result = {
2190
2269
  ...advancedVSeed
2191
2270
  };
2192
- const config = chunk_2T7K3PFL_i(vseed, [
2271
+ const pickedConfig = chunk_2T7K3PFL_i(vseed, [
2193
2272
  'backgroundColor',
2194
2273
  'color',
2195
2274
  'label',
@@ -2199,6 +2278,7 @@
2199
2278
  'yAxis',
2200
2279
  'crosshairLine'
2201
2280
  ]);
2281
+ const config = replaceNullToUndefined(pickedConfig);
2202
2282
  result.config = {
2203
2283
  ...result.config || {},
2204
2284
  [chartType]: {
@@ -2269,12 +2349,13 @@
2269
2349
  const radarConfig = pieConfig;
2270
2350
  const markStyle_markStyle = (advancedVSeed, context)=>{
2271
2351
  const { vseed } = context;
2272
- const markStyle = chunk_2T7K3PFL_i(vseed, [
2352
+ const pickedMarkStyle = chunk_2T7K3PFL_i(vseed, [
2273
2353
  'barStyle',
2274
2354
  'pointStyle',
2275
2355
  'lineStyle',
2276
2356
  'areaStyle'
2277
2357
  ]);
2358
+ const markStyle = replaceNullToUndefined(pickedMarkStyle);
2278
2359
  return {
2279
2360
  ...advancedVSeed,
2280
2361
  markStyle
@@ -2304,7 +2385,8 @@
2304
2385
  ], [
2305
2386
  encodingForLine,
2306
2387
  buildMeasures,
2307
- deleteTooltipMeasure
2388
+ deleteTooltipAndLabelMeasure,
2389
+ deleteTooltipAndLabelDimension
2308
2390
  ]),
2309
2391
  pivotAdapter([
2310
2392
  reshapeWithEncoding
@@ -3190,36 +3272,56 @@
3190
3272
  const result = {
3191
3273
  ...spec
3192
3274
  };
3193
- const { advancedVSeed } = context;
3194
- const { measures, datasetReshapeInfo, locale } = advancedVSeed;
3195
- const { chartType } = advancedVSeed;
3275
+ const { advancedVSeed, vseed } = context;
3276
+ const { measures, datasetReshapeInfo } = advancedVSeed;
3277
+ const { chartType, encoding } = advancedVSeed;
3196
3278
  const baseConfig = advancedVSeed.config[chartType];
3197
3279
  if (!baseConfig || !baseConfig.label) return result;
3198
- const { measureId, measureValue } = datasetReshapeInfo[0].foldInfo;
3280
+ const { measureId, measureValue, statistics } = datasetReshapeInfo[0].foldInfo;
3199
3281
  const { label } = baseConfig;
3200
- const { enable } = label;
3282
+ const { enable, wrap, showValue, showValuePercent } = label;
3283
+ const labelDims = T((vseed.dimensions || []).filter((item)=>encoding.label?.includes(item.id)), (item)=>item.id);
3284
+ const labelMeas = T((vseed.measures || []).filter((item)=>encoding.label?.includes(item.id)), (item)=>item.id);
3285
+ const format = {
3286
+ type: 'percent'
3287
+ };
3288
+ const formatter = createFormatter(format);
3201
3289
  result.label = {
3202
3290
  visible: enable,
3203
- formatMethod: (value, datum)=>{
3291
+ formatMethod: (_, datum)=>{
3204
3292
  const result = [];
3205
- const formatValue = (value)=>{
3206
- const id = datum[measureId];
3207
- const measure = findMeasureById(measures, id);
3208
- if (!measure) return value;
3209
- const { format = {}, autoFormat = true } = measure;
3210
- if (!chunk_VCYTMP4D_n(format)) {
3211
- const formatter = createFormatter(format);
3212
- return formatter(value);
3213
- }
3214
- if (autoFormat) return autoFormatter(value, locale);
3215
- return String(value);
3216
- };
3217
- result.push(formatValue(datum[measureValue]));
3293
+ const measure = findMeasureById(measures, datum[measureId]);
3294
+ const dimLabels = labelDims.map((item)=>item.alias || item.id);
3295
+ const meaLabels = labelMeas.map((item)=>generateMeasureValue(datum[item.id], item));
3296
+ const measureValueLabel = generateMeasureValue(datum[measureValue], measure);
3297
+ const measurePercentLabel = generateMeasurePercent(datum[measureValue], statistics.sum, formatter);
3298
+ result.push(...dimLabels);
3299
+ if (showValue) result.push(measureValueLabel);
3300
+ if (showValuePercent) result.push(measurePercentLabel);
3301
+ result.push(...meaLabels);
3302
+ if (wrap) return result;
3218
3303
  return result.join(' ');
3219
3304
  }
3220
3305
  };
3221
3306
  return result;
3222
3307
  };
3308
+ const generateMeasureValue = (value, measure)=>{
3309
+ if (!measure) return value;
3310
+ const { format = {}, autoFormat = true } = measure;
3311
+ if (!chunk_VCYTMP4D_n(format)) {
3312
+ const formatter = createFormatter(format);
3313
+ return formatter(value);
3314
+ }
3315
+ if (autoFormat) return autoFormatter(value, intl.getLocale());
3316
+ return String(value);
3317
+ };
3318
+ const generateMeasurePercent = (value, sum, formatter)=>{
3319
+ if (null == value) return String(value);
3320
+ const num = Number(value);
3321
+ if (Number.isNaN(num)) return String(value);
3322
+ const percentValue = num / sum;
3323
+ return formatter(percentValue);
3324
+ };
3223
3325
  const tooltip_tooltip = (spec, context)=>{
3224
3326
  const result = {
3225
3327
  ...spec
@@ -4122,8 +4224,8 @@
4122
4224
  const baseConfig = advancedVSeed.config[chartType];
4123
4225
  if (!baseConfig || !baseConfig.legend) return result;
4124
4226
  const { datasetReshapeInfo } = advancedVSeed;
4125
- const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.colorRange[1]));
4126
- const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.colorRange[0]));
4227
+ const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMin));
4228
+ const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
4127
4229
  const { legend, color } = baseConfig;
4128
4230
  const { colorScheme, linearColorScheme } = color;
4129
4231
  const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight = 400 } = legend || {};
@@ -4292,7 +4394,7 @@
4292
4394
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
4293
4395
  encoding.x = uniqueDimIds.slice(0, 1);
4294
4396
  encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
4295
- encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
4397
+ encoding.detail = encoding.color;
4296
4398
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
4297
4399
  encoding.label = [];
4298
4400
  encoding.row = [];
@@ -4308,11 +4410,11 @@
4308
4410
  MeasureName
4309
4411
  ];
4310
4412
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
4311
- if (0 === encoding.detail.length) encoding.detail = [
4312
- MeasureName
4313
- ];
4413
+ if (0 === encoding.detail.length) encoding.detail = encoding.color;
4314
4414
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
4315
4415
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
4416
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
4417
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
4316
4418
  };
4317
4419
  const column_generateDefaultMeasureEncoding = (measures, encoding)=>{
4318
4420
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -4321,9 +4423,15 @@
4321
4423
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4322
4424
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
4323
4425
  if (color.length > 0) encoding.color = color;
4426
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
4427
+ encoding.label = chunk_QJLMYOTX_i([
4428
+ ...encoding.label || [],
4429
+ ...label
4430
+ ]);
4324
4431
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
4325
4432
  encoding.tooltip = chunk_QJLMYOTX_i([
4326
4433
  ...encoding.tooltip || [],
4434
+ ...label,
4327
4435
  ...tooltip
4328
4436
  ]);
4329
4437
  };
@@ -4338,7 +4446,8 @@
4338
4446
  ], [
4339
4447
  encodingForColumn,
4340
4448
  buildMeasures,
4341
- deleteTooltipMeasure
4449
+ deleteTooltipAndLabelMeasure,
4450
+ deleteTooltipAndLabelDimension
4342
4451
  ]),
4343
4452
  pivotAdapter([
4344
4453
  reshapeWithEncoding
@@ -4708,7 +4817,8 @@
4708
4817
  ], [
4709
4818
  encodingForColumn,
4710
4819
  buildMeasures,
4711
- deleteTooltipMeasure
4820
+ deleteTooltipAndLabelMeasure,
4821
+ deleteTooltipAndLabelDimension
4712
4822
  ]),
4713
4823
  pivotAdapter([
4714
4824
  reshapeWithEncoding
@@ -4813,7 +4923,8 @@
4813
4923
  ], [
4814
4924
  encodingForColumn,
4815
4925
  buildMeasures,
4816
- deleteTooltipMeasure
4926
+ deleteTooltipAndLabelMeasure,
4927
+ deleteTooltipAndLabelDimension
4817
4928
  ]),
4818
4929
  pivotAdapter([
4819
4930
  reshapeWithEncoding
@@ -4922,7 +5033,7 @@
4922
5033
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
4923
5034
  encoding.y = uniqueDimIds.slice(0, 1);
4924
5035
  encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
4925
- encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
5036
+ encoding.detail = encoding.color;
4926
5037
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
4927
5038
  encoding.label = [];
4928
5039
  encoding.row = [];
@@ -4938,11 +5049,11 @@
4938
5049
  MeasureName
4939
5050
  ];
4940
5051
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
4941
- if (0 === encoding.detail.length) encoding.detail = [
4942
- MeasureName
4943
- ];
5052
+ if (0 === encoding.detail.length) encoding.detail = encoding.color;
4944
5053
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
4945
5054
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
5055
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
5056
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
4946
5057
  };
4947
5058
  const bar_generateDefaultMeasureEncoding = (measures, encoding)=>{
4948
5059
  encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -4951,9 +5062,15 @@
4951
5062
  encoding.x = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
4952
5063
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
4953
5064
  if (color.length > 0) encoding.color = color;
5065
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
5066
+ encoding.label = chunk_QJLMYOTX_i([
5067
+ ...encoding.label || [],
5068
+ ...label
5069
+ ]);
4954
5070
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
4955
5071
  encoding.tooltip = chunk_QJLMYOTX_i([
4956
5072
  ...encoding.tooltip || [],
5073
+ ...label,
4957
5074
  ...tooltip
4958
5075
  ]);
4959
5076
  };
@@ -4984,7 +5101,8 @@
4984
5101
  ], [
4985
5102
  encodingForBar,
4986
5103
  buildMeasures,
4987
- deleteTooltipMeasure
5104
+ deleteTooltipAndLabelMeasure,
5105
+ deleteTooltipAndLabelDimension
4988
5106
  ]),
4989
5107
  pivotAdapter([
4990
5108
  reshapeWithEncoding
@@ -5345,7 +5463,8 @@
5345
5463
  ], [
5346
5464
  encodingForBar,
5347
5465
  buildMeasures,
5348
- deleteTooltipMeasure
5466
+ deleteTooltipAndLabelMeasure,
5467
+ deleteTooltipAndLabelDimension
5349
5468
  ]),
5350
5469
  pivotAdapter([
5351
5470
  reshapeWithEncoding
@@ -5449,7 +5568,8 @@
5449
5568
  ], [
5450
5569
  encodingForBar,
5451
5570
  buildMeasures,
5452
- deleteTooltipMeasure
5571
+ deleteTooltipAndLabelMeasure,
5572
+ deleteTooltipAndLabelDimension
5453
5573
  ]),
5454
5574
  pivotAdapter([
5455
5575
  reshapeWithEncoding
@@ -5528,7 +5648,8 @@
5528
5648
  ], [
5529
5649
  encodingForLine,
5530
5650
  buildMeasures,
5531
- deleteTooltipMeasure
5651
+ deleteTooltipAndLabelMeasure,
5652
+ deleteTooltipAndLabelDimension
5532
5653
  ]),
5533
5654
  pivotAdapter([
5534
5655
  reshapeWithEncoding
@@ -5694,7 +5815,8 @@
5694
5815
  ], [
5695
5816
  encodingForLine,
5696
5817
  buildMeasures,
5697
- deleteTooltipMeasure
5818
+ deleteTooltipAndLabelMeasure,
5819
+ deleteTooltipAndLabelDimension
5698
5820
  ]),
5699
5821
  pivotAdapter([
5700
5822
  reshapeWithEncoding
@@ -5799,7 +5921,7 @@
5799
5921
  const dimensionsWithoutMeasureName = dimensions.filter((item)=>item.id !== MeasureName);
5800
5922
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureName.map((d)=>d.id));
5801
5923
  encoding.color = uniqueDimIds.slice(0);
5802
- encoding.detail = uniqueDimIds.slice(0);
5924
+ encoding.detail = encoding.color;
5803
5925
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
5804
5926
  encoding.label = [];
5805
5927
  encoding.row = [];
@@ -5816,6 +5938,8 @@
5816
5938
  ];
5817
5939
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
5818
5940
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
5941
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
5942
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
5819
5943
  };
5820
5944
  const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
5821
5945
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -5826,9 +5950,15 @@
5826
5950
  if (color.length > 0) encoding.color = [
5827
5951
  color[0]
5828
5952
  ];
5953
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
5954
+ encoding.label = chunk_QJLMYOTX_i([
5955
+ ...encoding.label || [],
5956
+ ...label
5957
+ ]);
5829
5958
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
5830
5959
  encoding.tooltip = chunk_QJLMYOTX_i([
5831
5960
  ...encoding.tooltip || [],
5961
+ ...label,
5832
5962
  ...tooltip
5833
5963
  ]);
5834
5964
  };
@@ -6070,7 +6200,8 @@
6070
6200
  ], [
6071
6201
  encodingForScatter,
6072
6202
  buildMeasuresForScatter,
6073
- deleteTooltipMeasure
6203
+ deleteTooltipAndLabelMeasure,
6204
+ deleteTooltipAndLabelDimension
6074
6205
  ]),
6075
6206
  pivotAdapter([
6076
6207
  reshapeWithScatterEncoding
@@ -6346,7 +6477,7 @@
6346
6477
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
6347
6478
  encoding.x = uniqueDimIds.slice(0, 1);
6348
6479
  encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
6349
- encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
6480
+ encoding.detail = encoding.color;
6350
6481
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
6351
6482
  encoding.label = [];
6352
6483
  encoding.row = [];
@@ -6362,11 +6493,11 @@
6362
6493
  MeasureName
6363
6494
  ];
6364
6495
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
6365
- if (0 === encoding.detail.length) encoding.detail = [
6366
- MeasureName
6367
- ];
6496
+ if (0 === encoding.detail.length) encoding.detail = encoding.color;
6368
6497
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
6369
6498
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
6499
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
6500
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
6370
6501
  };
6371
6502
  const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
6372
6503
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -6375,9 +6506,15 @@
6375
6506
  encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
6376
6507
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
6377
6508
  if (color.length > 0) encoding.color = color;
6509
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
6510
+ encoding.label = chunk_QJLMYOTX_i([
6511
+ ...encoding.label || [],
6512
+ ...label
6513
+ ]);
6378
6514
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
6379
6515
  encoding.tooltip = chunk_QJLMYOTX_i([
6380
6516
  ...encoding.tooltip || [],
6517
+ ...label,
6381
6518
  ...tooltip
6382
6519
  ]);
6383
6520
  };
@@ -6608,18 +6745,21 @@
6608
6745
  const result = {
6609
6746
  ...advancedVSeed
6610
6747
  };
6611
- const config = chunk_2T7K3PFL_i(vseed, [
6748
+ const pickedConfig = chunk_2T7K3PFL_i(vseed, [
6612
6749
  'backgroundColor',
6613
6750
  'color',
6614
6751
  'label',
6615
6752
  'legend',
6616
6753
  'tooltip',
6754
+ 'xAxis',
6617
6755
  'dualChartType',
6618
6756
  'alignTicks',
6619
6757
  'primaryYAxis',
6620
6758
  'secondaryYAxis',
6621
- 'crosshairLine'
6759
+ 'crosshairLine',
6760
+ 'crosshairRect'
6622
6761
  ]);
6762
+ const config = replaceNullToUndefined(pickedConfig);
6623
6763
  result.config = {
6624
6764
  ...result.config || {},
6625
6765
  [chartType]: {
@@ -6639,7 +6779,8 @@
6639
6779
  ], [
6640
6780
  encodingForDualAxis,
6641
6781
  buildMeasuresForDualAxis,
6642
- deleteTooltipMeasure
6782
+ deleteTooltipAndLabelMeasure,
6783
+ deleteTooltipAndLabelDimension
6643
6784
  ]),
6644
6785
  pivotAdapter([
6645
6786
  reshapeWithDualEncoding
@@ -6769,6 +6910,7 @@
6769
6910
  case 'columnPercent':
6770
6911
  result.type = 'bar';
6771
6912
  result.percent = true;
6913
+ result.zIndex = 1000;
6772
6914
  break;
6773
6915
  case 'area':
6774
6916
  result.type = 'area';
@@ -6825,6 +6967,7 @@
6825
6967
  case 'columnPercent':
6826
6968
  result.type = 'bar';
6827
6969
  result.percent = true;
6970
+ result.zIndex = 1000;
6828
6971
  break;
6829
6972
  case 'area':
6830
6973
  result.type = 'area';
@@ -7407,7 +7550,7 @@
7407
7550
  const pie_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
7408
7551
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
7409
7552
  encoding.color = uniqueDimIds.slice(0);
7410
- encoding.detail = uniqueDimIds.slice(0);
7553
+ encoding.detail = encoding.color;
7411
7554
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
7412
7555
  encoding.label = [];
7413
7556
  encoding.row = [];
@@ -7424,6 +7567,8 @@
7424
7567
  ];
7425
7568
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
7426
7569
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
7570
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
7571
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
7427
7572
  };
7428
7573
  const pie_generateDefaultMeasureEncoding = (measures, encoding)=>{
7429
7574
  encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -7432,9 +7577,15 @@
7432
7577
  encoding.angle = chunk_QJLMYOTX_i(measures.filter((item)=>'angle' === item.encoding || !item.encoding).map((item)=>item.id));
7433
7578
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7434
7579
  if (color.length > 0) encoding.color = color;
7580
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
7581
+ encoding.label = chunk_QJLMYOTX_i([
7582
+ ...encoding.label || [],
7583
+ ...label
7584
+ ]);
7435
7585
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
7436
7586
  encoding.tooltip = chunk_QJLMYOTX_i([
7437
7587
  ...encoding.tooltip || [],
7588
+ ...label,
7438
7589
  ...tooltip
7439
7590
  ]);
7440
7591
  };
@@ -7449,7 +7600,8 @@
7449
7600
  ], [
7450
7601
  encodingForPie,
7451
7602
  buildMeasures,
7452
- deleteTooltipMeasure
7603
+ deleteTooltipAndLabelMeasure,
7604
+ deleteTooltipAndLabelDimension
7453
7605
  ]),
7454
7606
  pivotAdapter([
7455
7607
  reshapeWithEncoding
@@ -7575,7 +7727,8 @@
7575
7727
  ], [
7576
7728
  encodingForPie,
7577
7729
  buildMeasures,
7578
- deleteTooltipMeasure
7730
+ deleteTooltipAndLabelMeasure,
7731
+ deleteTooltipAndLabelDimension
7579
7732
  ]),
7580
7733
  pivotAdapter([
7581
7734
  reshapeWithEncoding
@@ -7683,7 +7836,7 @@
7683
7836
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
7684
7837
  encoding.angle = uniqueDimIds.slice(0, 1);
7685
7838
  encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7686
- encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
7839
+ encoding.detail = encoding.color;
7687
7840
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
7688
7841
  encoding.label = [];
7689
7842
  encoding.row = [];
@@ -7699,11 +7852,11 @@
7699
7852
  MeasureName
7700
7853
  ];
7701
7854
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
7702
- if (0 === encoding.detail.length) encoding.detail = [
7703
- MeasureName
7704
- ];
7855
+ if (0 === encoding.detail.length) encoding.detail = encoding.color;
7705
7856
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
7706
7857
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
7858
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
7859
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
7707
7860
  };
7708
7861
  const rose_generateDefaultMeasureEncoding = (measures, encoding)=>{
7709
7862
  encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -7712,9 +7865,15 @@
7712
7865
  encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
7713
7866
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
7714
7867
  if (color.length > 0) encoding.color = color;
7868
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
7869
+ encoding.label = chunk_QJLMYOTX_i([
7870
+ ...encoding.label || [],
7871
+ ...label
7872
+ ]);
7715
7873
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
7716
7874
  encoding.tooltip = chunk_QJLMYOTX_i([
7717
7875
  ...encoding.tooltip || [],
7876
+ ...label,
7718
7877
  ...tooltip
7719
7878
  ]);
7720
7879
  };
@@ -7729,7 +7888,8 @@
7729
7888
  ], [
7730
7889
  encodingForRose,
7731
7890
  buildMeasures,
7732
- deleteTooltipMeasure
7891
+ deleteTooltipAndLabelMeasure,
7892
+ deleteTooltipAndLabelDimension
7733
7893
  ]),
7734
7894
  pivotAdapter([
7735
7895
  reshapeWithEncoding
@@ -7935,7 +8095,8 @@
7935
8095
  ], [
7936
8096
  encodingForRose,
7937
8097
  buildMeasures,
7938
- deleteTooltipMeasure
8098
+ deleteTooltipAndLabelMeasure,
8099
+ deleteTooltipAndLabelDimension
7939
8100
  ]),
7940
8101
  pivotAdapter([
7941
8102
  reshapeWithEncoding
@@ -8093,6 +8254,8 @@
8093
8254
  ];
8094
8255
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
8095
8256
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
8257
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
8258
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
8096
8259
  };
8097
8260
  const radar_generateDefaultMeasureEncoding = (measures, encoding)=>{
8098
8261
  encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -8101,9 +8264,15 @@
8101
8264
  encoding.radius = chunk_QJLMYOTX_i(measures.filter((item)=>'radius' === item.encoding || !item.encoding).map((item)=>item.id));
8102
8265
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
8103
8266
  if (color.length > 0) encoding.color = color;
8267
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
8268
+ encoding.label = chunk_QJLMYOTX_i([
8269
+ ...encoding.label || [],
8270
+ ...label
8271
+ ]);
8104
8272
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
8105
8273
  encoding.tooltip = chunk_QJLMYOTX_i([
8106
8274
  ...encoding.tooltip || [],
8275
+ ...label,
8107
8276
  ...tooltip
8108
8277
  ]);
8109
8278
  };
@@ -8118,7 +8287,8 @@
8118
8287
  ], [
8119
8288
  encodingForRadar,
8120
8289
  buildMeasures,
8121
- deleteTooltipMeasure
8290
+ deleteTooltipAndLabelMeasure,
8291
+ deleteTooltipAndLabelDimension
8122
8292
  ]),
8123
8293
  pivotAdapter([
8124
8294
  reshapeWithEncoding
@@ -8282,7 +8452,7 @@
8282
8452
  const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
8283
8453
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
8284
8454
  encoding.color = uniqueDimIds.slice(0);
8285
- encoding.detail = uniqueDimIds.slice(0);
8455
+ encoding.detail = encoding.color;
8286
8456
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
8287
8457
  encoding.label = [];
8288
8458
  encoding.row = [];
@@ -8299,6 +8469,8 @@
8299
8469
  ];
8300
8470
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
8301
8471
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
8472
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
8473
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
8302
8474
  };
8303
8475
  const funnel_generateDefaultMeasureEncoding = (measures, encoding)=>{
8304
8476
  encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -8309,9 +8481,15 @@
8309
8481
  if (color.length > 0) encoding.color = [
8310
8482
  color[0]
8311
8483
  ];
8484
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
8485
+ encoding.label = chunk_QJLMYOTX_i([
8486
+ ...encoding.label || [],
8487
+ ...label
8488
+ ]);
8312
8489
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
8313
8490
  encoding.tooltip = chunk_QJLMYOTX_i([
8314
8491
  ...encoding.tooltip || [],
8492
+ ...label,
8315
8493
  ...tooltip
8316
8494
  ]);
8317
8495
  };
@@ -8326,7 +8504,8 @@
8326
8504
  ], [
8327
8505
  encodingForFunnel,
8328
8506
  buildMeasures,
8329
- deleteTooltipMeasure
8507
+ deleteTooltipAndLabelMeasure,
8508
+ deleteTooltipAndLabelDimension
8330
8509
  ]),
8331
8510
  pivotAdapter([
8332
8511
  reshapeWithEncoding
@@ -8472,7 +8651,7 @@
8472
8651
  encoding.x = uniqueDimIds.slice(0, 1);
8473
8652
  encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
8474
8653
  encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
8475
- encoding.detail = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
8654
+ encoding.detail = encoding.color;
8476
8655
  encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
8477
8656
  encoding.label = [];
8478
8657
  encoding.row = [];
@@ -8491,11 +8670,11 @@
8491
8670
  MeasureName
8492
8671
  ];
8493
8672
  encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
8494
- if (0 === encoding.detail.length) encoding.detail = [
8495
- MeasureName
8496
- ];
8673
+ if (0 === encoding.detail.length) encoding.detail = encoding.color;
8497
8674
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
8498
8675
  encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
8676
+ encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
8677
+ encoding.label = encoding.label.filter((d)=>d !== MeasureName);
8499
8678
  };
8500
8679
  const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
8501
8680
  const colorDims = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
@@ -8508,9 +8687,15 @@
8508
8687
  if (color.length > 0) encoding.color = [
8509
8688
  color[0]
8510
8689
  ];
8690
+ const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
8691
+ encoding.label = chunk_QJLMYOTX_i([
8692
+ ...encoding.label || [],
8693
+ ...label
8694
+ ]);
8511
8695
  const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
8512
8696
  encoding.tooltip = chunk_QJLMYOTX_i([
8513
8697
  ...encoding.tooltip || [],
8698
+ ...label,
8514
8699
  ...tooltip
8515
8700
  ]);
8516
8701
  };
@@ -8525,7 +8710,8 @@
8525
8710
  ], [
8526
8711
  encodingForHeatmap,
8527
8712
  buildMeasures,
8528
- deleteTooltipMeasure
8713
+ deleteTooltipAndLabelMeasure,
8714
+ deleteTooltipAndLabelDimension
8529
8715
  ]),
8530
8716
  pivotAdapter([
8531
8717
  reshapeWithEncoding
@@ -8886,7 +9072,10 @@
8886
9072
  ]
8887
9073
  },
8888
9074
  label: {
8889
- enable: true
9075
+ enable: true,
9076
+ wrap: true,
9077
+ showValue: true,
9078
+ showValuePercent: false
8890
9079
  },
8891
9080
  tooltip: {
8892
9081
  enable: true
@@ -9047,7 +9236,11 @@
9047
9236
  crosshairRect
9048
9237
  },
9049
9238
  pie: {
9050
- ...baseConfig
9239
+ ...baseConfig,
9240
+ label: {
9241
+ ...baseConfig.label,
9242
+ showValuePercent: true
9243
+ }
9051
9244
  },
9052
9245
  donut: {
9053
9246
  ...baseConfig
@@ -9056,10 +9249,18 @@
9056
9249
  ...baseConfig
9057
9250
  },
9058
9251
  rose: {
9059
- ...baseConfig
9252
+ ...baseConfig,
9253
+ label: {
9254
+ ...baseConfig.label,
9255
+ showValuePercent: true
9256
+ }
9060
9257
  },
9061
9258
  roseParallel: {
9062
- ...baseConfig
9259
+ ...baseConfig,
9260
+ label: {
9261
+ ...baseConfig.label,
9262
+ showValuePercent: true
9263
+ }
9063
9264
  },
9064
9265
  funnel: {
9065
9266
  ...baseConfig
@@ -9195,7 +9396,10 @@
9195
9396
  ]
9196
9397
  },
9197
9398
  label: {
9198
- enable: true
9399
+ enable: true,
9400
+ wrap: true,
9401
+ showValue: true,
9402
+ showValuePercent: false
9199
9403
  },
9200
9404
  tooltip: {
9201
9405
  enable: true
@@ -9355,7 +9559,11 @@
9355
9559
  crosshairRect
9356
9560
  },
9357
9561
  pie: {
9358
- ...baseConfig
9562
+ ...baseConfig,
9563
+ label: {
9564
+ ...baseConfig.label,
9565
+ showValuePercent: true
9566
+ }
9359
9567
  },
9360
9568
  donut: {
9361
9569
  ...baseConfig
@@ -9364,10 +9572,18 @@
9364
9572
  ...baseConfig
9365
9573
  },
9366
9574
  rose: {
9367
- ...baseConfig
9575
+ ...baseConfig,
9576
+ label: {
9577
+ ...baseConfig.label,
9578
+ showValuePercent: true
9579
+ }
9368
9580
  },
9369
9581
  roseParallel: {
9370
- ...baseConfig
9582
+ ...baseConfig,
9583
+ label: {
9584
+ ...baseConfig.label,
9585
+ showValuePercent: true
9586
+ }
9371
9587
  },
9372
9588
  funnel: {
9373
9589
  ...baseConfig
@@ -9421,15 +9637,6 @@
9421
9637
  const updateSpec = (chartType, specPipe)=>{
9422
9638
  Builder._customSpecPipe[chartType] = specPipe;
9423
9639
  };
9424
- const findAllDimensions = (dimensions = [])=>{
9425
- if (!dimensions) return [];
9426
- const result = [];
9427
- preorderTraverse(dimensions, (node)=>{
9428
- if (!('children' in node)) result.push(node);
9429
- return false;
9430
- });
9431
- return result;
9432
- };
9433
9640
  Object.freeze({
9434
9641
  status: "aborted"
9435
9642
  });
@@ -12851,8 +13058,14 @@
12851
13058
  const zScatterMeasures = schemas_array(zScatterMeasure);
12852
13059
  const zFoldInfo = schemas_object({
12853
13060
  foldMap: record(schemas_string(), schemas_string().or(schemas_undefined())),
12854
- colorRange: schemas_array(schemas_number()),
12855
- measureRange: schemas_array(schemas_number()),
13061
+ statistics: schemas_object({
13062
+ min: schemas_number(),
13063
+ max: schemas_number(),
13064
+ sum: schemas_number(),
13065
+ count: schemas_number(),
13066
+ colorMin: schemas_number(),
13067
+ colorMax: schemas_number()
13068
+ }),
12856
13069
  measureId: schemas_string(),
12857
13070
  measureName: schemas_string(),
12858
13071
  measureValue: schemas_string()
@@ -12888,6 +13101,20 @@
12888
13101
  column: schemas_array(schemas_string()).nullish(),
12889
13102
  group: schemas_array(schemas_string()).nullish().describe("\u5DF2\u5F03\u7528, \u8BF7\u4F7F\u7528\u989C\u8272\u66FF\u4EE3")
12890
13103
  });
13104
+ const EncodingEnum = {
13105
+ x: 'x',
13106
+ y: 'y',
13107
+ angle: 'angle',
13108
+ radius: 'radius',
13109
+ detail: 'detail',
13110
+ color: 'color',
13111
+ size: 'size',
13112
+ tooltip: 'tooltip',
13113
+ label: 'label',
13114
+ row: 'row',
13115
+ column: 'column',
13116
+ group: 'group'
13117
+ };
12891
13118
  const zDimensionEncoding = schemas_enum([
12892
13119
  'xAxis',
12893
13120
  'yAxis',
@@ -12899,6 +13126,17 @@
12899
13126
  'row',
12900
13127
  'column'
12901
13128
  ]);
13129
+ const DimensionEncodingEnum = {
13130
+ xAxis: 'xAxis',
13131
+ yAxis: 'yAxis',
13132
+ angle: 'angle',
13133
+ color: 'color',
13134
+ detail: 'detail',
13135
+ tooltip: 'tooltip',
13136
+ label: 'label',
13137
+ row: 'row',
13138
+ column: 'column'
13139
+ };
12902
13140
  const zMeasureEncoding = schemas_enum([
12903
13141
  'primaryYAxis',
12904
13142
  'secondaryYAxis',
@@ -12913,6 +13151,20 @@
12913
13151
  'label',
12914
13152
  'tooltip'
12915
13153
  ]);
13154
+ const MeasureEncodingEnum = {
13155
+ primaryYAxis: 'primaryYAxis',
13156
+ secondaryYAxis: 'secondaryYAxis',
13157
+ xAxis: 'xAxis',
13158
+ yAxis: 'yAxis',
13159
+ angle: 'angle',
13160
+ radius: 'radius',
13161
+ size: 'size',
13162
+ color: 'color',
13163
+ detail: 'detail',
13164
+ column: 'column',
13165
+ label: 'label',
13166
+ tooltip: 'tooltip'
13167
+ };
12916
13168
  const zXBandAxis = schemas_object({
12917
13169
  visible: schemas_boolean().default(true).nullish(),
12918
13170
  labelAutoHide: schemas_boolean().default(true).nullish(),
@@ -13028,7 +13280,10 @@
13028
13280
  linearColorScheme: schemas_array(schemas_string()).nullish()
13029
13281
  });
13030
13282
  const zLabel = schemas_object({
13031
- enable: schemas_boolean().default(true).nullish()
13283
+ enable: schemas_boolean().nullish(),
13284
+ wrap: schemas_boolean().nullish(),
13285
+ showValue: schemas_boolean().nullish(),
13286
+ showValuePercent: schemas_boolean().nullish()
13032
13287
  });
13033
13288
  const zLegend = schemas_object({
13034
13289
  enable: schemas_boolean().default(true).nullish(),