pptx-angular-viewer 1.1.50 → 1.1.52
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 +6 -0
- package/README.md +9 -11
- package/fesm2022/pptx-angular-viewer.mjs +5360 -1147
- package/fesm2022/pptx-angular-viewer.mjs.map +1 -1
- package/package.json +3 -3
- package/pptx-angular-viewer.css +1 -1
- package/types/pptx-angular-viewer.d.ts +328 -35
|
@@ -649,6 +649,31 @@ declare function revealedElementStyles(groups: readonly AnimationClickGroup[], s
|
|
|
649
649
|
*/
|
|
650
650
|
declare function pendingElementStyles(groups: readonly AnimationClickGroup[], step: number): Map<string, CSSProperties>;
|
|
651
651
|
|
|
652
|
+
/**
|
|
653
|
+
* Framework-agnostic helpers for inline (on-canvas) SmartArt node text editing.
|
|
654
|
+
*
|
|
655
|
+
* The actual text mutation lives in `pptx-viewer-core`
|
|
656
|
+
* (`updateSmartArtNodeText`); these helpers cover the pure, binding-independent
|
|
657
|
+
* concerns around it:
|
|
658
|
+
*
|
|
659
|
+
* - `findSmartArtNodeText`: look up a node's current text by id.
|
|
660
|
+
* - `shouldCommitSmartArtNodeText`: decide whether a new value differs from the
|
|
661
|
+
* current one (so a no-op blur does not push a history entry).
|
|
662
|
+
* - `computeInlineEditorRect`: project a node's on-screen bounding box into
|
|
663
|
+
* coordinates relative to the SmartArt container so an HTML editor overlay can
|
|
664
|
+
* be positioned exactly over the node.
|
|
665
|
+
*
|
|
666
|
+
* @module smartart-inline-edit
|
|
667
|
+
*/
|
|
668
|
+
|
|
669
|
+
/** A minimal rectangle (DOMRect-compatible) used for overlay positioning. */
|
|
670
|
+
interface InlineEditRect {
|
|
671
|
+
left: number;
|
|
672
|
+
top: number;
|
|
673
|
+
width: number;
|
|
674
|
+
height: number;
|
|
675
|
+
}
|
|
676
|
+
|
|
652
677
|
/**
|
|
653
678
|
* Pure geometry helpers for the align / distribute editor operations.
|
|
654
679
|
*
|
|
@@ -994,6 +1019,39 @@ declare function resolveParagraphBullet(firstSegment: TextSegment | undefined):
|
|
|
994
1019
|
*/
|
|
995
1020
|
declare function bulletIndentPx(level: number | undefined): number;
|
|
996
1021
|
|
|
1022
|
+
/**
|
|
1023
|
+
* notes-utils.ts: framework-agnostic pure helpers for the rich speaker-notes
|
|
1024
|
+
* editor, shared by the React, Vue, and Angular bindings.
|
|
1025
|
+
*
|
|
1026
|
+
* Ported from React's `viewer/components/notes/notes-utils.ts`. Pure TypeScript
|
|
1027
|
+
* (no DOM, no framework imports beyond the core `TextSegment` model), so each
|
|
1028
|
+
* binding consumes one copy: paragraph/segment conversions, plain-text seeding,
|
|
1029
|
+
* normalisation, and the cursor->paragraph index lookup used by list/indent
|
|
1030
|
+
* toolbar actions.
|
|
1031
|
+
*
|
|
1032
|
+
* NOTE: `escapeHtml` is exported for sibling notes modules but intentionally not
|
|
1033
|
+
* re-exported through the notes barrel: the shared `export/print-document`
|
|
1034
|
+
* module already exports a symbol of the same name.
|
|
1035
|
+
*/
|
|
1036
|
+
|
|
1037
|
+
/** Inline character-formatting commands handled via `document.execCommand`. */
|
|
1038
|
+
type NotesInlineCommand = 'bold' | 'italic' | 'underline' | 'strikeThrough';
|
|
1039
|
+
|
|
1040
|
+
/**
|
|
1041
|
+
* notes-editor.ts: framework-agnostic DOM command helpers for the rich
|
|
1042
|
+
* speaker-notes contentEditable editor, shared by every binding.
|
|
1043
|
+
*
|
|
1044
|
+
* These wrap the pure paragraph/segment maths in `notes-utils` with the small
|
|
1045
|
+
* amount of (framework-neutral) DOM work the toolbar actions need: reading the
|
|
1046
|
+
* live editor back into segments, applying a list/indent command at the caret,
|
|
1047
|
+
* and inserting a hyperlink at the current selection. The binding owns the
|
|
1048
|
+
* editor element ref, the debounce, and the reactive state; it calls these to
|
|
1049
|
+
* compute the next segments + plain text without duplicating the logic.
|
|
1050
|
+
*/
|
|
1051
|
+
|
|
1052
|
+
/** Paragraph-level toolbar commands. */
|
|
1053
|
+
type NotesParagraphCommand = 'bullet' | 'numbered' | 'indent' | 'outdent';
|
|
1054
|
+
|
|
997
1055
|
/**
|
|
998
1056
|
* Text-field placeholder substitution, shared by every binding's text
|
|
999
1057
|
* renderer.
|
|
@@ -2822,6 +2880,52 @@ declare class MobileBottomBarComponent {
|
|
|
2822
2880
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileBottomBarComponent, "pptx-mobile-bottom-bar", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "activeSheet": { "alias": "activeSheet"; "required": false; "isSignal": true; }; }, { "openSlides": "openSlides"; "insert": "insert"; "openFormat": "openFormat"; "openComments": "openComments"; "notes": "notes"; }, never, never, true, never>;
|
|
2823
2881
|
}
|
|
2824
2882
|
|
|
2883
|
+
/** BroadcastChannel name shared between presenter and audience tabs. */
|
|
2884
|
+
declare const PRESENTER_CHANNEL_NAME = "pptx-viewer-presenter";
|
|
2885
|
+
/** Unique origin identifier so we only react to our own messages. */
|
|
2886
|
+
declare const PRESENTER_MSG_ORIGIN = "pptx-viewer-presenter";
|
|
2887
|
+
/** Hash key used to pass the session nonce to the audience tab. */
|
|
2888
|
+
declare const AUDIENCE_NONCE_KEY = "nonce";
|
|
2889
|
+
interface PresenterSlideChangeMessage {
|
|
2890
|
+
origin: typeof PRESENTER_MSG_ORIGIN;
|
|
2891
|
+
type: 'presenter-slide-change';
|
|
2892
|
+
slideIndex: number;
|
|
2893
|
+
sessionId: string;
|
|
2894
|
+
}
|
|
2895
|
+
interface PresenterExitMessage {
|
|
2896
|
+
origin: typeof PRESENTER_MSG_ORIGIN;
|
|
2897
|
+
type: 'presenter-exit';
|
|
2898
|
+
sessionId: string;
|
|
2899
|
+
}
|
|
2900
|
+
type PresenterMessage = PresenterSlideChangeMessage | PresenterExitMessage;
|
|
2901
|
+
/** Type guard for messages arriving on the presenter BroadcastChannel. */
|
|
2902
|
+
declare function isPresenterMessage(data: unknown): data is PresenterMessage;
|
|
2903
|
+
/**
|
|
2904
|
+
* Parse the session nonce from the current page URL hash. Returns null if the
|
|
2905
|
+
* hash is not in the expected `#pptx-audience&nonce=<uuid>` form.
|
|
2906
|
+
*/
|
|
2907
|
+
declare function parseAudienceNonce(): string | null;
|
|
2908
|
+
declare class PresenterWindowService {
|
|
2909
|
+
private audienceWindow;
|
|
2910
|
+
private channel;
|
|
2911
|
+
private pollTimer;
|
|
2912
|
+
/** Per-session UUID. Regenerated each time openAudienceWindow is invoked. */
|
|
2913
|
+
private sessionId;
|
|
2914
|
+
private getChannel;
|
|
2915
|
+
isAudienceWindowOpen(): boolean;
|
|
2916
|
+
syncSlideToAudience(slideIndex: number): void;
|
|
2917
|
+
closeAudienceWindow(): void;
|
|
2918
|
+
/**
|
|
2919
|
+
* Open the audience tab. Persists the PPTX bytes (if any) to IndexedDB, then
|
|
2920
|
+
* navigates the placeholder tab to the audience URL. Returns false when the
|
|
2921
|
+
* popup is blocked.
|
|
2922
|
+
*/
|
|
2923
|
+
openAudienceWindow(content: ArrayBuffer | Uint8Array | null, currentSlideIndex: number): boolean;
|
|
2924
|
+
private disposeWindow;
|
|
2925
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresenterWindowService, never>;
|
|
2926
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PresenterWindowService>;
|
|
2927
|
+
}
|
|
2928
|
+
|
|
2825
2929
|
/**
|
|
2826
2930
|
* Captures the slide at `index` (zero-based) to a PNG `data:` URL. The viewer
|
|
2827
2931
|
* supplies this: it flips the live stage to `index` and rasterises it.
|
|
@@ -3247,6 +3351,22 @@ declare class PowerPointViewerComponent {
|
|
|
3247
3351
|
readonly theme: _angular_core.InputSignal<ViewerTheme | undefined>;
|
|
3248
3352
|
/** Optional real-time collaboration config; when set, connects and shows remote cursors. */
|
|
3249
3353
|
readonly collaboration: _angular_core.InputSignal<CollaborationConfig | undefined>;
|
|
3354
|
+
/**
|
|
3355
|
+
* Display name for the local user in collaboration/broadcast sessions and
|
|
3356
|
+
* presence avatars. Falls back to "You" (cursors/avatars) and "Presenter"
|
|
3357
|
+
* (broadcast owner) when omitted. Mirrors the React/Vue `authorName` prop.
|
|
3358
|
+
*/
|
|
3359
|
+
readonly authorName: _angular_core.InputSignal<string | undefined>;
|
|
3360
|
+
/**
|
|
3361
|
+
* Seed values for the Share dialog's start form (and the broadcast server
|
|
3362
|
+
* URL). Lets the host pre-fill the room id / user name / server URL. Mirrors
|
|
3363
|
+
* the React/Vue `shareDefaults` prop.
|
|
3364
|
+
*/
|
|
3365
|
+
readonly shareDefaults: _angular_core.InputSignal<{
|
|
3366
|
+
roomId?: string;
|
|
3367
|
+
userName?: string;
|
|
3368
|
+
serverUrl?: string;
|
|
3369
|
+
} | undefined>;
|
|
3250
3370
|
/**
|
|
3251
3371
|
* Host override for the File ▸ Open action. When set, the built-in native
|
|
3252
3372
|
* file picker is bypassed and this is invoked instead; the host then supplies
|
|
@@ -3270,6 +3390,14 @@ declare class PowerPointViewerComponent {
|
|
|
3270
3390
|
readonly contentChange: _angular_core.OutputEmitterRef<Uint8Array<ArrayBufferLike>>;
|
|
3271
3391
|
/** Fired when the user edits document properties in the Info dialog. */
|
|
3272
3392
|
readonly propertiesChange: _angular_core.OutputEmitterRef<Partial<PptxCoreProperties>>;
|
|
3393
|
+
/**
|
|
3394
|
+
* Fired when a collaboration/broadcast session starts, with the connected
|
|
3395
|
+
* config (role `collaborator` for Share, `owner` for Broadcast). Lets the
|
|
3396
|
+
* host rewrite the URL and publish the deck. Mirrors React/Vue.
|
|
3397
|
+
*/
|
|
3398
|
+
readonly startCollaboration: _angular_core.OutputEmitterRef<CollaborationConfig>;
|
|
3399
|
+
/** Fired when the collaboration/broadcast session stops. Mirrors React/Vue. */
|
|
3400
|
+
readonly stopCollaboration: _angular_core.OutputEmitterRef<void>;
|
|
3273
3401
|
protected readonly loader: LoadContentService;
|
|
3274
3402
|
private readonly exportSvc;
|
|
3275
3403
|
protected readonly editor: EditorStateService;
|
|
@@ -3279,6 +3407,8 @@ declare class PowerPointViewerComponent {
|
|
|
3279
3407
|
protected readonly print: PrintService;
|
|
3280
3408
|
protected readonly mobile: IsMobileService;
|
|
3281
3409
|
private readonly smartArt3DSvc;
|
|
3410
|
+
private readonly zoomTarget;
|
|
3411
|
+
protected readonly presenterWindow: PresenterWindowService;
|
|
3282
3412
|
/** The `<main>` host; used to locate the live `.pptx-ng-canvas-stage`. */
|
|
3283
3413
|
private readonly mainEl;
|
|
3284
3414
|
/** True while a PNG/PDF export is in progress (disables the buttons). */
|
|
@@ -3321,6 +3451,8 @@ declare class PowerPointViewerComponent {
|
|
|
3321
3451
|
protected readonly mobileSheet: _angular_core.WritableSignal<"menu" | "slides" | null>;
|
|
3322
3452
|
/** Speaker-notes strip visibility. */
|
|
3323
3453
|
protected readonly showNotes: _angular_core.WritableSignal<boolean>;
|
|
3454
|
+
/** Whether the left slides panel is collapsed (top-bar sidebar toggle). */
|
|
3455
|
+
protected readonly slidesPanelCollapsed: _angular_core.WritableSignal<boolean>;
|
|
3324
3456
|
/** Find-in-slides bar visibility. */
|
|
3325
3457
|
protected readonly showFind: _angular_core.WritableSignal<boolean>;
|
|
3326
3458
|
/** Find-and-replace bar state (edit mode only). */
|
|
@@ -3343,6 +3475,11 @@ declare class PowerPointViewerComponent {
|
|
|
3343
3475
|
* `canEdit`.
|
|
3344
3476
|
*/
|
|
3345
3477
|
protected readonly inspectorContent: _angular_core.Signal<"slide" | "element" | "comments" | "accessibility" | "signatures" | "selection" | null>;
|
|
3478
|
+
/**
|
|
3479
|
+
* Whether the right-docked inspector is showing the format panel (element or
|
|
3480
|
+
* slide properties). Drives the top-bar inspector-toggle active state.
|
|
3481
|
+
*/
|
|
3482
|
+
protected readonly inspectorPaneOpen: _angular_core.Signal<boolean>;
|
|
3346
3483
|
/** Inspector content, but null on mobile once the user has swiped it away. */
|
|
3347
3484
|
protected readonly visibleInspectorKind: _angular_core.Signal<"slide" | "element" | "comments" | "accessibility" | "signatures" | "selection" | null>;
|
|
3348
3485
|
/** Accessible label for the inspector host, by active content. */
|
|
@@ -3376,6 +3513,16 @@ declare class PowerPointViewerComponent {
|
|
|
3376
3513
|
protected readonly shareUrl: _angular_core.Signal<string>;
|
|
3377
3514
|
/** Shareable follow link for the active broadcast. */
|
|
3378
3515
|
protected readonly broadcastViewerUrl: _angular_core.Signal<string>;
|
|
3516
|
+
/**
|
|
3517
|
+
* Seed values for the Share dialog: the host-supplied {@link shareDefaults},
|
|
3518
|
+
* with `userName` falling back to {@link authorName} (then "You") so the
|
|
3519
|
+
* local user's name pre-fills the form. Mirrors React/Vue.
|
|
3520
|
+
*/
|
|
3521
|
+
protected readonly shareDialogDefaults: _angular_core.Signal<{
|
|
3522
|
+
roomId?: string;
|
|
3523
|
+
userName?: string;
|
|
3524
|
+
serverUrl?: string;
|
|
3525
|
+
}>;
|
|
3379
3526
|
/** Local overrides applied to document properties via the Info dialog. */
|
|
3380
3527
|
private readonly coreOverride;
|
|
3381
3528
|
/** Comments on the active slide. */
|
|
@@ -3509,9 +3656,14 @@ declare class PowerPointViewerComponent {
|
|
|
3509
3656
|
* selection correct when the show closes.
|
|
3510
3657
|
*/
|
|
3511
3658
|
onPresentationIndexChange(index: number): void;
|
|
3659
|
+
/**
|
|
3660
|
+
* Open a separate audience tab and hand off the deck via the shared
|
|
3661
|
+
* IndexedDB store. Mirrors React's presenter "open audience window".
|
|
3662
|
+
*/
|
|
3663
|
+
openAudienceWindow(): void;
|
|
3512
3664
|
/** Open the presenter (speaker) view: current+next slide, notes, timer. */
|
|
3513
3665
|
presentPresenter(): void;
|
|
3514
|
-
/** Close the presenter view (and any audience overlay it opened). */
|
|
3666
|
+
/** Close the presenter view (and any audience overlay/window it opened). */
|
|
3515
3667
|
exitPresenter(): void;
|
|
3516
3668
|
/** Toggle the speaker-notes strip. */
|
|
3517
3669
|
toggleNotes(): void;
|
|
@@ -3565,12 +3717,16 @@ declare class PowerPointViewerComponent {
|
|
|
3565
3717
|
/** Receive an eraser hit and delete the targeted ink element. */
|
|
3566
3718
|
protected onEraserHit(id: string): void;
|
|
3567
3719
|
/**
|
|
3568
|
-
* Activate the
|
|
3720
|
+
* Activate the eyedropper to pick a colour from the screen. Uses the native
|
|
3721
|
+
* EyeDropper API where available (Chrome/Edge); on Firefox/Safari it falls
|
|
3722
|
+
* back to a one-shot click that samples the slide DOM under the pointer.
|
|
3569
3723
|
* When a shape/text/connector/image element is selected, applies the colour
|
|
3570
|
-
* to its fill
|
|
3571
|
-
*
|
|
3724
|
+
* to its fill; otherwise copies it to the clipboard. No-ops when the user
|
|
3725
|
+
* cancels (Escape) or nothing paintable is under the pointer.
|
|
3572
3726
|
*/
|
|
3573
3727
|
protected onToggleEyedropper(): Promise<void>;
|
|
3728
|
+
/** Apply a picked colour to the selected shape's fill, else copy to clipboard. */
|
|
3729
|
+
private applyEyedropperColor;
|
|
3574
3730
|
/** Append a comment to the active slide (one history entry). */
|
|
3575
3731
|
onCommentAdd(text: string): void;
|
|
3576
3732
|
/** Remove a comment from the active slide. */
|
|
@@ -3686,7 +3842,7 @@ declare class PowerPointViewerComponent {
|
|
|
3686
3842
|
/** Export every slide as a WebM video (3s per slide) via MediaRecorder. */
|
|
3687
3843
|
exportVideo(): Promise<void>;
|
|
3688
3844
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PowerPointViewerComponent, never>;
|
|
3689
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; }, never, never, true, never>;
|
|
3845
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "shareDefaults": { "alias": "shareDefaults"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
|
|
3690
3846
|
}
|
|
3691
3847
|
|
|
3692
3848
|
/** The eight resize-handle positions around a selection box. */
|
|
@@ -4446,20 +4602,44 @@ interface InlineEditState {
|
|
|
4446
4602
|
text: string;
|
|
4447
4603
|
}
|
|
4448
4604
|
|
|
4605
|
+
/**
|
|
4606
|
+
* Pure narrowing and text-layout helpers for SmartArtRendererComponent.
|
|
4607
|
+
* Extracted to keep the component file within the per-file line budget.
|
|
4608
|
+
* Re-imported as class-property function references so Angular template
|
|
4609
|
+
* type-checking continues to work without changes to the template.
|
|
4610
|
+
*/
|
|
4611
|
+
|
|
4612
|
+
/** Narrow a RenderedNode to a circle, or undefined. */
|
|
4613
|
+
declare function narrowToCircle(node: RenderedNode): RenderedCircleNode | undefined;
|
|
4614
|
+
/** Narrow a RenderedNode to a polygon, or undefined. */
|
|
4615
|
+
declare function narrowToPolygon(node: RenderedNode): RenderedPolygonNode | undefined;
|
|
4616
|
+
/** Narrow a RenderedNode to a rect, or undefined. */
|
|
4617
|
+
declare function narrowToRect(node: RenderedNode): RenderedRectNode | undefined;
|
|
4618
|
+
/**
|
|
4619
|
+
* Split node text on newlines and compute per-line y offsets (in SVG px)
|
|
4620
|
+
* that centre the block around the node centre y (offset 0). Single-line
|
|
4621
|
+
* text produces one entry with offsetY=0, preserving the existing
|
|
4622
|
+
* dominant-baseline="central" behaviour exactly.
|
|
4623
|
+
*/
|
|
4624
|
+
declare function computeTextLines(text: string, fontSize: number): Array<{
|
|
4625
|
+
text: string;
|
|
4626
|
+
offsetY: number;
|
|
4627
|
+
}>;
|
|
4628
|
+
|
|
4449
4629
|
/**
|
|
4450
4630
|
* SmartArtRendererComponent: Angular SmartArt renderer.
|
|
4451
4631
|
*
|
|
4452
4632
|
* Data path mirrors the Vue `SmartArtRenderer.vue` and the React renderer:
|
|
4453
|
-
* 1. **Drawing shapes** (`smartArtData.drawingShapes`)
|
|
4633
|
+
* 1. **Drawing shapes** (`smartArtData.drawingShapes`) -- the preferred path
|
|
4454
4634
|
* when the core extracted per-shape geometry from `ppt/diagrams/drawing*.xml`.
|
|
4455
|
-
* 2. **Shared SVG-fallback engine** (`computeSmartArtLayout`)
|
|
4635
|
+
* 2. **Shared SVG-fallback engine** (`computeSmartArtLayout`) -- when no drawing
|
|
4456
4636
|
* shapes exist, the framework-agnostic engine in `pptx-viewer-shared`
|
|
4457
4637
|
* positions/styles the node tree across all 10 layout families (list /
|
|
4458
4638
|
* process / cycle / hierarchy / matrix / radial / pyramid / venn / funnel /
|
|
4459
4639
|
* target), returning `RenderedNode[]` (rect / circle / polygon) +
|
|
4460
4640
|
* `RenderedConnector[]` view-models. Every binding renders the same
|
|
4461
4641
|
* geometry; this maps those view-models to SVG exactly as Vue does.
|
|
4462
|
-
* 3. **Placeholder**
|
|
4642
|
+
* 3. **Placeholder** -- when there is neither data nor any nodes/shapes.
|
|
4463
4643
|
*/
|
|
4464
4644
|
declare class SmartArtRendererComponent {
|
|
4465
4645
|
/** The smartArt element to render. Must be `type === 'smartArt'`. */
|
|
@@ -4483,6 +4663,8 @@ declare class SmartArtRendererComponent {
|
|
|
4483
4663
|
protected readonly editState: _angular_core.WritableSignal<InlineEditState | null>;
|
|
4484
4664
|
/** The mounted `<textarea>` for the active node edit, if any. */
|
|
4485
4665
|
private readonly nodeEditor;
|
|
4666
|
+
/** Container div ref used to project hover rects into local coordinates. */
|
|
4667
|
+
private readonly smartartContainer;
|
|
4486
4668
|
/**
|
|
4487
4669
|
* Guards against a cancel-triggered DOM-removal blur committing the edit.
|
|
4488
4670
|
* Set to true before programmatic cancellation; reset to false on each new edit.
|
|
@@ -4504,6 +4686,12 @@ declare class SmartArtRendererComponent {
|
|
|
4504
4686
|
/** `viewBox` attribute string for the drawing-shapes `<svg>`. */
|
|
4505
4687
|
readonly svgViewBox: _angular_core.Signal<string>;
|
|
4506
4688
|
readonly renderedShapes: _angular_core.Signal<RenderedShape[]>;
|
|
4689
|
+
/**
|
|
4690
|
+
* Node id for each drawing shape (index-aligned with `renderedShapes`).
|
|
4691
|
+
* Used to tag `<g>` elements with `data-smartart-node-id` so the 3D
|
|
4692
|
+
* renderer's hit-test overlay can resolve a click to a node.
|
|
4693
|
+
*/
|
|
4694
|
+
readonly drawingShapeNodeIds: _angular_core.Signal<(string | undefined)[]>;
|
|
4507
4695
|
readonly layout: _angular_core.Signal<SmartArtLayoutResult>;
|
|
4508
4696
|
readonly hasLayout: _angular_core.Signal<boolean>;
|
|
4509
4697
|
/**
|
|
@@ -4514,6 +4702,12 @@ declare class SmartArtRendererComponent {
|
|
|
4514
4702
|
readonly a11y: _angular_core.Signal<SmartArtA11y | undefined>;
|
|
4515
4703
|
/** Map of node id -> accessibility label (for per-node `<title>` lookup). */
|
|
4516
4704
|
private readonly a11yLabelById;
|
|
4705
|
+
/**
|
|
4706
|
+
* Parsed data-model node id for a rendered node (or `null` when the key does
|
|
4707
|
+
* not map to one). Exposed as a method so the template can use it: Angular
|
|
4708
|
+
* AOT templates can only call component members, not imported functions.
|
|
4709
|
+
*/
|
|
4710
|
+
nodeKeyId(node: RenderedNode): string | null;
|
|
4517
4711
|
/** Resolve the accessibility label for a rendered node (by parsed node id). */
|
|
4518
4712
|
nodeAriaLabel(node: RenderedNode): string | null;
|
|
4519
4713
|
/**
|
|
@@ -4521,22 +4715,13 @@ declare class SmartArtRendererComponent {
|
|
|
4521
4715
|
* Empty between commits so assistive tech only speaks on change.
|
|
4522
4716
|
*/
|
|
4523
4717
|
readonly liveMessage: _angular_core.WritableSignal<string>;
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
/**
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
asRect
|
|
4530
|
-
|
|
4531
|
-
* Split node text on `\n` and compute per-line y offsets (in SVG px) that
|
|
4532
|
-
* centre the block around the node centre y (offset 0). Single-line text
|
|
4533
|
-
* produces one entry with offsetY=0, preserving the existing
|
|
4534
|
-
* `dominant-baseline="central"` behaviour exactly.
|
|
4535
|
-
*/
|
|
4536
|
-
protected textLines(text: string, fontSize: number): Array<{
|
|
4537
|
-
text: string;
|
|
4538
|
-
offsetY: number;
|
|
4539
|
-
}>;
|
|
4718
|
+
protected readonly hoveredNodeId: _angular_core.WritableSignal<string | null>;
|
|
4719
|
+
protected readonly hoveredNodeRect: _angular_core.WritableSignal<InlineEditRect | null>;
|
|
4720
|
+
/** Narrowing helpers bound as class properties for template type-checking. */
|
|
4721
|
+
protected readonly asCircle: typeof narrowToCircle;
|
|
4722
|
+
protected readonly asPolygon: typeof narrowToPolygon;
|
|
4723
|
+
protected readonly asRect: typeof narrowToRect;
|
|
4724
|
+
protected readonly textLines: typeof computeTextLines;
|
|
4540
4725
|
/** Double-click a node enters inline edit mode (when editable). */
|
|
4541
4726
|
onNodeDblClick(event: Event, node: RenderedNode): void;
|
|
4542
4727
|
/** Enter / F2 on a focused node enters inline edit mode (when editable). */
|
|
@@ -4551,6 +4736,11 @@ declare class SmartArtRendererComponent {
|
|
|
4551
4736
|
private rawNodeText;
|
|
4552
4737
|
/** Commit edited text through the shared editor state (one history entry). */
|
|
4553
4738
|
private applyCommit;
|
|
4739
|
+
protected readonly styleBarStyle: _angular_core.Signal<Record<string, string> | null>;
|
|
4740
|
+
protected onMouseMove(event: MouseEvent): void;
|
|
4741
|
+
protected onMouseLeave(): void;
|
|
4742
|
+
private findNodeEl;
|
|
4743
|
+
protected handleChangeNodeStyle(nodeId: string, fill: string): void;
|
|
4554
4744
|
readonly isEmpty: _angular_core.Signal<boolean>;
|
|
4555
4745
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArtRendererComponent, never>;
|
|
4556
4746
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmartArtRendererComponent, "pptx-smart-art-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -4789,6 +4979,16 @@ interface ZoomViewModel {
|
|
|
4789
4979
|
readonly slideLabel: string;
|
|
4790
4980
|
/** Accessible label for the element. */
|
|
4791
4981
|
readonly ariaLabel: string;
|
|
4982
|
+
/**
|
|
4983
|
+
* Fallback-thumbnail background colour: the target slide's own background when
|
|
4984
|
+
* known, else a neutral grey. Mirrors React's `ZoomSlideThumbnail`.
|
|
4985
|
+
*/
|
|
4986
|
+
readonly thumbnailBackground: string;
|
|
4987
|
+
/**
|
|
4988
|
+
* Friendly section caption for the fallback thumbnail: the target slide's
|
|
4989
|
+
* section name when resolved, else the raw `targetSectionId` (GUID).
|
|
4990
|
+
*/
|
|
4991
|
+
readonly sectionCaption: string | undefined;
|
|
4792
4992
|
}
|
|
4793
4993
|
|
|
4794
4994
|
/**
|
|
@@ -4803,9 +5003,15 @@ interface ZoomViewModel {
|
|
|
4803
5003
|
* In presentation mode the overlay provides a {@link ZoomNavigationService}, so
|
|
4804
5004
|
* clicking (or Enter/Space) jumps to the target slide. Outside presentation mode
|
|
4805
5005
|
* the service is not provided (optional injection yields `null`) and the tile
|
|
4806
|
-
* stays a static link, exactly as before.
|
|
4807
|
-
*
|
|
4808
|
-
*
|
|
5006
|
+
* stays a static link, exactly as before.
|
|
5007
|
+
*
|
|
5008
|
+
* The fallback thumbnail (no embedded preview image) matches React's
|
|
5009
|
+
* `ZoomSlideThumbnail`: when a {@link ZoomTargetService} is provided (by the
|
|
5010
|
+
* viewer), it looks up the target slide and uses that slide's real background
|
|
5011
|
+
* colour, its own 1-based number, and its friendly section name. A live
|
|
5012
|
+
* mini-rendering of the target slide is intentionally NOT drawn. When the
|
|
5013
|
+
* service is absent the tile keeps the neutral grey / index / section-GUID
|
|
5014
|
+
* fallback.
|
|
4809
5015
|
*
|
|
4810
5016
|
* All non-trivial pure computation lives in `zoom-renderer-helpers.ts` (no
|
|
4811
5017
|
* Angular dependency) so it can be unit-tested without TestBed.
|
|
@@ -4815,6 +5021,12 @@ declare class ZoomRendererComponent {
|
|
|
4815
5021
|
readonly zIndex: _angular_core.InputSignal<number>;
|
|
4816
5022
|
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
4817
5023
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
5024
|
+
/**
|
|
5025
|
+
* Target-slide lookup, provided by the viewer. `null` in trees that do not
|
|
5026
|
+
* provide it (e.g. isolated component tests), where the fallback thumbnail
|
|
5027
|
+
* stays on the neutral grey / index / section-GUID placeholder.
|
|
5028
|
+
*/
|
|
5029
|
+
private readonly zoomTarget;
|
|
4818
5030
|
readonly vm: _angular_core.Signal<ZoomViewModel>;
|
|
4819
5031
|
/**
|
|
4820
5032
|
* Zoom-navigation context, present only inside a running presentation (the
|
|
@@ -5347,6 +5559,8 @@ declare class InspectorPanelComponent {
|
|
|
5347
5559
|
textColor: string;
|
|
5348
5560
|
fontSize: number;
|
|
5349
5561
|
}>;
|
|
5562
|
+
/** Whether the element has lock flags preventing move/select. */
|
|
5563
|
+
protected readonly isLocked: _angular_core.Signal<boolean>;
|
|
5350
5564
|
/** Whether the element supports shape-style (fill/stroke) editing. */
|
|
5351
5565
|
protected readonly hasShape: _angular_core.Signal<boolean>;
|
|
5352
5566
|
/** Whether the element supports text-style editing. */
|
|
@@ -5369,6 +5583,8 @@ declare class InspectorPanelComponent {
|
|
|
5369
5583
|
* identically.
|
|
5370
5584
|
*/
|
|
5371
5585
|
protected onSmartArtDataChange(smartArtData: PptxSmartArtData): void;
|
|
5586
|
+
/** Toggle element lock (noMove + noResize + noSelect). */
|
|
5587
|
+
protected onLockToggle(): void;
|
|
5372
5588
|
/** Commit a partial-element patch from an advanced sub-panel as one history entry. */
|
|
5373
5589
|
protected onPatch(patch: Partial<PptxElement>): void;
|
|
5374
5590
|
/** Commit a fully-replaced element (table/chart data editors) as one history entry. */
|
|
@@ -5966,18 +6182,38 @@ declare class MobileToolbarComponent {
|
|
|
5966
6182
|
declare class NotesPanelComponent {
|
|
5967
6183
|
/** The active slide whose notes are shown / edited. */
|
|
5968
6184
|
readonly slide: _angular_core.InputSignal<PptxSlide | undefined>;
|
|
5969
|
-
/** Emits the new notes
|
|
6185
|
+
/** Emits the new plain-text notes on commit. */
|
|
5970
6186
|
readonly update: _angular_core.OutputEmitterRef<string>;
|
|
5971
|
-
/** Whether the panel body is collapsed (notes hidden). */
|
|
5972
6187
|
readonly collapsed: _angular_core.WritableSignal<boolean>;
|
|
6188
|
+
protected readonly isRichEnabled: _angular_core.WritableSignal<boolean>;
|
|
6189
|
+
protected readonly showLinkPopover: _angular_core.WritableSignal<boolean>;
|
|
6190
|
+
protected readonly savedSelectionText: _angular_core.WritableSignal<string>;
|
|
6191
|
+
private readonly richEditor;
|
|
5973
6192
|
private readonly textarea;
|
|
5974
|
-
/**
|
|
6193
|
+
/** Show the rich surface only when a slide is selected. */
|
|
6194
|
+
protected showRich(): boolean;
|
|
6195
|
+
private draftSegments;
|
|
6196
|
+
private draftText;
|
|
5975
6197
|
private seededId;
|
|
6198
|
+
private debounceId;
|
|
5976
6199
|
constructor();
|
|
5977
|
-
|
|
6200
|
+
private seedActiveSurface;
|
|
6201
|
+
private emitNow;
|
|
6202
|
+
private scheduleSave;
|
|
5978
6203
|
toggle(): void;
|
|
5979
|
-
|
|
5980
|
-
|
|
6204
|
+
onRichInput(): void;
|
|
6205
|
+
inlineCommand(command: NotesInlineCommand): void;
|
|
6206
|
+
paragraphCommand(command: NotesParagraphCommand): void;
|
|
6207
|
+
onRichKeydown(event: KeyboardEvent): void;
|
|
6208
|
+
onEditorClick(event: MouseEvent): void;
|
|
6209
|
+
openLinkPopover(): void;
|
|
6210
|
+
insertLink(link: {
|
|
6211
|
+
url: string;
|
|
6212
|
+
displayText: string;
|
|
6213
|
+
}): void;
|
|
6214
|
+
onPlainCommit(event: Event): void;
|
|
6215
|
+
toggleRich(): void;
|
|
6216
|
+
printNotes(): void;
|
|
5981
6217
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotesPanelComponent, never>;
|
|
5982
6218
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotesPanelComponent, "pptx-notes-panel", never, { "slide": { "alias": "slide"; "required": false; "isSignal": true; }; }, { "update": "update"; }, never, never, true, never>;
|
|
5983
6219
|
}
|
|
@@ -6043,6 +6279,31 @@ declare class EditorToolbarComponent {
|
|
|
6043
6279
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorToolbarComponent, "pptx-editor-toolbar", never, { "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6044
6280
|
}
|
|
6045
6281
|
|
|
6282
|
+
declare class StatusBarComponent {
|
|
6283
|
+
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
6284
|
+
readonly slideCount: _angular_core.InputSignal<number>;
|
|
6285
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
6286
|
+
readonly dirty: _angular_core.InputSignal<boolean>;
|
|
6287
|
+
readonly notesOpen: _angular_core.InputSignal<boolean>;
|
|
6288
|
+
readonly zoomPercent: _angular_core.InputSignal<number>;
|
|
6289
|
+
/** True when the slide-sorter overlay is open (active-state styling). */
|
|
6290
|
+
readonly sorterActive: _angular_core.InputSignal<boolean>;
|
|
6291
|
+
/** True when the presentation overlay is open (active-state styling). */
|
|
6292
|
+
readonly presenting: _angular_core.InputSignal<boolean>;
|
|
6293
|
+
readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
|
|
6294
|
+
readonly normalView: _angular_core.OutputEmitterRef<void>;
|
|
6295
|
+
readonly openSorter: _angular_core.OutputEmitterRef<void>;
|
|
6296
|
+
readonly slideShow: _angular_core.OutputEmitterRef<void>;
|
|
6297
|
+
readonly zoomIn: _angular_core.OutputEmitterRef<void>;
|
|
6298
|
+
readonly zoomOut: _angular_core.OutputEmitterRef<void>;
|
|
6299
|
+
readonly zoomReset: _angular_core.OutputEmitterRef<void>;
|
|
6300
|
+
/** "Normal" is active when neither the sorter nor the slideshow is showing. */
|
|
6301
|
+
protected isNormal(): boolean;
|
|
6302
|
+
protected min(a: number, b: number): number;
|
|
6303
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusBarComponent, never>;
|
|
6304
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBarComponent, "pptx-status-bar", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "notesOpen": { "alias": "notesOpen"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "sorterActive": { "alias": "sorterActive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; }, { "toggleNotes": "toggleNotes"; "normalView": "normalView"; "openSorter": "openSorter"; "slideShow": "slideShow"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; }, never, never, true, never>;
|
|
6305
|
+
}
|
|
6306
|
+
|
|
6046
6307
|
declare class EditorContextMenuComponent {
|
|
6047
6308
|
/** Horizontal viewport coordinate (px) of the top-left corner of the menu. */
|
|
6048
6309
|
readonly x: _angular_core.InputSignal<number>;
|
|
@@ -7213,6 +7474,38 @@ interface PresenterNotes {
|
|
|
7213
7474
|
*/
|
|
7214
7475
|
declare function resolvePresenterNotes(slide: PptxSlide | undefined): PresenterNotes;
|
|
7215
7476
|
|
|
7477
|
+
/**
|
|
7478
|
+
* audience-content-store: IndexedDB-based storage for sharing PPTX content
|
|
7479
|
+
* between the presenter tab and audience tab.
|
|
7480
|
+
*
|
|
7481
|
+
* When the presenter opens an audience window, the PPTX bytes are stored in
|
|
7482
|
+
* IndexedDB. The audience tab retrieves them on load and then cleans up.
|
|
7483
|
+
*
|
|
7484
|
+
* Framework-agnostic port of the React store
|
|
7485
|
+
* (packages/react/src/viewer/hooks/presentation-mode/audience-content-store.ts).
|
|
7486
|
+
* The database, store, and key names are kept identical to React/Vue so the
|
|
7487
|
+
* cross-tab handoff stays wire-compatible regardless of which binding opened
|
|
7488
|
+
* the presenter window or which one renders the audience tab.
|
|
7489
|
+
*/
|
|
7490
|
+
/** URL hash that marks the current tab as the audience display. */
|
|
7491
|
+
declare const AUDIENCE_HASH = "#pptx-audience";
|
|
7492
|
+
/** Returns true if the current page was opened as an audience tab. */
|
|
7493
|
+
declare function isAudienceTab(): boolean;
|
|
7494
|
+
/**
|
|
7495
|
+
* Store PPTX content bytes so the audience tab can retrieve them.
|
|
7496
|
+
* Called by the presenter before opening the audience window.
|
|
7497
|
+
*/
|
|
7498
|
+
declare function storeAudienceContent(content: ArrayBuffer | Uint8Array): Promise<void>;
|
|
7499
|
+
/**
|
|
7500
|
+
* Load PPTX content bytes stored by the presenter tab.
|
|
7501
|
+
* Returns `null` if nothing is stored.
|
|
7502
|
+
*/
|
|
7503
|
+
declare function loadAudienceContent(): Promise<Uint8Array | null>;
|
|
7504
|
+
/**
|
|
7505
|
+
* Remove stored audience content (cleanup).
|
|
7506
|
+
*/
|
|
7507
|
+
declare function clearAudienceContent(): Promise<void>;
|
|
7508
|
+
|
|
7216
7509
|
/**
|
|
7217
7510
|
* SVG path generators for WordArt text warp presets.
|
|
7218
7511
|
*
|
|
@@ -7289,5 +7582,5 @@ declare function themeStyle(theme: ViewerTheme | undefined): Record<string, stri
|
|
|
7289
7582
|
type ClassValue = string | number | false | null | undefined;
|
|
7290
7583
|
declare function cn(...values: ClassValue[]): string;
|
|
7291
7584
|
|
|
7292
|
-
export { AccessibilityPanelComponent, AccessibilityService, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, BroadcastDialogComponent, CURSOR_PALETTE, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, 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, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesPanelComponent, 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, applyFormatToElement, applyMove, applyResize, assignUserColor, bringForward, bringToFront, buildBroadcastConfig, buildBroadcastViewerUrl, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildFontFaceRule, buildHyperlinkPatch, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildShareUrl, bulletIndentPx, canStartBroadcast, canStartShare, canUseClipboard, clampCursorPosition, clampGifDimensions, clampNotesFontSize, clampStep, cn, collectAccessibilityIssues, collectElementText, collectSlideText, computeHandoutLayout, computeIsMobile, computeIsTablet, computePageCount, computeSlideIndices, computeTimerProgress, convertOmmlToMathMl, copyFormatFromElement, 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, hasCopyableFormat, 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 };
|
|
7293
|
-
export type { AccessibilityIssueGroup, AnimationClickGroup, AnnotationStroke, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, ClassValue, CollaborationConfig, CollaborationRole, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, DocumentProperties, DuotoneFilterDef, EmbeddedFontStyles, FindOptions, FindResult, GifFrame, GifFramePlan, GifPlanOptions, HandoutSlidesPerPage, HyperlinkDraft, NotesSegmentViewModel, ObjectUrlFactory, OverallSignatureStatus, PresentationTool, PresenterNotes, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, RecordWebmOptions, RemoteCursor, SanitizedPresence as RemotePresence, ReplaceResult, ResizeHandle, ResolvedFontVariant, ShareDefaults, ShareFormFields, SignatureStatusKind, SlideTransitionAnimations, StyleMap, TextWarpCssDef, TextWarpDef, TextWarpPathDef, TimerProgress, VideoPlanOptions, VideoSegmentPlan, ViewerTheme, ViewerThemeColors };
|
|
7585
|
+
export { AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AccessibilityPanelComponent, AccessibilityService, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, BroadcastDialogComponent, CURSOR_PALETTE, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, 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, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesPanelComponent, OleRendererComponent, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RESIZE_HANDLES, SEVERITY_GROUPS, SEVERITY_LABELS, SLIDE_TRANSITION_KEYFRAMES, SVG_WARP_PRESETS, ShareDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArtRendererComponent, StatusBarComponent, TYPE_LABELS, TableDataEditorComponent, TableRendererComponent, TextAdvancedPanelComponent, VIEWER_THEME, WEBM_MIME_CANDIDATES, ZoomRendererComponent, addCommentToList, advanceStep, applyFindReplacements, applyFormatToElement, applyMove, applyResize, assignUserColor, bringForward, bringToFront, buildBroadcastConfig, buildBroadcastViewerUrl, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildFontFaceRule, buildHyperlinkPatch, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildShareUrl, bulletIndentPx, canStartBroadcast, canStartShare, canUseClipboard, clampCursorPosition, clampGifDimensions, clampNotesFontSize, clampStep, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, computeHandoutLayout, computeIsMobile, computeIsTablet, computePageCount, computeSlideIndices, computeTimerProgress, convertOmmlToMathMl, copyFormatFromElement, 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, hasCopyableFormat, hasExistingLink, headerLabel, isAudienceTab, isInjectableUrl, isPpactionUrl, isPresenterMessage, isSigned, isUrlSafe, isValidRoomId, issueTrackKey, issueTypeLabel, loadAudienceContent, moveElementBy, msToFrameDelayCs, normalizeFontFormat, normalizeSlidesPerPage, ommlToMathml, overallStatus, parseAudienceNonce, 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, storeAudienceContent, themeStyle, themeToCssVars, toggleCommentResolvedInList, updateElementById, validatePrintSettings, validateRoomId, waypointsToPathD, worstStatus };
|
|
7586
|
+
export type { AccessibilityIssueGroup, AnimationClickGroup, AnnotationStroke, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, ClassValue, CollaborationConfig, CollaborationRole, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, DocumentProperties, DuotoneFilterDef, EmbeddedFontStyles, FindOptions, FindResult, GifFrame, GifFramePlan, GifPlanOptions, HandoutSlidesPerPage, HyperlinkDraft, NotesSegmentViewModel, ObjectUrlFactory, OverallSignatureStatus, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, RecordWebmOptions, RemoteCursor, SanitizedPresence as RemotePresence, ReplaceResult, ResizeHandle, ResolvedFontVariant, ShareDefaults, ShareFormFields, SignatureStatusKind, SlideTransitionAnimations, StyleMap, TextWarpCssDef, TextWarpDef, TextWarpPathDef, TimerProgress, VideoPlanOptions, VideoSegmentPlan, ViewerTheme, ViewerThemeColors };
|