@office-open/core 0.12.1 → 0.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -2
- package/dist/chart/index.d.mts +1 -1
- package/dist/chart/index.mjs +1 -1
- package/dist/{chart-BAnjzVoe.mjs → chart-DEIF3VZn.mjs} +42 -49
- package/dist/chart-DEIF3VZn.mjs.map +1 -0
- package/dist/{index-k1h_t946.d.mts → index-BwRtWyaP.d.mts} +2 -1
- package/dist/index-BwRtWyaP.d.mts.map +1 -0
- package/dist/{index-Di6XPdGl.d.mts → index-DRggxtp7.d.mts} +2 -1
- package/dist/{index-Di6XPdGl.d.mts.map → index-DRggxtp7.d.mts.map} +1 -1
- package/dist/{index-BAxlDUQ1.d.mts → index-DfFszyH1.d.mts} +4 -1
- package/dist/index-DfFszyH1.d.mts.map +1 -0
- package/dist/index-L6AXewfV.d.mts.map +1 -1
- package/dist/index.d.mts +5 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +33 -17
- package/dist/index.mjs.map +1 -1
- package/dist/smartart/index.d.mts +1 -1
- package/dist/smartart/index.mjs +1 -1
- package/dist/{smartart-DV6ZcN5R.mjs → smartart-YH87Emca.mjs} +12 -8
- package/dist/smartart-YH87Emca.mjs.map +1 -0
- package/dist/util/index.d.mts +1 -1
- package/dist/util/index.mjs +1 -1
- package/dist/{util-ptE16MEk.mjs → util-iHHKF2Rx.mjs} +76 -8
- package/dist/util-iHHKF2Rx.mjs.map +1 -0
- package/dist/vector/index.mjs +1 -1
- package/dist/{vector-DhLGZjP5.mjs → vector-DZ_OteHJ.mjs} +93 -78
- package/dist/vector-DZ_OteHJ.mjs.map +1 -0
- package/package.json +4 -3
- package/dist/chart-BAnjzVoe.mjs.map +0 -1
- package/dist/index-BAxlDUQ1.d.mts.map +0 -1
- package/dist/index-k1h_t946.d.mts.map +0 -1
- package/dist/smartart-DV6ZcN5R.mjs.map +0 -1
- package/dist/util-ptE16MEk.mjs.map +0 -1
- package/dist/vector-DhLGZjP5.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -85,10 +85,25 @@ gen(); // → 1, 2, 3, ...
|
|
|
85
85
|
| `@office-open/core/util` | Validators, converters, ID generators, mappings, crypto, base64 |
|
|
86
86
|
| `@office-open/core/chart` | Chart types, series data, chart collection, title |
|
|
87
87
|
| `@office-open/core/smartart` | SmartArt data model, tree-to-model, definitions |
|
|
88
|
-
| `@office-open/core/
|
|
88
|
+
| `@office-open/core/drawing` | DrawingML fills, outlines, effects, geometry, text body |
|
|
89
|
+
| `@office-open/core/vector` | Structured VML vocabulary (shapes, strokes, legacy anchors) |
|
|
89
90
|
| `@office-open/core/patch` | Template patching utilities (replacer, traverser, token replacer) |
|
|
90
91
|
| `@office-open/core/theme` | Theme definitions and color schemes |
|
|
91
92
|
|
|
93
|
+
## Documentation
|
|
94
|
+
|
|
95
|
+
- [Documentation](https://www.office-open.com/en/core/) — guides, API reference, and examples
|
|
96
|
+
- [Changelog](https://github.com/DemoMacro/office-open/releases) — release notes
|
|
97
|
+
- [Report Issues](https://github.com/DemoMacro/office-open/issues) — bug reports and feature requests
|
|
98
|
+
|
|
99
|
+
## Related Packages
|
|
100
|
+
|
|
101
|
+
- [office-open](https://www.npmjs.com/package/office-open) — all formats + CLI + AI SDK tools in one install
|
|
102
|
+
- [@office-open/docx](https://www.npmjs.com/package/@office-open/docx) — Word (.docx)
|
|
103
|
+
- [@office-open/pptx](https://www.npmjs.com/package/@office-open/pptx) — PowerPoint (.pptx)
|
|
104
|
+
- [@office-open/xlsx](https://www.npmjs.com/package/@office-open/xlsx) — Excel (.xlsx)
|
|
105
|
+
- [@office-open/xml](https://www.npmjs.com/package/@office-open/xml) — XML parsing and serialization
|
|
106
|
+
|
|
92
107
|
## License
|
|
93
108
|
|
|
94
|
-
- [MIT](LICENSE) © [Demo Macro](https://www.demomacro.com/)
|
|
109
|
+
- [MIT](https://github.com/DemoMacro/office-open/blob/main/LICENSE) © [Demo Macro](https://www.demomacro.com/)
|
package/dist/chart/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as PivotSourceOptions, A as DataLabelOptions, B as ErrorValueType, C as ChartSeriesCommon, Ct as UserShapesOptions, D as ChartTitleOptions, Dt as ChartData, E as ChartStyle2010Options, Et as ChartCollection, F as DisplayBlanksAs, G as LegendPosition, H as LayoutMode, I as DisplayUnitsOptions, J as MarkerSymbol, K as ManualLayoutOptions, L as ErrorBarDirection, M as DataLabelsOptions, N as DataPointOptions, O as ChartType, P as DataTableOptions, Q as PictureOptionsOptions, R as ErrorBarOptions, S as ChartPivotFormatOptions, St as UserShapeShapeOptions, T as ChartSpaceOptions, Tt as userShapesDesc, U as LayoutTarget, V as ExternalDataOptions, W as LegendEntryOptions, X as PageSetupOrientation, Y as OfPieType, Z as PictureFormat, _ as ChartGrouping, _t as UserShapeGraphicFrameOptions, a as AxisLabelAlignment, at as SizeRepresents, b as ChartPageMarginsOptions, bt as UserShapeObjectOptions, c as AxisOrientation, ct as TimeUnit, d as AxisTickLabelPosition, dt as TrendlineType, et as PrintSettingsOptions, f as AxisTickMark, ft as View3DOptions, g as BuiltInDisplayUnit, gt as UserShapeExtentOptions, h as BubbleSeriesData, ht as UserShapeConnectorOptions, i as AxisKind, it as SecondaryChartGroupOptions, j as DataLabelPosition, k as ChartUserShapesOptions, l as AxisPosition, lt as TrendlineLabelOptions, m as BarShape, mt as RelativeSizeAnchorOptions, n as AxisCrossBetween, nt as RadarStyle, o as AxisNumberFormatOptions, ot as SplitType, p as BandFormatOptions, pt as AbsoluteSizeAnchorOptions, q as MarkerOptions, r as AxisCrosses, rt as ScatterSeriesData, s as AxisOptions, st as SurfaceOptions, t as chartSpaceDesc, tt as ProtectionOptions, u as AxisScalingOptions, ut as TrendlineOptions, v as ChartHeaderFooterOptions, vt as UserShapeGroupOptions, w as ChartSeriesData, wt as buildUserShapesData, x as ChartPageSetupOptions, xt as UserShapePictureOptions, y as ChartLinesOptions, yt as UserShapeMarkerOptions, z as ErrorBarType } from "../index-
|
|
1
|
+
import { $ as PivotSourceOptions, A as DataLabelOptions, B as ErrorValueType, C as ChartSeriesCommon, Ct as UserShapesOptions, D as ChartTitleOptions, Dt as ChartData, E as ChartStyle2010Options, Et as ChartCollection, F as DisplayBlanksAs, G as LegendPosition, H as LayoutMode, I as DisplayUnitsOptions, J as MarkerSymbol, K as ManualLayoutOptions, L as ErrorBarDirection, M as DataLabelsOptions, N as DataPointOptions, O as ChartType, P as DataTableOptions, Q as PictureOptionsOptions, R as ErrorBarOptions, S as ChartPivotFormatOptions, St as UserShapeShapeOptions, T as ChartSpaceOptions, Tt as userShapesDesc, U as LayoutTarget, V as ExternalDataOptions, W as LegendEntryOptions, X as PageSetupOrientation, Y as OfPieType, Z as PictureFormat, _ as ChartGrouping, _t as UserShapeGraphicFrameOptions, a as AxisLabelAlignment, at as SizeRepresents, b as ChartPageMarginsOptions, bt as UserShapeObjectOptions, c as AxisOrientation, ct as TimeUnit, d as AxisTickLabelPosition, dt as TrendlineType, et as PrintSettingsOptions, f as AxisTickMark, ft as View3DOptions, g as BuiltInDisplayUnit, gt as UserShapeExtentOptions, h as BubbleSeriesData, ht as UserShapeConnectorOptions, i as AxisKind, it as SecondaryChartGroupOptions, j as DataLabelPosition, k as ChartUserShapesOptions, l as AxisPosition, lt as TrendlineLabelOptions, m as BarShape, mt as RelativeSizeAnchorOptions, n as AxisCrossBetween, nt as RadarStyle, o as AxisNumberFormatOptions, ot as SplitType, p as BandFormatOptions, pt as AbsoluteSizeAnchorOptions, q as MarkerOptions, r as AxisCrosses, rt as ScatterSeriesData, s as AxisOptions, st as SurfaceOptions, t as chartSpaceDesc, tt as ProtectionOptions, u as AxisScalingOptions, ut as TrendlineOptions, v as ChartHeaderFooterOptions, vt as UserShapeGroupOptions, w as ChartSeriesData, wt as buildUserShapesData, x as ChartPageSetupOptions, xt as UserShapePictureOptions, y as ChartLinesOptions, yt as UserShapeMarkerOptions, z as ErrorBarType } from "../index-BwRtWyaP.mjs";
|
|
2
2
|
export { AbsoluteSizeAnchorOptions, AxisCrossBetween, AxisCrosses, AxisKind, AxisLabelAlignment, AxisNumberFormatOptions, AxisOptions, AxisOrientation, AxisPosition, AxisScalingOptions, AxisTickLabelPosition, AxisTickMark, BandFormatOptions, BarShape, BubbleSeriesData, BuiltInDisplayUnit, ChartCollection, ChartData, ChartGrouping, ChartHeaderFooterOptions, ChartLinesOptions, ChartPageMarginsOptions, ChartPageSetupOptions, ChartPivotFormatOptions, ChartSeriesCommon, ChartSeriesData, ChartSpaceOptions, ChartStyle2010Options, ChartTitleOptions, ChartType, ChartUserShapesOptions, DataLabelOptions, DataLabelPosition, DataLabelsOptions, DataPointOptions, DataTableOptions, DisplayBlanksAs, DisplayUnitsOptions, ErrorBarDirection, ErrorBarOptions, ErrorBarType, ErrorValueType, ExternalDataOptions, LayoutMode, LayoutTarget, LegendEntryOptions, LegendPosition, ManualLayoutOptions, MarkerOptions, MarkerSymbol, OfPieType, PageSetupOrientation, PictureFormat, PictureOptionsOptions, PivotSourceOptions, PrintSettingsOptions, ProtectionOptions, RadarStyle, RelativeSizeAnchorOptions, ScatterSeriesData, SecondaryChartGroupOptions, SizeRepresents, SplitType, SurfaceOptions, TimeUnit, TrendlineLabelOptions, TrendlineOptions, TrendlineType, UserShapeConnectorOptions, UserShapeExtentOptions, UserShapeGraphicFrameOptions, UserShapeGroupOptions, UserShapeMarkerOptions, UserShapeObjectOptions, UserShapePictureOptions, UserShapeShapeOptions, UserShapesOptions, View3DOptions, buildUserShapesData, chartSpaceDesc, userShapesDesc };
|
package/dist/chart/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as ChartCollection, n as userShapesDesc, r as chartSpaceDesc, t as buildUserShapesData } from "../chart-
|
|
1
|
+
import { i as ChartCollection, n as userShapesDesc, r as chartSpaceDesc, t as buildUserShapesData } from "../chart-DEIF3VZn.mjs";
|
|
2
2
|
export { ChartCollection, buildUserShapesData, chartSpaceDesc, userShapesDesc };
|
|
@@ -7,14 +7,18 @@ import { attr, children, escapeXml, findChild, findFirst, stringify, stringifyEl
|
|
|
7
7
|
//#region src/chart/chart-collection.ts
|
|
8
8
|
var ChartCollection = class {
|
|
9
9
|
map;
|
|
10
|
+
/** Cached `array` snapshot — invalidated on add. */
|
|
11
|
+
cachedArray;
|
|
10
12
|
constructor() {
|
|
11
13
|
this.map = /* @__PURE__ */ new Map();
|
|
12
14
|
}
|
|
13
15
|
addChart(key, chartData) {
|
|
14
16
|
this.map.set(key, chartData);
|
|
17
|
+
this.cachedArray = void 0;
|
|
15
18
|
}
|
|
16
19
|
get array() {
|
|
17
|
-
|
|
20
|
+
if (this.cachedArray === void 0) this.cachedArray = [...this.map.values()];
|
|
21
|
+
return this.cachedArray;
|
|
18
22
|
}
|
|
19
23
|
};
|
|
20
24
|
//#endregion
|
|
@@ -124,23 +128,29 @@ function stringifyErrBars(opts) {
|
|
|
124
128
|
if (opts.value !== void 0) parts.push(valEl("c:val", opts.value));
|
|
125
129
|
return `<c:errBars>${parts.join("")}</c:errBars>`;
|
|
126
130
|
}
|
|
131
|
+
/** EG_DLblShared members — emitted identically by per-point c:dLbl and group c:dLbls. */
|
|
132
|
+
function dataLabelSharedParts(opts, ctx) {
|
|
133
|
+
const parts = [];
|
|
134
|
+
if (opts.numberFormat !== void 0) parts.push(`<c:numFmt formatCode="${escapeXml(opts.numberFormat)}" sourceLinked="0"/>`);
|
|
135
|
+
parts.push(chartSpPr(opts.shapeProperties, ctx));
|
|
136
|
+
if (opts.textProperties) parts.push(`<c:txPr>${textBodyDesc.stringify(opts.textProperties, ctx) ?? ""}</c:txPr>`);
|
|
137
|
+
if (opts.position !== void 0) parts.push(valEl("c:dLblPos", xsdDataLabelPosition.to(opts.position)));
|
|
138
|
+
if (opts.showLegendKey !== void 0) parts.push(`<c:showLegendKey${boolVal(opts.showLegendKey)}/>`);
|
|
139
|
+
if (opts.showVal !== void 0) parts.push(`<c:showVal${boolVal(opts.showVal)}/>`);
|
|
140
|
+
if (opts.showCatName !== void 0) parts.push(`<c:showCatName${boolVal(opts.showCatName)}/>`);
|
|
141
|
+
if (opts.showSerName !== void 0) parts.push(`<c:showSerName${boolVal(opts.showSerName)}/>`);
|
|
142
|
+
if (opts.showPercent !== void 0) parts.push(`<c:showPercent${boolVal(opts.showPercent)}/>`);
|
|
143
|
+
if (opts.showBubbleSize !== void 0) parts.push(`<c:showBubbleSize${boolVal(opts.showBubbleSize)}/>`);
|
|
144
|
+
if (opts.separator !== void 0) parts.push(`<c:separator>${escapeXml(opts.separator)}</c:separator>`);
|
|
145
|
+
return parts;
|
|
146
|
+
}
|
|
127
147
|
function stringifyDataLabel(opts, ctx) {
|
|
128
148
|
if (opts.delete) return `<c:dLbl><c:idx val="${opts.index}"/><c:delete val="1"/></c:dLbl>`;
|
|
129
149
|
const inner = [];
|
|
130
150
|
if (opts.layout === true) inner.push("<c:layout/>");
|
|
131
151
|
else if (opts.layout) inner.push(stringifyLayout(opts.layout));
|
|
132
152
|
if (opts.text) inner.push(`<c:tx><c:rich>${textBodyDesc.stringify(opts.text, ctx) ?? ""}</c:rich></c:tx>`);
|
|
133
|
-
|
|
134
|
-
inner.push(chartSpPr(opts.shapeProperties, ctx));
|
|
135
|
-
if (opts.textProperties) inner.push(`<c:txPr>${textBodyDesc.stringify(opts.textProperties, ctx) ?? ""}</c:txPr>`);
|
|
136
|
-
if (opts.position !== void 0) inner.push(valEl("c:dLblPos", xsdDataLabelPosition.to(opts.position)));
|
|
137
|
-
if (opts.showLegendKey !== void 0) inner.push(`<c:showLegendKey${boolVal(opts.showLegendKey)}/>`);
|
|
138
|
-
if (opts.showVal !== void 0) inner.push(`<c:showVal${boolVal(opts.showVal)}/>`);
|
|
139
|
-
if (opts.showCatName !== void 0) inner.push(`<c:showCatName${boolVal(opts.showCatName)}/>`);
|
|
140
|
-
if (opts.showSerName !== void 0) inner.push(`<c:showSerName${boolVal(opts.showSerName)}/>`);
|
|
141
|
-
if (opts.showPercent !== void 0) inner.push(`<c:showPercent${boolVal(opts.showPercent)}/>`);
|
|
142
|
-
if (opts.showBubbleSize !== void 0) inner.push(`<c:showBubbleSize${boolVal(opts.showBubbleSize)}/>`);
|
|
143
|
-
if (opts.separator !== void 0) inner.push(`<c:separator>${escapeXml(opts.separator)}</c:separator>`);
|
|
153
|
+
inner.push(...dataLabelSharedParts(opts, ctx));
|
|
144
154
|
return `<c:dLbl><c:idx val="${opts.index}"/>${inner.join("")}</c:dLbl>`;
|
|
145
155
|
}
|
|
146
156
|
const DATA_LABELS_SHARED_KEYS = [
|
|
@@ -162,18 +172,7 @@ function stringifyDataLabels(opts, ctx) {
|
|
|
162
172
|
const head = opts.labels?.map((lbl) => stringifyDataLabel(lbl, ctx)).join("") ?? "";
|
|
163
173
|
const hasShared = DATA_LABELS_SHARED_KEYS.some((key) => opts[key] !== void 0);
|
|
164
174
|
if (opts.delete === true || opts.delete !== void 0 && !hasShared) return `<c:dLbls>${head}<c:delete val="${opts.delete ? 1 : 0}"/></c:dLbls>`;
|
|
165
|
-
const parts =
|
|
166
|
-
if (opts.numberFormat !== void 0) parts.push(`<c:numFmt formatCode="${escapeXml(opts.numberFormat)}" sourceLinked="0"/>`);
|
|
167
|
-
parts.push(chartSpPr(opts.shapeProperties, ctx));
|
|
168
|
-
if (opts.textProperties) parts.push(`<c:txPr>${textBodyDesc.stringify(opts.textProperties, ctx) ?? ""}</c:txPr>`);
|
|
169
|
-
if (opts.position !== void 0) parts.push(valEl("c:dLblPos", xsdDataLabelPosition.to(opts.position)));
|
|
170
|
-
if (opts.showLegendKey !== void 0) parts.push(`<c:showLegendKey${boolVal(opts.showLegendKey)}/>`);
|
|
171
|
-
if (opts.showVal !== void 0) parts.push(`<c:showVal${boolVal(opts.showVal)}/>`);
|
|
172
|
-
if (opts.showCatName !== void 0) parts.push(`<c:showCatName${boolVal(opts.showCatName)}/>`);
|
|
173
|
-
if (opts.showSerName !== void 0) parts.push(`<c:showSerName${boolVal(opts.showSerName)}/>`);
|
|
174
|
-
if (opts.showPercent !== void 0) parts.push(`<c:showPercent${boolVal(opts.showPercent)}/>`);
|
|
175
|
-
if (opts.showBubbleSize !== void 0) parts.push(`<c:showBubbleSize${boolVal(opts.showBubbleSize)}/>`);
|
|
176
|
-
if (opts.separator !== void 0) parts.push(`<c:separator>${escapeXml(opts.separator)}</c:separator>`);
|
|
175
|
+
const parts = dataLabelSharedParts(opts, ctx);
|
|
177
176
|
if (opts.showLeaderLines !== void 0) parts.push(`<c:showLeaderLines${boolVal(opts.showLeaderLines)}/>`);
|
|
178
177
|
if (opts.leaderLines) parts.push(emptyEl("c:leaderLines"));
|
|
179
178
|
return `<c:dLbls>${head}${parts.join("")}</c:dLbls>`;
|
|
@@ -309,10 +308,6 @@ function stringifyMultiLvlStrRef(levels, formula) {
|
|
|
309
308
|
}).join("");
|
|
310
309
|
return `<c:multiLvlStrRef>${refFormula(formula)}<c:multiLvlStrCache><c:ptCount ${attrVal("val", ptCount)}/>${lvls}</c:multiLvlStrCache></c:multiLvlStrRef>`;
|
|
311
310
|
}
|
|
312
|
-
function stringifyNumCatRef(values, formula, formatCode) {
|
|
313
|
-
const pts = values.map((v, i) => `<c:pt idx="${i}"><c:v>${escapeXml(v)}</c:v></c:pt>`).join("");
|
|
314
|
-
return `<c:numRef>${refFormula(formula)}<c:numCache><c:formatCode>${escapeXml(formatCode ?? "General")}</c:formatCode><c:ptCount ${attrVal("val", values.length)}/>${pts}</c:numCache></c:numRef>`;
|
|
315
|
-
}
|
|
316
311
|
/** Whether the chart carries category-source data (c:cat is optional in CT_Ser). */
|
|
317
312
|
function hasCategoryData(opts) {
|
|
318
313
|
return opts.categories !== void 0 || opts.categoryLabels !== void 0 || opts.multiLevelCategories !== void 0 || opts.numericCategories === true;
|
|
@@ -320,11 +315,11 @@ function hasCategoryData(opts) {
|
|
|
320
315
|
function stringifyCategorySource(opts) {
|
|
321
316
|
if (opts.multiLevelCategories) return stringifyMultiLvlStrRef(opts.multiLevelCategories, opts.categoryFormula);
|
|
322
317
|
if (opts.categoryLabels) return stringifyStrLit(opts.categoryLabels);
|
|
323
|
-
if (opts.numericCategories) return
|
|
318
|
+
if (opts.numericCategories) return stringifyNumRef(opts.categories ?? [], opts.categoryFormula, opts.categoryFormatCode);
|
|
324
319
|
return stringifyStrRef(opts.categories ?? [], opts.categoryFormula);
|
|
325
320
|
}
|
|
326
321
|
function stringifyNumRef(values, formula, formatCode) {
|
|
327
|
-
const pts = values.map((v, i) => `<c:pt idx="${i}"><c:v>${v}</c:v></c:pt>`).join("");
|
|
322
|
+
const pts = values.map((v, i) => `<c:pt idx="${i}"><c:v>${typeof v === "number" ? v : escapeXml(v)}</c:v></c:pt>`).join("");
|
|
328
323
|
return `<c:numRef>${refFormula(formula)}<c:numCache><c:formatCode>${escapeXml(formatCode ?? "General")}</c:formatCode><c:ptCount ${attrVal("val", values.length)}/>${pts}</c:numCache></c:numRef>`;
|
|
329
324
|
}
|
|
330
325
|
function stringifyNumLitList(values, formatCode) {
|
|
@@ -350,11 +345,11 @@ function stringifyDataTable(opts, ctx) {
|
|
|
350
345
|
}
|
|
351
346
|
function stringifyProtection(opts) {
|
|
352
347
|
const parts = [];
|
|
353
|
-
if (opts.chartObject !== void 0) parts.push(`<c:chartObject
|
|
354
|
-
if (opts.data !== void 0) parts.push(`<c:data
|
|
355
|
-
if (opts.formatting !== void 0) parts.push(`<c:formatting
|
|
356
|
-
if (opts.selection !== void 0) parts.push(`<c:selection
|
|
357
|
-
if (opts.userInterface !== void 0) parts.push(`<c:userInterface
|
|
348
|
+
if (opts.chartObject !== void 0) parts.push(`<c:chartObject${boolVal(opts.chartObject)}/>`);
|
|
349
|
+
if (opts.data !== void 0) parts.push(`<c:data${boolVal(opts.data)}/>`);
|
|
350
|
+
if (opts.formatting !== void 0) parts.push(`<c:formatting${boolVal(opts.formatting)}/>`);
|
|
351
|
+
if (opts.selection !== void 0) parts.push(`<c:selection${boolVal(opts.selection)}/>`);
|
|
352
|
+
if (opts.userInterface !== void 0) parts.push(`<c:userInterface${boolVal(opts.userInterface)}/>`);
|
|
358
353
|
return `<c:protection>${parts.join("")}</c:protection>`;
|
|
359
354
|
}
|
|
360
355
|
function stringifyExternalData(opts) {
|
|
@@ -561,10 +556,10 @@ function stringifySeries(index, series, opts, ctx, groupType) {
|
|
|
561
556
|
parts.push(`<c:xVal>${stringifyCategorySource(opts)}</c:xVal>`);
|
|
562
557
|
parts.push(`<c:yVal>${stringifyNumRef(s.values, s.valueFormula, s.formatCode)}</c:yVal>`);
|
|
563
558
|
}
|
|
564
|
-
} else
|
|
565
|
-
parts.push(`<c:cat>${stringifyCategorySource(opts)}</c:cat>`);
|
|
559
|
+
} else {
|
|
560
|
+
if (hasCategoryData(opts)) parts.push(`<c:cat>${stringifyCategorySource(opts)}</c:cat>`);
|
|
566
561
|
parts.push(`<c:val>${s.valueLiteral ? stringifyNumLitList(s.values, s.formatCode) : stringifyNumRef(s.values, s.valueFormula, s.formatCode)}</c:val>`);
|
|
567
|
-
}
|
|
562
|
+
}
|
|
568
563
|
if ((chartType === "line" || chartType === "scatter") && s.smooth !== void 0) parts.push(`<c:smooth${boolVal(s.smooth)}/>`);
|
|
569
564
|
if ((chartType === "column" || chartType === "bar") && s.shape !== void 0) parts.push(valEl("c:shape", s.shape));
|
|
570
565
|
if (chartType === "bubble" && s.bubble3D !== void 0) parts.push(`<c:bubble3D${boolVal(s.bubble3D)}/>`);
|
|
@@ -691,16 +686,14 @@ function stringifySecondaryGroup(g, opts, ctx) {
|
|
|
691
686
|
return `${parts.join("")}</${CHART_TYPE_TAGS[g.type]}>`;
|
|
692
687
|
}
|
|
693
688
|
function stringifyTitle(title, ctx) {
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
}
|
|
703
|
-
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:title>`;
|
|
689
|
+
const opts = typeof title === "string" ? { text: title } : title;
|
|
690
|
+
const parts = [];
|
|
691
|
+
if (opts.text !== void 0) parts.push(typeof opts.text === "string" ? `<c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>${escapeXml(opts.text)}</a:t></a:r></a:p></c:rich></c:tx>` : `<c:tx><c:rich>${textBodyDesc.stringify(opts.text, ctx) ?? ""}</c:rich></c:tx>`);
|
|
692
|
+
if (opts.layout !== void 0) parts.push(opts.layout === true ? "<c:layout/>" : stringifyLayout(opts.layout));
|
|
693
|
+
if (opts.overlay !== void 0) parts.push(`<c:overlay${boolVal(opts.overlay)}/>`);
|
|
694
|
+
if (opts.shapeProperties) parts.push(chartSpPr(opts.shapeProperties, ctx));
|
|
695
|
+
if (opts.textProperties) parts.push(`<c:txPr>${textBodyDesc.stringify(opts.textProperties, ctx) ?? ""}</c:txPr>`);
|
|
696
|
+
return `<c:title>${parts.join("")}</c:title>`;
|
|
704
697
|
}
|
|
705
698
|
function stringifyLegendEntry(entry, ctx) {
|
|
706
699
|
if (entry.delete) return `<c:legendEntry><c:idx val="${entry.index}"/><c:delete val="1"/></c:legendEntry>`;
|
|
@@ -2351,4 +2344,4 @@ function buildUserShapesData(userShapes) {
|
|
|
2351
2344
|
//#endregion
|
|
2352
2345
|
export { ChartCollection as i, userShapesDesc as n, chartSpaceDesc as r, buildUserShapesData as t };
|
|
2353
2346
|
|
|
2354
|
-
//# sourceMappingURL=chart-
|
|
2347
|
+
//# sourceMappingURL=chart-DEIF3VZn.mjs.map
|