pptx-angular-viewer 1.1.29 → 1.1.31
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 +28 -0
- package/README.md +51 -41
- package/package.json +2 -2
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.30](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.1.30) - 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.29](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.1.29) - 2026-06-21
|
|
8
14
|
|
|
9
15
|
### Features
|
|
@@ -14,12 +20,14 @@ by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
|
14
20
|
### Documentation
|
|
15
21
|
|
|
16
22
|
- Sharpen npm descriptions and keywords for discoverability (by @ChristopherVR) ([8fea56d](https://github.com/ChristopherVR/pptx-viewer/commit/8fea56d7650f7dc2f3167dea97b94b612a03a4e7))
|
|
23
|
+
- **core:** Reword README in plain language (by @ChristopherVR) ([793c26e](https://github.com/ChristopherVR/pptx-viewer/commit/793c26ec7e2415c66f34c637cb541483bf395a11))
|
|
17
24
|
- **angular:** Reword README in plain language (by @ChristopherVR) ([ba72266](https://github.com/ChristopherVR/pptx-viewer/commit/ba722668b0c4846e86837b2cf255198231ab2631))
|
|
18
25
|
|
|
19
26
|
## [1.1.24](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.1.24) - 2026-06-20
|
|
20
27
|
|
|
21
28
|
### Features
|
|
22
29
|
|
|
30
|
+
- **core:** Add signature-node module and shared signature utilities (by @ChristopherVR) ([e7cb263](https://github.com/ChristopherVR/pptx-viewer/commit/e7cb26335f15e633cfc37371f16a6ad210be5e11))
|
|
23
31
|
- **vue:** Add pptx-vue-viewer package + bundled pptx-viewer-shared (by @ChristopherVR) ([1b7a958](https://github.com/ChristopherVR/pptx-viewer/commit/1b7a958ce91792a6d174f174932800bc8ff40ef9))
|
|
24
32
|
- **angular:** Add pptx-angular-viewer package + demo (by @ChristopherVR) ([81255a9](https://github.com/ChristopherVR/pptx-viewer/commit/81255a9251e855bc51b97c8dc68b55e71e206882))
|
|
25
33
|
- **angular:** Image & gradient fills in element-style (by @ChristopherVR) ([2457aa2](https://github.com/ChristopherVR/pptx-viewer/commit/2457aa2163e6e6504aa36d464d3686d58f625338))
|
|
@@ -29,7 +37,11 @@ by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
|
29
37
|
|
|
30
38
|
### Bug Fixes
|
|
31
39
|
|
|
40
|
+
- Enable vitest globals in all packages to fix expectTypeOf errors (by @ChristopherVR) ([6d90d72](https://github.com/ChristopherVR/pptx-viewer/commit/6d90d72ff0107ad0194f9c73ceeb3df244f4cfc6))
|
|
41
|
+
- **test:** Add i18n mocks to react tests and bump versions to 1.2.0 (by @ChristopherVR) ([2c1c962](https://github.com/ChristopherVR/pptx-viewer/commit/2c1c9628714b905b28592493abf02fb270107b65))
|
|
32
42
|
- **build:** Make all packages build + publish cleanly; align Vue README (by @ChristopherVR) ([7db5de6](https://github.com/ChristopherVR/pptx-viewer/commit/7db5de6a343887fc1a32dd526ae1ab68e1e3e6e0))
|
|
43
|
+
- **deps:** Pin @xmldom/xmldom to 0.8.x in core to fix build (by @ChristopherVR) ([2ed7b2e](https://github.com/ChristopherVR/pptx-viewer/commit/2ed7b2e777d4e740a3e4c9ca7e2b3d6fc2bbd21f))
|
|
44
|
+
- **core:** Declare jszip and fast-xml-parser as runtime dependencies (by @ChristopherVR) ([b6636be](https://github.com/ChristopherVR/pptx-viewer/commit/b6636be972206bb2c6acee0fed05c45b4759fbdc))
|
|
33
45
|
|
|
34
46
|
### Other
|
|
35
47
|
|
|
@@ -39,10 +51,14 @@ by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
|
39
51
|
|
|
40
52
|
- **react:** Consume theme + loader from pptx-viewer-shared (by @ChristopherVR) ([1b93d1f](https://github.com/ChristopherVR/pptx-viewer/commit/1b93d1fccff378b0ac402810a0cbddea46add29c))
|
|
41
53
|
- **angular:** Keep core peer as workspace:\*, resolve at build time (by @ChristopherVR) ([b123ac9](https://github.com/ChristopherVR/pptx-viewer/commit/b123ac99e9611b7f585197d827ba2ac35217997e))
|
|
54
|
+
- **core:** Consume emf-converter and mtx-decompressor from npm (by @ChristopherVR) ([2f6013d](https://github.com/ChristopherVR/pptx-viewer/commit/2f6013d5b8fab0aef5b32901841d94c0fa886f24))
|
|
42
55
|
- **angular:** Remove em-dashes from code comments and prose (by @ChristopherVR) ([0166321](https://github.com/ChristopherVR/pptx-viewer/commit/01663210fd84f60b29c7c6176def02951e3903f3))
|
|
43
56
|
|
|
44
57
|
### Documentation
|
|
45
58
|
|
|
59
|
+
- Restructure root README, elevate limitations, fix outdated claims (by @ChristopherVR) ([86dcda9](https://github.com/ChristopherVR/pptx-viewer/commit/86dcda9b5e3129f2223341337055778db574e985))
|
|
60
|
+
- Rewrite limitations with technical explanations and remove inaccurate claims (by @ChristopherVR) ([ac4bc84](https://github.com/ChristopherVR/pptx-viewer/commit/ac4bc84ed9bd03f62e3ae29c35baf3f444a3c0bf))
|
|
61
|
+
- **readme:** Npm-friendly READMEs — hero image, capabilities & install first (by @ChristopherVR) ([c843d19](https://github.com/ChristopherVR/pptx-viewer/commit/c843d1934b846f901bba92e63d2b01f9479594d0))
|
|
46
62
|
- **angular:** Update PORTING for charts, table rich text, connector routing (by @ChristopherVR) ([3baddb5](https://github.com/ChristopherVR/pptx-viewer/commit/3baddb5363294aa2bcbe08c18f51a7b8a0be4f1d))
|
|
47
63
|
- **angular:** Update PORTING for SmartArt/ink/OLE/3D/zoom + effects (by @ChristopherVR) ([d5393c6](https://github.com/ChristopherVR/pptx-viewer/commit/d5393c6269812941f2314f03e33432c076f39c79))
|
|
48
64
|
- **angular:** Record slide background + hyperlink rendering (by @ChristopherVR) ([0c21fe3](https://github.com/ChristopherVR/pptx-viewer/commit/0c21fe31ad18006c97807b0ea3c3e39bb950d163))
|
|
@@ -79,8 +95,20 @@ by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
|
79
95
|
### Build & CI
|
|
80
96
|
|
|
81
97
|
- **angular:** Adopt Tailwind 4 pipeline for ribbon chrome parity (by @ChristopherVR) ([65cf58f](https://github.com/ChristopherVR/pptx-viewer/commit/65cf58fbcce1fbf3ac0c3ce0f3b49b3c9604d1b1))
|
|
98
|
+
- Independent per-package versioning, tags, and changelogs (by @ChristopherVR) ([79595d9](https://github.com/ChristopherVR/pptx-viewer/commit/79595d972d7c4102e8b1e1e3926f439486f76ba1))
|
|
82
99
|
|
|
83
100
|
### Dependencies
|
|
84
101
|
|
|
102
|
+
- **deps:** Update all dependencies to latest (by @ChristopherVR) ([e3287c0](https://github.com/ChristopherVR/pptx-viewer/commit/e3287c03ff58b1a1ae103ed32a513468a454a084))
|
|
85
103
|
- **deps:** Update dependencies and CI actions to latest (by @ChristopherVR) ([b1a84a2](https://github.com/ChristopherVR/pptx-viewer/commit/b1a84a26814bfdb9b5d5ef7dd87aeabc4fa82c04))
|
|
86
104
|
- **deps:** Bump all workspace manifest floors to latest (by @ChristopherVR) ([890c33d](https://github.com/ChristopherVR/pptx-viewer/commit/890c33d667a39480a69e6a3da893964382993b29))
|
|
105
|
+
|
|
106
|
+
### Chores
|
|
107
|
+
|
|
108
|
+
- Add license files, NOTICE, and package metadata for npm publishing (by @ChristopherVR) ([9464bb8](https://github.com/ChristopherVR/pptx-viewer/commit/9464bb8b91734daf35131d3c7e52e60895fe0a1c))
|
|
109
|
+
- Bump all packages to v1.1.0 and remove remaining MyClawAssist refs (by @ChristopherVR) ([c386511](https://github.com/ChristopherVR/pptx-viewer/commit/c38651150c08011cee5e17e15f7ee8adc0014b80))
|
|
110
|
+
- Bump all packages to 1.x.1 patch versions (by @ChristopherVR) ([c75205a](https://github.com/ChristopherVR/pptx-viewer/commit/c75205a96cc7797d1647ac4705395b7707ac8910))
|
|
111
|
+
- Bump all packages to minor versions for SDK table support (by @ChristopherVR) ([2d4b635](https://github.com/ChristopherVR/pptx-viewer/commit/2d4b6351b0bf328f8a556cf593733fd8ad36c7b5))
|
|
112
|
+
- Bump dependencies to latest and minor-bump packages for parity work (by @ChristopherVR) ([da19fdf](https://github.com/ChristopherVR/pptx-viewer/commit/da19fdf9a4670d274d9973b67aa22d34217b8555))
|
|
113
|
+
- Roll TypeScript back to 5.9.x; quiet new oxlint vitest rules (by @ChristopherVR) ([713c020](https://github.com/ChristopherVR/pptx-viewer/commit/713c020ac2428db0fb1eb6cb30e56b2cff19a80f))
|
|
114
|
+
- Relicense from MIT to Apache-2.0 (by @ChristopherVR) ([e12f926](https://github.com/ChristopherVR/pptx-viewer/commit/e12f9266f02bebbfc218986b617c418fee43a56b))
|
package/README.md
CHANGED
|
@@ -3,19 +3,14 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/pptx-angular-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
|
-
`<pptx-viewer>` component, hand it the file's bytes, and it
|
|
9
|
-
|
|
6
|
+
Show, edit, and present Microsoft PowerPoint (`.pptx`) files directly in an
|
|
7
|
+
Angular app: no server, no conversion step, no PowerPoint install required. Drop
|
|
8
|
+
in a `<pptx-viewer>` component, hand it the file's bytes, and it renders slides
|
|
9
|
+
as real HTML and CSS with full editing and export support.
|
|
10
10
|
|
|
11
11
|

|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
> is at 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 Angular
|
|
18
|
-
layer that draws that model on screen.
|
|
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 Angular layer that draws that model on screen, and the engine is **bundled in**, so you install just one package.
|
|
19
14
|
|
|
20
15
|
<samp>**[▶️ Try the live demo](https://christophervr.github.io/pptx-viewer/demo-angular/)** · **[📦 npm](https://www.npmjs.com/package/pptx-angular-viewer)** · **[📖 Full docs](https://christophervr.github.io/pptx-viewer/)**</samp>
|
|
21
16
|
|
|
@@ -27,6 +22,20 @@ layer that draws that model on screen.
|
|
|
27
22
|
- **Modern Angular**: built on signals and `OnPush`, and works without Zone.js.
|
|
28
23
|
- **Real HTML rendering**: slides are drawn as ordinary HTML and SVG, not as a
|
|
29
24
|
picture, so text stays sharp at any zoom and is selectable and accessible.
|
|
25
|
+
- **Editing**: select, drag, resize, rotate; inline text and table-cell editing;
|
|
26
|
+
format painter; shape adjustment handles; align, distribute, group, flip, and
|
|
27
|
+
z-order; undo/redo; snap-to-grid, snap-to-shape, H/V guides, and rulers.
|
|
28
|
+
- **Full Office-style ribbon**: all tabs wired (Home, Insert incl. Table/SmartArt/
|
|
29
|
+
Equation, Draw incl. freehand ink, Design incl. theme gallery, Transitions,
|
|
30
|
+
Animations, Slide Show incl. custom shows, Review, View incl. grid/rulers/guides/
|
|
31
|
+
snap/eyedropper/selection pane) plus a status bar and context menu.
|
|
32
|
+
- **Inspector**: element and slide property panels, including chart data editor.
|
|
33
|
+
- **Presentation mode**: animation playback, presenter view, slide transitions,
|
|
34
|
+
custom-show playback, rehearse timings, and freehand ink.
|
|
35
|
+
- **Export**: PNG, PDF, GIF, and WebM video; print; Save As (pptx/ppsx/pptm).
|
|
36
|
+
- **Collaboration**: real-time Yjs-based co-editing with cursor/selection presence.
|
|
37
|
+
- **Comments, find/replace, accessibility panel, digital signatures**, and more.
|
|
38
|
+
- **Mobile chrome**: touch toolbar, bottom bar with sheets, and touch editing.
|
|
30
39
|
- **Slide navigation**: a thumbnail rail, previous/next, and a slide counter.
|
|
31
40
|
- **Zoom**: in, out, and reset.
|
|
32
41
|
- **Themeable**: change colours through CSS custom properties.
|
|
@@ -36,11 +45,10 @@ layer that draws that model on screen.
|
|
|
36
45
|
## Installation
|
|
37
46
|
|
|
38
47
|
```bash
|
|
39
|
-
npm install pptx-angular-viewer
|
|
48
|
+
npm install pptx-angular-viewer
|
|
40
49
|
```
|
|
41
50
|
|
|
42
|
-
**Peer requirements:** Angular 22+ (`@angular/core`, `@angular/common`)
|
|
43
|
-
`rxjs`, and `pptx-viewer-core`.
|
|
51
|
+
**Peer requirements:** Angular 22+ (`@angular/core`, `@angular/common`) and `rxjs`.
|
|
44
52
|
|
|
45
53
|
## Usage
|
|
46
54
|
|
|
@@ -125,21 +133,21 @@ async save() {
|
|
|
125
133
|
|
|
126
134
|
### Inputs
|
|
127
135
|
|
|
128
|
-
| Input | Type | Default | Description
|
|
129
|
-
| --------------- | ----------------------------------- | ------- |
|
|
130
|
-
| `content` | `Uint8Array \| ArrayBuffer \| null` | `null` | The `.pptx` bytes to render.
|
|
131
|
-
| `theme` | `ViewerTheme` | n/a | Color/radius overrides applied as CSS custom properties.
|
|
132
|
-
| `class` | `string` | `''` | Class applied to the root element.
|
|
133
|
-
| `canEdit` | `boolean` | `false` |
|
|
134
|
-
| `collaboration` | `CollaborationConfig` | n/a |
|
|
136
|
+
| Input | Type | Default | Description |
|
|
137
|
+
| --------------- | ----------------------------------- | ------- | ----------------------------------------------------------------- |
|
|
138
|
+
| `content` | `Uint8Array \| ArrayBuffer \| null` | `null` | The `.pptx` bytes to render. |
|
|
139
|
+
| `theme` | `ViewerTheme` | n/a | Color/radius overrides applied as CSS custom properties. |
|
|
140
|
+
| `class` | `string` | `''` | Class applied to the root element. |
|
|
141
|
+
| `canEdit` | `boolean` | `false` | Enables the editor toolbar, inspector, and drag-and-drop editing. |
|
|
142
|
+
| `collaboration` | `CollaborationConfig` | n/a | Yjs real-time collaboration config (server URL, room, role). |
|
|
135
143
|
|
|
136
144
|
### Outputs
|
|
137
145
|
|
|
138
|
-
| Output | Payload | Description
|
|
139
|
-
| ------------------- | ------------ |
|
|
140
|
-
| `activeSlideChange` | `number` | Emits the active slide index on navigation.
|
|
141
|
-
| `dirtyChange` | `boolean` |
|
|
142
|
-
| `contentChange` | `Uint8Array` |
|
|
146
|
+
| Output | Payload | Description |
|
|
147
|
+
| ------------------- | ------------ | -------------------------------------------------- |
|
|
148
|
+
| `activeSlideChange` | `number` | Emits the active slide index on navigation. |
|
|
149
|
+
| `dirtyChange` | `boolean` | Emits `true`/`false` when the dirty state changes. |
|
|
150
|
+
| `contentChange` | `Uint8Array` | Emits updated bytes after any editing change. |
|
|
143
151
|
|
|
144
152
|
### Methods
|
|
145
153
|
|
|
@@ -155,22 +163,24 @@ async save() {
|
|
|
155
163
|
|
|
156
164
|
## Limitations
|
|
157
165
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
166
|
+
The Angular package has reached functional parity with the React package: all 11
|
|
167
|
+
element types render; the full Tailwind 4 Office ribbon is wired; editing,
|
|
168
|
+
presentation, export, collaboration, comments, and mobile chrome all work. The
|
|
169
|
+
remaining items are polish/cosmetic, not behavioural gaps:
|
|
170
|
+
|
|
171
|
+
- **Master/template editing** - Editing routes to slide elements only; edits to
|
|
172
|
+
the slide master or layout template are not yet wired.
|
|
173
|
+
- **Eyedropper on Firefox/Safari** - Angular uses the native `EyeDropper` API;
|
|
174
|
+
React adds a rasterize-and-sample fallback for browsers that don't support it.
|
|
175
|
+
- **Pixel-level cosmetic differences** - Some toolbar controls are not pixel-
|
|
176
|
+
identical to their React counterparts (spacing, split-button affordances,
|
|
177
|
+
dropdown chrome).
|
|
178
|
+
- **3D models** - GLB/GLTF models fall back to their poster image (requires
|
|
179
|
+
optional Three.js peer dependencies).
|
|
180
|
+
|
|
181
|
+
The `pptx-viewer-core` engine parses all element data, so you can access it from
|
|
182
|
+
the model even where the UI does not expose it yet. Progress and design notes live
|
|
183
|
+
in [`PORTING.md`](./PORTING.md).
|
|
174
184
|
|
|
175
185
|
## Build (contributing)
|
|
176
186
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pptx-angular-viewer",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.31",
|
|
4
4
|
"description": "Angular PowerPoint viewer and editor component: render, edit, and export PPTX slides in the browser.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -44,12 +44,12 @@
|
|
|
44
44
|
"html2canvas-pro": "^2.0.4",
|
|
45
45
|
"jspdf": "^4.2.1",
|
|
46
46
|
"jszip": "^3.10.1",
|
|
47
|
+
"pptx-viewer-core": "^1.1.27",
|
|
47
48
|
"tslib": "^2.8.1"
|
|
48
49
|
},
|
|
49
50
|
"peerDependencies": {
|
|
50
51
|
"@angular/common": "^22.0.1",
|
|
51
52
|
"@angular/core": "^22.0.1",
|
|
52
|
-
"pptx-viewer-core": "^1.1.26",
|
|
53
53
|
"rxjs": "^7.8.0",
|
|
54
54
|
"three": "^0.184.0"
|
|
55
55
|
},
|