pptx-viewer-core 1.4.0 → 1.6.0

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.
@@ -435,6 +435,8 @@ interface CustomGeometryPath {
435
435
  * and the text rectangle are not lost when a custGeom is edited and saved.
436
436
  */
437
437
  interface CustomGeometryRawData {
438
+ /** Raw `a:avLst` XML content (adjustment value list). */
439
+ avLstXml?: unknown;
438
440
  /** Raw `a:gdLst` XML content (guide list). */
439
441
  gdLstXml?: unknown;
440
442
  /** Raw `a:ahLst` XML content (adjustment handles). */
@@ -575,7 +577,7 @@ interface PptxCustomPathProperties {
575
577
  pathHeight?: number;
576
578
  /** Structured custom geometry paths for editing (maps to a:custGeom/a:pathLst). */
577
579
  customGeometryPaths?: CustomGeometryPath[];
578
- /** Raw a:gdLst/a:ahLst/a:cxnLst/a:rect XML preserved for round-trip serialization. */
580
+ /** Raw adjustment/guide/handle/connection/text-rectangle XML preserved for serialization. */
579
581
  customGeometryRawData?: CustomGeometryRawData;
580
582
  /**
581
583
  * Typed XY adjustment handles parsed from `a:custGeom/a:ahLst/a:ahXY`.
@@ -675,6 +677,10 @@ interface Text3DStyle {
675
677
  interface Pptx3DScene {
676
678
  /** Camera preset type, e.g. "orthographicFront", "perspectiveFront". */
677
679
  cameraPreset?: string;
680
+ /** Camera field of view in 1/60000 degrees (`a:camera/@fov`). */
681
+ cameraFieldOfView?: number;
682
+ /** Camera zoom as an OOXML percentage fraction (`a:camera/@zoom`, 1 = 100%). */
683
+ cameraZoom?: number;
678
684
  /** Camera rotation around X axis in 1/60000 degrees. */
679
685
  cameraRotX?: number;
680
686
  /** Camera rotation around Y axis in 1/60000 degrees. */
@@ -685,6 +691,12 @@ interface Pptx3DScene {
685
691
  lightRigType?: string;
686
692
  /** Light rig direction, e.g. "t", "b", "l", "r", "tl". */
687
693
  lightRigDirection?: string;
694
+ /** Light-rig rotation latitude in 1/60000 degrees. */
695
+ lightRigRotX?: number;
696
+ /** Light-rig rotation longitude in 1/60000 degrees. */
697
+ lightRigRotY?: number;
698
+ /** Light-rig rotation revolution in 1/60000 degrees. */
699
+ lightRigRotZ?: number;
688
700
  /** Whether a 3D backdrop plane is present (`a:backdrop`). */
689
701
  hasBackdrop?: boolean;
690
702
  /** Backdrop plane anchor X in EMU. */
@@ -693,6 +705,18 @@ interface Pptx3DScene {
693
705
  backdropAnchorY?: number;
694
706
  /** Backdrop plane anchor Z in EMU. */
695
707
  backdropAnchorZ?: number;
708
+ /** Backdrop normal vector X component. */
709
+ backdropNormalX?: number;
710
+ /** Backdrop normal vector Y component. */
711
+ backdropNormalY?: number;
712
+ /** Backdrop normal vector Z component. */
713
+ backdropNormalZ?: number;
714
+ /** Backdrop up vector X component. */
715
+ backdropUpX?: number;
716
+ /** Backdrop up vector Y component. */
717
+ backdropUpY?: number;
718
+ /** Backdrop up vector Z component. */
719
+ backdropUpZ?: number;
696
720
  }
697
721
  /**
698
722
  * 3D shape extrusion/bevel from `a:sp3d`.
@@ -764,6 +788,12 @@ type PptxTextWarpPreset = 'textNoShape' | 'textPlain' | 'textStop' | 'textTriang
764
788
  * @module pptx-types/shape-style
765
789
  */
766
790
 
791
+ interface PptxCustomDashSegment {
792
+ /** Dash length as a non-negative percentage in thousandths of one percent. */
793
+ dash: number;
794
+ /** Space length as a non-negative percentage in thousandths of one percent. */
795
+ space: number;
796
+ }
767
797
  /**
768
798
  * Comprehensive visual style for a shape, connector, or image element.
769
799
  *
@@ -812,9 +842,13 @@ interface ShapeStyle {
812
842
  */
813
843
  fillColorXml?: XmlObject;
814
844
  fillGradient?: string;
845
+ /** Original `gradFill` XML retained for unknown-child and extension round-tripping. */
846
+ fillGradientXml?: XmlObject;
815
847
  fillMode?: 'solid' | 'gradient' | 'pattern' | 'none' | 'image' | 'theme' | 'group';
816
848
  fillPatternPreset?: string;
817
849
  fillPatternBackgroundColor?: string;
850
+ /** Original `pattFill` XML retained for unknown-child round-tripping. */
851
+ fillPatternXml?: XmlObject;
818
852
  /** Raw XML node for pattern fill foreground colour (preserves color transforms). */
819
853
  fillPatternFgClrXml?: XmlObject;
820
854
  /** Raw XML node for pattern fill background colour (preserves color transforms). */
@@ -880,6 +914,14 @@ interface ShapeStyle {
880
914
  /** Pen line alignment (`a:ln/@algn`): `ctr` (centre, default) or `in` (inside). */
881
915
  lineAlignment?: 'ctr' | 'in';
882
916
  shadowColor?: string;
917
+ /** Preserved source `a:effectLst`, including unknown effects and extensions. */
918
+ effectListXml?: XmlObject;
919
+ /** Original outer-shadow node used for lossless surgical updates. */
920
+ outerShadowXml?: XmlObject;
921
+ /** Resolved source shadow colour used to detect colour edits. */
922
+ outerShadowOriginalColor?: string;
923
+ /** Source shadow opacity used to detect alpha edits. */
924
+ outerShadowOriginalOpacity?: number;
883
925
  shadowBlur?: number;
884
926
  shadowOffsetX?: number;
885
927
  shadowOffsetY?: number;
@@ -923,11 +965,23 @@ interface ShapeStyle {
923
965
  /** Multiple shadow layers (for advanced effects). */
924
966
  shadows?: ShadowEffect[];
925
967
  glowColor?: string;
968
+ /** Original glow node used for lossless surgical updates. */
969
+ glowXml?: XmlObject;
970
+ /** Resolved source glow colour used to detect colour edits. */
971
+ glowOriginalColor?: string;
972
+ /** Source glow opacity used to detect alpha edits. */
973
+ glowOriginalOpacity?: number;
926
974
  glowRadius?: number;
927
975
  glowOpacity?: number;
928
976
  softEdgeRadius?: number;
929
977
  /** Inner shadow colour (`a:innerShdw`). */
930
978
  innerShadowColor?: string;
979
+ /** Original inner-shadow node used for lossless surgical updates. */
980
+ innerShadowXml?: XmlObject;
981
+ /** Resolved source inner-shadow colour used to detect colour edits. */
982
+ innerShadowOriginalColor?: string;
983
+ /** Source inner-shadow opacity used to detect alpha edits. */
984
+ innerShadowOriginalOpacity?: number;
931
985
  /** Inner shadow opacity (0-1). */
932
986
  innerShadowOpacity?: number;
933
987
  /** Inner shadow blur radius in px. */
@@ -936,8 +990,12 @@ interface ShapeStyle {
936
990
  innerShadowOffsetX?: number;
937
991
  /** Inner shadow vertical offset in px. */
938
992
  innerShadowOffsetY?: number;
993
+ /** Original soft-edge node, including vendor attributes and extensions. */
994
+ softEdgeXml?: XmlObject;
939
995
  /** Reflection effect — distance from shape bottom in px. */
940
996
  reflectionBlurRadius?: number;
997
+ /** Original reflection node, including vendor attributes and extensions. */
998
+ reflectionXml?: XmlObject;
941
999
  /** Reflection start opacity (0-1). */
942
1000
  reflectionStartOpacity?: number;
943
1001
  /** Reflection end opacity (0-1). */
@@ -968,11 +1026,12 @@ interface ShapeStyle {
968
1026
  connectorStartConnection?: ConnectorConnectionPoint;
969
1027
  /** Connection point for the end of a connector. */
970
1028
  connectorEndConnection?: ConnectorConnectionPoint;
971
- /** Custom dash segments array (`a:custDash/a:ds`). Each entry has dash length and space length in EMU. */
972
- customDashSegments?: Array<{
973
- dash: number;
974
- space: number;
975
- }>;
1029
+ /** Custom dash pattern, measured relative to line width in thousandths of one percent. */
1030
+ customDashSegments?: PptxCustomDashSegment[];
1031
+ /** Original `a:ds` payloads retained by index for lossless edits. */
1032
+ customDashSegmentXml?: XmlObject[];
1033
+ /** Original `a:custDash` payload retained for lossless edits. */
1034
+ customDashXml?: XmlObject;
976
1035
  /** 3D scene/camera settings from `a:scene3d`. */
977
1036
  scene3d?: Pptx3DScene;
978
1037
  /** 3D shape extrusion/bevel from `a:sp3d`. */
@@ -1084,6 +1143,8 @@ interface ShapeStyle {
1084
1143
  * ```
1085
1144
  */
1086
1145
  interface TextStyle {
1146
+ /** Original `a:rPr` XML retained by projections that share the shape-text model. */
1147
+ runPropertiesXml?: XmlObject;
1087
1148
  fontFamily?: string;
1088
1149
  fontSize?: number;
1089
1150
  /** When true, renderer should shrink text to fit the shape bounds. */
@@ -1433,6 +1494,8 @@ interface TextStyle {
1433
1494
  text3d?: Text3DStyle;
1434
1495
  /** 3D scene (camera + light rig) settings on the text body (`a:bodyPr/a:scene3d`). */
1435
1496
  textBodyScene3d?: Pptx3DScene;
1497
+ /** Raw `a:scene3d` subtree used to preserve extensions and unmodelled children. */
1498
+ textBodyScene3dXml?: XmlObject;
1436
1499
  /**
1437
1500
  * Raw `<a:extLst>` subtree captured from `<a:bodyPr>`. Preserved verbatim so
1438
1501
  * authored extensions (e.g. content placeholders, custom application data)
@@ -1850,12 +1913,126 @@ interface PlaceholderDefaults {
1850
1913
  promptText?: string;
1851
1914
  }
1852
1915
 
1916
+ /** Tick-mark placement from ChartML `ST_TickMark`. */
1917
+ type PptxChartTickMark = 'cross' | 'in' | 'none' | 'out';
1918
+ /** Typed axis tick and category/date label controls. */
1919
+ interface PptxChartAxisLabelFormatting {
1920
+ /** Primary and secondary tick-mark placement. */
1921
+ majorTickMark?: PptxChartTickMark;
1922
+ minorTickMark?: PptxChartTickMark;
1923
+ /** Tick-label position from ChartML `ST_TickLblPos`. */
1924
+ tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
1925
+ /** Automatic category/date axis behavior (`c:auto`). */
1926
+ auto?: boolean;
1927
+ /** Category-axis label alignment (`c:lblAlgn`). */
1928
+ labelAlignment?: 'ctr' | 'l' | 'r';
1929
+ /** Category/date label distance, from 0 through 1000 percent. */
1930
+ labelOffset?: number;
1931
+ /** Number of category/date labels between rendered labels. */
1932
+ tickLabelSkip?: number;
1933
+ /** Number of category/date tick positions between major tick marks. */
1934
+ tickMarkSkip?: number;
1935
+ /** Suppress multi-level category labels (`c:noMultiLvlLbl`). */
1936
+ noMultiLevelLabels?: boolean;
1937
+ }
1938
+
1939
+ interface PptxChartPivotFormat {
1940
+ index: number;
1941
+ shapePropertiesXml?: XmlObject | null;
1942
+ markerXml?: XmlObject | null;
1943
+ dataLabelXml?: XmlObject | null;
1944
+ extensionListXml?: XmlObject | null;
1945
+ rawXml?: XmlObject;
1946
+ }
1947
+ /** Editable classic ChartML `c:pivotFmts` collection. */
1948
+ interface PptxChartPivotFormats {
1949
+ formats: PptxChartPivotFormat[];
1950
+ rawXml?: XmlObject;
1951
+ }
1952
+
1953
+ /** Editable classic ChartML `c:pivotSource` metadata. */
1954
+ interface PptxChartPivotSource {
1955
+ /** Pivot table reference stored as `c:name` text. */
1956
+ name: string;
1957
+ /** Required unsigned format identifier stored in `c:fmtId/@val`. */
1958
+ formatId: number;
1959
+ /** Internal source subtree used to preserve extensions and foreign markup. */
1960
+ rawXml?: XmlObject;
1961
+ }
1962
+
1963
+ /** Headers and footers used when a classic ChartML chart is printed. */
1964
+ interface PptxChartPrintHeaderFooter {
1965
+ oddHeader?: string;
1966
+ oddFooter?: string;
1967
+ evenHeader?: string;
1968
+ evenFooter?: string;
1969
+ firstHeader?: string;
1970
+ firstFooter?: string;
1971
+ alignWithMargins?: boolean;
1972
+ differentOddEven?: boolean;
1973
+ differentFirst?: boolean;
1974
+ /** Original subtree retained for foreign attributes and extension children. */
1975
+ rawXml?: unknown;
1976
+ }
1977
+ /** Required page margins from ChartML `c:pageMargins`, measured in inches. */
1978
+ interface PptxChartPageMargins {
1979
+ left: number;
1980
+ right: number;
1981
+ top: number;
1982
+ bottom: number;
1983
+ header: number;
1984
+ footer: number;
1985
+ /** Original leaf retained for foreign attributes. */
1986
+ rawXml?: unknown;
1987
+ }
1988
+ /** Printer page configuration from ChartML `c:pageSetup`. */
1989
+ interface PptxChartPageSetup {
1990
+ paperSize?: number;
1991
+ firstPageNumber?: number;
1992
+ orientation?: 'default' | 'portrait' | 'landscape';
1993
+ blackAndWhite?: boolean;
1994
+ draft?: boolean;
1995
+ useFirstPageNumber?: boolean;
1996
+ horizontalDpi?: number;
1997
+ verticalDpi?: number;
1998
+ copies?: number;
1999
+ /** Original leaf retained for foreign attributes. */
2000
+ rawXml?: unknown;
2001
+ }
2002
+ /** Editable `c:printSettings` content from a classic ChartML chart space. */
2003
+ interface PptxChartPrintSettings {
2004
+ headerFooter?: PptxChartPrintHeaderFooter | null;
2005
+ pageMargins?: PptxChartPageMargins | null;
2006
+ pageSetup?: PptxChartPageSetup | null;
2007
+ /** `null` removes the legacy header/footer drawing relationship element. */
2008
+ legacyDrawingHeaderFooterRelationshipId?: string | null;
2009
+ /** Original subtree retained for unknown and extension content. */
2010
+ rawXml?: unknown;
2011
+ }
2012
+
2013
+ /** Editable classic ChartML `c:protection` settings. */
2014
+ interface PptxChartProtection {
2015
+ /** Prevent editing the chart object. */
2016
+ chartObject?: boolean | null;
2017
+ /** Prevent editing the chart data. */
2018
+ data?: boolean | null;
2019
+ /** Prevent editing chart formatting. */
2020
+ formatting?: boolean | null;
2021
+ /** Prevent selecting chart elements. */
2022
+ selection?: boolean | null;
2023
+ /** Prevent chart user-interface operations. */
2024
+ userInterface?: boolean | null;
2025
+ /** Internal source subtree used to preserve foreign markup during edits. */
2026
+ rawXml?: XmlObject;
2027
+ }
2028
+
1853
2029
  /**
1854
2030
  * Chart types: chart categories, series data, style metadata, data tables,
1855
2031
  * trendlines, error bars, and the composite `PptxChartData`.
1856
2032
  *
1857
2033
  * @module pptx-types/chart
1858
2034
  */
2035
+
1859
2036
  /**
1860
2037
  * Supported chart type discriminators.
1861
2038
  *
@@ -1892,6 +2069,7 @@ type PptxChartTrendlineType = 'linear' | 'exponential' | 'logarithmic' | 'polyno
1892
2069
  */
1893
2070
  interface PptxChartTrendline {
1894
2071
  trendlineType: PptxChartTrendlineType;
2072
+ name?: string;
1895
2073
  order?: number;
1896
2074
  period?: number;
1897
2075
  forward?: number;
@@ -1900,6 +2078,13 @@ interface PptxChartTrendline {
1900
2078
  displayRSq?: boolean;
1901
2079
  displayEq?: boolean;
1902
2080
  color?: string;
2081
+ label?: PptxChartTrendlineLabel | null;
2082
+ }
2083
+ /** Typed, commonly edited properties of `c:trendlineLbl`. */
2084
+ interface PptxChartTrendlineLabel {
2085
+ layout?: PptxChartManualLayout;
2086
+ numberFormatCode?: string;
2087
+ sourceLinked?: boolean;
1903
2088
  }
1904
2089
  /** Error-bar direction axis. */
1905
2090
  type PptxChartErrBarDir = 'x' | 'y';
@@ -1936,6 +2121,8 @@ interface PptxChartErrBars {
1936
2121
  val?: number;
1937
2122
  customPlus?: number[];
1938
2123
  customMinus?: number[];
2124
+ noEndCap?: boolean;
2125
+ color?: string;
1939
2126
  }
1940
2127
  /**
1941
2128
  * Visibility flags for the chart data table (axes + legend keys).
@@ -1985,9 +2172,17 @@ interface PptxChartShapeProps {
1985
2172
  /** Line dash style (a:prstDash/@val), e.g. 'solid', 'dash', 'dot', 'lgDash'. */
1986
2173
  strokeDashStyle?: string;
1987
2174
  }
2175
+ /** Up/down bar formatting on line and stock charts (`c:upDownBars`). */
2176
+ interface PptxChartUpDownBars {
2177
+ /** Gap between bars as a percentage, constrained to 0 through 500. */
2178
+ gapWidth?: number;
2179
+ upBars?: PptxChartShapeProps;
2180
+ downBars?: PptxChartShapeProps;
2181
+ }
1988
2182
  /** Marker appearance on a chart series or data point. */
1989
2183
  interface PptxChartMarker {
1990
2184
  symbol: PptxChartMarkerSymbol;
2185
+ /** Marker size in points, constrained by ST_MarkerSize to 2 through 72. */
1991
2186
  size?: number;
1992
2187
  spPr?: PptxChartShapeProps;
1993
2188
  }
@@ -1998,26 +2193,43 @@ interface PptxChartDataPoint {
1998
2193
  explosion?: number;
1999
2194
  invertIfNegative?: boolean;
2000
2195
  marker?: PptxChartMarker;
2196
+ /** Render a bubble-chart point with a 3-D appearance. */
2197
+ bubble3D?: boolean;
2001
2198
  }
2199
+ /** Schema values accepted by `c:dLblPos`. */
2200
+ type PptxChartDataLabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
2002
2201
  /** Individual data label override (c:dLbl). */
2003
2202
  interface PptxChartDataLabel {
2004
2203
  idx: number;
2204
+ /** Suppress this data point's automatically generated label. */
2205
+ deleted?: boolean;
2005
2206
  showVal?: boolean;
2006
2207
  showCatName?: boolean;
2007
2208
  showSerName?: boolean;
2008
2209
  showPercent?: boolean;
2009
2210
  showLegendKey?: boolean;
2010
2211
  showBubbleSize?: boolean;
2011
- position?: string;
2212
+ position?: PptxChartDataLabelPosition;
2012
2213
  text?: string;
2214
+ separator?: string;
2215
+ showLeaderLines?: boolean;
2013
2216
  }
2014
2217
  /** Axis number format. */
2015
2218
  interface PptxChartAxisNumFmt {
2016
2219
  formatCode: string;
2017
2220
  sourceLinked?: boolean;
2018
2221
  }
2222
+ /** Typed contents of a value-axis display-unit label (`c:dispUnitsLbl`). */
2223
+ interface PptxChartDisplayUnitsLabel {
2224
+ /** Literal label text. Omit to preserve the source text subtree. */
2225
+ text?: string;
2226
+ /** Manual label placement. `null` removes only the manual layout. */
2227
+ layout?: PptxChartManualLayout | null;
2228
+ /** Label shape formatting. `null` removes `c:spPr`. */
2229
+ spPr?: PptxChartShapeProps | null;
2230
+ }
2019
2231
  /** Axis formatting for category, value, or date axes. */
2020
- interface PptxChartAxisFormatting {
2232
+ interface PptxChartAxisFormatting extends PptxChartAxisLabelFormatting {
2021
2233
  axisType: 'catAx' | 'valAx' | 'dateAx' | 'serAx';
2022
2234
  /** Axis position: "b" (bottom), "l" (left), "r" (right), "t" (top). */
2023
2235
  axPos?: 'b' | 'l' | 'r' | 't';
@@ -2025,6 +2237,12 @@ interface PptxChartAxisFormatting {
2025
2237
  axisId?: number;
2026
2238
  /** Cross-axis identifier — the axis this axis crosses. */
2027
2239
  crossAxisId?: number;
2240
+ /** Automatic crossing mode (`c:crosses`). Mutually exclusive with `crossesAt`. */
2241
+ crosses?: 'autoZero' | 'min' | 'max';
2242
+ /** Explicit crossing value (`c:crossesAt`). Units depend on the axis type. */
2243
+ crossesAt?: number;
2244
+ /** Whether a value axis crosses between or at category tick marks. */
2245
+ crossBetween?: 'between' | 'midCat';
2028
2246
  numFmt?: PptxChartAxisNumFmt;
2029
2247
  titleText?: string;
2030
2248
  spPr?: PptxChartShapeProps;
@@ -2042,6 +2260,8 @@ interface PptxChartAxisFormatting {
2042
2260
  min?: number;
2043
2261
  /** Maximum axis value override (c:max/@val). */
2044
2262
  max?: number;
2263
+ /** Axis value direction (`c:scaling/c:orientation/@val`). */
2264
+ orientation?: 'minMax' | 'maxMin';
2045
2265
  /** Whether the axis is deleted/hidden (c:delete/@val). */
2046
2266
  deleted?: boolean;
2047
2267
  /**
@@ -2051,8 +2271,12 @@ interface PptxChartAxisFormatting {
2051
2271
  displayUnits?: 'hundreds' | 'thousands' | 'tenThousands' | 'hundredThousands' | 'millions' | 'tenMillions' | 'hundredMillions' | 'billions' | 'trillions' | 'custom';
2052
2272
  /** Custom display unit divisor value (c:dispUnits/c:custUnit/@val). Only used when displayUnits is 'custom'. */
2053
2273
  displayUnitsValue?: number;
2054
- /** Display units label text (c:dispUnits/c:dispUnitsLbl). Overrides the built-in default label when present. */
2055
- displayUnitsLabel?: string;
2274
+ /**
2275
+ * Display-unit label contents (`c:dispUnits/c:dispUnitsLbl`). A string is
2276
+ * retained as a compatibility shorthand for `{ text: string }`; `null`
2277
+ * explicitly removes the label.
2278
+ */
2279
+ displayUnitsLabel?: string | PptxChartDisplayUnitsLabel | null;
2056
2280
  /** Whether logarithmic scaling is enabled (presence of c:scaling/c:logBase). */
2057
2281
  logScale?: boolean;
2058
2282
  /** Logarithmic base value (c:scaling/c:logBase/@val), typically 10 or e. */
@@ -2061,14 +2285,69 @@ interface PptxChartAxisFormatting {
2061
2285
  majorUnit?: number;
2062
2286
  /** Minor-unit interval between secondary tick marks (c:minorUnit/@val). */
2063
2287
  minorUnit?: number;
2064
- /** Tick-label position (c:tickLblPos/@val): 'high', 'low', 'nextTo', or 'none'. */
2065
- tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
2288
+ /** Calendar unit used to interpret date-axis serial values. */
2289
+ baseTimeUnit?: 'days' | 'months' | 'years';
2290
+ majorTimeUnit?: 'days' | 'months' | 'years';
2291
+ minorTimeUnit?: 'days' | 'months' | 'years';
2066
2292
  }
2067
2293
  /** 3D wall or floor element formatting. */
2068
2294
  interface PptxChart3DSurface {
2069
2295
  thickness?: number;
2070
2296
  spPr?: PptxChartShapeProps;
2071
2297
  }
2298
+ /** Office 2016 ChartEx box-and-whisker series layout options. */
2299
+ interface PptxChartBoxWhiskerOptions {
2300
+ quartileMethod?: 'inclusive' | 'exclusive';
2301
+ showMeanLine?: boolean;
2302
+ showMeanMarker?: boolean;
2303
+ /** Show non-outlier (inner) data points. */
2304
+ showInnerPoints?: boolean;
2305
+ showOutlierPoints?: boolean;
2306
+ }
2307
+ /** Office 2016 ChartEx histogram and Pareto series layout options. */
2308
+ interface PptxChartHistogramOptions {
2309
+ /** Maps to `clusteredColumn` for histogram columns or `paretoLine`. */
2310
+ layout?: 'histogram' | 'pareto';
2311
+ /** Exactly one of binSize and binCount is emitted by the ChartEx writer. */
2312
+ binSize?: number;
2313
+ binCount?: number;
2314
+ intervalClosed?: 'l' | 'r';
2315
+ underflow?: number | 'auto';
2316
+ overflow?: number | 'auto';
2317
+ }
2318
+ /** Office 2016 ChartEx waterfall series layout options. */
2319
+ interface PptxChartWaterfallOptions {
2320
+ /** Zero-based data point indexes rendered as absolute subtotal or total bars. */
2321
+ subtotalIndices?: number[];
2322
+ /** Whether connector lines are visible between adjacent bars. */
2323
+ connectorLines?: boolean;
2324
+ }
2325
+ /** Office 2016 ChartEx geographic series dimensions and layout options. */
2326
+ interface PptxChartRegionMapOptions {
2327
+ /** Optional provider entity identifiers aligned with categories and values. */
2328
+ entityIds?: string[];
2329
+ /** Original `cx:pt/@idx` values for category points. */
2330
+ categorySourceIndices?: number[];
2331
+ /** Original `cx:pt/@idx` values for colour-value points. */
2332
+ valueSourceIndices?: number[];
2333
+ /** Original `cx:pt/@idx` values for entity-ID points. */
2334
+ entityIdSourceIndices?: number[];
2335
+ regionLabelLayout?: 'none' | 'bestFitOnly' | 'showAll';
2336
+ projectionType?: 'mercator' | 'miller' | 'robinson' | 'albers';
2337
+ viewedRegionType?: 'dataOnly' | 'postalCode' | 'county' | 'state' | 'countryRegion' | 'countryRegionList' | 'world';
2338
+ cultureLanguage?: string;
2339
+ /** ISO-3166-1 alpha-2 region code. */
2340
+ cultureRegion?: string;
2341
+ attribution?: string;
2342
+ /** Opaque authored provider cache under `cx:geography/cx:geoCache`. */
2343
+ geographyCache?: XmlObject;
2344
+ }
2345
+ /** Layout for parent category labels in a hierarchical ChartEx treemap. */
2346
+ type PptxChartParentLabelLayout = 'none' | 'banner' | 'overlapping';
2347
+ /** Per-series layout options for an Office 2016+ ChartEx treemap. */
2348
+ interface PptxChartTreemapOptions {
2349
+ parentLabelLayout?: PptxChartParentLabelLayout;
2350
+ }
2072
2351
  /**
2073
2352
  * A single data series within a chart.
2074
2353
  *
@@ -2104,6 +2383,11 @@ interface PptxChartSeries {
2104
2383
  * series.
2105
2384
  */
2106
2385
  seriesChartType?: PptxChartType;
2386
+ boxWhiskerOptions?: PptxChartBoxWhiskerOptions;
2387
+ histogramOptions?: PptxChartHistogramOptions;
2388
+ waterfallOptions?: PptxChartWaterfallOptions;
2389
+ regionMapOptions?: PptxChartRegionMapOptions;
2390
+ treemapOptions?: PptxChartTreemapOptions;
2107
2391
  }
2108
2392
  /**
2109
2393
  * Chart-level data-label options (`c:dLbls` directly under a chart-type
@@ -2121,12 +2405,32 @@ interface PptxChartDataLabelOptions {
2121
2405
  showPercent?: boolean;
2122
2406
  /** Show the legend key swatch (`c:showLegendKey`). */
2123
2407
  showLegendKey?: boolean;
2408
+ /** Show bubble size (`c:showBubbleSize`). */
2409
+ showBubbleSize?: boolean;
2410
+ /** Text placed between combined label components (`c:separator`). */
2411
+ separator?: string;
2412
+ /** Show leader lines where supported (`c:showLeaderLines`). */
2413
+ showLeaderLines?: boolean;
2124
2414
  /**
2125
2415
  * Label position (`c:dLblPos`). Valid values depend on the chart type
2126
2416
  * (`ctr`, `inEnd`, `inBase`, `outEnd`, `bestFit`, `l`, `r`, `t`, `b`).
2127
2417
  * Omit to let PowerPoint use the type default.
2128
2418
  */
2129
- position?: 'ctr' | 'inEnd' | 'inBase' | 'outEnd' | 'bestFit' | 'l' | 'r' | 't' | 'b';
2419
+ position?: PptxChartDataLabelPosition;
2420
+ }
2421
+ /** Typed text defaults for a single chart legend entry. */
2422
+ interface PptxChartLegendTextStyle {
2423
+ fontFamily?: string;
2424
+ fontSize?: number;
2425
+ bold?: boolean;
2426
+ italic?: boolean;
2427
+ color?: string;
2428
+ }
2429
+ /** Per-series legend entry override (`c:legendEntry`). */
2430
+ interface PptxChartLegendEntry {
2431
+ index: number;
2432
+ deleted?: boolean;
2433
+ textStyle?: PptxChartLegendTextStyle;
2130
2434
  }
2131
2435
  /**
2132
2436
  * Style / formatting metadata for a chart.
@@ -2149,6 +2453,8 @@ interface PptxChartStyle {
2149
2453
  hasLegend?: boolean;
2150
2454
  /** Legend position (t, b, l, r, tr). */
2151
2455
  legendPosition?: string;
2456
+ /** Per-series visibility and text-style overrides. */
2457
+ legendEntries?: PptxChartLegendEntry[];
2152
2458
  /** Whether the chart has a title. */
2153
2459
  hasTitle?: boolean;
2154
2460
  /** Whether gridlines are visible. */
@@ -2209,6 +2515,14 @@ interface PptxChartOfPieOptions {
2209
2515
  serLines?: boolean;
2210
2516
  gapWidth?: number;
2211
2517
  }
2518
+ /** Classic `c:bubbleChart` options from CT_BubbleChart. */
2519
+ interface PptxBubbleChartOptions {
2520
+ bubble3D?: boolean;
2521
+ /** Bubble diameter scale in percent, constrained to 0 through 300. */
2522
+ bubbleScale?: number;
2523
+ showNegativeBubbles?: boolean;
2524
+ sizeRepresents?: 'area' | 'w';
2525
+ }
2212
2526
  /**
2213
2527
  * 3D viewing parameters for a chart (`c:view3D`, ECMA-376 §21.2.2.228 /
2214
2528
  * CT_View3D).
@@ -2249,6 +2563,27 @@ interface PptxChartChrome {
2249
2563
  dispBlanksAs?: 'gap' | 'zero' | 'span';
2250
2564
  showDLblsOverMax?: boolean;
2251
2565
  }
2566
+ /** Manual chart placement from `c:layout/c:manualLayout` (CT_ManualLayout). */
2567
+ interface PptxChartManualLayout {
2568
+ layoutTarget?: 'inner' | 'outer';
2569
+ xMode?: 'edge' | 'factor';
2570
+ yMode?: 'edge' | 'factor';
2571
+ widthMode?: 'edge' | 'factor';
2572
+ heightMode?: 'edge' | 'factor';
2573
+ x?: number;
2574
+ y?: number;
2575
+ width?: number;
2576
+ height?: number;
2577
+ }
2578
+ /**
2579
+ * Typed manual layouts for chart regions that accept `c:layout`.
2580
+ * A `null` region removes its manual layout without removing extensions.
2581
+ */
2582
+ interface PptxChartLayouts {
2583
+ title?: PptxChartManualLayout | null;
2584
+ plotArea?: PptxChartManualLayout | null;
2585
+ legend?: PptxChartManualLayout | null;
2586
+ }
2252
2587
  /** Parsed data extracted from an embedded xlsx workbook. */
2253
2588
  interface PptxEmbeddedWorkbookData {
2254
2589
  /** Category labels from the first column/row. */
@@ -2258,6 +2593,16 @@ interface PptxEmbeddedWorkbookData {
2258
2593
  name: string;
2259
2594
  values: number[];
2260
2595
  }>;
2596
+ /** Whether the workbook uses the 1904 date system. */
2597
+ date1904?: boolean;
2598
+ }
2599
+ /** Raw numeric category cache used by a classic ChartML date axis. */
2600
+ interface PptxChartDateCategories {
2601
+ values: number[];
2602
+ /** False/default uses Excel's 1900 date system; true uses the 1904 system. */
2603
+ date1904?: boolean;
2604
+ /** Number format copied from the numeric category cache. */
2605
+ formatCode?: string;
2261
2606
  }
2262
2607
  /**
2263
2608
  * Complete parsed chart data for a {@link ChartPptxElement}.
@@ -2281,6 +2626,13 @@ interface PptxChartData {
2281
2626
  title?: string;
2282
2627
  chartType: PptxChartType;
2283
2628
  categories: string[];
2629
+ /**
2630
+ * Hierarchical category levels in source XML order for ChartEx hierarchy charts.
2631
+ * Level 0 contains the leaf labels and remains mirrored by {@link categories}
2632
+ * for consumers that only understand a flat category axis.
2633
+ */
2634
+ categoryLevels?: string[][];
2635
+ dateCategories?: PptxChartDateCategories;
2284
2636
  series: PptxChartSeries[];
2285
2637
  /** Chart style/formatting metadata. */
2286
2638
  style?: PptxChartStyle;
@@ -2290,9 +2642,12 @@ interface PptxChartData {
2290
2642
  chartPartPath?: string;
2291
2643
  /** Internal: relationship ID linking the graphic frame to the chart part. */
2292
2644
  chartRelationshipId?: string;
2293
- dataTable?: PptxChartDataTable;
2645
+ /** `null` explicitly removes an existing ChartML data table. */
2646
+ dataTable?: PptxChartDataTable | null;
2294
2647
  dropLines?: PptxChartLineStyle;
2295
2648
  hiLowLines?: PptxChartLineStyle;
2649
+ /** `null` explicitly removes an existing up/down-bars container. */
2650
+ upDownBars?: PptxChartUpDownBars | null;
2296
2651
  axes?: PptxChartAxisFormatting[];
2297
2652
  floor?: PptxChart3DSurface;
2298
2653
  sideWall?: PptxChart3DSurface;
@@ -2314,12 +2669,7 @@ interface PptxChartData {
2314
2669
  * The chart still renders using its cached series data; this field
2315
2670
  * is metadata about the data origin, preserved for round-trip fidelity.
2316
2671
  */
2317
- pivotSource?: {
2318
- /** Pivot table reference name, e.g. "[workbook.xlsx]Sheet1!PivotTable1". */
2319
- name: string;
2320
- /** Format identifier from c:fmtId/@val. */
2321
- formatId?: number;
2322
- };
2672
+ pivotSource?: PptxChartPivotSource | null;
2323
2673
  /**
2324
2674
  * Whether only visible cells are plotted (c:plotVisOnly).
2325
2675
  * When `true` (the default), hidden cells are excluded from the chart.
@@ -2342,6 +2692,12 @@ interface PptxChartData {
2342
2692
  * - `"acrossLinear"` — gradient across series
2343
2693
  */
2344
2694
  colorMethod?: 'cycle' | 'withinLinear' | 'acrossLinear';
2695
+ /** Internal source color-style part path used for lossless dirty saves. */
2696
+ colorStylePartPath?: string;
2697
+ /** Internal parsed palette snapshot used to detect actual edits. */
2698
+ colorStyleOriginalPalette?: string[];
2699
+ /** Internal parsed method snapshot used to detect actual edits. */
2700
+ colorStyleOriginalMethod?: 'cycle' | 'withinLinear' | 'acrossLinear';
2345
2701
  /**
2346
2702
  * Pie-of-pie / Bar-of-pie options (`c:ofPieChart`, CT_OfPieChart).
2347
2703
  *
@@ -2350,6 +2706,8 @@ interface PptxChartData {
2350
2706
  * `ofPieChart` element can be re-emitted on save with full fidelity.
2351
2707
  */
2352
2708
  ofPieOptions?: PptxChartOfPieOptions;
2709
+ /** Classic bubble-chart display options (`c:bubbleChart`). */
2710
+ bubbleOptions?: PptxBubbleChartOptions;
2353
2711
  /**
2354
2712
  * 3D viewing parameters (`c:view3D`, CT_View3D).
2355
2713
  *
@@ -2365,6 +2723,12 @@ interface PptxChartData {
2365
2723
  * source data, so absence does not produce empty `<c:…/>` placeholders.
2366
2724
  */
2367
2725
  chartChrome?: PptxChartChrome;
2726
+ /** `c:chartSpace/c:printSettings`; `null` removes the container on save. */
2727
+ printSettings?: PptxChartPrintSettings | null;
2728
+ /** `c:chartSpace/c:protection`; `null` removes the container on save. */
2729
+ protection?: PptxChartProtection | null;
2730
+ /** Editable manual placement for the title, plot area, and legend. */
2731
+ layouts?: PptxChartLayouts;
2368
2732
  /**
2369
2733
  * Raw `c:userShapes` XML subtree (a drawing tree) preserved verbatim.
2370
2734
  *
@@ -2381,7 +2745,8 @@ interface PptxChartData {
2381
2745
  * for charts whose data originates from a PivotTable. Preserved
2382
2746
  * verbatim for round-trip fidelity.
2383
2747
  */
2384
- pivotFmtsXml?: unknown;
2748
+ /** Typed pivot-chart format persistence; `null` removes `c:pivotFmts`. */
2749
+ pivotFormats?: PptxChartPivotFormats | null;
2385
2750
  /**
2386
2751
  * Color-map override (`c:clrMapOvr`) carrying 12 attributes that
2387
2752
  * remap theme colour roles for this chart only. Preserved as a flat
@@ -2390,107 +2755,61 @@ interface PptxChartData {
2390
2755
  clrMapOvr?: Record<string, string>;
2391
2756
  }
2392
2757
 
2393
- /**
2394
- * Image types: effects, crop shapes, and properties shared by image/picture
2395
- * elements.
2396
- *
2397
- * @module pptx-types/image
2398
- */
2399
- /**
2400
- * Blend mode for `a:blend` container nodes inside an `a:effectDag` (CT_BlendEffect).
2401
- *
2402
- * Per ECMA-376 §20.1.8.10, valid values are: `darken`, `lighten`, `mult`,
2403
- * `over`, `screen`.
2404
- */
2405
2758
  type EffectDagBlendMode = 'darken' | 'lighten' | 'mult' | 'over' | 'screen';
2406
- /**
2407
- * Container node kind inside an `a:effectDag` (CT_EffectContainer @type).
2408
- *
2409
- * Per ECMA-376 §20.1.8.20, `sib` (sibling) draws each child independently
2410
- * over the same source; `tree` (tree) chains effects so each sees the output
2411
- * of its siblings.
2412
- */
2413
2759
  type EffectDagContainerType = 'sib' | 'tree';
2414
- /**
2415
- * Typed model of the directed-acyclic effect graph stored in `a:effectDag`.
2416
- *
2417
- * The four "structural" container/transform nodes are typed; any other inner
2418
- * effect (e.g. `a:outerShdw`, `a:glow`, `a:alphaInv`) is preserved verbatim
2419
- * as a raw XML object via the {@link EffectDagRawLeaf} variant so we never
2420
- * have to recurse into the full effect taxonomy.
2421
- *
2422
- * @example
2423
- * ```ts
2424
- * // <a:effectDag>
2425
- * // <a:cont type="sib">
2426
- * // <a:blend blend="mult"><a:cont type="tree" /></a:blend>
2427
- * // </a:cont>
2428
- * // </a:effectDag>
2429
- * const dag: EffectDagContainer = {
2430
- * kind: "cont",
2431
- * type: "sib",
2432
- * children: [{
2433
- * kind: "blend",
2434
- * mode: "mult",
2435
- * container: { kind: "cont", type: "tree", children: [] },
2436
- * }],
2437
- * };
2438
- * ```
2439
- */
2440
- type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagRawLeaf;
2441
- /** `a:cont` — CT_EffectContainer. Recursive; mirrors the top-level `effectDag`. */
2760
+ type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagBlur | EffectDagAlphaOutset | EffectDagPresetShadow | EffectDagRawLeaf;
2442
2761
  interface EffectDagContainer {
2443
2762
  kind: 'cont';
2444
- /** `@type` — `sib` or `tree`. */
2445
2763
  type: EffectDagContainerType;
2446
- /** Optional `@name` attribute. */
2447
2764
  name?: string;
2448
- /** Ordered children. */
2449
2765
  children: EffectDagNode[];
2450
2766
  }
2451
- /** `a:blend` — CT_BlendEffect. Always wraps a single `a:cont` child. */
2452
2767
  interface EffectDagBlend {
2453
2768
  kind: 'blend';
2454
- /** `@blend` attribute. */
2455
2769
  mode: EffectDagBlendMode;
2456
- /** Required child `a:cont` container. */
2457
2770
  container: EffectDagContainer;
2458
2771
  }
2459
- /** `a:xfrmEffect` — CT_TransformEffect. Affine transform with no children. */
2460
2772
  interface EffectDagXfrm {
2461
2773
  kind: 'xfrmEffect';
2462
- /** Horizontal scale, percentage * 1000 (e.g. 100000 = 100%). */
2463
2774
  sx?: number;
2464
- /** Vertical scale, percentage * 1000. */
2465
2775
  sy?: number;
2466
- /** Horizontal skew, degrees * 60000. */
2467
2776
  kx?: number;
2468
- /** Vertical skew, degrees * 60000. */
2469
2777
  ky?: number;
2470
- /** Horizontal translation in EMU. */
2471
2778
  tx?: number;
2472
- /** Vertical translation in EMU. */
2473
2779
  ty?: number;
2474
2780
  }
2475
- /** `a:relOff` — CT_RelativeOffsetEffect. Relative offset in 1000ths of a percent. */
2476
2781
  interface EffectDagRelOff {
2477
2782
  kind: 'relOff';
2478
- /** Horizontal offset, percentage * 1000. */
2479
2783
  tx?: number;
2480
- /** Vertical offset, percentage * 1000. */
2481
2784
  ty?: number;
2482
2785
  }
2483
- /**
2484
- * Catch-all leaf preserving any non-container effect (e.g. `a:outerShdw`,
2485
- * `a:glow`, `a:alphaInv`) as raw XML. Re-emitted verbatim on save.
2486
- */
2786
+ /** Typed CT_BlurEffect with its original payload retained for lossless edits. */
2787
+ interface EffectDagBlur {
2788
+ kind: 'blur';
2789
+ radiusEmu?: number;
2790
+ grow?: boolean;
2791
+ xml: XmlObject;
2792
+ }
2793
+ /** Typed CT_AlphaOutsetEffect with original XML retained for lossless edits. */
2794
+ interface EffectDagAlphaOutset {
2795
+ kind: 'alphaOutset';
2796
+ radiusEmu?: number;
2797
+ xml: XmlObject;
2798
+ }
2799
+ /** Typed CT_PresetShadowEffect with colour and extension XML retained verbatim. */
2800
+ interface EffectDagPresetShadow {
2801
+ kind: 'prstShdw';
2802
+ preset?: `shdw${number}`;
2803
+ distanceEmu?: number;
2804
+ direction?: number;
2805
+ xml: XmlObject;
2806
+ }
2487
2807
  interface EffectDagRawLeaf {
2488
2808
  kind: 'raw';
2489
- /** Local element name without the `a:` prefix (e.g. `outerShdw`, `glow`). */
2490
2809
  tag: string;
2491
- /** Raw XML object captured at load — preserved verbatim on save. */
2492
2810
  xml: Record<string, unknown>;
2493
2811
  }
2812
+
2494
2813
  /**
2495
2814
  * Image recolour/adjustment properties parsed from blip extensions.
2496
2815
  *
@@ -2516,6 +2835,8 @@ interface PptxImageEffects {
2516
2835
  duotone?: {
2517
2836
  color1: string;
2518
2837
  color2: string;
2838
+ /** Original effect XML, retained while the resolved colours are unchanged. */
2839
+ rawXml?: XmlObject;
2519
2840
  };
2520
2841
  /** Grayscale flag. */
2521
2842
  grayscale?: boolean;
@@ -2530,8 +2851,10 @@ interface PptxImageEffects {
2530
2851
  artisticEffect?: string;
2531
2852
  /** Artistic effect radius/amount. */
2532
2853
  artisticRadius?: number;
2533
- /** Alpha modulation fixed overall opacity (0-100, where 100 = fully opaque). */
2854
+ /** Alpha modulation fixed: non-negative percentage (100 means unchanged opacity). */
2534
2855
  alphaModFix?: number;
2856
+ /** Original alpha modulation fixed node, including foreign attributes. */
2857
+ alphaModFixRawXml?: XmlObject;
2535
2858
  /** Bi-level threshold — converts to 1-bit black/white (0-100). */
2536
2859
  biLevel?: number;
2537
2860
  /** Colour change — swap one colour range for another (used for transparency keying). */
@@ -2540,7 +2863,13 @@ interface PptxImageEffects {
2540
2863
  clrTo: string;
2541
2864
  /** Whether the target colour is fully transparent (alpha = 0). */
2542
2865
  clrToTransparent?: boolean;
2866
+ /** Original effect XML, including colour transforms and extensions. */
2867
+ rawXml?: XmlObject;
2543
2868
  };
2869
+ /** Original grayscale node, including extension or foreign attributes. */
2870
+ grayscaleRawXml?: XmlObject;
2871
+ /** Original bi-level node, including extension or foreign attributes. */
2872
+ biLevelRawXml?: XmlObject;
2544
2873
  /**
2545
2874
  * Alpha inverse effect (`a:alphaInv`). Inverts the alpha channel; an optional
2546
2875
  * colour child shifts the inversion baseline.
@@ -2548,11 +2877,17 @@ interface PptxImageEffects {
2548
2877
  alphaInv?: {
2549
2878
  /** Optional baseline colour (hex). */
2550
2879
  color?: string;
2880
+ /** Original effect XML, including colour transforms and foreign attributes. */
2881
+ rawXml?: XmlObject;
2551
2882
  };
2552
2883
  /** Alpha ceiling (`a:alphaCeiling`) — clamps any non-zero alpha to fully opaque. Boolean flag. */
2553
2884
  alphaCeiling?: boolean;
2885
+ /** Original alpha ceiling node, including foreign attributes. */
2886
+ alphaCeilingRawXml?: XmlObject;
2554
2887
  /** Alpha floor (`a:alphaFloor`) — clamps any non-fully-opaque alpha to fully transparent. Boolean flag. */
2555
2888
  alphaFloor?: boolean;
2889
+ /** Original alpha floor node, including foreign attributes. */
2890
+ alphaFloorRawXml?: XmlObject;
2556
2891
  /**
2557
2892
  * Alpha modulate (`a:alphaMod`). The schema requires a single `cont` (effect
2558
2893
  * container) child; we preserve the inner XML opaquely for round-trip.
@@ -2560,11 +2895,17 @@ interface PptxImageEffects {
2560
2895
  alphaMod?: {
2561
2896
  /** Raw opaque XML for the `a:cont` child to preserve on save. */
2562
2897
  contRawXml?: Record<string, unknown>;
2898
+ /** Original effect XML, including foreign attributes. */
2899
+ rawXml?: XmlObject;
2563
2900
  };
2564
2901
  /** Alpha replace (`a:alphaRepl`) — replaces alpha with the given fixed-percent value (0..100). */
2565
2902
  alphaRepl?: number;
2903
+ /** Original alpha replace node, including foreign attributes. */
2904
+ alphaReplRawXml?: XmlObject;
2566
2905
  /** Alpha bi-level (`a:alphaBiLevel`) — threshold (0..100) above which alpha becomes fully opaque. */
2567
2906
  alphaBiLevel?: number;
2907
+ /** Original alpha bi-level node, including foreign attributes. */
2908
+ alphaBiLevelRawXml?: XmlObject;
2568
2909
  /**
2569
2910
  * Colour replace (`a:clrRepl`) — replaces all colour information in an image
2570
2911
  * with the given solid colour. Stores the raw colour child to preserve scheme
@@ -2707,6 +3048,7 @@ declare module './shape-style' {
2707
3048
  *
2708
3049
  * @module pptx-types/media
2709
3050
  */
3051
+
2710
3052
  /**
2711
3053
  * Discriminator for embedded media element types.
2712
3054
  *
@@ -2717,6 +3059,13 @@ declare module './shape-style' {
2717
3059
  * ```
2718
3060
  */
2719
3061
  type PptxMediaType = 'video' | 'audio' | 'unknown';
3062
+ type PptxMediaReferenceKind = 'audioCd' | 'wavAudioFile' | 'audioFile' | 'videoFile' | 'quickTimeFile';
3063
+ interface PptxAudioCdPosition {
3064
+ track: number;
3065
+ time?: number;
3066
+ /** Original `st` or `end` node, retained for lossless edits. */
3067
+ rawXml?: XmlObject;
3068
+ }
2720
3069
  /**
2721
3070
  * A named bookmark within a media clip timeline.
2722
3071
  *
@@ -2793,6 +3142,112 @@ interface MediaCaptionTrack {
2793
3142
  isDefault?: boolean;
2794
3143
  }
2795
3144
 
3145
+ type PptxSmartArtConstraintRelationship = 'self' | 'ch' | 'des';
3146
+ type PptxSmartArtConstraintOperator = 'none' | 'equ' | 'gte' | 'lte';
3147
+ type PptxSmartArtConstraintPointType = 'all' | 'doc' | 'node' | 'norm' | 'nonNorm' | 'asst' | 'nonAsst' | 'parTrans' | 'pres' | 'sibTrans';
3148
+ interface PptxSmartArtConstraintTarget {
3149
+ for?: PptxSmartArtConstraintRelationship;
3150
+ forName?: string;
3151
+ pointType?: PptxSmartArtConstraintPointType;
3152
+ }
3153
+ /** Editable DiagramML CT_Constraint. */
3154
+ interface PptxSmartArtConstraint extends PptxSmartArtConstraintTarget {
3155
+ type: string;
3156
+ referenceType?: string;
3157
+ referenceFor?: PptxSmartArtConstraintRelationship;
3158
+ referenceForName?: string;
3159
+ referencePointType?: PptxSmartArtConstraintPointType;
3160
+ operator?: PptxSmartArtConstraintOperator;
3161
+ value?: number;
3162
+ factor?: number;
3163
+ /** Original constraint retained for foreign attributes and extension content. */
3164
+ rawXml?: XmlObject;
3165
+ }
3166
+ /** Editable DiagramML CT_NumericRule. */
3167
+ interface PptxSmartArtNumericRule extends PptxSmartArtConstraintTarget {
3168
+ type: string;
3169
+ value?: number;
3170
+ factor?: number;
3171
+ max?: number;
3172
+ /** Original rule retained for foreign attributes and extension content. */
3173
+ rawXml?: XmlObject;
3174
+ }
3175
+
3176
+ /** Typed, editable metadata from a DiagramML layout-definition part. */
3177
+
3178
+ interface PptxSmartArtLocalizedText {
3179
+ value: string;
3180
+ language?: string;
3181
+ }
3182
+ interface PptxSmartArtLayoutCategory {
3183
+ type: string;
3184
+ priority: number;
3185
+ }
3186
+ interface PptxSmartArtAlgorithmParameter {
3187
+ type: string;
3188
+ value?: string;
3189
+ }
3190
+ /** Typed DiagramML CT_Algorithm data attached to a layout node. */
3191
+ interface PptxSmartArtLayoutAlgorithm {
3192
+ type: string;
3193
+ revision?: number;
3194
+ parameters?: PptxSmartArtAlgorithmParameter[];
3195
+ }
3196
+ interface PptxSmartArtIteratorAttributes {
3197
+ name?: string;
3198
+ reference?: string;
3199
+ axis?: string[];
3200
+ pointTypes?: string[];
3201
+ hideLastTransition?: boolean[];
3202
+ start?: number[];
3203
+ count?: number[];
3204
+ step?: number[];
3205
+ }
3206
+ interface PptxSmartArtForEach extends PptxSmartArtIteratorAttributes {
3207
+ rawXml?: XmlObject;
3208
+ }
3209
+ interface PptxSmartArtWhen extends PptxSmartArtIteratorAttributes {
3210
+ function: string;
3211
+ argument?: string;
3212
+ operator: string;
3213
+ value: string;
3214
+ rawXml?: XmlObject;
3215
+ }
3216
+ interface PptxSmartArtChoose {
3217
+ name?: string;
3218
+ when: PptxSmartArtWhen[];
3219
+ otherwise?: {
3220
+ name?: string;
3221
+ rawXml?: XmlObject;
3222
+ } | null;
3223
+ rawXml?: XmlObject;
3224
+ }
3225
+ /** Identity and ordering metadata from DiagramML CT_LayoutNode. */
3226
+ interface PptxSmartArtLayoutNode {
3227
+ name?: string;
3228
+ styleLabel?: string;
3229
+ childOrder?: 'b' | 't';
3230
+ moveWith?: string;
3231
+ algorithm?: PptxSmartArtLayoutAlgorithm;
3232
+ forEach?: PptxSmartArtForEach[];
3233
+ choose?: PptxSmartArtChoose[];
3234
+ constraints?: PptxSmartArtConstraint[];
3235
+ rules?: PptxSmartArtNumericRule[];
3236
+ children?: PptxSmartArtLayoutNode[];
3237
+ }
3238
+ /** Metadata and root node from DiagramML CT_DiagramDefinition. */
3239
+ interface PptxSmartArtLayoutDefinition {
3240
+ uniqueId?: string;
3241
+ minimumVersion?: string;
3242
+ defaultStyle?: string;
3243
+ titles?: PptxSmartArtLocalizedText[];
3244
+ descriptions?: PptxSmartArtLocalizedText[];
3245
+ categories?: PptxSmartArtLayoutCategory[];
3246
+ rootNode: PptxSmartArtLayoutNode;
3247
+ /** Original definition retained for constraint evaluation and foreign rules. */
3248
+ rawXml?: XmlObject;
3249
+ }
3250
+
2796
3251
  /**
2797
3252
  * SmartArt node types: per-run text, per-node visual override, and the
2798
3253
  * data-model node itself. Split out of `smart-art.ts` to keep each type file
@@ -2802,6 +3257,7 @@ interface MediaCaptionTrack {
2802
3257
  *
2803
3258
  * @module pptx-types/smart-art-node
2804
3259
  */
3260
+
2805
3261
  /**
2806
3262
  * A single run of text inside a SmartArt node, capturing the run text and the
2807
3263
  * raw `a:rPr` run-properties object verbatim so per-run formatting (bold,
@@ -2825,6 +3281,54 @@ interface PptxSmartArtTextRun {
2825
3281
  * round-trip. Untyped XML, hence the loose record shape.
2826
3282
  */
2827
3283
  rPr?: Record<string, unknown>;
3284
+ /** Resolved standard shape-text style derived from {@link rPr}. */
3285
+ style?: TextStyle;
3286
+ /** Raw run XML used to retain unmodelled extension children on save. */
3287
+ rawXml?: Record<string, unknown>;
3288
+ /** Original direct-child order, including unmodelled extension children. */
3289
+ childOrder?: string[];
3290
+ }
3291
+ /** An ordered item within a SmartArt text paragraph. */
3292
+ type PptxSmartArtTextParagraphItem = {
3293
+ kind: 'run';
3294
+ run: PptxSmartArtTextRun;
3295
+ } | {
3296
+ kind: 'break';
3297
+ rPr?: Record<string, unknown>;
3298
+ style?: TextStyle;
3299
+ rawXml?: Record<string, unknown>;
3300
+ childOrder?: string[];
3301
+ } | {
3302
+ kind: 'field';
3303
+ id?: string;
3304
+ fieldType?: string;
3305
+ text: string;
3306
+ rPr?: Record<string, unknown>;
3307
+ style?: TextStyle;
3308
+ pPr?: Record<string, unknown>;
3309
+ rawXml?: Record<string, unknown>;
3310
+ childOrder?: string[];
3311
+ } | {
3312
+ kind: 'tab';
3313
+ rawXml?: Record<string, unknown>;
3314
+ childOrder?: string[];
3315
+ } | {
3316
+ kind: 'raw';
3317
+ name: string;
3318
+ value: unknown;
3319
+ };
3320
+ /** A complete `a:p` paragraph in a SmartArt data-model text body. */
3321
+ interface PptxSmartArtTextParagraph {
3322
+ /** Paragraph properties (`a:pPr`) preserved verbatim. */
3323
+ pPr?: Record<string, unknown>;
3324
+ /** Text children in source order. */
3325
+ items: PptxSmartArtTextParagraphItem[];
3326
+ /** End-paragraph run properties (`a:endParaRPr`) preserved verbatim. */
3327
+ endParaRPr?: Record<string, unknown>;
3328
+ /** Resolved style for the paragraph terminator. */
3329
+ endParaStyle?: TextStyle;
3330
+ /** Raw paragraph XML used to retain unmodelled extension children on save. */
3331
+ rawXml?: Record<string, unknown>;
2828
3332
  }
2829
3333
  /**
2830
3334
  * Per-node visual override for a SmartArt node.
@@ -2880,6 +3384,8 @@ interface PptxSmartArtNodeStyle {
2880
3384
  interface PptxSmartArtNode {
2881
3385
  id: string;
2882
3386
  text: string;
3387
+ /** CT_Pt connection identifier, when the point references a connection. */
3388
+ connectionId?: string | null;
2883
3389
  parentId?: string;
2884
3390
  children?: PptxSmartArtNode[];
2885
3391
  /** Node type from `@_type` attribute (e.g. "doc", "node", "asst", "pres"). */
@@ -2892,6 +3398,11 @@ interface PptxSmartArtNode {
2892
3398
  * is not flattened. When {@link text} diverges, the runs are ignored.
2893
3399
  */
2894
3400
  runs?: PptxSmartArtTextRun[];
3401
+ /**
3402
+ * Complete typed paragraph model. Unlike {@link runs}, this retains every
3403
+ * paragraph and the ordered run, field, break, and tab children within it.
3404
+ */
3405
+ paragraphs?: PptxSmartArtTextParagraph[];
2895
3406
  /**
2896
3407
  * Optional per-node visual override (fill / line / font colour, bold /
2897
3408
  * italic). Read at parse time from the point's `spPr` / first-run `rPr`, set
@@ -2901,6 +3412,64 @@ interface PptxSmartArtNode {
2901
3412
  style?: PptxSmartArtNodeStyle;
2902
3413
  }
2903
3414
 
3415
+ /** Editable metadata shared by DiagramML quick-style and color definitions. */
3416
+ interface PptxSmartArtDefinitionText {
3417
+ value: string;
3418
+ language?: string;
3419
+ }
3420
+ interface PptxSmartArtDefinitionCategory {
3421
+ type: string;
3422
+ priority: number;
3423
+ }
3424
+ type PptxSmartArtColorApplicationMethod = 'span' | 'cycle' | 'repeat';
3425
+ type PptxSmartArtHueDirection = 'cw' | 'ccw';
3426
+ /** CT_Colors application metadata. Color-choice children remain preserved XML. */
3427
+ interface PptxSmartArtColorListMetadata {
3428
+ method?: PptxSmartArtColorApplicationMethod;
3429
+ hueDirection?: PptxSmartArtHueDirection;
3430
+ }
3431
+ /** CT_StyleLabel metadata from a quick-style definition. */
3432
+ interface PptxSmartArtQuickStyleLabel {
3433
+ name: string;
3434
+ }
3435
+ /** CT_CTStyleLabel metadata from a color-transform definition. */
3436
+ interface PptxSmartArtColorStyleLabel {
3437
+ name: string;
3438
+ fill?: PptxSmartArtColorListMetadata;
3439
+ line?: PptxSmartArtColorListMetadata;
3440
+ effect?: PptxSmartArtColorListMetadata;
3441
+ textLine?: PptxSmartArtColorListMetadata;
3442
+ textFill?: PptxSmartArtColorListMetadata;
3443
+ textEffect?: PptxSmartArtColorListMetadata;
3444
+ }
3445
+ interface PptxSmartArtDefinitionMetadata {
3446
+ uniqueId?: string;
3447
+ minimumVersion?: string;
3448
+ titles?: PptxSmartArtDefinitionText[];
3449
+ descriptions?: PptxSmartArtDefinitionText[];
3450
+ categories?: PptxSmartArtDefinitionCategory[];
3451
+ }
3452
+ /** Typed CT_ColorTransform metadata and the resolved legacy color palette. */
3453
+ interface PptxSmartArtColorTransform extends PptxSmartArtDefinitionMetadata {
3454
+ /** Legacy resolved display name. */
3455
+ name?: string;
3456
+ /** Ordered resolved fill colors for rendering. */
3457
+ fillColors: string[];
3458
+ /** Ordered resolved line colors for rendering. */
3459
+ lineColors: string[];
3460
+ /** Ordered CT_CTStyleLabel metadata. */
3461
+ labels?: PptxSmartArtColorStyleLabel[];
3462
+ }
3463
+ /** Typed CT_StyleDefinition metadata and legacy rendering hint. */
3464
+ interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
3465
+ /** Legacy resolved display name. */
3466
+ name?: string;
3467
+ /** Legacy effect-intensity rendering hint. */
3468
+ effectIntensity?: string;
3469
+ /** Ordered CT_StyleLabel metadata. Complex style payload remains preserved XML. */
3470
+ labels?: PptxSmartArtQuickStyleLabel[];
3471
+ }
3472
+
2904
3473
  /**
2905
3474
  * SmartArt types: layout categories, layout presets, colour schemes,
2906
3475
  * data-model nodes/connections, drawing shapes, chrome, and the composite
@@ -2963,6 +3532,8 @@ type SmartArtStyle = 'flat' | 'moderate' | 'intense';
2963
3532
  * ```
2964
3533
  */
2965
3534
  interface PptxSmartArtConnection {
3535
+ /** Stable CT_Cxn model identifier. Required when serialized. */
3536
+ modelId?: string | null;
2966
3537
  /** Model ID of the source node. */
2967
3538
  sourceId: string;
2968
3539
  /** Model ID of the destination node. */
@@ -2973,6 +3544,12 @@ interface PptxSmartArtConnection {
2973
3544
  srcOrd?: number;
2974
3545
  /** Destination index for ordering. */
2975
3546
  destOrd?: number;
3547
+ /** Model ID of the parent transition point associated with this edge. */
3548
+ parentTransitionId?: string | null;
3549
+ /** Model ID of the sibling transition point associated with this edge. */
3550
+ siblingTransitionId?: string | null;
3551
+ /** Layout presentation identifier used by presentation connections. */
3552
+ presentationId?: string | null;
2976
3553
  }
2977
3554
  /**
2978
3555
  * A pre-computed shape from `ppt/diagrams/drawing*.xml`.
@@ -2989,7 +3566,7 @@ interface PptxSmartArtConnection {
2989
3566
  * // => satisfies PptxSmartArtDrawingShape
2990
3567
  * ```
2991
3568
  */
2992
- interface PptxSmartArtDrawingShape {
3569
+ interface PptxSmartArtDrawingShape extends PptxCustomPathProperties {
2993
3570
  /** Shape ID within the drawing. */
2994
3571
  id: string;
2995
3572
  /** Preset geometry type (e.g. "roundRect", "ellipse"). */
@@ -3013,6 +3590,8 @@ interface PptxSmartArtDrawingShape {
3013
3590
  strokeWidth?: number;
3014
3591
  /** Text content of the shape. */
3015
3592
  text?: string;
3593
+ /** Standard rich-text segments projected from the associated SmartArt node. */
3594
+ textSegments?: TextSegment[];
3016
3595
  /** Font size in points. */
3017
3596
  fontSize?: number;
3018
3597
  /** Font colour (hex). */
@@ -3039,45 +3618,6 @@ interface PptxSmartArtChrome {
3039
3618
  /** Outline stroke width in points. */
3040
3619
  outlineWidth?: number;
3041
3620
  }
3042
- /**
3043
- * Colour transform entry from `ppt/diagrams/colors*.xml`.
3044
- *
3045
- * @example
3046
- * ```ts
3047
- * const transform: PptxSmartArtColorTransform = {
3048
- * name: "Colorful - Accent Colors",
3049
- * fillColors: ["#4F81BD", "#C0504D", "#9BBB59"],
3050
- * lineColors: ["#385D8A", "#8C3836", "#71893F"],
3051
- * };
3052
- * // => satisfies PptxSmartArtColorTransform
3053
- * ```
3054
- */
3055
- interface PptxSmartArtColorTransform {
3056
- /** Colour scheme name / title. */
3057
- name?: string;
3058
- /** Ordered list of fill colours (hex) for each node. */
3059
- fillColors: string[];
3060
- /** Ordered list of line colours (hex). */
3061
- lineColors: string[];
3062
- }
3063
- /**
3064
- * Style entry from `ppt/diagrams/quickStyles*.xml`.
3065
- *
3066
- * @example
3067
- * ```ts
3068
- * const qs: PptxSmartArtQuickStyle = {
3069
- * name: "Moderate Effect",
3070
- * effectIntensity: "moderate",
3071
- * };
3072
- * // => satisfies PptxSmartArtQuickStyle
3073
- * ```
3074
- */
3075
- interface PptxSmartArtQuickStyle {
3076
- /** Style name / title. */
3077
- name?: string;
3078
- /** Effect intensity identifier (e.g. "subtle", "moderate", "intense"). */
3079
- effectIntensity?: string;
3080
- }
3081
3621
  /**
3082
3622
  * Complete parsed SmartArt data for a {@link SmartArtPptxElement}.
3083
3623
  *
@@ -3117,14 +3657,28 @@ interface PptxSmartArtData {
3117
3657
  colorTransform?: PptxSmartArtColorTransform;
3118
3658
  /** Quick style from `ppt/diagrams/quickStyles*.xml`. */
3119
3659
  quickStyle?: PptxSmartArtQuickStyle;
3660
+ /** Editable metadata from the related DiagramML layout definition. */
3661
+ layoutDefinition?: PptxSmartArtLayoutDefinition;
3120
3662
  /** Relationship ID for the diagram data part (for round-trip save). */
3121
3663
  dataRelId?: string;
3664
+ /** Relationship ID for the diagram layout part. */
3665
+ layoutRelId?: string;
3122
3666
  /** Relationship ID for the drawing part. */
3123
3667
  drawingRelId?: string;
3124
3668
  /** Relationship ID for the colours part. */
3125
3669
  colorsRelId?: string;
3126
3670
  /** Relationship ID for the quick-styles part. */
3127
3671
  styleRelId?: string;
3672
+ /** Internal save hint: the layout definition changed in the editor. */
3673
+ layoutDirty?: boolean;
3674
+ /** Internal save hint: typed layout-definition metadata changed. */
3675
+ layoutDefinitionDirty?: boolean;
3676
+ /** Internal save hint: quick-style definition metadata changed. */
3677
+ quickStyleDirty?: boolean;
3678
+ /** Internal save hint: color-transform definition metadata changed. */
3679
+ colorTransformDirty?: boolean;
3680
+ /** Internal save hint: cached drawing geometry or text changed in the editor. */
3681
+ drawingDirty?: boolean;
3128
3682
  }
3129
3683
 
3130
3684
  /**
@@ -3733,6 +4287,13 @@ interface MediaPptxElement extends PptxElementBase {
3733
4287
  mediaPath?: string;
3734
4288
  mediaData?: string;
3735
4289
  mediaMimeType?: string;
4290
+ mediaReferenceKind?: PptxMediaReferenceKind;
4291
+ mediaReferenceName?: string;
4292
+ /** Explicit DrawingML `audioFile/@contentType` value when present. */
4293
+ mediaReferenceContentType?: string;
4294
+ audioCdStart?: PptxAudioCdPosition;
4295
+ audioCdEnd?: PptxAudioCdPosition;
4296
+ rawMediaReferenceXml?: XmlObject;
3736
4297
  /** Trim start in milliseconds (from p:cMediaNode p:cTn @st). */
3737
4298
  trimStartMs?: number;
3738
4299
  /** Trim end in milliseconds (from p:cMediaNode p:cTn @end). */
@@ -3853,6 +4414,10 @@ interface ContentPartPptxElement extends PptxElementBase {
3853
4414
  type: 'contentPart';
3854
4415
  /** Ink strokes contained in this content part. */
3855
4416
  inkStrokes?: ContentPartInkStroke[];
4417
+ /** Package path of the related InkML part. */
4418
+ inkPartPath?: string;
4419
+ /** Parsed InkML root retained for unknown-node preservation on dirty save. */
4420
+ inkPartRawXml?: XmlObject;
3856
4421
  }
3857
4422
  /**
3858
4423
  * A Slide Zoom or Section Zoom element (PowerPoint Zoom Object).
@@ -3873,12 +4438,32 @@ interface ContentPartPptxElement extends PptxElementBase {
3873
4438
  */
3874
4439
  interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
3875
4440
  type: 'zoom';
3876
- /** Type of zoom: slide-level or section-level. */
3877
- zoomType: 'slide' | 'section';
4441
+ /** Type of zoom: slide-level, section-level, or a multi-section summary. */
4442
+ zoomType: 'slide' | 'section' | 'summary';
3878
4443
  /** Zero-based index of the target slide. */
3879
4444
  targetSlideIndex: number;
3880
4445
  /** Section ID for section zoom. */
3881
4446
  targetSectionId?: string;
4447
+ /** Ordered section tiles in a Summary Zoom container. */
4448
+ summaryTargets?: SummaryZoomTarget[];
4449
+ /** Layout mode authored on the Summary Zoom container. */
4450
+ summaryLayout?: 'grid' | 'fixed';
4451
+ }
4452
+ /** A single section tile within a PowerPoint Summary Zoom container. */
4453
+ interface SummaryZoomTarget extends PptxImageProperties {
4454
+ sectionId: string;
4455
+ targetSlideIndex: number;
4456
+ x: number;
4457
+ y: number;
4458
+ width: number;
4459
+ height: number;
4460
+ title?: string;
4461
+ description?: string;
4462
+ offsetFactorX?: number;
4463
+ offsetFactorY?: number;
4464
+ scaleFactorX?: number;
4465
+ scaleFactorY?: number;
4466
+ rawXml?: XmlObject;
3882
4467
  }
3883
4468
  /**
3884
4469
  * A 3D model object embedded via `p16:model3D` inside an
@@ -4173,6 +4758,44 @@ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevi
4173
4758
  * is preserved alongside other animations.
4174
4759
  */
4175
4760
  type PptxNativeAnimationKind = 'media';
4761
+ /** A target selected by `p:tgtEl` in the PresentationML timing model. */
4762
+ type PptxAnimationTarget = {
4763
+ type: 'shape';
4764
+ shapeId: string;
4765
+ rawXml?: XmlObject;
4766
+ } | {
4767
+ type: 'slide';
4768
+ rawXml?: XmlObject;
4769
+ } | {
4770
+ type: 'sound';
4771
+ relationshipId: string;
4772
+ name?: string;
4773
+ rawXml?: XmlObject;
4774
+ } | {
4775
+ type: 'ink';
4776
+ shapeId: string;
4777
+ rawXml?: XmlObject;
4778
+ } | {
4779
+ type: 'unknown';
4780
+ rawXml: XmlObject;
4781
+ };
4782
+ /** Nested build choice carried by `p:bldGraphic`. */
4783
+ type PptxGraphicBuild = {
4784
+ mode: 'asOne';
4785
+ rawXml?: XmlObject;
4786
+ } | {
4787
+ mode: 'sub';
4788
+ kind: 'diagram';
4789
+ build: string;
4790
+ reverse: boolean;
4791
+ rawXml?: XmlObject;
4792
+ } | {
4793
+ mode: 'sub';
4794
+ kind: 'chart';
4795
+ build: string;
4796
+ animateBackground: boolean;
4797
+ rawXml?: XmlObject;
4798
+ };
4176
4799
  /**
4177
4800
  * Parsed native animation record from `p:timing / p:tnLst`.
4178
4801
  *
@@ -4194,6 +4817,8 @@ type PptxNativeAnimationKind = 'media';
4194
4817
  interface PptxNativeAnimation {
4195
4818
  /** Target element/shape ID. */
4196
4819
  targetId?: string;
4820
+ /** Full timing target, including sound and ink target variants. */
4821
+ target?: PptxAnimationTarget;
4197
4822
  /** Trigger type. */
4198
4823
  trigger?: PptxAnimationTrigger;
4199
4824
  /** Shape ID that triggers this animation when clicked (interactive sequence). */
@@ -4298,6 +4923,8 @@ interface PptxNativeAnimation {
4298
4923
  * that aren't OLE charts).
4299
4924
  */
4300
4925
  graphicBuild?: string;
4926
+ /** Schema-accurate `p:bldGraphic/p:bldAsOne|p:bldSub` representation. */
4927
+ graphicBuildProperties?: PptxGraphicBuild;
4301
4928
  /**
4302
4929
  * Opaque map of `p:cTn` attributes that don't have a typed home on this
4303
4930
  * interface but must round-trip through parse → save. Keys are stored
@@ -4414,6 +5041,8 @@ interface AnimationCondition {
4414
5041
  targetShapeId?: string;
4415
5042
  /** Whether the condition targets a slide (from `p:tgtEl/p:sldTgt`). */
4416
5043
  targetSlide?: boolean;
5044
+ /** Full target choice, including `p:sndTgt` and `p:inkTgt`. */
5045
+ target?: PptxAnimationTarget;
4417
5046
  }
4418
5047
  /** Iteration configuration from `p:iterate`. */
4419
5048
  interface PptxAnimationIterate {
@@ -4492,12 +5121,40 @@ interface PptxElementAnimation {
4492
5121
  stopSound?: boolean;
4493
5122
  }
4494
5123
 
5124
+ interface PptxEmbeddedFontDataId {
5125
+ /** Required relationship identifier from `r:id`. */
5126
+ relationshipId?: string | null;
5127
+ /** Original leaf retained for unknown attribute preservation. */
5128
+ rawXml?: XmlObject;
5129
+ }
5130
+ interface PptxEmbeddedFontDescriptor {
5131
+ typeface?: string | null;
5132
+ panose?: string | null;
5133
+ pitchFamily?: string | null;
5134
+ charset?: string | null;
5135
+ rawXml?: XmlObject;
5136
+ }
5137
+ interface PptxEmbeddedFontListEntry {
5138
+ font: PptxEmbeddedFontDescriptor;
5139
+ regular?: PptxEmbeddedFontDataId | null;
5140
+ bold?: PptxEmbeddedFontDataId | null;
5141
+ italic?: PptxEmbeddedFontDataId | null;
5142
+ boldItalic?: PptxEmbeddedFontDataId | null;
5143
+ rawXml?: XmlObject;
5144
+ }
5145
+ interface PptxEmbeddedFontList {
5146
+ fonts: PptxEmbeddedFontListEntry[];
5147
+ /** Original list retained for unknown attribute and child preservation. */
5148
+ rawXml?: XmlObject;
5149
+ }
5150
+
4495
5151
  /**
4496
5152
  * Metadata types: slide comments, compatibility warnings, tags,
4497
5153
  * custom properties, core/app document properties.
4498
5154
  *
4499
5155
  * @module pptx-types/metadata
4500
5156
  */
5157
+
4501
5158
  /**
4502
5159
  * A slide comment — may be a legacy positional comment or a modern
4503
5160
  * threaded comment with replies.
@@ -4517,6 +5174,10 @@ interface PptxElementAnimation {
4517
5174
  interface PptxComment {
4518
5175
  id: string;
4519
5176
  text: string;
5177
+ /** Storage vocabulary used by this comment. Omitted means legacy PresentationML. */
5178
+ format?: 'legacy' | 'modern';
5179
+ /** Stable GUID author identifier used by Office 2021 modern comments. */
5180
+ authorId?: string;
4520
5181
  /** Optional parent comment id for reply threading metadata. */
4521
5182
  parentId?: string;
4522
5183
  author?: string;
@@ -4525,12 +5186,35 @@ interface PptxComment {
4525
5186
  y?: number;
4526
5187
  /** Whether this comment has been resolved/marked done. */
4527
5188
  resolved?: boolean;
5189
+ /** Native p188 status token. */
5190
+ status?: 'active' | 'resolved' | 'closed';
5191
+ /** Modern comment classification tags and author IDs that liked the comment. */
5192
+ tags?: string[];
5193
+ likes?: string[];
5194
+ startDate?: string;
5195
+ dueDate?: string;
5196
+ assignedTo?: string[];
5197
+ /** Task completion in thousandths of a percent, from 0 through 100000. */
5198
+ complete?: number;
5199
+ priority?: number;
5200
+ title?: string;
4528
5201
  /** Modern threaded comment support (p15:threadingInfo). */
4529
5202
  threadId?: string;
4530
5203
  /** Replies to this comment (for modern threaded comments). */
4531
5204
  replies?: PptxComment[];
4532
5205
  /** ID of the element this comment is associated with (if any). */
4533
5206
  elementId?: string;
5207
+ /** Original `p:cm` subtree, retained for unknown child and extension preservation. */
5208
+ rawXml?: XmlObject;
5209
+ }
5210
+ /** Office 2021 comment author from the p188 Author part. */
5211
+ interface PptxModernCommentAuthor {
5212
+ id: string;
5213
+ name: string;
5214
+ initials?: string;
5215
+ userId: string;
5216
+ providerId: string;
5217
+ rawXml?: XmlObject;
4534
5218
  }
4535
5219
  /**
4536
5220
  * A comment author from `ppt/commentAuthors.xml`.
@@ -4563,6 +5247,8 @@ interface PptxCommentAuthor {
4563
5247
  lastIdx: number;
4564
5248
  /** Colour index assigned to this author (`@_clrIdx`). */
4565
5249
  clrIdx: number;
5250
+ /** Original `p:cmAuthor` subtree, retained for unknown attribute preservation. */
5251
+ rawXml?: XmlObject;
4566
5252
  }
4567
5253
  /**
4568
5254
  * A compatibility warning generated during parse or save when the
@@ -4617,9 +5303,17 @@ interface PptxTag {
4617
5303
  */
4618
5304
  interface PptxTagCollection {
4619
5305
  /** File path within the PPTX archive. */
4620
- path: string;
5306
+ path?: string;
5307
+ /** Package owner of the tags relationship. New collections default to presentation. */
5308
+ owner?: 'presentation' | 'slide' | 'part';
5309
+ /** Source OPC part that owns the relationship, e.g. ppt/slides/slide1.xml. */
5310
+ sourcePartPath?: string;
5311
+ /** Durable relationship identifier from the owning part. */
5312
+ relationshipId?: string;
4621
5313
  /** Tags in this collection. */
4622
5314
  tags: PptxTag[];
5315
+ /** Parsed tag-list XML retained for unknown-node preservation. */
5316
+ rawXml?: XmlObject;
4623
5317
  }
4624
5318
  /**
4625
5319
  * A custom document property from `docProps/custom.xml`.
@@ -4725,6 +5419,19 @@ interface PptxAppProperties {
4725
5419
  hyperlinkBase?: string;
4726
5420
  }
4727
5421
 
5422
+ type PptxPrintOutput = 'slides' | 'handouts1' | 'handouts2' | 'handouts3' | 'handouts4' | 'handouts6' | 'handouts9' | 'notes' | 'outline';
5423
+ type PptxPrintColorMode = 'bw' | 'gray' | 'clr';
5424
+ /** PresentationML `CT_PrintProperties` (`p:prnPr`). */
5425
+ interface PptxPresentationPrintProperties {
5426
+ printWhat?: PptxPrintOutput | null;
5427
+ colorMode?: PptxPrintColorMode | null;
5428
+ hiddenSlides?: boolean | null;
5429
+ scaleToFitPaper?: boolean | null;
5430
+ frameSlides?: boolean | null;
5431
+ /** Original subtree retained for unknown attributes and `p:extLst`. */
5432
+ rawXml?: XmlObject;
5433
+ }
5434
+
4728
5435
  /**
4729
5436
  * Theme object model — colour scheme, font scheme, and format scheme
4730
5437
  * parsed from `ppt/theme/theme1.xml`.
@@ -5058,6 +5765,8 @@ type PptxStripDirection = 'lu' | 'ld' | 'ru' | 'rd';
5058
5765
  type PptxSplitOrientation = 'horz' | 'vert';
5059
5766
  /** Split in/out direction from OOXML `@_dir`. */
5060
5767
  type PptxSplitDirection = 'in' | 'out';
5768
+ /** Schema-defined `ST_TransitionSpeed` values. */
5769
+ type PptxTransitionSpeed = 'slow' | 'med' | 'fast';
5061
5770
  /** Valid direction sets per transition type. */
5062
5771
  declare const TRANSITION_VALID_DIRECTIONS: Readonly<Partial<Record<PptxTransitionType, readonly string[]>>>;
5063
5772
  /**
@@ -5076,6 +5785,8 @@ declare const TRANSITION_VALID_DIRECTIONS: Readonly<Partial<Record<PptxTransitio
5076
5785
  */
5077
5786
  interface PptxSlideTransition {
5078
5787
  type: PptxTransitionType;
5788
+ /** Schema-defined transition speed. Defaults to `fast` when omitted. */
5789
+ speed?: PptxTransitionSpeed;
5079
5790
  durationMs?: number;
5080
5791
  direction?: string;
5081
5792
  advanceOnClick?: boolean;
@@ -5090,6 +5801,10 @@ interface PptxSlideTransition {
5090
5801
  orient?: PptxSplitOrientation;
5091
5802
  /** Relationship ID of transition sound from `p:sndAc/p:stSnd/@r:embed` when present. */
5092
5803
  soundRId?: string;
5804
+ /** Embedded WAV display name from `p:stSnd/p:snd/@name`. */
5805
+ soundName?: string;
5806
+ /** Whether the transition sound repeats until another sound starts. */
5807
+ soundLoop?: boolean;
5093
5808
  /** Resolved transition sound media path within the package. */
5094
5809
  soundPath?: string;
5095
5810
  /** Human-readable sound file name (extracted from soundPath). */
@@ -5103,6 +5818,8 @@ interface PptxSlideTransition {
5103
5818
  rawSoundAction?: XmlObject;
5104
5819
  /** Preserved extension-list XML node from `p:extLst` within the transition for lossless round-trip. */
5105
5820
  rawExtLst?: XmlObject;
5821
+ /** Original transition node, retained to preserve unknown attributes and children. */
5822
+ rawTransition?: XmlObject;
5106
5823
  }
5107
5824
 
5108
5825
  /**
@@ -5122,6 +5839,11 @@ interface PptxViewScale {
5122
5839
  n: number;
5123
5840
  /** Denominator of the scale percentage (e.g. 100 for 100%). */
5124
5841
  d: number;
5842
+ /** Optional independent vertical scale. When absent, the X scale is used. */
5843
+ sy?: {
5844
+ n: number;
5845
+ d: number;
5846
+ };
5125
5847
  }
5126
5848
  /**
5127
5849
  * Origin point for a view (x, y in twips or EMU).
@@ -5130,6 +5852,16 @@ interface PptxViewOrigin {
5130
5852
  x: number;
5131
5853
  y: number;
5132
5854
  }
5855
+ /** A horizontal or vertical drawing guide in slide coordinates. */
5856
+ interface PptxViewGuide {
5857
+ orientation?: 'horz' | 'vert';
5858
+ position?: number;
5859
+ }
5860
+ /** Positive grid spacing from `p:gridSpacing`. */
5861
+ interface PptxGridSpacing {
5862
+ cx: number;
5863
+ cy: number;
5864
+ }
5133
5865
  /**
5134
5866
  * Restored region dimensions for normal view splitter.
5135
5867
  * Represents `p:restoredLeft` or `p:restoredTop`.
@@ -5171,6 +5903,10 @@ interface PptxCommonSlideViewProperties {
5171
5903
  snapToObjects?: boolean;
5172
5904
  /** Whether drawing guides are shown. */
5173
5905
  showGuides?: boolean;
5906
+ /** Whether the application may vary the scale automatically. */
5907
+ variableScale?: boolean;
5908
+ /** Drawing guides shown in this slide view. */
5909
+ guides?: PptxViewGuide[];
5174
5910
  /** View origin (scroll position). */
5175
5911
  origin?: PptxViewOrigin;
5176
5912
  /** View scale. */
@@ -5198,6 +5934,8 @@ interface PptxViewProperties {
5198
5934
  };
5199
5935
  /** Notes view properties. */
5200
5936
  notesViewPr?: PptxCommonSlideViewProperties;
5937
+ /** Grid spacing in positive DrawingML coordinates. */
5938
+ gridSpacing?: PptxGridSpacing;
5201
5939
  /** Raw XML preserved for lossless round-trip of unparsed attributes. */
5202
5940
  rawXml?: Record<string, unknown>;
5203
5941
  }
@@ -5212,12 +5950,16 @@ interface PptxViewProperties {
5212
5950
  * @see ECMA-376 Part 1, §19.2.1.3 (custDataLst), §19.3.1.6 (custData)
5213
5951
  */
5214
5952
  interface PptxCustomerData {
5215
- /** Resolved part path inside the package (e.g. `ppt/customerData/item1.xml`). */
5216
- id: string;
5953
+ /** Resolved part path inside the package (e.g. `customXml/item1.xml`). */
5954
+ id?: string;
5217
5955
  /** Relationship ID referencing the custom data part. */
5218
- relId: string;
5956
+ relId?: string;
5219
5957
  /** Raw string content of the custom data part (if resolvable). */
5220
5958
  data?: string;
5959
+ /** OPC content type for the custom data part. */
5960
+ contentType?: string;
5961
+ /** Raw `p:custData` XML retained for unknown-node preservation. */
5962
+ rawXml?: XmlObject;
5221
5963
  }
5222
5964
  /**
5223
5965
  * An ActiveX control reference from `p:controls / p:control`.
@@ -5342,6 +6084,8 @@ interface PptxSlide {
5342
6084
  /** Optional `<p:cSld @name>` value of the notes slide, for round-trip. */
5343
6085
  notesCSldName?: string;
5344
6086
  comments?: PptxComment[];
6087
+ /** Source package metadata for an Office 2021 p188 comment part. */
6088
+ modernCommentPart?: PptxModernCommentPart;
5345
6089
  warnings?: PptxCompatibilityWarning[];
5346
6090
  rawXml?: XmlObject;
5347
6091
  /** Per-slide colour map override parsed from `p:clrMapOvr`. */
@@ -5360,6 +6104,24 @@ interface PptxSlide {
5360
6104
  activeXControls?: PptxActiveXControl[];
5361
6105
  /** Per-slide header/footer flags from `<p:hf>` (P-H3). */
5362
6106
  headerFooterFlags?: PptxHeaderFooterFlags;
6107
+ /** Server-backed slide synchronization metadata stored in a related OPC part. */
6108
+ slideSynchronization?: PptxSlideSyncProperties;
6109
+ }
6110
+ interface PptxModernCommentPart {
6111
+ path: string;
6112
+ relationshipId: string;
6113
+ /** Original p188:cmLst root, including unknown attributes and extensions. */
6114
+ rawXml?: XmlObject;
6115
+ }
6116
+ /** Metadata from a `p:sldSyncPr` slide synchronization data part. */
6117
+ interface PptxSlideSyncProperties {
6118
+ serverSlideId: string;
6119
+ serverSlideModifiedTime: string;
6120
+ clientInsertedTime: string;
6121
+ extensionList?: XmlObject;
6122
+ rawXml?: XmlObject;
6123
+ partPath?: string;
6124
+ relationshipId?: string;
5363
6125
  }
5364
6126
  /**
5365
6127
  * A slide layout available in the loaded presentation.
@@ -5446,11 +6208,13 @@ interface PptxPresentationProperties {
5446
6208
  showSlidesTo?: number;
5447
6209
  /** Whether to show subtitles/captions during presentation mode. */
5448
6210
  showSubtitles?: boolean;
5449
- /** Print settings: slides per page. */
6211
+ /** Typed `p:prnPr` settings. Set to null during save to remove the element. */
6212
+ printProperties?: PptxPresentationPrintProperties | null;
6213
+ /** @deprecated Use `printProperties.printWhat`; retained as a handout compatibility alias. */
5450
6214
  printSlidesPerPage?: number;
5451
- /** Print settings: frame slides. */
6215
+ /** @deprecated Use `printProperties.frameSlides`. */
5452
6216
  printFrameSlides?: boolean;
5453
- /** Print settings: colour mode (from `p:prnPr/@clrMode`). */
6217
+ /** @deprecated Use `printProperties.colorMode`. */
5454
6218
  printColorMode?: 'clr' | 'gray' | 'bw';
5455
6219
  /** Most-recently-used colours from the presentation palette. */
5456
6220
  mruColors?: string[];
@@ -5487,6 +6251,8 @@ interface PptxCustomShow {
5487
6251
  id: string;
5488
6252
  /** Ordered list of slide relationship IDs included in this custom show. */
5489
6253
  slideRIds: string[];
6254
+ /** Original `p:custShow` subtree used to preserve unmodelled attributes and extensions. */
6255
+ rawXml?: XmlObject;
5490
6256
  }
5491
6257
  /**
5492
6258
  * An ordered section in the presentation (from `p:sectionLst` / `p14:sectionLst`).
@@ -5515,6 +6281,8 @@ interface PptxSection {
5515
6281
  collapsed?: boolean;
5516
6282
  /** Section highlight color hex (from p15:sectionPr/@clr). */
5517
6283
  color?: string;
6284
+ /** Original section subtree used to preserve unmodelled attributes and extensions. */
6285
+ rawXml?: XmlObject;
5518
6286
  }
5519
6287
  /**
5520
6288
  * Write-protection hash data parsed from `p:modifyVerifier` in `presentation.xml`.
@@ -5583,11 +6351,13 @@ interface PptxPhotoAlbum {
5583
6351
  */
5584
6352
  interface PptxKinsoku {
5585
6353
  /** Language code (e.g. "ja-JP", "zh-CN"). */
5586
- lang?: string;
6354
+ lang?: string | null;
5587
6355
  /** Characters that cannot begin a line. */
5588
6356
  invalStChars?: string;
5589
6357
  /** Characters that cannot end a line. */
5590
6358
  invalEndChars?: string;
6359
+ /** Original leaf retained for unknown attribute preservation. */
6360
+ rawXml?: XmlObject;
5591
6361
  }
5592
6362
  /**
5593
6363
  * Root data structure returned by {@link PptxHandlerCore.load}.
@@ -5638,6 +6408,8 @@ interface PptxData {
5638
6408
  isPasswordProtected?: boolean;
5639
6409
  /** Embedded font data (name + binary data URL) extracted from the presentation. */
5640
6410
  embeddedFonts?: PptxEmbeddedFont[];
6411
+ /** Typed `p:embeddedFontLst` package metadata, including unresolved variants. */
6412
+ embeddedFontList?: PptxEmbeddedFontList;
5641
6413
  /** Most-recently-used colour list from presentation properties. */
5642
6414
  mruColors?: string[];
5643
6415
  /** Parsed notes master data if present in the PPTX. */
@@ -5678,6 +6450,8 @@ interface PptxData {
5678
6450
  thumbnailData?: Uint8Array;
5679
6451
  /** Comment authors parsed from `ppt/commentAuthors.xml` for round-trip preservation. */
5680
6452
  commentAuthors?: PptxCommentAuthor[];
6453
+ /** Office 2021 p188 authors from the modern Author part. */
6454
+ modernCommentAuthors?: PptxModernCommentAuthor[];
5681
6455
  /**
5682
6456
  * OOXML conformance class of the loaded file.
5683
6457
  * - `'strict'` -- ISO/IEC 29500 Strict (uses `purl.oclc.org` namespace URIs)
@@ -5794,4 +6568,4 @@ interface PptxEmbeddedFont {
5794
6568
  originalPartBytes?: Uint8Array;
5795
6569
  }
5796
6570
 
5797
- export { type ShapeStyle as $, type PptxSlideMaster as A, type PptxSlideLayout as B, type ConnectorPptxElement as C, type PptxTagCollection as D, type PptxPhotoAlbum as E, type PptxKinsoku as F, type PptxModifyVerifier as G, type PptxViewProperties as H, type InkPptxElement as I, type ParsedTableStyleMap as J, type PptxEmbeddedFont as K, type PptxExportOptions as L, type PptxThemeFormatScheme as M, type TextSegment as N, type PptxComment as O, type PptxSlide as P, type PptxSlideBackgroundPattern as Q, type PptxSlideTransition as R, type ShapePptxElement as S, type TextPptxElement as T, type PptxElementAnimation as U, type PptxNativeAnimation as V, type PptxCustomerData as W, type XmlObject as X, type PptxActiveXControl as Y, type ZoomPptxElement as Z, type AnimationCondition as _, type PptxElement as a, type PptxExternalData as a$, type TextStyle as a0, type ElementAction as a1, type PptxAction as a2, type OleObjectType as a3, type PptxSmartArtNode as a4, type SmartArtLayoutType as a5, type PptxSmartArtDrawingShape as a6, type PptxSmartArtNodeStyle as a7, type PptxChartDataTable as a8, type PptxChartLineStyle as a9, type TablePptxElement as aA, type ChartPptxElement as aB, type OlePptxElement as aC, type GroupPptxElement as aD, type PlaceholderTextLevelStyle as aE, type PptxChartOfPieOptions as aF, type PptxChartView3D as aG, type PptxChartChrome as aH, type PptxChartSeries as aI, type SmartArtPptxElement as aJ, type GeometryAdjustmentHandle as aK, type CustomGeometryRawData as aL, type AdjustHandleXY as aM, type AdjustHandlePolar as aN, type ConnectionSite as aO, type CustomGeometryTextRect as aP, type CustomGeometryPath as aQ, type BulletInfo as aR, type PptxShapeLocks as aS, type PptxTextStyleLevels as aT, type PptxThemeFillStyle as aU, type PptxThemeLineStyle as aV, type PptxThemeEffectStyle as aW, type PptxSmartArtTextRun as aX, type PptxSmartArtChrome as aY, type PptxSmartArtColorTransform as aZ, type PptxSmartArtQuickStyle as a_, type PptxChartErrBars as aa, type PptxChartTrendline as ab, type PptxChartMarker as ac, type PptxChartDataLabel as ad, type PptxChartDataPoint as ae, type PptxChartShapeProps as af, type PptxChart3DSurface as ag, type PptxChartAxisFormatting as ah, type PptxEmbeddedWorkbookData as ai, type PptxDrawingGuide as aj, type PptxTableCellStyle as ak, type PptxCustomXmlPart as al, type PptxCommentAuthor as am, type MediaPptxElement as an, type PptxTableData as ao, type PptxTheme as ap, type PptxThemeOption as aq, type PlaceholderDefaults as ar, type PptxMasterTextStyles as as, type PptxThemeObjectDefaults as at, type ParsedTableStyleFill as au, type ParsedTableBackground as av, type ParsedTableStyleText as aw, type PptxImageEffects as ax, type MediaBookmark as ay, type PptxChartStyle as az, type PptxElementWithShapeStyle as b, type PptxTextAnimationTarget as b$, type CustomGeometryPoint as b0, type ImagePptxElement as b1, type PptxChartDataLabelOptions as b2, type PptxChartMarkerSymbol as b3, type ActionButtonPreset as b4, type AnimationConditionEvent as b5, type BevelPresetType as b6, type ConnectorConnectionPoint as b7, type ContentPartInkStroke as b8, type ContentPartPptxElement as b9, type PptxChartAxisNumFmt as bA, type PptxChartErrBarDir as bB, type PptxChartErrBarType as bC, type PptxChartErrValType as bD, type PptxChartTrendlineType as bE, type PptxColorAnimation as bF, type PptxCommonSlideViewProperties as bG, type PptxCropShape as bH, type PptxCustomPathProperties as bI, type PptxElementBase as bJ, type PptxElementType as bK, type PptxExportFormat as bL, type PptxGraphicFrameExtension as bM, type PptxHeaderFooterFlags as bN, type PptxImageProperties as bO, type PptxMediaType as bP, type PptxNativeAnimationKind as bQ, type PptxNormalViewProperties as bR, type PptxRestoredRegion as bS, type PptxShapeProperties as bT, type PptxSmartArtConnection as bU, type PptxSplitDirection as bV, type PptxSplitOrientation as bW, type PptxStripDirection as bX, type PptxTableCell as bY, type PptxTableRow as bZ, type PptxTag as b_, type CustomGeometrySegment as ba, type EffectDagBlend as bb, type EffectDagBlendMode as bc, type EffectDagContainer as bd, type EffectDagContainerType as be, type EffectDagNode as bf, type EffectDagRawLeaf as bg, type EffectDagRelOff as bh, type EffectDagXfrm as bi, type ElementActionType as bj, type MasterViewTab as bk, type MaterialPresetType as bl, type MediaCaptionTrack as bm, type MediaMetadata as bn, type Model3DPptxElement as bo, type ParsedTableStyleEntry as bp, type PicturePptxElement as bq, type Pptx3DScene as br, type Pptx3DShape as bs, type PptxAfterAnimationAction as bt, type PptxAnimationDirection as bu, type PptxAnimationIterate as bv, type PptxAnimationKeyframe as bw, type PptxAnimationRepeatMode as bx, type PptxAnimationSequence as by, type PptxAnimationTimingCurve as bz, type PptxElementWithText as c, type PptxTextBuildType as c0, type PptxTextProperties as c1, type PptxTextWarpPreset as c2, type PptxThemeFontGroup as c3, type PptxTransitionDirection4 as c4, type PptxTransitionDirection8 as c5, type PptxViewOrigin as c6, type PptxViewScale as c7, type ShadowEffect as c8, type SmartArtColorScheme as c9, type SmartArtLayout as ca, type SmartArtStyle as cb, THEME_COLOR_SCHEME_KEYS as cc, TRANSITION_VALID_DIRECTIONS as cd, type Text3DStyle as ce, type UnderlineStyle as cf, type UnknownPptxElement as cg, type PptxImageLikeElement as d, type PptxThemeColorScheme as e, type PptxThemeFontScheme as f, type PptxAnimationPreset as g, type PptxAnimationTrigger as h, type StrokeDashType as i, type ConnectorArrowType as j, type PptxTransitionType as k, type PptxChartType as l, type PptxData as m, type PptxCompatibilityWarning as n, type PptxLayoutOption as o, type PptxChartData as p, type PptxSmartArtData as q, type PptxHeaderFooter as r, type PptxPresentationProperties as s, type PptxCustomShow as t, type PptxSection as u, type PptxCoreProperties as v, type PptxAppProperties as w, type PptxCustomProperty as x, type PptxNotesMaster as y, type PptxHandoutMaster as z };
6571
+ export { type PptxComment as $, type PptxCoreProperties as A, type PptxAppProperties as B, type ConnectorPptxElement as C, type PptxCustomProperty as D, type PptxNotesMaster as E, type PptxHandoutMaster as F, type PptxSlideMaster as G, type PptxSlideLayout as H, type InkPptxElement as I, type PptxTagCollection as J, type PptxCustomerData as K, type PptxPhotoAlbum as L, type PptxKinsoku as M, type PptxModifyVerifier as N, type PptxViewProperties as O, type PptxSlide as P, type ParsedTableStyleMap as Q, type PptxEmbeddedFont as R, type ShapePptxElement as S, type TextPptxElement as T, type PptxEmbeddedFontList as U, type PptxExportOptions as V, type PptxMediaReferenceKind as W, type XmlObject as X, type PptxThemeFormatScheme as Y, type ZoomPptxElement as Z, type TextSegment as _, type PptxElement as a, type PptxChartOfPieOptions as a$, type PptxModernCommentPart as a0, type PptxSlideBackgroundPattern as a1, type PptxSlideTransition as a2, type PptxElementAnimation as a3, type PptxNativeAnimation as a4, type PptxActiveXControl as a5, type AnimationCondition as a6, type PptxGraphicBuild as a7, type PptxAnimationTarget as a8, type ShapeStyle as a9, type PptxChartLayouts as aA, type PptxChartManualLayout as aB, type PptxBubbleChartOptions as aC, type PptxSmartArtLayoutNode as aD, type PptxChartUpDownBars as aE, type PptxAudioCdPosition as aF, type MediaPptxElement as aG, type PptxCustomXmlPart as aH, type PptxCommentAuthor as aI, type PptxTableData as aJ, type PptxTheme as aK, type PptxThemeOption as aL, type PptxModernCommentAuthor as aM, type PlaceholderDefaults as aN, type PptxMasterTextStyles as aO, type PptxThemeObjectDefaults as aP, type ParsedTableStyleFill as aQ, type ParsedTableBackground as aR, type ParsedTableStyleText as aS, type PptxImageEffects as aT, type MediaBookmark as aU, type PptxChartStyle as aV, type TablePptxElement as aW, type ChartPptxElement as aX, type OlePptxElement as aY, type GroupPptxElement as aZ, type PlaceholderTextLevelStyle as a_, type TextStyle as aa, type ElementAction as ab, type PptxAction as ac, type ContentPartInkStroke as ad, type OleObjectType as ae, type PptxSmartArtNodeStyle as af, type PptxSmartArtDrawingShape as ag, type PptxChartDataTable as ah, type PptxChartLineStyle as ai, type PptxChartErrBars as aj, type PptxChartTrendline as ak, type PptxChartDataLabel as al, type PptxChartMarker as am, type PptxChartDataPoint as an, type PptxChartShapeProps as ao, type PptxChart3DSurface as ap, type PptxChartAxisFormatting as aq, type PptxEmbeddedWorkbookData as ar, type PptxDrawingGuide as as, type SmartArtLayoutType as at, type PptxSmartArtNode as au, type PptxSmartArtLayoutDefinition as av, type PptxSmartArtColorStyleLabel as aw, type PptxSmartArtDefinitionMetadata as ax, type PptxSmartArtQuickStyleLabel as ay, type PptxTableCellStyle as az, type PptxElementWithShapeStyle as b, type PptxChartDataLabelPosition as b$, type PptxChartView3D as b0, type PptxChartChrome as b1, type PptxChartSeries as b2, type SmartArtPptxElement as b3, type Model3DPptxElement as b4, type ContentPartPptxElement as b5, type GeometryAdjustmentHandle as b6, type CustomGeometryRawData as b7, type AdjustHandleXY as b8, type AdjustHandlePolar as b9, type EffectDagBlendMode as bA, type EffectDagBlur as bB, type EffectDagContainer as bC, type EffectDagContainerType as bD, type EffectDagNode as bE, type EffectDagPresetShadow as bF, type EffectDagRawLeaf as bG, type EffectDagRelOff as bH, type EffectDagXfrm as bI, type ElementActionType as bJ, type MasterViewTab as bK, type MaterialPresetType as bL, type MediaCaptionTrack as bM, type MediaMetadata as bN, type ParsedTableStyleEntry as bO, type PicturePptxElement as bP, type Pptx3DScene as bQ, type Pptx3DShape as bR, type PptxAfterAnimationAction as bS, type PptxAnimationDirection as bT, type PptxAnimationIterate as bU, type PptxAnimationKeyframe as bV, type PptxAnimationRepeatMode as bW, type PptxAnimationSequence as bX, type PptxAnimationTimingCurve as bY, type PptxChartAxisLabelFormatting as bZ, type PptxChartAxisNumFmt as b_, type ConnectionSite as ba, type CustomGeometryTextRect as bb, type CustomGeometryPath as bc, type BulletInfo as bd, type PptxShapeLocks as be, type PptxTextStyleLevels as bf, type PptxThemeFillStyle as bg, type PptxThemeLineStyle as bh, type PptxThemeEffectStyle as bi, type PptxSmartArtTextRun as bj, type PptxSmartArtChrome as bk, type PptxSmartArtColorTransform as bl, type PptxSmartArtConnection as bm, type PptxSmartArtQuickStyle as bn, type PptxExternalData as bo, type CustomGeometryPoint as bp, type ImagePptxElement as bq, type PptxChartDataLabelOptions as br, type PptxChartMarkerSymbol as bs, type ActionButtonPreset as bt, type AnimationConditionEvent as bu, type BevelPresetType as bv, type ConnectorConnectionPoint as bw, type CustomGeometrySegment as bx, type EffectDagAlphaOutset as by, type EffectDagBlend as bz, type PptxElementWithText as c, type PptxSmartArtWhen as c$, type PptxChartDateCategories as c0, type PptxChartDisplayUnitsLabel as c1, type PptxChartErrBarDir as c2, type PptxChartErrBarType as c3, type PptxChartErrValType as c4, type PptxChartLegendEntry as c5, type PptxChartLegendTextStyle as c6, type PptxChartPageMargins as c7, type PptxChartPageSetup as c8, type PptxChartParentLabelLayout as c9, type PptxNormalViewProperties as cA, type PptxPresentationPrintProperties as cB, type PptxPrintColorMode as cC, type PptxPrintOutput as cD, type PptxRestoredRegion as cE, type PptxShapeProperties as cF, type PptxSlideSyncProperties as cG, type PptxSmartArtAlgorithmParameter as cH, type PptxSmartArtChoose as cI, type PptxSmartArtColorApplicationMethod as cJ, type PptxSmartArtColorListMetadata as cK, type PptxSmartArtConstraint as cL, type PptxSmartArtConstraintOperator as cM, type PptxSmartArtConstraintPointType as cN, type PptxSmartArtConstraintRelationship as cO, type PptxSmartArtConstraintTarget as cP, type PptxSmartArtDefinitionCategory as cQ, type PptxSmartArtDefinitionText as cR, type PptxSmartArtForEach as cS, type PptxSmartArtHueDirection as cT, type PptxSmartArtIteratorAttributes as cU, type PptxSmartArtLayoutAlgorithm as cV, type PptxSmartArtLayoutCategory as cW, type PptxSmartArtLocalizedText as cX, type PptxSmartArtNumericRule as cY, type PptxSmartArtTextParagraph as cZ, type PptxSmartArtTextParagraphItem as c_, type PptxChartPivotFormat as ca, type PptxChartPivotFormats as cb, type PptxChartPivotSource as cc, type PptxChartPrintHeaderFooter as cd, type PptxChartPrintSettings as ce, type PptxChartProtection as cf, type PptxChartTickMark as cg, type PptxChartTrendlineLabel as ch, type PptxChartTrendlineType as ci, type PptxColorAnimation as cj, type PptxCommonSlideViewProperties as ck, type PptxCropShape as cl, type PptxCustomDashSegment as cm, type PptxCustomPathProperties as cn, type PptxElementBase as co, type PptxElementType as cp, type PptxEmbeddedFontDataId as cq, type PptxEmbeddedFontDescriptor as cr, type PptxEmbeddedFontListEntry as cs, type PptxExportFormat as ct, type PptxGraphicFrameExtension as cu, type PptxGridSpacing as cv, type PptxHeaderFooterFlags as cw, type PptxImageProperties as cx, type PptxMediaType as cy, type PptxNativeAnimationKind as cz, type PptxImageLikeElement as d, type PptxSplitDirection as d0, type PptxSplitOrientation as d1, type PptxStripDirection as d2, type PptxTableCell as d3, type PptxTableRow as d4, type PptxTag as d5, type PptxTextAnimationTarget as d6, type PptxTextBuildType as d7, type PptxTextProperties as d8, type PptxTextWarpPreset as d9, type PptxThemeFontGroup as da, type PptxTransitionDirection4 as db, type PptxTransitionDirection8 as dc, type PptxTransitionSpeed as dd, type PptxViewGuide as de, type PptxViewOrigin as df, type PptxViewScale as dg, type ShadowEffect as dh, type SmartArtColorScheme as di, type SmartArtLayout as dj, type SmartArtStyle as dk, type SummaryZoomTarget as dl, THEME_COLOR_SCHEME_KEYS as dm, TRANSITION_VALID_DIRECTIONS as dn, type Text3DStyle as dp, type UnderlineStyle as dq, type UnknownPptxElement as dr, type PptxThemeColorScheme as e, type PptxThemeFontScheme as f, type PptxAnimationPreset as g, type PptxAnimationTrigger as h, type PptxChartBoxWhiskerOptions as i, type PptxChartHistogramOptions as j, type PptxChartWaterfallOptions as k, type PptxChartRegionMapOptions as l, type PptxChartTreemapOptions as m, type StrokeDashType as n, type ConnectorArrowType as o, type PptxTransitionType as p, type PptxChartType as q, type PptxData as r, type PptxCompatibilityWarning as s, type PptxLayoutOption as t, type PptxChartData as u, type PptxSmartArtData as v, type PptxHeaderFooter as w, type PptxPresentationProperties as x, type PptxCustomShow as y, type PptxSection as z };