pptx-svelte-viewer 0.1.2 → 0.1.3
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 +77 -0
- package/README.md +57 -35
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,80 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
All notable changes to this project are documented here.
|
|
4
|
+
This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
|
|
5
|
+
by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
6
|
+
|
|
7
|
+
## [0.1.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-svelte-viewer@0.1.2) - 2026-07-10
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **core:** Add signature-node module and shared signature utilities (by @ChristopherVR) ([e7cb263](https://github.com/ChristopherVR/pptx-viewer/commit/e7cb26335f15e633cfc37371f16a6ad210be5e11))
|
|
12
|
+
- **vue:** Add pptx-vue-viewer package + bundled pptx-viewer-shared (by @ChristopherVR) ([1b7a958](https://github.com/ChristopherVR/pptx-viewer/commit/1b7a958ce91792a6d174f174932800bc8ff40ef9))
|
|
13
|
+
- **shared:** Add Three.js SmartArt 3D model + scene runtime (by @ChristopherVR) ([f949213](https://github.com/ChristopherVR/pptx-viewer/commit/f949213b33ed0dca4c52d5d1ab414c3dba67efe7))
|
|
14
|
+
- **shared:** Add canonical i18n translation dictionary (by @ChristopherVR) ([429e386](https://github.com/ChristopherVR/pptx-viewer/commit/429e386c7245fc5cf526ac72481fd5ab23b3e09d))
|
|
15
|
+
- **core,cli:** Add react, angular, vue to npm keywords (by @ChristopherVR) ([528ec61](https://github.com/ChristopherVR/pptx-viewer/commit/528ec6182bb77c07444dd0e93560b65e604b9524))
|
|
16
|
+
- **svelte:** Add pptx-svelte-viewer Svelte 5 binding (viewer) (by @ChristopherVR) ([d5c9164](https://github.com/ChristopherVR/pptx-viewer/commit/d5c916428ffa4c469ec9c79150d60f7aa6c9f560))
|
|
17
|
+
- **svelte:** Render table, chart, smartArt, media, ink, and ole elements (by @ChristopherVR) ([5077d82](https://github.com/ChristopherVR/pptx-viewer/commit/5077d827002f8dbbfd92f66ecebb13cafcf86537))
|
|
18
|
+
- **vanilla,svelte:** Opt-in 3D SmartArt renderer (by @ChristopherVR) ([15337c9](https://github.com/ChristopherVR/pptx-viewer/commit/15337c9bc1a31ad614a4aca88be3e71ba848413f))
|
|
19
|
+
- **svelte:** PNG and PDF export (by @ChristopherVR) ([b1c273e](https://github.com/ChristopherVR/pptx-viewer/commit/b1c273e634904f66c91ec7c035c879423fd39372))
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
- Enable vitest globals in all packages to fix expectTypeOf errors (by @ChristopherVR) ([6d90d72](https://github.com/ChristopherVR/pptx-viewer/commit/6d90d72ff0107ad0194f9c73ceeb3df244f4cfc6))
|
|
24
|
+
- **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))
|
|
25
|
+
- **deps:** Pin @xmldom/xmldom to 0.8.x in core to fix build (by @ChristopherVR) ([2ed7b2e](https://github.com/ChristopherVR/pptx-viewer/commit/2ed7b2e777d4e740a3e4c9ca7e2b3d6fc2bbd21f))
|
|
26
|
+
- **core:** Declare jszip and fast-xml-parser as runtime dependencies (by @ChristopherVR) ([b6636be](https://github.com/ChristopherVR/pptx-viewer/commit/b6636be972206bb2c6acee0fed05c45b4759fbdc))
|
|
27
|
+
- **angular:** Bundle pptx-viewer-core and fix demo JIT + Vue demo alias (by @ChristopherVR) ([78838ec](https://github.com/ChristopherVR/pptx-viewer/commit/78838ec900fe2d8c90bc39333636d788c52c3161))
|
|
28
|
+
- Missing document links (by @ChristopherVR) ([f52bd6f](https://github.com/ChristopherVR/pptx-viewer/commit/f52bd6fd2fc4f564f018ecf5e84e64d24c8fd240))
|
|
29
|
+
- **core:** Correct install docs and drop the retired @christophervr/pptx-viewer alias (by @ChristopherVR) ([6544b4e](https://github.com/ChristopherVR/pptx-viewer/commit/6544b4eaf086945ecd8a18b877de5a483032aa14))
|
|
30
|
+
- **core,angular:** Revert xmldom to 0.8.x and fix shared import specifiers (by @ChristopherVR) ([29eda31](https://github.com/ChristopherVR/pptx-viewer/commit/29eda3119836559b63bc08733dd9dd6398a69c8d))
|
|
31
|
+
|
|
32
|
+
### Other
|
|
33
|
+
|
|
34
|
+
- **smartart:** Snapshot in-progress SmartArt session work (by @ChristopherVR) ([0cac22f](https://github.com/ChristopherVR/pptx-viewer/commit/0cac22f5b1a0ecc33960f4712ff2ef691beb3f65))
|
|
35
|
+
- Reconcile with origin/main before push (by @ChristopherVR) ([b8c46bc](https://github.com/ChristopherVR/pptx-viewer/commit/b8c46bc3622e301d3365f5c489144e5aa5401782))
|
|
36
|
+
- Reconcile with origin/main before push (by @ChristopherVR) ([10acef8](https://github.com/ChristopherVR/pptx-viewer/commit/10acef81a7f5d79e778e4e4464d956cc84682f7c))
|
|
37
|
+
- Reconcile with origin/main before push (by @ChristopherVR) ([0ecd3d9](https://github.com/ChristopherVR/pptx-viewer/commit/0ecd3d935f97c78e8b0a62bebc8bf610c42414ab))
|
|
38
|
+
|
|
39
|
+
### Refactor
|
|
40
|
+
|
|
41
|
+
- **react:** Consume theme + loader from pptx-viewer-shared (by @ChristopherVR) ([1b93d1f](https://github.com/ChristopherVR/pptx-viewer/commit/1b93d1fccff378b0ac402810a0cbddea46add29c))
|
|
42
|
+
- **core:** Consume emf-converter and mtx-decompressor from npm (by @ChristopherVR) ([2f6013d](https://github.com/ChristopherVR/pptx-viewer/commit/2f6013d5b8fab0aef5b32901841d94c0fa886f24))
|
|
43
|
+
- **shared:** Extract text-rendering pure logic (line-height, warp, effects) (by @ChristopherVR) ([11c8d22](https://github.com/ChristopherVR/pptx-viewer/commit/11c8d22e9910dda9c8dfa18e0f6d7683577c7b9f))
|
|
44
|
+
|
|
45
|
+
### Documentation
|
|
46
|
+
|
|
47
|
+
- Restructure root README, elevate limitations, fix outdated claims (by @ChristopherVR) ([86dcda9](https://github.com/ChristopherVR/pptx-viewer/commit/86dcda9b5e3129f2223341337055778db574e985))
|
|
48
|
+
- Rewrite limitations with technical explanations and remove inaccurate claims (by @ChristopherVR) ([ac4bc84](https://github.com/ChristopherVR/pptx-viewer/commit/ac4bc84ed9bd03f62e3ae29c35baf3f444a3c0bf))
|
|
49
|
+
- **readme:** Npm-friendly READMEs — hero image, capabilities & install first (by @ChristopherVR) ([c843d19](https://github.com/ChristopherVR/pptx-viewer/commit/c843d1934b846f901bba92e63d2b01f9479594d0))
|
|
50
|
+
- Streamline npm READMEs and add badges, screenshots, demo links (by @ChristopherVR) ([92e980d](https://github.com/ChristopherVR/pptx-viewer/commit/92e980d434900abd223c4d70c6cae19a623f9ca8))
|
|
51
|
+
- Sharpen npm descriptions and keywords for discoverability (by @ChristopherVR) ([8fea56d](https://github.com/ChristopherVR/pptx-viewer/commit/8fea56d7650f7dc2f3167dea97b94b612a03a4e7))
|
|
52
|
+
- **core:** Reword README in plain language (by @ChristopherVR) ([793c26e](https://github.com/ChristopherVR/pptx-viewer/commit/793c26ec7e2415c66f34c637cb541483bf395a11))
|
|
53
|
+
- Remove completed ROADMAP and PORTING trackers, scrub stale references (by @ChristopherVR) ([8a745a1](https://github.com/ChristopherVR/pptx-viewer/commit/8a745a1d2a1ee3932503d37dd022494ab9cfcc4b))
|
|
54
|
+
- **core:** Remove explicit jszip/fast-xml-parser mention from install section (by @ChristopherVR) ([6b72906](https://github.com/ChristopherVR/pptx-viewer/commit/6b72906c08447ba38a704ff4572c89d7cad7e60c))
|
|
55
|
+
|
|
56
|
+
### Build & CI
|
|
57
|
+
|
|
58
|
+
- Independent per-package versioning, tags, and changelogs (by @ChristopherVR) ([79595d9](https://github.com/ChristopherVR/pptx-viewer/commit/79595d972d7c4102e8b1e1e3926f439486f76ba1))
|
|
59
|
+
|
|
60
|
+
### Dependencies
|
|
61
|
+
|
|
62
|
+
- **deps:** Update all dependencies to latest (by @ChristopherVR) ([e3287c0](https://github.com/ChristopherVR/pptx-viewer/commit/e3287c03ff58b1a1ae103ed32a513468a454a084))
|
|
63
|
+
- **deps:** Bump all workspace manifest floors to latest (by @ChristopherVR) ([890c33d](https://github.com/ChristopherVR/pptx-viewer/commit/890c33d667a39480a69e6a3da893964382993b29))
|
|
64
|
+
- **deps:** Update dependencies within semver ranges (by @ChristopherVR) ([d472b58](https://github.com/ChristopherVR/pptx-viewer/commit/d472b58dfd47628b5c682bd5f4dc2014ec29b421))
|
|
65
|
+
- **deps:** Declare yjs, y-websocket, and y-webrtc across bindings (by @ChristopherVR) ([27a2849](https://github.com/ChristopherVR/pptx-viewer/commit/27a2849da755a0902296dcd59557c1329a1cbadf))
|
|
66
|
+
|
|
67
|
+
### Chores
|
|
68
|
+
|
|
69
|
+
- Add license files, NOTICE, and package metadata for npm publishing (by @ChristopherVR) ([9464bb8](https://github.com/ChristopherVR/pptx-viewer/commit/9464bb8b91734daf35131d3c7e52e60895fe0a1c))
|
|
70
|
+
- Bump all packages to v1.1.0 and remove remaining MyClawAssist refs (by @ChristopherVR) ([c386511](https://github.com/ChristopherVR/pptx-viewer/commit/c38651150c08011cee5e17e15f7ee8adc0014b80))
|
|
71
|
+
- Bump all packages to 1.x.1 patch versions (by @ChristopherVR) ([c75205a](https://github.com/ChristopherVR/pptx-viewer/commit/c75205a96cc7797d1647ac4705395b7707ac8910))
|
|
72
|
+
- Bump all packages to minor versions for SDK table support (by @ChristopherVR) ([2d4b635](https://github.com/ChristopherVR/pptx-viewer/commit/2d4b6351b0bf328f8a556cf593733fd8ad36c7b5))
|
|
73
|
+
- Bump dependencies to latest and minor-bump packages for parity work (by @ChristopherVR) ([da19fdf](https://github.com/ChristopherVR/pptx-viewer/commit/da19fdf9a4670d274d9973b67aa22d34217b8555))
|
|
74
|
+
- Roll TypeScript back to 5.9.x; quiet new oxlint vitest rules (by @ChristopherVR) ([713c020](https://github.com/ChristopherVR/pptx-viewer/commit/713c020ac2428db0fb1eb6cb30e56b2cff19a80f))
|
|
75
|
+
- Relicense from MIT to Apache-2.0 (by @ChristopherVR) ([e12f926](https://github.com/ChristopherVR/pptx-viewer/commit/e12f9266f02bebbfc218986b617c418fee43a56b))
|
|
76
|
+
- Bump vanilla + svelte to 0.1.1; clarify view-only in READMEs (by @ChristopherVR) ([0bc44ab](https://github.com/ChristopherVR/pptx-viewer/commit/0bc44ab3b083c7d8aeed51197584f8eee04fc9ee))
|
|
77
|
+
|
|
78
|
+
# Changelog
|
|
79
|
+
|
|
3
80
|
All notable changes to `pptx-svelte-viewer` are documented in this file.
|
package/README.md
CHANGED
|
@@ -1,27 +1,49 @@
|
|
|
1
1
|
# pptx-svelte-viewer
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/pptx-svelte-viewer)
|
|
4
|
+
[](https://github.com/ChristopherVR/pptx-viewer/blob/main/LICENSE)
|
|
5
|
+
|
|
6
|
+
Show, edit, and present Microsoft PowerPoint (`.pptx`) files directly in a
|
|
7
|
+
Svelte 5 app: no server, no conversion step, no PowerPoint install required.
|
|
8
|
+
Drop in a `<PowerPointViewer>` component (built with runes), hand it the
|
|
9
|
+
file's bytes, and it renders slides as real HTML and CSS.
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
The rendering is done by the framework-agnostic [`pptx-viewer-core`](https://www.npmjs.com/package/pptx-viewer-core) engine, which turns a `.pptx` file into a structured slide model. This package is the Svelte layer that draws that model on screen, and the engine is **bundled in**, so you install just one package.
|
|
14
|
+
|
|
15
|
+
<samp>**[▶️ Try the live demo](https://christophervr.github.io/pptx-viewer/demo-svelte/)** · **[📦 npm](https://www.npmjs.com/package/pptx-svelte-viewer)** · **[📖 Full docs](https://christophervr.github.io/pptx-viewer/svelte/)** · **[🧩 Core SDK](https://www.npmjs.com/package/pptx-viewer-core)**</samp>
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
- **A single component**: `<PowerPointViewer>`, written with Svelte 5 runes.
|
|
20
|
+
- **Real HTML rendering**: slides are drawn as ordinary HTML and SVG, not as a
|
|
21
|
+
picture, so text stays sharp at any zoom and is selectable and accessible.
|
|
22
|
+
- **Full element coverage**: text, shapes, images, groups, connectors, tables,
|
|
23
|
+
charts, SmartArt (2D and opt-in 3D), media (video/audio), ink, OLE embedded
|
|
24
|
+
objects, and 3D models - all powered by the same shared engine as the other
|
|
25
|
+
bindings.
|
|
26
|
+
- **Editing**: select, drag, resize, rotate; inline text editing; undo/redo;
|
|
27
|
+
save the edited deck back to `.pptx`.
|
|
28
|
+
- **Presentation mode**: fullscreen presenting via the real Fullscreen API,
|
|
29
|
+
with media autoplay.
|
|
30
|
+
- **Export**: rasterise slides to PNG or PDF straight from the browser.
|
|
31
|
+
- **Slide navigation**: thumbnail sidebar, toolbar, keyboard navigation, and
|
|
32
|
+
a speaker-notes panel.
|
|
33
|
+
- **Themeable**: the shared `ViewerTheme` system (`--pptx-*` CSS custom
|
|
34
|
+
properties), including the vermilion presets.
|
|
35
|
+
- **i18n**: English built in; register more locales via
|
|
36
|
+
`pptx-svelte-viewer/i18n`.
|
|
17
37
|
|
|
18
38
|
## Install
|
|
19
39
|
|
|
20
40
|
```bash
|
|
21
|
-
npm install pptx-svelte-viewer
|
|
41
|
+
npm install pptx-svelte-viewer jszip fast-xml-parser
|
|
22
42
|
```
|
|
23
43
|
|
|
24
|
-
Requires Svelte 5 (runes).
|
|
44
|
+
Requires Svelte 5 (runes) as a peer. The `pptx-viewer-core` engine is
|
|
45
|
+
**bundled in**, so you don't install it separately unless you want to call
|
|
46
|
+
the SDK directly.
|
|
25
47
|
|
|
26
48
|
## Usage
|
|
27
49
|
|
|
@@ -51,25 +73,25 @@ Requires Svelte 5 (runes).
|
|
|
51
73
|
|
|
52
74
|
## Props
|
|
53
75
|
|
|
54
|
-
| Prop | Type | Default | Description
|
|
55
|
-
| ---------------- | ------------------------------- | ------- |
|
|
56
|
-
| `source` | `Uint8Array \| ArrayBuffer` | - | Raw `.pptx` bytes.
|
|
57
|
-
| `theme` | `ViewerTheme` | - | Color/radius/CSS-var overrides.
|
|
58
|
-
| `locale` | `string` | `'en'` | UI locale (see `pptx-svelte-viewer/i18n`).
|
|
59
|
-
| `initialSlide` | `number` | `0` | Slide shown after load (0-based).
|
|
60
|
-
| `showThumbnails` | `boolean` | `true` | Thumbnail sidebar.
|
|
61
|
-
| `showToolbar` | `boolean` | `true` | Navigation/zoom/fullscreen toolbar.
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
the
|
|
72
|
-
|
|
76
|
+
| Prop | Type | Default | Description |
|
|
77
|
+
| ---------------- | ------------------------------- | ------- | ------------------------------------------------- |
|
|
78
|
+
| `source` | `Uint8Array \| ArrayBuffer` | - | Raw `.pptx` bytes. |
|
|
79
|
+
| `theme` | `ViewerTheme` | - | Color/radius/CSS-var overrides. |
|
|
80
|
+
| `locale` | `string` | `'en'` | UI locale (see `pptx-svelte-viewer/i18n`). |
|
|
81
|
+
| `initialSlide` | `number` | `0` | Slide shown after load (0-based). |
|
|
82
|
+
| `showThumbnails` | `boolean` | `true` | Thumbnail sidebar. |
|
|
83
|
+
| `showToolbar` | `boolean` | `true` | Navigation/zoom/fullscreen toolbar. |
|
|
84
|
+
| `showNotes` | `boolean` | `true` | Speaker-notes panel and its toolbar toggle. |
|
|
85
|
+
| `editable` | `boolean` | `false` | In-place editing (select/drag/resize/text/undo). |
|
|
86
|
+
| `smartArt3D` | `boolean` | `false` | Opt-in Three.js 3D SmartArt renderer. |
|
|
87
|
+
| `onload` | `(d: ViewerLoadDetail) => void` | - | Fired after a presentation loads. |
|
|
88
|
+
| `onerror` | `(message: string) => void` | - | Fired when loading fails. |
|
|
89
|
+
| `onslidechange` | `(index: number) => void` | - | Fired when the active slide changes. |
|
|
90
|
+
| `onnotesupdate` | `(notes: string) => void` | - | Fired when the user edits the speaker notes. |
|
|
91
|
+
| `onchange` | `() => void` | - | Fired after every committed edit when `editable`. |
|
|
92
|
+
|
|
93
|
+
See the [full docs](https://christophervr.github.io/pptx-viewer/svelte/) for
|
|
94
|
+
the complete props/events contract, theming, and localization guides.
|
|
73
95
|
|
|
74
96
|
## License
|
|
75
97
|
|