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.
Files changed (3) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +57 -35
  3. 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
- > ### ⚠️ Viewing capability only
4
- >
5
- > This release provides **read-only / viewing** of `.pptx` files.
6
- > Editing, saving, and authoring features are **not available** in this
7
- > version and will be added in a future release.
8
- >
9
- > The package is under active development and the API may change.
10
- > For the latest source, roadmap, and issue tracker visit:
11
- >
12
- > **https://github.com/ChristopherVR/pptx-viewer**
13
-
14
- Svelte 5 PowerPoint viewer component. Renders `.pptx` slides in the browser
15
- using the same framework-agnostic engine (`pptx-viewer-core` +
16
- `pptx-viewer-shared`) as the React, Vue, and Angular bindings.
3
+ [![npm version](https://img.shields.io/npm/v/pptx-svelte-viewer.svg)](https://www.npmjs.com/package/pptx-svelte-viewer)
4
+ [![license](https://img.shields.io/npm/l/pptx-svelte-viewer.svg)](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
+ ![PowerPoint editor UI rendered in the browser](https://raw.githubusercontent.com/ChristopherVR/pptx-viewer/main/.github/assets/editor.png)
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
- | `onload` | `(d: ViewerLoadDetail) => void` | - | Fired after a presentation loads. |
63
- | `onerror` | `(message: string) => void` | - | Fired when loading fails. |
64
- | `onslidechange` | `(index: number) => void` | - | Fired when the active slide changes. |
65
-
66
- ## Status
67
-
68
- This package is the viewer milestone: text, shapes, images, groups,
69
- connectors, tables, charts, SmartArt, media (video/audio), ink, and OLE
70
- embedded objects all render for real, powered by the same shared engine as
71
- the other bindings. The remaining niche types (content parts, zoom links,
72
- 3D models) render typed placeholders. Editing is not included yet.
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-svelte-viewer",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Svelte 5 PowerPoint viewer component: render PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "office",