pptx-vue-viewer 1.5.3 → 1.6.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 +37 -19
- package/dist/gif-encoder-1oQk8IOn.js +2 -0
- package/dist/gif-encoder-1oQk8IOn.js.br +3 -0
- package/dist/gif-encoder-1oQk8IOn.js.gz +0 -0
- package/dist/gif-encoder-DYX4iRih.cjs +2 -0
- package/dist/gif-encoder-DYX4iRih.cjs.br +0 -0
- package/dist/gif-encoder-DYX4iRih.cjs.gz +0 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.br +0 -0
- package/dist/index.cjs.gz +0 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/viewer/PowerPointViewer.vue.d.ts +10 -2
- package/dist/viewer/PowerPointViewer.vue.d.ts.map +1 -1
- package/dist/viewer/index.cjs +1 -1
- package/dist/viewer/index.cjs.br +0 -0
- package/dist/viewer/index.cjs.gz +0 -0
- package/dist/viewer/index.js +1 -1
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/types.d.ts +13 -5
- package/dist/viewer/types.d.ts.map +1 -1
- package/dist/{viewer-90hBuLYm.cjs → viewer-3CMqXDnN.cjs} +80 -4
- package/dist/viewer-3CMqXDnN.cjs.br +0 -0
- package/dist/{viewer-90hBuLYm.cjs.gz → viewer-3CMqXDnN.cjs.gz} +0 -0
- package/dist/{viewer-BEoa6OFB.js → viewer-DnYNLAqp.js} +80 -4
- package/dist/viewer-DnYNLAqp.js.br +0 -0
- package/dist/{viewer-BEoa6OFB.js.gz → viewer-DnYNLAqp.js.gz} +0 -0
- package/package.json +1 -1
- package/dist/gif-encoder-CBDIqbU9.cjs +0 -2
- package/dist/gif-encoder-CBDIqbU9.cjs.br +0 -0
- package/dist/gif-encoder-CBDIqbU9.cjs.gz +0 -0
- package/dist/gif-encoder-i2G5pvrX.js +0 -2
- package/dist/gif-encoder-i2G5pvrX.js.br +0 -0
- package/dist/gif-encoder-i2G5pvrX.js.gz +0 -0
- package/dist/viewer-90hBuLYm.cjs.br +0 -0
- package/dist/viewer-BEoa6OFB.js.br +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,8 @@ All notable changes to this project are documented here.
|
|
|
4
4
|
This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
|
|
5
5
|
by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
6
6
|
|
|
7
|
+
## [1.5.3](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vue-viewer@1.5.3) - 2026-07-04
|
|
8
|
+
|
|
7
9
|
## [1.5.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vue-viewer@1.5.2) - 2026-07-04
|
|
8
10
|
|
|
9
11
|
## [1.5.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vue-viewer@1.5.1) - 2026-07-04
|
package/README.md
CHANGED
|
@@ -33,6 +33,7 @@ The rendering is done by the framework-agnostic [`pptx-viewer-core`](https://www
|
|
|
33
33
|
- **Export**: PNG, PDF, GIF, and WebM video; print; Save As (pptx/ppsx/pptm).
|
|
34
34
|
- **Collaboration**: real-time Yjs-based co-editing with cursor/selection presence.
|
|
35
35
|
- **Comments, find/replace, accessibility panel, version history**, and more.
|
|
36
|
+
- **Mobile chrome**: touch toolbar, bottom bar with sheets, and touch editing.
|
|
36
37
|
- **Slide navigation**: live thumbnail previews, previous/next, and a slide counter.
|
|
37
38
|
- **Zoom**: in, out, and reset.
|
|
38
39
|
- **Themeable**: change colours through CSS custom properties.
|
|
@@ -161,17 +162,41 @@ async function save() {
|
|
|
161
162
|
|
|
162
163
|
### Events
|
|
163
164
|
|
|
164
|
-
| Event | Payload | Description
|
|
165
|
-
| --------------------- | ------------ |
|
|
166
|
-
| `active-slide-change` | `number` | Emits the active slide index on navigation.
|
|
167
|
-
| `content-change` | `Uint8Array` | Emits updated bytes after any editing change.
|
|
168
|
-
| `dirty-change` | `boolean` | Emits `true`/`false` when the dirty state changes.
|
|
165
|
+
| Event | Payload | Description |
|
|
166
|
+
| --------------------- | ------------ | ------------------------------------------------------------------------------------ |
|
|
167
|
+
| `active-slide-change` | `number` | Emits the active slide index on navigation. |
|
|
168
|
+
| `content-change` | `Uint8Array` | Emits updated bytes after any editing change. |
|
|
169
|
+
| `dirty-change` | `boolean` | Emits `true`/`false` when the dirty state changes. |
|
|
170
|
+
| `mode-change` | `string` | Emits the new mode when it changes (`'preview'`, `'edit'`, `'present'`, `'master'`). |
|
|
171
|
+
| `zoom-change` | `number` | Emits the new zoom level (1 = 100%). |
|
|
172
|
+
| `selection-change` | `string[]` | Emits the selected element IDs when selection changes. |
|
|
173
|
+
| `slide-count-change` | `number` | Emits the total slide count when slides are added/removed. |
|
|
169
174
|
|
|
170
175
|
### Exposed methods (template `ref`)
|
|
171
176
|
|
|
172
|
-
| Method
|
|
173
|
-
|
|
|
174
|
-
| `getContent()`
|
|
177
|
+
| Method | Returns | Description |
|
|
178
|
+
| ------------------------- | --------------------- | ---------------------------------------------- |
|
|
179
|
+
| `getContent()` | `Promise<Uint8Array>` | Serialise the current presentation to `.pptx`. |
|
|
180
|
+
| `goTo(index)` | `void` | Navigate to a slide by zero-based index. |
|
|
181
|
+
| `goPrev()` | `void` | Navigate to the previous slide. |
|
|
182
|
+
| `goNext()` | `void` | Navigate to the next slide. |
|
|
183
|
+
| `undo()` | `void` | Undo the last editing action. |
|
|
184
|
+
| `redo()` | `void` | Redo the last undone action. |
|
|
185
|
+
| `canUndo()` | `boolean` | Whether an undo action is available. |
|
|
186
|
+
| `canRedo()` | `boolean` | Whether a redo action is available. |
|
|
187
|
+
| `getZoom()` | `number` | Get the current zoom level. |
|
|
188
|
+
| `setZoom(level)` | `void` | Set the zoom level (clamped to 0.2 - 3.0). |
|
|
189
|
+
| `zoomIn()` | `void` | Zoom in by one step. |
|
|
190
|
+
| `zoomOut()` | `void` | Zoom out by one step. |
|
|
191
|
+
| `zoomReset()` | `void` | Reset zoom to 100%. |
|
|
192
|
+
| `getMode()` | `ViewerMode` | Get the current viewer mode. |
|
|
193
|
+
| `setMode(mode)` | `void` | Switch mode programmatically. |
|
|
194
|
+
| `getActiveSlideIndex()` | `number` | Get the zero-based active slide index. |
|
|
195
|
+
| `getSlideCount()` | `number` | Get the total number of slides. |
|
|
196
|
+
| `isDirty()` | `boolean` | Whether the document has unsaved changes. |
|
|
197
|
+
| `getSelectedElementIds()` | `string[]` | Get IDs of currently selected elements. |
|
|
198
|
+
| `selectElements(ids)` | `void` | Programmatically select elements by ID. |
|
|
199
|
+
| `clearSelection()` | `void` | Clear the current selection. |
|
|
175
200
|
|
|
176
201
|
### Exported components & helpers
|
|
177
202
|
|
|
@@ -200,17 +225,10 @@ Switch languages with `i18n.global.locale.value = 'fr'`. `pptx-vue-viewer/i18n`
|
|
|
200
225
|
|
|
201
226
|
## Limitations
|
|
202
227
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
3D models, slide master/layout template editing, and zoom tiles that show the
|
|
208
|
-
target slide's background, number, and section name (matching React; as in React,
|
|
209
|
-
the tile is a styled summary rather than a live re-render of the target slide).
|
|
210
|
-
|
|
211
|
-
The only differences from React are the CSS-rendering approximations the two
|
|
212
|
-
share by design (see the root README's Limitations: `backdrop-filter` and path
|
|
213
|
-
gradients are approximated on screen, and a few effects flatten in raster export).
|
|
228
|
+
A handful of effects (`backdrop-filter`, path gradients) are approximated on
|
|
229
|
+
screen, and a few effects flatten in raster export; see the root README's
|
|
230
|
+
Limitations for details.
|
|
231
|
+
|
|
214
232
|
The `pptx-viewer-core` engine parses all slide data, so anything not surfaced in
|
|
215
233
|
the UI is still readable from the model.
|
|
216
234
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const e = require("./viewer-
|
|
2
|
+
const e = require("./viewer-3CMqXDnN.cjs");
|
|
3
3
|
exports.AUDIENCE_HASH = e.AUDIENCE_HASH, exports.ElementRenderer = e.ElementRenderer_default, exports.PowerPointViewer = e.PowerPointViewer_default, exports.SlideCanvas = e.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.clearAudienceContent = e.clearAudienceContent, exports.cn = e.cn, exports.defaultCssVars = e.defaultCssVars, exports.defaultRadius = e.defaultRadius, exports.defaultThemeColors = e.defaultThemeColors, exports.isAudienceTab = e.isAudienceTab, exports.loadAudienceContent = e.loadAudienceContent, exports.provideViewerTheme = e.provideViewerTheme, exports.storeAudienceContent = e.storeAudienceContent, exports.themeToCssVars = e.themeToCssVars, exports.useThemeStyle = e.useThemeStyle, exports.useViewerTheme = e.useViewerTheme;
|
package/dist/index.cjs.br
CHANGED
|
Binary file
|
package/dist/index.cjs.gz
CHANGED
|
Binary file
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { PowerPointViewer, SlideCanvas, SlideStage, ElementRenderer } from './viewer';
|
|
2
2
|
export type { PowerPointViewerProps, PowerPointViewerEmits, PowerPointViewerExpose, CollaborationConfig, CollaborationRole, CanvasSize, } from './viewer';
|
|
3
|
+
export type { ViewerMode, PowerPointViewerAPI } from 'pptx-viewer-shared';
|
|
3
4
|
export { AUDIENCE_HASH, isAudienceTab, storeAudienceContent, loadAudienceContent, clearAudienceContent, } from './viewer';
|
|
4
5
|
export { cn } from './utils';
|
|
5
6
|
export type { ViewerTheme, ViewerThemeColors } from './theme';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACtF,YAAY,EACX,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,GACV,MAAM,UAAU,CAAC;AAGlB,OAAO,EACN,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,GACb,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACtF,YAAY,EACX,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,GACV,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EACN,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,GACb,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { B as a, F as s, G as e, N as r, P as i, V as o, a as t, d as n, f as d, i as l, n as m, o as p, p as w, r as P, t as S, u as f, z as v } from "./viewer-
|
|
1
|
+
import { B as a, F as s, G as e, N as r, P as i, V as o, a as t, d as n, f as d, i as l, n as m, o as p, p as w, r as P, t as S, u as f, z as v } from "./viewer-DnYNLAqp.js";
|
|
2
2
|
export { S as AUDIENCE_HASH, w as ElementRenderer, p as PowerPointViewer, f as SlideCanvas, d as SlideStage, m as clearAudienceContent, n as cn, v as defaultCssVars, a as defaultRadius, o as defaultThemeColors, P as isAudienceTab, l as loadAudienceContent, r as provideViewerTheme, t as storeAudienceContent, e as themeToCssVars, i as useThemeStyle, s as useViewerTheme };
|
package/dist/index.js.br
CHANGED
|
Binary file
|
package/dist/index.js.gz
CHANGED
|
Binary file
|
|
@@ -3,14 +3,22 @@ declare const __VLS_export: import('vue').DefineComponent<PowerPointViewerProps,
|
|
|
3
3
|
"dirty-change": (isDirty: boolean) => any;
|
|
4
4
|
"content-change": (content: Uint8Array<ArrayBufferLike>) => any;
|
|
5
5
|
autosave: (content: Uint8Array<ArrayBufferLike>) => any;
|
|
6
|
-
"active-slide-change": (
|
|
6
|
+
"active-slide-change": (value: number) => any;
|
|
7
|
+
"zoom-change": (value: number) => any;
|
|
8
|
+
"slide-count-change": (value: number) => any;
|
|
9
|
+
"mode-change": (mode: string) => any;
|
|
10
|
+
"selection-change": (elementIds: string[]) => any;
|
|
7
11
|
"start-collaboration": (config: import('pptx-viewer-shared').CollaborationConfig) => any;
|
|
8
12
|
"stop-collaboration": () => any;
|
|
9
13
|
}, string, import('vue').PublicProps, Readonly<PowerPointViewerProps> & Readonly<{
|
|
10
14
|
"onDirty-change"?: ((isDirty: boolean) => any) | undefined;
|
|
11
15
|
"onContent-change"?: ((content: Uint8Array<ArrayBufferLike>) => any) | undefined;
|
|
12
16
|
onAutosave?: ((content: Uint8Array<ArrayBufferLike>) => any) | undefined;
|
|
13
|
-
"onActive-slide-change"?: ((
|
|
17
|
+
"onActive-slide-change"?: ((value: number) => any) | undefined;
|
|
18
|
+
"onZoom-change"?: ((value: number) => any) | undefined;
|
|
19
|
+
"onSlide-count-change"?: ((value: number) => any) | undefined;
|
|
20
|
+
"onMode-change"?: ((mode: string) => any) | undefined;
|
|
21
|
+
"onSelection-change"?: ((elementIds: string[]) => any) | undefined;
|
|
14
22
|
"onStart-collaboration"?: ((config: import('pptx-viewer-shared').CollaborationConfig) => any) | undefined;
|
|
15
23
|
"onStop-collaboration"?: (() => any) | undefined;
|
|
16
24
|
}>, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"AAopEA,OAAO,KAAK,EAAyB,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4qHpG,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
package/dist/viewer/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const e = require("../viewer-
|
|
2
|
+
const e = require("../viewer-3CMqXDnN.cjs");
|
|
3
3
|
exports.AUDIENCE_HASH = e.AUDIENCE_HASH, exports.ChartRenderer = e.ChartRenderer_default, exports.ConnectorRenderer = e.ConnectorRenderer_default, exports.DEFAULT_CANVAS_HEIGHT = e.DEFAULT_CANVAS_HEIGHT, exports.DEFAULT_CANVAS_WIDTH = e.DEFAULT_CANVAS_WIDTH, exports.DEFAULT_FILL_COLOR = e.DEFAULT_FILL_COLOR, exports.DEFAULT_STROKE_COLOR = e.DEFAULT_STROKE_COLOR, exports.DEFAULT_TEXT_COLOR = e.DEFAULT_TEXT_COLOR, exports.ElementRenderer = e.ElementRenderer_default, exports.EquationRenderer = e.EquationRenderer_default, exports.InkRenderer = e.InkRenderer_default, exports.Model3DRenderer = e.Model3DRenderer_default, exports.OleRenderer = e.OleRenderer_default, exports.PowerPointViewer = e.PowerPointViewer_default, exports.SlideCanvas = e.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.SmartArtRenderer = e.SmartArtRenderer_default, exports.TableRenderer = e.TableRenderer_default, exports.WordArtText = e.WordArtText_default, exports.ZoomRenderer = e.ZoomRenderer_default, exports.buildInitialGuides = e.buildInitialGuides, exports.clearAudienceContent = e.clearAudienceContent, exports.collectImagePaths = e.collectImagePaths, exports.collectMediaElements = e.collectMediaElements, exports.getContainerStyle = e.getContainerStyle, exports.getImageSrc = e.getImageSrc, exports.getResolvedShapeClipPath = e.getResolvedShapeClipPath, exports.getResolvedShapeClipPathFor = e.getResolvedShapeClipPathFor, exports.getShapeFillStrokeStyle = e.getShapeFillStrokeStyle, exports.getTextBlockStyle = e.getTextBlockStyle, exports.isAudienceTab = e.isAudienceTab, exports.loadAudienceContent = e.loadAudienceContent, exports.storeAudienceContent = e.storeAudienceContent, exports.useEditorHistory = e.useEditorHistory, exports.useEditorOperations = e.useEditorOperations, exports.useLoadContent = e.useLoadContent;
|
package/dist/viewer/index.cjs.br
CHANGED
|
Binary file
|
package/dist/viewer/index.cjs.gz
CHANGED
|
Binary file
|
package/dist/viewer/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as a, C as s, D as e, E as r, I as n, L as d, M as o, O as t, R, S as i, T as l, U as m, W as S, _ as w, a as C, b as p, c as v, f as x, g as A, h as E, i as T, j as b, k as c, l as f, m as g, n as h, o as j, p as k, r as u, s as D, t as I, u as M, v as O, w as P, x as W, y as q } from "../viewer-
|
|
1
|
+
import { A as a, C as s, D as e, E as r, I as n, L as d, M as o, O as t, R, S as i, T as l, U as m, W as S, _ as w, a as C, b as p, c as v, f as x, g as A, h as E, i as T, j as b, k as c, l as f, m as g, n as h, o as j, p as k, r as u, s as D, t as I, u as M, v as O, w as P, x as W, y as q } from "../viewer-DnYNLAqp.js";
|
|
2
2
|
export { I as AUDIENCE_HASH, s as ChartRenderer, i as ConnectorRenderer, t as DEFAULT_CANVAS_HEIGHT, c as DEFAULT_CANVAS_WIDTH, a as DEFAULT_FILL_COLOR, b as DEFAULT_STROKE_COLOR, o as DEFAULT_TEXT_COLOR, k as ElementRenderer, W as EquationRenderer, p as InkRenderer, q as Model3DRenderer, O as OleRenderer, j as PowerPointViewer, M as SlideCanvas, x as SlideStage, w as SmartArtRenderer, A as TableRenderer, E as WordArtText, g as ZoomRenderer, n as buildInitialGuides, h as clearAudienceContent, d as collectImagePaths, R as collectMediaElements, P as getContainerStyle, l as getImageSrc, m as getResolvedShapeClipPath, S as getResolvedShapeClipPathFor, r as getShapeFillStrokeStyle, e as getTextBlockStyle, u as isAudienceTab, T as loadAudienceContent, C as storeAudienceContent, f as useEditorHistory, v as useEditorOperations, D as useLoadContent };
|
package/dist/viewer/index.js.br
CHANGED
|
Binary file
|
package/dist/viewer/index.js.gz
CHANGED
|
Binary file
|
package/dist/viewer/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CanvasSize, CollaborationConfig, CollaborationRole } from 'pptx-viewer-shared';
|
|
1
|
+
import { CanvasSize, CollaborationConfig, CollaborationRole, PowerPointViewerAPI } from 'pptx-viewer-shared';
|
|
2
2
|
import { ViewerTheme } from '../theme';
|
|
3
3
|
/**
|
|
4
4
|
* Public component types for the Vue PowerPoint viewer.
|
|
@@ -89,6 +89,10 @@ export interface PowerPointViewerProps {
|
|
|
89
89
|
* - `onDirtyChange` → `@dirty-change`
|
|
90
90
|
* - `onContentChange` → `@content-change`
|
|
91
91
|
* - `onActiveSlideChange` → `@active-slide-change`
|
|
92
|
+
* - `onModeChange` → `@mode-change`
|
|
93
|
+
* - `onZoomChange` → `@zoom-change`
|
|
94
|
+
* - `onSelectionChange` → `@selection-change`
|
|
95
|
+
* - `onSlideCountChange` → `@slide-count-change`
|
|
92
96
|
*/
|
|
93
97
|
export interface PowerPointViewerEmits {
|
|
94
98
|
/** Fired when the unsaved-changes flag toggles. */
|
|
@@ -98,8 +102,12 @@ export interface PowerPointViewerEmits {
|
|
|
98
102
|
* edits) and when autosave persists the presentation.
|
|
99
103
|
*/
|
|
100
104
|
(e: 'content-change' | 'autosave', content: Uint8Array): void;
|
|
101
|
-
/** Fired when the active slide changes. */
|
|
102
|
-
(e: 'active-slide-change',
|
|
105
|
+
/** Fired when the active slide, zoom level, or slide count changes. */
|
|
106
|
+
(e: 'active-slide-change' | 'zoom-change' | 'slide-count-change', value: number): void;
|
|
107
|
+
/** Fired when the viewer mode changes. */
|
|
108
|
+
(e: 'mode-change', mode: string): void;
|
|
109
|
+
/** Fired when element selection changes. */
|
|
110
|
+
(e: 'selection-change', elementIds: string[]): void;
|
|
103
111
|
/** Fired when the user starts a collaboration session from the Share dialog. */
|
|
104
112
|
(e: 'start-collaboration', config: CollaborationConfig): void;
|
|
105
113
|
/** Fired when the user stops a collaboration session from the Share dialog. */
|
|
@@ -107,7 +115,7 @@ export interface PowerPointViewerEmits {
|
|
|
107
115
|
}
|
|
108
116
|
/**
|
|
109
117
|
* Imperative surface exposed via `defineExpose`, retrievable through a
|
|
110
|
-
* template ref.
|
|
118
|
+
* template ref. Implements the shared {@link PowerPointViewerAPI} contract.
|
|
111
119
|
*
|
|
112
120
|
* @example
|
|
113
121
|
* ```vue
|
|
@@ -121,7 +129,7 @@ export interface PowerPointViewerEmits {
|
|
|
121
129
|
* </script>
|
|
122
130
|
* ```
|
|
123
131
|
*/
|
|
124
|
-
export interface PowerPointViewerExpose {
|
|
132
|
+
export interface PowerPointViewerExpose extends PowerPointViewerAPI {
|
|
125
133
|
/** Serialise the current presentation to `.pptx` bytes. */
|
|
126
134
|
getContent: () => Promise<Uint8Array>;
|
|
127
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/viewer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/viewer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AACH,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACrC,yDAAyD;IACzD,OAAO,EAAE,UAAU,GAAG,WAAW,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,kDAAkD;IAClD,aAAa,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACrC,mDAAmD;IACnD,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C;;;OAGG;IACH,CAAC,CAAC,EAAE,gBAAgB,GAAG,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9D,uEAAuE;IACvE,CAAC,CAAC,EAAE,qBAAqB,GAAG,aAAa,GAAG,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvF,0CAA0C;IAC1C,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,4CAA4C;IAC5C,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpD,gFAAgF;IAChF,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC9D,+EAA+E;IAC/E,CAAC,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IAClE,2DAA2D;IAC3D,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;CACtC"}
|
|
@@ -35454,7 +35454,7 @@ function hQ(e) {
|
|
|
35454
35454
|
canvasSize: a,
|
|
35455
35455
|
rasterizeSlide: d
|
|
35456
35456
|
}), m = function(e) {
|
|
35457
|
-
const { slideCount: t, rasterizeSlide: o } = e, r = e.loadGifEncoder ?? (async () => (await Promise.resolve().then(() => require("./gif-encoder-
|
|
35457
|
+
const { slideCount: t, rasterizeSlide: o } = e, r = e.loadGifEncoder ?? (async () => (await Promise.resolve().then(() => require("./gif-encoder-DYX4iRih.cjs"))).encodeGif), a = e.createRecorder ?? fQ, l = e.createCanvas ?? (() => document.createElement("canvas")), i = e.downloadBlob ?? qi, s = (0, n.ref)(!1), c = (0, n.ref)(0);
|
|
35458
35458
|
return {
|
|
35459
35459
|
exporting: s,
|
|
35460
35460
|
progress: c,
|
|
@@ -36934,6 +36934,10 @@ var RQ = ["tabindex"], UQ = {
|
|
|
36934
36934
|
"content-change",
|
|
36935
36935
|
"autosave",
|
|
36936
36936
|
"active-slide-change",
|
|
36937
|
+
"zoom-change",
|
|
36938
|
+
"slide-count-change",
|
|
36939
|
+
"mode-change",
|
|
36940
|
+
"selection-change",
|
|
36937
36941
|
"start-collaboration",
|
|
36938
36942
|
"stop-collaboration"
|
|
36939
36943
|
],
|
|
@@ -37048,7 +37052,15 @@ var RQ = ["tabindex"], UQ = {
|
|
|
37048
37052
|
pushHistory: oe.pushHistory,
|
|
37049
37053
|
selectedElementIds: te,
|
|
37050
37054
|
templateElementsBySlideId: p
|
|
37051
|
-
}), ae = (0, n.computed)(() => te.value.length > 0)
|
|
37055
|
+
}), ae = (0, n.computed)(() => te.value.length > 0);
|
|
37056
|
+
(0, n.watch)(Y, (e) => {
|
|
37057
|
+
l("zoom-change", e);
|
|
37058
|
+
}), (0, n.watch)(te, (e) => {
|
|
37059
|
+
l("selection-change", e);
|
|
37060
|
+
}), (0, n.watch)(O, (e) => {
|
|
37061
|
+
l("slide-count-change", e);
|
|
37062
|
+
});
|
|
37063
|
+
const le = (0, n.computed)(() => p.value[R.value?.id ?? ""] ?? []);
|
|
37052
37064
|
function ie(e) {
|
|
37053
37065
|
return nr(e) ? le.value.find((t) => t.id === e) : R.value?.elements.find((t) => t.id === e);
|
|
37054
37066
|
}
|
|
@@ -37749,7 +37761,11 @@ var RQ = ["tabindex"], UQ = {
|
|
|
37749
37761
|
slides: d,
|
|
37750
37762
|
pushHistory: oe.pushHistory,
|
|
37751
37763
|
ops: re
|
|
37752
|
-
})
|
|
37764
|
+
});
|
|
37765
|
+
(0, n.watch)(vr, (e) => {
|
|
37766
|
+
l("mode-change", e);
|
|
37767
|
+
});
|
|
37768
|
+
const Sr = (Er = {
|
|
37753
37769
|
ribbonMode: vr,
|
|
37754
37770
|
canEdit: () => a.canEdit,
|
|
37755
37771
|
isMobile: Yn,
|
|
@@ -37861,7 +37877,67 @@ var RQ = ["tabindex"], UQ = {
|
|
|
37861
37877
|
...DQ(Er)
|
|
37862
37878
|
})));
|
|
37863
37879
|
var Er;
|
|
37864
|
-
return o({
|
|
37880
|
+
return o({
|
|
37881
|
+
getContent: I,
|
|
37882
|
+
goTo: U,
|
|
37883
|
+
goPrev: W,
|
|
37884
|
+
goNext: j,
|
|
37885
|
+
undo: () => oe.undo(),
|
|
37886
|
+
redo: () => oe.redo(),
|
|
37887
|
+
canUndo: () => oe.canUndo.value,
|
|
37888
|
+
canRedo: () => oe.canRedo.value,
|
|
37889
|
+
getZoom: () => Y.value,
|
|
37890
|
+
setZoom: (e) => {
|
|
37891
|
+
Y.value = Math.min(Math.max(e, .2), 3);
|
|
37892
|
+
},
|
|
37893
|
+
zoomIn: X,
|
|
37894
|
+
zoomOut: q,
|
|
37895
|
+
zoomReset: Z,
|
|
37896
|
+
getMode: () => vr.value,
|
|
37897
|
+
setMode: (e) => {
|
|
37898
|
+
"present" === e ? dt() : "master" === e ? io.value = !0 : (ut.value = !1, io.value = !1);
|
|
37899
|
+
},
|
|
37900
|
+
getActiveSlideIndex: () => _.value,
|
|
37901
|
+
setActiveSlideIndex: (e) => U(e),
|
|
37902
|
+
getSlideCount: () => O.value,
|
|
37903
|
+
isDirty: () => ln.isDirty.value,
|
|
37904
|
+
getSlides: () => d.value,
|
|
37905
|
+
getSlide: (e) => d.value[e],
|
|
37906
|
+
getActiveSlide: () => R.value,
|
|
37907
|
+
addSlide: () => rt.addSlide(),
|
|
37908
|
+
deleteSlides: (e) => {
|
|
37909
|
+
for (const t of [...e].sort((e, t) => t - e)) rt.deleteSlide(t);
|
|
37910
|
+
},
|
|
37911
|
+
duplicateSlides: (e) => {
|
|
37912
|
+
for (const t of e) rt.duplicateSlide(t);
|
|
37913
|
+
},
|
|
37914
|
+
moveSlide: (e, t) => rt.moveSlide(e, t),
|
|
37915
|
+
toggleHideSlides: (e) => {
|
|
37916
|
+
for (const t of e) _t(t);
|
|
37917
|
+
},
|
|
37918
|
+
getElements: (e) => {
|
|
37919
|
+
const t = e ?? _.value;
|
|
37920
|
+
return d.value[t]?.elements ?? [];
|
|
37921
|
+
},
|
|
37922
|
+
getElementById: (e, t) => {
|
|
37923
|
+
const n = t ?? _.value;
|
|
37924
|
+
return d.value[n]?.elements.find((t) => t.id === e);
|
|
37925
|
+
},
|
|
37926
|
+
updateElement: (e, t) => {
|
|
37927
|
+
re.updateElement(e, t);
|
|
37928
|
+
},
|
|
37929
|
+
deleteElements: (e) => {
|
|
37930
|
+
for (const t of e) re.removeElement(t);
|
|
37931
|
+
},
|
|
37932
|
+
duplicateElement: (e) => re.duplicateElement(e),
|
|
37933
|
+
getSelectedElementIds: () => te.value,
|
|
37934
|
+
selectElements: (e) => {
|
|
37935
|
+
te.value = e;
|
|
37936
|
+
},
|
|
37937
|
+
clearSelection: () => {
|
|
37938
|
+
te.value = [];
|
|
37939
|
+
}
|
|
37940
|
+
}), (e, t) => ((0, n.openBlock)(), (0, n.createElementBlock)("div", {
|
|
37865
37941
|
ref_key: "viewerRootRef",
|
|
37866
37942
|
ref: Gn,
|
|
37867
37943
|
class: (0, n.normalizeClass)(["pptx-vue-viewer", a.class]),
|
|
Binary file
|
|
Binary file
|
|
@@ -35453,7 +35453,7 @@ function k5(e) {
|
|
|
35453
35453
|
canvasSize: a,
|
|
35454
35454
|
rasterizeSlide: c
|
|
35455
35455
|
}), d = function(e) {
|
|
35456
|
-
const { slideCount: t, rasterizeSlide: n } = e, o = e.loadGifEncoder ?? (async () => (await import("./gif-encoder-
|
|
35456
|
+
const { slideCount: t, rasterizeSlide: n } = e, o = e.loadGifEncoder ?? (async () => (await import("./gif-encoder-1oQk8IOn.js")).encodeGif), a = e.createRecorder ?? y5, r = e.createCanvas ?? (() => document.createElement("canvas")), l = e.downloadBlob ?? Zp, i = nt(!1), s = nt(0);
|
|
35457
35457
|
return {
|
|
35458
35458
|
exporting: i,
|
|
35459
35459
|
progress: s,
|
|
@@ -36932,6 +36932,10 @@ var Y5 = ["tabindex"], V5 = {
|
|
|
36932
36932
|
"content-change",
|
|
36933
36933
|
"autosave",
|
|
36934
36934
|
"active-slide-change",
|
|
36935
|
+
"zoom-change",
|
|
36936
|
+
"slide-count-change",
|
|
36937
|
+
"mode-change",
|
|
36938
|
+
"selection-change",
|
|
36935
36939
|
"start-collaboration",
|
|
36936
36940
|
"stop-collaboration"
|
|
36937
36941
|
],
|
|
@@ -37045,7 +37049,15 @@ var Y5 = ["tabindex"], V5 = {
|
|
|
37045
37049
|
pushHistory: ce.pushHistory,
|
|
37046
37050
|
selectedElementIds: se,
|
|
37047
37051
|
templateElementsBySlideId: f
|
|
37048
|
-
}), de = Ie(() => se.value.length > 0)
|
|
37052
|
+
}), de = Ie(() => se.value.length > 0);
|
|
37053
|
+
bt(ee, (e) => {
|
|
37054
|
+
s("zoom-change", e);
|
|
37055
|
+
}), bt(se, (e) => {
|
|
37056
|
+
s("selection-change", e);
|
|
37057
|
+
}), bt(K, (e) => {
|
|
37058
|
+
s("slide-count-change", e);
|
|
37059
|
+
});
|
|
37060
|
+
const me = Ie(() => f.value[G.value?.id ?? ""] ?? []);
|
|
37049
37061
|
function fe(e) {
|
|
37050
37062
|
return os(e) ? me.value.find((t) => t.id === e) : G.value?.elements.find((t) => t.id === e);
|
|
37051
37063
|
}
|
|
@@ -37746,7 +37758,11 @@ var Y5 = ["tabindex"], V5 = {
|
|
|
37746
37758
|
slides: m,
|
|
37747
37759
|
pushHistory: ce.pushHistory,
|
|
37748
37760
|
ops: pe
|
|
37749
|
-
})
|
|
37761
|
+
});
|
|
37762
|
+
bt(Xa, (e) => {
|
|
37763
|
+
s("mode-change", e);
|
|
37764
|
+
});
|
|
37765
|
+
const er = (tr = {
|
|
37750
37766
|
ribbonMode: Xa,
|
|
37751
37767
|
canEdit: () => a.canEdit,
|
|
37752
37768
|
isMobile: To,
|
|
@@ -37858,7 +37874,67 @@ var Y5 = ["tabindex"], V5 = {
|
|
|
37858
37874
|
...L5(tr)
|
|
37859
37875
|
})));
|
|
37860
37876
|
var tr;
|
|
37861
|
-
return t({
|
|
37877
|
+
return t({
|
|
37878
|
+
getContent: N,
|
|
37879
|
+
goTo: Y,
|
|
37880
|
+
goPrev: V,
|
|
37881
|
+
goNext: X,
|
|
37882
|
+
undo: () => ce.undo(),
|
|
37883
|
+
redo: () => ce.redo(),
|
|
37884
|
+
canUndo: () => ce.canUndo.value,
|
|
37885
|
+
canRedo: () => ce.canRedo.value,
|
|
37886
|
+
getZoom: () => ee.value,
|
|
37887
|
+
setZoom: (e) => {
|
|
37888
|
+
ee.value = Math.min(Math.max(e, .2), 3);
|
|
37889
|
+
},
|
|
37890
|
+
zoomIn: te,
|
|
37891
|
+
zoomOut: oe,
|
|
37892
|
+
zoomReset: ae,
|
|
37893
|
+
getMode: () => Xa.value,
|
|
37894
|
+
setMode: (e) => {
|
|
37895
|
+
"present" === e ? jt() : "master" === e ? No.value = !0 : (Wt.value = !1, No.value = !1);
|
|
37896
|
+
},
|
|
37897
|
+
getActiveSlideIndex: () => H.value,
|
|
37898
|
+
setActiveSlideIndex: (e) => Y(e),
|
|
37899
|
+
getSlideCount: () => K.value,
|
|
37900
|
+
isDirty: () => Rn.isDirty.value,
|
|
37901
|
+
getSlides: () => m.value,
|
|
37902
|
+
getSlide: (e) => m.value[e],
|
|
37903
|
+
getActiveSlide: () => G.value,
|
|
37904
|
+
addSlide: () => Lt.addSlide(),
|
|
37905
|
+
deleteSlides: (e) => {
|
|
37906
|
+
for (const t of [...e].sort((e, t) => t - e)) Lt.deleteSlide(t);
|
|
37907
|
+
},
|
|
37908
|
+
duplicateSlides: (e) => {
|
|
37909
|
+
for (const t of e) Lt.duplicateSlide(t);
|
|
37910
|
+
},
|
|
37911
|
+
moveSlide: (e, t) => Lt.moveSlide(e, t),
|
|
37912
|
+
toggleHideSlides: (e) => {
|
|
37913
|
+
for (const t of e) gn(t);
|
|
37914
|
+
},
|
|
37915
|
+
getElements: (e) => {
|
|
37916
|
+
const t = e ?? H.value;
|
|
37917
|
+
return m.value[t]?.elements ?? [];
|
|
37918
|
+
},
|
|
37919
|
+
getElementById: (e, t) => {
|
|
37920
|
+
const n = t ?? H.value;
|
|
37921
|
+
return m.value[n]?.elements.find((t) => t.id === e);
|
|
37922
|
+
},
|
|
37923
|
+
updateElement: (e, t) => {
|
|
37924
|
+
pe.updateElement(e, t);
|
|
37925
|
+
},
|
|
37926
|
+
deleteElements: (e) => {
|
|
37927
|
+
for (const t of e) pe.removeElement(t);
|
|
37928
|
+
},
|
|
37929
|
+
duplicateElement: (e) => pe.duplicateElement(e),
|
|
37930
|
+
getSelectedElementIds: () => se.value,
|
|
37931
|
+
selectElements: (e) => {
|
|
37932
|
+
se.value = e;
|
|
37933
|
+
},
|
|
37934
|
+
clearSelection: () => {
|
|
37935
|
+
se.value = [];
|
|
37936
|
+
}
|
|
37937
|
+
}), (e, t) => (Qe(), Ae("div", {
|
|
37862
37938
|
ref_key: "viewerRootRef",
|
|
37863
37939
|
ref: $o,
|
|
37864
37940
|
class: Ge(["pptx-vue-viewer", a.class]),
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|