@office-open/core 0.10.13 → 0.10.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.
- package/dist/chart/index.d.mts +2 -2
- package/dist/chart/index.mjs +1 -1
- package/dist/{chart-DOO1st0K.mjs → chart-DIGJna_6.mjs} +218 -9
- package/dist/chart-DIGJna_6.mjs.map +1 -0
- package/dist/{index-DDyd2ErZ.d.mts → index-DE4CLElr.d.mts} +28 -8
- package/dist/index-DE4CLElr.d.mts.map +1 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
- package/dist/chart-DOO1st0K.mjs.map +0 -1
- package/dist/index-DDyd2ErZ.d.mts.map +0 -1
package/dist/chart/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
export { AxisChartType, BubbleSeriesData, ChartCollection, ChartData, ChartSeriesData, ChartSpaceOptions, ChartType, DataLabelPosition, DataLabelsOptions, ErrorBarDirection, ErrorBarOptions, ErrorBarType, ErrorValueType, TimeUnit, TrendlineOptions, TrendlineType, View3DOptions, chartSpaceDesc };
|
|
1
|
+
import { _ as TrendlineOptions, a as ChartSeriesData, b as ChartCollection, c as DataLabelOptions, d as ErrorBarDirection, f as ErrorBarOptions, g as TrendlineLabelOptions, h as TimeUnit, i as ChartSeriesCommon, l as DataLabelPosition, m as ErrorValueType, n as AxisChartType, o as ChartSpaceOptions, p as ErrorBarType, r as BubbleSeriesData, s as ChartType, t as chartSpaceDesc, u as DataLabelsOptions, v as TrendlineType, x as ChartData, y as View3DOptions } from "../index-DE4CLElr.mjs";
|
|
2
|
+
export { AxisChartType, BubbleSeriesData, ChartCollection, ChartData, ChartSeriesCommon, ChartSeriesData, ChartSpaceOptions, ChartType, DataLabelOptions, DataLabelPosition, DataLabelsOptions, ErrorBarDirection, ErrorBarOptions, ErrorBarType, ErrorValueType, TimeUnit, TrendlineLabelOptions, TrendlineOptions, TrendlineType, View3DOptions, chartSpaceDesc };
|
package/dist/chart/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TimeUnit, c as ChartCollection, i as ErrorValueType, n as ErrorBarDirection, o as TrendlineType, r as ErrorBarType, s as chartSpaceDesc, t as DataLabelPosition } from "../chart-
|
|
1
|
+
import { a as TimeUnit, c as ChartCollection, i as ErrorValueType, n as ErrorBarDirection, o as TrendlineType, r as ErrorBarType, s as chartSpaceDesc, t as DataLabelPosition } from "../chart-DIGJna_6.mjs";
|
|
2
2
|
export { ChartCollection, DataLabelPosition, ErrorBarDirection, ErrorBarType, ErrorValueType, TimeUnit, TrendlineType, chartSpaceDesc };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { attr, children, escapeXml, findChild } from "@office-open/xml";
|
|
1
|
+
import { attr, children, escapeXml, findChild, textOf } from "@office-open/xml";
|
|
2
2
|
//#region src/chart/chart-collection.ts
|
|
3
3
|
var ChartCollection = class {
|
|
4
4
|
map;
|
|
@@ -81,6 +81,70 @@ function emptyEl(tag) {
|
|
|
81
81
|
function valEl(tag, value) {
|
|
82
82
|
return `<${tag} ${attrVal("val", value)}/>`;
|
|
83
83
|
}
|
|
84
|
+
function boolVal(value) {
|
|
85
|
+
return value === false ? ` val="0"` : "";
|
|
86
|
+
}
|
|
87
|
+
function stringifyNumLit(value) {
|
|
88
|
+
return `<c:numLit><c:formatCode>General</c:formatCode><c:ptCount val="1"/><c:pt idx="0"><c:v>${value}</c:v></c:pt></c:numLit>`;
|
|
89
|
+
}
|
|
90
|
+
function stringifyTrendline(opts) {
|
|
91
|
+
const parts = [];
|
|
92
|
+
if (opts.name !== void 0) parts.push(`<c:name>${escapeXml(opts.name)}</c:name>`);
|
|
93
|
+
parts.push(valEl("c:trendlineType", opts.type ?? "linear"));
|
|
94
|
+
if (opts.order !== void 0) parts.push(valEl("c:order", opts.order));
|
|
95
|
+
if (opts.period !== void 0) parts.push(valEl("c:period", opts.period));
|
|
96
|
+
if (opts.forward !== void 0) parts.push(valEl("c:forward", opts.forward));
|
|
97
|
+
if (opts.backward !== void 0) parts.push(valEl("c:backward", opts.backward));
|
|
98
|
+
if (opts.intercept !== void 0) parts.push(valEl("c:intercept", opts.intercept));
|
|
99
|
+
if (opts.dispRSqr !== void 0) parts.push(`<c:dispRSqr${boolVal(opts.dispRSqr)}/>`);
|
|
100
|
+
if (opts.dispEq !== void 0) parts.push(`<c:dispEq${boolVal(opts.dispEq)}/>`);
|
|
101
|
+
const labelFmt = opts.label?.numberFormat;
|
|
102
|
+
if (labelFmt !== void 0) parts.push(`<c:trendlineLbl><c:numFmt formatCode="${escapeXml(labelFmt)}" sourceLinked="0"/></c:trendlineLbl>`);
|
|
103
|
+
return `<c:trendline>${parts.join("")}</c:trendline>`;
|
|
104
|
+
}
|
|
105
|
+
function stringifyErrBars(opts) {
|
|
106
|
+
const parts = [];
|
|
107
|
+
if (opts.direction !== void 0) parts.push(valEl("c:errDir", opts.direction));
|
|
108
|
+
parts.push(valEl("c:errBarType", opts.barType ?? "both"));
|
|
109
|
+
parts.push(valEl("c:errValType", opts.valueType ?? "fixedVal"));
|
|
110
|
+
if (opts.noEndCap !== void 0) parts.push(`<c:noEndCap${boolVal(opts.noEndCap)}/>`);
|
|
111
|
+
if (opts.plusValue !== void 0) parts.push(`<c:plus>${stringifyNumLit(opts.plusValue)}</c:plus>`);
|
|
112
|
+
if (opts.minusValue !== void 0) parts.push(`<c:minus>${stringifyNumLit(opts.minusValue)}</c:minus>`);
|
|
113
|
+
if (opts.value !== void 0) parts.push(valEl("c:val", opts.value));
|
|
114
|
+
return `<c:errBars>${parts.join("")}</c:errBars>`;
|
|
115
|
+
}
|
|
116
|
+
function stringifyDataLabel(opts) {
|
|
117
|
+
if (opts.delete) return `<c:dLbl><c:idx val="${opts.index}"/><c:delete val="1"/></c:dLbl>`;
|
|
118
|
+
const inner = [];
|
|
119
|
+
if (opts.numberFormat !== void 0) inner.push(`<c:numFmt formatCode="${escapeXml(opts.numberFormat)}" sourceLinked="0"/>`);
|
|
120
|
+
if (opts.position !== void 0) inner.push(valEl("c:dLblPos", opts.position));
|
|
121
|
+
return `<c:dLbl><c:idx val="${opts.index}"/>${inner.join("")}</c:dLbl>`;
|
|
122
|
+
}
|
|
123
|
+
function stringifyDataLabels(opts) {
|
|
124
|
+
const parts = [];
|
|
125
|
+
if (opts.labels) for (const lbl of opts.labels) parts.push(stringifyDataLabel(lbl));
|
|
126
|
+
if (opts.position !== void 0) parts.push(valEl("c:dLblPos", opts.position));
|
|
127
|
+
if (opts.showLegendKey !== void 0) parts.push(`<c:showLegendKey${boolVal(opts.showLegendKey)}/>`);
|
|
128
|
+
if (opts.showVal !== void 0) parts.push(`<c:showVal${boolVal(opts.showVal)}/>`);
|
|
129
|
+
if (opts.showCatName !== void 0) parts.push(`<c:showCatName${boolVal(opts.showCatName)}/>`);
|
|
130
|
+
if (opts.showSerName !== void 0) parts.push(`<c:showSerName${boolVal(opts.showSerName)}/>`);
|
|
131
|
+
if (opts.showPercent !== void 0) parts.push(`<c:showPercent${boolVal(opts.showPercent)}/>`);
|
|
132
|
+
if (opts.showBubbleSize !== void 0) parts.push(`<c:showBubbleSize${boolVal(opts.showBubbleSize)}/>`);
|
|
133
|
+
if (opts.separator !== void 0) parts.push(`<c:separator>${escapeXml(opts.separator)}</c:separator>`);
|
|
134
|
+
if (opts.showLeaderLines !== void 0) parts.push(`<c:showLeaderLines${boolVal(opts.showLeaderLines)}/>`);
|
|
135
|
+
if (opts.leaderLines) parts.push(emptyEl("c:leaderLines"));
|
|
136
|
+
return `<c:dLbls>${parts.join("")}</c:dLbls>`;
|
|
137
|
+
}
|
|
138
|
+
function stringifyView3D(opts) {
|
|
139
|
+
const parts = [];
|
|
140
|
+
if (opts.rotX !== void 0) parts.push(valEl("c:rotX", opts.rotX));
|
|
141
|
+
if (opts.hPercent !== void 0) parts.push(valEl("c:hPercent", opts.hPercent));
|
|
142
|
+
if (opts.rotY !== void 0) parts.push(valEl("c:rotY", opts.rotY));
|
|
143
|
+
if (opts.depthPercent !== void 0) parts.push(valEl("c:depthPercent", opts.depthPercent));
|
|
144
|
+
if (opts.rAngAx !== void 0) parts.push(`<c:rAngAx${boolVal(opts.rAngAx)}/>`);
|
|
145
|
+
if (opts.perspective !== void 0) parts.push(valEl("c:perspective", opts.perspective));
|
|
146
|
+
return `<c:view3D>${parts.join("")}</c:view3D>`;
|
|
147
|
+
}
|
|
84
148
|
function stringifyStrRef(values) {
|
|
85
149
|
const pts = values.map((v, i) => `<c:pt idx="${i}"><c:v>${escapeXml(v)}</c:v></c:pt>`).join("");
|
|
86
150
|
return `<c:strRef><c:f/><c:strCache><c:ptCount ${attrVal("val", values.length)}/>${pts}</c:strCache></c:strRef>`;
|
|
@@ -130,17 +194,19 @@ function stringifySeries(index, series, categories, chartType) {
|
|
|
130
194
|
parts.push(valEl("c:order", index));
|
|
131
195
|
parts.push(`<c:tx>${stringifyStrRef([series.name])}</c:tx>`);
|
|
132
196
|
parts.push(emptyEl("c:spPr"));
|
|
197
|
+
const s = series;
|
|
198
|
+
if (s.dataLabels) parts.push(stringifyDataLabels(s.dataLabels));
|
|
199
|
+
if (s.trendlines) for (const tl of s.trendlines) parts.push(stringifyTrendline(tl));
|
|
200
|
+
if (s.errorBars) parts.push(stringifyErrBars(s.errorBars));
|
|
133
201
|
if (chartType === "bubble") {
|
|
134
202
|
const bs = series;
|
|
135
203
|
parts.push(`<c:xVal>${stringifyNumRef(bs.xValues)}</c:xVal>`);
|
|
136
204
|
parts.push(`<c:yVal>${stringifyNumRef(bs.yValues)}</c:yVal>`);
|
|
137
205
|
parts.push(`<c:bubbleSize>${stringifyNumRef(bs.bubbleSize)}</c:bubbleSize>`);
|
|
138
206
|
} else if (chartType === "scatter") {
|
|
139
|
-
const s = series;
|
|
140
207
|
parts.push(`<c:xVal>${stringifyStrRef(categories)}</c:xVal>`);
|
|
141
208
|
parts.push(`<c:yVal>${stringifyNumRef(s.values)}</c:yVal>`);
|
|
142
209
|
} else {
|
|
143
|
-
const s = series;
|
|
144
210
|
parts.push(`<c:cat>${stringifyStrRef(categories)}</c:cat>`);
|
|
145
211
|
parts.push(`<c:val>${stringifyNumRef(s.values)}</c:val>`);
|
|
146
212
|
}
|
|
@@ -224,6 +290,138 @@ function readTitleText(titleEl) {
|
|
|
224
290
|
}
|
|
225
291
|
}
|
|
226
292
|
}
|
|
293
|
+
function readBoolAttr(el, childName) {
|
|
294
|
+
const child = findChild(el, childName);
|
|
295
|
+
if (!child) return void 0;
|
|
296
|
+
const v = attr(child, "val");
|
|
297
|
+
if (v === void 0) return true;
|
|
298
|
+
return v !== "0" && v !== "false";
|
|
299
|
+
}
|
|
300
|
+
function readValNum(el, childName) {
|
|
301
|
+
const child = findChild(el, childName);
|
|
302
|
+
if (!child) return void 0;
|
|
303
|
+
const v = attr(child, "val");
|
|
304
|
+
return v !== void 0 ? Number(v) : void 0;
|
|
305
|
+
}
|
|
306
|
+
function readValStr(el, childName) {
|
|
307
|
+
const child = findChild(el, childName);
|
|
308
|
+
if (!child) return void 0;
|
|
309
|
+
return attr(child, "val") ?? void 0;
|
|
310
|
+
}
|
|
311
|
+
function readNumLit(el, childName) {
|
|
312
|
+
const child = findChild(el, childName);
|
|
313
|
+
if (!child) return void 0;
|
|
314
|
+
const numLit = findChild(child, "c:numLit");
|
|
315
|
+
if (!numLit?.elements) return void 0;
|
|
316
|
+
for (const pt of numLit.elements) if (pt.name === "c:pt" && pt.elements) {
|
|
317
|
+
const v = pt.elements.find((c) => c.name === "c:v");
|
|
318
|
+
if (v) {
|
|
319
|
+
const text = textOf(v);
|
|
320
|
+
if (text) return Number(text);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
function readTrendlines(serEl) {
|
|
325
|
+
const tlEls = children(serEl, "c:trendline");
|
|
326
|
+
if (tlEls.length === 0) return void 0;
|
|
327
|
+
return tlEls.map((tl) => {
|
|
328
|
+
const opts = {};
|
|
329
|
+
const type = readValStr(tl, "c:trendlineType");
|
|
330
|
+
if (type) opts.type = type;
|
|
331
|
+
const order = readValNum(tl, "c:order");
|
|
332
|
+
if (order !== void 0) opts.order = order;
|
|
333
|
+
const period = readValNum(tl, "c:period");
|
|
334
|
+
if (period !== void 0) opts.period = period;
|
|
335
|
+
const forward = readValNum(tl, "c:forward");
|
|
336
|
+
if (forward !== void 0) opts.forward = forward;
|
|
337
|
+
const backward = readValNum(tl, "c:backward");
|
|
338
|
+
if (backward !== void 0) opts.backward = backward;
|
|
339
|
+
const intercept = readValNum(tl, "c:intercept");
|
|
340
|
+
if (intercept !== void 0) opts.intercept = intercept;
|
|
341
|
+
const dispRSqr = readBoolAttr(tl, "c:dispRSqr");
|
|
342
|
+
if (dispRSqr !== void 0) opts.dispRSqr = dispRSqr;
|
|
343
|
+
const dispEq = readBoolAttr(tl, "c:dispEq");
|
|
344
|
+
if (dispEq !== void 0) opts.dispEq = dispEq;
|
|
345
|
+
const nameText = textOf(findChild(tl, "c:name"));
|
|
346
|
+
if (nameText) opts.name = nameText;
|
|
347
|
+
const labelFmt = attr(findChild(findChild(tl, "c:trendlineLbl"), "c:numFmt"), "formatCode");
|
|
348
|
+
if (labelFmt) opts.label = { numberFormat: labelFmt };
|
|
349
|
+
return opts;
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
function readErrBars(serEl) {
|
|
353
|
+
const ebEl = findChild(serEl, "c:errBars");
|
|
354
|
+
if (!ebEl) return void 0;
|
|
355
|
+
const opts = {};
|
|
356
|
+
const direction = readValStr(ebEl, "c:errDir");
|
|
357
|
+
if (direction) opts.direction = direction;
|
|
358
|
+
const barType = readValStr(ebEl, "c:errBarType");
|
|
359
|
+
if (barType) opts.barType = barType;
|
|
360
|
+
const valueType = readValStr(ebEl, "c:errValType");
|
|
361
|
+
if (valueType) opts.valueType = valueType;
|
|
362
|
+
const noEndCap = readBoolAttr(ebEl, "c:noEndCap");
|
|
363
|
+
if (noEndCap !== void 0) opts.noEndCap = noEndCap;
|
|
364
|
+
const plusValue = readNumLit(ebEl, "c:plus");
|
|
365
|
+
if (plusValue !== void 0) opts.plusValue = plusValue;
|
|
366
|
+
const minusValue = readNumLit(ebEl, "c:minus");
|
|
367
|
+
if (minusValue !== void 0) opts.minusValue = minusValue;
|
|
368
|
+
const value = readValNum(ebEl, "c:val");
|
|
369
|
+
if (value !== void 0) opts.value = value;
|
|
370
|
+
return opts;
|
|
371
|
+
}
|
|
372
|
+
function readDataLabels(serEl) {
|
|
373
|
+
const dlEl = findChild(serEl, "c:dLbls");
|
|
374
|
+
if (!dlEl) return void 0;
|
|
375
|
+
const opts = {};
|
|
376
|
+
const position = readValStr(dlEl, "c:dLblPos");
|
|
377
|
+
if (position) opts.position = position;
|
|
378
|
+
const showLegendKey = readBoolAttr(dlEl, "c:showLegendKey");
|
|
379
|
+
if (showLegendKey !== void 0) opts.showLegendKey = showLegendKey;
|
|
380
|
+
const showVal = readBoolAttr(dlEl, "c:showVal");
|
|
381
|
+
if (showVal !== void 0) opts.showVal = showVal;
|
|
382
|
+
const showCatName = readBoolAttr(dlEl, "c:showCatName");
|
|
383
|
+
if (showCatName !== void 0) opts.showCatName = showCatName;
|
|
384
|
+
const showSerName = readBoolAttr(dlEl, "c:showSerName");
|
|
385
|
+
if (showSerName !== void 0) opts.showSerName = showSerName;
|
|
386
|
+
const showPercent = readBoolAttr(dlEl, "c:showPercent");
|
|
387
|
+
if (showPercent !== void 0) opts.showPercent = showPercent;
|
|
388
|
+
const showBubbleSize = readBoolAttr(dlEl, "c:showBubbleSize");
|
|
389
|
+
if (showBubbleSize !== void 0) opts.showBubbleSize = showBubbleSize;
|
|
390
|
+
const showLeaderLines = readBoolAttr(dlEl, "c:showLeaderLines");
|
|
391
|
+
if (showLeaderLines !== void 0) opts.showLeaderLines = showLeaderLines;
|
|
392
|
+
const sepText = textOf(findChild(dlEl, "c:separator"));
|
|
393
|
+
if (sepText) opts.separator = sepText;
|
|
394
|
+
const lblEls = children(dlEl, "c:dLbl");
|
|
395
|
+
if (lblEls.length > 0) opts.labels = lblEls.map((el) => {
|
|
396
|
+
const result = { index: readValNum(el, "c:idx") ?? 0 };
|
|
397
|
+
if (findChild(el, "c:delete")) result.delete = true;
|
|
398
|
+
const numFmt = attr(findChild(el, "c:numFmt"), "formatCode");
|
|
399
|
+
if (numFmt) result.numberFormat = numFmt;
|
|
400
|
+
const pos = readValStr(el, "c:dLblPos");
|
|
401
|
+
if (pos) result.position = pos;
|
|
402
|
+
return result;
|
|
403
|
+
});
|
|
404
|
+
if (findChild(dlEl, "c:leaderLines")) opts.leaderLines = true;
|
|
405
|
+
return opts;
|
|
406
|
+
}
|
|
407
|
+
function readView3D(chartEl) {
|
|
408
|
+
const v3d = findChild(chartEl, "c:view3D");
|
|
409
|
+
if (!v3d) return void 0;
|
|
410
|
+
const opts = {};
|
|
411
|
+
const rotX = readValNum(v3d, "c:rotX");
|
|
412
|
+
if (rotX !== void 0) opts.rotX = rotX;
|
|
413
|
+
const hPercent = readValNum(v3d, "c:hPercent");
|
|
414
|
+
if (hPercent !== void 0) opts.hPercent = hPercent;
|
|
415
|
+
const rotY = readValNum(v3d, "c:rotY");
|
|
416
|
+
if (rotY !== void 0) opts.rotY = rotY;
|
|
417
|
+
const depthPercent = readValNum(v3d, "c:depthPercent");
|
|
418
|
+
if (depthPercent !== void 0) opts.depthPercent = depthPercent;
|
|
419
|
+
const rAngAx = readBoolAttr(v3d, "c:rAngAx");
|
|
420
|
+
if (rAngAx !== void 0) opts.rAngAx = rAngAx;
|
|
421
|
+
const perspective = readValNum(v3d, "c:perspective");
|
|
422
|
+
if (perspective !== void 0) opts.perspective = perspective;
|
|
423
|
+
return opts;
|
|
424
|
+
}
|
|
227
425
|
const chartSpaceDesc = {
|
|
228
426
|
kind: "custom",
|
|
229
427
|
stringify(opts, _ctx) {
|
|
@@ -236,6 +434,7 @@ const chartSpaceDesc = {
|
|
|
236
434
|
parts.push("<c:chart>");
|
|
237
435
|
if (opts.title) parts.push(stringifyTitle(opts.title));
|
|
238
436
|
parts.push(valEl("c:autoTitleDeleted", 0));
|
|
437
|
+
if (opts.view3D) parts.push(stringifyView3D(opts.view3D));
|
|
239
438
|
parts.push("<c:plotArea><c:layout/>");
|
|
240
439
|
parts.push(chartTypeHeader(opts));
|
|
241
440
|
const categories = opts.categories ?? [];
|
|
@@ -261,16 +460,20 @@ const chartSpaceDesc = {
|
|
|
261
460
|
const title = readTitleText(titleEl);
|
|
262
461
|
if (title !== void 0) result.title = title;
|
|
263
462
|
}
|
|
463
|
+
const view3D = readView3D(chart);
|
|
464
|
+
if (view3D) result.view3D = view3D;
|
|
264
465
|
const plotArea = findChild(chart, "c:plotArea");
|
|
265
466
|
if (plotArea?.elements) {
|
|
266
467
|
let detectedType;
|
|
267
468
|
let threeD = false;
|
|
469
|
+
let chartTypeEl;
|
|
268
470
|
for (const child of plotArea.elements) {
|
|
269
471
|
if (!child.name) continue;
|
|
270
472
|
const mapping = TAG_TO_CHART_TYPE[child.name];
|
|
271
473
|
if (mapping) {
|
|
272
474
|
detectedType = mapping.type;
|
|
273
475
|
threeD = mapping.threeD ?? false;
|
|
476
|
+
chartTypeEl = child;
|
|
274
477
|
if (child.name === "c:barChart" || child.name === "c:bar3DChart") {
|
|
275
478
|
const barDir = findChild(child, "c:barDir");
|
|
276
479
|
const barDirVal = barDir ? attr(barDir, "val") : void 0;
|
|
@@ -284,7 +487,7 @@ const chartSpaceDesc = {
|
|
|
284
487
|
result.type = detectedType;
|
|
285
488
|
if (threeD) result.threeD = true;
|
|
286
489
|
}
|
|
287
|
-
const seriesEls = children(
|
|
490
|
+
const seriesEls = chartTypeEl ? children(chartTypeEl, "c:ser") : [];
|
|
288
491
|
if (seriesEls.length > 0) if (detectedType === "bubble") {
|
|
289
492
|
const bubbleSeries = [];
|
|
290
493
|
for (const serEl of seriesEls) {
|
|
@@ -310,11 +513,17 @@ const chartSpaceDesc = {
|
|
|
310
513
|
if (catEl) categories = readStrCache(catEl);
|
|
311
514
|
}
|
|
312
515
|
const valEl = findChild(serEl, "c:val") ?? findChild(serEl, "c:yVal");
|
|
313
|
-
const
|
|
314
|
-
chartSeries.push({
|
|
516
|
+
const ser = {
|
|
315
517
|
name,
|
|
316
|
-
values
|
|
317
|
-
}
|
|
518
|
+
values: valEl ? readNumCache(valEl) : []
|
|
519
|
+
};
|
|
520
|
+
const trendlines = readTrendlines(serEl);
|
|
521
|
+
if (trendlines) ser.trendlines = trendlines;
|
|
522
|
+
const errorBars = readErrBars(serEl);
|
|
523
|
+
if (errorBars) ser.errorBars = errorBars;
|
|
524
|
+
const dataLabels = readDataLabels(serEl);
|
|
525
|
+
if (dataLabels) ser.dataLabels = dataLabels;
|
|
526
|
+
chartSeries.push(ser);
|
|
318
527
|
}
|
|
319
528
|
result.series = chartSeries;
|
|
320
529
|
if (categories?.length) result.categories = categories;
|
|
@@ -370,4 +579,4 @@ const TimeUnit = {
|
|
|
370
579
|
//#endregion
|
|
371
580
|
export { TimeUnit as a, ChartCollection as c, ErrorValueType as i, ErrorBarDirection as n, TrendlineType as o, ErrorBarType as r, chartSpaceDesc as s, DataLabelPosition as t };
|
|
372
581
|
|
|
373
|
-
//# sourceMappingURL=chart-
|
|
582
|
+
//# sourceMappingURL=chart-DIGJna_6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chart-DIGJna_6.mjs","names":[],"sources":["../src/chart/chart-collection.ts","../src/chart/chart-descriptors.ts","../src/chart/types.ts"],"sourcesContent":["/**\n * Chart data and collection for document generation.\n *\n * @module\n */\n\nexport interface ChartData {\n key: string;\n chartSpaceXml: string;\n}\n\nexport class ChartCollection {\n private map: Map<string, ChartData>;\n\n public constructor() {\n this.map = new Map<string, ChartData>();\n }\n\n public addChart(key: string, chartData: ChartData): void {\n this.map.set(key, chartData);\n }\n\n public get array(): ChartData[] {\n return [...this.map.values()];\n }\n}\n","/**\n * Chart descriptors — CustomDescriptor for c:chartSpace serialization.\n *\n * @module\n */\n\nimport { escapeXml } from \"@office-open/xml\";\nimport type { Element as XmlElement } from \"@office-open/xml\";\nimport { attr, findChild, children, textOf } from \"@office-open/xml\";\n\nimport type { CustomDescriptor, ReadContext, WriteContext } from \"../descriptor\";\nimport type {\n ChartSpaceOptions,\n BubbleSeriesData,\n ChartSeriesData,\n ChartType,\n DataLabelOptions,\n DataLabelsOptions,\n ErrorBarOptions,\n TrendlineLabelOptions,\n TrendlineOptions,\n View3DOptions,\n} from \"./types\";\n\n// ── Mutable build type for read results (readonly properties not assignable) ──\n\ntype MutableChartSpaceResult = {\n -readonly [K in keyof ChartSpaceOptions]?: ChartSpaceOptions[K];\n};\n\n// ── Chart type → XML element tag mapping ──\n\nconst CHART_TYPE_TAGS: Record<string, string> = {\n column: \"c:barChart\",\n bar: \"c:barChart\",\n line: \"c:lineChart\",\n pie: \"c:pieChart\",\n area: \"c:areaChart\",\n scatter: \"c:scatterChart\",\n bubble: \"c:bubbleChart\",\n doughnut: \"c:doughnutChart\",\n radar: \"c:radarChart\",\n stock: \"c:stockChart\",\n surface: \"c:surfaceChart\",\n};\n\nconst CHART_TYPE_TAGS_3D: Record<string, string> = {\n column: \"c:bar3DChart\",\n bar: \"c:bar3DChart\",\n line: \"c:line3DChart\",\n pie: \"c:pie3DChart\",\n area: \"c:area3DChart\",\n};\n\nconst NO_AXES_TYPES = new Set([\"pie\", \"doughnut\"]);\n\n// ── XML tag → chart type reverse mapping (for read) ──\n\nconst TAG_TO_CHART_TYPE: Record<string, { type: ChartType; threeD?: boolean }> = {\n \"c:barChart\": { type: \"column\" },\n \"c:bar3DChart\": { type: \"column\", threeD: true },\n \"c:lineChart\": { type: \"line\" },\n \"c:line3DChart\": { type: \"line\", threeD: true },\n \"c:pieChart\": { type: \"pie\" },\n \"c:pie3DChart\": { type: \"pie\", threeD: true },\n \"c:areaChart\": { type: \"area\" },\n \"c:area3DChart\": { type: \"area\", threeD: true },\n \"c:scatterChart\": { type: \"scatter\" },\n \"c:bubbleChart\": { type: \"bubble\" },\n \"c:doughnutChart\": { type: \"doughnut\" },\n \"c:radarChart\": { type: \"radar\" },\n \"c:stockChart\": { type: \"stock\" },\n \"c:surfaceChart\": { type: \"surface\" },\n \"c:surface3DChart\": { type: \"surface\", threeD: true },\n};\n\n// ── String helpers ──\n\nfunction attrVal(name: string, value: string | number): string {\n return `${name}=\"${escapeXml(String(value))}\"`;\n}\n\nfunction emptyEl(tag: string): string {\n return `<${tag}/>`;\n}\n\nfunction valEl(tag: string, value: string | number): string {\n return `<${tag} ${attrVal(\"val\", value)}/>`;\n}\n\n// ── Boolean helper (CT_OnOff: true → omit val, false → \"0\") ──\n\nfunction boolVal(value: boolean | undefined): string {\n // XSD CT_OnOff: omit val for true, val=\"0\" for false\n return value === false ? ` val=\"0\"` : \"\";\n}\n\n// ── Numeric literal (c:numLit) ──\n\nfunction stringifyNumLit(value: number): string {\n return `<c:numLit><c:formatCode>General</c:formatCode><c:ptCount val=\"1\"/><c:pt idx=\"0\"><c:v>${value}</c:v></c:pt></c:numLit>`;\n}\n\n// ── Trendline XML (CT_Trendline) ──\n\nfunction stringifyTrendline(opts: TrendlineOptions): string {\n const parts: string[] = [];\n if (opts.name !== undefined) {\n parts.push(`<c:name>${escapeXml(opts.name)}</c:name>`);\n }\n parts.push(valEl(\"c:trendlineType\", opts.type ?? \"linear\"));\n if (opts.order !== undefined) parts.push(valEl(\"c:order\", opts.order));\n if (opts.period !== undefined) parts.push(valEl(\"c:period\", opts.period));\n if (opts.forward !== undefined) parts.push(valEl(\"c:forward\", opts.forward));\n if (opts.backward !== undefined) parts.push(valEl(\"c:backward\", opts.backward));\n if (opts.intercept !== undefined) parts.push(valEl(\"c:intercept\", opts.intercept));\n if (opts.dispRSqr !== undefined) parts.push(`<c:dispRSqr${boolVal(opts.dispRSqr)}/>`);\n if (opts.dispEq !== undefined) parts.push(`<c:dispEq${boolVal(opts.dispEq)}/>`);\n // XSD CT_Trendline: trendlineLbl follows dispEq; CT_TrendlineLbl's children are all optional.\n const labelFmt = opts.label?.numberFormat;\n if (labelFmt !== undefined) {\n parts.push(\n `<c:trendlineLbl><c:numFmt formatCode=\"${escapeXml(labelFmt)}\" sourceLinked=\"0\"/></c:trendlineLbl>`,\n );\n }\n return `<c:trendline>${parts.join(\"\")}</c:trendline>`;\n}\n\n// ── Error bars XML (CT_ErrBars) ──\n\nfunction stringifyErrBars(opts: ErrorBarOptions): string {\n const parts: string[] = [];\n if (opts.direction !== undefined) parts.push(valEl(\"c:errDir\", opts.direction));\n parts.push(valEl(\"c:errBarType\", opts.barType ?? \"both\"));\n parts.push(valEl(\"c:errValType\", opts.valueType ?? \"fixedVal\"));\n if (opts.noEndCap !== undefined) parts.push(`<c:noEndCap${boolVal(opts.noEndCap)}/>`);\n if (opts.plusValue !== undefined)\n parts.push(`<c:plus>${stringifyNumLit(opts.plusValue)}</c:plus>`);\n if (opts.minusValue !== undefined)\n parts.push(`<c:minus>${stringifyNumLit(opts.minusValue)}</c:minus>`);\n if (opts.value !== undefined) parts.push(valEl(\"c:val\", opts.value));\n return `<c:errBars>${parts.join(\"\")}</c:errBars>`;\n}\n\n// ── Data labels XML (CT_DLbls) ──\n\nfunction stringifyDataLabel(opts: DataLabelOptions): string {\n // CT_DLbl: idx (required) → choice(delete | Group_DLbl needing ≥1 EG_DLblShared child).\n if (opts.delete) {\n return `<c:dLbl><c:idx val=\"${opts.index}\"/><c:delete val=\"1\"/></c:dLbl>`;\n }\n const inner: string[] = [];\n if (opts.numberFormat !== undefined)\n inner.push(`<c:numFmt formatCode=\"${escapeXml(opts.numberFormat)}\" sourceLinked=\"0\"/>`);\n if (opts.position !== undefined) inner.push(valEl(\"c:dLblPos\", opts.position));\n return `<c:dLbl><c:idx val=\"${opts.index}\"/>${inner.join(\"\")}</c:dLbl>`;\n}\n\nfunction stringifyDataLabels(opts: DataLabelsOptions): string {\n const parts: string[] = [];\n // CT_DLbls: per-point overrides (c:dLbl) precede the shared Group_DLbls settings.\n if (opts.labels) {\n for (const lbl of opts.labels) parts.push(stringifyDataLabel(lbl));\n }\n if (opts.position !== undefined) parts.push(valEl(\"c:dLblPos\", opts.position));\n if (opts.showLegendKey !== undefined)\n parts.push(`<c:showLegendKey${boolVal(opts.showLegendKey)}/>`);\n if (opts.showVal !== undefined) parts.push(`<c:showVal${boolVal(opts.showVal)}/>`);\n if (opts.showCatName !== undefined) parts.push(`<c:showCatName${boolVal(opts.showCatName)}/>`);\n if (opts.showSerName !== undefined) parts.push(`<c:showSerName${boolVal(opts.showSerName)}/>`);\n if (opts.showPercent !== undefined) parts.push(`<c:showPercent${boolVal(opts.showPercent)}/>`);\n if (opts.showBubbleSize !== undefined)\n parts.push(`<c:showBubbleSize${boolVal(opts.showBubbleSize)}/>`);\n if (opts.separator !== undefined)\n parts.push(`<c:separator>${escapeXml(opts.separator)}</c:separator>`);\n if (opts.showLeaderLines !== undefined)\n parts.push(`<c:showLeaderLines${boolVal(opts.showLeaderLines)}/>`);\n // CT_ChartLines (leaderLines) closes Group_DLbls; an empty element is XSD-valid.\n if (opts.leaderLines) parts.push(emptyEl(\"c:leaderLines\"));\n return `<c:dLbls>${parts.join(\"\")}</c:dLbls>`;\n}\n\n// ── 3D view XML (CT_View3D) ──\n\nfunction stringifyView3D(opts: View3DOptions): string {\n const parts: string[] = [];\n if (opts.rotX !== undefined) parts.push(valEl(\"c:rotX\", opts.rotX));\n if (opts.hPercent !== undefined) parts.push(valEl(\"c:hPercent\", opts.hPercent));\n if (opts.rotY !== undefined) parts.push(valEl(\"c:rotY\", opts.rotY));\n if (opts.depthPercent !== undefined) parts.push(valEl(\"c:depthPercent\", opts.depthPercent));\n if (opts.rAngAx !== undefined) parts.push(`<c:rAngAx${boolVal(opts.rAngAx)}/>`);\n if (opts.perspective !== undefined) parts.push(valEl(\"c:perspective\", opts.perspective));\n return `<c:view3D>${parts.join(\"\")}</c:view3D>`;\n}\n\n// ── Series data XML builders ──\n\nfunction stringifyStrRef(values: readonly string[]): string {\n const pts = values.map((v, i) => `<c:pt idx=\"${i}\"><c:v>${escapeXml(v)}</c:v></c:pt>`).join(\"\");\n return `<c:strRef><c:f/><c:strCache><c:ptCount ${attrVal(\"val\", values.length)}/>${pts}</c:strCache></c:strRef>`;\n}\n\nfunction stringifyNumRef(values: readonly number[]): string {\n const pts = values.map((v, i) => `<c:pt idx=\"${i}\"><c:v>${v}</c:v></c:pt>`).join(\"\");\n return `<c:numRef><c:f/><c:numCache><c:formatCode>General</c:formatCode><c:ptCount ${attrVal(\"val\", values.length)}/>${pts}</c:numCache></c:numRef>`;\n}\n\n// ── Chart type header XML ──\n\nfunction chartTypeHeader(opts: ChartSpaceOptions): string {\n const tag = opts.threeD ? CHART_TYPE_TAGS_3D[opts.type] : CHART_TYPE_TAGS[opts.type];\n if (!tag) throw new Error(`Unsupported chart type: ${opts.type}`);\n\n const headerParts: string[] = [];\n\n switch (opts.type) {\n case \"column\":\n case \"bar\":\n headerParts.push(valEl(\"c:barDir\", opts.type === \"column\" ? \"col\" : \"bar\"));\n headerParts.push(valEl(\"c:grouping\", \"clustered\"));\n break;\n case \"line\":\n case \"area\":\n headerParts.push(valEl(\"c:grouping\", \"standard\"));\n break;\n case \"scatter\":\n headerParts.push(valEl(\"c:scatterStyle\", \"line\"));\n break;\n case \"radar\":\n headerParts.push(valEl(\"c:radarStyle\", \"standard\"));\n break;\n case \"pie\":\n case \"doughnut\":\n case \"bubble\":\n headerParts.push(valEl(\"c:varyColors\", 1));\n break;\n }\n\n return `<${tag}>${headerParts.join(\"\")}`;\n}\n\nfunction chartTypeFooter(opts: ChartSpaceOptions): string {\n const tag = opts.threeD ? CHART_TYPE_TAGS_3D[opts.type] : CHART_TYPE_TAGS[opts.type];\n // Pie and doughnut have no axId\n if (NO_AXES_TYPES.has(opts.type)) return `</${tag}>`;\n const axIds: string[] = [valEl(\"c:axId\", 10), valEl(\"c:axId\", 20)];\n // 3D charts and surface charts need a third axis\n if (opts.threeD || opts.type === \"surface\") axIds.push(valEl(\"c:axId\", 30));\n return `${axIds.join(\"\")}</${tag}>`;\n}\n\n// ── Series XML ──\n\nfunction stringifySeries(\n index: number,\n series: ChartSeriesData | BubbleSeriesData,\n categories: readonly string[],\n chartType: ChartType,\n): string {\n const parts: string[] = [];\n\n parts.push(valEl(\"c:idx\", index));\n parts.push(valEl(\"c:order\", index));\n\n // Series name (c:tx -> c:strRef)\n parts.push(`<c:tx>${stringifyStrRef([series.name])}</c:tx>`);\n parts.push(emptyEl(\"c:spPr\"));\n\n // Per-series enhancements (XSD order: dLbls → trendline → errBars → cat/val)\n const s = series as ChartSeriesData;\n if (s.dataLabels) parts.push(stringifyDataLabels(s.dataLabels));\n if (s.trendlines) {\n for (const tl of s.trendlines) parts.push(stringifyTrendline(tl));\n }\n if (s.errorBars) parts.push(stringifyErrBars(s.errorBars));\n\n if (chartType === \"bubble\") {\n const bs = series as BubbleSeriesData;\n parts.push(`<c:xVal>${stringifyNumRef(bs.xValues)}</c:xVal>`);\n parts.push(`<c:yVal>${stringifyNumRef(bs.yValues)}</c:yVal>`);\n parts.push(`<c:bubbleSize>${stringifyNumRef(bs.bubbleSize)}</c:bubbleSize>`);\n } else if (chartType === \"scatter\") {\n parts.push(`<c:xVal>${stringifyStrRef(categories)}</c:xVal>`);\n parts.push(`<c:yVal>${stringifyNumRef(s.values)}</c:yVal>`);\n } else {\n parts.push(`<c:cat>${stringifyStrRef(categories)}</c:cat>`);\n parts.push(`<c:val>${stringifyNumRef(s.values)}</c:val>`);\n }\n\n return `<c:ser>${parts.join(\"\")}</c:ser>`;\n}\n\n// ── Title XML ──\n\nfunction stringifyTitle(title: string): string {\n return `<c:title><c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>${escapeXml(title)}</a:t></a:r></a:p></c:rich></c:tx><c:overlay val=\"0\"/></c:title>`;\n}\n\n// ── Legend XML ──\n\nfunction stringifyLegend(): string {\n return `<c:legend><c:legendPos val=\"b\"/><c:layout/><c:overlay val=\"0\"/><c:spPr><a:noFill/><a:ln><a:noFill/></a:ln><a:effectLst/></c:spPr><c:txPr><a:bodyPr rot=\"0\" spcFirstLastPara=\"1\" vertOverflow=\"ellipsis\" vert=\"horz\" wrap=\"square\" anchor=\"ctr\" anchorCtr=\"1\"/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:endParaRPr lang=\"en-US\"/></a:p></c:txPr></c:legend>`;\n}\n\n// ── Shared boilerplate ──\n\nfunction noFillSpPr(): string {\n return `<c:spPr><a:noFill/><a:ln><a:noFill/></a:ln><a:effectLst/></c:spPr>`;\n}\n\nfunction chartTxPr(): string {\n return `<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:endParaRPr lang=\"en-US\"/></a:p></c:txPr>`;\n}\n\n// ── Axes XML ──\n\nfunction stringifyAxes(chartType: ChartType, threeD?: boolean): string {\n if (NO_AXES_TYPES.has(chartType)) return \"\";\n\n const parts: string[] = [];\n\n if (chartType === \"scatter\" || chartType === \"bubble\") {\n parts.push(valAxXml(10, 20));\n parts.push(valAxXml(20, 10));\n } else if (chartType === \"stock\" || chartType === \"surface\") {\n parts.push(catAxXml(10, 20));\n parts.push(valAxXml(20, 10));\n if (chartType === \"surface\") {\n parts.push(serAxXml(30, 10));\n }\n } else {\n parts.push(catAxXml(10, 20));\n parts.push(valAxXml(20, 10));\n if (threeD) {\n parts.push(catAxXml(30, 10));\n }\n }\n\n return parts.join(\"\");\n}\n\nfunction catAxXml(axId: number, crossAx: number): string {\n return `<c:catAx><c:axId ${attrVal(\"val\", axId)}/><c:scaling><c:orientation val=\"minMax\"/></c:scaling><c:delete val=\"0\"/><c:axPos val=\"b\"/><c:crossAx ${attrVal(\"val\", crossAx)}/><c:crosses val=\"autoZero\"/><c:auto val=\"1\"/><c:lblOffset val=\"100\"/><c:noMultiLvlLbl val=\"0\"/></c:catAx>`;\n}\n\nfunction valAxXml(axId: number, crossAx: number): string {\n return `<c:valAx><c:axId ${attrVal(\"val\", axId)}/><c:scaling><c:orientation val=\"minMax\"/></c:scaling><c:delete val=\"0\"/><c:axPos val=\"l\"/><c:numFmt formatCode=\"General\" sourceLinked=\"1\"/><c:spPr/><c:crossAx ${attrVal(\"val\", crossAx)}/><c:crosses val=\"autoZero\"/></c:valAx>`;\n}\n\nfunction serAxXml(axId: number, crossAx: number): string {\n return `<c:serAx><c:axId ${attrVal(\"val\", axId)}/><c:scaling><c:orientation val=\"minMax\"/></c:scaling><c:delete val=\"0\"/><c:axPos val=\"b\"/><c:numFmt formatCode=\"General\" sourceLinked=\"1\"/><c:spPr/><c:crossAx ${attrVal(\"val\", crossAx)}/><c:crosses val=\"autoZero\"/><c:tickLblSkip val=\"1\"/></c:serAx>`;\n}\n\n// ── Read helpers ──\n\nfunction readStrCache(el: XmlElement): string[] {\n const strRef = findChild(el, \"c:strRef\");\n if (!strRef) return [];\n const strCache = findChild(strRef, \"c:strCache\");\n if (!strCache?.elements) return [];\n const result: string[] = [];\n for (const pt of strCache.elements) {\n if (pt.name === \"c:pt\" && pt.elements) {\n const v = pt.elements.find((c) => c.name === \"c:v\");\n if (v?.text !== undefined) result.push(String(v.text));\n }\n }\n return result;\n}\n\nfunction readNumCache(el: XmlElement): number[] {\n const numRef = findChild(el, \"c:numRef\");\n if (!numRef) return [];\n const numCache = findChild(numRef, \"c:numCache\");\n if (!numCache?.elements) return [];\n const result: number[] = [];\n for (const pt of numCache.elements) {\n if (pt.name === \"c:pt\" && pt.elements) {\n const v = pt.elements.find((c) => c.name === \"c:v\");\n if (v?.text !== undefined) result.push(Number(v.text));\n }\n }\n return result;\n}\n\nfunction readSeriesName(serEl: XmlElement): string {\n const tx = findChild(serEl, \"c:tx\");\n if (!tx) return \"\";\n const values = readStrCache(tx);\n return values[0] ?? \"\";\n}\n\nfunction readTitleText(titleEl: XmlElement): string | undefined {\n const tx = findChild(titleEl, \"c:tx\");\n if (!tx?.elements) return undefined;\n for (const child of tx.elements) {\n if (child.name === \"c:rich\" && child.elements) {\n for (const sub of child.elements) {\n if (sub.name === \"a:p\" && sub.elements) {\n for (const r of sub.elements) {\n if (r.name === \"a:r\" && r.elements) {\n for (const t of r.elements) {\n if (t.name === \"a:t\" && t.text !== undefined) {\n return String(t.text);\n }\n }\n }\n }\n }\n }\n }\n }\n return undefined;\n}\n\n// ── Read helpers: series enhancements ──\n\nfunction readBoolAttr(el: XmlElement, childName: string): boolean | undefined {\n const child = findChild(el, childName);\n if (!child) return undefined;\n const v = attr(child, \"val\");\n // CT_OnOff: absent val or val=\"1\"/\"true\" → true; val=\"0\"/\"false\" → false\n if (v === undefined) return true;\n return v !== \"0\" && v !== \"false\";\n}\n\nfunction readValNum(el: XmlElement, childName: string): number | undefined {\n const child = findChild(el, childName);\n if (!child) return undefined;\n const v = attr(child, \"val\");\n return v !== undefined ? Number(v) : undefined;\n}\n\nfunction readValStr(el: XmlElement, childName: string): string | undefined {\n const child = findChild(el, childName);\n if (!child) return undefined;\n return attr(child, \"val\") ?? undefined;\n}\n\nfunction readNumLit(el: XmlElement, childName: string): number | undefined {\n const child = findChild(el, childName);\n if (!child) return undefined;\n const numLit = findChild(child, \"c:numLit\");\n if (!numLit?.elements) return undefined;\n for (const pt of numLit.elements) {\n if (pt.name === \"c:pt\" && pt.elements) {\n const v = pt.elements.find((c) => c.name === \"c:v\");\n if (v) {\n const text = textOf(v);\n if (text) return Number(text);\n }\n }\n }\n return undefined;\n}\n\nfunction readTrendlines(serEl: XmlElement): TrendlineOptions[] | undefined {\n const tlEls = children(serEl, \"c:trendline\");\n if (tlEls.length === 0) return undefined;\n return tlEls.map((tl) => {\n const opts: TrendlineOptions = {};\n const type = readValStr(tl, \"c:trendlineType\");\n if (type) opts.type = type as TrendlineOptions[\"type\"];\n const order = readValNum(tl, \"c:order\");\n if (order !== undefined) opts.order = order;\n const period = readValNum(tl, \"c:period\");\n if (period !== undefined) opts.period = period;\n const forward = readValNum(tl, \"c:forward\");\n if (forward !== undefined) opts.forward = forward;\n const backward = readValNum(tl, \"c:backward\");\n if (backward !== undefined) opts.backward = backward;\n const intercept = readValNum(tl, \"c:intercept\");\n if (intercept !== undefined) opts.intercept = intercept;\n const dispRSqr = readBoolAttr(tl, \"c:dispRSqr\");\n if (dispRSqr !== undefined) opts.dispRSqr = dispRSqr;\n const dispEq = readBoolAttr(tl, \"c:dispEq\");\n if (dispEq !== undefined) opts.dispEq = dispEq;\n const nameEl = findChild(tl, \"c:name\");\n const nameText = textOf(nameEl);\n if (nameText) opts.name = nameText;\n const labelFmt = attr(findChild(findChild(tl, \"c:trendlineLbl\"), \"c:numFmt\"), \"formatCode\");\n if (labelFmt) opts.label = { numberFormat: labelFmt } satisfies TrendlineLabelOptions;\n return opts;\n });\n}\n\nfunction readErrBars(serEl: XmlElement): ErrorBarOptions | undefined {\n const ebEl = findChild(serEl, \"c:errBars\");\n if (!ebEl) return undefined;\n const opts: ErrorBarOptions = {};\n const direction = readValStr(ebEl, \"c:errDir\");\n if (direction) opts.direction = direction as ErrorBarOptions[\"direction\"];\n const barType = readValStr(ebEl, \"c:errBarType\");\n if (barType) opts.barType = barType as ErrorBarOptions[\"barType\"];\n const valueType = readValStr(ebEl, \"c:errValType\");\n if (valueType) opts.valueType = valueType as ErrorBarOptions[\"valueType\"];\n const noEndCap = readBoolAttr(ebEl, \"c:noEndCap\");\n if (noEndCap !== undefined) opts.noEndCap = noEndCap;\n const plusValue = readNumLit(ebEl, \"c:plus\");\n if (plusValue !== undefined) opts.plusValue = plusValue;\n const minusValue = readNumLit(ebEl, \"c:minus\");\n if (minusValue !== undefined) opts.minusValue = minusValue;\n const value = readValNum(ebEl, \"c:val\");\n if (value !== undefined) opts.value = value;\n return opts;\n}\n\nfunction readDataLabels(serEl: XmlElement): DataLabelsOptions | undefined {\n const dlEl = findChild(serEl, \"c:dLbls\");\n if (!dlEl) return undefined;\n const opts: DataLabelsOptions = {};\n const position = readValStr(dlEl, \"c:dLblPos\");\n if (position) opts.position = position as DataLabelsOptions[\"position\"];\n const showLegendKey = readBoolAttr(dlEl, \"c:showLegendKey\");\n if (showLegendKey !== undefined) opts.showLegendKey = showLegendKey;\n const showVal = readBoolAttr(dlEl, \"c:showVal\");\n if (showVal !== undefined) opts.showVal = showVal;\n const showCatName = readBoolAttr(dlEl, \"c:showCatName\");\n if (showCatName !== undefined) opts.showCatName = showCatName;\n const showSerName = readBoolAttr(dlEl, \"c:showSerName\");\n if (showSerName !== undefined) opts.showSerName = showSerName;\n const showPercent = readBoolAttr(dlEl, \"c:showPercent\");\n if (showPercent !== undefined) opts.showPercent = showPercent;\n const showBubbleSize = readBoolAttr(dlEl, \"c:showBubbleSize\");\n if (showBubbleSize !== undefined) opts.showBubbleSize = showBubbleSize;\n const showLeaderLines = readBoolAttr(dlEl, \"c:showLeaderLines\");\n if (showLeaderLines !== undefined) opts.showLeaderLines = showLeaderLines;\n const sepEl = findChild(dlEl, \"c:separator\");\n const sepText = textOf(sepEl);\n if (sepText) opts.separator = sepText;\n const lblEls = children(dlEl, \"c:dLbl\");\n if (lblEls.length > 0) {\n opts.labels = lblEls.map((el): DataLabelOptions => {\n const result: DataLabelOptions = { index: readValNum(el, \"c:idx\") ?? 0 };\n if (findChild(el, \"c:delete\")) result.delete = true;\n const numFmt = attr(findChild(el, \"c:numFmt\"), \"formatCode\");\n if (numFmt) result.numberFormat = numFmt;\n const pos = readValStr(el, \"c:dLblPos\");\n if (pos) result.position = pos as DataLabelOptions[\"position\"];\n return result;\n });\n }\n if (findChild(dlEl, \"c:leaderLines\")) opts.leaderLines = true;\n return opts;\n}\n\nfunction readView3D(chartEl: XmlElement): View3DOptions | undefined {\n const v3d = findChild(chartEl, \"c:view3D\");\n if (!v3d) return undefined;\n const opts: View3DOptions = {};\n const rotX = readValNum(v3d, \"c:rotX\");\n if (rotX !== undefined) opts.rotX = rotX;\n const hPercent = readValNum(v3d, \"c:hPercent\");\n if (hPercent !== undefined) opts.hPercent = hPercent;\n const rotY = readValNum(v3d, \"c:rotY\");\n if (rotY !== undefined) opts.rotY = rotY;\n const depthPercent = readValNum(v3d, \"c:depthPercent\");\n if (depthPercent !== undefined) opts.depthPercent = depthPercent;\n const rAngAx = readBoolAttr(v3d, \"c:rAngAx\");\n if (rAngAx !== undefined) opts.rAngAx = rAngAx;\n const perspective = readValNum(v3d, \"c:perspective\");\n if (perspective !== undefined) opts.perspective = perspective;\n return opts;\n}\n\n// ── Main descriptor ──\n\nexport const chartSpaceDesc: CustomDescriptor<ChartSpaceOptions> = {\n kind: \"custom\",\n\n stringify(opts: ChartSpaceOptions, _ctx: WriteContext): string {\n const parts: string[] = [];\n\n // Opening tag with namespaces\n parts.push(\n `<c:chartSpace xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">`,\n );\n\n // Fixed header elements\n parts.push(valEl(\"c:date1904\", 0));\n parts.push(valEl(\"c:lang\", \"en-US\"));\n parts.push(valEl(\"c:roundedCorners\", 0));\n\n // Style\n if (opts.style !== undefined) {\n parts.push(valEl(\"c:style\", opts.style));\n }\n\n // c:chart container\n parts.push(\"<c:chart>\");\n\n // Title\n if (opts.title) {\n parts.push(stringifyTitle(opts.title));\n }\n\n parts.push(valEl(\"c:autoTitleDeleted\", 0));\n\n // 3D view (before plotArea per CT_Chart sequence)\n if (opts.view3D) {\n parts.push(stringifyView3D(opts.view3D));\n }\n\n // c:plotArea\n parts.push(\"<c:plotArea><c:layout/>\");\n\n // Chart type element (header + series + footer)\n parts.push(chartTypeHeader(opts));\n\n const categories = opts.categories ?? [];\n for (const [i, series] of opts.series.entries()) {\n parts.push(stringifySeries(i, series, categories, opts.type));\n }\n\n parts.push(chartTypeFooter(opts));\n\n // Axes\n parts.push(stringifyAxes(opts.type, opts.threeD));\n\n parts.push(\"</c:plotArea>\");\n\n // Legend\n if (opts.showLegend !== false) {\n parts.push(stringifyLegend());\n }\n\n parts.push(\"</c:chart>\");\n\n // SpPr and txPr\n parts.push(noFillSpPr());\n parts.push(chartTxPr());\n\n parts.push(\"</c:chartSpace>\");\n\n return parts.join(\"\");\n },\n\n parse(el: XmlElement, _ctx: ReadContext) {\n const result: MutableChartSpaceResult = {};\n\n // Style\n const styleEl = findChild(el, \"c:style\");\n if (styleEl?.attributes?.[\"val\"] !== undefined) {\n result.style = Number(styleEl.attributes[\"val\"]);\n }\n\n // Chart container\n const chart = findChild(el, \"c:chart\");\n if (!chart) return result as ChartSpaceOptions;\n\n // Title\n const titleEl = findChild(chart, \"c:title\");\n if (titleEl) {\n const title = readTitleText(titleEl);\n if (title !== undefined) result.title = title;\n }\n\n // 3D view (before plotArea per CT_Chart sequence)\n const view3D = readView3D(chart);\n if (view3D) result.view3D = view3D;\n\n // Plot area — detect chart type\n const plotArea = findChild(chart, \"c:plotArea\");\n if (plotArea?.elements) {\n let detectedType: ChartType | undefined;\n let threeD = false;\n let chartTypeEl: XmlElement | undefined;\n\n for (const child of plotArea.elements) {\n if (!child.name) continue;\n const mapping = TAG_TO_CHART_TYPE[child.name];\n if (mapping) {\n detectedType = mapping.type;\n threeD = mapping.threeD ?? false;\n chartTypeEl = child;\n // bar/column share the c:barChart tag; distinguish via c:barDir\n if (child.name === \"c:barChart\" || child.name === \"c:bar3DChart\") {\n const barDir = findChild(child, \"c:barDir\");\n const barDirVal = barDir ? attr(barDir, \"val\") : undefined;\n if (barDirVal === \"bar\") detectedType = \"bar\";\n else if (barDirVal === \"col\") detectedType = \"column\";\n }\n break;\n }\n }\n\n if (detectedType) {\n result.type = detectedType;\n if (threeD) result.threeD = true;\n }\n\n // Extract series data (c:ser are children of the chart-type element, not plotArea)\n const seriesEls = chartTypeEl ? children(chartTypeEl, \"c:ser\") : [];\n if (seriesEls.length > 0) {\n if (detectedType === \"bubble\") {\n const bubbleSeries: BubbleSeriesData[] = [];\n for (const serEl of seriesEls) {\n const name = readSeriesName(serEl);\n const xVal = findChild(serEl, \"c:xVal\");\n const yVal = findChild(serEl, \"c:yVal\");\n const bubbleSize = findChild(serEl, \"c:bubbleSize\");\n bubbleSeries.push({\n name,\n xValues: xVal ? readNumCache(xVal) : [],\n yValues: yVal ? readNumCache(yVal) : [],\n bubbleSize: bubbleSize ? readNumCache(bubbleSize) : [],\n });\n }\n result.series = bubbleSeries as BubbleSeriesData[];\n } else {\n const chartSeries: ChartSeriesData[] = [];\n let categories: string[] | undefined;\n\n for (const serEl of seriesEls) {\n const name = readSeriesName(serEl);\n\n // Read categories from first series\n if (!categories) {\n const catEl = findChild(serEl, \"c:cat\") ?? findChild(serEl, \"c:xVal\");\n if (catEl) categories = readStrCache(catEl);\n }\n\n // Read values\n const valEl = findChild(serEl, \"c:val\") ?? findChild(serEl, \"c:yVal\");\n const values = valEl ? readNumCache(valEl) : [];\n\n const ser: ChartSeriesData = { name, values };\n\n // Read series enhancements\n const trendlines = readTrendlines(serEl);\n if (trendlines) ser.trendlines = trendlines;\n const errorBars = readErrBars(serEl);\n if (errorBars) ser.errorBars = errorBars;\n const dataLabels = readDataLabels(serEl);\n if (dataLabels) ser.dataLabels = dataLabels;\n\n chartSeries.push(ser);\n }\n\n result.series = chartSeries as ChartSeriesData[];\n if (categories?.length) result.categories = categories;\n }\n }\n }\n\n // Legend — default is true, only set if explicitly absent\n const legend = findChild(chart, \"c:legend\");\n if (!legend) {\n result.showLegend = false;\n }\n\n return result as ChartSpaceOptions;\n },\n};\n","/**\n * Chart type definitions — interfaces and constants.\n *\n * Class implementations have been removed; all chart XML generation\n * goes through chart-descriptors.ts (stringify/parse path).\n *\n * @module\n */\n\n// ── Series common (CT_Ser shared children) ──\n\n/** Fields shared by every chart series type (name + optional decorations). */\nexport interface ChartSeriesCommon {\n name: string;\n trendlines?: readonly TrendlineOptions[];\n errorBars?: ErrorBarOptions;\n dataLabels?: DataLabelsOptions;\n}\n\n// ── BubbleSeriesData ──\n\nexport interface BubbleSeriesData extends ChartSeriesCommon {\n xValues: readonly number[];\n yValues: readonly number[];\n bubbleSize: readonly number[];\n}\n\n// ── Trendline ──\n\nexport const TrendlineType = {\n EXP: \"exp\",\n LINEAR: \"linear\",\n LOG: \"log\",\n MOVING_AVG: \"movingAvg\",\n POLY: \"poly\",\n POWER: \"power\",\n} as const;\n\nexport type TrendlineType = (typeof TrendlineType)[keyof typeof TrendlineType];\n\n/** Trendline label formatting (CT_TrendlineLbl — all children optional). */\nexport interface TrendlineLabelOptions {\n /** Number format applied to the trendline label (c:numFmt formatCode). */\n numberFormat?: string;\n}\n\nexport interface TrendlineOptions {\n type?: TrendlineType;\n name?: string;\n order?: number;\n period?: number;\n forward?: number;\n backward?: number;\n intercept?: number;\n dispRSqr?: boolean;\n dispEq?: boolean;\n /** Per-trendline label formatting (emitted as c:trendlineLbl). */\n label?: TrendlineLabelOptions;\n}\n\n// ── Error bars ──\n\nexport const ErrorBarDirection = {\n BOTH: \"both\",\n X: \"x\",\n Y: \"y\",\n} as const;\n\nexport type ErrorBarDirection = (typeof ErrorBarDirection)[keyof typeof ErrorBarDirection];\n\nexport const ErrorBarType = {\n BOTH: \"both\",\n MINUS: \"minus\",\n PLUS: \"plus\",\n} as const;\n\nexport type ErrorBarType = (typeof ErrorBarType)[keyof typeof ErrorBarType];\n\nexport const ErrorValueType = {\n CUST: \"cust\",\n FIXED: \"fixedVal\",\n PERCENTAGE: \"percentage\",\n STD_DEV: \"stdDev\",\n STD_ERR: \"stdErr\",\n} as const;\n\nexport type ErrorValueType = (typeof ErrorValueType)[keyof typeof ErrorValueType];\n\nexport interface ErrorBarOptions {\n direction?: ErrorBarDirection;\n barType?: ErrorBarType;\n valueType?: ErrorValueType;\n value?: number;\n noEndCap?: boolean;\n /** Custom plus error value (emitted as c:plus > c:numLit). */\n plusValue?: number;\n /** Custom minus error value (emitted as c:minus > c:numLit). */\n minusValue?: number;\n}\n\n// ── Data labels ──\n\nexport const DataLabelPosition = {\n BEST_FIT: \"bestFit\",\n B: \"b\",\n CTRL: \"ctr\",\n IN_BASE: \"inBase\",\n IN_END: \"inEnd\",\n L: \"l\",\n OUT_END: \"outEnd\",\n R: \"r\",\n T: \"t\",\n} as const;\n\nexport type DataLabelPosition = (typeof DataLabelPosition)[keyof typeof DataLabelPosition];\n\n/** Single data-point label override (CT_DLbl). */\nexport interface DataLabelOptions {\n /** Series point index this label applies to (c:idx, required). */\n index: number;\n /** Drop the label for this point (c:delete). */\n delete?: boolean;\n position?: DataLabelPosition;\n /** Number format override (c:numFmt inside EG_DLblShared). */\n numberFormat?: string;\n}\n\nexport interface DataLabelsOptions {\n position?: DataLabelPosition;\n showVal?: boolean;\n showCatName?: boolean;\n showSerName?: boolean;\n showPercent?: boolean;\n showBubbleSize?: boolean;\n showLegendKey?: boolean;\n showLeaderLines?: boolean;\n separator?: string;\n /** Per-point label overrides (c:dLbl, emitted before the shared settings). */\n labels?: readonly DataLabelOptions[];\n /** Emit a c:leaderLines element for default-styled leader lines. */\n leaderLines?: boolean;\n}\n\n// ── Chart series ──\n\nexport interface ChartSeriesData extends ChartSeriesCommon {\n values: readonly number[];\n}\n\n// ── Chart types ──\n\nexport type ChartType =\n | \"column\"\n | \"bar\"\n | \"line\"\n | \"pie\"\n | \"area\"\n | \"scatter\"\n | \"bubble\"\n | \"doughnut\"\n | \"radar\"\n | \"stock\"\n | \"surface\";\n\nexport type AxisChartType = Exclude<ChartType, \"bubble\">;\n\n// ── ChartSpace options ──\n\nexport interface ChartSpaceOptions {\n title?: string;\n type: ChartType;\n categories?: readonly string[];\n series: readonly ChartSeriesData[] | readonly BubbleSeriesData[];\n showLegend?: boolean;\n style?: number;\n threeD?: boolean;\n view3D?: View3DOptions;\n}\n\n// ── 3D view ──\n\nexport const TimeUnit = {\n DAYS: \"days\",\n MONTHS: \"months\",\n YEARS: \"years\",\n} as const;\n\nexport type TimeUnit = (typeof TimeUnit)[keyof typeof TimeUnit];\n\nexport interface View3DOptions {\n rotX?: number;\n /** Height percentage of the chart (XSD CT_HPercent). */\n hPercent?: number;\n rotY?: number;\n depthPercent?: number;\n rAngAx?: boolean;\n perspective?: number;\n}\n"],"mappings":"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"}
|
|
@@ -13,8 +13,13 @@ declare class ChartCollection {
|
|
|
13
13
|
}
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/chart/types.d.ts
|
|
16
|
-
interface
|
|
16
|
+
interface ChartSeriesCommon {
|
|
17
17
|
name: string;
|
|
18
|
+
trendlines?: readonly TrendlineOptions[];
|
|
19
|
+
errorBars?: ErrorBarOptions;
|
|
20
|
+
dataLabels?: DataLabelsOptions;
|
|
21
|
+
}
|
|
22
|
+
interface BubbleSeriesData extends ChartSeriesCommon {
|
|
18
23
|
xValues: readonly number[];
|
|
19
24
|
yValues: readonly number[];
|
|
20
25
|
bubbleSize: readonly number[];
|
|
@@ -28,6 +33,9 @@ declare const TrendlineType: {
|
|
|
28
33
|
readonly POWER: "power";
|
|
29
34
|
};
|
|
30
35
|
type TrendlineType = (typeof TrendlineType)[keyof typeof TrendlineType];
|
|
36
|
+
interface TrendlineLabelOptions {
|
|
37
|
+
numberFormat?: string;
|
|
38
|
+
}
|
|
31
39
|
interface TrendlineOptions {
|
|
32
40
|
type?: TrendlineType;
|
|
33
41
|
name?: string;
|
|
@@ -38,6 +46,7 @@ interface TrendlineOptions {
|
|
|
38
46
|
intercept?: number;
|
|
39
47
|
dispRSqr?: boolean;
|
|
40
48
|
dispEq?: boolean;
|
|
49
|
+
label?: TrendlineLabelOptions;
|
|
41
50
|
}
|
|
42
51
|
declare const ErrorBarDirection: {
|
|
43
52
|
readonly BOTH: "both";
|
|
@@ -64,6 +73,9 @@ interface ErrorBarOptions {
|
|
|
64
73
|
barType?: ErrorBarType;
|
|
65
74
|
valueType?: ErrorValueType;
|
|
66
75
|
value?: number;
|
|
76
|
+
noEndCap?: boolean;
|
|
77
|
+
plusValue?: number;
|
|
78
|
+
minusValue?: number;
|
|
67
79
|
}
|
|
68
80
|
declare const DataLabelPosition: {
|
|
69
81
|
readonly BEST_FIT: "bestFit";
|
|
@@ -77,6 +89,12 @@ declare const DataLabelPosition: {
|
|
|
77
89
|
readonly T: "t";
|
|
78
90
|
};
|
|
79
91
|
type DataLabelPosition = (typeof DataLabelPosition)[keyof typeof DataLabelPosition];
|
|
92
|
+
interface DataLabelOptions {
|
|
93
|
+
index: number;
|
|
94
|
+
delete?: boolean;
|
|
95
|
+
position?: DataLabelPosition;
|
|
96
|
+
numberFormat?: string;
|
|
97
|
+
}
|
|
80
98
|
interface DataLabelsOptions {
|
|
81
99
|
position?: DataLabelPosition;
|
|
82
100
|
showVal?: boolean;
|
|
@@ -84,14 +102,14 @@ interface DataLabelsOptions {
|
|
|
84
102
|
showSerName?: boolean;
|
|
85
103
|
showPercent?: boolean;
|
|
86
104
|
showBubbleSize?: boolean;
|
|
105
|
+
showLegendKey?: boolean;
|
|
87
106
|
showLeaderLines?: boolean;
|
|
107
|
+
separator?: string;
|
|
108
|
+
labels?: readonly DataLabelOptions[];
|
|
109
|
+
leaderLines?: boolean;
|
|
88
110
|
}
|
|
89
|
-
interface ChartSeriesData {
|
|
90
|
-
name: string;
|
|
111
|
+
interface ChartSeriesData extends ChartSeriesCommon {
|
|
91
112
|
values: readonly number[];
|
|
92
|
-
trendlines?: readonly TrendlineOptions[];
|
|
93
|
-
errorBars?: ErrorBarOptions;
|
|
94
|
-
dataLabels?: DataLabelsOptions;
|
|
95
113
|
}
|
|
96
114
|
type ChartType = "column" | "bar" | "line" | "pie" | "area" | "scatter" | "bubble" | "doughnut" | "radar" | "stock" | "surface";
|
|
97
115
|
type AxisChartType = Exclude<ChartType, "bubble">;
|
|
@@ -103,6 +121,7 @@ interface ChartSpaceOptions {
|
|
|
103
121
|
showLegend?: boolean;
|
|
104
122
|
style?: number;
|
|
105
123
|
threeD?: boolean;
|
|
124
|
+
view3D?: View3DOptions;
|
|
106
125
|
}
|
|
107
126
|
declare const TimeUnit: {
|
|
108
127
|
readonly DAYS: "days";
|
|
@@ -112,6 +131,7 @@ declare const TimeUnit: {
|
|
|
112
131
|
type TimeUnit = (typeof TimeUnit)[keyof typeof TimeUnit];
|
|
113
132
|
interface View3DOptions {
|
|
114
133
|
rotX?: number;
|
|
134
|
+
hPercent?: number;
|
|
115
135
|
rotY?: number;
|
|
116
136
|
depthPercent?: number;
|
|
117
137
|
rAngAx?: boolean;
|
|
@@ -121,5 +141,5 @@ interface View3DOptions {
|
|
|
121
141
|
//#region src/chart/chart-descriptors.d.ts
|
|
122
142
|
declare const chartSpaceDesc: CustomDescriptor<ChartSpaceOptions>;
|
|
123
143
|
//#endregion
|
|
124
|
-
export {
|
|
125
|
-
//# sourceMappingURL=index-
|
|
144
|
+
export { TrendlineOptions as _, ChartSeriesData as a, ChartCollection as b, DataLabelOptions as c, ErrorBarDirection as d, ErrorBarOptions as f, TrendlineLabelOptions as g, TimeUnit as h, ChartSeriesCommon as i, DataLabelPosition as l, ErrorValueType as m, AxisChartType as n, ChartSpaceOptions as o, ErrorBarType as p, BubbleSeriesData as r, ChartType as s, chartSpaceDesc as t, DataLabelsOptions as u, TrendlineType as v, ChartData as x, View3DOptions as y };
|
|
145
|
+
//# sourceMappingURL=index-DE4CLElr.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DE4CLElr.d.mts","names":[],"sources":["../src/chart/chart-collection.ts","../src/chart/types.ts","../src/chart/chart-descriptors.ts"],"mappings":";;;UAMiB,SAAA;EACf,GAAA;EACA,aAAa;AAAA;AAAA,cAGF,eAAA;EAAA,QACH,GAAA;;EAMD,QAAA,CAAS,GAAA,UAAa,SAAA,EAAW,SAAA;EAAA,IAI7B,KAAA,IAAS,SAAS;AAAA;;;UCVd,iBAAA;EACf,IAAA;EACA,UAAA,YAAsB,gBAAA;EACtB,SAAA,GAAY,eAAA;EACZ,UAAA,GAAa,iBAAA;AAAA;AAAA,UAKE,gBAAA,SAAyB,iBAAiB;EACzD,OAAA;EACA,OAAA;EACA,UAAA;AAAA;AAAA,cAKW,aAAA;EAAA;;;;;;;KASD,aAAA,WAAwB,aAAA,eAA4B,aAAa;AAAA,UAG5D,qBAAA;EAEf,YAAY;AAAA;AAAA,UAGG,gBAAA;EACf,IAAA,GAAO,aAAA;EACP,IAAA;EACA,KAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,QAAA;EACA,MAAA;EAEA,KAAA,GAAQ,qBAAqB;AAAA;AAAA,cAKlB,iBAAA;EAAA;;;;KAMD,iBAAA,WAA4B,iBAAA,eAAgC,iBAAiB;AAAA,cAE5E,YAAA;EAAA;;;;KAMD,YAAA,WAAuB,YAAA,eAA2B,YAAY;AAAA,cAE7D,cAAA;EAAA;;;;;;KAQD,cAAA,WAAyB,cAAA,eAA6B,cAAc;AAAA,UAE/D,eAAA;EACf,SAAA,GAAY,iBAAA;EACZ,OAAA,GAAU,YAAA;EACV,SAAA,GAAY,cAAA;EACZ,KAAA;EACA,QAAA;EAEA,SAAA;EAEA,UAAA;AAAA;AAAA,cAKW,iBAAA;EAAA;;;;;;;;;;KAYD,iBAAA,WAA4B,iBAAA,eAAgC,iBAAiB;AAAA,UAGxE,gBAAA;EAEf,KAAA;EAEA,MAAA;EACA,QAAA,GAAW,iBAAiB;EAE5B,YAAA;AAAA;AAAA,UAGe,iBAAA;EACf,QAAA,GAAW,iBAAA;EACX,OAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;EACA,cAAA;EACA,aAAA;EACA,eAAA;EACA,SAAA;EAEA,MAAA,YAAkB,gBAAgB;EAElC,WAAA;AAAA;AAAA,UAKe,eAAA,SAAwB,iBAAiB;EACxD,MAAM;AAAA;AAAA,KAKI,SAAA;AAAA,KAaA,aAAA,GAAgB,OAAO,CAAC,SAAA;AAAA,UAInB,iBAAA;EACf,KAAA;EACA,IAAA,EAAM,SAAA;EACN,UAAA;EACA,MAAA,WAAiB,eAAA,cAA6B,gBAAA;EAC9C,UAAA;EACA,KAAA;EACA,MAAA;EACA,MAAA,GAAS,aAAA;AAAA;AAAA,cAKE,QAAA;EAAA;;;;KAMD,QAAA,WAAmB,QAAA,eAAuB,QAAQ;AAAA,UAE7C,aAAA;EACf,IAAA;EAEA,QAAA;EACA,IAAA;EACA,YAAA;EACA,MAAA;EACA,WAAA;AAAA;;;cCmXW,cAAA,EAAgB,gBAAgB,CAAC,iBAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as
|
|
1
|
+
import { _ as TrendlineOptions, a as ChartSeriesData, b as ChartCollection, c as DataLabelOptions, d as ErrorBarDirection, f as ErrorBarOptions, g as TrendlineLabelOptions, h as TimeUnit, i as ChartSeriesCommon, l as DataLabelPosition, m as ErrorValueType, n as AxisChartType, o as ChartSpaceOptions, p as ErrorBarType, r as BubbleSeriesData, s as ChartType, t as chartSpaceDesc, u as DataLabelsOptions, v as TrendlineType, x as ChartData, y as View3DOptions } from "./index-DE4CLElr.mjs";
|
|
2
2
|
import { a as diffTagSets, c as FIELD_SPECS, d as stringify, f as CustomDescriptor, h as WriteContext, i as checkOrder, l as findFieldSpec, m as ReadContext, n as OrderViolation, o as roundTripFields, p as Descriptor, r as RoundTripResult, s as DescriptorFieldSpec, t as FieldConsistencyReport, u as parse } from "./index-BVK2dv6C.mjs";
|
|
3
3
|
import { $ as createLineColorList, $n as createReflectionEffect, $r as createSourceRectangle, $t as TableStyleListOptions, A as scRgbColorDesc, An as createShape3D, Ar as PresetPattern, At as PresentationLayoutVariablesOptions, B as createDiagramTextProperties, Bn as SphereCoords, Br as GradientShadeOptions, Bt as GraphicFrameLockingOptions, C as fillDesc, Cn as createCustomGeometry, Cr as LineEndType, Ct as AnimationLevelOptions, D as parseColorChoice, Dn as stringifyAdjustmentValues, Dr as createCustomDash, Dt as MaxChildrenOptions, E as hslColorDesc, En as GeometryGuide, Er as DashStop, Et as HierBranchStyle, F as DiagramExtensionListOptions, Fn as BackdropOptions, Fr as FillOptions, Ft as createHierBranch, G as DiagramStyleLabelOptions, Gn as EffectDagOptions, Gr as RelativeRect, Gt as createGroupLocking, H as createDiagramRelationshipIds, Hn as createScene3D, Hr as LinearShadeOptions, Ht as PictureLockingOptions, I as DiagramExtensionOptions, In as CameraOptions, Ir as GradientStopOptions, It as createMaxChildren, J as HueDirection, Jn as EffectExtent, Jr as createGradientStop, Jt as OnOffStyleType, K as DiagramStyleOptions, Kn as createEffectDag, Kr as TileFlipMode, Kt as createPictureLocking, L as DiagramTextPropertiesOptions, Ln as LightRigOptions, Lr as buildFill, Lt as createOrgChart, M as solidFillDesc, Mn as BevelPresetType, Mr as createNoFill, Mt as createAdjustList, N as stringifyColorChoice, Nn as createBevel, Nr as BlipFillConfigOptions, Nt as createAnimateOneByOne, O as presetColorDesc, On as PresetMaterialType, Or as createGroupFill, Ot as OrgChartOptions, P as systemColorDesc, Pn as createBottomBevel, Pr as BlipFillMediaData, Pt as createAnimationLevel, Q as createFillColorList, Qn as ReflectionEffectOptions, Qr as SourceRectangleOptions, Qt as TablePartStyleOptions, R as createDiagramExtensionList, Rn as Point3D, Rr as extractBlipFillMedia, Rt as createPreferredChildren, S as outlineDesc, Sn as PathOptions, Sr as LineEndOptions, St as AnimateOneByOneValue, T as patternFillDesc, Tn as stringifyPresetGeometry, Tr as createLineEnd, Tt as HierBranchOptions, U as ColorListOptions, Un as createSoftEdgeEffect, Ur as PathShadeOptions, Ut as ShapeLockingOptions, V as DiagramRelationshipIdsOptions, Vn as Vector3D, Vr as GradientStop, Vt as GroupLockingOptions, W as ColorMethod, Wn as EffectContainerType, Wr as PathShadeType, Wt as createGraphicFrameLocking, X as createDiagramStyle, Xn as calculateEffectExtent, Xr as TileOptions, Xt as TableCellBorderOptions, Y as StyleMatrixIndex, Yn as EffectListOptions, Yr as TileAlignment, Yt as StyleMatrixReferenceOptions, Z as createEffectColorList, Zn as createEffectList, Zr as createTileInfo, Zt as TableCellStyleOptions, _ as graphicFrameLockingDesc, _i as createPresetColor, _n as ConnectionSite, _r as OutlineOptions, _t as createStyleDefinitionHeader, a as blipDesc, ai as SystemColor, an as createTableStyleList, ar as createOuterShadowEffect, at as ColorsDefinitionHeaderOptions, b as shapeLockingDesc, bi as ColorTransformOptions, bn as PathCommand, br as createOutline, bt as AdjustOptions, c as stretchDesc, ci as SchemeColor, cn as Transform2DOptions, cr as GlowEffectOptions, ct as DiagramNameOptions, d as scene3DDesc, di as ScRgbColorOptions, dn as stringifyStretch, dr as FillOverlayEffectOptions, dt as StyleDefinitionHeaderListOptions, ei as BlipEffectsOptions, en as TableStyleOptions, er as PresetShadowEffectOptions, et as createStyleLabel, f as shape3DDesc, fi as createScRgbColor, fn as createExtensionList, fr as createFillOverlayEffect, ft as StyleDefinitionHeaderOptions, g as presetGeometryDesc, gi as PresetColorOptions, gn as createBlip, gr as OutlineFillProperties, gt as createLayoutDefinitionHeaderList, h as customGeometryDesc, hi as PresetColor, hn as BlipOptions, hr as LineJoin, ht as createLayoutDefinitionHeader, i as presentationLayoutVariablesDesc, ii as createSolidFill, in as createTableStyle, ir as RectAlignment, it as ColorsDefinitionHeaderListOptions, j as schemeColorDesc, jn as BevelOptions, jr as createPatternFill, jt as createAdjust, k as rgbColorDesc, kn as Shape3DOptions, kr as PatternFillOptions, kt as PreferredChildrenOptions, l as tileDesc, li as SchemeColorOptions, ln as createGroupTransform2D, lr as createGlowEffect, lt as LayoutDefinitionHeaderListOptions, m as transform2DDesc, mi as createRgbColor, mn as createBlipFill, mr as LineCap, mt as createColorsDefinitionHeaderList, n as diagramRelationshipIdsDesc, ni as SolidFillOptions, nn as TableTextStyleOptions, nr as createPresetShadowEffect, nt as createTextFillColorList, o as blipFillDesc, oi as SystemColorOptions, on as parseTableStyleList, or as InnerShadowEffectOptions, ot as DiagramCategoryOptions, p as groupTransform2DDesc, pi as RgbColorOptions, pn as BlipFillOptions, pr as CompoundLine, pt as createColorsDefinitionHeader, q as FontCollectionIndex, qn as BlurEffectOptions, qr as createGradientFill, qt as createShapeLocking, r as diagramStyleDesc, ri as createColorElement, rn as ThemeableLineStyleOptions, rr as OuterShadowEffectOptions, rt as createTextLineColorList, s as sourceRectangleDesc, si as createSystemColor, sn as GroupTransform2DOptions, sr as createInnerShadowEffect, st as DiagramDescriptionOptions, t as diagramExtensionListDesc, ti as createBlipEffects, tn as TableStyleRegion, tr as PresetShadowVal, tt as createTextEffectColorList, u as bevelDesc, ui as createSchemeColor, un as createTransform2D, ur as BlendMode, ut as LayoutDefinitionHeaderOptions, v as groupLockingDesc, vi as HslColorOptions, vn as CustomGeometryOptions, vr as PenAlignment, vt as createStyleDefinitionHeaderList, w as gradientFillDesc, wn as PresetGeometryOptions, wr as LineEndWidth, wt as AnimationLevelValue, x as effectListDesc, xi as createColorTransforms, xn as PathFillMode, xr as LineEndLength, xt as AnimateOneByOneOptions, y as pictureLockingDesc, yi as createHslColor, yn as GeomRect, yr as PresetDash, yt as AdjustListOptions, z as createDiagramShape3D, zn as Scene3DOptions, zr as GradientFillOptions, zt as createPresentationLayoutVariables } from "./index-CE53SwpZ.mjs";
|
|
4
4
|
import { i as toUint8Array, n as ToUint8ArrayOptions, r as isBase64DataURL, t as DataType } from "./data-type-CZMKVaaT.mjs";
|
|
@@ -646,5 +646,5 @@ interface ContentTypeOverrideEntry {
|
|
|
646
646
|
}
|
|
647
647
|
declare function buildContentTypeOverrides(registry: PackagePartRegistry, facts: ReadonlyMap<string, boolean | number>): ContentTypeOverrideEntry[];
|
|
648
648
|
//#endregion
|
|
649
|
-
export { type AdjustListOptions, type AdjustOptions, type AnimateOneByOneOptions, AnimateOneByOneValue, type AnimationLevelOptions, AnimationLevelValue, type AppPropertiesInput, type AppPropertiesOptions, AxisChartType, type BackdropOptions, type BaseMediaEntry, type BasePatchOptions, type BevelOptions, BevelPresetType, BlendMode, type BlipEffectsOptions, type BlipFillConfigOptions, type BlipFillMediaData, type BlipFillOptions, type BlipOptions, type BlurEffectOptions, BubbleSeriesData, COLOR_CATEGORIES, type CameraOptions, ChartCollection, ChartData, ChartSeriesData, ChartSpaceOptions, ChartType, type ColorListOptions, ColorMethod, type ColorSchemeOptions, type ColorTransformOptions, type ColorsDefinitionHeaderListOptions, type ColorsDefinitionHeaderOptions, type CompileFn, CompoundLine, type CompressionOptions, type ConnectionSite, type ContentTypeOverrideEntry, type CorePropertiesOptions, type CustomDescriptor, type CustomGeometryOptions, type CustomPropertiesInput, type CustomPropertyOptions, DEFAULT_COLORS, DEFAULT_DRAWING_XML, DOCX_NS, DOCX_PARTS, type DashStop, DataLabelPosition, DataLabelsOptions, DataType, type DefaultProperties, type Descriptor, type DescriptorFieldSpec, type DiagramCategoryOptions, type DiagramDescriptionOptions, type DiagramExtensionListOptions, type DiagramExtensionOptions, type DiagramNameOptions, type DiagramRelationshipIdsOptions, type DiagramStyleLabelOptions, type DiagramStyleOptions, type DiagramTextPropertiesOptions, type EffectContainerType, type EffectDagOptions, type EffectExtent, type EffectListOptions, ErrorBarDirection, ErrorBarOptions, ErrorBarType, ErrorValueType, FIELD_SPECS, type FieldConsistencyReport, type FillOptions, type FillOverlayEffectOptions, FontCollectionIndex, type FontSchemeOptions, type GeomRect, type GeometryGuide, type GlowEffectOptions, type GradientFillOptions, type GradientShadeOptions, type GradientStop, type GradientStopOptions, type GraphicFrameLockingOptions, type GroupLockingOptions, type GroupTransform2DOptions, type HierBranchOptions, HierBranchStyle, type HslColorOptions, HueDirection, IdFormat, type InnerShadowEffectOptions, LAYOUT_CATEGORIES, type LayoutDefinitionHeaderListOptions, type LayoutDefinitionHeaderOptions, type LightRigOptions, LineCap, LineEndLength, type LineEndOptions, LineEndType, LineEndWidth, LineJoin, type LinearShadeOptions, type MaxChildrenOptions, Media, type OnOffStyleType, OoxmlMimeType, type OpcCode, type OpcIssue, type OpcSeverity, type OrderViolation, type OrgChartOptions, type OuterShadowEffectOptions, type OutlineFillProperties, type OutlineOptions, type OutputByType, type OutputType, type OverrideProperties, PART_REGISTRIES, PPTX_NS, PPTX_PARTS, type PackagePartRegistry, type Packer, type PackerOptions, ParsedArchive, type PartDef, type PartPresence, type PathCommand, type PathFillMode, type PathOptions, type PathShadeOptions, PathShadeType, type PatternFillOptions, PenAlignment, Percentage, type PictureLockingOptions, type PlaceholderDelimiters, type Point3D, PointPropertySetOptions, PositivePercentage, PositiveUniversalMeasure, type PreferredChildrenOptions, type PresentationLayoutVariablesOptions, PresetColor, type PresetColorOptions, PresetDash, type PresetGeometryOptions, PresetMaterialType, PresetPattern, type PresetShadowEffectOptions, PresetShadowVal, type ReadContext, RectAlignment, type ReflectionEffectOptions, type RelationshipType, Relationships, RelativeMeasure, type RelativeRect, type RenderedParagraphNode, type ReplacerOptions, type RgbColorOptions, type RoundTripResult, STYLE_CATEGORIES, type ScRgbColorOptions, type Scene3DOptions, SchemeColor, type SchemeColorOptions, type Shape3DOptions, type ShapeLockingOptions, SmartArtCollection, SmartArtData, SmartArtRelOptions, type SolidFillOptions, type SourceRectangleOptions, type SphereCoords, type StyleDefinitionHeaderListOptions, type StyleDefinitionHeaderOptions, StyleMatrixIndex, type StyleMatrixReferenceOptions, SystemColor, type SystemColorOptions, type TableCellBorderOptions, type TableCellStyleOptions, type TablePartStyleOptions, type TableStyleListOptions, type TableStyleOptions, type TableStyleRegion, type TableTextStyleOptions, TargetModeType, ThemeColor, ThemeFont, type ThemeOptions, type ThemeableLineStyleOptions, TileAlignment, TileFlipMode, type TileOptions, TimeUnit, ToUint8ArrayOptions, TokenNotFoundError, type Transform2DOptions, TreeNode, TrendlineOptions, TrendlineType, UniqueNumericIdCreator, UniversalMeasure, type Vector3D, View3DOptions, type WriteContext, XLSX_PARTS, type XmlNamespaceOptions, type XmlifyedFile, ZIP_DEFLATE_LEVEL, ZIP_STORED_LEVEL, type ZipOptions, type Zippable, addSmartArtRelationships, appPropertiesDesc, appendContentType, appendOverride, appendRelationship, applyCorePropertiesOverride, bevelDesc, blipDesc, blipFillDesc, buildContentTypeOverrides, buildCorePropertiesXmlString, buildFill, buildThemeXml, calculateEffectExtent, chartSpaceDesc, checkOrder, collectPlaceholderKeys, compileMapping, convertEmuToInches, convertEmuToPixels, convertEmuToPoints, convertInchesToEmu, convertInchesToTwip, convertMillimetersToTwip, convertOutput, convertPixelsToEmu, convertPointsToEmu, convertToEmu, convertToInch, convertToPt, convertToTwip, convertUniversalMeasureToEmu, convertUniversalMeasureToInch, convertUniversalMeasureToPt, convertUniversalMeasureToTwip, createAdjust, createAdjustList, createAnimateOneByOne, createAnimationLevel, createBevel, createBlip, createBlipEffects, createBlipFill, createBottomBevel, createColorElement, createColorTransforms, createColorsDefinitionHeader, createColorsDefinitionHeaderList, createCustomDash, createCustomGeometry, createDataModel, createDefault, createDiagramExtensionList, createDiagramRelationshipIds, createDiagramShape3D, createDiagramStyle, createDiagramTextProperties, createEffectColorList, createEffectDag, createEffectList, createExtensionList, createFillColorList, createFillOverlayEffect, createGlowEffect, createGradientFill, createGradientStop, createGraphicFrameLocking, createGroupFill, createGroupLocking, createGroupTransform2D, createHierBranch, createHslColor, createInnerShadowEffect, createLayoutDefinitionHeader, createLayoutDefinitionHeaderList, createLineColorList, createLineEnd, createMaxChildren, createNoFill, createOrgChart, createOuterShadowEffect, createOutline, createOverride, createPacker, createPatternFill, createPictureLocking, createPreferredChildren, createPresentationLayoutVariables, createPresetColor, createPresetShadowEffect, createReflectionEffect, createReplacer, createRgbColor, createRunRenderer, createScRgbColor, createScene3D, createSchemeColor, createShape3D, createShapeLocking, createSoftEdgeEffect, createSolidFill, createSourceRectangle, createSplitInject, createStyleDefinitionHeader, createStyleDefinitionHeaderList, createStyleLabel, createSystemColor, createTableStyle, createTableStyleList, createTextEffectColorList, createTextElementContents, createTextFillColorList, createTextLineColorList, createThemeXml, createTileInfo, createTokenReplacer, createTransform2D, createTraverser, createZipStream, customGeometryDesc, customPropertiesDesc, dateTimeValue, decimalNumber, decodeBase64, derivePasswordHash, diagramExtensionListDesc, diagramRelationshipIdsDesc, diagramStyleDesc, diffTagSets, effectListDesc, eighthPointMeasureValue, encodeBase64, extractBlipFillMedia, fillDesc, findAndReplaceImagePlaceholders, findFieldSpec, formatId, getColorXml, getFirstLevelElements, getLayoutXml, getMediaRefs, getNextRelationshipIndex, getReferencedMedia, getStyleXml, getVideoRefs, gradientFillDesc, graphicFrameLockingDesc, groupLockingDesc, groupTransform2DDesc, hasPlaceholders, hashPasswordAgile, hashedId, hexBinary, hexColorValue, hpsMeasureValue, hslColorDesc, invertMap, isBase64DataURL, levelForMediaName, longHexNumber, measurementOrPercentValue, nextNumericId, optionalRelsPart, outlineDesc, parse, parseArchive, parseColorChoice, parseCorePropsElement, parseTableStyleList, parseUniversalMeasure, patchSpaceAttribute, patternFillDesc, percentageValue, pictureLockingDesc, pointMeasureValue, positiveUniversalMeasureValue, presentationLayoutVariablesDesc, presetColorDesc, presetGeometryDesc, randomBytes, replaceAllPlaceholders, replaceChartPlaceholders, replaceHyperlinkPlaceholders, replaceImagePlaceholders, replaceMediaPlaceholders, replaceNumberingPlaceholders, replaceSmartArtPlaceholders, replaceVideoPlaceholders, rgbColorDesc, roundTripFields, scRgbColorDesc, scene3DDesc, schemeColorDesc, shape3DDesc, shapeLockingDesc, shortHexNumber, signedHpsMeasureValue, signedTwipsMeasureValue, solidFillDesc, sourceRectangleDesc, strFromU8, stretchDesc, stringify, stringifyAdjustmentValues, stringifyColorChoice, stringifyConnection, stringifyDataModel, stringifyPoint, stringifyPresetGeometry, stringifyStretch, stringifyTransPoint, summarizeOpcIssues, systemColorDesc, themeDesc, tileDesc, toJson, toUint8Array, transform2DDesc, twipsMeasureValue, uCharHexNumber, uniqueId, uniqueNumericIdCreator, uniqueUuid, universalMeasureValue, unsignedDecimalNumber, unzipSync, validateOpcConsistency, xsdBlendMode, xsdCompoundLine, xsdEffectContainer, xsdLineCap, xsdLineEndSize, xsdMaterialType, xsdPathFillMode, xsdPattern, xsdPenAlignment, xsdPresetShadow, xsdRectAlignment, xsdStrikeStyle, xsdTextAlign, xsdTextAnchor, xsdTextCaps, xsdUnderlineStyle, xsdVerticalMergeRev, zipAndConvert, zipSyncAndConvert };
|
|
649
|
+
export { type AdjustListOptions, type AdjustOptions, type AnimateOneByOneOptions, AnimateOneByOneValue, type AnimationLevelOptions, AnimationLevelValue, type AppPropertiesInput, type AppPropertiesOptions, AxisChartType, type BackdropOptions, type BaseMediaEntry, type BasePatchOptions, type BevelOptions, BevelPresetType, BlendMode, type BlipEffectsOptions, type BlipFillConfigOptions, type BlipFillMediaData, type BlipFillOptions, type BlipOptions, type BlurEffectOptions, BubbleSeriesData, COLOR_CATEGORIES, type CameraOptions, ChartCollection, ChartData, ChartSeriesCommon, ChartSeriesData, ChartSpaceOptions, ChartType, type ColorListOptions, ColorMethod, type ColorSchemeOptions, type ColorTransformOptions, type ColorsDefinitionHeaderListOptions, type ColorsDefinitionHeaderOptions, type CompileFn, CompoundLine, type CompressionOptions, type ConnectionSite, type ContentTypeOverrideEntry, type CorePropertiesOptions, type CustomDescriptor, type CustomGeometryOptions, type CustomPropertiesInput, type CustomPropertyOptions, DEFAULT_COLORS, DEFAULT_DRAWING_XML, DOCX_NS, DOCX_PARTS, type DashStop, DataLabelOptions, DataLabelPosition, DataLabelsOptions, DataType, type DefaultProperties, type Descriptor, type DescriptorFieldSpec, type DiagramCategoryOptions, type DiagramDescriptionOptions, type DiagramExtensionListOptions, type DiagramExtensionOptions, type DiagramNameOptions, type DiagramRelationshipIdsOptions, type DiagramStyleLabelOptions, type DiagramStyleOptions, type DiagramTextPropertiesOptions, type EffectContainerType, type EffectDagOptions, type EffectExtent, type EffectListOptions, ErrorBarDirection, ErrorBarOptions, ErrorBarType, ErrorValueType, FIELD_SPECS, type FieldConsistencyReport, type FillOptions, type FillOverlayEffectOptions, FontCollectionIndex, type FontSchemeOptions, type GeomRect, type GeometryGuide, type GlowEffectOptions, type GradientFillOptions, type GradientShadeOptions, type GradientStop, type GradientStopOptions, type GraphicFrameLockingOptions, type GroupLockingOptions, type GroupTransform2DOptions, type HierBranchOptions, HierBranchStyle, type HslColorOptions, HueDirection, IdFormat, type InnerShadowEffectOptions, LAYOUT_CATEGORIES, type LayoutDefinitionHeaderListOptions, type LayoutDefinitionHeaderOptions, type LightRigOptions, LineCap, LineEndLength, type LineEndOptions, LineEndType, LineEndWidth, LineJoin, type LinearShadeOptions, type MaxChildrenOptions, Media, type OnOffStyleType, OoxmlMimeType, type OpcCode, type OpcIssue, type OpcSeverity, type OrderViolation, type OrgChartOptions, type OuterShadowEffectOptions, type OutlineFillProperties, type OutlineOptions, type OutputByType, type OutputType, type OverrideProperties, PART_REGISTRIES, PPTX_NS, PPTX_PARTS, type PackagePartRegistry, type Packer, type PackerOptions, ParsedArchive, type PartDef, type PartPresence, type PathCommand, type PathFillMode, type PathOptions, type PathShadeOptions, PathShadeType, type PatternFillOptions, PenAlignment, Percentage, type PictureLockingOptions, type PlaceholderDelimiters, type Point3D, PointPropertySetOptions, PositivePercentage, PositiveUniversalMeasure, type PreferredChildrenOptions, type PresentationLayoutVariablesOptions, PresetColor, type PresetColorOptions, PresetDash, type PresetGeometryOptions, PresetMaterialType, PresetPattern, type PresetShadowEffectOptions, PresetShadowVal, type ReadContext, RectAlignment, type ReflectionEffectOptions, type RelationshipType, Relationships, RelativeMeasure, type RelativeRect, type RenderedParagraphNode, type ReplacerOptions, type RgbColorOptions, type RoundTripResult, STYLE_CATEGORIES, type ScRgbColorOptions, type Scene3DOptions, SchemeColor, type SchemeColorOptions, type Shape3DOptions, type ShapeLockingOptions, SmartArtCollection, SmartArtData, SmartArtRelOptions, type SolidFillOptions, type SourceRectangleOptions, type SphereCoords, type StyleDefinitionHeaderListOptions, type StyleDefinitionHeaderOptions, StyleMatrixIndex, type StyleMatrixReferenceOptions, SystemColor, type SystemColorOptions, type TableCellBorderOptions, type TableCellStyleOptions, type TablePartStyleOptions, type TableStyleListOptions, type TableStyleOptions, type TableStyleRegion, type TableTextStyleOptions, TargetModeType, ThemeColor, ThemeFont, type ThemeOptions, type ThemeableLineStyleOptions, TileAlignment, TileFlipMode, type TileOptions, TimeUnit, ToUint8ArrayOptions, TokenNotFoundError, type Transform2DOptions, TreeNode, TrendlineLabelOptions, TrendlineOptions, TrendlineType, UniqueNumericIdCreator, UniversalMeasure, type Vector3D, View3DOptions, type WriteContext, XLSX_PARTS, type XmlNamespaceOptions, type XmlifyedFile, ZIP_DEFLATE_LEVEL, ZIP_STORED_LEVEL, type ZipOptions, type Zippable, addSmartArtRelationships, appPropertiesDesc, appendContentType, appendOverride, appendRelationship, applyCorePropertiesOverride, bevelDesc, blipDesc, blipFillDesc, buildContentTypeOverrides, buildCorePropertiesXmlString, buildFill, buildThemeXml, calculateEffectExtent, chartSpaceDesc, checkOrder, collectPlaceholderKeys, compileMapping, convertEmuToInches, convertEmuToPixels, convertEmuToPoints, convertInchesToEmu, convertInchesToTwip, convertMillimetersToTwip, convertOutput, convertPixelsToEmu, convertPointsToEmu, convertToEmu, convertToInch, convertToPt, convertToTwip, convertUniversalMeasureToEmu, convertUniversalMeasureToInch, convertUniversalMeasureToPt, convertUniversalMeasureToTwip, createAdjust, createAdjustList, createAnimateOneByOne, createAnimationLevel, createBevel, createBlip, createBlipEffects, createBlipFill, createBottomBevel, createColorElement, createColorTransforms, createColorsDefinitionHeader, createColorsDefinitionHeaderList, createCustomDash, createCustomGeometry, createDataModel, createDefault, createDiagramExtensionList, createDiagramRelationshipIds, createDiagramShape3D, createDiagramStyle, createDiagramTextProperties, createEffectColorList, createEffectDag, createEffectList, createExtensionList, createFillColorList, createFillOverlayEffect, createGlowEffect, createGradientFill, createGradientStop, createGraphicFrameLocking, createGroupFill, createGroupLocking, createGroupTransform2D, createHierBranch, createHslColor, createInnerShadowEffect, createLayoutDefinitionHeader, createLayoutDefinitionHeaderList, createLineColorList, createLineEnd, createMaxChildren, createNoFill, createOrgChart, createOuterShadowEffect, createOutline, createOverride, createPacker, createPatternFill, createPictureLocking, createPreferredChildren, createPresentationLayoutVariables, createPresetColor, createPresetShadowEffect, createReflectionEffect, createReplacer, createRgbColor, createRunRenderer, createScRgbColor, createScene3D, createSchemeColor, createShape3D, createShapeLocking, createSoftEdgeEffect, createSolidFill, createSourceRectangle, createSplitInject, createStyleDefinitionHeader, createStyleDefinitionHeaderList, createStyleLabel, createSystemColor, createTableStyle, createTableStyleList, createTextEffectColorList, createTextElementContents, createTextFillColorList, createTextLineColorList, createThemeXml, createTileInfo, createTokenReplacer, createTransform2D, createTraverser, createZipStream, customGeometryDesc, customPropertiesDesc, dateTimeValue, decimalNumber, decodeBase64, derivePasswordHash, diagramExtensionListDesc, diagramRelationshipIdsDesc, diagramStyleDesc, diffTagSets, effectListDesc, eighthPointMeasureValue, encodeBase64, extractBlipFillMedia, fillDesc, findAndReplaceImagePlaceholders, findFieldSpec, formatId, getColorXml, getFirstLevelElements, getLayoutXml, getMediaRefs, getNextRelationshipIndex, getReferencedMedia, getStyleXml, getVideoRefs, gradientFillDesc, graphicFrameLockingDesc, groupLockingDesc, groupTransform2DDesc, hasPlaceholders, hashPasswordAgile, hashedId, hexBinary, hexColorValue, hpsMeasureValue, hslColorDesc, invertMap, isBase64DataURL, levelForMediaName, longHexNumber, measurementOrPercentValue, nextNumericId, optionalRelsPart, outlineDesc, parse, parseArchive, parseColorChoice, parseCorePropsElement, parseTableStyleList, parseUniversalMeasure, patchSpaceAttribute, patternFillDesc, percentageValue, pictureLockingDesc, pointMeasureValue, positiveUniversalMeasureValue, presentationLayoutVariablesDesc, presetColorDesc, presetGeometryDesc, randomBytes, replaceAllPlaceholders, replaceChartPlaceholders, replaceHyperlinkPlaceholders, replaceImagePlaceholders, replaceMediaPlaceholders, replaceNumberingPlaceholders, replaceSmartArtPlaceholders, replaceVideoPlaceholders, rgbColorDesc, roundTripFields, scRgbColorDesc, scene3DDesc, schemeColorDesc, shape3DDesc, shapeLockingDesc, shortHexNumber, signedHpsMeasureValue, signedTwipsMeasureValue, solidFillDesc, sourceRectangleDesc, strFromU8, stretchDesc, stringify, stringifyAdjustmentValues, stringifyColorChoice, stringifyConnection, stringifyDataModel, stringifyPoint, stringifyPresetGeometry, stringifyStretch, stringifyTransPoint, summarizeOpcIssues, systemColorDesc, themeDesc, tileDesc, toJson, toUint8Array, transform2DDesc, twipsMeasureValue, uCharHexNumber, uniqueId, uniqueNumericIdCreator, uniqueUuid, universalMeasureValue, unsignedDecimalNumber, unzipSync, validateOpcConsistency, xsdBlendMode, xsdCompoundLine, xsdEffectContainer, xsdLineCap, xsdLineEndSize, xsdMaterialType, xsdPathFillMode, xsdPattern, xsdPenAlignment, xsdPresetShadow, xsdRectAlignment, xsdStrikeStyle, xsdTextAlign, xsdTextAnchor, xsdTextCaps, xsdUnderlineStyle, xsdVerticalMergeRev, zipAndConvert, zipSyncAndConvert };
|
|
650
650
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { _ as DOCX_NS, a as appendOverride, b as parseCorePropsElement, c as cre
|
|
|
2
2
|
import { A as xsdStrikeStyle, B as isBase64DataURL, C as xsdLineEndSize, D as xsdPenAlignment, E as xsdPattern, F as xsdVerticalMergeRev, H as decodeBase64, I as hashedId, L as uniqueId, M as xsdTextAnchor, N as xsdTextCaps, O as xsdPresetShadow, P as xsdUnderlineStyle, R as uniqueNumericIdCreator, S as xsdLineCap, T as xsdPathFillMode, U as encodeBase64, V as toUint8Array, _ as parseUniversalMeasure, a as convertInchesToTwip, b as xsdCompoundLine, c as convertPointsToEmu, d as convertToPt, f as convertToTwip, g as convertUniversalMeasureToTwip, h as convertUniversalMeasureToPt, i as convertInchesToEmu, j as xsdTextAlign, k as xsdRectAlignment, l as convertToEmu, m as convertUniversalMeasureToInch, n as convertEmuToPixels, o as convertMillimetersToTwip, p as convertUniversalMeasureToEmu, r as convertEmuToPoints, s as convertPixelsToEmu, t as convertEmuToInches, u as convertToInch, v as invertMap, w as xsdMaterialType, x as xsdEffectContainer, y as xsdBlendMode, z as uniqueUuid } from "./converters-C_Y2QX1w.mjs";
|
|
3
3
|
import { $ as convertOutput, A as replaceChartPlaceholders, B as compileMapping, C as findAndReplaceImagePlaceholders, D as getVideoRefs, E as getReferencedMedia, F as replaceSmartArtPlaceholders, G as levelForMediaName, H as ZIP_STORED_LEVEL, I as replaceVideoPlaceholders, J as zipAndConvert, K as strFromU8, L as derivePasswordHash, M as replaceImagePlaceholders, N as replaceMediaPlaceholders, O as hasPlaceholders, P as replaceNumberingPlaceholders, Q as OoxmlMimeType, R as hashPasswordAgile, S as collectPlaceholderKeys, T as getMediaRefs, U as createPacker, V as ZIP_DEFLATE_LEVEL, W as createZipStream, X as hasNativeInflate, Y as zipSyncAndConvert, Z as nativeUnzip, _ as twipsMeasureValue, a as eighthPointMeasureValue, b as unsignedDecimalNumber, c as hpsMeasureValue, d as percentageValue, f as pointMeasureValue, g as signedTwipsMeasureValue, h as signedHpsMeasureValue, i as decimalNumber, j as replaceHyperlinkPlaceholders, k as replaceAllPlaceholders, l as longHexNumber, m as shortHexNumber, n as ThemeFont, o as hexBinary, p as positiveUniversalMeasureValue, q as unzipSync, r as dateTimeValue, s as hexColorValue, t as ThemeColor, u as measurementOrPercentValue, v as uCharHexNumber, w as formatId, x as addSmartArtRelationships, y as universalMeasureValue, z as randomBytes } from "./util-Tq9PSjK0.mjs";
|
|
4
4
|
import { a as stringifyDataModel, c as getColorXml, d as COLOR_CATEGORIES, f as LAYOUT_CATEGORIES, i as stringifyTransPoint, l as getLayoutXml, n as SmartArtCollection, o as stringifyConnection, p as STYLE_CATEGORIES, r as stringifyPoint, s as DEFAULT_DRAWING_XML, t as createDataModel, u as getStyleXml } from "./smartart-B7ukZ-Tw.mjs";
|
|
5
|
-
import { a as TimeUnit, c as ChartCollection, i as ErrorValueType, n as ErrorBarDirection, o as TrendlineType, r as ErrorBarType, s as chartSpaceDesc, t as DataLabelPosition } from "./chart-
|
|
5
|
+
import { a as TimeUnit, c as ChartCollection, i as ErrorValueType, n as ErrorBarDirection, o as TrendlineType, r as ErrorBarType, s as chartSpaceDesc, t as DataLabelPosition } from "./chart-DIGJna_6.mjs";
|
|
6
6
|
import { $ as createLayoutDefinitionHeader, $t as PenAlignment, A as scRgbColorDesc, An as createPresetColor, At as stringifyAdjustmentValues, B as FontCollectionIndex, Bt as createSoftEdgeEffect, C as sourceRectangleDesc, Cn as SystemColor, Ct as createTransform2D, D as parseColorChoice, Dn as createScRgbColor, Dt as createExtensionList, E as hslColorDesc, En as createSchemeColor, Et as createBlip, F as createDiagramExtensionList, Ft as createBottomBevel, G as createFillColorList, Gt as createOuterShadowEffect, H as StyleMatrixIndex, Ht as PresetShadowVal, I as createDiagramShape3D, It as createScene3D, J as createTextEffectColorList, Jt as BlendMode, K as createLineColorList, Kt as createInnerShadowEffect, L as createDiagramTextProperties, Lt as createEffectDag, M as solidFillDesc, Mn as createColorTransforms, Mt as createShape3D, N as stringifyColorChoice, Nt as BevelPresetType, O as presetColorDesc, On as createRgbColor, Ot as createCustomGeometry, P as systemColorDesc, Pt as createBevel, Q as createColorsDefinitionHeaderList, Qt as LineJoin, R as createDiagramRelationshipIds, Rt as calculateEffectExtent, S as blipFillDesc, Sn as createSolidFill, St as createGroupTransform2D, T as tileDesc, Tn as SchemeColor, Tt as createBlipFill, U as createDiagramStyle, Ut as createPresetShadowEffect, V as HueDirection, Vt as createReflectionEffect, W as createEffectColorList, Wt as RectAlignment, X as createTextLineColorList, Xt as CompoundLine, Y as createTextFillColorList, Yt as createFillOverlayEffect, Z as createColorsDefinitionHeader, Zt as LineCap, _ as outlineDesc, _n as TileAlignment, _t as createPictureLocking, a as bevelDesc, an as createLineEnd, at as HierBranchStyle, b as patternFillDesc, bn as createBlipEffects, bt as createTableStyleList, c as groupTransform2DDesc, cn as createNoFill, ct as createAnimateOneByOne, d as presetGeometryDesc, dn as PresetPattern, dt as createMaxChildren, en as PresetDash, et as createLayoutDefinitionHeaderList, f as graphicFrameLockingDesc, fn as createPatternFill, ft as createOrgChart, g as effectListDesc, gn as createGradientStop, gt as createGroupLocking, h as shapeLockingDesc, hn as createGradientFill, ht as createGraphicFrameLocking, i as presentationLayoutVariablesDesc, in as LineEndWidth, it as AnimationLevelValue, j as schemeColorDesc, jn as createHslColor, jt as PresetMaterialType, k as rgbColorDesc, kn as PresetColor, kt as stringifyPresetGeometry, l as transform2DDesc, ln as buildFill, lt as createAnimationLevel, m as pictureLockingDesc, mn as TileFlipMode, mt as createPresentationLayoutVariables, n as diagramRelationshipIdsDesc, nn as LineEndLength, nt as createStyleDefinitionHeaderList, o as scene3DDesc, on as createCustomDash, ot as createAdjust, p as groupLockingDesc, pn as PathShadeType, pt as createPreferredChildren, q as createStyleLabel, qt as createGlowEffect, r as diagramStyleDesc, rn as LineEndType, rt as AnimateOneByOneValue, s as shape3DDesc, sn as createGroupFill, st as createAdjustList, t as diagramExtensionListDesc, tn as createOutline, tt as createStyleDefinitionHeader, u as customGeometryDesc, un as extractBlipFillMedia, ut as createHierBranch, v as fillDesc, vn as createTileInfo, vt as createShapeLocking, w as stretchDesc, wn as createSystemColor, wt as stringifyStretch, x as blipDesc, xn as createColorElement, xt as parseTableStyleList, y as gradientFillDesc, yn as createSourceRectangle, yt as createTableStyle, z as ColorMethod, zt as createEffectList } from "./drawingml-sj1J3lb0.mjs";
|
|
7
7
|
import { a as roundTripFields, i as diffTagSets, n as findFieldSpec, o as parse, r as checkOrder, s as stringify, t as FIELD_SPECS } from "./descriptor-BjNkn5jo.mjs";
|
|
8
8
|
import { i as DEFAULT_COLORS, n as createThemeXml, r as buildThemeXml, t as themeDesc } from "./theme-CiNzdl-9.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@office-open/core",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.14",
|
|
4
4
|
"description": "Shared OOXML infrastructure — XML components, validators, converters, charts, and SmartArt",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"core",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"dependencies": {
|
|
68
68
|
"@noble/hashes": "2.2.0",
|
|
69
69
|
"fflate": "0.8.3",
|
|
70
|
-
"@office-open/xml": "0.10.
|
|
70
|
+
"@office-open/xml": "0.10.14"
|
|
71
71
|
},
|
|
72
72
|
"scripts": {
|
|
73
73
|
"dev": "basis build --stub",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chart-DOO1st0K.mjs","names":[],"sources":["../src/chart/chart-collection.ts","../src/chart/chart-descriptors.ts","../src/chart/types.ts"],"sourcesContent":["/**\n * Chart data and collection for document generation.\n *\n * @module\n */\n\nexport interface ChartData {\n key: string;\n chartSpaceXml: string;\n}\n\nexport class ChartCollection {\n private map: Map<string, ChartData>;\n\n public constructor() {\n this.map = new Map<string, ChartData>();\n }\n\n public addChart(key: string, chartData: ChartData): void {\n this.map.set(key, chartData);\n }\n\n public get array(): ChartData[] {\n return [...this.map.values()];\n }\n}\n","/**\n * Chart descriptors — CustomDescriptor for c:chartSpace serialization.\n *\n * @module\n */\n\nimport { escapeXml } from \"@office-open/xml\";\nimport type { Element as XmlElement } from \"@office-open/xml\";\nimport { attr, findChild, children } from \"@office-open/xml\";\n\nimport type { CustomDescriptor, ReadContext, WriteContext } from \"../descriptor\";\nimport type { ChartSpaceOptions, BubbleSeriesData, ChartSeriesData, ChartType } from \"./types\";\n\n// ── Mutable build type for read results (readonly properties not assignable) ──\n\ntype MutableChartSpaceResult = {\n -readonly [K in keyof ChartSpaceOptions]?: ChartSpaceOptions[K];\n};\n\n// ── Chart type → XML element tag mapping ──\n\nconst CHART_TYPE_TAGS: Record<string, string> = {\n column: \"c:barChart\",\n bar: \"c:barChart\",\n line: \"c:lineChart\",\n pie: \"c:pieChart\",\n area: \"c:areaChart\",\n scatter: \"c:scatterChart\",\n bubble: \"c:bubbleChart\",\n doughnut: \"c:doughnutChart\",\n radar: \"c:radarChart\",\n stock: \"c:stockChart\",\n surface: \"c:surfaceChart\",\n};\n\nconst CHART_TYPE_TAGS_3D: Record<string, string> = {\n column: \"c:bar3DChart\",\n bar: \"c:bar3DChart\",\n line: \"c:line3DChart\",\n pie: \"c:pie3DChart\",\n area: \"c:area3DChart\",\n};\n\nconst NO_AXES_TYPES = new Set([\"pie\", \"doughnut\"]);\n\n// ── XML tag → chart type reverse mapping (for read) ──\n\nconst TAG_TO_CHART_TYPE: Record<string, { type: ChartType; threeD?: boolean }> = {\n \"c:barChart\": { type: \"column\" },\n \"c:bar3DChart\": { type: \"column\", threeD: true },\n \"c:lineChart\": { type: \"line\" },\n \"c:line3DChart\": { type: \"line\", threeD: true },\n \"c:pieChart\": { type: \"pie\" },\n \"c:pie3DChart\": { type: \"pie\", threeD: true },\n \"c:areaChart\": { type: \"area\" },\n \"c:area3DChart\": { type: \"area\", threeD: true },\n \"c:scatterChart\": { type: \"scatter\" },\n \"c:bubbleChart\": { type: \"bubble\" },\n \"c:doughnutChart\": { type: \"doughnut\" },\n \"c:radarChart\": { type: \"radar\" },\n \"c:stockChart\": { type: \"stock\" },\n \"c:surfaceChart\": { type: \"surface\" },\n \"c:surface3DChart\": { type: \"surface\", threeD: true },\n};\n\n// ── String helpers ──\n\nfunction attrVal(name: string, value: string | number): string {\n return `${name}=\"${escapeXml(String(value))}\"`;\n}\n\nfunction emptyEl(tag: string): string {\n return `<${tag}/>`;\n}\n\nfunction valEl(tag: string, value: string | number): string {\n return `<${tag} ${attrVal(\"val\", value)}/>`;\n}\n\n// ── Series data XML builders ──\n\nfunction stringifyStrRef(values: readonly string[]): string {\n const pts = values.map((v, i) => `<c:pt idx=\"${i}\"><c:v>${escapeXml(v)}</c:v></c:pt>`).join(\"\");\n return `<c:strRef><c:f/><c:strCache><c:ptCount ${attrVal(\"val\", values.length)}/>${pts}</c:strCache></c:strRef>`;\n}\n\nfunction stringifyNumRef(values: readonly number[]): string {\n const pts = values.map((v, i) => `<c:pt idx=\"${i}\"><c:v>${v}</c:v></c:pt>`).join(\"\");\n return `<c:numRef><c:f/><c:numCache><c:formatCode>General</c:formatCode><c:ptCount ${attrVal(\"val\", values.length)}/>${pts}</c:numCache></c:numRef>`;\n}\n\n// ── Chart type header XML ──\n\nfunction chartTypeHeader(opts: ChartSpaceOptions): string {\n const tag = opts.threeD ? CHART_TYPE_TAGS_3D[opts.type] : CHART_TYPE_TAGS[opts.type];\n if (!tag) throw new Error(`Unsupported chart type: ${opts.type}`);\n\n const headerParts: string[] = [];\n\n switch (opts.type) {\n case \"column\":\n case \"bar\":\n headerParts.push(valEl(\"c:barDir\", opts.type === \"column\" ? \"col\" : \"bar\"));\n headerParts.push(valEl(\"c:grouping\", \"clustered\"));\n break;\n case \"line\":\n case \"area\":\n headerParts.push(valEl(\"c:grouping\", \"standard\"));\n break;\n case \"scatter\":\n headerParts.push(valEl(\"c:scatterStyle\", \"line\"));\n break;\n case \"radar\":\n headerParts.push(valEl(\"c:radarStyle\", \"standard\"));\n break;\n case \"pie\":\n case \"doughnut\":\n case \"bubble\":\n headerParts.push(valEl(\"c:varyColors\", 1));\n break;\n }\n\n return `<${tag}>${headerParts.join(\"\")}`;\n}\n\nfunction chartTypeFooter(opts: ChartSpaceOptions): string {\n const tag = opts.threeD ? CHART_TYPE_TAGS_3D[opts.type] : CHART_TYPE_TAGS[opts.type];\n // Pie and doughnut have no axId\n if (NO_AXES_TYPES.has(opts.type)) return `</${tag}>`;\n const axIds: string[] = [valEl(\"c:axId\", 10), valEl(\"c:axId\", 20)];\n // 3D charts and surface charts need a third axis\n if (opts.threeD || opts.type === \"surface\") axIds.push(valEl(\"c:axId\", 30));\n return `${axIds.join(\"\")}</${tag}>`;\n}\n\n// ── Series XML ──\n\nfunction stringifySeries(\n index: number,\n series: ChartSeriesData | BubbleSeriesData,\n categories: readonly string[],\n chartType: ChartType,\n): string {\n const parts: string[] = [];\n\n parts.push(valEl(\"c:idx\", index));\n parts.push(valEl(\"c:order\", index));\n\n // Series name (c:tx -> c:strRef)\n parts.push(`<c:tx>${stringifyStrRef([series.name])}</c:tx>`);\n parts.push(emptyEl(\"c:spPr\"));\n\n if (chartType === \"bubble\") {\n const bs = series as BubbleSeriesData;\n parts.push(`<c:xVal>${stringifyNumRef(bs.xValues)}</c:xVal>`);\n parts.push(`<c:yVal>${stringifyNumRef(bs.yValues)}</c:yVal>`);\n parts.push(`<c:bubbleSize>${stringifyNumRef(bs.bubbleSize)}</c:bubbleSize>`);\n } else if (chartType === \"scatter\") {\n const s = series as ChartSeriesData;\n parts.push(`<c:xVal>${stringifyStrRef(categories)}</c:xVal>`);\n parts.push(`<c:yVal>${stringifyNumRef(s.values)}</c:yVal>`);\n } else {\n const s = series as ChartSeriesData;\n parts.push(`<c:cat>${stringifyStrRef(categories)}</c:cat>`);\n parts.push(`<c:val>${stringifyNumRef(s.values)}</c:val>`);\n }\n\n return `<c:ser>${parts.join(\"\")}</c:ser>`;\n}\n\n// ── Title XML ──\n\nfunction stringifyTitle(title: string): string {\n return `<c:title><c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>${escapeXml(title)}</a:t></a:r></a:p></c:rich></c:tx><c:overlay val=\"0\"/></c:title>`;\n}\n\n// ── Legend XML ──\n\nfunction stringifyLegend(): string {\n return `<c:legend><c:legendPos val=\"b\"/><c:layout/><c:overlay val=\"0\"/><c:spPr><a:noFill/><a:ln><a:noFill/></a:ln><a:effectLst/></c:spPr><c:txPr><a:bodyPr rot=\"0\" spcFirstLastPara=\"1\" vertOverflow=\"ellipsis\" vert=\"horz\" wrap=\"square\" anchor=\"ctr\" anchorCtr=\"1\"/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:endParaRPr lang=\"en-US\"/></a:p></c:txPr></c:legend>`;\n}\n\n// ── Shared boilerplate ──\n\nfunction noFillSpPr(): string {\n return `<c:spPr><a:noFill/><a:ln><a:noFill/></a:ln><a:effectLst/></c:spPr>`;\n}\n\nfunction chartTxPr(): string {\n return `<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:endParaRPr lang=\"en-US\"/></a:p></c:txPr>`;\n}\n\n// ── Axes XML ──\n\nfunction stringifyAxes(chartType: ChartType, threeD?: boolean): string {\n if (NO_AXES_TYPES.has(chartType)) return \"\";\n\n const parts: string[] = [];\n\n if (chartType === \"scatter\" || chartType === \"bubble\") {\n parts.push(valAxXml(10, 20));\n parts.push(valAxXml(20, 10));\n } else if (chartType === \"stock\" || chartType === \"surface\") {\n parts.push(catAxXml(10, 20));\n parts.push(valAxXml(20, 10));\n if (chartType === \"surface\") {\n parts.push(serAxXml(30, 10));\n }\n } else {\n parts.push(catAxXml(10, 20));\n parts.push(valAxXml(20, 10));\n if (threeD) {\n parts.push(catAxXml(30, 10));\n }\n }\n\n return parts.join(\"\");\n}\n\nfunction catAxXml(axId: number, crossAx: number): string {\n return `<c:catAx><c:axId ${attrVal(\"val\", axId)}/><c:scaling><c:orientation val=\"minMax\"/></c:scaling><c:delete val=\"0\"/><c:axPos val=\"b\"/><c:crossAx ${attrVal(\"val\", crossAx)}/><c:crosses val=\"autoZero\"/><c:auto val=\"1\"/><c:lblOffset val=\"100\"/><c:noMultiLvlLbl val=\"0\"/></c:catAx>`;\n}\n\nfunction valAxXml(axId: number, crossAx: number): string {\n return `<c:valAx><c:axId ${attrVal(\"val\", axId)}/><c:scaling><c:orientation val=\"minMax\"/></c:scaling><c:delete val=\"0\"/><c:axPos val=\"l\"/><c:numFmt formatCode=\"General\" sourceLinked=\"1\"/><c:spPr/><c:crossAx ${attrVal(\"val\", crossAx)}/><c:crosses val=\"autoZero\"/></c:valAx>`;\n}\n\nfunction serAxXml(axId: number, crossAx: number): string {\n return `<c:serAx><c:axId ${attrVal(\"val\", axId)}/><c:scaling><c:orientation val=\"minMax\"/></c:scaling><c:delete val=\"0\"/><c:axPos val=\"b\"/><c:numFmt formatCode=\"General\" sourceLinked=\"1\"/><c:spPr/><c:crossAx ${attrVal(\"val\", crossAx)}/><c:crosses val=\"autoZero\"/><c:tickLblSkip val=\"1\"/></c:serAx>`;\n}\n\n// ── Read helpers ──\n\nfunction readStrCache(el: XmlElement): string[] {\n const strRef = findChild(el, \"c:strRef\");\n if (!strRef) return [];\n const strCache = findChild(strRef, \"c:strCache\");\n if (!strCache?.elements) return [];\n const result: string[] = [];\n for (const pt of strCache.elements) {\n if (pt.name === \"c:pt\" && pt.elements) {\n const v = pt.elements.find((c) => c.name === \"c:v\");\n if (v?.text !== undefined) result.push(String(v.text));\n }\n }\n return result;\n}\n\nfunction readNumCache(el: XmlElement): number[] {\n const numRef = findChild(el, \"c:numRef\");\n if (!numRef) return [];\n const numCache = findChild(numRef, \"c:numCache\");\n if (!numCache?.elements) return [];\n const result: number[] = [];\n for (const pt of numCache.elements) {\n if (pt.name === \"c:pt\" && pt.elements) {\n const v = pt.elements.find((c) => c.name === \"c:v\");\n if (v?.text !== undefined) result.push(Number(v.text));\n }\n }\n return result;\n}\n\nfunction readSeriesName(serEl: XmlElement): string {\n const tx = findChild(serEl, \"c:tx\");\n if (!tx) return \"\";\n const values = readStrCache(tx);\n return values[0] ?? \"\";\n}\n\nfunction readTitleText(titleEl: XmlElement): string | undefined {\n const tx = findChild(titleEl, \"c:tx\");\n if (!tx?.elements) return undefined;\n for (const child of tx.elements) {\n if (child.name === \"c:rich\" && child.elements) {\n for (const sub of child.elements) {\n if (sub.name === \"a:p\" && sub.elements) {\n for (const r of sub.elements) {\n if (r.name === \"a:r\" && r.elements) {\n for (const t of r.elements) {\n if (t.name === \"a:t\" && t.text !== undefined) {\n return String(t.text);\n }\n }\n }\n }\n }\n }\n }\n }\n return undefined;\n}\n\n// ── Main descriptor ──\n\nexport const chartSpaceDesc: CustomDescriptor<ChartSpaceOptions> = {\n kind: \"custom\",\n\n stringify(opts: ChartSpaceOptions, _ctx: WriteContext): string {\n const parts: string[] = [];\n\n // Opening tag with namespaces\n parts.push(\n `<c:chartSpace xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">`,\n );\n\n // Fixed header elements\n parts.push(valEl(\"c:date1904\", 0));\n parts.push(valEl(\"c:lang\", \"en-US\"));\n parts.push(valEl(\"c:roundedCorners\", 0));\n\n // Style\n if (opts.style !== undefined) {\n parts.push(valEl(\"c:style\", opts.style));\n }\n\n // c:chart container\n parts.push(\"<c:chart>\");\n\n // Title\n if (opts.title) {\n parts.push(stringifyTitle(opts.title));\n }\n\n parts.push(valEl(\"c:autoTitleDeleted\", 0));\n\n // c:plotArea\n parts.push(\"<c:plotArea><c:layout/>\");\n\n // Chart type element (header + series + footer)\n parts.push(chartTypeHeader(opts));\n\n const categories = opts.categories ?? [];\n for (const [i, series] of opts.series.entries()) {\n parts.push(stringifySeries(i, series, categories, opts.type));\n }\n\n parts.push(chartTypeFooter(opts));\n\n // Axes\n parts.push(stringifyAxes(opts.type, opts.threeD));\n\n parts.push(\"</c:plotArea>\");\n\n // Legend\n if (opts.showLegend !== false) {\n parts.push(stringifyLegend());\n }\n\n parts.push(\"</c:chart>\");\n\n // SpPr and txPr\n parts.push(noFillSpPr());\n parts.push(chartTxPr());\n\n parts.push(\"</c:chartSpace>\");\n\n return parts.join(\"\");\n },\n\n parse(el: XmlElement, _ctx: ReadContext) {\n const result: MutableChartSpaceResult = {};\n\n // Style\n const styleEl = findChild(el, \"c:style\");\n if (styleEl?.attributes?.[\"val\"] !== undefined) {\n result.style = Number(styleEl.attributes[\"val\"]);\n }\n\n // Chart container\n const chart = findChild(el, \"c:chart\");\n if (!chart) return result as ChartSpaceOptions;\n\n // Title\n const titleEl = findChild(chart, \"c:title\");\n if (titleEl) {\n const title = readTitleText(titleEl);\n if (title !== undefined) result.title = title;\n }\n\n // Plot area — detect chart type\n const plotArea = findChild(chart, \"c:plotArea\");\n if (plotArea?.elements) {\n let detectedType: ChartType | undefined;\n let threeD = false;\n\n for (const child of plotArea.elements) {\n if (!child.name) continue;\n const mapping = TAG_TO_CHART_TYPE[child.name];\n if (mapping) {\n detectedType = mapping.type;\n threeD = mapping.threeD ?? false;\n // bar/column share the c:barChart tag; distinguish via c:barDir\n if (child.name === \"c:barChart\" || child.name === \"c:bar3DChart\") {\n const barDir = findChild(child, \"c:barDir\");\n const barDirVal = barDir ? attr(barDir, \"val\") : undefined;\n if (barDirVal === \"bar\") detectedType = \"bar\";\n else if (barDirVal === \"col\") detectedType = \"column\";\n }\n break;\n }\n }\n\n if (detectedType) {\n result.type = detectedType;\n if (threeD) result.threeD = true;\n }\n\n // Extract series data\n const seriesEls = children(plotArea, \"c:ser\");\n if (seriesEls.length > 0) {\n if (detectedType === \"bubble\") {\n const bubbleSeries: BubbleSeriesData[] = [];\n for (const serEl of seriesEls) {\n const name = readSeriesName(serEl);\n const xVal = findChild(serEl, \"c:xVal\");\n const yVal = findChild(serEl, \"c:yVal\");\n const bubbleSize = findChild(serEl, \"c:bubbleSize\");\n bubbleSeries.push({\n name,\n xValues: xVal ? readNumCache(xVal) : [],\n yValues: yVal ? readNumCache(yVal) : [],\n bubbleSize: bubbleSize ? readNumCache(bubbleSize) : [],\n });\n }\n result.series = bubbleSeries as BubbleSeriesData[];\n } else {\n const chartSeries: ChartSeriesData[] = [];\n let categories: string[] | undefined;\n\n for (const serEl of seriesEls) {\n const name = readSeriesName(serEl);\n\n // Read categories from first series\n if (!categories) {\n const catEl = findChild(serEl, \"c:cat\") ?? findChild(serEl, \"c:xVal\");\n if (catEl) categories = readStrCache(catEl);\n }\n\n // Read values\n const valEl = findChild(serEl, \"c:val\") ?? findChild(serEl, \"c:yVal\");\n const values = valEl ? readNumCache(valEl) : [];\n\n chartSeries.push({ name, values });\n }\n\n result.series = chartSeries as ChartSeriesData[];\n if (categories?.length) result.categories = categories;\n }\n }\n }\n\n // Legend — default is true, only set if explicitly absent\n const legend = findChild(chart, \"c:legend\");\n if (!legend) {\n result.showLegend = false;\n }\n\n return result as ChartSpaceOptions;\n },\n};\n","/**\n * Chart type definitions — interfaces and constants.\n *\n * Class implementations have been removed; all chart XML generation\n * goes through chart-descriptors.ts (stringify/parse path).\n *\n * @module\n */\n\n// ── BubbleSeriesData ──\n\nexport interface BubbleSeriesData {\n name: string;\n xValues: readonly number[];\n yValues: readonly number[];\n bubbleSize: readonly number[];\n}\n\n// ── Trendline ──\n\nexport const TrendlineType = {\n EXP: \"exp\",\n LINEAR: \"linear\",\n LOG: \"log\",\n MOVING_AVG: \"movingAvg\",\n POLY: \"poly\",\n POWER: \"power\",\n} as const;\n\nexport type TrendlineType = (typeof TrendlineType)[keyof typeof TrendlineType];\n\nexport interface TrendlineOptions {\n type?: TrendlineType;\n name?: string;\n order?: number;\n period?: number;\n forward?: number;\n backward?: number;\n intercept?: number;\n dispRSqr?: boolean;\n dispEq?: boolean;\n}\n\n// ── Error bars ──\n\nexport const ErrorBarDirection = {\n BOTH: \"both\",\n X: \"x\",\n Y: \"y\",\n} as const;\n\nexport type ErrorBarDirection = (typeof ErrorBarDirection)[keyof typeof ErrorBarDirection];\n\nexport const ErrorBarType = {\n BOTH: \"both\",\n MINUS: \"minus\",\n PLUS: \"plus\",\n} as const;\n\nexport type ErrorBarType = (typeof ErrorBarType)[keyof typeof ErrorBarType];\n\nexport const ErrorValueType = {\n CUST: \"cust\",\n FIXED: \"fixedVal\",\n PERCENTAGE: \"percentage\",\n STD_DEV: \"stdDev\",\n STD_ERR: \"stdErr\",\n} as const;\n\nexport type ErrorValueType = (typeof ErrorValueType)[keyof typeof ErrorValueType];\n\nexport interface ErrorBarOptions {\n direction?: ErrorBarDirection;\n barType?: ErrorBarType;\n valueType?: ErrorValueType;\n value?: number;\n}\n\n// ── Data labels ──\n\nexport const DataLabelPosition = {\n BEST_FIT: \"bestFit\",\n B: \"b\",\n CTRL: \"ctr\",\n IN_BASE: \"inBase\",\n IN_END: \"inEnd\",\n L: \"l\",\n OUT_END: \"outEnd\",\n R: \"r\",\n T: \"t\",\n} as const;\n\nexport type DataLabelPosition = (typeof DataLabelPosition)[keyof typeof DataLabelPosition];\n\nexport interface DataLabelsOptions {\n position?: DataLabelPosition;\n showVal?: boolean;\n showCatName?: boolean;\n showSerName?: boolean;\n showPercent?: boolean;\n showBubbleSize?: boolean;\n showLeaderLines?: boolean;\n}\n\n// ── Chart series ──\n\nexport interface ChartSeriesData {\n name: string;\n values: readonly number[];\n trendlines?: readonly TrendlineOptions[];\n errorBars?: ErrorBarOptions;\n dataLabels?: DataLabelsOptions;\n}\n\n// ── Chart types ──\n\nexport type ChartType =\n | \"column\"\n | \"bar\"\n | \"line\"\n | \"pie\"\n | \"area\"\n | \"scatter\"\n | \"bubble\"\n | \"doughnut\"\n | \"radar\"\n | \"stock\"\n | \"surface\";\n\nexport type AxisChartType = Exclude<ChartType, \"bubble\">;\n\n// ── ChartSpace options ──\n\nexport interface ChartSpaceOptions {\n title?: string;\n type: ChartType;\n categories?: readonly string[];\n series: readonly ChartSeriesData[] | readonly BubbleSeriesData[];\n showLegend?: boolean;\n style?: number;\n threeD?: boolean;\n}\n\n// ── 3D view ──\n\nexport const TimeUnit = {\n DAYS: \"days\",\n MONTHS: \"months\",\n YEARS: \"years\",\n} as const;\n\nexport type TimeUnit = (typeof TimeUnit)[keyof typeof TimeUnit];\n\nexport interface View3DOptions {\n rotX?: number;\n rotY?: number;\n depthPercent?: number;\n rAngAx?: boolean;\n perspective?: number;\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DDyd2ErZ.d.mts","names":[],"sources":["../src/chart/chart-collection.ts","../src/chart/types.ts","../src/chart/chart-descriptors.ts"],"mappings":";;;UAMiB,SAAA;EACf,GAAA;EACA,aAAa;AAAA;AAAA,cAGF,eAAA;EAAA,QACH,GAAA;;EAMD,QAAA,CAAS,GAAA,UAAa,SAAA,EAAW,SAAA;EAAA,IAI7B,KAAA,IAAS,SAAS;AAAA;;;UCXd,gBAAA;EACf,IAAA;EACA,OAAA;EACA,OAAA;EACA,UAAA;AAAA;AAAA,cAKW,aAAA;EAAA;;;;;;;KASD,aAAA,WAAwB,aAAA,eAA4B,aAAa;AAAA,UAE5D,gBAAA;EACf,IAAA,GAAO,aAAa;EACpB,IAAA;EACA,KAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,QAAA;EACA,MAAA;AAAA;AAAA,cAKW,iBAAA;EAAA;;;;KAMD,iBAAA,WAA4B,iBAAA,eAAgC,iBAAiB;AAAA,cAE5E,YAAA;EAAA;;;;KAMD,YAAA,WAAuB,YAAA,eAA2B,YAAY;AAAA,cAE7D,cAAA;EAAA;;;;;;KAQD,cAAA,WAAyB,cAAA,eAA6B,cAAc;AAAA,UAE/D,eAAA;EACf,SAAA,GAAY,iBAAA;EACZ,OAAA,GAAU,YAAA;EACV,SAAA,GAAY,cAAA;EACZ,KAAA;AAAA;AAAA,cAKW,iBAAA;EAAA;;;;;;;;;;KAYD,iBAAA,WAA4B,iBAAA,eAAgC,iBAAiB;AAAA,UAExE,iBAAA;EACf,QAAA,GAAW,iBAAiB;EAC5B,OAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;EACA,cAAA;EACA,eAAA;AAAA;AAAA,UAKe,eAAA;EACf,IAAA;EACA,MAAA;EACA,UAAA,YAAsB,gBAAA;EACtB,SAAA,GAAY,eAAA;EACZ,UAAA,GAAa,iBAAA;AAAA;AAAA,KAKH,SAAA;AAAA,KAaA,aAAA,GAAgB,OAAO,CAAC,SAAA;AAAA,UAInB,iBAAA;EACf,KAAA;EACA,IAAA,EAAM,SAAA;EACN,UAAA;EACA,MAAA,WAAiB,eAAA,cAA6B,gBAAA;EAC9C,UAAA;EACA,KAAA;EACA,MAAA;AAAA;AAAA,cAKW,QAAA;EAAA;;;;KAMD,QAAA,WAAmB,QAAA,eAAuB,QAAQ;AAAA,UAE7C,aAAA;EACf,IAAA;EACA,IAAA;EACA,YAAA;EACA,MAAA;EACA,WAAA;AAAA;;;cCyIW,cAAA,EAAgB,gBAAgB,CAAC,iBAAA"}
|