pptx-svelte-viewer 0.5.1 → 0.7.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 +21 -0
- package/README.md +9 -6
- package/dist/{component-B4CAjgjO.js → component-BkXbcmvL.js} +22670 -18164
- 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/i18n.js +1 -1
- package/dist/index.d.ts +765 -605
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -2
- package/dist/theme/index.d.ts +8 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/{translator-nTmCzaSH.js → translator-BTU8751A.js} +1 -1
- 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/presentation-swipe.d.ts +11 -0
- package/dist/viewer/presentation-swipe.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,55 @@
|
|
|
1
|
+
import { PptxSlide } from 'pptx-viewer-core';
|
|
2
|
+
import { PrintSettings } from 'pptx-viewer-shared';
|
|
3
|
+
import { RasterizeSlide } from './export-controller.svelte';
|
|
4
|
+
/**
|
|
5
|
+
* Print flow: assemble the shared print document (slides / notes / handouts /
|
|
6
|
+
* outline) and hand it to a print surface. All the pure logic is shared and
|
|
7
|
+
* DOMPurify-hardened: `validatePrintSettings` normalises the caller's partial
|
|
8
|
+
* settings, `computeSlideIndices` / `computeColorFilter` resolve the range and
|
|
9
|
+
* colour mode, the `build*Html` helpers produce the escaped body markup, and
|
|
10
|
+
* `buildPrintHtmlDocument` sanitises + assembles the final document. This
|
|
11
|
+
* module (the Svelte counterpart of Vue's `usePrint`) only rasterises the
|
|
12
|
+
* selected slides and opens the print surface.
|
|
13
|
+
*
|
|
14
|
+
* **Print surface / popup-blocker caveats:** the default opener renders the
|
|
15
|
+
* document into a hidden same-origin `<iframe srcdoc>` and calls
|
|
16
|
+
* `contentWindow.print()`, so no popup window is involved and popup blockers
|
|
17
|
+
* cannot interfere (`document.write` is avoided too). A host that prefers a
|
|
18
|
+
* visible print window can inject its own {@link OpenPrintWindow} via the
|
|
19
|
+
* controller deps; note that a `window.open`-based opener only succeeds inside
|
|
20
|
+
* a user gesture (a click handler) and returns `null` under popup blockers,
|
|
21
|
+
* in which case it should report `false` so the flow resolves `false` and the
|
|
22
|
+
* host can surface "allow popups for this site" guidance.
|
|
23
|
+
*/
|
|
24
|
+
/** Options for the print flow: any subset of the shared print settings. */
|
|
25
|
+
export type PrintOptions = Partial<PrintSettings>;
|
|
26
|
+
/**
|
|
27
|
+
* Render a complete HTML document into a print surface and trigger printing.
|
|
28
|
+
* Returns `false` when the surface could not be opened (e.g. a custom
|
|
29
|
+
* `window.open`-based opener hit a popup blocker).
|
|
30
|
+
*/
|
|
31
|
+
export type OpenPrintWindow = (htmlDocument: string) => boolean;
|
|
32
|
+
/** Injected dependencies (kept DOM-light for unit tests). */
|
|
33
|
+
export interface PrintDeps {
|
|
34
|
+
/** Live slide list; read fresh on every call. */
|
|
35
|
+
getSlides(): PptxSlide[];
|
|
36
|
+
/** Active slide index (0-based); target of the `current` slide range. */
|
|
37
|
+
getCurrent(): number;
|
|
38
|
+
rasterizeSlide: RasterizeSlide;
|
|
39
|
+
/** Print-surface opener override (test seam / host popup handling). */
|
|
40
|
+
openPrintWindow?: OpenPrintWindow;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Default opener: mount the document in a hidden same-origin iframe (via
|
|
44
|
+
* `srcdoc`, no `document.write`) and print its content window. The frame is
|
|
45
|
+
* removed after `afterprint`, with a TTL fallback for browsers that never
|
|
46
|
+
* fire it on iframe windows.
|
|
47
|
+
*/
|
|
48
|
+
export declare function defaultOpenPrintWindow(htmlDocument: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Run the print flow for the given (partial) settings. Resolves `true` when
|
|
51
|
+
* the print surface opened, `false` when there was nothing to print or the
|
|
52
|
+
* opener reported failure (see the popup-blocker caveats above).
|
|
53
|
+
*/
|
|
54
|
+
export declare function printSlides(deps: PrintDeps, options?: PrintOptions): Promise<boolean>;
|
|
55
|
+
//# sourceMappingURL=export-print.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-print.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/export-print.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;AAEhE,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACzB,iDAAiD;IACjD,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,yEAAyE;IACzE,UAAU,IAAI,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,uEAAuE;IACvE,eAAe,CAAC,EAAE,eAAe,CAAC;CAClC;AAKD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CA6BpE;AAgBD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8C/F"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Translator } from '../../i18n/translator';
|
|
2
|
+
import { ExportController } from './export-controller.svelte';
|
|
3
|
+
/**
|
|
4
|
+
* ExportUiState: reactive state behind the toolbar `ExportMenu` and the
|
|
5
|
+
* `ExportProgressModal`. Svelte port of Vue's `useExportProgress` composable:
|
|
6
|
+
* it owns the modal state (open / title / progress / status), the
|
|
7
|
+
* `AbortController` the export loops check between slides, and wraps each
|
|
8
|
+
* multi-slide export (PDF / GIF / WebM) in a `begin -> run -> end` envelope.
|
|
9
|
+
* All percentage maths + status labels come from `pptx-viewer-shared`
|
|
10
|
+
* (`export-progress.ts`) so every binding shows identical progress.
|
|
11
|
+
*
|
|
12
|
+
* PNG (single slide, fast) and print (opens its own surface) run without the
|
|
13
|
+
* modal; the menu trigger still disables via {@link exporting} while they run.
|
|
14
|
+
*/
|
|
15
|
+
export interface ExportUiDeps {
|
|
16
|
+
controller: ExportController;
|
|
17
|
+
getTranslator(): Translator;
|
|
18
|
+
}
|
|
19
|
+
export declare class ExportUiState {
|
|
20
|
+
#private;
|
|
21
|
+
/** Whether the progress modal is visible. */
|
|
22
|
+
open: boolean;
|
|
23
|
+
/** Modal heading (e.g. "Export as PDF"). */
|
|
24
|
+
title: string;
|
|
25
|
+
/** Current progress, 0-100. */
|
|
26
|
+
progress: number;
|
|
27
|
+
/** Status line under the bar (e.g. "Rendering slide 3 of 10..."). */
|
|
28
|
+
status: string;
|
|
29
|
+
constructor(deps: ExportUiDeps);
|
|
30
|
+
/** True while any export runs (disables the menu trigger). */
|
|
31
|
+
get exporting(): boolean;
|
|
32
|
+
/** Export the current slide as PNG (no modal; quick single capture). */
|
|
33
|
+
runPng(): void;
|
|
34
|
+
/** Run the PDF export with the progress modal wired. */
|
|
35
|
+
runPdf(): Promise<void>;
|
|
36
|
+
/** Run the animated-GIF export with the progress modal wired. */
|
|
37
|
+
runGif(): Promise<void>;
|
|
38
|
+
/** Run the WebM video export with the progress modal wired. */
|
|
39
|
+
runVideo(): Promise<void>;
|
|
40
|
+
/** Run the print flow (no modal; the print surface takes over). */
|
|
41
|
+
runPrint(): void;
|
|
42
|
+
/** Cancel the in-flight export (aborts the loop, closes the modal). */
|
|
43
|
+
cancel(): void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=export-ui.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-ui.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/export-ui.svelte.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,IAAI,UAAU,CAAC;CAC5B;AAED,qBAAa,aAAa;;IACzB,6CAA6C;IAC7C,IAAI,UAAiB;IACrB,4CAA4C;IAC5C,KAAK,SAAc;IACnB,+BAA+B;IAC/B,QAAQ,SAAa;IACrB,qEAAqE;IACrE,MAAM,SAAc;gBAKR,IAAI,EAAE,YAAY;IAI9B,8DAA8D;IAC9D,IAAI,SAAS,IAAI,OAAO,CAEvB;IA4BD,wEAAwE;IACxE,MAAM,IAAI,IAAI;IAId,wDAAwD;IAClD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB7B,iEAAiE;IAC3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B,+DAA+D;IACzD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB/B,mEAAmE;IACnE,QAAQ,IAAI,IAAI;IAIhB,uEAAuE;IACvE,MAAM,IAAI,IAAI;CAMd"}
|
|
@@ -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"}
|