pptx-angular-viewer 1.1.19 → 1.1.20
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pptx-angular-viewer",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.20",
|
|
4
4
|
"description": "Angular PowerPoint viewer/editor component — depends on pptx-viewer-core. Angular counterpart of the React `pptx-viewer` and Vue `pptx-vue-viewer` packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@angular/common": "^22.0.1",
|
|
45
45
|
"@angular/core": "^22.0.1",
|
|
46
|
-
"pptx-viewer-core": "^1.1.
|
|
46
|
+
"pptx-viewer-core": "^1.1.20",
|
|
47
47
|
"rxjs": "^7.8.0"
|
|
48
48
|
},
|
|
49
49
|
"module": "fesm2022/pptx-angular-viewer.mjs",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, OnInit, OnDestroy, InjectionToken, Provider } from '@angular/core';
|
|
2
|
+
import { Signal, OnInit, OnDestroy, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
|
|
3
3
|
import * as pptx_viewer_core from 'pptx-viewer-core';
|
|
4
|
-
import { PptxSlide, AccessibilityCheckOptions, AccessibilityIssue, PptxElement, PptxTheme, PptxSlideMaster, PptxEmbeddedFont, PptxCoreProperties, ParsedSignature, PptxComment, TextSegment, TextStyle, PptxTableCell, Model3DPptxElement, ZoomPptxElement, PptxElementAnimation, PptxSlideTransition, TablePptxElement, ChartPptxElement, PptxAnimationPreset, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAnimationSequence, XmlObject, SignatureStatus, AccessibilityIssueSeverity, AccessibilityIssueType, PptxTransitionType, ShapeStyle } from 'pptx-viewer-core';
|
|
4
|
+
import { PptxSlide, AccessibilityCheckOptions, AccessibilityIssue, PptxElement, PptxTheme, PptxSlideMaster, PptxEmbeddedFont, PptxCoreProperties, ParsedSignature, PptxComment, PptxTextWarpPreset, TextSegment, TextStyle, PptxTableCell, Model3DPptxElement, ZoomPptxElement, PptxElementAnimation, PptxSlideTransition, TablePptxElement, ChartPptxElement, PptxAnimationPreset, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAnimationSequence, XmlObject, SignatureStatus, AccessibilityIssueSeverity, AccessibilityIssueType, PptxTransitionType, ShapeStyle } from 'pptx-viewer-core';
|
|
5
5
|
import * as pptx_angular_viewer from 'pptx-angular-viewer';
|
|
6
6
|
import { Options } from 'html2canvas-pro';
|
|
7
7
|
import { SafeHtml } from '@angular/platform-browser';
|
|
@@ -1673,6 +1673,113 @@ declare function routeOrthogonalConnector(start: Point, end: Point, obstacles: R
|
|
|
1673
1673
|
*/
|
|
1674
1674
|
declare function waypointsToPathD(waypoints: ReadonlyArray<Point>): string;
|
|
1675
1675
|
|
|
1676
|
+
/**
|
|
1677
|
+
* Text-warp (WordArt) descriptor resolver for the Angular viewer.
|
|
1678
|
+
*
|
|
1679
|
+
* Angular port of:
|
|
1680
|
+
* packages/react/src/viewer/utils/text-warp-classifier.ts
|
|
1681
|
+
* packages/react/src/viewer/utils/text-warp-css.tsx
|
|
1682
|
+
* packages/react/src/viewer/utils/warp-text-renderer.tsx (descriptor shape)
|
|
1683
|
+
*
|
|
1684
|
+
* `getTextWarp(element)` resolves an element's OOXML `prstTxWarp` preset into a
|
|
1685
|
+
* `TextWarpDef` that the Angular template can consume without any React/HTML
|
|
1686
|
+
* string injection. The descriptor selects one of two rendering strategies:
|
|
1687
|
+
*
|
|
1688
|
+
* - `'path'` — SVG `<textPath>` along a curved/arc/circle path.
|
|
1689
|
+
* The `pathLines` array contains one entry per paragraph with a
|
|
1690
|
+
* pre-computed SVG `d` attribute. The template renders an inline
|
|
1691
|
+
* `<svg>` with `<defs><path>` + `<text><textPath href>`.
|
|
1692
|
+
*
|
|
1693
|
+
* - `'css'` — A whole-block CSS transform approximation. The template
|
|
1694
|
+
* applies `cssTransform` and `cssTransformOrigin` to the
|
|
1695
|
+
* existing `div.pptx-ng-text` wrapper (or a parent div) via
|
|
1696
|
+
* `[ngStyle]`. No SVG required.
|
|
1697
|
+
*
|
|
1698
|
+
* Presets classified as `'none'` (textNoShape, textPlain, unknown) return
|
|
1699
|
+
* `undefined` so callers can skip extra rendering without an allowlist check.
|
|
1700
|
+
*/
|
|
1701
|
+
|
|
1702
|
+
/** The four rendering strategy families. */
|
|
1703
|
+
type WarpCategory = 'path' | 'envelope' | 'simple' | 'none';
|
|
1704
|
+
/**
|
|
1705
|
+
* Classify a warp preset into a rendering strategy category.
|
|
1706
|
+
*
|
|
1707
|
+
* Returns `'none'` for unknown or empty presets so callers can safely
|
|
1708
|
+
* skip rendering without an explicit allowlist check.
|
|
1709
|
+
*/
|
|
1710
|
+
declare function getWarpCategory(preset: string | undefined): WarpCategory;
|
|
1711
|
+
/**
|
|
1712
|
+
* A single pre-computed SVG path line for one text paragraph.
|
|
1713
|
+
*
|
|
1714
|
+
* The template renders this as:
|
|
1715
|
+
* `<path [id]="pathId" [attr.d]="d" fill="none" />`
|
|
1716
|
+
* inside `<defs>`, then references it with `<textPath [attr.href]="'#'+pathId">`.
|
|
1717
|
+
*/
|
|
1718
|
+
interface WarpPathLine {
|
|
1719
|
+
/** Unique DOM id for this `<path>` element (safe to use as `href` fragment). */
|
|
1720
|
+
pathId: string;
|
|
1721
|
+
/** SVG path data (`d` attribute). */
|
|
1722
|
+
d: string;
|
|
1723
|
+
/** The text segments that flow along this path. */
|
|
1724
|
+
segments: TextSegment[];
|
|
1725
|
+
}
|
|
1726
|
+
/**
|
|
1727
|
+
* Descriptor for SVG `<textPath>`-based warp rendering.
|
|
1728
|
+
*
|
|
1729
|
+
* One `WarpPathLine` per paragraph. The template renders an inline `<svg>`
|
|
1730
|
+
* covering the element bounds, defines each path in `<defs>`, then lays
|
|
1731
|
+
* `<text><textPath href="#pathId">` on each path.
|
|
1732
|
+
*/
|
|
1733
|
+
interface TextWarpPathDef {
|
|
1734
|
+
readonly strategy: 'path';
|
|
1735
|
+
/** OOXML preset name (e.g. `'textArchUp'`). */
|
|
1736
|
+
readonly preset: PptxTextWarpPreset;
|
|
1737
|
+
/** One entry per paragraph. */
|
|
1738
|
+
readonly pathLines: WarpPathLine[];
|
|
1739
|
+
/** Element pixel width (for `<svg width>`). */
|
|
1740
|
+
readonly width: number;
|
|
1741
|
+
/** Element pixel height (for `<svg height>`). */
|
|
1742
|
+
readonly height: number;
|
|
1743
|
+
/** SVG `text-anchor` value derived from paragraph alignment. */
|
|
1744
|
+
readonly textAnchor: 'start' | 'middle' | 'end';
|
|
1745
|
+
/** SVG `<textPath startOffset>` value (e.g. `"0%"`, `"50%"`, `"100%"`). */
|
|
1746
|
+
readonly startOffset: string;
|
|
1747
|
+
/** Base font size in points from the element's text style. */
|
|
1748
|
+
readonly baseFontSize: number;
|
|
1749
|
+
/** Base font family string (already CSS-ready). */
|
|
1750
|
+
readonly baseFontFamily: string;
|
|
1751
|
+
/** Base text fill colour (hex). */
|
|
1752
|
+
readonly baseColor: string;
|
|
1753
|
+
}
|
|
1754
|
+
/**
|
|
1755
|
+
* Descriptor for CSS-transform-based warp rendering.
|
|
1756
|
+
*
|
|
1757
|
+
* The template applies `cssTransform` + `cssTransformOrigin` on the
|
|
1758
|
+
* `div.pptx-ng-text` wrapper (or a containing div) via `[ngStyle]`.
|
|
1759
|
+
*/
|
|
1760
|
+
interface TextWarpCssDef {
|
|
1761
|
+
readonly strategy: 'css';
|
|
1762
|
+
/** OOXML preset name (e.g. `'textSlantUp'`). */
|
|
1763
|
+
readonly preset: PptxTextWarpPreset;
|
|
1764
|
+
/** CSS `transform` string (e.g. `"perspective(500px) rotateY(8deg) skewY(-4deg)"`). */
|
|
1765
|
+
readonly cssTransform: string;
|
|
1766
|
+
/** CSS `transform-origin` string (e.g. `"left center"`). */
|
|
1767
|
+
readonly cssTransformOrigin: string;
|
|
1768
|
+
}
|
|
1769
|
+
/** Union of the two warp rendering strategies. */
|
|
1770
|
+
type TextWarpDef = TextWarpPathDef | TextWarpCssDef;
|
|
1771
|
+
/**
|
|
1772
|
+
* Resolve a `PptxElement`'s text warp preset into a `TextWarpDef` descriptor,
|
|
1773
|
+
* or `undefined` when the element carries no warp (or the preset is `textNoShape` /
|
|
1774
|
+
* `textPlain` / unknown).
|
|
1775
|
+
*
|
|
1776
|
+
* @param element Any `PptxElement`. Elements without text properties always
|
|
1777
|
+
* return `undefined`.
|
|
1778
|
+
* @returns A `TextWarpDef` with `strategy: 'path'` for SVG textPath warps, or
|
|
1779
|
+
* `strategy: 'css'` for CSS-transform approximations.
|
|
1780
|
+
*/
|
|
1781
|
+
declare function getTextWarp(element: PptxElement): TextWarpDef | undefined;
|
|
1782
|
+
|
|
1676
1783
|
interface TextRun {
|
|
1677
1784
|
text: string;
|
|
1678
1785
|
style: StyleMap;
|
|
@@ -1730,6 +1837,12 @@ declare class ElementRendererComponent {
|
|
|
1730
1837
|
readonly shapeContainerStyle: _angular_core.Signal<StyleMap>;
|
|
1731
1838
|
readonly textStyle: _angular_core.Signal<StyleMap>;
|
|
1732
1839
|
readonly imageSrc: _angular_core.Signal<string | undefined>;
|
|
1840
|
+
/** Text-warp (WordArt) descriptor for the element, if any. */
|
|
1841
|
+
readonly textWarp: _angular_core.Signal<pptx_angular_viewer.TextWarpDef | undefined>;
|
|
1842
|
+
/** Only the SVG-textPath warp variant (for the `<svg>` overlay branch). */
|
|
1843
|
+
readonly pathWarp: _angular_core.Signal<TextWarpPathDef | undefined>;
|
|
1844
|
+
/** Text block style, folding in a CSS-transform warp when present. */
|
|
1845
|
+
readonly warpedTextStyle: _angular_core.Signal<StyleMap>;
|
|
1733
1846
|
readonly children: _angular_core.Signal<PptxElement[]>;
|
|
1734
1847
|
readonly isShapeLike: _angular_core.Signal<boolean>;
|
|
1735
1848
|
readonly isImageLike: _angular_core.Signal<boolean>;
|
|
@@ -2081,6 +2194,8 @@ interface SvgText {
|
|
|
2081
2194
|
fontWeight?: 'normal' | 'bold';
|
|
2082
2195
|
dominantBaseline?: string;
|
|
2083
2196
|
opacity?: number;
|
|
2197
|
+
/** Optional SVG transform (e.g. `rotate(-90, x, y)` for a vertical axis title). */
|
|
2198
|
+
transform?: string;
|
|
2084
2199
|
}
|
|
2085
2200
|
interface SvgPolygon {
|
|
2086
2201
|
kind: 'polygon';
|
|
@@ -2638,6 +2753,174 @@ declare class AnimationPlaybackService {
|
|
|
2638
2753
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AnimationPlaybackService>;
|
|
2639
2754
|
}
|
|
2640
2755
|
|
|
2756
|
+
/**
|
|
2757
|
+
* presentation-annotations-helpers.ts — Pure geometry helpers for presentation
|
|
2758
|
+
* ink annotations (pen, highlighter, eraser, laser).
|
|
2759
|
+
*
|
|
2760
|
+
* Ported from React:
|
|
2761
|
+
* packages/react/src/viewer/components/PresentationAnnotationOverlay.tsx
|
|
2762
|
+
* packages/react/src/viewer/hooks/usePresentationAnnotations.ts
|
|
2763
|
+
*
|
|
2764
|
+
* No Angular dependencies — all functions are pure so they can be unit-tested
|
|
2765
|
+
* without TestBed.
|
|
2766
|
+
*/
|
|
2767
|
+
/** A single {x, y} coordinate in slide-space pixels. */
|
|
2768
|
+
interface AnnotationPoint {
|
|
2769
|
+
x: number;
|
|
2770
|
+
y: number;
|
|
2771
|
+
}
|
|
2772
|
+
/** An ink stroke: a sequence of points with visual properties. */
|
|
2773
|
+
interface AnnotationStroke {
|
|
2774
|
+
id: string;
|
|
2775
|
+
points: AnnotationPoint[];
|
|
2776
|
+
color: string;
|
|
2777
|
+
width: number;
|
|
2778
|
+
/** 1 = opaque (pen); 0.4 = semi-transparent (highlighter). */
|
|
2779
|
+
opacity: number;
|
|
2780
|
+
}
|
|
2781
|
+
/** The tool currently armed in presentation mode. */
|
|
2782
|
+
type PresentationTool = 'none' | 'pen' | 'highlighter' | 'eraser' | 'laser';
|
|
2783
|
+
/** Per-slide annotation storage: slide index → strokes. */
|
|
2784
|
+
type SlideAnnotationMap = Map<number, AnnotationStroke[]>;
|
|
2785
|
+
/** Transient laser-pointer position in slide-space pixels. */
|
|
2786
|
+
interface LaserPosition {
|
|
2787
|
+
x: number;
|
|
2788
|
+
y: number;
|
|
2789
|
+
}
|
|
2790
|
+
|
|
2791
|
+
declare class PresentationAnnotationsService {
|
|
2792
|
+
private readonly destroyRef;
|
|
2793
|
+
private readonly _tool;
|
|
2794
|
+
private readonly _penColor;
|
|
2795
|
+
private readonly _highlighterColor;
|
|
2796
|
+
private readonly _currentStroke;
|
|
2797
|
+
private readonly _laserPosition;
|
|
2798
|
+
private readonly _toolbarVisible;
|
|
2799
|
+
/**
|
|
2800
|
+
* Strokes visible on the current slide. Cleared / populated whenever
|
|
2801
|
+
* `setActiveSlide()` is called.
|
|
2802
|
+
*/
|
|
2803
|
+
private readonly _annotationStrokes;
|
|
2804
|
+
/**
|
|
2805
|
+
* Per-slide annotation storage. Strokes for the current slide are also kept
|
|
2806
|
+
* in `_annotationStrokes` for rendering convenience; they are synchronised
|
|
2807
|
+
* back into this map on `setActiveSlide()` or `endStroke()`.
|
|
2808
|
+
*/
|
|
2809
|
+
private readonly _slideAnnotations;
|
|
2810
|
+
/** Tracks whether a pointer-down initiated an erase gesture. */
|
|
2811
|
+
private _isErasing;
|
|
2812
|
+
/** Toolbar auto-hide timer handle. */
|
|
2813
|
+
private _toolbarTimer;
|
|
2814
|
+
/** Index of the slide currently being annotated. */
|
|
2815
|
+
private _activeSlideIndex;
|
|
2816
|
+
/** The currently-armed presentation tool. */
|
|
2817
|
+
readonly tool: _angular_core.Signal<PresentationTool>;
|
|
2818
|
+
/** Stroke colour used by the pen tool. */
|
|
2819
|
+
readonly penColor: _angular_core.Signal<string>;
|
|
2820
|
+
/** Stroke colour used by the highlighter tool. */
|
|
2821
|
+
readonly highlighterColor: _angular_core.Signal<string>;
|
|
2822
|
+
/** Committed strokes on the active slide (does not include the live stroke). */
|
|
2823
|
+
readonly annotationStrokes: _angular_core.Signal<AnnotationStroke[]>;
|
|
2824
|
+
/** The stroke currently being drawn, or null when not drawing. */
|
|
2825
|
+
readonly currentStroke: _angular_core.Signal<AnnotationStroke | null>;
|
|
2826
|
+
/** Laser pointer position in slide-space pixels, or null when not visible. */
|
|
2827
|
+
readonly laserPosition: _angular_core.Signal<LaserPosition | null>;
|
|
2828
|
+
/** Whether the annotation toolbar should be visible. */
|
|
2829
|
+
readonly toolbarVisible: _angular_core.Signal<boolean>;
|
|
2830
|
+
/**
|
|
2831
|
+
* `true` when any annotations exist on any slide (used for the
|
|
2832
|
+
* "keep / discard" dialog when exiting presentation mode).
|
|
2833
|
+
*/
|
|
2834
|
+
readonly hasAnyAnnotations: _angular_core.Signal<boolean>;
|
|
2835
|
+
constructor();
|
|
2836
|
+
/**
|
|
2837
|
+
* Arm `tool`. If it is already armed, toggle back to `'none'` (matches
|
|
2838
|
+
* the React behaviour of `setPresentationTool`).
|
|
2839
|
+
*/
|
|
2840
|
+
setTool(tool: PresentationTool): void;
|
|
2841
|
+
/** Set the pen colour directly (without toggling the tool). */
|
|
2842
|
+
setPenColor(color: string): void;
|
|
2843
|
+
/** Set the highlighter colour directly. */
|
|
2844
|
+
setHighlighterColor(color: string): void;
|
|
2845
|
+
/** Show / hide the toolbar programmatically. */
|
|
2846
|
+
setToolbarVisible(visible: boolean): void;
|
|
2847
|
+
/**
|
|
2848
|
+
* Notify the service that the visible slide has changed. Saves the
|
|
2849
|
+
* in-progress strokes for the previous slide and loads the strokes
|
|
2850
|
+
* for `newIndex`.
|
|
2851
|
+
*/
|
|
2852
|
+
setActiveSlide(newIndex: number): void;
|
|
2853
|
+
/**
|
|
2854
|
+
* Begin a stroke at `(x, y)` in slide-space coordinates.
|
|
2855
|
+
* Called on pointer-down when the pen or highlighter is armed.
|
|
2856
|
+
*/
|
|
2857
|
+
beginStroke(x: number, y: number): void;
|
|
2858
|
+
/**
|
|
2859
|
+
* Extend the active stroke by appending `(x, y)`.
|
|
2860
|
+
* Called on pointer-move while drawing.
|
|
2861
|
+
*/
|
|
2862
|
+
extendStroke(x: number, y: number): void;
|
|
2863
|
+
/**
|
|
2864
|
+
* Commit the active stroke to the slide's annotation list.
|
|
2865
|
+
* Called on pointer-up or pointer-leave while drawing.
|
|
2866
|
+
* Strokes with fewer than 2 points are discarded.
|
|
2867
|
+
*/
|
|
2868
|
+
endStroke(): void;
|
|
2869
|
+
/**
|
|
2870
|
+
* Begin an eraser gesture at `(x, y)`.
|
|
2871
|
+
* Must be called on pointer-down when the eraser is armed.
|
|
2872
|
+
*/
|
|
2873
|
+
beginErase(x: number, y: number): void;
|
|
2874
|
+
/**
|
|
2875
|
+
* Continue erasing at `(x, y)` during a pointer-move.
|
|
2876
|
+
*/
|
|
2877
|
+
continueErase(x: number, y: number): void;
|
|
2878
|
+
/**
|
|
2879
|
+
* End an eraser gesture. Called on pointer-up or pointer-leave.
|
|
2880
|
+
*/
|
|
2881
|
+
endErase(): void;
|
|
2882
|
+
/**
|
|
2883
|
+
* Update the laser dot position (slide-space coords).
|
|
2884
|
+
* Only takes effect when the laser tool is armed.
|
|
2885
|
+
*/
|
|
2886
|
+
moveLaser(x: number, y: number): void;
|
|
2887
|
+
/**
|
|
2888
|
+
* Hide the laser dot (called on pointer-leave).
|
|
2889
|
+
*/
|
|
2890
|
+
hideLaser(): void;
|
|
2891
|
+
/**
|
|
2892
|
+
* Clear all annotations on the active slide.
|
|
2893
|
+
*/
|
|
2894
|
+
clearAnnotations(): void;
|
|
2895
|
+
/**
|
|
2896
|
+
* Clear all annotations across every slide.
|
|
2897
|
+
*/
|
|
2898
|
+
clearAllAnnotations(): void;
|
|
2899
|
+
/**
|
|
2900
|
+
* Return a snapshot of all annotations across every slide.
|
|
2901
|
+
* The current slide's in-progress committed strokes are folded in.
|
|
2902
|
+
*
|
|
2903
|
+
* Used by the "keep as ink elements" dialog handler.
|
|
2904
|
+
*/
|
|
2905
|
+
getAllSlideAnnotations(): SlideAnnotationMap;
|
|
2906
|
+
/**
|
|
2907
|
+
* Show the toolbar and schedule it to auto-hide after `delayMs` (default 3 s).
|
|
2908
|
+
* Resets the timer if called repeatedly (debounce on mouse-move).
|
|
2909
|
+
*/
|
|
2910
|
+
showToolbarTemporarily(delayMs?: number): void;
|
|
2911
|
+
/**
|
|
2912
|
+
* Reset transient presentation state (tool, current stroke, laser, toolbar
|
|
2913
|
+
* timer). Does NOT clear stored strokes — those persist for the
|
|
2914
|
+
* keep/discard dialog.
|
|
2915
|
+
*/
|
|
2916
|
+
resetForExit(): void;
|
|
2917
|
+
private _applyErase;
|
|
2918
|
+
private _flushCurrentSlide;
|
|
2919
|
+
private _clearToolbarTimer;
|
|
2920
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresentationAnnotationsService, never>;
|
|
2921
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PresentationAnnotationsService>;
|
|
2922
|
+
}
|
|
2923
|
+
|
|
2641
2924
|
/**
|
|
2642
2925
|
* PresentationOverlayComponent — full-viewport black overlay that renders
|
|
2643
2926
|
* slides in presentation (kiosk) mode.
|
|
@@ -2687,6 +2970,10 @@ declare class PresentationOverlayComponent implements OnInit, OnDestroy {
|
|
|
2687
2970
|
} | null>;
|
|
2688
2971
|
/** Click-stepped element-animation playback for the current slide. */
|
|
2689
2972
|
protected readonly playback: AnimationPlaybackService;
|
|
2973
|
+
/** Ink-annotation state (pen/highlighter/eraser/laser) for the show. */
|
|
2974
|
+
protected readonly annotations: PresentationAnnotationsService;
|
|
2975
|
+
/** Whether the live-caption bar is shown. */
|
|
2976
|
+
protected readonly subtitlesVisible: _angular_core.WritableSignal<boolean>;
|
|
2690
2977
|
/** The slide stage root — animation styles are applied to its elements. */
|
|
2691
2978
|
private readonly stageRef;
|
|
2692
2979
|
constructor();
|
|
@@ -2729,6 +3016,10 @@ declare class PresentationOverlayComponent implements OnInit, OnDestroy {
|
|
|
2729
3016
|
onKeyDown(event: KeyboardEvent): void;
|
|
2730
3017
|
/** Left-click on the slide area advances to the next visible slide. */
|
|
2731
3018
|
protected onBodyClick(event: MouseEvent): void;
|
|
3019
|
+
/** Toggle an annotation tool (clicking the active one disarms it). */
|
|
3020
|
+
protected selectTool(tool: 'pen' | 'highlighter' | 'eraser' | 'laser'): void;
|
|
3021
|
+
/** Toggle the live-caption (subtitle) bar. */
|
|
3022
|
+
protected toggleSubtitles(): void;
|
|
2732
3023
|
/** Close button click — stop propagation so it does not also advance. */
|
|
2733
3024
|
protected onClose(event: MouseEvent): void;
|
|
2734
3025
|
/**
|
|
@@ -5052,6 +5343,136 @@ declare class PrintSettingsPanelComponent {
|
|
|
5052
5343
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PrintSettingsPanelComponent, "pptx-print-settings-panel", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; "totalSlides": { "alias": "totalSlides"; "required": true; "isSignal": true; }; "activeSlideIndex": { "alias": "activeSlideIndex"; "required": true; "isSignal": true; }; }, { "settingsChange": "settingsChange"; }, never, never, true, never>;
|
|
5053
5344
|
}
|
|
5054
5345
|
|
|
5346
|
+
declare class PresentationAnnotationOverlayComponent {
|
|
5347
|
+
/** Logical canvas dimensions (the slide's authored size in pixels). */
|
|
5348
|
+
readonly canvasSize: _angular_core.InputSignal<CanvasSize>;
|
|
5349
|
+
/**
|
|
5350
|
+
* The zoom factor currently applied to the slide stage.
|
|
5351
|
+
* Pointer-event coordinates are divided by this value to obtain
|
|
5352
|
+
* slide-space coordinates.
|
|
5353
|
+
*/
|
|
5354
|
+
readonly zoom: _angular_core.InputSignal<number>;
|
|
5355
|
+
protected readonly service: PresentationAnnotationsService;
|
|
5356
|
+
private readonly svgRef;
|
|
5357
|
+
/** True while a pointer-down is active in eraser mode. */
|
|
5358
|
+
private _isErasing;
|
|
5359
|
+
/** True when any tool other than 'none' is armed. */
|
|
5360
|
+
protected readonly isArmed: _angular_core.Signal<boolean>;
|
|
5361
|
+
/** SVG viewBox string that covers the full canvas. */
|
|
5362
|
+
protected readonly viewBox: _angular_core.Signal<string>;
|
|
5363
|
+
/** CSS cursor for the outer wrapper div. */
|
|
5364
|
+
protected readonly wrapperStyle: _angular_core.Signal<Record<string, string>>;
|
|
5365
|
+
/** Transform the SVG to match the slide's zoom level. */
|
|
5366
|
+
protected readonly svgStyle: _angular_core.Signal<Record<string, string>>;
|
|
5367
|
+
/** All strokes to render: committed + the live in-progress stroke. */
|
|
5368
|
+
protected readonly allStrokes: _angular_core.Signal<pptx_angular_viewer.AnnotationStroke[]>;
|
|
5369
|
+
protected strokePath(points: Array<{
|
|
5370
|
+
x: number;
|
|
5371
|
+
y: number;
|
|
5372
|
+
}>): string;
|
|
5373
|
+
protected laserDotStyle(x: number, y: number): Record<string, string>;
|
|
5374
|
+
protected onPointerDown(event: PointerEvent): void;
|
|
5375
|
+
protected onPointerMove(event: PointerEvent): void;
|
|
5376
|
+
protected onPointerUp(event: PointerEvent): void;
|
|
5377
|
+
protected onPointerLeave(_event: PointerEvent): void;
|
|
5378
|
+
/**
|
|
5379
|
+
* Map a client-space pointer position to slide-space coordinates by
|
|
5380
|
+
* subtracting the SVG element's bounding rect and dividing by the zoom.
|
|
5381
|
+
* Returns `null` when the SVG ref is not yet available.
|
|
5382
|
+
*/
|
|
5383
|
+
private _toSlideCoords;
|
|
5384
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresentationAnnotationOverlayComponent, never>;
|
|
5385
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationAnnotationOverlayComponent, "pptx-presentation-annotation-overlay", never, { "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5386
|
+
}
|
|
5387
|
+
|
|
5388
|
+
/**
|
|
5389
|
+
* presentation-subtitle-helpers.ts — Pure helpers for the subtitle/caption bar.
|
|
5390
|
+
*
|
|
5391
|
+
* Isolates all text-segment logic so it can be unit-tested without DOM or
|
|
5392
|
+
* Angular dependencies.
|
|
5393
|
+
*
|
|
5394
|
+
* Ported from React:
|
|
5395
|
+
* packages/react/src/viewer/components/PresentationSubtitleBar.tsx
|
|
5396
|
+
*/
|
|
5397
|
+
/**
|
|
5398
|
+
* A single speech recognition alternative (best-guess transcript + confidence).
|
|
5399
|
+
* Matches the shape of the Web Speech API `SpeechRecognitionAlternative`.
|
|
5400
|
+
*/
|
|
5401
|
+
interface SpeechAlternative {
|
|
5402
|
+
readonly transcript: string;
|
|
5403
|
+
readonly confidence: number;
|
|
5404
|
+
}
|
|
5405
|
+
/**
|
|
5406
|
+
* One result from the recognition engine — array of alternatives plus a
|
|
5407
|
+
* `isFinal` flag that indicates whether this result is stable (true) or
|
|
5408
|
+
* still being refined (false, i.e. interim).
|
|
5409
|
+
*/
|
|
5410
|
+
interface SpeechResult {
|
|
5411
|
+
readonly isFinal: boolean;
|
|
5412
|
+
readonly length: number;
|
|
5413
|
+
readonly [index: number]: SpeechAlternative;
|
|
5414
|
+
}
|
|
5415
|
+
/**
|
|
5416
|
+
* The list of all results accumulated in a recognition session.
|
|
5417
|
+
*/
|
|
5418
|
+
interface SpeechResultList {
|
|
5419
|
+
readonly length: number;
|
|
5420
|
+
readonly [index: number]: SpeechResult;
|
|
5421
|
+
}
|
|
5422
|
+
/**
|
|
5423
|
+
* Subset of `SpeechRecognitionEvent` — just what we need.
|
|
5424
|
+
*/
|
|
5425
|
+
interface SpeechRecognitionEventLite {
|
|
5426
|
+
readonly resultIndex: number;
|
|
5427
|
+
readonly results: SpeechResultList;
|
|
5428
|
+
}
|
|
5429
|
+
/**
|
|
5430
|
+
* Structural interface matching the Web Speech API `SpeechRecognition` object.
|
|
5431
|
+
* Kept minimal so we only depend on what we actually use.
|
|
5432
|
+
*/
|
|
5433
|
+
interface SpeechRecognitionLite extends EventTarget {
|
|
5434
|
+
continuous: boolean;
|
|
5435
|
+
interimResults: boolean;
|
|
5436
|
+
lang: string;
|
|
5437
|
+
onresult: ((event: SpeechRecognitionEventLite) => void) | null;
|
|
5438
|
+
onerror: ((event: Event) => void) | null;
|
|
5439
|
+
onend: (() => void) | null;
|
|
5440
|
+
start: () => void;
|
|
5441
|
+
stop: () => void;
|
|
5442
|
+
}
|
|
5443
|
+
/** Constructor signature for the speech recognition object. */
|
|
5444
|
+
type SpeechRecognitionCtor = new () => SpeechRecognitionLite;
|
|
5445
|
+
|
|
5446
|
+
declare class PresentationSubtitleBarComponent implements OnChanges {
|
|
5447
|
+
/** Show the subtitle bar and start speech recognition when true. */
|
|
5448
|
+
readonly visible: _angular_core.InputSignal<boolean>;
|
|
5449
|
+
private readonly _captionText;
|
|
5450
|
+
private readonly _supportState;
|
|
5451
|
+
/** The text string rendered in the caption bar. */
|
|
5452
|
+
protected readonly displayText: _angular_core.WritableSignal<string>;
|
|
5453
|
+
/**
|
|
5454
|
+
* Whether the recognition session should remain running.
|
|
5455
|
+
* Toggled on `visible` changes; checked in `onend` to decide whether
|
|
5456
|
+
* to restart.
|
|
5457
|
+
*/
|
|
5458
|
+
private _shouldRun;
|
|
5459
|
+
/** Active recognition instance, or null when stopped. */
|
|
5460
|
+
private _recognition;
|
|
5461
|
+
private readonly _destroyRef;
|
|
5462
|
+
constructor();
|
|
5463
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
5464
|
+
private _startRecognition;
|
|
5465
|
+
private _stopRecognition;
|
|
5466
|
+
/**
|
|
5467
|
+
* Thin wrapper around {@link getSpeechRecognitionCtor} so tests can spy on
|
|
5468
|
+
* or override this method without patching `globalThis`.
|
|
5469
|
+
*/
|
|
5470
|
+
protected _getSpeechCtor(): SpeechRecognitionCtor | null;
|
|
5471
|
+
private _updateDisplayText;
|
|
5472
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresentationSubtitleBarComponent, never>;
|
|
5473
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationSubtitleBarComponent, "pptx-presentation-subtitle-bar", never, { "visible": { "alias": "visible"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5474
|
+
}
|
|
5475
|
+
|
|
5055
5476
|
/**
|
|
5056
5477
|
* transition-helpers.ts
|
|
5057
5478
|
*
|
|
@@ -5349,6 +5770,31 @@ declare function getResolvedShapeClipPathFor(shapeType: string | undefined, widt
|
|
|
5349
5770
|
*/
|
|
5350
5771
|
declare function getResolvedShapeClipPath(element: PptxElement, width?: number, height?: number): string | undefined;
|
|
5351
5772
|
|
|
5773
|
+
/**
|
|
5774
|
+
* SVG path generators for WordArt text warp presets.
|
|
5775
|
+
*
|
|
5776
|
+
* Angular port of `packages/react/src/viewer/utils/warp-path-generators.ts`
|
|
5777
|
+
* and `packages/react/src/viewer/utils/warp-path-cascade.ts`.
|
|
5778
|
+
*
|
|
5779
|
+
* Each generator produces an SVG path `d` attribute for a single text line
|
|
5780
|
+
* at a given normalised vertical position (t: 0 = top, 1 = bottom).
|
|
5781
|
+
* All functions are pure and deterministic — no side-effects, no random/date.
|
|
5782
|
+
*/
|
|
5783
|
+
|
|
5784
|
+
/**
|
|
5785
|
+
* Presets that require SVG `<textPath>` rendering along a curved/circular path.
|
|
5786
|
+
* All other warp presets (envelope: inflate/deflate/can; simple: slant/fade/
|
|
5787
|
+
* cascade) are rendered with CSS transforms instead — see `text-warp.ts`'s
|
|
5788
|
+
* `getWarpCategory`, which this set must stay in sync with (the `'path'`
|
|
5789
|
+
* category). Listing a CSS preset here would wrongly route it to `<textPath>`.
|
|
5790
|
+
*/
|
|
5791
|
+
declare const SVG_WARP_PRESETS: ReadonlySet<string>;
|
|
5792
|
+
/** Returns `true` when the preset should use SVG `<textPath>` rendering. */
|
|
5793
|
+
declare function shouldUseSvgWarp(preset: PptxTextWarpPreset | undefined): boolean;
|
|
5794
|
+
/** Generate an SVG path `d` attribute for a warp preset at a given line position.
|
|
5795
|
+
* Optional adj/adj2 are raw OOXML adjustment values (1/60000th units). */
|
|
5796
|
+
declare function getWarpPath(preset: PptxTextWarpPreset, width: number, height: number, lineIndex: number, lineCount: number, adj?: number, adj2?: number): string;
|
|
5797
|
+
|
|
5352
5798
|
/**
|
|
5353
5799
|
* Slide-background style resolution.
|
|
5354
5800
|
*
|
|
@@ -5517,5 +5963,5 @@ declare function themeStyle(theme: ViewerTheme | undefined): Record<string, stri
|
|
|
5517
5963
|
type ClassValue = string | number | false | null | undefined;
|
|
5518
5964
|
declare function cn(...values: ClassValue[]): string;
|
|
5519
5965
|
|
|
5520
|
-
export { AccessibilityPanelComponent, AccessibilityService, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, BroadcastDialogComponent, CURSOR_PALETTE, ChartDataEditorComponent, ChartRendererComponent, CollaborationCursorsComponent, CollaborationService, CommentsPanelComponent, CommentsService, ConnectorRendererComponent, ConnectorTextOverlayComponent, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, EMBEDDED_FONTS_STYLE_ID, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EquationRendererComponent, ExportService, FindBarComponent, FindReplaceBarComponent, GradientPickerComponent, HANDOUT_OPTIONS, HyperlinkDialogComponent, InkRendererComponent, InspectorPanelComponent, IsMobileService, LoadContentService, MobileBottomBarComponent, MobileMenuSheetComponent, MobileSheetComponent, MobileSlidesSheetComponent, ModalDialogComponent, Model3DRendererComponent, OleRendererComponent, PowerPointViewerComponent, PresentationOverlayComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RESIZE_HANDLES, SEVERITY_GROUPS, SEVERITY_LABELS, SLIDE_TRANSITION_KEYFRAMES, ShareDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArtRendererComponent, TYPE_LABELS, TableDataEditorComponent, TableRendererComponent, TextAdvancedPanelComponent, VIEWER_THEME, WEBM_MIME_CANDIDATES, ZoomRendererComponent, addCommentToList, advanceStep, applyFindReplacements, applyMove, applyResize, assignUserColor, bringForward, bringToFront, buildBroadcastConfig, buildBroadcastViewerUrl, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildFontFaceRule, buildHyperlinkPatch, buildPatternFillCss, buildPrintDocument, buildPropertiesPatch, buildShareUrl, bulletIndentPx, canStartBroadcast, canStartShare, canUseClipboard, clampCursorPosition, clampGifDimensions, clampNotesFontSize, clampStep, cn, collectAccessibilityIssues, collectElementText, collectSlideText, computeHandoutLayout, computeIsMobile, computeIsTablet, computePageCount, computeSlideIndices, computeTimerProgress, convertOmmlToMathMl, countAccessibilityIssues, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, derivePresenceList, duplicateElementById, durationOf, encodeGif, estimatePageCount, findInSlides, fontMimeForFormat, formatAutoNumber, formatCursorLabel, formatElapsed, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, getContainerStyle, getDuotoneFilterDef, getImageSrc, getPatternSvg, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getTextBlockStyle, groupIssuesBySeverity, hasExistingLink, headerLabel, isInjectableUrl, isPpactionUrl, isSigned, isUrlSafe, isValidRoomId, issueTrackKey, issueTypeLabel, moveElementBy, msToFrameDelayCs, normalizeFontFormat, normalizeSlidesPerPage, ommlToMathml, overallStatus, pendingElementStyles, pickSupportedMimeType, planGifFrames, planVideoSegments, presenceToCursors, provideViewerTheme, recordWebm, removeCommentFromList, renderToCanvas, replaceInSlides, replaceMatch, resizeElement, resolveFontVariant, resolveHyperlinkHref, resolveParagraphBullet, resolvePresenterNotes, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, sendBackward, sendToBack, setElementPosition, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusKind, statusLabel, themeStyle, themeToCssVars, toggleCommentResolvedInList, updateElementById, validatePrintSettings, validateRoomId, waypointsToPathD, worstStatus };
|
|
5521
|
-
export type { AccessibilityIssueGroup, AnimationClickGroup, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, ClassValue, CollaborationConfig, CollaborationRole, Rect as ConnectorObstacle, Point as ConnectorPoint, ConnectorRouting, DocumentProperties, DuotoneFilterDef, EmbeddedFontStyles, FindOptions, FindResult, GifFrame, GifFramePlan, GifPlanOptions, HandoutSlidesPerPage, HyperlinkDraft, NotesSegmentViewModel, ObjectUrlFactory, OverallSignatureStatus, PresenterNotes, PrintColorMode, PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, RecordWebmOptions, RemoteCursor, RemotePresence, ReplaceResult, ResizeHandle, ResolvedFontVariant, ShareDefaults, ShareFormFields, SignatureStatusKind, SlideTransitionAnimations, StyleMap, TimerProgress, VideoPlanOptions, VideoSegmentPlan, ViewerTheme, ViewerThemeColors };
|
|
5966
|
+
export { AccessibilityPanelComponent, AccessibilityService, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, BroadcastDialogComponent, CURSOR_PALETTE, ChartDataEditorComponent, ChartRendererComponent, CollaborationCursorsComponent, CollaborationService, CommentsPanelComponent, CommentsService, ConnectorRendererComponent, ConnectorTextOverlayComponent, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, EMBEDDED_FONTS_STYLE_ID, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EquationRendererComponent, ExportService, FindBarComponent, FindReplaceBarComponent, GradientPickerComponent, HANDOUT_OPTIONS, HyperlinkDialogComponent, InkRendererComponent, InspectorPanelComponent, IsMobileService, LoadContentService, MobileBottomBarComponent, MobileMenuSheetComponent, MobileSheetComponent, MobileSlidesSheetComponent, ModalDialogComponent, Model3DRendererComponent, OleRendererComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RESIZE_HANDLES, SEVERITY_GROUPS, SEVERITY_LABELS, SLIDE_TRANSITION_KEYFRAMES, SVG_WARP_PRESETS, ShareDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArtRendererComponent, TYPE_LABELS, TableDataEditorComponent, TableRendererComponent, TextAdvancedPanelComponent, VIEWER_THEME, WEBM_MIME_CANDIDATES, ZoomRendererComponent, addCommentToList, advanceStep, applyFindReplacements, applyMove, applyResize, assignUserColor, bringForward, bringToFront, buildBroadcastConfig, buildBroadcastViewerUrl, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildFontFaceRule, buildHyperlinkPatch, buildPatternFillCss, buildPrintDocument, buildPropertiesPatch, buildShareUrl, bulletIndentPx, canStartBroadcast, canStartShare, canUseClipboard, clampCursorPosition, clampGifDimensions, clampNotesFontSize, clampStep, cn, collectAccessibilityIssues, collectElementText, collectSlideText, computeHandoutLayout, computeIsMobile, computeIsTablet, computePageCount, computeSlideIndices, computeTimerProgress, convertOmmlToMathMl, countAccessibilityIssues, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, derivePresenceList, duplicateElementById, durationOf, encodeGif, estimatePageCount, findInSlides, fontMimeForFormat, formatAutoNumber, formatCursorLabel, formatElapsed, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, getContainerStyle, getDuotoneFilterDef, getImageSrc, getPatternSvg, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getTextBlockStyle, getTextWarp, getWarpCategory, getWarpPath, groupIssuesBySeverity, hasExistingLink, headerLabel, isInjectableUrl, isPpactionUrl, isSigned, isUrlSafe, isValidRoomId, issueTrackKey, issueTypeLabel, moveElementBy, msToFrameDelayCs, normalizeFontFormat, normalizeSlidesPerPage, ommlToMathml, overallStatus, pendingElementStyles, pickSupportedMimeType, planGifFrames, planVideoSegments, presenceToCursors, provideViewerTheme, recordWebm, removeCommentFromList, renderToCanvas, replaceInSlides, replaceMatch, resizeElement, resolveFontVariant, resolveHyperlinkHref, resolveParagraphBullet, resolvePresenterNotes, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, sendBackward, sendToBack, setElementPosition, shouldUseSvgWarp, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusKind, statusLabel, themeStyle, themeToCssVars, toggleCommentResolvedInList, updateElementById, validatePrintSettings, validateRoomId, waypointsToPathD, worstStatus };
|
|
5967
|
+
export type { AccessibilityIssueGroup, AnimationClickGroup, AnnotationStroke, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, ClassValue, CollaborationConfig, CollaborationRole, Rect as ConnectorObstacle, Point as ConnectorPoint, ConnectorRouting, DocumentProperties, DuotoneFilterDef, EmbeddedFontStyles, FindOptions, FindResult, GifFrame, GifFramePlan, GifPlanOptions, HandoutSlidesPerPage, HyperlinkDraft, NotesSegmentViewModel, ObjectUrlFactory, OverallSignatureStatus, PresentationTool, PresenterNotes, PrintColorMode, PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, RecordWebmOptions, RemoteCursor, RemotePresence, ReplaceResult, ResizeHandle, ResolvedFontVariant, ShareDefaults, ShareFormFields, SignatureStatusKind, SlideTransitionAnimations, StyleMap, TextWarpCssDef, TextWarpDef, TextWarpPathDef, TimerProgress, VideoPlanOptions, VideoSegmentPlan, ViewerTheme, ViewerThemeColors };
|