pptx-react-viewer 1.1.4 → 1.1.6

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 (38) hide show
  1. package/dist/index.js +865 -159
  2. package/dist/index.mjs +866 -161
  3. package/dist/viewer/index.js +883 -165
  4. package/dist/viewer/index.mjs +884 -167
  5. package/node_modules/emf-converter/dist/index.d.mts +2 -2
  6. package/node_modules/emf-converter/dist/index.d.ts +2 -2
  7. package/node_modules/emf-converter/dist/index.js +91 -33
  8. package/node_modules/emf-converter/dist/index.mjs +91 -33
  9. package/node_modules/emf-converter/package.json +1 -1
  10. package/node_modules/mtx-decompressor/dist/index.js +39 -9
  11. package/node_modules/mtx-decompressor/dist/index.mjs +39 -9
  12. package/node_modules/mtx-decompressor/package.json +1 -1
  13. package/node_modules/pptx-viewer-core/dist/{SvgExporter-BQ4KbRO9.d.mts → SvgExporter-BTkk4oNQ.d.mts} +1 -1
  14. package/node_modules/pptx-viewer-core/dist/{SvgExporter-0TxiiorD.d.ts → SvgExporter-CTDG-t_z.d.ts} +1 -1
  15. package/node_modules/pptx-viewer-core/dist/cli/index.d.mts +2 -2
  16. package/node_modules/pptx-viewer-core/dist/cli/index.d.ts +2 -2
  17. package/node_modules/pptx-viewer-core/dist/cli/index.js +0 -0
  18. package/node_modules/pptx-viewer-core/dist/cli/index.mjs +0 -0
  19. package/node_modules/pptx-viewer-core/dist/converter/index.d.mts +3 -3
  20. package/node_modules/pptx-viewer-core/dist/converter/index.d.ts +3 -3
  21. package/node_modules/pptx-viewer-core/dist/converter/index.js +0 -0
  22. package/node_modules/pptx-viewer-core/dist/converter/index.mjs +0 -0
  23. package/node_modules/pptx-viewer-core/dist/index.d.mts +961 -59
  24. package/node_modules/pptx-viewer-core/dist/index.d.ts +961 -59
  25. package/node_modules/pptx-viewer-core/dist/index.js +29880 -16692
  26. package/node_modules/pptx-viewer-core/dist/index.mjs +29859 -16692
  27. package/node_modules/pptx-viewer-core/dist/{presentation-ArhfImJ5.d.mts → presentation-4fhI3din.d.mts} +835 -26
  28. package/node_modules/pptx-viewer-core/dist/{presentation-ArhfImJ5.d.ts → presentation-4fhI3din.d.ts} +835 -26
  29. package/node_modules/pptx-viewer-core/dist/{signature-inspection-status-BcJSdOvb.d.mts → signature-inspection-status-BCUpfCQh.d.mts} +13 -2
  30. package/node_modules/pptx-viewer-core/dist/{signature-inspection-status-BcJSdOvb.d.ts → signature-inspection-status-BCUpfCQh.d.ts} +13 -2
  31. package/node_modules/pptx-viewer-core/dist/signature-node/index.d.mts +2 -2
  32. package/node_modules/pptx-viewer-core/dist/signature-node/index.d.ts +2 -2
  33. package/node_modules/pptx-viewer-core/dist/signature-node/index.js +17 -3
  34. package/node_modules/pptx-viewer-core/dist/signature-node/index.mjs +16 -4
  35. package/node_modules/pptx-viewer-core/dist/{text-operations-rhJV-A_W.d.ts → text-operations-B9EwbptL.d.ts} +1 -1
  36. package/node_modules/pptx-viewer-core/dist/{text-operations-CLj-sJyk.d.mts → text-operations-C89Jn6S0.d.mts} +1 -1
  37. package/node_modules/pptx-viewer-core/package.json +1 -1
  38. package/package.json +6 -4
@@ -1,12 +1,12 @@
1
- import { P as PptxElement, a as PptxElementWithShapeStyle, b as PptxElementWithText, C as ConnectorPptxElement, c as PptxImageLikeElement, I as InkPptxElement, S as ShapePptxElement, T as TextPptxElement, Z as ZoomPptxElement, d as PptxThemeColorScheme, e as PptxThemeFontScheme, f as PptxAnimationPreset, g as PptxAnimationTrigger, h as StrokeDashType, i as ConnectorArrowType, j as PptxTransitionType, k as PptxChartType, l as PptxSlide, m as PptxData, n as PptxCompatibilityWarning, o as PptxLayoutOption, X as XmlObject, p as PptxChartData, q as PptxSmartArtData, r as PptxHeaderFooter, s as PptxPresentationProperties, t as PptxCustomShow, u as PptxSection, v as PptxCoreProperties, w as PptxAppProperties, x as PptxCustomProperty, y as PptxNotesMaster, z as PptxHandoutMaster, A as PptxTagCollection, B as PptxPhotoAlbum, D as PptxKinsoku, E as PptxModifyVerifier, F as PptxViewProperties, G as PptxEmbeddedFont, H as PptxExportOptions, J as PptxThemeFormatScheme, K as TextSegment, L as PptxComment, M as PptxSlideTransition, N as PptxElementAnimation, O as PptxNativeAnimation, Q as PptxCustomerData, R as PptxActiveXControl, U as AnimationCondition, V as ShapeStyle, W as TextStyle, Y as ElementAction, _ as PptxAction, $ as OleObjectType, a0 as PptxSmartArtNode, a1 as SmartArtLayoutType, a2 as PptxSmartArtDrawingShape, a3 as PptxChartDataTable, a4 as PptxChartLineStyle, a5 as PptxChartErrBars, a6 as PptxChartTrendline, a7 as PptxChartMarker, a8 as PptxChartDataLabel, a9 as PptxChartDataPoint, aa as PptxChartShapeProps, ab as PptxChart3DSurface, ac as PptxChartAxisFormatting, ad as PptxEmbeddedWorkbookData, ae as PptxDrawingGuide, af as PptxTableCellStyle, ag as PptxCustomXmlPart, ah as PptxCommentAuthor, ai as MediaPptxElement, aj as PptxTableData, ak as PptxTheme, al as ParsedTableStyleMap, am as PptxSlideMaster, an as PptxThemeOption, ao as PlaceholderDefaults, ap as PptxMasterTextStyles, aq as PptxThemeObjectDefaults, ar as ParsedTableStyleFill, as as ParsedTableStyleText, at as PptxImageEffects, au as MediaBookmark, av as PptxChartStyle, aw as TablePptxElement, ax as OlePptxElement, ay as GroupPptxElement, az as PlaceholderTextLevelStyle, aA as PptxChartSeries, aB as SmartArtPptxElement, aC as GeometryAdjustmentHandle, aD as CustomGeometryRawData, aE as CustomGeometryPath, aF as BulletInfo, aG as PptxShapeLocks, aH as PptxTextStyleLevels, aI as PptxThemeFillStyle, aJ as PptxThemeLineStyle, aK as PptxThemeEffectStyle, aL as PptxSmartArtChrome, aM as PptxSmartArtColorTransform, aN as PptxSmartArtQuickStyle, aO as PptxExternalData, aP as CustomGeometryPoint, aQ as ChartPptxElement, aR as ImagePptxElement } from './presentation-ArhfImJ5.js';
2
- export { aS as ActionButtonPreset, aT as AnimationConditionEvent, aU as BevelPresetType, aV as ConnectorConnectionPoint, aW as ContentPartInkStroke, aX as ContentPartPptxElement, aY as CustomGeometrySegment, aZ as ElementActionType, a_ as MasterViewTab, a$ as MaterialPresetType, b0 as MediaCaptionTrack, b1 as MediaMetadata, b2 as Model3DPptxElement, b3 as ParsedTableStyleEntry, b4 as PicturePptxElement, b5 as Pptx3DScene, b6 as Pptx3DShape, b7 as PptxAfterAnimationAction, b8 as PptxAnimationDirection, b9 as PptxAnimationIterate, ba as PptxAnimationRepeatMode, bb as PptxAnimationSequence, bc as PptxAnimationTimingCurve, bd as PptxChartAxisNumFmt, be as PptxChartErrBarDir, bf as PptxChartErrBarType, bg as PptxChartErrValType, bh as PptxChartMarkerSymbol, bi as PptxChartTrendlineType, bj as PptxColorAnimation, bk as PptxCommonSlideViewProperties, bl as PptxCropShape, bm as PptxCustomPathProperties, bn as PptxElementBase, bo as PptxElementType, bp as PptxExportFormat, bq as PptxHeaderFooterFlags, br as PptxImageProperties, bs as PptxMediaType, bt as PptxNormalViewProperties, bu as PptxRestoredRegion, bv as PptxShapeProperties, bw as PptxSlideLayout, bx as PptxSmartArtConnection, by as PptxSplitDirection, bz as PptxSplitOrientation, bA as PptxStripDirection, bB as PptxTableCell, bC as PptxTableRow, bD as PptxTag, bE as PptxTextAnimationTarget, bF as PptxTextBuildType, bG as PptxTextProperties, bH as PptxTextWarpPreset, bI as PptxThemeFontGroup, bJ as PptxTransitionDirection4, bK as PptxTransitionDirection8, bL as PptxViewOrigin, bM as PptxViewScale, bN as ShadowEffect, bO as SmartArtColorScheme, bP as SmartArtLayout, bQ as SmartArtStyle, bR as THEME_COLOR_SCHEME_KEYS, bS as TRANSITION_VALID_DIRECTIONS, bT as Text3DStyle, bU as UnderlineStyle, bV as UnknownPptxElement } from './presentation-ArhfImJ5.js';
3
- import { F as FindResult, M as MergeOptions } from './text-operations-rhJV-A_W.js';
4
- export { f as findText, m as mergePresentation, r as replaceText, a as replaceTextInSlide } from './text-operations-rhJV-A_W.js';
1
+ import { P as PptxElement, a as PptxElementWithShapeStyle, b as PptxElementWithText, C as ConnectorPptxElement, c as PptxImageLikeElement, I as InkPptxElement, S as ShapePptxElement, T as TextPptxElement, Z as ZoomPptxElement, d as PptxThemeColorScheme, e as PptxThemeFontScheme, f as PptxAnimationPreset, g as PptxAnimationTrigger, h as StrokeDashType, i as ConnectorArrowType, j as PptxTransitionType, k as PptxChartType, l as PptxSlide, m as PptxData, n as PptxCompatibilityWarning, o as PptxLayoutOption, X as XmlObject, p as PptxChartData, q as PptxSmartArtData, r as PptxHeaderFooter, s as PptxPresentationProperties, t as PptxCustomShow, u as PptxSection, v as PptxCoreProperties, w as PptxAppProperties, x as PptxCustomProperty, y as PptxNotesMaster, z as PptxHandoutMaster, A as PptxSlideMaster, B as PptxSlideLayout, D as PptxTagCollection, E as PptxPhotoAlbum, F as PptxKinsoku, G as PptxModifyVerifier, H as PptxViewProperties, J as ParsedTableStyleMap, K as PptxEmbeddedFont, L as PptxExportOptions, M as PptxThemeFormatScheme, N as TextSegment, O as PptxComment, Q as PptxSlideBackgroundPattern, R as PptxSlideTransition, U as PptxElementAnimation, V as PptxNativeAnimation, W as PptxCustomerData, Y as PptxActiveXControl, _ as AnimationCondition, $ as ShapeStyle, a0 as TextStyle, a1 as ElementAction, a2 as PptxAction, a3 as OleObjectType, a4 as PptxSmartArtNode, a5 as SmartArtLayoutType, a6 as PptxSmartArtDrawingShape, a7 as PptxChartDataTable, a8 as PptxChartLineStyle, a9 as PptxChartErrBars, aa as PptxChartTrendline, ab as PptxChartMarker, ac as PptxChartDataLabel, ad as PptxChartDataPoint, ae as PptxChartShapeProps, af as PptxChart3DSurface, ag as PptxChartAxisFormatting, ah as PptxEmbeddedWorkbookData, ai as PptxDrawingGuide, aj as PptxTableCellStyle, ak as PptxCustomXmlPart, al as PptxCommentAuthor, am as MediaPptxElement, an as PptxTableData, ao as PptxTheme, ap as PptxThemeOption, aq as PlaceholderDefaults, ar as PptxMasterTextStyles, as as PptxThemeObjectDefaults, at as ParsedTableStyleFill, au as ParsedTableBackground, av as ParsedTableStyleText, aw as PptxImageEffects, ax as MediaBookmark, ay as PptxChartStyle, az as TablePptxElement, aA as OlePptxElement, aB as GroupPptxElement, aC as PlaceholderTextLevelStyle, aD as PptxChartOfPieOptions, aE as PptxChartView3D, aF as PptxChartChrome, aG as PptxChartSeries, aH as SmartArtPptxElement, aI as GeometryAdjustmentHandle, aJ as CustomGeometryRawData, aK as AdjustHandleXY, aL as AdjustHandlePolar, aM as ConnectionSite, aN as CustomGeometryTextRect, aO as CustomGeometryPath, aP as BulletInfo, aQ as PptxShapeLocks, aR as PptxTextStyleLevels, aS as PptxThemeFillStyle, aT as PptxThemeLineStyle, aU as PptxThemeEffectStyle, aV as PptxSmartArtChrome, aW as PptxSmartArtColorTransform, aX as PptxSmartArtQuickStyle, aY as PptxExternalData, aZ as CustomGeometryPoint, a_ as ChartPptxElement, a$ as ImagePptxElement } from './presentation-4fhI3din.js';
2
+ export { b0 as ActionButtonPreset, b1 as AnimationConditionEvent, b2 as BevelPresetType, b3 as ConnectorConnectionPoint, b4 as ContentPartInkStroke, b5 as ContentPartPptxElement, b6 as CustomGeometrySegment, b7 as EffectDagBlend, b8 as EffectDagBlendMode, b9 as EffectDagContainer, ba as EffectDagContainerType, bb as EffectDagNode, bc as EffectDagRawLeaf, bd as EffectDagRelOff, be as EffectDagXfrm, bf as ElementActionType, bg as MasterViewTab, bh as MaterialPresetType, bi as MediaCaptionTrack, bj as MediaMetadata, bk as Model3DPptxElement, bl as ParsedTableStyleEntry, bm as PicturePptxElement, bn as Pptx3DScene, bo as Pptx3DShape, bp as PptxAfterAnimationAction, bq as PptxAnimationDirection, br as PptxAnimationIterate, bs as PptxAnimationKeyframe, bt as PptxAnimationRepeatMode, bu as PptxAnimationSequence, bv as PptxAnimationTimingCurve, bw as PptxChartAxisNumFmt, bx as PptxChartErrBarDir, by as PptxChartErrBarType, bz as PptxChartErrValType, bA as PptxChartMarkerSymbol, bB as PptxChartTrendlineType, bC as PptxColorAnimation, bD as PptxCommonSlideViewProperties, bE as PptxCropShape, bF as PptxCustomPathProperties, bG as PptxElementBase, bH as PptxElementType, bI as PptxExportFormat, bJ as PptxGraphicFrameExtension, bK as PptxHeaderFooterFlags, bL as PptxImageProperties, bM as PptxMediaType, bN as PptxNativeAnimationKind, bO as PptxNormalViewProperties, bP as PptxRestoredRegion, bQ as PptxShapeProperties, bR as PptxSmartArtConnection, bS as PptxSplitDirection, bT as PptxSplitOrientation, bU as PptxStripDirection, bV as PptxTableCell, bW as PptxTableRow, bX as PptxTag, bY as PptxTextAnimationTarget, bZ as PptxTextBuildType, b_ as PptxTextProperties, b$ as PptxTextWarpPreset, c0 as PptxThemeFontGroup, c1 as PptxTransitionDirection4, c2 as PptxTransitionDirection8, c3 as PptxViewOrigin, c4 as PptxViewScale, c5 as ShadowEffect, c6 as SmartArtColorScheme, c7 as SmartArtLayout, c8 as SmartArtStyle, c9 as THEME_COLOR_SCHEME_KEYS, ca as TRANSITION_VALID_DIRECTIONS, cb as Text3DStyle, cc as UnderlineStyle, cd as UnknownPptxElement } from './presentation-4fhI3din.js';
3
+ import { F as FindResult, M as MergeOptions } from './text-operations-B9EwbptL.js';
4
+ export { f as findText, m as mergePresentation, r as replaceText, a as replaceTextInSlide } from './text-operations-B9EwbptL.js';
5
5
  import { XMLParser, XMLBuilder } from 'fast-xml-parser';
