pptx-react-viewer 1.17.1 → 1.19.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.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/dist/{Model3DScene-YA4F63DT.js → Model3DScene-CQP7JLKK.js} +3 -3
- package/dist/Model3DScene-CQP7JLKK.js.br +0 -0
- package/dist/Model3DScene-CQP7JLKK.js.gz +0 -0
- package/dist/{Model3DScene-QHDYQXL2.mjs → Model3DScene-J2KBVMEZ.mjs} +2 -2
- package/dist/Model3DScene-J2KBVMEZ.mjs.br +0 -0
- package/dist/Model3DScene-J2KBVMEZ.mjs.gz +0 -0
- package/dist/PowerPointViewer-C4d7SKZf.d.ts.map +1 -1
- package/dist/{SurfaceChart3DScene-GUAS2NWQ.mjs → SurfaceChart3DScene-52VUVZSC.mjs} +2 -2
- package/dist/SurfaceChart3DScene-52VUVZSC.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-52VUVZSC.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-TGNJHTJQ.js → SurfaceChart3DScene-U6LVKSKR.js} +3 -3
- package/dist/SurfaceChart3DScene-U6LVKSKR.js.br +0 -0
- package/dist/SurfaceChart3DScene-U6LVKSKR.js.gz +0 -0
- package/dist/{chunk-XRYREYXC.mjs → chunk-3ZGCM6RC.mjs} +39271 -20532
- package/dist/chunk-3ZGCM6RC.mjs.br +0 -0
- package/dist/chunk-3ZGCM6RC.mjs.gz +0 -0
- package/dist/{chunk-IZXN663G.js → chunk-AALZCSY4.js} +7 -0
- package/dist/chunk-AALZCSY4.js.br +0 -0
- package/dist/chunk-AALZCSY4.js.gz +0 -0
- package/dist/{chunk-MGLRKGCH.js → chunk-AD3EAEY6.js} +39323 -20531
- package/dist/chunk-AD3EAEY6.js.br +0 -0
- package/dist/chunk-AD3EAEY6.js.gz +0 -0
- package/dist/{chunk-WH7YXV3I.js → chunk-DBZLZMED.js} +24152 -23261
- package/dist/chunk-DBZLZMED.js.br +0 -0
- package/dist/chunk-DBZLZMED.js.gz +0 -0
- package/dist/{chunk-JWS3RQKN.js → chunk-P3T4E6JQ.js} +3573 -907
- package/dist/chunk-P3T4E6JQ.js.br +0 -0
- package/dist/chunk-P3T4E6JQ.js.gz +0 -0
- package/dist/{chunk-G22EWPLH.mjs → chunk-R7FTNSSP.mjs} +3498 -882
- package/dist/chunk-R7FTNSSP.mjs.br +0 -0
- package/dist/chunk-R7FTNSSP.mjs.gz +0 -0
- package/dist/{chunk-5CD34U2V.mjs → chunk-RIRK64DM.mjs} +7 -0
- package/dist/chunk-RIRK64DM.mjs.br +0 -0
- package/dist/chunk-RIRK64DM.mjs.gz +0 -0
- package/dist/{chunk-PCQH2UBR.mjs → chunk-SLJXGFZS.mjs} +24109 -23218
- package/dist/chunk-SLJXGFZS.mjs.br +0 -0
- package/dist/chunk-SLJXGFZS.mjs.gz +0 -0
- package/dist/{chunk-HN7CPQUG.mjs → chunk-XGTMHQR7.mjs} +244 -785
- package/dist/chunk-XGTMHQR7.mjs.br +0 -0
- package/dist/chunk-XGTMHQR7.mjs.gz +0 -0
- package/dist/{chunk-SXCO5HHN.js → chunk-YF6JD4DO.js} +679 -1231
- package/dist/chunk-YF6JD4DO.js.br +0 -0
- package/dist/chunk-YF6JD4DO.js.gz +0 -0
- package/dist/dist-3YRZ26TL.mjs +2 -0
- package/dist/dist-3YRZ26TL.mjs.br +0 -0
- package/dist/dist-3YRZ26TL.mjs.gz +0 -0
- package/dist/{dist-2ZAH7U6U.js → dist-M2P6HBG4.js} +719 -507
- package/dist/dist-M2P6HBG4.js.br +0 -0
- package/dist/dist-M2P6HBG4.js.gz +0 -0
- package/dist/hooks-unstable.d.ts +1006 -165
- package/dist/hooks-unstable.d.ts.map +1 -1
- package/dist/hooks-unstable.js +78 -78
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs +4 -4
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/i18n.js +3 -3
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/{index-XGt7MZpa.d.ts → index-DmHVR48M.d.ts} +25 -3
- package/dist/index-DmHVR48M.d.ts.map +1 -0
- package/dist/index.d.ts +828 -137
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -19
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.d.ts +946 -147
- package/dist/viewer/index.d.ts.map +1 -1
- package/dist/viewer/index.js +24 -20
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -5
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/Model3DScene-QHDYQXL2.mjs.br +0 -0
- package/dist/Model3DScene-QHDYQXL2.mjs.gz +0 -0
- package/dist/Model3DScene-YA4F63DT.js.br +0 -0
- package/dist/Model3DScene-YA4F63DT.js.gz +0 -0
- package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-TGNJHTJQ.js.br +0 -0
- package/dist/SurfaceChart3DScene-TGNJHTJQ.js.gz +0 -0
- package/dist/chunk-5CD34U2V.mjs.br +0 -0
- package/dist/chunk-5CD34U2V.mjs.gz +0 -0
- package/dist/chunk-G22EWPLH.mjs.br +0 -0
- package/dist/chunk-G22EWPLH.mjs.gz +0 -0
- package/dist/chunk-HN7CPQUG.mjs.br +0 -0
- package/dist/chunk-HN7CPQUG.mjs.gz +0 -0
- package/dist/chunk-IZXN663G.js.br +0 -0
- package/dist/chunk-IZXN663G.js.gz +0 -0
- package/dist/chunk-JWS3RQKN.js.br +0 -0
- package/dist/chunk-JWS3RQKN.js.gz +0 -0
- package/dist/chunk-MGLRKGCH.js.br +0 -0
- package/dist/chunk-MGLRKGCH.js.gz +0 -0
- package/dist/chunk-PCQH2UBR.mjs.br +0 -0
- package/dist/chunk-PCQH2UBR.mjs.gz +0 -0
- package/dist/chunk-SXCO5HHN.js.br +0 -0
- package/dist/chunk-SXCO5HHN.js.gz +0 -0
- package/dist/chunk-WH7YXV3I.js.br +0 -0
- package/dist/chunk-WH7YXV3I.js.gz +0 -0
- package/dist/chunk-XRYREYXC.mjs.br +0 -0
- package/dist/chunk-XRYREYXC.mjs.gz +0 -0
- package/dist/dist-2ZAH7U6U.js.br +0 -0
- package/dist/dist-2ZAH7U6U.js.gz +0 -0
- package/dist/dist-MXDC6YTS.mjs +0 -2
- package/dist/dist-MXDC6YTS.mjs.br +0 -0
- package/dist/dist-MXDC6YTS.mjs.gz +0 -0
- package/dist/index-XGt7MZpa.d.ts.map +0 -1
package/dist/hooks-unstable.d.ts
CHANGED
|
@@ -359,6 +359,8 @@ interface CustomGeometryPath {
|
|
|
359
359
|
* and the text rectangle are not lost when a custGeom is edited and saved.
|
|
360
360
|
*/
|
|
361
361
|
interface CustomGeometryRawData {
|
|
362
|
+
/** Raw `a:avLst` XML content (adjustment value list). */
|
|
363
|
+
avLstXml?: unknown;
|
|
362
364
|
/** Raw `a:gdLst` XML content (guide list). */
|
|
363
365
|
gdLstXml?: unknown;
|
|
364
366
|
/** Raw `a:ahLst` XML content (adjustment handles). */
|
|
@@ -499,7 +501,7 @@ interface PptxCustomPathProperties {
|
|
|
499
501
|
pathHeight?: number;
|
|
500
502
|
/** Structured custom geometry paths for editing (maps to a:custGeom/a:pathLst). */
|
|
501
503
|
customGeometryPaths?: CustomGeometryPath[];
|
|
502
|
-
/** Raw
|
|
504
|
+
/** Raw adjustment/guide/handle/connection/text-rectangle XML preserved for serialization. */
|
|
503
505
|
customGeometryRawData?: CustomGeometryRawData;
|
|
504
506
|
/**
|
|
505
507
|
* Typed XY adjustment handles parsed from `a:custGeom/a:ahLst/a:ahXY`.
|
|
@@ -599,6 +601,10 @@ interface Text3DStyle {
|
|
|
599
601
|
interface Pptx3DScene {
|
|
600
602
|
/** Camera preset type, e.g. "orthographicFront", "perspectiveFront". */
|
|
601
603
|
cameraPreset?: string;
|
|
604
|
+
/** Camera field of view in 1/60000 degrees (`a:camera/@fov`). */
|
|
605
|
+
cameraFieldOfView?: number;
|
|
606
|
+
/** Camera zoom as an OOXML percentage fraction (`a:camera/@zoom`, 1 = 100%). */
|
|
607
|
+
cameraZoom?: number;
|
|
602
608
|
/** Camera rotation around X axis in 1/60000 degrees. */
|
|
603
609
|
cameraRotX?: number;
|
|
604
610
|
/** Camera rotation around Y axis in 1/60000 degrees. */
|
|
@@ -609,6 +615,12 @@ interface Pptx3DScene {
|
|
|
609
615
|
lightRigType?: string;
|
|
610
616
|
/** Light rig direction, e.g. "t", "b", "l", "r", "tl". */
|
|
611
617
|
lightRigDirection?: string;
|
|
618
|
+
/** Light-rig rotation latitude in 1/60000 degrees. */
|
|
619
|
+
lightRigRotX?: number;
|
|
620
|
+
/** Light-rig rotation longitude in 1/60000 degrees. */
|
|
621
|
+
lightRigRotY?: number;
|
|
622
|
+
/** Light-rig rotation revolution in 1/60000 degrees. */
|
|
623
|
+
lightRigRotZ?: number;
|
|
612
624
|
/** Whether a 3D backdrop plane is present (`a:backdrop`). */
|
|
613
625
|
hasBackdrop?: boolean;
|
|
614
626
|
/** Backdrop plane anchor X in EMU. */
|
|
@@ -617,6 +629,18 @@ interface Pptx3DScene {
|
|
|
617
629
|
backdropAnchorY?: number;
|
|
618
630
|
/** Backdrop plane anchor Z in EMU. */
|
|
619
631
|
backdropAnchorZ?: number;
|
|
632
|
+
/** Backdrop normal vector X component. */
|
|
633
|
+
backdropNormalX?: number;
|
|
634
|
+
/** Backdrop normal vector Y component. */
|
|
635
|
+
backdropNormalY?: number;
|
|
636
|
+
/** Backdrop normal vector Z component. */
|
|
637
|
+
backdropNormalZ?: number;
|
|
638
|
+
/** Backdrop up vector X component. */
|
|
639
|
+
backdropUpX?: number;
|
|
640
|
+
/** Backdrop up vector Y component. */
|
|
641
|
+
backdropUpY?: number;
|
|
642
|
+
/** Backdrop up vector Z component. */
|
|
643
|
+
backdropUpZ?: number;
|
|
620
644
|
}
|
|
621
645
|
/**
|
|
622
646
|
* 3D shape extrusion/bevel from `a:sp3d`.
|
|
@@ -688,6 +712,12 @@ type PptxTextWarpPreset = 'textNoShape' | 'textPlain' | 'textStop' | 'textTriang
|
|
|
688
712
|
* @module pptx-types/shape-style
|
|
689
713
|
*/
|
|
690
714
|
|
|
715
|
+
interface PptxCustomDashSegment {
|
|
716
|
+
/** Dash length as a non-negative percentage in thousandths of one percent. */
|
|
717
|
+
dash: number;
|
|
718
|
+
/** Space length as a non-negative percentage in thousandths of one percent. */
|
|
719
|
+
space: number;
|
|
720
|
+
}
|
|
691
721
|
/**
|
|
692
722
|
* Comprehensive visual style for a shape, connector, or image element.
|
|
693
723
|
*
|
|
@@ -736,9 +766,13 @@ interface ShapeStyle {
|
|
|
736
766
|
*/
|
|
737
767
|
fillColorXml?: XmlObject;
|
|
738
768
|
fillGradient?: string;
|
|
769
|
+
/** Original `gradFill` XML retained for unknown-child and extension round-tripping. */
|
|
770
|
+
fillGradientXml?: XmlObject;
|
|
739
771
|
fillMode?: 'solid' | 'gradient' | 'pattern' | 'none' | 'image' | 'theme' | 'group';
|
|
740
772
|
fillPatternPreset?: string;
|
|
741
773
|
fillPatternBackgroundColor?: string;
|
|
774
|
+
/** Original `pattFill` XML retained for unknown-child round-tripping. */
|
|
775
|
+
fillPatternXml?: XmlObject;
|
|
742
776
|
/** Raw XML node for pattern fill foreground colour (preserves color transforms). */
|
|
743
777
|
fillPatternFgClrXml?: XmlObject;
|
|
744
778
|
/** Raw XML node for pattern fill background colour (preserves color transforms). */
|
|
@@ -804,6 +838,14 @@ interface ShapeStyle {
|
|
|
804
838
|
/** Pen line alignment (`a:ln/@algn`): `ctr` (centre, default) or `in` (inside). */
|
|
805
839
|
lineAlignment?: 'ctr' | 'in';
|
|
806
840
|
shadowColor?: string;
|
|
841
|
+
/** Preserved source `a:effectLst`, including unknown effects and extensions. */
|
|
842
|
+
effectListXml?: XmlObject;
|
|
843
|
+
/** Original outer-shadow node used for lossless surgical updates. */
|
|
844
|
+
outerShadowXml?: XmlObject;
|
|
845
|
+
/** Resolved source shadow colour used to detect colour edits. */
|
|
846
|
+
outerShadowOriginalColor?: string;
|
|
847
|
+
/** Source shadow opacity used to detect alpha edits. */
|
|
848
|
+
outerShadowOriginalOpacity?: number;
|
|
807
849
|
shadowBlur?: number;
|
|
808
850
|
shadowOffsetX?: number;
|
|
809
851
|
shadowOffsetY?: number;
|
|
@@ -847,11 +889,23 @@ interface ShapeStyle {
|
|
|
847
889
|
/** Multiple shadow layers (for advanced effects). */
|
|
848
890
|
shadows?: ShadowEffect[];
|
|
849
891
|
glowColor?: string;
|
|
892
|
+
/** Original glow node used for lossless surgical updates. */
|
|
893
|
+
glowXml?: XmlObject;
|
|
894
|
+
/** Resolved source glow colour used to detect colour edits. */
|
|
895
|
+
glowOriginalColor?: string;
|
|
896
|
+
/** Source glow opacity used to detect alpha edits. */
|
|
897
|
+
glowOriginalOpacity?: number;
|
|
850
898
|
glowRadius?: number;
|
|
851
899
|
glowOpacity?: number;
|
|
852
900
|
softEdgeRadius?: number;
|
|
853
901
|
/** Inner shadow colour (`a:innerShdw`). */
|
|
854
902
|
innerShadowColor?: string;
|
|
903
|
+
/** Original inner-shadow node used for lossless surgical updates. */
|
|
904
|
+
innerShadowXml?: XmlObject;
|
|
905
|
+
/** Resolved source inner-shadow colour used to detect colour edits. */
|
|
906
|
+
innerShadowOriginalColor?: string;
|
|
907
|
+
/** Source inner-shadow opacity used to detect alpha edits. */
|
|
908
|
+
innerShadowOriginalOpacity?: number;
|
|
855
909
|
/** Inner shadow opacity (0-1). */
|
|
856
910
|
innerShadowOpacity?: number;
|
|
857
911
|
/** Inner shadow blur radius in px. */
|
|
@@ -860,8 +914,12 @@ interface ShapeStyle {
|
|
|
860
914
|
innerShadowOffsetX?: number;
|
|
861
915
|
/** Inner shadow vertical offset in px. */
|
|
862
916
|
innerShadowOffsetY?: number;
|
|
917
|
+
/** Original soft-edge node, including vendor attributes and extensions. */
|
|
918
|
+
softEdgeXml?: XmlObject;
|
|
863
919
|
/** Reflection effect — distance from shape bottom in px. */
|
|
864
920
|
reflectionBlurRadius?: number;
|
|
921
|
+
/** Original reflection node, including vendor attributes and extensions. */
|
|
922
|
+
reflectionXml?: XmlObject;
|
|
865
923
|
/** Reflection start opacity (0-1). */
|
|
866
924
|
reflectionStartOpacity?: number;
|
|
867
925
|
/** Reflection end opacity (0-1). */
|
|
@@ -892,11 +950,12 @@ interface ShapeStyle {
|
|
|
892
950
|
connectorStartConnection?: ConnectorConnectionPoint;
|
|
893
951
|
/** Connection point for the end of a connector. */
|
|
894
952
|
connectorEndConnection?: ConnectorConnectionPoint;
|
|
895
|
-
/** Custom dash
|
|
896
|
-
customDashSegments?:
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
953
|
+
/** Custom dash pattern, measured relative to line width in thousandths of one percent. */
|
|
954
|
+
customDashSegments?: PptxCustomDashSegment[];
|
|
955
|
+
/** Original `a:ds` payloads retained by index for lossless edits. */
|
|
956
|
+
customDashSegmentXml?: XmlObject[];
|
|
957
|
+
/** Original `a:custDash` payload retained for lossless edits. */
|
|
958
|
+
customDashXml?: XmlObject;
|
|
900
959
|
/** 3D scene/camera settings from `a:scene3d`. */
|
|
901
960
|
scene3d?: Pptx3DScene;
|
|
902
961
|
/** 3D shape extrusion/bevel from `a:sp3d`. */
|
|
@@ -1008,6 +1067,8 @@ interface ShapeStyle {
|
|
|
1008
1067
|
* ```
|
|
1009
1068
|
*/
|
|
1010
1069
|
interface TextStyle {
|
|
1070
|
+
/** Original `a:rPr` XML retained by projections that share the shape-text model. */
|
|
1071
|
+
runPropertiesXml?: XmlObject;
|
|
1011
1072
|
fontFamily?: string;
|
|
1012
1073
|
fontSize?: number;
|
|
1013
1074
|
/** When true, renderer should shrink text to fit the shape bounds. */
|
|
@@ -1357,6 +1418,8 @@ interface TextStyle {
|
|
|
1357
1418
|
text3d?: Text3DStyle;
|
|
1358
1419
|
/** 3D scene (camera + light rig) settings on the text body (`a:bodyPr/a:scene3d`). */
|
|
1359
1420
|
textBodyScene3d?: Pptx3DScene;
|
|
1421
|
+
/** Raw `a:scene3d` subtree used to preserve extensions and unmodelled children. */
|
|
1422
|
+
textBodyScene3dXml?: XmlObject;
|
|
1360
1423
|
/**
|
|
1361
1424
|
* Raw `<a:extLst>` subtree captured from `<a:bodyPr>`. Preserved verbatim so
|
|
1362
1425
|
* authored extensions (e.g. content placeholders, custom application data)
|
|
@@ -1733,12 +1796,126 @@ interface PlaceholderTextLevelStyle {
|
|
|
1733
1796
|
spaceAfter?: number;
|
|
1734
1797
|
}
|
|
1735
1798
|
|
|
1799
|
+
/** Tick-mark placement from ChartML `ST_TickMark`. */
|
|
1800
|
+
type PptxChartTickMark = 'cross' | 'in' | 'none' | 'out';
|
|
1801
|
+
/** Typed axis tick and category/date label controls. */
|
|
1802
|
+
interface PptxChartAxisLabelFormatting {
|
|
1803
|
+
/** Primary and secondary tick-mark placement. */
|
|
1804
|
+
majorTickMark?: PptxChartTickMark;
|
|
1805
|
+
minorTickMark?: PptxChartTickMark;
|
|
1806
|
+
/** Tick-label position from ChartML `ST_TickLblPos`. */
|
|
1807
|
+
tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
|
|
1808
|
+
/** Automatic category/date axis behavior (`c:auto`). */
|
|
1809
|
+
auto?: boolean;
|
|
1810
|
+
/** Category-axis label alignment (`c:lblAlgn`). */
|
|
1811
|
+
labelAlignment?: 'ctr' | 'l' | 'r';
|
|
1812
|
+
/** Category/date label distance, from 0 through 1000 percent. */
|
|
1813
|
+
labelOffset?: number;
|
|
1814
|
+
/** Number of category/date labels between rendered labels. */
|
|
1815
|
+
tickLabelSkip?: number;
|
|
1816
|
+
/** Number of category/date tick positions between major tick marks. */
|
|
1817
|
+
tickMarkSkip?: number;
|
|
1818
|
+
/** Suppress multi-level category labels (`c:noMultiLvlLbl`). */
|
|
1819
|
+
noMultiLevelLabels?: boolean;
|
|
1820
|
+
}
|
|
1821
|
+
|
|
1822
|
+
interface PptxChartPivotFormat {
|
|
1823
|
+
index: number;
|
|
1824
|
+
shapePropertiesXml?: XmlObject | null;
|
|
1825
|
+
markerXml?: XmlObject | null;
|
|
1826
|
+
dataLabelXml?: XmlObject | null;
|
|
1827
|
+
extensionListXml?: XmlObject | null;
|
|
1828
|
+
rawXml?: XmlObject;
|
|
1829
|
+
}
|
|
1830
|
+
/** Editable classic ChartML `c:pivotFmts` collection. */
|
|
1831
|
+
interface PptxChartPivotFormats {
|
|
1832
|
+
formats: PptxChartPivotFormat[];
|
|
1833
|
+
rawXml?: XmlObject;
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1836
|
+
/** Editable classic ChartML `c:pivotSource` metadata. */
|
|
1837
|
+
interface PptxChartPivotSource {
|
|
1838
|
+
/** Pivot table reference stored as `c:name` text. */
|
|
1839
|
+
name: string;
|
|
1840
|
+
/** Required unsigned format identifier stored in `c:fmtId/@val`. */
|
|
1841
|
+
formatId: number;
|
|
1842
|
+
/** Internal source subtree used to preserve extensions and foreign markup. */
|
|
1843
|
+
rawXml?: XmlObject;
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1846
|
+
/** Headers and footers used when a classic ChartML chart is printed. */
|
|
1847
|
+
interface PptxChartPrintHeaderFooter {
|
|
1848
|
+
oddHeader?: string;
|
|
1849
|
+
oddFooter?: string;
|
|
1850
|
+
evenHeader?: string;
|
|
1851
|
+
evenFooter?: string;
|
|
1852
|
+
firstHeader?: string;
|
|
1853
|
+
firstFooter?: string;
|
|
1854
|
+
alignWithMargins?: boolean;
|
|
1855
|
+
differentOddEven?: boolean;
|
|
1856
|
+
differentFirst?: boolean;
|
|
1857
|
+
/** Original subtree retained for foreign attributes and extension children. */
|
|
1858
|
+
rawXml?: unknown;
|
|
1859
|
+
}
|
|
1860
|
+
/** Required page margins from ChartML `c:pageMargins`, measured in inches. */
|
|
1861
|
+
interface PptxChartPageMargins {
|
|
1862
|
+
left: number;
|
|
1863
|
+
right: number;
|
|
1864
|
+
top: number;
|
|
1865
|
+
bottom: number;
|
|
1866
|
+
header: number;
|
|
1867
|
+
footer: number;
|
|
1868
|
+
/** Original leaf retained for foreign attributes. */
|
|
1869
|
+
rawXml?: unknown;
|
|
1870
|
+
}
|
|
1871
|
+
/** Printer page configuration from ChartML `c:pageSetup`. */
|
|
1872
|
+
interface PptxChartPageSetup {
|
|
1873
|
+
paperSize?: number;
|
|
1874
|
+
firstPageNumber?: number;
|
|
1875
|
+
orientation?: 'default' | 'portrait' | 'landscape';
|
|
1876
|
+
blackAndWhite?: boolean;
|
|
1877
|
+
draft?: boolean;
|
|
1878
|
+
useFirstPageNumber?: boolean;
|
|
1879
|
+
horizontalDpi?: number;
|
|
1880
|
+
verticalDpi?: number;
|
|
1881
|
+
copies?: number;
|
|
1882
|
+
/** Original leaf retained for foreign attributes. */
|
|
1883
|
+
rawXml?: unknown;
|
|
1884
|
+
}
|
|
1885
|
+
/** Editable `c:printSettings` content from a classic ChartML chart space. */
|
|
1886
|
+
interface PptxChartPrintSettings {
|
|
1887
|
+
headerFooter?: PptxChartPrintHeaderFooter | null;
|
|
1888
|
+
pageMargins?: PptxChartPageMargins | null;
|
|
1889
|
+
pageSetup?: PptxChartPageSetup | null;
|
|
1890
|
+
/** `null` removes the legacy header/footer drawing relationship element. */
|
|
1891
|
+
legacyDrawingHeaderFooterRelationshipId?: string | null;
|
|
1892
|
+
/** Original subtree retained for unknown and extension content. */
|
|
1893
|
+
rawXml?: unknown;
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1896
|
+
/** Editable classic ChartML `c:protection` settings. */
|
|
1897
|
+
interface PptxChartProtection {
|
|
1898
|
+
/** Prevent editing the chart object. */
|
|
1899
|
+
chartObject?: boolean | null;
|
|
1900
|
+
/** Prevent editing the chart data. */
|
|
1901
|
+
data?: boolean | null;
|
|
1902
|
+
/** Prevent editing chart formatting. */
|
|
1903
|
+
formatting?: boolean | null;
|
|
1904
|
+
/** Prevent selecting chart elements. */
|
|
1905
|
+
selection?: boolean | null;
|
|
1906
|
+
/** Prevent chart user-interface operations. */
|
|
1907
|
+
userInterface?: boolean | null;
|
|
1908
|
+
/** Internal source subtree used to preserve foreign markup during edits. */
|
|
1909
|
+
rawXml?: XmlObject;
|
|
1910
|
+
}
|
|
1911
|
+
|
|
1736
1912
|
/**
|
|
1737
1913
|
* Chart types: chart categories, series data, style metadata, data tables,
|
|
1738
1914
|
* trendlines, error bars, and the composite `PptxChartData`.
|
|
1739
1915
|
*
|
|
1740
1916
|
* @module pptx-types/chart
|
|
1741
1917
|
*/
|
|
1918
|
+
|
|
1742
1919
|
/**
|
|
1743
1920
|
* Supported chart type discriminators.
|
|
1744
1921
|
*
|
|
@@ -1775,6 +1952,7 @@ type PptxChartTrendlineType = 'linear' | 'exponential' | 'logarithmic' | 'polyno
|
|
|
1775
1952
|
*/
|
|
1776
1953
|
interface PptxChartTrendline {
|
|
1777
1954
|
trendlineType: PptxChartTrendlineType;
|
|
1955
|
+
name?: string;
|
|
1778
1956
|
order?: number;
|
|
1779
1957
|
period?: number;
|
|
1780
1958
|
forward?: number;
|
|
@@ -1783,6 +1961,13 @@ interface PptxChartTrendline {
|
|
|
1783
1961
|
displayRSq?: boolean;
|
|
1784
1962
|
displayEq?: boolean;
|
|
1785
1963
|
color?: string;
|
|
1964
|
+
label?: PptxChartTrendlineLabel | null;
|
|
1965
|
+
}
|
|
1966
|
+
/** Typed, commonly edited properties of `c:trendlineLbl`. */
|
|
1967
|
+
interface PptxChartTrendlineLabel {
|
|
1968
|
+
layout?: PptxChartManualLayout;
|
|
1969
|
+
numberFormatCode?: string;
|
|
1970
|
+
sourceLinked?: boolean;
|
|
1786
1971
|
}
|
|
1787
1972
|
/** Error-bar direction axis. */
|
|
1788
1973
|
type PptxChartErrBarDir = 'x' | 'y';
|
|
@@ -1819,6 +2004,8 @@ interface PptxChartErrBars {
|
|
|
1819
2004
|
val?: number;
|
|
1820
2005
|
customPlus?: number[];
|
|
1821
2006
|
customMinus?: number[];
|
|
2007
|
+
noEndCap?: boolean;
|
|
2008
|
+
color?: string;
|
|
1822
2009
|
}
|
|
1823
2010
|
/**
|
|
1824
2011
|
* Visibility flags for the chart data table (axes + legend keys).
|
|
@@ -1868,9 +2055,17 @@ interface PptxChartShapeProps {
|
|
|
1868
2055
|
/** Line dash style (a:prstDash/@val), e.g. 'solid', 'dash', 'dot', 'lgDash'. */
|
|
1869
2056
|
strokeDashStyle?: string;
|
|
1870
2057
|
}
|
|
2058
|
+
/** Up/down bar formatting on line and stock charts (`c:upDownBars`). */
|
|
2059
|
+
interface PptxChartUpDownBars {
|
|
2060
|
+
/** Gap between bars as a percentage, constrained to 0 through 500. */
|
|
2061
|
+
gapWidth?: number;
|
|
2062
|
+
upBars?: PptxChartShapeProps;
|
|
2063
|
+
downBars?: PptxChartShapeProps;
|
|
2064
|
+
}
|
|
1871
2065
|
/** Marker appearance on a chart series or data point. */
|
|
1872
2066
|
interface PptxChartMarker {
|
|
1873
2067
|
symbol: PptxChartMarkerSymbol;
|
|
2068
|
+
/** Marker size in points, constrained by ST_MarkerSize to 2 through 72. */
|
|
1874
2069
|
size?: number;
|
|
1875
2070
|
spPr?: PptxChartShapeProps;
|
|
1876
2071
|
}
|
|
@@ -1881,26 +2076,43 @@ interface PptxChartDataPoint {
|
|
|
1881
2076
|
explosion?: number;
|
|
1882
2077
|
invertIfNegative?: boolean;
|
|
1883
2078
|
marker?: PptxChartMarker;
|
|
2079
|
+
/** Render a bubble-chart point with a 3-D appearance. */
|
|
2080
|
+
bubble3D?: boolean;
|
|
1884
2081
|
}
|
|
2082
|
+
/** Schema values accepted by `c:dLblPos`. */
|
|
2083
|
+
type PptxChartDataLabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
|
|
1885
2084
|
/** Individual data label override (c:dLbl). */
|
|
1886
2085
|
interface PptxChartDataLabel {
|
|
1887
2086
|
idx: number;
|
|
2087
|
+
/** Suppress this data point's automatically generated label. */
|
|
2088
|
+
deleted?: boolean;
|
|
1888
2089
|
showVal?: boolean;
|
|
1889
2090
|
showCatName?: boolean;
|
|
1890
2091
|
showSerName?: boolean;
|
|
1891
2092
|
showPercent?: boolean;
|
|
1892
2093
|
showLegendKey?: boolean;
|
|
1893
2094
|
showBubbleSize?: boolean;
|
|
1894
|
-
position?:
|
|
2095
|
+
position?: PptxChartDataLabelPosition;
|
|
1895
2096
|
text?: string;
|
|
2097
|
+
separator?: string;
|
|
2098
|
+
showLeaderLines?: boolean;
|
|
1896
2099
|
}
|
|
1897
2100
|
/** Axis number format. */
|
|
1898
2101
|
interface PptxChartAxisNumFmt {
|
|
1899
2102
|
formatCode: string;
|
|
1900
2103
|
sourceLinked?: boolean;
|
|
1901
2104
|
}
|
|
2105
|
+
/** Typed contents of a value-axis display-unit label (`c:dispUnitsLbl`). */
|
|
2106
|
+
interface PptxChartDisplayUnitsLabel {
|
|
2107
|
+
/** Literal label text. Omit to preserve the source text subtree. */
|
|
2108
|
+
text?: string;
|
|
2109
|
+
/** Manual label placement. `null` removes only the manual layout. */
|
|
2110
|
+
layout?: PptxChartManualLayout | null;
|
|
2111
|
+
/** Label shape formatting. `null` removes `c:spPr`. */
|
|
2112
|
+
spPr?: PptxChartShapeProps | null;
|
|
2113
|
+
}
|
|
1902
2114
|
/** Axis formatting for category, value, or date axes. */
|
|
1903
|
-
interface PptxChartAxisFormatting {
|
|
2115
|
+
interface PptxChartAxisFormatting extends PptxChartAxisLabelFormatting {
|
|
1904
2116
|
axisType: 'catAx' | 'valAx' | 'dateAx' | 'serAx';
|
|
1905
2117
|
/** Axis position: "b" (bottom), "l" (left), "r" (right), "t" (top). */
|
|
1906
2118
|
axPos?: 'b' | 'l' | 'r' | 't';
|
|
@@ -1908,6 +2120,12 @@ interface PptxChartAxisFormatting {
|
|
|
1908
2120
|
axisId?: number;
|
|
1909
2121
|
/** Cross-axis identifier — the axis this axis crosses. */
|
|
1910
2122
|
crossAxisId?: number;
|
|
2123
|
+
/** Automatic crossing mode (`c:crosses`). Mutually exclusive with `crossesAt`. */
|
|
2124
|
+
crosses?: 'autoZero' | 'min' | 'max';
|
|
2125
|
+
/** Explicit crossing value (`c:crossesAt`). Units depend on the axis type. */
|
|
2126
|
+
crossesAt?: number;
|
|
2127
|
+
/** Whether a value axis crosses between or at category tick marks. */
|
|
2128
|
+
crossBetween?: 'between' | 'midCat';
|
|
1911
2129
|
numFmt?: PptxChartAxisNumFmt;
|
|
1912
2130
|
titleText?: string;
|
|
1913
2131
|
spPr?: PptxChartShapeProps;
|
|
@@ -1925,6 +2143,8 @@ interface PptxChartAxisFormatting {
|
|
|
1925
2143
|
min?: number;
|
|
1926
2144
|
/** Maximum axis value override (c:max/@val). */
|
|
1927
2145
|
max?: number;
|
|
2146
|
+
/** Axis value direction (`c:scaling/c:orientation/@val`). */
|
|
2147
|
+
orientation?: 'minMax' | 'maxMin';
|
|
1928
2148
|
/** Whether the axis is deleted/hidden (c:delete/@val). */
|
|
1929
2149
|
deleted?: boolean;
|
|
1930
2150
|
/**
|
|
@@ -1934,8 +2154,12 @@ interface PptxChartAxisFormatting {
|
|
|
1934
2154
|
displayUnits?: 'hundreds' | 'thousands' | 'tenThousands' | 'hundredThousands' | 'millions' | 'tenMillions' | 'hundredMillions' | 'billions' | 'trillions' | 'custom';
|
|
1935
2155
|
/** Custom display unit divisor value (c:dispUnits/c:custUnit/@val). Only used when displayUnits is 'custom'. */
|
|
1936
2156
|
displayUnitsValue?: number;
|
|
1937
|
-
/**
|
|
1938
|
-
|
|
2157
|
+
/**
|
|
2158
|
+
* Display-unit label contents (`c:dispUnits/c:dispUnitsLbl`). A string is
|
|
2159
|
+
* retained as a compatibility shorthand for `{ text: string }`; `null`
|
|
2160
|
+
* explicitly removes the label.
|
|
2161
|
+
*/
|
|
2162
|
+
displayUnitsLabel?: string | PptxChartDisplayUnitsLabel | null;
|
|
1939
2163
|
/** Whether logarithmic scaling is enabled (presence of c:scaling/c:logBase). */
|
|
1940
2164
|
logScale?: boolean;
|
|
1941
2165
|
/** Logarithmic base value (c:scaling/c:logBase/@val), typically 10 or e. */
|
|
@@ -1944,14 +2168,69 @@ interface PptxChartAxisFormatting {
|
|
|
1944
2168
|
majorUnit?: number;
|
|
1945
2169
|
/** Minor-unit interval between secondary tick marks (c:minorUnit/@val). */
|
|
1946
2170
|
minorUnit?: number;
|
|
1947
|
-
/**
|
|
1948
|
-
|
|
2171
|
+
/** Calendar unit used to interpret date-axis serial values. */
|
|
2172
|
+
baseTimeUnit?: 'days' | 'months' | 'years';
|
|
2173
|
+
majorTimeUnit?: 'days' | 'months' | 'years';
|
|
2174
|
+
minorTimeUnit?: 'days' | 'months' | 'years';
|
|
1949
2175
|
}
|
|
1950
2176
|
/** 3D wall or floor element formatting. */
|
|
1951
2177
|
interface PptxChart3DSurface {
|
|
1952
2178
|
thickness?: number;
|
|
1953
2179
|
spPr?: PptxChartShapeProps;
|
|
1954
2180
|
}
|
|
2181
|
+
/** Office 2016 ChartEx box-and-whisker series layout options. */
|
|
2182
|
+
interface PptxChartBoxWhiskerOptions {
|
|
2183
|
+
quartileMethod?: 'inclusive' | 'exclusive';
|
|
2184
|
+
showMeanLine?: boolean;
|
|
2185
|
+
showMeanMarker?: boolean;
|
|
2186
|
+
/** Show non-outlier (inner) data points. */
|
|
2187
|
+
showInnerPoints?: boolean;
|
|
2188
|
+
showOutlierPoints?: boolean;
|
|
2189
|
+
}
|
|
2190
|
+
/** Office 2016 ChartEx histogram and Pareto series layout options. */
|
|
2191
|
+
interface PptxChartHistogramOptions {
|
|
2192
|
+
/** Maps to `clusteredColumn` for histogram columns or `paretoLine`. */
|
|
2193
|
+
layout?: 'histogram' | 'pareto';
|
|
2194
|
+
/** Exactly one of binSize and binCount is emitted by the ChartEx writer. */
|
|
2195
|
+
binSize?: number;
|
|
2196
|
+
binCount?: number;
|
|
2197
|
+
intervalClosed?: 'l' | 'r';
|
|
2198
|
+
underflow?: number | 'auto';
|
|
2199
|
+
overflow?: number | 'auto';
|
|
2200
|
+
}
|
|
2201
|
+
/** Office 2016 ChartEx waterfall series layout options. */
|
|
2202
|
+
interface PptxChartWaterfallOptions {
|
|
2203
|
+
/** Zero-based data point indexes rendered as absolute subtotal or total bars. */
|
|
2204
|
+
subtotalIndices?: number[];
|
|
2205
|
+
/** Whether connector lines are visible between adjacent bars. */
|
|
2206
|
+
connectorLines?: boolean;
|
|
2207
|
+
}
|
|
2208
|
+
/** Office 2016 ChartEx geographic series dimensions and layout options. */
|
|
2209
|
+
interface PptxChartRegionMapOptions {
|
|
2210
|
+
/** Optional provider entity identifiers aligned with categories and values. */
|
|
2211
|
+
entityIds?: string[];
|
|
2212
|
+
/** Original `cx:pt/@idx` values for category points. */
|
|
2213
|
+
categorySourceIndices?: number[];
|
|
2214
|
+
/** Original `cx:pt/@idx` values for colour-value points. */
|
|
2215
|
+
valueSourceIndices?: number[];
|
|
2216
|
+
/** Original `cx:pt/@idx` values for entity-ID points. */
|
|
2217
|
+
entityIdSourceIndices?: number[];
|
|
2218
|
+
regionLabelLayout?: 'none' | 'bestFitOnly' | 'showAll';
|
|
2219
|
+
projectionType?: 'mercator' | 'miller' | 'robinson' | 'albers';
|
|
2220
|
+
viewedRegionType?: 'dataOnly' | 'postalCode' | 'county' | 'state' | 'countryRegion' | 'countryRegionList' | 'world';
|
|
2221
|
+
cultureLanguage?: string;
|
|
2222
|
+
/** ISO-3166-1 alpha-2 region code. */
|
|
2223
|
+
cultureRegion?: string;
|
|
2224
|
+
attribution?: string;
|
|
2225
|
+
/** Opaque authored provider cache under `cx:geography/cx:geoCache`. */
|
|
2226
|
+
geographyCache?: XmlObject;
|
|
2227
|
+
}
|
|
2228
|
+
/** Layout for parent category labels in a hierarchical ChartEx treemap. */
|
|
2229
|
+
type PptxChartParentLabelLayout = 'none' | 'banner' | 'overlapping';
|
|
2230
|
+
/** Per-series layout options for an Office 2016+ ChartEx treemap. */
|
|
2231
|
+
interface PptxChartTreemapOptions {
|
|
2232
|
+
parentLabelLayout?: PptxChartParentLabelLayout;
|
|
2233
|
+
}
|
|
1955
2234
|
/**
|
|
1956
2235
|
* A single data series within a chart.
|
|
1957
2236
|
*
|
|
@@ -1987,6 +2266,11 @@ interface PptxChartSeries {
|
|
|
1987
2266
|
* series.
|
|
1988
2267
|
*/
|
|
1989
2268
|
seriesChartType?: PptxChartType;
|
|
2269
|
+
boxWhiskerOptions?: PptxChartBoxWhiskerOptions;
|
|
2270
|
+
histogramOptions?: PptxChartHistogramOptions;
|
|
2271
|
+
waterfallOptions?: PptxChartWaterfallOptions;
|
|
2272
|
+
regionMapOptions?: PptxChartRegionMapOptions;
|
|
2273
|
+
treemapOptions?: PptxChartTreemapOptions;
|
|
1990
2274
|
}
|
|
1991
2275
|
/**
|
|
1992
2276
|
* Chart-level data-label options (`c:dLbls` directly under a chart-type
|
|
@@ -2004,12 +2288,32 @@ interface PptxChartDataLabelOptions {
|
|
|
2004
2288
|
showPercent?: boolean;
|
|
2005
2289
|
/** Show the legend key swatch (`c:showLegendKey`). */
|
|
2006
2290
|
showLegendKey?: boolean;
|
|
2291
|
+
/** Show bubble size (`c:showBubbleSize`). */
|
|
2292
|
+
showBubbleSize?: boolean;
|
|
2293
|
+
/** Text placed between combined label components (`c:separator`). */
|
|
2294
|
+
separator?: string;
|
|
2295
|
+
/** Show leader lines where supported (`c:showLeaderLines`). */
|
|
2296
|
+
showLeaderLines?: boolean;
|
|
2007
2297
|
/**
|
|
2008
2298
|
* Label position (`c:dLblPos`). Valid values depend on the chart type
|
|
2009
2299
|
* (`ctr`, `inEnd`, `inBase`, `outEnd`, `bestFit`, `l`, `r`, `t`, `b`).
|
|
2010
2300
|
* Omit to let PowerPoint use the type default.
|
|
2011
2301
|
*/
|
|
2012
|
-
position?:
|
|
2302
|
+
position?: PptxChartDataLabelPosition;
|
|
2303
|
+
}
|
|
2304
|
+
/** Typed text defaults for a single chart legend entry. */
|
|
2305
|
+
interface PptxChartLegendTextStyle {
|
|
2306
|
+
fontFamily?: string;
|
|
2307
|
+
fontSize?: number;
|
|
2308
|
+
bold?: boolean;
|
|
2309
|
+
italic?: boolean;
|
|
2310
|
+
color?: string;
|
|
2311
|
+
}
|
|
2312
|
+
/** Per-series legend entry override (`c:legendEntry`). */
|
|
2313
|
+
interface PptxChartLegendEntry {
|
|
2314
|
+
index: number;
|
|
2315
|
+
deleted?: boolean;
|
|
2316
|
+
textStyle?: PptxChartLegendTextStyle;
|
|
2013
2317
|
}
|
|
2014
2318
|
/**
|
|
2015
2319
|
* Style / formatting metadata for a chart.
|
|
@@ -2032,6 +2336,8 @@ interface PptxChartStyle {
|
|
|
2032
2336
|
hasLegend?: boolean;
|
|
2033
2337
|
/** Legend position (t, b, l, r, tr). */
|
|
2034
2338
|
legendPosition?: string;
|
|
2339
|
+
/** Per-series visibility and text-style overrides. */
|
|
2340
|
+
legendEntries?: PptxChartLegendEntry[];
|
|
2035
2341
|
/** Whether the chart has a title. */
|
|
2036
2342
|
hasTitle?: boolean;
|
|
2037
2343
|
/** Whether gridlines are visible. */
|
|
@@ -2092,6 +2398,14 @@ interface PptxChartOfPieOptions {
|
|
|
2092
2398
|
serLines?: boolean;
|
|
2093
2399
|
gapWidth?: number;
|
|
2094
2400
|
}
|
|
2401
|
+
/** Classic `c:bubbleChart` options from CT_BubbleChart. */
|
|
2402
|
+
interface PptxBubbleChartOptions {
|
|
2403
|
+
bubble3D?: boolean;
|
|
2404
|
+
/** Bubble diameter scale in percent, constrained to 0 through 300. */
|
|
2405
|
+
bubbleScale?: number;
|
|
2406
|
+
showNegativeBubbles?: boolean;
|
|
2407
|
+
sizeRepresents?: 'area' | 'w';
|
|
2408
|
+
}
|
|
2095
2409
|
/**
|
|
2096
2410
|
* 3D viewing parameters for a chart (`c:view3D`, ECMA-376 §21.2.2.228 /
|
|
2097
2411
|
* CT_View3D).
|
|
@@ -2132,6 +2446,27 @@ interface PptxChartChrome {
|
|
|
2132
2446
|
dispBlanksAs?: 'gap' | 'zero' | 'span';
|
|
2133
2447
|
showDLblsOverMax?: boolean;
|
|
2134
2448
|
}
|
|
2449
|
+
/** Manual chart placement from `c:layout/c:manualLayout` (CT_ManualLayout). */
|
|
2450
|
+
interface PptxChartManualLayout {
|
|
2451
|
+
layoutTarget?: 'inner' | 'outer';
|
|
2452
|
+
xMode?: 'edge' | 'factor';
|
|
2453
|
+
yMode?: 'edge' | 'factor';
|
|
2454
|
+
widthMode?: 'edge' | 'factor';
|
|
2455
|
+
heightMode?: 'edge' | 'factor';
|
|
2456
|
+
x?: number;
|
|
2457
|
+
y?: number;
|
|
2458
|
+
width?: number;
|
|
2459
|
+
height?: number;
|
|
2460
|
+
}
|
|
2461
|
+
/**
|
|
2462
|
+
* Typed manual layouts for chart regions that accept `c:layout`.
|
|
2463
|
+
* A `null` region removes its manual layout without removing extensions.
|
|
2464
|
+
*/
|
|
2465
|
+
interface PptxChartLayouts {
|
|
2466
|
+
title?: PptxChartManualLayout | null;
|
|
2467
|
+
plotArea?: PptxChartManualLayout | null;
|
|
2468
|
+
legend?: PptxChartManualLayout | null;
|
|
2469
|
+
}
|
|
2135
2470
|
/** Parsed data extracted from an embedded xlsx workbook. */
|
|
2136
2471
|
interface PptxEmbeddedWorkbookData {
|
|
2137
2472
|
/** Category labels from the first column/row. */
|
|
@@ -2141,6 +2476,16 @@ interface PptxEmbeddedWorkbookData {
|
|
|
2141
2476
|
name: string;
|
|
2142
2477
|
values: number[];
|
|
2143
2478
|
}>;
|
|
2479
|
+
/** Whether the workbook uses the 1904 date system. */
|
|
2480
|
+
date1904?: boolean;
|
|
2481
|
+
}
|
|
2482
|
+
/** Raw numeric category cache used by a classic ChartML date axis. */
|
|
2483
|
+
interface PptxChartDateCategories {
|
|
2484
|
+
values: number[];
|
|
2485
|
+
/** False/default uses Excel's 1900 date system; true uses the 1904 system. */
|
|
2486
|
+
date1904?: boolean;
|
|
2487
|
+
/** Number format copied from the numeric category cache. */
|
|
2488
|
+
formatCode?: string;
|
|
2144
2489
|
}
|
|
2145
2490
|
/**
|
|
2146
2491
|
* Complete parsed chart data for a {@link ChartPptxElement}.
|
|
@@ -2164,6 +2509,13 @@ interface PptxChartData {
|
|
|
2164
2509
|
title?: string;
|
|
2165
2510
|
chartType: PptxChartType;
|
|
2166
2511
|
categories: string[];
|
|
2512
|
+
/**
|
|
2513
|
+
* Hierarchical category levels in source XML order for ChartEx hierarchy charts.
|
|
2514
|
+
* Level 0 contains the leaf labels and remains mirrored by {@link categories}
|
|
2515
|
+
* for consumers that only understand a flat category axis.
|
|
2516
|
+
*/
|
|
2517
|
+
categoryLevels?: string[][];
|
|
2518
|
+
dateCategories?: PptxChartDateCategories;
|
|
2167
2519
|
series: PptxChartSeries[];
|
|
2168
2520
|
/** Chart style/formatting metadata. */
|
|
2169
2521
|
style?: PptxChartStyle;
|
|
@@ -2173,9 +2525,12 @@ interface PptxChartData {
|
|
|
2173
2525
|
chartPartPath?: string;
|
|
2174
2526
|
/** Internal: relationship ID linking the graphic frame to the chart part. */
|
|
2175
2527
|
chartRelationshipId?: string;
|
|
2176
|
-
|
|
2528
|
+
/** `null` explicitly removes an existing ChartML data table. */
|
|
2529
|
+
dataTable?: PptxChartDataTable | null;
|
|
2177
2530
|
dropLines?: PptxChartLineStyle;
|
|
2178
2531
|
hiLowLines?: PptxChartLineStyle;
|
|
2532
|
+
/** `null` explicitly removes an existing up/down-bars container. */
|
|
2533
|
+
upDownBars?: PptxChartUpDownBars | null;
|
|
2179
2534
|
axes?: PptxChartAxisFormatting[];
|
|
2180
2535
|
floor?: PptxChart3DSurface;
|
|
2181
2536
|
sideWall?: PptxChart3DSurface;
|
|
@@ -2197,12 +2552,7 @@ interface PptxChartData {
|
|
|
2197
2552
|
* The chart still renders using its cached series data; this field
|
|
2198
2553
|
* is metadata about the data origin, preserved for round-trip fidelity.
|
|
2199
2554
|
*/
|
|
2200
|
-
pivotSource?:
|
|
2201
|
-
/** Pivot table reference name, e.g. "[workbook.xlsx]Sheet1!PivotTable1". */
|
|
2202
|
-
name: string;
|
|
2203
|
-
/** Format identifier from c:fmtId/@val. */
|
|
2204
|
-
formatId?: number;
|
|
2205
|
-
};
|
|
2555
|
+
pivotSource?: PptxChartPivotSource | null;
|
|
2206
2556
|
/**
|
|
2207
2557
|
* Whether only visible cells are plotted (c:plotVisOnly).
|
|
2208
2558
|
* When `true` (the default), hidden cells are excluded from the chart.
|
|
@@ -2225,6 +2575,12 @@ interface PptxChartData {
|
|
|
2225
2575
|
* - `"acrossLinear"` — gradient across series
|
|
2226
2576
|
*/
|
|
2227
2577
|
colorMethod?: 'cycle' | 'withinLinear' | 'acrossLinear';
|
|
2578
|
+
/** Internal source color-style part path used for lossless dirty saves. */
|
|
2579
|
+
colorStylePartPath?: string;
|
|
2580
|
+
/** Internal parsed palette snapshot used to detect actual edits. */
|
|
2581
|
+
colorStyleOriginalPalette?: string[];
|
|
2582
|
+
/** Internal parsed method snapshot used to detect actual edits. */
|
|
2583
|
+
colorStyleOriginalMethod?: 'cycle' | 'withinLinear' | 'acrossLinear';
|
|
2228
2584
|
/**
|
|
2229
2585
|
* Pie-of-pie / Bar-of-pie options (`c:ofPieChart`, CT_OfPieChart).
|
|
2230
2586
|
*
|
|
@@ -2233,6 +2589,8 @@ interface PptxChartData {
|
|
|
2233
2589
|
* `ofPieChart` element can be re-emitted on save with full fidelity.
|
|
2234
2590
|
*/
|
|
2235
2591
|
ofPieOptions?: PptxChartOfPieOptions;
|
|
2592
|
+
/** Classic bubble-chart display options (`c:bubbleChart`). */
|
|
2593
|
+
bubbleOptions?: PptxBubbleChartOptions;
|
|
2236
2594
|
/**
|
|
2237
2595
|
* 3D viewing parameters (`c:view3D`, CT_View3D).
|
|
2238
2596
|
*
|
|
@@ -2248,6 +2606,12 @@ interface PptxChartData {
|
|
|
2248
2606
|
* source data, so absence does not produce empty `<c:…/>` placeholders.
|
|
2249
2607
|
*/
|
|
2250
2608
|
chartChrome?: PptxChartChrome;
|
|
2609
|
+
/** `c:chartSpace/c:printSettings`; `null` removes the container on save. */
|
|
2610
|
+
printSettings?: PptxChartPrintSettings | null;
|
|
2611
|
+
/** `c:chartSpace/c:protection`; `null` removes the container on save. */
|
|
2612
|
+
protection?: PptxChartProtection | null;
|
|
2613
|
+
/** Editable manual placement for the title, plot area, and legend. */
|
|
2614
|
+
layouts?: PptxChartLayouts;
|
|
2251
2615
|
/**
|
|
2252
2616
|
* Raw `c:userShapes` XML subtree (a drawing tree) preserved verbatim.
|
|
2253
2617
|
*
|
|
@@ -2264,7 +2628,8 @@ interface PptxChartData {
|
|
|
2264
2628
|
* for charts whose data originates from a PivotTable. Preserved
|
|
2265
2629
|
* verbatim for round-trip fidelity.
|
|
2266
2630
|
*/
|
|
2267
|
-
|
|
2631
|
+
/** Typed pivot-chart format persistence; `null` removes `c:pivotFmts`. */
|
|
2632
|
+
pivotFormats?: PptxChartPivotFormats | null;
|
|
2268
2633
|
/**
|
|
2269
2634
|
* Color-map override (`c:clrMapOvr`) carrying 12 attributes that
|
|
2270
2635
|
* remap theme colour roles for this chart only. Preserved as a flat
|
|
@@ -2273,107 +2638,61 @@ interface PptxChartData {
|
|
|
2273
2638
|
clrMapOvr?: Record<string, string>;
|
|
2274
2639
|
}
|
|
2275
2640
|
|
|
2276
|
-
/**
|
|
2277
|
-
* Image types: effects, crop shapes, and properties shared by image/picture
|
|
2278
|
-
* elements.
|
|
2279
|
-
*
|
|
2280
|
-
* @module pptx-types/image
|
|
2281
|
-
*/
|
|
2282
|
-
/**
|
|
2283
|
-
* Blend mode for `a:blend` container nodes inside an `a:effectDag` (CT_BlendEffect).
|
|
2284
|
-
*
|
|
2285
|
-
* Per ECMA-376 §20.1.8.10, valid values are: `darken`, `lighten`, `mult`,
|
|
2286
|
-
* `over`, `screen`.
|
|
2287
|
-
*/
|
|
2288
2641
|
type EffectDagBlendMode = 'darken' | 'lighten' | 'mult' | 'over' | 'screen';
|
|
2289
|
-
/**
|
|
2290
|
-
* Container node kind inside an `a:effectDag` (CT_EffectContainer @type).
|
|
2291
|
-
*
|
|
2292
|
-
* Per ECMA-376 §20.1.8.20, `sib` (sibling) draws each child independently
|
|
2293
|
-
* over the same source; `tree` (tree) chains effects so each sees the output
|
|
2294
|
-
* of its siblings.
|
|
2295
|
-
*/
|
|
2296
2642
|
type EffectDagContainerType = 'sib' | 'tree';
|
|
2297
|
-
|
|
2298
|
-
* Typed model of the directed-acyclic effect graph stored in `a:effectDag`.
|
|
2299
|
-
*
|
|
2300
|
-
* The four "structural" container/transform nodes are typed; any other inner
|
|
2301
|
-
* effect (e.g. `a:outerShdw`, `a:glow`, `a:alphaInv`) is preserved verbatim
|
|
2302
|
-
* as a raw XML object via the {@link EffectDagRawLeaf} variant so we never
|
|
2303
|
-
* have to recurse into the full effect taxonomy.
|
|
2304
|
-
*
|
|
2305
|
-
* @example
|
|
2306
|
-
* ```ts
|
|
2307
|
-
* // <a:effectDag>
|
|
2308
|
-
* // <a:cont type="sib">
|
|
2309
|
-
* // <a:blend blend="mult"><a:cont type="tree" /></a:blend>
|
|
2310
|
-
* // </a:cont>
|
|
2311
|
-
* // </a:effectDag>
|
|
2312
|
-
* const dag: EffectDagContainer = {
|
|
2313
|
-
* kind: "cont",
|
|
2314
|
-
* type: "sib",
|
|
2315
|
-
* children: [{
|
|
2316
|
-
* kind: "blend",
|
|
2317
|
-
* mode: "mult",
|
|
2318
|
-
* container: { kind: "cont", type: "tree", children: [] },
|
|
2319
|
-
* }],
|
|
2320
|
-
* };
|
|
2321
|
-
* ```
|
|
2322
|
-
*/
|
|
2323
|
-
type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagRawLeaf;
|
|
2324
|
-
/** `a:cont` — CT_EffectContainer. Recursive; mirrors the top-level `effectDag`. */
|
|
2643
|
+
type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagBlur | EffectDagAlphaOutset | EffectDagPresetShadow | EffectDagRawLeaf;
|
|
2325
2644
|
interface EffectDagContainer {
|
|
2326
2645
|
kind: 'cont';
|
|
2327
|
-
/** `@type` — `sib` or `tree`. */
|
|
2328
2646
|
type: EffectDagContainerType;
|
|
2329
|
-
/** Optional `@name` attribute. */
|
|
2330
2647
|
name?: string;
|
|
2331
|
-
/** Ordered children. */
|
|
2332
2648
|
children: EffectDagNode[];
|
|
2333
2649
|
}
|
|
2334
|
-
/** `a:blend` — CT_BlendEffect. Always wraps a single `a:cont` child. */
|
|
2335
2650
|
interface EffectDagBlend {
|
|
2336
2651
|
kind: 'blend';
|
|
2337
|
-
/** `@blend` attribute. */
|
|
2338
2652
|
mode: EffectDagBlendMode;
|
|
2339
|
-
/** Required child `a:cont` container. */
|
|
2340
2653
|
container: EffectDagContainer;
|
|
2341
2654
|
}
|
|
2342
|
-
/** `a:xfrmEffect` — CT_TransformEffect. Affine transform with no children. */
|
|
2343
2655
|
interface EffectDagXfrm {
|
|
2344
2656
|
kind: 'xfrmEffect';
|
|
2345
|
-
/** Horizontal scale, percentage * 1000 (e.g. 100000 = 100%). */
|
|
2346
2657
|
sx?: number;
|
|
2347
|
-
/** Vertical scale, percentage * 1000. */
|
|
2348
2658
|
sy?: number;
|
|
2349
|
-
/** Horizontal skew, degrees * 60000. */
|
|
2350
2659
|
kx?: number;
|
|
2351
|
-
/** Vertical skew, degrees * 60000. */
|
|
2352
2660
|
ky?: number;
|
|
2353
|
-
/** Horizontal translation in EMU. */
|
|
2354
2661
|
tx?: number;
|
|
2355
|
-
/** Vertical translation in EMU. */
|
|
2356
2662
|
ty?: number;
|
|
2357
2663
|
}
|
|
2358
|
-
/** `a:relOff` — CT_RelativeOffsetEffect. Relative offset in 1000ths of a percent. */
|
|
2359
2664
|
interface EffectDagRelOff {
|
|
2360
2665
|
kind: 'relOff';
|
|
2361
|
-
/** Horizontal offset, percentage * 1000. */
|
|
2362
2666
|
tx?: number;
|
|
2363
|
-
/** Vertical offset, percentage * 1000. */
|
|
2364
2667
|
ty?: number;
|
|
2365
2668
|
}
|
|
2366
|
-
/**
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2669
|
+
/** Typed CT_BlurEffect with its original payload retained for lossless edits. */
|
|
2670
|
+
interface EffectDagBlur {
|
|
2671
|
+
kind: 'blur';
|
|
2672
|
+
radiusEmu?: number;
|
|
2673
|
+
grow?: boolean;
|
|
2674
|
+
xml: XmlObject;
|
|
2675
|
+
}
|
|
2676
|
+
/** Typed CT_AlphaOutsetEffect with original XML retained for lossless edits. */
|
|
2677
|
+
interface EffectDagAlphaOutset {
|
|
2678
|
+
kind: 'alphaOutset';
|
|
2679
|
+
radiusEmu?: number;
|
|
2680
|
+
xml: XmlObject;
|
|
2681
|
+
}
|
|
2682
|
+
/** Typed CT_PresetShadowEffect with colour and extension XML retained verbatim. */
|
|
2683
|
+
interface EffectDagPresetShadow {
|
|
2684
|
+
kind: 'prstShdw';
|
|
2685
|
+
preset?: `shdw${number}`;
|
|
2686
|
+
distanceEmu?: number;
|
|
2687
|
+
direction?: number;
|
|
2688
|
+
xml: XmlObject;
|
|
2689
|
+
}
|
|
2370
2690
|
interface EffectDagRawLeaf {
|
|
2371
2691
|
kind: 'raw';
|
|
2372
|
-
/** Local element name without the `a:` prefix (e.g. `outerShdw`, `glow`). */
|
|
2373
2692
|
tag: string;
|
|
2374
|
-
/** Raw XML object captured at load — preserved verbatim on save. */
|
|
2375
2693
|
xml: Record<string, unknown>;
|
|
2376
2694
|
}
|
|
2695
|
+
|
|
2377
2696
|
/**
|
|
2378
2697
|
* Image recolour/adjustment properties parsed from blip extensions.
|
|
2379
2698
|
*
|
|
@@ -2399,6 +2718,8 @@ interface PptxImageEffects {
|
|
|
2399
2718
|
duotone?: {
|
|
2400
2719
|
color1: string;
|
|
2401
2720
|
color2: string;
|
|
2721
|
+
/** Original effect XML, retained while the resolved colours are unchanged. */
|
|
2722
|
+
rawXml?: XmlObject;
|
|
2402
2723
|
};
|
|
2403
2724
|
/** Grayscale flag. */
|
|
2404
2725
|
grayscale?: boolean;
|
|
@@ -2413,8 +2734,10 @@ interface PptxImageEffects {
|
|
|
2413
2734
|
artisticEffect?: string;
|
|
2414
2735
|
/** Artistic effect radius/amount. */
|
|
2415
2736
|
artisticRadius?: number;
|
|
2416
|
-
/** Alpha modulation fixed
|
|
2737
|
+
/** Alpha modulation fixed: non-negative percentage (100 means unchanged opacity). */
|
|
2417
2738
|
alphaModFix?: number;
|
|
2739
|
+
/** Original alpha modulation fixed node, including foreign attributes. */
|
|
2740
|
+
alphaModFixRawXml?: XmlObject;
|
|
2418
2741
|
/** Bi-level threshold — converts to 1-bit black/white (0-100). */
|
|
2419
2742
|
biLevel?: number;
|
|
2420
2743
|
/** Colour change — swap one colour range for another (used for transparency keying). */
|
|
@@ -2423,7 +2746,13 @@ interface PptxImageEffects {
|
|
|
2423
2746
|
clrTo: string;
|
|
2424
2747
|
/** Whether the target colour is fully transparent (alpha = 0). */
|
|
2425
2748
|
clrToTransparent?: boolean;
|
|
2749
|
+
/** Original effect XML, including colour transforms and extensions. */
|
|
2750
|
+
rawXml?: XmlObject;
|
|
2426
2751
|
};
|
|
2752
|
+
/** Original grayscale node, including extension or foreign attributes. */
|
|
2753
|
+
grayscaleRawXml?: XmlObject;
|
|
2754
|
+
/** Original bi-level node, including extension or foreign attributes. */
|
|
2755
|
+
biLevelRawXml?: XmlObject;
|
|
2427
2756
|
/**
|
|
2428
2757
|
* Alpha inverse effect (`a:alphaInv`). Inverts the alpha channel; an optional
|
|
2429
2758
|
* colour child shifts the inversion baseline.
|
|
@@ -2431,11 +2760,17 @@ interface PptxImageEffects {
|
|
|
2431
2760
|
alphaInv?: {
|
|
2432
2761
|
/** Optional baseline colour (hex). */
|
|
2433
2762
|
color?: string;
|
|
2763
|
+
/** Original effect XML, including colour transforms and foreign attributes. */
|
|
2764
|
+
rawXml?: XmlObject;
|
|
2434
2765
|
};
|
|
2435
2766
|
/** Alpha ceiling (`a:alphaCeiling`) — clamps any non-zero alpha to fully opaque. Boolean flag. */
|
|
2436
2767
|
alphaCeiling?: boolean;
|
|
2768
|
+
/** Original alpha ceiling node, including foreign attributes. */
|
|
2769
|
+
alphaCeilingRawXml?: XmlObject;
|
|
2437
2770
|
/** Alpha floor (`a:alphaFloor`) — clamps any non-fully-opaque alpha to fully transparent. Boolean flag. */
|
|
2438
2771
|
alphaFloor?: boolean;
|
|
2772
|
+
/** Original alpha floor node, including foreign attributes. */
|
|
2773
|
+
alphaFloorRawXml?: XmlObject;
|
|
2439
2774
|
/**
|
|
2440
2775
|
* Alpha modulate (`a:alphaMod`). The schema requires a single `cont` (effect
|
|
2441
2776
|
* container) child; we preserve the inner XML opaquely for round-trip.
|
|
@@ -2443,11 +2778,17 @@ interface PptxImageEffects {
|
|
|
2443
2778
|
alphaMod?: {
|
|
2444
2779
|
/** Raw opaque XML for the `a:cont` child to preserve on save. */
|
|
2445
2780
|
contRawXml?: Record<string, unknown>;
|
|
2781
|
+
/** Original effect XML, including foreign attributes. */
|
|
2782
|
+
rawXml?: XmlObject;
|
|
2446
2783
|
};
|
|
2447
2784
|
/** Alpha replace (`a:alphaRepl`) — replaces alpha with the given fixed-percent value (0..100). */
|
|
2448
2785
|
alphaRepl?: number;
|
|
2786
|
+
/** Original alpha replace node, including foreign attributes. */
|
|
2787
|
+
alphaReplRawXml?: XmlObject;
|
|
2449
2788
|
/** Alpha bi-level (`a:alphaBiLevel`) — threshold (0..100) above which alpha becomes fully opaque. */
|
|
2450
2789
|
alphaBiLevel?: number;
|
|
2790
|
+
/** Original alpha bi-level node, including foreign attributes. */
|
|
2791
|
+
alphaBiLevelRawXml?: XmlObject;
|
|
2451
2792
|
/**
|
|
2452
2793
|
* Colour replace (`a:clrRepl`) — replaces all colour information in an image
|
|
2453
2794
|
* with the given solid colour. Stores the raw colour child to preserve scheme
|
|
@@ -2590,6 +2931,7 @@ declare module "./hooks-unstable" {
|
|
|
2590
2931
|
*
|
|
2591
2932
|
* @module pptx-types/media
|
|
2592
2933
|
*/
|
|
2934
|
+
|
|
2593
2935
|
/**
|
|
2594
2936
|
* Discriminator for embedded media element types.
|
|
2595
2937
|
*
|
|
@@ -2600,6 +2942,13 @@ declare module "./hooks-unstable" {
|
|
|
2600
2942
|
* ```
|
|
2601
2943
|
*/
|
|
2602
2944
|
type PptxMediaType = 'video' | 'audio' | 'unknown';
|
|
2945
|
+
type PptxMediaReferenceKind = 'audioCd' | 'wavAudioFile' | 'audioFile' | 'videoFile' | 'quickTimeFile';
|
|
2946
|
+
interface PptxAudioCdPosition {
|
|
2947
|
+
track: number;
|
|
2948
|
+
time?: number;
|
|
2949
|
+
/** Original `st` or `end` node, retained for lossless edits. */
|
|
2950
|
+
rawXml?: XmlObject;
|
|
2951
|
+
}
|
|
2603
2952
|
/**
|
|
2604
2953
|
* A named bookmark within a media clip timeline.
|
|
2605
2954
|
*
|
|
@@ -2676,6 +3025,112 @@ interface MediaCaptionTrack {
|
|
|
2676
3025
|
isDefault?: boolean;
|
|
2677
3026
|
}
|
|
2678
3027
|
|
|
3028
|
+
type PptxSmartArtConstraintRelationship = 'self' | 'ch' | 'des';
|
|
3029
|
+
type PptxSmartArtConstraintOperator = 'none' | 'equ' | 'gte' | 'lte';
|
|
3030
|
+
type PptxSmartArtConstraintPointType = 'all' | 'doc' | 'node' | 'norm' | 'nonNorm' | 'asst' | 'nonAsst' | 'parTrans' | 'pres' | 'sibTrans';
|
|
3031
|
+
interface PptxSmartArtConstraintTarget {
|
|
3032
|
+
for?: PptxSmartArtConstraintRelationship;
|
|
3033
|
+
forName?: string;
|
|
3034
|
+
pointType?: PptxSmartArtConstraintPointType;
|
|
3035
|
+
}
|
|
3036
|
+
/** Editable DiagramML CT_Constraint. */
|
|
3037
|
+
interface PptxSmartArtConstraint extends PptxSmartArtConstraintTarget {
|
|
3038
|
+
type: string;
|
|
3039
|
+
referenceType?: string;
|
|
3040
|
+
referenceFor?: PptxSmartArtConstraintRelationship;
|
|
3041
|
+
referenceForName?: string;
|
|
3042
|
+
referencePointType?: PptxSmartArtConstraintPointType;
|
|
3043
|
+
operator?: PptxSmartArtConstraintOperator;
|
|
3044
|
+
value?: number;
|
|
3045
|
+
factor?: number;
|
|
3046
|
+
/** Original constraint retained for foreign attributes and extension content. */
|
|
3047
|
+
rawXml?: XmlObject;
|
|
3048
|
+
}
|
|
3049
|
+
/** Editable DiagramML CT_NumericRule. */
|
|
3050
|
+
interface PptxSmartArtNumericRule extends PptxSmartArtConstraintTarget {
|
|
3051
|
+
type: string;
|
|
3052
|
+
value?: number;
|
|
3053
|
+
factor?: number;
|
|
3054
|
+
max?: number;
|
|
3055
|
+
/** Original rule retained for foreign attributes and extension content. */
|
|
3056
|
+
rawXml?: XmlObject;
|
|
3057
|
+
}
|
|
3058
|
+
|
|
3059
|
+
/** Typed, editable metadata from a DiagramML layout-definition part. */
|
|
3060
|
+
|
|
3061
|
+
interface PptxSmartArtLocalizedText {
|
|
3062
|
+
value: string;
|
|
3063
|
+
language?: string;
|
|
3064
|
+
}
|
|
3065
|
+
interface PptxSmartArtLayoutCategory {
|
|
3066
|
+
type: string;
|
|
3067
|
+
priority: number;
|
|
3068
|
+
}
|
|
3069
|
+
interface PptxSmartArtAlgorithmParameter {
|
|
3070
|
+
type: string;
|
|
3071
|
+
value?: string;
|
|
3072
|
+
}
|
|
3073
|
+
/** Typed DiagramML CT_Algorithm data attached to a layout node. */
|
|
3074
|
+
interface PptxSmartArtLayoutAlgorithm {
|
|
3075
|
+
type: string;
|
|
3076
|
+
revision?: number;
|
|
3077
|
+
parameters?: PptxSmartArtAlgorithmParameter[];
|
|
3078
|
+
}
|
|
3079
|
+
interface PptxSmartArtIteratorAttributes {
|
|
3080
|
+
name?: string;
|
|
3081
|
+
reference?: string;
|
|
3082
|
+
axis?: string[];
|
|
3083
|
+
pointTypes?: string[];
|
|
3084
|
+
hideLastTransition?: boolean[];
|
|
3085
|
+
start?: number[];
|
|
3086
|
+
count?: number[];
|
|
3087
|
+
step?: number[];
|
|
3088
|
+
}
|
|
3089
|
+
interface PptxSmartArtForEach extends PptxSmartArtIteratorAttributes {
|
|
3090
|
+
rawXml?: XmlObject;
|
|
3091
|
+
}
|
|
3092
|
+
interface PptxSmartArtWhen extends PptxSmartArtIteratorAttributes {
|
|
3093
|
+
function: string;
|
|
3094
|
+
argument?: string;
|
|
3095
|
+
operator: string;
|
|
3096
|
+
value: string;
|
|
3097
|
+
rawXml?: XmlObject;
|
|
3098
|
+
}
|
|
3099
|
+
interface PptxSmartArtChoose {
|
|
3100
|
+
name?: string;
|
|
3101
|
+
when: PptxSmartArtWhen[];
|
|
3102
|
+
otherwise?: {
|
|
3103
|
+
name?: string;
|
|
3104
|
+
rawXml?: XmlObject;
|
|
3105
|
+
} | null;
|
|
3106
|
+
rawXml?: XmlObject;
|
|
3107
|
+
}
|
|
3108
|
+
/** Identity and ordering metadata from DiagramML CT_LayoutNode. */
|
|
3109
|
+
interface PptxSmartArtLayoutNode {
|
|
3110
|
+
name?: string;
|
|
3111
|
+
styleLabel?: string;
|
|
3112
|
+
childOrder?: 'b' | 't';
|
|
3113
|
+
moveWith?: string;
|
|
3114
|
+
algorithm?: PptxSmartArtLayoutAlgorithm;
|
|
3115
|
+
forEach?: PptxSmartArtForEach[];
|
|
3116
|
+
choose?: PptxSmartArtChoose[];
|
|
3117
|
+
constraints?: PptxSmartArtConstraint[];
|
|
3118
|
+
rules?: PptxSmartArtNumericRule[];
|
|
3119
|
+
children?: PptxSmartArtLayoutNode[];
|
|
3120
|
+
}
|
|
3121
|
+
/** Metadata and root node from DiagramML CT_DiagramDefinition. */
|
|
3122
|
+
interface PptxSmartArtLayoutDefinition {
|
|
3123
|
+
uniqueId?: string;
|
|
3124
|
+
minimumVersion?: string;
|
|
3125
|
+
defaultStyle?: string;
|
|
3126
|
+
titles?: PptxSmartArtLocalizedText[];
|
|
3127
|
+
descriptions?: PptxSmartArtLocalizedText[];
|
|
3128
|
+
categories?: PptxSmartArtLayoutCategory[];
|
|
3129
|
+
rootNode: PptxSmartArtLayoutNode;
|
|
3130
|
+
/** Original definition retained for constraint evaluation and foreign rules. */
|
|
3131
|
+
rawXml?: XmlObject;
|
|
3132
|
+
}
|
|
3133
|
+
|
|
2679
3134
|
/**
|
|
2680
3135
|
* SmartArt node types: per-run text, per-node visual override, and the
|
|
2681
3136
|
* data-model node itself. Split out of `smart-art.ts` to keep each type file
|
|
@@ -2685,6 +3140,7 @@ interface MediaCaptionTrack {
|
|
|
2685
3140
|
*
|
|
2686
3141
|
* @module pptx-types/smart-art-node
|
|
2687
3142
|
*/
|
|
3143
|
+
|
|
2688
3144
|
/**
|
|
2689
3145
|
* A single run of text inside a SmartArt node, capturing the run text and the
|
|
2690
3146
|
* raw `a:rPr` run-properties object verbatim so per-run formatting (bold,
|
|
@@ -2708,6 +3164,54 @@ interface PptxSmartArtTextRun {
|
|
|
2708
3164
|
* round-trip. Untyped XML, hence the loose record shape.
|
|
2709
3165
|
*/
|
|
2710
3166
|
rPr?: Record<string, unknown>;
|
|
3167
|
+
/** Resolved standard shape-text style derived from {@link rPr}. */
|
|
3168
|
+
style?: TextStyle;
|
|
3169
|
+
/** Raw run XML used to retain unmodelled extension children on save. */
|
|
3170
|
+
rawXml?: Record<string, unknown>;
|
|
3171
|
+
/** Original direct-child order, including unmodelled extension children. */
|
|
3172
|
+
childOrder?: string[];
|
|
3173
|
+
}
|
|
3174
|
+
/** An ordered item within a SmartArt text paragraph. */
|
|
3175
|
+
type PptxSmartArtTextParagraphItem = {
|
|
3176
|
+
kind: 'run';
|
|
3177
|
+
run: PptxSmartArtTextRun;
|
|
3178
|
+
} | {
|
|
3179
|
+
kind: 'break';
|
|
3180
|
+
rPr?: Record<string, unknown>;
|
|
3181
|
+
style?: TextStyle;
|
|
3182
|
+
rawXml?: Record<string, unknown>;
|
|
3183
|
+
childOrder?: string[];
|
|
3184
|
+
} | {
|
|
3185
|
+
kind: 'field';
|
|
3186
|
+
id?: string;
|
|
3187
|
+
fieldType?: string;
|
|
3188
|
+
text: string;
|
|
3189
|
+
rPr?: Record<string, unknown>;
|
|
3190
|
+
style?: TextStyle;
|
|
3191
|
+
pPr?: Record<string, unknown>;
|
|
3192
|
+
rawXml?: Record<string, unknown>;
|
|
3193
|
+
childOrder?: string[];
|
|
3194
|
+
} | {
|
|
3195
|
+
kind: 'tab';
|
|
3196
|
+
rawXml?: Record<string, unknown>;
|
|
3197
|
+
childOrder?: string[];
|
|
3198
|
+
} | {
|
|
3199
|
+
kind: 'raw';
|
|
3200
|
+
name: string;
|
|
3201
|
+
value: unknown;
|
|
3202
|
+
};
|
|
3203
|
+
/** A complete `a:p` paragraph in a SmartArt data-model text body. */
|
|
3204
|
+
interface PptxSmartArtTextParagraph {
|
|
3205
|
+
/** Paragraph properties (`a:pPr`) preserved verbatim. */
|
|
3206
|
+
pPr?: Record<string, unknown>;
|
|
3207
|
+
/** Text children in source order. */
|
|
3208
|
+
items: PptxSmartArtTextParagraphItem[];
|
|
3209
|
+
/** End-paragraph run properties (`a:endParaRPr`) preserved verbatim. */
|
|
3210
|
+
endParaRPr?: Record<string, unknown>;
|
|
3211
|
+
/** Resolved style for the paragraph terminator. */
|
|
3212
|
+
endParaStyle?: TextStyle;
|
|
3213
|
+
/** Raw paragraph XML used to retain unmodelled extension children on save. */
|
|
3214
|
+
rawXml?: Record<string, unknown>;
|
|
2711
3215
|
}
|
|
2712
3216
|
/**
|
|
2713
3217
|
* Per-node visual override for a SmartArt node.
|
|
@@ -2763,6 +3267,8 @@ interface PptxSmartArtNodeStyle {
|
|
|
2763
3267
|
interface PptxSmartArtNode {
|
|
2764
3268
|
id: string;
|
|
2765
3269
|
text: string;
|
|
3270
|
+
/** CT_Pt connection identifier, when the point references a connection. */
|
|
3271
|
+
connectionId?: string | null;
|
|
2766
3272
|
parentId?: string;
|
|
2767
3273
|
children?: PptxSmartArtNode[];
|
|
2768
3274
|
/** Node type from `@_type` attribute (e.g. "doc", "node", "asst", "pres"). */
|
|
@@ -2775,6 +3281,11 @@ interface PptxSmartArtNode {
|
|
|
2775
3281
|
* is not flattened. When {@link text} diverges, the runs are ignored.
|
|
2776
3282
|
*/
|
|
2777
3283
|
runs?: PptxSmartArtTextRun[];
|
|
3284
|
+
/**
|
|
3285
|
+
* Complete typed paragraph model. Unlike {@link runs}, this retains every
|
|
3286
|
+
* paragraph and the ordered run, field, break, and tab children within it.
|
|
3287
|
+
*/
|
|
3288
|
+
paragraphs?: PptxSmartArtTextParagraph[];
|
|
2778
3289
|
/**
|
|
2779
3290
|
* Optional per-node visual override (fill / line / font colour, bold /
|
|
2780
3291
|
* italic). Read at parse time from the point's `spPr` / first-run `rPr`, set
|
|
@@ -2784,6 +3295,64 @@ interface PptxSmartArtNode {
|
|
|
2784
3295
|
style?: PptxSmartArtNodeStyle;
|
|
2785
3296
|
}
|
|
2786
3297
|
|
|
3298
|
+
/** Editable metadata shared by DiagramML quick-style and color definitions. */
|
|
3299
|
+
interface PptxSmartArtDefinitionText {
|
|
3300
|
+
value: string;
|
|
3301
|
+
language?: string;
|
|
3302
|
+
}
|
|
3303
|
+
interface PptxSmartArtDefinitionCategory {
|
|
3304
|
+
type: string;
|
|
3305
|
+
priority: number;
|
|
3306
|
+
}
|
|
3307
|
+
type PptxSmartArtColorApplicationMethod = 'span' | 'cycle' | 'repeat';
|
|
3308
|
+
type PptxSmartArtHueDirection = 'cw' | 'ccw';
|
|
3309
|
+
/** CT_Colors application metadata. Color-choice children remain preserved XML. */
|
|
3310
|
+
interface PptxSmartArtColorListMetadata {
|
|
3311
|
+
method?: PptxSmartArtColorApplicationMethod;
|
|
3312
|
+
hueDirection?: PptxSmartArtHueDirection;
|
|
3313
|
+
}
|
|
3314
|
+
/** CT_StyleLabel metadata from a quick-style definition. */
|
|
3315
|
+
interface PptxSmartArtQuickStyleLabel {
|
|
3316
|
+
name: string;
|
|
3317
|
+
}
|
|
3318
|
+
/** CT_CTStyleLabel metadata from a color-transform definition. */
|
|
3319
|
+
interface PptxSmartArtColorStyleLabel {
|
|
3320
|
+
name: string;
|
|
3321
|
+
fill?: PptxSmartArtColorListMetadata;
|
|
3322
|
+
line?: PptxSmartArtColorListMetadata;
|
|
3323
|
+
effect?: PptxSmartArtColorListMetadata;
|
|
3324
|
+
textLine?: PptxSmartArtColorListMetadata;
|
|
3325
|
+
textFill?: PptxSmartArtColorListMetadata;
|
|
3326
|
+
textEffect?: PptxSmartArtColorListMetadata;
|
|
3327
|
+
}
|
|
3328
|
+
interface PptxSmartArtDefinitionMetadata {
|
|
3329
|
+
uniqueId?: string;
|
|
3330
|
+
minimumVersion?: string;
|
|
3331
|
+
titles?: PptxSmartArtDefinitionText[];
|
|
3332
|
+
descriptions?: PptxSmartArtDefinitionText[];
|
|
3333
|
+
categories?: PptxSmartArtDefinitionCategory[];
|
|
3334
|
+
}
|
|
3335
|
+
/** Typed CT_ColorTransform metadata and the resolved legacy color palette. */
|
|
3336
|
+
interface PptxSmartArtColorTransform extends PptxSmartArtDefinitionMetadata {
|
|
3337
|
+
/** Legacy resolved display name. */
|
|
3338
|
+
name?: string;
|
|
3339
|
+
/** Ordered resolved fill colors for rendering. */
|
|
3340
|
+
fillColors: string[];
|
|
3341
|
+
/** Ordered resolved line colors for rendering. */
|
|
3342
|
+
lineColors: string[];
|
|
3343
|
+
/** Ordered CT_CTStyleLabel metadata. */
|
|
3344
|
+
labels?: PptxSmartArtColorStyleLabel[];
|
|
3345
|
+
}
|
|
3346
|
+
/** Typed CT_StyleDefinition metadata and legacy rendering hint. */
|
|
3347
|
+
interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
|
|
3348
|
+
/** Legacy resolved display name. */
|
|
3349
|
+
name?: string;
|
|
3350
|
+
/** Legacy effect-intensity rendering hint. */
|
|
3351
|
+
effectIntensity?: string;
|
|
3352
|
+
/** Ordered CT_StyleLabel metadata. Complex style payload remains preserved XML. */
|
|
3353
|
+
labels?: PptxSmartArtQuickStyleLabel[];
|
|
3354
|
+
}
|
|
3355
|
+
|
|
2787
3356
|
/**
|
|
2788
3357
|
* SmartArt types: layout categories, layout presets, colour schemes,
|
|
2789
3358
|
* data-model nodes/connections, drawing shapes, chrome, and the composite
|
|
@@ -2846,6 +3415,8 @@ type SmartArtStyle = 'flat' | 'moderate' | 'intense';
|
|
|
2846
3415
|
* ```
|
|
2847
3416
|
*/
|
|
2848
3417
|
interface PptxSmartArtConnection {
|
|
3418
|
+
/** Stable CT_Cxn model identifier. Required when serialized. */
|
|
3419
|
+
modelId?: string | null;
|
|
2849
3420
|
/** Model ID of the source node. */
|
|
2850
3421
|
sourceId: string;
|
|
2851
3422
|
/** Model ID of the destination node. */
|
|
@@ -2856,6 +3427,12 @@ interface PptxSmartArtConnection {
|
|
|
2856
3427
|
srcOrd?: number;
|
|
2857
3428
|
/** Destination index for ordering. */
|
|
2858
3429
|
destOrd?: number;
|
|
3430
|
+
/** Model ID of the parent transition point associated with this edge. */
|
|
3431
|
+
parentTransitionId?: string | null;
|
|
3432
|
+
/** Model ID of the sibling transition point associated with this edge. */
|
|
3433
|
+
siblingTransitionId?: string | null;
|
|
3434
|
+
/** Layout presentation identifier used by presentation connections. */
|
|
3435
|
+
presentationId?: string | null;
|
|
2859
3436
|
}
|
|
2860
3437
|
/**
|
|
2861
3438
|
* A pre-computed shape from `ppt/diagrams/drawing*.xml`.
|
|
@@ -2872,7 +3449,7 @@ interface PptxSmartArtConnection {
|
|
|
2872
3449
|
* // => satisfies PptxSmartArtDrawingShape
|
|
2873
3450
|
* ```
|
|
2874
3451
|
*/
|
|
2875
|
-
interface PptxSmartArtDrawingShape {
|
|
3452
|
+
interface PptxSmartArtDrawingShape extends PptxCustomPathProperties {
|
|
2876
3453
|
/** Shape ID within the drawing. */
|
|
2877
3454
|
id: string;
|
|
2878
3455
|
/** Preset geometry type (e.g. "roundRect", "ellipse"). */
|
|
@@ -2896,6 +3473,8 @@ interface PptxSmartArtDrawingShape {
|
|
|
2896
3473
|
strokeWidth?: number;
|
|
2897
3474
|
/** Text content of the shape. */
|
|
2898
3475
|
text?: string;
|
|
3476
|
+
/** Standard rich-text segments projected from the associated SmartArt node. */
|
|
3477
|
+
textSegments?: TextSegment[];
|
|
2899
3478
|
/** Font size in points. */
|
|
2900
3479
|
fontSize?: number;
|
|
2901
3480
|
/** Font colour (hex). */
|
|
@@ -2922,45 +3501,6 @@ interface PptxSmartArtChrome {
|
|
|
2922
3501
|
/** Outline stroke width in points. */
|
|
2923
3502
|
outlineWidth?: number;
|
|
2924
3503
|
}
|
|
2925
|
-
/**
|
|
2926
|
-
* Colour transform entry from `ppt/diagrams/colors*.xml`.
|
|
2927
|
-
*
|
|
2928
|
-
* @example
|
|
2929
|
-
* ```ts
|
|
2930
|
-
* const transform: PptxSmartArtColorTransform = {
|
|
2931
|
-
* name: "Colorful - Accent Colors",
|
|
2932
|
-
* fillColors: ["#4F81BD", "#C0504D", "#9BBB59"],
|
|
2933
|
-
* lineColors: ["#385D8A", "#8C3836", "#71893F"],
|
|
2934
|
-
* };
|
|
2935
|
-
* // => satisfies PptxSmartArtColorTransform
|
|
2936
|
-
* ```
|
|
2937
|
-
*/
|
|
2938
|
-
interface PptxSmartArtColorTransform {
|
|
2939
|
-
/** Colour scheme name / title. */
|
|
2940
|
-
name?: string;
|
|
2941
|
-
/** Ordered list of fill colours (hex) for each node. */
|
|
2942
|
-
fillColors: string[];
|
|
2943
|
-
/** Ordered list of line colours (hex). */
|
|
2944
|
-
lineColors: string[];
|
|
2945
|
-
}
|
|
2946
|
-
/**
|
|
2947
|
-
* Style entry from `ppt/diagrams/quickStyles*.xml`.
|
|
2948
|
-
*
|
|
2949
|
-
* @example
|
|
2950
|
-
* ```ts
|
|
2951
|
-
* const qs: PptxSmartArtQuickStyle = {
|
|
2952
|
-
* name: "Moderate Effect",
|
|
2953
|
-
* effectIntensity: "moderate",
|
|
2954
|
-
* };
|
|
2955
|
-
* // => satisfies PptxSmartArtQuickStyle
|
|
2956
|
-
* ```
|
|
2957
|
-
*/
|
|
2958
|
-
interface PptxSmartArtQuickStyle {
|
|
2959
|
-
/** Style name / title. */
|
|
2960
|
-
name?: string;
|
|
2961
|
-
/** Effect intensity identifier (e.g. "subtle", "moderate", "intense"). */
|
|
2962
|
-
effectIntensity?: string;
|
|
2963
|
-
}
|
|
2964
3504
|
/**
|
|
2965
3505
|
* Complete parsed SmartArt data for a {@link SmartArtPptxElement}.
|
|
2966
3506
|
*
|
|
@@ -3000,14 +3540,28 @@ interface PptxSmartArtData {
|
|
|
3000
3540
|
colorTransform?: PptxSmartArtColorTransform;
|
|
3001
3541
|
/** Quick style from `ppt/diagrams/quickStyles*.xml`. */
|
|
3002
3542
|
quickStyle?: PptxSmartArtQuickStyle;
|
|
3543
|
+
/** Editable metadata from the related DiagramML layout definition. */
|
|
3544
|
+
layoutDefinition?: PptxSmartArtLayoutDefinition;
|
|
3003
3545
|
/** Relationship ID for the diagram data part (for round-trip save). */
|
|
3004
3546
|
dataRelId?: string;
|
|
3547
|
+
/** Relationship ID for the diagram layout part. */
|
|
3548
|
+
layoutRelId?: string;
|
|
3005
3549
|
/** Relationship ID for the drawing part. */
|
|
3006
3550
|
drawingRelId?: string;
|
|
3007
3551
|
/** Relationship ID for the colours part. */
|
|
3008
3552
|
colorsRelId?: string;
|
|
3009
3553
|
/** Relationship ID for the quick-styles part. */
|
|
3010
3554
|
styleRelId?: string;
|
|
3555
|
+
/** Internal save hint: the layout definition changed in the editor. */
|
|
3556
|
+
layoutDirty?: boolean;
|
|
3557
|
+
/** Internal save hint: typed layout-definition metadata changed. */
|
|
3558
|
+
layoutDefinitionDirty?: boolean;
|
|
3559
|
+
/** Internal save hint: quick-style definition metadata changed. */
|
|
3560
|
+
quickStyleDirty?: boolean;
|
|
3561
|
+
/** Internal save hint: color-transform definition metadata changed. */
|
|
3562
|
+
colorTransformDirty?: boolean;
|
|
3563
|
+
/** Internal save hint: cached drawing geometry or text changed in the editor. */
|
|
3564
|
+
drawingDirty?: boolean;
|
|
3011
3565
|
}
|
|
3012
3566
|
|
|
3013
3567
|
/**
|
|
@@ -3616,6 +4170,13 @@ interface MediaPptxElement extends PptxElementBase {
|
|
|
3616
4170
|
mediaPath?: string;
|
|
3617
4171
|
mediaData?: string;
|
|
3618
4172
|
mediaMimeType?: string;
|
|
4173
|
+
mediaReferenceKind?: PptxMediaReferenceKind;
|
|
4174
|
+
mediaReferenceName?: string;
|
|
4175
|
+
/** Explicit DrawingML `audioFile/@contentType` value when present. */
|
|
4176
|
+
mediaReferenceContentType?: string;
|
|
4177
|
+
audioCdStart?: PptxAudioCdPosition;
|
|
4178
|
+
audioCdEnd?: PptxAudioCdPosition;
|
|
4179
|
+
rawMediaReferenceXml?: XmlObject;
|
|
3619
4180
|
/** Trim start in milliseconds (from p:cMediaNode p:cTn @st). */
|
|
3620
4181
|
trimStartMs?: number;
|
|
3621
4182
|
/** Trim end in milliseconds (from p:cMediaNode p:cTn @end). */
|
|
@@ -3736,6 +4297,10 @@ interface ContentPartPptxElement extends PptxElementBase {
|
|
|
3736
4297
|
type: 'contentPart';
|
|
3737
4298
|
/** Ink strokes contained in this content part. */
|
|
3738
4299
|
inkStrokes?: ContentPartInkStroke[];
|
|
4300
|
+
/** Package path of the related InkML part. */
|
|
4301
|
+
inkPartPath?: string;
|
|
4302
|
+
/** Parsed InkML root retained for unknown-node preservation on dirty save. */
|
|
4303
|
+
inkPartRawXml?: XmlObject;
|
|
3739
4304
|
}
|
|
3740
4305
|
/**
|
|
3741
4306
|
* A Slide Zoom or Section Zoom element (PowerPoint Zoom Object).
|
|
@@ -3756,12 +4321,32 @@ interface ContentPartPptxElement extends PptxElementBase {
|
|
|
3756
4321
|
*/
|
|
3757
4322
|
interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
|
|
3758
4323
|
type: 'zoom';
|
|
3759
|
-
/** Type of zoom: slide-level or section
|
|
3760
|
-
zoomType: 'slide' | 'section';
|
|
4324
|
+
/** Type of zoom: slide-level, section-level, or a multi-section summary. */
|
|
4325
|
+
zoomType: 'slide' | 'section' | 'summary';
|
|
3761
4326
|
/** Zero-based index of the target slide. */
|
|
3762
4327
|
targetSlideIndex: number;
|
|
3763
4328
|
/** Section ID for section zoom. */
|
|
3764
4329
|
targetSectionId?: string;
|
|
4330
|
+
/** Ordered section tiles in a Summary Zoom container. */
|
|
4331
|
+
summaryTargets?: SummaryZoomTarget[];
|
|
4332
|
+
/** Layout mode authored on the Summary Zoom container. */
|
|
4333
|
+
summaryLayout?: 'grid' | 'fixed';
|
|
4334
|
+
}
|
|
4335
|
+
/** A single section tile within a PowerPoint Summary Zoom container. */
|
|
4336
|
+
interface SummaryZoomTarget extends PptxImageProperties {
|
|
4337
|
+
sectionId: string;
|
|
4338
|
+
targetSlideIndex: number;
|
|
4339
|
+
x: number;
|
|
4340
|
+
y: number;
|
|
4341
|
+
width: number;
|
|
4342
|
+
height: number;
|
|
4343
|
+
title?: string;
|
|
4344
|
+
description?: string;
|
|
4345
|
+
offsetFactorX?: number;
|
|
4346
|
+
offsetFactorY?: number;
|
|
4347
|
+
scaleFactorX?: number;
|
|
4348
|
+
scaleFactorY?: number;
|
|
4349
|
+
rawXml?: XmlObject;
|
|
3765
4350
|
}
|
|
3766
4351
|
/**
|
|
3767
4352
|
* A 3D model object embedded via `p16:model3D` inside an
|
|
@@ -4050,6 +4635,44 @@ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevi
|
|
|
4050
4635
|
* is preserved alongside other animations.
|
|
4051
4636
|
*/
|
|
4052
4637
|
type PptxNativeAnimationKind = 'media';
|
|
4638
|
+
/** A target selected by `p:tgtEl` in the PresentationML timing model. */
|
|
4639
|
+
type PptxAnimationTarget = {
|
|
4640
|
+
type: 'shape';
|
|
4641
|
+
shapeId: string;
|
|
4642
|
+
rawXml?: XmlObject;
|
|
4643
|
+
} | {
|
|
4644
|
+
type: 'slide';
|
|
4645
|
+
rawXml?: XmlObject;
|
|
4646
|
+
} | {
|
|
4647
|
+
type: 'sound';
|
|
4648
|
+
relationshipId: string;
|
|
4649
|
+
name?: string;
|
|
4650
|
+
rawXml?: XmlObject;
|
|
4651
|
+
} | {
|
|
4652
|
+
type: 'ink';
|
|
4653
|
+
shapeId: string;
|
|
4654
|
+
rawXml?: XmlObject;
|
|
4655
|
+
} | {
|
|
4656
|
+
type: 'unknown';
|
|
4657
|
+
rawXml: XmlObject;
|
|
4658
|
+
};
|
|
4659
|
+
/** Nested build choice carried by `p:bldGraphic`. */
|
|
4660
|
+
type PptxGraphicBuild = {
|
|
4661
|
+
mode: 'asOne';
|
|
4662
|
+
rawXml?: XmlObject;
|
|
4663
|
+
} | {
|
|
4664
|
+
mode: 'sub';
|
|
4665
|
+
kind: 'diagram';
|
|
4666
|
+
build: string;
|
|
4667
|
+
reverse: boolean;
|
|
4668
|
+
rawXml?: XmlObject;
|
|
4669
|
+
} | {
|
|
4670
|
+
mode: 'sub';
|
|
4671
|
+
kind: 'chart';
|
|
4672
|
+
build: string;
|
|
4673
|
+
animateBackground: boolean;
|
|
4674
|
+
rawXml?: XmlObject;
|
|
4675
|
+
};
|
|
4053
4676
|
/**
|
|
4054
4677
|
* Parsed native animation record from `p:timing / p:tnLst`.
|
|
4055
4678
|
*
|
|
@@ -4071,6 +4694,8 @@ type PptxNativeAnimationKind = 'media';
|
|
|
4071
4694
|
interface PptxNativeAnimation {
|
|
4072
4695
|
/** Target element/shape ID. */
|
|
4073
4696
|
targetId?: string;
|
|
4697
|
+
/** Full timing target, including sound and ink target variants. */
|
|
4698
|
+
target?: PptxAnimationTarget;
|
|
4074
4699
|
/** Trigger type. */
|
|
4075
4700
|
trigger?: PptxAnimationTrigger;
|
|
4076
4701
|
/** Shape ID that triggers this animation when clicked (interactive sequence). */
|
|
@@ -4175,6 +4800,8 @@ interface PptxNativeAnimation {
|
|
|
4175
4800
|
* that aren't OLE charts).
|
|
4176
4801
|
*/
|
|
4177
4802
|
graphicBuild?: string;
|
|
4803
|
+
/** Schema-accurate `p:bldGraphic/p:bldAsOne|p:bldSub` representation. */
|
|
4804
|
+
graphicBuildProperties?: PptxGraphicBuild;
|
|
4178
4805
|
/**
|
|
4179
4806
|
* Opaque map of `p:cTn` attributes that don't have a typed home on this
|
|
4180
4807
|
* interface but must round-trip through parse → save. Keys are stored
|
|
@@ -4291,6 +4918,8 @@ interface AnimationCondition {
|
|
|
4291
4918
|
targetShapeId?: string;
|
|
4292
4919
|
/** Whether the condition targets a slide (from `p:tgtEl/p:sldTgt`). */
|
|
4293
4920
|
targetSlide?: boolean;
|
|
4921
|
+
/** Full target choice, including `p:sndTgt` and `p:inkTgt`. */
|
|
4922
|
+
target?: PptxAnimationTarget;
|
|
4294
4923
|
}
|
|
4295
4924
|
/** Iteration configuration from `p:iterate`. */
|
|
4296
4925
|
interface PptxAnimationIterate {
|
|
@@ -4369,12 +4998,40 @@ interface PptxElementAnimation {
|
|
|
4369
4998
|
stopSound?: boolean;
|
|
4370
4999
|
}
|
|
4371
5000
|
|
|
5001
|
+
interface PptxEmbeddedFontDataId {
|
|
5002
|
+
/** Required relationship identifier from `r:id`. */
|
|
5003
|
+
relationshipId?: string | null;
|
|
5004
|
+
/** Original leaf retained for unknown attribute preservation. */
|
|
5005
|
+
rawXml?: XmlObject;
|
|
5006
|
+
}
|
|
5007
|
+
interface PptxEmbeddedFontDescriptor {
|
|
5008
|
+
typeface?: string | null;
|
|
5009
|
+
panose?: string | null;
|
|
5010
|
+
pitchFamily?: string | null;
|
|
5011
|
+
charset?: string | null;
|
|
5012
|
+
rawXml?: XmlObject;
|
|
5013
|
+
}
|
|
5014
|
+
interface PptxEmbeddedFontListEntry {
|
|
5015
|
+
font: PptxEmbeddedFontDescriptor;
|
|
5016
|
+
regular?: PptxEmbeddedFontDataId | null;
|
|
5017
|
+
bold?: PptxEmbeddedFontDataId | null;
|
|
5018
|
+
italic?: PptxEmbeddedFontDataId | null;
|
|
5019
|
+
boldItalic?: PptxEmbeddedFontDataId | null;
|
|
5020
|
+
rawXml?: XmlObject;
|
|
5021
|
+
}
|
|
5022
|
+
interface PptxEmbeddedFontList {
|
|
5023
|
+
fonts: PptxEmbeddedFontListEntry[];
|
|
5024
|
+
/** Original list retained for unknown attribute and child preservation. */
|
|
5025
|
+
rawXml?: XmlObject;
|
|
5026
|
+
}
|
|
5027
|
+
|
|
4372
5028
|
/**
|
|
4373
5029
|
* Metadata types: slide comments, compatibility warnings, tags,
|
|
4374
5030
|
* custom properties, core/app document properties.
|
|
4375
5031
|
*
|
|
4376
5032
|
* @module pptx-types/metadata
|
|
4377
5033
|
*/
|
|
5034
|
+
|
|
4378
5035
|
/**
|
|
4379
5036
|
* A slide comment — may be a legacy positional comment or a modern
|
|
4380
5037
|
* threaded comment with replies.
|
|
@@ -4394,6 +5051,10 @@ interface PptxElementAnimation {
|
|
|
4394
5051
|
interface PptxComment {
|
|
4395
5052
|
id: string;
|
|
4396
5053
|
text: string;
|
|
5054
|
+
/** Storage vocabulary used by this comment. Omitted means legacy PresentationML. */
|
|
5055
|
+
format?: 'legacy' | 'modern';
|
|
5056
|
+
/** Stable GUID author identifier used by Office 2021 modern comments. */
|
|
5057
|
+
authorId?: string;
|
|
4397
5058
|
/** Optional parent comment id for reply threading metadata. */
|
|
4398
5059
|
parentId?: string;
|
|
4399
5060
|
author?: string;
|
|
@@ -4402,12 +5063,35 @@ interface PptxComment {
|
|
|
4402
5063
|
y?: number;
|
|
4403
5064
|
/** Whether this comment has been resolved/marked done. */
|
|
4404
5065
|
resolved?: boolean;
|
|
5066
|
+
/** Native p188 status token. */
|
|
5067
|
+
status?: 'active' | 'resolved' | 'closed';
|
|
5068
|
+
/** Modern comment classification tags and author IDs that liked the comment. */
|
|
5069
|
+
tags?: string[];
|
|
5070
|
+
likes?: string[];
|
|
5071
|
+
startDate?: string;
|
|
5072
|
+
dueDate?: string;
|
|
5073
|
+
assignedTo?: string[];
|
|
5074
|
+
/** Task completion in thousandths of a percent, from 0 through 100000. */
|
|
5075
|
+
complete?: number;
|
|
5076
|
+
priority?: number;
|
|
5077
|
+
title?: string;
|
|
4405
5078
|
/** Modern threaded comment support (p15:threadingInfo). */
|
|
4406
5079
|
threadId?: string;
|
|
4407
5080
|
/** Replies to this comment (for modern threaded comments). */
|
|
4408
5081
|
replies?: PptxComment[];
|
|
4409
5082
|
/** ID of the element this comment is associated with (if any). */
|
|
4410
5083
|
elementId?: string;
|
|
5084
|
+
/** Original `p:cm` subtree, retained for unknown child and extension preservation. */
|
|
5085
|
+
rawXml?: XmlObject;
|
|
5086
|
+
}
|
|
5087
|
+
/** Office 2021 comment author from the p188 Author part. */
|
|
5088
|
+
interface PptxModernCommentAuthor {
|
|
5089
|
+
id: string;
|
|
5090
|
+
name: string;
|
|
5091
|
+
initials?: string;
|
|
5092
|
+
userId: string;
|
|
5093
|
+
providerId: string;
|
|
5094
|
+
rawXml?: XmlObject;
|
|
4411
5095
|
}
|
|
4412
5096
|
/**
|
|
4413
5097
|
* A comment author from `ppt/commentAuthors.xml`.
|
|
@@ -4440,6 +5124,8 @@ interface PptxCommentAuthor {
|
|
|
4440
5124
|
lastIdx: number;
|
|
4441
5125
|
/** Colour index assigned to this author (`@_clrIdx`). */
|
|
4442
5126
|
clrIdx: number;
|
|
5127
|
+
/** Original `p:cmAuthor` subtree, retained for unknown attribute preservation. */
|
|
5128
|
+
rawXml?: XmlObject;
|
|
4443
5129
|
}
|
|
4444
5130
|
/**
|
|
4445
5131
|
* A compatibility warning generated during parse or save when the
|
|
@@ -4494,9 +5180,17 @@ interface PptxTag {
|
|
|
4494
5180
|
*/
|
|
4495
5181
|
interface PptxTagCollection {
|
|
4496
5182
|
/** File path within the PPTX archive. */
|
|
4497
|
-
path
|
|
5183
|
+
path?: string;
|
|
5184
|
+
/** Package owner of the tags relationship. New collections default to presentation. */
|
|
5185
|
+
owner?: 'presentation' | 'slide' | 'part';
|
|
5186
|
+
/** Source OPC part that owns the relationship, e.g. ppt/slides/slide1.xml. */
|
|
5187
|
+
sourcePartPath?: string;
|
|
5188
|
+
/** Durable relationship identifier from the owning part. */
|
|
5189
|
+
relationshipId?: string;
|
|
4498
5190
|
/** Tags in this collection. */
|
|
4499
5191
|
tags: PptxTag[];
|
|
5192
|
+
/** Parsed tag-list XML retained for unknown-node preservation. */
|
|
5193
|
+
rawXml?: XmlObject;
|
|
4500
5194
|
}
|
|
4501
5195
|
/**
|
|
4502
5196
|
* A custom document property from `docProps/custom.xml`.
|
|
@@ -4601,6 +5295,19 @@ interface PptxAppProperties {
|
|
|
4601
5295
|
/** Hyperlink base URL. */
|
|
4602
5296
|
hyperlinkBase?: string;
|
|
4603
5297
|
}
|
|
5298
|
+
|
|
5299
|
+
type PptxPrintOutput = 'slides' | 'handouts1' | 'handouts2' | 'handouts3' | 'handouts4' | 'handouts6' | 'handouts9' | 'notes' | 'outline';
|
|
5300
|
+
type PptxPrintColorMode = 'bw' | 'gray' | 'clr';
|
|
5301
|
+
/** PresentationML `CT_PrintProperties` (`p:prnPr`). */
|
|
5302
|
+
interface PptxPresentationPrintProperties {
|
|
5303
|
+
printWhat?: PptxPrintOutput | null;
|
|
5304
|
+
colorMode?: PptxPrintColorMode | null;
|
|
5305
|
+
hiddenSlides?: boolean | null;
|
|
5306
|
+
scaleToFitPaper?: boolean | null;
|
|
5307
|
+
frameSlides?: boolean | null;
|
|
5308
|
+
/** Original subtree retained for unknown attributes and `p:extLst`. */
|
|
5309
|
+
rawXml?: XmlObject;
|
|
5310
|
+
}
|
|
4604
5311
|
/**
|
|
4605
5312
|
* Resolved hex values for the 12 theme colour slots.
|
|
4606
5313
|
*
|
|
@@ -4887,6 +5594,8 @@ interface PptxTheme {
|
|
|
4887
5594
|
type PptxTransitionType = 'none' | 'cut' | 'fade' | 'push' | 'wipe' | 'split' | 'randomBar' | 'blinds' | 'checker' | 'circle' | 'comb' | 'cover' | 'diamond' | 'dissolve' | 'plus' | 'pull' | 'random' | 'strips' | 'uncover' | 'wedge' | 'wheel' | 'zoom' | 'newsflash' | 'morph' | 'conveyor' | 'doors' | 'ferris' | 'flash' | 'flythrough' | 'gallery' | 'glitter' | 'honeycomb' | 'pan' | 'prism' | 'reveal' | 'ripple' | 'shred' | 'switch' | 'vortex' | 'warp' | 'wheelReverse' | 'window' | 'cube' | 'flip' | 'rotate' | 'orbit';
|
|
4888
5595
|
/** Split orientation from OOXML `@_orient`. */
|
|
4889
5596
|
type PptxSplitOrientation = 'horz' | 'vert';
|
|
5597
|
+
/** Schema-defined `ST_TransitionSpeed` values. */
|
|
5598
|
+
type PptxTransitionSpeed = 'slow' | 'med' | 'fast';
|
|
4890
5599
|
/**
|
|
4891
5600
|
* Slide transition configuration.
|
|
4892
5601
|
*
|
|
@@ -4903,6 +5612,8 @@ type PptxSplitOrientation = 'horz' | 'vert';
|
|
|
4903
5612
|
*/
|
|
4904
5613
|
interface PptxSlideTransition {
|
|
4905
5614
|
type: PptxTransitionType;
|
|
5615
|
+
/** Schema-defined transition speed. Defaults to `fast` when omitted. */
|
|
5616
|
+
speed?: PptxTransitionSpeed;
|
|
4906
5617
|
durationMs?: number;
|
|
4907
5618
|
direction?: string;
|
|
4908
5619
|
advanceOnClick?: boolean;
|
|
@@ -4917,6 +5628,10 @@ interface PptxSlideTransition {
|
|
|
4917
5628
|
orient?: PptxSplitOrientation;
|
|
4918
5629
|
/** Relationship ID of transition sound from `p:sndAc/p:stSnd/@r:embed` when present. */
|
|
4919
5630
|
soundRId?: string;
|
|
5631
|
+
/** Embedded WAV display name from `p:stSnd/p:snd/@name`. */
|
|
5632
|
+
soundName?: string;
|
|
5633
|
+
/** Whether the transition sound repeats until another sound starts. */
|
|
5634
|
+
soundLoop?: boolean;
|
|
4920
5635
|
/** Resolved transition sound media path within the package. */
|
|
4921
5636
|
soundPath?: string;
|
|
4922
5637
|
/** Human-readable sound file name (extracted from soundPath). */
|
|
@@ -4930,6 +5645,8 @@ interface PptxSlideTransition {
|
|
|
4930
5645
|
rawSoundAction?: XmlObject;
|
|
4931
5646
|
/** Preserved extension-list XML node from `p:extLst` within the transition for lossless round-trip. */
|
|
4932
5647
|
rawExtLst?: XmlObject;
|
|
5648
|
+
/** Original transition node, retained to preserve unknown attributes and children. */
|
|
5649
|
+
rawTransition?: XmlObject;
|
|
4933
5650
|
}
|
|
4934
5651
|
|
|
4935
5652
|
/**
|
|
@@ -4949,6 +5666,11 @@ interface PptxViewScale {
|
|
|
4949
5666
|
n: number;
|
|
4950
5667
|
/** Denominator of the scale percentage (e.g. 100 for 100%). */
|
|
4951
5668
|
d: number;
|
|
5669
|
+
/** Optional independent vertical scale. When absent, the X scale is used. */
|
|
5670
|
+
sy?: {
|
|
5671
|
+
n: number;
|
|
5672
|
+
d: number;
|
|
5673
|
+
};
|
|
4952
5674
|
}
|
|
4953
5675
|
/**
|
|
4954
5676
|
* Origin point for a view (x, y in twips or EMU).
|
|
@@ -4957,6 +5679,16 @@ interface PptxViewOrigin {
|
|
|
4957
5679
|
x: number;
|
|
4958
5680
|
y: number;
|
|
4959
5681
|
}
|
|
5682
|
+
/** A horizontal or vertical drawing guide in slide coordinates. */
|
|
5683
|
+
interface PptxViewGuide {
|
|
5684
|
+
orientation?: 'horz' | 'vert';
|
|
5685
|
+
position?: number;
|
|
5686
|
+
}
|
|
5687
|
+
/** Positive grid spacing from `p:gridSpacing`. */
|
|
5688
|
+
interface PptxGridSpacing {
|
|
5689
|
+
cx: number;
|
|
5690
|
+
cy: number;
|
|
5691
|
+
}
|
|
4960
5692
|
/**
|
|
4961
5693
|
* Restored region dimensions for normal view splitter.
|
|
4962
5694
|
* Represents `p:restoredLeft` or `p:restoredTop`.
|
|
@@ -4998,6 +5730,10 @@ interface PptxCommonSlideViewProperties {
|
|
|
4998
5730
|
snapToObjects?: boolean;
|
|
4999
5731
|
/** Whether drawing guides are shown. */
|
|
5000
5732
|
showGuides?: boolean;
|
|
5733
|
+
/** Whether the application may vary the scale automatically. */
|
|
5734
|
+
variableScale?: boolean;
|
|
5735
|
+
/** Drawing guides shown in this slide view. */
|
|
5736
|
+
guides?: PptxViewGuide[];
|
|
5001
5737
|
/** View origin (scroll position). */
|
|
5002
5738
|
origin?: PptxViewOrigin;
|
|
5003
5739
|
/** View scale. */
|
|
@@ -5025,6 +5761,8 @@ interface PptxViewProperties {
|
|
|
5025
5761
|
};
|
|
5026
5762
|
/** Notes view properties. */
|
|
5027
5763
|
notesViewPr?: PptxCommonSlideViewProperties;
|
|
5764
|
+
/** Grid spacing in positive DrawingML coordinates. */
|
|
5765
|
+
gridSpacing?: PptxGridSpacing;
|
|
5028
5766
|
/** Raw XML preserved for lossless round-trip of unparsed attributes. */
|
|
5029
5767
|
rawXml?: Record<string, unknown>;
|
|
5030
5768
|
}
|
|
@@ -5039,12 +5777,16 @@ interface PptxViewProperties {
|
|
|
5039
5777
|
* @see ECMA-376 Part 1, §19.2.1.3 (custDataLst), §19.3.1.6 (custData)
|
|
5040
5778
|
*/
|
|
5041
5779
|
interface PptxCustomerData {
|
|
5042
|
-
/** Resolved part path inside the package (e.g. `
|
|
5043
|
-
id
|
|
5780
|
+
/** Resolved part path inside the package (e.g. `customXml/item1.xml`). */
|
|
5781
|
+
id?: string;
|
|
5044
5782
|
/** Relationship ID referencing the custom data part. */
|
|
5045
|
-
relId
|
|
5783
|
+
relId?: string;
|
|
5046
5784
|
/** Raw string content of the custom data part (if resolvable). */
|
|
5047
5785
|
data?: string;
|
|
5786
|
+
/** OPC content type for the custom data part. */
|
|
5787
|
+
contentType?: string;
|
|
5788
|
+
/** Raw `p:custData` XML retained for unknown-node preservation. */
|
|
5789
|
+
rawXml?: XmlObject;
|
|
5048
5790
|
}
|
|
5049
5791
|
/**
|
|
5050
5792
|
* An ActiveX control reference from `p:controls / p:control`.
|
|
@@ -5169,6 +5911,8 @@ interface PptxSlide {
|
|
|
5169
5911
|
/** Optional `<p:cSld @name>` value of the notes slide, for round-trip. */
|
|
5170
5912
|
notesCSldName?: string;
|
|
5171
5913
|
comments?: PptxComment[];
|
|
5914
|
+
/** Source package metadata for an Office 2021 p188 comment part. */
|
|
5915
|
+
modernCommentPart?: PptxModernCommentPart;
|
|
5172
5916
|
warnings?: PptxCompatibilityWarning[];
|
|
5173
5917
|
rawXml?: XmlObject;
|
|
5174
5918
|
/** Per-slide colour map override parsed from `p:clrMapOvr`. */
|
|
@@ -5187,6 +5931,24 @@ interface PptxSlide {
|
|
|
5187
5931
|
activeXControls?: PptxActiveXControl[];
|
|
5188
5932
|
/** Per-slide header/footer flags from `<p:hf>` (P-H3). */
|
|
5189
5933
|
headerFooterFlags?: PptxHeaderFooterFlags;
|
|
5934
|
+
/** Server-backed slide synchronization metadata stored in a related OPC part. */
|
|
5935
|
+
slideSynchronization?: PptxSlideSyncProperties;
|
|
5936
|
+
}
|
|
5937
|
+
interface PptxModernCommentPart {
|
|
5938
|
+
path: string;
|
|
5939
|
+
relationshipId: string;
|
|
5940
|
+
/** Original p188:cmLst root, including unknown attributes and extensions. */
|
|
5941
|
+
rawXml?: XmlObject;
|
|
5942
|
+
}
|
|
5943
|
+
/** Metadata from a `p:sldSyncPr` slide synchronization data part. */
|
|
5944
|
+
interface PptxSlideSyncProperties {
|
|
5945
|
+
serverSlideId: string;
|
|
5946
|
+
serverSlideModifiedTime: string;
|
|
5947
|
+
clientInsertedTime: string;
|
|
5948
|
+
extensionList?: XmlObject;
|
|
5949
|
+
rawXml?: XmlObject;
|
|
5950
|
+
partPath?: string;
|
|
5951
|
+
relationshipId?: string;
|
|
5190
5952
|
}
|
|
5191
5953
|
/**
|
|
5192
5954
|
* A slide layout available in the loaded presentation.
|
|
@@ -5273,11 +6035,13 @@ interface PptxPresentationProperties {
|
|
|
5273
6035
|
showSlidesTo?: number;
|
|
5274
6036
|
/** Whether to show subtitles/captions during presentation mode. */
|
|
5275
6037
|
showSubtitles?: boolean;
|
|
5276
|
-
/**
|
|
6038
|
+
/** Typed `p:prnPr` settings. Set to null during save to remove the element. */
|
|
6039
|
+
printProperties?: PptxPresentationPrintProperties | null;
|
|
6040
|
+
/** @deprecated Use `printProperties.printWhat`; retained as a handout compatibility alias. */
|
|
5277
6041
|
printSlidesPerPage?: number;
|
|
5278
|
-
/**
|
|
6042
|
+
/** @deprecated Use `printProperties.frameSlides`. */
|
|
5279
6043
|
printFrameSlides?: boolean;
|
|
5280
|
-
/**
|
|
6044
|
+
/** @deprecated Use `printProperties.colorMode`. */
|
|
5281
6045
|
printColorMode?: 'clr' | 'gray' | 'bw';
|
|
5282
6046
|
/** Most-recently-used colours from the presentation palette. */
|
|
5283
6047
|
mruColors?: string[];
|
|
@@ -5314,6 +6078,8 @@ interface PptxCustomShow {
|
|
|
5314
6078
|
id: string;
|
|
5315
6079
|
/** Ordered list of slide relationship IDs included in this custom show. */
|
|
5316
6080
|
slideRIds: string[];
|
|
6081
|
+
/** Original `p:custShow` subtree used to preserve unmodelled attributes and extensions. */
|
|
6082
|
+
rawXml?: XmlObject;
|
|
5317
6083
|
}
|
|
5318
6084
|
/**
|
|
5319
6085
|
* An ordered section in the presentation (from `p:sectionLst` / `p14:sectionLst`).
|
|
@@ -5342,6 +6108,8 @@ interface PptxSection {
|
|
|
5342
6108
|
collapsed?: boolean;
|
|
5343
6109
|
/** Section highlight color hex (from p15:sectionPr/@clr). */
|
|
5344
6110
|
color?: string;
|
|
6111
|
+
/** Original section subtree used to preserve unmodelled attributes and extensions. */
|
|
6112
|
+
rawXml?: XmlObject;
|
|
5345
6113
|
}
|
|
5346
6114
|
/**
|
|
5347
6115
|
* Write-protection hash data parsed from `p:modifyVerifier` in `presentation.xml`.
|
|
@@ -5410,11 +6178,13 @@ interface PptxPhotoAlbum {
|
|
|
5410
6178
|
*/
|
|
5411
6179
|
interface PptxKinsoku {
|
|
5412
6180
|
/** Language code (e.g. "ja-JP", "zh-CN"). */
|
|
5413
|
-
lang?: string;
|
|
6181
|
+
lang?: string | null;
|
|
5414
6182
|
/** Characters that cannot begin a line. */
|
|
5415
6183
|
invalStChars?: string;
|
|
5416
6184
|
/** Characters that cannot end a line. */
|
|
5417
6185
|
invalEndChars?: string;
|
|
6186
|
+
/** Original leaf retained for unknown attribute preservation. */
|
|
6187
|
+
rawXml?: XmlObject;
|
|
5418
6188
|
}
|
|
5419
6189
|
/**
|
|
5420
6190
|
* Root data structure returned by {@link PptxHandlerCore.load}.
|
|
@@ -5465,6 +6235,8 @@ interface PptxData {
|
|
|
5465
6235
|
isPasswordProtected?: boolean;
|
|
5466
6236
|
/** Embedded font data (name + binary data URL) extracted from the presentation. */
|
|
5467
6237
|
embeddedFonts?: PptxEmbeddedFont[];
|
|
6238
|
+
/** Typed `p:embeddedFontLst` package metadata, including unresolved variants. */
|
|
6239
|
+
embeddedFontList?: PptxEmbeddedFontList;
|
|
5468
6240
|
/** Most-recently-used colour list from presentation properties. */
|
|
5469
6241
|
mruColors?: string[];
|
|
5470
6242
|
/** Parsed notes master data if present in the PPTX. */
|
|
@@ -5505,6 +6277,8 @@ interface PptxData {
|
|
|
5505
6277
|
thumbnailData?: Uint8Array;
|
|
5506
6278
|
/** Comment authors parsed from `ppt/commentAuthors.xml` for round-trip preservation. */
|
|
5507
6279
|
commentAuthors?: PptxCommentAuthor[];
|
|
6280
|
+
/** Office 2021 p188 authors from the modern Author part. */
|
|
6281
|
+
modernCommentAuthors?: PptxModernCommentAuthor[];
|
|
5508
6282
|
/**
|
|
5509
6283
|
* OOXML conformance class of the loaded file.
|
|
5510
6284
|
* - `'strict'` -- ISO/IEC 29500 Strict (uses `purl.oclc.org` namespace URIs)
|
|
@@ -5797,10 +6571,17 @@ interface ChartSeriesInput {
|
|
|
5797
6571
|
name: string;
|
|
5798
6572
|
values: number[];
|
|
5799
6573
|
color?: string;
|
|
6574
|
+
boxWhiskerOptions?: PptxChartBoxWhiskerOptions;
|
|
6575
|
+
histogramOptions?: PptxChartHistogramOptions;
|
|
6576
|
+
waterfallOptions?: PptxChartWaterfallOptions;
|
|
6577
|
+
regionMapOptions?: PptxChartRegionMapOptions;
|
|
6578
|
+
treemapOptions?: PptxChartTreemapOptions;
|
|
5800
6579
|
}
|
|
5801
6580
|
interface ChartInput {
|
|
5802
6581
|
series: ChartSeriesInput[];
|
|
5803
6582
|
categories: string[];
|
|
6583
|
+
/** ChartEx hierarchy levels in leaf-to-root XML order. */
|
|
6584
|
+
categoryLevels?: string[][];
|
|
5804
6585
|
title?: string;
|
|
5805
6586
|
hasLegend?: boolean;
|
|
5806
6587
|
legendPosition?: 't' | 'b' | 'l' | 'r' | 'tr';
|
|
@@ -6314,10 +7095,12 @@ interface PptxHandlerSaveOptions {
|
|
|
6314
7095
|
slideLayouts?: PptxSlideLayout[];
|
|
6315
7096
|
/** Updated tag collections to save back to ppt/tags/tag*.xml. */
|
|
6316
7097
|
tags?: PptxTagCollection[];
|
|
7098
|
+
/** Presentation-level customer data references to author or update. */
|
|
7099
|
+
customerData?: PptxCustomerData[];
|
|
6317
7100
|
/** Photo album metadata to save back to `p:photoAlbum`. */
|
|
6318
7101
|
photoAlbum?: PptxPhotoAlbum;
|
|
6319
7102
|
/** East Asian line-break settings to save back to `p:kinsoku`. */
|
|
6320
|
-
kinsoku?: PptxKinsoku;
|
|
7103
|
+
kinsoku?: PptxKinsoku | null;
|
|
6321
7104
|
/** Write-protection verifier. Set to `null` to remove, `undefined` to preserve existing. */
|
|
6322
7105
|
modifyVerifier?: PptxModifyVerifier | null;
|
|
6323
7106
|
/** View properties to save back to ppt/viewProps.xml. */
|
|
@@ -6349,6 +7132,8 @@ interface PptxHandlerSaveOptions {
|
|
|
6349
7132
|
* preserved (i.e. the default is lossless round-trip).
|
|
6350
7133
|
*/
|
|
6351
7134
|
embeddedFonts?: PptxEmbeddedFont[];
|
|
7135
|
+
/** Typed embedded-font list metadata. Set to null to remove fonts and relationships. */
|
|
7136
|
+
embeddedFontList?: PptxEmbeddedFontList | null;
|
|
6352
7137
|
/**
|
|
6353
7138
|
* OOXML conformance class for the saved output.
|
|
6354
7139
|
* - `'preserve'` (default): use the same conformance as the loaded file.
|
|
@@ -7082,10 +7867,12 @@ type CollaborationRole = 'owner' | 'collaborator' | 'viewer';
|
|
|
7082
7867
|
* any signaling server, which makes this mode usable from static hosting.
|
|
7083
7868
|
*/
|
|
7084
7869
|
type CollaborationTransport = 'websocket' | 'webrtc';
|
|
7870
|
+
/** How the local user entered a collaboration session. */
|
|
7871
|
+
type CollaborationSessionIntent = 'create' | 'join';
|
|
7085
7872
|
/**
|
|
7086
7873
|
* Real-time collaboration configuration.
|
|
7087
7874
|
*
|
|
7088
|
-
* The same shape is accepted by
|
|
7875
|
+
* The same shape is accepted by every framework binding.
|
|
7089
7876
|
*/
|
|
7090
7877
|
interface CollaborationConfig {
|
|
7091
7878
|
/** Unique identifier for the collaboration room (alphanumeric, hyphens, underscores). */
|
|
@@ -7113,6 +7900,13 @@ interface CollaborationConfig {
|
|
|
7113
7900
|
authToken?: string;
|
|
7114
7901
|
/** Role in the session; defaults to `'collaborator'`. */
|
|
7115
7902
|
role?: CollaborationRole;
|
|
7903
|
+
/**
|
|
7904
|
+
* Whether this client created the room or joined an existing room. Providers
|
|
7905
|
+
* do not use this value, but hosts can use it to avoid publishing local file
|
|
7906
|
+
* bytes when handling a join request. Omitted values retain the legacy
|
|
7907
|
+
* create-session behaviour.
|
|
7908
|
+
*/
|
|
7909
|
+
sessionIntent?: CollaborationSessionIntent;
|
|
7116
7910
|
/**
|
|
7117
7911
|
* Elected-writer write-back callback (Area 3 of the C3 hardening plan).
|
|
7118
7912
|
*
|
|
@@ -7212,6 +8006,44 @@ declare const MOBILE_BREAKPOINT = 768;
|
|
|
7212
8006
|
declare const TABLET_BREAKPOINT = 1024;
|
|
7213
8007
|
/** Device orientation as reported by the screen / viewport aspect ratio. */
|
|
7214
8008
|
type DeviceOrientation = 'portrait' | 'landscape';
|
|
8009
|
+
|
|
8010
|
+
interface PresentationSnapshot {
|
|
8011
|
+
slideIndex: number;
|
|
8012
|
+
buildStep: number;
|
|
8013
|
+
sequence: number;
|
|
8014
|
+
blackout: 'none' | 'black' | 'white';
|
|
8015
|
+
paused: boolean;
|
|
8016
|
+
elapsedMs: number;
|
|
8017
|
+
zoom?: PresentationZoomState;
|
|
8018
|
+
pointer?: PresentationPointerState;
|
|
8019
|
+
inkStrokes?: PresentationInkStroke[];
|
|
8020
|
+
caption?: string;
|
|
8021
|
+
subtitlesVisible?: boolean;
|
|
8022
|
+
}
|
|
8023
|
+
interface PresentationZoomState {
|
|
8024
|
+
scale: number;
|
|
8025
|
+
originX: number;
|
|
8026
|
+
originY: number;
|
|
8027
|
+
}
|
|
8028
|
+
type PresentationPointerTool = 'none' | 'laser' | 'pen' | 'highlighter' | 'eraser';
|
|
8029
|
+
interface PresentationPointerState {
|
|
8030
|
+
tool: PresentationPointerTool;
|
|
8031
|
+
x: number;
|
|
8032
|
+
y: number;
|
|
8033
|
+
color: string;
|
|
8034
|
+
}
|
|
8035
|
+
interface PresentationInkPoint {
|
|
8036
|
+
x: number;
|
|
8037
|
+
y: number;
|
|
8038
|
+
}
|
|
8039
|
+
interface PresentationInkStroke {
|
|
8040
|
+
id: string;
|
|
8041
|
+
slideIndex: number;
|
|
8042
|
+
tool: 'pen' | 'highlighter';
|
|
8043
|
+
color: string;
|
|
8044
|
+
width: number;
|
|
8045
|
+
points: PresentationInkPoint[];
|
|
8046
|
+
}
|
|
7215
8047
|
interface TouchGestureCallbacks {
|
|
7216
8048
|
/** Called continuously during a pinch gesture with the new (clamped) scale. */
|
|
7217
8049
|
onPinchZoom?: (newScale: number) => void;
|
|
@@ -7226,6 +8058,20 @@ interface ElementClipboardPayload {
|
|
|
7226
8058
|
isTemplate: boolean;
|
|
7227
8059
|
}
|
|
7228
8060
|
|
|
8061
|
+
/** Framework-neutral virtual-list range used by every thumbnail sidebar. */
|
|
8062
|
+
interface VirtualizedRange {
|
|
8063
|
+
startIndex: number;
|
|
8064
|
+
endIndex: number;
|
|
8065
|
+
totalHeight: number;
|
|
8066
|
+
offsetY: number;
|
|
8067
|
+
visibleRange: {
|
|
8068
|
+
start: number;
|
|
8069
|
+
end: number;
|
|
8070
|
+
};
|
|
8071
|
+
}
|
|
8072
|
+
/** Compute the rendered item window for fixed-height virtual lists. */
|
|
8073
|
+
declare function computeVirtualRange(totalItems: number, itemHeight: number, scrollTop: number, viewportHeight: number, overscan?: number): VirtualizedRange;
|
|
8074
|
+
|
|
7229
8075
|
/**
|
|
7230
8076
|
* Pure handout layout calculations, shared by every binding's print path.
|
|
7231
8077
|
*
|
|
@@ -7622,6 +8468,17 @@ interface UsePresentationModeResult {
|
|
|
7622
8468
|
isAudienceWindowOpen: () => boolean;
|
|
7623
8469
|
/** Send a slide index to the audience window explicitly. */
|
|
7624
8470
|
syncSlideToAudience: (slideIndex: number) => void;
|
|
8471
|
+
syncStateToAudience: (snapshot: PresentationSnapshot) => void;
|
|
8472
|
+
presenterSnapshot: PresentationSnapshot;
|
|
8473
|
+
setPresenterBlackout: (blackout: PresentationSnapshot['blackout']) => void;
|
|
8474
|
+
togglePresenterTimer: () => void;
|
|
8475
|
+
resetPresenterTimer: () => void;
|
|
8476
|
+
stepPresenterZoom: (direction: 1 | -1) => void;
|
|
8477
|
+
resetPresenterZoom: () => void;
|
|
8478
|
+
setPresenterCaption: (caption: string) => void;
|
|
8479
|
+
setPresenterSubtitlesVisible: (visible: boolean) => void;
|
|
8480
|
+
updatePresenterSnapshot: (patch: Partial<PresentationSnapshot>) => void;
|
|
8481
|
+
swapPresenterDisplays: () => Promise<boolean>;
|
|
7625
8482
|
}
|
|
7626
8483
|
//#endregion
|
|
7627
8484
|
//#region src/viewer/hooks/useThemeSwitching.d.ts
|
|
@@ -8028,6 +8885,8 @@ interface UsePresentationKeyboardInput {
|
|
|
8028
8885
|
onToggleToolbar?: () => void;
|
|
8029
8886
|
/** Toggle between presenter view (split-screen with notes) and fullscreen. */
|
|
8030
8887
|
onTogglePresenterView?: () => void;
|
|
8888
|
+
onToggleBlackScreen?: () => void;
|
|
8889
|
+
onToggleWhiteScreen?: () => void;
|
|
8031
8890
|
rehearsing: boolean;
|
|
8032
8891
|
recordCurrentSlideTime: (slideIndex: number) => void;
|
|
8033
8892
|
presentationSlideIndex: number;
|
|
@@ -8075,12 +8934,15 @@ interface UsePresenterWindowInput {
|
|
|
8075
8934
|
isPresenterMode: boolean;
|
|
8076
8935
|
/** Raw PPTX bytes to share with the audience tab via IndexedDB. */
|
|
8077
8936
|
content?: ArrayBuffer | Uint8Array | null;
|
|
8937
|
+
snapshot: PresentationSnapshot;
|
|
8078
8938
|
}
|
|
8079
8939
|
interface UsePresenterWindowResult {
|
|
8080
8940
|
openAudienceWindow: () => boolean;
|
|
8081
8941
|
closeAudienceWindow: () => void;
|
|
8082
8942
|
isAudienceWindowOpen: () => boolean;
|
|
8083
8943
|
syncSlideToAudience: (slideIndex: number) => void;
|
|
8944
|
+
syncStateToAudience: (snapshot: PresentationSnapshot) => void;
|
|
8945
|
+
swapDisplays: () => Promise<boolean>;
|
|
8084
8946
|
}
|
|
8085
8947
|
declare function usePresenterWindow(input: UsePresenterWindowInput): UsePresenterWindowResult;
|
|
8086
8948
|
//#endregion
|
|
@@ -8090,6 +8952,7 @@ interface UseAudienceModeInput {
|
|
|
8090
8952
|
onSetMode: (mode: ViewerMode) => void;
|
|
8091
8953
|
onSetActiveSlideIndex: (index: number) => void;
|
|
8092
8954
|
containerRef: React.RefObject<HTMLElement | null>;
|
|
8955
|
+
onSnapshot?: (snapshot: PresentationSnapshot) => void;
|
|
8093
8956
|
}
|
|
8094
8957
|
/**
|
|
8095
8958
|
* When the page was opened with the `#pptx-audience` hash, this hook:
|
|
@@ -9751,34 +10614,12 @@ interface VirtualizedSlidesOptions {
|
|
|
9751
10614
|
/** Number of extra items to render above/below the viewport. */
|
|
9752
10615
|
overscan?: number;
|
|
9753
10616
|
}
|
|
9754
|
-
interface VirtualizedRange {
|
|
9755
|
-
/** The first index to render (inclusive). */
|
|
9756
|
-
startIndex: number;
|
|
9757
|
-
/** The last index to render (inclusive). */
|
|
9758
|
-
endIndex: number;
|
|
9759
|
-
/** Total height of the virtual container (for scrollbar sizing). */
|
|
9760
|
-
totalHeight: number;
|
|
9761
|
-
/** Offset (top padding) to position the rendered window correctly. */
|
|
9762
|
-
offsetY: number;
|
|
9763
|
-
/** The visible range without overscan (for analytics/testing). */
|
|
9764
|
-
visibleRange: {
|
|
9765
|
-
start: number;
|
|
9766
|
-
end: number;
|
|
9767
|
-
};
|
|
9768
|
-
}
|
|
9769
10617
|
interface VirtualizedSlidesResult extends VirtualizedRange {
|
|
9770
10618
|
/** Ref to attach to the scroll container element. */
|
|
9771
10619
|
scrollContainerRef: React.RefObject<HTMLDivElement | null>;
|
|
9772
10620
|
/** Call this to scroll a specific index into view. */
|
|
9773
10621
|
scrollToIndex: (index: number, behavior?: ScrollBehavior) => void;
|
|
9774
10622
|
}
|
|
9775
|
-
/**
|
|
9776
|
-
* Compute the rendered index range given scroll state and item dimensions.
|
|
9777
|
-
*
|
|
9778
|
-
* This is a pure function with no React or DOM dependencies so it can
|
|
9779
|
-
* be unit-tested without `renderHook` or a DOM environment.
|
|
9780
|
-
*/
|
|
9781
|
-
declare function computeVirtualRange(totalItems: number, itemHeight: number, scrollTop: number, viewportHeight: number, overscan?: number): VirtualizedRange;
|
|
9782
10623
|
declare function useVirtualizedSlides({ totalItems, itemHeight, overscan }: VirtualizedSlidesOptions): VirtualizedSlidesResult;
|
|
9783
10624
|
//#endregion
|
|
9784
10625
|
//#region src/viewer/hooks/useIsMobile.d.ts
|