@extend-ai/react-pptx 0.2.5 → 0.3.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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @extend-ai/react-pptx
2
2
 
3
+ ## 0.3.0
4
+
5
+ - Update the bundled Rust parser to `rust-pptx` 0.1.7 (`rust-office-art` 0.1.6, `rust-office-charts` 0.1.8).
6
+ - Expose the parser's presentation metadata in the model: slide, layout and master `transition` and `timing` (animation timelines and build lists), Office Math runs (`TextRun.math` with MathML), text fields (`TextRun.field`), merged table cells (`TableCell.merge`), click and hover actions, editing locks and connector endpoints, ink drawings, media playback trims, bookmarks and poster frames, embedded OLE objects and controls, modern comments, and accessibility titles, descriptions and decorative flags.
7
+ - Render Office Math runs as sanitized MathML, skip merged table cells, turn presentation jump and slide-link actions into in-viewer navigation, show media poster frames with a play control and honour trim points, offer embedded objects as downloads, and paint `fallbackPicture` artwork when the primary picture is unavailable.
8
+ - Add the hand-written `model-features.pptx` fixture and parser contract tests for the new fields.
9
+ - Remove the TypeScript chart fallback renderer. Charts are rendered to SVG by the bundled Rust parser (`rust-office-charts`), so `d3-*`, `regl`, `topojson-client`, and the TopoJSON atlas chunk are gone from the package.
10
+ - Bundle TanStack Virtual; the package now has no runtime dependencies beyond its React peers.
11
+ - Accept picture fills, `<desc>` notes, markers, and filter primitives in parser-rendered chart SVG instead of dropping to a placeholder.
12
+ - Chart nodes without parser SVG fall back to the built-in series placeholder, whose bars and lines now carry `data-rpv-chart-series` / `data-rpv-chart-point` attributes.
13
+ - Excel map charts render from the geometry PowerPoint saves in the chart part (`cx:geoCache`); a map chart saved without it shows the placeholder instead of the former TopoJSON approximation.
14
+
3
15
  ## 0.2.5
4
16
 
5
17
  - Refresh the shared Rust parser and OfficeArt renderer for cached SmartArt shapes, pictures, effects, and charts.
@@ -33,7 +45,7 @@
33
45
 
34
46
  - Improve PowerPoint import fidelity for word spacing, hyperlink styling, diagonal stripe shapes, and straight connectors, including zero-width vertical timeline stems.
35
47
 
36
- ## Unreleased
48
+ ## 0.3.0
37
49
 
38
50
  - Add a cold-start `createPptxThumbnailRenderer` API with package-owned PNG, canvas, ImageBitmap,
39
51
  and SVG outputs, explicit thumbnail font policy, cancellation, bounded concurrency, shared
package/README.md CHANGED
@@ -193,6 +193,20 @@ provides the internal slide surface for advanced integrations and test harnesses
193
193
 
194
194
  Pictures, supported shapes, connectors, and saved SmartArt drawings use the shared Rust OfficeArt renderer. SmartArt text retains its saved text frame separately from the shape frame, including independent offsets, dimensions, rotation, and flips. Semantic data without a supported saved drawing remains an explicit layout fallback.
195
195
 
196
+ ### Presentation metadata
197
+
198
+ The model carries PowerPoint data beyond the drawn slide so hosts can build their own
199
+ behaviour on it. Slides, layouts and masters expose `transition` and `timing` (the parsed
200
+ `p:transition` and `p:timing` parts, including animation nodes, targets and build lists),
201
+ text runs expose `math` (Office Math with a MathML rendering) and `field` (slide numbers,
202
+ dates and other fields with their cached text), table cells expose `merge`, and every node
203
+ may carry `clickAction`, `hoverAction`, `editing` (locks and connector endpoints),
204
+ `accessibilityTitle`, `description` and `decorative`. Media nodes expose `playback` trims
205
+ and bookmarks, a `poster` frame, and `embeddedObject` details for OLE objects and
206
+ controls. The viewer renders math as MathML, skips merged cells, navigates presentation
207
+ jump and slide-link actions in place, and shows poster frames with a play control; it
208
+ does not play transitions or animation timelines.
209
+
196
210
  `parsePresentation(source, { include3dModels: true })` includes original embedded 3D model bytes and content type, model and preview relationships, and scene XML in `ImageNode.model3d`. The option also works through `ReactPptxViewer`'s `parseOptions` and the parsing hook. It defaults to `false`; cached Office raster previews remain the rendered appearance. This metadata does not add an interactive 3D renderer.