6
6
  import JSZip from 'jszip';
7
- export { C as CertificateRevocationStatus, D as DIGEST_ALGORITHM_TO_HASH, a as DIGEST_ALGORITHM_TO_WEB_CRYPTO, b as DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, c as DIGITAL_SIGNATURE_REL_TYPE, d as DigitalSignatureReport, e as DigitalSignatureVerificationStatus, E as ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, f as ENTERPRISE_REQUIRE_REVOCATION_ENV, g as ENTERPRISE_REQUIRE_TIMESTAMP_ENV, h as ENTERPRISE_TRUST_ROOTS_FILE_ENV, i as ENTERPRISE_TRUST_ROOTS_PEM_ENV, L as LoadedSigningMaterial, O as OPC_RELATIONSHIP_TRANSFORM, j as OfficeSignatureReference, P as PPTX_VIEWER_MANIFEST_NS, k as ParsedReferenceTransform, R as ReferenceTransformResult, S as SUPPORTED_XML_CANON_TRANSFORMS, l as SignOptions, m as SignResult, n as SignatureDetail, o as SignatureDetailStatus, p as SignatureNodeCertificateInfo, q as SignatureReferenceCheck, r as SignatureValidationPolicy, T as TimestampAuthorityStatus, X as XMLDSIG_NS, s as XML_TRANSFORM_ENVELOPED_SIGNATURE, t as computeDetailStatus, u as computeDigestBase64WebCrypto, v as computeVerificationStatus, w as escapeXmlAttr, x as extractAllTagText, y as extractFirstTagText, z as extractTagAttribute, A as normalizePartPath, B as resolveReferenceUriToPart } from './signature-inspection-status-BcJSdOvb.js';
7
+ export { C as CertificateRevocationStatus, D as DIGEST_ALGORITHM_TO_HASH, a as DIGEST_ALGORITHM_TO_WEB_CRYPTO, b as DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, c as DIGITAL_SIGNATURE_REL_TYPE, d as DigitalSignatureReport, e as DigitalSignatureVerificationStatus, E as ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, f as ENTERPRISE_REQUIRE_REVOCATION_ENV, g as ENTERPRISE_REQUIRE_TIMESTAMP_ENV, h as ENTERPRISE_TRUST_ROOTS_FILE_ENV, i as ENTERPRISE_TRUST_ROOTS_PEM_ENV, L as LoadedSigningMaterial, O as OPC_RELATIONSHIP_TRANSFORM, j as OfficeSignatureReference, P as PPTX_VIEWER_MANIFEST_NS, k as ParsedReferenceTransform, R as ReferenceTransformResult, S as SUPPORTED_XML_CANON_TRANSFORMS, l as SignOptions, m as SignResult, n as SignatureDetail, o as SignatureDetailStatus, p as SignatureNodeCertificateInfo, q as SignatureReferenceCheck, r as SignatureValidationPolicy, T as TimestampAuthorityStatus, X as XMLDSIG_NS, s as XML_TRANSFORM_ENVELOPED_SIGNATURE, t as computeDetailStatus, u as computeDigestBase64WebCrypto, v as computeVerificationStatus, w as escapeXmlAttr, x as escapeXmlText, y as extractAllTagText, z as extractFirstTagText, A as extractTagAttribute, B as isValidBase64, F as normalizePartPath, G as resolveReferenceUriToPart } from './signature-inspection-status-BCUpfCQh.js';
8
8
  export { convertEmfToDataUrl, convertWmfToDataUrl } from 'emf-converter';
9
- export { C as ConversionOptions, a as ConversionResult, D as DocumentConverter, F as FileSystemAdapter, M as MediaContext, P as PptxConverterOptions, b as PptxMarkdownConverter, S as SlideProcessor, c as SlideProcessorOptions, d as SvgExportOptions, e as SvgExporter, f as dataUrlToMediaBytes, g as deriveOutputPath, h as generateMediaFilename, i as getDirectory, n as normalizePath } from './SvgExporter-0TxiiorD.js';
9
+ export { C as ConversionOptions, a as ConversionResult, D as DocumentConverter, F as FileSystemAdapter, M as MediaContext, P as PptxConverterOptions, b as PptxMarkdownConverter, S as SlideProcessor, c as SlideProcessorOptions, d as SvgExportOptions, e as SvgExporter, f as dataUrlToMediaBytes, g as deriveOutputPath, h as generateMediaFilename, i as getDirectory, n as normalizePath } from './SvgExporter-CTDG-t_z.js';
10
10
 
11
11
  /**
12
12
  * Runtime type guards for narrowing the {@link PptxElement} union.
@@ -839,6 +839,48 @@ declare class PptxSlideNotesBuilder {
839
839
  interface PptxHandlerLoadOptions {
840
840
  eagerDecodeImages?: boolean;
841
841
  password?: string;
842
+ /**
843
+ * Maximum total uncompressed bytes accepted from the input ZIP archive.
844
+ * Defaults to 500 MiB. When the sum of `_data.uncompressedSize` across
845
+ * all archive entries exceeds this cap, `load()` rejects with a
846
+ * {@link ZipBombError}. A hard cap of 65 536 archive entries also
847
+ * applies.
848
+ */
849
+ maxUncompressedBytes?: number;
850
+ /**
851
+ * When `false` (default), relationship targets that resolve to
852
+ * `http://` or `https://` URLs are dropped from rendered slides
853
+ * (image, picture, background). Set to `true` to allow external image
854
+ * URLs to flow through to `<img src>`.
855
+ *
856
+ * Disabled by default to mitigate SSRF / privacy-leak vectors in
857
+ * server-side rendering and headless export pipelines.
858
+ */
859
+ allowExternalImages?: boolean;
860
+ }
861
+ /**
862
+ * Default maximum uncompressed byte budget for {@link PptxHandlerLoadOptions.maxUncompressedBytes}.
863
+ * 500 MiB.
864
+ */
865
+ declare const DEFAULT_MAX_UNCOMPRESSED_BYTES: number;
866
+ /**
867
+ * Hard cap on archive entry count. Beyond this, the package is rejected.
868
+ */
869
+ declare const MAX_ZIP_ENTRY_COUNT = 65536;
870
+ /**
871
+ * Thrown by the load pipeline when a ZIP archive exceeds the configured
872
+ * uncompressed-size budget or the entry-count limit.
873
+ */
874
+ declare class ZipBombError extends Error {
875
+ readonly code = "ZIP_BOMB";
876
+ readonly uncompressedBytes: number | undefined;
877
+ readonly limit: number;
878
+ readonly entryCount: number | undefined;
879
+ constructor(message: string, details: {
880
+ uncompressedBytes?: number;
881
+ limit: number;
882
+ entryCount?: number;
883
+ });
842
884
  }
843
885
  /** Output format for the save pipeline. */
844
886
  type PptxSaveFormat = 'pptx' | 'ppsx' | 'pptm';
@@ -854,6 +896,20 @@ interface PptxHandlerSaveOptions {
854
896
  notesMaster?: PptxNotesMaster;
855
897
  /** Updated handout master data to save back to handoutMaster1.xml. */
856
898
  handoutMaster?: PptxHandoutMaster;
899
+ /**
900
+ * Updated slide masters to save back to ppt/slideMasters/slideMaster*.xml.
901
+ * Each entry in the array applies typed mutations (clrMap, hf flags,
902
+ * background) to the master at its `path`. Masters not listed here pass
903
+ * through verbatim from the original load.
904
+ */
905
+ slideMasters?: PptxSlideMaster[];
906
+ /**
907
+ * Updated slide layouts to save back to ppt/slideLayouts/slideLayout*.xml.
908
+ * Each entry applies typed mutations (clrMapOverride, attrs, hf flags,
909
+ * background) to the layout at its `path`. Layouts not listed here pass
910
+ * through verbatim from the original load.
911
+ */
912
+ slideLayouts?: PptxSlideLayout[];
857
913
  /** Updated tag collections to save back to ppt/tags/tag*.xml. */
858
914
  tags?: PptxTagCollection[];
859
915
  /** Photo album metadata to save back to `p:photoAlbum`. */
@@ -864,6 +920,14 @@ interface PptxHandlerSaveOptions {
864
920
  modifyVerifier?: PptxModifyVerifier | null;
865
921
  /** View properties to save back to ppt/viewProps.xml. */
866
922
  viewProperties?: PptxViewProperties;
923
+ /**
924
+ * Table style edits to save back to `ppt/tableStyles.xml`. Pass the
925
+ * `tableStyleMap` from `PptxData` (optionally with edited entries)
926
+ * to persist user edits. The `def` GUID and any unmodelled XML are
927
+ * preserved verbatim. Omitting the option round-trips the original
928
+ * part untouched.
929
+ */
930
+ tableStyles?: ParsedTableStyleMap;
867
931
  /**
868
932
  * Target output format.
869
933
  * - `'pptx'` (default): Standard presentation.
@@ -1188,6 +1252,10 @@ interface PptxSlideLoaderParams {
1188
1252
  extractSlideComments: (slidePath: string) => Promise<PptxComment[]>;
1189
1253
  /** Extract modern (Office 2021+) threaded comments from a slide. */
1190
1254
  extractModernSlideComments: (slidePath: string) => Promise<PptxComment[]>;
1255
+ /** Extract a structured pattern fill (`<a:pattFill>`) from slide bg. */
1256
+ extractBackgroundPattern: (slideXml: XmlObject) => PptxSlideBackgroundPattern | undefined;
1257
+ /** Extract the `<p:bgPr/@shadeToTitle>` flag from slide bg. */
1258
+ extractBackgroundShadeToTitle: (slideXml: XmlObject) => boolean | undefined;
1191
1259
  /** Check whether background shapes should animate. */
1192
1260
  extractBackgroundShowAnimation: (slideXml: XmlObject) => boolean | undefined;
1193
1261
  /** Check whether master slide shapes should be shown. */
@@ -1438,6 +1506,23 @@ declare class PptxNativeAnimationService implements IPptxNativeAnimationService
1438
1506
  * @param currentTrigger - Inherited trigger type from parent context.
1439
1507
  */
1440
1508
  private walkTimingTree;
1509
+ /**
1510
+ * Walk the timing tree for `p:audio` / `p:video` nodes and emit a
1511
+ * `kind: 'media'` PptxNativeAnimation entry per media node, capturing the
1512
+ * target shape id, optional `afterEffect` flag, and opaque round-trip
1513
+ * cTn attributes. This puts media playback nodes in the same typed list
1514
+ * as preset-driven animations so callers can reason about timeline order.
1515
+ *
1516
+ * Trim values, fade durations, bookmarks etc. are intentionally NOT
1517
+ * captured here — they remain owned by
1518
+ * `PptxHandlerRuntimeMediaTimingParsing`'s media-timing map.
1519
+ */
1520
+ private parseMediaAnimations;
1521
+ /**
1522
+ * Recursively descend into the timing tree and push a media-kind entry
1523
+ * for each `p:audio` / `p:video` node found.
1524
+ */
1525
+ private collectMediaNodes;
1441
1526
  /**
1442
1527
  * Extract text-level animation target (character or paragraph range)
1443
1528
  * from a `p:cTn` node's child animation behavior elements.
@@ -1509,12 +1594,37 @@ declare class PptxSlideTransitionService implements IPptxSlideTransitionService
1509
1594
  private readonly getXmlLocalName;
1510
1595
  constructor(options: PptxSlideTransitionServiceOptions);
1511
1596
  parseSlideTransition(slideXml: XmlObject | undefined): PptxSlideTransition | undefined;
1597
+ /**
1598
+ * Detects the PowerPoint 2016+ `morph` transition stored as a p159 extension
1599
+ * inside the transition's extLst.
1600
+ */
1601
+ private parseMorphFromExtLst;
1512
1602
  buildSlideTransitionXml(transition: PptxSlideTransition): XmlObject | undefined;
1603
+ /**
1604
+ * Build the extLst XML node for a morph (p159) transition, preserving any
1605
+ * non-morph extensions from rawExtLst.
1606
+ */
1607
+ private buildMorphExtLst;
1513
1608
  }
1514
1609
 
1515
1610
  /**
1516
1611
  * OOXML animation preset mappings and helper functions for the animation
1517
1612
  * write service.
1613
+ *
1614
+ * `PRESET_TO_OOXML` is the forward lookup used when serialising an editor
1615
+ * animation back to OOXML — it maps a typed preset name (e.g. `flyIn`) to
1616
+ * the `(presetClass, presetID, defaultSubtype)` tuple PowerPoint expects.
1617
+ *
1618
+ * `OOXML_TO_PRESET_*` are reverse lookups used when parsing native OOXML
1619
+ * timing back to a typed name. They are keyed by `presetID` integer per
1620
+ * `presetClass`. The reverse table holds the canonical typed name for each
1621
+ * presetID; aliases (e.g. `bounce` and `pulse` both mapping to emph 26)
1622
+ * are intentionally excluded from the reverse direction so parsing produces
1623
+ * a stable, single-valued result.
1624
+ *
1625
+ * Round-trip is preserved by `PptxNativeAnimation.presetId` (the raw integer)
1626
+ * even when no typed name exists; this module is the bridge for the typed
1627
+ * names PowerPoint emits across its built-in preset library.
1518
1628
  */
1519
1629
 
1520
1630
  /**
@@ -1526,7 +1636,31 @@ interface OoxmlPresetMapping {
1526
1636
  /** Default OOXML preset subtype (direction variant). */
1527
1637
  defaultSubtype: number;
1528
1638
  }
1639
+ /**
1640
+ * Forward lookup: editor preset name -> OOXML mapping.
1641
+ *
1642
+ * Existing typed names (e.g. `flyIn`, `fadeIn`, `pulse`) are preserved for
1643
+ * compatibility with `PptxAnimationPreset` and existing serialisation
1644
+ * tests. Additional canonical PowerPoint preset names are appended so the
1645
+ * round-trip can name and re-emit the full library.
1646
+ */
1529
1647
  declare const PRESET_TO_OOXML: Record<string, OoxmlPresetMapping>;
1648
+ declare const OOXML_TO_PRESET_ENTR: Record<number, string>;
1649
+ declare const OOXML_TO_PRESET_EXIT: Record<number, string>;
1650
+ declare const OOXML_TO_PRESET_EMPH: Record<number, string>;
1651
+ /**
1652
+ * Reverse lookup: resolve a parsed `(presetClass, presetID)` pair to the
1653
+ * canonical typed preset name (the key of `PRESET_TO_OOXML`).
1654
+ *
1655
+ * @returns the typed preset name, or `undefined` if the combination is
1656
+ * unknown. Path-class presets always return `undefined` because their
1657
+ * integer IDs are not standardised; round-trip is preserved via the
1658
+ * raw `presetID` and `motionPath` SVG string instead.
1659
+ */
1660
+ declare function ooxmlToPresetName(args: {
1661
+ presetClass: 'entr' | 'exit' | 'emph' | 'path';
1662
+ presetId: number;
1663
+ }): string | undefined;
1530
1664
  interface IPptxAnimationWriteService {
1531
1665
  buildTimingXml(animations: PptxElementAnimation[], existingRawTiming: XmlObject | undefined): XmlObject | undefined;
1532
1666
  }
@@ -1689,10 +1823,12 @@ declare function cloneSlide(slide: PptxSlide): PptxSlide;
1689
1823
  */
1690
1824
  declare function cloneTemplateElementsBySlideId(templateElementsBySlideId: Record<string, PptxElement[]>): Record<string, PptxElement[]>;
