@rowsncolumns/charts 27.0.30 → 27.0.32
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/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +57 -0
- package/dist/cjs/utils/chart-spec-utils.d.ts.map +1 -1
- package/dist/cjs/utils/chart-spec-utils.js +58 -13
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +57 -0
- package/dist/esm/utils/chart-spec-utils.d.ts.map +1 -1
- package/dist/esm/utils/chart-spec-utils.js +34 -0
- package/package.json +15 -15
package/dist/cjs/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAqJ3D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAgB1E,CAAC;AAYJ;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,OAAO,CAAC,SAAS,CAAC,KAAG,OAQzD,CAAC;AAiBF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,OAAO,CAAC,SAAS,CAAC,KAAG,MAmB9D,CAAC"}
|
package/dist/cjs/config.js
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getChartPresetLabel = exports.isDoughnutSpec = exports.CHART_TYPES = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
// Excel's 3-D chart classes degrade to a 2-D chartType with the authored
|
|
6
|
+
// class kept as `sourceChartType` (BAR_3D, LINE_3D, PIE_3D, AREA_3D,
|
|
7
|
+
// SURFACE, SURFACE_3D). The renderer draws BAR_3D / LINE_3D / AREA_3D /
|
|
8
|
+
// surfaces through echarts-gl when WebGL is available (PIE_3D keeps the
|
|
9
|
+
// 2-D pie) and both exporters write the matching `<c:…3DChart>` element.
|
|
10
|
+
// A 2-D preset in the same family carries no token, and mergeChartSpec
|
|
11
|
+
// clears a picker-authored one on that pick.
|
|
5
12
|
var LINE_CHART_TYPES = [
|
|
6
13
|
["Line", { chartType: "line", smooth: false }],
|
|
7
14
|
[
|
|
@@ -9,6 +16,7 @@ var LINE_CHART_TYPES = [
|
|
|
9
16
|
{ chartType: "line", smooth: false, stackedType: "STACKED" },
|
|
10
17
|
],
|
|
11
18
|
["Smooth line", { chartType: "line", smooth: true }],
|
|
19
|
+
["3-D Line", { chartType: "line", smooth: false, sourceChartType: "LINE_3D" }],
|
|
12
20
|
];
|
|
13
21
|
var COLUMN_CHART_TYPES = [
|
|
14
22
|
["Clustered Column", { chartType: "column", stackedType: "UNSTACKED" }],
|
|
@@ -17,11 +25,34 @@ var COLUMN_CHART_TYPES = [
|
|
|
17
25
|
"100% stacked column",
|
|
18
26
|
{ chartType: "column", stackedType: "PERCENT_STACKED" },
|
|
19
27
|
],
|
|
28
|
+
[
|
|
29
|
+
"3-D Column",
|
|
30
|
+
{ chartType: "column", stackedType: "UNSTACKED", sourceChartType: "BAR_3D" },
|
|
31
|
+
],
|
|
20
32
|
];
|
|
21
33
|
var BAR_CHART_TYPES = [
|
|
22
34
|
["Clustered Bar", { chartType: "bar", stackedType: "UNSTACKED" }],
|
|
23
35
|
["Stacked Bar", { chartType: "bar", stackedType: "STACKED" }],
|
|
24
36
|
["100% stacked Bar", { chartType: "bar", stackedType: "PERCENT_STACKED" }],
|
|
37
|
+
[
|
|
38
|
+
"3-D Bar",
|
|
39
|
+
{ chartType: "bar", stackedType: "UNSTACKED", sourceChartType: "BAR_3D" },
|
|
40
|
+
],
|
|
41
|
+
];
|
|
42
|
+
var AREA_CHART_TYPES = [
|
|
43
|
+
["Area", { chartType: "area", stackedType: "UNSTACKED" }],
|
|
44
|
+
["Stacked area", { chartType: "area", stackedType: "STACKED" }],
|
|
45
|
+
["100% stacked area", { chartType: "area", stackedType: "PERCENT_STACKED" }],
|
|
46
|
+
[
|
|
47
|
+
"3-D Area",
|
|
48
|
+
{ chartType: "area", stackedType: "UNSTACKED", sourceChartType: "AREA_3D" },
|
|
49
|
+
],
|
|
50
|
+
];
|
|
51
|
+
// Surfaces share the area base type: `surface3DChart` is Excel's 3-D
|
|
52
|
+
// Surface, `surfaceChart` its top-down Contour view.
|
|
53
|
+
var SURFACE_CHART_TYPES = [
|
|
54
|
+
["3-D Surface", { chartType: "area", sourceChartType: "SURFACE_3D" }],
|
|
55
|
+
["Contour", { chartType: "area", sourceChartType: "SURFACE" }],
|
|
25
56
|
];
|
|
26
57
|
var PIE_CHART_TYPES = [
|
|
27
58
|
[
|
|
@@ -33,6 +64,26 @@ var PIE_CHART_TYPES = [
|
|
|
33
64
|
// editor's "Chart options" section; the preset deliberately omits it
|
|
34
65
|
// so re-picking "Doughnut" never clobbers an authored hole size.
|
|
35
66
|
["Doughnut", { chartType: "doughnut", stackedType: "UNSTACKED" }],
|
|
67
|
+
[
|
|
68
|
+
"3-D Pie",
|
|
69
|
+
{
|
|
70
|
+
chartType: "pie",
|
|
71
|
+
stackedType: "UNSTACKED",
|
|
72
|
+
radius: [0, "75%"],
|
|
73
|
+
sourceChartType: "PIE_3D",
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
// Pie-of-pie / bar-of-pie composites (OOXML <c:ofPieChart>). The split
|
|
77
|
+
// rule (splitType / splitPos / secondPieSize) keeps the renderer's
|
|
78
|
+
// Excel defaults unless authored, so the presets only set the shape.
|
|
79
|
+
["Pie of pie", { chartType: "pie", sourceChartType: "OF_PIE", ofPieType: "pie" }],
|
|
80
|
+
["Bar of pie", { chartType: "pie", sourceChartType: "OF_PIE", ofPieType: "bar" }],
|
|
81
|
+
];
|
|
82
|
+
// Filled map (choropleth): category labels are region names, the first
|
|
83
|
+
// series carries the values. "world" is bundled; other scopes must be
|
|
84
|
+
// registered through registerChartGeoMap().
|
|
85
|
+
var MAP_CHART_TYPES = [
|
|
86
|
+
["Filled map", { chartType: "regionMap", geoScope: "world" }],
|
|
36
87
|
];
|
|
37
88
|
var BUBBLE_CHART_TYPES = [
|
|
38
89
|
[
|
|
@@ -84,11 +135,14 @@ exports.CHART_TYPES = [
|
|
|
84
135
|
["Bar", BAR_CHART_TYPES],
|
|
85
136
|
["Column", COLUMN_CHART_TYPES],
|
|
86
137
|
["Line", LINE_CHART_TYPES],
|
|
138
|
+
["Area", AREA_CHART_TYPES],
|
|
87
139
|
["Pie", PIE_CHART_TYPES],
|
|
88
140
|
["Scatter & Bubble", BUBBLE_CHART_TYPES],
|
|
89
141
|
["Hierarchy", HIERARCHY_CHART_TYPES],
|
|
90
142
|
["Statistical", STATISTICAL_CHART_TYPES],
|
|
91
143
|
["Flow", FLOW_CHART_TYPES],
|
|
144
|
+
["Surface", SURFACE_CHART_TYPES],
|
|
145
|
+
["Map", MAP_CHART_TYPES],
|
|
92
146
|
["Radar", RADAR_CHART_TYPES],
|
|
93
147
|
["Stock", STOCK_CHART_TYPES],
|
|
94
148
|
["Combo", COMBO_CHART_TYPES],
|
|
@@ -133,6 +187,9 @@ var PRESET_DISCRIMINATORS = [
|
|
|
133
187
|
["smooth", false],
|
|
134
188
|
["radarStyle", "standard"],
|
|
135
189
|
["stockVariant", "HLC"],
|
|
190
|
+
// 3-D / of-pie variants share a chartType with their 2-D preset.
|
|
191
|
+
["sourceChartType", undefined],
|
|
192
|
+
["ofPieType", "pie"],
|
|
136
193
|
];
|
|
137
194
|
/**
|
|
138
195
|
* Derive the picker label for an existing spec — the inverse of the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-spec-utils.d.ts","sourceRoot":"","sources":["../../../utils/chart-spec-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;AACpD,KAAK,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AACtD,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEvC,eAAO,MAAM,iBAAiB,6MAe5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,6MAA4C,CAAC;AAE5E,eAAO,MAAM,qBAAqB,6MAGhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,KAAG,aAKvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,cAAuD,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,YAAY,CAAC,EACT,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,qBACiB,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,kBACoB,CAAC;AAwC5C;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,WAAW,SAAS,KACnB,OAAO,CAAC,SAAS,CAEnB,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-spec-utils.d.ts","sourceRoot":"","sources":["../../../utils/chart-spec-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;AACpD,KAAK,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AACtD,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEvC,eAAO,MAAM,iBAAiB,6MAe5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,6MAA4C,CAAC;AAE5E,eAAO,MAAM,qBAAqB,6MAGhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,KAAG,aAKvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,cAAuD,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,YAAY,CAAC,EACT,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,qBACiB,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,kBACoB,CAAC;AAwC5C;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,WAAW,SAAS,KACnB,OAAO,CAAC,SAAS,CAEnB,CAAC;AA8EF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,SAAS,EACnB,QAAQ,SAAS,KAChB,MAAM,EAoBR,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,SAAS,EAAE,KAAG,OAM3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,SAAS,EAAE,EACrB,WAAW,SAAS,EAAE,KACrB,SAAS,EAKX,CAAC;AA+BF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,cAAc,SAAS,EACvB,cAAc,OAAO,CAAC,SAAS,CAAC,KAC/B,SA0EF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,KAAG,UAAU,EAsB9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,OAAO,KAAG,MAQvD,CAAC"}
|
|
@@ -148,6 +148,23 @@ var CATEGORY_SPECIFIC_PROPERTIES = {
|
|
|
148
148
|
],
|
|
149
149
|
hierarchy: ["labels", "parentLabels", "sizeData", "useFirstRowAsHeaders"],
|
|
150
150
|
};
|
|
151
|
+
/**
|
|
152
|
+
* `sourceChartType` tokens the picker's presets author (3-D classes and
|
|
153
|
+
* the of-pie composite). Picking a chart type that carries none of them
|
|
154
|
+
* resets the variant, so "Clustered Column" after "3-D Column" is 2-D
|
|
155
|
+
* again — unlike `PARETO` / `REGION_MAP`, which only import sets.
|
|
156
|
+
*/
|
|
157
|
+
var PICKER_VARIANT_TOKENS = new Set([
|
|
158
|
+
"BAR_3D",
|
|
159
|
+
"LINE_3D",
|
|
160
|
+
"PIE_3D",
|
|
161
|
+
"AREA_3D",
|
|
162
|
+
"SURFACE",
|
|
163
|
+
"SURFACE_3D",
|
|
164
|
+
"OF_PIE",
|
|
165
|
+
]);
|
|
166
|
+
/** Of-pie split fields; meaningless once the spec is no longer an of-pie. */
|
|
167
|
+
var OF_PIE_FIELDS = ["ofPieType", "splitType", "splitPos", "secondPieSize"];
|
|
151
168
|
/**
|
|
152
169
|
* Returns the properties that should be removed when transitioning
|
|
153
170
|
* from one chart type to another.
|
|
@@ -209,7 +226,8 @@ var CATEGORY_DATA_FIELDS = {
|
|
|
209
226
|
* Also handles special merging for chart data arrays.
|
|
210
227
|
*/
|
|
211
228
|
var mergeChartSpec = function (existingSpec, incomingSpec) {
|
|
212
|
-
var e_1, _a, e_2, _b, e_3, _c;
|
|
229
|
+
var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
|
|
230
|
+
var _e, _f;
|
|
213
231
|
var incomingChartType = incomingSpec.chartType;
|
|
214
232
|
var existingChartType = existingSpec.chartType;
|
|
215
233
|
var existingCategory = (0, exports.getChartCategory)(existingChartType);
|
|
@@ -253,6 +271,33 @@ var mergeChartSpec = function (existingSpec, incomingSpec) {
|
|
|
253
271
|
finally { if (e_2) throw e_2.error; }
|
|
254
272
|
}
|
|
255
273
|
}
|
|
274
|
+
// A chart-type pick resets a picker-authored variant it doesn't carry:
|
|
275
|
+
// no incoming sourceChartType clears a 3-D / of-pie token, and leaving
|
|
276
|
+
// the of-pie composite drops its split fields (even for "3-D Pie").
|
|
277
|
+
if (incomingChartType) {
|
|
278
|
+
var existingToken = String((_e = existingSpec.sourceChartType) !== null && _e !== void 0 ? _e : "").toUpperCase();
|
|
279
|
+
var incomingToken = String((_f = incomingSpec.sourceChartType) !== null && _f !== void 0 ? _f : "").toUpperCase();
|
|
280
|
+
if (PICKER_VARIANT_TOKENS.has(existingToken) &&
|
|
281
|
+
!("sourceChartType" in incomingSpec)) {
|
|
282
|
+
delete merged.sourceChartType;
|
|
283
|
+
}
|
|
284
|
+
if (existingToken === "OF_PIE" && incomingToken !== "OF_PIE") {
|
|
285
|
+
try {
|
|
286
|
+
for (var OF_PIE_FIELDS_1 = tslib_1.__values(OF_PIE_FIELDS), OF_PIE_FIELDS_1_1 = OF_PIE_FIELDS_1.next(); !OF_PIE_FIELDS_1_1.done; OF_PIE_FIELDS_1_1 = OF_PIE_FIELDS_1.next()) {
|
|
287
|
+
var field = OF_PIE_FIELDS_1_1.value;
|
|
288
|
+
if (!(field in incomingSpec))
|
|
289
|
+
delete merged[field];
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
293
|
+
finally {
|
|
294
|
+
try {
|
|
295
|
+
if (OF_PIE_FIELDS_1_1 && !OF_PIE_FIELDS_1_1.done && (_c = OF_PIE_FIELDS_1.return)) _c.call(OF_PIE_FIELDS_1);
|
|
296
|
+
}
|
|
297
|
+
finally { if (e_3) throw e_3.error; }
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
256
301
|
// Apply incoming spec properties
|
|
257
302
|
Object.assign(merged, incomingSpec);
|
|
258
303
|
// Handle chart data array merging - preserve existing if incoming is placeholder
|
|
@@ -270,12 +315,12 @@ var mergeChartSpec = function (existingSpec, incomingSpec) {
|
|
|
270
315
|
}
|
|
271
316
|
}
|
|
272
317
|
}
|
|
273
|
-
catch (
|
|
318
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
274
319
|
finally {
|
|
275
320
|
try {
|
|
276
|
-
if (targetDataFields_1_1 && !targetDataFields_1_1.done && (
|
|
321
|
+
if (targetDataFields_1_1 && !targetDataFields_1_1.done && (_d = targetDataFields_1.return)) _d.call(targetDataFields_1);
|
|
277
322
|
}
|
|
278
|
-
finally { if (
|
|
323
|
+
finally { if (e_4) throw e_4.error; }
|
|
279
324
|
}
|
|
280
325
|
return merged;
|
|
281
326
|
};
|
|
@@ -285,7 +330,7 @@ exports.mergeChartSpec = mergeChartSpec;
|
|
|
285
330
|
* Useful for subscribing to data changes across all chart data sources.
|
|
286
331
|
*/
|
|
287
332
|
var getChartDataRanges = function (spec) {
|
|
288
|
-
var
|
|
333
|
+
var e_5, _a, e_6, _b, e_7, _c;
|
|
289
334
|
var ranges = [];
|
|
290
335
|
var category = (0, exports.getChartCategory)(spec.chartType);
|
|
291
336
|
var dataFields = CATEGORY_DATA_FIELDS[category];
|
|
@@ -296,43 +341,43 @@ var getChartDataRanges = function (spec) {
|
|
|
296
341
|
var chartDataArray = specWithData[field];
|
|
297
342
|
if (chartDataArray) {
|
|
298
343
|
try {
|
|
299
|
-
for (var chartDataArray_1 = (
|
|
344
|
+
for (var chartDataArray_1 = (e_6 = void 0, tslib_1.__values(chartDataArray)), chartDataArray_1_1 = chartDataArray_1.next(); !chartDataArray_1_1.done; chartDataArray_1_1 = chartDataArray_1.next()) {
|
|
300
345
|
var chartData = chartDataArray_1_1.value;
|
|
301
346
|
if (chartData === null || chartData === void 0 ? void 0 : chartData.sources) {
|
|
302
347
|
try {
|
|
303
|
-
for (var _d = (
|
|
348
|
+
for (var _d = (e_7 = void 0, tslib_1.__values(chartData.sources)), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
304
349
|
var source = _e.value;
|
|
305
350
|
if (source) {
|
|
306
351
|
ranges.push(source);
|
|
307
352
|
}
|
|
308
353
|
}
|
|
309
354
|
}
|
|
310
|
-
catch (
|
|
355
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
311
356
|
finally {
|
|
312
357
|
try {
|
|
313
358
|
if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
|
|
314
359
|
}
|
|
315
|
-
finally { if (
|
|
360
|
+
finally { if (e_7) throw e_7.error; }
|
|
316
361
|
}
|
|
317
362
|
}
|
|
318
363
|
}
|
|
319
364
|
}
|
|
320
|
-
catch (
|
|
365
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
321
366
|
finally {
|
|
322
367
|
try {
|
|
323
368
|
if (chartDataArray_1_1 && !chartDataArray_1_1.done && (_b = chartDataArray_1.return)) _b.call(chartDataArray_1);
|
|
324
369
|
}
|
|
325
|
-
finally { if (
|
|
370
|
+
finally { if (e_6) throw e_6.error; }
|
|
326
371
|
}
|
|
327
372
|
}
|
|
328
373
|
}
|
|
329
374
|
}
|
|
330
|
-
catch (
|
|
375
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
331
376
|
finally {
|
|
332
377
|
try {
|
|
333
378
|
if (dataFields_1_1 && !dataFields_1_1.done && (_a = dataFields_1.return)) _a.call(dataFields_1);
|
|
334
379
|
}
|
|
335
|
-
finally { if (
|
|
380
|
+
finally { if (e_5) throw e_5.error; }
|
|
336
381
|
}
|
|
337
382
|
return ranges;
|
|
338
383
|
};
|
package/dist/esm/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAqJ3D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAgB1E,CAAC;AAYJ;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,OAAO,CAAC,SAAS,CAAC,KAAG,OAQzD,CAAC;AAiBF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,OAAO,CAAC,SAAS,CAAC,KAAG,MAmB9D,CAAC"}
|
package/dist/esm/config.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
// Excel's 3-D chart classes degrade to a 2-D chartType with the authored
|
|
2
|
+
// class kept as `sourceChartType` (BAR_3D, LINE_3D, PIE_3D, AREA_3D,
|
|
3
|
+
// SURFACE, SURFACE_3D). The renderer draws BAR_3D / LINE_3D / AREA_3D /
|
|
4
|
+
// surfaces through echarts-gl when WebGL is available (PIE_3D keeps the
|
|
5
|
+
// 2-D pie) and both exporters write the matching `<c:…3DChart>` element.
|
|
6
|
+
// A 2-D preset in the same family carries no token, and mergeChartSpec
|
|
7
|
+
// clears a picker-authored one on that pick.
|
|
1
8
|
const LINE_CHART_TYPES = [
|
|
2
9
|
["Line", { chartType: "line", smooth: false }],
|
|
3
10
|
[
|
|
@@ -5,6 +12,7 @@ const LINE_CHART_TYPES = [
|
|
|
5
12
|
{ chartType: "line", smooth: false, stackedType: "STACKED" },
|
|
6
13
|
],
|
|
7
14
|
["Smooth line", { chartType: "line", smooth: true }],
|
|
15
|
+
["3-D Line", { chartType: "line", smooth: false, sourceChartType: "LINE_3D" }],
|
|
8
16
|
];
|
|
9
17
|
const COLUMN_CHART_TYPES = [
|
|
10
18
|
["Clustered Column", { chartType: "column", stackedType: "UNSTACKED" }],
|
|
@@ -13,11 +21,34 @@ const COLUMN_CHART_TYPES = [
|
|
|
13
21
|
"100% stacked column",
|
|
14
22
|
{ chartType: "column", stackedType: "PERCENT_STACKED" },
|
|
15
23
|
],
|
|
24
|
+
[
|
|
25
|
+
"3-D Column",
|
|
26
|
+
{ chartType: "column", stackedType: "UNSTACKED", sourceChartType: "BAR_3D" },
|
|
27
|
+
],
|
|
16
28
|
];
|
|
17
29
|
const BAR_CHART_TYPES = [
|
|
18
30
|
["Clustered Bar", { chartType: "bar", stackedType: "UNSTACKED" }],
|
|
19
31
|
["Stacked Bar", { chartType: "bar", stackedType: "STACKED" }],
|
|
20
32
|
["100% stacked Bar", { chartType: "bar", stackedType: "PERCENT_STACKED" }],
|
|
33
|
+
[
|
|
34
|
+
"3-D Bar",
|
|
35
|
+
{ chartType: "bar", stackedType: "UNSTACKED", sourceChartType: "BAR_3D" },
|
|
36
|
+
],
|
|
37
|
+
];
|
|
38
|
+
const AREA_CHART_TYPES = [
|
|
39
|
+
["Area", { chartType: "area", stackedType: "UNSTACKED" }],
|
|
40
|
+
["Stacked area", { chartType: "area", stackedType: "STACKED" }],
|
|
41
|
+
["100% stacked area", { chartType: "area", stackedType: "PERCENT_STACKED" }],
|
|
42
|
+
[
|
|
43
|
+
"3-D Area",
|
|
44
|
+
{ chartType: "area", stackedType: "UNSTACKED", sourceChartType: "AREA_3D" },
|
|
45
|
+
],
|
|
46
|
+
];
|
|
47
|
+
// Surfaces share the area base type: `surface3DChart` is Excel's 3-D
|
|
48
|
+
// Surface, `surfaceChart` its top-down Contour view.
|
|
49
|
+
const SURFACE_CHART_TYPES = [
|
|
50
|
+
["3-D Surface", { chartType: "area", sourceChartType: "SURFACE_3D" }],
|
|
51
|
+
["Contour", { chartType: "area", sourceChartType: "SURFACE" }],
|
|
21
52
|
];
|
|
22
53
|
const PIE_CHART_TYPES = [
|
|
23
54
|
[
|
|
@@ -29,6 +60,26 @@ const PIE_CHART_TYPES = [
|
|
|
29
60
|
// editor's "Chart options" section; the preset deliberately omits it
|
|
30
61
|
// so re-picking "Doughnut" never clobbers an authored hole size.
|
|
31
62
|
["Doughnut", { chartType: "doughnut", stackedType: "UNSTACKED" }],
|
|
63
|
+
[
|
|
64
|
+
"3-D Pie",
|
|
65
|
+
{
|
|
66
|
+
chartType: "pie",
|
|
67
|
+
stackedType: "UNSTACKED",
|
|
68
|
+
radius: [0, "75%"],
|
|
69
|
+
sourceChartType: "PIE_3D",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
// Pie-of-pie / bar-of-pie composites (OOXML <c:ofPieChart>). The split
|
|
73
|
+
// rule (splitType / splitPos / secondPieSize) keeps the renderer's
|
|
74
|
+
// Excel defaults unless authored, so the presets only set the shape.
|
|
75
|
+
["Pie of pie", { chartType: "pie", sourceChartType: "OF_PIE", ofPieType: "pie" }],
|
|
76
|
+
["Bar of pie", { chartType: "pie", sourceChartType: "OF_PIE", ofPieType: "bar" }],
|
|
77
|
+
];
|
|
78
|
+
// Filled map (choropleth): category labels are region names, the first
|
|
79
|
+
// series carries the values. "world" is bundled; other scopes must be
|
|
80
|
+
// registered through registerChartGeoMap().
|
|
81
|
+
const MAP_CHART_TYPES = [
|
|
82
|
+
["Filled map", { chartType: "regionMap", geoScope: "world" }],
|
|
32
83
|
];
|
|
33
84
|
const BUBBLE_CHART_TYPES = [
|
|
34
85
|
[
|
|
@@ -80,11 +131,14 @@ export const CHART_TYPES = [
|
|
|
80
131
|
["Bar", BAR_CHART_TYPES],
|
|
81
132
|
["Column", COLUMN_CHART_TYPES],
|
|
82
133
|
["Line", LINE_CHART_TYPES],
|
|
134
|
+
["Area", AREA_CHART_TYPES],
|
|
83
135
|
["Pie", PIE_CHART_TYPES],
|
|
84
136
|
["Scatter & Bubble", BUBBLE_CHART_TYPES],
|
|
85
137
|
["Hierarchy", HIERARCHY_CHART_TYPES],
|
|
86
138
|
["Statistical", STATISTICAL_CHART_TYPES],
|
|
87
139
|
["Flow", FLOW_CHART_TYPES],
|
|
140
|
+
["Surface", SURFACE_CHART_TYPES],
|
|
141
|
+
["Map", MAP_CHART_TYPES],
|
|
88
142
|
["Radar", RADAR_CHART_TYPES],
|
|
89
143
|
["Stock", STOCK_CHART_TYPES],
|
|
90
144
|
["Combo", COMBO_CHART_TYPES],
|
|
@@ -128,6 +182,9 @@ const PRESET_DISCRIMINATORS = [
|
|
|
128
182
|
["smooth", false],
|
|
129
183
|
["radarStyle", "standard"],
|
|
130
184
|
["stockVariant", "HLC"],
|
|
185
|
+
// 3-D / of-pie variants share a chartType with their 2-D preset.
|
|
186
|
+
["sourceChartType", undefined],
|
|
187
|
+
["ofPieType", "pie"],
|
|
131
188
|
];
|
|
132
189
|
/**
|
|
133
190
|
* Derive the picker label for an existing spec — the inverse of the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-spec-utils.d.ts","sourceRoot":"","sources":["../../../utils/chart-spec-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;AACpD,KAAK,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AACtD,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEvC,eAAO,MAAM,iBAAiB,6MAe5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,6MAA4C,CAAC;AAE5E,eAAO,MAAM,qBAAqB,6MAGhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,KAAG,aAKvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,cAAuD,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,YAAY,CAAC,EACT,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,qBACiB,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,kBACoB,CAAC;AAwC5C;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,WAAW,SAAS,KACnB,OAAO,CAAC,SAAS,CAEnB,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-spec-utils.d.ts","sourceRoot":"","sources":["../../../utils/chart-spec-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;AACpD,KAAK,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AACtD,KAAK,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEvC,eAAO,MAAM,iBAAiB,6MAe5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,6MAA4C,CAAC;AAE5E,eAAO,MAAM,qBAAqB,6MAGhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,KAAG,aAKvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,cAAuD,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,YAAY,CAAC,EACT,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,qBACiB,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,SAAS,KACd,IAAI,IAAI,SAAS,GAAG,kBACoB,CAAC;AAwC5C;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,WAAW,SAAS,KACnB,OAAO,CAAC,SAAS,CAEnB,CAAC;AA8EF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,SAAS,EACnB,QAAQ,SAAS,KAChB,MAAM,EAoBR,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,SAAS,EAAE,KAAG,OAM3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,SAAS,EAAE,EACrB,WAAW,SAAS,EAAE,KACrB,SAAS,EAKX,CAAC;AA+BF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,cAAc,SAAS,EACvB,cAAc,OAAO,CAAC,SAAS,CAAC,KAC/B,SA0EF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,KAAG,UAAU,EAsB9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,OAAO,KAAG,MAQvD,CAAC"}
|
|
@@ -134,6 +134,23 @@ const CATEGORY_SPECIFIC_PROPERTIES = {
|
|
|
134
134
|
],
|
|
135
135
|
hierarchy: ["labels", "parentLabels", "sizeData", "useFirstRowAsHeaders"],
|
|
136
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
* `sourceChartType` tokens the picker's presets author (3-D classes and
|
|
139
|
+
* the of-pie composite). Picking a chart type that carries none of them
|
|
140
|
+
* resets the variant, so "Clustered Column" after "3-D Column" is 2-D
|
|
141
|
+
* again — unlike `PARETO` / `REGION_MAP`, which only import sets.
|
|
142
|
+
*/
|
|
143
|
+
const PICKER_VARIANT_TOKENS = new Set([
|
|
144
|
+
"BAR_3D",
|
|
145
|
+
"LINE_3D",
|
|
146
|
+
"PIE_3D",
|
|
147
|
+
"AREA_3D",
|
|
148
|
+
"SURFACE",
|
|
149
|
+
"SURFACE_3D",
|
|
150
|
+
"OF_PIE",
|
|
151
|
+
]);
|
|
152
|
+
/** Of-pie split fields; meaningless once the spec is no longer an of-pie. */
|
|
153
|
+
const OF_PIE_FIELDS = ["ofPieType", "splitType", "splitPos", "secondPieSize"];
|
|
137
154
|
/**
|
|
138
155
|
* Returns the properties that should be removed when transitioning
|
|
139
156
|
* from one chart type to another.
|
|
@@ -212,6 +229,23 @@ export const mergeChartSpec = (existingSpec, incomingSpec) => {
|
|
|
212
229
|
delete merged[field];
|
|
213
230
|
}
|
|
214
231
|
}
|
|
232
|
+
// A chart-type pick resets a picker-authored variant it doesn't carry:
|
|
233
|
+
// no incoming sourceChartType clears a 3-D / of-pie token, and leaving
|
|
234
|
+
// the of-pie composite drops its split fields (even for "3-D Pie").
|
|
235
|
+
if (incomingChartType) {
|
|
236
|
+
const existingToken = String(existingSpec.sourceChartType ?? "").toUpperCase();
|
|
237
|
+
const incomingToken = String(incomingSpec.sourceChartType ?? "").toUpperCase();
|
|
238
|
+
if (PICKER_VARIANT_TOKENS.has(existingToken) &&
|
|
239
|
+
!("sourceChartType" in incomingSpec)) {
|
|
240
|
+
delete merged.sourceChartType;
|
|
241
|
+
}
|
|
242
|
+
if (existingToken === "OF_PIE" && incomingToken !== "OF_PIE") {
|
|
243
|
+
for (const field of OF_PIE_FIELDS) {
|
|
244
|
+
if (!(field in incomingSpec))
|
|
245
|
+
delete merged[field];
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
215
249
|
// Apply incoming spec properties
|
|
216
250
|
Object.assign(merged, incomingSpec);
|
|
217
251
|
// Handle chart data array merging - preserve existing if incoming is placeholder
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rowsncolumns/charts",
|
|
3
|
-
"version": "27.0.
|
|
3
|
+
"version": "27.0.32",
|
|
4
4
|
"author": "Vinay M",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -64,13 +64,13 @@
|
|
|
64
64
|
"world-atlas": "^2.0.2"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@rowsncolumns/calculator": ">=7.2.
|
|
68
|
-
"@rowsncolumns/grid": ">=13.2.
|
|
69
|
-
"@rowsncolumns/spreadsheet": ">=10.2.
|
|
70
|
-
"@rowsncolumns/spreadsheet-state": ">=28.0.
|
|
71
|
-
"@rowsncolumns/toolkit": ">=24.4.
|
|
72
|
-
"@rowsncolumns/ui": ">=15.0.
|
|
73
|
-
"@rowsncolumns/utils": ">=9.2.
|
|
67
|
+
"@rowsncolumns/calculator": ">=7.2.31",
|
|
68
|
+
"@rowsncolumns/grid": ">=13.2.33",
|
|
69
|
+
"@rowsncolumns/spreadsheet": ">=10.2.74",
|
|
70
|
+
"@rowsncolumns/spreadsheet-state": ">=28.0.73",
|
|
71
|
+
"@rowsncolumns/toolkit": ">=24.4.3",
|
|
72
|
+
"@rowsncolumns/ui": ">=15.0.39",
|
|
73
|
+
"@rowsncolumns/utils": ">=9.2.40",
|
|
74
74
|
"@types/react-plotly.js": "^2.6.3",
|
|
75
75
|
"echarts": "^5.6.0",
|
|
76
76
|
"formik": "^2.4.6",
|
|
@@ -79,13 +79,13 @@
|
|
|
79
79
|
"react-plotly.js": "^2.6.0"
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
|
-
"@rowsncolumns/calculator": ">=7.2.
|
|
83
|
-
"@rowsncolumns/grid": ">=13.2.
|
|
84
|
-
"@rowsncolumns/spreadsheet": ">=10.2.
|
|
85
|
-
"@rowsncolumns/spreadsheet-state": ">=28.0.
|
|
86
|
-
"@rowsncolumns/toolkit": ">=24.4.
|
|
87
|
-
"@rowsncolumns/ui": ">=15.0.
|
|
88
|
-
"@rowsncolumns/utils": ">=9.2.
|
|
82
|
+
"@rowsncolumns/calculator": ">=7.2.31",
|
|
83
|
+
"@rowsncolumns/grid": ">=13.2.33",
|
|
84
|
+
"@rowsncolumns/spreadsheet": ">=10.2.74",
|
|
85
|
+
"@rowsncolumns/spreadsheet-state": ">=28.0.73",
|
|
86
|
+
"@rowsncolumns/toolkit": ">=24.4.3",
|
|
87
|
+
"@rowsncolumns/ui": ">=15.0.39",
|
|
88
|
+
"@rowsncolumns/utils": ">=9.2.40",
|
|
89
89
|
"immer": ">10.0.0",
|
|
90
90
|
"jotai": ">=2.10.3",
|
|
91
91
|
"plotly.js": ">=3",
|