@rowsncolumns/toolkit 24.5.12 → 24.5.14

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.
@@ -21,6 +21,8 @@ export declare const CHART_EX_GRAPHIC_URI = "http://schemas.microsoft.com/office
21
21
  * checked). Returns the `cx:chart` node or undefined for non-chartex anchors.
22
22
  */
23
23
  export declare function getChartExReferenceFromAnchor(anchor: any): any;
24
+ /** Resolves an `_xlchart.v1.N` defined name (chartex ranges go through them) to its range. */
25
+ export type ResolveChartExName = (name: string) => SheetRange | undefined;
24
26
  /**
25
27
  * Split a multi-column hierarchy range (Excel lays the treemap hierarchy out
26
28
  * as columns, top level first, leaf last) into `parentLabels` (one entry per
@@ -30,8 +32,17 @@ export declare const splitHierarchyRange: (range: SheetRange) => {
30
32
  parentLabels: SheetRange[];
31
33
  labels: SheetRange;
32
34
  };
33
- /** Parse a `cx:chartSpace` DOM into an `EmbeddedChart` spec (null when unsupported). */
34
- export declare function parseChartExSpec(chartSpaceDom: any, sheetId: number, resolveSheetId?: ResolveSheetId): EmbeddedChart["spec"] | null;
35
+ /**
36
+ * Parse a `cx:chartSpace` DOM into an `EmbeddedChart` spec (null when
37
+ * unsupported). Every `<cx:series>` is a series — its name from `<cx:tx>`
38
+ * (linked to the header cell when it is a reference, #1100), its ranges from
39
+ * the `<cx:data>` block its `<cx:dataId>` names — and the per-type options
40
+ * come from `<cx:layoutPr>`: box & whisker visibility + quartile method,
41
+ * histogram binning, waterfall subtotals, treemap label layout
42
+ * (rowsncolumns/spreadsheet#1107). `resolveName` resolves the
43
+ * `_xlchart.v1.N` defined names Excel writes the ranges through.
44
+ */
45
+ export declare function parseChartExSpec(chartSpaceDom: any, sheetId: number, resolveSheetId?: ResolveSheetId, resolveName?: ResolveChartExName): EmbeddedChart["spec"] | null;
35
46
  /** Resolve + parse one chartex part referenced from a drawing anchor. */
36
- export declare function processChartEx(chartTarget: string, drawingPath: string, anchor: any, sheetId: number, zipParser: StreamingZipParser, xmlParser: any, sheetDimensions?: SheetDimensions, resolveSheetId?: ResolveSheetId): Promise<EmbeddedChart | null>;
47
+ export declare function processChartEx(chartTarget: string, drawingPath: string, anchor: any, sheetId: number, zipParser: StreamingZipParser, xmlParser: any, sheetDimensions?: SheetDimensions, resolveSheetId?: ResolveSheetId, resolveName?: ResolveChartExName): Promise<EmbeddedChart | null>;
37
48
  //# sourceMappingURL=chartex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chartex.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/chartex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,iBAAiB,mEACoC,CAAC;AACnE,eAAO,MAAM,oBAAoB,6DAC2B,CAAC;AAyB7D;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAoB9D;AA8BD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,UAAU,KAChB;IAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAalD,CAAC;AAWF,wFAAwF;AACxF,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,GAC9B,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CA0D9B;AAED,yEAAyE;AACzE,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,GAAG,EACd,eAAe,CAAC,EAAE,eAAe,EACjC,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAsB/B"}
1
+ {"version":3,"file":"chartex.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/chartex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,iBAAiB,mEACoC,CAAC;AACnE,eAAO,MAAM,oBAAoB,6DAC2B,CAAC;AAyB7D;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAoB9D;AA6BD,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;AA0B1E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,UAAU,KAChB;IAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAalD,CAAC;AAgFF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,cAAc,EAC/B,WAAW,CAAC,EAAE,kBAAkB,GAC/B,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAyJ9B;AAED,yEAAyE;AACzE,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,GAAG,EACd,eAAe,CAAC,EAAE,eAAe,EACjC,cAAc,CAAC,EAAE,cAAc,EAC/B,WAAW,CAAC,EAAE,kBAAkB,GAC/B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA2B/B"}
@@ -111,19 +111,38 @@ export function getChartExReferenceFromAnchor(anchor) {
111
111
  }
112
112
  return undefined;
113
113
  }