197
211
 
198
212
  ## Cold-start thumbnails
@@ -14,27 +14,14 @@ information at `THIRD_PARTY_LICENSES/apache-poi-LICENSE.txt`,
14
14
  `THIRD_PARTY_LICENSES/apache-poi-NOTICE.txt`, and
15
15
  `THIRD_PARTY_LICENSES/apache-poi-SOURCE.md`.
16
16
 
17
- The React chart renderer and chart model builder used for fallback rendering
18
- are vendored from [`@extend-ai/react-xlsx`](https://github.com/extend-hq/react-xlsx) (MIT).
19
-
20
- The chart libraries `d3-scale`, `d3-shape`, `d3-hierarchy`, `d3-geo` (ISC,
21
- Copyright Mike Bostock), `topojson-client` (ISC), and
22
- [`regl`](https://github.com/regl-project/regl) (MIT) are declared as regular
23
- package dependencies.
24
-
25
- The published package bundles the
26
- [`us-atlas`](https://github.com/topojson/us-atlas) and
27
- [`world-atlas`](https://github.com/topojson/world-atlas) TopoJSON boundary data
28
- (ISC License) inside a dynamically imported chunk that only loads when a
29
- presentation contains an Excel map chart.
30
-
31
- The published package includes the ISC and MIT license texts at
32
- `THIRD_PARTY_LICENSES/ISC.txt` and `THIRD_PARTY_LICENSES/MIT.txt`.
17
+ The chart renderer embeds its own map boundary data for Excel map charts; the
18
+ published package no longer ships TopoJSON atlases or JavaScript chart libraries.
33
19
 
34
20
  ## Virtualized scrolling
35
21
 
36
22
  The continuous-scroll mode and React thumbnail rails are windowed with
37
23
  [`@tanstack/virtual-core`](https://github.com/TanStack/virtual) and
38
24
  [`@tanstack/react-virtual`](https://github.com/TanStack/virtual) (MIT License,
39
- Copyright (c) 2021-present Tanner Linsley), declared as regular package
40
- dependencies.
25
+ Copyright (c) 2021-present Tanner Linsley), bundled into the published
26
+ JavaScript so the package has no runtime dependencies beyond React. The MIT
27
+ license text is included at `THIRD_PARTY_LICENSES/MIT.txt`.
@@ -15,10 +15,12 @@ var __export = (target, all) => {
15
15
  };
16
16
  var pptx_wasm_exports = {};
17
17
  __export(pptx_wasm_exports, {
18
+ ParsedPresentation: () => ParsedPresentation,
18
19
  default: () => __wbg_init,
19
20
  detect_presentation_format: () => detect_presentation_format,
20
21
  initSync: () => initSync,
21
- parse_presentation: () => parse_presentation
22
+ parse_presentation: () => parse_presentation,
23
+ render_presentation_node_artwork: () => render_presentation_node_artwork
22
24
  });
23
25
  function detect_presentation_format(bytes) {
24
26
  let deferred3_0;
@@ -64,6 +66,23 @@ function parse_presentation(bytes, options) {
64
66
  wasm.__wbindgen_add_to_stack_pointer(16);
65
67
  }
66
68
  }
69
+ function render_presentation_node_artwork(bytes, options, target) {
70
+ try {
71
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
72
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
73
+ const len0 = WASM_VECTOR_LEN;
74
+ wasm.render_presentation_node_artwork(retptr, ptr0, len0, isLikeNone(options) ? 0 : addHeapObject(options), addHeapObject(target));
75
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
76
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
77
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
78
+ if (r2) {
79
+ throw takeObject(r1);
80
+ }
81
+ return takeObject(r0);
82
+ } finally {
83
+ wasm.__wbindgen_add_to_stack_pointer(16);
84
+ }
85
+ }
67
86
  function __wbg_get_imports() {
68
87
  const import0 = {
69
88
  __proto__: null,
@@ -71,6 +90,10 @@ function __wbg_get_imports() {
71
90
  const ret = Error(getStringFromWasm0(arg0, arg1));
72
91
  return addHeapObject(ret);
73
92
  },
93
+ __wbg_Number_9a4e0ecb0fa16705: function(arg0) {
94
+ const ret = Number(getObject(arg0));
95
+ return ret;
96
+ },
74
97
  __wbg_String_8564e559799eccda: function(arg0, arg1) {
75
98
  const ret = String(getObject(arg1));
76
99
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
@@ -78,6 +101,12 @@ function __wbg_get_imports() {
78
101
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
79
102
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
80
103
  },
104
+ __wbg___wbindgen_bigint_get_as_i64_d968e41184ae354f: function(arg0, arg1) {
105
+ const v = getObject(arg1);
106
+ const ret = typeof v === "bigint" ? v : void 0;
107
+ getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);
108
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
109
+ },
81
110
  __wbg___wbindgen_boolean_get_fa956cfa2d1bd751: function(arg0) {
82
111
  const v = getObject(arg0);
83
112
  const ret = typeof v === "boolean" ? v : void 0;
@@ -94,6 +123,10 @@ function __wbg_get_imports() {
94
123
  const ret = getObject(arg0) in getObject(arg1);
95
124
  return ret;
96
125
  },
126
+ __wbg___wbindgen_is_bigint_2f76dc55065b4273: function(arg0) {
127
+ const ret = typeof getObject(arg0) === "bigint";
128
+ return ret;
129
+ },
97
130
  __wbg___wbindgen_is_null_ea9085d691f535d3: function(arg0) {
98
131
  const ret = getObject(arg0) === null;
99
132
  return ret;
@@ -111,6 +144,10 @@ function __wbg_get_imports() {
111
144
  const ret = getObject(arg0) === void 0;
112
145
  return ret;
113
146
  },
147
+ __wbg___wbindgen_jsval_eq_e659fcf7b0e32763: function(arg0, arg1) {
148
+ const ret = getObject(arg0) === getObject(arg1);
149
+ return ret;
150
+ },
114
151
  __wbg___wbindgen_jsval_loose_eq_db4c3b15f63fc170: function(arg0, arg1) {
115
152
  const ret = getObject(arg0) == getObject(arg1);
116
153
  return ret;
@@ -160,6 +197,10 @@ function __wbg_get_imports() {
160
197
  const ret = result;
161
198
  return ret;
162
199
  },
200
+ __wbg_isSafeInteger_04f36e4056f1b851: function(arg0) {
201
+ const ret = Number.isSafeInteger(getObject(arg0));
202
+ return ret;
203
+ },
163
204
  __wbg_length_1f0964f4a5e2c6d8: function(arg0) {
164
205
  const ret = getObject(arg0).length;
165
206
  return ret;
@@ -444,6 +485,8 @@ async function __wbg_init(module_or_path) {
444
485
  const { instance, module } = await __wbg_load(await module_or_path, imports);
445
486
  return __wbg_finalize_init(instance);
446
487
  }
488
+ var ParsedPresentation;
489
+ var ParsedPresentationFinalization;
447
490
  var cachedDataViewMemory0;
448
491
  var cachedUint8ArrayMemory0;
449
492
  var heap;
@@ -456,6 +499,87 @@ var WASM_VECTOR_LEN;
456
499
  var wasm;
457
500
  var init_pptx_wasm = __esm({
458
501
  "pkg/pptx_wasm.js"() {
502
+ ParsedPresentation = class {
503
+ __destroy_into_raw() {
504
+ const ptr = this.__wbg_ptr;
505
+ this.__wbg_ptr = 0;
506
+ ParsedPresentationFinalization.unregister(this);
507
+ return ptr;
508
+ }
509
+ free() {
510
+ const ptr = this.__destroy_into_raw();
511
+ wasm.__wbg_parsedpresentation_free(ptr, 0);
512
+ }
513
+ /**
514
+ * The deferred model, as `parse_presentation(bytes, { ...options, deferArtwork: true })`
515
+ * returns it.
516
+ * @returns {any}
517
+ */
518
+ document() {
519
+ try {
520
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
521
+ wasm.parsedpresentation_document(retptr, this.__wbg_ptr);
522
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
523
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
524
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
525
+ if (r2) {
526
+ throw takeObject(r1);
527
+ }
528
+ return takeObject(r0);
529
+ } finally {
530
+ wasm.__wbindgen_add_to_stack_pointer(16);
531
+ }
532
+ }
533
+ /**
534
+ * @param {Uint8Array} bytes
535
+ * @param {any | null} [options]
536
+ */
537
+ constructor(bytes, options) {
538
+ try {
539
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
540
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
541
+ const len0 = WASM_VECTOR_LEN;
542
+ wasm.parsedpresentation_new(retptr, ptr0, len0, isLikeNone(options) ? 0 : addHeapObject(options));
543
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
544
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
545
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
546
+ if (r2) {
547
+ throw takeObject(r1);
548
+ }
549
+ this.__wbg_ptr = r0;
550
+ ParsedPresentationFinalization.register(this, this.__wbg_ptr, this);
551
+ return this;
552
+ } finally {
553
+ wasm.__wbindgen_add_to_stack_pointer(16);
554
+ }
555
+ }
556
+ /**
557
+ * Renders one node's `{ svg, paintBounds?, fallbackPicture? }`, or `undefined`
558
+ * when the node has none or does not exist. `target` is
559
+ * `{ slideIndex | layoutId | masterId, nodeId }`.
560
+ * @param {any} target
561
+ * @returns {any}
562
+ */
563
+ render_node_artwork(target) {
564
+ try {
565
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
566
+ wasm.parsedpresentation_render_node_artwork(retptr, this.__wbg_ptr, addHeapObject(target));
567
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
568
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
569
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
570
+ if (r2) {
571
+ throw takeObject(r1);
572
+ }
573
+ return takeObject(r0);
574
+ } finally {
575
+ wasm.__wbindgen_add_to_stack_pointer(16);
576
+ }
577
+ }
578
+ };
579
+ if (Symbol.dispose) ParsedPresentation.prototype[Symbol.dispose] = ParsedPresentation.prototype.free;
580
+ ParsedPresentationFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
581
+ }, unregister: () => {
582
+ } } : new FinalizationRegistry((ptr) => wasm.__wbg_parsedpresentation_free(ptr, 1));
459
583
  cachedDataViewMemory0 = null;
460
584
  cachedUint8ArrayMemory0 = null;
461
585
  heap = new Array(1024).fill(void 0);
@@ -506,5 +630,5 @@ async function detectPresentationFormat(bytes) {
506
630
  }
507
631
 
508
632
  export { detectPresentationFormat, initWasm, parsePresentation, parsePresentation as parse_presentation, setWasmSource };
509
- //# sourceMappingURL=dist-KIHNMEH5.js.map
510
- //# sourceMappingURL=dist-KIHNMEH5.js.map
633
+ //# sourceMappingURL=dist-L6HJ7VKE.js.map
634
+ //# sourceMappingURL=dist-L6HJ7VKE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../wasm/pkg/pptx_wasm.js","../../wasm/src/index.ts"],"names":["ptr"],"mappings":"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","file":"dist-L6HJ7VKE.js","sourcesContent":["/* @ts-self-types=\"./pptx_wasm.d.ts\" */\n\n/**\n * A presentation parsed once with `deferArtwork` and kept for rendering many\n * nodes on demand without parsing the file again.\n *\n * `new ParsedPresentation(bytes, options)` parses the presentation; `document()`\n * returns the deferred model, and `render_node_artwork(target)` renders one node\n * from the retained parts with the same result as `render_presentation_node_artwork`.\n * The handle holds the inflated parts and their XML trees in WebAssembly memory\n * until `free()` is called.\n */\nexport class ParsedPresentation {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ParsedPresentationFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_parsedpresentation_free(ptr, 0);\n }\n /**\n * The deferred model, as `parse_presentation(bytes, { ...options, deferArtwork: true })`\n * returns it.\n * @returns {any}\n */\n document() {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.parsedpresentation_document(retptr, this.__wbg_ptr);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * @param {Uint8Array} bytes\n * @param {any | null} [options]\n */\n constructor(bytes, options) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);\n const len0 = WASM_VECTOR_LEN;\n wasm.parsedpresentation_new(retptr, ptr0, len0, isLikeNone(options) ? 0 : addHeapObject(options));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n this.__wbg_ptr = r0;\n ParsedPresentationFinalization.register(this, this.__wbg_ptr, this);\n return this;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n /**\n * Renders one node's `{ svg, paintBounds?, fallbackPicture? }`, or `undefined`\n * when the node has none or does not exist. `target` is\n * `{ slideIndex | layoutId | masterId, nodeId }`.\n * @param {any} target\n * @returns {any}\n */\n render_node_artwork(target) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm.parsedpresentation_render_node_artwork(retptr, this.__wbg_ptr, addHeapObject(target));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n }\n}\nif (Symbol.dispose) ParsedPresentation.prototype[Symbol.dispose] = ParsedPresentation.prototype.free;\n\n/**\n * @param {Uint8Array} bytes\n * @returns {string}\n */\nexport function detect_presentation_format(bytes) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);\n const len0 = WASM_VECTOR_LEN;\n wasm.detect_presentation_format(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr2 = r0;\n var len2 = r1;\n if (r3) {\n ptr2 = 0; len2 = 0;\n throw takeObject(r2);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * @param {Uint8Array} bytes\n * @param {any | null} [options]\n * @returns {any}\n */\nexport function parse_presentation(bytes, options) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);\n const len0 = WASM_VECTOR_LEN;\n wasm.parse_presentation(retptr, ptr0, len0, isLikeNone(options) ? 0 : addHeapObject(options));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Renders the artwork of one node of a presentation parsed with `deferArtwork`.\n * `target` is `{ slideIndex | layoutId | masterId, nodeId }`; the result is the\n * node's `{ svg, paintBounds?, fallbackPicture? }`, or `undefined` when it has none.\n * @param {Uint8Array} bytes\n * @param {any | null | undefined} options\n * @param {any} target\n * @returns {any}\n */\nexport function render_presentation_node_artwork(bytes, options, target) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);\n const len0 = WASM_VECTOR_LEN;\n wasm.render_presentation_node_artwork(retptr, ptr0, len0, isLikeNone(options) ? 0 : addHeapObject(options), addHeapObject(target));\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg_Error_92b29b0548f8b746: function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n },\n __wbg_Number_9a4e0ecb0fa16705: function(arg0) {\n const ret = Number(getObject(arg0));\n return ret;\n },\n __wbg_String_8564e559799eccda: function(arg0, arg1) {\n const ret = String(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_bigint_get_as_i64_d968e41184ae354f: function(arg0, arg1) {\n const v = getObject(arg1);\n const ret = typeof(v) === 'bigint' ? v : undefined;\n getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_boolean_get_fa956cfa2d1bd751: function(arg0) {\n const v = getObject(arg0);\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_c25d447a39f5578f: function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_in_aca499c5de7ff5e5: function(arg0, arg1) {\n const ret = getObject(arg0) in getObject(arg1);\n return ret;\n },\n __wbg___wbindgen_is_bigint_2f76dc55065b4273: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'bigint';\n return ret;\n },\n __wbg___wbindgen_is_null_ea9085d691f535d3: function(arg0) {\n const ret = getObject(arg0) === null;\n return ret;\n },\n __wbg___wbindgen_is_object_a27215656b807791: function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_string_ea5e6cc2e4141dfe: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'string';\n return ret;\n },\n __wbg___wbindgen_is_undefined_c05833b95a3cf397: function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n },\n __wbg___wbindgen_jsval_eq_e659fcf7b0e32763: function(arg0, arg1) {\n const ret = getObject(arg0) === getObject(arg1);\n return ret;\n },\n __wbg___wbindgen_jsval_loose_eq_db4c3b15f63fc170: function(arg0, arg1) {\n const ret = getObject(arg0) == getObject(arg1);\n return ret;\n },\n __wbg___wbindgen_number_get_394265ed1e1b84ee: function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_string_get_b0ca35b86a603356: function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_344f42d3211c4765: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg_from_13e323c65fc8f464: function(arg0) {\n const ret = Array.from(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_get_with_ref_key_6412cf3094599694: function(arg0, arg1) {\n const ret = getObject(arg0)[getObject(arg1)];\n return addHeapObject(ret);\n },\n __wbg_instanceof_ArrayBuffer_4480b9e0068a8adb: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint8Array_309b927aaf7a3fc7: function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_isSafeInteger_04f36e4056f1b851: function(arg0) {\n const ret = Number.isSafeInteger(getObject(arg0));\n return ret;\n },\n __wbg_length_1f0964f4a5e2c6d8: function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n },\n __wbg_new_32b398fb48b6d94a: function() {\n const ret = new Array();\n return addHeapObject(ret);\n },\n __wbg_new_7796ffc7ed656783: function() {\n const ret = new Map();\n return addHeapObject(ret);\n },\n __wbg_new_cd45aabdf6073e84: function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n },\n __wbg_new_da52cf8fe3429cb2: function() {\n const ret = new Object();\n return addHeapObject(ret);\n },\n __wbg_prototypesetcall_4770620bbe4688a0: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n },\n __wbg_set_575dd786d51585f8: function(arg0, arg1, arg2) {\n const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n },\n __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {\n getObject(arg0)[takeObject(arg1)] = takeObject(arg2);\n },\n __wbg_set_8a16b38e4805b298: function(arg0, arg1, arg2) {\n getObject(arg0)[arg1 >>> 0] = takeObject(arg2);\n },\n __wbindgen_cast_0000000000000001: function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000002: function(arg0) {\n // Cast intrinsic for `I64 -> Externref`.\n const ret = arg0;\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000003: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000004: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000005: function(arg0) {\n // Cast intrinsic for `U64 -> Externref`.\n const ret = BigInt.asUintN(64, arg0);\n return addHeapObject(ret);\n },\n __wbindgen_object_clone_ref: function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n },\n __wbindgen_object_drop_ref: function(arg0) {\n takeObject(arg0);\n },\n };\n return {\n __proto__: null,\n \"./pptx_wasm_bg.js\": import0,\n };\n}\n\nconst ParsedPresentationFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_parsedpresentation_free(ptr, 1));\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction dropObject(idx) {\n if (idx < 1028) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nlet heap = new Array(1024).fill(undefined);\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasmInstance, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasmInstance = instance;\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('pptx_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n","import type { WasmParseOptions } from './options';\nexport type { WasmParseOptions } from './options';\n\ntype WasmModule = typeof import('../pkg/pptx_wasm.js');\n\nexport type WasmSource = string | URL | Request | Response | BufferSource | WebAssembly.Module;\n\nlet source: WasmSource | undefined;\nlet runtimePromise: Promise<WasmModule> | undefined;\n\nexport function setWasmSource(nextSource: WasmSource): void {\n source = nextSource;\n runtimePromise = undefined;\n}\n\nexport async function initWasm(nextSource?: WasmSource): Promise<void> {\n if (nextSource !== undefined) setWasmSource(nextSource);\n runtimePromise ??= (async () => {\n const runtime = await import('../pkg/pptx_wasm.js');\n await runtime.default(source as Parameters<typeof runtime.default>[0]);\n return runtime;\n })();\n await runtimePromise;\n}\n\nexport async function parsePresentation(bytes: Uint8Array, options?: WasmParseOptions): Promise<unknown> {\n await initWasm();\n const runtime = await runtimePromise!;\n return runtime.parse_presentation(bytes, options);\n}\n\nexport async function detectPresentationFormat(bytes: Uint8Array): Promise<'ppt' | 'pptx'> {\n await initWasm();\n const runtime = await runtimePromise!;\n return runtime.detect_presentation_format(bytes) as 'ppt' | 'pptx';\n}\n\nexport { parsePresentation as parse_presentation };\n"]}