pptx-viewer-core 1.4.0 → 1.5.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.
@@ -675,6 +675,10 @@ interface Text3DStyle {
675
675
  interface Pptx3DScene {
676
676
  /** Camera preset type, e.g. "orthographicFront", "perspectiveFront". */
677
677
  cameraPreset?: string;
678
+ /** Camera field of view in 1/60000 degrees (`a:camera/@fov`). */
679
+ cameraFieldOfView?: number;
680
+ /** Camera zoom as an OOXML percentage fraction (`a:camera/@zoom`, 1 = 100%). */
681
+ cameraZoom?: number;
678
682
  /** Camera rotation around X axis in 1/60000 degrees. */
679
683
  cameraRotX?: number;
680
684
  /** Camera rotation around Y axis in 1/60000 degrees. */
@@ -685,6 +689,12 @@ interface Pptx3DScene {
685
689
  lightRigType?: string;
686
690
  /** Light rig direction, e.g. "t", "b", "l", "r", "tl". */
687
691
  lightRigDirection?: string;
692
+ /** Light-rig rotation latitude in 1/60000 degrees. */
693
+ lightRigRotX?: number;
694
+ /** Light-rig rotation longitude in 1/60000 degrees. */
695
+ lightRigRotY?: number;
696
+ /** Light-rig rotation revolution in 1/60000 degrees. */
697
+ lightRigRotZ?: number;
688
698
  /** Whether a 3D backdrop plane is present (`a:backdrop`). */
689
699
  hasBackdrop?: boolean;
690
700
  /** Backdrop plane anchor X in EMU. */
@@ -693,6 +703,18 @@ interface Pptx3DScene {
693
703
  backdropAnchorY?: number;
694
704
  /** Backdrop plane anchor Z in EMU. */
695
705
  backdropAnchorZ?: number;
706
+ /** Backdrop normal vector X component. */
707
+ backdropNormalX?: number;
708
+ /** Backdrop normal vector Y component. */
709
+ backdropNormalY?: number;
710
+ /** Backdrop normal vector Z component. */
711
+ backdropNormalZ?: number;
712
+ /** Backdrop up vector X component. */
713
+ backdropUpX?: number;
714
+ /** Backdrop up vector Y component. */
715
+ backdropUpY?: number;
716
+ /** Backdrop up vector Z component. */
717
+ backdropUpZ?: number;
696
718
  }
697
719
  /**
698
720
  * 3D shape extrusion/bevel from `a:sp3d`.
@@ -812,9 +834,13 @@ interface ShapeStyle {
812
834
  */
813
835
  fillColorXml?: XmlObject;
814
836
  fillGradient?: string;
837
+ /** Original `gradFill` XML retained for unknown-child and extension round-tripping. */
838
+ fillGradientXml?: XmlObject;
815
839
  fillMode?: 'solid' | 'gradient' | 'pattern' | 'none' | 'image' | 'theme' | 'group';
816
840
  fillPatternPreset?: string;
817
841
  fillPatternBackgroundColor?: string;
842
+ /** Original `pattFill` XML retained for unknown-child round-tripping. */
843
+ fillPatternXml?: XmlObject;
818
844
  /** Raw XML node for pattern fill foreground colour (preserves color transforms). */
819
845
  fillPatternFgClrXml?: XmlObject;
820
846
  /** Raw XML node for pattern fill background colour (preserves color transforms). */
@@ -880,6 +906,14 @@ interface ShapeStyle {
880
906
  /** Pen line alignment (`a:ln/@algn`): `ctr` (centre, default) or `in` (inside). */
881
907
  lineAlignment?: 'ctr' | 'in';
882
908
  shadowColor?: string;
909
+ /** Preserved source `a:effectLst`, including unknown effects and extensions. */
910
+ effectListXml?: XmlObject;
911
+ /** Original outer-shadow node used for lossless surgical updates. */
912
+ outerShadowXml?: XmlObject;
913
+ /** Resolved source shadow colour used to detect colour edits. */
914
+ outerShadowOriginalColor?: string;
915
+ /** Source shadow opacity used to detect alpha edits. */
916
+ outerShadowOriginalOpacity?: number;
883
917
  shadowBlur?: number;
884
918
  shadowOffsetX?: number;
885
919
  shadowOffsetY?: number;
@@ -923,11 +957,23 @@ interface ShapeStyle {
923
957
  /** Multiple shadow layers (for advanced effects). */
924
958
  shadows?: ShadowEffect[];
925
959
  glowColor?: string;
960
+ /** Original glow node used for lossless surgical updates. */
961
+ glowXml?: XmlObject;
962
+ /** Resolved source glow colour used to detect colour edits. */
963
+ glowOriginalColor?: string;
964
+ /** Source glow opacity used to detect alpha edits. */
965
+ glowOriginalOpacity?: number;
926
966
  glowRadius?: number;
927
967
  glowOpacity?: number;
928
968
  softEdgeRadius?: number;
929
969
  /** Inner shadow colour (`a:innerShdw`). */
930
970
  innerShadowColor?: string;
971
+ /** Original inner-shadow node used for lossless surgical updates. */
972
+ innerShadowXml?: XmlObject;
973
+ /** Resolved source inner-shadow colour used to detect colour edits. */
974
+ innerShadowOriginalColor?: string;
975
+ /** Source inner-shadow opacity used to detect alpha edits. */
976
+ innerShadowOriginalOpacity?: number;
931
977
  /** Inner shadow opacity (0-1). */
932
978
  innerShadowOpacity?: number;
933
979
  /** Inner shadow blur radius in px. */
@@ -936,8 +982,12 @@ interface ShapeStyle {
936
982
  innerShadowOffsetX?: number;
937
983
  /** Inner shadow vertical offset in px. */
938
984
  innerShadowOffsetY?: number;
985
+ /** Original soft-edge node, including vendor attributes and extensions. */
986
+ softEdgeXml?: XmlObject;
939
987
  /** Reflection effect — distance from shape bottom in px. */
940
988
  reflectionBlurRadius?: number;
989
+ /** Original reflection node, including vendor attributes and extensions. */
990
+ reflectionXml?: XmlObject;
941
991
  /** Reflection start opacity (0-1). */
942
992
  reflectionStartOpacity?: number;
943
993
  /** Reflection end opacity (0-1). */
@@ -1433,6 +1483,8 @@ interface TextStyle {
1433
1483
  text3d?: Text3DStyle;
1434
1484
  /** 3D scene (camera + light rig) settings on the text body (`a:bodyPr/a:scene3d`). */
1435
1485
  textBodyScene3d?: Pptx3DScene;
1486
+ /** Raw `a:scene3d` subtree used to preserve extensions and unmodelled children. */
1487
+ textBodyScene3dXml?: XmlObject;
1436
1488
  /**
1437
1489
  * Raw `<a:extLst>` subtree captured from `<a:bodyPr>`. Preserved verbatim so
1438
1490
  * authored extensions (e.g. content placeholders, custom application data)
@@ -1850,12 +1902,32 @@ interface PlaceholderDefaults {
1850
1902
  promptText?: string;
1851
1903
  }
1852
1904
 
1905
+ /** Tick-mark placement from ChartML `ST_TickMark`. */
1906
+ type PptxChartTickMark = 'cross' | 'in' | 'none' | 'out';
1907
+ /** Typed axis tick and category/date label controls. */
1908
+ interface PptxChartAxisLabelFormatting {
1909
+ /** Primary and secondary tick-mark placement. */
1910
+ majorTickMark?: PptxChartTickMark;
1911
+ minorTickMark?: PptxChartTickMark;
1912
+ /** Tick-label position from ChartML `ST_TickLblPos`. */
1913
+ tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
1914
+ /** Automatic category/date axis behavior (`c:auto`). */
1915
+ auto?: boolean;
1916
+ /** Category-axis label alignment (`c:lblAlgn`). */
1917
+ labelAlignment?: 'ctr' | 'l' | 'r';
1918
+ /** Category/date label distance, from 0 through 1000 percent. */
1919
+ labelOffset?: number;
1920
+ /** Suppress multi-level category labels (`c:noMultiLvlLbl`). */
1921
+ noMultiLevelLabels?: boolean;
1922
+ }
1923
+
1853
1924
  /**
1854
1925
  * Chart types: chart categories, series data, style metadata, data tables,
1855
1926
  * trendlines, error bars, and the composite `PptxChartData`.
1856
1927
  *
1857
1928
  * @module pptx-types/chart
1858
1929
  */
1930
+
1859
1931
  /**
1860
1932
  * Supported chart type discriminators.
1861
1933
  *
@@ -1892,6 +1964,7 @@ type PptxChartTrendlineType = 'linear' | 'exponential' | 'logarithmic' | 'polyno
1892
1964
  */
1893
1965
  interface PptxChartTrendline {
1894
1966
  trendlineType: PptxChartTrendlineType;
1967
+ name?: string;
1895
1968
  order?: number;
1896
1969
  period?: number;
1897
1970
  forward?: number;
@@ -1900,6 +1973,13 @@ interface PptxChartTrendline {
1900
1973
  displayRSq?: boolean;
1901
1974
  displayEq?: boolean;
1902
1975
  color?: string;
1976
+ label?: PptxChartTrendlineLabel | null;
1977
+ }
1978
+ /** Typed, commonly edited properties of `c:trendlineLbl`. */
1979
+ interface PptxChartTrendlineLabel {
1980
+ layout?: PptxChartManualLayout;
1981
+ numberFormatCode?: string;
1982
+ sourceLinked?: boolean;
1903
1983
  }
1904
1984
  /** Error-bar direction axis. */
1905
1985
  type PptxChartErrBarDir = 'x' | 'y';
@@ -1936,6 +2016,8 @@ interface PptxChartErrBars {
1936
2016
  val?: number;
1937
2017
  customPlus?: number[];
1938
2018
  customMinus?: number[];
2019
+ noEndCap?: boolean;
2020
+ color?: string;
1939
2021
  }
1940
2022
  /**
1941
2023
  * Visibility flags for the chart data table (axes + legend keys).
@@ -1985,6 +2067,13 @@ interface PptxChartShapeProps {
1985
2067
  /** Line dash style (a:prstDash/@val), e.g. 'solid', 'dash', 'dot', 'lgDash'. */
1986
2068
  strokeDashStyle?: string;
1987
2069
  }
2070
+ /** Up/down bar formatting on line and stock charts (`c:upDownBars`). */
2071
+ interface PptxChartUpDownBars {
2072
+ /** Gap between bars as a percentage, constrained to 0 through 500. */
2073
+ gapWidth?: number;
2074
+ upBars?: PptxChartShapeProps;
2075
+ downBars?: PptxChartShapeProps;
2076
+ }
1988
2077
  /** Marker appearance on a chart series or data point. */
1989
2078
  interface PptxChartMarker {
1990
2079
  symbol: PptxChartMarkerSymbol;
@@ -1999,25 +2088,40 @@ interface PptxChartDataPoint {
1999
2088
  invertIfNegative?: boolean;
2000
2089
  marker?: PptxChartMarker;
2001
2090
  }
2091
+ /** Schema values accepted by `c:dLblPos`. */
2092
+ type PptxChartDataLabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
2002
2093
  /** Individual data label override (c:dLbl). */
2003
2094
  interface PptxChartDataLabel {
2004
2095
  idx: number;
2096
+ /** Suppress this data point's automatically generated label. */
2097
+ deleted?: boolean;
2005
2098
  showVal?: boolean;
2006
2099
  showCatName?: boolean;
2007
2100
  showSerName?: boolean;
2008
2101
  showPercent?: boolean;
2009
2102
  showLegendKey?: boolean;
2010
2103
  showBubbleSize?: boolean;
2011
- position?: string;
2104
+ position?: PptxChartDataLabelPosition;
2012
2105
  text?: string;
2106
+ separator?: string;
2107
+ showLeaderLines?: boolean;
2013
2108
  }
2014
2109
  /** Axis number format. */
2015
2110
  interface PptxChartAxisNumFmt {
2016
2111
  formatCode: string;
2017
2112
  sourceLinked?: boolean;
2018
2113
  }
2114
+ /** Typed contents of a value-axis display-unit label (`c:dispUnitsLbl`). */
2115
+ interface PptxChartDisplayUnitsLabel {
2116
+ /** Literal label text. Omit to preserve the source text subtree. */
2117
+ text?: string;
2118
+ /** Manual label placement. `null` removes only the manual layout. */
2119
+ layout?: PptxChartManualLayout | null;
2120
+ /** Label shape formatting. `null` removes `c:spPr`. */
2121
+ spPr?: PptxChartShapeProps | null;
2122
+ }
2019
2123
  /** Axis formatting for category, value, or date axes. */
2020
- interface PptxChartAxisFormatting {
2124
+ interface PptxChartAxisFormatting extends PptxChartAxisLabelFormatting {
2021
2125
  axisType: 'catAx' | 'valAx' | 'dateAx' | 'serAx';
2022
2126
  /** Axis position: "b" (bottom), "l" (left), "r" (right), "t" (top). */
2023
2127
  axPos?: 'b' | 'l' | 'r' | 't';
@@ -2051,8 +2155,12 @@ interface PptxChartAxisFormatting {
2051
2155
  displayUnits?: 'hundreds' | 'thousands' | 'tenThousands' | 'hundredThousands' | 'millions' | 'tenMillions' | 'hundredMillions' | 'billions' | 'trillions' | 'custom';
2052
2156
  /** Custom display unit divisor value (c:dispUnits/c:custUnit/@val). Only used when displayUnits is 'custom'. */
2053
2157
  displayUnitsValue?: number;
2054
- /** Display units label text (c:dispUnits/c:dispUnitsLbl). Overrides the built-in default label when present. */
2055
- displayUnitsLabel?: string;
2158
+ /**
2159
+ * Display-unit label contents (`c:dispUnits/c:dispUnitsLbl`). A string is
2160
+ * retained as a compatibility shorthand for `{ text: string }`; `null`
2161
+ * explicitly removes the label.
2162
+ */
2163
+ displayUnitsLabel?: string | PptxChartDisplayUnitsLabel | null;
2056
2164
  /** Whether logarithmic scaling is enabled (presence of c:scaling/c:logBase). */
2057
2165
  logScale?: boolean;
2058
2166
  /** Logarithmic base value (c:scaling/c:logBase/@val), typically 10 or e. */
@@ -2061,8 +2169,6 @@ interface PptxChartAxisFormatting {
2061
2169
  majorUnit?: number;
2062
2170
  /** Minor-unit interval between secondary tick marks (c:minorUnit/@val). */
2063
2171
  minorUnit?: number;
2064
- /** Tick-label position (c:tickLblPos/@val): 'high', 'low', 'nextTo', or 'none'. */
2065
- tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
2066
2172
  }
2067
2173
  /** 3D wall or floor element formatting. */
2068
2174
  interface PptxChart3DSurface {
@@ -2121,12 +2227,32 @@ interface PptxChartDataLabelOptions {
2121
2227
  showPercent?: boolean;
2122
2228
  /** Show the legend key swatch (`c:showLegendKey`). */
2123
2229
  showLegendKey?: boolean;
2230
+ /** Show bubble size (`c:showBubbleSize`). */
2231
+ showBubbleSize?: boolean;
2232
+ /** Text placed between combined label components (`c:separator`). */
2233
+ separator?: string;
2234
+ /** Show leader lines where supported (`c:showLeaderLines`). */
2235
+ showLeaderLines?: boolean;
2124
2236
  /**
2125
2237
  * Label position (`c:dLblPos`). Valid values depend on the chart type
2126
2238
  * (`ctr`, `inEnd`, `inBase`, `outEnd`, `bestFit`, `l`, `r`, `t`, `b`).
2127
2239
  * Omit to let PowerPoint use the type default.
2128
2240
  */
2129
- position?: 'ctr' | 'inEnd' | 'inBase' | 'outEnd' | 'bestFit' | 'l' | 'r' | 't' | 'b';
2241
+ position?: PptxChartDataLabelPosition;
2242
+ }
2243
+ /** Typed text defaults for a single chart legend entry. */
2244
+ interface PptxChartLegendTextStyle {
2245
+ fontFamily?: string;
2246
+ fontSize?: number;
2247
+ bold?: boolean;
2248
+ italic?: boolean;
2249
+ color?: string;
2250
+ }
2251
+ /** Per-series legend entry override (`c:legendEntry`). */
2252
+ interface PptxChartLegendEntry {
2253
+ index: number;
2254
+ deleted?: boolean;
2255
+ textStyle?: PptxChartLegendTextStyle;
2130
2256
  }
2131
2257
  /**
2132
2258
  * Style / formatting metadata for a chart.
@@ -2149,6 +2275,8 @@ interface PptxChartStyle {
2149
2275
  hasLegend?: boolean;
2150
2276
  /** Legend position (t, b, l, r, tr). */
2151
2277
  legendPosition?: string;
2278
+ /** Per-series visibility and text-style overrides. */
2279
+ legendEntries?: PptxChartLegendEntry[];
2152
2280
  /** Whether the chart has a title. */
2153
2281
  hasTitle?: boolean;
2154
2282
  /** Whether gridlines are visible. */
@@ -2209,6 +2337,14 @@ interface PptxChartOfPieOptions {
2209
2337
  serLines?: boolean;
2210
2338
  gapWidth?: number;
2211
2339
  }
2340
+ /** Classic `c:bubbleChart` options from CT_BubbleChart. */
2341
+ interface PptxBubbleChartOptions {
2342
+ bubble3D?: boolean;
2343
+ /** Bubble diameter scale in percent, constrained to 0 through 300. */
2344
+ bubbleScale?: number;
2345
+ showNegativeBubbles?: boolean;
2346
+ sizeRepresents?: 'area' | 'w';
2347
+ }
2212
2348
  /**
2213
2349
  * 3D viewing parameters for a chart (`c:view3D`, ECMA-376 §21.2.2.228 /
2214
2350
  * CT_View3D).
@@ -2249,6 +2385,27 @@ interface PptxChartChrome {
2249
2385
  dispBlanksAs?: 'gap' | 'zero' | 'span';
2250
2386
  showDLblsOverMax?: boolean;
2251
2387
  }
2388
+ /** Manual chart placement from `c:layout/c:manualLayout` (CT_ManualLayout). */
2389
+ interface PptxChartManualLayout {
2390
+ layoutTarget?: 'inner' | 'outer';
2391
+ xMode?: 'edge' | 'factor';
2392
+ yMode?: 'edge' | 'factor';
2393
+ widthMode?: 'edge' | 'factor';
2394
+ heightMode?: 'edge' | 'factor';
2395
+ x?: number;
2396
+ y?: number;
2397
+ width?: number;
2398
+ height?: number;
2399
+ }
2400
+ /**
2401
+ * Typed manual layouts for chart regions that accept `c:layout`.
2402
+ * A `null` region removes its manual layout without removing extensions.
2403
+ */
2404
+ interface PptxChartLayouts {
2405
+ title?: PptxChartManualLayout | null;
2406
+ plotArea?: PptxChartManualLayout | null;
2407
+ legend?: PptxChartManualLayout | null;
2408
+ }
2252
2409
  /** Parsed data extracted from an embedded xlsx workbook. */
2253
2410
  interface PptxEmbeddedWorkbookData {
2254
2411
  /** Category labels from the first column/row. */
@@ -2290,9 +2447,12 @@ interface PptxChartData {
2290
2447
  chartPartPath?: string;
2291
2448
  /** Internal: relationship ID linking the graphic frame to the chart part. */
2292
2449
  chartRelationshipId?: string;
2293
- dataTable?: PptxChartDataTable;
2450
+ /** `null` explicitly removes an existing ChartML data table. */
2451
+ dataTable?: PptxChartDataTable | null;
2294
2452
  dropLines?: PptxChartLineStyle;
2295
2453
  hiLowLines?: PptxChartLineStyle;
2454
+ /** `null` explicitly removes an existing up/down-bars container. */
2455
+ upDownBars?: PptxChartUpDownBars | null;
2296
2456
  axes?: PptxChartAxisFormatting[];
2297
2457
  floor?: PptxChart3DSurface;
2298
2458
  sideWall?: PptxChart3DSurface;
@@ -2350,6 +2510,8 @@ interface PptxChartData {
2350
2510
  * `ofPieChart` element can be re-emitted on save with full fidelity.
2351
2511
  */
2352
2512
  ofPieOptions?: PptxChartOfPieOptions;
2513
+ /** Classic bubble-chart display options (`c:bubbleChart`). */
2514
+ bubbleOptions?: PptxBubbleChartOptions;
2353
2515
  /**
2354
2516
  * 3D viewing parameters (`c:view3D`, CT_View3D).
2355
2517
  *
@@ -2365,6 +2527,8 @@ interface PptxChartData {
2365
2527
  * source data, so absence does not produce empty `<c:…/>` placeholders.
2366
2528
  */
2367
2529
  chartChrome?: PptxChartChrome;
2530
+ /** Editable manual placement for the title, plot area, and legend. */
2531
+ layouts?: PptxChartLayouts;
2368
2532
  /**
2369
2533
  * Raw `c:userShapes` XML subtree (a drawing tree) preserved verbatim.
2370
2534
  *
@@ -2390,107 +2554,55 @@ interface PptxChartData {
2390
2554
  clrMapOvr?: Record<string, string>;
2391
2555
  }
2392
2556
 
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
2557
  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
2558
  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`. */
2559
+ type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagBlur | EffectDagPresetShadow | EffectDagRawLeaf;
2442
2560
  interface EffectDagContainer {
2443
2561
  kind: 'cont';
2444
- /** `@type` — `sib` or `tree`. */
2445
2562
  type: EffectDagContainerType;
2446
- /** Optional `@name` attribute. */
2447
2563
  name?: string;
2448
- /** Ordered children. */
2449
2564
  children: EffectDagNode[];
2450
2565
  }
2451
- /** `a:blend` — CT_BlendEffect. Always wraps a single `a:cont` child. */
2452
2566
  interface EffectDagBlend {
2453
2567
  kind: 'blend';
2454
- /** `@blend` attribute. */
2455
2568
  mode: EffectDagBlendMode;
2456
- /** Required child `a:cont` container. */
2457
2569
  container: EffectDagContainer;
2458
2570
  }
2459
- /** `a:xfrmEffect` — CT_TransformEffect. Affine transform with no children. */
2460
2571
  interface EffectDagXfrm {
2461
2572
  kind: 'xfrmEffect';
2462
- /** Horizontal scale, percentage * 1000 (e.g. 100000 = 100%). */
2463
2573
  sx?: number;
2464
- /** Vertical scale, percentage * 1000. */
2465
2574
  sy?: number;
2466
- /** Horizontal skew, degrees * 60000. */
2467
2575
  kx?: number;
2468
- /** Vertical skew, degrees * 60000. */
2469
2576
  ky?: number;
2470
- /** Horizontal translation in EMU. */
2471
2577
  tx?: number;
2472
- /** Vertical translation in EMU. */
2473
2578
  ty?: number;
2474
2579
  }
2475
- /** `a:relOff` — CT_RelativeOffsetEffect. Relative offset in 1000ths of a percent. */
2476
2580
  interface EffectDagRelOff {
2477
2581
  kind: 'relOff';
2478
- /** Horizontal offset, percentage * 1000. */
2479
2582
  tx?: number;
2480
- /** Vertical offset, percentage * 1000. */
2481
2583
  ty?: number;
2482
2584
  }
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
- */
2585
+ /** Typed CT_BlurEffect with its original payload retained for lossless edits. */
2586
+ interface EffectDagBlur {
2587
+ kind: 'blur';
2588
+ radiusEmu?: number;
2589
+ grow?: boolean;
2590
+ xml: XmlObject;
2591
+ }
2592
+ /** Typed CT_PresetShadowEffect with colour and extension XML retained verbatim. */
2593
+ interface EffectDagPresetShadow {
2594
+ kind: 'prstShdw';
2595
+ preset?: `shdw${number}`;
2596
+ distanceEmu?: number;
2597
+ direction?: number;
2598
+ xml: XmlObject;
2599
+ }
2487
2600
  interface EffectDagRawLeaf {
2488
2601
  kind: 'raw';
2489
- /** Local element name without the `a:` prefix (e.g. `outerShdw`, `glow`). */
2490
2602
  tag: string;
2491
- /** Raw XML object captured at load — preserved verbatim on save. */
2492
2603
  xml: Record<string, unknown>;
2493
2604
  }
2605
+
2494
2606
  /**
2495
2607
  * Image recolour/adjustment properties parsed from blip extensions.
2496
2608
  *
@@ -2717,6 +2829,11 @@ declare module './shape-style' {
2717
2829
  * ```
2718
2830
  */
2719
2831
  type PptxMediaType = 'video' | 'audio' | 'unknown';
2832
+ type PptxMediaReferenceKind = 'audioCd' | 'wavAudioFile' | 'audioFile' | 'videoFile' | 'quickTimeFile';
2833
+ interface PptxAudioCdPosition {
2834
+ track: number;
2835
+ time?: number;
2836
+ }
2720
2837
  /**
2721
2838
  * A named bookmark within a media clip timeline.
2722
2839
  *
@@ -2793,6 +2910,34 @@ interface MediaCaptionTrack {
2793
2910
  isDefault?: boolean;
2794
2911
  }
2795
2912
 
2913
+ /** Typed, editable metadata from a DiagramML layout-definition part. */
2914
+ interface PptxSmartArtLocalizedText {
2915
+ value: string;
2916
+ language?: string;
2917
+ }
2918
+ interface PptxSmartArtLayoutCategory {
2919
+ type: string;
2920
+ priority: number;
2921
+ }
2922
+ /** Identity and ordering metadata from DiagramML CT_LayoutNode. */
2923
+ interface PptxSmartArtLayoutNode {
2924
+ name?: string;
2925
+ styleLabel?: string;
2926
+ childOrder?: 'b' | 't';
2927
+ moveWith?: string;
2928
+ children?: PptxSmartArtLayoutNode[];
2929
+ }
2930
+ /** Metadata and root node from DiagramML CT_DiagramDefinition. */
2931
+ interface PptxSmartArtLayoutDefinition {
2932
+ uniqueId?: string;
2933
+ minimumVersion?: string;
2934
+ defaultStyle?: string;
2935
+ titles?: PptxSmartArtLocalizedText[];
2936
+ descriptions?: PptxSmartArtLocalizedText[];
2937
+ categories?: PptxSmartArtLayoutCategory[];
2938
+ rootNode: PptxSmartArtLayoutNode;
2939
+ }
2940
+
2796
2941
  /**
2797
2942
  * SmartArt node types: per-run text, per-node visual override, and the
2798
2943
  * data-model node itself. Split out of `smart-art.ts` to keep each type file
@@ -2880,6 +3025,8 @@ interface PptxSmartArtNodeStyle {
2880
3025
  interface PptxSmartArtNode {
2881
3026
  id: string;
2882
3027
  text: string;
3028
+ /** CT_Pt connection identifier, when the point references a connection. */
3029
+ connectionId?: string | null;
2883
3030
  parentId?: string;
2884
3031
  children?: PptxSmartArtNode[];
2885
3032
  /** Node type from `@_type` attribute (e.g. "doc", "node", "asst", "pres"). */
@@ -2901,6 +3048,64 @@ interface PptxSmartArtNode {
2901
3048
  style?: PptxSmartArtNodeStyle;
2902
3049
  }
2903
3050
 
3051
+ /** Editable metadata shared by DiagramML quick-style and color definitions. */
3052
+ interface PptxSmartArtDefinitionText {
3053
+ value: string;
3054
+ language?: string;
3055
+ }
3056
+ interface PptxSmartArtDefinitionCategory {
3057
+ type: string;
3058
+ priority: number;
3059
+ }
3060
+ type PptxSmartArtColorApplicationMethod = 'span' | 'cycle' | 'repeat';
3061
+ type PptxSmartArtHueDirection = 'cw' | 'ccw';
3062
+ /** CT_Colors application metadata. Color-choice children remain preserved XML. */
3063
+ interface PptxSmartArtColorListMetadata {
3064
+ method?: PptxSmartArtColorApplicationMethod;
3065
+ hueDirection?: PptxSmartArtHueDirection;
3066
+ }
3067
+ /** CT_StyleLabel metadata from a quick-style definition. */
3068
+ interface PptxSmartArtQuickStyleLabel {
3069
+ name: string;
3070
+ }
3071
+ /** CT_CTStyleLabel metadata from a color-transform definition. */
3072
+ interface PptxSmartArtColorStyleLabel {
3073
+ name: string;
3074
+ fill?: PptxSmartArtColorListMetadata;
3075
+ line?: PptxSmartArtColorListMetadata;
3076
+ effect?: PptxSmartArtColorListMetadata;
3077
+ textLine?: PptxSmartArtColorListMetadata;
3078
+ textFill?: PptxSmartArtColorListMetadata;
3079
+ textEffect?: PptxSmartArtColorListMetadata;
3080
+ }
3081
+ interface PptxSmartArtDefinitionMetadata {
3082
+ uniqueId?: string;
3083
+ minimumVersion?: string;
3084
+ titles?: PptxSmartArtDefinitionText[];
3085
+ descriptions?: PptxSmartArtDefinitionText[];
3086
+ categories?: PptxSmartArtDefinitionCategory[];
3087
+ }
3088
+ /** Typed CT_ColorTransform metadata and the resolved legacy color palette. */
3089
+ interface PptxSmartArtColorTransform extends PptxSmartArtDefinitionMetadata {
3090
+ /** Legacy resolved display name. */
3091
+ name?: string;
3092
+ /** Ordered resolved fill colors for rendering. */
3093
+ fillColors: string[];
3094
+ /** Ordered resolved line colors for rendering. */
3095
+ lineColors: string[];
3096
+ /** Ordered CT_CTStyleLabel metadata. */
3097
+ labels?: PptxSmartArtColorStyleLabel[];
3098
+ }
3099
+ /** Typed CT_StyleDefinition metadata and legacy rendering hint. */
3100
+ interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
3101
+ /** Legacy resolved display name. */
3102
+ name?: string;
3103
+ /** Legacy effect-intensity rendering hint. */
3104
+ effectIntensity?: string;
3105
+ /** Ordered CT_StyleLabel metadata. Complex style payload remains preserved XML. */
3106
+ labels?: PptxSmartArtQuickStyleLabel[];
3107
+ }
3108
+
2904
3109
  /**
2905
3110
  * SmartArt types: layout categories, layout presets, colour schemes,
2906
3111
  * data-model nodes/connections, drawing shapes, chrome, and the composite
@@ -2963,6 +3168,8 @@ type SmartArtStyle = 'flat' | 'moderate' | 'intense';
2963
3168
  * ```
2964
3169
  */
2965
3170
  interface PptxSmartArtConnection {
3171
+ /** Stable CT_Cxn model identifier. Required when serialized. */
3172
+ modelId?: string | null;
2966
3173
  /** Model ID of the source node. */
2967
3174
  sourceId: string;
2968
3175
  /** Model ID of the destination node. */
@@ -2973,6 +3180,12 @@ interface PptxSmartArtConnection {
2973
3180
  srcOrd?: number;
2974
3181
  /** Destination index for ordering. */
2975
3182
  destOrd?: number;
3183
+ /** Model ID of the parent transition point associated with this edge. */
3184
+ parentTransitionId?: string | null;
3185
+ /** Model ID of the sibling transition point associated with this edge. */
3186
+ siblingTransitionId?: string | null;
3187
+ /** Layout presentation identifier used by presentation connections. */
3188
+ presentationId?: string | null;
2976
3189
  }
2977
3190
  /**
2978
3191
  * A pre-computed shape from `ppt/diagrams/drawing*.xml`.
@@ -3039,45 +3252,6 @@ interface PptxSmartArtChrome {
3039
3252
  /** Outline stroke width in points. */
3040
3253
  outlineWidth?: number;
3041
3254
  }
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
3255
  /**
3082
3256
  * Complete parsed SmartArt data for a {@link SmartArtPptxElement}.
3083
3257
  *
@@ -3117,14 +3291,28 @@ interface PptxSmartArtData {
3117
3291
  colorTransform?: PptxSmartArtColorTransform;
3118
3292
  /** Quick style from `ppt/diagrams/quickStyles*.xml`. */
3119
3293
  quickStyle?: PptxSmartArtQuickStyle;
3294
+ /** Editable metadata from the related DiagramML layout definition. */
3295
+ layoutDefinition?: PptxSmartArtLayoutDefinition;
3120
3296
  /** Relationship ID for the diagram data part (for round-trip save). */
3121
3297
  dataRelId?: string;
3298
+ /** Relationship ID for the diagram layout part. */
3299
+ layoutRelId?: string;
3122
3300
  /** Relationship ID for the drawing part. */
3123
3301
  drawingRelId?: string;
3124
3302
  /** Relationship ID for the colours part. */
3125
3303
  colorsRelId?: string;
3126
3304
  /** Relationship ID for the quick-styles part. */
3127
3305
  styleRelId?: string;
3306
+ /** Internal save hint: the layout definition changed in the editor. */
3307
+ layoutDirty?: boolean;
3308
+ /** Internal save hint: typed layout-definition metadata changed. */
3309
+ layoutDefinitionDirty?: boolean;
3310
+ /** Internal save hint: quick-style definition metadata changed. */
3311
+ quickStyleDirty?: boolean;
3312
+ /** Internal save hint: color-transform definition metadata changed. */
3313
+ colorTransformDirty?: boolean;
3314
+ /** Internal save hint: cached drawing geometry or text changed in the editor. */
3315
+ drawingDirty?: boolean;
3128
3316
  }
3129
3317
 
3130
3318
  /**
@@ -3733,6 +3921,11 @@ interface MediaPptxElement extends PptxElementBase {
3733
3921
  mediaPath?: string;
3734
3922
  mediaData?: string;
3735
3923
  mediaMimeType?: string;
3924
+ mediaReferenceKind?: PptxMediaReferenceKind;
3925
+ mediaReferenceName?: string;
3926
+ audioCdStart?: PptxAudioCdPosition;
3927
+ audioCdEnd?: PptxAudioCdPosition;
3928
+ rawMediaReferenceXml?: XmlObject;
3736
3929
  /** Trim start in milliseconds (from p:cMediaNode p:cTn @st). */
3737
3930
  trimStartMs?: number;
3738
3931
  /** Trim end in milliseconds (from p:cMediaNode p:cTn @end). */
@@ -4173,6 +4366,44 @@ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevi
4173
4366
  * is preserved alongside other animations.
4174
4367
  */
4175
4368
  type PptxNativeAnimationKind = 'media';
4369
+ /** A target selected by `p:tgtEl` in the PresentationML timing model. */
4370
+ type PptxAnimationTarget = {
4371
+ type: 'shape';
4372
+ shapeId: string;
4373
+ rawXml?: XmlObject;
4374
+ } | {
4375
+ type: 'slide';
4376
+ rawXml?: XmlObject;
4377
+ } | {
4378
+ type: 'sound';
4379
+ relationshipId: string;
4380
+ name?: string;
4381
+ rawXml?: XmlObject;
4382
+ } | {
4383
+ type: 'ink';
4384
+ shapeId: string;
4385
+ rawXml?: XmlObject;
4386
+ } | {
4387
+ type: 'unknown';
4388
+ rawXml: XmlObject;
4389
+ };
4390
+ /** Nested build choice carried by `p:bldGraphic`. */
4391
+ type PptxGraphicBuild = {
4392
+ mode: 'asOne';
4393
+ rawXml?: XmlObject;
4394
+ } | {
4395
+ mode: 'sub';
4396
+ kind: 'diagram';
4397
+ build: string;
4398
+ reverse: boolean;
4399
+ rawXml?: XmlObject;
4400
+ } | {
4401
+ mode: 'sub';
4402
+ kind: 'chart';
4403
+ build: string;
4404
+ animateBackground: boolean;
4405
+ rawXml?: XmlObject;
4406
+ };
4176
4407
  /**
4177
4408
  * Parsed native animation record from `p:timing / p:tnLst`.
4178
4409
  *
@@ -4194,6 +4425,8 @@ type PptxNativeAnimationKind = 'media';
4194
4425
  interface PptxNativeAnimation {
4195
4426
  /** Target element/shape ID. */
4196
4427
  targetId?: string;
4428
+ /** Full timing target, including sound and ink target variants. */
4429
+ target?: PptxAnimationTarget;
4197
4430
  /** Trigger type. */
4198
4431
  trigger?: PptxAnimationTrigger;
4199
4432
  /** Shape ID that triggers this animation when clicked (interactive sequence). */
@@ -4298,6 +4531,8 @@ interface PptxNativeAnimation {
4298
4531
  * that aren't OLE charts).
4299
4532
  */
4300
4533
  graphicBuild?: string;
4534
+ /** Schema-accurate `p:bldGraphic/p:bldAsOne|p:bldSub` representation. */
4535
+ graphicBuildProperties?: PptxGraphicBuild;
4301
4536
  /**
4302
4537
  * Opaque map of `p:cTn` attributes that don't have a typed home on this
4303
4538
  * interface but must round-trip through parse → save. Keys are stored
@@ -4414,6 +4649,8 @@ interface AnimationCondition {
4414
4649
  targetShapeId?: string;
4415
4650
  /** Whether the condition targets a slide (from `p:tgtEl/p:sldTgt`). */
4416
4651
  targetSlide?: boolean;
4652
+ /** Full target choice, including `p:sndTgt` and `p:inkTgt`. */
4653
+ target?: PptxAnimationTarget;
4417
4654
  }
4418
4655
  /** Iteration configuration from `p:iterate`. */
4419
4656
  interface PptxAnimationIterate {
@@ -4498,6 +4735,7 @@ interface PptxElementAnimation {
4498
4735
  *
4499
4736
  * @module pptx-types/metadata
4500
4737
  */
4738
+
4501
4739
  /**
4502
4740
  * A slide comment — may be a legacy positional comment or a modern
4503
4741
  * threaded comment with replies.
@@ -4517,6 +4755,10 @@ interface PptxElementAnimation {
4517
4755
  interface PptxComment {
4518
4756
  id: string;
4519
4757
  text: string;
4758
+ /** Storage vocabulary used by this comment. Omitted means legacy PresentationML. */
4759
+ format?: 'legacy' | 'modern';
4760
+ /** Stable GUID author identifier used by Office 2021 modern comments. */
4761
+ authorId?: string;
4520
4762
  /** Optional parent comment id for reply threading metadata. */
4521
4763
  parentId?: string;
4522
4764
  author?: string;
@@ -4525,12 +4767,35 @@ interface PptxComment {
4525
4767
  y?: number;
4526
4768
  /** Whether this comment has been resolved/marked done. */
4527
4769
  resolved?: boolean;
4770
+ /** Native p188 status token. */
4771
+ status?: 'active' | 'resolved' | 'closed';
4772
+ /** Modern comment classification tags and author IDs that liked the comment. */
4773
+ tags?: string[];
4774
+ likes?: string[];
4775
+ startDate?: string;
4776
+ dueDate?: string;
4777
+ assignedTo?: string[];
4778
+ /** Task completion in thousandths of a percent, from 0 through 100000. */
4779
+ complete?: number;
4780
+ priority?: number;
4781
+ title?: string;
4528
4782
  /** Modern threaded comment support (p15:threadingInfo). */
4529
4783
  threadId?: string;
4530
4784
  /** Replies to this comment (for modern threaded comments). */
4531
4785
  replies?: PptxComment[];
4532
4786
  /** ID of the element this comment is associated with (if any). */
4533
4787
  elementId?: string;
4788
+ /** Original `p:cm` subtree, retained for unknown child and extension preservation. */
4789
+ rawXml?: XmlObject;
4790
+ }
4791
+ /** Office 2021 comment author from the p188 Author part. */
4792
+ interface PptxModernCommentAuthor {
4793
+ id: string;
4794
+ name: string;
4795
+ initials?: string;
4796
+ userId: string;
4797
+ providerId: string;
4798
+ rawXml?: XmlObject;
4534
4799
  }
4535
4800
  /**
4536
4801
  * A comment author from `ppt/commentAuthors.xml`.
@@ -4563,6 +4828,8 @@ interface PptxCommentAuthor {
4563
4828
  lastIdx: number;
4564
4829
  /** Colour index assigned to this author (`@_clrIdx`). */
4565
4830
  clrIdx: number;
4831
+ /** Original `p:cmAuthor` subtree, retained for unknown attribute preservation. */
4832
+ rawXml?: XmlObject;
4566
4833
  }
4567
4834
  /**
4568
4835
  * A compatibility warning generated during parse or save when the
@@ -5058,6 +5325,8 @@ type PptxStripDirection = 'lu' | 'ld' | 'ru' | 'rd';
5058
5325
  type PptxSplitOrientation = 'horz' | 'vert';
5059
5326
  /** Split in/out direction from OOXML `@_dir`. */
5060
5327
  type PptxSplitDirection = 'in' | 'out';
5328
+ /** Schema-defined `ST_TransitionSpeed` values. */
5329
+ type PptxTransitionSpeed = 'slow' | 'med' | 'fast';
5061
5330
  /** Valid direction sets per transition type. */
5062
5331
  declare const TRANSITION_VALID_DIRECTIONS: Readonly<Partial<Record<PptxTransitionType, readonly string[]>>>;
5063
5332
  /**
@@ -5076,6 +5345,8 @@ declare const TRANSITION_VALID_DIRECTIONS: Readonly<Partial<Record<PptxTransitio
5076
5345
  */
5077
5346
  interface PptxSlideTransition {
5078
5347
  type: PptxTransitionType;
5348
+ /** Schema-defined transition speed. Defaults to `fast` when omitted. */
5349
+ speed?: PptxTransitionSpeed;
5079
5350
  durationMs?: number;
5080
5351
  direction?: string;
5081
5352
  advanceOnClick?: boolean;
@@ -5090,6 +5361,10 @@ interface PptxSlideTransition {
5090
5361
  orient?: PptxSplitOrientation;
5091
5362
  /** Relationship ID of transition sound from `p:sndAc/p:stSnd/@r:embed` when present. */
5092
5363
  soundRId?: string;
5364
+ /** Embedded WAV display name from `p:stSnd/p:snd/@name`. */
5365
+ soundName?: string;
5366
+ /** Whether the transition sound repeats until another sound starts. */
5367
+ soundLoop?: boolean;
5093
5368
  /** Resolved transition sound media path within the package. */
5094
5369
  soundPath?: string;
5095
5370
  /** Human-readable sound file name (extracted from soundPath). */
@@ -5103,6 +5378,8 @@ interface PptxSlideTransition {
5103
5378
  rawSoundAction?: XmlObject;
5104
5379
  /** Preserved extension-list XML node from `p:extLst` within the transition for lossless round-trip. */
5105
5380
  rawExtLst?: XmlObject;
5381
+ /** Original transition node, retained to preserve unknown attributes and children. */
5382
+ rawTransition?: XmlObject;
5106
5383
  }
5107
5384
 
5108
5385
  /**
@@ -5342,6 +5619,8 @@ interface PptxSlide {
5342
5619
  /** Optional `<p:cSld @name>` value of the notes slide, for round-trip. */
5343
5620
  notesCSldName?: string;
5344
5621
  comments?: PptxComment[];
5622
+ /** Source package metadata for an Office 2021 p188 comment part. */
5623
+ modernCommentPart?: PptxModernCommentPart;
5345
5624
  warnings?: PptxCompatibilityWarning[];
5346
5625
  rawXml?: XmlObject;
5347
5626
  /** Per-slide colour map override parsed from `p:clrMapOvr`. */
@@ -5360,6 +5639,24 @@ interface PptxSlide {
5360
5639
  activeXControls?: PptxActiveXControl[];
5361
5640
  /** Per-slide header/footer flags from `<p:hf>` (P-H3). */
5362
5641
  headerFooterFlags?: PptxHeaderFooterFlags;
5642
+ /** Server-backed slide synchronization metadata stored in a related OPC part. */
5643
+ slideSynchronization?: PptxSlideSyncProperties;
5644
+ }
5645
+ interface PptxModernCommentPart {
5646
+ path: string;
5647
+ relationshipId: string;
5648
+ /** Original p188:cmLst root, including unknown attributes and extensions. */
5649
+ rawXml?: XmlObject;
5650
+ }
5651
+ /** Metadata from a `p:sldSyncPr` slide synchronization data part. */
5652
+ interface PptxSlideSyncProperties {
5653
+ serverSlideId: string;
5654
+ serverSlideModifiedTime: string;
5655
+ clientInsertedTime: string;
5656
+ extensionList?: XmlObject;
5657
+ rawXml?: XmlObject;
5658
+ partPath?: string;
5659
+ relationshipId?: string;
5363
5660
  }
5364
5661
  /**
5365
5662
  * A slide layout available in the loaded presentation.
@@ -5487,6 +5784,8 @@ interface PptxCustomShow {
5487
5784
  id: string;
5488
5785
  /** Ordered list of slide relationship IDs included in this custom show. */
5489
5786
  slideRIds: string[];
5787
+ /** Original `p:custShow` subtree used to preserve unmodelled attributes and extensions. */
5788
+ rawXml?: XmlObject;
5490
5789
  }
5491
5790
  /**
5492
5791
  * An ordered section in the presentation (from `p:sectionLst` / `p14:sectionLst`).
@@ -5515,6 +5814,8 @@ interface PptxSection {
5515
5814
  collapsed?: boolean;
5516
5815
  /** Section highlight color hex (from p15:sectionPr/@clr). */
5517
5816
  color?: string;
5817
+ /** Original section subtree used to preserve unmodelled attributes and extensions. */
5818
+ rawXml?: XmlObject;
5518
5819
  }
5519
5820
  /**
5520
5821
  * Write-protection hash data parsed from `p:modifyVerifier` in `presentation.xml`.
@@ -5678,6 +5979,8 @@ interface PptxData {
5678
5979
  thumbnailData?: Uint8Array;
5679
5980
  /** Comment authors parsed from `ppt/commentAuthors.xml` for round-trip preservation. */
5680
5981
  commentAuthors?: PptxCommentAuthor[];
5982
+ /** Office 2021 p188 authors from the modern Author part. */
5983
+ modernCommentAuthors?: PptxModernCommentAuthor[];
5681
5984
  /**
5682
5985
  * OOXML conformance class of the loaded file.
5683
5986
  * - `'strict'` -- ISO/IEC 29500 Strict (uses `purl.oclc.org` namespace URIs)
@@ -5794,4 +6097,4 @@ interface PptxEmbeddedFont {
5794
6097
  originalPartBytes?: Uint8Array;
5795
6098
  }
5796
6099
 
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 };
6100
+ export { type PptxActiveXControl 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 PptxMediaReferenceKind as M, type PptxThemeFormatScheme as N, type TextSegment as O, type PptxSlide as P, type PptxComment as Q, type PptxModernCommentPart as R, type ShapePptxElement as S, type TextPptxElement as T, type PptxSlideBackgroundPattern as U, type PptxSlideTransition as V, type PptxElementAnimation as W, type XmlObject as X, type PptxNativeAnimation as Y, type ZoomPptxElement as Z, type PptxCustomerData as _, type PptxElement as a, type AdjustHandlePolar as a$, type AnimationCondition as a0, type PptxGraphicBuild as a1, type PptxAnimationTarget as a2, type ShapeStyle as a3, type TextStyle as a4, type ElementAction as a5, type PptxAction as a6, type OleObjectType as a7, type PptxSmartArtNode as a8, type SmartArtLayoutType as a9, type PptxCommentAuthor as aA, type PptxTableData as aB, type PptxTheme as aC, type PptxThemeOption as aD, type PptxModernCommentAuthor as aE, type PlaceholderDefaults as aF, type PptxMasterTextStyles as aG, type PptxThemeObjectDefaults as aH, type ParsedTableStyleFill as aI, type ParsedTableBackground as aJ, type ParsedTableStyleText as aK, type PptxImageEffects as aL, type MediaBookmark as aM, type PptxChartStyle as aN, type TablePptxElement as aO, type ChartPptxElement as aP, type OlePptxElement as aQ, type GroupPptxElement as aR, type PlaceholderTextLevelStyle as aS, type PptxChartOfPieOptions as aT, type PptxChartView3D as aU, type PptxChartChrome as aV, type PptxChartSeries as aW, type SmartArtPptxElement as aX, type GeometryAdjustmentHandle as aY, type CustomGeometryRawData as aZ, type AdjustHandleXY as a_, type PptxSmartArtDrawingShape as aa, type PptxSmartArtNodeStyle as ab, type PptxChartDataTable as ac, type PptxChartLineStyle as ad, type PptxChartErrBars as ae, type PptxChartTrendline as af, type PptxChartDataLabel as ag, type PptxChartMarker as ah, type PptxChartDataPoint as ai, type PptxChartShapeProps as aj, type PptxChart3DSurface as ak, type PptxChartAxisFormatting as al, type PptxEmbeddedWorkbookData as am, type PptxDrawingGuide as an, type PptxSmartArtLayoutDefinition as ao, type PptxSmartArtColorStyleLabel as ap, type PptxSmartArtDefinitionMetadata as aq, type PptxSmartArtQuickStyleLabel as ar, type PptxTableCellStyle as as, type PptxChartLayouts as at, type PptxChartManualLayout as au, type PptxBubbleChartOptions as av, type PptxChartUpDownBars as aw, type PptxAudioCdPosition as ax, type MediaPptxElement as ay, type PptxCustomXmlPart as az, type PptxElementWithShapeStyle as b, type PptxChartTrendlineLabel as b$, type ConnectionSite as b0, type CustomGeometryTextRect as b1, type CustomGeometryPath as b2, type BulletInfo as b3, type PptxShapeLocks as b4, type PptxTextStyleLevels as b5, type PptxThemeFillStyle as b6, type PptxThemeLineStyle as b7, type PptxThemeEffectStyle as b8, type PptxSmartArtTextRun as b9, type ElementActionType as bA, type MasterViewTab as bB, type MaterialPresetType as bC, type MediaCaptionTrack as bD, type MediaMetadata as bE, type Model3DPptxElement as bF, type ParsedTableStyleEntry as bG, type PicturePptxElement as bH, type Pptx3DScene as bI, type Pptx3DShape as bJ, type PptxAfterAnimationAction as bK, type PptxAnimationDirection as bL, type PptxAnimationIterate as bM, type PptxAnimationKeyframe as bN, type PptxAnimationRepeatMode as bO, type PptxAnimationSequence as bP, type PptxAnimationTimingCurve as bQ, type PptxChartAxisLabelFormatting as bR, type PptxChartAxisNumFmt as bS, type PptxChartDataLabelPosition as bT, type PptxChartDisplayUnitsLabel as bU, type PptxChartErrBarDir as bV, type PptxChartErrBarType as bW, type PptxChartErrValType as bX, type PptxChartLegendEntry as bY, type PptxChartLegendTextStyle as bZ, type PptxChartTickMark as b_, type PptxSmartArtChrome as ba, type PptxSmartArtColorTransform as bb, type PptxSmartArtConnection as bc, type PptxSmartArtQuickStyle as bd, type PptxExternalData as be, type CustomGeometryPoint as bf, type ImagePptxElement as bg, type PptxChartDataLabelOptions as bh, type PptxChartMarkerSymbol as bi, type ActionButtonPreset as bj, type AnimationConditionEvent as bk, type BevelPresetType as bl, type ConnectorConnectionPoint as bm, type ContentPartInkStroke as bn, type ContentPartPptxElement as bo, type CustomGeometrySegment as bp, type EffectDagBlend as bq, type EffectDagBlendMode as br, type EffectDagBlur as bs, type EffectDagContainer as bt, type EffectDagContainerType as bu, type EffectDagNode as bv, type EffectDagPresetShadow as bw, type EffectDagRawLeaf as bx, type EffectDagRelOff as by, type EffectDagXfrm as bz, type PptxElementWithText as c, type PptxChartTrendlineType as c0, type PptxColorAnimation as c1, type PptxCommonSlideViewProperties as c2, type PptxCropShape as c3, type PptxCustomPathProperties as c4, type PptxElementBase as c5, type PptxElementType as c6, type PptxExportFormat as c7, type PptxGraphicFrameExtension as c8, type PptxHeaderFooterFlags as c9, type PptxTransitionDirection4 as cA, type PptxTransitionDirection8 as cB, type PptxTransitionSpeed as cC, type PptxViewOrigin as cD, type PptxViewScale as cE, type ShadowEffect as cF, type SmartArtColorScheme as cG, type SmartArtLayout as cH, type SmartArtStyle as cI, THEME_COLOR_SCHEME_KEYS as cJ, TRANSITION_VALID_DIRECTIONS as cK, type Text3DStyle as cL, type UnderlineStyle as cM, type UnknownPptxElement as cN, type PptxImageProperties as ca, type PptxMediaType as cb, type PptxNativeAnimationKind as cc, type PptxNormalViewProperties as cd, type PptxRestoredRegion as ce, type PptxShapeProperties as cf, type PptxSlideSyncProperties as cg, type PptxSmartArtColorApplicationMethod as ch, type PptxSmartArtColorListMetadata as ci, type PptxSmartArtDefinitionCategory as cj, type PptxSmartArtDefinitionText as ck, type PptxSmartArtHueDirection as cl, type PptxSmartArtLayoutCategory as cm, type PptxSmartArtLayoutNode as cn, type PptxSmartArtLocalizedText as co, type PptxSplitDirection as cp, type PptxSplitOrientation as cq, type PptxStripDirection as cr, type PptxTableCell as cs, type PptxTableRow as ct, type PptxTag as cu, type PptxTextAnimationTarget as cv, type PptxTextBuildType as cw, type PptxTextProperties as cx, type PptxTextWarpPreset as cy, type PptxThemeFontGroup as cz, 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 };