114
- /** `layoutId` → engine chart type. Unknown layouts are not imported. */
115
- var CHART_TYPE_BY_LAYOUT = {
116
- treemap: "treemap",
117
- sunburst: "sunburst",
118
- waterfall: "waterfall",
119
- funnel: "funnel",
120
- boxWhisker: "boxplot",
121
- // `clusteredColumn` is a histogram / pareto only when it carries `<cx:binning>`.
114
+ /**
115
+ * `layoutId` → engine chart type (+ `sourceChartType`). `clusteredColumn` is
116
+ * a histogram only when it carries `<cx:binning>` (else Excel's plain column
117
+ * fallback); `paretoLine` is the cumulative line of a Pareto histogram, not a
118
+ * chart of its own. Unknown layouts are not imported.
119
+ */
120
+ var chartKindOf = function (layoutId, hasBinning) {
121
+ switch (layoutId) {
122
+ case "treemap":
123
+ case "sunburst":
124
+ case "waterfall":
125
+ case "funnel":
126
+ return { chartType: layoutId };
127
+ case "boxWhisker":
128
+ return { chartType: "boxplot" };
129
+ case "regionMap":
130
+ return { chartType: "regionMap", sourceChartType: "REGION_MAP" };
131
+ case "clusteredColumn":
132
+ return { chartType: hasBinning ? "histogram" : "column" };
133
+ default:
134
+ return undefined;
135
+ }
122
136
  };
123
- var sourcesFromRef = function (ref, hostSheetId, resolveSheetId) {
137
+ var sourcesFromRef = function (ref, hostSheetId, resolveSheetId, resolveName) {
124
138
  if (!ref)
125
139
  return [];
126
- var selections = generateSelectionsFromFormula("=".concat(ref));
140
+ var trimmed = ref.trim();
141
+ if (/^_xlchart/i.test(trimmed)) {
142
+ var range = resolveName === null || resolveName === void 0 ? void 0 : resolveName(trimmed);
143
+ return range ? [range] : [];
144
+ }
145
+ var selections = generateSelectionsFromFormula("=".concat(trimmed));
127
146
  return selections.map(function (sel) {
128
147
  var _a;
129
148
  return (__assign(__assign({}, sel.range), { sheetId: (_a = (sel.sheetName ? resolveSheetId === null || resolveSheetId === void 0 ? void 0 : resolveSheetId(sel.sheetName) : undefined)) !== null && _a !== void 0 ? _a : hostSheetId }));
@@ -154,54 +173,287 @@ var dimensionRef = function (data, dimTag, type) {
154
173
  var f = child(dim, "f");
155
174
  return ((_b = textOf(Array.isArray(f) ? f[0] : f)) === null || _b === void 0 ? void 0 : _b.trim()) || undefined;
156
175
  };
157
- /** Parse a `cx:chartSpace` DOM into an `EmbeddedChart` spec (null when unsupported). */
158
- export function parseChartExSpec(chartSpaceDom, sheetId, resolveSheetId) {
159
- var _a, _b, _c, _d, _e;
160
- var chartSpace = (_a = child(chartSpaceDom, "chartSpace")) !== null && _a !== void 0 ? _a : chartSpaceDom;
176
+ var flagOf = function (node, name) {
177
+ var raw = get(node, "a$.".concat(name));
178
+ if (raw === undefined || raw === null)
179
+ return undefined;
180
+ return raw === "1" || raw === 1 || raw === "true" || raw === true;
181
+ };
182
+ var numberOf = function (raw) {
183
+ if (raw === undefined || raw === null || raw === "")
184
+ return undefined;
185
+ var n = Number(raw);
186
+ return Number.isFinite(n) ? n : undefined;
187
+ };
188
+ /** `<cx:spPr><a:solidFill><a:srgbClr val>` → `#RRGGBB` (the series or Pareto line fill). */
189
+ var colorOf = function (series) {
190
+ var spPr = child(series, "spPr");
191
+ if (!spPr)
192
+ return undefined;
193
+ var walk = function (node) {
194
+ var e_5, _a;
195
+ if (!node || typeof node !== "object")
196
+ return undefined;
197
+ try {
198
+ for (var _b = __values(Object.keys(node)), _c = _b.next(); !_c.done; _c = _b.next()) {
199
+ var key = _c.value;
200
+ var local = key.includes(":") ? key.slice(key.indexOf(":") + 1) : key;
201
+ var value = node[key];
202
+ if (local === "srgbClr") {
203
+ var first = Array.isArray(value) ? value[0] : value;
204
+ var val = get(first, "a$.val");
205
+ if (typeof val === "string")
206
+ return "#".concat(val.toUpperCase());
207
+ }
208
+ if (local !== "a$") {
209
+ var found = walk(Array.isArray(value) ? value[0] : value);
210
+ if (found)
211
+ return found;
212
+ }
213
+ }
214
+ }
215
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
216
+ finally {
217
+ try {
218
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
219
+ }
220
+ finally { if (e_5) throw e_5.error; }
221
+ }
222
+ return undefined;
223
+ };
224
+ return walk(spPr);
225
+ };
226
+ var CHART_EX_LABEL_POSITIONS = {
227
+ ctr: "center",
228
+ inBase: "insideBase",
229
+ inEnd: "insideEnd",
230
+ outEnd: "outsideEnd",
231
+ t: "above",
232
+ b: "below",
233
+ l: "left",
234
+ r: "right",
235
+ bestFit: "bestFit",
236
+ };
237
+ /** `<cx:dataLabels>` on a series → its `dataLabels`; every visibility flag off is `{ show: false }`. */
238
+ var dataLabelsOf = function (series) {
239
+ var _a, _b;
240
+ var dl = child(series, "dataLabels");
241
+ if (!dl)
242
+ return undefined;
243
+ var vis = child(dl, "visibility");
244
+ var out = {};
245
+ if ((_a = flagOf(vis, "value")) !== null && _a !== void 0 ? _a : true)
246
+ out.showValue = true;
247
+ if (flagOf(vis, "categoryName"))
248
+ out.showCategoryName = true;
249
+ if (flagOf(vis, "seriesName"))
250
+ out.showSeriesName = true;
251
+ var position = CHART_EX_LABEL_POSITIONS[String((_b = get(dl, "a$.pos")) !== null && _b !== void 0 ? _b : "")];
252
+ if (position)
253
+ out.position = position;
254
+ if (!Object.keys(out).length)
255
+ return { show: false };
256
+ return __assign({ show: true }, out);
257
+ };
258
+ var singleCell = function (range) { return (__assign(__assign({}, range), { endRowIndex: range.startRowIndex, endColumnIndex: range.startColumnIndex })); };
259
+ /**
260
+ * Parse a `cx:chartSpace` DOM into an `EmbeddedChart` spec (null when
261
+ * unsupported). Every `<cx:series>` is a series — its name from `<cx:tx>`
262
+ * (linked to the header cell when it is a reference, #1100), its ranges from
263
+ * the `<cx:data>` block its `<cx:dataId>` names — and the per-type options
264
+ * come from `<cx:layoutPr>`: box & whisker visibility + quartile method,
265
+ * histogram binning, waterfall subtotals, treemap label layout
266
+ * (rowsncolumns/spreadsheet#1107). `resolveName` resolves the
267
+ * `_xlchart.v1.N` defined names Excel writes the ranges through.
268
+ */
269
+ export function parseChartExSpec(chartSpaceDom, sheetId, resolveSheetId, resolveName) {
270
+ var e_6, _a, e_7, _b;
271
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
272
+ var chartSpace = (_c = child(chartSpaceDom, "chartSpace")) !== null && _c !== void 0 ? _c : chartSpaceDom;
161
273
  var chart = child(chartSpace, "chart");
162
274
  if (!chart)
163
275
  return null;
164
276
  var region = child(child(chart, "plotArea"), "plotAreaRegion");
165
- var series = asArray(child(region, "series"))[0];
166
- if (!series)
277
+ var allSeries = asArray(child(region, "series"));
278
+ var dataSeries = allSeries.filter(function (series) { var _a; return String((_a = get(series, "a$.layoutId")) !== null && _a !== void 0 ? _a : "") !== "paretoLine"; });
279
+ var paretoLine = allSeries.find(function (series) { var _a; return String((_a = get(series, "a$.layoutId")) !== null && _a !== void 0 ? _a : "") === "paretoLine"; });
280
+ var first = dataSeries[0];
281
+ if (!first)
167
282
  return null;
168
- var layoutId = String((_b = get(series, "a$.layoutId")) !== null && _b !== void 0 ? _b : "");
283
+ var layoutId = String((_d = get(first, "a$.layoutId")) !== null && _d !== void 0 ? _d : "");
169
284
  // Excel nests `<cx:binning>` in `<cx:layoutPr>`; tolerate it directly on the series too.
170
- var binning = (_c = child(child(series, "layoutPr"), "binning")) !== null && _c !== void 0 ? _c : child(series, "binning");
171
- var chartType = layoutId === "clusteredColumn" && binning
172
- ? "histogram"
173
- : CHART_TYPE_BY_LAYOUT[layoutId];
174
- if (!chartType)
175
- return null;
176
- var dataId = String((_d = get(child(series, "dataId"), "a$.val")) !== null && _d !== void 0 ? _d : "0");
177
- var data = (_e = asArray(child(child(chartSpace, "chartData"), "data")).find(function (d) { return String(get(d, "a$.id")) === dataId; })) !== null && _e !== void 0 ? _e : asArray(child(child(chartSpace, "chartData"), "data"))[0];
178
- if (!data)
285
+ var layoutPr = child(first, "layoutPr");
286
+ var binning = (_e = child(layoutPr, "binning")) !== null && _e !== void 0 ? _e : child(first, "binning");
287
+ var kind = chartKindOf(layoutId, Boolean(binning));
288
+ if (!kind)
179
289
  return null;
290
+ var chartType = kind.chartType;
291
+ var hierarchy = chartType === "treemap" || chartType === "sunburst";
292
+ var dataBlocks = asArray(child(child(chartSpace, "chartData"), "data"));
293
+ var blockFor = function (series) {
294
+ var _a, _b;
295
+ var dataId = String((_a = get(child(series, "dataId"), "a$.val")) !== null && _a !== void 0 ? _a : "0");
296
+ return ((_b = dataBlocks.find(function (d) { return String(get(d, "a$.id")) === dataId; })) !== null && _b !== void 0 ? _b : dataBlocks[0]);
297
+ };
298
+ var sources = function (ref) {
299
+ return sourcesFromRef(ref, sheetId, resolveSheetId, resolveName);
300
+ };
180
301
  var title = textOf(child(child(child(child(chart, "title"), "tx"), "txData"), "v"));
181
- var catRef = dimensionRef(data, "strDim", "cat");
182
- var catSources = sourcesFromRef(catRef, sheetId, resolveSheetId);
183
- if (chartType === "treemap" || chartType === "sunburst") {
184
- var sizeRef = dimensionRef(data, "numDim", "size");
185
- var sizeSources = sourcesFromRef(sizeRef, sheetId, resolveSheetId);
302
+ var spec = { chartType: chartType };
303
+ if (kind.sourceChartType)
304
+ spec.sourceChartType = kind.sourceChartType;
305
+ if (title)
306
+ spec.title = title;
307
+ if (hierarchy) {
308
+ var data = blockFor(first);
309
+ if (!data)
310
+ return null;
311
+ var catSources = sources(dimensionRef(data, "strDim", "cat"));
312
+ var sizeSources = sources((_f = dimensionRef(data, "numDim", "size")) !== null && _f !== void 0 ? _f : dimensionRef(data, "numDim", "val"));
186
313
  if (!catSources.length || !sizeSources.length)
187
314
  return null;
188
- var hierarchy = splitHierarchyRange(catSources[0]);
189
- return __assign(__assign({ chartType: chartType }, (title ? { title: title } : {})), { labels: [chartData([hierarchy.labels])], parentLabels: hierarchy.parentLabels.map(function (range) { return chartData([range]); }), sizeData: [chartData(sizeSources)] });
315
+ var hierarchyRanges = splitHierarchyRange(catSources[0]);
316
+ spec.labels = [chartData([hierarchyRanges.labels])];
317
+ spec.parentLabels = hierarchyRanges.parentLabels.map(function (range) { return chartData([range]); });
318
+ spec.sizeData = [chartData(sizeSources)];
319
+ spec.useFirstRowAsHeaders = false;
320
+ if (chartType === "treemap") {
321
+ var layout = String((_g = get(child(layoutPr, "parentLabelLayout"), "a$.val")) !== null && _g !== void 0 ? _g : "");
322
+ if (layout === "banner" || layout === "overlapping" || layout === "none") {
323
+ spec.parentLabelLayout = layout;
324
+ }
325
+ }
190
326
  }
191
- var valRef = dimensionRef(data, "numDim", "val");
192
- var valSources = sourcesFromRef(valRef, sheetId, resolveSheetId);
193
- if (!valSources.length)
194
- return null;
195
- var spec = __assign(__assign(__assign({ chartType: chartType }, (title ? { title: title } : {})), { series: [chartData(valSources)] }), (catSources.length ? { domains: [chartData(catSources)] } : {}));
196
- if (chartType === "histogram") {
197
- var binCount = Number(get(child(binning, "binCount"), "a$.val"));
198
- if (Number.isFinite(binCount) && binCount > 0)
199
- spec.binCount = binCount;
327
+ else {
328
+ var series = [];
329
+ var domains = void 0;
330
+ var chartDataLabels = void 0;
331
+ try {
332
+ for (var dataSeries_1 = __values(dataSeries), dataSeries_1_1 = dataSeries_1.next(); !dataSeries_1_1.done; dataSeries_1_1 = dataSeries_1.next()) {
333
+ var entry = dataSeries_1_1.value;
334
+ var data = blockFor(entry);
335
+ if (!data)
336
+ continue;
337
+ var valSources = sources((_h = dimensionRef(data, "numDim", "val")) !== null && _h !== void 0 ? _h : dimensionRef(data, "numDim", "size"));
338
+ if (!valSources.length)
339
+ continue;
340
+ var txData = child(child(entry, "tx"), "txData");
341
+ var nameRef = (_j = textOf(child(txData, "f"))) === null || _j === void 0 ? void 0 : _j.trim();
342
+ var nameSource = nameRef ? sources(nameRef)[0] : undefined;
343
+ var item = __assign(__assign({ dataLabel: (_k = textOf(child(txData, "v"))) !== null && _k !== void 0 ? _k : "Series ".concat(series.length + 1) }, (nameSource ? { dataLabelSource: singleCell(nameSource) } : {})), { sources: valSources });
344
+ var color = colorOf(entry);
345
+ if (color)
346
+ item.color = color;
347
+ var labels = dataLabelsOf(entry);
348
+ if (labels) {
349
+ item.dataLabels = labels;
350
+ chartDataLabels !== null && chartDataLabels !== void 0 ? chartDataLabels : (chartDataLabels = labels);
351
+ }
352
+ if (!domains) {
353
+ var catSources = sources(dimensionRef(data, "strDim", "cat"));
354
+ if (catSources.length)
355
+ domains = [chartData(catSources)];
356
+ }
357
+ series.push(item);
358
+ }
359
+ }
360
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
361
+ finally {
362
+ try {
363
+ if (dataSeries_1_1 && !dataSeries_1_1.done && (_a = dataSeries_1.return)) _a.call(dataSeries_1);
364
+ }
365
+ finally { if (e_6) throw e_6.error; }
366
+ }
367
+ if (!series.length)
368
+ return null;
369
+ spec.series = series;
370
+ if (domains)
371
+ spec.domains = domains;
372
+ if (chartDataLabels)
373
+ spec.dataLabels = chartDataLabels;
374
+ }
375
+ if (paretoLine) {
376
+ spec.sourceChartType = "PARETO";
377
+ var color = colorOf(paretoLine);
378
+ if (color)
379
+ spec.paretoLineColor = color;
380
+ }
381
+ if (chartType === "boxplot") {
382
+ var vis = child(layoutPr, "visibility");
383
+ if (flagOf(vis, "outliers") === false)
384
+ spec.showOutliers = false;
385
+ if (flagOf(vis, "meanMarker"))
386
+ spec.showMeanMarker = true;
387
+ if (flagOf(vis, "nonoutliers"))
388
+ spec.showInnerPoints = true;
389
+ if (flagOf(vis, "meanLine"))
390
+ spec.showMeanLine = true;
391
+ var method = String((_l = get(child(layoutPr, "statistics"), "a$.quartileMethod")) !== null && _l !== void 0 ? _l : "");
392
+ if (method === "inclusive" || method === "exclusive")
393
+ spec.quartileMethod = method;
394
+ }
395
+ if (binning) {
396
+ var binSize = numberOf(get(child(binning, "binSize"), "a$.val"));
397
+ if (binSize !== undefined && binSize > 0)
398
+ spec.binSize = binSize;
399
+ var binCount = numberOf(get(child(binning, "binCount"), "a$.val"));
400
+ if (binCount !== undefined && binCount >= 1)
401
+ spec.binCount = Math.round(binCount);
402
+ if (get(binning, "a$.intervalClosed") === "l")
403
+ spec.intervalClosed = "l";
404
+ var overflow = numberOf(get(binning, "a$.overflow"));
405
+ if (overflow !== undefined)
406
+ spec.overflow = overflow;
407
+ var underflow = numberOf(get(binning, "a$.underflow"));
408
+ if (underflow !== undefined)
409
+ spec.underflow = underflow;
410
+ }
411
+ if (chartType === "waterfall") {
412
+ var totals = asArray(child(child(layoutPr, "subtotals"), "idx"))
413
+ .map(function (idx) { return numberOf(get(idx, "a$.val")); })
414
+ .filter(function (n) { return n !== undefined; });
415
+ if (totals.length)
416
+ spec.totalIndices = totals;
417
+ }
418
+ // chartex writes `<cx:legend pos>` only when the legend is shown.
419
+ var legendPos = String((_m = get(child(chart, "legend"), "a$.pos")) !== null && _m !== void 0 ? _m : "");
420
+ spec.legend = {
421
+ position: (_o = { t: "top", b: "bottom", l: "left", r: "right", tr: "topRight" }[legendPos]) !== null && _o !== void 0 ? _o : "none",
422
+ };
423
+ try {
424
+ // Axes: the value axis' scale and gridlines, the category axis' gap (a fraction of the bar width).
425
+ for (var _p = __values(asArray(child(child(chart, "plotArea"), "axis"))), _q = _p.next(); !_q.done; _q = _p.next()) {
426
+ var axis = _q.value;
427
+ var valScaling = child(axis, "valScaling");
428
+ if (valScaling) {
429
+ var options = {};
430
+ var min = numberOf(get(valScaling, "a$.min"));
431
+ var max = numberOf(get(valScaling, "a$.max"));
432
+ if (min !== undefined)
433
+ options.min = min;
434
+ if (max !== undefined)
435
+ options.max = max;
436
+ if (!child(axis, "majorGridlines"))
437
+ options.showMajorGridlines = false;
438
+ if (Object.keys(options).length)
439
+ spec.valueAxisOptions = options;
440
+ }
441
+ var gap = numberOf(get(child(axis, "catScaling"), "a$.gapWidth"));
442
+ if (gap !== undefined)
443
+ spec.gapWidth = Math.round(gap * 100);
444
+ }
445
+ }
446
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
447
+ finally {
448
+ try {
449
+ if (_q && !_q.done && (_b = _p.return)) _b.call(_p);
450
+ }
451
+ finally { if (e_7) throw e_7.error; }
200
452
  }
201
453
  return spec;
202
454
  }
203
455
  /** Resolve + parse one chartex part referenced from a drawing anchor. */
204
- export function processChartEx(chartTarget, drawingPath, anchor, sheetId, zipParser, xmlParser, sheetDimensions, resolveSheetId) {
456
+ export function processChartEx(chartTarget, drawingPath, anchor, sheetId, zipParser, xmlParser, sheetDimensions, resolveSheetId, resolveName) {
205
457
  return __awaiter(this, void 0, void 0, function () {
206
458
  var chartPath, drawingDir, content, _a, spec, position;
207
459
  return __generator(this, function (_b) {
@@ -231,7 +483,7 @@ export function processChartEx(chartTarget, drawingPath, anchor, sheetId, zipPar
231
483
  case 4:
232
484
  if (!content)
233
485
  return [2 /*return*/, null];
234
- spec = parseChartExSpec(xmlParser.parse(content), sheetId, resolveSheetId);
486
+ spec = parseChartExSpec(xmlParser.parse(content), sheetId, resolveSheetId, resolveName);
235
487
  if (!spec)
236
488
  return [2 /*return*/, null];
237
489
  position = extractChartPosition(anchor, sheetId, sheetDimensions);
@@ -1 +1 @@
1
- {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/charts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/charts.ts"],"names":[],"mappings":"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"}
@@ -1448,6 +1448,23 @@ function isSecondaryGroupContainer(container, secondaryIds) {
1448
1448
  * model expects (one entry per parsed selection, with the data sheet's
1449
1449
  * sheetId — not the chart's host sheet).
1450
1450
  */
1451
+ /**
1452
+ * A series name linked to a header cell (`<c:tx><c:strRef><c:f>`) → the
1453
+ * spec's `dataLabelSource`, so the renderers read the cell's current text
1454
+ * and the link survives inserted rows / columns and a sheet rename (#1100).
1455
+ * A reference that names no known sheet (or several cells) is dropped and
1456
+ * the cached title stays the literal name.
1457
+ */
1458
+ function seriesLabelSource(nameRef, hostSheetId, resolveSheetId) {
1459
+ if (!nameRef)
1460
+ return {};
1461
+ var _a = __read(resolveSourcesFromRef(nameRef, hostSheetId, resolveSheetId), 1), source = _a[0];
1462
+ if (!source)
1463
+ return {};
1464
+ return {
1465
+ dataLabelSource: __assign(__assign({}, source), { endRowIndex: source.startRowIndex, endColumnIndex: source.startColumnIndex }),
1466
+ };
1467
+ }
1451
1468
  function resolveSourcesFromRef(ref, hostSheetId, resolveSheetId) {
1452
1469
  var selections = generateSelectionsFromFormula("=".concat(ref));
1453
1470
  return selections.map(function (sel) { return (__assign(__assign({}, sel.range), { sheetId: pickSheetId(sel.sheetName, hostSheetId, resolveSheetId) })); });
@@ -1599,7 +1616,7 @@ export function extractChartSeries(plotArea, chartType, sheetId, resolveSheetId)
1599
1616
  ? resolveSourcesFromRef(serCatRef, sheetId, resolveSheetId)
1600
1617
  : [];
1601
1618
  orders.push(seriesOrderOf(ser));
1602
- series.push(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dataLabel: seriesTitle || "Series ".concat(seriesIndex + 1) }, (nameRef ? { dataLabelRef: nameRef } : {})), (categorySources.length ? { categorySources: categorySources } : {})), { color: colorInfo.color }), (colorInfo.noFill ? { noFill: true } : {})), { negativeColor: colorInfo.negativeColor, invertIfNegative: colorInfo.invertIfNegative }), (colorInfo.gradient ? { gradient: colorInfo.gradient } : {})), (container.isXY ? {} : { seriesChartType: seriesChartType })), (useSecondaryAxis ? { useSecondaryAxis: true } : {})), { sources: sources }), (inlineValues && inlineValues.length ? { inlineValues: inlineValues } : {})), (trendlines && trendlines.length ? { trendlines: trendlines } : {})), (errorBars ? { errorBars: errorBars } : {})), (marker ? { marker: marker } : {})), (dataPointColors && dataPointColors.length
1619
+ series.push(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dataLabel: seriesTitle || "Series ".concat(seriesIndex + 1) }, seriesLabelSource(nameRef, sheetId, resolveSheetId)), (categorySources.length ? { categorySources: categorySources } : {})), { color: colorInfo.color }), (colorInfo.noFill ? { noFill: true } : {})), { negativeColor: colorInfo.negativeColor, invertIfNegative: colorInfo.invertIfNegative }), (colorInfo.gradient ? { gradient: colorInfo.gradient } : {})), (container.isXY ? {} : { seriesChartType: seriesChartType })), (useSecondaryAxis ? { useSecondaryAxis: true } : {})), { sources: sources }), (inlineValues && inlineValues.length ? { inlineValues: inlineValues } : {})), (trendlines && trendlines.length ? { trendlines: trendlines } : {})), (errorBars ? { errorBars: errorBars } : {})), (marker ? { marker: marker } : {})), (dataPointColors && dataPointColors.length
1603
1620
  ? { dataPointColors: dataPointColors }
1604
1621
  : {})), (seriesDataLabels ? { dataLabels: seriesDataLabels } : {})));
