pptx-vue-viewer 1.1.30 → 1.1.32
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 +6 -0
- package/README.md +50 -41
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ 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.1.31](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vue-viewer@1.1.31) - 2026-06-21
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- **angular:** Bundle pptx-viewer-core and fix demo JIT + Vue demo alias (by @ChristopherVR) ([78838ec](https://github.com/ChristopherVR/pptx-viewer/commit/78838ec900fe2d8c90bc39333636d788c52c3161))
|
|
12
|
+
|
|
7
13
|
## [1.1.30](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vue-viewer@1.1.30) - 2026-06-21
|
|
8
14
|
|
|
9
15
|
### Features
|
package/README.md
CHANGED
|
@@ -3,20 +3,14 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/pptx-vue-viewer)
|
|
4
4
|
[](https://github.com/ChristopherVR/pptx-viewer/blob/main/LICENSE)
|
|
5
5
|
|
|
6
|
-
Show Microsoft PowerPoint (`.pptx`)
|
|
7
|
-
no server, no conversion step, no PowerPoint install required. Drop
|
|
8
|
-
`<PowerPointViewer>` component, hand it the file's bytes, and it
|
|
9
|
-
|
|
6
|
+
Show, edit, and present Microsoft PowerPoint (`.pptx`) files directly in a
|
|
7
|
+
Vue 3 app: no server, no conversion step, no PowerPoint install required. Drop
|
|
8
|
+
in a `<PowerPointViewer>` component, hand it the file's bytes, and it renders
|
|
9
|
+
slides as real HTML and CSS with full editing and export support.
|
|
10
10
|
|
|
11
11
|

|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
> a **read-only viewer** milestone today; see [Limitations](#limitations).
|
|
15
|
-
|
|
16
|
-
The reading is done by the framework-agnostic `pptx-viewer-core` engine, which
|
|
17
|
-
turns a `.pptx` file into a structured slide model. This package is the Vue layer
|
|
18
|
-
that draws that model on screen, and the engine is **bundled in**, so you install
|
|
19
|
-
just one package.
|
|
13
|
+
The rendering is done by the framework-agnostic [`pptx-viewer-core`](https://www.npmjs.com/package/pptx-viewer-core) engine (also published as [`@christophervr/pptx-viewer`](https://www.npmjs.com/package/@christophervr/pptx-viewer) -- the two names are identical releases), which turns a `.pptx` file into a structured slide model. This package is the Vue layer that draws that model on screen, and the engine is **bundled in**, so you install just one package.
|
|
20
14
|
|
|
21
15
|
<samp>**[▶️ Try the live demo](https://christophervr.github.io/pptx-viewer/demo-vue/)** · **[📦 npm](https://www.npmjs.com/package/pptx-vue-viewer)** · **[📖 Full docs](https://christophervr.github.io/pptx-viewer/)**</samp>
|
|
22
16
|
|
|
@@ -27,6 +21,18 @@ just one package.
|
|
|
27
21
|
- **A single component**: `<PowerPointViewer>`, written in `<script setup>` style.
|
|
28
22
|
- **Real HTML rendering**: slides are drawn as ordinary HTML and SVG, not as a
|
|
29
23
|
picture, so text stays sharp at any zoom and is selectable and accessible.
|
|
24
|
+
- **Editing**: select, drag, resize, rotate; inline text editing; format painter;
|
|
25
|
+
shape adjustment handles; align, distribute, group, flip, and z-order; undo/redo;
|
|
26
|
+
snap-to-grid, snap-to-shape, H/V guides, and rulers.
|
|
27
|
+
- **Full Office-style ribbon**: all tabs wired (Home, Insert, Draw, Design,
|
|
28
|
+
Transitions, Animations, Slide Show, Review, View) plus a status bar and
|
|
29
|
+
context menu.
|
|
30
|
+
- **Inspector**: element and slide property panels, including chart data editor.
|
|
31
|
+
- **Presentation mode**: animation playback, presenter view, slide transitions,
|
|
32
|
+
rehearse timings, subtitles, and freehand ink.
|
|
33
|
+
- **Export**: PNG, PDF, GIF, and WebM video; print; Save As (pptx/ppsx/pptm).
|
|
34
|
+
- **Collaboration**: real-time Yjs-based co-editing with cursor/selection presence.
|
|
35
|
+
- **Comments, find/replace, accessibility panel, version history**, and more.
|
|
30
36
|
- **Slide navigation**: live thumbnail previews, previous/next, and a slide counter.
|
|
31
37
|
- **Zoom**: in, out, and reset.
|
|
32
38
|
- **Themeable**: change colours through CSS custom properties.
|
|
@@ -143,23 +149,23 @@ async function save() {
|
|
|
143
149
|
|
|
144
150
|
### Props
|
|
145
151
|
|
|
146
|
-
| Prop | Type | Default | Description
|
|
147
|
-
| --------------- | --------------------------- | ------- |
|
|
148
|
-
| `content` | `Uint8Array \| ArrayBuffer` | n/a | The `.pptx` bytes to render. **Required.**
|
|
149
|
-
| `theme` | `ViewerTheme` | n/a | Color/radius overrides applied as CSS custom properties.
|
|
150
|
-
| `class` | `string` | n/a | Class applied to the root element.
|
|
151
|
-
| `canEdit` | `boolean` | `false` |
|
|
152
|
-
| `filePath` | `string` | n/a |
|
|
153
|
-
| `authorName` | `string` | n/a |
|
|
154
|
-
| `collaboration` | `CollaborationConfig` | n/a |
|
|
152
|
+
| Prop | Type | Default | Description |
|
|
153
|
+
| --------------- | --------------------------- | ------- | ----------------------------------------------------------------- |
|
|
154
|
+
| `content` | `Uint8Array \| ArrayBuffer` | n/a | The `.pptx` bytes to render. **Required.** |
|
|
155
|
+
| `theme` | `ViewerTheme` | n/a | Color/radius overrides applied as CSS custom properties. |
|
|
156
|
+
| `class` | `string` | n/a | Class applied to the root element. |
|
|
157
|
+
| `canEdit` | `boolean` | `false` | Enables the editor toolbar, inspector, and drag-and-drop editing. |
|
|
158
|
+
| `filePath` | `string` | n/a | Passed to autosave / recovery logic. |
|
|
159
|
+
| `authorName` | `string` | n/a | Displayed in comment annotations. |
|
|
160
|
+
| `collaboration` | `CollaborationConfig` | n/a | Yjs real-time collaboration config (server URL, room, role). |
|
|
155
161
|
|
|
156
162
|
### Events
|
|
157
163
|
|
|
158
|
-
| Event | Payload | Description
|
|
159
|
-
| --------------------- | ------------ |
|
|
160
|
-
| `active-slide-change` | `number` | Emits the active slide index on navigation.
|
|
161
|
-
| `content-change` | `Uint8Array` |
|
|
162
|
-
| `dirty-change` | `boolean` |
|
|
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. |
|
|
163
169
|
|
|
164
170
|
### Exposed methods (template `ref`)
|
|
165
171
|
|
|
@@ -175,22 +181,25 @@ async function save() {
|
|
|
175
181
|
|
|
176
182
|
## Limitations
|
|
177
183
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
184
|
+
The Vue package has reached feature parity with the React package for the vast
|
|
185
|
+
majority of the editing and presentation surface. A few depth/fidelity items
|
|
186
|
+
remain:
|
|
187
|
+
|
|
188
|
+
- **Secondary/log value axes** - Charts with a right-hand secondary value axis,
|
|
189
|
+
log scale, or display units show primary-axis data only. Data tables on charts
|
|
190
|
+
are also deferred.
|
|
191
|
+
- **True CSS-3D extrusion** - Shape extrusion is approximated with layered
|
|
192
|
+
box-shadows; real extruded faces (as in the React renderer) are deferred.
|
|
193
|
+
- **Image chroma-key** - Destructive `clrChange` colour-replacement on images is
|
|
194
|
+
not yet applied (recolour, duotone, and artistic effects are done).
|
|
195
|
+
- **3D models / Zoom elements** - GLB/GLTF models fall back to their poster image;
|
|
196
|
+
zoom elements render as static link tiles.
|
|
197
|
+
- **Master/template editing** - Editing routes to slide elements only; edits to
|
|
198
|
+
the slide master or layout template are not yet wired.
|
|
199
|
+
|
|
200
|
+
The `pptx-viewer-core` engine parses all of this data, so you can access it from
|
|
201
|
+
the model even where the UI does not expose it yet. Progress and design notes live
|
|
202
|
+
in [`PORTING.md`](./PORTING.md).
|
|
194
203
|
|
|
195
204
|
## Build (contributing)
|
|
196
205
|
|