1691
1825
  /**
1692
- * Deep-clone an {@link XmlObject} tree using JSON round-trip serialisation.
1826
+ * Deep-clone an {@link XmlObject} tree.
1693
1827
  *
1694
- * This is a simple but reliable approach for pure-data XML objects.
1695
- * Returns `undefined` if cloning fails (e.g. circular references).
1828
+ * Prefers the structured clone algorithm (faster, preserves more types)
1829
+ * with a JSON round-trip fallback for legacy runtimes that lack
1830
+ * {@link structuredClone}. Returns `undefined` if cloning fails
1831
+ * (e.g. circular references on the JSON path).
1696
1832
  *
1697
1833
  * @param value - The XML object tree to clone.
1698
1834
  * @returns A deep copy, or `undefined` on failure.
@@ -1975,14 +2111,31 @@ declare function parseDataUrlToBytes(dataUrl: string): {
1975
2111
  bytes: Uint8Array;
1976
2112
  extension: string;
1977
2113
  } | null;
2114
+ /**
2115
+ * Options for {@link fetchUrlToBytes}.
2116
+ *
2117
+ * `allowExternalFetch` (default `false`) gates `http:`/`https:` URLs to
2118
+ * prevent SSRF during save: a deck whose mediaData was populated by an
2119
+ * untrusted source could otherwise force the host to issue arbitrary HTTP
2120
+ * requests (e.g. to cloud-metadata endpoints).
2121
+ *
2122
+ * `allowedSchemes` further constrains the accepted URL schemes. The default
2123
+ * permits only `pptx-resource:`, `blob:`, and `data:` — schemes that cannot
2124
+ * reach a remote network.
2125
+ */
2126
+ interface FetchUrlToBytesOptions {
2127
+ allowExternalFetch?: boolean;
2128
+ allowedSchemes?: ReadonlySet<string>;
2129
+ }
1978
2130
  /**
1979
2131
  * Resolve a media source URL (pptx-resource://, blob:, http(s)://) to raw
1980
- * bytes by fetching it. Returns null on failure.
2132
+ * bytes by fetching it. Returns null on failure or when the URL scheme is
2133
+ * not permitted by {@link FetchUrlToBytesOptions}.
1981
2134
  *
1982
2135
  * This is used during PPTX save to embed media that was streamed from disk
1983
2136
  * (via pptx-resource:// URLs) rather than stored as base64 data URLs.
1984
2137
  */