1605
1622
  seriesIndex++;
@@ -1664,7 +1681,7 @@ export function extractChartSeries(plotArea, chartType, sheetId, resolveSheetId)
1664
1681
  ? resolveSourcesFromRef(serCatRef, sheetId, resolveSheetId)
1665
1682
  : [];
1666
1683
  orders.push(seriesOrderOf(ser));
1667
- series.push(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dataLabel: seriesTitle || "Series ".concat(index + 1) }, (nameRef ? { dataLabelRef: nameRef } : {})), (categorySources.length ? { categorySources: categorySources } : {})), { color: colorInfo.color }), (colorInfo.noFill ? { noFill: true } : {})), { negativeColor: colorInfo.negativeColor, invertIfNegative: colorInfo.invertIfNegative }), (colorInfo.gradient ? { gradient: colorInfo.gradient } : {})), { sources: sources }), (inlineValues && inlineValues.length ? { inlineValues: inlineValues } : {})), (marker ? { marker: marker } : {})), (dataPointColors && dataPointColors.length
1684
+ series.push(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dataLabel: seriesTitle || "Series ".concat(index + 1) }, seriesLabelSource(nameRef, sheetId, resolveSheetId)), (categorySources.length ? { categorySources: categorySources } : {})), { color: colorInfo.color }), (colorInfo.noFill ? { noFill: true } : {})), { negativeColor: colorInfo.negativeColor, invertIfNegative: colorInfo.invertIfNegative }), (colorInfo.gradient ? { gradient: colorInfo.gradient } : {})), { sources: sources }), (inlineValues && inlineValues.length ? { inlineValues: inlineValues } : {})), (marker ? { marker: marker } : {})), (dataPointColors && dataPointColors.length
1668
1685
  ? { dataPointColors: dataPointColors }
1669
1686
  : {})), (seriesDataLabels ? { dataLabels: seriesDataLabels } : {})));
