@xq-labs/data-ui-v2 0.2.0 → 0.3.0
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.
- package/README.md +38 -12
- package/docs/api/overview.md +263 -33
- package/docs/examples/bar-line-chart.md +42 -4
- package/docs/examples/local-development.md +191 -0
- package/docs/examples/pie-chart.md +48 -10
- package/docs/examples/radar-chart.md +97 -0
- package/es/bar-line-chart/index.js +3 -3
- package/es/base-chart/index.js +1 -1
- package/es/{colors-ca059479.js → colors-ec0ad9ce.js} +10 -1
- package/es/index-788e473f.js +471 -0
- package/es/{index-6af2ada7.js → index-78b6b881.js} +125 -65
- package/es/{index-6128787e.js → index-d01ce220.js} +130 -9
- package/es/index.js +8 -6
- package/es/pie-chart/3d-runtime.js +6 -0
- package/es/pie-chart/index.js +3 -3
- package/es/radar-chart/index.js +13 -0
- package/es/with-install-e405b463.js +560 -0
- package/lib/bar-line-chart/index.js +3 -3
- package/lib/base-chart/index.js +1 -1
- package/lib/{colors-55265c91.js → colors-19a7242d.js} +10 -0
- package/lib/index-6039f724.js +492 -0
- package/lib/{index-b3548b04.js → index-a0ecafa1.js} +124 -65
- package/lib/{index-ce63a14a.js → index-cc49894a.js} +129 -8
- package/lib/index.js +8 -5
- package/lib/pie-chart/3d-runtime.js +27 -0
- package/lib/pie-chart/index.js +3 -3
- package/lib/radar-chart/index.js +19 -0
- package/lib/with-install-4304a8ea.js +565 -0
- package/package.json +12 -2
- package/pie-chart/3d-runtime.js +1 -0
- package/es/with-install-befebea5.js +0 -411
- package/lib/with-install-6ce12163.js +0 -416
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { _ as _objectSpread2, D as DEFAULT_COLORS, a as _toConsumableArray, m as mergeChartOption, i as isEmptyData } from './colors-
|
|
1
|
+
import { _ as _objectSpread2, D as DEFAULT_COLORS, a as _toConsumableArray, m as mergeChartOption, i as isEmptyData } from './colors-ec0ad9ce.js';
|
|
2
2
|
import * as echarts from 'echarts/core';
|
|
3
|
+
import { SeriesModel } from 'echarts/core';
|
|
3
4
|
import { PieChart as PieChart$1 } from 'echarts/charts';
|
|
4
5
|
import { TooltipComponent, LegendComponent, GridComponent, TitleComponent, GraphicComponent } from 'echarts/components';
|
|
5
6
|
import { CanvasRenderer } from 'echarts/renderers';
|
|
6
|
-
import { B as BaseChart, s as styleInject, n as normalizeComponent } from './with-install-
|
|
7
|
+
import { B as BaseChart, s as styleInject, n as normalizeComponent } from './with-install-e405b463.js';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* 将输入值转换为安全数值。
|
|
@@ -69,10 +70,11 @@ var PIE_HEIGHT_MODE = {
|
|
|
69
70
|
VALUE: 'value'
|
|
70
71
|
};
|
|
71
72
|
var DEFAULT_HEIGHT_RANGE = {
|
|
72
|
-
min:
|
|
73
|
-
max:
|
|
73
|
+
min: 10,
|
|
74
|
+
max: 25
|
|
74
75
|
};
|
|
75
|
-
var
|
|
76
|
+
var DEFAULT_3D_VIEW_DISTANCE = 120;
|
|
77
|
+
var DEFAULT_3D_VIEW_ALPHA = 55;
|
|
76
78
|
var DEFAULT_INTERNAL_DIAMETER_RATIO = 0.6;
|
|
77
79
|
var DEFAULT_ROSE_RADIUS_RANGE = [0.75, 1.15];
|
|
78
80
|
var DEFAULT_LABEL_OPTIONS = {
|
|
@@ -90,6 +92,17 @@ var DEFAULT_LABEL_OPTIONS = {
|
|
|
90
92
|
verticalGap: 8,
|
|
91
93
|
radialOffset: 0.12
|
|
92
94
|
};
|
|
95
|
+
var DEFAULT_TOOLTIP_STYLE = {
|
|
96
|
+
backgroundColor: '#fff',
|
|
97
|
+
borderColor: 'transparent',
|
|
98
|
+
borderWidth: 0,
|
|
99
|
+
padding: [8, 12],
|
|
100
|
+
textStyle: {
|
|
101
|
+
color: '#333',
|
|
102
|
+
fontSize: 12
|
|
103
|
+
},
|
|
104
|
+
extraCssText: 'box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); border-radius: 4px;'
|
|
105
|
+
};
|
|
93
106
|
|
|
94
107
|
/**
|
|
95
108
|
* 将输入值转为安全数字。
|
|
@@ -196,6 +209,9 @@ function buildPieChartData(data) {
|
|
|
196
209
|
function replaceLabelTemplate(template, params) {
|
|
197
210
|
return template.replace(/\{b\}/g, params.name).replace(/\{c\}/g, params.value).replace(/\{d\}/g, params.percent);
|
|
198
211
|
}
|
|
212
|
+
function escapeTooltipHtml(value) {
|
|
213
|
+
return String(value).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
|
|
214
|
+
}
|
|
199
215
|
function formatPieLabelText(formatter, params) {
|
|
200
216
|
if (typeof formatter === 'function') {
|
|
201
217
|
return formatter(params);
|
|
@@ -205,29 +221,65 @@ function formatPieLabelText(formatter, params) {
|
|
|
205
221
|
}
|
|
206
222
|
return "".concat(params.name, "\n").concat(params.percent, "%");
|
|
207
223
|
}
|
|
224
|
+
function createFallbackTooltipMarker(color) {
|
|
225
|
+
var markerColor = escapeTooltipHtml(color || '#6B98F8');
|
|
226
|
+
return "<span style=\"display:inline-block;margin-right:4px;border-radius:50%;width:10px;height:10px;background-color:".concat(markerColor, ";\"></span>");
|
|
227
|
+
}
|
|
228
|
+
function formatPieTooltipContent(_ref) {
|
|
229
|
+
var marker = _ref.marker,
|
|
230
|
+
name = _ref.name,
|
|
231
|
+
value = _ref.value,
|
|
232
|
+
color = _ref.color;
|
|
233
|
+
var safeMarker = marker || createFallbackTooltipMarker(color);
|
|
234
|
+
return "".concat(safeMarker).concat(escapeTooltipHtml(name), ":").concat(escapeTooltipHtml(value));
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* 创建饼图统一 hover tooltip 样式。
|
|
239
|
+
* 默认呈现为白底阴影卡片,内容为“彩色圆点 + 名称:值”,贴近业务看板常见展示形态。
|
|
240
|
+
*/
|
|
241
|
+
function createPieTooltipOption(formatter) {
|
|
242
|
+
return _objectSpread2(_objectSpread2({}, DEFAULT_TOOLTIP_STYLE), {}, {
|
|
243
|
+
formatter: formatter
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
function formatPie2DTooltip() {
|
|
247
|
+
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
248
|
+
return formatPieTooltipContent({
|
|
249
|
+
marker: params.marker,
|
|
250
|
+
name: params.name === undefined ? '' : params.name,
|
|
251
|
+
value: params.value === undefined ? '' : params.value,
|
|
252
|
+
color: params.color
|
|
253
|
+
});
|
|
254
|
+
}
|
|
208
255
|
|
|
209
256
|
/**
|
|
210
257
|
* 格式化 3D 饼图默认 tooltip 文案。
|
|
211
258
|
* surface 系列 hover 时拿到的 `params.value` 实际是参数方程采样值,
|
|
212
259
|
* 不能直接当业务值展示,因此统一回退到扇区自身的 `pieData`。
|
|
213
260
|
*/
|
|
214
|
-
function
|
|
215
|
-
return
|
|
261
|
+
function formatPie3DTooltip(params, pieData) {
|
|
262
|
+
return formatPieTooltipContent({
|
|
263
|
+
marker: params && params.marker,
|
|
264
|
+
name: pieData && pieData.name !== undefined ? pieData.name : '',
|
|
265
|
+
value: pieData && pieData.value !== undefined ? pieData.value : 0,
|
|
266
|
+
color: pieData && pieData.itemStyle && pieData.itemStyle.color
|
|
267
|
+
});
|
|
216
268
|
}
|
|
217
269
|
|
|
218
270
|
/**
|
|
219
271
|
* 为单个 3D 扇区生成专用 tooltip。
|
|
220
272
|
* 这样即使鼠标落在 surface 网格采样点上,展示的仍然是业务名称、原始值与百分比。
|
|
221
273
|
*/
|
|
222
|
-
function createPie3DTooltip(pieData
|
|
274
|
+
function createPie3DTooltip(pieData) {
|
|
223
275
|
var value = toNumber(pieData && pieData.value, 0);
|
|
224
|
-
var percent = totalValue > 0 ? Number((value / totalValue * 100).toFixed(2)) : 0;
|
|
225
276
|
var name = pieData && pieData.name !== undefined ? pieData.name : '';
|
|
226
|
-
return {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
277
|
+
return createPieTooltipOption(function (params) {
|
|
278
|
+
return formatPie3DTooltip(params, _objectSpread2(_objectSpread2({}, pieData), {}, {
|
|
279
|
+
name: name,
|
|
280
|
+
value: value
|
|
281
|
+
}));
|
|
282
|
+
});
|
|
231
283
|
}
|
|
232
284
|
function multiplyMat4Vec4(matrix, vector) {
|
|
233
285
|
return [matrix[0] * vector[0] + matrix[4] * vector[1] + matrix[8] * vector[2] + matrix[12] * vector[3], matrix[1] * vector[0] + matrix[5] * vector[1] + matrix[9] * vector[2] + matrix[13] * vector[3], matrix[2] * vector[0] + matrix[6] * vector[1] + matrix[10] * vector[2] + matrix[14] * vector[3], matrix[3] * vector[0] + matrix[7] * vector[1] + matrix[11] * vector[2] + matrix[15] * vector[3]];
|
|
@@ -436,11 +488,9 @@ function createHeightValues(values, mode, minHeight, maxHeight) {
|
|
|
436
488
|
}
|
|
437
489
|
return mapValueToRange(values, safeMinHeight, safeMaxHeight);
|
|
438
490
|
}
|
|
439
|
-
function
|
|
440
|
-
var baseDistance = showLabelLine ? 175 : 180;
|
|
441
|
-
var extraDistance = Math.max(0, maxHeight - 200) * 0.18;
|
|
491
|
+
function createDefaultViewControl() {
|
|
442
492
|
return {
|
|
443
|
-
distance:
|
|
493
|
+
distance: DEFAULT_3D_VIEW_DISTANCE,
|
|
444
494
|
alpha: DEFAULT_3D_VIEW_ALPHA
|
|
445
495
|
};
|
|
446
496
|
}
|
|
@@ -577,9 +627,6 @@ function buildPie3DSeries(pieData) {
|
|
|
577
627
|
var valueList = renderPieData.map(function (item) {
|
|
578
628
|
return Math.max(0, toNumber(item.value, 0));
|
|
579
629
|
});
|
|
580
|
-
var totalValue = valueList.reduce(function (sum, value) {
|
|
581
|
-
return sum + value;
|
|
582
|
-
}, 0);
|
|
583
630
|
var angleValueList = getAngleValueList(valueList);
|
|
584
631
|
var totalAngleValue = angleValueList.reduce(function (sum, value) {
|
|
585
632
|
return sum + value;
|
|
@@ -613,7 +660,7 @@ function buildPie3DSeries(pieData) {
|
|
|
613
660
|
selected: false,
|
|
614
661
|
hovered: false
|
|
615
662
|
},
|
|
616
|
-
tooltip: createPie3DTooltip(item
|
|
663
|
+
tooltip: createPie3DTooltip(item),
|
|
617
664
|
itemStyle: _objectSpread2({}, item.itemStyle),
|
|
618
665
|
parametricEquation: getParametricEquation(startRatio, endRatio, false, false, geometry)
|
|
619
666
|
};
|
|
@@ -708,7 +755,7 @@ function createPie3DOption(input, variant) {
|
|
|
708
755
|
hideZeroValueSlices: input.hideZeroValueSlices !== false
|
|
709
756
|
};
|
|
710
757
|
var pie3D = buildPie3DSeries(data, chartConfig);
|
|
711
|
-
var viewControl =
|
|
758
|
+
var viewControl = createDefaultViewControl();
|
|
712
759
|
return {
|
|
713
760
|
xAxis3D: {
|
|
714
761
|
min: -pie3D.axisLimit,
|
|
@@ -895,10 +942,9 @@ function buildPieOption() {
|
|
|
895
942
|
});
|
|
896
943
|
var baseOption = {
|
|
897
944
|
color: DEFAULT_COLORS,
|
|
898
|
-
tooltip: {
|
|
899
|
-
trigger: 'item'
|
|
900
|
-
|
|
901
|
-
},
|
|
945
|
+
tooltip: _objectSpread2({
|
|
946
|
+
trigger: 'item'
|
|
947
|
+
}, createPieTooltipOption(formatPie2DTooltip)),
|
|
902
948
|
legend: {
|
|
903
949
|
data: normalizedData.map(function (item) {
|
|
904
950
|
return item.name;
|
|
@@ -927,33 +973,26 @@ function buildPieOption() {
|
|
|
927
973
|
return mergeChartOption(mergeChartOption(baseOption, presetOption, variantOption), customOption);
|
|
928
974
|
}
|
|
929
975
|
|
|
930
|
-
var
|
|
931
|
-
var
|
|
932
|
-
var
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
return runtimeError;
|
|
937
|
-
};
|
|
938
|
-
var importRuntime = function importRuntime() {
|
|
939
|
-
var dynamicImport = new Function('packageName', 'return import(packageName)');
|
|
940
|
-
return dynamicImport(ECHARTS_GL_PACKAGE_NAME);
|
|
976
|
+
var SURFACE_SERIES_TYPE = 'series.surface';
|
|
977
|
+
var MISSING_RUNTIME_MESSAGE = "使用 PieChart 3D 能力前,请先在业务页面中执行 import '@xq-labs/data-ui-v2/pie-chart/3d-runtime'。";
|
|
978
|
+
var hasSurfaceSeriesRuntime = function hasSurfaceSeriesRuntime() {
|
|
979
|
+
return SeriesModel && (typeof SeriesModel.getClass === 'function' && !!SeriesModel.getClass('series', 'surface') || typeof SeriesModel.getClassesByMainType === 'function' && SeriesModel.getClassesByMainType('series').some(function (seriesClass) {
|
|
980
|
+
return seriesClass && seriesClass.type === SURFACE_SERIES_TYPE;
|
|
981
|
+
}));
|
|
941
982
|
};
|
|
942
983
|
|
|
943
984
|
/**
|
|
944
|
-
*
|
|
985
|
+
* 检测 PieChart 3D 运行时是否已经由业务项目接入。
|
|
945
986
|
*
|
|
946
|
-
*
|
|
947
|
-
*
|
|
987
|
+
* 方案 B 修订版下,组件库不再负责动态加载 `echarts-gl`,
|
|
988
|
+
* 而是要求业务项目在使用 3D PieChart 的页面中显式执行桥接入口:
|
|
989
|
+
* `import '@xq-labs/data-ui-v2/pie-chart/3d-runtime'`
|
|
948
990
|
*/
|
|
949
991
|
function ensureEchartsGlRuntime() {
|
|
950
|
-
if (
|
|
951
|
-
|
|
952
|
-
runtimePromise = null;
|
|
953
|
-
throw createMissingRuntimeError(error);
|
|
954
|
-
});
|
|
992
|
+
if (hasSurfaceSeriesRuntime()) {
|
|
993
|
+
return Promise.resolve();
|
|
955
994
|
}
|
|
956
|
-
return
|
|
995
|
+
return Promise.reject(new Error(MISSING_RUNTIME_MESSAGE));
|
|
957
996
|
}
|
|
958
997
|
|
|
959
998
|
echarts.use([PieChart$1, TooltipComponent, LegendComponent, GridComponent, TitleComponent, GraphicComponent, CanvasRenderer]);
|
|
@@ -1028,7 +1067,7 @@ var script = {
|
|
|
1028
1067
|
*/
|
|
1029
1068
|
minHeight: {
|
|
1030
1069
|
type: Number,
|
|
1031
|
-
"default":
|
|
1070
|
+
"default": 10
|
|
1032
1071
|
},
|
|
1033
1072
|
/**
|
|
1034
1073
|
* 3D 模式下的最大扇区高度。
|
|
@@ -1036,7 +1075,7 @@ var script = {
|
|
|
1036
1075
|
*/
|
|
1037
1076
|
maxHeight: {
|
|
1038
1077
|
type: Number,
|
|
1039
|
-
"default":
|
|
1078
|
+
"default": 25
|
|
1040
1079
|
},
|
|
1041
1080
|
/**
|
|
1042
1081
|
* 环图内径比例。
|
|
@@ -1096,12 +1135,22 @@ var script = {
|
|
|
1096
1135
|
},
|
|
1097
1136
|
/**
|
|
1098
1137
|
* 图表 loading 状态。
|
|
1099
|
-
* 由底层 BaseChart
|
|
1138
|
+
* 由底层 BaseChart 统一负责组件层遮罩式 loading UI。
|
|
1100
1139
|
*/
|
|
1101
1140
|
loading: {
|
|
1102
1141
|
type: Boolean,
|
|
1103
1142
|
"default": false
|
|
1104
1143
|
},
|
|
1144
|
+
/**
|
|
1145
|
+
* 统一状态展示配置。
|
|
1146
|
+
* 负责收拢空态文案、空态图片与 loading 文案。
|
|
1147
|
+
*/
|
|
1148
|
+
stateConfig: {
|
|
1149
|
+
type: Object,
|
|
1150
|
+
"default": function _default() {
|
|
1151
|
+
return {};
|
|
1152
|
+
}
|
|
1153
|
+
},
|
|
1105
1154
|
/**
|
|
1106
1155
|
* 图表容器高度。
|
|
1107
1156
|
* 支持数字(按 px 处理)或原样透传的字符串高度值。
|
|
@@ -1129,13 +1178,13 @@ var script = {
|
|
|
1129
1178
|
},
|
|
1130
1179
|
/**
|
|
1131
1180
|
* 判断当前是否进入 3D 饼图能力。
|
|
1132
|
-
* 只有 3D
|
|
1181
|
+
* 只有 3D 才需要 echarts-gl 桥接入口,2D 场景不应触发任何 3D 运行时依赖。
|
|
1133
1182
|
*/
|
|
1134
1183
|
is3D: function is3D() {
|
|
1135
1184
|
return this.dimension === '3d';
|
|
1136
1185
|
},
|
|
1137
1186
|
/**
|
|
1138
|
-
* 标识 echarts-gl
|
|
1187
|
+
* 标识 echarts-gl 运行时是否已经注册完成。
|
|
1139
1188
|
* 3D option 只有在运行时就绪后才会生成 surface 序列。
|
|
1140
1189
|
*/
|
|
1141
1190
|
isEchartsGlReady: function isEchartsGlReady() {
|
|
@@ -1143,27 +1192,38 @@ var script = {
|
|
|
1143
1192
|
},
|
|
1144
1193
|
/**
|
|
1145
1194
|
* 汇总外部 loading 与 3D 运行时加载状态。
|
|
1146
|
-
* 这样 3D
|
|
1195
|
+
* 这样 3D 首次检测运行时期间,底层 BaseChart 能保持 loading 态。
|
|
1147
1196
|
*/
|
|
1148
1197
|
chartLoading: function chartLoading() {
|
|
1149
1198
|
return this.loading || this.is3D && this.echartsGlStatus === 'loading';
|
|
1150
1199
|
},
|
|
1151
1200
|
/**
|
|
1152
1201
|
* 汇总数据空态与 3D 运行时失败状态。
|
|
1153
|
-
* 缺少
|
|
1202
|
+
* 缺少 3D 桥接运行时时不让 BaseChart 继续渲染空 surface option。
|
|
1154
1203
|
*/
|
|
1155
1204
|
chartEmpty: function chartEmpty() {
|
|
1156
1205
|
return this.isEmpty || this.is3D && this.echartsGlStatus === 'failed';
|
|
1157
1206
|
},
|
|
1158
1207
|
/**
|
|
1159
|
-
*
|
|
1160
|
-
* 3D
|
|
1208
|
+
* 统一归一化传给 BaseChart 的状态配置。
|
|
1209
|
+
* 3D 运行时失败时,内部错误文案优先级最高,但仍保留业务自定义图片和 loading 文案。
|
|
1161
1210
|
*/
|
|
1162
|
-
|
|
1211
|
+
resolvedStateConfig: function resolvedStateConfig() {
|
|
1212
|
+
var stateConfig = this.stateConfig || {};
|
|
1213
|
+
var emptyConfig = stateConfig.empty || {};
|
|
1214
|
+
var loadingConfig = stateConfig.loading || {};
|
|
1163
1215
|
if (this.is3D && this.echartsGlStatus === 'failed') {
|
|
1164
|
-
return
|
|
1216
|
+
return {
|
|
1217
|
+
empty: _objectSpread2(_objectSpread2({}, emptyConfig), {}, {
|
|
1218
|
+
text: this.echartsGlErrorMessage || "使用 PieChart 3D 能力前,请先在业务页面中执行 import '@xq-labs/data-ui-v2/pie-chart/3d-runtime'。"
|
|
1219
|
+
}),
|
|
1220
|
+
loading: _objectSpread2({}, loadingConfig)
|
|
1221
|
+
};
|
|
1165
1222
|
}
|
|
1166
|
-
return
|
|
1223
|
+
return {
|
|
1224
|
+
empty: _objectSpread2({}, emptyConfig),
|
|
1225
|
+
loading: _objectSpread2({}, loadingConfig)
|
|
1226
|
+
};
|
|
1167
1227
|
},
|
|
1168
1228
|
/**
|
|
1169
1229
|
* 将组件公开 props 统一汇总后交给 builder。
|
|
@@ -1195,7 +1255,7 @@ var script = {
|
|
|
1195
1255
|
watch: {
|
|
1196
1256
|
/**
|
|
1197
1257
|
* dimension 是 2D/3D 分发的公开开关。
|
|
1198
|
-
* 只有切到 3D
|
|
1258
|
+
* 只有切到 3D 时才检测 3D 运行时,避免 2D 使用方被迫安装 3D 运行时。
|
|
1199
1259
|
*/
|
|
1200
1260
|
dimension: {
|
|
1201
1261
|
immediate: true,
|
|
@@ -1227,7 +1287,7 @@ var script = {
|
|
|
1227
1287
|
this.$emit('ready', chart);
|
|
1228
1288
|
},
|
|
1229
1289
|
/**
|
|
1230
|
-
* 在真正进入 3D
|
|
1290
|
+
* 在真正进入 3D 能力时检测 echarts-gl 桥接入口是否已经注册。
|
|
1231
1291
|
*
|
|
1232
1292
|
* 返回 Promise 是为了让单测和后续业务扩展能准确等待状态变化;
|
|
1233
1293
|
* 2D、已就绪、加载中三种场景会直接返回 resolved Promise。
|
|
@@ -1243,7 +1303,7 @@ var script = {
|
|
|
1243
1303
|
_this.echartsGlStatus = 'ready';
|
|
1244
1304
|
})["catch"](function (error) {
|
|
1245
1305
|
_this.echartsGlStatus = 'failed';
|
|
1246
|
-
_this.echartsGlErrorMessage = error && error.message ? error.message :
|
|
1306
|
+
_this.echartsGlErrorMessage = error && error.message ? error.message : "使用 PieChart 3D 能力前,请先在业务页面中执行 import '@xq-labs/data-ui-v2/pie-chart/3d-runtime'。";
|
|
1247
1307
|
_this.$emit('runtime-error', error);
|
|
1248
1308
|
});
|
|
1249
1309
|
},
|
|
@@ -1281,7 +1341,7 @@ var script = {
|
|
|
1281
1341
|
}
|
|
1282
1342
|
};
|
|
1283
1343
|
|
|
1284
|
-
var css_248z = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
|
|
1344
|
+
var css_248z = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
|
|
1285
1345
|
styleInject(css_248z);
|
|
1286
1346
|
|
|
1287
1347
|
/* script */
|
|
@@ -1296,7 +1356,7 @@ var __vue_render__ = function __vue_render__() {
|
|
|
1296
1356
|
option: _vm.chartOption,
|
|
1297
1357
|
loading: _vm.chartLoading,
|
|
1298
1358
|
empty: _vm.chartEmpty,
|
|
1299
|
-
"
|
|
1359
|
+
"state-config": _vm.resolvedStateConfig,
|
|
1300
1360
|
height: _vm.height
|
|
1301
1361
|
},
|
|
1302
1362
|
on: {
|
|
@@ -1313,7 +1373,7 @@ __vue_render__._withStripped = true;
|
|
|
1313
1373
|
/* style */
|
|
1314
1374
|
var __vue_inject_styles__ = undefined;
|
|
1315
1375
|
/* scoped */
|
|
1316
|
-
var __vue_scope_id__ = "data-v-
|
|
1376
|
+
var __vue_scope_id__ = "data-v-7f129cbd";
|
|
1317
1377
|
/* module identifier */
|
|
1318
1378
|
var __vue_module_identifier__ = undefined;
|
|
1319
1379
|
/* functional template */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as echarts from 'echarts/core';
|
|
2
2
|
import { graphic } from 'echarts/core';
|
|
3
3
|
import { BarChart, LineChart, CustomChart } from 'echarts/charts';
|
|
4
|
-
import { TooltipComponent, LegendComponent, GridComponent, TitleComponent } from 'echarts/components';
|
|
4
|
+
import { TooltipComponent, LegendComponent, GridComponent, TitleComponent, DataZoomComponent } from 'echarts/components';
|
|
5
5
|
import { CanvasRenderer } from 'echarts/renderers';
|
|
6
|
-
import { B as BaseChart, s as styleInject, n as normalizeComponent } from './with-install-
|
|
7
|
-
import { _ as _objectSpread2, D as DEFAULT_COLORS, a as _toConsumableArray, m as mergeChartOption, i as isEmptyData } from './colors-
|
|
6
|
+
import { B as BaseChart, s as styleInject, n as normalizeComponent } from './with-install-e405b463.js';
|
|
7
|
+
import { _ as _objectSpread2, D as DEFAULT_COLORS, a as _toConsumableArray, m as mergeChartOption, b as _typeof, i as isEmptyData } from './colors-ec0ad9ce.js';
|
|
8
8
|
|
|
9
9
|
var DEFAULT_SERIES = {
|
|
10
10
|
key: 'value',
|
|
@@ -1059,6 +1059,8 @@ function createCylinderBarLineOption(normalizedInput) {
|
|
|
1059
1059
|
}
|
|
1060
1060
|
|
|
1061
1061
|
var DEFAULT_VARIANT = 'flat';
|
|
1062
|
+
var DEFAULT_X_AXIS_SCROLL_VISIBLE_COUNT = 8;
|
|
1063
|
+
var DEFAULT_X_AXIS_SCROLL_GRID_BOTTOM = 56;
|
|
1062
1064
|
var BAR_LINE_PUBLIC_VARIANTS = ['flat', 'cylinder', 'cube'];
|
|
1063
1065
|
|
|
1064
1066
|
// 公开 variant 能力在此处收口:只允许 flat / cylinder / cube。
|
|
@@ -1104,6 +1106,93 @@ function createBaseOption(normalizedInput) {
|
|
|
1104
1106
|
}
|
|
1105
1107
|
};
|
|
1106
1108
|
}
|
|
1109
|
+
function isValidNumber(value) {
|
|
1110
|
+
return Number.isFinite(Number(value));
|
|
1111
|
+
}
|
|
1112
|
+
function normalizePositiveInteger(value, fallback) {
|
|
1113
|
+
var normalizedValue = Number(value);
|
|
1114
|
+
if (!Number.isFinite(normalizedValue) || normalizedValue <= 0) {
|
|
1115
|
+
return fallback;
|
|
1116
|
+
}
|
|
1117
|
+
return Math.floor(normalizedValue);
|
|
1118
|
+
}
|
|
1119
|
+
function normalizeStartIndex(startIndex) {
|
|
1120
|
+
if (!isValidNumber(startIndex)) {
|
|
1121
|
+
return null;
|
|
1122
|
+
}
|
|
1123
|
+
var normalizedStartIndex = Math.floor(Number(startIndex));
|
|
1124
|
+
return normalizedStartIndex >= 0 ? normalizedStartIndex : null;
|
|
1125
|
+
}
|
|
1126
|
+
function toPercent(value, total) {
|
|
1127
|
+
return Number((value / total * 100).toFixed(2));
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* 归一化横轴滚动配置。
|
|
1132
|
+
* 该配置只服务 X 轴类目过多的场景,不扩展 Y 轴滚动,避免 API 语义变复杂。
|
|
1133
|
+
*/
|
|
1134
|
+
function normalizeXAxisScrollConfig() {
|
|
1135
|
+
var xAxisScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1136
|
+
var scrollConfig = xAxisScroll && _typeof(xAxisScroll) === 'object' ? xAxisScroll : {};
|
|
1137
|
+
return {
|
|
1138
|
+
enabled: scrollConfig.enabled === true,
|
|
1139
|
+
visibleCount: normalizePositiveInteger(scrollConfig.visibleCount, DEFAULT_X_AXIS_SCROLL_VISIBLE_COUNT),
|
|
1140
|
+
startPosition: scrollConfig.startPosition === 'start' ? 'start' : 'end',
|
|
1141
|
+
startIndex: normalizeStartIndex(scrollConfig.startIndex),
|
|
1142
|
+
showSlider: scrollConfig.showSlider !== false,
|
|
1143
|
+
inside: scrollConfig.inside !== false
|
|
1144
|
+
};
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
/**
|
|
1148
|
+
* 根据横轴类目数量生成 ECharts dataZoom。
|
|
1149
|
+
* 默认从末尾向前取 `visibleCount` 个类目,满足“最新数据优先展示”的看板诉求。
|
|
1150
|
+
*/
|
|
1151
|
+
function createXAxisScrollOption() {
|
|
1152
|
+
var categories = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
1153
|
+
var xAxisScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1154
|
+
var scrollConfig = normalizeXAxisScrollConfig(xAxisScroll);
|
|
1155
|
+
var totalCount = Array.isArray(categories) ? categories.length : 0;
|
|
1156
|
+
if (!scrollConfig.enabled || totalCount <= scrollConfig.visibleCount) {
|
|
1157
|
+
return {};
|
|
1158
|
+
}
|
|
1159
|
+
var windowSize = Math.min(scrollConfig.visibleCount, totalCount);
|
|
1160
|
+
var maxStartIndex = totalCount - windowSize;
|
|
1161
|
+
var resolvedStartIndex = scrollConfig.startIndex !== null ? Math.min(scrollConfig.startIndex, maxStartIndex) : scrollConfig.startPosition === 'start' ? 0 : maxStartIndex;
|
|
1162
|
+
var start = toPercent(resolvedStartIndex, totalCount);
|
|
1163
|
+
var end = toPercent(resolvedStartIndex + windowSize, totalCount);
|
|
1164
|
+
var dataZoom = [];
|
|
1165
|
+
if (scrollConfig.showSlider) {
|
|
1166
|
+
dataZoom.push({
|
|
1167
|
+
type: 'slider',
|
|
1168
|
+
xAxisIndex: 0,
|
|
1169
|
+
start: start,
|
|
1170
|
+
end: end,
|
|
1171
|
+
height: 14,
|
|
1172
|
+
bottom: 8,
|
|
1173
|
+
brushSelect: false
|
|
1174
|
+
});
|
|
1175
|
+
}
|
|
1176
|
+
if (scrollConfig.inside) {
|
|
1177
|
+
dataZoom.push({
|
|
1178
|
+
type: 'inside',
|
|
1179
|
+
xAxisIndex: 0,
|
|
1180
|
+
start: start,
|
|
1181
|
+
end: end,
|
|
1182
|
+
zoomLock: true
|
|
1183
|
+
});
|
|
1184
|
+
}
|
|
1185
|
+
if (dataZoom.length === 0) {
|
|
1186
|
+
return {};
|
|
1187
|
+
}
|
|
1188
|
+
return _objectSpread2(_objectSpread2({}, scrollConfig.showSlider ? {
|
|
1189
|
+
grid: {
|
|
1190
|
+
bottom: DEFAULT_X_AXIS_SCROLL_GRID_BOTTOM
|
|
1191
|
+
}
|
|
1192
|
+
} : {}), {}, {
|
|
1193
|
+
dataZoom: dataZoom
|
|
1194
|
+
});
|
|
1195
|
+
}
|
|
1107
1196
|
|
|
1108
1197
|
/**
|
|
1109
1198
|
* 构建 `BarLineChart` 最终 option。
|
|
@@ -1111,7 +1200,8 @@ function createBaseOption(normalizedInput) {
|
|
|
1111
1200
|
* 1. 输入归一化
|
|
1112
1201
|
* 2. preset 合并
|
|
1113
1202
|
* 3. 变体分发
|
|
1114
|
-
* 4.
|
|
1203
|
+
* 4. X 轴滚动配置合并
|
|
1204
|
+
* 5. customOption 覆盖
|
|
1115
1205
|
*/
|
|
1116
1206
|
function buildBarLineOption() {
|
|
1117
1207
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
@@ -1124,6 +1214,7 @@ function buildBarLineOption() {
|
|
|
1124
1214
|
variant = _ref$variant === void 0 ? 'flat' : _ref$variant,
|
|
1125
1215
|
barWidth = _ref.barWidth,
|
|
1126
1216
|
barGap = _ref.barGap,
|
|
1217
|
+
xAxisScroll = _ref.xAxisScroll,
|
|
1127
1218
|
customOption = _ref.customOption;
|
|
1128
1219
|
var normalizedInput = normalizeBarLineInput({
|
|
1129
1220
|
data: data,
|
|
@@ -1139,7 +1230,8 @@ function buildBarLineOption() {
|
|
|
1139
1230
|
barWidth: barWidth,
|
|
1140
1231
|
barGap: barGap
|
|
1141
1232
|
}));
|
|
1142
|
-
|
|
1233
|
+
var xAxisScrollOption = createXAxisScrollOption(normalizedInput.categories, xAxisScroll);
|
|
1234
|
+
return mergeChartOption(mergeChartOption(mergeChartOption(baseOption, presetOption, variantOption), xAxisScrollOption), customOption);
|
|
1143
1235
|
}
|
|
1144
1236
|
|
|
1145
1237
|
//
|
|
@@ -1153,6 +1245,7 @@ function buildBarLineOption() {
|
|
|
1153
1245
|
//
|
|
1154
1246
|
//
|
|
1155
1247
|
//
|
|
1248
|
+
//
|
|
1156
1249
|
|
|
1157
1250
|
|
|
1158
1251
|
/**
|
|
@@ -1160,7 +1253,7 @@ function buildBarLineOption() {
|
|
|
1160
1253
|
* 这里显式注册柱图、折线图、自定义系列以及笛卡尔坐标系常用组件,
|
|
1161
1254
|
* 否则运行时虽然能生成 option,但对应主类型不会真正参与渲染。
|
|
1162
1255
|
*/
|
|
1163
|
-
echarts.use([BarChart, LineChart, CustomChart, TooltipComponent, LegendComponent, GridComponent, TitleComponent, CanvasRenderer]);
|
|
1256
|
+
echarts.use([BarChart, LineChart, CustomChart, TooltipComponent, LegendComponent, GridComponent, TitleComponent, DataZoomComponent, CanvasRenderer]);
|
|
1164
1257
|
var script = {
|
|
1165
1258
|
name: 'BarLineChart',
|
|
1166
1259
|
components: {
|
|
@@ -1247,14 +1340,40 @@ var script = {
|
|
|
1247
1340
|
return {};
|
|
1248
1341
|
}
|
|
1249
1342
|
},
|
|
1343
|
+
/**
|
|
1344
|
+
* X 轴类目滚动配置。
|
|
1345
|
+
* 仅控制横轴,不扩展 Y 轴;适合月份、日期、地区等类目数量较多的看板场景。
|
|
1346
|
+
* 常用字段:
|
|
1347
|
+
* - enabled: 是否开启 X 轴滚动
|
|
1348
|
+
* - visibleCount: 初始窗口内展示的类目数量,默认按 8 个处理
|
|
1349
|
+
* - startPosition: 初始窗口位置,默认 end,即展示最新一段数据
|
|
1350
|
+
* - startIndex: 指定窗口起始索引;传入合法数字时优先级高于 startPosition
|
|
1351
|
+
* - showSlider / inside: 分别控制底部滚动条与图表内部滚轮/触控滚动
|
|
1352
|
+
*/
|
|
1353
|
+
xAxisScroll: {
|
|
1354
|
+
type: Object,
|
|
1355
|
+
"default": function _default() {
|
|
1356
|
+
return {};
|
|
1357
|
+
}
|
|
1358
|
+
},
|
|
1250
1359
|
/**
|
|
1251
1360
|
* 图表 loading 状态。
|
|
1252
|
-
* 由 BaseChart
|
|
1361
|
+
* 由 BaseChart 统一接管组件层遮罩式 loading UI。
|
|
1253
1362
|
*/
|
|
1254
1363
|
loading: {
|
|
1255
1364
|
type: Boolean,
|
|
1256
1365
|
"default": false
|
|
1257
1366
|
},
|
|
1367
|
+
/**
|
|
1368
|
+
* 统一状态展示配置。
|
|
1369
|
+
* 组件层只负责原样透传给 BaseChart,不参与文案计算。
|
|
1370
|
+
*/
|
|
1371
|
+
stateConfig: {
|
|
1372
|
+
type: Object,
|
|
1373
|
+
"default": function _default() {
|
|
1374
|
+
return {};
|
|
1375
|
+
}
|
|
1376
|
+
},
|
|
1258
1377
|
/**
|
|
1259
1378
|
* 图表容器高度。
|
|
1260
1379
|
* 支持数字像素值或原样透传的 CSS 高度字符串。
|
|
@@ -1285,13 +1404,14 @@ var script = {
|
|
|
1285
1404
|
preset: this.preset,
|
|
1286
1405
|
barWidth: this.barWidth,
|
|
1287
1406
|
barGap: this.barGap,
|
|
1407
|
+
xAxisScroll: this.xAxisScroll,
|
|
1288
1408
|
customOption: this.customOption
|
|
1289
1409
|
});
|
|
1290
1410
|
}
|
|
1291
1411
|
}
|
|
1292
1412
|
};
|
|
1293
1413
|
|
|
1294
|
-
var css_248z = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
|
|
1414
|
+
var css_248z = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
|
|
1295
1415
|
styleInject(css_248z);
|
|
1296
1416
|
|
|
1297
1417
|
/* script */
|
|
@@ -1306,6 +1426,7 @@ var __vue_render__ = function __vue_render__() {
|
|
|
1306
1426
|
option: _vm.chartOption,
|
|
1307
1427
|
loading: _vm.loading,
|
|
1308
1428
|
empty: _vm.isEmpty,
|
|
1429
|
+
"state-config": _vm.stateConfig,
|
|
1309
1430
|
height: _vm.height
|
|
1310
1431
|
},
|
|
1311
1432
|
on: {
|
|
@@ -1324,7 +1445,7 @@ __vue_render__._withStripped = true;
|
|
|
1324
1445
|
/* style */
|
|
1325
1446
|
var __vue_inject_styles__ = undefined;
|
|
1326
1447
|
/* scoped */
|
|
1327
|
-
var __vue_scope_id__ = "data-v-
|
|
1448
|
+
var __vue_scope_id__ = "data-v-0c9a6292";
|
|
1328
1449
|
/* module identifier */
|
|
1329
1450
|
var __vue_module_identifier__ = undefined;
|
|
1330
1451
|
/* functional template */
|
package/es/index.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import '../theme-chalk/index.css';
|
|
2
|
-
import { w as withInstall, B as BaseChart } from './with-install-
|
|
3
|
-
import { B as BarLineChart } from './index-
|
|
4
|
-
import { P as PieChart } from './index-
|
|
2
|
+
import { w as withInstall, B as BaseChart } from './with-install-e405b463.js';
|
|
3
|
+
import { B as BarLineChart } from './index-d01ce220.js';
|
|
4
|
+
import { P as PieChart } from './index-78b6b881.js';
|
|
5
|
+
import { R as RadarChart } from './index-788e473f.js';
|
|
5
6
|
import 'echarts/core';
|
|
6
7
|
import 'echarts/charts';
|
|
7
8
|
import 'echarts/components';
|
|
8
9
|
import 'echarts/renderers';
|
|
9
|
-
import './colors-
|
|
10
|
+
import './colors-ec0ad9ce.js';
|
|
10
11
|
|
|
11
12
|
withInstall(BaseChart);
|
|
12
13
|
withInstall(BarLineChart);
|
|
13
14
|
withInstall(PieChart);
|
|
14
|
-
|
|
15
|
+
withInstall(RadarChart);
|
|
16
|
+
var components = [BaseChart, BarLineChart, PieChart, RadarChart];
|
|
15
17
|
|
|
16
18
|
// 发布根入口复用组件清单,确保与 src/index.js 行为一致。
|
|
17
19
|
var install = function install(Vue) {
|
|
@@ -23,4 +25,4 @@ var index = {
|
|
|
23
25
|
install: install
|
|
24
26
|
};
|
|
25
27
|
|
|
26
|
-
export { BarLineChart, BaseChart, PieChart, index as default, install };
|
|
28
|
+
export { BarLineChart, BaseChart, PieChart, RadarChart, index as default, install };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as echarts from 'echarts/core';
|
|
2
|
+
import { SurfaceChart } from 'echarts-gl/charts';
|
|
3
|
+
import { Grid3DComponent } from 'echarts-gl/components';
|
|
4
|
+
|
|
5
|
+
// PieChart 3D 只需要 surface 序列与 grid3D 坐标系,显式注册到组件库同一个 echarts/core 实例。
|
|
6
|
+
echarts.use([SurfaceChart, Grid3DComponent]);
|
package/es/pie-chart/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '../../theme-chalk/index.css';
|
|
2
|
-
import { P as PieChart } from '../index-
|
|
3
|
-
import { w as withInstall } from '../with-install-
|
|
4
|
-
import '../colors-
|
|
2
|
+
import { P as PieChart } from '../index-78b6b881.js';
|
|
3
|
+
import { w as withInstall } from '../with-install-e405b463.js';
|
|
4
|
+
import '../colors-ec0ad9ce.js';
|
|
5
5
|
import 'echarts/core';
|
|
6
6
|
import 'echarts/charts';
|
|
7
7
|
import 'echarts/components';
|