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/index.d.ts
CHANGED
|
@@ -484,6 +484,8 @@ interface CustomGeometryPath {
|
|
|
484
484
|
* and the text rectangle are not lost when a custGeom is edited and saved.
|
|
485
485
|
*/
|
|
486
486
|
interface CustomGeometryRawData {
|
|
487
|
+
/** Raw `a:avLst` XML content (adjustment value list). */
|
|
488
|
+
avLstXml?: unknown;
|
|
487
489
|
/** Raw `a:gdLst` XML content (guide list). */
|
|
488
490
|
gdLstXml?: unknown;
|
|
489
491
|
/** Raw `a:ahLst` XML content (adjustment handles). */
|
|
@@ -624,7 +626,7 @@ interface PptxCustomPathProperties {
|
|
|
624
626
|
pathHeight?: number;
|
|
625
627
|
/** Structured custom geometry paths for editing (maps to a:custGeom/a:pathLst). */
|
|
626
628
|
customGeometryPaths?: CustomGeometryPath[];
|
|
627
|
-
/** Raw
|
|
629
|
+
/** Raw adjustment/guide/handle/connection/text-rectangle XML preserved for serialization. */
|
|
628
630
|
customGeometryRawData?: CustomGeometryRawData;
|
|
629
631
|
/**
|
|
630
632
|
* Typed XY adjustment handles parsed from `a:custGeom/a:ahLst/a:ahXY`.
|
|
@@ -724,6 +726,10 @@ interface Text3DStyle {
|
|
|
724
726
|
interface Pptx3DScene {
|
|
725
727
|
/** Camera preset type, e.g. "orthographicFront", "perspectiveFront". */
|
|
726
728
|
cameraPreset?: string;
|
|
729
|
+
/** Camera field of view in 1/60000 degrees (`a:camera/@fov`). */
|
|
730
|
+
cameraFieldOfView?: number;
|
|
731
|
+
/** Camera zoom as an OOXML percentage fraction (`a:camera/@zoom`, 1 = 100%). */
|
|
732
|
+
cameraZoom?: number;
|
|
727
733
|
/** Camera rotation around X axis in 1/60000 degrees. */
|
|
728
734
|
cameraRotX?: number;
|
|
729
735
|
/** Camera rotation around Y axis in 1/60000 degrees. */
|
|
@@ -734,6 +740,12 @@ interface Pptx3DScene {
|
|
|
734
740
|
lightRigType?: string;
|
|
735
741
|
/** Light rig direction, e.g. "t", "b", "l", "r", "tl". */
|
|
736
742
|
lightRigDirection?: string;
|
|
743
|
+
/** Light-rig rotation latitude in 1/60000 degrees. */
|
|
744
|
+
lightRigRotX?: number;
|
|
745
|
+
/** Light-rig rotation longitude in 1/60000 degrees. */
|
|
746
|
+
lightRigRotY?: number;
|
|
747
|
+
/** Light-rig rotation revolution in 1/60000 degrees. */
|
|
748
|
+
lightRigRotZ?: number;
|
|
737
749
|
/** Whether a 3D backdrop plane is present (`a:backdrop`). */
|
|
738
750
|
hasBackdrop?: boolean;
|
|
739
751
|
/** Backdrop plane anchor X in EMU. */
|
|
@@ -742,6 +754,18 @@ interface Pptx3DScene {
|
|
|
742
754
|
backdropAnchorY?: number;
|
|
743
755
|
/** Backdrop plane anchor Z in EMU. */
|
|
744
756
|
backdropAnchorZ?: number;
|
|
757
|
+
/** Backdrop normal vector X component. */
|
|
758
|
+
backdropNormalX?: number;
|
|
759
|
+
/** Backdrop normal vector Y component. */
|
|
760
|
+
backdropNormalY?: number;
|
|
761
|
+
/** Backdrop normal vector Z component. */
|
|
762
|
+
backdropNormalZ?: number;
|
|
763
|
+
/** Backdrop up vector X component. */
|
|
764
|
+
backdropUpX?: number;
|
|
765
|
+
/** Backdrop up vector Y component. */
|
|
766
|
+
backdropUpY?: number;
|
|
767
|
+
/** Backdrop up vector Z component. */
|
|
768
|
+
backdropUpZ?: number;
|
|
745
769
|
}
|
|
746
770
|
/**
|
|
747
771
|
* 3D shape extrusion/bevel from `a:sp3d`.
|
|
@@ -813,6 +837,12 @@ type PptxTextWarpPreset = 'textNoShape' | 'textPlain' | 'textStop' | 'textTriang
|
|
|
813
837
|
* @module pptx-types/shape-style
|
|
814
838
|
*/
|
|
815
839
|
|
|
840
|
+
interface PptxCustomDashSegment {
|
|
841
|
+
/** Dash length as a non-negative percentage in thousandths of one percent. */
|
|
842
|
+
dash: number;
|
|
843
|
+
/** Space length as a non-negative percentage in thousandths of one percent. */
|
|
844
|
+
space: number;
|
|
845
|
+
}
|
|
816
846
|
/**
|
|
817
847
|
* Comprehensive visual style for a shape, connector, or image element.
|
|
818
848
|
*
|
|
@@ -861,9 +891,13 @@ interface ShapeStyle {
|
|
|
861
891
|
*/
|
|
862
892
|
fillColorXml?: XmlObject;
|
|
863
893
|
fillGradient?: string;
|
|
894
|
+
/** Original `gradFill` XML retained for unknown-child and extension round-tripping. */
|
|
895
|
+
fillGradientXml?: XmlObject;
|
|
864
896
|
fillMode?: 'solid' | 'gradient' | 'pattern' | 'none' | 'image' | 'theme' | 'group';
|
|
865
897
|
fillPatternPreset?: string;
|
|
866
898
|
fillPatternBackgroundColor?: string;
|
|
899
|
+
/** Original `pattFill` XML retained for unknown-child round-tripping. */
|
|
900
|
+
fillPatternXml?: XmlObject;
|
|
867
901
|
/** Raw XML node for pattern fill foreground colour (preserves color transforms). */
|
|
868
902
|
fillPatternFgClrXml?: XmlObject;
|
|
869
903
|
/** Raw XML node for pattern fill background colour (preserves color transforms). */
|
|
@@ -929,6 +963,14 @@ interface ShapeStyle {
|
|
|
929
963
|
/** Pen line alignment (`a:ln/@algn`): `ctr` (centre, default) or `in` (inside). */
|
|
930
964
|
lineAlignment?: 'ctr' | 'in';
|
|
931
965
|
shadowColor?: string;
|
|
966
|
+
/** Preserved source `a:effectLst`, including unknown effects and extensions. */
|
|
967
|
+
effectListXml?: XmlObject;
|
|
968
|
+
/** Original outer-shadow node used for lossless surgical updates. */
|
|
969
|
+
outerShadowXml?: XmlObject;
|
|
970
|
+
/** Resolved source shadow colour used to detect colour edits. */
|
|
971
|
+
outerShadowOriginalColor?: string;
|
|
972
|
+
/** Source shadow opacity used to detect alpha edits. */
|
|
973
|
+
outerShadowOriginalOpacity?: number;
|
|
932
974
|
shadowBlur?: number;
|
|
933
975
|
shadowOffsetX?: number;
|
|
934
976
|
shadowOffsetY?: number;
|
|
@@ -972,11 +1014,23 @@ interface ShapeStyle {
|
|
|
972
1014
|
/** Multiple shadow layers (for advanced effects). */
|
|
973
1015
|
shadows?: ShadowEffect[];
|
|
974
1016
|
glowColor?: string;
|
|
1017
|
+
/** Original glow node used for lossless surgical updates. */
|
|
1018
|
+
glowXml?: XmlObject;
|
|
1019
|
+
/** Resolved source glow colour used to detect colour edits. */
|
|
1020
|
+
glowOriginalColor?: string;
|
|
1021
|
+
/** Source glow opacity used to detect alpha edits. */
|
|
1022
|
+
glowOriginalOpacity?: number;
|
|
975
1023
|
glowRadius?: number;
|
|
976
1024
|
glowOpacity?: number;
|
|
977
1025
|
softEdgeRadius?: number;
|
|
978
1026
|
/** Inner shadow colour (`a:innerShdw`). */
|
|
979
1027
|
innerShadowColor?: string;
|
|
1028
|
+
/** Original inner-shadow node used for lossless surgical updates. */
|
|
1029
|
+
innerShadowXml?: XmlObject;
|
|
1030
|
+
/** Resolved source inner-shadow colour used to detect colour edits. */
|
|
1031
|
+
innerShadowOriginalColor?: string;
|
|
1032
|
+
/** Source inner-shadow opacity used to detect alpha edits. */
|
|
1033
|
+
innerShadowOriginalOpacity?: number;
|
|
980
1034
|
/** Inner shadow opacity (0-1). */
|
|
981
1035
|
innerShadowOpacity?: number;
|
|
982
1036
|
/** Inner shadow blur radius in px. */
|
|
@@ -985,8 +1039,12 @@ interface ShapeStyle {
|
|
|
985
1039
|
innerShadowOffsetX?: number;
|
|
986
1040
|
/** Inner shadow vertical offset in px. */
|
|
987
1041
|
innerShadowOffsetY?: number;
|
|
1042
|
+
/** Original soft-edge node, including vendor attributes and extensions. */
|
|
1043
|
+
softEdgeXml?: XmlObject;
|
|
988
1044
|
/** Reflection effect — distance from shape bottom in px. */
|
|
989
1045
|
reflectionBlurRadius?: number;
|
|
1046
|
+
/** Original reflection node, including vendor attributes and extensions. */
|
|
1047
|
+
reflectionXml?: XmlObject;
|
|
990
1048
|
/** Reflection start opacity (0-1). */
|
|
991
1049
|
reflectionStartOpacity?: number;
|
|
992
1050
|
/** Reflection end opacity (0-1). */
|
|
@@ -1017,11 +1075,12 @@ interface ShapeStyle {
|
|
|
1017
1075
|
connectorStartConnection?: ConnectorConnectionPoint;
|
|
1018
1076
|
/** Connection point for the end of a connector. */
|
|
1019
1077
|
connectorEndConnection?: ConnectorConnectionPoint;
|
|
1020
|
-
/** Custom dash
|
|
1021
|
-
customDashSegments?:
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1078
|
+
/** Custom dash pattern, measured relative to line width in thousandths of one percent. */
|
|
1079
|
+
customDashSegments?: PptxCustomDashSegment[];
|
|
1080
|
+
/** Original `a:ds` payloads retained by index for lossless edits. */
|
|
1081
|
+
customDashSegmentXml?: XmlObject[];
|
|
1082
|
+
/** Original `a:custDash` payload retained for lossless edits. */
|
|
1083
|
+
customDashXml?: XmlObject;
|
|
1025
1084
|
/** 3D scene/camera settings from `a:scene3d`. */
|
|
1026
1085
|
scene3d?: Pptx3DScene;
|
|
1027
1086
|
/** 3D shape extrusion/bevel from `a:sp3d`. */
|
|
@@ -1133,6 +1192,8 @@ interface ShapeStyle {
|
|
|
1133
1192
|
* ```
|
|
1134
1193
|
*/
|
|
1135
1194
|
interface TextStyle {
|
|
1195
|
+
/** Original `a:rPr` XML retained by projections that share the shape-text model. */
|
|
1196
|
+
runPropertiesXml?: XmlObject;
|
|
1136
1197
|
fontFamily?: string;
|
|
1137
1198
|
fontSize?: number;
|
|
1138
1199
|
/** When true, renderer should shrink text to fit the shape bounds. */
|
|
@@ -1482,6 +1543,8 @@ interface TextStyle {
|
|
|
1482
1543
|
text3d?: Text3DStyle;
|
|
1483
1544
|
/** 3D scene (camera + light rig) settings on the text body (`a:bodyPr/a:scene3d`). */
|
|
1484
1545
|
textBodyScene3d?: Pptx3DScene;
|
|
1546
|
+
/** Raw `a:scene3d` subtree used to preserve extensions and unmodelled children. */
|
|
1547
|
+
textBodyScene3dXml?: XmlObject;
|
|
1485
1548
|
/**
|
|
1486
1549
|
* Raw `<a:extLst>` subtree captured from `<a:bodyPr>`. Preserved verbatim so
|
|
1487
1550
|
* authored extensions (e.g. content placeholders, custom application data)
|
|
@@ -1817,12 +1880,126 @@ interface PptxShapeProperties {
|
|
|
1817
1880
|
adjustmentHandles?: GeometryAdjustmentHandle[];
|
|
1818
1881
|
}
|
|
1819
1882
|
|
|
1883
|
+
/** Tick-mark placement from ChartML `ST_TickMark`. */
|
|
1884
|
+
type PptxChartTickMark = 'cross' | 'in' | 'none' | 'out';
|
|
1885
|
+
/** Typed axis tick and category/date label controls. */
|
|
1886
|
+
interface PptxChartAxisLabelFormatting {
|
|
1887
|
+
/** Primary and secondary tick-mark placement. */
|
|
1888
|
+
majorTickMark?: PptxChartTickMark;
|
|
1889
|
+
minorTickMark?: PptxChartTickMark;
|
|
1890
|
+
/** Tick-label position from ChartML `ST_TickLblPos`. */
|
|
1891
|
+
tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
|
|
1892
|
+
/** Automatic category/date axis behavior (`c:auto`). */
|
|
1893
|
+
auto?: boolean;
|
|
1894
|
+
/** Category-axis label alignment (`c:lblAlgn`). */
|
|
1895
|
+
labelAlignment?: 'ctr' | 'l' | 'r';
|
|
1896
|
+
/** Category/date label distance, from 0 through 1000 percent. */
|
|
1897
|
+
labelOffset?: number;
|
|
1898
|
+
/** Number of category/date labels between rendered labels. */
|
|
1899
|
+
tickLabelSkip?: number;
|
|
1900
|
+
/** Number of category/date tick positions between major tick marks. */
|
|
1901
|
+
tickMarkSkip?: number;
|
|
1902
|
+
/** Suppress multi-level category labels (`c:noMultiLvlLbl`). */
|
|
1903
|
+
noMultiLevelLabels?: boolean;
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
interface PptxChartPivotFormat {
|
|
1907
|
+
index: number;
|
|
1908
|
+
shapePropertiesXml?: XmlObject | null;
|
|
1909
|
+
markerXml?: XmlObject | null;
|
|
1910
|
+
dataLabelXml?: XmlObject | null;
|
|
1911
|
+
extensionListXml?: XmlObject | null;
|
|
1912
|
+
rawXml?: XmlObject;
|
|
1913
|
+
}
|
|
1914
|
+
/** Editable classic ChartML `c:pivotFmts` collection. */
|
|
1915
|
+
interface PptxChartPivotFormats {
|
|
1916
|
+
formats: PptxChartPivotFormat[];
|
|
1917
|
+
rawXml?: XmlObject;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
/** Editable classic ChartML `c:pivotSource` metadata. */
|
|
1921
|
+
interface PptxChartPivotSource {
|
|
1922
|
+
/** Pivot table reference stored as `c:name` text. */
|
|
1923
|
+
name: string;
|
|
1924
|
+
/** Required unsigned format identifier stored in `c:fmtId/@val`. */
|
|
1925
|
+
formatId: number;
|
|
1926
|
+
/** Internal source subtree used to preserve extensions and foreign markup. */
|
|
1927
|
+
rawXml?: XmlObject;
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1930
|
+
/** Headers and footers used when a classic ChartML chart is printed. */
|
|
1931
|
+
interface PptxChartPrintHeaderFooter {
|
|
1932
|
+
oddHeader?: string;
|
|
1933
|
+
oddFooter?: string;
|
|
1934
|
+
evenHeader?: string;
|
|
1935
|
+
evenFooter?: string;
|
|
1936
|
+
firstHeader?: string;
|
|
1937
|
+
firstFooter?: string;
|
|
1938
|
+
alignWithMargins?: boolean;
|
|
1939
|
+
differentOddEven?: boolean;
|
|
1940
|
+
differentFirst?: boolean;
|
|
1941
|
+
/** Original subtree retained for foreign attributes and extension children. */
|
|
1942
|
+
rawXml?: unknown;
|
|
1943
|
+
}
|
|
1944
|
+
/** Required page margins from ChartML `c:pageMargins`, measured in inches. */
|
|
1945
|
+
interface PptxChartPageMargins {
|
|
1946
|
+
left: number;
|
|
1947
|
+
right: number;
|
|
1948
|
+
top: number;
|
|
1949
|
+
bottom: number;
|
|
1950
|
+
header: number;
|
|
1951
|
+
footer: number;
|
|
1952
|
+
/** Original leaf retained for foreign attributes. */
|
|
1953
|
+
rawXml?: unknown;
|
|
1954
|
+
}
|
|
1955
|
+
/** Printer page configuration from ChartML `c:pageSetup`. */
|
|
1956
|
+
interface PptxChartPageSetup {
|
|
1957
|
+
paperSize?: number;
|
|
1958
|
+
firstPageNumber?: number;
|
|
1959
|
+
orientation?: 'default' | 'portrait' | 'landscape';
|
|
1960
|
+
blackAndWhite?: boolean;
|
|
1961
|
+
draft?: boolean;
|
|
1962
|
+
useFirstPageNumber?: boolean;
|
|
1963
|
+
horizontalDpi?: number;
|
|
1964
|
+
verticalDpi?: number;
|
|
1965
|
+
copies?: number;
|
|
1966
|
+
/** Original leaf retained for foreign attributes. */
|
|
1967
|
+
rawXml?: unknown;
|
|
1968
|
+
}
|
|
1969
|
+
/** Editable `c:printSettings` content from a classic ChartML chart space. */
|
|
1970
|
+
interface PptxChartPrintSettings {
|
|
1971
|
+
headerFooter?: PptxChartPrintHeaderFooter | null;
|
|
1972
|
+
pageMargins?: PptxChartPageMargins | null;
|
|
1973
|
+
pageSetup?: PptxChartPageSetup | null;
|
|
1974
|
+
/** `null` removes the legacy header/footer drawing relationship element. */
|
|
1975
|
+
legacyDrawingHeaderFooterRelationshipId?: string | null;
|
|
1976
|
+
/** Original subtree retained for unknown and extension content. */
|
|
1977
|
+
rawXml?: unknown;
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1980
|
+
/** Editable classic ChartML `c:protection` settings. */
|
|
1981
|
+
interface PptxChartProtection {
|
|
1982
|
+
/** Prevent editing the chart object. */
|
|
1983
|
+
chartObject?: boolean | null;
|
|
1984
|
+
/** Prevent editing the chart data. */
|
|
1985
|
+
data?: boolean | null;
|
|
1986
|
+
/** Prevent editing chart formatting. */
|
|
1987
|
+
formatting?: boolean | null;
|
|
1988
|
+
/** Prevent selecting chart elements. */
|
|
1989
|
+
selection?: boolean | null;
|
|
1990
|
+
/** Prevent chart user-interface operations. */
|
|
1991
|
+
userInterface?: boolean | null;
|
|
1992
|
+
/** Internal source subtree used to preserve foreign markup during edits. */
|
|
1993
|
+
rawXml?: XmlObject;
|
|
1994
|
+
}
|
|
1995
|
+
|
|
1820
1996
|
/**
|
|
1821
1997
|
* Chart types: chart categories, series data, style metadata, data tables,
|
|
1822
1998
|
* trendlines, error bars, and the composite `PptxChartData`.
|
|
1823
1999
|
*
|
|
1824
2000
|
* @module pptx-types/chart
|
|
1825
2001
|
*/
|
|
2002
|
+
|
|
1826
2003
|
/**
|
|
1827
2004
|
* Supported chart type discriminators.
|
|
1828
2005
|
*
|
|
@@ -1859,6 +2036,7 @@ type PptxChartTrendlineType = 'linear' | 'exponential' | 'logarithmic' | 'polyno
|
|
|
1859
2036
|
*/
|
|
1860
2037
|
interface PptxChartTrendline {
|
|
1861
2038
|
trendlineType: PptxChartTrendlineType;
|
|
2039
|
+
name?: string;
|
|
1862
2040
|
order?: number;
|
|
1863
2041
|
period?: number;
|
|
1864
2042
|
forward?: number;
|
|
@@ -1867,6 +2045,13 @@ interface PptxChartTrendline {
|
|
|
1867
2045
|
displayRSq?: boolean;
|
|
1868
2046
|
displayEq?: boolean;
|
|
1869
2047
|
color?: string;
|
|
2048
|
+
label?: PptxChartTrendlineLabel | null;
|
|
2049
|
+
}
|
|
2050
|
+
/** Typed, commonly edited properties of `c:trendlineLbl`. */
|
|
2051
|
+
interface PptxChartTrendlineLabel {
|
|
2052
|
+
layout?: PptxChartManualLayout;
|
|
2053
|
+
numberFormatCode?: string;
|
|
2054
|
+
sourceLinked?: boolean;
|
|
1870
2055
|
}
|
|
1871
2056
|
/** Error-bar direction axis. */
|
|
1872
2057
|
type PptxChartErrBarDir = 'x' | 'y';
|
|
@@ -1903,6 +2088,8 @@ interface PptxChartErrBars {
|
|
|
1903
2088
|
val?: number;
|
|
1904
2089
|
customPlus?: number[];
|
|
1905
2090
|
customMinus?: number[];
|
|
2091
|
+
noEndCap?: boolean;
|
|
2092
|
+
color?: string;
|
|
1906
2093
|
}
|
|
1907
2094
|
/**
|
|
1908
2095
|
* Visibility flags for the chart data table (axes + legend keys).
|
|
@@ -1952,9 +2139,17 @@ interface PptxChartShapeProps {
|
|
|
1952
2139
|
/** Line dash style (a:prstDash/@val), e.g. 'solid', 'dash', 'dot', 'lgDash'. */
|
|
1953
2140
|
strokeDashStyle?: string;
|
|
1954
2141
|
}
|
|
2142
|
+
/** Up/down bar formatting on line and stock charts (`c:upDownBars`). */
|
|
2143
|
+
interface PptxChartUpDownBars {
|
|
2144
|
+
/** Gap between bars as a percentage, constrained to 0 through 500. */
|
|
2145
|
+
gapWidth?: number;
|
|
2146
|
+
upBars?: PptxChartShapeProps;
|
|
2147
|
+
downBars?: PptxChartShapeProps;
|
|
2148
|
+
}
|
|
1955
2149
|
/** Marker appearance on a chart series or data point. */
|
|
1956
2150
|
interface PptxChartMarker {
|
|
1957
2151
|
symbol: PptxChartMarkerSymbol;
|
|
2152
|
+
/** Marker size in points, constrained by ST_MarkerSize to 2 through 72. */
|
|
1958
2153
|
size?: number;
|
|
1959
2154
|
spPr?: PptxChartShapeProps;
|
|
1960
2155
|
}
|
|
@@ -1965,26 +2160,43 @@ interface PptxChartDataPoint {
|
|
|
1965
2160
|
explosion?: number;
|
|
1966
2161
|
invertIfNegative?: boolean;
|
|
1967
2162
|
marker?: PptxChartMarker;
|
|
2163
|
+
/** Render a bubble-chart point with a 3-D appearance. */
|
|
2164
|
+
bubble3D?: boolean;
|
|
1968
2165
|
}
|
|
2166
|
+
/** Schema values accepted by `c:dLblPos`. */
|
|
2167
|
+
type PptxChartDataLabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
|
|
1969
2168
|
/** Individual data label override (c:dLbl). */
|
|
1970
2169
|
interface PptxChartDataLabel {
|
|
1971
2170
|
idx: number;
|
|
2171
|
+
/** Suppress this data point's automatically generated label. */
|
|
2172
|
+
deleted?: boolean;
|
|
1972
2173
|
showVal?: boolean;
|
|
1973
2174
|
showCatName?: boolean;
|
|
1974
2175
|
showSerName?: boolean;
|
|
1975
2176
|
showPercent?: boolean;
|
|
1976
2177
|
showLegendKey?: boolean;
|
|
1977
2178
|
showBubbleSize?: boolean;
|
|
1978
|
-
position?:
|
|
2179
|
+
position?: PptxChartDataLabelPosition;
|
|
1979
2180
|
text?: string;
|
|
2181
|
+
separator?: string;
|
|
2182
|
+
showLeaderLines?: boolean;
|
|
1980
2183
|
}
|
|
1981
2184
|
/** Axis number format. */
|
|
1982
2185
|
interface PptxChartAxisNumFmt {
|
|
1983
2186
|
formatCode: string;
|
|
1984
2187
|
sourceLinked?: boolean;
|
|
1985
2188
|
}
|
|
2189
|
+
/** Typed contents of a value-axis display-unit label (`c:dispUnitsLbl`). */
|
|
2190
|
+
interface PptxChartDisplayUnitsLabel {
|
|
2191
|
+
/** Literal label text. Omit to preserve the source text subtree. */
|
|
2192
|
+
text?: string;
|
|
2193
|
+
/** Manual label placement. `null` removes only the manual layout. */
|
|
2194
|
+
layout?: PptxChartManualLayout | null;
|
|
2195
|
+
/** Label shape formatting. `null` removes `c:spPr`. */
|
|
2196
|
+
spPr?: PptxChartShapeProps | null;
|
|
2197
|
+
}
|
|
1986
2198
|
/** Axis formatting for category, value, or date axes. */
|
|
1987
|
-
interface PptxChartAxisFormatting {
|
|
2199
|
+
interface PptxChartAxisFormatting extends PptxChartAxisLabelFormatting {
|
|
1988
2200
|
axisType: 'catAx' | 'valAx' | 'dateAx' | 'serAx';
|
|
1989
2201
|
/** Axis position: "b" (bottom), "l" (left), "r" (right), "t" (top). */
|
|
1990
2202
|
axPos?: 'b' | 'l' | 'r' | 't';
|
|
@@ -1992,6 +2204,12 @@ interface PptxChartAxisFormatting {
|
|
|
1992
2204
|
axisId?: number;
|
|
1993
2205
|
/** Cross-axis identifier — the axis this axis crosses. */
|
|
1994
2206
|
crossAxisId?: number;
|
|
2207
|
+
/** Automatic crossing mode (`c:crosses`). Mutually exclusive with `crossesAt`. */
|
|
2208
|
+
crosses?: 'autoZero' | 'min' | 'max';
|
|
2209
|
+
/** Explicit crossing value (`c:crossesAt`). Units depend on the axis type. */
|
|
2210
|
+
crossesAt?: number;
|
|
2211
|
+
/** Whether a value axis crosses between or at category tick marks. */
|
|
2212
|
+
crossBetween?: 'between' | 'midCat';
|
|
1995
2213
|
numFmt?: PptxChartAxisNumFmt;
|
|
1996
2214
|
titleText?: string;
|
|
1997
2215
|
spPr?: PptxChartShapeProps;
|
|
@@ -2009,6 +2227,8 @@ interface PptxChartAxisFormatting {
|
|
|
2009
2227
|
min?: number;
|
|
2010
2228
|
/** Maximum axis value override (c:max/@val). */
|
|
2011
2229
|
max?: number;
|
|
2230
|
+
/** Axis value direction (`c:scaling/c:orientation/@val`). */
|
|
2231
|
+
orientation?: 'minMax' | 'maxMin';
|
|
2012
2232
|
/** Whether the axis is deleted/hidden (c:delete/@val). */
|
|
2013
2233
|
deleted?: boolean;
|
|
2014
2234
|
/**
|
|
@@ -2018,8 +2238,12 @@ interface PptxChartAxisFormatting {
|
|
|
2018
2238
|
displayUnits?: 'hundreds' | 'thousands' | 'tenThousands' | 'hundredThousands' | 'millions' | 'tenMillions' | 'hundredMillions' | 'billions' | 'trillions' | 'custom';
|
|
2019
2239
|
/** Custom display unit divisor value (c:dispUnits/c:custUnit/@val). Only used when displayUnits is 'custom'. */
|
|
2020
2240
|
displayUnitsValue?: number;
|
|
2021
|
-
/**
|
|
2022
|
-
|
|
2241
|
+
/**
|
|
2242
|
+
* Display-unit label contents (`c:dispUnits/c:dispUnitsLbl`). A string is
|
|
2243
|
+
* retained as a compatibility shorthand for `{ text: string }`; `null`
|
|
2244
|
+
* explicitly removes the label.
|
|
2245
|
+
*/
|
|
2246
|
+
displayUnitsLabel?: string | PptxChartDisplayUnitsLabel | null;
|
|
2023
2247
|
/** Whether logarithmic scaling is enabled (presence of c:scaling/c:logBase). */
|
|
2024
2248
|
logScale?: boolean;
|
|
2025
2249
|
/** Logarithmic base value (c:scaling/c:logBase/@val), typically 10 or e. */
|
|
@@ -2028,14 +2252,69 @@ interface PptxChartAxisFormatting {
|
|
|
2028
2252
|
majorUnit?: number;
|
|
2029
2253
|
/** Minor-unit interval between secondary tick marks (c:minorUnit/@val). */
|
|
2030
2254
|
minorUnit?: number;
|
|
2031
|
-
/**
|
|
2032
|
-
|
|
2255
|
+
/** Calendar unit used to interpret date-axis serial values. */
|
|
2256
|
+
baseTimeUnit?: 'days' | 'months' | 'years';
|
|
2257
|
+
majorTimeUnit?: 'days' | 'months' | 'years';
|
|
2258
|
+
minorTimeUnit?: 'days' | 'months' | 'years';
|
|
2033
2259
|
}
|
|
2034
2260
|
/** 3D wall or floor element formatting. */
|
|
2035
2261
|
interface PptxChart3DSurface {
|
|
2036
2262
|
thickness?: number;
|
|
2037
2263
|
spPr?: PptxChartShapeProps;
|
|
2038
2264
|
}
|
|
2265
|
+
/** Office 2016 ChartEx box-and-whisker series layout options. */
|
|
2266
|
+
interface PptxChartBoxWhiskerOptions {
|
|
2267
|
+
quartileMethod?: 'inclusive' | 'exclusive';
|
|
2268
|
+
showMeanLine?: boolean;
|
|
2269
|
+
showMeanMarker?: boolean;
|
|
2270
|
+
/** Show non-outlier (inner) data points. */
|
|
2271
|
+
showInnerPoints?: boolean;
|
|
2272
|
+
showOutlierPoints?: boolean;
|
|
2273
|
+
}
|
|
2274
|
+
/** Office 2016 ChartEx histogram and Pareto series layout options. */
|
|
2275
|
+
interface PptxChartHistogramOptions {
|
|
2276
|
+
/** Maps to `clusteredColumn` for histogram columns or `paretoLine`. */
|
|
2277
|
+
layout?: 'histogram' | 'pareto';
|
|
2278
|
+
/** Exactly one of binSize and binCount is emitted by the ChartEx writer. */
|
|
2279
|
+
binSize?: number;
|
|
2280
|
+
binCount?: number;
|
|
2281
|
+
intervalClosed?: 'l' | 'r';
|
|
2282
|
+
underflow?: number | 'auto';
|
|
2283
|
+
overflow?: number | 'auto';
|
|
2284
|
+
}
|
|
2285
|
+
/** Office 2016 ChartEx waterfall series layout options. */
|
|
2286
|
+
interface PptxChartWaterfallOptions {
|
|
2287
|
+
/** Zero-based data point indexes rendered as absolute subtotal or total bars. */
|
|
2288
|
+
subtotalIndices?: number[];
|
|
2289
|
+
/** Whether connector lines are visible between adjacent bars. */
|
|
2290
|
+
connectorLines?: boolean;
|
|
2291
|
+
}
|
|
2292
|
+
/** Office 2016 ChartEx geographic series dimensions and layout options. */
|
|
2293
|
+
interface PptxChartRegionMapOptions {
|
|
2294
|
+
/** Optional provider entity identifiers aligned with categories and values. */
|
|
2295
|
+
entityIds?: string[];
|
|
2296
|
+
/** Original `cx:pt/@idx` values for category points. */
|
|
2297
|
+
categorySourceIndices?: number[];
|
|
2298
|
+
/** Original `cx:pt/@idx` values for colour-value points. */
|
|
2299
|
+
valueSourceIndices?: number[];
|
|
2300
|
+
/** Original `cx:pt/@idx` values for entity-ID points. */
|
|
2301
|
+
entityIdSourceIndices?: number[];
|
|
2302
|
+
regionLabelLayout?: 'none' | 'bestFitOnly' | 'showAll';
|
|
2303
|
+
projectionType?: 'mercator' | 'miller' | 'robinson' | 'albers';
|
|
2304
|
+
viewedRegionType?: 'dataOnly' | 'postalCode' | 'county' | 'state' | 'countryRegion' | 'countryRegionList' | 'world';
|
|
2305
|
+
cultureLanguage?: string;
|
|
2306
|
+
/** ISO-3166-1 alpha-2 region code. */
|
|
2307
|
+
cultureRegion?: string;
|
|
2308
|
+
attribution?: string;
|
|
2309
|
+
/** Opaque authored provider cache under `cx:geography/cx:geoCache`. */
|
|
2310
|
+
geographyCache?: XmlObject;
|
|
2311
|
+
}
|
|
2312
|
+
/** Layout for parent category labels in a hierarchical ChartEx treemap. */
|
|
2313
|
+
type PptxChartParentLabelLayout = 'none' | 'banner' | 'overlapping';
|
|
2314
|
+
/** Per-series layout options for an Office 2016+ ChartEx treemap. */
|
|
2315
|
+
interface PptxChartTreemapOptions {
|
|
2316
|
+
parentLabelLayout?: PptxChartParentLabelLayout;
|
|
2317
|
+
}
|
|
2039
2318
|
/**
|
|
2040
2319
|
* A single data series within a chart.
|
|
2041
2320
|
*
|
|
@@ -2071,6 +2350,11 @@ interface PptxChartSeries {
|
|
|
2071
2350
|
* series.
|
|
2072
2351
|
*/
|
|
2073
2352
|
seriesChartType?: PptxChartType;
|
|
2353
|
+
boxWhiskerOptions?: PptxChartBoxWhiskerOptions;
|
|
2354
|
+
histogramOptions?: PptxChartHistogramOptions;
|
|
2355
|
+
waterfallOptions?: PptxChartWaterfallOptions;
|
|
2356
|
+
regionMapOptions?: PptxChartRegionMapOptions;
|
|
2357
|
+
treemapOptions?: PptxChartTreemapOptions;
|
|
2074
2358
|
}
|
|
2075
2359
|
/**
|
|
2076
2360
|
* Chart-level data-label options (`c:dLbls` directly under a chart-type
|
|
@@ -2088,12 +2372,32 @@ interface PptxChartDataLabelOptions {
|
|
|
2088
2372
|
showPercent?: boolean;
|
|
2089
2373
|
/** Show the legend key swatch (`c:showLegendKey`). */
|
|
2090
2374
|
showLegendKey?: boolean;
|
|
2375
|
+
/** Show bubble size (`c:showBubbleSize`). */
|
|
2376
|
+
showBubbleSize?: boolean;
|
|
2377
|
+
/** Text placed between combined label components (`c:separator`). */
|
|
2378
|
+
separator?: string;
|
|
2379
|
+
/** Show leader lines where supported (`c:showLeaderLines`). */
|
|
2380
|
+
showLeaderLines?: boolean;
|
|
2091
2381
|
/**
|
|
2092
2382
|
* Label position (`c:dLblPos`). Valid values depend on the chart type
|
|
2093
2383
|
* (`ctr`, `inEnd`, `inBase`, `outEnd`, `bestFit`, `l`, `r`, `t`, `b`).
|
|
2094
2384
|
* Omit to let PowerPoint use the type default.
|
|
2095
2385
|
*/
|
|
2096
|
-
position?:
|
|
2386
|
+
position?: PptxChartDataLabelPosition;
|
|
2387
|
+
}
|
|
2388
|
+
/** Typed text defaults for a single chart legend entry. */
|
|
2389
|
+
interface PptxChartLegendTextStyle {
|
|
2390
|
+
fontFamily?: string;
|
|
2391
|
+
fontSize?: number;
|
|
2392
|
+
bold?: boolean;
|
|
2393
|
+
italic?: boolean;
|
|
2394
|
+
color?: string;
|
|
2395
|
+
}
|
|
2396
|
+
/** Per-series legend entry override (`c:legendEntry`). */
|
|
2397
|
+
interface PptxChartLegendEntry {
|
|
2398
|
+
index: number;
|
|
2399
|
+
deleted?: boolean;
|
|
2400
|
+
textStyle?: PptxChartLegendTextStyle;
|
|
2097
2401
|
}
|
|
2098
2402
|
/**
|
|
2099
2403
|
* Style / formatting metadata for a chart.
|
|
@@ -2116,6 +2420,8 @@ interface PptxChartStyle {
|
|
|
2116
2420
|
hasLegend?: boolean;
|
|
2117
2421
|
/** Legend position (t, b, l, r, tr). */
|
|
2118
2422
|
legendPosition?: string;
|
|
2423
|
+
/** Per-series visibility and text-style overrides. */
|
|
2424
|
+
legendEntries?: PptxChartLegendEntry[];
|
|
2119
2425
|
/** Whether the chart has a title. */
|
|
2120
2426
|
hasTitle?: boolean;
|
|
2121
2427
|
/** Whether gridlines are visible. */
|
|
@@ -2176,6 +2482,14 @@ interface PptxChartOfPieOptions {
|
|
|
2176
2482
|
serLines?: boolean;
|
|
2177
2483
|
gapWidth?: number;
|
|
2178
2484
|
}
|
|
2485
|
+
/** Classic `c:bubbleChart` options from CT_BubbleChart. */
|
|
2486
|
+
interface PptxBubbleChartOptions {
|
|
2487
|
+
bubble3D?: boolean;
|
|
2488
|
+
/** Bubble diameter scale in percent, constrained to 0 through 300. */
|
|
2489
|
+
bubbleScale?: number;
|
|
2490
|
+
showNegativeBubbles?: boolean;
|
|
2491
|
+
sizeRepresents?: 'area' | 'w';
|
|
2492
|
+
}
|
|
2179
2493
|
/**
|
|
2180
2494
|
* 3D viewing parameters for a chart (`c:view3D`, ECMA-376 §21.2.2.228 /
|
|
2181
2495
|
* CT_View3D).
|
|
@@ -2216,6 +2530,27 @@ interface PptxChartChrome {
|
|
|
2216
2530
|
dispBlanksAs?: 'gap' | 'zero' | 'span';
|
|
2217
2531
|
showDLblsOverMax?: boolean;
|
|
2218
2532
|
}
|
|
2533
|
+
/** Manual chart placement from `c:layout/c:manualLayout` (CT_ManualLayout). */
|
|
2534
|
+
interface PptxChartManualLayout {
|
|
2535
|
+
layoutTarget?: 'inner' | 'outer';
|
|
2536
|
+
xMode?: 'edge' | 'factor';
|
|
2537
|
+
yMode?: 'edge' | 'factor';
|
|
2538
|
+
widthMode?: 'edge' | 'factor';
|
|
2539
|
+
heightMode?: 'edge' | 'factor';
|
|
2540
|
+
x?: number;
|
|
2541
|
+
y?: number;
|
|
2542
|
+
width?: number;
|
|
2543
|
+
height?: number;
|
|
2544
|
+
}
|
|
2545
|
+
/**
|
|
2546
|
+
* Typed manual layouts for chart regions that accept `c:layout`.
|
|
2547
|
+
* A `null` region removes its manual layout without removing extensions.
|
|
2548
|
+
*/
|
|
2549
|
+
interface PptxChartLayouts {
|
|
2550
|
+
title?: PptxChartManualLayout | null;
|
|
2551
|
+
plotArea?: PptxChartManualLayout | null;
|
|
2552
|
+
legend?: PptxChartManualLayout | null;
|
|
2553
|
+
}
|
|
2219
2554
|
/** Parsed data extracted from an embedded xlsx workbook. */
|
|
2220
2555
|
interface PptxEmbeddedWorkbookData {
|
|
2221
2556
|
/** Category labels from the first column/row. */
|
|
@@ -2225,6 +2560,16 @@ interface PptxEmbeddedWorkbookData {
|
|
|
2225
2560
|
name: string;
|
|
2226
2561
|
values: number[];
|
|
2227
2562
|
}>;
|
|
2563
|
+
/** Whether the workbook uses the 1904 date system. */
|
|
2564
|
+
date1904?: boolean;
|
|
2565
|
+
}
|
|
2566
|
+
/** Raw numeric category cache used by a classic ChartML date axis. */
|
|
2567
|
+
interface PptxChartDateCategories {
|
|
2568
|
+
values: number[];
|
|
2569
|
+
/** False/default uses Excel's 1900 date system; true uses the 1904 system. */
|
|
2570
|
+
date1904?: boolean;
|
|
2571
|
+
/** Number format copied from the numeric category cache. */
|
|
2572
|
+
formatCode?: string;
|
|
2228
2573
|
}
|
|
2229
2574
|
/**
|
|
2230
2575
|
* Complete parsed chart data for a {@link ChartPptxElement}.
|
|
@@ -2248,6 +2593,13 @@ interface PptxChartData {
|
|
|
2248
2593
|
title?: string;
|
|
2249
2594
|
chartType: PptxChartType;
|
|
2250
2595
|
categories: string[];
|
|
2596
|
+
/**
|
|
2597
|
+
* Hierarchical category levels in source XML order for ChartEx hierarchy charts.
|
|
2598
|
+
* Level 0 contains the leaf labels and remains mirrored by {@link categories}
|
|
2599
|
+
* for consumers that only understand a flat category axis.
|
|
2600
|
+
*/
|
|
2601
|
+
categoryLevels?: string[][];
|
|
2602
|
+
dateCategories?: PptxChartDateCategories;
|
|
2251
2603
|
series: PptxChartSeries[];
|
|
2252
2604
|
/** Chart style/formatting metadata. */
|
|
2253
2605
|
style?: PptxChartStyle;
|
|
@@ -2257,9 +2609,12 @@ interface PptxChartData {
|
|
|
2257
2609
|
chartPartPath?: string;
|
|
2258
2610
|
/** Internal: relationship ID linking the graphic frame to the chart part. */
|
|
2259
2611
|
chartRelationshipId?: string;
|
|
2260
|
-
|
|
2612
|
+
/** `null` explicitly removes an existing ChartML data table. */
|
|
2613
|
+
dataTable?: PptxChartDataTable | null;
|
|
2261
2614
|
dropLines?: PptxChartLineStyle;
|
|
2262
2615
|
hiLowLines?: PptxChartLineStyle;
|
|
2616
|
+
/** `null` explicitly removes an existing up/down-bars container. */
|
|
2617
|
+
upDownBars?: PptxChartUpDownBars | null;
|
|
2263
2618
|
axes?: PptxChartAxisFormatting[];
|
|
2264
2619
|
floor?: PptxChart3DSurface;
|
|
2265
2620
|
sideWall?: PptxChart3DSurface;
|
|
@@ -2281,12 +2636,7 @@ interface PptxChartData {
|
|
|
2281
2636
|
* The chart still renders using its cached series data; this field
|
|
2282
2637
|
* is metadata about the data origin, preserved for round-trip fidelity.
|
|
2283
2638
|
*/
|
|
2284
|
-
pivotSource?:
|
|
2285
|
-
/** Pivot table reference name, e.g. "[workbook.xlsx]Sheet1!PivotTable1". */
|
|
2286
|
-
name: string;
|
|
2287
|
-
/** Format identifier from c:fmtId/@val. */
|
|
2288
|
-
formatId?: number;
|
|
2289
|
-
};
|
|
2639
|
+
pivotSource?: PptxChartPivotSource | null;
|
|
2290
2640
|
/**
|
|
2291
2641
|
* Whether only visible cells are plotted (c:plotVisOnly).
|
|
2292
2642
|
* When `true` (the default), hidden cells are excluded from the chart.
|
|
@@ -2309,6 +2659,12 @@ interface PptxChartData {
|
|
|
2309
2659
|
* - `"acrossLinear"` — gradient across series
|
|
2310
2660
|
*/
|
|
2311
2661
|
colorMethod?: 'cycle' | 'withinLinear' | 'acrossLinear';
|
|
2662
|
+
/** Internal source color-style part path used for lossless dirty saves. */
|
|
2663
|
+
colorStylePartPath?: string;
|
|
2664
|
+
/** Internal parsed palette snapshot used to detect actual edits. */
|
|
2665
|
+
colorStyleOriginalPalette?: string[];
|
|
2666
|
+
/** Internal parsed method snapshot used to detect actual edits. */
|
|
2667
|
+
colorStyleOriginalMethod?: 'cycle' | 'withinLinear' | 'acrossLinear';
|
|
2312
2668
|
/**
|
|
2313
2669
|
* Pie-of-pie / Bar-of-pie options (`c:ofPieChart`, CT_OfPieChart).
|
|
2314
2670
|
*
|
|
@@ -2317,6 +2673,8 @@ interface PptxChartData {
|
|
|
2317
2673
|
* `ofPieChart` element can be re-emitted on save with full fidelity.
|
|
2318
2674
|
*/
|
|
2319
2675
|
ofPieOptions?: PptxChartOfPieOptions;
|
|
2676
|
+
/** Classic bubble-chart display options (`c:bubbleChart`). */
|
|
2677
|
+
bubbleOptions?: PptxBubbleChartOptions;
|
|
2320
2678
|
/**
|
|
2321
2679
|
* 3D viewing parameters (`c:view3D`, CT_View3D).
|
|
2322
2680
|
*
|
|
@@ -2332,6 +2690,12 @@ interface PptxChartData {
|
|
|
2332
2690
|
* source data, so absence does not produce empty `<c:…/>` placeholders.
|
|
2333
2691
|
*/
|
|
2334
2692
|
chartChrome?: PptxChartChrome;
|
|
2693
|
+
/** `c:chartSpace/c:printSettings`; `null` removes the container on save. */
|
|
2694
|
+
printSettings?: PptxChartPrintSettings | null;
|
|
2695
|
+
/** `c:chartSpace/c:protection`; `null` removes the container on save. */
|
|
2696
|
+
protection?: PptxChartProtection | null;
|
|
2697
|
+
/** Editable manual placement for the title, plot area, and legend. */
|
|
2698
|
+
layouts?: PptxChartLayouts;
|
|
2335
2699
|
/**
|
|
2336
2700
|
* Raw `c:userShapes` XML subtree (a drawing tree) preserved verbatim.
|
|
2337
2701
|
*
|
|
@@ -2348,7 +2712,8 @@ interface PptxChartData {
|
|
|
2348
2712
|
* for charts whose data originates from a PivotTable. Preserved
|
|
2349
2713
|
* verbatim for round-trip fidelity.
|
|
2350
2714
|
*/
|
|
2351
|
-
|
|
2715
|
+
/** Typed pivot-chart format persistence; `null` removes `c:pivotFmts`. */
|
|
2716
|
+
pivotFormats?: PptxChartPivotFormats | null;
|
|
2352
2717
|
/**
|
|
2353
2718
|
* Color-map override (`c:clrMapOvr`) carrying 12 attributes that
|
|
2354
2719
|
* remap theme colour roles for this chart only. Preserved as a flat
|
|
@@ -2357,107 +2722,61 @@ interface PptxChartData {
|
|
|
2357
2722
|
clrMapOvr?: Record<string, string>;
|
|
2358
2723
|
}
|
|
2359
2724
|
|
|
2360
|
-
/**
|
|
2361
|
-
* Image types: effects, crop shapes, and properties shared by image/picture
|
|
2362
|
-
* elements.
|
|
2363
|
-
*
|
|
2364
|
-
* @module pptx-types/image
|
|
2365
|
-
*/
|
|
2366
|
-
/**
|
|
2367
|
-
* Blend mode for `a:blend` container nodes inside an `a:effectDag` (CT_BlendEffect).
|
|
2368
|
-
*
|
|
2369
|
-
* Per ECMA-376 §20.1.8.10, valid values are: `darken`, `lighten`, `mult`,
|
|
2370
|
-
* `over`, `screen`.
|
|
2371
|
-
*/
|
|
2372
2725
|
type EffectDagBlendMode = 'darken' | 'lighten' | 'mult' | 'over' | 'screen';
|
|
2373
|
-
/**
|
|
2374
|
-
* Container node kind inside an `a:effectDag` (CT_EffectContainer @type).
|
|
2375
|
-
*
|
|
2376
|
-
* Per ECMA-376 §20.1.8.20, `sib` (sibling) draws each child independently
|
|
2377
|
-
* over the same source; `tree` (tree) chains effects so each sees the output
|
|
2378
|
-
* of its siblings.
|
|
2379
|
-
*/
|
|
2380
2726
|
type EffectDagContainerType = 'sib' | 'tree';
|
|
2381
|
-
|
|
2382
|
-
* Typed model of the directed-acyclic effect graph stored in `a:effectDag`.
|
|
2383
|
-
*
|
|
2384
|
-
* The four "structural" container/transform nodes are typed; any other inner
|
|
2385
|
-
* effect (e.g. `a:outerShdw`, `a:glow`, `a:alphaInv`) is preserved verbatim
|
|
2386
|
-
* as a raw XML object via the {@link EffectDagRawLeaf} variant so we never
|
|
2387
|
-
* have to recurse into the full effect taxonomy.
|
|
2388
|
-
*
|
|
2389
|
-
* @example
|
|
2390
|
-
* ```ts
|
|
2391
|
-
* // <a:effectDag>
|
|
2392
|
-
* // <a:cont type="sib">
|
|
2393
|
-
* // <a:blend blend="mult"><a:cont type="tree" /></a:blend>
|
|
2394
|
-
* // </a:cont>
|
|
2395
|
-
* // </a:effectDag>
|
|
2396
|
-
* const dag: EffectDagContainer = {
|
|
2397
|
-
* kind: "cont",
|
|
2398
|
-
* type: "sib",
|
|
2399
|
-
* children: [{
|
|
2400
|
-
* kind: "blend",
|
|
2401
|
-
* mode: "mult",
|
|
2402
|
-
* container: { kind: "cont", type: "tree", children: [] },
|
|
2403
|
-
* }],
|
|
2404
|
-
* };
|
|
2405
|
-
* ```
|
|
2406
|
-
*/
|
|
2407
|
-
type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagRawLeaf;
|
|
2408
|
-
/** `a:cont` — CT_EffectContainer. Recursive; mirrors the top-level `effectDag`. */
|
|
2727
|
+
type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagBlur | EffectDagAlphaOutset | EffectDagPresetShadow | EffectDagRawLeaf;
|
|
2409
2728
|
interface EffectDagContainer {
|
|
2410
2729
|
kind: 'cont';
|
|
2411
|
-
/** `@type` — `sib` or `tree`. */
|
|
2412
2730
|
type: EffectDagContainerType;
|
|
2413
|
-
/** Optional `@name` attribute. */
|
|
2414
2731
|
name?: string;
|
|
2415
|
-
/** Ordered children. */
|
|
2416
2732
|
children: EffectDagNode[];
|
|
2417
2733
|
}
|
|
2418
|
-
/** `a:blend` — CT_BlendEffect. Always wraps a single `a:cont` child. */
|
|
2419
2734
|
interface EffectDagBlend {
|
|
2420
2735
|
kind: 'blend';
|
|
2421
|
-
/** `@blend` attribute. */
|
|
2422
2736
|
mode: EffectDagBlendMode;
|
|
2423
|
-
/** Required child `a:cont` container. */
|
|
2424
2737
|
container: EffectDagContainer;
|
|
2425
2738
|
}
|
|
2426
|
-
/** `a:xfrmEffect` — CT_TransformEffect. Affine transform with no children. */
|
|
2427
2739
|
interface EffectDagXfrm {
|
|
2428
2740
|
kind: 'xfrmEffect';
|
|
2429
|
-
/** Horizontal scale, percentage * 1000 (e.g. 100000 = 100%). */
|
|
2430
2741
|
sx?: number;
|
|
2431
|
-
/** Vertical scale, percentage * 1000. */
|
|
2432
2742
|
sy?: number;
|
|
2433
|
-
/** Horizontal skew, degrees * 60000. */
|
|
2434
2743
|
kx?: number;
|
|
2435
|
-
/** Vertical skew, degrees * 60000. */
|
|
2436
2744
|
ky?: number;
|
|
2437
|
-
/** Horizontal translation in EMU. */
|
|
2438
2745
|
tx?: number;
|
|
2439
|
-
/** Vertical translation in EMU. */
|
|
2440
2746
|
ty?: number;
|
|
2441
2747
|
}
|
|
2442
|
-
/** `a:relOff` — CT_RelativeOffsetEffect. Relative offset in 1000ths of a percent. */
|
|
2443
2748
|
interface EffectDagRelOff {
|
|
2444
2749
|
kind: 'relOff';
|
|
2445
|
-
/** Horizontal offset, percentage * 1000. */
|
|
2446
2750
|
tx?: number;
|
|
2447
|
-
/** Vertical offset, percentage * 1000. */
|
|
2448
2751
|
ty?: number;
|
|
2449
2752
|
}
|
|
2450
|
-
/**
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2753
|
+
/** Typed CT_BlurEffect with its original payload retained for lossless edits. */
|
|
2754
|
+
interface EffectDagBlur {
|
|
2755
|
+
kind: 'blur';
|
|
2756
|
+
radiusEmu?: number;
|
|
2757
|
+
grow?: boolean;
|
|
2758
|
+
xml: XmlObject;
|
|
2759
|
+
}
|
|
2760
|
+
/** Typed CT_AlphaOutsetEffect with original XML retained for lossless edits. */
|
|
2761
|
+
interface EffectDagAlphaOutset {
|
|
2762
|
+
kind: 'alphaOutset';
|
|
2763
|
+
radiusEmu?: number;
|
|
2764
|
+
xml: XmlObject;
|
|
2765
|
+
}
|
|
2766
|
+
/** Typed CT_PresetShadowEffect with colour and extension XML retained verbatim. */
|
|
2767
|
+
interface EffectDagPresetShadow {
|
|
2768
|
+
kind: 'prstShdw';
|
|
2769
|
+
preset?: `shdw${number}`;
|
|
2770
|
+
distanceEmu?: number;
|
|
2771
|
+
direction?: number;
|
|
2772
|
+
xml: XmlObject;
|
|
2773
|
+
}
|
|
2454
2774
|
interface EffectDagRawLeaf {
|
|
2455
2775
|
kind: 'raw';
|
|
2456
|
-
/** Local element name without the `a:` prefix (e.g. `outerShdw`, `glow`). */
|
|
2457
2776
|
tag: string;
|
|
2458
|
-
/** Raw XML object captured at load — preserved verbatim on save. */
|
|
2459
2777
|
xml: Record<string, unknown>;
|
|
2460
2778
|
}
|
|
2779
|
+
|
|
2461
2780
|
/**
|
|
2462
2781
|
* Image recolour/adjustment properties parsed from blip extensions.
|
|
2463
2782
|
*
|
|
@@ -2483,6 +2802,8 @@ interface PptxImageEffects {
|
|
|
2483
2802
|
duotone?: {
|
|
2484
2803
|
color1: string;
|
|
2485
2804
|
color2: string;
|
|
2805
|
+
/** Original effect XML, retained while the resolved colours are unchanged. */
|
|
2806
|
+
rawXml?: XmlObject;
|
|
2486
2807
|
};
|
|
2487
2808
|
/** Grayscale flag. */
|
|
2488
2809
|
grayscale?: boolean;
|
|
@@ -2497,8 +2818,10 @@ interface PptxImageEffects {
|
|
|
2497
2818
|
artisticEffect?: string;
|
|
2498
2819
|
/** Artistic effect radius/amount. */
|
|
2499
2820
|
artisticRadius?: number;
|
|
2500
|
-
/** Alpha modulation fixed
|
|
2821
|
+
/** Alpha modulation fixed: non-negative percentage (100 means unchanged opacity). */
|
|
2501
2822
|
alphaModFix?: number;
|
|
2823
|
+
/** Original alpha modulation fixed node, including foreign attributes. */
|
|
2824
|
+
alphaModFixRawXml?: XmlObject;
|
|
2502
2825
|
/** Bi-level threshold — converts to 1-bit black/white (0-100). */
|
|
2503
2826
|
biLevel?: number;
|
|
2504
2827
|
/** Colour change — swap one colour range for another (used for transparency keying). */
|
|
@@ -2507,7 +2830,13 @@ interface PptxImageEffects {
|
|
|
2507
2830
|
clrTo: string;
|
|
2508
2831
|
/** Whether the target colour is fully transparent (alpha = 0). */
|
|
2509
2832
|
clrToTransparent?: boolean;
|
|
2833
|
+
/** Original effect XML, including colour transforms and extensions. */
|
|
2834
|
+
rawXml?: XmlObject;
|
|
2510
2835
|
};
|
|
2836
|
+
/** Original grayscale node, including extension or foreign attributes. */
|
|
2837
|
+
grayscaleRawXml?: XmlObject;
|
|
2838
|
+
/** Original bi-level node, including extension or foreign attributes. */
|
|
2839
|
+
biLevelRawXml?: XmlObject;
|
|
2511
2840
|
/**
|
|
2512
2841
|
* Alpha inverse effect (`a:alphaInv`). Inverts the alpha channel; an optional
|
|
2513
2842
|
* colour child shifts the inversion baseline.
|
|
@@ -2515,11 +2844,17 @@ interface PptxImageEffects {
|
|
|
2515
2844
|
alphaInv?: {
|
|
2516
2845
|
/** Optional baseline colour (hex). */
|
|
2517
2846
|
color?: string;
|
|
2847
|
+
/** Original effect XML, including colour transforms and foreign attributes. */
|
|
2848
|
+
rawXml?: XmlObject;
|
|
2518
2849
|
};
|
|
2519
2850
|
/** Alpha ceiling (`a:alphaCeiling`) — clamps any non-zero alpha to fully opaque. Boolean flag. */
|
|
2520
2851
|
alphaCeiling?: boolean;
|
|
2852
|
+
/** Original alpha ceiling node, including foreign attributes. */
|
|
2853
|
+
alphaCeilingRawXml?: XmlObject;
|
|
2521
2854
|
/** Alpha floor (`a:alphaFloor`) — clamps any non-fully-opaque alpha to fully transparent. Boolean flag. */
|
|
2522
2855
|
alphaFloor?: boolean;
|
|
2856
|
+
/** Original alpha floor node, including foreign attributes. */
|
|
2857
|
+
alphaFloorRawXml?: XmlObject;
|
|
2523
2858
|
/**
|
|
2524
2859
|
* Alpha modulate (`a:alphaMod`). The schema requires a single `cont` (effect
|
|
2525
2860
|
* container) child; we preserve the inner XML opaquely for round-trip.
|
|
@@ -2527,11 +2862,17 @@ interface PptxImageEffects {
|
|
|
2527
2862
|
alphaMod?: {
|
|
2528
2863
|
/** Raw opaque XML for the `a:cont` child to preserve on save. */
|
|
2529
2864
|
contRawXml?: Record<string, unknown>;
|
|
2865
|
+
/** Original effect XML, including foreign attributes. */
|
|
2866
|
+
rawXml?: XmlObject;
|
|
2530
2867
|
};
|
|
2531
2868
|
/** Alpha replace (`a:alphaRepl`) — replaces alpha with the given fixed-percent value (0..100). */
|
|
2532
2869
|
alphaRepl?: number;
|
|
2870
|
+
/** Original alpha replace node, including foreign attributes. */
|
|
2871
|
+
alphaReplRawXml?: XmlObject;
|
|
2533
2872
|
/** Alpha bi-level (`a:alphaBiLevel`) — threshold (0..100) above which alpha becomes fully opaque. */
|
|
2534
2873
|
alphaBiLevel?: number;
|
|
2874
|
+
/** Original alpha bi-level node, including foreign attributes. */
|
|
2875
|
+
alphaBiLevelRawXml?: XmlObject;
|
|
2535
2876
|
/**
|
|
2536
2877
|
* Colour replace (`a:clrRepl`) — replaces all colour information in an image
|
|
2537
2878
|
* with the given solid colour. Stores the raw colour child to preserve scheme
|
|
@@ -2674,6 +3015,7 @@ declare module "./index" {
|
|
|
2674
3015
|
*
|
|
2675
3016
|
* @module pptx-types/media
|
|
2676
3017
|
*/
|
|
3018
|
+
|
|
2677
3019
|
/**
|
|
2678
3020
|
* Discriminator for embedded media element types.
|
|
2679
3021
|
*
|
|
@@ -2684,6 +3026,13 @@ declare module "./index" {
|
|
|
2684
3026
|
* ```
|
|
2685
3027
|
*/
|
|
2686
3028
|
type PptxMediaType = 'video' | 'audio' | 'unknown';
|
|
3029
|
+
type PptxMediaReferenceKind = 'audioCd' | 'wavAudioFile' | 'audioFile' | 'videoFile' | 'quickTimeFile';
|
|
3030
|
+
interface PptxAudioCdPosition {
|
|
3031
|
+
track: number;
|
|
3032
|
+
time?: number;
|
|
3033
|
+
/** Original `st` or `end` node, retained for lossless edits. */
|
|
3034
|
+
rawXml?: XmlObject;
|
|
3035
|
+
}
|
|
2687
3036
|
/**
|
|
2688
3037
|
* A named bookmark within a media clip timeline.
|
|
2689
3038
|
*
|
|
@@ -2760,6 +3109,112 @@ interface MediaCaptionTrack {
|
|
|
2760
3109
|
isDefault?: boolean;
|
|
2761
3110
|
}
|
|
2762
3111
|
|
|
3112
|
+
type PptxSmartArtConstraintRelationship = 'self' | 'ch' | 'des';
|
|
3113
|
+
type PptxSmartArtConstraintOperator = 'none' | 'equ' | 'gte' | 'lte';
|
|
3114
|
+
type PptxSmartArtConstraintPointType = 'all' | 'doc' | 'node' | 'norm' | 'nonNorm' | 'asst' | 'nonAsst' | 'parTrans' | 'pres' | 'sibTrans';
|
|
3115
|
+
interface PptxSmartArtConstraintTarget {
|
|
3116
|
+
for?: PptxSmartArtConstraintRelationship;
|
|
3117
|
+
forName?: string;
|
|
3118
|
+
pointType?: PptxSmartArtConstraintPointType;
|
|
3119
|
+
}
|
|
3120
|
+
/** Editable DiagramML CT_Constraint. */
|
|
3121
|
+
interface PptxSmartArtConstraint extends PptxSmartArtConstraintTarget {
|
|
3122
|
+
type: string;
|
|
3123
|
+
referenceType?: string;
|
|
3124
|
+
referenceFor?: PptxSmartArtConstraintRelationship;
|
|
3125
|
+
referenceForName?: string;
|
|
3126
|
+
referencePointType?: PptxSmartArtConstraintPointType;
|
|
3127
|
+
operator?: PptxSmartArtConstraintOperator;
|
|
3128
|
+
value?: number;
|
|
3129
|
+
factor?: number;
|
|
3130
|
+
/** Original constraint retained for foreign attributes and extension content. */
|
|
3131
|
+
rawXml?: XmlObject;
|
|
3132
|
+
}
|
|
3133
|
+
/** Editable DiagramML CT_NumericRule. */
|
|
3134
|
+
interface PptxSmartArtNumericRule extends PptxSmartArtConstraintTarget {
|
|
3135
|
+
type: string;
|
|
3136
|
+
value?: number;
|
|
3137
|
+
factor?: number;
|
|
3138
|
+
max?: number;
|
|
3139
|
+
/** Original rule retained for foreign attributes and extension content. */
|
|
3140
|
+
rawXml?: XmlObject;
|
|
3141
|
+
}
|
|
3142
|
+
|
|
3143
|
+
/** Typed, editable metadata from a DiagramML layout-definition part. */
|
|
3144
|
+
|
|
3145
|
+
interface PptxSmartArtLocalizedText {
|
|
3146
|
+
value: string;
|
|
3147
|
+
language?: string;
|
|
3148
|
+
}
|
|
3149
|
+
interface PptxSmartArtLayoutCategory {
|
|
3150
|
+
type: string;
|
|
3151
|
+
priority: number;
|
|
3152
|
+
}
|
|
3153
|
+
interface PptxSmartArtAlgorithmParameter {
|
|
3154
|
+
type: string;
|
|
3155
|
+
value?: string;
|
|
3156
|
+
}
|
|
3157
|
+
/** Typed DiagramML CT_Algorithm data attached to a layout node. */
|
|
3158
|
+
interface PptxSmartArtLayoutAlgorithm {
|
|
3159
|
+
type: string;
|
|
3160
|
+
revision?: number;
|
|
3161
|
+
parameters?: PptxSmartArtAlgorithmParameter[];
|
|
3162
|
+
}
|
|
3163
|
+
interface PptxSmartArtIteratorAttributes {
|
|
3164
|
+
name?: string;
|
|
3165
|
+
reference?: string;
|
|
3166
|
+
axis?: string[];
|
|
3167
|
+
pointTypes?: string[];
|
|
3168
|
+
hideLastTransition?: boolean[];
|
|
3169
|
+
start?: number[];
|
|
3170
|
+
count?: number[];
|
|
3171
|
+
step?: number[];
|
|
3172
|
+
}
|
|
3173
|
+
interface PptxSmartArtForEach extends PptxSmartArtIteratorAttributes {
|
|
3174
|
+
rawXml?: XmlObject;
|
|
3175
|
+
}
|
|
3176
|
+
interface PptxSmartArtWhen extends PptxSmartArtIteratorAttributes {
|
|
3177
|
+
function: string;
|
|
3178
|
+
argument?: string;
|
|
3179
|
+
operator: string;
|
|
3180
|
+
value: string;
|
|
3181
|
+
rawXml?: XmlObject;
|
|
3182
|
+
}
|
|
3183
|
+
interface PptxSmartArtChoose {
|
|
3184
|
+
name?: string;
|
|
3185
|
+
when: PptxSmartArtWhen[];
|
|
3186
|
+
otherwise?: {
|
|
3187
|
+
name?: string;
|
|
3188
|
+
rawXml?: XmlObject;
|
|
3189
|
+
} | null;
|
|
3190
|
+
rawXml?: XmlObject;
|
|
3191
|
+
}
|
|
3192
|
+
/** Identity and ordering metadata from DiagramML CT_LayoutNode. */
|
|
3193
|
+
interface PptxSmartArtLayoutNode {
|
|
3194
|
+
name?: string;
|
|
3195
|
+
styleLabel?: string;
|
|
3196
|
+
childOrder?: 'b' | 't';
|
|
3197
|
+
moveWith?: string;
|
|
3198
|
+
algorithm?: PptxSmartArtLayoutAlgorithm;
|
|
3199
|
+
forEach?: PptxSmartArtForEach[];
|
|
3200
|
+
choose?: PptxSmartArtChoose[];
|
|
3201
|
+
constraints?: PptxSmartArtConstraint[];
|
|
3202
|
+
rules?: PptxSmartArtNumericRule[];
|
|
3203
|
+
children?: PptxSmartArtLayoutNode[];
|
|
3204
|
+
}
|
|
3205
|
+
/** Metadata and root node from DiagramML CT_DiagramDefinition. */
|
|
3206
|
+
interface PptxSmartArtLayoutDefinition {
|
|
3207
|
+
uniqueId?: string;
|
|
3208
|
+
minimumVersion?: string;
|
|
3209
|
+
defaultStyle?: string;
|
|
3210
|
+
titles?: PptxSmartArtLocalizedText[];
|
|
3211
|
+
descriptions?: PptxSmartArtLocalizedText[];
|
|
3212
|
+
categories?: PptxSmartArtLayoutCategory[];
|
|
3213
|
+
rootNode: PptxSmartArtLayoutNode;
|
|
3214
|
+
/** Original definition retained for constraint evaluation and foreign rules. */
|
|
3215
|
+
rawXml?: XmlObject;
|
|
3216
|
+
}
|
|
3217
|
+
|
|
2763
3218
|
/**
|
|
2764
3219
|
* SmartArt node types: per-run text, per-node visual override, and the
|
|
2765
3220
|
* data-model node itself. Split out of `smart-art.ts` to keep each type file
|
|
@@ -2769,6 +3224,7 @@ interface MediaCaptionTrack {
|
|
|
2769
3224
|
*
|
|
2770
3225
|
* @module pptx-types/smart-art-node
|
|
2771
3226
|
*/
|
|
3227
|
+
|
|
2772
3228
|
/**
|
|
2773
3229
|
* A single run of text inside a SmartArt node, capturing the run text and the
|
|
2774
3230
|
* raw `a:rPr` run-properties object verbatim so per-run formatting (bold,
|
|
@@ -2792,6 +3248,54 @@ interface PptxSmartArtTextRun {
|
|
|
2792
3248
|
* round-trip. Untyped XML, hence the loose record shape.
|
|
2793
3249
|
*/
|
|
2794
3250
|
rPr?: Record<string, unknown>;
|
|
3251
|
+
/** Resolved standard shape-text style derived from {@link rPr}. */
|
|
3252
|
+
style?: TextStyle;
|
|
3253
|
+
/** Raw run XML used to retain unmodelled extension children on save. */
|
|
3254
|
+
rawXml?: Record<string, unknown>;
|
|
3255
|
+
/** Original direct-child order, including unmodelled extension children. */
|
|
3256
|
+
childOrder?: string[];
|
|
3257
|
+
}
|
|
3258
|
+
/** An ordered item within a SmartArt text paragraph. */
|
|
3259
|
+
type PptxSmartArtTextParagraphItem = {
|
|
3260
|
+
kind: 'run';
|
|
3261
|
+
run: PptxSmartArtTextRun;
|
|
3262
|
+
} | {
|
|
3263
|
+
kind: 'break';
|
|
3264
|
+
rPr?: Record<string, unknown>;
|
|
3265
|
+
style?: TextStyle;
|
|
3266
|
+
rawXml?: Record<string, unknown>;
|
|
3267
|
+
childOrder?: string[];
|
|
3268
|
+
} | {
|
|
3269
|
+
kind: 'field';
|
|
3270
|
+
id?: string;
|
|
3271
|
+
fieldType?: string;
|
|
3272
|
+
text: string;
|
|
3273
|
+
rPr?: Record<string, unknown>;
|
|
3274
|
+
style?: TextStyle;
|
|
3275
|
+
pPr?: Record<string, unknown>;
|
|
3276
|
+
rawXml?: Record<string, unknown>;
|
|
3277
|
+
childOrder?: string[];
|
|
3278
|
+
} | {
|
|
3279
|
+
kind: 'tab';
|
|
3280
|
+
rawXml?: Record<string, unknown>;
|
|
3281
|
+
childOrder?: string[];
|
|
3282
|
+
} | {
|
|
3283
|
+
kind: 'raw';
|
|
3284
|
+
name: string;
|
|
3285
|
+
value: unknown;
|
|
3286
|
+
};
|
|
3287
|
+
/** A complete `a:p` paragraph in a SmartArt data-model text body. */
|
|
3288
|
+
interface PptxSmartArtTextParagraph {
|
|
3289
|
+
/** Paragraph properties (`a:pPr`) preserved verbatim. */
|
|
3290
|
+
pPr?: Record<string, unknown>;
|
|
3291
|
+
/** Text children in source order. */
|
|
3292
|
+
items: PptxSmartArtTextParagraphItem[];
|
|
3293
|
+
/** End-paragraph run properties (`a:endParaRPr`) preserved verbatim. */
|
|
3294
|
+
endParaRPr?: Record<string, unknown>;
|
|
3295
|
+
/** Resolved style for the paragraph terminator. */
|
|
3296
|
+
endParaStyle?: TextStyle;
|
|
3297
|
+
/** Raw paragraph XML used to retain unmodelled extension children on save. */
|
|
3298
|
+
rawXml?: Record<string, unknown>;
|
|
2795
3299
|
}
|
|
2796
3300
|
/**
|
|
2797
3301
|
* Per-node visual override for a SmartArt node.
|
|
@@ -2847,6 +3351,8 @@ interface PptxSmartArtNodeStyle {
|
|
|
2847
3351
|
interface PptxSmartArtNode {
|
|
2848
3352
|
id: string;
|
|
2849
3353
|
text: string;
|
|
3354
|
+
/** CT_Pt connection identifier, when the point references a connection. */
|
|
3355
|
+
connectionId?: string | null;
|
|
2850
3356
|
parentId?: string;
|
|
2851
3357
|
children?: PptxSmartArtNode[];
|
|
2852
3358
|
/** Node type from `@_type` attribute (e.g. "doc", "node", "asst", "pres"). */
|
|
@@ -2859,6 +3365,11 @@ interface PptxSmartArtNode {
|
|
|
2859
3365
|
* is not flattened. When {@link text} diverges, the runs are ignored.
|
|
2860
3366
|
*/
|
|
2861
3367
|
runs?: PptxSmartArtTextRun[];
|
|
3368
|
+
/**
|
|
3369
|
+
* Complete typed paragraph model. Unlike {@link runs}, this retains every
|
|
3370
|
+
* paragraph and the ordered run, field, break, and tab children within it.
|
|
3371
|
+
*/
|
|
3372
|
+
paragraphs?: PptxSmartArtTextParagraph[];
|
|
2862
3373
|
/**
|
|
2863
3374
|
* Optional per-node visual override (fill / line / font colour, bold /
|
|
2864
3375
|
* italic). Read at parse time from the point's `spPr` / first-run `rPr`, set
|
|
@@ -2868,6 +3379,64 @@ interface PptxSmartArtNode {
|
|
|
2868
3379
|
style?: PptxSmartArtNodeStyle;
|
|
2869
3380
|
}
|
|
2870
3381
|
|
|
3382
|
+
/** Editable metadata shared by DiagramML quick-style and color definitions. */
|
|
3383
|
+
interface PptxSmartArtDefinitionText {
|
|
3384
|
+
value: string;
|
|
3385
|
+
language?: string;
|
|
3386
|
+
}
|
|
3387
|
+
interface PptxSmartArtDefinitionCategory {
|
|
3388
|
+
type: string;
|
|
3389
|
+
priority: number;
|
|
3390
|
+
}
|
|
3391
|
+
type PptxSmartArtColorApplicationMethod = 'span' | 'cycle' | 'repeat';
|
|
3392
|
+
type PptxSmartArtHueDirection = 'cw' | 'ccw';
|
|
3393
|
+
/** CT_Colors application metadata. Color-choice children remain preserved XML. */
|
|
3394
|
+
interface PptxSmartArtColorListMetadata {
|
|
3395
|
+
method?: PptxSmartArtColorApplicationMethod;
|
|
3396
|
+
hueDirection?: PptxSmartArtHueDirection;
|
|
3397
|
+
}
|
|
3398
|
+
/** CT_StyleLabel metadata from a quick-style definition. */
|
|
3399
|
+
interface PptxSmartArtQuickStyleLabel {
|
|
3400
|
+
name: string;
|
|
3401
|
+
}
|
|
3402
|
+
/** CT_CTStyleLabel metadata from a color-transform definition. */
|
|
3403
|
+
interface PptxSmartArtColorStyleLabel {
|
|
3404
|
+
name: string;
|
|
3405
|
+
fill?: PptxSmartArtColorListMetadata;
|
|
3406
|
+
line?: PptxSmartArtColorListMetadata;
|
|
3407
|
+
effect?: PptxSmartArtColorListMetadata;
|
|
3408
|
+
textLine?: PptxSmartArtColorListMetadata;
|
|
3409
|
+
textFill?: PptxSmartArtColorListMetadata;
|
|
3410
|
+
textEffect?: PptxSmartArtColorListMetadata;
|
|
3411
|
+
}
|
|
3412
|
+
interface PptxSmartArtDefinitionMetadata {
|
|
3413
|
+
uniqueId?: string;
|
|
3414
|
+
minimumVersion?: string;
|
|
3415
|
+
titles?: PptxSmartArtDefinitionText[];
|
|
3416
|
+
descriptions?: PptxSmartArtDefinitionText[];
|
|
3417
|
+
categories?: PptxSmartArtDefinitionCategory[];
|
|
3418
|
+
}
|
|
3419
|
+
/** Typed CT_ColorTransform metadata and the resolved legacy color palette. */
|
|
3420
|
+
interface PptxSmartArtColorTransform extends PptxSmartArtDefinitionMetadata {
|
|
3421
|
+
/** Legacy resolved display name. */
|
|
3422
|
+
name?: string;
|
|
3423
|
+
/** Ordered resolved fill colors for rendering. */
|
|
3424
|
+
fillColors: string[];
|
|
3425
|
+
/** Ordered resolved line colors for rendering. */
|
|
3426
|
+
lineColors: string[];
|
|
3427
|
+
/** Ordered CT_CTStyleLabel metadata. */
|
|
3428
|
+
labels?: PptxSmartArtColorStyleLabel[];
|
|
3429
|
+
}
|
|
3430
|
+
/** Typed CT_StyleDefinition metadata and legacy rendering hint. */
|
|
3431
|
+
interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
|
|
3432
|
+
/** Legacy resolved display name. */
|
|
3433
|
+
name?: string;
|
|
3434
|
+
/** Legacy effect-intensity rendering hint. */
|
|
3435
|
+
effectIntensity?: string;
|
|
3436
|
+
/** Ordered CT_StyleLabel metadata. Complex style payload remains preserved XML. */
|
|
3437
|
+
labels?: PptxSmartArtQuickStyleLabel[];
|
|
3438
|
+
}
|
|
3439
|
+
|
|
2871
3440
|
/**
|
|
2872
3441
|
* SmartArt types: layout categories, layout presets, colour schemes,
|
|
2873
3442
|
* data-model nodes/connections, drawing shapes, chrome, and the composite
|
|
@@ -2930,6 +3499,8 @@ type SmartArtStyle = 'flat' | 'moderate' | 'intense';
|
|
|
2930
3499
|
* ```
|
|
2931
3500
|
*/
|
|
2932
3501
|
interface PptxSmartArtConnection {
|
|
3502
|
+
/** Stable CT_Cxn model identifier. Required when serialized. */
|
|
3503
|
+
modelId?: string | null;
|
|
2933
3504
|
/** Model ID of the source node. */
|
|
2934
3505
|
sourceId: string;
|
|
2935
3506
|
/** Model ID of the destination node. */
|
|
@@ -2940,6 +3511,12 @@ interface PptxSmartArtConnection {
|
|
|
2940
3511
|
srcOrd?: number;
|
|
2941
3512
|
/** Destination index for ordering. */
|
|
2942
3513
|
destOrd?: number;
|
|
3514
|
+
/** Model ID of the parent transition point associated with this edge. */
|
|
3515
|
+
parentTransitionId?: string | null;
|
|
3516
|
+
/** Model ID of the sibling transition point associated with this edge. */
|
|
3517
|
+
siblingTransitionId?: string | null;
|
|
3518
|
+
/** Layout presentation identifier used by presentation connections. */
|
|
3519
|
+
presentationId?: string | null;
|
|
2943
3520
|
}
|
|
2944
3521
|
/**
|
|
2945
3522
|
* A pre-computed shape from `ppt/diagrams/drawing*.xml`.
|
|
@@ -2956,7 +3533,7 @@ interface PptxSmartArtConnection {
|
|
|
2956
3533
|
* // => satisfies PptxSmartArtDrawingShape
|
|
2957
3534
|
* ```
|
|
2958
3535
|
*/
|
|
2959
|
-
interface PptxSmartArtDrawingShape {
|
|
3536
|
+
interface PptxSmartArtDrawingShape extends PptxCustomPathProperties {
|
|
2960
3537
|
/** Shape ID within the drawing. */
|
|
2961
3538
|
id: string;
|
|
2962
3539
|
/** Preset geometry type (e.g. "roundRect", "ellipse"). */
|
|
@@ -2980,6 +3557,8 @@ interface PptxSmartArtDrawingShape {
|
|
|
2980
3557
|
strokeWidth?: number;
|
|
2981
3558
|
/** Text content of the shape. */
|
|
2982
3559
|
text?: string;
|
|
3560
|
+
/** Standard rich-text segments projected from the associated SmartArt node. */
|
|
3561
|
+
textSegments?: TextSegment[];
|
|
2983
3562
|
/** Font size in points. */
|
|
2984
3563
|
fontSize?: number;
|
|
2985
3564
|
/** Font colour (hex). */
|
|
@@ -3006,45 +3585,6 @@ interface PptxSmartArtChrome {
|
|
|
3006
3585
|
/** Outline stroke width in points. */
|
|
3007
3586
|
outlineWidth?: number;
|
|
3008
3587
|
}
|
|
3009
|
-
/**
|
|
3010
|
-
* Colour transform entry from `ppt/diagrams/colors*.xml`.
|
|
3011
|
-
*
|
|
3012
|
-
* @example
|
|
3013
|
-
* ```ts
|
|
3014
|
-
* const transform: PptxSmartArtColorTransform = {
|
|
3015
|
-
* name: "Colorful - Accent Colors",
|
|
3016
|
-
* fillColors: ["#4F81BD", "#C0504D", "#9BBB59"],
|
|
3017
|
-
* lineColors: ["#385D8A", "#8C3836", "#71893F"],
|
|
3018
|
-
* };
|
|
3019
|
-
* // => satisfies PptxSmartArtColorTransform
|
|
3020
|
-
* ```
|
|
3021
|
-
*/
|
|
3022
|
-
interface PptxSmartArtColorTransform {
|
|
3023
|
-
/** Colour scheme name / title. */
|
|
3024
|
-
name?: string;
|
|
3025
|
-
/** Ordered list of fill colours (hex) for each node. */
|
|
3026
|
-
fillColors: string[];
|
|
3027
|
-
/** Ordered list of line colours (hex). */
|
|
3028
|
-
lineColors: string[];
|
|
3029
|
-
}
|
|
3030
|
-
/**
|
|
3031
|
-
* Style entry from `ppt/diagrams/quickStyles*.xml`.
|
|
3032
|
-
*
|
|
3033
|
-
* @example
|
|
3034
|
-
* ```ts
|
|
3035
|
-
* const qs: PptxSmartArtQuickStyle = {
|
|
3036
|
-
* name: "Moderate Effect",
|
|
3037
|
-
* effectIntensity: "moderate",
|
|
3038
|
-
* };
|
|
3039
|
-
* // => satisfies PptxSmartArtQuickStyle
|
|
3040
|
-
* ```
|
|
3041
|
-
*/
|
|
3042
|
-
interface PptxSmartArtQuickStyle {
|
|
3043
|
-
/** Style name / title. */
|
|
3044
|
-
name?: string;
|
|
3045
|
-
/** Effect intensity identifier (e.g. "subtle", "moderate", "intense"). */
|
|
3046
|
-
effectIntensity?: string;
|
|
3047
|
-
}
|
|
3048
3588
|
/**
|
|
3049
3589
|
* Complete parsed SmartArt data for a {@link SmartArtPptxElement}.
|
|
3050
3590
|
*
|
|
@@ -3084,14 +3624,28 @@ interface PptxSmartArtData {
|
|
|
3084
3624
|
colorTransform?: PptxSmartArtColorTransform;
|
|
3085
3625
|
/** Quick style from `ppt/diagrams/quickStyles*.xml`. */
|
|
3086
3626
|
quickStyle?: PptxSmartArtQuickStyle;
|
|
3627
|
+
/** Editable metadata from the related DiagramML layout definition. */
|
|
3628
|
+
layoutDefinition?: PptxSmartArtLayoutDefinition;
|
|
3087
3629
|
/** Relationship ID for the diagram data part (for round-trip save). */
|
|
3088
3630
|
dataRelId?: string;
|
|
3631
|
+
/** Relationship ID for the diagram layout part. */
|
|
3632
|
+
layoutRelId?: string;
|
|
3089
3633
|
/** Relationship ID for the drawing part. */
|
|
3090
3634
|
drawingRelId?: string;
|
|
3091
3635
|
/** Relationship ID for the colours part. */
|
|
3092
3636
|
colorsRelId?: string;
|
|
3093
3637
|
/** Relationship ID for the quick-styles part. */
|
|
3094
3638
|
styleRelId?: string;
|
|
3639
|
+
/** Internal save hint: the layout definition changed in the editor. */
|
|
3640
|
+
layoutDirty?: boolean;
|
|
3641
|
+
/** Internal save hint: typed layout-definition metadata changed. */
|
|
3642
|
+
layoutDefinitionDirty?: boolean;
|
|
3643
|
+
/** Internal save hint: quick-style definition metadata changed. */
|
|
3644
|
+
quickStyleDirty?: boolean;
|
|
3645
|
+
/** Internal save hint: color-transform definition metadata changed. */
|
|
3646
|
+
colorTransformDirty?: boolean;
|
|
3647
|
+
/** Internal save hint: cached drawing geometry or text changed in the editor. */
|
|
3648
|
+
drawingDirty?: boolean;
|
|
3095
3649
|
}
|
|
3096
3650
|
|
|
3097
3651
|
/**
|
|
@@ -3580,6 +4134,13 @@ interface MediaPptxElement extends PptxElementBase {
|
|
|
3580
4134
|
mediaPath?: string;
|
|
3581
4135
|
mediaData?: string;
|
|
3582
4136
|
mediaMimeType?: string;
|
|
4137
|
+
mediaReferenceKind?: PptxMediaReferenceKind;
|
|
4138
|
+
mediaReferenceName?: string;
|
|
4139
|
+
/** Explicit DrawingML `audioFile/@contentType` value when present. */
|
|
4140
|
+
mediaReferenceContentType?: string;
|
|
4141
|
+
audioCdStart?: PptxAudioCdPosition;
|
|
4142
|
+
audioCdEnd?: PptxAudioCdPosition;
|
|
4143
|
+
rawMediaReferenceXml?: XmlObject;
|
|
3583
4144
|
/** Trim start in milliseconds (from p:cMediaNode p:cTn @st). */
|
|
3584
4145
|
trimStartMs?: number;
|
|
3585
4146
|
/** Trim end in milliseconds (from p:cMediaNode p:cTn @end). */
|
|
@@ -3700,6 +4261,10 @@ interface ContentPartPptxElement extends PptxElementBase {
|
|
|
3700
4261
|
type: 'contentPart';
|
|
3701
4262
|
/** Ink strokes contained in this content part. */
|
|
3702
4263
|
inkStrokes?: ContentPartInkStroke[];
|
|
4264
|
+
/** Package path of the related InkML part. */
|
|
4265
|
+
inkPartPath?: string;
|
|
4266
|
+
/** Parsed InkML root retained for unknown-node preservation on dirty save. */
|
|
4267
|
+
inkPartRawXml?: XmlObject;
|
|
3703
4268
|
}
|
|
3704
4269
|
/**
|
|
3705
4270
|
* A Slide Zoom or Section Zoom element (PowerPoint Zoom Object).
|
|
@@ -3720,12 +4285,32 @@ interface ContentPartPptxElement extends PptxElementBase {
|
|
|
3720
4285
|
*/
|
|
3721
4286
|
interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
|
|
3722
4287
|
type: 'zoom';
|
|
3723
|
-
/** Type of zoom: slide-level or section
|
|
3724
|
-
zoomType: 'slide' | 'section';
|
|
4288
|
+
/** Type of zoom: slide-level, section-level, or a multi-section summary. */
|
|
4289
|
+
zoomType: 'slide' | 'section' | 'summary';
|
|
3725
4290
|
/** Zero-based index of the target slide. */
|
|
3726
4291
|
targetSlideIndex: number;
|
|
3727
4292
|
/** Section ID for section zoom. */
|
|
3728
4293
|
targetSectionId?: string;
|
|
4294
|
+
/** Ordered section tiles in a Summary Zoom container. */
|
|
4295
|
+
summaryTargets?: SummaryZoomTarget[];
|
|
4296
|
+
/** Layout mode authored on the Summary Zoom container. */
|
|
4297
|
+
summaryLayout?: 'grid' | 'fixed';
|
|
4298
|
+
}
|
|
4299
|
+
/** A single section tile within a PowerPoint Summary Zoom container. */
|
|
4300
|
+
interface SummaryZoomTarget extends PptxImageProperties {
|
|
4301
|
+
sectionId: string;
|
|
4302
|
+
targetSlideIndex: number;
|
|
4303
|
+
x: number;
|
|
4304
|
+
y: number;
|
|
4305
|
+
width: number;
|
|
4306
|
+
height: number;
|
|
4307
|
+
title?: string;
|
|
4308
|
+
description?: string;
|
|
4309
|
+
offsetFactorX?: number;
|
|
4310
|
+
offsetFactorY?: number;
|
|
4311
|
+
scaleFactorX?: number;
|
|
4312
|
+
scaleFactorY?: number;
|
|
4313
|
+
rawXml?: XmlObject;
|
|
3729
4314
|
}
|
|
3730
4315
|
/**
|
|
3731
4316
|
* A 3D model object embedded via `p16:model3D` inside an
|
|
@@ -3809,6 +4394,44 @@ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevi
|
|
|
3809
4394
|
* is preserved alongside other animations.
|
|
3810
4395
|
*/
|
|
3811
4396
|
type PptxNativeAnimationKind = 'media';
|
|
4397
|
+
/** A target selected by `p:tgtEl` in the PresentationML timing model. */
|
|
4398
|
+
type PptxAnimationTarget = {
|
|
4399
|
+
type: 'shape';
|
|
4400
|
+
shapeId: string;
|
|
4401
|
+
rawXml?: XmlObject;
|
|
4402
|
+
} | {
|
|
4403
|
+
type: 'slide';
|
|
4404
|
+
rawXml?: XmlObject;
|
|
4405
|
+
} | {
|
|
4406
|
+
type: 'sound';
|
|
4407
|
+
relationshipId: string;
|
|
4408
|
+
name?: string;
|
|
4409
|
+
rawXml?: XmlObject;
|
|
4410
|
+
} | {
|
|
4411
|
+
type: 'ink';
|
|
4412
|
+
shapeId: string;
|
|
4413
|
+
rawXml?: XmlObject;
|
|
4414
|
+
} | {
|
|
4415
|
+
type: 'unknown';
|
|
4416
|
+
rawXml: XmlObject;
|
|
4417
|
+
};
|
|
4418
|
+
/** Nested build choice carried by `p:bldGraphic`. */
|
|
4419
|
+
type PptxGraphicBuild = {
|
|
4420
|
+
mode: 'asOne';
|
|
4421
|
+
rawXml?: XmlObject;
|
|
4422
|
+
} | {
|
|
4423
|
+
mode: 'sub';
|
|
4424
|
+
kind: 'diagram';
|
|
4425
|
+
build: string;
|
|
4426
|
+
reverse: boolean;
|
|
4427
|
+
rawXml?: XmlObject;
|
|
4428
|
+
} | {
|
|
4429
|
+
mode: 'sub';
|
|
4430
|
+
kind: 'chart';
|
|
4431
|
+
build: string;
|
|
4432
|
+
animateBackground: boolean;
|
|
4433
|
+
rawXml?: XmlObject;
|
|
4434
|
+
};
|
|
3812
4435
|
/**
|
|
3813
4436
|
* Parsed native animation record from `p:timing / p:tnLst`.
|
|
3814
4437
|
*
|
|
@@ -3830,6 +4453,8 @@ type PptxNativeAnimationKind = 'media';
|
|
|
3830
4453
|
interface PptxNativeAnimation {
|
|
3831
4454
|
/** Target element/shape ID. */
|
|
3832
4455
|
targetId?: string;
|
|
4456
|
+
/** Full timing target, including sound and ink target variants. */
|
|
4457
|
+
target?: PptxAnimationTarget;
|
|
3833
4458
|
/** Trigger type. */
|
|
3834
4459
|
trigger?: PptxAnimationTrigger;
|
|
3835
4460
|
/** Shape ID that triggers this animation when clicked (interactive sequence). */
|
|
@@ -3934,6 +4559,8 @@ interface PptxNativeAnimation {
|
|
|
3934
4559
|
* that aren't OLE charts).
|
|
3935
4560
|
*/
|
|
3936
4561
|
graphicBuild?: string;
|
|
4562
|
+
/** Schema-accurate `p:bldGraphic/p:bldAsOne|p:bldSub` representation. */
|
|
4563
|
+
graphicBuildProperties?: PptxGraphicBuild;
|
|
3937
4564
|
/**
|
|
3938
4565
|
* Opaque map of `p:cTn` attributes that don't have a typed home on this
|
|
3939
4566
|
* interface but must round-trip through parse → save. Keys are stored
|
|
@@ -4050,6 +4677,8 @@ interface AnimationCondition {
|
|
|
4050
4677
|
targetShapeId?: string;
|
|
4051
4678
|
/** Whether the condition targets a slide (from `p:tgtEl/p:sldTgt`). */
|
|
4052
4679
|
targetSlide?: boolean;
|
|
4680
|
+
/** Full target choice, including `p:sndTgt` and `p:inkTgt`. */
|
|
4681
|
+
target?: PptxAnimationTarget;
|
|
4053
4682
|
}
|
|
4054
4683
|
/** Iteration configuration from `p:iterate`. */
|
|
4055
4684
|
interface PptxAnimationIterate {
|
|
@@ -4134,6 +4763,7 @@ interface PptxElementAnimation {
|
|
|
4134
4763
|
*
|
|
4135
4764
|
* @module pptx-types/metadata
|
|
4136
4765
|
*/
|
|
4766
|
+
|
|
4137
4767
|
/**
|
|
4138
4768
|
* A slide comment — may be a legacy positional comment or a modern
|
|
4139
4769
|
* threaded comment with replies.
|
|
@@ -4153,6 +4783,10 @@ interface PptxElementAnimation {
|
|
|
4153
4783
|
interface PptxComment {
|
|
4154
4784
|
id: string;
|
|
4155
4785
|
text: string;
|
|
4786
|
+
/** Storage vocabulary used by this comment. Omitted means legacy PresentationML. */
|
|
4787
|
+
format?: 'legacy' | 'modern';
|
|
4788
|
+
/** Stable GUID author identifier used by Office 2021 modern comments. */
|
|
4789
|
+
authorId?: string;
|
|
4156
4790
|
/** Optional parent comment id for reply threading metadata. */
|
|
4157
4791
|
parentId?: string;
|
|
4158
4792
|
author?: string;
|
|
@@ -4161,12 +4795,26 @@ interface PptxComment {
|
|
|
4161
4795
|
y?: number;
|
|
4162
4796
|
/** Whether this comment has been resolved/marked done. */
|
|
4163
4797
|
resolved?: boolean;
|
|
4798
|
+
/** Native p188 status token. */
|
|
4799
|
+
status?: 'active' | 'resolved' | 'closed';
|
|
4800
|
+
/** Modern comment classification tags and author IDs that liked the comment. */
|
|
4801
|
+
tags?: string[];
|
|
4802
|
+
likes?: string[];
|
|
4803
|
+
startDate?: string;
|
|
4804
|
+
dueDate?: string;
|
|
4805
|
+
assignedTo?: string[];
|
|
4806
|
+
/** Task completion in thousandths of a percent, from 0 through 100000. */
|
|
4807
|
+
complete?: number;
|
|
4808
|
+
priority?: number;
|
|
4809
|
+
title?: string;
|
|
4164
4810
|
/** Modern threaded comment support (p15:threadingInfo). */
|
|
4165
4811
|
threadId?: string;
|
|
4166
4812
|
/** Replies to this comment (for modern threaded comments). */
|
|
4167
4813
|
replies?: PptxComment[];
|
|
4168
4814
|
/** ID of the element this comment is associated with (if any). */
|
|
4169
4815
|
elementId?: string;
|
|
4816
|
+
/** Original `p:cm` subtree, retained for unknown child and extension preservation. */
|
|
4817
|
+
rawXml?: XmlObject;
|
|
4170
4818
|
}
|
|
4171
4819
|
/**
|
|
4172
4820
|
* A compatibility warning generated during parse or save when the
|
|
@@ -4218,6 +4866,8 @@ interface PptxCompatibilityWarning {
|
|
|
4218
4866
|
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';
|
|
4219
4867
|
/** Split orientation from OOXML `@_orient`. */
|
|
4220
4868
|
type PptxSplitOrientation = 'horz' | 'vert';
|
|
4869
|
+
/** Schema-defined `ST_TransitionSpeed` values. */
|
|
4870
|
+
type PptxTransitionSpeed = 'slow' | 'med' | 'fast';
|
|
4221
4871
|
/**
|
|
4222
4872
|
* Slide transition configuration.
|
|
4223
4873
|
*
|
|
@@ -4234,6 +4884,8 @@ type PptxSplitOrientation = 'horz' | 'vert';
|
|
|
4234
4884
|
*/
|
|
4235
4885
|
interface PptxSlideTransition {
|
|
4236
4886
|
type: PptxTransitionType;
|
|
4887
|
+
/** Schema-defined transition speed. Defaults to `fast` when omitted. */
|
|
4888
|
+
speed?: PptxTransitionSpeed;
|
|
4237
4889
|
durationMs?: number;
|
|
4238
4890
|
direction?: string;
|
|
4239
4891
|
advanceOnClick?: boolean;
|
|
@@ -4248,6 +4900,10 @@ interface PptxSlideTransition {
|
|
|
4248
4900
|
orient?: PptxSplitOrientation;
|
|
4249
4901
|
/** Relationship ID of transition sound from `p:sndAc/p:stSnd/@r:embed` when present. */
|
|
4250
4902
|
soundRId?: string;
|
|
4903
|
+
/** Embedded WAV display name from `p:stSnd/p:snd/@name`. */
|
|
4904
|
+
soundName?: string;
|
|
4905
|
+
/** Whether the transition sound repeats until another sound starts. */
|
|
4906
|
+
soundLoop?: boolean;
|
|
4251
4907
|
/** Resolved transition sound media path within the package. */
|
|
4252
4908
|
soundPath?: string;
|
|
4253
4909
|
/** Human-readable sound file name (extracted from soundPath). */
|
|
@@ -4261,6 +4917,8 @@ interface PptxSlideTransition {
|
|
|
4261
4917
|
rawSoundAction?: XmlObject;
|
|
4262
4918
|
/** Preserved extension-list XML node from `p:extLst` within the transition for lossless round-trip. */
|
|
4263
4919
|
rawExtLst?: XmlObject;
|
|
4920
|
+
/** Original transition node, retained to preserve unknown attributes and children. */
|
|
4921
|
+
rawTransition?: XmlObject;
|
|
4264
4922
|
}
|
|
4265
4923
|
|
|
4266
4924
|
/**
|
|
@@ -4273,12 +4931,16 @@ interface PptxSlideTransition {
|
|
|
4273
4931
|
* @see ECMA-376 Part 1, §19.2.1.3 (custDataLst), §19.3.1.6 (custData)
|
|
4274
4932
|
*/
|
|
4275
4933
|
interface PptxCustomerData {
|
|
4276
|
-
/** Resolved part path inside the package (e.g. `
|
|
4277
|
-
id
|
|
4934
|
+
/** Resolved part path inside the package (e.g. `customXml/item1.xml`). */
|
|
4935
|
+
id?: string;
|
|
4278
4936
|
/** Relationship ID referencing the custom data part. */
|
|
4279
|
-
relId
|
|
4937
|
+
relId?: string;
|
|
4280
4938
|
/** Raw string content of the custom data part (if resolvable). */
|
|
4281
4939
|
data?: string;
|
|
4940
|
+
/** OPC content type for the custom data part. */
|
|
4941
|
+
contentType?: string;
|
|
4942
|
+
/** Raw `p:custData` XML retained for unknown-node preservation. */
|
|
4943
|
+
rawXml?: XmlObject;
|
|
4282
4944
|
}
|
|
4283
4945
|
/**
|
|
4284
4946
|
* An ActiveX control reference from `p:controls / p:control`.
|
|
@@ -4403,6 +5065,8 @@ interface PptxSlide {
|
|
|
4403
5065
|
/** Optional `<p:cSld @name>` value of the notes slide, for round-trip. */
|
|
4404
5066
|
notesCSldName?: string;
|
|
4405
5067
|
comments?: PptxComment[];
|
|
5068
|
+
/** Source package metadata for an Office 2021 p188 comment part. */
|
|
5069
|
+
modernCommentPart?: PptxModernCommentPart;
|
|
4406
5070
|
warnings?: PptxCompatibilityWarning[];
|
|
4407
5071
|
rawXml?: XmlObject;
|
|
4408
5072
|
/** Per-slide colour map override parsed from `p:clrMapOvr`. */
|
|
@@ -4421,6 +5085,24 @@ interface PptxSlide {
|
|
|
4421
5085
|
activeXControls?: PptxActiveXControl[];
|
|
4422
5086
|
/** Per-slide header/footer flags from `<p:hf>` (P-H3). */
|
|
4423
5087
|
headerFooterFlags?: PptxHeaderFooterFlags;
|
|
5088
|
+
/** Server-backed slide synchronization metadata stored in a related OPC part. */
|
|
5089
|
+
slideSynchronization?: PptxSlideSyncProperties;
|
|
5090
|
+
}
|
|
5091
|
+
interface PptxModernCommentPart {
|
|
5092
|
+
path: string;
|
|
5093
|
+
relationshipId: string;
|
|
5094
|
+
/** Original p188:cmLst root, including unknown attributes and extensions. */
|
|
5095
|
+
rawXml?: XmlObject;
|
|
5096
|
+
}
|
|
5097
|
+
/** Metadata from a `p:sldSyncPr` slide synchronization data part. */
|
|
5098
|
+
interface PptxSlideSyncProperties {
|
|
5099
|
+
serverSlideId: string;
|
|
5100
|
+
serverSlideModifiedTime: string;
|
|
5101
|
+
clientInsertedTime: string;
|
|
5102
|
+
extensionList?: XmlObject;
|
|
5103
|
+
rawXml?: XmlObject;
|
|
5104
|
+
partPath?: string;
|
|
5105
|
+
relationshipId?: string;
|
|
4424
5106
|
}
|
|
4425
5107
|
|
|
4426
5108
|
/** Viewer interaction mode: read-only, edit, presentation, or master-view. */
|
|
@@ -4531,10 +5213,12 @@ type CollaborationRole = 'owner' | 'collaborator' | 'viewer';
|
|
|
4531
5213
|
* any signaling server, which makes this mode usable from static hosting.
|
|
4532
5214
|
*/
|
|
4533
5215
|
type CollaborationTransport = 'websocket' | 'webrtc';
|
|
5216
|
+
/** How the local user entered a collaboration session. */
|
|
5217
|
+
type CollaborationSessionIntent = 'create' | 'join';
|
|
4534
5218
|
/**
|
|
4535
5219
|
* Real-time collaboration configuration.
|
|
4536
5220
|
*
|
|
4537
|
-
* The same shape is accepted by
|
|
5221
|
+
* The same shape is accepted by every framework binding.
|
|
4538
5222
|
*/
|
|
4539
5223
|
interface CollaborationConfig {
|
|
4540
5224
|
/** Unique identifier for the collaboration room (alphanumeric, hyphens, underscores). */
|
|
@@ -4562,6 +5246,13 @@ interface CollaborationConfig {
|
|
|
4562
5246
|
authToken?: string;
|
|
4563
5247
|
/** Role in the session; defaults to `'collaborator'`. */
|
|
4564
5248
|
role?: CollaborationRole;
|
|
5249
|
+
/**
|
|
5250
|
+
* Whether this client created the room or joined an existing room. Providers
|
|
5251
|
+
* do not use this value, but hosts can use it to avoid publishing local file
|
|
5252
|
+
* bytes when handling a join request. Omitted values retain the legacy
|
|
5253
|
+
* create-session behaviour.
|
|
5254
|
+
*/
|
|
5255
|
+
sessionIntent?: CollaborationSessionIntent;
|
|
4565
5256
|
/**
|
|
4566
5257
|
* Elected-writer write-back callback (Area 3 of the C3 hardening plan).
|
|
4567
5258
|
*
|