1670
1687
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/index.ts"],"names":[],"mappings":"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"}
@@ -3319,6 +3319,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
3319
3319
  return __awaiter(this, void 0, void 0, function () {
3320
3320
  var charts, sheetDimensions, target, path, sheetIdByName, _a, _b, sheet, name_5, sId, resolveSheetId, drawing, drawings, sheetRelPath, sheetRelContent, sheetRels, drawingRelations, drawingRelationsArray, _loop_4, this_2, drawings_1, drawings_1_1, drawingElement, e_26_1, err_5;
3321
3321
  var e_27, _c, e_26, _d;
3322
+ var _this = this;
3322
3323
  var _e, _f;
3323
3324
  return __generator(this, function (_g) {
3324
3325
  switch (_g.label) {
@@ -3436,7 +3437,13 @@ var XlsxPlugin = /** @class */ (function (_super) {
3436
3437
  })
3437
3438
  : undefined;
3438
3439
  if (!chartExRel) return [3 /*break*/, 2];
3439
- return [4 /*yield*/, processChartEx(chartExRel.a$.Target, drawingPath, anchor, sheetId, this_2.zipParser, this_2.xmlParser, sheetDimensions, resolveSheetId)];
3440
+ return [4 /*yield*/, processChartEx(chartExRel.a$.Target, drawingPath, anchor, sheetId, this_2.zipParser, this_2.xmlParser, sheetDimensions, resolveSheetId,
3441
+ // Excel writes the chartex ranges as `_xlchart.v1.N` defined
3442
+ // names (rowsncolumns/spreadsheet#1107).
3443
+ function (name) {
3444
+ var _a, _b, _c;
3445
+ return (_c = (_b = ((_a = _this.namedRanges) !== null && _a !== void 0 ? _a : []).find(function (named) { return named.name === name; })) === null || _b === void 0 ? void 0 : _b.range) !== null && _c !== void 0 ? _c : undefined;
3446
+ })];
3440
3447
  case 1:
3441
3448
  chartEx = _o.sent();
3442
3449
  if (chartEx) {
@@ -3672,16 +3672,17 @@ var buildChartObjectXml = function (chart, sheetNameById) {
3672
3672
  var hasSeriesLabels = false;
3673
3673
  var seriesXml = seriesRanges
3674
3674
  .map(function (range, index) {
3675
- var _a, _b, _c, _d, _e, _f;
3676
- var labelAddress = buildChartLabelAddress((_a = series[index]) === null || _a === void 0 ? void 0 : _a.dataLabel, sheetNameById, (_b = chart.position) === null || _b === void 0 ? void 0 : _b.sheetId) ||
3677
- buildChartLabelAddressFromRange((_d = (_c = series[index]) === null || _c === void 0 ? void 0 : _c.sources) === null || _d === void 0 ? void 0 : _d[0], sheetNameById);
3675
+ var _a, _b, _c, _d, _e, _f, _g, _h;
3676
+ var labelAddress = buildChartLabelAddressFromCell((_b = (_a = series[index]) === null || _a === void 0 ? void 0 : _a.dataLabelSource) !== null && _b !== void 0 ? _b : undefined, sheetNameById) ||
3677
+ buildChartLabelAddress((_c = series[index]) === null || _c === void 0 ? void 0 : _c.dataLabel, sheetNameById, (_d = chart.position) === null || _d === void 0 ? void 0 : _d.sheetId) ||
3678
+ buildChartLabelAddressFromRange((_f = (_e = series[index]) === null || _e === void 0 ? void 0 : _e.sources) === null || _f === void 0 ? void 0 : _f[0], sheetNameById);
3678
3679
  var labelAttr = labelAddress
3679
3680
  ? " chart:label-cell-address=\"".concat(escapeXmlAddress(labelAddress), "\"")
3680
3681
  : "";
3681
3682
  if (labelAddress) {
3682
3683
  hasSeriesLabels = true;
3683
3684
  }
3684
- var count = getRangePointCount((_f = (_e = series[index]) === null || _e === void 0 ? void 0 : _e.sources) === null || _f === void 0 ? void 0 : _f[0]);
3685
+ var count = getRangePointCount((_h = (_g = series[index]) === null || _g === void 0 ? void 0 : _g.sources) === null || _h === void 0 ? void 0 : _h[0]);
3685
3686
  var pointsXml = count
3686
3687
  ? "<chart:data-point chart:repeated=\"".concat(count, "\"/>")
3687
3688
  : "";
@@ -3792,6 +3793,18 @@ var buildChartLabelAddress = function (label, sheetNameById, sheetId) {
3792
3793
  }
3793
3794
  return "";
3794
3795
  };
3796
+ /** The header cell a series name is linked to (`dataLabelSource`). */
3797
+ var buildChartLabelAddressFromCell = function (cell, sheetNameById) {
3798
+ if (!cell)
3799
+ return "";
3800
+ var sheetName = sheetNameById.get(cell.sheetId);
3801
+ if (!sheetName)
3802
+ return "";
3803
+ var labelRef = cellToAddress({ rowIndex: cell.startRowIndex, columnIndex: cell.startColumnIndex }, true, true);
3804
+ if (!labelRef)
3805
+ return "";
3806
+ return "".concat(escapeSheetName(sheetName), ".").concat(labelRef);
3807
+ };
3795
3808
  var buildChartLabelAddressFromRange = function (range, sheetNameById) {
3796
3809
  if (!range || range.startRowIndex <= 1)
3797
3810
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"chart-builder.d.ts","sourceRoot":"","sources":["../../../../exporter/xlsx/chart-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAi4CnC;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,YAAY,EAAE,MAAM,GAAG,MAAM,KAC1B,MAAM,GAAG,SAAS,CAAC;AAExB,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,yBAAyB,sBAAsB,KAC9C,MAAM,GAAG,SAqrBX,CAAC"}
1
+ {"version":3,"file":"chart-builder.d.ts","sourceRoot":"","sources":["../../../../exporter/xlsx/chart-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAi6CnC;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,YAAY,EAAE,MAAM,GAAG,MAAM,KAC1B,MAAM,GAAG,SAAS,CAAC;AAExB,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,yBAAyB,sBAAsB,KAC9C,MAAM,GAAG,SA2rBX,CAAC"}