pptx-svelte-viewer 0.5.0 → 0.6.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 +4 -0
- package/README.md +9 -6
- package/dist/{component-CtIGg1wg.js → component-NIMULjW3.js} +20923 -16749
- package/dist/i18n/context.d.ts +20 -0
- package/dist/i18n/context.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/translator.d.ts +30 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/i18n.d.ts +56 -62
- package/dist/i18n.d.ts.map +1 -0
- package/dist/index.d.ts +765 -605
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/theme/index.d.ts +8 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration-dialogs.svelte.d.ts +31 -0
- package/dist/viewer/collab/collaboration-dialogs.svelte.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration-presence-effects.svelte.d.ts +9 -0
- package/dist/viewer/collab/collaboration-presence-effects.svelte.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration-presence.svelte.d.ts +20 -0
- package/dist/viewer/collab/collaboration-presence.svelte.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration-provider.d.ts +35 -0
- package/dist/viewer/collab/collaboration-provider.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration-remote-sync.d.ts +12 -0
- package/dist/viewer/collab/collaboration-remote-sync.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration-session.d.ts +24 -0
- package/dist/viewer/collab/collaboration-session.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration-status.d.ts +14 -0
- package/dist/viewer/collab/collaboration-status.d.ts.map +1 -0
- package/dist/viewer/collab/collaboration.svelte.d.ts +55 -0
- package/dist/viewer/collab/collaboration.svelte.d.ts.map +1 -0
- package/dist/viewer/collab/components/props.d.ts +79 -0
- package/dist/viewer/collab/components/props.d.ts.map +1 -0
- package/dist/viewer/collab/components/share-helpers.d.ts +29 -0
- package/dist/viewer/collab/components/share-helpers.d.ts.map +1 -0
- package/dist/viewer/collab/index.d.ts +15 -0
- package/dist/viewer/collab/index.d.ts.map +1 -0
- package/dist/viewer/component.d.ts +13 -0
- package/dist/viewer/component.d.ts.map +1 -0
- package/dist/viewer/components/index.d.ts +7 -0
- package/dist/viewer/components/index.d.ts.map +1 -0
- package/dist/viewer/components/props.d.ts +185 -0
- package/dist/viewer/components/props.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/animations/animation-categories.d.ts +10 -0
- package/dist/viewer/components/ribbon/animations/animation-categories.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/design/theme-swatches.d.ts +16 -0
- package/dist/viewer/components/ribbon/design/theme-swatches.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/insert/shape-glyphs.d.ts +8 -0
- package/dist/viewer/components/ribbon/insert/shape-glyphs.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/ribbon-tabs.d.ts +17 -0
- package/dist/viewer/components/ribbon/ribbon-tabs.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/ribbon-types.d.ts +67 -0
- package/dist/viewer/components/ribbon/ribbon-types.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/transitions/transition-presets.d.ts +10 -0
- package/dist/viewer/components/ribbon/transitions/transition-presets.d.ts.map +1 -0
- package/dist/viewer/editor/editing-api.d.ts +20 -0
- package/dist/viewer/editor/editing-api.d.ts.map +1 -0
- package/dist/viewer/editor/editor-animation-controller.d.ts +25 -0
- package/dist/viewer/editor/editor-animation-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-arrange-controller.d.ts +24 -0
- package/dist/viewer/editor/editor-arrange-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-arrange-ops.d.ts +28 -0
- package/dist/viewer/editor/editor-arrange-ops.d.ts.map +1 -0
- package/dist/viewer/editor/editor-background-controller.d.ts +21 -0
- package/dist/viewer/editor/editor-background-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-clipboard-controller.d.ts +18 -0
- package/dist/viewer/editor/editor-clipboard-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-clipboard.d.ts +20 -0
- package/dist/viewer/editor/editor-clipboard.d.ts.map +1 -0
- package/dist/viewer/editor/editor-controller-geometry.d.ts +8 -0
- package/dist/viewer/editor/editor-controller-geometry.d.ts.map +1 -0
- package/dist/viewer/editor/editor-controller.svelte.d.ts +43 -0
- package/dist/viewer/editor/editor-controller.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-element-controller.d.ts +21 -0
- package/dist/viewer/editor/editor-element-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-equation-controller.svelte.d.ts +12 -0
- package/dist/viewer/editor/editor-equation-controller.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-find-replace.svelte.d.ts +39 -0
- package/dist/viewer/editor/editor-find-replace.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-format-mutations.d.ts +39 -0
- package/dist/viewer/editor/editor-format-mutations.d.ts.map +1 -0
- package/dist/viewer/editor/editor-format-painter-controller.svelte.d.ts +13 -0
- package/dist/viewer/editor/editor-format-painter-controller.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-geometry.d.ts +29 -0
- package/dist/viewer/editor/editor-geometry.d.ts.map +1 -0
- package/dist/viewer/editor/editor-gestures.d.ts +48 -0
- package/dist/viewer/editor/editor-gestures.d.ts.map +1 -0
- package/dist/viewer/editor/editor-ink-controller.svelte.d.ts +59 -0
- package/dist/viewer/editor/editor-ink-controller.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-ink-gesture.d.ts +37 -0
- package/dist/viewer/editor/editor-ink-gesture.d.ts.map +1 -0
- package/dist/viewer/editor/editor-insert-action-button.d.ts +13 -0
- package/dist/viewer/editor/editor-insert-action-button.d.ts.map +1 -0
- package/dist/viewer/editor/editor-insert-chart.d.ts +10 -0
- package/dist/viewer/editor/editor-insert-chart.d.ts.map +1 -0
- package/dist/viewer/editor/editor-insert-equation.d.ts +5 -0
- package/dist/viewer/editor/editor-insert-equation.d.ts.map +1 -0
- package/dist/viewer/editor/editor-insert-field.d.ts +17 -0
- package/dist/viewer/editor/editor-insert-field.d.ts.map +1 -0
- package/dist/viewer/editor/editor-insert-media.d.ts +10 -0
- package/dist/viewer/editor/editor-insert-media.d.ts.map +1 -0
- package/dist/viewer/editor/editor-insert-smart-art.d.ts +8 -0
- package/dist/viewer/editor/editor-insert-smart-art.d.ts.map +1 -0
- package/dist/viewer/editor/editor-insert.d.ts +40 -0
- package/dist/viewer/editor/editor-insert.d.ts.map +1 -0
- package/dist/viewer/editor/editor-keyboard.d.ts +31 -0
- package/dist/viewer/editor/editor-keyboard.d.ts.map +1 -0
- package/dist/viewer/editor/editor-master-controller.d.ts +17 -0
- package/dist/viewer/editor/editor-master-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-mutations.d.ts +59 -0
- package/dist/viewer/editor/editor-mutations.d.ts.map +1 -0
- package/dist/viewer/editor/editor-paragraph-mutations.d.ts +10 -0
- package/dist/viewer/editor/editor-paragraph-mutations.d.ts.map +1 -0
- package/dist/viewer/editor/editor-selection-gestures.d.ts +24 -0
- package/dist/viewer/editor/editor-selection-gestures.d.ts.map +1 -0
- package/dist/viewer/editor/editor-selection.svelte.d.ts +32 -0
- package/dist/viewer/editor/editor-selection.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-slide-ops.d.ts +23 -0
- package/dist/viewer/editor/editor-slide-ops.d.ts.map +1 -0
- package/dist/viewer/editor/editor-slides-controller.d.ts +22 -0
- package/dist/viewer/editor/editor-slides-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-state.svelte.d.ts +102 -0
- package/dist/viewer/editor/editor-state.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-template-controller.d.ts +12 -0
- package/dist/viewer/editor/editor-template-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-text-extra-mutations.d.ts +18 -0
- package/dist/viewer/editor/editor-text-extra-mutations.d.ts.map +1 -0
- package/dist/viewer/editor/editor-transition-controller.d.ts +22 -0
- package/dist/viewer/editor/editor-transition-controller.d.ts.map +1 -0
- package/dist/viewer/editor/editor-zorder.d.ts +16 -0
- package/dist/viewer/editor/editor-zorder.d.ts.map +1 -0
- package/dist/viewer/editor/element-hit.d.ts +17 -0
- package/dist/viewer/editor/element-hit.d.ts.map +1 -0
- package/dist/viewer/editor/index.d.ts +45 -0
- package/dist/viewer/editor/index.d.ts.map +1 -0
- package/dist/viewer/editor/inline-text.d.ts +36 -0
- package/dist/viewer/editor/inline-text.d.ts.map +1 -0
- package/dist/viewer/editor/types.d.ts +12 -0
- package/dist/viewer/editor/types.d.ts.map +1 -0
- package/dist/viewer/export/export-controller.svelte.d.ts +77 -0
- package/dist/viewer/export/export-controller.svelte.d.ts.map +1 -0
- package/dist/viewer/export/export-gif.d.ts +42 -0
- package/dist/viewer/export/export-gif.d.ts.map +1 -0
- package/dist/viewer/export/export-print.d.ts +55 -0
- package/dist/viewer/export/export-print.d.ts.map +1 -0
- package/dist/viewer/export/export-ui.svelte.d.ts +45 -0
- package/dist/viewer/export/export-ui.svelte.d.ts.map +1 -0
- package/dist/viewer/export/export-video.d.ts +56 -0
- package/dist/viewer/export/export-video.d.ts.map +1 -0
- package/dist/viewer/export/export-wiring.svelte.d.ts +35 -0
- package/dist/viewer/export/export-wiring.svelte.d.ts.map +1 -0
- package/dist/viewer/export/exporting-api.d.ts +19 -0
- package/dist/viewer/export/exporting-api.d.ts.map +1 -0
- package/dist/viewer/export/index.d.ts +16 -0
- package/dist/viewer/export/index.d.ts.map +1 -0
- package/dist/viewer/export/rasterize-slide.d.ts +44 -0
- package/dist/viewer/export/rasterize-slide.d.ts.map +1 -0
- package/dist/viewer/export/render-to-canvas.d.ts +15 -0
- package/dist/viewer/export/render-to-canvas.d.ts.map +1 -0
- package/dist/viewer/index.d.ts +7536 -7597
- package/dist/viewer/index.d.ts.map +1 -0
- package/dist/viewer/index.js +1 -1
- package/dist/viewer/master/master-view.d.ts +7 -0
- package/dist/viewer/master/master-view.d.ts.map +1 -0
- package/dist/viewer/presentation/animation-playback.svelte.d.ts +57 -0
- package/dist/viewer/presentation/animation-playback.svelte.d.ts.map +1 -0
- package/dist/viewer/presentation/apply-animation-styles.d.ts +8 -0
- package/dist/viewer/presentation/apply-animation-styles.d.ts.map +1 -0
- package/dist/viewer/presentation/index.d.ts +10 -0
- package/dist/viewer/presentation/index.d.ts.map +1 -0
- package/dist/viewer/presentation/keyframes.d.ts +3 -0
- package/dist/viewer/presentation/keyframes.d.ts.map +1 -0
- package/dist/viewer/presentation/presentation-controller.svelte.d.ts +69 -0
- package/dist/viewer/presentation/presentation-controller.svelte.d.ts.map +1 -0
- package/dist/viewer/presentation/presentation-effects.svelte.d.ts +31 -0
- package/dist/viewer/presentation/presentation-effects.svelte.d.ts.map +1 -0
- package/dist/viewer/render/chart-view.d.ts +35 -0
- package/dist/viewer/render/chart-view.d.ts.map +1 -0
- package/dist/viewer/render/contentpart-view.d.ts +24 -0
- package/dist/viewer/render/contentpart-view.d.ts.map +1 -0
- package/dist/viewer/render/index.d.ts +25 -0
- package/dist/viewer/render/index.d.ts.map +1 -0
- package/dist/viewer/render/ink-view.d.ts +25 -0
- package/dist/viewer/render/ink-view.d.ts.map +1 -0
- package/dist/viewer/render/media-view.d.ts +17 -0
- package/dist/viewer/render/media-view.d.ts.map +1 -0
- package/dist/viewer/render/model3d-view.d.ts +16 -0
- package/dist/viewer/render/model3d-view.d.ts.map +1 -0
- package/dist/viewer/render/ole-view.d.ts +44 -0
- package/dist/viewer/render/ole-view.d.ts.map +1 -0
- package/dist/viewer/render/smart-art-3d-view.d.ts +18 -0
- package/dist/viewer/render/smart-art-3d-view.d.ts.map +1 -0
- package/dist/viewer/render/smartart-view.d.ts +54 -0
- package/dist/viewer/render/smartart-view.d.ts.map +1 -0
- package/dist/viewer/render/table-view.d.ts +39 -0
- package/dist/viewer/render/table-view.d.ts.map +1 -0
- package/dist/viewer/render/zoom-view.d.ts +18 -0
- package/dist/viewer/render/zoom-view.d.ts.map +1 -0
- package/dist/viewer/state/autosave.svelte.d.ts +61 -0
- package/dist/viewer/state/autosave.svelte.d.ts.map +1 -0
- package/dist/viewer/state/fullscreen.d.ts +16 -0
- package/dist/viewer/state/fullscreen.d.ts.map +1 -0
- package/dist/viewer/state/index.d.ts +9 -0
- package/dist/viewer/state/index.d.ts.map +1 -0
- package/dist/viewer/state/layout-state.svelte.d.ts +30 -0
- package/dist/viewer/state/layout-state.svelte.d.ts.map +1 -0
- package/dist/viewer/state/loader-helpers.d.ts +27 -0
- package/dist/viewer/state/loader-helpers.d.ts.map +1 -0
- package/dist/viewer/state/navigation.d.ts +26 -0
- package/dist/viewer/state/navigation.d.ts.map +1 -0
- package/dist/viewer/state/presentation-loader.svelte.d.ts +41 -0
- package/dist/viewer/state/presentation-loader.svelte.d.ts.map +1 -0
- package/dist/viewer/state/render-context.d.ts +9 -0
- package/dist/viewer/state/render-context.d.ts.map +1 -0
- package/dist/viewer/state/smart-art-3d-context.d.ts +22 -0
- package/dist/viewer/state/smart-art-3d-context.d.ts.map +1 -0
- package/dist/viewer/state/viewer-effects.svelte.d.ts +31 -0
- package/dist/viewer/state/viewer-effects.svelte.d.ts.map +1 -0
- package/dist/viewer/state/viewer-state.svelte.d.ts +36 -0
- package/dist/viewer/state/viewer-state.svelte.d.ts.map +1 -0
- package/dist/viewer/state/viewport-handlers.d.ts +24 -0
- package/dist/viewer/state/viewport-handlers.d.ts.map +1 -0
- package/dist/viewer/style/connector-label.d.ts +13 -0
- package/dist/viewer/style/connector-label.d.ts.map +1 -0
- package/dist/viewer/style/css.d.ts +13 -0
- package/dist/viewer/style/css.d.ts.map +1 -0
- package/dist/viewer/style/element-style.d.ts +26 -0
- package/dist/viewer/style/element-style.d.ts.map +1 -0
- package/dist/viewer/style/index.d.ts +5 -0
- package/dist/viewer/style/index.d.ts.map +1 -0
- package/dist/viewer/style/merge-3d.d.ts +10 -0
- package/dist/viewer/style/merge-3d.d.ts.map +1 -0
- package/dist/viewer/style/text-style.d.ts +4 -0
- package/dist/viewer/style/text-style.d.ts.map +1 -0
- package/dist/viewer/types.d.ts +189 -0
- package/dist/viewer/types.d.ts.map +1 -0
- package/package.json +6 -4
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ExportProgress, RasterizeSlide } from './export-controller.svelte';
|
|
2
|
+
/**
|
|
3
|
+
* Video (WebM) export driven by the shared `video-plan` maths: segment timing
|
|
4
|
+
* comes from `planVideoSegments` (default duration + per-slide overrides +
|
|
5
|
+
* fps -> frame count), the frame pacing from `fpsToFrameIntervalMs`, and the
|
|
6
|
+
* recorder MIME type from `pickSupportedMimeType(WEBM_MIME_CANDIDATES)`. This
|
|
7
|
+
* module owns the browser glue only: rasterise every slide first (capture
|
|
8
|
+
* phase), then replay each canvas onto a recording canvas whose
|
|
9
|
+
* `captureStream()` feeds a `MediaRecorder` (recording phase). Mirrors
|
|
10
|
+
* React's `exportAllSlidesAsVideo`, minus the live-stage slide flipping (the
|
|
11
|
+
* injected rasteriser renders off-screen instead).
|
|
12
|
+
*/
|
|
13
|
+
/** Options for the WebM video export. */
|
|
14
|
+
export interface ExportVideoOptions {
|
|
15
|
+
/** Duration each slide is shown, in milliseconds. Default 3000. */
|
|
16
|
+
slideDurationMs?: number;
|
|
17
|
+
/** Per-slide duration overrides in milliseconds (index maps to slide index). */
|
|
18
|
+
slideTimingsMs?: number[];
|
|
19
|
+
/** Recording frame rate. Default 30. */
|
|
20
|
+
fps?: number;
|
|
21
|
+
/** Recorder bitrate. Default 5,000,000 (5 Mbps). */
|
|
22
|
+
videoBitsPerSecond?: number;
|
|
23
|
+
/** Capture-phase progress callback: `(currentSlide, totalSlides)`. */
|
|
24
|
+
onProgress?: ExportProgress;
|
|
25
|
+
/** Recording-phase progress callback: `(currentSlide, totalSlides)`. */
|
|
26
|
+
onRecordProgress?: ExportProgress;
|
|
27
|
+
/** Abort the export early; checked between slides and between frames. */
|
|
28
|
+
signal?: AbortSignal;
|
|
29
|
+
}
|
|
30
|
+
/** The `MediaRecorder` surface this module drives (mockable in unit tests). */
|
|
31
|
+
export interface RecorderLike {
|
|
32
|
+
start(): void;
|
|
33
|
+
stop(): void;
|
|
34
|
+
ondataavailable: ((event: {
|
|
35
|
+
data: Blob;
|
|
36
|
+
}) => void) | null;
|
|
37
|
+
onstop: (() => void) | null;
|
|
38
|
+
onerror: ((event: unknown) => void) | null;
|
|
39
|
+
}
|
|
40
|
+
/** Injected capture/recording dependencies (kept DOM-free for unit tests). */
|
|
41
|
+
export interface VideoCaptureDeps {
|
|
42
|
+
/** Live slide count; read fresh on every call. */
|
|
43
|
+
getSlideCount(): number;
|
|
44
|
+
rasterizeSlide: RasterizeSlide;
|
|
45
|
+
/** Canvas factory override (test seam). Defaults to `document.createElement`. */
|
|
46
|
+
createCanvas?: (width: number, height: number) => HTMLCanvasElement;
|
|
47
|
+
/** Recorder factory override (test seam). Defaults to `new MediaRecorder`. */
|
|
48
|
+
createRecorder?: (stream: MediaStream, options: MediaRecorderOptions) => RecorderLike;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Capture every slide and record the sequence as a WebM video Blob, holding
|
|
52
|
+
* each slide for its planned duration. Rejects with the shared `AbortError`
|
|
53
|
+
* when `signal` aborts (the recorder is stopped first).
|
|
54
|
+
*/
|
|
55
|
+
export declare function exportSlidesToWebmBlob(deps: VideoCaptureDeps, options?: ExportVideoOptions): Promise<Blob>;
|
|
56
|
+
//# sourceMappingURL=export-video.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-video.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/export-video.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjF;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IAClC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,yEAAyE;IACzE,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,eAAe,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3C;AAED,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAChC,kDAAkD;IAClD,aAAa,IAAI,MAAM,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,iFAAiF;IACjF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACpE,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,KAAK,YAAY,CAAC;CACtF;AAsBD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC3C,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,kBAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PptxSlide } from 'pptx-viewer-core';
|
|
2
|
+
import { CanvasSize } from 'pptx-viewer-shared';
|
|
3
|
+
import { Translator } from '../../i18n/translator';
|
|
4
|
+
import { ExportController } from './export-controller.svelte';
|
|
5
|
+
export interface ExportWiringDeps {
|
|
6
|
+
/**
|
|
7
|
+
* Host the off-screen capture stage is appended to. Read lazily (not
|
|
8
|
+
* captured eagerly): the viewer root `bind:this` is `undefined` until after
|
|
9
|
+
* mount, but no export can be triggered before then anyway, so the
|
|
10
|
+
* rasteriser is only built on the first `exportSlidePng`/`exportPdf` call.
|
|
11
|
+
*/
|
|
12
|
+
getContainer(): HTMLElement | undefined;
|
|
13
|
+
getSlides(): PptxSlide[];
|
|
14
|
+
getCanvasSize(): CanvasSize;
|
|
15
|
+
getMediaDataUrls(): Map<string, string>;
|
|
16
|
+
getCurrent(): number;
|
|
17
|
+
getTranslator(): Translator;
|
|
18
|
+
getSmartArt3D(): boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface ExportWiring {
|
|
21
|
+
/** The reactive PNG/PDF export controller (`exporting` drives a spinner). */
|
|
22
|
+
controller: ExportController;
|
|
23
|
+
/** Tear down the off-screen capture stage (component destroy). */
|
|
24
|
+
destroy(): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Build the PNG/PDF export feature for one `PowerPointViewer` instance: the
|
|
28
|
+
* off-screen rasterisation stage (`rasterize-slide.ts`, built lazily since it
|
|
29
|
+
* needs a live container element) plus the reactive `ExportController`
|
|
30
|
+
* wired to it. Extracted from `PowerPointViewer.svelte` purely to keep the
|
|
31
|
+
* component's script under the file-size budget, mirroring the vanilla
|
|
32
|
+
* binding's `export-lifecycle.ts`.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createExportWiring(deps: ExportWiringDeps): ExportWiring;
|
|
35
|
+
//# sourceMappingURL=export-wiring.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-wiring.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/export-wiring.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAI9D,MAAM,WAAW,gBAAgB;IAChC;;;;;OAKG;IACH,YAAY,IAAI,WAAW,GAAG,SAAS,CAAC;IACxC,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,aAAa,IAAI,UAAU,CAAC;IAC5B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,IAAI,MAAM,CAAC;IACrB,aAAa,IAAI,UAAU,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,6EAA6E;IAC7E,UAAU,EAAE,gBAAgB,CAAC;IAC7B,kEAAkE;IAClE,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAiCvE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ExportController, ExportPdfOptions } from './export-controller.svelte';
|
|
2
|
+
import { ExportGifOptions } from './export-gif';
|
|
3
|
+
import { PrintOptions } from './export-print';
|
|
4
|
+
import { ExportVideoOptions } from './export-video';
|
|
5
|
+
/** The imperative export API exposed on the `PowerPointViewer` instance. */
|
|
6
|
+
export interface ExportingApi {
|
|
7
|
+
exportSlidePng(index?: number): Promise<void>;
|
|
8
|
+
exportPdf(options?: ExportPdfOptions): Promise<void>;
|
|
9
|
+
exportGif(options?: ExportGifOptions): Promise<void>;
|
|
10
|
+
exportVideo(options?: ExportVideoOptions): Promise<void>;
|
|
11
|
+
print(options?: PrintOptions): Promise<boolean>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Build the imperative export API bound to a live `ExportController`.
|
|
15
|
+
* Extracted so `PowerPointViewer.svelte` only re-exports thin, one-line
|
|
16
|
+
* bindings, matching the editing API's `editing-api.ts`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createExportingApi(exporter: ExportController): ExportingApi;
|
|
19
|
+
//# sourceMappingURL=exporting-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exporting-api.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/exporting-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC5B,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,CAQ3E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type { ExportControllerDeps, ExportPdfOptions, ExportProgress, RasterizeSlide, } from './export-controller.svelte';
|
|
2
|
+
export { ExportController } from './export-controller.svelte';
|
|
3
|
+
export type { ExportWiring, ExportWiringDeps } from './export-wiring.svelte';
|
|
4
|
+
export { createExportWiring } from './export-wiring.svelte';
|
|
5
|
+
export type { ExportGifOptions, GifCaptureDeps } from './export-gif';
|
|
6
|
+
export { exportSlidesToGifBlob } from './export-gif';
|
|
7
|
+
export type { OpenPrintWindow, PrintDeps, PrintOptions } from './export-print';
|
|
8
|
+
export { defaultOpenPrintWindow, printSlides } from './export-print';
|
|
9
|
+
export type { ExportVideoOptions, RecorderLike, VideoCaptureDeps } from './export-video';
|
|
10
|
+
export { exportSlidesToWebmBlob } from './export-video';
|
|
11
|
+
export type { ExportingApi } from './exporting-api';
|
|
12
|
+
export { createExportingApi } from './exporting-api';
|
|
13
|
+
export type { RasterizeSlideController, RasterizeSlideDeps } from './rasterize-slide';
|
|
14
|
+
export { createRasterizeSlide } from './rasterize-slide';
|
|
15
|
+
export { renderToCanvas } from './render-to-canvas';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,cAAc,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { PptxSlide } from 'pptx-viewer-core';
|
|
2
|
+
import { CanvasSize } from 'pptx-viewer-shared';
|
|
3
|
+
import { Translator } from '../../i18n/translator';
|
|
4
|
+
export interface RasterizeSlideDeps {
|
|
5
|
+
doc: Document;
|
|
6
|
+
/** Host the off-screen capture stage is appended to; removed on `destroy()`. */
|
|
7
|
+
container: HTMLElement;
|
|
8
|
+
getSlides(): PptxSlide[];
|
|
9
|
+
getCanvasSize(): CanvasSize;
|
|
10
|
+
getMediaDataUrls(): Map<string, string>;
|
|
11
|
+
getTranslator(): Translator;
|
|
12
|
+
/** Opt-in WebGL SmartArt renderer flag; see `PowerPointViewerProps.smartArt3D`. */
|
|
13
|
+
smartArt3D: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Overridable frame-wait before capture (test seam: the real
|
|
16
|
+
* `requestAnimationFrame` double-wait is not worth driving through fake
|
|
17
|
+
* timers). Defaults to {@link nextFrame}.
|
|
18
|
+
*/
|
|
19
|
+
waitForFrame?: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export interface RasterizeSlideController {
|
|
22
|
+
/** Render slide `index` off-screen at scale 1 and capture it with html2canvas-pro. */
|
|
23
|
+
rasterizeSlide(index: number): Promise<HTMLCanvasElement>;
|
|
24
|
+
/** Remove the off-screen capture stage from the DOM. */
|
|
25
|
+
destroy(): void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build the off-screen capture stage used by PNG/PDF export: a hidden host
|
|
29
|
+
* (fixed off-canvas, `aria-hidden`) that mounts one slide at a time via
|
|
30
|
+
* Svelte 5's imperative `mount()` API (the same `mount`/`unmount` pair the
|
|
31
|
+
* component tests use to render outside the normal component tree), then
|
|
32
|
+
* rasterises it with `renderToCanvas`. The mounted `SlideStage` instance is
|
|
33
|
+
* torn down with `unmount()` and replaced on every call, and again in
|
|
34
|
+
* `destroy()`.
|
|
35
|
+
*
|
|
36
|
+
* Svelte port of the vanilla binding's `createRasterizeSlide`
|
|
37
|
+
* (`packages/vanilla/src/viewer/export/rasterize-slide.ts`): vanilla builds
|
|
38
|
+
* the stage DOM directly via the shared `renderSlideStage`; this binding
|
|
39
|
+
* instead mounts the real `SlideStage.svelte` component, seeding the i18n and
|
|
40
|
+
* SmartArt-3D context it reads deep in the element tree (those contexts are
|
|
41
|
+
* otherwise only provided by the live `PowerPointViewer` root).
|
|
42
|
+
*/
|
|
43
|
+
export declare function createRasterizeSlide(deps: RasterizeSlideDeps): RasterizeSlideController;
|
|
44
|
+
//# sourceMappingURL=rasterize-slide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rasterize-slide.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/rasterize-slide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,QAAQ,CAAC;IACd,gFAAgF;IAChF,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,aAAa,IAAI,UAAU,CAAC;IAC5B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,IAAI,UAAU,CAAC;IAC5B,mFAAmF;IACnF,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACxC,sFAAsF;IACtF,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,wDAAwD;IACxD,OAAO,IAAI,IAAI,CAAC;CAChB;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,CAkEvF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Options as Html2CanvasOptions } from 'html2canvas-pro';
|
|
2
|
+
/**
|
|
3
|
+
* A drop-in wrapper around `html2canvas-pro` that first normalises modern CSS
|
|
4
|
+
* colour functions (oklch/oklab/lch/lab/color()) to sRGB and applies the
|
|
5
|
+
* shared CSS-preprocessing pass (backdrop-filter, mix-blend-mode, 3D
|
|
6
|
+
* transforms, unsupported features) to the cloned capture document. Svelte
|
|
7
|
+
* port of the vanilla binding's `renderToCanvas` wrapper
|
|
8
|
+
* (`packages/vanilla/src/viewer/export/render-to-canvas.ts`); the pure
|
|
9
|
+
* colour/CSS passes live once in `pptx-viewer-shared`, only this thin
|
|
10
|
+
* html2canvas-pro glue is per-binding. `html2canvas-pro` is imported
|
|
11
|
+
* dynamically so it stays out of the main bundle until export is actually
|
|
12
|
+
* used.
|
|
13
|
+
*/
|
|
14
|
+
export declare function renderToCanvas(element: HTMLElement, options?: Partial<Html2CanvasOptions>): Promise<HTMLCanvasElement>;
|
|
15
|
+
//# sourceMappingURL=render-to-canvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-to-canvas.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/render-to-canvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrE;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACvC,OAAO,CAAC,iBAAiB,CAAC,CAe5B"}
|