pptx-react-viewer 1.25.5 → 2.0.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/AiChatPanel-BRGQCYZM.mjs +1087 -0
- package/dist/AiChatPanel-BRGQCYZM.mjs.br +0 -0
- package/dist/AiChatPanel-BRGQCYZM.mjs.gz +0 -0
- package/dist/AiChatPanel-PW5OT25Z.js +1089 -0
- package/dist/AiChatPanel-PW5OT25Z.js.br +0 -0
- package/dist/AiChatPanel-PW5OT25Z.js.gz +0 -0
- package/dist/{GLTFLoader-NMAS6VRH.mjs → GLTFLoader-374ZNTXW.mjs} +1 -1
- package/dist/GLTFLoader-374ZNTXW.mjs.br +0 -0
- package/dist/GLTFLoader-374ZNTXW.mjs.gz +0 -0
- package/dist/{GLTFLoader-GP55DVVS.js → GLTFLoader-Q7BHCGAW.js} +1 -1
- package/dist/GLTFLoader-Q7BHCGAW.js.br +0 -0
- package/dist/GLTFLoader-Q7BHCGAW.js.gz +0 -0
- package/dist/{Model3DScene-Y5ABLO7K.js → Model3DScene-JCGYRKXM.js} +4 -4
- package/dist/Model3DScene-JCGYRKXM.js.br +0 -0
- package/dist/Model3DScene-JCGYRKXM.js.gz +0 -0
- package/dist/{Model3DScene-XVYOISVJ.mjs → Model3DScene-TEF362W2.mjs} +3 -3
- package/dist/Model3DScene-TEF362W2.mjs.br +0 -0
- package/dist/Model3DScene-TEF362W2.mjs.gz +0 -0
- package/dist/{OrbitControls-VH6KILH7.js → OrbitControls-SMYCPLXO.js} +1 -1
- package/dist/OrbitControls-SMYCPLXO.js.br +3 -0
- package/dist/OrbitControls-SMYCPLXO.js.gz +0 -0
- package/dist/{OrbitControls-F5XPYD2Z.mjs → OrbitControls-ZTGHPI5G.mjs} +1 -1
- package/dist/OrbitControls-ZTGHPI5G.mjs.br +0 -0
- package/dist/{OrbitControls-F5XPYD2Z.mjs.gz → OrbitControls-ZTGHPI5G.mjs.gz} +0 -0
- package/dist/{PowerPointViewer-CnADroqZ.d.ts → PowerPointViewer-gmU5rc7K.d.ts} +2 -2
- package/dist/PowerPointViewer-gmU5rc7K.d.ts.map +1 -0
- package/dist/{SmartArt3DScene-WQIDFZ7X.mjs → SmartArt3DScene-XCFVGCXE.mjs} +1 -1
- package/dist/SmartArt3DScene-XCFVGCXE.mjs.br +0 -0
- package/dist/SmartArt3DScene-XCFVGCXE.mjs.gz +0 -0
- package/dist/{SmartArt3DScene-HCQBDRAM.js → SmartArt3DScene-ZO3KFDI2.js} +1 -1
- package/dist/SmartArt3DScene-ZO3KFDI2.js.br +0 -0
- package/dist/SmartArt3DScene-ZO3KFDI2.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-WMY5JTW4.js → SurfaceChart3DScene-2SHCYZVC.js} +4 -4
- package/dist/{SurfaceChart3DScene-WMY5JTW4.js.br → SurfaceChart3DScene-2SHCYZVC.js.br} +0 -0
- package/dist/SurfaceChart3DScene-2SHCYZVC.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-RXZADECL.mjs → SurfaceChart3DScene-UPDCIMJM.mjs} +3 -3
- package/dist/SurfaceChart3DScene-UPDCIMJM.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-UPDCIMJM.mjs.gz +0 -0
- package/dist/{animation-timeline-CEJJLFqK.d.ts → animation-timeline-eb5z0SHW.d.ts} +250 -8
- package/dist/animation-timeline-eb5z0SHW.d.ts.map +1 -0
- package/dist/{chunk-M3SIFXWD.mjs → chunk-2X72MOPZ.mjs} +65 -0
- package/dist/chunk-2X72MOPZ.mjs.br +0 -0
- package/dist/chunk-2X72MOPZ.mjs.gz +0 -0
- package/dist/{chunk-QGM4M3NI.js → chunk-4VNS5WPM.js} +5 -0
- package/dist/chunk-4VNS5WPM.js.br +0 -0
- package/dist/chunk-4VNS5WPM.js.gz +0 -0
- package/dist/{chunk-F4WPQRZU.mjs → chunk-5XLLRPMV.mjs} +6901 -14355
- package/dist/chunk-5XLLRPMV.mjs.br +0 -0
- package/dist/chunk-5XLLRPMV.mjs.gz +0 -0
- package/dist/{chunk-FOMF7POV.mjs → chunk-6YXLGMTN.mjs} +2493 -1588
- package/dist/chunk-6YXLGMTN.mjs.br +0 -0
- package/dist/chunk-6YXLGMTN.mjs.gz +0 -0
- package/dist/chunk-B6NRDUHJ.mjs +8029 -0
- package/dist/chunk-B6NRDUHJ.mjs.br +0 -0
- package/dist/chunk-B6NRDUHJ.mjs.gz +0 -0
- package/dist/chunk-BHVCED34.mjs +16664 -0
- package/dist/chunk-BHVCED34.mjs.br +0 -0
- package/dist/chunk-BHVCED34.mjs.gz +0 -0
- package/dist/{chunk-IPYAN574.js → chunk-CLNGAVNH.js} +2495 -1587
- package/dist/chunk-CLNGAVNH.js.br +0 -0
- package/dist/chunk-CLNGAVNH.js.gz +0 -0
- package/dist/{chunk-2EFVXYNA.js → chunk-CUUYYYC5.js} +65 -0
- package/dist/chunk-CUUYYYC5.js.br +0 -0
- package/dist/chunk-CUUYYYC5.js.gz +0 -0
- package/dist/{chunk-L4ZADJOM.mjs → chunk-L63RAVM7.mjs} +1285 -150
- package/dist/chunk-L63RAVM7.mjs.br +0 -0
- package/dist/chunk-L63RAVM7.mjs.gz +0 -0
- package/dist/{chunk-7CSBUYRN.js → chunk-LFXG7SGG.js} +2073 -938
- package/dist/chunk-LFXG7SGG.js.br +0 -0
- package/dist/chunk-LFXG7SGG.js.gz +0 -0
- package/dist/{chunk-TEN35NUX.js → chunk-OKOJVSKJ.js} +3512 -403
- package/dist/chunk-OKOJVSKJ.js.br +0 -0
- package/dist/chunk-OKOJVSKJ.js.gz +0 -0
- package/dist/{chunk-FVQDRA5N.mjs → chunk-R2N2UYT7.mjs} +3455 -362
- package/dist/chunk-R2N2UYT7.mjs.br +0 -0
- package/dist/chunk-R2N2UYT7.mjs.gz +0 -0
- package/dist/chunk-SYPHGLIB.js +16701 -0
- package/dist/chunk-SYPHGLIB.js.br +0 -0
- package/dist/chunk-SYPHGLIB.js.gz +0 -0
- package/dist/{chunk-6DZX6EAA.mjs → chunk-XGB3TDIC.mjs} +5 -1
- package/dist/chunk-XGB3TDIC.mjs.br +0 -0
- package/dist/chunk-XGB3TDIC.mjs.gz +0 -0
- package/dist/chunk-ZB4NZRCI.js +11111 -0
- package/dist/chunk-ZB4NZRCI.js.br +0 -0
- package/dist/chunk-ZB4NZRCI.js.gz +0 -0
- package/dist/chunk-ZKDE3HJI.js +8121 -0
- package/dist/chunk-ZKDE3HJI.js.br +0 -0
- package/dist/chunk-ZKDE3HJI.js.gz +0 -0
- package/dist/{dist-755SJ3ZH.js → dist-4LUVI3SW.js} +578 -566
- package/dist/dist-4LUVI3SW.js.br +0 -0
- package/dist/dist-4LUVI3SW.js.gz +0 -0
- package/dist/dist-J6PC54PZ.mjs +2 -0
- package/dist/dist-J6PC54PZ.mjs.br +0 -0
- package/dist/dist-J6PC54PZ.mjs.gz +0 -0
- package/dist/i18n.js +5 -5
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +2 -2
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/{index-J6IuHQ2_.d.ts → index-a8wcFjRJ.d.ts} +4 -4
- package/dist/{index-J6IuHQ2_.d.ts.map → index-a8wcFjRJ.d.ts.map} +1 -1
- package/dist/index.d.ts +3030 -220
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -39
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +8 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/{hooks-unstable.d.ts → internals.d.ts} +1238 -974
- package/dist/internals.d.ts.map +1 -0
- package/dist/{hooks-unstable.js → internals.js} +81 -80
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/{hooks-unstable.mjs → internals.mjs} +6 -5
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.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/{three.module-7CXEVRKB.mjs → three.module-AC7ESV4W.mjs} +1 -1
- package/dist/three.module-AC7ESV4W.mjs.br +0 -0
- package/dist/three.module-AC7ESV4W.mjs.gz +0 -0
- package/dist/{three.module-CPZZFD2Q.js → three.module-GNNNRIMK.js} +1 -1
- package/dist/three.module-GNNNRIMK.js.br +0 -0
- package/dist/three.module-GNNNRIMK.js.gz +0 -0
- package/dist/{useViewerBuildingBlocks-ll3_ncCH.d.ts → useViewerBuildingBlocks-CjureTRf.d.ts} +185 -174
- package/dist/useViewerBuildingBlocks-CjureTRf.d.ts.map +1 -0
- package/dist/viewer/index.d.ts +469 -52
- package/dist/viewer/index.d.ts.map +1 -1
- package/dist/viewer/index.js +35 -33
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +8 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/dist/{y-webrtc-6CRYHAXH.mjs → y-webrtc-DGVURJIF.mjs} +1 -1
- package/dist/y-webrtc-DGVURJIF.mjs.br +0 -0
- package/dist/y-webrtc-DGVURJIF.mjs.gz +0 -0
- package/dist/{y-webrtc-QCZF75JW.js → y-webrtc-YN53KW3J.js} +5 -5
- package/dist/y-webrtc-YN53KW3J.js.br +0 -0
- package/dist/y-webrtc-YN53KW3J.js.gz +0 -0
- package/dist/{y-websocket-QJEM6VOB.js → y-websocket-HZCIQLM6.js} +1 -1
- package/dist/y-websocket-HZCIQLM6.js.br +0 -0
- package/dist/y-websocket-HZCIQLM6.js.gz +0 -0
- package/dist/{y-websocket-57Q3RNHC.mjs → y-websocket-P5LTAJ5T.mjs} +1 -1
- package/dist/y-websocket-P5LTAJ5T.mjs.br +0 -0
- package/dist/y-websocket-P5LTAJ5T.mjs.gz +0 -0
- package/dist/{yjs-Y7IYUWOG.mjs → yjs-FKGX4QHS.mjs} +1 -1
- package/dist/yjs-FKGX4QHS.mjs.br +0 -0
- package/dist/yjs-FKGX4QHS.mjs.gz +0 -0
- package/dist/{yjs-UH3EPF3C.js → yjs-HBLSEMHP.js} +1 -1
- package/dist/yjs-HBLSEMHP.js.br +0 -0
- package/dist/yjs-HBLSEMHP.js.gz +0 -0
- package/package.json +19 -7
- package/dist/GLTFLoader-GP55DVVS.js.br +0 -0
- package/dist/GLTFLoader-GP55DVVS.js.gz +0 -0
- package/dist/GLTFLoader-NMAS6VRH.mjs.br +0 -0
- package/dist/GLTFLoader-NMAS6VRH.mjs.gz +0 -0
- package/dist/Model3DScene-XVYOISVJ.mjs.br +0 -0
- package/dist/Model3DScene-XVYOISVJ.mjs.gz +0 -0
- package/dist/Model3DScene-Y5ABLO7K.js.br +0 -0
- package/dist/Model3DScene-Y5ABLO7K.js.gz +0 -0
- package/dist/OrbitControls-F5XPYD2Z.mjs.br +0 -0
- package/dist/OrbitControls-VH6KILH7.js.br +0 -2
- package/dist/OrbitControls-VH6KILH7.js.gz +0 -0
- package/dist/PowerPointViewer-CnADroqZ.d.ts.map +0 -1
- package/dist/SmartArt3DScene-HCQBDRAM.js.br +0 -0
- package/dist/SmartArt3DScene-HCQBDRAM.js.gz +0 -0
- package/dist/SmartArt3DScene-WQIDFZ7X.mjs.br +0 -0
- package/dist/SmartArt3DScene-WQIDFZ7X.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-RXZADECL.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-RXZADECL.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-WMY5JTW4.js.gz +0 -0
- package/dist/animation-timeline-CEJJLFqK.d.ts.map +0 -1
- package/dist/chunk-2EFVXYNA.js.br +0 -0
- package/dist/chunk-2EFVXYNA.js.gz +0 -0
- package/dist/chunk-6DZX6EAA.mjs.br +0 -0
- package/dist/chunk-6DZX6EAA.mjs.gz +0 -0
- package/dist/chunk-7CSBUYRN.js.br +0 -0
- package/dist/chunk-7CSBUYRN.js.gz +0 -0
- package/dist/chunk-E55Q4AC7.js +0 -18639
- package/dist/chunk-E55Q4AC7.js.br +0 -0
- package/dist/chunk-E55Q4AC7.js.gz +0 -0
- package/dist/chunk-F4WPQRZU.mjs.br +0 -0
- package/dist/chunk-F4WPQRZU.mjs.gz +0 -0
- package/dist/chunk-FOMF7POV.mjs.br +0 -0
- package/dist/chunk-FOMF7POV.mjs.gz +0 -0
- package/dist/chunk-FVQDRA5N.mjs.br +0 -0
- package/dist/chunk-FVQDRA5N.mjs.gz +0 -0
- package/dist/chunk-IPYAN574.js.br +0 -0
- package/dist/chunk-IPYAN574.js.gz +0 -0
- package/dist/chunk-L4ZADJOM.mjs.br +0 -0
- package/dist/chunk-L4ZADJOM.mjs.gz +0 -0
- package/dist/chunk-M3SIFXWD.mjs.br +0 -0
- package/dist/chunk-M3SIFXWD.mjs.gz +0 -0
- package/dist/chunk-QGM4M3NI.js.br +0 -0
- package/dist/chunk-QGM4M3NI.js.gz +0 -0
- package/dist/chunk-TEN35NUX.js.br +0 -0
- package/dist/chunk-TEN35NUX.js.gz +0 -0
- package/dist/dist-755SJ3ZH.js.br +0 -0
- package/dist/dist-755SJ3ZH.js.gz +0 -0
- package/dist/dist-FFWP5NQZ.mjs +0 -2
- package/dist/dist-FFWP5NQZ.mjs.br +0 -0
- package/dist/dist-FFWP5NQZ.mjs.gz +0 -0
- package/dist/hooks-unstable.d.ts.map +0 -1
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/three.module-7CXEVRKB.mjs.br +0 -0
- package/dist/three.module-7CXEVRKB.mjs.gz +0 -0
- package/dist/three.module-CPZZFD2Q.js.br +0 -0
- package/dist/three.module-CPZZFD2Q.js.gz +0 -0
- package/dist/useViewerBuildingBlocks-ll3_ncCH.d.ts.map +0 -1
- package/dist/y-webrtc-6CRYHAXH.mjs.br +0 -0
- package/dist/y-webrtc-6CRYHAXH.mjs.gz +0 -0
- package/dist/y-webrtc-QCZF75JW.js.br +0 -0
- package/dist/y-webrtc-QCZF75JW.js.gz +0 -0
- package/dist/y-websocket-57Q3RNHC.mjs.br +0 -0
- package/dist/y-websocket-57Q3RNHC.mjs.gz +0 -0
- package/dist/y-websocket-QJEM6VOB.js.br +0 -0
- package/dist/y-websocket-QJEM6VOB.js.gz +0 -0
- package/dist/yjs-UH3EPF3C.js.br +0 -0
- package/dist/yjs-UH3EPF3C.js.gz +0 -0
- package/dist/yjs-Y7IYUWOG.mjs.br +0 -0
- package/dist/yjs-Y7IYUWOG.mjs.gz +0 -0
package/dist/viewer/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { RefObject } from 'react';
|
|
3
|
+
import { LanguageModel, ChatTransport, UIMessage, ToolSet } from 'ai';
|
|
3
4
|
import * as Y from 'yjs';
|
|
4
5
|
import { Doc } from 'yjs';
|
|
5
6
|
|
|
@@ -1024,6 +1025,14 @@ interface ShapeStyle {
|
|
|
1024
1025
|
};
|
|
1025
1026
|
/** Fill overlay blend mode from effectDag `a:fillOverlay/@blend`. */
|
|
1026
1027
|
dagFillOverlayBlend?: 'over' | 'mult' | 'screen' | 'darken' | 'lighten';
|
|
1028
|
+
/**
|
|
1029
|
+
* Fill overlay tint colour (hex `#RRGGBB`) from effectDag `a:fillOverlay`'s
|
|
1030
|
+
* `a:solidFill`/`a:gradFill`. Painted as a blended overlay layer over the
|
|
1031
|
+
* element; the blend mode comes from {@link dagFillOverlayBlend}.
|
|
1032
|
+
*/
|
|
1033
|
+
dagFillOverlayColor?: string;
|
|
1034
|
+
/** Fill overlay tint opacity (0-1), from the overlay fill colour's alpha. */
|
|
1035
|
+
dagFillOverlayOpacity?: number;
|
|
1027
1036
|
/** `<a:lnRef @idx>` — 1-based index into the theme's lnStyleLst. */
|
|
1028
1037
|
lnRefIdx?: number;
|
|
1029
1038
|
/** Raw XML colour child of `<a:lnRef>` (e.g. `<a:schemeClr>` with transforms). */
|
|
@@ -1956,6 +1965,75 @@ interface PptxChartProtection {
|
|
|
1956
1965
|
rawXml?: XmlObject;
|
|
1957
1966
|
}
|
|
1958
1967
|
//#endregion
|
|
1968
|
+
//#region src/core/types/chart-user-shapes.d.ts
|
|
1969
|
+
/**
|
|
1970
|
+
* Types for chart drawing-overlay shapes (`c:userShapes`).
|
|
1971
|
+
*
|
|
1972
|
+
* A chart's `c:userShapes` element carries an `r:id` that references a
|
|
1973
|
+
* separate drawing part (`ppt/drawings/drawingN.xml`) whose root is a
|
|
1974
|
+
* `c:userShapes` element populated with `cdr:relSizeAnchor` /
|
|
1975
|
+
* `cdr:absSizeAnchor` wrappers around `sp` / `pic` / `cxnSp` shapes drawn on
|
|
1976
|
+
* top of the chart plot. These interfaces describe the parsed, renderable
|
|
1977
|
+
* overlay model. The raw reference is preserved separately on
|
|
1978
|
+
* {@link PptxChartData.userShapesXml} for verbatim round-trip save; this model
|
|
1979
|
+
* is render-only.
|
|
1980
|
+
*
|
|
1981
|
+
* @module pptx-types/chart-user-shapes
|
|
1982
|
+
*/
|
|
1983
|
+
/** A single paragraph of overlay-shape text with light formatting. */
|
|
1984
|
+
interface PptxChartUserShapeParagraph {
|
|
1985
|
+
/** Joined run text of the paragraph. */
|
|
1986
|
+
text: string;
|
|
1987
|
+
/** Font size in points (`a:rPr/@sz` divided by 100), when present. */
|
|
1988
|
+
fontSize?: number;
|
|
1989
|
+
/** Whether the first run is bold (`a:rPr/@b`). */
|
|
1990
|
+
bold?: boolean;
|
|
1991
|
+
/** Whether the first run is italic (`a:rPr/@i`). */
|
|
1992
|
+
italic?: boolean;
|
|
1993
|
+
/** Resolved run colour hex (e.g. `"#FF0000"`), when present. */
|
|
1994
|
+
color?: string;
|
|
1995
|
+
/** Paragraph alignment (`a:pPr/@algn`): left / centre / right. */
|
|
1996
|
+
align?: 'l' | 'ctr' | 'r';
|
|
1997
|
+
}
|
|
1998
|
+
/**
|
|
1999
|
+
* A parsed chart-overlay shape positioned by a drawing anchor.
|
|
2000
|
+
*
|
|
2001
|
+
* Position is expressed as chart-relative fractions in {@link from}. For a
|
|
2002
|
+
* `relSizeAnchor` the opposite corner is {@link to} (also fractional); for an
|
|
2003
|
+
* `absSizeAnchor` the extent is {@link ext} in EMU.
|
|
2004
|
+
*/
|
|
2005
|
+
interface PptxChartUserShape {
|
|
2006
|
+
/** Shape kind: text/preset shape, connector, or picture. */
|
|
2007
|
+
kind: 'sp' | 'cxnSp' | 'pic';
|
|
2008
|
+
/** Anchor kind that positioned the shape. */
|
|
2009
|
+
anchor: 'rel' | 'abs';
|
|
2010
|
+
/** Top-left corner as chart-relative fractions (0-1). */
|
|
2011
|
+
from: {
|
|
2012
|
+
x: number;
|
|
2013
|
+
y: number;
|
|
2014
|
+
};
|
|
2015
|
+
/** Bottom-right corner as chart-relative fractions (0-1); relSizeAnchor only. */
|
|
2016
|
+
to?: {
|
|
2017
|
+
x: number;
|
|
2018
|
+
y: number;
|
|
2019
|
+
};
|
|
2020
|
+
/** Extent in EMU (cx, cy); absSizeAnchor only. */
|
|
2021
|
+
ext?: {
|
|
2022
|
+
cx: number;
|
|
2023
|
+
cy: number;
|
|
2024
|
+
};
|
|
2025
|
+
/** Preset geometry name (`a:prstGeom/@prst`), defaulting to `"rect"`. */
|
|
2026
|
+
prst?: string;
|
|
2027
|
+
/** Resolved solid-fill hex colour, when present. */
|
|
2028
|
+
fill?: string;
|
|
2029
|
+
/** Resolved line/stroke hex colour, when present. */
|
|
2030
|
+
stroke?: string;
|
|
2031
|
+
/** Line width in points (`a:ln/@w` divided by 12700), when present. */
|
|
2032
|
+
strokeWidth?: number;
|
|
2033
|
+
/** Text paragraphs of the shape's `txBody`, when present. */
|
|
2034
|
+
paragraphs?: PptxChartUserShapeParagraph[];
|
|
2035
|
+
}
|
|
2036
|
+
//#endregion
|
|
1959
2037
|
//#region src/core/types/chart.d.ts
|
|
1960
2038
|
/**
|
|
1961
2039
|
* Supported chart type discriminators.
|
|
@@ -2289,6 +2367,15 @@ interface PptxChartTreemapOptions {
|
|
|
2289
2367
|
interface PptxChartSeries {
|
|
2290
2368
|
name: string;
|
|
2291
2369
|
values: number[];
|
|
2370
|
+
/**
|
|
2371
|
+
* Blank-value mask aligned index-for-index with {@link values}: `true` marks
|
|
2372
|
+
* a category whose numeric cache point (`c:numCache/c:pt`) was absent or
|
|
2373
|
+
* empty, i.e. a genuine blank rather than a real `0`. Present only when the
|
|
2374
|
+
* source series actually contains blanks; when set, blank slots in
|
|
2375
|
+
* {@link values} carry `0` as a placeholder. Renderers honour
|
|
2376
|
+
* `c:dispBlanksAs` (gap / zero / span) using this mask.
|
|
2377
|
+
*/
|
|
2378
|
+
blanks?: boolean[];
|
|
2292
2379
|
color?: string;
|
|
2293
2380
|
trendlines?: PptxChartTrendline[];
|
|
2294
2381
|
errBars?: PptxChartErrBars[];
|
|
@@ -2510,6 +2597,14 @@ interface PptxChartManualLayout {
|
|
|
2510
2597
|
y?: number;
|
|
2511
2598
|
width?: number;
|
|
2512
2599
|
height?: number;
|
|
2600
|
+
/**
|
|
2601
|
+
* Raw `c:extLst` (CT_ExtensionList) of the `c:manualLayout`, captured
|
|
2602
|
+
* verbatim so it round-trips through the typed model. Without this, a dirty
|
|
2603
|
+
* write of an edited layout would drop the extension list (the manual node
|
|
2604
|
+
* is rebuilt from the typed fields). Emitted as the trailing child, matching
|
|
2605
|
+
* the CT_ManualLayout schema order.
|
|
2606
|
+
*/
|
|
2607
|
+
ext?: XmlObject;
|
|
2513
2608
|
}
|
|
2514
2609
|
/**
|
|
2515
2610
|
* Typed manual layouts for chart regions that accept `c:layout`.
|
|
@@ -2701,6 +2796,15 @@ interface PptxChartData {
|
|
|
2701
2796
|
* attempting to parse the nested drawing tree.
|
|
2702
2797
|
*/
|
|
2703
2798
|
userShapesXml?: unknown;
|
|
2799
|
+
/**
|
|
2800
|
+
* Parsed, renderable drawing-overlay shapes resolved from the separate
|
|
2801
|
+
* drawing part referenced by `c:userShapes/@r:id`
|
|
2802
|
+
* (`ppt/drawings/drawingN.xml`). Each entry carries chart-relative anchor
|
|
2803
|
+
* geometry plus light shape/text formatting so the viewer can render an
|
|
2804
|
+
* overlay on top of the chart plot. Render-only: {@link userShapesXml}
|
|
2805
|
+
* remains the source of truth for round-trip save.
|
|
2806
|
+
*/
|
|
2807
|
+
userShapes?: PptxChartUserShape[];
|
|
2704
2808
|
/**
|
|
2705
2809
|
* Raw `c:pivotFmts` XML subtree preserved verbatim.
|
|
2706
2810
|
*
|
|
@@ -3721,7 +3825,7 @@ interface PptxSmartArtData {
|
|
|
3721
3825
|
/**
|
|
3722
3826
|
* Per-cell visual style for a table cell.
|
|
3723
3827
|
*
|
|
3724
|
-
* All fields are optional
|
|
3828
|
+
* All fields are optional - unset values inherit from the table style.
|
|
3725
3829
|
*
|
|
3726
3830
|
* @example
|
|
3727
3831
|
* ```ts
|
|
@@ -3849,6 +3953,52 @@ interface PptxTableCellStyle {
|
|
|
3849
3953
|
patternFillForeground?: string;
|
|
3850
3954
|
/** Pattern fill background colour. */
|
|
3851
3955
|
patternFillBackground?: string;
|
|
3956
|
+
/**
|
|
3957
|
+
* Cell 3D bevel + lighting from `a:tcPr/a:cell3D` (CT_Cell3D,
|
|
3958
|
+
* ECMA-376 §21.1.3.1). Rendered as a CSS bevel treatment.
|
|
3959
|
+
*/
|
|
3960
|
+
cell3D?: PptxTableCell3D;
|
|
3961
|
+
/**
|
|
3962
|
+
* `a:tcPr/@anchorCtr` - centre the text block in the direction
|
|
3963
|
+
* perpendicular to the text flow (horizontal centring for horizontal text).
|
|
3964
|
+
*/
|
|
3965
|
+
anchorCtr?: boolean;
|
|
3966
|
+
/**
|
|
3967
|
+
* `a:tcPr/@horzOverflow` (ST_TextHorzOverflowType): `clip` clips text at
|
|
3968
|
+
* the cell edge, `overflow` (the default) lets it spill.
|
|
3969
|
+
*/
|
|
3970
|
+
horzOverflow?: 'clip' | 'overflow';
|
|
3971
|
+
}
|
|
3972
|
+
/**
|
|
3973
|
+
* Cell 3D bevel + lighting parsed from `a:tcPr/a:cell3D` (CT_Cell3D).
|
|
3974
|
+
*
|
|
3975
|
+
* Only the fields needed to render a plausible bevel treatment are captured;
|
|
3976
|
+
* verbatim round-trip of the full node is handled separately by the save path.
|
|
3977
|
+
*
|
|
3978
|
+
* @example
|
|
3979
|
+
* ```ts
|
|
3980
|
+
* const c3d: PptxTableCell3D = {
|
|
3981
|
+
* bevelWidth: 8,
|
|
3982
|
+
* bevelHeight: 8,
|
|
3983
|
+
* bevelPreset: 'circle',
|
|
3984
|
+
* material: 'plastic',
|
|
3985
|
+
* };
|
|
3986
|
+
* // => satisfies PptxTableCell3D
|
|
3987
|
+
* ```
|
|
3988
|
+
*/
|
|
3989
|
+
interface PptxTableCell3D {
|
|
3990
|
+
/** Bevel width in px (from `a:bevel@w`, EMU converted). */
|
|
3991
|
+
bevelWidth?: number;
|
|
3992
|
+
/** Bevel height in px (from `a:bevel@h`, EMU converted). */
|
|
3993
|
+
bevelHeight?: number;
|
|
3994
|
+
/** Bevel preset name (`a:bevel@prst`, e.g. `circle`, `relaxedInset`). */
|
|
3995
|
+
bevelPreset?: string;
|
|
3996
|
+
/** Preset material (`a:cell3D@prstMaterial`, e.g. `plastic`, `metal`). */
|
|
3997
|
+
material?: string;
|
|
3998
|
+
/** Light rig type (`a:lightRig@rig`, e.g. `threePt`, `soft`). */
|
|
3999
|
+
lightRig?: string;
|
|
4000
|
+
/** Light rig direction (`a:lightRig@dir`, e.g. `tl`, `t`, `tr`). */
|
|
4001
|
+
lightRigDirection?: string;
|
|
3852
4002
|
}
|
|
3853
4003
|
/**
|
|
3854
4004
|
* A single table cell with text content, optional style, and merge info.
|
|
@@ -4072,7 +4222,7 @@ interface ParsedTableStyleBorder {
|
|
|
4072
4222
|
fill?: ParsedTableStyleFill;
|
|
4073
4223
|
/** Explicit hex colour when the line used `a:srgbClr` (e.g. `#808080`). */
|
|
4074
4224
|
color?: string;
|
|
4075
|
-
/** The line was `a:noFill`
|
|
4225
|
+
/** The line was `a:noFill` - an explicit "no border" that clears lower layers. */
|
|
4076
4226
|
noFill?: boolean;
|
|
4077
4227
|
}
|
|
4078
4228
|
/**
|
|
@@ -5058,6 +5208,14 @@ interface PptxNativeAnimation {
|
|
|
5058
5208
|
* that aren't OLE charts).
|
|
5059
5209
|
*/
|
|
5060
5210
|
graphicBuild?: string;
|
|
5211
|
+
/**
|
|
5212
|
+
* OLE-embedded chart build attribute (`p:bldOleChart/@bld`) when this
|
|
5213
|
+
* animation stages an OLE chart graphic frame. Values follow
|
|
5214
|
+
* ST_TLOleChartBuildType: `allAtOnce`, `series`, `category`, `seriesEl`,
|
|
5215
|
+
* `categoryEl`. Lets a staged-reveal renderer build the chart by series /
|
|
5216
|
+
* category / element to match PowerPoint, rather than as one whole element.
|
|
5217
|
+
*/
|
|
5218
|
+
oleChartBuild?: string;
|
|
5061
5219
|
/** Schema-accurate `p:bldGraphic/p:bldAsOne|p:bldSub` representation. */
|
|
5062
5220
|
graphicBuildProperties?: PptxGraphicBuild;
|
|
5063
5221
|
/**
|
|
@@ -5547,6 +5705,18 @@ interface PptxAppProperties {
|
|
|
5547
5705
|
template?: string;
|
|
5548
5706
|
/** Hyperlink base URL. */
|
|
5549
5707
|
hyperlinkBase?: string;
|
|
5708
|
+
/** Document security bitmask (`<DocSecurity>`). */
|
|
5709
|
+
docSecurity?: number;
|
|
5710
|
+
/** Number of multimedia clips (`<MMClips>`). */
|
|
5711
|
+
mmClips?: number;
|
|
5712
|
+
/** Whether thumbnail images were scaled to fit (`<ScaleCrop>`). */
|
|
5713
|
+
scaleCrop?: boolean;
|
|
5714
|
+
/** Whether hyperlinks are current (`<LinksUpToDate>`). */
|
|
5715
|
+
linksUpToDate?: boolean;
|
|
5716
|
+
/** Whether the document is shared (`<SharedDoc>`). */
|
|
5717
|
+
sharedDoc?: boolean;
|
|
5718
|
+
/** Whether hyperlinks changed since last save (`<HyperlinksChanged>`). */
|
|
5719
|
+
hyperlinksChanged?: boolean;
|
|
5550
5720
|
}
|
|
5551
5721
|
//#endregion
|
|
5552
5722
|
//#region src/core/types/presentation-print-properties.d.ts
|
|
@@ -6051,6 +6221,21 @@ interface PptxActiveXControl {
|
|
|
6051
6221
|
name?: string;
|
|
6052
6222
|
/** Shape ID this control is linked to (from @spid). */
|
|
6053
6223
|
shapeId?: string;
|
|
6224
|
+
/** X position (px) of the control's fallback picture, if present. */
|
|
6225
|
+
x?: number;
|
|
6226
|
+
/** Y position (px) of the control's fallback picture, if present. */
|
|
6227
|
+
y?: number;
|
|
6228
|
+
/** Width (px) of the control's fallback picture, if present. */
|
|
6229
|
+
width?: number;
|
|
6230
|
+
/** Height (px) of the control's fallback picture, if present. */
|
|
6231
|
+
height?: number;
|
|
6232
|
+
/**
|
|
6233
|
+
* Relationship ID of the control's static fallback picture
|
|
6234
|
+
* (`mc:AlternateContent > mc:Fallback > p:pic > p:blipFill > a:blip@r:embed`).
|
|
6235
|
+
* Renderers resolve this to an image so a control shows its last static
|
|
6236
|
+
* frame instead of a blank area (the live ActiveX cannot run in a viewer).
|
|
6237
|
+
*/
|
|
6238
|
+
fallbackImageRelId?: string;
|
|
6054
6239
|
/** Raw XML for round-trip preservation. */
|
|
6055
6240
|
rawXml?: XmlObject;
|
|
6056
6241
|
}
|
|
@@ -6177,6 +6362,13 @@ interface PptxSlide {
|
|
|
6177
6362
|
customerData?: PptxCustomerData[];
|
|
6178
6363
|
/** ActiveX control references from `p:controls` on this slide. */
|
|
6179
6364
|
activeXControls?: PptxActiveXControl[];
|
|
6365
|
+
/**
|
|
6366
|
+
* Shapes parsed from a referenced legacy VML drawing part
|
|
6367
|
+
* (`ppt/drawings/vmlDrawing*.vml`, linked via a `legacyDrawing`
|
|
6368
|
+
* relationship). These are read-only render hints: the VML part itself is
|
|
6369
|
+
* preserved verbatim on save, so this field is not re-serialized.
|
|
6370
|
+
*/
|
|
6371
|
+
legacyVmlElements?: PptxElement[];
|
|
6180
6372
|
/** Per-slide header/footer flags from `<p:hf>` (P-H3). */
|
|
6181
6373
|
headerFooterFlags?: PptxHeaderFooterFlags;
|
|
6182
6374
|
/** Server-backed slide synchronization metadata stored in a related OPC part. */
|
|
@@ -6285,12 +6477,6 @@ interface PptxPresentationProperties {
|
|
|
6285
6477
|
showSubtitles?: boolean;
|
|
6286
6478
|
/** Typed `p:prnPr` settings. Set to null during save to remove the element. */
|
|
6287
6479
|
printProperties?: PptxPresentationPrintProperties | null;
|
|
6288
|
-
/** @deprecated Use `printProperties.printWhat`; retained as a handout compatibility alias. */
|
|
6289
|
-
printSlidesPerPage?: number;
|
|
6290
|
-
/** @deprecated Use `printProperties.frameSlides`. */
|
|
6291
|
-
printFrameSlides?: boolean;
|
|
6292
|
-
/** @deprecated Use `printProperties.colorMode`. */
|
|
6293
|
-
printColorMode?: 'clr' | 'gray' | 'bw';
|
|
6294
6480
|
/** Most-recently-used colours from the presentation palette. */
|
|
6295
6481
|
mruColors?: string[];
|
|
6296
6482
|
/** Grid spacing in EMUs (cx, cy). Default is 914400 / 8 = 114300. */
|
|
@@ -8232,6 +8418,20 @@ interface ViewerFontSource {
|
|
|
8232
8418
|
weight?: string | number;
|
|
8233
8419
|
style?: 'normal' | 'italic';
|
|
8234
8420
|
}
|
|
8421
|
+
/**
|
|
8422
|
+
* Store PPTX content bytes so the audience tab can retrieve them.
|
|
8423
|
+
* Called by the presenter before opening the audience window.
|
|
8424
|
+
*/
|
|
8425
|
+
declare function storeAudienceContent(content: ArrayBuffer | Uint8Array, sessionId?: string): Promise<void>;
|
|
8426
|
+
/**
|
|
8427
|
+
* Load PPTX content bytes stored by the presenter tab.
|
|
8428
|
+
* Returns `null` if nothing is stored.
|
|
8429
|
+
*/
|
|
8430
|
+
declare function loadAudienceContent(sessionId?: string): Promise<Uint8Array | null>;
|
|
8431
|
+
/**
|
|
8432
|
+
* Remove stored audience content (cleanup).
|
|
8433
|
+
*/
|
|
8434
|
+
declare function clearAudienceContent(sessionId?: string): Promise<void>;
|
|
8235
8435
|
/** In-memory clipboard payload stored when an element is copied or cut. */
|
|
8236
8436
|
interface ElementClipboardPayload {
|
|
8237
8437
|
element: PptxElement;
|
|
@@ -8440,6 +8640,228 @@ interface ShapeQuickStyle {
|
|
|
8440
8640
|
style: Partial<ShapeStyle>;
|
|
8441
8641
|
}
|
|
8442
8642
|
//#endregion
|
|
8643
|
+
//#region ../shared/dist/ai/index.d.ts
|
|
8644
|
+
//#endregion
|
|
8645
|
+
//#region src/ai/change-animator.d.ts
|
|
8646
|
+
/** Host-tunable options for how AI edits are animated on the canvas. */
|
|
8647
|
+
interface AiChangeAnimationConfig {
|
|
8648
|
+
/** Master switch. Default true. */
|
|
8649
|
+
enabled?: boolean;
|
|
8650
|
+
/** How long the motion + glow plays, in ms. Default 900. */
|
|
8651
|
+
durationMs?: number;
|
|
8652
|
+
/** Draw the pulsing glow highlight on changed elements. Default true. */
|
|
8653
|
+
glow?: boolean;
|
|
8654
|
+
/** Glide old->new bounds and cross-fade colours. Default true. */
|
|
8655
|
+
tween?: boolean;
|
|
8656
|
+
/** Accent colour (any CSS colour) for the glow/ghosts. Default a blue. */
|
|
8657
|
+
color?: string;
|
|
8658
|
+
}
|
|
8659
|
+
//#endregion
|
|
8660
|
+
//#region src/ai/config.d.ts
|
|
8661
|
+
/** The UI message shape exchanged with the assistant. Alias of the SDK type. */
|
|
8662
|
+
type PptxAiUIMessage = UIMessage;
|
|
8663
|
+
/**
|
|
8664
|
+
* Canonical name of every tool the assistant can call. Document tools mirror the
|
|
8665
|
+
* `pptx-viewer-mcp` server exactly (they ARE the same functions, run against the
|
|
8666
|
+
* live deck); the viewer-only tools (navigation, deck outline, element/notes
|
|
8667
|
+
* readers, table merge) have no MCP counterpart.
|
|
8668
|
+
*/
|
|
8669
|
+
type PptxAiToolName = 'get_deck_overview' | 'get_slide' | 'get_element' | 'get_speaker_notes' | 'find_text' | 'get_theme' | 'go_to_slide' | 'select_elements' | 'merge_tables' | 'get_metadata' | 'get_layouts' | 'find_placeholders' | 'get_presentation_properties' | 'run_accessibility_check' | 'convert_to_markdown' | 'add_element' | 'update_element' | 'delete_elements' | 'arrange_elements' | 'clone_element' | 'set_element_animation' | 'group_elements' | 'ungroup_elements' | 'batch_update_elements' | 'update_element_style' | 'replace_geometry' | 'set_element_lock' | 'manage_hyperlinks' | 'replace_text' | 'manage_comments' | 'update_table_cells' | 'manage_table_structure' | 'create_chart' | 'update_chart' | 'add_chart_series' | 'remove_chart_series' | 'update_chart_series_data' | 'manage_smart_art' | 'apply_template' | 'add_slide' | 'duplicate_slide' | 'delete_slides' | 'reorder_slides' | 'update_slide_properties' | 'set_slide_transition' | 'apply_theme_preset' | 'update_theme_colors' | 'update_theme_fonts' | 'set_canvas_size' | 'update_metadata' | 'manage_sections' | 'update_presentation_properties' | 'apply_layout';
|
|
8670
|
+
type Resolvable<T> = T | (() => T | Promise<T>);
|
|
8671
|
+
/** How the assistant reaches a language model. */
|
|
8672
|
+
type PptxAiConnection =
|
|
8673
|
+
/**
|
|
8674
|
+
* Post messages to a host backend route (recommended for production so the
|
|
8675
|
+
* provider API key stays server-side). Maps to `DefaultChatTransport`.
|
|
8676
|
+
*/
|
|
8677
|
+
{
|
|
8678
|
+
kind: 'endpoint';
|
|
8679
|
+
api: string;
|
|
8680
|
+
headers?: Resolvable<Record<string, string>>;
|
|
8681
|
+
body?: Resolvable<Record<string, unknown>>;
|
|
8682
|
+
credentials?: RequestCredentials;
|
|
8683
|
+
fetch?: typeof globalThis.fetch;
|
|
8684
|
+
} |
|
|
8685
|
+
/**
|
|
8686
|
+
* Run a language model in-process in the browser (bring-your-own key /
|
|
8687
|
+
* local model). Maps to a `ToolLoopAgent` behind a `DirectChatTransport`.
|
|
8688
|
+
*/
|
|
8689
|
+
{
|
|
8690
|
+
kind: 'model';
|
|
8691
|
+
model: LanguageModel;
|
|
8692
|
+
system?: string;
|
|
8693
|
+
maxSteps?: number;
|
|
8694
|
+
} |
|
|
8695
|
+
/** Provide a fully-constructed transport (advanced / testing escape hatch). */
|
|
8696
|
+
{
|
|
8697
|
+
kind: 'transport';
|
|
8698
|
+
transport: ChatTransport<PptxAiUIMessage>;
|
|
8699
|
+
};
|
|
8700
|
+
/** How writes proposed by the assistant reach the document. */
|
|
8701
|
+
type PptxAiWritePolicy = 'stage' | 'approve' | 'auto';
|
|
8702
|
+
/** Which deck context is fed to the model with each turn. */
|
|
8703
|
+
type PptxAiContextStrategy = 'outline' | 'current-slide' | 'none';
|
|
8704
|
+
/** Optional per-session history persistence hooks. */
|
|
8705
|
+
interface PptxAiHistoryHooks {
|
|
8706
|
+
load?(id: string): Promise<PptxAiUIMessage[]>;
|
|
8707
|
+
save?(id: string, messages: PptxAiUIMessage[]): Promise<void>;
|
|
8708
|
+
}
|
|
8709
|
+
/** Complete host configuration for an AI chat session. */
|
|
8710
|
+
interface PptxAiConfig {
|
|
8711
|
+
connection: PptxAiConnection;
|
|
8712
|
+
/** Extra host instructions appended to the base system prompt. */
|
|
8713
|
+
systemPromptExtras?: string;
|
|
8714
|
+
tools?: {
|
|
8715
|
+
/** Allowlist. When set, only these tools are exposed. */
|
|
8716
|
+
enabled?: PptxAiToolName[];
|
|
8717
|
+
/** Denylist, applied after `enabled`. */
|
|
8718
|
+
disabled?: PptxAiToolName[];
|
|
8719
|
+
/** Additional host-defined tools merged into the tool set. */
|
|
8720
|
+
extra?: ToolSet;
|
|
8721
|
+
};
|
|
8722
|
+
/** Default `'stage'`. */
|
|
8723
|
+
writePolicy?: PptxAiWritePolicy;
|
|
8724
|
+
/** Default `'outline'`. */
|
|
8725
|
+
contextStrategy?: PptxAiContextStrategy;
|
|
8726
|
+
history?: PptxAiHistoryHooks;
|
|
8727
|
+
/**
|
|
8728
|
+
* How AI edits are animated on the canvas so the user can watch them land
|
|
8729
|
+
* (glide old->new, fade/scale in-out, glow-pulse). Omit for the defaults;
|
|
8730
|
+
* set `{ enabled: false }` to turn it off.
|
|
8731
|
+
*/
|
|
8732
|
+
changeAnimation?: AiChangeAnimationConfig;
|
|
8733
|
+
onError?(error: Error): void;
|
|
8734
|
+
}
|
|
8735
|
+
//#endregion
|
|
8736
|
+
//#region src/ai/bridge.d.ts
|
|
8737
|
+
/** Lightweight, model-friendly summary of the whole deck. */
|
|
8738
|
+
interface PptxAiDeckMeta {
|
|
8739
|
+
/** Total number of slides. */
|
|
8740
|
+
slideCount: number;
|
|
8741
|
+
/** Zero-based index of the currently active slide. */
|
|
8742
|
+
activeSlideIndex: number;
|
|
8743
|
+
/** Deck title, when known (first slide title / core properties). */
|
|
8744
|
+
title?: string;
|
|
8745
|
+
/** Slide canvas width in CSS pixels. */
|
|
8746
|
+
width: number;
|
|
8747
|
+
/** Slide canvas height in CSS pixels. */
|
|
8748
|
+
height: number;
|
|
8749
|
+
}
|
|
8750
|
+
/** Severity hint for {@link PptxAiBridge.notify}. */
|
|
8751
|
+
type PptxAiNotifyLevel = 'info' | 'success' | 'warning' | 'error';
|
|
8752
|
+
/**
|
|
8753
|
+
* A target the user has scoped the assistant to: either a whole slide or a
|
|
8754
|
+
* single element on a slide. Returned by {@link PptxAiBridge.getFocusedTargets}
|
|
8755
|
+
* so the context builder can tell the model exactly what to focus on.
|
|
8756
|
+
*/
|
|
8757
|
+
type PptxAiFocusedTarget = {
|
|
8758
|
+
kind: 'slide';
|
|
8759
|
+
slideIndex: number;
|
|
8760
|
+
} | {
|
|
8761
|
+
kind: 'element';
|
|
8762
|
+
slideIndex: number;
|
|
8763
|
+
elementId: string;
|
|
8764
|
+
};
|
|
8765
|
+
/**
|
|
8766
|
+
* A pure updater over the deck's slides. It receives a deep clone of the
|
|
8767
|
+
* current slides (mutation-safe) and returns the next slides array. The bridge
|
|
8768
|
+
* commits the returned array as ONE history entry.
|
|
8769
|
+
*/
|
|
8770
|
+
type PptxAiSlidesUpdater = (slides: PptxSlide[]) => PptxSlide[];
|
|
8771
|
+
/**
|
|
8772
|
+
* A pure updater over the whole parsed deck ({@link PptxData}). Mirrors the
|
|
8773
|
+
* `pptx-viewer-mcp` tool model (data in, mutated data out) so presentation-level
|
|
8774
|
+
* MCP tools (metadata, sections, canvas size, presentation properties, layouts)
|
|
8775
|
+
* can be committed as ONE undoable history entry through {@link
|
|
8776
|
+
* PptxAiBridge.applyDeckData}. Optional: bindings that only track slide/theme
|
|
8777
|
+
* state can omit it, in which case those presentation-level tools report that
|
|
8778
|
+
* they are unavailable in this viewer while every slide/theme tool still works.
|
|
8779
|
+
*/
|
|
8780
|
+
type PptxAiDataUpdater = (data: PptxData) => PptxData;
|
|
8781
|
+
/** Field-level updates for a single element, mirroring the MCP update vocab. */
|
|
8782
|
+
interface PptxAiElementUpdate {
|
|
8783
|
+
x?: number;
|
|
8784
|
+
y?: number;
|
|
8785
|
+
width?: number;
|
|
8786
|
+
height?: number;
|
|
8787
|
+
rotation?: number;
|
|
8788
|
+
opacity?: number;
|
|
8789
|
+
hidden?: boolean;
|
|
8790
|
+
flipHorizontal?: boolean;
|
|
8791
|
+
flipVertical?: boolean;
|
|
8792
|
+
text?: string;
|
|
8793
|
+
fontSize?: number;
|
|
8794
|
+
fontFamily?: string;
|
|
8795
|
+
fontColor?: string;
|
|
8796
|
+
bold?: boolean;
|
|
8797
|
+
italic?: boolean;
|
|
8798
|
+
underline?: boolean;
|
|
8799
|
+
align?: 'left' | 'center' | 'right' | 'justify';
|
|
8800
|
+
fillColor?: string;
|
|
8801
|
+
strokeColor?: string;
|
|
8802
|
+
strokeWidth?: number;
|
|
8803
|
+
}
|
|
8804
|
+
/**
|
|
8805
|
+
* Implemented by each binding to expose its live editor to the AI core.
|
|
8806
|
+
*
|
|
8807
|
+
* Read methods must be cheap and synchronous. Write methods must route through
|
|
8808
|
+
* the binding's editor-history layer so AI edits are undoable like manual ones.
|
|
8809
|
+
*/
|
|
8810
|
+
interface PptxAiBridge {
|
|
8811
|
+
/** Return a summary of the whole deck. */
|
|
8812
|
+
getDeckMeta(): PptxAiDeckMeta;
|
|
8813
|
+
/** Return the deck's slides. Callers must not mutate the returned array. */
|
|
8814
|
+
getSlides(): PptxSlide[];
|
|
8815
|
+
/** Return the zero-based index of the active slide. */
|
|
8816
|
+
getActiveSlideIndex(): number;
|
|
8817
|
+
/** Return the resolved presentation theme, when available. */
|
|
8818
|
+
getTheme(): PptxTheme | undefined;
|
|
8819
|
+
/** Return the underlying core handler, when the binding exposes one. */
|
|
8820
|
+
getHandler(): PptxHandler | undefined;
|
|
8821
|
+
/** Navigate the viewer to a slide by zero-based index. */
|
|
8822
|
+
goToSlide(index: number): void;
|
|
8823
|
+
/** Select the given elements on a slide (empty array clears selection). */
|
|
8824
|
+
selectElements(slideIndex: number, elementIds: string[]): void;
|
|
8825
|
+
/**
|
|
8826
|
+
* Apply a slides updater as a single, atomic, undoable history entry. The
|
|
8827
|
+
* binding is responsible for cloning current slides before calling
|
|
8828
|
+
* `updater` and for installing the result.
|
|
8829
|
+
*/
|
|
8830
|
+
applySlidesUpdate(updater: PptxAiSlidesUpdater, label: string): void;
|
|
8831
|
+
/** Apply field updates to one element as a single history entry. */
|
|
8832
|
+
updateElement(slideIndex: number, elementId: string, updates: PptxAiElementUpdate): void;
|
|
8833
|
+
/** Apply partial theme updates as a single history entry. */
|
|
8834
|
+
applyTheme(updates: Partial<PptxTheme>): void;
|
|
8835
|
+
/**
|
|
8836
|
+
* Return the full parsed {@link PptxData} for the open deck, with the live
|
|
8837
|
+
* (edited) slides and theme overlaid. Enables `pptx-viewer-mcp` tools that
|
|
8838
|
+
* read presentation-level state (metadata, sections, layouts, presentation
|
|
8839
|
+
* properties). Optional: when absent, the AI core synthesises a minimal
|
|
8840
|
+
* PptxData from slides + dimensions, which is enough for every slide/theme
|
|
8841
|
+
* tool but not for presentation-level reads.
|
|
8842
|
+
*/
|
|
8843
|
+
getDeckData?(): PptxData | undefined;
|
|
8844
|
+
/**
|
|
8845
|
+
* Commit a whole-deck {@link PptxData} mutation as one undoable history entry.
|
|
8846
|
+
* Used to apply presentation-level MCP tool results (metadata, sections,
|
|
8847
|
+
* canvas size, presentation properties, layouts). Optional: when absent,
|
|
8848
|
+
* those tools report they are not supported in this viewer; slide/theme tools
|
|
8849
|
+
* are unaffected (they route through {@link PptxAiBridge.applySlidesUpdate}
|
|
8850
|
+
* and {@link PptxAiBridge.applyTheme}).
|
|
8851
|
+
*/
|
|
8852
|
+
applyDeckData?(updater: PptxAiDataUpdater, label: string): void;
|
|
8853
|
+
/**
|
|
8854
|
+
* Return the slides / elements the user has scoped the assistant to, if any.
|
|
8855
|
+
* When present and non-empty, the context builder tells the model to focus on
|
|
8856
|
+
* exactly these targets. Optional so existing bridges satisfy the contract
|
|
8857
|
+
* without change; a bridge that does not implement it behaves as before (no
|
|
8858
|
+
* focus scoping).
|
|
8859
|
+
*/
|
|
8860
|
+
getFocusedTargets?(): PptxAiFocusedTarget[];
|
|
8861
|
+
/** Surface a transient message in the host UI (toast / status line). */
|
|
8862
|
+
notify?(message: string, level?: PptxAiNotifyLevel): void;
|
|
8863
|
+
}
|
|
8864
|
+
//#endregion
|
|
8443
8865
|
//#region src/viewer/hooks/collaboration/types.d.ts
|
|
8444
8866
|
/** Connection lifecycle states for the Yjs WebSocket provider. */
|
|
8445
8867
|
type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error';
|
|
@@ -8780,11 +9202,11 @@ interface PowerPointViewerProps {
|
|
|
8780
9202
|
serverUrl?: string;
|
|
8781
9203
|
};
|
|
8782
9204
|
/**
|
|
8783
|
-
* Opt in to the
|
|
8784
|
-
*
|
|
8785
|
-
*
|
|
8786
|
-
*
|
|
8787
|
-
*
|
|
9205
|
+
* Opt in to the Three.js SmartArt renderer. When `true`, SmartArt diagrams
|
|
9206
|
+
* render as extruded 3D blocks on a WebGL canvas instead of flat SVG.
|
|
9207
|
+
* Requires the optional `three` peer dependency; when it is not installed
|
|
9208
|
+
* (or the diagram has no geometry), the viewer transparently falls back to
|
|
9209
|
+
* the SVG `SmartArtRenderer`. Default `false`.
|
|
8788
9210
|
*/
|
|
8789
9211
|
smartArt3D?: boolean;
|
|
8790
9212
|
/**
|
|
@@ -8805,11 +9227,44 @@ interface PowerPointViewerProps {
|
|
|
8805
9227
|
* ```
|
|
8806
9228
|
*/
|
|
8807
9229
|
hiddenActions?: ToolbarActionId[];
|
|
9230
|
+
/**
|
|
9231
|
+
* Opt in to the built-in AI assistant. When provided, a Sparkles toggle
|
|
9232
|
+
* appears in the toolbar and opens a chat panel wired to this config; when
|
|
9233
|
+
* omitted, no AI icon renders and no AI code is loaded (the panel and its
|
|
9234
|
+
* `@ai-sdk/react` dependency are `React.lazy`-imported only on first open).
|
|
9235
|
+
*
|
|
9236
|
+
* The host supplies the model connection (a backend `endpoint`, an in-browser
|
|
9237
|
+
* `model`, or a custom `transport`) plus optional tool allow/deny lists and a
|
|
9238
|
+
* write policy. Requires the optional `ai` and `@ai-sdk/react` peers.
|
|
9239
|
+
*
|
|
9240
|
+
* @example
|
|
9241
|
+
* ```tsx
|
|
9242
|
+
* <PowerPointViewer content={bytes} ai={{ connection: { kind: 'model', model } }} />
|
|
9243
|
+
* ```
|
|
9244
|
+
*
|
|
9245
|
+
* @see {@link PptxAiConfig}
|
|
9246
|
+
*/
|
|
9247
|
+
ai?: PptxAiConfig;
|
|
8808
9248
|
}
|
|
8809
9249
|
interface PowerPointViewerHandle extends FileViewerHandle, PowerPointViewerAPI {
|
|
8810
9250
|
getContent: () => Promise<Uint8Array>;
|
|
8811
9251
|
}
|
|
8812
9252
|
|
|
9253
|
+
//#region src/viewer/utils/animation-effects.d.ts
|
|
9254
|
+
declare function getAnimationInitialStyle(preset: PptxAnimationPreset | undefined, nativeAnimation?: PptxNativeAnimation): React__default.CSSProperties;
|
|
9255
|
+
//#endregion
|
|
9256
|
+
//#region src/viewer/PowerPointViewer.d.ts
|
|
9257
|
+
/**
|
|
9258
|
+
* Root React component for the PowerPoint viewer/editor.
|
|
9259
|
+
*
|
|
9260
|
+
* Accepts binary `.pptx` content and renders a full-featured editor with
|
|
9261
|
+
* slide canvas, toolbar, inspector panels, presentation mode, and more.
|
|
9262
|
+
*
|
|
9263
|
+
* Uses `forwardRef` to expose a `PowerPointViewerHandle` for imperative
|
|
9264
|
+
* access (e.g. serialising the current content for saving).
|
|
9265
|
+
*/
|
|
9266
|
+
declare const PowerPointViewer: React.ForwardRefExoticComponent<PowerPointViewerProps & React.RefAttributes<PowerPointViewerHandle>>;
|
|
9267
|
+
|
|
8813
9268
|
//#endregion
|
|
8814
9269
|
//#region src/viewer/hooks/useThemeSwitching.d.ts
|
|
8815
9270
|
interface UseThemeSwitchingInput {
|
|
@@ -9099,44 +9554,6 @@ declare function parseAudienceNonce(): string | null;
|
|
|
9099
9554
|
/** Returns true if the current page was opened as an audience tab. */
|
|
9100
9555
|
declare function isAudienceTab(): boolean;
|
|
9101
9556
|
|
|
9102
|
-
//#region src/viewer/utils/animation-effects.d.ts
|
|
9103
|
-
declare function getAnimationInitialStyle(preset: PptxAnimationPreset | undefined, nativeAnimation?: PptxNativeAnimation): React__default.CSSProperties;
|
|
9104
|
-
//#endregion
|
|
9105
|
-
//#region src/viewer/PowerPointViewer.d.ts
|
|
9106
|
-
/**
|
|
9107
|
-
* Root React component for the PowerPoint viewer/editor.
|
|
9108
|
-
*
|
|
9109
|
-
* Accepts binary `.pptx` content and renders a full-featured editor with
|
|
9110
|
-
* slide canvas, toolbar, inspector panels, presentation mode, and more.
|
|
9111
|
-
*
|
|
9112
|
-
* Uses `forwardRef` to expose a `PowerPointViewerHandle` for imperative
|
|
9113
|
-
* access (e.g. serialising the current content for saving).
|
|
9114
|
-
*/
|
|
9115
|
-
declare const PowerPointViewer: React.ForwardRefExoticComponent<PowerPointViewerProps & React.RefAttributes<PowerPointViewerHandle>>;
|
|
9116
|
-
|
|
9117
|
-
//#region src/viewer/hooks/presentation-mode/audience-content-store.d.ts
|
|
9118
|
-
/**
|
|
9119
|
-
* audience-content-store: IndexedDB-based storage for sharing PPTX content
|
|
9120
|
-
* between the presenter tab and audience tab.
|
|
9121
|
-
*
|
|
9122
|
-
* When the presenter opens an audience window, the PPTX bytes are stored in
|
|
9123
|
-
* IndexedDB. The audience tab retrieves them on load and then cleans up.
|
|
9124
|
-
*/
|
|
9125
|
-
/**
|
|
9126
|
-
* Store PPTX content bytes so the audience tab can retrieve them.
|
|
9127
|
-
* Called by the presenter before opening the audience window.
|
|
9128
|
-
*/
|
|
9129
|
-
declare function storeAudienceContent(content: ArrayBuffer | Uint8Array, sessionId?: string): Promise<void>;
|
|
9130
|
-
/**
|
|
9131
|
-
* Load PPTX content bytes stored by the presenter tab.
|
|
9132
|
-
* Returns `null` if nothing is stored.
|
|
9133
|
-
*/
|
|
9134
|
-
declare function loadAudienceContent(sessionId?: string): Promise<Uint8Array | null>;
|
|
9135
|
-
/**
|
|
9136
|
-
* Remove stored audience content (cleanup).
|
|
9137
|
-
*/
|
|
9138
|
-
declare function clearAudienceContent(sessionId?: string): Promise<void>;
|
|
9139
|
-
//#endregion
|
|
9140
9557
|
//#region src/viewer/components/collaboration/CollaborationProvider.d.ts
|
|
9141
9558
|
interface CollaborationProviderProps {
|
|
9142
9559
|
/** Collaboration config, or `undefined`/omitted while no session is active. */
|
|
@@ -9189,4 +9606,4 @@ interface CollaborationStatusIndicatorProps {
|
|
|
9189
9606
|
declare function CollaborationStatusIndicator({ status, connectedCount, onRetry }: CollaborationStatusIndicatorProps): React__default.ReactElement;
|
|
9190
9607
|
|
|
9191
9608
|
export { CollaborationProvider, CollaborationStatusIndicator, PowerPointViewer, RemoteUserCursors, UserAvatarBar, clearAudienceContent, getAnimationInitialStyle, isAudienceTab, loadAudienceContent, parseAudienceNonce, storeAudienceContent, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider };
|
|
9192
|
-
export type { AccessibilityIssue, AnimationPresetOption, CanvasSize, CollaborationConfig, CollaborationContextValue, CollaborationRole, CollaborationStatusIndicatorProps, ConnectionStatus, ConnectorArrowOption, ConnectorGeometryOption, ConnectorGeometryType, ConnectorPathGeometry, DragState, DrawingTool, EditorHistorySnapshot, ElementBounds, ElementClipboardPayload, ElementContextMenuAction, ElementContextMenuState, FileViewerHandle, MarqueeSelectionState, ParsedTableCell, ParsedTableData, PowerPointViewerHandle, PowerPointViewerProps, PresentationAnimationRuntime, RemoteUserCursorsProps, ResizeHandle, ResizeState, ShapeAdjustmentDragState, ShapeAdjustmentHandleDescriptor, ShapePreset, ShapeQuickStyle, ShortcutReferenceItem, SlideAlignment, SlideSectionGroup, SlideTransitionOption, StrokeDashOption, SupportedShapeType, TableCellEditorState, ThemeSwitchingResult, ToolbarSection, UseCollaborativeHistoryResult, UseCollaborativeStateInput, UsePresenceTrackingResult, UseThemeSwitchingInput, UserAvatarBarProps, UserPresence, ViewerMode };
|
|
9609
|
+
export type { AccessibilityIssue, AnimationPresetOption, CanvasSize, CollaborationConfig, CollaborationContextValue, CollaborationRole, CollaborationStatusIndicatorProps, ConnectionStatus, ConnectorArrowOption, ConnectorGeometryOption, ConnectorGeometryType, ConnectorPathGeometry, DragState, DrawingTool, EditorHistorySnapshot, ElementBounds, ElementClipboardPayload, ElementContextMenuAction, ElementContextMenuState, FileViewerHandle, MarqueeSelectionState, ParsedTableCell, ParsedTableData, PowerPointViewerHandle, PowerPointViewerProps, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiWritePolicy, PresentationAnimationRuntime, RemoteUserCursorsProps, ResizeHandle, ResizeState, ShapeAdjustmentDragState, ShapeAdjustmentHandleDescriptor, ShapePreset, ShapeQuickStyle, ShortcutReferenceItem, SlideAlignment, SlideSectionGroup, SlideTransitionOption, StrokeDashOption, SupportedShapeType, TableCellEditorState, ThemeSwitchingResult, ToolbarSection, UseCollaborativeHistoryResult, UseCollaborativeStateInput, UsePresenceTrackingResult, UseThemeSwitchingInput, UserAvatarBarProps, UserPresence, ViewerMode };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/viewer/
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/viewer/components/collaboration/CollaborationProvider.tsx","../../src/viewer/components/collaboration/RemoteUserCursors.tsx","../../src/viewer/components/collaboration/UserAvatarBar.tsx","../../src/viewer/components/collaboration/CollaborationStatusIndicator.tsx"],"mappings":";;;;;;UA2CiB;;EAEhB,SAAS;EACT;EACA;EACA,UAAU,MAAM;;iBAGD,wBACf,QACA,aACA,cACA,YACE,6BAA6B,MAAM;;;UCtCrB;;EAEhB,aAAa;;EAEb;;EAEA;;EAEA;;iBAOe,oBACf,aACA,kBACA,aACA,gBACE,yBAAyB,MAAM;;;UCRjB;;EAEhB,aAAa;;EAEb;;EAEA;;EAEA;;EAEA,QAAQ;;EAER;;iBAqDe,gBACf,aACA,eACA,gBACA,iBACA,QACA,cACE,qBAAqB,MAAM;;;UCrFb;;EAEhB,QAAQ;;EAER;;EAEA;;iBAkCe,+BACf,QACA,gBACA,WACE,oCAAoC,MAAM"}
|