pptx-viewer-core 1.1.46 → 1.1.48

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/cli/index.js CHANGED
Binary file
Binary file
package/dist/index.d.mts CHANGED
@@ -2576,7 +2576,7 @@ declare function decomposeSmartArt(smartArtData: PptxSmartArtData, containerBoun
2576
2576
  * @module smartart-editing-node-ops
2577
2577
  */
2578
2578
 
2579
- /** Reset the edit counter (useful in tests). */
2579
+ /** No-op kept for API compatibility; id generation no longer needs a counter. */
2580
2580
  declare function resetSmartArtEditCounter(): void;
2581
2581
  /**
2582
2582
  * Add a new node to a SmartArt diagram after a given sibling.
@@ -2613,7 +2613,10 @@ declare function demoteSmartArtNode(data: PptxSmartArtData, nodeId: string): Ppt
2613
2613
  /**
2614
2614
  * Add a new node as a child of a given parent.
2615
2615
  *
2616
- * If `parentId` is undefined, the node is added as a root-level item.
2616
+ * If `parentId` is undefined, the node is added as a root-level item, using
2617
+ * the diagram's own root/doc id (inferred from an existing top-level node)
2618
+ * so it ends up as a sibling of the other top-level items rather than an
2619
+ * unparented node the save pipeline can't anchor into the diagram XML.
2617
2620
  * If `text` is undefined, a default label is generated.
2618
2621
  *
2619
2622
  * Returns a new PptxSmartArtData with the node inserted and
@@ -5617,7 +5620,7 @@ declare class PptxElementXmlBuilder {
5617
5620
  * the constructor of the final concrete class
5618
5621
  * ({@link PptxHandlerRuntimeImplementation}).
5619
5622
  */
5620
- declare class PptxHandlerRuntime$1g {
5623
+ declare class PptxHandlerRuntime$1h {
5621
5624
  /** The in-memory ZIP archive representing the OPC (.pptx) package. */
5622
5625
  protected zip: JSZip;
5623
5626
  /** fast-xml-parser instance used to parse XML strings into JS objects. */
@@ -5941,7 +5944,7 @@ declare class PptxHandlerRuntime$1g {
5941
5944
  protected restoreOriginalParser(): void;
5942
5945
  }
5943
5946
 
5944
- declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5947
+ declare class PptxHandlerRuntime$1g extends PptxHandlerRuntime$1h {
5945
5948
  /**
5946
5949
  * Export slides to a raster/vector format.
5947
5950
  *
@@ -5985,7 +5988,7 @@ declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5985
5988
  protected parseTableStyles(): Promise<ParsedTableStyleMap | undefined>;
5986
5989
  }
5987
5990
 
5988
- declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
5991
+ declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5989
5992
  /**
5990
5993
  * Write or remove a single `a:hlinkClick` / `a:hlinkHover` node on
5991
5994
  * a `p:cNvPr` parent.
@@ -6008,7 +6011,7 @@ declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
6008
6011
  protected serializeShapeLocks(shape: XmlObject, el: PptxElement): void;
6009
6012
  }
6010
6013
 
6011
- declare class PptxHandlerRuntime$1d extends PptxHandlerRuntime$1e {
6014
+ declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
6012
6015
  /**
6013
6016
  * Parse a single `a:hlinkClick` or `a:hlinkHover` node into a `PptxAction`.
6014
6017
  */
@@ -6047,7 +6050,7 @@ interface MediaTimingData {
6047
6050
  /** Playback speed multiplier (1 = normal). From p14:media/@spd (percentage * 1000). */
6048
6051
  playbackSpeed?: number;
6049
6052
  }
6050
- declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6053
+ declare class PptxHandlerRuntime$1d extends PptxHandlerRuntime$1e {
6051
6054
  /**
6052
6055
  * Extract image recolour/brightness/contrast/artistic effects from blip extensions.
6053
6056
  */
@@ -6068,7 +6071,7 @@ declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6068
6071
  protected resolveRelationshipTarget(sourcePath: string, rId: string): string | undefined;
6069
6072
  }
6070
6073
 
6071
- declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6074
+ declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6072
6075
  /**
6073
6076
  * Recursively walk the timing tree looking for `p:video` and `p:audio`
6074
6077
  * nodes that contain `p:cMediaNode`.
@@ -6096,7 +6099,7 @@ declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6096
6099
  getMediaArrayBuffer(mediaPath: string): Promise<ArrayBuffer | undefined>;
6097
6100
  }
6098
6101
 
6099
- declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6102
+ declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6100
6103
  /**
6101
6104
  * Convert raw image bytes to a URL suitable for <img src>.
6102
6105
  * Uses Blob URLs in browsers (avoids 33% base64 overhead),
@@ -6116,7 +6119,7 @@ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6116
6119
  protected parseNativeAnimations(slideXml: XmlObject): PptxNativeAnimation[] | undefined;
6117
6120
  }
6118
6121
 
6119
- declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6122
+ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6120
6123
  protected buildRelativeTargetPath(fromPartPath: string, toPartPath: string): string;
6121
6124
  protected setMasterThemeRelationship(masterPath: string, themePath: string): Promise<void>;
6122
6125
  setPresentationTheme(themePath: string, applyToAllMasters?: boolean): Promise<void>;
@@ -6172,7 +6175,7 @@ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6172
6175
  protected parseTags(): Promise<PptxTagCollection[]>;
6173
6176
  }
6174
6177
 
6175
- declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6178
+ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6176
6179
  /**
6177
6180
  * Parse background colour from a `p:bg` node.
6178
6181
  */
@@ -6215,7 +6218,7 @@ declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6215
6218
  protected parseCustomShows(): PptxCustomShow[] | undefined;
6216
6219
  }
6217
6220
 
6218
- declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6221
+ declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6219
6222
  /**
6220
6223
  * Parse presentation properties from `presentationPr.xml`.
6221
6224
  * Extracts show type, loop, narration, animation, and print settings.
@@ -6234,7 +6237,7 @@ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6234
6237
  protected toSlideRelsPath(slidePath: string): string;
6235
6238
  }
6236
6239
 
6237
- declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6240
+ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6238
6241
  protected createEmptySlideXml(): XmlObject;
6239
6242
  protected deepCloneXml(value: XmlObject | undefined): XmlObject | undefined;
6240
6243
  protected findSourceSlidePath(requestedSourcePath: string | undefined): string | undefined;
@@ -6268,16 +6271,16 @@ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6268
6271
  protected createLineSpacingXmlFromMultiplier(lineSpacing: number | undefined): XmlObject | undefined;
6269
6272
  }
6270
6273
 
6271
- declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
6274
+ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6272
6275
  protected createRunPropertiesFromTextStyle(style: TextStyle | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject;
6273
6276
  private applyHyperlinkExtraAttrs;
6274
6277
  }
6275
6278
 
6276
- declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
6279
+ declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
6277
6280
  protected createParagraphsFromTextContent(text: string | undefined, textStyle: TextStyle | undefined, textSegments: TextSegment[] | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject[];
6278
6281
  }
6279
6282
 
6280
- declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6283
+ declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
6281
6284
  protected updateNotesXmlText(notesXmlObj: XmlObject, notesText: string | undefined, notesSegments?: TextSegment[]): boolean;
6282
6285
  protected createPictureXml(el: PptxImageLikeElement, relationshipId: string): XmlObject;
6283
6286
  protected createMediaGraphicFrameXml(el: MediaPptxElement, relationshipId: string): XmlObject;
@@ -6289,7 +6292,7 @@ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6289
6292
  protected createConnectorXml(el: ConnectorPptxElement): XmlObject;
6290
6293
  }
6291
6294
 
6292
- declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6295
+ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6293
6296
  /**
6294
6297
  * Build a `p:graphicFrame` XML skeleton for an SDK-created table.
6295
6298
  *
@@ -6355,7 +6358,7 @@ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6355
6358
  protected buildGroupShapeXml(group: GroupPptxElement): XmlObject | null;
6356
6359
  }
6357
6360
 
6358
- declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6361
+ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6359
6362
  protected clampCropForSave(value: unknown): number;
6360
6363
  protected applyImageCropToBlipFill(blipFill: XmlObject | undefined, element: PptxImageLikeElement): void;
6361
6364
  protected applyImageEffectsToBlip(blipFill: XmlObject | undefined, effects: PptxImageEffects | undefined): void;
@@ -6377,7 +6380,7 @@ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6377
6380
  protected getTextValueForSave(text: string | undefined, textSegments: TextSegment[] | undefined): string;
6378
6381
  }
6379
6382
 
6380
- declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6383
+ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6381
6384
  protected textStylesEqual(left: TextStyle | undefined, right: TextStyle | undefined): boolean;
6382
6385
  protected hasMixedTextStyles(textSegments: TextSegment[]): boolean;
6383
6386
  /**
@@ -6397,7 +6400,7 @@ declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6397
6400
  protected compactTextSegments(textSegments: TextSegment[], fallbackStyle: TextStyle | undefined): TextSegment[];
6398
6401
  }
6399
6402
 
6400
- declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6403
+ declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6401
6404
  /**
6402
6405
  * Parse hyperlink-related properties (a:hlinkClick, a:hlinkMouseOver) from
6403
6406
  * run-level XML and apply them to the given TextStyle.
@@ -6425,7 +6428,7 @@ declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6425
6428
  protected applyTextRunEffectDag(style: TextStyle, runProperties: XmlObject): void;
6426
6429
  }
6427
6430
 
6428
- declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6431
+ declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6429
6432
  protected extractTextRunStyle(runProperties: XmlObject | undefined, align: TextStyle['align'], relationshipMap?: Map<string, string>): TextStyle;
6430
6433
  /**
6431
6434
  * Copy `@panose` / `@pitchFamily` / `@charset` from a font child node
@@ -6435,7 +6438,7 @@ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6435
6438
  private applyTextFontMetadata;
6436
6439
  }
6437
6440
 
6438
- declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
6441
+ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6439
6442
  protected extractTextSegmentsFromTxBodyForRewrite(txBody: XmlObject | undefined, baseStyle: TextStyle | undefined, relationshipMap?: Map<string, string>): TextSegment[];
6440
6443
  protected remapEditedTextToExistingStyles(existingSegments: TextSegment[], nextText: string, fallbackStyle: TextStyle | undefined): TextSegment[];
6441
6444
  }
@@ -6564,7 +6567,7 @@ interface BodyPropertiesResult {
6564
6567
  * by type, reposition matched placeholders, remove unmatched ones, and
6565
6568
  * inject empty placeholders that exist only in the target layout.
6566
6569
  */
6567
- declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6570
+ declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
6568
6571
  /**
6569
6572
  * Read placeholder info from a `p:nvPr` XML node.
6570
6573
  *
@@ -6624,7 +6627,7 @@ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6624
6627
  protected createEmptyPlaceholderElement(phInfo: PlaceholderInfo, xEmu: number, yEmu: number, cxEmu: number, cyEmu: number, _layoutPath: string): PptxElement | null;
6625
6628
  }
6626
6629
 
6627
- declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6630
+ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6628
6631
  /**
6629
6632
  * Write plain text into a table cell's txBody, preserving
6630
6633
  * existing run properties where possible.
@@ -6636,7 +6639,7 @@ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6636
6639
  protected writeTableCellStyle(xmlCell: XmlObject, style: PptxTableCellStyle): void;
6637
6640
  }
6638
6641
 
6639
- declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6642
+ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6640
6643
  /**
6641
6644
  * Serialise modified `PptxTableData` back into the graphic frame's
6642
6645
  * raw XML so that the round-tripped file preserves edits.
@@ -6713,7 +6716,7 @@ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6713
6716
  protected buildNewSeriesXml(seriesIndex: number, seriesData: PptxChartSeries, categories: string[], templateSeries?: XmlObject): XmlObject;
6714
6717
  }
6715
6718
 
6716
- declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6719
+ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6717
6720
  /** Pending SmartArt data updates to process during save. */
6718
6721
  protected pendingSmartArtUpdates?: Array<{
6719
6722
  element: SmartArtPptxElement;
@@ -6737,14 +6740,6 @@ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6737
6740
  * carries no colour transform.
6738
6741
  */
6739
6742
  protected regenerateSmartArtColorPart(slidePath: string, smartArtData: SmartArtPptxElement['smartArtData']): Promise<void>;
6740
- /**
6741
- * Merge the in-memory quick style back into `ppt/diagrams/quickStyles*.xml`.
6742
- *
6743
- * Resolves the part via the SmartArt `styleRelId` relationship, merges
6744
- * surgically, and skips gracefully when the rel or part is absent. No-op
6745
- * when the in-memory data carries no quick style.
6746
- */
6747
- protected regenerateSmartArtQuickStylePart(slidePath: string, smartArtData: SmartArtPptxElement['smartArtData']): Promise<void>;
6748
6743
  /**
6749
6744
  * Read a SmartArt diagram part by slide relationship id, locate its root
6750
6745
  * definition element by local name, apply a surgical merge callback, and
@@ -6829,7 +6824,7 @@ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6829
6824
  protected convertZipToStrictConformance(): Promise<void>;
6830
6825
  }
6831
6826
 
6832
- declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6827
+ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6833
6828
  protected applyPresentationPropertiesPart(properties: PptxPresentationProperties | undefined): Promise<void>;
6834
6829
  /**
6835
6830
  * Strip digital signature parts from the ZIP if the document was signed.
@@ -6838,14 +6833,14 @@ declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6838
6833
  protected stripDigitalSignatures(): Promise<void>;
6839
6834
  }
6840
6835
 
6841
- declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6836
+ declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6842
6837
  protected collectMediaElements(elements: PptxElement[], output: MediaPptxElement[]): void;
6843
6838
  protected getShapeIdFromRawXml(rawXml: XmlObject | undefined): string | undefined;
6844
6839
  protected applyMediaTimingToTimingTree(node: XmlObject, mediaByShapeId: Map<string, MediaPptxElement>): void;
6845
6840
  protected applyMediaTimingToRawTiming(rawTiming: XmlObject, elements: PptxElement[]): void;
6846
6841
  }
6847
6842
 
6848
- declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6843
+ declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6849
6844
  /**
6850
6845
  * Recursively walk an XML object tree and deduplicate extension list entries
6851
6846
  * by `@_uri`. When multiple `a:ext` or `p:ext` entries share the same URI,
@@ -6867,7 +6862,7 @@ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6867
6862
  protected ensureTemplateShapeAttached(spTree: XmlObject, elementType: PptxElement['type'], shape: XmlObject): XmlObject;
6868
6863
  }
6869
6864
 
6870
- declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6865
+ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6871
6866
  /**
6872
6867
  * Serialize shape fill, stroke, dash, arrows, line join/cap/compound,
6873
6868
  * and line-level effects to the given spPr XML object.
@@ -6895,7 +6890,7 @@ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6895
6890
  private replaceRefColorChoice;
6896
6891
  }
6897
6892
 
6898
- declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6893
+ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6899
6894
  /**
6900
6895
  * Serialize visual effects (shadow, glow, reflection, blur, soft edge),
6901
6896
  * effectDag, 3D scene, and 3D shape properties to the given spPr XML object.
@@ -6903,7 +6898,7 @@ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6903
6898
  protected applyEffectsAndThreeD(spPr: XmlObject, shapeStyle: ShapeStyle): void;
6904
6899
  }
6905
6900
 
6906
- declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6901
+ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6907
6902
  /**
6908
6903
  * Build and write the text body (`p:txBody`) for shapes, text boxes,
6909
6904
  * and connectors that carry text content.
@@ -6939,7 +6934,7 @@ interface SaveSlideContext {
6939
6934
  readonly slideVideoRelationshipType: string;
6940
6935
  readonly slideAudioRelationshipType: string;
6941
6936
  }
6942
- declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6937
+ declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6943
6938
  /** Serialize table, chart, and SmartArt data when applicable. */
6944
6939
  protected applyDataSerialization(shape: XmlObject, el: PptxElement, slideId: string): void;
6945
6940
  /** Apply image crop, effects, and alt text for picture/image elements. */
@@ -6952,6 +6947,37 @@ declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6952
6947
  protected processMediaEmbedding(mediaElement: MediaPptxElement, shape: XmlObject | undefined, ctx: SaveSlideContext): XmlObject | undefined;
6953
6948
  }
6954
6949
 
6950
+ /**
6951
+ * Save-pipeline mixin: fabricate the full diagram part family for
6952
+ * SDK-created SmartArt elements (inserted via the viewer / SlideBuilder,
6953
+ * carrying only in-memory `smartArtData` with no `rawXml` and no diagram
6954
+ * parts). Mirrors the SDK-created chart path (`createChartElementXml`):
6955
+ * write the parts, register the slide relationships, queue content-type
6956
+ * overrides, and return the `p:graphicFrame` envelope with `dgm:relIds`.
6957
+ */
6958
+
6959
+ declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6960
+ /** Content-type overrides queued for diagram parts fabricated this save. */
6961
+ protected pendingDiagramContentTypes?: Array<{
6962
+ partName: string;
6963
+ contentType: string;
6964
+ }>;
6965
+ /** Pick the next free `ppt/diagrams/*N.xml` index (zip + pending writes). */
6966
+ protected nextDiagramPartIndex(): number;
6967
+ /**
6968
+ * Fabricate `ppt/diagrams/{data,layout,quickStyle,colors}N.xml` for an
6969
+ * SDK-created SmartArt element, register the four slide relationships,
6970
+ * queue the content-type overrides, and return the `p:graphicFrame`.
6971
+ */
6972
+ protected createSmartArtElementXml(el: SmartArtPptxElement, ctx: SaveSlideContext): XmlObject;
6973
+ /**
6974
+ * Add `[Content_Types].xml` Override entries for diagram parts fabricated
6975
+ * this save. Called from the save pipeline alongside
6976
+ * `ensureChartPartContentTypes`; a no-op when nothing was fabricated.
6977
+ */
6978
+ protected ensureDiagramPartContentTypes(): Promise<void>;
6979
+ }
6980
+
6955
6981
  /** Collector arrays for sorting processed elements into shape tree lists. */
6956
6982
  interface SlideShapeCollectors {
6957
6983
  readonly shapes: XmlObject[];