pptx-react-viewer 1.17.0 → 1.18.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 +16 -0
- package/README.md +1 -1
- package/dist/{Model3DScene-YA4F63DT.js → Model3DScene-GVWQ6SOM.js} +3 -3
- package/dist/Model3DScene-GVWQ6SOM.js.br +0 -0
- package/dist/Model3DScene-GVWQ6SOM.js.gz +0 -0
- package/dist/{Model3DScene-QHDYQXL2.mjs → Model3DScene-JGVLIDLD.mjs} +2 -2
- package/dist/Model3DScene-JGVLIDLD.mjs.br +0 -0
- package/dist/Model3DScene-JGVLIDLD.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-GUAS2NWQ.mjs → SurfaceChart3DScene-DBWSDSKI.mjs} +2 -2
- package/dist/SurfaceChart3DScene-DBWSDSKI.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-DBWSDSKI.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-TGNJHTJQ.js → SurfaceChart3DScene-ZOTOHOIE.js} +3 -3
- package/dist/SurfaceChart3DScene-ZOTOHOIE.js.br +0 -0
- package/dist/SurfaceChart3DScene-ZOTOHOIE.js.gz +0 -0
- package/dist/{chunk-XW5OMXW6.js → chunk-73ST7AC6.js} +2269 -1651
- package/dist/chunk-73ST7AC6.js.br +0 -0
- package/dist/chunk-73ST7AC6.js.gz +0 -0
- package/dist/{chunk-WGLJ32FW.js → chunk-AALZCSY4.js} +8 -1
- package/dist/chunk-AALZCSY4.js.br +0 -0
- package/dist/chunk-AALZCSY4.js.gz +0 -0
- package/dist/{chunk-MGLRKGCH.js → chunk-EXDUEXTO.js} +26101 -15360
- package/dist/chunk-EXDUEXTO.js.br +0 -0
- package/dist/chunk-EXDUEXTO.js.gz +0 -0
- package/dist/{chunk-JWS3RQKN.js → chunk-HBXPK572.js} +584 -144
- package/dist/chunk-HBXPK572.js.br +0 -0
- package/dist/chunk-HBXPK572.js.gz +0 -0
- package/dist/{chunk-G22EWPLH.mjs → chunk-HHTZQHKZ.mjs} +532 -119
- package/dist/chunk-HHTZQHKZ.mjs.br +0 -0
- package/dist/chunk-HHTZQHKZ.mjs.gz +0 -0
- package/dist/{chunk-3P6O7ZDM.js → chunk-JDRC3PSY.js} +655 -491
- package/dist/chunk-JDRC3PSY.js.br +0 -0
- package/dist/chunk-JDRC3PSY.js.gz +0 -0
- package/dist/{chunk-LNSHC2Z5.mjs → chunk-KMLIWCNL.mjs} +1460 -842
- package/dist/chunk-KMLIWCNL.mjs.br +0 -0
- package/dist/chunk-KMLIWCNL.mjs.gz +0 -0
- package/dist/{chunk-HJQZJ3VE.mjs → chunk-RIRK64DM.mjs} +8 -1
- package/dist/chunk-RIRK64DM.mjs.br +0 -0
- package/dist/chunk-RIRK64DM.mjs.gz +0 -0
- package/dist/{chunk-XRYREYXC.mjs → chunk-SBNTEQUA.mjs} +26062 -15360
- package/dist/chunk-SBNTEQUA.mjs.br +0 -0
- package/dist/chunk-SBNTEQUA.mjs.gz +0 -0
- package/dist/{chunk-LLHFNGAF.mjs → chunk-Z4MDCPAY.mjs} +223 -59
- package/dist/chunk-Z4MDCPAY.mjs.br +0 -0
- package/dist/chunk-Z4MDCPAY.mjs.gz +0 -0
- package/dist/{dist-2ZAH7U6U.js → dist-KRRXYUGI.js} +663 -507
- package/dist/dist-KRRXYUGI.js.br +0 -0
- package/dist/dist-KRRXYUGI.js.gz +0 -0
- package/dist/dist-N6PAPXK6.mjs +2 -0
- package/dist/dist-N6PAPXK6.mjs.br +0 -0
- package/dist/dist-N6PAPXK6.mjs.gz +0 -0
- package/dist/hooks-unstable.d.ts +484 -117
- package/dist/hooks-unstable.d.ts.map +1 -1
- package/dist/hooks-unstable.js +75 -75
- 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 +412 -117
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -19
- package/dist/index.js.br +3 -1
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +3 -4
- 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 +438 -121
- 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-3P6O7ZDM.js.br +0 -0
- package/dist/chunk-3P6O7ZDM.js.gz +0 -0
- package/dist/chunk-G22EWPLH.mjs.br +0 -0
- package/dist/chunk-G22EWPLH.mjs.gz +0 -0
- package/dist/chunk-HJQZJ3VE.mjs.br +0 -0
- package/dist/chunk-HJQZJ3VE.mjs.gz +0 -0
- package/dist/chunk-JWS3RQKN.js.br +0 -0
- package/dist/chunk-JWS3RQKN.js.gz +0 -0
- package/dist/chunk-LLHFNGAF.mjs.br +0 -0
- package/dist/chunk-LLHFNGAF.mjs.gz +0 -0
- package/dist/chunk-LNSHC2Z5.mjs.br +0 -0
- package/dist/chunk-LNSHC2Z5.mjs.gz +0 -0
- package/dist/chunk-MGLRKGCH.js.br +0 -0
- package/dist/chunk-MGLRKGCH.js.gz +0 -0
- package/dist/chunk-WGLJ32FW.js.br +0 -0
- package/dist/chunk-WGLJ32FW.js.gz +0 -0
- package/dist/chunk-XRYREYXC.mjs.br +0 -0
- package/dist/chunk-XRYREYXC.mjs.gz +0 -0
- package/dist/chunk-XW5OMXW6.js.br +0 -0
- package/dist/chunk-XW5OMXW6.js.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
|
@@ -724,6 +724,10 @@ interface Text3DStyle {
|
|
|
724
724
|
interface Pptx3DScene {
|
|
725
725
|
/** Camera preset type, e.g. "orthographicFront", "perspectiveFront". */
|
|
726
726
|
cameraPreset?: string;
|
|
727
|
+
/** Camera field of view in 1/60000 degrees (`a:camera/@fov`). */
|
|
728
|
+
cameraFieldOfView?: number;
|
|
729
|
+
/** Camera zoom as an OOXML percentage fraction (`a:camera/@zoom`, 1 = 100%). */
|
|
730
|
+
cameraZoom?: number;
|
|
727
731
|
/** Camera rotation around X axis in 1/60000 degrees. */
|
|
728
732
|
cameraRotX?: number;
|
|
729
733
|
/** Camera rotation around Y axis in 1/60000 degrees. */
|
|
@@ -734,6 +738,12 @@ interface Pptx3DScene {
|
|
|
734
738
|
lightRigType?: string;
|
|
735
739
|
/** Light rig direction, e.g. "t", "b", "l", "r", "tl". */
|
|
736
740
|
lightRigDirection?: string;
|
|
741
|
+
/** Light-rig rotation latitude in 1/60000 degrees. */
|
|
742
|
+
lightRigRotX?: number;
|
|
743
|
+
/** Light-rig rotation longitude in 1/60000 degrees. */
|
|
744
|
+
lightRigRotY?: number;
|
|
745
|
+
/** Light-rig rotation revolution in 1/60000 degrees. */
|
|
746
|
+
lightRigRotZ?: number;
|
|
737
747
|
/** Whether a 3D backdrop plane is present (`a:backdrop`). */
|
|
738
748
|
hasBackdrop?: boolean;
|
|
739
749
|
/** Backdrop plane anchor X in EMU. */
|
|
@@ -742,6 +752,18 @@ interface Pptx3DScene {
|
|
|
742
752
|
backdropAnchorY?: number;
|
|
743
753
|
/** Backdrop plane anchor Z in EMU. */
|
|
744
754
|
backdropAnchorZ?: number;
|
|
755
|
+
/** Backdrop normal vector X component. */
|
|
756
|
+
backdropNormalX?: number;
|
|
757
|
+
/** Backdrop normal vector Y component. */
|
|
758
|
+
backdropNormalY?: number;
|
|
759
|
+
/** Backdrop normal vector Z component. */
|
|
760
|
+
backdropNormalZ?: number;
|
|
761
|
+
/** Backdrop up vector X component. */
|
|
762
|
+
backdropUpX?: number;
|
|
763
|
+
/** Backdrop up vector Y component. */
|
|
764
|
+
backdropUpY?: number;
|
|
765
|
+
/** Backdrop up vector Z component. */
|
|
766
|
+
backdropUpZ?: number;
|
|
745
767
|
}
|
|
746
768
|
/**
|
|
747
769
|
* 3D shape extrusion/bevel from `a:sp3d`.
|
|
@@ -861,9 +883,13 @@ interface ShapeStyle {
|
|
|
861
883
|
*/
|
|
862
884
|
fillColorXml?: XmlObject;
|
|
863
885
|
fillGradient?: string;
|
|
886
|
+
/** Original `gradFill` XML retained for unknown-child and extension round-tripping. */
|
|
887
|
+
fillGradientXml?: XmlObject;
|
|
864
888
|
fillMode?: 'solid' | 'gradient' | 'pattern' | 'none' | 'image' | 'theme' | 'group';
|
|
865
889
|
fillPatternPreset?: string;
|
|
866
890
|
fillPatternBackgroundColor?: string;
|
|
891
|
+
/** Original `pattFill` XML retained for unknown-child round-tripping. */
|
|
892
|
+
fillPatternXml?: XmlObject;
|
|
867
893
|
/** Raw XML node for pattern fill foreground colour (preserves color transforms). */
|
|
868
894
|
fillPatternFgClrXml?: XmlObject;
|
|
869
895
|
/** Raw XML node for pattern fill background colour (preserves color transforms). */
|
|
@@ -929,6 +955,14 @@ interface ShapeStyle {
|
|
|
929
955
|
/** Pen line alignment (`a:ln/@algn`): `ctr` (centre, default) or `in` (inside). */
|
|
930
956
|
lineAlignment?: 'ctr' | 'in';
|
|
931
957
|
shadowColor?: string;
|
|
958
|
+
/** Preserved source `a:effectLst`, including unknown effects and extensions. */
|
|
959
|
+
effectListXml?: XmlObject;
|
|
960
|
+
/** Original outer-shadow node used for lossless surgical updates. */
|
|
961
|
+
outerShadowXml?: XmlObject;
|
|
962
|
+
/** Resolved source shadow colour used to detect colour edits. */
|
|
963
|
+
outerShadowOriginalColor?: string;
|
|
964
|
+
/** Source shadow opacity used to detect alpha edits. */
|
|
965
|
+
outerShadowOriginalOpacity?: number;
|
|
932
966
|
shadowBlur?: number;
|
|
933
967
|
shadowOffsetX?: number;
|
|
934
968
|
shadowOffsetY?: number;
|
|
@@ -972,11 +1006,23 @@ interface ShapeStyle {
|
|
|
972
1006
|
/** Multiple shadow layers (for advanced effects). */
|
|
973
1007
|
shadows?: ShadowEffect[];
|
|
974
1008
|
glowColor?: string;
|
|
1009
|
+
/** Original glow node used for lossless surgical updates. */
|
|
1010
|
+
glowXml?: XmlObject;
|
|
1011
|
+
/** Resolved source glow colour used to detect colour edits. */
|
|
1012
|
+
glowOriginalColor?: string;
|
|
1013
|
+
/** Source glow opacity used to detect alpha edits. */
|
|
1014
|
+
glowOriginalOpacity?: number;
|
|
975
1015
|
glowRadius?: number;
|
|
976
1016
|
glowOpacity?: number;
|
|
977
1017
|
softEdgeRadius?: number;
|
|
978
1018
|
/** Inner shadow colour (`a:innerShdw`). */
|
|
979
1019
|
innerShadowColor?: string;
|
|
1020
|
+
/** Original inner-shadow node used for lossless surgical updates. */
|
|
1021
|
+
innerShadowXml?: XmlObject;
|
|
1022
|
+
/** Resolved source inner-shadow colour used to detect colour edits. */
|
|
1023
|
+
innerShadowOriginalColor?: string;
|
|
1024
|
+
/** Source inner-shadow opacity used to detect alpha edits. */
|
|
1025
|
+
innerShadowOriginalOpacity?: number;
|
|
980
1026
|
/** Inner shadow opacity (0-1). */
|
|
981
1027
|
innerShadowOpacity?: number;
|
|
982
1028
|
/** Inner shadow blur radius in px. */
|
|
@@ -985,8 +1031,12 @@ interface ShapeStyle {
|
|
|
985
1031
|
innerShadowOffsetX?: number;
|
|
986
1032
|
/** Inner shadow vertical offset in px. */
|
|
987
1033
|
innerShadowOffsetY?: number;
|
|
1034
|
+
/** Original soft-edge node, including vendor attributes and extensions. */
|
|
1035
|
+
softEdgeXml?: XmlObject;
|
|
988
1036
|
/** Reflection effect — distance from shape bottom in px. */
|
|
989
1037
|
reflectionBlurRadius?: number;
|
|
1038
|
+
/** Original reflection node, including vendor attributes and extensions. */
|
|
1039
|
+
reflectionXml?: XmlObject;
|
|
990
1040
|
/** Reflection start opacity (0-1). */
|
|
991
1041
|
reflectionStartOpacity?: number;
|
|
992
1042
|
/** Reflection end opacity (0-1). */
|
|
@@ -1482,6 +1532,8 @@ interface TextStyle {
|
|
|
1482
1532
|
text3d?: Text3DStyle;
|
|
1483
1533
|
/** 3D scene (camera + light rig) settings on the text body (`a:bodyPr/a:scene3d`). */
|
|
1484
1534
|
textBodyScene3d?: Pptx3DScene;
|
|
1535
|
+
/** Raw `a:scene3d` subtree used to preserve extensions and unmodelled children. */
|
|
1536
|
+
textBodyScene3dXml?: XmlObject;
|
|
1485
1537
|
/**
|
|
1486
1538
|
* Raw `<a:extLst>` subtree captured from `<a:bodyPr>`. Preserved verbatim so
|
|
1487
1539
|
* authored extensions (e.g. content placeholders, custom application data)
|
|
@@ -1817,12 +1869,32 @@ interface PptxShapeProperties {
|
|
|
1817
1869
|
adjustmentHandles?: GeometryAdjustmentHandle[];
|
|
1818
1870
|
}
|
|
1819
1871
|
|
|
1872
|
+
/** Tick-mark placement from ChartML `ST_TickMark`. */
|
|
1873
|
+
type PptxChartTickMark = 'cross' | 'in' | 'none' | 'out';
|
|
1874
|
+
/** Typed axis tick and category/date label controls. */
|
|
1875
|
+
interface PptxChartAxisLabelFormatting {
|
|
1876
|
+
/** Primary and secondary tick-mark placement. */
|
|
1877
|
+
majorTickMark?: PptxChartTickMark;
|
|
1878
|
+
minorTickMark?: PptxChartTickMark;
|
|
1879
|
+
/** Tick-label position from ChartML `ST_TickLblPos`. */
|
|
1880
|
+
tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
|
|
1881
|
+
/** Automatic category/date axis behavior (`c:auto`). */
|
|
1882
|
+
auto?: boolean;
|
|
1883
|
+
/** Category-axis label alignment (`c:lblAlgn`). */
|
|
1884
|
+
labelAlignment?: 'ctr' | 'l' | 'r';
|
|
1885
|
+
/** Category/date label distance, from 0 through 1000 percent. */
|
|
1886
|
+
labelOffset?: number;
|
|
1887
|
+
/** Suppress multi-level category labels (`c:noMultiLvlLbl`). */
|
|
1888
|
+
noMultiLevelLabels?: boolean;
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1820
1891
|
/**
|
|
1821
1892
|
* Chart types: chart categories, series data, style metadata, data tables,
|
|
1822
1893
|
* trendlines, error bars, and the composite `PptxChartData`.
|
|
1823
1894
|
*
|
|
1824
1895
|
* @module pptx-types/chart
|
|
1825
1896
|
*/
|
|
1897
|
+
|
|
1826
1898
|
/**
|
|
1827
1899
|
* Supported chart type discriminators.
|
|
1828
1900
|
*
|
|
@@ -1859,6 +1931,7 @@ type PptxChartTrendlineType = 'linear' | 'exponential' | 'logarithmic' | 'polyno
|
|
|
1859
1931
|
*/
|
|
1860
1932
|
interface PptxChartTrendline {
|
|
1861
1933
|
trendlineType: PptxChartTrendlineType;
|
|
1934
|
+
name?: string;
|
|
1862
1935
|
order?: number;
|
|
1863
1936
|
period?: number;
|
|
1864
1937
|
forward?: number;
|
|
@@ -1867,6 +1940,13 @@ interface PptxChartTrendline {
|
|
|
1867
1940
|
displayRSq?: boolean;
|
|
1868
1941
|
displayEq?: boolean;
|
|
1869
1942
|
color?: string;
|
|
1943
|
+
label?: PptxChartTrendlineLabel | null;
|
|
1944
|
+
}
|
|
1945
|
+
/** Typed, commonly edited properties of `c:trendlineLbl`. */
|
|
1946
|
+
interface PptxChartTrendlineLabel {
|
|
1947
|
+
layout?: PptxChartManualLayout;
|
|
1948
|
+
numberFormatCode?: string;
|
|
1949
|
+
sourceLinked?: boolean;
|
|
1870
1950
|
}
|
|
1871
1951
|
/** Error-bar direction axis. */
|
|
1872
1952
|
type PptxChartErrBarDir = 'x' | 'y';
|
|
@@ -1903,6 +1983,8 @@ interface PptxChartErrBars {
|
|
|
1903
1983
|
val?: number;
|
|
1904
1984
|
customPlus?: number[];
|
|
1905
1985
|
customMinus?: number[];
|
|
1986
|
+
noEndCap?: boolean;
|
|
1987
|
+
color?: string;
|
|
1906
1988
|
}
|
|
1907
1989
|
/**
|
|
1908
1990
|
* Visibility flags for the chart data table (axes + legend keys).
|
|
@@ -1952,6 +2034,13 @@ interface PptxChartShapeProps {
|
|
|
1952
2034
|
/** Line dash style (a:prstDash/@val), e.g. 'solid', 'dash', 'dot', 'lgDash'. */
|
|
1953
2035
|
strokeDashStyle?: string;
|
|
1954
2036
|
}
|
|
2037
|
+
/** Up/down bar formatting on line and stock charts (`c:upDownBars`). */
|
|
2038
|
+
interface PptxChartUpDownBars {
|
|
2039
|
+
/** Gap between bars as a percentage, constrained to 0 through 500. */
|
|
2040
|
+
gapWidth?: number;
|
|
2041
|
+
upBars?: PptxChartShapeProps;
|
|
2042
|
+
downBars?: PptxChartShapeProps;
|
|
2043
|
+
}
|
|
1955
2044
|
/** Marker appearance on a chart series or data point. */
|
|
1956
2045
|
interface PptxChartMarker {
|
|
1957
2046
|
symbol: PptxChartMarkerSymbol;
|
|
@@ -1966,25 +2055,40 @@ interface PptxChartDataPoint {
|
|
|
1966
2055
|
invertIfNegative?: boolean;
|
|
1967
2056
|
marker?: PptxChartMarker;
|
|
1968
2057
|
}
|
|
2058
|
+
/** Schema values accepted by `c:dLblPos`. */
|
|
2059
|
+
type PptxChartDataLabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
|
|
1969
2060
|
/** Individual data label override (c:dLbl). */
|
|
1970
2061
|
interface PptxChartDataLabel {
|
|
1971
2062
|
idx: number;
|
|
2063
|
+
/** Suppress this data point's automatically generated label. */
|
|
2064
|
+
deleted?: boolean;
|
|
1972
2065
|
showVal?: boolean;
|
|
1973
2066
|
showCatName?: boolean;
|
|
1974
2067
|
showSerName?: boolean;
|
|
1975
2068
|
showPercent?: boolean;
|
|
1976
2069
|
showLegendKey?: boolean;
|
|
1977
2070
|
showBubbleSize?: boolean;
|
|
1978
|
-
position?:
|
|
2071
|
+
position?: PptxChartDataLabelPosition;
|
|
1979
2072
|
text?: string;
|
|
2073
|
+
separator?: string;
|
|
2074
|
+
showLeaderLines?: boolean;
|
|
1980
2075
|
}
|
|
1981
2076
|
/** Axis number format. */
|
|
1982
2077
|
interface PptxChartAxisNumFmt {
|
|
1983
2078
|
formatCode: string;
|
|
1984
2079
|
sourceLinked?: boolean;
|
|
1985
2080
|
}
|
|
2081
|
+
/** Typed contents of a value-axis display-unit label (`c:dispUnitsLbl`). */
|
|
2082
|
+
interface PptxChartDisplayUnitsLabel {
|
|
2083
|
+
/** Literal label text. Omit to preserve the source text subtree. */
|
|
2084
|
+
text?: string;
|
|
2085
|
+
/** Manual label placement. `null` removes only the manual layout. */
|
|
2086
|
+
layout?: PptxChartManualLayout | null;
|
|
2087
|
+
/** Label shape formatting. `null` removes `c:spPr`. */
|
|
2088
|
+
spPr?: PptxChartShapeProps | null;
|
|
2089
|
+
}
|
|
1986
2090
|
/** Axis formatting for category, value, or date axes. */
|
|
1987
|
-
interface PptxChartAxisFormatting {
|
|
2091
|
+
interface PptxChartAxisFormatting extends PptxChartAxisLabelFormatting {
|
|
1988
2092
|
axisType: 'catAx' | 'valAx' | 'dateAx' | 'serAx';
|
|
1989
2093
|
/** Axis position: "b" (bottom), "l" (left), "r" (right), "t" (top). */
|
|
1990
2094
|
axPos?: 'b' | 'l' | 'r' | 't';
|
|
@@ -2018,8 +2122,12 @@ interface PptxChartAxisFormatting {
|
|
|
2018
2122
|
displayUnits?: 'hundreds' | 'thousands' | 'tenThousands' | 'hundredThousands' | 'millions' | 'tenMillions' | 'hundredMillions' | 'billions' | 'trillions' | 'custom';
|
|
2019
2123
|
/** Custom display unit divisor value (c:dispUnits/c:custUnit/@val). Only used when displayUnits is 'custom'. */
|
|
2020
2124
|
displayUnitsValue?: number;
|
|
2021
|
-
/**
|
|
2022
|
-
|
|
2125
|
+
/**
|
|
2126
|
+
* Display-unit label contents (`c:dispUnits/c:dispUnitsLbl`). A string is
|
|
2127
|
+
* retained as a compatibility shorthand for `{ text: string }`; `null`
|
|
2128
|
+
* explicitly removes the label.
|
|
2129
|
+
*/
|
|
2130
|
+
displayUnitsLabel?: string | PptxChartDisplayUnitsLabel | null;
|
|
2023
2131
|
/** Whether logarithmic scaling is enabled (presence of c:scaling/c:logBase). */
|
|
2024
2132
|
logScale?: boolean;
|
|
2025
2133
|
/** Logarithmic base value (c:scaling/c:logBase/@val), typically 10 or e. */
|
|
@@ -2028,8 +2136,6 @@ interface PptxChartAxisFormatting {
|
|
|
2028
2136
|
majorUnit?: number;
|
|
2029
2137
|
/** Minor-unit interval between secondary tick marks (c:minorUnit/@val). */
|
|
2030
2138
|
minorUnit?: number;
|
|
2031
|
-
/** Tick-label position (c:tickLblPos/@val): 'high', 'low', 'nextTo', or 'none'. */
|
|
2032
|
-
tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
|
|
2033
2139
|
}
|
|
2034
2140
|
/** 3D wall or floor element formatting. */
|
|
2035
2141
|
interface PptxChart3DSurface {
|
|
@@ -2088,12 +2194,32 @@ interface PptxChartDataLabelOptions {
|
|
|
2088
2194
|
showPercent?: boolean;
|
|
2089
2195
|
/** Show the legend key swatch (`c:showLegendKey`). */
|
|
2090
2196
|
showLegendKey?: boolean;
|
|
2197
|
+
/** Show bubble size (`c:showBubbleSize`). */
|
|
2198
|
+
showBubbleSize?: boolean;
|
|
2199
|
+
/** Text placed between combined label components (`c:separator`). */
|
|
2200
|
+
separator?: string;
|
|
2201
|
+
/** Show leader lines where supported (`c:showLeaderLines`). */
|
|
2202
|
+
showLeaderLines?: boolean;
|
|
2091
2203
|
/**
|
|
2092
2204
|
* Label position (`c:dLblPos`). Valid values depend on the chart type
|
|
2093
2205
|
* (`ctr`, `inEnd`, `inBase`, `outEnd`, `bestFit`, `l`, `r`, `t`, `b`).
|
|
2094
2206
|
* Omit to let PowerPoint use the type default.
|
|
2095
2207
|
*/
|
|
2096
|
-
position?:
|
|
2208
|
+
position?: PptxChartDataLabelPosition;
|
|
2209
|
+
}
|
|
2210
|
+
/** Typed text defaults for a single chart legend entry. */
|
|
2211
|
+
interface PptxChartLegendTextStyle {
|
|
2212
|
+
fontFamily?: string;
|
|
2213
|
+
fontSize?: number;
|
|
2214
|
+
bold?: boolean;
|
|
2215
|
+
italic?: boolean;
|
|
2216
|
+
color?: string;
|
|
2217
|
+
}
|
|
2218
|
+
/** Per-series legend entry override (`c:legendEntry`). */
|
|
2219
|
+
interface PptxChartLegendEntry {
|
|
2220
|
+
index: number;
|
|
2221
|
+
deleted?: boolean;
|
|
2222
|
+
textStyle?: PptxChartLegendTextStyle;
|
|
2097
2223
|
}
|
|
2098
2224
|
/**
|
|
2099
2225
|
* Style / formatting metadata for a chart.
|
|
@@ -2116,6 +2242,8 @@ interface PptxChartStyle {
|
|
|
2116
2242
|
hasLegend?: boolean;
|
|
2117
2243
|
/** Legend position (t, b, l, r, tr). */
|
|
2118
2244
|
legendPosition?: string;
|
|
2245
|
+
/** Per-series visibility and text-style overrides. */
|
|
2246
|
+
legendEntries?: PptxChartLegendEntry[];
|
|
2119
2247
|
/** Whether the chart has a title. */
|
|
2120
2248
|
hasTitle?: boolean;
|
|
2121
2249
|
/** Whether gridlines are visible. */
|
|
@@ -2176,6 +2304,14 @@ interface PptxChartOfPieOptions {
|
|
|
2176
2304
|
serLines?: boolean;
|
|
2177
2305
|
gapWidth?: number;
|
|
2178
2306
|
}
|
|
2307
|
+
/** Classic `c:bubbleChart` options from CT_BubbleChart. */
|
|
2308
|
+
interface PptxBubbleChartOptions {
|
|
2309
|
+
bubble3D?: boolean;
|
|
2310
|
+
/** Bubble diameter scale in percent, constrained to 0 through 300. */
|
|
2311
|
+
bubbleScale?: number;
|
|
2312
|
+
showNegativeBubbles?: boolean;
|
|
2313
|
+
sizeRepresents?: 'area' | 'w';
|
|
2314
|
+
}
|
|
2179
2315
|
/**
|
|
2180
2316
|
* 3D viewing parameters for a chart (`c:view3D`, ECMA-376 §21.2.2.228 /
|
|
2181
2317
|
* CT_View3D).
|
|
@@ -2216,6 +2352,27 @@ interface PptxChartChrome {
|
|
|
2216
2352
|
dispBlanksAs?: 'gap' | 'zero' | 'span';
|
|
2217
2353
|
showDLblsOverMax?: boolean;
|
|
2218
2354
|
}
|
|
2355
|
+
/** Manual chart placement from `c:layout/c:manualLayout` (CT_ManualLayout). */
|
|
2356
|
+
interface PptxChartManualLayout {
|
|
2357
|
+
layoutTarget?: 'inner' | 'outer';
|
|
2358
|
+
xMode?: 'edge' | 'factor';
|
|
2359
|
+
yMode?: 'edge' | 'factor';
|
|
2360
|
+
widthMode?: 'edge' | 'factor';
|
|
2361
|
+
heightMode?: 'edge' | 'factor';
|
|
2362
|
+
x?: number;
|
|
2363
|
+
y?: number;
|
|
2364
|
+
width?: number;
|
|
2365
|
+
height?: number;
|
|
2366
|
+
}
|
|
2367
|
+
/**
|
|
2368
|
+
* Typed manual layouts for chart regions that accept `c:layout`.
|
|
2369
|
+
* A `null` region removes its manual layout without removing extensions.
|
|
2370
|
+
*/
|
|
2371
|
+
interface PptxChartLayouts {
|
|
2372
|
+
title?: PptxChartManualLayout | null;
|
|
2373
|
+
plotArea?: PptxChartManualLayout | null;
|
|
2374
|
+
legend?: PptxChartManualLayout | null;
|
|
2375
|
+
}
|
|
2219
2376
|
/** Parsed data extracted from an embedded xlsx workbook. */
|
|
2220
2377
|
interface PptxEmbeddedWorkbookData {
|
|
2221
2378
|
/** Category labels from the first column/row. */
|
|
@@ -2257,9 +2414,12 @@ interface PptxChartData {
|
|
|
2257
2414
|
chartPartPath?: string;
|
|
2258
2415
|
/** Internal: relationship ID linking the graphic frame to the chart part. */
|
|
2259
2416
|
chartRelationshipId?: string;
|
|
2260
|
-
|
|
2417
|
+
/** `null` explicitly removes an existing ChartML data table. */
|
|
2418
|
+
dataTable?: PptxChartDataTable | null;
|
|
2261
2419
|
dropLines?: PptxChartLineStyle;
|
|
2262
2420
|
hiLowLines?: PptxChartLineStyle;
|
|
2421
|
+
/** `null` explicitly removes an existing up/down-bars container. */
|
|
2422
|
+
upDownBars?: PptxChartUpDownBars | null;
|
|
2263
2423
|
axes?: PptxChartAxisFormatting[];
|
|
2264
2424
|
floor?: PptxChart3DSurface;
|
|
2265
2425
|
sideWall?: PptxChart3DSurface;
|
|
@@ -2317,6 +2477,8 @@ interface PptxChartData {
|
|
|
2317
2477
|
* `ofPieChart` element can be re-emitted on save with full fidelity.
|
|
2318
2478
|
*/
|
|
2319
2479
|
ofPieOptions?: PptxChartOfPieOptions;
|
|
2480
|
+
/** Classic bubble-chart display options (`c:bubbleChart`). */
|
|
2481
|
+
bubbleOptions?: PptxBubbleChartOptions;
|
|
2320
2482
|
/**
|
|
2321
2483
|
* 3D viewing parameters (`c:view3D`, CT_View3D).
|
|
2322
2484
|
*
|
|
@@ -2332,6 +2494,8 @@ interface PptxChartData {
|
|
|
2332
2494
|
* source data, so absence does not produce empty `<c:…/>` placeholders.
|
|
2333
2495
|
*/
|
|
2334
2496
|
chartChrome?: PptxChartChrome;
|
|
2497
|
+
/** Editable manual placement for the title, plot area, and legend. */
|
|
2498
|
+
layouts?: PptxChartLayouts;
|
|
2335
2499
|
/**
|
|
2336
2500
|
* Raw `c:userShapes` XML subtree (a drawing tree) preserved verbatim.
|
|
2337
2501
|
*
|
|
@@ -2357,107 +2521,55 @@ interface PptxChartData {
|
|
|
2357
2521
|
clrMapOvr?: Record<string, string>;
|
|
2358
2522
|
}
|
|
2359
2523
|
|
|
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
2524
|
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
2525
|
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`. */
|
|
2526
|
+
type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagBlur | EffectDagPresetShadow | EffectDagRawLeaf;
|
|
2409
2527
|
interface EffectDagContainer {
|
|
2410
2528
|
kind: 'cont';
|
|
2411
|
-
/** `@type` — `sib` or `tree`. */
|
|
2412
2529
|
type: EffectDagContainerType;
|
|
2413
|
-
/** Optional `@name` attribute. */
|
|
2414
2530
|
name?: string;
|
|
2415
|
-
/** Ordered children. */
|
|
2416
2531
|
children: EffectDagNode[];
|
|
2417
2532
|
}
|
|
2418
|
-
/** `a:blend` — CT_BlendEffect. Always wraps a single `a:cont` child. */
|
|
2419
2533
|
interface EffectDagBlend {
|
|
2420
2534
|
kind: 'blend';
|
|
2421
|
-
/** `@blend` attribute. */
|
|
2422
2535
|
mode: EffectDagBlendMode;
|
|
2423
|
-
/** Required child `a:cont` container. */
|
|
2424
2536
|
container: EffectDagContainer;
|
|
2425
2537
|
}
|
|
2426
|
-
/** `a:xfrmEffect` — CT_TransformEffect. Affine transform with no children. */
|
|
2427
2538
|
interface EffectDagXfrm {
|
|
2428
2539
|
kind: 'xfrmEffect';
|
|
2429
|
-
/** Horizontal scale, percentage * 1000 (e.g. 100000 = 100%). */
|
|
2430
2540
|
sx?: number;
|
|
2431
|
-
/** Vertical scale, percentage * 1000. */
|
|
2432
2541
|
sy?: number;
|
|
2433
|
-
/** Horizontal skew, degrees * 60000. */
|
|
2434
2542
|
kx?: number;
|
|
2435
|
-
/** Vertical skew, degrees * 60000. */
|
|
2436
2543
|
ky?: number;
|
|
2437
|
-
/** Horizontal translation in EMU. */
|
|
2438
2544
|
tx?: number;
|
|
2439
|
-
/** Vertical translation in EMU. */
|
|
2440
2545
|
ty?: number;
|
|
2441
2546
|
}
|
|
2442
|
-
/** `a:relOff` — CT_RelativeOffsetEffect. Relative offset in 1000ths of a percent. */
|
|
2443
2547
|
interface EffectDagRelOff {
|
|
2444
2548
|
kind: 'relOff';
|
|
2445
|
-
/** Horizontal offset, percentage * 1000. */
|
|
2446
2549
|
tx?: number;
|
|
2447
|
-
/** Vertical offset, percentage * 1000. */
|
|
2448
2550
|
ty?: number;
|
|
2449
2551
|
}
|
|
2450
|
-
/**
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2552
|
+
/** Typed CT_BlurEffect with its original payload retained for lossless edits. */
|
|
2553
|
+
interface EffectDagBlur {
|
|
2554
|
+
kind: 'blur';
|
|
2555
|
+
radiusEmu?: number;
|
|
2556
|
+
grow?: boolean;
|
|
2557
|
+
xml: XmlObject;
|
|
2558
|
+
}
|
|
2559
|
+
/** Typed CT_PresetShadowEffect with colour and extension XML retained verbatim. */
|
|
2560
|
+
interface EffectDagPresetShadow {
|
|
2561
|
+
kind: 'prstShdw';
|
|
2562
|
+
preset?: `shdw${number}`;
|
|
2563
|
+
distanceEmu?: number;
|
|
2564
|
+
direction?: number;
|
|
2565
|
+
xml: XmlObject;
|
|
2566
|
+
}
|
|
2454
2567
|
interface EffectDagRawLeaf {
|
|
2455
2568
|
kind: 'raw';
|
|
2456
|
-
/** Local element name without the `a:` prefix (e.g. `outerShdw`, `glow`). */
|
|
2457
2569
|
tag: string;
|
|
2458
|
-
/** Raw XML object captured at load — preserved verbatim on save. */
|
|
2459
2570
|
xml: Record<string, unknown>;
|
|
2460
2571
|
}
|
|
2572
|
+
|
|
2461
2573
|
/**
|
|
2462
2574
|
* Image recolour/adjustment properties parsed from blip extensions.
|
|
2463
2575
|
*
|
|
@@ -2684,6 +2796,11 @@ declare module "./index" {
|
|
|
2684
2796
|
* ```
|
|
2685
2797
|
*/
|
|
2686
2798
|
type PptxMediaType = 'video' | 'audio' | 'unknown';
|
|
2799
|
+
type PptxMediaReferenceKind = 'audioCd' | 'wavAudioFile' | 'audioFile' | 'videoFile' | 'quickTimeFile';
|
|
2800
|
+
interface PptxAudioCdPosition {
|
|
2801
|
+
track: number;
|
|
2802
|
+
time?: number;
|
|
2803
|
+
}
|
|
2687
2804
|
/**
|
|
2688
2805
|
* A named bookmark within a media clip timeline.
|
|
2689
2806
|
*
|
|
@@ -2760,6 +2877,34 @@ interface MediaCaptionTrack {
|
|
|
2760
2877
|
isDefault?: boolean;
|
|
2761
2878
|
}
|
|
2762
2879
|
|
|
2880
|
+
/** Typed, editable metadata from a DiagramML layout-definition part. */
|
|
2881
|
+
interface PptxSmartArtLocalizedText {
|
|
2882
|
+
value: string;
|
|
2883
|
+
language?: string;
|
|
2884
|
+
}
|
|
2885
|
+
interface PptxSmartArtLayoutCategory {
|
|
2886
|
+
type: string;
|
|
2887
|
+
priority: number;
|
|
2888
|
+
}
|
|
2889
|
+
/** Identity and ordering metadata from DiagramML CT_LayoutNode. */
|
|
2890
|
+
interface PptxSmartArtLayoutNode {
|
|
2891
|
+
name?: string;
|
|
2892
|
+
styleLabel?: string;
|
|
2893
|
+
childOrder?: 'b' | 't';
|
|
2894
|
+
moveWith?: string;
|
|
2895
|
+
children?: PptxSmartArtLayoutNode[];
|
|
2896
|
+
}
|
|
2897
|
+
/** Metadata and root node from DiagramML CT_DiagramDefinition. */
|
|
2898
|
+
interface PptxSmartArtLayoutDefinition {
|
|
2899
|
+
uniqueId?: string;
|
|
2900
|
+
minimumVersion?: string;
|
|
2901
|
+
defaultStyle?: string;
|
|
2902
|
+
titles?: PptxSmartArtLocalizedText[];
|
|
2903
|
+
descriptions?: PptxSmartArtLocalizedText[];
|
|
2904
|
+
categories?: PptxSmartArtLayoutCategory[];
|
|
2905
|
+
rootNode: PptxSmartArtLayoutNode;
|
|
2906
|
+
}
|
|
2907
|
+
|
|
2763
2908
|
/**
|
|
2764
2909
|
* SmartArt node types: per-run text, per-node visual override, and the
|
|
2765
2910
|
* data-model node itself. Split out of `smart-art.ts` to keep each type file
|
|
@@ -2847,6 +2992,8 @@ interface PptxSmartArtNodeStyle {
|
|
|
2847
2992
|
interface PptxSmartArtNode {
|
|
2848
2993
|
id: string;
|
|
2849
2994
|
text: string;
|
|
2995
|
+
/** CT_Pt connection identifier, when the point references a connection. */
|
|
2996
|
+
connectionId?: string | null;
|
|
2850
2997
|
parentId?: string;
|
|
2851
2998
|
children?: PptxSmartArtNode[];
|
|
2852
2999
|
/** Node type from `@_type` attribute (e.g. "doc", "node", "asst", "pres"). */
|
|
@@ -2868,6 +3015,64 @@ interface PptxSmartArtNode {
|
|
|
2868
3015
|
style?: PptxSmartArtNodeStyle;
|
|
2869
3016
|
}
|
|
2870
3017
|
|
|
3018
|
+
/** Editable metadata shared by DiagramML quick-style and color definitions. */
|
|
3019
|
+
interface PptxSmartArtDefinitionText {
|
|
3020
|
+
value: string;
|
|
3021
|
+
language?: string;
|
|
3022
|
+
}
|
|
3023
|
+
interface PptxSmartArtDefinitionCategory {
|
|
3024
|
+
type: string;
|
|
3025
|
+
priority: number;
|
|
3026
|
+
}
|
|
3027
|
+
type PptxSmartArtColorApplicationMethod = 'span' | 'cycle' | 'repeat';
|
|
3028
|
+
type PptxSmartArtHueDirection = 'cw' | 'ccw';
|
|
3029
|
+
/** CT_Colors application metadata. Color-choice children remain preserved XML. */
|
|
3030
|
+
interface PptxSmartArtColorListMetadata {
|
|
3031
|
+
method?: PptxSmartArtColorApplicationMethod;
|
|
3032
|
+
hueDirection?: PptxSmartArtHueDirection;
|
|
3033
|
+
}
|
|
3034
|
+
/** CT_StyleLabel metadata from a quick-style definition. */
|
|
3035
|
+
interface PptxSmartArtQuickStyleLabel {
|
|
3036
|
+
name: string;
|
|
3037
|
+
}
|
|
3038
|
+
/** CT_CTStyleLabel metadata from a color-transform definition. */
|
|
3039
|
+
interface PptxSmartArtColorStyleLabel {
|
|
3040
|
+
name: string;
|
|
3041
|
+
fill?: PptxSmartArtColorListMetadata;
|
|
3042
|
+
line?: PptxSmartArtColorListMetadata;
|
|
3043
|
+
effect?: PptxSmartArtColorListMetadata;
|
|
3044
|
+
textLine?: PptxSmartArtColorListMetadata;
|
|
3045
|
+
textFill?: PptxSmartArtColorListMetadata;
|
|
3046
|
+
textEffect?: PptxSmartArtColorListMetadata;
|
|
3047
|
+
}
|
|
3048
|
+
interface PptxSmartArtDefinitionMetadata {
|
|
3049
|
+
uniqueId?: string;
|
|
3050
|
+
minimumVersion?: string;
|
|
3051
|
+
titles?: PptxSmartArtDefinitionText[];
|
|
3052
|
+
descriptions?: PptxSmartArtDefinitionText[];
|
|
3053
|
+
categories?: PptxSmartArtDefinitionCategory[];
|
|
3054
|
+
}
|
|
3055
|
+
/** Typed CT_ColorTransform metadata and the resolved legacy color palette. */
|
|
3056
|
+
interface PptxSmartArtColorTransform extends PptxSmartArtDefinitionMetadata {
|
|
3057
|
+
/** Legacy resolved display name. */
|
|
3058
|
+
name?: string;
|
|
3059
|
+
/** Ordered resolved fill colors for rendering. */
|
|
3060
|
+
fillColors: string[];
|
|
3061
|
+
/** Ordered resolved line colors for rendering. */
|
|
3062
|
+
lineColors: string[];
|
|
3063
|
+
/** Ordered CT_CTStyleLabel metadata. */
|
|
3064
|
+
labels?: PptxSmartArtColorStyleLabel[];
|
|
3065
|
+
}
|
|
3066
|
+
/** Typed CT_StyleDefinition metadata and legacy rendering hint. */
|
|
3067
|
+
interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
|
|
3068
|
+
/** Legacy resolved display name. */
|
|
3069
|
+
name?: string;
|
|
3070
|
+
/** Legacy effect-intensity rendering hint. */
|
|
3071
|
+
effectIntensity?: string;
|
|
3072
|
+
/** Ordered CT_StyleLabel metadata. Complex style payload remains preserved XML. */
|
|
3073
|
+
labels?: PptxSmartArtQuickStyleLabel[];
|
|
3074
|
+
}
|
|
3075
|
+
|
|
2871
3076
|
/**
|
|
2872
3077
|
* SmartArt types: layout categories, layout presets, colour schemes,
|
|
2873
3078
|
* data-model nodes/connections, drawing shapes, chrome, and the composite
|
|
@@ -2930,6 +3135,8 @@ type SmartArtStyle = 'flat' | 'moderate' | 'intense';
|
|
|
2930
3135
|
* ```
|
|
2931
3136
|
*/
|
|
2932
3137
|
interface PptxSmartArtConnection {
|
|
3138
|
+
/** Stable CT_Cxn model identifier. Required when serialized. */
|
|
3139
|
+
modelId?: string | null;
|
|
2933
3140
|
/** Model ID of the source node. */
|
|
2934
3141
|
sourceId: string;
|
|
2935
3142
|
/** Model ID of the destination node. */
|
|
@@ -2940,6 +3147,12 @@ interface PptxSmartArtConnection {
|
|
|
2940
3147
|
srcOrd?: number;
|
|
2941
3148
|
/** Destination index for ordering. */
|
|
2942
3149
|
destOrd?: number;
|
|
3150
|
+
/** Model ID of the parent transition point associated with this edge. */
|
|
3151
|
+
parentTransitionId?: string | null;
|
|
3152
|
+
/** Model ID of the sibling transition point associated with this edge. */
|
|
3153
|
+
siblingTransitionId?: string | null;
|
|
3154
|
+
/** Layout presentation identifier used by presentation connections. */
|
|
3155
|
+
presentationId?: string | null;
|
|
2943
3156
|
}
|
|
2944
3157
|
/**
|
|
2945
3158
|
* A pre-computed shape from `ppt/diagrams/drawing*.xml`.
|
|
@@ -3006,45 +3219,6 @@ interface PptxSmartArtChrome {
|
|
|
3006
3219
|
/** Outline stroke width in points. */
|
|
3007
3220
|
outlineWidth?: number;
|
|
3008
3221
|
}
|
|
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
3222
|
/**
|
|
3049
3223
|
* Complete parsed SmartArt data for a {@link SmartArtPptxElement}.
|
|
3050
3224
|
*
|
|
@@ -3084,14 +3258,28 @@ interface PptxSmartArtData {
|
|
|
3084
3258
|
colorTransform?: PptxSmartArtColorTransform;
|
|
3085
3259
|
/** Quick style from `ppt/diagrams/quickStyles*.xml`. */
|
|
3086
3260
|
quickStyle?: PptxSmartArtQuickStyle;
|
|
3261
|
+
/** Editable metadata from the related DiagramML layout definition. */
|
|
3262
|
+
layoutDefinition?: PptxSmartArtLayoutDefinition;
|
|
3087
3263
|
/** Relationship ID for the diagram data part (for round-trip save). */
|
|
3088
3264
|
dataRelId?: string;
|
|
3265
|
+
/** Relationship ID for the diagram layout part. */
|
|
3266
|
+
layoutRelId?: string;
|
|
3089
3267
|
/** Relationship ID for the drawing part. */
|
|
3090
3268
|
drawingRelId?: string;
|
|
3091
3269
|
/** Relationship ID for the colours part. */
|
|
3092
3270
|
colorsRelId?: string;
|
|
3093
3271
|
/** Relationship ID for the quick-styles part. */
|
|
3094
3272
|
styleRelId?: string;
|
|
3273
|
+
/** Internal save hint: the layout definition changed in the editor. */
|
|
3274
|
+
layoutDirty?: boolean;
|
|
3275
|
+
/** Internal save hint: typed layout-definition metadata changed. */
|
|
3276
|
+
layoutDefinitionDirty?: boolean;
|
|
3277
|
+
/** Internal save hint: quick-style definition metadata changed. */
|
|
3278
|
+
quickStyleDirty?: boolean;
|
|
3279
|
+
/** Internal save hint: color-transform definition metadata changed. */
|
|
3280
|
+
colorTransformDirty?: boolean;
|
|
3281
|
+
/** Internal save hint: cached drawing geometry or text changed in the editor. */
|
|
3282
|
+
drawingDirty?: boolean;
|
|
3095
3283
|
}
|
|
3096
3284
|
|
|
3097
3285
|
/**
|
|
@@ -3580,6 +3768,11 @@ interface MediaPptxElement extends PptxElementBase {
|
|
|
3580
3768
|
mediaPath?: string;
|
|
3581
3769
|
mediaData?: string;
|
|
3582
3770
|
mediaMimeType?: string;
|
|
3771
|
+
mediaReferenceKind?: PptxMediaReferenceKind;
|
|
3772
|
+
mediaReferenceName?: string;
|
|
3773
|
+
audioCdStart?: PptxAudioCdPosition;
|
|
3774
|
+
audioCdEnd?: PptxAudioCdPosition;
|
|
3775
|
+
rawMediaReferenceXml?: XmlObject;
|
|
3583
3776
|
/** Trim start in milliseconds (from p:cMediaNode p:cTn @st). */
|
|
3584
3777
|
trimStartMs?: number;
|
|
3585
3778
|
/** Trim end in milliseconds (from p:cMediaNode p:cTn @end). */
|
|
@@ -3809,6 +4002,44 @@ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevi
|
|
|
3809
4002
|
* is preserved alongside other animations.
|
|
3810
4003
|
*/
|
|
3811
4004
|
type PptxNativeAnimationKind = 'media';
|
|
4005
|
+
/** A target selected by `p:tgtEl` in the PresentationML timing model. */
|
|
4006
|
+
type PptxAnimationTarget = {
|
|
4007
|
+
type: 'shape';
|
|
4008
|
+
shapeId: string;
|
|
4009
|
+
rawXml?: XmlObject;
|
|
4010
|
+
} | {
|
|
4011
|
+
type: 'slide';
|
|
4012
|
+
rawXml?: XmlObject;
|
|
4013
|
+
} | {
|
|
4014
|
+
type: 'sound';
|
|
4015
|
+
relationshipId: string;
|
|
4016
|
+
name?: string;
|
|
4017
|
+
rawXml?: XmlObject;
|
|
4018
|
+
} | {
|
|
4019
|
+
type: 'ink';
|
|
4020
|
+
shapeId: string;
|
|
4021
|
+
rawXml?: XmlObject;
|
|
4022
|
+
} | {
|
|
4023
|
+
type: 'unknown';
|
|
4024
|
+
rawXml: XmlObject;
|
|
4025
|
+
};
|
|
4026
|
+
/** Nested build choice carried by `p:bldGraphic`. */
|
|
4027
|
+
type PptxGraphicBuild = {
|
|
4028
|
+
mode: 'asOne';
|
|
4029
|
+
rawXml?: XmlObject;
|
|
4030
|
+
} | {
|
|
4031
|
+
mode: 'sub';
|
|
4032
|
+
kind: 'diagram';
|
|
4033
|
+
build: string;
|
|
4034
|
+
reverse: boolean;
|
|
4035
|
+
rawXml?: XmlObject;
|
|
4036
|
+
} | {
|
|
4037
|
+
mode: 'sub';
|
|
4038
|
+
kind: 'chart';
|
|
4039
|
+
build: string;
|
|
4040
|
+
animateBackground: boolean;
|
|
4041
|
+
rawXml?: XmlObject;
|
|
4042
|
+
};
|
|
3812
4043
|
/**
|
|
3813
4044
|
* Parsed native animation record from `p:timing / p:tnLst`.
|
|
3814
4045
|
*
|
|
@@ -3830,6 +4061,8 @@ type PptxNativeAnimationKind = 'media';
|
|
|
3830
4061
|
interface PptxNativeAnimation {
|
|
3831
4062
|
/** Target element/shape ID. */
|
|
3832
4063
|
targetId?: string;
|
|
4064
|
+
/** Full timing target, including sound and ink target variants. */
|
|
4065
|
+
target?: PptxAnimationTarget;
|
|
3833
4066
|
/** Trigger type. */
|
|
3834
4067
|
trigger?: PptxAnimationTrigger;
|
|
3835
4068
|
/** Shape ID that triggers this animation when clicked (interactive sequence). */
|
|
@@ -3934,6 +4167,8 @@ interface PptxNativeAnimation {
|
|
|
3934
4167
|
* that aren't OLE charts).
|
|
3935
4168
|
*/
|
|
3936
4169
|
graphicBuild?: string;
|
|
4170
|
+
/** Schema-accurate `p:bldGraphic/p:bldAsOne|p:bldSub` representation. */
|
|
4171
|
+
graphicBuildProperties?: PptxGraphicBuild;
|
|
3937
4172
|
/**
|
|
3938
4173
|
* Opaque map of `p:cTn` attributes that don't have a typed home on this
|
|
3939
4174
|
* interface but must round-trip through parse → save. Keys are stored
|
|
@@ -4050,6 +4285,8 @@ interface AnimationCondition {
|
|
|
4050
4285
|
targetShapeId?: string;
|
|
4051
4286
|
/** Whether the condition targets a slide (from `p:tgtEl/p:sldTgt`). */
|
|
4052
4287
|
targetSlide?: boolean;
|
|
4288
|
+
/** Full target choice, including `p:sndTgt` and `p:inkTgt`. */
|
|
4289
|
+
target?: PptxAnimationTarget;
|
|
4053
4290
|
}
|
|
4054
4291
|
/** Iteration configuration from `p:iterate`. */
|
|
4055
4292
|
interface PptxAnimationIterate {
|
|
@@ -4134,6 +4371,7 @@ interface PptxElementAnimation {
|
|
|
4134
4371
|
*
|
|
4135
4372
|
* @module pptx-types/metadata
|
|
4136
4373
|
*/
|
|
4374
|
+
|
|
4137
4375
|
/**
|
|
4138
4376
|
* A slide comment — may be a legacy positional comment or a modern
|
|
4139
4377
|
* threaded comment with replies.
|
|
@@ -4153,6 +4391,10 @@ interface PptxElementAnimation {
|
|
|
4153
4391
|
interface PptxComment {
|
|
4154
4392
|
id: string;
|
|
4155
4393
|
text: string;
|
|
4394
|
+
/** Storage vocabulary used by this comment. Omitted means legacy PresentationML. */
|
|
4395
|
+
format?: 'legacy' | 'modern';
|
|
4396
|
+
/** Stable GUID author identifier used by Office 2021 modern comments. */
|
|
4397
|
+
authorId?: string;
|
|
4156
4398
|
/** Optional parent comment id for reply threading metadata. */
|
|
4157
4399
|
parentId?: string;
|
|
4158
4400
|
author?: string;
|
|
@@ -4161,12 +4403,26 @@ interface PptxComment {
|
|
|
4161
4403
|
y?: number;
|
|
4162
4404
|
/** Whether this comment has been resolved/marked done. */
|
|
4163
4405
|
resolved?: boolean;
|
|
4406
|
+
/** Native p188 status token. */
|
|
4407
|
+
status?: 'active' | 'resolved' | 'closed';
|
|
4408
|
+
/** Modern comment classification tags and author IDs that liked the comment. */
|
|
4409
|
+
tags?: string[];
|
|
4410
|
+
likes?: string[];
|
|
4411
|
+
startDate?: string;
|
|
4412
|
+
dueDate?: string;
|
|
4413
|
+
assignedTo?: string[];
|
|
4414
|
+
/** Task completion in thousandths of a percent, from 0 through 100000. */
|
|
4415
|
+
complete?: number;
|
|
4416
|
+
priority?: number;
|
|
4417
|
+
title?: string;
|
|
4164
4418
|
/** Modern threaded comment support (p15:threadingInfo). */
|
|
4165
4419
|
threadId?: string;
|
|
4166
4420
|
/** Replies to this comment (for modern threaded comments). */
|
|
4167
4421
|
replies?: PptxComment[];
|
|
4168
4422
|
/** ID of the element this comment is associated with (if any). */
|
|
4169
4423
|
elementId?: string;
|
|
4424
|
+
/** Original `p:cm` subtree, retained for unknown child and extension preservation. */
|
|
4425
|
+
rawXml?: XmlObject;
|
|
4170
4426
|
}
|
|
4171
4427
|
/**
|
|
4172
4428
|
* A compatibility warning generated during parse or save when the
|
|
@@ -4218,6 +4474,8 @@ interface PptxCompatibilityWarning {
|
|
|
4218
4474
|
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
4475
|
/** Split orientation from OOXML `@_orient`. */
|
|
4220
4476
|
type PptxSplitOrientation = 'horz' | 'vert';
|
|
4477
|
+
/** Schema-defined `ST_TransitionSpeed` values. */
|
|
4478
|
+
type PptxTransitionSpeed = 'slow' | 'med' | 'fast';
|
|
4221
4479
|
/**
|
|
4222
4480
|
* Slide transition configuration.
|
|
4223
4481
|
*
|
|
@@ -4234,6 +4492,8 @@ type PptxSplitOrientation = 'horz' | 'vert';
|
|
|
4234
4492
|
*/
|
|
4235
4493
|
interface PptxSlideTransition {
|
|
4236
4494
|
type: PptxTransitionType;
|
|
4495
|
+
/** Schema-defined transition speed. Defaults to `fast` when omitted. */
|
|
4496
|
+
speed?: PptxTransitionSpeed;
|
|
4237
4497
|
durationMs?: number;
|
|
4238
4498
|
direction?: string;
|
|
4239
4499
|
advanceOnClick?: boolean;
|
|
@@ -4248,6 +4508,10 @@ interface PptxSlideTransition {
|
|
|
4248
4508
|
orient?: PptxSplitOrientation;
|
|
4249
4509
|
/** Relationship ID of transition sound from `p:sndAc/p:stSnd/@r:embed` when present. */
|
|
4250
4510
|
soundRId?: string;
|
|
4511
|
+
/** Embedded WAV display name from `p:stSnd/p:snd/@name`. */
|
|
4512
|
+
soundName?: string;
|
|
4513
|
+
/** Whether the transition sound repeats until another sound starts. */
|
|
4514
|
+
soundLoop?: boolean;
|
|
4251
4515
|
/** Resolved transition sound media path within the package. */
|
|
4252
4516
|
soundPath?: string;
|
|
4253
4517
|
/** Human-readable sound file name (extracted from soundPath). */
|
|
@@ -4261,6 +4525,8 @@ interface PptxSlideTransition {
|
|
|
4261
4525
|
rawSoundAction?: XmlObject;
|
|
4262
4526
|
/** Preserved extension-list XML node from `p:extLst` within the transition for lossless round-trip. */
|
|
4263
4527
|
rawExtLst?: XmlObject;
|
|
4528
|
+
/** Original transition node, retained to preserve unknown attributes and children. */
|
|
4529
|
+
rawTransition?: XmlObject;
|
|
4264
4530
|
}
|
|
4265
4531
|
|
|
4266
4532
|
/**
|
|
@@ -4403,6 +4669,8 @@ interface PptxSlide {
|
|
|
4403
4669
|
/** Optional `<p:cSld @name>` value of the notes slide, for round-trip. */
|
|
4404
4670
|
notesCSldName?: string;
|
|
4405
4671
|
comments?: PptxComment[];
|
|
4672
|
+
/** Source package metadata for an Office 2021 p188 comment part. */
|
|
4673
|
+
modernCommentPart?: PptxModernCommentPart;
|
|
4406
4674
|
warnings?: PptxCompatibilityWarning[];
|
|
4407
4675
|
rawXml?: XmlObject;
|
|
4408
4676
|
/** Per-slide colour map override parsed from `p:clrMapOvr`. */
|
|
@@ -4421,6 +4689,24 @@ interface PptxSlide {
|
|
|
4421
4689
|
activeXControls?: PptxActiveXControl[];
|
|
4422
4690
|
/** Per-slide header/footer flags from `<p:hf>` (P-H3). */
|
|
4423
4691
|
headerFooterFlags?: PptxHeaderFooterFlags;
|
|
4692
|
+
/** Server-backed slide synchronization metadata stored in a related OPC part. */
|
|
4693
|
+
slideSynchronization?: PptxSlideSyncProperties;
|
|
4694
|
+
}
|
|
4695
|
+
interface PptxModernCommentPart {
|
|
4696
|
+
path: string;
|
|
4697
|
+
relationshipId: string;
|
|
4698
|
+
/** Original p188:cmLst root, including unknown attributes and extensions. */
|
|
4699
|
+
rawXml?: XmlObject;
|
|
4700
|
+
}
|
|
4701
|
+
/** Metadata from a `p:sldSyncPr` slide synchronization data part. */
|
|
4702
|
+
interface PptxSlideSyncProperties {
|
|
4703
|
+
serverSlideId: string;
|
|
4704
|
+
serverSlideModifiedTime: string;
|
|
4705
|
+
clientInsertedTime: string;
|
|
4706
|
+
extensionList?: XmlObject;
|
|
4707
|
+
rawXml?: XmlObject;
|
|
4708
|
+
partPath?: string;
|
|
4709
|
+
relationshipId?: string;
|
|
4424
4710
|
}
|
|
4425
4711
|
|
|
4426
4712
|
/** Viewer interaction mode: read-only, edit, presentation, or master-view. */
|
|
@@ -4531,10 +4817,12 @@ type CollaborationRole = 'owner' | 'collaborator' | 'viewer';
|
|
|
4531
4817
|
* any signaling server, which makes this mode usable from static hosting.
|
|
4532
4818
|
*/
|
|
4533
4819
|
type CollaborationTransport = 'websocket' | 'webrtc';
|
|
4820
|
+
/** How the local user entered a collaboration session. */
|
|
4821
|
+
type CollaborationSessionIntent = 'create' | 'join';
|
|
4534
4822
|
/**
|
|
4535
4823
|
* Real-time collaboration configuration.
|
|
4536
4824
|
*
|
|
4537
|
-
* The same shape is accepted by
|
|
4825
|
+
* The same shape is accepted by every framework binding.
|
|
4538
4826
|
*/
|
|
4539
4827
|
interface CollaborationConfig {
|
|
4540
4828
|
/** Unique identifier for the collaboration room (alphanumeric, hyphens, underscores). */
|
|
@@ -4562,6 +4850,13 @@ interface CollaborationConfig {
|
|
|
4562
4850
|
authToken?: string;
|
|
4563
4851
|
/** Role in the session; defaults to `'collaborator'`. */
|
|
4564
4852
|
role?: CollaborationRole;
|
|
4853
|
+
/**
|
|
4854
|
+
* Whether this client created the room or joined an existing room. Providers
|
|
4855
|
+
* do not use this value, but hosts can use it to avoid publishing local file
|
|
4856
|
+
* bytes when handling a join request. Omitted values retain the legacy
|
|
4857
|
+
* create-session behaviour.
|
|
4858
|
+
*/
|
|
4859
|
+
sessionIntent?: CollaborationSessionIntent;
|
|
4565
4860
|
/**
|
|
4566
4861
|
* Elected-writer write-back callback (Area 3 of the C3 hardening plan).
|
|
4567
4862
|
*
|