1985
- declare function fetchUrlToBytes(url: string): Promise<{
2138
+ declare function fetchUrlToBytes(url: string, options?: FetchUrlToBytesOptions): Promise<{
1986
2139
  bytes: Uint8Array;
1987
2140
  extension: string;
1988
2141
  } | null>;
@@ -3476,11 +3629,19 @@ declare function applyKinsokuToXml(presentation: XmlObject, kinsoku: PptxKinsoku
3476
3629
 
3477
3630
  /**
3478
3631
  * Parse additional boolean body properties from a:bodyPr attributes.
3479
- * Handles: compatLnSpc, forceAA, upright, fromWordArt
3632
+ *
3633
+ * Handles the boolean / numeric attributes defined on
3634
+ * CT_TextBodyProperties that aren't mapped elsewhere in the runtime:
3635
+ * `compatLnSpc`, `forceAA`, `upright`, `fromWordArt`,
3636
+ * `spcFirstLastPara`, `anchorCtr`, `rtlCol`, and `rot` (degrees).
3480
3637
  */
3481
3638
  declare function parseBodyPrBooleanAttrs(bodyPr: XmlObject, textStyle: TextStyle): void;
3482
3639
  /**
3483
3640
  * Write body property boolean attributes to bodyPr XML object.
3641
+ *
3642
+ * Mirrors {@link parseBodyPrBooleanAttrs} — only emits attributes that the
3643
+ * caller explicitly authored. `rtlCol` is intentionally not defaulted here
3644
+ * so callers can preserve the loaded value when the model is undefined.
3484
3645
  */
3485
3646
  declare function writeBodyPrBooleanAttrs(bodyPr: XmlObject, textStyle: TextStyle | undefined): void;
3486
3647
 
@@ -4165,11 +4326,24 @@ declare function resolveTableCellStyle(rowIndex: number, colIndex: number, total
4165
4326
  * This catalog is consumed by the animation pane to populate
4166
4327
  * the "Add Animation" dropdown menus.
4167
4328
  *
4329
+ * The `presetId` strings encode the OOXML preset class and integer ID
4330
+ * separated by a dot (e.g. `entr.1` = entrance presetID 1 = "Appear").
4331
+ * Motion-path entries use a stable string key (`path.<shape>.<variant>`)
4332
+ * because the OOXML motion-path presetID is informational only — the
4333
+ * actual SVG path is carried in `p:animMotion/@path`.
4334
+ *
4335
+ * The list is intentionally broad: it covers the full PowerPoint
4336
+ * preset library (entrance, emphasis, exit, motion path) so editors
4337
+ * and renderers can name and offer the presets. Round-trip integrity
4338
+ * for unknown presets is preserved by the raw `presetID` field on
4339
+ * `PptxNativeAnimation`; this catalog provides typed names for the
4340
+ * presets PowerPoint emits.
4341
+ *
4168
4342
  * @module utils/animation-preset-catalog
4169
4343
  */
4170
4344
  type AnimationCategory = 'entrance' | 'exit' | 'emphasis' | 'motionPath';
4171
4345
  interface AnimationPresetInfo {
4172
- /** OOXML preset class id (e.g. "entr.1" for appear). */
4346
+ /** Unique preset key. For entr/exit/emph this is `<class>.<presetID>`. */
4173
4347
  presetId: string;
4174
4348
  /** Human-readable label for the UI. */
4175
4349
  label: string;
@@ -4197,6 +4371,22 @@ declare function getAnimationPresetInfo(presetId: string): AnimationPresetInfo |
4197
4371
  * Get all presets for a given category.
4198
4372
  */
4199
4373
  declare function getPresetsByCategory(category: AnimationCategory): AnimationPresetInfo[];
4374
+ /**
4375
+ * Resolve native OOXML preset metadata from a parsed `(presetClass, presetId)`
4376
+ * pair to the typed catalog entry. Returns `undefined` for unknown
4377
+ * combinations — callers should fall back to the raw `presetID` for
4378
+ * round-trip preservation.
4379
+ *
4380
+ * @example
4381
+ * ```ts
4382
+ * getNativeAnimationPresetMetadata({ presetClass: "entr", presetId: 10 });
4383
+ * // => { presetId: "entr.10", label: "Fade", category: "entrance", ... }
4384
+ * ```
4385
+ */
4386
+ declare function getNativeAnimationPresetMetadata(args: {
4387
+ presetClass: 'entr' | 'exit' | 'emph' | 'path';
4388
+ presetId: number;
4389
+ }): AnimationPresetInfo | undefined;
4200
4390
 
4201
4391
  /**
4202
4392
  * SmartArt relayout on edit.
@@ -4849,6 +5039,22 @@ declare class PptxTableDataParser implements IPptxTableDataParser {
4849
5039
  * Accept all three; the spec form takes precedence.
4850
5040
  */
4851
5041
  private extractTableStyleId;
5042
+ /**
5043
+ * CT_TableProperties §21.1.3.15 declares `bandRowCycle` / `bandColCycle`
5044
+ * as either an attribute (`@_bandRowCycle`) or a child element
5045
+ * (`<a:bandRowCycle val="N"/>`). Read both forms; return `undefined` to
5046
+ * let the caller fall back to the spec default of 1.
5047
+ */
5048
+ private extractBandCycle;
5049
+ /**
5050
+ * Capture `a:tcPr` attributes that don't yet have typed equivalents on
5051
+ * {@link PptxTableCellStyle} so they survive a round-trip
5052
+ * (`horzOverflow`, `anchorCtr`, `headers`, `hideSlicers`,
5053
+ * `slicerCacheId`). Returns the attribute name (without the `@_` prefix
5054
+ * fast-xml-parser adds) → string-value map, or undefined when none of
5055
+ * the recognised opaque attributes are present.
5056
+ */
5057
+ private extractCellExtraAttributes;
4852
5058
  private extractTableCellText;
4853
5059
  private extractTableCellStyleFromXml;
4854
5060
  }
@@ -5135,7 +5341,7 @@ declare class PptxElementXmlBuilder {
5135
5341
  * the constructor of the final concrete class
5136
5342
  * ({@link PptxHandlerRuntimeImplementation}).
5137
5343
  */
5138
- declare class PptxHandlerRuntime$1b {
5344
+ declare class PptxHandlerRuntime$1g {
5139
5345
  /** The in-memory ZIP archive representing the OPC (.pptx) package. */
5140
5346
  protected zip: JSZip;
5141
5347
  /** fast-xml-parser instance used to parse XML strings into JS objects. */
@@ -5177,6 +5383,12 @@ declare class PptxHandlerRuntime$1b {
5177
5383
  * images are decoded lazily on first access via {@link getImageData}.
5178
5384
  */
5179
5385
  protected eagerDecodeImages: boolean;
5386
+ /**
5387
+ * When true, relationship targets pointing at `http://` / `https://`
5388
+ * URLs are passed through to `<img src>`. Default `false`. Mirrors the
5389
+ * `allowExternalImages` load option.
5390
+ */
5391
+ protected allowExternalImages: boolean;
5180
5392
  /** Ordered slide file paths (populated during load for action target resolution). */
5181
5393
  protected orderedSlidePaths: string[];
5182
5394
  /** Theme colour scheme map: scheme key (e.g. "dk1", "accent1") -> hex colour value. */
@@ -5453,7 +5665,7 @@ declare class PptxHandlerRuntime$1b {
5453
5665
  protected restoreOriginalParser(): void;
5454
5666
  }
5455
5667
 
5456
- declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
5668
+ declare class PptxHandlerRuntime$1f extends PptxHandlerRuntime$1g {
5457
5669
  /**
5458
5670
  * Export slides to a raster/vector format.
5459
5671
  *
@@ -5475,6 +5687,12 @@ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
5475
5687
  * Derive the dominant accent key from a set of table style fills.
5476
5688
  */
5477
5689
  protected deriveTableStyleAccentKey(...fills: (ParsedTableStyleFill | undefined)[]): string | undefined;
5690
+ /**
5691
+ * Extract `<a:tblBg>` children: an inline fill (best-effort scheme-fill
5692
+ * resolution) plus a flag for `<a:effectLst>` so the save path can
5693
+ * round-trip the original effect XML.
5694
+ */
5695
+ protected extractTableBackground(tblBg: XmlObject | undefined): ParsedTableBackground | undefined;
5478
5696
  /**
5479
5697
  * Extract fill information from a table style section element
5480
5698
  * (e.g. `a:wholeTbl`, `a:band1H`, `a:firstRow`).
@@ -5491,7 +5709,7 @@ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
5491
5709
  protected parseTableStyles(): Promise<ParsedTableStyleMap | undefined>;
5492
5710
  }
5493
5711
 
5494
- declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
5712
+ declare class PptxHandlerRuntime$1e extends PptxHandlerRuntime$1f {
5495
5713
  /**
5496
5714
  * Write or remove a single `a:hlinkClick` / `a:hlinkHover` node on
5497
5715
  * a `p:cNvPr` parent.
@@ -5514,7 +5732,7 @@ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
5514
5732
  protected serializeShapeLocks(shape: XmlObject, el: PptxElement): void;
5515
5733
  }
5516
5734
 
5517
- declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
5735
+ declare class PptxHandlerRuntime$1d extends PptxHandlerRuntime$1e {
5518
5736
  /**
5519
5737
  * Parse a single `a:hlinkClick` or `a:hlinkHover` node into a `PptxAction`.
5520
5738
  */
@@ -5553,7 +5771,7 @@ interface MediaTimingData {
5553
5771
  /** Playback speed multiplier (1 = normal). From p14:media/@spd (percentage * 1000). */
5554
5772
  playbackSpeed?: number;
5555
5773
  }
5556
- declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
5774
+ declare class PptxHandlerRuntime$1c extends PptxHandlerRuntime$1d {
5557
5775
  /**
5558
5776
  * Extract image recolour/brightness/contrast/artistic effects from blip extensions.
5559
5777
  */
@@ -5574,7 +5792,7 @@ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
5574
5792
  protected resolveRelationshipTarget(sourcePath: string, rId: string): string | undefined;
5575
5793
  }
5576
5794
 
5577
- declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
5795
+ declare class PptxHandlerRuntime$1b extends PptxHandlerRuntime$1c {
5578
5796
  /**
5579
5797
  * Recursively walk the timing tree looking for `p:video` and `p:audio`
5580
5798
  * nodes that contain `p:cMediaNode`.
@@ -5602,7 +5820,7 @@ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
5602
5820
  getMediaArrayBuffer(mediaPath: string): Promise<ArrayBuffer | undefined>;
5603
5821
  }
5604
5822
 
5605
- declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
5823
+ declare class PptxHandlerRuntime$1a extends PptxHandlerRuntime$1b {
5606
5824
  /**
5607
5825
  * Convert raw image bytes to a URL suitable for <img src>.
5608
5826
  * Uses Blob URLs in browsers (avoids 33% base64 overhead),
@@ -5614,7 +5832,7 @@ declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
5614
5832
  * Enrich parsed media elements with timing data from the slide's
5615
5833
  * `p:timing` tree (trim, loop, poster frame, fullScreen).
5616
5834
  */
5617
- protected enrichMediaElementsWithTiming(elements: PptxElement[], timingMap: Map<string, MediaTimingData>): Promise<void>;
5835
+ protected enrichMediaElementsWithTiming(elements: PptxElement[], timingMap: Map<string, MediaTimingData>, depth?: number): Promise<void>;
5618
5836
  /**
5619
5837
  * Parse native OOXML animations from `p:sld/p:timing`.
5620
5838
  * Extracts trigger types, preset classes, durations, and target IDs.
@@ -5622,7 +5840,7 @@ declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
5622
5840
  protected parseNativeAnimations(slideXml: XmlObject): PptxNativeAnimation[] | undefined;
5623
5841
  }
5624
5842
 
5625
- declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
5843
+ declare class PptxHandlerRuntime$19 extends PptxHandlerRuntime$1a {
5626
5844
  protected buildRelativeTargetPath(fromPartPath: string, toPartPath: string): string;
5627
5845
  protected setMasterThemeRelationship(masterPath: string, themePath: string): Promise<void>;
5628
5846
  setPresentationTheme(themePath: string, applyToAllMasters?: boolean): Promise<void>;
@@ -5678,7 +5896,7 @@ declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
5678
5896
  protected parseTags(): Promise<PptxTagCollection[]>;
5679
5897
  }
5680
5898
 
5681
- declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
5899
+ declare class PptxHandlerRuntime$18 extends PptxHandlerRuntime$19 {
5682
5900
  /**
5683
5901
  * Parse background colour from a `p:bg` node.
5684
5902
  */
@@ -5690,6 +5908,13 @@ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
5690
5908
  type: string;
5691
5909
  idx?: string;
5692
5910
  }>;
5911
+ /**
5912
+ * Allowed top-level OPC archive directories (Load M1).
5913
+ * After path resolution, the first segment must be one of these or the
5914
+ * path is rejected as a traversal attempt. PPTX archives only ever
5915
+ * legitimately reference parts under these roots.
5916
+ */
5917
+ private static readonly ALLOWED_PATH_ROOTS;
5693
5918
  protected resolvePath(base: string, relative: string): string;
5694
5919
  protected resolveImagePath(slidePath: string, target: string): string;
5695
5920
  /**
@@ -5714,7 +5939,7 @@ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
5714
5939
  protected parseCustomShows(): PptxCustomShow[] | undefined;
5715
5940
  }
5716
5941
 
5717
- declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
5942
+ declare class PptxHandlerRuntime$17 extends PptxHandlerRuntime$18 {
5718
5943
  /**
5719
5944
  * Parse presentation properties from `presentationPr.xml`.
5720
5945
  * Extracts show type, loop, narration, animation, and print settings.
@@ -5733,7 +5958,7 @@ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
5733
5958
  protected toSlideRelsPath(slidePath: string): string;
5734
5959
  }
5735
5960
 
5736
- declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
5961
+ declare class PptxHandlerRuntime$16 extends PptxHandlerRuntime$17 {
5737
5962
  protected createEmptySlideXml(): XmlObject;
5738
5963
  protected deepCloneXml(value: XmlObject | undefined): XmlObject | undefined;
5739
5964
  protected findSourceSlidePath(requestedSourcePath: string | undefined): string | undefined;
@@ -5767,16 +5992,16 @@ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
5767
5992
  protected createLineSpacingXmlFromMultiplier(lineSpacing: number | undefined): XmlObject | undefined;
5768
5993
  }
5769
5994
 
5770
- declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
5995
+ declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
5771
5996
  protected createRunPropertiesFromTextStyle(style: TextStyle | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject;
5772
5997
  private applyHyperlinkExtraAttrs;
5773
5998
  }
5774
5999
 
5775
- declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
6000
+ declare class PptxHandlerRuntime$14 extends PptxHandlerRuntime$15 {
5776
6001
  protected createParagraphsFromTextContent(text: string | undefined, textStyle: TextStyle | undefined, textSegments: TextSegment[] | undefined, resolveHyperlinkRelationshipId?: (target: string) => string | undefined): XmlObject[];
5777
6002
  }
5778
6003
 
5779
- declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
6004
+ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
5780
6005
  protected updateNotesXmlText(notesXmlObj: XmlObject, notesText: string | undefined, notesSegments?: TextSegment[]): boolean;
5781
6006
  protected createPictureXml(el: PptxImageLikeElement, relationshipId: string): XmlObject;
5782
6007
  protected createMediaGraphicFrameXml(el: MediaPptxElement, relationshipId: string): XmlObject;
@@ -5788,7 +6013,7 @@ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
5788
6013
  protected createConnectorXml(el: ConnectorPptxElement): XmlObject;
5789
6014
  }
5790
6015
 
5791
- declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
6016
+ declare class PptxHandlerRuntime$12 extends PptxHandlerRuntime$13 {
5792
6017
  /**
5793
6018
  * Build a `p:graphicFrame` XML skeleton for an SDK-created table.
5794
6019
  *
@@ -5848,7 +6073,7 @@ declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
5848
6073
  protected buildGroupShapeXml(group: GroupPptxElement): XmlObject | null;
5849
6074
  }
5850
6075
 
5851
- declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6076
+ declare class PptxHandlerRuntime$11 extends PptxHandlerRuntime$12 {
5852
6077
  protected clampCropForSave(value: unknown): number;
5853
6078
  protected applyImageCropToBlipFill(blipFill: XmlObject | undefined, element: PptxImageLikeElement): void;
5854
6079
  protected applyImageEffectsToBlip(blipFill: XmlObject | undefined, effects: PptxImageEffects | undefined): void;
@@ -5870,7 +6095,7 @@ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
5870
6095
  protected getTextValueForSave(text: string | undefined, textSegments: TextSegment[] | undefined): string;
5871
6096
  }
5872
6097
 
5873
- declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6098
+ declare class PptxHandlerRuntime$10 extends PptxHandlerRuntime$11 {
5874
6099
  protected textStylesEqual(left: TextStyle | undefined, right: TextStyle | undefined): boolean;
5875
6100
  protected hasMixedTextStyles(textSegments: TextSegment[]): boolean;
5876
6101
  protected areTextSegmentsUniform(textSegments: TextSegment[] | undefined): boolean;
@@ -5882,7 +6107,7 @@ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
5882
6107
  protected compactTextSegments(textSegments: TextSegment[], fallbackStyle: TextStyle | undefined): TextSegment[];
5883
6108
  }
5884
6109
 
5885
- declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6110
+ declare class PptxHandlerRuntime$$ extends PptxHandlerRuntime$10 {
5886
6111
  /**
5887
6112
  * Parse hyperlink-related properties (a:hlinkClick, a:hlinkMouseOver) from
5888
6113
  * run-level XML and apply them to the given TextStyle.
@@ -5893,9 +6118,24 @@ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
5893
6118
  * and reflection — and apply them to the given TextStyle.
5894
6119
  */
5895
6120
  protected applyTextRunEffects(style: TextStyle, runEffectList: XmlObject): void;
6121
+ /**
6122
+ * Parse `a:effectDag` on `a:rPr` (run-level effect graph) and attach both
6123
+ * the raw XML (for verbatim round-trip) and a typed structural tree to
6124
+ * the given TextStyle. ECMA-376 §21.1.2.3.6 lists `a:effectDag` as a
6125
+ * valid alternative to `a:effectLst` inside CT_TextCharacterProperties;
6126
+ * historically the codebase ignored it on the run side, so any preset
6127
+ * carrying a run-level DAG would lose its effects on save.
6128
+ *
6129
+ * The four structural container nodes (`a:cont`, `a:blend`,
6130
+ * `a:xfrmEffect`, `a:relOff`) are parsed into a typed
6131
+ * {@link import('../../types').EffectDagContainer} tree; everything else
6132
+ * (e.g. `a:outerShdw`, `a:glow`, `a:alphaInv`) is captured opaquely as
6133
+ * raw XML so we don't duplicate the entire effect taxonomy here.
6134
+ */
6135
+ protected applyTextRunEffectDag(style: TextStyle, runProperties: XmlObject): void;
5896
6136
  }
5897
6137
 
5898
- declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6138
+ declare class PptxHandlerRuntime$_ extends PptxHandlerRuntime$$ {
5899
6139
  protected extractTextRunStyle(runProperties: XmlObject | undefined, align: TextStyle['align'], relationshipMap?: Map<string, string>): TextStyle;
5900
6140
  /**
5901
6141
  * Copy `@panose` / `@pitchFamily` / `@charset` from a font child node
@@ -5905,7 +6145,7 @@ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
5905
6145
  private applyTextFontMetadata;
5906
6146
  }
5907
6147
 
5908
- declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6148
+ declare class PptxHandlerRuntime$Z extends PptxHandlerRuntime$_ {
5909
6149
  protected extractTextSegmentsFromTxBodyForRewrite(txBody: XmlObject | undefined, baseStyle: TextStyle | undefined, relationshipMap?: Map<string, string>): TextSegment[];
5910
6150
  protected remapEditedTextToExistingStyles(existingSegments: TextSegment[], nextText: string, fallbackStyle: TextStyle | undefined): TextSegment[];
5911
6151
  }
@@ -5933,6 +6173,18 @@ interface PlaceholderInfo {
5933
6173
  type?: string;
5934
6174
  /** Size hint (`@_sz`) — e.g. "half", "quarter" for layout hinting. */
5935
6175
  sz?: string;
6176
+ /**
6177
+ * Orientation (`@_orient`) — only `"vert"` is meaningful per the schema
6178
+ * (`ST_Direction`). Indicates the placeholder hosts a vertically-oriented
6179
+ * text body and should preserve that on round-trip.
6180
+ */
6181
+ orient?: 'vert';
6182
+ /**
6183
+ * Whether the placeholder defines its own custom prompt text
6184
+ * (`@_hasCustomPrompt`). Defaults to `false`. Preserved so that authoring
6185
+ * tools see the same flag they wrote.
6186
+ */
6187
+ hasCustomPrompt?: boolean;
5936
6188
  }
5937
6189
  /**
5938
6190
  * Context returned when looking up a matching placeholder in a layout
@@ -6022,7 +6274,7 @@ interface BodyPropertiesResult {
6022
6274
  * by type, reposition matched placeholders, remove unmatched ones, and
6023
6275
  * inject empty placeholders that exist only in the target layout.
6024
6276
  */
6025
- declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6277
+ declare class PptxHandlerRuntime$Y extends PptxHandlerRuntime$Z {
6026
6278
  /**
6027
6279
  * Read placeholder info from a `p:nvPr` XML node.
6028
6280
  *
@@ -6082,7 +6334,7 @@ declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6082
6334
  protected createEmptyPlaceholderElement(phInfo: PlaceholderInfo, xEmu: number, yEmu: number, cxEmu: number, cyEmu: number, _layoutPath: string): PptxElement | null;
6083
6335
  }
6084
6336
 
6085
- declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6337
+ declare class PptxHandlerRuntime$X extends PptxHandlerRuntime$Y {
6086
6338
  /**
6087
6339
  * Write plain text into a table cell's txBody, preserving
6088
6340
  * existing run properties where possible.
@@ -6094,7 +6346,7 @@ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6094
6346
  protected writeTableCellStyle(xmlCell: XmlObject, style: PptxTableCellStyle): void;
6095
6347
  }
6096
6348
 
6097
- declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6349
+ declare class PptxHandlerRuntime$W extends PptxHandlerRuntime$X {
6098
6350
  /**
6099
6351
  * Serialise modified `PptxTableData` back into the graphic frame's
6100
6352
  * raw XML so that the round-tripped file preserves edits.
@@ -6130,6 +6382,29 @@ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6130
6382
  protected updateChartCacheValues(container: XmlObject, isNumeric: boolean, values: string[]): void;
6131
6383
  /** Replace the first text value found deep in the node tree. */
6132
6384
  protected replaceFirstTextValue(node: unknown, localName: string, newValue: string): boolean;
6385
+ /**
6386
+ * Upsert a `c:<localName>` child carrying only an `@_val` attribute on
6387
+ * `parent`. When `value` is `undefined` the existing child is removed.
6388
+ */
6389
+ private upsertValChild;
6390
+ /**
6391
+ * Apply ofPie options (CT_OfPieChart) onto an existing
6392
+ * `c:ofPieChart` container. Updates ofPieType, splitType, splitPos,
6393
+ * secondPieSize, gapWidth, and serLines presence.
6394
+ */
6395
+ protected applyOfPieOptions(ofPieContainer: XmlObject, options: PptxChartOfPieOptions): void;
6396
+ /**
6397
+ * Apply `c:view3D` (CT_View3D) onto the chart root. Replaces any
6398
+ * existing `c:view3D` element, preserving only the fields supplied
6399
+ * on `view3D`.
6400
+ */
6401
+ protected applyView3D(chartRoot: XmlObject, view3D: PptxChartView3D): void;
6402
+ /**
6403
+ * Apply chart chrome flags onto the chart root. Each flag is only
6404
+ * written when explicitly set on `chrome`; absent fields preserve
6405
+ * any existing element verbatim.
6406
+ */
6407
+ protected applyChartChrome(chartRoot: XmlObject, chrome: PptxChartChrome): void;
6133
6408
  /**
6134
6409
  * Map a {@link PptxChartType} to the OOXML element local name for the
6135
6410
  * chart type container (e.g. `"bar"` &rarr; `"barChart"`).
@@ -6148,7 +6423,7 @@ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6148
6423
  protected buildNewSeriesXml(seriesIndex: number, seriesData: PptxChartSeries, categories: string[], templateSeries?: XmlObject): XmlObject;
6149
6424
  }
6150
6425
 
6151
- declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6426
+ declare class PptxHandlerRuntime$V extends PptxHandlerRuntime$W {
6152
6427
  /** Pending SmartArt data updates to process during save. */
6153
6428
  protected pendingSmartArtUpdates?: Array<{
6154
6429
  element: SmartArtPptxElement;
@@ -6240,7 +6515,7 @@ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6240
6515
  protected convertZipToStrictConformance(): Promise<void>;
6241
6516
  }
6242
6517
 
6243
- declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6518
+ declare class PptxHandlerRuntime$U extends PptxHandlerRuntime$V {
6244
6519
  protected applyPresentationPropertiesPart(properties: PptxPresentationProperties | undefined): Promise<void>;
6245
6520
  /**
6246
6521
  * Strip digital signature parts from the ZIP if the document was signed.
@@ -6249,14 +6524,14 @@ declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6249
6524
  protected stripDigitalSignatures(): Promise<void>;
6250
6525
  }
6251
6526
 
6252
- declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6527
+ declare class PptxHandlerRuntime$T extends PptxHandlerRuntime$U {
6253
6528
  protected collectMediaElements(elements: PptxElement[], output: MediaPptxElement[]): void;
6254
6529
  protected getShapeIdFromRawXml(rawXml: XmlObject | undefined): string | undefined;
6255
6530
  protected applyMediaTimingToTimingTree(node: XmlObject, mediaByShapeId: Map<string, MediaPptxElement>): void;
6256
6531
  protected applyMediaTimingToRawTiming(rawTiming: XmlObject, elements: PptxElement[]): void;
6257
6532
  }
6258
6533
 
6259
- declare class PptxHandlerRuntime$N extends PptxHandlerRuntime$O {
6534
+ declare class PptxHandlerRuntime$S extends PptxHandlerRuntime$T {
6260
6535
  /**
6261
6536
  * Recursively walk an XML object tree and deduplicate extension list entries
6262
6537
  * by `@_uri`. When multiple `a:ext` or `p:ext` entries share the same URI,
@@ -6278,7 +6553,7 @@ declare class PptxHandlerRuntime$N extends PptxHandlerRuntime$O {
6278
6553
  protected ensureTemplateShapeAttached(spTree: XmlObject, elementType: PptxElement['type'], shape: XmlObject): XmlObject;
6279
6554
  }
6280
6555
 
6281
- declare class PptxHandlerRuntime$M extends PptxHandlerRuntime$N {
6556
+ declare class PptxHandlerRuntime$R extends PptxHandlerRuntime$S {
6282
6557
  /**
6283
6558
  * Serialize shape fill, stroke, dash, arrows, line join/cap/compound,
6284
6559
  * and line-level effects to the given spPr XML object.
@@ -6306,7 +6581,7 @@ declare class PptxHandlerRuntime$M extends PptxHandlerRuntime$N {
6306
6581
  private replaceRefColorChoice;
6307
6582
  }
6308
6583
 
6309
- declare class PptxHandlerRuntime$L extends PptxHandlerRuntime$M {
6584
+ declare class PptxHandlerRuntime$Q extends PptxHandlerRuntime$R {
6310
6585
  /**
6311
6586
  * Serialize visual effects (shadow, glow, reflection, blur, soft edge),
6312
6587
  * effectDag, 3D scene, and 3D shape properties to the given spPr XML object.
@@ -6314,7 +6589,7 @@ declare class PptxHandlerRuntime$L extends PptxHandlerRuntime$M {
6314
6589
  protected applyEffectsAndThreeD(spPr: XmlObject, shapeStyle: ShapeStyle): void;
6315
6590
  }
6316
6591
 
6317
- declare class PptxHandlerRuntime$K extends PptxHandlerRuntime$L {
6592
+ declare class PptxHandlerRuntime$P extends PptxHandlerRuntime$Q {
6318
6593
  /**
6319
6594
  * Build and write the text body (`p:txBody`) for shapes, text boxes,
6320
6595
  * and connectors that carry text content.
@@ -6350,7 +6625,7 @@ interface SaveSlideContext {
6350
6625
  readonly slideVideoRelationshipType: string;
6351
6626
  readonly slideAudioRelationshipType: string;
6352
6627
  }
6353
- declare class PptxHandlerRuntime$J extends PptxHandlerRuntime$K {
6628
+ declare class PptxHandlerRuntime$O extends PptxHandlerRuntime$P {
6354
6629
  /** Serialize table, chart, and SmartArt data when applicable. */
6355
6630
  protected applyDataSerialization(shape: XmlObject, el: PptxElement, slideId: string): void;
6356
6631
  /** Apply image crop, effects, and alt text for picture/image elements. */
@@ -6373,7 +6648,7 @@ interface SlideShapeCollectors {
6373
6648
  readonly model3ds: XmlObject[];
6374
6649
  readonly contentParts: XmlObject[];
6375
6650
  }
6376
- declare class PptxHandlerRuntime$I extends PptxHandlerRuntime$J {
6651
+ declare class PptxHandlerRuntime$N extends PptxHandlerRuntime$O {
6377
6652
  /** Whether a shape XML represents a graphic frame. */
6378
6653
  protected isGraphicFrameShape(shape: XmlObject): boolean;
6379
6654
  /**
@@ -6398,7 +6673,7 @@ declare class PptxHandlerRuntime$I extends PptxHandlerRuntime$J {
6398
6673
  protected processSlideElement(el: PptxElement, collectors: SlideShapeCollectors, ctx: SaveSlideContext): void;
6399
6674
  }
6400
6675
 
6401
- declare class PptxHandlerRuntime$H extends PptxHandlerRuntime$I {
6676
+ declare class PptxHandlerRuntime$M extends PptxHandlerRuntime$N {
6402
6677
  /**
6403
6678
  * Process a single slide during save: update slide XML, process elements,
6404
6679
  * rebuild shape tree, and persist relationships.
@@ -6459,7 +6734,7 @@ declare class PptxHandlerRuntime$H extends PptxHandlerRuntime$I {
6459
6734
  * save pipeline to regenerate the theme part instead of re-emitting the
6460
6735
  * original XML.
6461
6736
  */
6462
- declare class PptxHandlerRuntime$G extends PptxHandlerRuntime$H {
6737
+ declare class PptxHandlerRuntime$L extends PptxHandlerRuntime$M {
6463
6738
  /**
6464
6739
  * Mark a theme path as dirty so the save pipeline will regenerate
6465
6740
  * the theme XML from in-memory state. Optional — without this the
@@ -6530,6 +6805,181 @@ declare class PptxHandlerRuntime$G extends PptxHandlerRuntime$H {
6530
6805
  protected buildMinimalFmtScheme(name: string): XmlObject;
6531
6806
  }
6532
6807
 
6808
+ /**
6809
+ * @fileoverview Save-side writer for slide-master parts (`p:sldMaster`).
6810
+ *
6811
+ * Strategy: every loaded master's parsed XML lives in `masterXmlMap` and is
6812
+ * already flushed back to the ZIP by {@link PptxHandlerRuntimeSavePipeline}.
6813
+ * Without intervention, those flushes are byte-for-byte passthroughs because
6814
+ * the typed model never touches the cached XmlObject.
6815
+ *
6816
+ * This writer takes the optional `slideMasters` array supplied via
6817
+ * {@link PptxHandlerSaveOptions.slideMasters} and, for each entry, mutates
6818
+ * the corresponding {@link masterXmlMap} entry in place so that subsequent
6819
+ * passthrough emits the requested edits. Fields that are not part of the
6820
+ * typed model (`txStyles`, `transition`, `timing`, `extLst`, raw shape tree)
6821
+ * are left untouched, preserving them verbatim across the round-trip.
6822
+ *
6823
+ * Slide-master XML schema (ECMA-376 §19.3.1.42, CT_SlideMaster):
6824
+ *
6825
+ * `<p:sldMaster>` →
6826
+ * `<p:cSld>` (optional `@name`, optional `<p:bg>`, `<p:spTree>`, …)
6827
+ * `<p:clrMap>` (12 alias attributes, REQUIRED)
6828
+ * `<p:sldLayoutIdLst>` (optional)
6829
+ * `<p:transition>` (optional)
6830
+ * `<p:timing>` (optional)
6831
+ * `<p:hf>` (optional)
6832
+ * `<p:txStyles>` (optional)
6833
+ * `<p:extLst>` (optional)
6834
+ */
6835
+
6836
+ declare class PptxHandlerRuntime$K extends PptxHandlerRuntime$L {
6837
+ /**
6838
+ * Apply typed mutations from the supplied {@link PptxSlideMaster} array
6839
+ * to each master's cached XmlObject. Called by the save pipeline before
6840
+ * the masterXmlMap entries are flushed to the ZIP.
6841
+ */
6842
+ protected applySlideMasterChanges(masters: PptxSlideMaster[] | undefined): void;
6843
+ private applySlideMasterChange;
6844
+ }
6845
+
6846
+ /**
6847
+ * @fileoverview Save-side writer for slide-layout parts (`p:sldLayout`).
6848
+ *
6849
+ * Strategy mirrors {@link PptxHandlerRuntimeSaveSlideMaster}: layouts are
6850
+ * cached in `layoutXmlMap` and flushed to the ZIP by the save pipeline.
6851
+ * This writer mutates the cached XmlObject in place to apply typed-model
6852
+ * edits before the flush. Any field not part of the typed model
6853
+ * (transition, timing, extLst, raw spTree) is preserved verbatim.
6854
+ *
6855
+ * Slide-layout XML schema (ECMA-376 §19.3.1.40, CT_SlideLayout):
6856
+ *
6857
+ * `<p:sldLayout>` attrs: `@matchingName`, `@type`, `@preserve`,
6858
+ * `@userDrawn`, `@showMasterPhAnim`
6859
+ * `<p:cSld>` (`@name`, optional `<p:bg>`, `<p:spTree>`, …)
6860
+ * `<p:clrMapOvr>` (optional)
6861
+ * `<p:transition>` (optional)
6862
+ * `<p:timing>` (optional)
6863
+ * `<p:hf>` (optional)
6864
+ * `<p:extLst>` (optional)
6865
+ */
6866
+
6867
+ declare class PptxHandlerRuntime$J extends PptxHandlerRuntime$K {
6868
+ /**
6869
+ * Apply typed mutations from the supplied {@link PptxSlideLayout} array
6870
+ * to each layout's cached XmlObject. Called by the save pipeline before
6871
+ * the layoutXmlMap entries are flushed to the ZIP.
6872
+ */
6873
+ protected applySlideLayoutChanges(layouts: PptxSlideLayout[] | undefined): void;
6874
+ private applySlideLayoutChange;
6875
+ }
6876
+
6877
+ /**
6878
+ * @fileoverview Save-side writer for the notes master part
6879
+ * (`p:notesMaster`, ECMA-376 §19.3.1.27, CT_NotesMaster).
6880
+ *
6881
+ * Notes master XML schema:
6882
+ *
6883
+ * `<p:notesMaster>` →
6884
+ * `<p:cSld>` (optional `<p:bg>`, `<p:spTree>`, …)
6885
+ * `<p:clrMap>` (12 alias attributes, REQUIRED)
6886
+ * `<p:hf>` (optional)
6887
+ * `<p:notesStyle>` (optional)
6888
+ * `<p:extLst>` (optional)
6889
+ *
6890
+ * Strategy: the notes master is not cached in any XmlObject map (unlike
6891
+ * slide masters/layouts), so this writer reads the existing part from the
6892
+ * ZIP, applies typed-model mutations, and writes it back. Fields not part
6893
+ * of the typed model — `<p:notesStyle>`, `<p:extLst>`, raw spTree — are
6894
+ * preserved verbatim. The pre-existing
6895
+ * {@link PptxHandlerRuntimeSaveDocumentParts.applyNotesMasterChanges}
6896
+ * already covers background; this writer extends coverage to clrMap +
6897
+ * header/footer flags without duplicating the bg path.
6898
+ */
6899
+
6900
+ declare class PptxHandlerRuntime$I extends PptxHandlerRuntime$J {
6901
+ /**
6902
+ * Apply clrMap and headerFooter mutations to the notes master XML.
6903
+ * Background-colour mutations are still handled by the pre-existing
6904
+ * {@link applyNotesMasterChanges} on this runtime; calling both is
6905
+ * idempotent because each writer touches disjoint portions of the
6906
+ * document.
6907
+ */
6908
+ protected applyNotesMasterStructuralChanges(notesMaster: PptxNotesMaster | undefined): Promise<void>;
6909
+ }
6910
+
6911
+ /**
6912
+ * @fileoverview Save-side writer for the handout master part
6913
+ * (`p:handoutMaster`, ECMA-376 §19.3.1.24, CT_HandoutMaster).
6914
+ *
6915
+ * Handout master XML schema:
6916
+ *
6917
+ * `<p:handoutMaster>` →
6918
+ * `<p:cSld>` (optional `<p:bg>`, `<p:spTree>`, …)
6919
+ * `<p:clrMap>` (12 alias attributes, REQUIRED)
6920
+ * `<p:hf>` (optional)
6921
+ * `<p:extLst>` (optional)
6922
+ *
6923
+ * Strategy mirrors {@link PptxHandlerRuntimeSaveNotesMaster}: read part,
6924
+ * apply typed-model mutations, write back. Background colour is handled by
6925
+ * the pre-existing
6926
+ * {@link PptxHandlerRuntimeSaveDocumentParts.applyHandoutMasterChanges};
6927
+ * this writer covers clrMap + header/footer flags without duplicating it.
6928
+ */
6929
+
6930
+ declare class PptxHandlerRuntime$H extends PptxHandlerRuntime$I {
6931
+ /**
6932
+ * Apply clrMap and headerFooter mutations to the handout master XML.
6933
+ */
6934
+ protected applyHandoutMasterStructuralChanges(handoutMaster: PptxHandoutMaster | undefined): Promise<void>;
6935
+ }
6936
+
6937
+ /**
6938
+ * @fileoverview Save-side writers for `ppt/viewProps.xml` and
6939
+ * `ppt/tableStyles.xml`.
6940
+ *
6941
+ * Both parts are typically passed through verbatim during save. These
6942
+ * writers wire up the typed save options so user/UI edits to grid,
6943
+ * snap, view scale, last-view, and table-style fills/text actually
6944
+ * persist back to the on-disk PPTX rather than being silently dropped.
6945
+ *
6946
+ * - {@link applyViewPropertiesPart} resolves the viewProps part path
6947
+ * from `presentation.xml.rels`, falls back to `ppt/viewProps.xml`
6948
+ * when the relationship lookup fails, and skips the write entirely
6949
+ * when the source archive has no viewProps part.
6950
+ *
6951
+ * - {@link applyTableStylesPart} merges the typed
6952
+ * {@link ParsedTableStyleMap} edits onto the existing
6953
+ * `<a:tblStyleLst>` XML so unmodelled fields and the `def` attribute
6954
+ * round-trip losslessly. When the source archive has no
6955
+ * `ppt/tableStyles.xml`, the writer is a no-op.
6956
+ */
6957
+
6958
+ declare class PptxHandlerRuntime$G extends PptxHandlerRuntime$H {
6959
+ /**
6960
+ * Re-emit `ppt/viewProps.xml` from the typed view properties. Walks
6961
+ * `presentation.xml.rels` to find the viewProps target so non-default
6962
+ * part paths round-trip correctly. No-op when the source archive
6963
+ * has no viewProps part — we never invent a new part on save.
6964
+ */
6965
+ protected applyViewPropertiesPart(properties: PptxViewProperties | undefined): Promise<void>;
6966
+ /**
6967
+ * Resolve the `viewProps` part path from
6968
+ * `ppt/_rels/presentation.xml.rels`. Falls back to the canonical
6969
+ * `ppt/viewProps.xml` location when the relationship is missing or
6970
+ * its target resolves to a path-traversal target.
6971
+ */
6972
+ private resolveViewPropsPath;
6973
+ /**
6974
+ * Merge edits from a {@link ParsedTableStyleMap} onto the existing
6975
+ * `ppt/tableStyles.xml`. Preserves the `<a:tblStyleLst @def>` GUID
6976
+ * and any unmodelled section attributes / children. No-op when the
6977
+ * source archive has no `ppt/tableStyles.xml` or no styles were
6978
+ * passed via save options.
6979
+ */
6980
+ protected applyTableStylesPart(tableStyles: ParsedTableStyleMap | undefined): Promise<void>;
6981
+ }
6982
+
6533
6983
  declare class PptxHandlerRuntime$F extends PptxHandlerRuntime$G {
6534
6984
  /**
6535
6985
  * Resolve the effective conformance class for this save operation.
@@ -6576,7 +7026,7 @@ declare class PptxHandlerRuntime$E extends PptxHandlerRuntime$F {
6576
7026
  declare class PptxHandlerRuntime$D extends PptxHandlerRuntime$E {
6577
7027
  protected findPlaceholderInShapeTree(spTree: XmlObject | undefined, expected: PlaceholderInfo | null): PlaceholderLookupContext | undefined;
6578
7028
  protected findPlaceholderContext(slidePath: string, expected: PlaceholderInfo | null): PlaceholderLookupContext | undefined;
6579
- protected mergeXmlObjects(base: XmlObject | undefined, override: XmlObject | undefined): XmlObject | undefined;
7029
+ protected mergeXmlObjects(base: XmlObject | undefined, override: XmlObject | undefined, depth?: number): XmlObject | undefined;
6580
7030
  protected readFlipState(xfrm: XmlObject | undefined): {
6581
7031
  flipHorizontal: boolean;
6582
7032
  flipVertical: boolean;
@@ -6607,6 +7057,37 @@ declare class PptxHandlerRuntime$C extends PptxHandlerRuntime$D {
6607
7057
  * Returns `undefined` when none of these auxiliary children carry data.
6608
7058
  */
6609
7059
  protected extractCustomGeometryRawData(custGeom: XmlObject | undefined): CustomGeometryRawData | undefined;
7060
+ /**
7061
+ * URIs recognised by other extractors and therefore already mapped to
7062
+ * typed fields. These should NOT be captured as opaque `extLstXml`.
7063
+ *
7064
+ * - `{AF507438-7753-43E0-B8FC-AC1667EBCBE1}` → `p14:hiddenFill`
7065
+ * - `{91240B29-F687-4F45-9708-019B960494DF}` → `p14:hiddenLine`
7066
+ */
7067
+ private static readonly RECOGNISED_SP_PR_EXT_URIS;
7068
+ /**
7069
+ * Capture unrecognised `<a:ext>` children from `spPr/a:extLst` for
7070
+ * verbatim re-emission. Returns `undefined` when nothing opaque needs
7071
+ * preserving so the slot stays empty for round-trip cleanliness.
7072
+ */
7073
+ protected extractOpaqueSpPrExtLst(spPr: XmlObject | undefined): XmlObject[] | undefined;
7074
+ /**
7075
+ * Extract typed adjustment handles (`a:ahXY` / `a:ahPolar`) from a
7076
+ * `a:custGeom/a:ahLst` node. Coordinate / guide references are preserved
7077
+ * as raw strings so they round-trip verbatim.
7078
+ */
7079
+ protected extractCustomGeometryAdjustHandles(custGeom: XmlObject | undefined): {
7080
+ xy?: AdjustHandleXY[];
7081
+ polar?: AdjustHandlePolar[];
7082
+ };
7083
+ /**
7084
+ * Extract typed connection sites (`a:cxn`) from `a:custGeom/a:cxnLst`.
7085
+ */
7086
+ protected extractCustomGeometryConnectionSites(custGeom: XmlObject | undefined): ConnectionSite[] | undefined;
7087
+ /**
7088
+ * Extract the typed text rectangle (`a:rect`) on a custom geometry.
7089
+ */
7090
+ protected extractCustomGeometryTextRect(custGeom: XmlObject | undefined): CustomGeometryTextRect | undefined;
6610
7091
  /**
6611
7092
  * Build structured `CustomGeometryPath[]` from a parsed `a:custGeom` node,
6612
7093
  * including per-path `@fill`/`@stroke`/`@extrusionOk` attributes so they
@@ -6805,7 +7286,7 @@ declare class PptxHandlerRuntime$t extends PptxHandlerRuntime$u {
6805
7286
  }
6806
7287
 
6807
7288
  declare class PptxHandlerRuntime$s extends PptxHandlerRuntime$t {
6808
- protected parseGroupShape(group: any, baseId: string, slidePath: string, rawXmlStr?: string): Promise<PptxElement[]>;
7289
+ protected parseGroupShape(group: any, baseId: string, slidePath: string, rawXmlStr?: string, depth?: number): Promise<PptxElement[]>;
6809
7290
  /**
6810
7291
  * Parse a p:grpSp element into a GroupPptxElement with children.
6811
7292
  * Children have coordinates relative to the group's position.
@@ -6861,6 +7342,40 @@ declare class PptxHandlerRuntime$q extends PptxHandlerRuntime$r {
6861
7342
  declare class PptxHandlerRuntime$p extends PptxHandlerRuntime$q {
6862
7343
  protected extractBackgroundImage(slideXml: any, slidePath: string, rootElement?: string): Promise<string | undefined>;
6863
7344
  protected extractBackgroundColor(slideXml: any, rootElement?: string): string | undefined;
7345
+ /**
7346
+ * Resolve a `<p:bgRef>` element to a flat colour string.
7347
+ *
7348
+ * Per ECMA-376 §20.1.4.2.10 the `@idx` attribute selects an entry
7349
+ * from one of two style matrices on the active theme:
7350
+ *
7351
+ * - `idx == 0` → no fill (transparent / undefined)
7352
+ * - `1 ≤ idx ≤ 999` → `fmtScheme/fillStyleLst[idx-1]`
7353
+ * - `1001 ≤ idx ≤ 1003` → `fmtScheme/bgFillStyleLst[idx-1001]`
7354
+ *
7355
+ * When the resolved fill is a gradient or pattern we surface its
7356
+ * primary colour; gradient CSS is handled separately by
7357
+ * {@link extractBackgroundGradient}. The colour child of `bgRef`
7358
+ * acts as the `phClr` placeholder for any `phClr` tokens inside the
7359
+ * referenced fill definition.
7360
+ */
7361
+ protected resolveBackgroundRefColor(bgRef: XmlObject): string | undefined;
7362
+ /**
7363
+ * Extract a structured pattern fill (`<a:pattFill>`) from a slide
7364
+ * background. Returns the preset name plus resolved fg/bg colours so
7365
+ * renderers can draw a real SVG pattern instead of a flat fill.
7366
+ *
7367
+ * ECMA-376 §20.1.8.47.
7368
+ */
7369
+ protected extractBackgroundPattern(slideXml: any, rootElement?: string): PptxSlideBackgroundPattern | undefined;
7370
+ /**
7371
+ * Extract the `<p:bgPr/@shadeToTitle>` boolean attribute from a slide
7372
+ * background. Captured for round-trip — render-time semantics are a
7373
+ * passthrough hint to renderers that may want to blend toward the
7374
+ * title placeholder colour.
7375
+ *
7376
+ * ECMA-376 §19.3.1.2 (CT_BackgroundProperties).
7377
+ */
7378
+ protected extractBackgroundShadeToTitle(slideXml: any, rootElement?: string): boolean | undefined;
6864
7379
  /**
6865
7380
  * Extract a CSS gradient string from a slide/layout/master background.
6866
7381
  * Handles `a:gradFill` within `p:bgPr` and gradient-based `p:bgRef`.
@@ -6922,6 +7437,9 @@ declare class PptxHandlerRuntime$o extends PptxHandlerRuntime$p {
6922
7437
  protected extractSlideNotes(slidePath: string): Promise<{
6923
7438
  notes?: string;
6924
7439
  notesSegments?: TextSegment[];
7440
+ notesShapes?: PptxElement[];
7441
+ notesClrMapOverride?: Record<string, string>;
7442
+ notesCSldName?: string;
6925
7443
  }>;
6926
7444
  }
6927
7445
 
@@ -6973,19 +7491,42 @@ declare class PptxHandlerRuntime$k extends PptxHandlerRuntime$l {
6973
7491
  protected getLayoutElements(slidePath: string): Promise<PptxElement[]>;
6974
7492
  }
6975
7493
 
7494
+ /**
7495
+ * Ordered fill-child tag tokens recognised inside `a:fillStyleLst` /
7496
+ * `a:bgFillStyleLst`. Used by {@link extractFillStyleListChildOrder} to
7497
+ * recover document order from raw XML when fast-xml-parser has merged
7498
+ * heterogeneous siblings into typed buckets.
7499
+ */
7500
+ declare const FILL_LIST_CHILD_TAGS: readonly ["a:solidFill", "a:gradFill", "a:pattFill", "a:noFill", "a:grpFill"];
7501
+ type FillListChildTag = (typeof FILL_LIST_CHILD_TAGS)[number];
6976
7502
  declare class PptxHandlerRuntime$j extends PptxHandlerRuntime$k {
7503
+ /**
7504
+ * Build a fill-style entry for one child node based on its tag.
7505
+ */
7506
+ private buildFillStyleEntry;
6977
7507
  /**
6978
7508
  * Collect fill-style children from a style list node, preserving
6979
- * document order. Handles `a:solidFill`, `a:gradFill`, `a:pattFill`,
6980
- * `a:noFill` in the order they appear.
7509
+ * document order when an `orderHint` is supplied (extracted from the
7510
+ * raw theme XML). Handles `a:solidFill`, `a:gradFill`, `a:pattFill`,
7511
+ * `a:noFill`, `a:grpFill`.
7512
+ *
7513
+ * fast-xml-parser without `preserveOrder` collapses heterogeneous
7514
+ * siblings into per-tag buckets and we lose the relative document
7515
+ * order. When the caller supplies an `orderHint` (a list of tag names
7516
+ * in source order recovered via {@link extractFillStyleListChildOrder})
7517
+ * we walk the buckets in step with the hint and emit entries in true
7518
+ * document order. Without a hint we fall back to the historical
7519
+ * solid → gradient → pattern → noFill → grpFill grouping.
6981
7520
  */
6982
- protected collectFillChildren(listNode: XmlObject): PptxThemeFillStyle[];
7521
+ protected collectFillChildren(listNode: XmlObject, orderHint?: readonly FillListChildTag[]): PptxThemeFillStyle[];
6983
7522
  /**
6984
7523
  * Parse each child of a `a:fillStyleLst` (or `a:bgFillStyleLst`).
6985
- * Children can be `a:solidFill`, `a:gradFill`, `a:pattFill`, or `a:noFill`.
6986
- * The list is ordered and 1-indexed by position.
7524
+ * Children can be `a:solidFill`, `a:gradFill`, `a:pattFill`,
7525
+ * `a:noFill`, or `a:grpFill`. The list is ordered and 1-indexed by
7526
+ * position; supply `orderHint` to recover document order when the
7527
+ * parser collapsed heterogeneous siblings.
6987
7528
  */
6988
- protected parseFillStyleList(listNode: XmlObject | undefined): PptxThemeFillStyle[];
7529
+ protected parseFillStyleList(listNode: XmlObject | undefined, orderHint?: readonly FillListChildTag[]): PptxThemeFillStyle[];
6989
7530
  /**
6990
7531
  * Parse `a:lnStyleLst` children (`a:ln` elements) into an array of
6991
7532
  * {@link PptxThemeLineStyle} entries.
@@ -7005,8 +7546,15 @@ declare class PptxHandlerRuntime$i extends PptxHandlerRuntime$j {
7005
7546
  * {@link PptxThemeFormatScheme}. Each sub-list (fillStyleLst, lnStyleLst,
7006
7547
  * effectStyleLst, bgFillStyleLst) contains up to three intensity levels
7007
7548
  * (subtle / moderate / intense) referenced by 1-based index.
7549
+ *
7550
+ * When `rawXml` is supplied (the original theme/themeOverride XML
7551
+ * source), the document order of fill children is recovered via a
7552
+ * targeted regex scan and threaded into {@link parseFillStyleList} so
7553
+ * mixed solid/grad/blip/grpFill lists round-trip in source order even
7554
+ * though fast-xml-parser collapses heterogeneous siblings into typed
7555
+ * buckets.
7008
7556
  */
7009
- protected parseFormatScheme(fmtScheme: XmlObject): PptxThemeFormatScheme;
7557
+ protected parseFormatScheme(fmtScheme: XmlObject, rawXml?: string): PptxThemeFormatScheme;
7010
7558
  /**
7011
7559
  * Extract a colour map override from a `p:clrMapOvr` node.
7012
7560
  * Returns `null` when the node is absent, empty, or specifies
@@ -7311,6 +7859,50 @@ declare class PptxHandlerRuntime$9 extends PptxHandlerRuntime$a {
7311
7859
  * is metadata preserved for round-trip fidelity.
7312
7860
  */
7313
7861
  protected parsePivotSource(chartSpace: XmlObject | undefined): PptxChartData['pivotSource'];
7862
+ /**
7863
+ * Parse `c:ofPieChart` options from the chart-type container.
7864
+ *
7865
+ * The `ofPieType` element is required by the schema; its `@val`
7866
+ * defaults to `"pie"` when absent. Other fields (`splitType`,
7867
+ * `splitPos`, `secondPieSize`, `serLines`, `gapWidth`, `custSplit`)
7868
+ * are optional and only included when present in the XML.
7869
+ */
7870
+ protected parseOfPieOptions(ofPieContainer: XmlObject | undefined): PptxChartOfPieOptions | undefined;
7871
+ /**
7872
+ * Parse `c:view3D` (CT_View3D) from the chart root.
7873
+ *
7874
+ * Returns `undefined` when the element is absent so it does not
7875
+ * round-trip as an empty `<c:view3D/>` placeholder.
7876
+ */
7877
+ protected parseView3D(chartRoot: XmlObject | undefined): PptxChartView3D | undefined;
7878
+ /**
7879
+ * Parse top-level chart chrome flags from `c:chart`:
7880
+ * `c:autoTitleDeleted`, `c:dispBlanksAs`, `c:showDLblsOverMax`.
7881
+ *
7882
+ * Each flag is included in the result only when present on the
7883
+ * source XML so that absence does not produce empty elements on
7884
+ * save.
7885
+ */
7886
+ protected parseChartChrome(chartRoot: XmlObject | undefined): PptxChartChrome | undefined;
7887
+ /**
7888
+ * Capture the raw `c:userShapes` subtree for verbatim round-trip.
7889
+ *
7890
+ * The element references a separate drawing part; we never parse
7891
+ * the nested drawing tree here. Returning the raw object means the
7892
+ * save layer can re-emit it unchanged.
7893
+ */
7894
+ protected parseUserShapesXml(chartSpace: XmlObject | undefined): unknown;
7895
+ /** Capture the raw `c:pivotFmts` subtree for verbatim round-trip. */
7896
+ protected parsePivotFmtsXml(chartRoot: XmlObject | undefined): unknown;
7897
+ /**
7898
+ * Parse `c:clrMapOvr` into a flat attribute map.
7899
+ *
7900
+ * The element carries 12 `bg1/tx1/bg2/tx2/accent1…6/hlink/folHlink`
7901
+ * attributes that remap theme colour roles for the chart only.
7902
+ * Unknown attributes are preserved as-is so that future schema
7903
+ * additions round-trip without code changes.
7904
+ */
7905
+ protected parseClrMapOvr(chartSpace: XmlObject | undefined): Record<string, string> | undefined;
7314
7906
  }
7315
7907
 
7316
7908
  /**
@@ -7546,6 +8138,11 @@ declare class PptxHandlerRuntime$2 extends PptxHandlerRuntime$3 {
7546
8138
  * attribute on `p:cNvPr` / `p:cNvCxnSpPr` / `p:cNvPicPr` nodes.
7547
8139
  * This is used to seed the element builder's ID counter so that
7548
8140
  * new elements never collide with existing ones.
8141
+ *
8142
+ * Implementation note (Load H1): uses an explicit-stack iterative walk
8143
+ * instead of recursion to bound stack usage on attacker-supplied XML
8144
+ * with deeply nested nodes. Also caps total visited nodes at
8145
+ * MAX_NODES to bound CPU on pathological trees.
7549
8146
  */
7550
8147
  protected findMaxElementId(slides: PptxSlide[]): number;
7551
8148
  protected resetElementIdCounter(slides: PptxSlide[]): void;
@@ -8402,6 +8999,66 @@ declare function getShapeType(shapeType: string | undefined): SupportedShapeType
8402
8999
  * @returns A CSS `clip-path` string, or `undefined` if no clipping is needed.
8403
9000
  */
8404
9001
  declare function getShapeClipPath(shapeType: string | undefined): string | undefined;
9002
+ /**
9003
+ * Like {@link getShapeClipPath} but consults the adjustment-aware table
9004
+ * first. Falls back to the static preset clip-path when the shape isn't
9005
+ * in the adjustment-aware table or no adjustments are supplied.
9006
+ *
9007
+ * Use this entry point from renderers that have access to the element's
9008
+ * `shapeAdjustments` and dimensions; the result varies with adjustments
9009
+ * for shapes like `pie`, `donut`, `wedgeRectCallout`, etc.
9010
+ *
9011
+ * @param shapeType The OOXML preset geometry name.
9012
+ * @param width Element width in pixels.
9013
+ * @param height Element height in pixels.
9014
+ * @param adjustments Optional adjustment record (`adj`, `adj1`, `adj2`, …).
9015
+ * @returns A CSS `clip-path` value, or `undefined` if no clipping is needed.
9016
+ */
9017
+ declare function getAdjustmentAwareShapeClipPath(shapeType: string | undefined, width: number, height: number, adjustments?: Record<string, number>): string | undefined;
9018
+ /**
9019
+ * Return a high-DPI cubic-Bezier `clip-path: path('…')` expression for
9020
+ * `cloud` / `cloudCallout` shapes when actual pixel dimensions are known.
9021
+ *
9022
+ * Static polygon entries in {@link PRESET_SHAPE_CLIP_PATHS} remain the
9023
+ * lookup-table fallback for non-renderer consumers (e.g. shape pickers,
9024
+ * SSR previews) that don't yet know the element's pixel size. Renderers
9025
+ * that have measured the element should prefer this helper -- it produces
9026
+ * smooth Bezier lobes that stay sharp at any DPI / zoom.
9027
+ *
9028
+ * @param shapeType - The OOXML preset geometry name. Case-insensitive.
9029
+ * @param width - Element width in pixels (must be > 0).
9030
+ * @param height - Element height in pixels (must be > 0).
9031
+ * @returns A CSS `path('M…Z')` expression for cloud/cloudCallout, or
9032
+ * `undefined` for any other shape (callers should fall back to
9033
+ * {@link getShapeClipPath}).
9034
+ */
9035
+ declare function getCloudPathForRendering(shapeType: string | undefined, width: number, height: number): string | undefined;
9036
+ /**
9037
+ * Build a CSS `clip-path: path('…')` expression from the spec-correct ECMA-376
9038
+ * preset shape evaluator. This consults
9039
+ * {@link evaluatePresetShape} (which evaluates the preset's `gdLst` formulas
9040
+ * against the shape dimensions and any `shapeAdjustments`) and wraps the
9041
+ * resulting SVG path data in `path(...)` so it can be used as a CSS
9042
+ * `clip-path`.
9043
+ *
9044
+ * The legacy {@link getShapeClipPath} / {@link getAdjustmentAwareShapeClipPath}
9045
+ * helpers — which read from the static polygon table — remain in place and
9046
+ * are still the preferred fallback for any shape this evaluator does not
9047
+ * yet cover. Callers that want spec-correct, formula-driven geometry should
9048
+ * try this helper first and fall through to the static helpers when it
9049
+ * returns `undefined`.
9050
+ *
9051
+ * @param shapeType The OOXML preset geometry name (e.g. `"roundRect"`).
9052
+ * Lookup is case-sensitive but tolerant of common casings.
9053
+ * @param width Element width in pixels (must be > 0 to produce a
9054
+ * meaningful path).
9055
+ * @param height Element height in pixels.
9056
+ * @param adjustments Optional adjustment record from `shapeAdjustments`.
9057
+ * @returns A CSS `clip-path` value (e.g. `path('M 0 0 …')`), or `undefined`
9058
+ * when the shape isn't in the populated preset table or the
9059
+ * evaluation produced no path commands.
9060
+ */
9061
+ declare function getShapeClipPathFromPreset(shapeType: string | undefined, width: number, height: number, adjustments?: Record<string, number>): string | undefined;
8405
9062
  /**
8406
9063
  * Calculate the border-radius in pixels for a rounded-rectangle shape.
8407
9064
  *
@@ -8438,6 +9095,246 @@ interface ImageMaskStyle {
8438
9095
  */
8439
9096
  declare function getImageMaskStyle(element: PptxElementWithShapeStyle): ImageMaskStyle | undefined;
8440
9097
 
9098
+ /**
9099
+ * ECMA-376 ST_ShapeType preset geometry definitions table.
9100
+ *
9101
+ * Each entry encodes the canonical `presetShapeDefinitions.xml` data shipped by
9102
+ * Microsoft as part of the DrawingML reference implementation
9103
+ * (ISO/IEC 29500-1 §20.1.10.55 / §20.1.9 series): the default adjustment list
9104
+ * (`avLst`), the ordered guide list (`gdLst`), the text rectangle (`rect`), and
9105
+ * the path commands (`pathLst`) — all expressed using OOXML guide-formula
9106
+ * tokens, ready to be evaluated by `guide-formula-eval`.
9107
+ *
9108
+ * Naming note: the existing barrel already exports a `PresetShapeDefinition`
9109
+ * type (shape-picker metadata) and a `PRESET_SHAPE_DEFINITIONS` constant. To
9110
+ * avoid colliding with those public symbols, this module exports its analogues
9111
+ * as `PresetShapeGeometryDefinition` / `PRESET_SHAPE_GEOMETRY_TABLE`.
9112
+ *
9113
+ * # Adding a new preset
9114
+ *
9115
+ * 1. Open `presetShapeDefinitions.xml` (Microsoft Open Specifications) and
9116
+ * locate the `<presetShapeDefinition name="..." />` block.
9117
+ * 2. Copy the `avLst` defaults into `avLst` here (each `a:gd` `name`/`val`).
9118
+ * 3. Copy each `a:gd` from `gdLst` into the `gdLst` array verbatim — the
9119
+ * `formula` field is the entire `@_fmla` string (operator first, operands
9120
+ * after) and `args` is the formula split by whitespace minus the operator.
9121
+ * Both are stored to keep the data introspectable; the evaluator uses the
9122
+ * `formula` string directly via `parseFormula`.
9123
+ * 4. Copy `<rect>` attributes into the `rect` field as raw token strings
9124
+ * (e.g. `'l'`, `'t'`, `'r'`, `'b'`).
9125
+ * 5. Copy each `a:path` into a `pathLst` entry, translating its child commands
9126
+ * into the `commands` discriminated union. All coordinate / radius / angle
9127
+ * arguments are raw token strings — they will be resolved against the guide
9128
+ * context by the evaluator.
9129
+ *
9130
+ * Only 30 high-impact presets are populated for the first cut. Additional
9131
+ * presets are tracked as future work; until they ship, the legacy
9132
+ * polygon-based clip-path table in `preset-shape-paths.ts` remains the
9133
+ * fallback for unknown names.
9134
+ */
9135
+ /**
9136
+ * A single command inside a preset path. Coordinates / radii / angles are
9137
+ * stored as raw OOXML guide tokens (numeric literal strings or guide names)
9138
+ * and resolved at evaluation time.
9139
+ */
9140
+ type PresetPathCommand = {
9141
+ kind: 'moveTo';
9142
+ x: string;
9143
+ y: string;
9144
+ } | {
9145
+ kind: 'lnTo';
9146
+ x: string;
9147
+ y: string;
9148
+ } | {
9149
+ kind: 'arcTo';
9150
+ wR: string;
9151
+ hR: string;
9152
+ stAng: string;
9153
+ swAng: string;
9154
+ } | {
9155
+ kind: 'quadBezTo';
9156
+ x1: string;
9157
+ y1: string;
9158
+ x2: string;
9159
+ y2: string;
9160
+ } | {
9161
+ kind: 'cubicBezTo';
9162
+ x1: string;
9163
+ y1: string;
9164
+ x2: string;
9165
+ y2: string;
9166
+ x3: string;
9167
+ y3: string;
9168
+ } | {
9169
+ kind: 'close';
9170
+ };
9171
+ /** A single sub-path, mirroring `<a:path>` in OOXML. */
9172
+ interface PresetPath {
9173
+ /** Coordinate-space width (`@_w`); defaults to the shape width if absent. */
9174
+ w?: number;
9175
+ /** Coordinate-space height (`@_h`); defaults to the shape height if absent. */
9176
+ h?: number;
9177
+ /** `@_fill` attribute (`'none' | 'norm' | 'lighten' | ...`). */
9178
+ fill?: string;
9179
+ /** `@_stroke` attribute. */
9180
+ stroke?: boolean;
9181
+ /** `@_extrusionOk` attribute. */
9182
+ extrusionOk?: boolean;
9183
+ /** Ordered command list. */
9184
+ commands: PresetPathCommand[];
9185
+ }
9186
+ /** A complete preset geometry (`<presetShapeDefinition>` payload). */
9187
+ interface PresetShapeGeometryDefinition {
9188
+ /** ECMA-376 ST_ShapeType name, e.g. `"roundRect"`, `"blockArc"`. */
9189
+ name: string;
9190
+ /** `avLst` defaults, e.g. `{ adj1: 16667 }`. */
9191
+ avLst?: Record<string, number>;
9192
+ /** `gdLst` formula list (ordered). */
9193
+ gdLst?: Array<{
9194
+ name: string;
9195
+ formula: string;
9196
+ args: string[];
9197
+ }>;
9198
+ /** Text-bounds rectangle expressed as guide-formula tokens. */
9199
+ rect?: {
9200
+ l: string;
9201
+ t: string;
9202
+ r: string;
9203
+ b: string;
9204
+ };
9205
+ /** `pathLst` — at least one path. */
9206
+ pathLst: PresetPath[];
9207
+ }
9208
+ /**
9209
+ * Master table of populated preset geometries. Keyed by ECMA-376 ST_ShapeType
9210
+ * name (camelCase). Lookups are case-sensitive; callers should normalise
9211
+ * unknown casings (e.g. `'roundrect'` → `'roundRect'`) before consulting it.
9212
+ *
9213
+ * Inline definitions for ~30 shapes live above. Additional batches authored
9214
+ * by parallel agents are imported from sibling files and spread last so they
9215
+ * cannot accidentally shadow the inline canonical shapes.
9216
+ */
9217
+ declare const PRESET_SHAPE_GEOMETRY_TABLE: Record<string, PresetShapeGeometryDefinition>;
9218
+
9219
+ /**
9220
+ * Spec-correct ECMA-376 preset shape evaluator.
9221
+ *
9222
+ * Looks up a `PresetShapeGeometryDefinition` from the table, evaluates every
9223
+ * `gdLst` formula against a built-in variable context (seeded with width /
9224
+ * height + the standard implicit guides) and the parsed `shapeAdjustments`,
9225
+ * then walks the `pathLst` and emits an SVG path data string. Path commands
9226
+ * use the same arc conversion as `custom-geometry.ts` (`ooxmlArcToSvg`) so the
9227
+ * output is byte-compatible with the existing custom-geometry pipeline.
9228
+ */
9229
+
9230
+ /**
9231
+ * Result of evaluating a preset shape: the merged SVG path data and an
9232
+ * optional text rectangle (in the shape's coordinate space, i.e. pixels).
9233
+ */
9234
+ interface PresetShapeEvaluationResult {
9235
+ svgPath: string;
9236
+ textRect?: {
9237
+ l: number;
9238
+ t: number;
9239
+ r: number;
9240
+ b: number;
9241
+ };
9242
+ }
9243
+ /**
9244
+ * Look up a preset shape definition. Performs a case-sensitive lookup first,
9245
+ * then falls back to a small lower-case index so `roundrect` (a common typo
9246
+ * casing) still resolves to `roundRect`.
9247
+ */
9248
+ declare function lookupPresetShape(name: string): PresetShapeGeometryDefinition | undefined;
9249
+ /**
9250
+ * Evaluate an ECMA-376 preset geometry against the given dimensions and
9251
+ * (optional) adjustment overrides. Returns `undefined` when the shape is not
9252
+ * present in the populated table so callers can fall back to the legacy
9253
+ * polygon-based clip-path data.
9254
+ *
9255
+ * Behaviour:
9256
+ * 1. Resolve the definition from `PRESET_SHAPE_GEOMETRY_TABLE`.
9257
+ * 2. Build an adjustment map from `def.avLst` overlaid with `adjustments`.
9258
+ * 3. Evaluate `def.gdLst` in order (each guide may reference earlier guides
9259
+ * and any built-in / adjustment variable).
9260
+ * 4. Walk every path in `def.pathLst`, converting each command into SVG
9261
+ * path data. Multiple paths are concatenated separated by spaces; every
9262
+ * `arcTo` is routed through `ooxmlArcToSvg` for byte-identical output
9263
+ * with `custom-geometry.ts`.
9264
+ * 5. Resolve the optional `rect` reference into pixel coordinates.
9265
+ */
9266
+ declare function evaluatePresetShape(name: string, width: number, height: number, adjustments?: Record<string, number>): PresetShapeEvaluationResult | undefined;
9267
+
9268
+ /**
9269
+ * Build a CSS `clip-path` value for {@link shapeType} that incorporates
9270
+ * the supplied `shapeAdjustments`. Returns `undefined` for shapes that
9271
+ * are not in the adjustment-aware table — callers should fall back to
9272
+ * the static preset polygon.
9273
+ *
9274
+ * @param shapeType The OOXML preset geometry name (e.g. `"pie"`).
9275
+ * @param width The element width in pixels.
9276
+ * @param height The element height in pixels.
9277
+ * @param adjustments Optional adjustment record from `PptxElement.shapeAdjustments`.
9278
+ * Keys are `adj`, `adj1`, `adj2`, etc.
9279
+ * @returns A CSS `clip-path` polygon expression, or `undefined`.
9280
+ */
9281
+ declare function getAdjustmentAwareClipPath(shapeType: string, width: number, height: number, adjustments?: Record<string, number>): string | undefined;
9282
+
9283
+ /**
9284
+ * High-DPI Bezier-curve clip-paths for `cloud` and `cloudCallout` presets.
9285
+ *
9286
+ * The static polygon entries in {@link CLIP_PATHS_EXTENDED} approximate the
9287
+ * cumulus silhouette with 32 vertices, which becomes visibly faceted on
9288
+ * Retina/4K displays. These helpers return CSS `path('M…Z')` expressions
9289
+ * built from cubic-Bezier lobes, so the outline stays smooth at any DPI.
9290
+ *
9291
+ * `path()` in CSS does not accept percentage units, so callers must supply
9292
+ * pixel dimensions and re-compute on resize. Use {@link getCloudPathForRendering}
9293
+ * (in `shape-geometry.ts`) for the shape-aware wrapper.
9294
+ *
9295
+ * Browser support: Chrome 109+, Safari 15.4+, Firefox 105+.
9296
+ *
9297
+ * @module cloud-bezier-paths
9298
+ */
9299
+ /**
9300
+ * Produce a CSS `clip-path: path('…')` expression for the `cloud` preset.
9301
+ *
9302
+ * The body centre is the bounding-box centre. 8 cubic-Bezier lobes are
9303
+ * walked clockwise; each lobe is rendered as a near-circular bump using
9304
+ * two cubic-Bezier segments connected by a transition arc back toward the
9305
+ * next lobe's start. The path is closed with `Z`.
9306
+ *
9307
+ * @param width - Element width in pixels.
9308
+ * @param height - Element height in pixels.
9309
+ * @returns A CSS `path('M…Z')` expression suitable for `clip-path`.
9310
+ */
9311
+ declare function getCloudClipPath(width: number, height: number): string;
9312
+ /**
9313
+ * Produce a CSS `clip-path: path('…')` expression for the `cloudCallout`
9314
+ * preset. Combines the 8-lobe cumulus body with the spec-default 3-bump
9315
+ * tail trailing toward the lower-left.
9316
+ *
9317
+ * The body is shrunk to ~75% of the bounding box (centred slightly toward
9318
+ * the upper-right) so the tail bumps fit within the 100% box. Adjustment-
9319
+ * driven repositioning of the pointer tip is handled by Agent B in
9320
+ * `adjustment-aware-shapes.ts`; this helper uses the spec defaults.
9321
+ *
9322
+ * @param width - Element width in pixels.
9323
+ * @param height - Element height in pixels.
9324
+ * @returns A CSS `path('M…Z')` expression suitable for `clip-path`.
9325
+ */
9326
+ declare function getCloudCalloutClipPath(width: number, height: number): string;
9327
+ /**
9328
+ * Lobe count exposed for tests and downstream consumers that want to
9329
+ * verify the spec-correct number of cumulus piles.
9330
+ */
9331
+ declare const CLOUD_LOBE_COUNT: number;
9332
+ /**
9333
+ * Tail bump count exposed for tests; matches the spec default for the
9334
+ * `cloudCallout` pointer trail.
9335
+ */
9336
+ declare const CLOUD_CALLOUT_TAIL_COUNT: number;
9337
+
8441
9338
  /**
8442
9339
  * Framework-agnostic connector geometry calculations.
8443
9340
  *
@@ -8933,10 +9830,15 @@ declare function subtractSvgPaths(path1: string, path2: string): string;
8933
9830
  /**
8934
9831
  * Douglas-Peucker polyline simplification.
8935
9832
  *
8936
- * Recursively removes points that lie within `tolerance` of the line
9833
+ * Iteratively removes points that lie within `tolerance` of the line
8937
9834
  * segment connecting their neighbours, preserving overall shape while
8938
9835
  * dramatically reducing point count for freeform drawing input.
8939
9836
  *
9837
+ * Implemented with an explicit stack of `[lo, hi]` index ranges (rather
9838
+ * than recursion) so deep inputs cannot blow the JS call stack. Inputs
9839
+ * larger than {@link MAX_DOUGLAS_PEUCKER_POINTS} are short-circuited to
9840
+ * just the two endpoints.
9841
+ *
8940
9842
  * @param points - Input polyline points (at least 2).
8941
9843
  * @param tolerance - Maximum perpendicular distance for a point to be
8942
9844
  * removed. Larger values produce fewer points. Default: `2`.
@@ -11750,4 +12652,4 @@ type ThemePresetName = keyof typeof ThemePresets;
11750
12652
  /** Get a theme preset by name string. */
11751
12653
  declare function getThemePreset(name: ThemePresetName): ThemePreset;
11752
12654
 
11753
- export { ALL_ANIMATION_PRESETS, type AccessibilityCheckOptions, type AccessibilityIssue, type AccessibilityIssueSeverity, type AccessibilityIssueType, type AlternateContentBlock, type AnimationCategory, AnimationCondition, type AnimationInput, type AnimationPresetInfo, BLIP_FILL_ORDER, type BackgroundInput, BulletInfo, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, type CalloutLeaderLineGeometry, type CalloutPoint, ChartBuilder, type ChartInput, type ChartOptions, ChartPptxElement, type ChartSeriesInput, type ColorMapAliasKey, type CompatibilityWarningInput, ConnectorArrowType, ConnectorBuilder, type ConnectorGeometryType, type ConnectorOptions, type ConnectorPathGeometry, ConnectorPptxElement, ConnectorXmlFactory, type ConnectorXmlFactoryInit, type ContainerBounds, CustomGeometryPath, CustomGeometryPoint, CustomGeometryRawData, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DataIntegrityError, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTRANCE_PRESETS, EXIT_PRESETS, ElementAction, type ElementDiff, type ElementPosition, EncryptedFileError, type EncryptionAlgorithm, type EncryptionInfo, type EncryptionOptions, FONT_SUBSTITUTION_MAP, type FileFormatDetection, type FillInput, FindResult, FreeformPathBuilder, GeometryAdjustmentHandle, type GeometryContext, type GeometryGuide, GroupBuilder, type GroupOptions, GroupPptxElement, type HslColor, type IConnectorXmlFactory, type ICoreXmlElementFactory, type IFactory, type IMediaGraphicFrameXmlFactory, type IPictureXmlFactory, type IPptxAnimationWriteService, type IPptxColorStyleCodec, type IPptxCommentAuthorsXmlFactory, type IPptxCommentXmlFactoryProvider, type IPptxCompatibilityService, type IPptxConnectorParser, type IPptxContentTypesBuilder, type IPptxEditorAnimationService, type IPptxElementTransformUpdater, type IPptxGraphicFrameParser, type IPptxHandlerRuntime, type IPptxHandlerRuntimeFactory, type IPptxMediaDataParser, type IPptxNativeAnimationService, type IPptxPresentationSaveBuilder, type IPptxPresentationSlidesReconciler, type IPptxRuntimeDependencyFactory, type IPptxShapeIdValidator, type IPptxShapeStyleExtractor, type IPptxSlideBackgroundBuilder, type IPptxSlideCommentPartWriter, type IPptxSlideCommentsXmlFactory, type IPptxSlideLoaderService, type IPptxSlideMediaRelationshipBuilder, type IPptxSlideNotesPartUpdater, type IPptxSlideRelationshipRegistry, type IPptxSlideTransitionService, type IPptxTableDataParser, type IPptxTemplateBackgroundService, type IPptxXmlBuilder, type IPptxXmlFactoryProvider, type IPptxXmlLookupService, type ITextShapeXmlFactory, type IXmlElementFactory, ImageBuilder, type ImageMaskStyle, type ImageOptions, ImagePptxElement, IncorrectPasswordError, InkPptxElement, type LayoutAlgorithmType, type LayoutConstraints, type LayoutCreationResult, type LayoutDefinition, type LayoutEngineShape, type LayoutRule, type LinkedTextBoxChain, type LinkedTextBoxChainMember, type LinkedTextBoxSegmentMap, MIN_ELEMENT_SIZE, MOTION_PATH_PRESETS, MediaBookmark, MediaBuilder, MediaGraphicFrameXmlFactory, type MediaGraphicFrameXmlFactoryInit, type MediaOptions, MediaPptxElement, MergeOptions, type MergeShapeOperation, type Model3DTransform, type Ole2DirectoryEntry, type Ole2File, Ole2ParseError, OleObjectType, OlePptxElement, type OoxmlConformanceClass, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_TO_OOXML, type ParsedLayoutDef, type ParsedSignature, type ParsedTableStyle, ParsedTableStyleFill, ParsedTableStyleMap, type ParsedTableStylePart, ParsedTableStyleText, PictureXmlFactory, type PictureXmlFactoryInit, PlaceholderDefaults, type PlaceholderDefinition, PlaceholderTextLevelStyle, PptxAction, PptxActiveXControl, PptxAnimationPreset, PptxAnimationTrigger, PptxAnimationWriteService, PptxAppProperties, type PptxBuilderFactoryContext, PptxChart3DSurface, PptxChartAxisFormatting, PptxChartData, PptxChartDataLabel, PptxChartDataPoint, PptxChartDataTable, PptxChartErrBars, PptxChartLineStyle, PptxChartMarker, PptxChartSeries, PptxChartShapeProps, PptxChartStyle, PptxChartTrendline, PptxChartType, PptxColorStyleCodec, type PptxColorStyleCodecContext, PptxComment, PptxCommentAuthor, type PptxCommentAuthorDescriptor, PptxCommentAuthorsXmlFactory, type PptxCommentAuthorsXmlFactoryInit, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxCompatibilityWarning, PptxConnectorParser, type PptxConnectorParserContext, PptxContentTypesBuilder, type PptxContentTypesCommentBuildInput, type PptxContentTypesSlideMediaBuildInput, PptxCoreProperties, PptxCustomProperty, PptxCustomShow, PptxCustomXmlPart, PptxCustomerData, PptxData, PptxDocumentPropertiesUpdater, PptxDrawingGuide, PptxEditorAnimationService, type PptxEditorAnimationServiceOptions, PptxElement, PptxElementAnimation, PptxElementTransformUpdater, PptxElementWithShapeStyle, PptxElementWithText, PptxElementXmlBuilder, type PptxElementXmlBuilderOptions, PptxEmbeddedFont, PptxEmbeddedWorkbookData, PptxExportOptions, PptxExternalData, PptxGraphicFrameParser, type PptxGraphicFrameParserContext, PptxHandler, type PptxHandlerLoadOptions, PptxHandlerRuntime, PptxHandlerRuntimeFactory, type PptxHandlerSaveOptions, PptxHandoutMaster, PptxHeaderFooter, PptxImageEffects, PptxImageLikeElement, PptxKinsoku, PptxLayoutOption, PptxLoadDataBuilder, PptxMasterTextStyles, PptxMediaDataParser, type PptxMediaDataParserContext, type PptxMediaTimingEntry, type PptxMediaTimingMap, PptxModifyVerifier, PptxNativeAnimation, PptxNativeAnimationService, PptxNotesMaster, PptxPhotoAlbum, PptxPresentationProperties, type PptxPresentationSaveBuildInput, PptxPresentationSaveBuilder, type PptxPresentationSaveBuilderOptions, PptxPresentationSlidesReconciler, type PptxPresentationSlidesReconcilerInput, type PptxRuntimeDependencyBundle, PptxRuntimeDependencyFactory, type PptxRuntimeDependencyFactoryInput, type PptxSaveConstants, PptxSaveConstantsFactory, type PptxSaveFormat, type PptxSaveMediaKind, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxSection, PptxShapeIdValidator, PptxShapeLocks, PptxShapeStyleExtractor, type PptxShapeStyleExtractorContext, PptxSlide, PptxSlideBackgroundBuilder, type PptxSlideBackgroundBuilderInput, PptxSlideBuilder, PptxSlideCommentPartWriter, type PptxSlideCommentPartWriterInput, type PptxSlideCommentRelationshipInfo, PptxSlideCommentsXmlFactory, type PptxSlideCommentsXmlFactoryInit, PptxSlideElementsBuilder, type PptxSlideLoaderParams, PptxSlideLoaderService, type PptxSlideLoaderThemeOverride, PptxSlideMaster, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, type PptxSlideNotesPartUpdaterInput, type PptxSlideNotesResult, PptxSlideRelationshipRegistry, type PptxSlideRelationshipRegistryOptions, PptxSlideTransition, PptxSlideTransitionService, type PptxSlideTransitionServiceOptions, PptxSmartArtChrome, PptxSmartArtColorTransform, PptxSmartArtData, PptxSmartArtDrawingShape, PptxSmartArtNode, PptxSmartArtQuickStyle, PptxTableCellStyle, PptxTableData, PptxTableDataParser, type PptxTableDataParserContext, PptxTagCollection, PptxTemplateBackgroundService, type PptxTemplateBackgroundState, PptxTextStyleLevels, PptxTheme, PptxThemeColorScheme, PptxThemeEffectStyle, PptxThemeFillStyle, PptxThemeFontScheme, PptxThemeFormatScheme, PptxThemeLineStyle, PptxThemeObjectDefaults, PptxThemeOption, type PptxThemePreset, PptxTransitionType, PptxViewProperties, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, type PresentationBuilderResult, type PresentationDiff, type PresentationOptions, type PresentationThemeInput, type PresetShapeCategory, type PresetShapeDefinition, type PropertyChange, type ReflowedNodePosition, type RepairResult, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, type ShadowInput, ShapeBuilder, type ShapeOptions, ShapePptxElement, ShapeStyle, type SignatureCertificateInfo, type SignatureDetectionResult, type SignatureReference, type SignatureStatus, SlideBuilder, type SlideDiff, SlideSizes, SmartArtLayoutType, SmartArtPptxElement, type StandardEncryptionInfo, StrokeDashType, type StrokeInput, type SupportedShapeType, TC_PR_BORDERS_ORDER, THEME_PRESETS, TableBuilder, type TableCellInput, type TableInput, type TableOptions, TablePptxElement, type TableRowInput, type TableStyleFlags, type TableStylePartBorder, type TableStylePartBorders, type TableStylePartFill, type TableStylePartText, type TemplateData, TextBuilder, type TextOptions, TextPptxElement, TextSegment, type TextSegmentInput, TextShapeXmlFactory, type TextShapeXmlFactoryInit, TextStyle, type TextStyleInput, type ThemePreset, type ThemePresetName, ThemePresets, type TransitionInput, VML_SHAPE_TAGS, type ValidationIssue, type ValidationResult, type Vec2, XmlObject, ZoomPptxElement, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableElement, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, extractColorChoiceXml, extractGuidFromPartName, extractModel3DTransform, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isZoomElement$1 as isZoomElement, isZoomElement as isZoomElementUtil, layoutEngineShapesToDrawingShapes, mailMerge, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, ooxmlArcToSvg, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveModel3DMimeType, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartCategories, setChartGrouping, setChartTitle, setChartType, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, updateChartDataPoint, updateChartSeriesValues, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs };
12655
+ export { ALL_ANIMATION_PRESETS, type AccessibilityCheckOptions, type AccessibilityIssue, type AccessibilityIssueSeverity, type AccessibilityIssueType, AdjustHandlePolar, AdjustHandleXY, type AlternateContentBlock, type AnimationCategory, AnimationCondition, type AnimationInput, type AnimationPresetInfo, BLIP_FILL_ORDER, type BackgroundInput, BulletInfo, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, type CalloutLeaderLineGeometry, type CalloutPoint, ChartBuilder, type ChartInput, type ChartOptions, ChartPptxElement, type ChartSeriesInput, type ColorMapAliasKey, type CompatibilityWarningInput, ConnectionSite, ConnectorArrowType, ConnectorBuilder, type ConnectorGeometryType, type ConnectorOptions, type ConnectorPathGeometry, ConnectorPptxElement, ConnectorXmlFactory, type ConnectorXmlFactoryInit, type ContainerBounds, CustomGeometryPath, CustomGeometryPoint, CustomGeometryRawData, CustomGeometryTextRect, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_MAX_UNCOMPRESSED_BYTES, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DataIntegrityError, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTRANCE_PRESETS, EXIT_PRESETS, ElementAction, type ElementDiff, type ElementPosition, EncryptedFileError, type EncryptionAlgorithm, type EncryptionInfo, type EncryptionOptions, FONT_SUBSTITUTION_MAP, type FileFormatDetection, type FillInput, FindResult, FreeformPathBuilder, GeometryAdjustmentHandle, type GeometryContext, type GeometryGuide, GroupBuilder, type GroupOptions, GroupPptxElement, type HslColor, type IConnectorXmlFactory, type ICoreXmlElementFactory, type IFactory, type IMediaGraphicFrameXmlFactory, type IPictureXmlFactory, type IPptxAnimationWriteService, type IPptxColorStyleCodec, type IPptxCommentAuthorsXmlFactory, type IPptxCommentXmlFactoryProvider, type IPptxCompatibilityService, type IPptxConnectorParser, type IPptxContentTypesBuilder, type IPptxEditorAnimationService, type IPptxElementTransformUpdater, type IPptxGraphicFrameParser, type IPptxHandlerRuntime, type IPptxHandlerRuntimeFactory, type IPptxMediaDataParser, type IPptxNativeAnimationService, type IPptxPresentationSaveBuilder, type IPptxPresentationSlidesReconciler, type IPptxRuntimeDependencyFactory, type IPptxShapeIdValidator, type IPptxShapeStyleExtractor, type IPptxSlideBackgroundBuilder, type IPptxSlideCommentPartWriter, type IPptxSlideCommentsXmlFactory, type IPptxSlideLoaderService, type IPptxSlideMediaRelationshipBuilder, type IPptxSlideNotesPartUpdater, type IPptxSlideRelationshipRegistry, type IPptxSlideTransitionService, type IPptxTableDataParser, type IPptxTemplateBackgroundService, type IPptxXmlBuilder, type IPptxXmlFactoryProvider, type IPptxXmlLookupService, type ITextShapeXmlFactory, type IXmlElementFactory, ImageBuilder, type ImageMaskStyle, type ImageOptions, ImagePptxElement, IncorrectPasswordError, InkPptxElement, type LayoutAlgorithmType, type LayoutConstraints, type LayoutCreationResult, type LayoutDefinition, type LayoutEngineShape, type LayoutRule, type LinkedTextBoxChain, type LinkedTextBoxChainMember, type LinkedTextBoxSegmentMap, MAX_ZIP_ENTRY_COUNT, MIN_ELEMENT_SIZE, MOTION_PATH_PRESETS, MediaBookmark, MediaBuilder, MediaGraphicFrameXmlFactory, type MediaGraphicFrameXmlFactoryInit, type MediaOptions, MediaPptxElement, MergeOptions, type MergeShapeOperation, type Model3DTransform, OOXML_TO_PRESET_EMPH, OOXML_TO_PRESET_ENTR, OOXML_TO_PRESET_EXIT, type Ole2DirectoryEntry, type Ole2File, Ole2ParseError, OleObjectType, OlePptxElement, type OoxmlConformanceClass, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRESET_TO_OOXML, type ParsedLayoutDef, type ParsedSignature, ParsedTableBackground, type ParsedTableStyle, ParsedTableStyleFill, ParsedTableStyleMap, type ParsedTableStylePart, ParsedTableStyleText, PictureXmlFactory, type PictureXmlFactoryInit, PlaceholderDefaults, type PlaceholderDefinition, PlaceholderTextLevelStyle, PptxAction, PptxActiveXControl, PptxAnimationPreset, PptxAnimationTrigger, PptxAnimationWriteService, PptxAppProperties, type PptxBuilderFactoryContext, PptxChart3DSurface, PptxChartAxisFormatting, PptxChartChrome, PptxChartData, PptxChartDataLabel, PptxChartDataPoint, PptxChartDataTable, PptxChartErrBars, PptxChartLineStyle, PptxChartMarker, PptxChartOfPieOptions, PptxChartSeries, PptxChartShapeProps, PptxChartStyle, PptxChartTrendline, PptxChartType, PptxChartView3D, PptxColorStyleCodec, type PptxColorStyleCodecContext, PptxComment, PptxCommentAuthor, type PptxCommentAuthorDescriptor, PptxCommentAuthorsXmlFactory, type PptxCommentAuthorsXmlFactoryInit, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxCompatibilityWarning, PptxConnectorParser, type PptxConnectorParserContext, PptxContentTypesBuilder, type PptxContentTypesCommentBuildInput, type PptxContentTypesSlideMediaBuildInput, PptxCoreProperties, PptxCustomProperty, PptxCustomShow, PptxCustomXmlPart, PptxCustomerData, PptxData, PptxDocumentPropertiesUpdater, PptxDrawingGuide, PptxEditorAnimationService, type PptxEditorAnimationServiceOptions, PptxElement, PptxElementAnimation, PptxElementTransformUpdater, PptxElementWithShapeStyle, PptxElementWithText, PptxElementXmlBuilder, type PptxElementXmlBuilderOptions, PptxEmbeddedFont, PptxEmbeddedWorkbookData, PptxExportOptions, PptxExternalData, PptxGraphicFrameParser, type PptxGraphicFrameParserContext, PptxHandler, type PptxHandlerLoadOptions, PptxHandlerRuntime, PptxHandlerRuntimeFactory, type PptxHandlerSaveOptions, PptxHandoutMaster, PptxHeaderFooter, PptxImageEffects, PptxImageLikeElement, PptxKinsoku, PptxLayoutOption, PptxLoadDataBuilder, PptxMasterTextStyles, PptxMediaDataParser, type PptxMediaDataParserContext, type PptxMediaTimingEntry, type PptxMediaTimingMap, PptxModifyVerifier, PptxNativeAnimation, PptxNativeAnimationService, PptxNotesMaster, PptxPhotoAlbum, PptxPresentationProperties, type PptxPresentationSaveBuildInput, PptxPresentationSaveBuilder, type PptxPresentationSaveBuilderOptions, PptxPresentationSlidesReconciler, type PptxPresentationSlidesReconcilerInput, type PptxRuntimeDependencyBundle, PptxRuntimeDependencyFactory, type PptxRuntimeDependencyFactoryInput, type PptxSaveConstants, PptxSaveConstantsFactory, type PptxSaveFormat, type PptxSaveMediaKind, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxSection, PptxShapeIdValidator, PptxShapeLocks, PptxShapeStyleExtractor, type PptxShapeStyleExtractorContext, PptxSlide, PptxSlideBackgroundBuilder, type PptxSlideBackgroundBuilderInput, PptxSlideBackgroundPattern, PptxSlideBuilder, PptxSlideCommentPartWriter, type PptxSlideCommentPartWriterInput, type PptxSlideCommentRelationshipInfo, PptxSlideCommentsXmlFactory, type PptxSlideCommentsXmlFactoryInit, PptxSlideElementsBuilder, PptxSlideLayout, type PptxSlideLoaderParams, PptxSlideLoaderService, type PptxSlideLoaderThemeOverride, PptxSlideMaster, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, type PptxSlideNotesPartUpdaterInput, type PptxSlideNotesResult, PptxSlideRelationshipRegistry, type PptxSlideRelationshipRegistryOptions, PptxSlideTransition, PptxSlideTransitionService, type PptxSlideTransitionServiceOptions, PptxSmartArtChrome, PptxSmartArtColorTransform, PptxSmartArtData, PptxSmartArtDrawingShape, PptxSmartArtNode, PptxSmartArtQuickStyle, PptxTableCellStyle, PptxTableData, PptxTableDataParser, type PptxTableDataParserContext, PptxTagCollection, PptxTemplateBackgroundService, type PptxTemplateBackgroundState, PptxTextStyleLevels, PptxTheme, PptxThemeColorScheme, PptxThemeEffectStyle, PptxThemeFillStyle, PptxThemeFontScheme, PptxThemeFormatScheme, PptxThemeLineStyle, PptxThemeObjectDefaults, PptxThemeOption, type PptxThemePreset, PptxTransitionType, PptxViewProperties, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, type PresentationBuilderResult, type PresentationDiff, type PresentationOptions, type PresentationThemeInput, type PresetPath, type PresetPathCommand, type PresetShapeCategory, type PresetShapeDefinition, type PresetShapeEvaluationResult, type PresetShapeGeometryDefinition, type PropertyChange, type ReflowedNodePosition, type RepairResult, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, type ShadowInput, ShapeBuilder, type ShapeOptions, ShapePptxElement, ShapeStyle, type SignatureCertificateInfo, type SignatureDetectionResult, type SignatureReference, type SignatureStatus, SlideBuilder, type SlideDiff, SlideSizes, SmartArtLayoutType, SmartArtPptxElement, type StandardEncryptionInfo, StrokeDashType, type StrokeInput, type SupportedShapeType, TC_PR_BORDERS_ORDER, THEME_PRESETS, TableBuilder, type TableCellInput, type TableInput, type TableOptions, TablePptxElement, type TableRowInput, type TableStyleFlags, type TableStylePartBorder, type TableStylePartBorders, type TableStylePartFill, type TableStylePartText, type TemplateData, TextBuilder, type TextOptions, TextPptxElement, TextSegment, type TextSegmentInput, TextShapeXmlFactory, type TextShapeXmlFactoryInit, TextStyle, type TextStyleInput, type ThemePreset, type ThemePresetName, ThemePresets, type TransitionInput, VML_SHAPE_TAGS, type ValidationIssue, type ValidationResult, type Vec2, XmlObject, ZipBombError, ZoomPptxElement, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableElement, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, evaluatePresetShape, extractColorChoiceXml, extractGuidFromPartName, extractModel3DTransform, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, getAdjustmentAwareClipPath, getAdjustmentAwareShapeClipPath, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getCloudPathForRendering, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getNativeAnimationPresetMetadata, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeClipPathFromPreset, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isZoomElement$1 as isZoomElement, isZoomElement as isZoomElementUtil, layoutEngineShapesToDrawingShapes, lookupPresetShape, mailMerge, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, ooxmlArcToSvg, ooxmlToPresetName, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveModel3DMimeType, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartCategories, setChartGrouping, setChartTitle, setChartType, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, updateChartDataPoint, updateChartSeriesValues, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs };