pptx-react-viewer 1.17.1 → 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 +2 -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-WH7YXV3I.js → chunk-73ST7AC6.js} +2153 -1572
- package/dist/chunk-73ST7AC6.js.br +0 -0
- package/dist/chunk-73ST7AC6.js.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-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-SXCO5HHN.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-PCQH2UBR.mjs → chunk-KMLIWCNL.mjs} +1345 -764
- package/dist/chunk-KMLIWCNL.mjs.br +0 -0
- package/dist/chunk-KMLIWCNL.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-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-HN7CPQUG.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 +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 +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-5CD34U2V.mjs.br +0 -0
- package/dist/chunk-5CD34U2V.mjs.gz +0 -0
- package/dist/chunk-G22EWPLH.mjs.br +0 -0
- package/dist/chunk-G22EWPLH.mjs.gz +0 -0
- package/dist/chunk-HN7CPQUG.mjs.br +0 -0
- package/dist/chunk-HN7CPQUG.mjs.gz +0 -0
- package/dist/chunk-IZXN663G.js.br +0 -0
- package/dist/chunk-IZXN663G.js.gz +0 -0
- package/dist/chunk-JWS3RQKN.js.br +0 -0
- package/dist/chunk-JWS3RQKN.js.gz +0 -0
- package/dist/chunk-MGLRKGCH.js.br +0 -0
- package/dist/chunk-MGLRKGCH.js.gz +0 -0
- package/dist/chunk-PCQH2UBR.mjs.br +0 -0
- package/dist/chunk-PCQH2UBR.mjs.gz +0 -0
- package/dist/chunk-SXCO5HHN.js.br +0 -0
- package/dist/chunk-SXCO5HHN.js.gz +0 -0
- package/dist/chunk-WH7YXV3I.js.br +0 -0
- package/dist/chunk-WH7YXV3I.js.gz +0 -0
- package/dist/chunk-XRYREYXC.mjs.br +0 -0
- package/dist/chunk-XRYREYXC.mjs.gz +0 -0
- package/dist/dist-2ZAH7U6U.js.br +0 -0
- package/dist/dist-2ZAH7U6U.js.gz +0 -0
- package/dist/dist-MXDC6YTS.mjs +0 -2
- package/dist/dist-MXDC6YTS.mjs.br +0 -0
- package/dist/dist-MXDC6YTS.mjs.gz +0 -0
- package/dist/index-XGt7MZpa.d.ts.map +0 -1
package/dist/hooks-unstable.d.ts
CHANGED
|
@@ -599,6 +599,10 @@ interface Text3DStyle {
|
|
|
599
599
|
interface Pptx3DScene {
|
|
600
600
|
/** Camera preset type, e.g. "orthographicFront", "perspectiveFront". */
|
|
601
601
|
cameraPreset?: string;
|
|
602
|
+
/** Camera field of view in 1/60000 degrees (`a:camera/@fov`). */
|
|
603
|
+
cameraFieldOfView?: number;
|
|
604
|
+
/** Camera zoom as an OOXML percentage fraction (`a:camera/@zoom`, 1 = 100%). */
|
|
605
|
+
cameraZoom?: number;
|
|
602
606
|
/** Camera rotation around X axis in 1/60000 degrees. */
|
|
603
607
|
cameraRotX?: number;
|
|
604
608
|
/** Camera rotation around Y axis in 1/60000 degrees. */
|
|
@@ -609,6 +613,12 @@ interface Pptx3DScene {
|
|
|
609
613
|
lightRigType?: string;
|
|
610
614
|
/** Light rig direction, e.g. "t", "b", "l", "r", "tl". */
|
|
611
615
|
lightRigDirection?: string;
|
|
616
|
+
/** Light-rig rotation latitude in 1/60000 degrees. */
|
|
617
|
+
lightRigRotX?: number;
|
|
618
|
+
/** Light-rig rotation longitude in 1/60000 degrees. */
|
|
619
|
+
lightRigRotY?: number;
|
|
620
|
+
/** Light-rig rotation revolution in 1/60000 degrees. */
|
|
621
|
+
lightRigRotZ?: number;
|
|
612
622
|
/** Whether a 3D backdrop plane is present (`a:backdrop`). */
|
|
613
623
|
hasBackdrop?: boolean;
|
|
614
624
|
/** Backdrop plane anchor X in EMU. */
|
|
@@ -617,6 +627,18 @@ interface Pptx3DScene {
|
|
|
617
627
|
backdropAnchorY?: number;
|
|
618
628
|
/** Backdrop plane anchor Z in EMU. */
|
|
619
629
|
backdropAnchorZ?: number;
|
|
630
|
+
/** Backdrop normal vector X component. */
|
|
631
|
+
backdropNormalX?: number;
|
|
632
|
+
/** Backdrop normal vector Y component. */
|
|
633
|
+
backdropNormalY?: number;
|
|
634
|
+
/** Backdrop normal vector Z component. */
|
|
635
|
+
backdropNormalZ?: number;
|
|
636
|
+
/** Backdrop up vector X component. */
|
|
637
|
+
backdropUpX?: number;
|
|
638
|
+
/** Backdrop up vector Y component. */
|
|
639
|
+
backdropUpY?: number;
|
|
640
|
+
/** Backdrop up vector Z component. */
|
|
641
|
+
backdropUpZ?: number;
|
|
620
642
|
}
|
|
621
643
|
/**
|
|
622
644
|
* 3D shape extrusion/bevel from `a:sp3d`.
|
|
@@ -736,9 +758,13 @@ interface ShapeStyle {
|
|
|
736
758
|
*/
|
|
737
759
|
fillColorXml?: XmlObject;
|
|
738
760
|
fillGradient?: string;
|
|
761
|
+
/** Original `gradFill` XML retained for unknown-child and extension round-tripping. */
|
|
762
|
+
fillGradientXml?: XmlObject;
|
|
739
763
|
fillMode?: 'solid' | 'gradient' | 'pattern' | 'none' | 'image' | 'theme' | 'group';
|
|
740
764
|
fillPatternPreset?: string;
|
|
741
765
|
fillPatternBackgroundColor?: string;
|
|
766
|
+
/** Original `pattFill` XML retained for unknown-child round-tripping. */
|
|
767
|
+
fillPatternXml?: XmlObject;
|
|
742
768
|
/** Raw XML node for pattern fill foreground colour (preserves color transforms). */
|
|
743
769
|
fillPatternFgClrXml?: XmlObject;
|
|
744
770
|
/** Raw XML node for pattern fill background colour (preserves color transforms). */
|
|
@@ -804,6 +830,14 @@ interface ShapeStyle {
|
|
|
804
830
|
/** Pen line alignment (`a:ln/@algn`): `ctr` (centre, default) or `in` (inside). */
|
|
805
831
|
lineAlignment?: 'ctr' | 'in';
|
|
806
832
|
shadowColor?: string;
|
|
833
|
+
/** Preserved source `a:effectLst`, including unknown effects and extensions. */
|
|
834
|
+
effectListXml?: XmlObject;
|
|
835
|
+
/** Original outer-shadow node used for lossless surgical updates. */
|
|
836
|
+
outerShadowXml?: XmlObject;
|
|
837
|
+
/** Resolved source shadow colour used to detect colour edits. */
|
|
838
|
+
outerShadowOriginalColor?: string;
|
|
839
|
+
/** Source shadow opacity used to detect alpha edits. */
|
|
840
|
+
outerShadowOriginalOpacity?: number;
|
|
807
841
|
shadowBlur?: number;
|
|
808
842
|
shadowOffsetX?: number;
|
|
809
843
|
shadowOffsetY?: number;
|
|
@@ -847,11 +881,23 @@ interface ShapeStyle {
|
|
|
847
881
|
/** Multiple shadow layers (for advanced effects). */
|
|
848
882
|
shadows?: ShadowEffect[];
|
|
849
883
|
glowColor?: string;
|
|
884
|
+
/** Original glow node used for lossless surgical updates. */
|
|
885
|
+
glowXml?: XmlObject;
|
|
886
|
+
/** Resolved source glow colour used to detect colour edits. */
|
|
887
|
+
glowOriginalColor?: string;
|
|
888
|
+
/** Source glow opacity used to detect alpha edits. */
|
|
889
|
+
glowOriginalOpacity?: number;
|
|
850
890
|
glowRadius?: number;
|
|
851
891
|
glowOpacity?: number;
|
|
852
892
|
softEdgeRadius?: number;
|
|
853
893
|
/** Inner shadow colour (`a:innerShdw`). */
|
|
854
894
|
innerShadowColor?: string;
|
|
895
|
+
/** Original inner-shadow node used for lossless surgical updates. */
|
|
896
|
+
innerShadowXml?: XmlObject;
|
|
897
|
+
/** Resolved source inner-shadow colour used to detect colour edits. */
|
|
898
|
+
innerShadowOriginalColor?: string;
|
|
899
|
+
/** Source inner-shadow opacity used to detect alpha edits. */
|
|
900
|
+
innerShadowOriginalOpacity?: number;
|
|
855
901
|
/** Inner shadow opacity (0-1). */
|
|
856
902
|
innerShadowOpacity?: number;
|
|
857
903
|
/** Inner shadow blur radius in px. */
|
|
@@ -860,8 +906,12 @@ interface ShapeStyle {
|
|
|
860
906
|
innerShadowOffsetX?: number;
|
|
861
907
|
/** Inner shadow vertical offset in px. */
|
|
862
908
|
innerShadowOffsetY?: number;
|
|
909
|
+
/** Original soft-edge node, including vendor attributes and extensions. */
|
|
910
|
+
softEdgeXml?: XmlObject;
|
|
863
911
|
/** Reflection effect — distance from shape bottom in px. */
|
|
864
912
|
reflectionBlurRadius?: number;
|
|
913
|
+
/** Original reflection node, including vendor attributes and extensions. */
|
|
914
|
+
reflectionXml?: XmlObject;
|
|
865
915
|
/** Reflection start opacity (0-1). */
|
|
866
916
|
reflectionStartOpacity?: number;
|
|
867
917
|
/** Reflection end opacity (0-1). */
|
|
@@ -1357,6 +1407,8 @@ interface TextStyle {
|
|
|
1357
1407
|
text3d?: Text3DStyle;
|
|
1358
1408
|
/** 3D scene (camera + light rig) settings on the text body (`a:bodyPr/a:scene3d`). */
|
|
1359
1409
|
textBodyScene3d?: Pptx3DScene;
|
|
1410
|
+
/** Raw `a:scene3d` subtree used to preserve extensions and unmodelled children. */
|
|
1411
|
+
textBodyScene3dXml?: XmlObject;
|
|
1360
1412
|
/**
|
|
1361
1413
|
* Raw `<a:extLst>` subtree captured from `<a:bodyPr>`. Preserved verbatim so
|
|
1362
1414
|
* authored extensions (e.g. content placeholders, custom application data)
|
|
@@ -1733,12 +1785,32 @@ interface PlaceholderTextLevelStyle {
|
|
|
1733
1785
|
spaceAfter?: number;
|
|
1734
1786
|
}
|
|
1735
1787
|
|
|
1788
|
+
/** Tick-mark placement from ChartML `ST_TickMark`. */
|
|
1789
|
+
type PptxChartTickMark = 'cross' | 'in' | 'none' | 'out';
|
|
1790
|
+
/** Typed axis tick and category/date label controls. */
|
|
1791
|
+
interface PptxChartAxisLabelFormatting {
|
|
1792
|
+
/** Primary and secondary tick-mark placement. */
|
|
1793
|
+
majorTickMark?: PptxChartTickMark;
|
|
1794
|
+
minorTickMark?: PptxChartTickMark;
|
|
1795
|
+
/** Tick-label position from ChartML `ST_TickLblPos`. */
|
|
1796
|
+
tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
|
|
1797
|
+
/** Automatic category/date axis behavior (`c:auto`). */
|
|
1798
|
+
auto?: boolean;
|
|
1799
|
+
/** Category-axis label alignment (`c:lblAlgn`). */
|
|
1800
|
+
labelAlignment?: 'ctr' | 'l' | 'r';
|
|
1801
|
+
/** Category/date label distance, from 0 through 1000 percent. */
|
|
1802
|
+
labelOffset?: number;
|
|
1803
|
+
/** Suppress multi-level category labels (`c:noMultiLvlLbl`). */
|
|
1804
|
+
noMultiLevelLabels?: boolean;
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1736
1807
|
/**
|
|
1737
1808
|
* Chart types: chart categories, series data, style metadata, data tables,
|
|
1738
1809
|
* trendlines, error bars, and the composite `PptxChartData`.
|
|
1739
1810
|
*
|
|
1740
1811
|
* @module pptx-types/chart
|
|
1741
1812
|
*/
|
|
1813
|
+
|
|
1742
1814
|
/**
|
|
1743
1815
|
* Supported chart type discriminators.
|
|
1744
1816
|
*
|
|
@@ -1775,6 +1847,7 @@ type PptxChartTrendlineType = 'linear' | 'exponential' | 'logarithmic' | 'polyno
|
|
|
1775
1847
|
*/
|
|
1776
1848
|
interface PptxChartTrendline {
|
|
1777
1849
|
trendlineType: PptxChartTrendlineType;
|
|
1850
|
+
name?: string;
|
|
1778
1851
|
order?: number;
|
|
1779
1852
|
period?: number;
|
|
1780
1853
|
forward?: number;
|
|
@@ -1783,6 +1856,13 @@ interface PptxChartTrendline {
|
|
|
1783
1856
|
displayRSq?: boolean;
|
|
1784
1857
|
displayEq?: boolean;
|
|
1785
1858
|
color?: string;
|
|
1859
|
+
label?: PptxChartTrendlineLabel | null;
|
|
1860
|
+
}
|
|
1861
|
+
/** Typed, commonly edited properties of `c:trendlineLbl`. */
|
|
1862
|
+
interface PptxChartTrendlineLabel {
|
|
1863
|
+
layout?: PptxChartManualLayout;
|
|
1864
|
+
numberFormatCode?: string;
|
|
1865
|
+
sourceLinked?: boolean;
|
|
1786
1866
|
}
|
|
1787
1867
|
/** Error-bar direction axis. */
|
|
1788
1868
|
type PptxChartErrBarDir = 'x' | 'y';
|
|
@@ -1819,6 +1899,8 @@ interface PptxChartErrBars {
|
|
|
1819
1899
|
val?: number;
|
|
1820
1900
|
customPlus?: number[];
|
|
1821
1901
|
customMinus?: number[];
|
|
1902
|
+
noEndCap?: boolean;
|
|
1903
|
+
color?: string;
|
|
1822
1904
|
}
|
|
1823
1905
|
/**
|
|
1824
1906
|
* Visibility flags for the chart data table (axes + legend keys).
|
|
@@ -1868,6 +1950,13 @@ interface PptxChartShapeProps {
|
|
|
1868
1950
|
/** Line dash style (a:prstDash/@val), e.g. 'solid', 'dash', 'dot', 'lgDash'. */
|
|
1869
1951
|
strokeDashStyle?: string;
|
|
1870
1952
|
}
|
|
1953
|
+
/** Up/down bar formatting on line and stock charts (`c:upDownBars`). */
|
|
1954
|
+
interface PptxChartUpDownBars {
|
|
1955
|
+
/** Gap between bars as a percentage, constrained to 0 through 500. */
|
|
1956
|
+
gapWidth?: number;
|
|
1957
|
+
upBars?: PptxChartShapeProps;
|
|
1958
|
+
downBars?: PptxChartShapeProps;
|
|
1959
|
+
}
|
|
1871
1960
|
/** Marker appearance on a chart series or data point. */
|
|
1872
1961
|
interface PptxChartMarker {
|
|
1873
1962
|
symbol: PptxChartMarkerSymbol;
|
|
@@ -1882,25 +1971,40 @@ interface PptxChartDataPoint {
|
|
|
1882
1971
|
invertIfNegative?: boolean;
|
|
1883
1972
|
marker?: PptxChartMarker;
|
|
1884
1973
|
}
|
|
1974
|
+
/** Schema values accepted by `c:dLblPos`. */
|
|
1975
|
+
type PptxChartDataLabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
|
|
1885
1976
|
/** Individual data label override (c:dLbl). */
|
|
1886
1977
|
interface PptxChartDataLabel {
|
|
1887
1978
|
idx: number;
|
|
1979
|
+
/** Suppress this data point's automatically generated label. */
|
|
1980
|
+
deleted?: boolean;
|
|
1888
1981
|
showVal?: boolean;
|
|
1889
1982
|
showCatName?: boolean;
|
|
1890
1983
|
showSerName?: boolean;
|
|
1891
1984
|
showPercent?: boolean;
|
|
1892
1985
|
showLegendKey?: boolean;
|
|
1893
1986
|
showBubbleSize?: boolean;
|
|
1894
|
-
position?:
|
|
1987
|
+
position?: PptxChartDataLabelPosition;
|
|
1895
1988
|
text?: string;
|
|
1989
|
+
separator?: string;
|
|
1990
|
+
showLeaderLines?: boolean;
|
|
1896
1991
|
}
|
|
1897
1992
|
/** Axis number format. */
|
|
1898
1993
|
interface PptxChartAxisNumFmt {
|
|
1899
1994
|
formatCode: string;
|
|
1900
1995
|
sourceLinked?: boolean;
|
|
1901
1996
|
}
|
|
1997
|
+
/** Typed contents of a value-axis display-unit label (`c:dispUnitsLbl`). */
|
|
1998
|
+
interface PptxChartDisplayUnitsLabel {
|
|
1999
|
+
/** Literal label text. Omit to preserve the source text subtree. */
|
|
2000
|
+
text?: string;
|
|
2001
|
+
/** Manual label placement. `null` removes only the manual layout. */
|
|
2002
|
+
layout?: PptxChartManualLayout | null;
|
|
2003
|
+
/** Label shape formatting. `null` removes `c:spPr`. */
|
|
2004
|
+
spPr?: PptxChartShapeProps | null;
|
|
2005
|
+
}
|
|
1902
2006
|
/** Axis formatting for category, value, or date axes. */
|
|
1903
|
-
interface PptxChartAxisFormatting {
|
|
2007
|
+
interface PptxChartAxisFormatting extends PptxChartAxisLabelFormatting {
|
|
1904
2008
|
axisType: 'catAx' | 'valAx' | 'dateAx' | 'serAx';
|
|
1905
2009
|
/** Axis position: "b" (bottom), "l" (left), "r" (right), "t" (top). */
|
|
1906
2010
|
axPos?: 'b' | 'l' | 'r' | 't';
|
|
@@ -1934,8 +2038,12 @@ interface PptxChartAxisFormatting {
|
|
|
1934
2038
|
displayUnits?: 'hundreds' | 'thousands' | 'tenThousands' | 'hundredThousands' | 'millions' | 'tenMillions' | 'hundredMillions' | 'billions' | 'trillions' | 'custom';
|
|
1935
2039
|
/** Custom display unit divisor value (c:dispUnits/c:custUnit/@val). Only used when displayUnits is 'custom'. */
|
|
1936
2040
|
displayUnitsValue?: number;
|
|
1937
|
-
/**
|
|
1938
|
-
|
|
2041
|
+
/**
|
|
2042
|
+
* Display-unit label contents (`c:dispUnits/c:dispUnitsLbl`). A string is
|
|
2043
|
+
* retained as a compatibility shorthand for `{ text: string }`; `null`
|
|
2044
|
+
* explicitly removes the label.
|
|
2045
|
+
*/
|
|
2046
|
+
displayUnitsLabel?: string | PptxChartDisplayUnitsLabel | null;
|
|
1939
2047
|
/** Whether logarithmic scaling is enabled (presence of c:scaling/c:logBase). */
|
|
1940
2048
|
logScale?: boolean;
|
|
1941
2049
|
/** Logarithmic base value (c:scaling/c:logBase/@val), typically 10 or e. */
|
|
@@ -1944,8 +2052,6 @@ interface PptxChartAxisFormatting {
|
|
|
1944
2052
|
majorUnit?: number;
|
|
1945
2053
|
/** Minor-unit interval between secondary tick marks (c:minorUnit/@val). */
|
|
1946
2054
|
minorUnit?: number;
|
|
1947
|
-
/** Tick-label position (c:tickLblPos/@val): 'high', 'low', 'nextTo', or 'none'. */
|
|
1948
|
-
tickLblPos?: 'high' | 'low' | 'nextTo' | 'none';
|
|
1949
2055
|
}
|
|
1950
2056
|
/** 3D wall or floor element formatting. */
|
|
1951
2057
|
interface PptxChart3DSurface {
|
|
@@ -2004,12 +2110,32 @@ interface PptxChartDataLabelOptions {
|
|
|
2004
2110
|
showPercent?: boolean;
|
|
2005
2111
|
/** Show the legend key swatch (`c:showLegendKey`). */
|
|
2006
2112
|
showLegendKey?: boolean;
|
|
2113
|
+
/** Show bubble size (`c:showBubbleSize`). */
|
|
2114
|
+
showBubbleSize?: boolean;
|
|
2115
|
+
/** Text placed between combined label components (`c:separator`). */
|
|
2116
|
+
separator?: string;
|
|
2117
|
+
/** Show leader lines where supported (`c:showLeaderLines`). */
|
|
2118
|
+
showLeaderLines?: boolean;
|
|
2007
2119
|
/**
|
|
2008
2120
|
* Label position (`c:dLblPos`). Valid values depend on the chart type
|
|
2009
2121
|
* (`ctr`, `inEnd`, `inBase`, `outEnd`, `bestFit`, `l`, `r`, `t`, `b`).
|
|
2010
2122
|
* Omit to let PowerPoint use the type default.
|
|
2011
2123
|
*/
|
|
2012
|
-
position?:
|
|
2124
|
+
position?: PptxChartDataLabelPosition;
|
|
2125
|
+
}
|
|
2126
|
+
/** Typed text defaults for a single chart legend entry. */
|
|
2127
|
+
interface PptxChartLegendTextStyle {
|
|
2128
|
+
fontFamily?: string;
|
|
2129
|
+
fontSize?: number;
|
|
2130
|
+
bold?: boolean;
|
|
2131
|
+
italic?: boolean;
|
|
2132
|
+
color?: string;
|
|
2133
|
+
}
|
|
2134
|
+
/** Per-series legend entry override (`c:legendEntry`). */
|
|
2135
|
+
interface PptxChartLegendEntry {
|
|
2136
|
+
index: number;
|
|
2137
|
+
deleted?: boolean;
|
|
2138
|
+
textStyle?: PptxChartLegendTextStyle;
|
|
2013
2139
|
}
|
|
2014
2140
|
/**
|
|
2015
2141
|
* Style / formatting metadata for a chart.
|
|
@@ -2032,6 +2158,8 @@ interface PptxChartStyle {
|
|
|
2032
2158
|
hasLegend?: boolean;
|
|
2033
2159
|
/** Legend position (t, b, l, r, tr). */
|
|
2034
2160
|
legendPosition?: string;
|
|
2161
|
+
/** Per-series visibility and text-style overrides. */
|
|
2162
|
+
legendEntries?: PptxChartLegendEntry[];
|
|
2035
2163
|
/** Whether the chart has a title. */
|
|
2036
2164
|
hasTitle?: boolean;
|
|
2037
2165
|
/** Whether gridlines are visible. */
|
|
@@ -2092,6 +2220,14 @@ interface PptxChartOfPieOptions {
|
|
|
2092
2220
|
serLines?: boolean;
|
|
2093
2221
|
gapWidth?: number;
|
|
2094
2222
|
}
|
|
2223
|
+
/** Classic `c:bubbleChart` options from CT_BubbleChart. */
|
|
2224
|
+
interface PptxBubbleChartOptions {
|
|
2225
|
+
bubble3D?: boolean;
|
|
2226
|
+
/** Bubble diameter scale in percent, constrained to 0 through 300. */
|
|
2227
|
+
bubbleScale?: number;
|
|
2228
|
+
showNegativeBubbles?: boolean;
|
|
2229
|
+
sizeRepresents?: 'area' | 'w';
|
|
2230
|
+
}
|
|
2095
2231
|
/**
|
|
2096
2232
|
* 3D viewing parameters for a chart (`c:view3D`, ECMA-376 §21.2.2.228 /
|
|
2097
2233
|
* CT_View3D).
|
|
@@ -2132,6 +2268,27 @@ interface PptxChartChrome {
|
|
|
2132
2268
|
dispBlanksAs?: 'gap' | 'zero' | 'span';
|
|
2133
2269
|
showDLblsOverMax?: boolean;
|
|
2134
2270
|
}
|
|
2271
|
+
/** Manual chart placement from `c:layout/c:manualLayout` (CT_ManualLayout). */
|
|
2272
|
+
interface PptxChartManualLayout {
|
|
2273
|
+
layoutTarget?: 'inner' | 'outer';
|
|
2274
|
+
xMode?: 'edge' | 'factor';
|
|
2275
|
+
yMode?: 'edge' | 'factor';
|
|
2276
|
+
widthMode?: 'edge' | 'factor';
|
|
2277
|
+
heightMode?: 'edge' | 'factor';
|
|
2278
|
+
x?: number;
|
|
2279
|
+
y?: number;
|
|
2280
|
+
width?: number;
|
|
2281
|
+
height?: number;
|
|
2282
|
+
}
|
|
2283
|
+
/**
|
|
2284
|
+
* Typed manual layouts for chart regions that accept `c:layout`.
|
|
2285
|
+
* A `null` region removes its manual layout without removing extensions.
|
|
2286
|
+
*/
|
|
2287
|
+
interface PptxChartLayouts {
|
|
2288
|
+
title?: PptxChartManualLayout | null;
|
|
2289
|
+
plotArea?: PptxChartManualLayout | null;
|
|
2290
|
+
legend?: PptxChartManualLayout | null;
|
|
2291
|
+
}
|
|
2135
2292
|
/** Parsed data extracted from an embedded xlsx workbook. */
|
|
2136
2293
|
interface PptxEmbeddedWorkbookData {
|
|
2137
2294
|
/** Category labels from the first column/row. */
|
|
@@ -2173,9 +2330,12 @@ interface PptxChartData {
|
|
|
2173
2330
|
chartPartPath?: string;
|
|
2174
2331
|
/** Internal: relationship ID linking the graphic frame to the chart part. */
|
|
2175
2332
|
chartRelationshipId?: string;
|
|
2176
|
-
|
|
2333
|
+
/** `null` explicitly removes an existing ChartML data table. */
|
|
2334
|
+
dataTable?: PptxChartDataTable | null;
|
|
2177
2335
|
dropLines?: PptxChartLineStyle;
|
|
2178
2336
|
hiLowLines?: PptxChartLineStyle;
|
|
2337
|
+
/** `null` explicitly removes an existing up/down-bars container. */
|
|
2338
|
+
upDownBars?: PptxChartUpDownBars | null;
|
|
2179
2339
|
axes?: PptxChartAxisFormatting[];
|
|
2180
2340
|
floor?: PptxChart3DSurface;
|
|
2181
2341
|
sideWall?: PptxChart3DSurface;
|
|
@@ -2233,6 +2393,8 @@ interface PptxChartData {
|
|
|
2233
2393
|
* `ofPieChart` element can be re-emitted on save with full fidelity.
|
|
2234
2394
|
*/
|
|
2235
2395
|
ofPieOptions?: PptxChartOfPieOptions;
|
|
2396
|
+
/** Classic bubble-chart display options (`c:bubbleChart`). */
|
|
2397
|
+
bubbleOptions?: PptxBubbleChartOptions;
|
|
2236
2398
|
/**
|
|
2237
2399
|
* 3D viewing parameters (`c:view3D`, CT_View3D).
|
|
2238
2400
|
*
|
|
@@ -2248,6 +2410,8 @@ interface PptxChartData {
|
|
|
2248
2410
|
* source data, so absence does not produce empty `<c:…/>` placeholders.
|
|
2249
2411
|
*/
|
|
2250
2412
|
chartChrome?: PptxChartChrome;
|
|
2413
|
+
/** Editable manual placement for the title, plot area, and legend. */
|
|
2414
|
+
layouts?: PptxChartLayouts;
|
|
2251
2415
|
/**
|
|
2252
2416
|
* Raw `c:userShapes` XML subtree (a drawing tree) preserved verbatim.
|
|
2253
2417
|
*
|
|
@@ -2273,107 +2437,55 @@ interface PptxChartData {
|
|
|
2273
2437
|
clrMapOvr?: Record<string, string>;
|
|
2274
2438
|
}
|
|
2275
2439
|
|
|
2276
|
-
/**
|
|
2277
|
-
* Image types: effects, crop shapes, and properties shared by image/picture
|
|
2278
|
-
* elements.
|
|
2279
|
-
*
|
|
2280
|
-
* @module pptx-types/image
|
|
2281
|
-
*/
|
|
2282
|
-
/**
|
|
2283
|
-
* Blend mode for `a:blend` container nodes inside an `a:effectDag` (CT_BlendEffect).
|
|
2284
|
-
*
|
|
2285
|
-
* Per ECMA-376 §20.1.8.10, valid values are: `darken`, `lighten`, `mult`,
|
|
2286
|
-
* `over`, `screen`.
|
|
2287
|
-
*/
|
|
2288
2440
|
type EffectDagBlendMode = 'darken' | 'lighten' | 'mult' | 'over' | 'screen';
|
|
2289
|
-
/**
|
|
2290
|
-
* Container node kind inside an `a:effectDag` (CT_EffectContainer @type).
|
|
2291
|
-
*
|
|
2292
|
-
* Per ECMA-376 §20.1.8.20, `sib` (sibling) draws each child independently
|
|
2293
|
-
* over the same source; `tree` (tree) chains effects so each sees the output
|
|
2294
|
-
* of its siblings.
|
|
2295
|
-
*/
|
|
2296
2441
|
type EffectDagContainerType = 'sib' | 'tree';
|
|
2297
|
-
|
|
2298
|
-
* Typed model of the directed-acyclic effect graph stored in `a:effectDag`.
|
|
2299
|
-
*
|
|
2300
|
-
* The four "structural" container/transform nodes are typed; any other inner
|
|
2301
|
-
* effect (e.g. `a:outerShdw`, `a:glow`, `a:alphaInv`) is preserved verbatim
|
|
2302
|
-
* as a raw XML object via the {@link EffectDagRawLeaf} variant so we never
|
|
2303
|
-
* have to recurse into the full effect taxonomy.
|
|
2304
|
-
*
|
|
2305
|
-
* @example
|
|
2306
|
-
* ```ts
|
|
2307
|
-
* // <a:effectDag>
|
|
2308
|
-
* // <a:cont type="sib">
|
|
2309
|
-
* // <a:blend blend="mult"><a:cont type="tree" /></a:blend>
|
|
2310
|
-
* // </a:cont>
|
|
2311
|
-
* // </a:effectDag>
|
|
2312
|
-
* const dag: EffectDagContainer = {
|
|
2313
|
-
* kind: "cont",
|
|
2314
|
-
* type: "sib",
|
|
2315
|
-
* children: [{
|
|
2316
|
-
* kind: "blend",
|
|
2317
|
-
* mode: "mult",
|
|
2318
|
-
* container: { kind: "cont", type: "tree", children: [] },
|
|
2319
|
-
* }],
|
|
2320
|
-
* };
|
|
2321
|
-
* ```
|
|
2322
|
-
*/
|
|
2323
|
-
type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagRawLeaf;
|
|
2324
|
-
/** `a:cont` — CT_EffectContainer. Recursive; mirrors the top-level `effectDag`. */
|
|
2442
|
+
type EffectDagNode = EffectDagContainer | EffectDagBlend | EffectDagXfrm | EffectDagRelOff | EffectDagBlur | EffectDagPresetShadow | EffectDagRawLeaf;
|
|
2325
2443
|
interface EffectDagContainer {
|
|
2326
2444
|
kind: 'cont';
|
|
2327
|
-
/** `@type` — `sib` or `tree`. */
|
|
2328
2445
|
type: EffectDagContainerType;
|
|
2329
|
-
/** Optional `@name` attribute. */
|
|
2330
2446
|
name?: string;
|
|
2331
|
-
/** Ordered children. */
|
|
2332
2447
|
children: EffectDagNode[];
|
|
2333
2448
|
}
|
|
2334
|
-
/** `a:blend` — CT_BlendEffect. Always wraps a single `a:cont` child. */
|
|
2335
2449
|
interface EffectDagBlend {
|
|
2336
2450
|
kind: 'blend';
|
|
2337
|
-
/** `@blend` attribute. */
|
|
2338
2451
|
mode: EffectDagBlendMode;
|
|
2339
|
-
/** Required child `a:cont` container. */
|
|
2340
2452
|
container: EffectDagContainer;
|
|
2341
2453
|
}
|
|
2342
|
-
/** `a:xfrmEffect` — CT_TransformEffect. Affine transform with no children. */
|
|
2343
2454
|
interface EffectDagXfrm {
|
|
2344
2455
|
kind: 'xfrmEffect';
|
|
2345
|
-
/** Horizontal scale, percentage * 1000 (e.g. 100000 = 100%). */
|
|
2346
2456
|
sx?: number;
|
|
2347
|
-
/** Vertical scale, percentage * 1000. */
|
|
2348
2457
|
sy?: number;
|
|
2349
|
-
/** Horizontal skew, degrees * 60000. */
|
|
2350
2458
|
kx?: number;
|
|
2351
|
-
/** Vertical skew, degrees * 60000. */
|
|
2352
2459
|
ky?: number;
|
|
2353
|
-
/** Horizontal translation in EMU. */
|
|
2354
2460
|
tx?: number;
|
|
2355
|
-
/** Vertical translation in EMU. */
|
|
2356
2461
|
ty?: number;
|
|
2357
2462
|
}
|
|
2358
|
-
/** `a:relOff` — CT_RelativeOffsetEffect. Relative offset in 1000ths of a percent. */
|
|
2359
2463
|
interface EffectDagRelOff {
|
|
2360
2464
|
kind: 'relOff';
|
|
2361
|
-
/** Horizontal offset, percentage * 1000. */
|
|
2362
2465
|
tx?: number;
|
|
2363
|
-
/** Vertical offset, percentage * 1000. */
|
|
2364
2466
|
ty?: number;
|
|
2365
2467
|
}
|
|
2366
|
-
/**
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2468
|
+
/** Typed CT_BlurEffect with its original payload retained for lossless edits. */
|
|
2469
|
+
interface EffectDagBlur {
|
|
2470
|
+
kind: 'blur';
|
|
2471
|
+
radiusEmu?: number;
|
|
2472
|
+
grow?: boolean;
|
|
2473
|
+
xml: XmlObject;
|
|
2474
|
+
}
|
|
2475
|
+
/** Typed CT_PresetShadowEffect with colour and extension XML retained verbatim. */
|
|
2476
|
+
interface EffectDagPresetShadow {
|
|
2477
|
+
kind: 'prstShdw';
|
|
2478
|
+
preset?: `shdw${number}`;
|
|
2479
|
+
distanceEmu?: number;
|
|
2480
|
+
direction?: number;
|
|
2481
|
+
xml: XmlObject;
|
|
2482
|
+
}
|
|
2370
2483
|
interface EffectDagRawLeaf {
|
|
2371
2484
|
kind: 'raw';
|
|
2372
|
-
/** Local element name without the `a:` prefix (e.g. `outerShdw`, `glow`). */
|
|
2373
2485
|
tag: string;
|
|
2374
|
-
/** Raw XML object captured at load — preserved verbatim on save. */
|
|
2375
2486
|
xml: Record<string, unknown>;
|
|
2376
2487
|
}
|
|
2488
|
+
|
|
2377
2489
|
/**
|
|
2378
2490
|
* Image recolour/adjustment properties parsed from blip extensions.
|
|
2379
2491
|
*
|
|
@@ -2600,6 +2712,11 @@ declare module "./hooks-unstable" {
|
|
|
2600
2712
|
* ```
|
|
2601
2713
|
*/
|
|
2602
2714
|
type PptxMediaType = 'video' | 'audio' | 'unknown';
|
|
2715
|
+
type PptxMediaReferenceKind = 'audioCd' | 'wavAudioFile' | 'audioFile' | 'videoFile' | 'quickTimeFile';
|
|
2716
|
+
interface PptxAudioCdPosition {
|
|
2717
|
+
track: number;
|
|
2718
|
+
time?: number;
|
|
2719
|
+
}
|
|
2603
2720
|
/**
|
|
2604
2721
|
* A named bookmark within a media clip timeline.
|
|
2605
2722
|
*
|
|
@@ -2676,6 +2793,34 @@ interface MediaCaptionTrack {
|
|
|
2676
2793
|
isDefault?: boolean;
|
|
2677
2794
|
}
|
|
2678
2795
|
|
|
2796
|
+
/** Typed, editable metadata from a DiagramML layout-definition part. */
|
|
2797
|
+
interface PptxSmartArtLocalizedText {
|
|
2798
|
+
value: string;
|
|
2799
|
+
language?: string;
|
|
2800
|
+
}
|
|
2801
|
+
interface PptxSmartArtLayoutCategory {
|
|
2802
|
+
type: string;
|
|
2803
|
+
priority: number;
|
|
2804
|
+
}
|
|
2805
|
+
/** Identity and ordering metadata from DiagramML CT_LayoutNode. */
|
|
2806
|
+
interface PptxSmartArtLayoutNode {
|
|
2807
|
+
name?: string;
|
|
2808
|
+
styleLabel?: string;
|
|
2809
|
+
childOrder?: 'b' | 't';
|
|
2810
|
+
moveWith?: string;
|
|
2811
|
+
children?: PptxSmartArtLayoutNode[];
|
|
2812
|
+
}
|
|
2813
|
+
/** Metadata and root node from DiagramML CT_DiagramDefinition. */
|
|
2814
|
+
interface PptxSmartArtLayoutDefinition {
|
|
2815
|
+
uniqueId?: string;
|
|
2816
|
+
minimumVersion?: string;
|
|
2817
|
+
defaultStyle?: string;
|
|
2818
|
+
titles?: PptxSmartArtLocalizedText[];
|
|
2819
|
+
descriptions?: PptxSmartArtLocalizedText[];
|
|
2820
|
+
categories?: PptxSmartArtLayoutCategory[];
|
|
2821
|
+
rootNode: PptxSmartArtLayoutNode;
|
|
2822
|
+
}
|
|
2823
|
+
|
|
2679
2824
|
/**
|
|
2680
2825
|
* SmartArt node types: per-run text, per-node visual override, and the
|
|
2681
2826
|
* data-model node itself. Split out of `smart-art.ts` to keep each type file
|
|
@@ -2763,6 +2908,8 @@ interface PptxSmartArtNodeStyle {
|
|
|
2763
2908
|
interface PptxSmartArtNode {
|
|
2764
2909
|
id: string;
|
|
2765
2910
|
text: string;
|
|
2911
|
+
/** CT_Pt connection identifier, when the point references a connection. */
|
|
2912
|
+
connectionId?: string | null;
|
|
2766
2913
|
parentId?: string;
|
|
2767
2914
|
children?: PptxSmartArtNode[];
|
|
2768
2915
|
/** Node type from `@_type` attribute (e.g. "doc", "node", "asst", "pres"). */
|
|
@@ -2784,6 +2931,64 @@ interface PptxSmartArtNode {
|
|
|
2784
2931
|
style?: PptxSmartArtNodeStyle;
|
|
2785
2932
|
}
|
|
2786
2933
|
|
|
2934
|
+
/** Editable metadata shared by DiagramML quick-style and color definitions. */
|
|
2935
|
+
interface PptxSmartArtDefinitionText {
|
|
2936
|
+
value: string;
|
|
2937
|
+
language?: string;
|
|
2938
|
+
}
|
|
2939
|
+
interface PptxSmartArtDefinitionCategory {
|
|
2940
|
+
type: string;
|
|
2941
|
+
priority: number;
|
|
2942
|
+
}
|
|
2943
|
+
type PptxSmartArtColorApplicationMethod = 'span' | 'cycle' | 'repeat';
|
|
2944
|
+
type PptxSmartArtHueDirection = 'cw' | 'ccw';
|
|
2945
|
+
/** CT_Colors application metadata. Color-choice children remain preserved XML. */
|
|
2946
|
+
interface PptxSmartArtColorListMetadata {
|
|
2947
|
+
method?: PptxSmartArtColorApplicationMethod;
|
|
2948
|
+
hueDirection?: PptxSmartArtHueDirection;
|
|
2949
|
+
}
|
|
2950
|
+
/** CT_StyleLabel metadata from a quick-style definition. */
|
|
2951
|
+
interface PptxSmartArtQuickStyleLabel {
|
|
2952
|
+
name: string;
|
|
2953
|
+
}
|
|
2954
|
+
/** CT_CTStyleLabel metadata from a color-transform definition. */
|
|
2955
|
+
interface PptxSmartArtColorStyleLabel {
|
|
2956
|
+
name: string;
|
|
2957
|
+
fill?: PptxSmartArtColorListMetadata;
|
|
2958
|
+
line?: PptxSmartArtColorListMetadata;
|
|
2959
|
+
effect?: PptxSmartArtColorListMetadata;
|
|
2960
|
+
textLine?: PptxSmartArtColorListMetadata;
|
|
2961
|
+
textFill?: PptxSmartArtColorListMetadata;
|
|
2962
|
+
textEffect?: PptxSmartArtColorListMetadata;
|
|
2963
|
+
}
|
|
2964
|
+
interface PptxSmartArtDefinitionMetadata {
|
|
2965
|
+
uniqueId?: string;
|
|
2966
|
+
minimumVersion?: string;
|
|
2967
|
+
titles?: PptxSmartArtDefinitionText[];
|
|
2968
|
+
descriptions?: PptxSmartArtDefinitionText[];
|
|
2969
|
+
categories?: PptxSmartArtDefinitionCategory[];
|
|
2970
|
+
}
|
|
2971
|
+
/** Typed CT_ColorTransform metadata and the resolved legacy color palette. */
|
|
2972
|
+
interface PptxSmartArtColorTransform extends PptxSmartArtDefinitionMetadata {
|
|
2973
|
+
/** Legacy resolved display name. */
|
|
2974
|
+
name?: string;
|
|
2975
|
+
/** Ordered resolved fill colors for rendering. */
|
|
2976
|
+
fillColors: string[];
|
|
2977
|
+
/** Ordered resolved line colors for rendering. */
|
|
2978
|
+
lineColors: string[];
|
|
2979
|
+
/** Ordered CT_CTStyleLabel metadata. */
|
|
2980
|
+
labels?: PptxSmartArtColorStyleLabel[];
|
|
2981
|
+
}
|
|
2982
|
+
/** Typed CT_StyleDefinition metadata and legacy rendering hint. */
|
|
2983
|
+
interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
|
|
2984
|
+
/** Legacy resolved display name. */
|
|
2985
|
+
name?: string;
|
|
2986
|
+
/** Legacy effect-intensity rendering hint. */
|
|
2987
|
+
effectIntensity?: string;
|
|
2988
|
+
/** Ordered CT_StyleLabel metadata. Complex style payload remains preserved XML. */
|
|
2989
|
+
labels?: PptxSmartArtQuickStyleLabel[];
|
|
2990
|
+
}
|
|
2991
|
+
|
|
2787
2992
|
/**
|
|
2788
2993
|
* SmartArt types: layout categories, layout presets, colour schemes,
|
|
2789
2994
|
* data-model nodes/connections, drawing shapes, chrome, and the composite
|
|
@@ -2846,6 +3051,8 @@ type SmartArtStyle = 'flat' | 'moderate' | 'intense';
|
|
|
2846
3051
|
* ```
|
|
2847
3052
|
*/
|
|
2848
3053
|
interface PptxSmartArtConnection {
|
|
3054
|
+
/** Stable CT_Cxn model identifier. Required when serialized. */
|
|
3055
|
+
modelId?: string | null;
|
|
2849
3056
|
/** Model ID of the source node. */
|
|
2850
3057
|
sourceId: string;
|
|
2851
3058
|
/** Model ID of the destination node. */
|
|
@@ -2856,6 +3063,12 @@ interface PptxSmartArtConnection {
|
|
|
2856
3063
|
srcOrd?: number;
|
|
2857
3064
|
/** Destination index for ordering. */
|
|
2858
3065
|
destOrd?: number;
|
|
3066
|
+
/** Model ID of the parent transition point associated with this edge. */
|
|
3067
|
+
parentTransitionId?: string | null;
|
|
3068
|
+
/** Model ID of the sibling transition point associated with this edge. */
|
|
3069
|
+
siblingTransitionId?: string | null;
|
|
3070
|
+
/** Layout presentation identifier used by presentation connections. */
|
|
3071
|
+
presentationId?: string | null;
|
|
2859
3072
|
}
|
|
2860
3073
|
/**
|
|
2861
3074
|
* A pre-computed shape from `ppt/diagrams/drawing*.xml`.
|
|
@@ -2922,45 +3135,6 @@ interface PptxSmartArtChrome {
|
|
|
2922
3135
|
/** Outline stroke width in points. */
|
|
2923
3136
|
outlineWidth?: number;
|
|
2924
3137
|
}
|
|
2925
|
-
/**
|
|
2926
|
-
* Colour transform entry from `ppt/diagrams/colors*.xml`.
|
|
2927
|
-
*
|
|
2928
|
-
* @example
|
|
2929
|
-
* ```ts
|
|
2930
|
-
* const transform: PptxSmartArtColorTransform = {
|
|
2931
|
-
* name: "Colorful - Accent Colors",
|
|
2932
|
-
* fillColors: ["#4F81BD", "#C0504D", "#9BBB59"],
|
|
2933
|
-
* lineColors: ["#385D8A", "#8C3836", "#71893F"],
|
|
2934
|
-
* };
|
|
2935
|
-
* // => satisfies PptxSmartArtColorTransform
|
|
2936
|
-
* ```
|
|
2937
|
-
*/
|
|
2938
|
-
interface PptxSmartArtColorTransform {
|
|
2939
|
-
/** Colour scheme name / title. */
|
|
2940
|
-
name?: string;
|
|
2941
|
-
/** Ordered list of fill colours (hex) for each node. */
|
|
2942
|
-
fillColors: string[];
|
|
2943
|
-
/** Ordered list of line colours (hex). */
|
|
2944
|
-
lineColors: string[];
|
|
2945
|
-
}
|
|
2946
|
-
/**
|
|
2947
|
-
* Style entry from `ppt/diagrams/quickStyles*.xml`.
|
|
2948
|
-
*
|
|
2949
|
-
* @example
|
|
2950
|
-
* ```ts
|
|
2951
|
-
* const qs: PptxSmartArtQuickStyle = {
|
|
2952
|
-
* name: "Moderate Effect",
|
|
2953
|
-
* effectIntensity: "moderate",
|
|
2954
|
-
* };
|
|
2955
|
-
* // => satisfies PptxSmartArtQuickStyle
|
|
2956
|
-
* ```
|
|
2957
|
-
*/
|
|
2958
|
-
interface PptxSmartArtQuickStyle {
|
|
2959
|
-
/** Style name / title. */
|
|
2960
|
-
name?: string;
|
|
2961
|
-
/** Effect intensity identifier (e.g. "subtle", "moderate", "intense"). */
|
|
2962
|
-
effectIntensity?: string;
|
|
2963
|
-
}
|
|
2964
3138
|
/**
|
|
2965
3139
|
* Complete parsed SmartArt data for a {@link SmartArtPptxElement}.
|
|
2966
3140
|
*
|
|
@@ -3000,14 +3174,28 @@ interface PptxSmartArtData {
|
|
|
3000
3174
|
colorTransform?: PptxSmartArtColorTransform;
|
|
3001
3175
|
/** Quick style from `ppt/diagrams/quickStyles*.xml`. */
|
|
3002
3176
|
quickStyle?: PptxSmartArtQuickStyle;
|
|
3177
|
+
/** Editable metadata from the related DiagramML layout definition. */
|
|
3178
|
+
layoutDefinition?: PptxSmartArtLayoutDefinition;
|
|
3003
3179
|
/** Relationship ID for the diagram data part (for round-trip save). */
|
|
3004
3180
|
dataRelId?: string;
|
|
3181
|
+
/** Relationship ID for the diagram layout part. */
|
|
3182
|
+
layoutRelId?: string;
|
|
3005
3183
|
/** Relationship ID for the drawing part. */
|
|
3006
3184
|
drawingRelId?: string;
|
|
3007
3185
|
/** Relationship ID for the colours part. */
|
|
3008
3186
|
colorsRelId?: string;
|
|
3009
3187
|
/** Relationship ID for the quick-styles part. */
|
|
3010
3188
|
styleRelId?: string;
|
|
3189
|
+
/** Internal save hint: the layout definition changed in the editor. */
|
|
3190
|
+
layoutDirty?: boolean;
|
|
3191
|
+
/** Internal save hint: typed layout-definition metadata changed. */
|
|
3192
|
+
layoutDefinitionDirty?: boolean;
|
|
3193
|
+
/** Internal save hint: quick-style definition metadata changed. */
|
|
3194
|
+
quickStyleDirty?: boolean;
|
|
3195
|
+
/** Internal save hint: color-transform definition metadata changed. */
|
|
3196
|
+
colorTransformDirty?: boolean;
|
|
3197
|
+
/** Internal save hint: cached drawing geometry or text changed in the editor. */
|
|
3198
|
+
drawingDirty?: boolean;
|
|
3011
3199
|
}
|
|
3012
3200
|
|
|
3013
3201
|
/**
|
|
@@ -3616,6 +3804,11 @@ interface MediaPptxElement extends PptxElementBase {
|
|
|
3616
3804
|
mediaPath?: string;
|
|
3617
3805
|
mediaData?: string;
|
|
3618
3806
|
mediaMimeType?: string;
|
|
3807
|
+
mediaReferenceKind?: PptxMediaReferenceKind;
|
|
3808
|
+
mediaReferenceName?: string;
|
|
3809
|
+
audioCdStart?: PptxAudioCdPosition;
|
|
3810
|
+
audioCdEnd?: PptxAudioCdPosition;
|
|
3811
|
+
rawMediaReferenceXml?: XmlObject;
|
|
3619
3812
|
/** Trim start in milliseconds (from p:cMediaNode p:cTn @st). */
|
|
3620
3813
|
trimStartMs?: number;
|
|
3621
3814
|
/** Trim end in milliseconds (from p:cMediaNode p:cTn @end). */
|
|
@@ -4050,6 +4243,44 @@ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevi
|
|
|
4050
4243
|
* is preserved alongside other animations.
|
|
4051
4244
|
*/
|
|
4052
4245
|
type PptxNativeAnimationKind = 'media';
|
|
4246
|
+
/** A target selected by `p:tgtEl` in the PresentationML timing model. */
|
|
4247
|
+
type PptxAnimationTarget = {
|
|
4248
|
+
type: 'shape';
|
|
4249
|
+
shapeId: string;
|
|
4250
|
+
rawXml?: XmlObject;
|
|
4251
|
+
} | {
|
|
4252
|
+
type: 'slide';
|
|
4253
|
+
rawXml?: XmlObject;
|
|
4254
|
+
} | {
|
|
4255
|
+
type: 'sound';
|
|
4256
|
+
relationshipId: string;
|
|
4257
|
+
name?: string;
|
|
4258
|
+
rawXml?: XmlObject;
|
|
4259
|
+
} | {
|
|
4260
|
+
type: 'ink';
|
|
4261
|
+
shapeId: string;
|
|
4262
|
+
rawXml?: XmlObject;
|
|
4263
|
+
} | {
|
|
4264
|
+
type: 'unknown';
|
|
4265
|
+
rawXml: XmlObject;
|
|
4266
|
+
};
|
|
4267
|
+
/** Nested build choice carried by `p:bldGraphic`. */
|
|
4268
|
+
type PptxGraphicBuild = {
|
|
4269
|
+
mode: 'asOne';
|
|
4270
|
+
rawXml?: XmlObject;
|
|
4271
|
+
} | {
|
|
4272
|
+
mode: 'sub';
|
|
4273
|
+
kind: 'diagram';
|
|
4274
|
+
build: string;
|
|
4275
|
+
reverse: boolean;
|
|
4276
|
+
rawXml?: XmlObject;
|
|
4277
|
+
} | {
|
|
4278
|
+
mode: 'sub';
|
|
4279
|
+
kind: 'chart';
|
|
4280
|
+
build: string;
|
|
4281
|
+
animateBackground: boolean;
|
|
4282
|
+
rawXml?: XmlObject;
|
|
4283
|
+
};
|
|
4053
4284
|
/**
|
|
4054
4285
|
* Parsed native animation record from `p:timing / p:tnLst`.
|
|
4055
4286
|
*
|
|
@@ -4071,6 +4302,8 @@ type PptxNativeAnimationKind = 'media';
|
|
|
4071
4302
|
interface PptxNativeAnimation {
|
|
4072
4303
|
/** Target element/shape ID. */
|
|
4073
4304
|
targetId?: string;
|
|
4305
|
+
/** Full timing target, including sound and ink target variants. */
|
|
4306
|
+
target?: PptxAnimationTarget;
|
|
4074
4307
|
/** Trigger type. */
|
|
4075
4308
|
trigger?: PptxAnimationTrigger;
|
|
4076
4309
|
/** Shape ID that triggers this animation when clicked (interactive sequence). */
|
|
@@ -4175,6 +4408,8 @@ interface PptxNativeAnimation {
|
|
|
4175
4408
|
* that aren't OLE charts).
|
|
4176
4409
|
*/
|
|
4177
4410
|
graphicBuild?: string;
|
|
4411
|
+
/** Schema-accurate `p:bldGraphic/p:bldAsOne|p:bldSub` representation. */
|
|
4412
|
+
graphicBuildProperties?: PptxGraphicBuild;
|
|
4178
4413
|
/**
|
|
4179
4414
|
* Opaque map of `p:cTn` attributes that don't have a typed home on this
|
|
4180
4415
|
* interface but must round-trip through parse → save. Keys are stored
|
|
@@ -4291,6 +4526,8 @@ interface AnimationCondition {
|
|
|
4291
4526
|
targetShapeId?: string;
|
|
4292
4527
|
/** Whether the condition targets a slide (from `p:tgtEl/p:sldTgt`). */
|
|
4293
4528
|
targetSlide?: boolean;
|
|
4529
|
+
/** Full target choice, including `p:sndTgt` and `p:inkTgt`. */
|
|
4530
|
+
target?: PptxAnimationTarget;
|
|
4294
4531
|
}
|
|
4295
4532
|
/** Iteration configuration from `p:iterate`. */
|
|
4296
4533
|
interface PptxAnimationIterate {
|
|
@@ -4375,6 +4612,7 @@ interface PptxElementAnimation {
|
|
|
4375
4612
|
*
|
|
4376
4613
|
* @module pptx-types/metadata
|
|
4377
4614
|
*/
|
|
4615
|
+
|
|
4378
4616
|
/**
|
|
4379
4617
|
* A slide comment — may be a legacy positional comment or a modern
|
|
4380
4618
|
* threaded comment with replies.
|
|
@@ -4394,6 +4632,10 @@ interface PptxElementAnimation {
|
|
|
4394
4632
|
interface PptxComment {
|
|
4395
4633
|
id: string;
|
|
4396
4634
|
text: string;
|
|
4635
|
+
/** Storage vocabulary used by this comment. Omitted means legacy PresentationML. */
|
|
4636
|
+
format?: 'legacy' | 'modern';
|
|
4637
|
+
/** Stable GUID author identifier used by Office 2021 modern comments. */
|
|
4638
|
+
authorId?: string;
|
|
4397
4639
|
/** Optional parent comment id for reply threading metadata. */
|
|
4398
4640
|
parentId?: string;
|
|
4399
4641
|
author?: string;
|
|
@@ -4402,12 +4644,35 @@ interface PptxComment {
|
|
|
4402
4644
|
y?: number;
|
|
4403
4645
|
/** Whether this comment has been resolved/marked done. */
|
|
4404
4646
|
resolved?: boolean;
|
|
4647
|
+
/** Native p188 status token. */
|
|
4648
|
+
status?: 'active' | 'resolved' | 'closed';
|
|
4649
|
+
/** Modern comment classification tags and author IDs that liked the comment. */
|
|
4650
|
+
tags?: string[];
|
|
4651
|
+
likes?: string[];
|
|
4652
|
+
startDate?: string;
|
|
4653
|
+
dueDate?: string;
|
|
4654
|
+
assignedTo?: string[];
|
|
4655
|
+
/** Task completion in thousandths of a percent, from 0 through 100000. */
|
|
4656
|
+
complete?: number;
|
|
4657
|
+
priority?: number;
|
|
4658
|
+
title?: string;
|
|
4405
4659
|
/** Modern threaded comment support (p15:threadingInfo). */
|
|
4406
4660
|
threadId?: string;
|
|
4407
4661
|
/** Replies to this comment (for modern threaded comments). */
|
|
4408
4662
|
replies?: PptxComment[];
|
|
4409
4663
|
/** ID of the element this comment is associated with (if any). */
|
|
4410
4664
|
elementId?: string;
|
|
4665
|
+
/** Original `p:cm` subtree, retained for unknown child and extension preservation. */
|
|
4666
|
+
rawXml?: XmlObject;
|
|
4667
|
+
}
|
|
4668
|
+
/** Office 2021 comment author from the p188 Author part. */
|
|
4669
|
+
interface PptxModernCommentAuthor {
|
|
4670
|
+
id: string;
|
|
4671
|
+
name: string;
|
|
4672
|
+
initials?: string;
|
|
4673
|
+
userId: string;
|
|
4674
|
+
providerId: string;
|
|
4675
|
+
rawXml?: XmlObject;
|
|
4411
4676
|
}
|
|
4412
4677
|
/**
|
|
4413
4678
|
* A comment author from `ppt/commentAuthors.xml`.
|
|
@@ -4440,6 +4705,8 @@ interface PptxCommentAuthor {
|
|
|
4440
4705
|
lastIdx: number;
|
|
4441
4706
|
/** Colour index assigned to this author (`@_clrIdx`). */
|
|
4442
4707
|
clrIdx: number;
|
|
4708
|
+
/** Original `p:cmAuthor` subtree, retained for unknown attribute preservation. */
|
|
4709
|
+
rawXml?: XmlObject;
|
|
4443
4710
|
}
|
|
4444
4711
|
/**
|
|
4445
4712
|
* A compatibility warning generated during parse or save when the
|
|
@@ -4887,6 +5154,8 @@ interface PptxTheme {
|
|
|
4887
5154
|
type PptxTransitionType = 'none' | 'cut' | 'fade' | 'push' | 'wipe' | 'split' | 'randomBar' | 'blinds' | 'checker' | 'circle' | 'comb' | 'cover' | 'diamond' | 'dissolve' | 'plus' | 'pull' | 'random' | 'strips' | 'uncover' | 'wedge' | 'wheel' | 'zoom' | 'newsflash' | 'morph' | 'conveyor' | 'doors' | 'ferris' | 'flash' | 'flythrough' | 'gallery' | 'glitter' | 'honeycomb' | 'pan' | 'prism' | 'reveal' | 'ripple' | 'shred' | 'switch' | 'vortex' | 'warp' | 'wheelReverse' | 'window' | 'cube' | 'flip' | 'rotate' | 'orbit';
|
|
4888
5155
|
/** Split orientation from OOXML `@_orient`. */
|
|
4889
5156
|
type PptxSplitOrientation = 'horz' | 'vert';
|
|
5157
|
+
/** Schema-defined `ST_TransitionSpeed` values. */
|
|
5158
|
+
type PptxTransitionSpeed = 'slow' | 'med' | 'fast';
|
|
4890
5159
|
/**
|
|
4891
5160
|
* Slide transition configuration.
|
|
4892
5161
|
*
|
|
@@ -4903,6 +5172,8 @@ type PptxSplitOrientation = 'horz' | 'vert';
|
|
|
4903
5172
|
*/
|
|
4904
5173
|
interface PptxSlideTransition {
|
|
4905
5174
|
type: PptxTransitionType;
|
|
5175
|
+
/** Schema-defined transition speed. Defaults to `fast` when omitted. */
|
|
5176
|
+
speed?: PptxTransitionSpeed;
|
|
4906
5177
|
durationMs?: number;
|
|
4907
5178
|
direction?: string;
|
|
4908
5179
|
advanceOnClick?: boolean;
|
|
@@ -4917,6 +5188,10 @@ interface PptxSlideTransition {
|
|
|
4917
5188
|
orient?: PptxSplitOrientation;
|
|
4918
5189
|
/** Relationship ID of transition sound from `p:sndAc/p:stSnd/@r:embed` when present. */
|
|
4919
5190
|
soundRId?: string;
|
|
5191
|
+
/** Embedded WAV display name from `p:stSnd/p:snd/@name`. */
|
|
5192
|
+
soundName?: string;
|
|
5193
|
+
/** Whether the transition sound repeats until another sound starts. */
|
|
5194
|
+
soundLoop?: boolean;
|
|
4920
5195
|
/** Resolved transition sound media path within the package. */
|
|
4921
5196
|
soundPath?: string;
|
|
4922
5197
|
/** Human-readable sound file name (extracted from soundPath). */
|
|
@@ -4930,6 +5205,8 @@ interface PptxSlideTransition {
|
|
|
4930
5205
|
rawSoundAction?: XmlObject;
|
|
4931
5206
|
/** Preserved extension-list XML node from `p:extLst` within the transition for lossless round-trip. */
|
|
4932
5207
|
rawExtLst?: XmlObject;
|
|
5208
|
+
/** Original transition node, retained to preserve unknown attributes and children. */
|
|
5209
|
+
rawTransition?: XmlObject;
|
|
4933
5210
|
}
|
|
4934
5211
|
|
|
4935
5212
|
/**
|
|
@@ -5169,6 +5446,8 @@ interface PptxSlide {
|
|
|
5169
5446
|
/** Optional `<p:cSld @name>` value of the notes slide, for round-trip. */
|
|
5170
5447
|
notesCSldName?: string;
|
|
5171
5448
|
comments?: PptxComment[];
|
|
5449
|
+
/** Source package metadata for an Office 2021 p188 comment part. */
|
|
5450
|
+
modernCommentPart?: PptxModernCommentPart;
|
|
5172
5451
|
warnings?: PptxCompatibilityWarning[];
|
|
5173
5452
|
rawXml?: XmlObject;
|
|
5174
5453
|
/** Per-slide colour map override parsed from `p:clrMapOvr`. */
|
|
@@ -5187,6 +5466,24 @@ interface PptxSlide {
|
|
|
5187
5466
|
activeXControls?: PptxActiveXControl[];
|
|
5188
5467
|
/** Per-slide header/footer flags from `<p:hf>` (P-H3). */
|
|
5189
5468
|
headerFooterFlags?: PptxHeaderFooterFlags;
|
|
5469
|
+
/** Server-backed slide synchronization metadata stored in a related OPC part. */
|
|
5470
|
+
slideSynchronization?: PptxSlideSyncProperties;
|
|
5471
|
+
}
|
|
5472
|
+
interface PptxModernCommentPart {
|
|
5473
|
+
path: string;
|
|
5474
|
+
relationshipId: string;
|
|
5475
|
+
/** Original p188:cmLst root, including unknown attributes and extensions. */
|
|
5476
|
+
rawXml?: XmlObject;
|
|
5477
|
+
}
|
|
5478
|
+
/** Metadata from a `p:sldSyncPr` slide synchronization data part. */
|
|
5479
|
+
interface PptxSlideSyncProperties {
|
|
5480
|
+
serverSlideId: string;
|
|
5481
|
+
serverSlideModifiedTime: string;
|
|
5482
|
+
clientInsertedTime: string;
|
|
5483
|
+
extensionList?: XmlObject;
|
|
5484
|
+
rawXml?: XmlObject;
|
|
5485
|
+
partPath?: string;
|
|
5486
|
+
relationshipId?: string;
|
|
5190
5487
|
}
|
|
5191
5488
|
/**
|
|
5192
5489
|
* A slide layout available in the loaded presentation.
|
|
@@ -5314,6 +5611,8 @@ interface PptxCustomShow {
|
|
|
5314
5611
|
id: string;
|
|
5315
5612
|
/** Ordered list of slide relationship IDs included in this custom show. */
|
|
5316
5613
|
slideRIds: string[];
|
|
5614
|
+
/** Original `p:custShow` subtree used to preserve unmodelled attributes and extensions. */
|
|
5615
|
+
rawXml?: XmlObject;
|
|
5317
5616
|
}
|
|
5318
5617
|
/**
|
|
5319
5618
|
* An ordered section in the presentation (from `p:sectionLst` / `p14:sectionLst`).
|
|
@@ -5342,6 +5641,8 @@ interface PptxSection {
|
|
|
5342
5641
|
collapsed?: boolean;
|
|
5343
5642
|
/** Section highlight color hex (from p15:sectionPr/@clr). */
|
|
5344
5643
|
color?: string;
|
|
5644
|
+
/** Original section subtree used to preserve unmodelled attributes and extensions. */
|
|
5645
|
+
rawXml?: XmlObject;
|
|
5345
5646
|
}
|
|
5346
5647
|
/**
|
|
5347
5648
|
* Write-protection hash data parsed from `p:modifyVerifier` in `presentation.xml`.
|
|
@@ -5505,6 +5806,8 @@ interface PptxData {
|
|
|
5505
5806
|
thumbnailData?: Uint8Array;
|
|
5506
5807
|
/** Comment authors parsed from `ppt/commentAuthors.xml` for round-trip preservation. */
|
|
5507
5808
|
commentAuthors?: PptxCommentAuthor[];
|
|
5809
|
+
/** Office 2021 p188 authors from the modern Author part. */
|
|
5810
|
+
modernCommentAuthors?: PptxModernCommentAuthor[];
|
|
5508
5811
|
/**
|
|
5509
5812
|
* OOXML conformance class of the loaded file.
|
|
5510
5813
|
* - `'strict'` -- ISO/IEC 29500 Strict (uses `purl.oclc.org` namespace URIs)
|
|
@@ -7082,10 +7385,12 @@ type CollaborationRole = 'owner' | 'collaborator' | 'viewer';
|
|
|
7082
7385
|
* any signaling server, which makes this mode usable from static hosting.
|
|
7083
7386
|
*/
|
|
7084
7387
|
type CollaborationTransport = 'websocket' | 'webrtc';
|
|
7388
|
+
/** How the local user entered a collaboration session. */
|
|
7389
|
+
type CollaborationSessionIntent = 'create' | 'join';
|
|
7085
7390
|
/**
|
|
7086
7391
|
* Real-time collaboration configuration.
|
|
7087
7392
|
*
|
|
7088
|
-
* The same shape is accepted by
|
|
7393
|
+
* The same shape is accepted by every framework binding.
|
|
7089
7394
|
*/
|
|
7090
7395
|
interface CollaborationConfig {
|
|
7091
7396
|
/** Unique identifier for the collaboration room (alphanumeric, hyphens, underscores). */
|
|
@@ -7113,6 +7418,13 @@ interface CollaborationConfig {
|
|
|
7113
7418
|
authToken?: string;
|
|
7114
7419
|
/** Role in the session; defaults to `'collaborator'`. */
|
|
7115
7420
|
role?: CollaborationRole;
|
|
7421
|
+
/**
|
|
7422
|
+
* Whether this client created the room or joined an existing room. Providers
|
|
7423
|
+
* do not use this value, but hosts can use it to avoid publishing local file
|
|
7424
|
+
* bytes when handling a join request. Omitted values retain the legacy
|
|
7425
|
+
* create-session behaviour.
|
|
7426
|
+
*/
|
|
7427
|
+
sessionIntent?: CollaborationSessionIntent;
|
|
7116
7428
|
/**
|
|
7117
7429
|
* Elected-writer write-back callback (Area 3 of the C3 hardening plan).
|
|
7118
7430
|
*
|
|
@@ -7212,6 +7524,44 @@ declare const MOBILE_BREAKPOINT = 768;
|
|
|
7212
7524
|
declare const TABLET_BREAKPOINT = 1024;
|
|
7213
7525
|
/** Device orientation as reported by the screen / viewport aspect ratio. */
|
|
7214
7526
|
type DeviceOrientation = 'portrait' | 'landscape';
|
|
7527
|
+
|
|
7528
|
+
interface PresentationSnapshot {
|
|
7529
|
+
slideIndex: number;
|
|
7530
|
+
buildStep: number;
|
|
7531
|
+
sequence: number;
|
|
7532
|
+
blackout: 'none' | 'black' | 'white';
|
|
7533
|
+
paused: boolean;
|
|
7534
|
+
elapsedMs: number;
|
|
7535
|
+
zoom?: PresentationZoomState;
|
|
7536
|
+
pointer?: PresentationPointerState;
|
|
7537
|
+
inkStrokes?: PresentationInkStroke[];
|
|
7538
|
+
caption?: string;
|
|
7539
|
+
subtitlesVisible?: boolean;
|
|
7540
|
+
}
|
|
7541
|
+
interface PresentationZoomState {
|
|
7542
|
+
scale: number;
|
|
7543
|
+
originX: number;
|
|
7544
|
+
originY: number;
|
|
7545
|
+
}
|
|
7546
|
+
type PresentationPointerTool = 'none' | 'laser' | 'pen' | 'highlighter' | 'eraser';
|
|
7547
|
+
interface PresentationPointerState {
|
|
7548
|
+
tool: PresentationPointerTool;
|
|
7549
|
+
x: number;
|
|
7550
|
+
y: number;
|
|
7551
|
+
color: string;
|
|
7552
|
+
}
|
|
7553
|
+
interface PresentationInkPoint {
|
|
7554
|
+
x: number;
|
|
7555
|
+
y: number;
|
|
7556
|
+
}
|
|
7557
|
+
interface PresentationInkStroke {
|
|
7558
|
+
id: string;
|
|
7559
|
+
slideIndex: number;
|
|
7560
|
+
tool: 'pen' | 'highlighter';
|
|
7561
|
+
color: string;
|
|
7562
|
+
width: number;
|
|
7563
|
+
points: PresentationInkPoint[];
|
|
7564
|
+
}
|
|
7215
7565
|
interface TouchGestureCallbacks {
|
|
7216
7566
|
/** Called continuously during a pinch gesture with the new (clamped) scale. */
|
|
7217
7567
|
onPinchZoom?: (newScale: number) => void;
|
|
@@ -7622,6 +7972,17 @@ interface UsePresentationModeResult {
|
|
|
7622
7972
|
isAudienceWindowOpen: () => boolean;
|
|
7623
7973
|
/** Send a slide index to the audience window explicitly. */
|
|
7624
7974
|
syncSlideToAudience: (slideIndex: number) => void;
|
|
7975
|
+
syncStateToAudience: (snapshot: PresentationSnapshot) => void;
|
|
7976
|
+
presenterSnapshot: PresentationSnapshot;
|
|
7977
|
+
setPresenterBlackout: (blackout: PresentationSnapshot['blackout']) => void;
|
|
7978
|
+
togglePresenterTimer: () => void;
|
|
7979
|
+
resetPresenterTimer: () => void;
|
|
7980
|
+
stepPresenterZoom: (direction: 1 | -1) => void;
|
|
7981
|
+
resetPresenterZoom: () => void;
|
|
7982
|
+
setPresenterCaption: (caption: string) => void;
|
|
7983
|
+
setPresenterSubtitlesVisible: (visible: boolean) => void;
|
|
7984
|
+
updatePresenterSnapshot: (patch: Partial<PresentationSnapshot>) => void;
|
|
7985
|
+
swapPresenterDisplays: () => Promise<boolean>;
|
|
7625
7986
|
}
|
|
7626
7987
|
//#endregion
|
|
7627
7988
|
//#region src/viewer/hooks/useThemeSwitching.d.ts
|
|
@@ -8028,6 +8389,8 @@ interface UsePresentationKeyboardInput {
|
|
|
8028
8389
|
onToggleToolbar?: () => void;
|
|
8029
8390
|
/** Toggle between presenter view (split-screen with notes) and fullscreen. */
|
|
8030
8391
|
onTogglePresenterView?: () => void;
|
|
8392
|
+
onToggleBlackScreen?: () => void;
|
|
8393
|
+
onToggleWhiteScreen?: () => void;
|
|
8031
8394
|
rehearsing: boolean;
|
|
8032
8395
|
recordCurrentSlideTime: (slideIndex: number) => void;
|
|
8033
8396
|
presentationSlideIndex: number;
|
|
@@ -8075,12 +8438,15 @@ interface UsePresenterWindowInput {
|
|
|
8075
8438
|
isPresenterMode: boolean;
|
|
8076
8439
|
/** Raw PPTX bytes to share with the audience tab via IndexedDB. */
|
|
8077
8440
|
content?: ArrayBuffer | Uint8Array | null;
|
|
8441
|
+
snapshot: PresentationSnapshot;
|
|
8078
8442
|
}
|
|
8079
8443
|
interface UsePresenterWindowResult {
|
|
8080
8444
|
openAudienceWindow: () => boolean;
|
|
8081
8445
|
closeAudienceWindow: () => void;
|
|
8082
8446
|
isAudienceWindowOpen: () => boolean;
|
|
8083
8447
|
syncSlideToAudience: (slideIndex: number) => void;
|
|
8448
|
+
syncStateToAudience: (snapshot: PresentationSnapshot) => void;
|
|
8449
|
+
swapDisplays: () => Promise<boolean>;
|
|
8084
8450
|
}
|
|
8085
8451
|
declare function usePresenterWindow(input: UsePresenterWindowInput): UsePresenterWindowResult;
|
|
8086
8452
|
//#endregion
|
|
@@ -8090,6 +8456,7 @@ interface UseAudienceModeInput {
|
|
|
8090
8456
|
onSetMode: (mode: ViewerMode) => void;
|
|
8091
8457
|
onSetActiveSlideIndex: (index: number) => void;
|
|
8092
8458
|
containerRef: React.RefObject<HTMLElement | null>;
|
|
8459
|
+
onSnapshot?: (snapshot: PresentationSnapshot) => void;
|
|
8093
8460
|
}
|
|
8094
8461
|
/**
|
|
8095
8462
|
* When the page was opened with the `#pptx-audience` hash, this hook:
|