@office-open/core 0.12.1 → 0.12.2

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.
Files changed (32) hide show
  1. package/dist/chart/index.d.mts +1 -1
  2. package/dist/chart/index.mjs +1 -1
  3. package/dist/{chart-BAnjzVoe.mjs → chart-DEIF3VZn.mjs} +42 -49
  4. package/dist/chart-DEIF3VZn.mjs.map +1 -0
  5. package/dist/{index-k1h_t946.d.mts → index-BwRtWyaP.d.mts} +2 -1
  6. package/dist/index-BwRtWyaP.d.mts.map +1 -0
  7. package/dist/{index-BAxlDUQ1.d.mts → index-DF3lKLF_.d.mts} +3 -1
  8. package/dist/index-DF3lKLF_.d.mts.map +1 -0
  9. package/dist/{index-Di6XPdGl.d.mts → index-DRggxtp7.d.mts} +2 -1
  10. package/dist/{index-Di6XPdGl.d.mts.map → index-DRggxtp7.d.mts.map} +1 -1
  11. package/dist/index-L6AXewfV.d.mts.map +1 -1
  12. package/dist/index.d.mts +5 -3
  13. package/dist/index.d.mts.map +1 -1
  14. package/dist/index.mjs +33 -17
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/smartart/index.d.mts +1 -1
  17. package/dist/smartart/index.mjs +1 -1
  18. package/dist/{smartart-DV6ZcN5R.mjs → smartart-YH87Emca.mjs} +12 -8
  19. package/dist/smartart-YH87Emca.mjs.map +1 -0
  20. package/dist/util/index.d.mts +1 -1
  21. package/dist/util/index.mjs +1 -1
  22. package/dist/{util-ptE16MEk.mjs → util-Cr7rwR6t.mjs} +2 -2
  23. package/dist/{util-ptE16MEk.mjs.map → util-Cr7rwR6t.mjs.map} +1 -1
  24. package/dist/vector/index.mjs +1 -1
  25. package/dist/{vector-DhLGZjP5.mjs → vector-DZ_OteHJ.mjs} +93 -78
  26. package/dist/vector-DZ_OteHJ.mjs.map +1 -0
  27. package/package.json +2 -2
  28. package/dist/chart-BAnjzVoe.mjs.map +0 -1
  29. package/dist/index-BAxlDUQ1.d.mts.map +0 -1
  30. package/dist/index-k1h_t946.d.mts.map +0 -1
  31. package/dist/smartart-DV6ZcN5R.mjs.map +0 -1
  32. package/dist/vector-DhLGZjP5.mjs.map +0 -1
@@ -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-k1h_t946.mjs";
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 };
@@ -1,2 +1,2 @@
1
- import { i as ChartCollection, n as userShapesDesc, r as chartSpaceDesc, t as buildUserShapesData } from "../chart-BAnjzVoe.mjs";
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
- return [...this.map.values()];
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
- if (opts.numberFormat !== void 0) inner.push(`<c:numFmt formatCode="${escapeXml(opts.numberFormat)}" sourceLinked="0"/>`);
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 stringifyNumCatRef(opts.categories ?? [], opts.categoryFormula, opts.categoryFormatCode);
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 val="${opts.chartObject ? 1 : 0}"/>`);
354
- if (opts.data !== void 0) parts.push(`<c:data val="${opts.data ? 1 : 0}"/>`);
355
- if (opts.formatting !== void 0) parts.push(`<c:formatting val="${opts.formatting ? 1 : 0}"/>`);
356
- if (opts.selection !== void 0) parts.push(`<c:selection val="${opts.selection ? 1 : 0}"/>`);
357
- if (opts.userInterface !== void 0) parts.push(`<c:userInterface val="${opts.userInterface ? 1 : 0}"/>`);
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 if (hasCategoryData(opts)) {
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
- } else parts.push(`<c:val>${s.valueLiteral ? stringifyNumLitList(s.values, s.formatCode) : stringifyNumRef(s.values, s.valueFormula, s.formatCode)}</c:val>`);
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
- if (typeof title !== "string") {
695
- const parts = [];
696
- if (title.text !== void 0) parts.push(typeof title.text === "string" ? `<c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>${escapeXml(title.text)}</a:t></a:r></a:p></c:rich></c:tx>` : `<c:tx><c:rich>${textBodyDesc.stringify(title.text, ctx) ?? ""}</c:rich></c:tx>`);
697
- if (title.layout !== void 0) parts.push(title.layout === true ? "<c:layout/>" : stringifyLayout(title.layout));
698
- if (title.overlay !== void 0) parts.push(`<c:overlay${boolVal(title.overlay)}/>`);
699
- if (title.shapeProperties) parts.push(chartSpPr(title.shapeProperties, ctx));
700
- if (title.textProperties) parts.push(`<c:txPr>${textBodyDesc.stringify(title.textProperties, ctx) ?? ""}</c:txPr>`);
701
- return `<c:title>${parts.join("")}</c:title>`;
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-BAnjzVoe.mjs.map
2347
+ //# sourceMappingURL=chart-DEIF3VZn.mjs.map