pptx-viewer-core 1.1.47 → 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
@@ -5620,7 +5620,7 @@ declare class PptxElementXmlBuilder {
5620
5620
  * the constructor of the final concrete class
5621
5621
  * ({@link PptxHandlerRuntimeImplementation}).
5622
5622
  */
5623
- declare class PptxHandlerRuntime$1g {
5623
+ declare class PptxHandlerRuntime$1h {
5624
5624
  /** The in-memory ZIP archive representing the OPC (.pptx) package. */
5625
5625
  protected zip: JSZip;
5626
5626
  /** fast-xml-parser instance used to parse XML strings into JS objects. */
@@ -5944,7 +5944,7 @@ declare class PptxHandlerRuntime$1g {
5944
5944
  protected restoreOriginalParser(): void;
5945
5945
  }
5946
5946
 
5947
- declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5947
+ declare class PptxHandlerRuntime$1g extends PptxHandlerRuntime$1h {
5948
5948
  /**
5949
5949
  * Export slides to a raster/vector format.
5950
5950
  *
@@ -5988,7 +5988,7 @@ declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5988
5988
  protected parseTableStyles(): Promise<ParsedTableStyleMap | undefined>;
5989
5989
  }
5990
5990
 
5991
- declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
5991
+ declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5992
5992
  /**
5993
5993
  * Write or remove a single `a:hlinkClick` / `a:hlinkHover` node on
5994
5994
  * a `p:cNvPr` parent.
@@ -6011,7 +6011,7 @@ declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
6011
6011
  protected serializeShapeLocks(shape: XmlObject, el: PptxElement): void;
6012
6012
  }
6013
6013
 
6014
- declare class PptxHandlerRuntime$1d extends PptxHandlerRuntime$1e {
6014
+ declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
6015
6015
  /**
6016
6016
  * Parse a single `a:hlinkClick` or `a:hlinkHover` node into a `PptxAction`.
6017
6017
  */
@@ -6050,7 +6050,7 @@ interface MediaTimingData {
6050
6050
  /** Playback speed multiplier (1 = normal). From p14:media/@spd (percentage * 1000). */
6051
6051
  playbackSpeed?: number;
6052
6052
  }
6053
- declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6053
+ declare class PptxHandlerRuntime$1d extends PptxHandlerRuntime$1e {
6054
6054
  /**
6055
6055
  * Extract image recolour/brightness/contrast/artistic effects from blip extensions.
6056
6056
  */
@@ -6071,7 +6071,7 @@ declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6071
6071
  protected resolveRelationshipTarget(sourcePath: string, rId: string): string | undefined;
6072
6072
  }
6073
6073
 
6074
- declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6074
+ declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6075
6075
  /**
6076
6076
  * Recursively walk the timing tree looking for `p:video` and `p:audio`
6077
6077
  * nodes that contain `p:cMediaNode`.
@@ -6099,7 +6099,7 @@ declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6099
6099
  getMediaArrayBuffer(mediaPath: string): Promise<ArrayBuffer | undefined>;
6100
6100
  }
6101
6101
 
6102
- declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6102
+ declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6103
6103
  /**
6104
6104
  * Convert raw image bytes to a URL suitable for <img src>.
6105
6105
  * Uses Blob URLs in browsers (avoids 33% base64 overhead),
@@ -6119,7 +6119,7 @@ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6119
6119
  protected parseNativeAnimations(slideXml: XmlObject): PptxNativeAnimation[] | undefined;
6120
6120
  }
6121
6121
 
6122
- declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6122
+ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6123
6123
  protected buildRelativeTargetPath(fromPartPath: string, toPartPath: string): string;
6124
6124
  protected setMasterThemeRelationship(masterPath: string, themePath: string): Promise<void>;
6125
6125
  setPresentationTheme(themePath: string, applyToAllMasters?: boolean): Promise<void>;
@@ -6175,7 +6175,7 @@ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6175
6175
  protected parseTags(): Promise<PptxTagCollection[]>;
6176
6176
  }
6177
6177
 
6178
- declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6178
+ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6179
6179
  /**
6180
6180
  * Parse background colour from a `p:bg` node.
6181
6181
  */
@@ -6218,7 +6218,7 @@ declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6218
6218
  protected parseCustomShows(): PptxCustomShow[] | undefined;
6219
6219
  }
6220
6220
 
6221
- declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6221
+ declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6222
6222
  /**
6223
6223
  * Parse presentation properties from `presentationPr.xml`.
6224
6224
  * Extracts show type, loop, narration, animation, and print settings.
@@ -6237,7 +6237,7 @@ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6237
6237
  protected toSlideRelsPath(slidePath: string): string;
6238
6238
  }
6239
6239
 
6240
- declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6240
+ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6241
6241
  protected createEmptySlideXml(): XmlObject;
6242
6242
  protected deepCloneXml(value: XmlObject | undefined): XmlObject | undefined;
6243
6243
  protected findSourceSlidePath(requestedSourcePath: string | undefined): string | undefined;
@@ -6271,16 +6271,16 @@ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6271
6271
  protected createLineSpacingXmlFromMultiplier(lineSpacing: number | undefined): XmlObject | undefined;
6272
6272
  }
6273
6273
 
6274
- declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
6274
+ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6275
6275
  protected createRunPropertiesFromTextStyle(style: TextStyle | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject;
6276
6276
  private applyHyperlinkExtraAttrs;
6277
6277
  }
6278
6278
 
6279
- declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
6279
+ declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
6280
6280
  protected createParagraphsFromTextContent(text: string | undefined, textStyle: TextStyle | undefined, textSegments: TextSegment[] | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject[];
6281
6281
  }
6282
6282
 
6283
- declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6283
+ declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
6284
6284
  protected updateNotesXmlText(notesXmlObj: XmlObject, notesText: string | undefined, notesSegments?: TextSegment[]): boolean;
6285
6285
  protected createPictureXml(el: PptxImageLikeElement, relationshipId: string): XmlObject;
6286
6286
  protected createMediaGraphicFrameXml(el: MediaPptxElement, relationshipId: string): XmlObject;
@@ -6292,7 +6292,7 @@ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6292
6292
  protected createConnectorXml(el: ConnectorPptxElement): XmlObject;
6293
6293
  }
6294
6294
 
6295
- declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6295
+ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6296
6296
  /**
6297
6297
  * Build a `p:graphicFrame` XML skeleton for an SDK-created table.
6298
6298
  *
@@ -6358,7 +6358,7 @@ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6358
6358
  protected buildGroupShapeXml(group: GroupPptxElement): XmlObject | null;
6359
6359
  }
6360
6360
 
6361
- declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6361
+ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6362
6362
  protected clampCropForSave(value: unknown): number;
6363
6363
  protected applyImageCropToBlipFill(blipFill: XmlObject | undefined, element: PptxImageLikeElement): void;
6364
6364
  protected applyImageEffectsToBlip(blipFill: XmlObject | undefined, effects: PptxImageEffects | undefined): void;
@@ -6380,7 +6380,7 @@ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6380
6380
  protected getTextValueForSave(text: string | undefined, textSegments: TextSegment[] | undefined): string;
6381
6381
  }
6382
6382
 
6383
- declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6383
+ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6384
6384
  protected textStylesEqual(left: TextStyle | undefined, right: TextStyle | undefined): boolean;
6385
6385
  protected hasMixedTextStyles(textSegments: TextSegment[]): boolean;
6386
6386
  /**
@@ -6400,7 +6400,7 @@ declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6400
6400
  protected compactTextSegments(textSegments: TextSegment[], fallbackStyle: TextStyle | undefined): TextSegment[];
6401
6401
  }
6402
6402
 
6403
- declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6403
+ declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6404
6404
  /**
6405
6405
  * Parse hyperlink-related properties (a:hlinkClick, a:hlinkMouseOver) from
6406
6406
  * run-level XML and apply them to the given TextStyle.
@@ -6428,7 +6428,7 @@ declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6428
6428
  protected applyTextRunEffectDag(style: TextStyle, runProperties: XmlObject): void;
6429
6429
  }
6430
6430
 
6431
- declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6431
+ declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6432
6432
  protected extractTextRunStyle(runProperties: XmlObject | undefined, align: TextStyle['align'], relationshipMap?: Map<string, string>): TextStyle;
6433
6433
  /**
6434
6434
  * Copy `@panose` / `@pitchFamily` / `@charset` from a font child node
@@ -6438,7 +6438,7 @@ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6438
6438
  private applyTextFontMetadata;
6439
6439
  }
6440
6440
 
6441
- declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
6441
+ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6442
6442
  protected extractTextSegmentsFromTxBodyForRewrite(txBody: XmlObject | undefined, baseStyle: TextStyle | undefined, relationshipMap?: Map<string, string>): TextSegment[];
6443
6443
  protected remapEditedTextToExistingStyles(existingSegments: TextSegment[], nextText: string, fallbackStyle: TextStyle | undefined): TextSegment[];
6444
6444
  }
@@ -6567,7 +6567,7 @@ interface BodyPropertiesResult {
6567
6567
  * by type, reposition matched placeholders, remove unmatched ones, and
6568
6568
  * inject empty placeholders that exist only in the target layout.
6569
6569
  */
6570
- declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6570
+ declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
6571
6571
  /**
6572
6572
  * Read placeholder info from a `p:nvPr` XML node.
6573
6573
  *
@@ -6627,7 +6627,7 @@ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6627
6627
  protected createEmptyPlaceholderElement(phInfo: PlaceholderInfo, xEmu: number, yEmu: number, cxEmu: number, cyEmu: number, _layoutPath: string): PptxElement | null;
6628
6628
  }
6629
6629
 
6630
- declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6630
+ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6631
6631
  /**
6632
6632
  * Write plain text into a table cell's txBody, preserving
6633
6633
  * existing run properties where possible.
@@ -6639,7 +6639,7 @@ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6639
6639
  protected writeTableCellStyle(xmlCell: XmlObject, style: PptxTableCellStyle): void;
6640
6640
  }
6641
6641
 
6642
- declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6642
+ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6643
6643
  /**
6644
6644
  * Serialise modified `PptxTableData` back into the graphic frame's
6645
6645
  * raw XML so that the round-tripped file preserves edits.
@@ -6716,7 +6716,7 @@ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6716
6716
  protected buildNewSeriesXml(seriesIndex: number, seriesData: PptxChartSeries, categories: string[], templateSeries?: XmlObject): XmlObject;
6717
6717
  }
6718
6718
 
6719
- declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6719
+ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6720
6720
  /** Pending SmartArt data updates to process during save. */
6721
6721
  protected pendingSmartArtUpdates?: Array<{
6722
6722
  element: SmartArtPptxElement;
@@ -6824,7 +6824,7 @@ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6824
6824
  protected convertZipToStrictConformance(): Promise<void>;
6825
6825
  }
6826
6826
 
6827
- declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6827
+ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6828
6828
  protected applyPresentationPropertiesPart(properties: PptxPresentationProperties | undefined): Promise<void>;
6829
6829
  /**
6830
6830
  * Strip digital signature parts from the ZIP if the document was signed.
@@ -6833,14 +6833,14 @@ declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6833
6833
  protected stripDigitalSignatures(): Promise<void>;
6834
6834
  }
6835
6835
 
6836
- declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6836
+ declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6837
6837
  protected collectMediaElements(elements: PptxElement[], output: MediaPptxElement[]): void;
6838
6838
  protected getShapeIdFromRawXml(rawXml: XmlObject | undefined): string | undefined;
6839
6839
  protected applyMediaTimingToTimingTree(node: XmlObject, mediaByShapeId: Map<string, MediaPptxElement>): void;
6840
6840
  protected applyMediaTimingToRawTiming(rawTiming: XmlObject, elements: PptxElement[]): void;
6841
6841
  }
6842
6842
 
6843
- declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6843
+ declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6844
6844
  /**
6845
6845
  * Recursively walk an XML object tree and deduplicate extension list entries
6846
6846
  * by `@_uri`. When multiple `a:ext` or `p:ext` entries share the same URI,
@@ -6862,7 +6862,7 @@ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6862
6862
  protected ensureTemplateShapeAttached(spTree: XmlObject, elementType: PptxElement['type'], shape: XmlObject): XmlObject;
6863
6863
  }
6864
6864
 
6865
- declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6865
+ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6866
6866
  /**
6867
6867
  * Serialize shape fill, stroke, dash, arrows, line join/cap/compound,
6868
6868
  * and line-level effects to the given spPr XML object.
@@ -6890,7 +6890,7 @@ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6890
6890
  private replaceRefColorChoice;
6891
6891
  }
6892
6892
 
6893
- declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6893
+ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6894
6894
  /**
6895
6895
  * Serialize visual effects (shadow, glow, reflection, blur, soft edge),
6896
6896
  * effectDag, 3D scene, and 3D shape properties to the given spPr XML object.
@@ -6898,7 +6898,7 @@ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6898
6898
  protected applyEffectsAndThreeD(spPr: XmlObject, shapeStyle: ShapeStyle): void;
6899
6899
  }
6900
6900
 
6901
- declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6901
+ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6902
6902
  /**
6903
6903
  * Build and write the text body (`p:txBody`) for shapes, text boxes,
6904
6904
  * and connectors that carry text content.
@@ -6934,7 +6934,7 @@ interface SaveSlideContext {
6934
6934
  readonly slideVideoRelationshipType: string;
6935
6935
  readonly slideAudioRelationshipType: string;
6936
6936
  }
6937
- declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6937
+ declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6938
6938
  /** Serialize table, chart, and SmartArt data when applicable. */
6939
6939
  protected applyDataSerialization(shape: XmlObject, el: PptxElement, slideId: string): void;
6940
6940
  /** Apply image crop, effects, and alt text for picture/image elements. */
@@ -6947,6 +6947,37 @@ declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6947
6947
  protected processMediaEmbedding(mediaElement: MediaPptxElement, shape: XmlObject | undefined, ctx: SaveSlideContext): XmlObject | undefined;
6948
6948
  }
6949
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
+
6950
6981
  /** Collector arrays for sorting processed elements into shape tree lists. */
6951
6982
  interface SlideShapeCollectors {
6952
6983
  readonly shapes: XmlObject[];
package/dist/index.d.ts CHANGED
@@ -5620,7 +5620,7 @@ declare class PptxElementXmlBuilder {
5620
5620
  * the constructor of the final concrete class
5621
5621
  * ({@link PptxHandlerRuntimeImplementation}).
5622
5622
  */
5623
- declare class PptxHandlerRuntime$1g {
5623
+ declare class PptxHandlerRuntime$1h {
5624
5624
  /** The in-memory ZIP archive representing the OPC (.pptx) package. */
5625
5625
  protected zip: JSZip;
5626
5626
  /** fast-xml-parser instance used to parse XML strings into JS objects. */
@@ -5944,7 +5944,7 @@ declare class PptxHandlerRuntime$1g {
5944
5944
  protected restoreOriginalParser(): void;
5945
5945
  }
5946
5946
 
5947
- declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5947
+ declare class PptxHandlerRuntime$1g extends PptxHandlerRuntime$1h {
5948
5948
  /**
5949
5949
  * Export slides to a raster/vector format.
5950
5950
  *
@@ -5988,7 +5988,7 @@ declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5988
5988
  protected parseTableStyles(): Promise<ParsedTableStyleMap | undefined>;
5989
5989
  }
5990
5990
 
5991
- declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
5991
+ declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5992
5992
  /**
5993
5993
  * Write or remove a single `a:hlinkClick` / `a:hlinkHover` node on
5994
5994
  * a `p:cNvPr` parent.
@@ -6011,7 +6011,7 @@ declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
6011
6011
  protected serializeShapeLocks(shape: XmlObject, el: PptxElement): void;
6012
6012
  }
6013
6013
 
6014
- declare class PptxHandlerRuntime$1d extends PptxHandlerRuntime$1e {
6014
+ declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
6015
6015
  /**
6016
6016
  * Parse a single `a:hlinkClick` or `a:hlinkHover` node into a `PptxAction`.
6017
6017
  */
@@ -6050,7 +6050,7 @@ interface MediaTimingData {
6050
6050
  /** Playback speed multiplier (1 = normal). From p14:media/@spd (percentage * 1000). */
6051
6051
  playbackSpeed?: number;
6052
6052
  }
6053
- declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6053
+ declare class PptxHandlerRuntime$1d extends PptxHandlerRuntime$1e {
6054
6054
  /**
6055
6055
  * Extract image recolour/brightness/contrast/artistic effects from blip extensions.
6056
6056
  */
@@ -6071,7 +6071,7 @@ declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6071
6071
  protected resolveRelationshipTarget(sourcePath: string, rId: string): string | undefined;
6072
6072
  }
6073
6073
 
6074
- declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6074
+ declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
6075
6075
  /**
6076
6076
  * Recursively walk the timing tree looking for `p:video` and `p:audio`
6077
6077
  * nodes that contain `p:cMediaNode`.
@@ -6099,7 +6099,7 @@ declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6099
6099
  getMediaArrayBuffer(mediaPath: string): Promise<ArrayBuffer | undefined>;
6100
6100
  }
6101
6101
 
6102
- declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6102
+ declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
6103
6103
  /**
6104
6104
  * Convert raw image bytes to a URL suitable for <img src>.
6105
6105
  * Uses Blob URLs in browsers (avoids 33% base64 overhead),
@@ -6119,7 +6119,7 @@ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6119
6119
  protected parseNativeAnimations(slideXml: XmlObject): PptxNativeAnimation[] | undefined;
6120
6120
  }
6121
6121
 
6122
- declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6122
+ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
6123
6123
  protected buildRelativeTargetPath(fromPartPath: string, toPartPath: string): string;
6124
6124
  protected setMasterThemeRelationship(masterPath: string, themePath: string): Promise<void>;
6125
6125
  setPresentationTheme(themePath: string, applyToAllMasters?: boolean): Promise<void>;
@@ -6175,7 +6175,7 @@ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6175
6175
  protected parseTags(): Promise<PptxTagCollection[]>;
6176
6176
  }
6177
6177
 
6178
- declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6178
+ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
6179
6179
  /**
6180
6180
  * Parse background colour from a `p:bg` node.
6181
6181
  */
@@ -6218,7 +6218,7 @@ declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6218
6218
  protected parseCustomShows(): PptxCustomShow[] | undefined;
6219
6219
  }
6220
6220
 
6221
- declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6221
+ declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
6222
6222
  /**
6223
6223
  * Parse presentation properties from `presentationPr.xml`.
6224
6224
  * Extracts show type, loop, narration, animation, and print settings.
@@ -6237,7 +6237,7 @@ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6237
6237
  protected toSlideRelsPath(slidePath: string): string;
6238
6238
  }
6239
6239
 
6240
- declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6240
+ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
6241
6241
  protected createEmptySlideXml(): XmlObject;
6242
6242
  protected deepCloneXml(value: XmlObject | undefined): XmlObject | undefined;
6243
6243
  protected findSourceSlidePath(requestedSourcePath: string | undefined): string | undefined;
@@ -6271,16 +6271,16 @@ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6271
6271
  protected createLineSpacingXmlFromMultiplier(lineSpacing: number | undefined): XmlObject | undefined;
6272
6272
  }
6273
6273
 
6274
- declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
6274
+ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
6275
6275
  protected createRunPropertiesFromTextStyle(style: TextStyle | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject;
6276
6276
  private applyHyperlinkExtraAttrs;
6277
6277
  }
6278
6278
 
6279
- declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
6279
+ declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
6280
6280
  protected createParagraphsFromTextContent(text: string | undefined, textStyle: TextStyle | undefined, textSegments: TextSegment[] | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject[];
6281
6281
  }
6282
6282
 
6283
- declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6283
+ declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
6284
6284
  protected updateNotesXmlText(notesXmlObj: XmlObject, notesText: string | undefined, notesSegments?: TextSegment[]): boolean;
6285
6285
  protected createPictureXml(el: PptxImageLikeElement, relationshipId: string): XmlObject;
6286
6286
  protected createMediaGraphicFrameXml(el: MediaPptxElement, relationshipId: string): XmlObject;
@@ -6292,7 +6292,7 @@ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6292
6292
  protected createConnectorXml(el: ConnectorPptxElement): XmlObject;
6293
6293
  }
6294
6294
 
6295
- declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6295
+ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
6296
6296
  /**
6297
6297
  * Build a `p:graphicFrame` XML skeleton for an SDK-created table.
6298
6298
  *
@@ -6358,7 +6358,7 @@ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6358
6358
  protected buildGroupShapeXml(group: GroupPptxElement): XmlObject | null;
6359
6359
  }
6360
6360
 
6361
- declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6361
+ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
6362
6362
  protected clampCropForSave(value: unknown): number;
6363
6363
  protected applyImageCropToBlipFill(blipFill: XmlObject | undefined, element: PptxImageLikeElement): void;
6364
6364
  protected applyImageEffectsToBlip(blipFill: XmlObject | undefined, effects: PptxImageEffects | undefined): void;
@@ -6380,7 +6380,7 @@ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6380
6380
  protected getTextValueForSave(text: string | undefined, textSegments: TextSegment[] | undefined): string;
6381
6381
  }
6382
6382
 
6383
- declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6383
+ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
6384
6384
  protected textStylesEqual(left: TextStyle | undefined, right: TextStyle | undefined): boolean;
6385
6385
  protected hasMixedTextStyles(textSegments: TextSegment[]): boolean;
6386
6386
  /**
@@ -6400,7 +6400,7 @@ declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6400
6400
  protected compactTextSegments(textSegments: TextSegment[], fallbackStyle: TextStyle | undefined): TextSegment[];
6401
6401
  }
6402
6402
 
6403
- declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6403
+ declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
6404
6404
  /**
6405
6405
  * Parse hyperlink-related properties (a:hlinkClick, a:hlinkMouseOver) from
6406
6406
  * run-level XML and apply them to the given TextStyle.
@@ -6428,7 +6428,7 @@ declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6428
6428
  protected applyTextRunEffectDag(style: TextStyle, runProperties: XmlObject): void;
6429
6429
  }
6430
6430
 
6431
- declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6431
+ declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6432
6432
  protected extractTextRunStyle(runProperties: XmlObject | undefined, align: TextStyle['align'], relationshipMap?: Map<string, string>): TextStyle;
6433
6433
  /**
6434
6434
  * Copy `@panose` / `@pitchFamily` / `@charset` from a font child node
@@ -6438,7 +6438,7 @@ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6438
6438
  private applyTextFontMetadata;
6439
6439
  }
6440
6440
 
6441
- declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
6441
+ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6442
6442
  protected extractTextSegmentsFromTxBodyForRewrite(txBody: XmlObject | undefined, baseStyle: TextStyle | undefined, relationshipMap?: Map<string, string>): TextSegment[];
6443
6443
  protected remapEditedTextToExistingStyles(existingSegments: TextSegment[], nextText: string, fallbackStyle: TextStyle | undefined): TextSegment[];
6444
6444
  }
@@ -6567,7 +6567,7 @@ interface BodyPropertiesResult {
6567
6567
  * by type, reposition matched placeholders, remove unmatched ones, and
6568
6568
  * inject empty placeholders that exist only in the target layout.
6569
6569
  */
6570
- declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6570
+ declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
6571
6571
  /**
6572
6572
  * Read placeholder info from a `p:nvPr` XML node.
6573
6573
  *
@@ -6627,7 +6627,7 @@ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6627
6627
  protected createEmptyPlaceholderElement(phInfo: PlaceholderInfo, xEmu: number, yEmu: number, cxEmu: number, cyEmu: number, _layoutPath: string): PptxElement | null;
6628
6628
  }
6629
6629
 
6630
- declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6630
+ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6631
6631
  /**
6632
6632
  * Write plain text into a table cell's txBody, preserving
6633
6633
  * existing run properties where possible.
@@ -6639,7 +6639,7 @@ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6639
6639
  protected writeTableCellStyle(xmlCell: XmlObject, style: PptxTableCellStyle): void;
6640
6640
  }
6641
6641
 
6642
- declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6642
+ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6643
6643
  /**
6644
6644
  * Serialise modified `PptxTableData` back into the graphic frame's
6645
6645
  * raw XML so that the round-tripped file preserves edits.
@@ -6716,7 +6716,7 @@ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6716
6716
  protected buildNewSeriesXml(seriesIndex: number, seriesData: PptxChartSeries, categories: string[], templateSeries?: XmlObject): XmlObject;
6717
6717
  }
6718
6718
 
6719
- declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6719
+ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6720
6720
  /** Pending SmartArt data updates to process during save. */
6721
6721
  protected pendingSmartArtUpdates?: Array<{
6722
6722
  element: SmartArtPptxElement;
@@ -6824,7 +6824,7 @@ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6824
6824
  protected convertZipToStrictConformance(): Promise<void>;
6825
6825
  }
6826
6826
 
6827
- declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6827
+ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6828
6828
  protected applyPresentationPropertiesPart(properties: PptxPresentationProperties | undefined): Promise<void>;
6829
6829
  /**
6830
6830
  * Strip digital signature parts from the ZIP if the document was signed.
@@ -6833,14 +6833,14 @@ declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6833
6833
  protected stripDigitalSignatures(): Promise<void>;
6834
6834
  }
6835
6835
 
6836
- declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6836
+ declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6837
6837
  protected collectMediaElements(elements: PptxElement[], output: MediaPptxElement[]): void;
6838
6838
  protected getShapeIdFromRawXml(rawXml: XmlObject | undefined): string | undefined;
6839
6839
  protected applyMediaTimingToTimingTree(node: XmlObject, mediaByShapeId: Map<string, MediaPptxElement>): void;
6840
6840
  protected applyMediaTimingToRawTiming(rawTiming: XmlObject, elements: PptxElement[]): void;
6841
6841
  }
6842
6842
 
6843
- declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6843
+ declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6844
6844
  /**
6845
6845
  * Recursively walk an XML object tree and deduplicate extension list entries
6846
6846
  * by `@_uri`. When multiple `a:ext` or `p:ext` entries share the same URI,
@@ -6862,7 +6862,7 @@ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6862
6862
  protected ensureTemplateShapeAttached(spTree: XmlObject, elementType: PptxElement['type'], shape: XmlObject): XmlObject;
6863
6863
  }
6864
6864
 
6865
- declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6865
+ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6866
6866
  /**
6867
6867
  * Serialize shape fill, stroke, dash, arrows, line join/cap/compound,
6868
6868
  * and line-level effects to the given spPr XML object.
@@ -6890,7 +6890,7 @@ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6890
6890
  private replaceRefColorChoice;
6891
6891
  }
6892
6892
 
6893
- declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6893
+ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6894
6894
  /**
6895
6895
  * Serialize visual effects (shadow, glow, reflection, blur, soft edge),
6896
6896
  * effectDag, 3D scene, and 3D shape properties to the given spPr XML object.
@@ -6898,7 +6898,7 @@ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6898
6898
  protected applyEffectsAndThreeD(spPr: XmlObject, shapeStyle: ShapeStyle): void;
6899
6899
  }
6900
6900
 
6901
- declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6901
+ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6902
6902
  /**
6903
6903
  * Build and write the text body (`p:txBody`) for shapes, text boxes,
6904
6904
  * and connectors that carry text content.
@@ -6934,7 +6934,7 @@ interface SaveSlideContext {
6934
6934
  readonly slideVideoRelationshipType: string;
6935
6935
  readonly slideAudioRelationshipType: string;
6936
6936
  }
6937
- declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6937
+ declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6938
6938
  /** Serialize table, chart, and SmartArt data when applicable. */
6939
6939
  protected applyDataSerialization(shape: XmlObject, el: PptxElement, slideId: string): void;
6940
6940
  /** Apply image crop, effects, and alt text for picture/image elements. */
@@ -6947,6 +6947,37 @@ declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6947
6947
  protected processMediaEmbedding(mediaElement: MediaPptxElement, shape: XmlObject | undefined, ctx: SaveSlideContext): XmlObject | undefined;
6948
6948
  }
6949
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
+
6950
6981
  /** Collector arrays for sorting processed elements into shape tree lists. */
6951
6982
  interface SlideShapeCollectors {
6952
6983
  readonly shapes: XmlObject[];