pptx-angular-viewer 1.29.0 → 1.30.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.
@@ -1,5 +1,5 @@
1
1
  import * as pptx_viewer_core from 'pptx-viewer-core';
2
- import { PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationDirection, PptxAnimationRepeatMode, PptxAnimationSequence, PptxAnimationTimingCurve, PptxAnimationTrigger, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, InkPptxElement, PptxComment, PptxChartType, PptxHeaderFooter, PptxTheme, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme, MasterViewTab, Model3DPptxElement, ZoomPptxElement, PptxSlideTransition, ChartPptxElement, MediaPptxElement, SmartArtPptxElement, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SvgExportOptions, PptxData, SignatureStatus, ElementActionType, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxChartMarkerSymbol, PptxSmartArtNode, SmartArtLayoutType, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
2
+ import { PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationDirection, PptxAnimationRepeatMode, PptxAnimationSequence, PptxAnimationTimingCurve, PptxAnimationTrigger, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, InkPptxElement, PptxComment, PptxChartType, PptxHeaderFooter, PptxTheme, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme, MasterViewTab, SvgExportOptions, PptxData, Model3DPptxElement, ZoomPptxElement, PptxSlideTransition, ChartPptxElement, MediaPptxElement, SmartArtPptxElement, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SignatureStatus, ElementActionType, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxChartMarkerSymbol, PptxSmartArtNode, SmartArtLayoutType, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
3
3
  export { SWITCHABLE_LAYOUT_TYPES, addSmartArtNode, addSmartArtNodeAsChild, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, demoteSmartArtNode, promoteSmartArtNode, removeSmartArtNode, reorderSmartArtNode, switchSmartArtLayout, updateSmartArtNodeText } from 'pptx-viewer-core';
4
4
  import * as _angular_core from '@angular/core';
5
5
  import { Signal, WritableSignal, OnDestroy, OnInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
@@ -6880,6 +6880,544 @@ declare class PowerPointViewerComponent {
6880
6880
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "fontsInput": { "alias": "fonts"; "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; }; "defaultThemeKey": { "alias": "defaultThemeKey"; "required": false; "isSignal": true; }; "availableThemes": { "alias": "availableThemes"; "required": false; "isSignal": true; }; "onThemeChange": { "alias": "onThemeChange"; "required": false; "isSignal": true; }; "defaultLocale": { "alias": "defaultLocale"; "required": false; "isSignal": true; }; "availableLocales": { "alias": "availableLocales"; "required": false; "isSignal": true; }; "onLocaleChange": { "alias": "onLocaleChange"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "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; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "modeChange": "modeChange"; "zoomChange": "zoomChange"; "selectionChange": "selectionChange"; "slideCountChange": "slideCountChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
6881
6881
  }
6882
6882
 
6883
+ /** A selected chart sub-part, scoped to the chart element that owns it. */
6884
+ interface ChartPartSelection {
6885
+ elementId: string;
6886
+ part: ChartPartRef;
6887
+ }
6888
+ declare class ChartPartSelectionService {
6889
+ /** The current on-canvas chart part selection, or null. */
6890
+ readonly selection: _angular_core.WritableSignal<ChartPartSelection | null>;
6891
+ /** Select a chart part (replaces any previous selection). */
6892
+ select(selection: ChartPartSelection): void;
6893
+ /** Clear the selection entirely. */
6894
+ clear(): void;
6895
+ /** Clear the selection when it belongs to the given chart element. */
6896
+ clearForElement(elementId: string): void;
6897
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartPartSelectionService, never>;
6898
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartPartSelectionService>;
6899
+ }
6900
+
6901
+ declare class EmbeddedFontsService {
6902
+ /** The generated `@font-face` stylesheet text (also injected into `<head>`). */
6903
+ readonly fontFaceCss: _angular_core.WritableSignal<string>;
6904
+ /**
6905
+ * Distinct CSS `font-family` strings for the embedded families, each with
6906
+ * substitution fallbacks resolved (e.g. `'"Calibri", "Carlito", …'`).
6907
+ */
6908
+ readonly fontFamilies: _angular_core.WritableSignal<string[]>;
6909
+ private styleEl;
6910
+ private embeddedCss;
6911
+ private userCss;
6912
+ /** Object URLs minted on the most recent `setFonts`; revoked when superseded. */
6913
+ private liveObjectUrls;
6914
+ /** Mints a Blob object URL for de-obfuscated font bytes (impure side effect). */
6915
+ private readonly mintObjectUrl;
6916
+ constructor();
6917
+ /**
6918
+ * Resolve the supplied embedded fonts into `@font-face` rules, inject them
6919
+ * into the managed `<style>` element, and update the exposed signals.
6920
+ *
6921
+ * Object URLs minted on the *previous* call are revoked here so they don't
6922
+ * leak across re-parses. Pass an empty list (or `null`) to clear everything.
6923
+ */
6924
+ setFonts(fonts: readonly PptxEmbeddedFont[] | null | undefined): void;
6925
+ /** Replace the licensed font sources supplied by the host application. */
6926
+ setHostFonts(fonts: readonly ViewerFontSource[] | null | undefined): void;
6927
+ /**
6928
+ * Remove the injected `<style>` element, revoke all live object URLs, and
6929
+ * reset the signals. Called automatically on destroy; safe to call manually.
6930
+ */
6931
+ dispose(): void;
6932
+ /** Create / update / remove the managed `<style>` element to match `css`. */
6933
+ private syncStyleElement;
6934
+ private removeStyleElement;
6935
+ private revokeObjectUrls;
6936
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmbeddedFontsService, never>;
6937
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<EmbeddedFontsService>;
6938
+ }
6939
+
6940
+ declare class ExportService {
6941
+ private static readonly PRESENTATION_MIME;
6942
+ /** Build a resolution-independent SVG string directly from slide data. */
6943
+ exportSlideToSvg(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): string;
6944
+ /** Build an SVG Blob directly from slide data. */
6945
+ exportSlideToSvgBlob(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): Blob;
6946
+ /** Build SVG strings for all selected slides in a parsed presentation. */
6947
+ exportAllSlidesToSvg(data: PptxData, options?: SvgExportOptions): string[];
6948
+ /**
6949
+ * Trigger a browser download of serialized `.pptx` bytes.
6950
+ *
6951
+ * @param bytes - The serialized presentation (from the viewer's `getContent`).
6952
+ * @param fileName - Suggested download file name (unsafe chars are stripped).
6953
+ */
6954
+ savePptx(bytes: Uint8Array, fileName: string): void;
6955
+ /** Download serialized presentation bytes using the matching package MIME type. */
6956
+ savePresentation(bytes: Uint8Array, fileName: string, format: PptxSaveFormat): void;
6957
+ /**
6958
+ * Rasterize a single DOM element to PNG and trigger a browser download.
6959
+ *
6960
+ * @param el - The element to capture (e.g. the `.pptx-ng-canvas-stage`).
6961
+ * @param fileName - Suggested download file name (unsafe chars are stripped).
6962
+ * @param scale - Device-pixel ratio multiplier (default 2 for sharp output).
6963
+ */
6964
+ exportElementToPng(el: HTMLElement, fileName: string, scale?: number): Promise<void>;
6965
+ /** Rasterize an element and copy it to the system clipboard as a PNG image. */
6966
+ copyElementAsPng(el: HTMLElement, scale?: number): Promise<void>;
6967
+ /**
6968
+ * Rasterize a single element to a canvas (passthrough to html2canvas-pro).
6969
+ * Capture each slide's canvas *while that slide is the live DOM*: the
6970
+ * viewer reuses one stage node, so a deferred capture would yield the same
6971
+ * (last) slide for every page.
6972
+ */
6973
+ renderElement(el: HTMLElement, scale?: number): Promise<HTMLCanvasElement>;
6974
+ /**
6975
+ * Assemble a multi-page PDF from pre-rendered slide canvases (one page per
6976
+ * canvas, sized to the slide aspect ratio in pt) and trigger a download.
6977
+ *
6978
+ * @param canvases - One canvas per slide, in order, each captured while
6979
+ * its slide was the live stage.
6980
+ * @param canvasWidth - Slide canvas width in pixels (for aspect ratio).
6981
+ * @param canvasHeight - Slide canvas height in pixels (for aspect ratio).
6982
+ * @param fileName - Suggested download file name (unsafe chars stripped).
6983
+ */
6984
+ exportCanvasesToPdf(canvases: HTMLCanvasElement[], canvasWidth: number, canvasHeight: number, fileName: string): void;
6985
+ /**
6986
+ * Assemble an animated GIF from pre-rendered slide canvases (one frame per
6987
+ * slide) and trigger a download. Frame delay is derived from
6988
+ * `slideDurationMs` via the pure {@link planGifFrames} planner.
6989
+ *
6990
+ * @param canvases - One canvas per slide, in order.
6991
+ * @param slideDurationMs - Display time per slide in milliseconds.
6992
+ * @param fileName - Suggested download file name.
6993
+ */
6994
+ exportCanvasesToGif(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string): void;
6995
+ /**
6996
+ * Record a WebM video from pre-rendered slide canvases (each held for
6997
+ * `slideDurationMs`) via the browser `MediaRecorder` and trigger a download.
6998
+ *
6999
+ * @param canvases - One canvas per slide, in order.
7000
+ * @param slideDurationMs - Display time per slide in milliseconds.
7001
+ * @param fileName - Suggested download file name.
7002
+ * @param signal - Optional abort signal to cancel recording.
7003
+ * @param onProgress - Optional per-slide recording progress callback
7004
+ * `(currentSlide, totalSlides)`.
7005
+ */
7006
+ exportCanvasesToWebm(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string, signal?: AbortSignal, onProgress?: (current: number, total: number) => void): Promise<void>;
7007
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportService, never>;
7008
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
7009
+ }
7010
+
7011
+ /**
7012
+ * `FieldContextService`: viewer-scoped source of the OOXML field-substitution
7013
+ * context (slide number, date/time, header/footer, slide title, custom doc
7014
+ * properties) used by the element text renderers.
7015
+ *
7016
+ * Mirrors the React `fieldContext` built in `ViewerCanvasArea` and the Vue
7017
+ * `FieldContextKey` provide/inject. The deck-level parts (header/footer text +
7018
+ * format, custom properties) come from {@link LoadContentService}; the
7019
+ * per-slide parts (slide number + title) are folded in by the slide canvas,
7020
+ * which knows which slide it renders, via {@link forSlide}.
7021
+ *
7022
+ * Provided alongside `LoadContentService` in the viewer subtree, so renderers
7023
+ * used outside the viewer (thumbnails, export) that inject it `optional` simply
7024
+ * fall back to no substitution.
7025
+ */
7026
+ declare class FieldContextService {
7027
+ private readonly load;
7028
+ /** Deck-level field context (header/footer + custom properties); slide parts unset. */
7029
+ readonly deckContext: _angular_core.Signal<FieldSubstitutionContext>;
7030
+ /**
7031
+ * Build the full field context for a specific slide, folding the slide's
7032
+ * number and title (from the first title / centre-title placeholder) into the
7033
+ * deck-level context.
7034
+ */
7035
+ forSlide(slide: PptxSlide | undefined): FieldSubstitutionContext;
7036
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldContextService, never>;
7037
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<FieldContextService>;
7038
+ }
7039
+
7040
+ /**
7041
+ * Opt-in flag for the Three.js SmartArt renderer (Angular).
7042
+ *
7043
+ * Provided by `PowerPointViewerComponent`, which syncs it from the `smartArt3D`
7044
+ * input; the element dispatcher injects it (optionally) to choose the WebGL
7045
+ * renderer over the SVG one. Mirrors the React `SmartArt3DContext` and the Vue
7046
+ * `SmartArt3DKey` provide/inject. Scoped to the viewer subtree, so renderers
7047
+ * used outside the viewer (thumbnails, export) fall back to `false`.
7048
+ */
7049
+ declare class SmartArt3DService {
7050
+ /** `true` when SmartArt should render via the Three.js scene. */
7051
+ readonly enabled: _angular_core.WritableSignal<boolean>;
7052
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DService, never>;
7053
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<SmartArt3DService>;
7054
+ }
7055
+
7056
+ /** A selected table cell (and optional Shift+Click range) on one table element. */
7057
+ interface TableCellSelection {
7058
+ /** Id of the table element the selection belongs to. */
7059
+ elementId: string;
7060
+ /** Anchor cell row (0-based). */
7061
+ rowIndex: number;
7062
+ /** Anchor cell column (0-based). */
7063
+ columnIndex: number;
7064
+ /** When true, the anchor cell has an active inline text input. */
7065
+ isEditing?: boolean;
7066
+ /** Optional multi-cell rectangular selection (Shift+Click range). */
7067
+ selectedCells?: CellCoord[];
7068
+ }
7069
+ declare class TableSelectionService {
7070
+ /** The current table-cell selection, or null when nothing is selected. */
7071
+ readonly selection: _angular_core.WritableSignal<TableCellSelection | null>;
7072
+ /** The element id of the current selection (or undefined). */
7073
+ readonly elementId: _angular_core.Signal<string | undefined>;
7074
+ /**
7075
+ * Select a single cell (clears any range). Passing the element id keeps the
7076
+ * selection scoped so a stale selection from a different table is ignored.
7077
+ */
7078
+ selectCell(elementId: string, rowIndex: number, columnIndex: number): void;
7079
+ /**
7080
+ * Extend the selection from the current anchor to `(rowIndex, columnIndex)`
7081
+ * as a rectangular range (Shift+Click). Expands to cover any merge groups it
7082
+ * overlaps. When there is no existing anchor on this element it falls back to
7083
+ * a single-cell selection.
7084
+ */
7085
+ extendTo(elementId: string, rowIndex: number, columnIndex: number, tableData: PptxTableData): void;
7086
+ /** Mark the anchor cell as actively editing (inline text input open). */
7087
+ beginEditing(elementId: string, rowIndex: number, columnIndex: number): void;
7088
+ /** Clear the editing flag while keeping the cell selected. */
7089
+ endEditing(): void;
7090
+ /** Clear the selection entirely. */
7091
+ clear(): void;
7092
+ /** Clear the selection when it belongs to `elementId` (e.g. element deleted). */
7093
+ clearFor(elementId: string): void;
7094
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableSelectionService, never>;
7095
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TableSelectionService>;
7096
+ }
7097
+
7098
+ declare class ViewerCompareService {
7099
+ private readonly svc;
7100
+ private readonly editor;
7101
+ private readonly translate;
7102
+ /**
7103
+ * Open a `.pptx` picker and diff it against the current deck, opening the
7104
+ * compare panel with the result. Invoked from the ribbon.
7105
+ */
7106
+ startCompare(): void;
7107
+ /** Parse the chosen file and compute the slide-level diff. */
7108
+ private runCompare;
7109
+ /** Accept a single slide diff, adopting the incoming slide. */
7110
+ acceptSlide(diffIndex: number): void;
7111
+ /** Reject a diff: keep the current slide (no deck change). */
7112
+ rejectSlide(_diffIndex: number): void;
7113
+ /** Accept every non-trivial diff at once. */
7114
+ acceptAll(): void;
7115
+ private diffAt;
7116
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerCompareService, never>;
7117
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerCompareService>;
7118
+ }
7119
+
7120
+ /** Live host accessors the shortcut handler consults. */
7121
+ interface KeyboardHost {
7122
+ readonly canEdit: () => boolean;
7123
+ readonly presenting: () => boolean;
7124
+ readonly activeSlideIndex: () => number;
7125
+ }
7126
+ declare class ViewerKeyboardService {
7127
+ private readonly editor;
7128
+ private readonly dialogs;
7129
+ private readonly formatPainter;
7130
+ private host;
7131
+ /** Wire the host accessors (called once from the component constructor). */
7132
+ bind(host: KeyboardHost): void;
7133
+ handleKeyDown(event: KeyboardEvent): void;
7134
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerKeyboardService, never>;
7135
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerKeyboardService>;
7136
+ }
7137
+
7138
+ /** Live host accessors the gesture recogniser consults. */
7139
+ interface TouchGesturesHost {
7140
+ readonly canEdit: () => boolean;
7141
+ readonly presenting: () => boolean;
7142
+ readonly selectedElement: () => PptxElement | null;
7143
+ readonly goPrev: () => void;
7144
+ readonly goNext: () => void;
7145
+ readonly setContextMenuPos: (pos: {
7146
+ x: number;
7147
+ y: number;
7148
+ }) => void;
7149
+ }
7150
+ declare class ViewerTouchGesturesService {
7151
+ private readonly zoomSvc;
7152
+ private readonly destroyRef;
7153
+ /**
7154
+ * Attach the recogniser to `mainEl()`'s element once it is in the DOM
7155
+ * (called once from the host component's constructor).
7156
+ */
7157
+ setup(mainEl: () => HTMLElement | undefined, host: TouchGesturesHost): void;
7158
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerTouchGesturesService, never>;
7159
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerTouchGesturesService>;
7160
+ }
7161
+
7162
+ /**
7163
+ * Minimal descriptor of a zoom's target slide, threaded to the renderer so the
7164
+ * fallback thumbnail (shown when a zoom has no embedded preview image) can use
7165
+ * the real target slide's background, number, and friendly section name instead
7166
+ * of grey/index/section-GUID placeholders. Mirrors the React
7167
+ * `ZoomSlideThumbnail` reference, which reads exactly these three fields.
7168
+ */
7169
+ interface ZoomTargetInfo {
7170
+ /** The target slide's background colour, used as the tile background. */
7171
+ readonly backgroundColor?: string;
7172
+ /** The target slide's own 1-based number (not the array index + 1). */
7173
+ readonly slideNumber?: number;
7174
+ /** The target slide's friendly section name (not the section GUID). */
7175
+ readonly sectionName?: string;
7176
+ }
7177
+ /**
7178
+ * ZoomTargetService: viewer-scoped lookup from a zoom element's target slide
7179
+ * index to a {@link ZoomTargetInfo} descriptor.
7180
+ *
7181
+ * Provided by `PowerPointViewerComponent` from its loaded slides, then injected
7182
+ * `{ optional: true }` by `ZoomRendererComponent`. Trees that do not provide it
7183
+ * (e.g. isolated component tests) resolve `null`, so the renderer falls back to
7184
+ * the old grey/index/GUID thumbnail. This mirrors the optional-DI pattern of
7185
+ * {@link ZoomNavigationService}.
7186
+ *
7187
+ * Intentionally NOT `providedIn: 'root'`: it is supplied per viewer so the
7188
+ * lookup always reflects that viewer's deck.
7189
+ */
7190
+ declare class ZoomTargetService {
7191
+ /** The deck the lookup resolves against; seeded by the viewer. */
7192
+ private readonly slides;
7193
+ /** Replace the deck used to resolve zoom targets. */
7194
+ setSlides(slides: readonly PptxSlide[]): void;
7195
+ /**
7196
+ * Resolve the descriptor for a zoom's target slide, or `undefined` when the
7197
+ * index is out of range (so the renderer keeps its index-based fallback).
7198
+ */
7199
+ lookup(targetSlideIndex: number): ZoomTargetInfo | undefined;
7200
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomTargetService, never>;
7201
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ZoomTargetService>;
7202
+ }
7203
+
7204
+ /**
7205
+ * power-point-viewer.providers.ts: the `@Injectable` orchestration services
7206
+ * `PowerPointViewerComponent` provides at the component level, extracted into
7207
+ * a standalone constant so consumers composing their own custom viewer host
7208
+ * (e.g. `<pptx-ribbon>` + `<pptx-slide-canvas>` without
7209
+ * `PowerPointViewerComponent`) can get the same shared DI state without
7210
+ * hand-listing every service:
7211
+ *
7212
+ * ```ts
7213
+ * @Component({
7214
+ * selector: 'my-custom-viewer',
7215
+ * providers: [...POWER_POINT_VIEWER_PROVIDERS],
7216
+ * template: `<pptx-ribbon ...bindings /><pptx-slide-canvas ...bindings />`,
7217
+ * })
7218
+ * export class MyCustomViewerComponent { ... }
7219
+ * ```
7220
+ *
7221
+ * Each of these services is `providedIn: 'root'`-free and designed to be
7222
+ * scoped to a single viewer instance (see {@link EditorStateService}'s doc
7223
+ * comment for the pattern this generalizes). Keep this list in sync with
7224
+ * `PowerPointViewerComponent`'s own `providers: [...]` array, which now
7225
+ * spreads this constant instead of repeating it.
7226
+ */
7227
+
7228
+ /**
7229
+ * The full set of DI services `PowerPointViewerComponent` provides at the
7230
+ * component level. Spread this into a custom host's own `providers: [...]`
7231
+ * array to get the same shared editor/export/collaboration/etc. state that
7232
+ * `PowerPointViewerComponent`'s children (ribbon, slide canvas, inspector,
7233
+ * dialogs, ...) rely on via `inject()`.
7234
+ */
7235
+ declare const POWER_POINT_VIEWER_PROVIDERS: readonly [typeof LoadContentService, typeof ExportService, typeof EditorStateService, typeof ChartPartSelectionService, typeof TableSelectionService, typeof EmbeddedFontsService, typeof CollaborationService, typeof AccessibilityService, typeof AutosaveService, typeof PrintService, typeof IsMobileService, typeof SmartArt3DService, typeof FieldContextService, typeof ZoomTargetService, typeof ViewerDialogsService, typeof ViewerCompareService, typeof ViewerExportService, typeof ViewerFindReplaceService, typeof ViewerCustomShowsService, typeof ViewerCollaborationSessionService, typeof ViewerCanvasEditingService, typeof ViewerCollabCursorService, typeof ViewerDocumentPropertiesService, typeof ViewerFileIOService, typeof ViewerFormatPainterService, typeof ViewerInspectorPanelService, typeof ViewerKeyboardService, typeof ViewerMobileSheetService, typeof ViewerPresentationModeService, typeof ViewerThemeGalleryService, typeof ViewerTouchGesturesService, typeof ViewerZoomService];
7236
+
7237
+ /** Drawing tool IDs (mirrors React DRAW_TOOLS). */
7238
+ type DrawTool$1 = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
7239
+ /** The full draw-tool state broadcast on every Draw-tab interaction. */
7240
+ interface DrawToolState {
7241
+ tool: DrawTool$1;
7242
+ color: string;
7243
+ width: number;
7244
+ }
7245
+ interface DrawToolDef {
7246
+ id: DrawTool$1;
7247
+ labelKey: string;
7248
+ }
7249
+ declare class RibbonDrawSectionComponent {
7250
+ readonly activeTool: _angular_core.InputSignal<DrawTool$1>;
7251
+ readonly drawingColor: _angular_core.InputSignal<string>;
7252
+ readonly drawingWidth: _angular_core.InputSignal<number>;
7253
+ readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
7254
+ protected readonly drawTools: readonly DrawToolDef[];
7255
+ protected selectTool(tool: DrawTool$1): void;
7256
+ protected onColorInput(event: Event): void;
7257
+ protected onWidthInput(event: Event): void;
7258
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonDrawSectionComponent, never>;
7259
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonDrawSectionComponent, "pptx-ribbon-draw-section", never, { "activeTool": { "alias": "activeTool"; "required": false; "isSignal": true; }; "drawingColor": { "alias": "drawingColor"; "required": false; "isSignal": true; }; "drawingWidth": { "alias": "drawingWidth"; "required": false; "isSignal": true; }; }, { "drawToolChange": "drawToolChange"; }, never, never, true, never>;
7260
+ }
7261
+
7262
+ /**
7263
+ * ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
7264
+ * {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
7265
+ * its own file (rather than declared in one of those components) so none of
7266
+ * them has to import a type from a sibling that also imports it, mirroring
7267
+ * the Svelte binding's `ribbon/ribbon-types.ts`.
7268
+ */
7269
+
7270
+ /**
7271
+ * Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
7272
+ * {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
7273
+ * their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
7274
+ * as `@switch` cases.
7275
+ */
7276
+ type RibbonTab = ToolbarTabId | 'text' | 'arrange';
7277
+
7278
+ declare class RibbonComponent {
7279
+ readonly slideIndex: _angular_core.InputSignal<number>;
7280
+ readonly slideCount: _angular_core.InputSignal<number>;
7281
+ /** Whether the deck is editable (gates the template-editing toggle). */
7282
+ readonly canEdit: _angular_core.InputSignal<boolean>;
7283
+ readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
7284
+ readonly zoomPercent: _angular_core.InputSignal<number>;
7285
+ readonly formatPainterActive: _angular_core.InputSignal<boolean>;
7286
+ readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
7287
+ readonly exporting: _angular_core.InputSignal<boolean>;
7288
+ readonly hasMacros: _angular_core.InputSignal<boolean>;
7289
+ /** Current visibility state of the grid overlay (for active-state styling). */
7290
+ readonly showGrid: _angular_core.InputSignal<boolean>;
7291
+ /** Current visibility state of rulers (for active-state styling). */
7292
+ readonly showRulers: _angular_core.InputSignal<boolean>;
7293
+ /** Current visibility state of center guide lines (for active-state styling). */
7294
+ readonly showGuides: _angular_core.InputSignal<boolean>;
7295
+ /** Current state of snap-to-grid (for active-state styling). */
7296
+ readonly snapToGrid: _angular_core.InputSignal<boolean>;
7297
+ readonly snapToShape: _angular_core.InputSignal<boolean>;
7298
+ /** Current state of eyedropper tool (for active-state styling). */
7299
+ readonly eyedropperActive: _angular_core.InputSignal<boolean>;
7300
+ /** Current visibility state of the theme gallery overlay (for active-state styling). */
7301
+ readonly themeGalleryOpen: _angular_core.InputSignal<boolean>;
7302
+ /** Whether the slides panel is collapsed (drives the top-bar toggle state). */
7303
+ readonly sidebarCollapsed: _angular_core.InputSignal<boolean>;
7304
+ /** Whether the right-docked inspector is open (top-bar toggle state). */
7305
+ readonly inspectorOpen: _angular_core.InputSignal<boolean>;
7306
+ /** Whether the comments panel is open (top-bar comments toggle state). */
7307
+ readonly commentsOpen: _angular_core.InputSignal<boolean>;
7308
+ /** Comment count on the active slide (top-bar comments badge). */
7309
+ readonly commentCount: _angular_core.InputSignal<number>;
7310
+ /** Whether the find/replace bar is open (top-bar find toggle state). */
7311
+ readonly findOpen: _angular_core.InputSignal<boolean>;
7312
+ /** Whether a collaboration session is connected (Share button styling). */
7313
+ readonly collabConnected: _angular_core.InputSignal<boolean>;
7314
+ /** Connected collaborator count (Share button label). */
7315
+ readonly connectedCount: _angular_core.InputSignal<number>;
7316
+ /** Current live proofing state shown by the Review ribbon command. */
7317
+ readonly spellCheckEnabled: _angular_core.InputSignal<boolean>;
7318
+ readonly showSubtitles: _angular_core.InputSignal<boolean>;
7319
+ /** Toolbar buttons/tabs the host wants hidden. Default `[]` hides nothing. */
7320
+ readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
7321
+ /** Optional sign-in hook point for File > Account. Absent/disabled by default. */
7322
+ readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
7323
+ readonly prev: _angular_core.OutputEmitterRef<void>;
7324
+ readonly next: _angular_core.OutputEmitterRef<void>;
7325
+ readonly zoomIn: _angular_core.OutputEmitterRef<void>;
7326
+ readonly zoomOut: _angular_core.OutputEmitterRef<void>;
7327
+ readonly zoomReset: _angular_core.OutputEmitterRef<void>;
7328
+ readonly find: _angular_core.OutputEmitterRef<void>;
7329
+ readonly present: _angular_core.OutputEmitterRef<void>;
7330
+ readonly presenter: _angular_core.OutputEmitterRef<void>;
7331
+ /** Emitted by the tab-row Record button (starts a slide-show run-through). */
7332
+ readonly record: _angular_core.OutputEmitterRef<void>;
7333
+ readonly presentFromBeginning: _angular_core.OutputEmitterRef<void>;
7334
+ readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
7335
+ readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
7336
+ readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
7337
+ readonly recordFromBeginning: _angular_core.OutputEmitterRef<void>;
7338
+ readonly recordFromCurrent: _angular_core.OutputEmitterRef<void>;
7339
+ readonly spellCheckChange: _angular_core.OutputEmitterRef<boolean>;
7340
+ readonly share: _angular_core.OutputEmitterRef<void>;
7341
+ readonly broadcast: _angular_core.OutputEmitterRef<void>;
7342
+ readonly openFile: _angular_core.OutputEmitterRef<void>;
7343
+ readonly openRecentFile: _angular_core.OutputEmitterRef<string>;
7344
+ readonly createPresentation: _angular_core.OutputEmitterRef<string>;
7345
+ /** Emitted when the user clicks "Save" in the File tab (saves as .pptx). */
7346
+ readonly save: _angular_core.OutputEmitterRef<void>;
7347
+ readonly savePpsx: _angular_core.OutputEmitterRef<void>;
7348
+ readonly savePptm: _angular_core.OutputEmitterRef<void>;
7349
+ readonly packageForSharing: _angular_core.OutputEmitterRef<void>;
7350
+ /** Emitted when the user toggles the slides panel from the top bar. */
7351
+ readonly toggleSidebar: _angular_core.OutputEmitterRef<void>;
7352
+ /** Emitted when the user opens the Digital Signatures panel from the File tab. */
7353
+ readonly signatures: _angular_core.OutputEmitterRef<void>;
7354
+ readonly info: _angular_core.OutputEmitterRef<void>;
7355
+ readonly print: _angular_core.OutputEmitterRef<void>;
7356
+ readonly comments: _angular_core.OutputEmitterRef<void>;
7357
+ readonly a11y: _angular_core.OutputEmitterRef<void>;
7358
+ readonly link: _angular_core.OutputEmitterRef<void>;
7359
+ readonly openSorter: _angular_core.OutputEmitterRef<void>;
7360
+ readonly openMasterView: _angular_core.OutputEmitterRef<void>;
7361
+ readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
7362
+ readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
7363
+ readonly exportPng: _angular_core.OutputEmitterRef<void>;
7364
+ readonly exportPdf: _angular_core.OutputEmitterRef<void>;
7365
+ readonly exportGif: _angular_core.OutputEmitterRef<void>;
7366
+ readonly exportVideo: _angular_core.OutputEmitterRef<void>;
7367
+ readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
7368
+ readonly replace: _angular_core.OutputEmitterRef<void>;
7369
+ /** Design/Transitions/Animations tabs want the right-docked Inspector panel opened. */
7370
+ readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
7371
+ /** Draw tab tool state changed (tool/colour/width); UI-only, no ink back-end yet. */
7372
+ readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
7373
+ /** Emitted when the user clicks "Browse Themes" in the Design tab. */
7374
+ readonly toggleThemeGallery: _angular_core.OutputEmitterRef<void>;
7375
+ /** Emitted when the user toggles the grid overlay in the View tab. */
7376
+ readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
7377
+ /** Emitted when the user toggles rulers in the View tab. */
7378
+ readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
7379
+ /** Emitted when the user toggles center guide lines in the View tab. */
7380
+ readonly toggleGuides: _angular_core.OutputEmitterRef<void>;
7381
+ /** Emitted when the user clicks "Selection Pane" in the View tab. */
7382
+ readonly toggleSelectionPane: _angular_core.OutputEmitterRef<void>;
7383
+ /** Emitted when the user clicks "Custom Shows" in the Slide Show tab. */
7384
+ readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
7385
+ /** Emitted when the user toggles snap-to-grid in the View tab. */
7386
+ readonly toggleSnapToGrid: _angular_core.OutputEmitterRef<void>;
7387
+ readonly toggleSnapToShape: _angular_core.OutputEmitterRef<void>;
7388
+ readonly addGuide: _angular_core.OutputEmitterRef<"x" | "y">;
7389
+ readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
7390
+ /** Emitted when the user activates the eyedropper in the View tab. */
7391
+ readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
7392
+ /** "SmartArt" in the Insert tab; the host opens the gallery dialog and does the insert. */
7393
+ readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
7394
+ /** Emitted when the user clicks "Equation" in the Insert tab (opens the editor). */
7395
+ readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
7396
+ /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
7397
+ readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
7398
+ /** Emitted when the user clicks "Compare" in the Review tab. */
7399
+ readonly openCompare: _angular_core.OutputEmitterRef<void>;
7400
+ /** Emitted when the user clicks "Password" in the Review tab. */
7401
+ readonly openPassword: _angular_core.OutputEmitterRef<void>;
7402
+ /** Emitted when the user clicks "Fonts" in the Review tab. */
7403
+ readonly openFontEmbedding: _angular_core.OutputEmitterRef<void>;
7404
+ /** Emitted when the user clicks "Version History" in the Review tab. */
7405
+ readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
7406
+ /** Emitted when the user clicks "Shortcuts" in the Help tab. */
7407
+ readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
7408
+ /** Emitted when the user opens viewer preferences from the Help tab. */
7409
+ readonly openSettings: _angular_core.OutputEmitterRef<void>;
7410
+ protected readonly activeTab: _angular_core.WritableSignal<RibbonTab>;
7411
+ /** Ribbon content expanded (true) vs collapsed to just the tab bar (false). */
7412
+ protected readonly ribbonExpanded: _angular_core.WritableSignal<boolean>;
7413
+ /** Route both File Options and Review Language to the real Settings dialog. */
7414
+ protected requestSettings(): void;
7415
+ /** Forward the Review proofing toggle to the viewer-owned live state. */
7416
+ protected setSpellCheck(enabled: boolean): void;
7417
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
7418
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonComponent, "pptx-ribbon", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "hasMacros": { "alias": "hasMacros"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; "themeGalleryOpen": { "alias": "themeGalleryOpen"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; "isSignal": true; }; "inspectorOpen": { "alias": "inspectorOpen"; "required": false; "isSignal": true; }; "commentsOpen": { "alias": "commentsOpen"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "findOpen": { "alias": "findOpen"; "required": false; "isSignal": true; }; "collabConnected": { "alias": "collabConnected"; "required": false; "isSignal": true; }; "connectedCount": { "alias": "connectedCount"; "required": false; "isSignal": true; }; "spellCheckEnabled": { "alias": "spellCheckEnabled"; "required": false; "isSignal": true; }; "showSubtitles": { "alias": "showSubtitles"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; }, { "prev": "prev"; "next": "next"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; "find": "find"; "present": "present"; "presenter": "presenter"; "record": "record"; "presentFromBeginning": "presentFromBeginning"; "rehearseTimings": "rehearseTimings"; "toggleSubtitles": "toggleSubtitles"; "openSubtitleSettings": "openSubtitleSettings"; "recordFromBeginning": "recordFromBeginning"; "recordFromCurrent": "recordFromCurrent"; "spellCheckChange": "spellCheckChange"; "share": "share"; "broadcast": "broadcast"; "openFile": "openFile"; "openRecentFile": "openRecentFile"; "createPresentation": "createPresentation"; "save": "save"; "savePpsx": "savePpsx"; "savePptm": "savePptm"; "packageForSharing": "packageForSharing"; "toggleSidebar": "toggleSidebar"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openMasterView": "openMasterView"; "toggleNotes": "toggleNotes"; "toggleFormatPainter": "toggleFormatPainter"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "copySlideAsImage": "copySlideAsImage"; "replace": "replace"; "toggleInspector": "toggleInspector"; "drawToolChange": "drawToolChange"; "toggleThemeGallery": "toggleThemeGallery"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "openCustomShows": "openCustomShows"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; "openSmartArtDialog": "openSmartArtDialog"; "openEquationDialog": "openEquationDialog"; "openSetUpSlideShow": "openSetUpSlideShow"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; }, never, never, true, never>;
7419
+ }
7420
+
6883
7421
  /** The eight resize-handle positions around a selection box. */
6884
7422
  type ResizeHandle = ResizeHandleId;
6885
7423
  /** An axis-aligned box in stage (slide) coordinates. */
@@ -6901,13 +7439,13 @@ declare function applyMove(start: Box, dx: number, dy: number): Box;
6901
7439
  declare function applyResize(start: Box, handle: ResizeHandle, dx: number, dy: number, min?: number): Box;
6902
7440
 
6903
7441
  /** The draw tools `SlideCanvasComponent` forwards from the ribbon Draw tab. */
6904
- type DrawTool$1 = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
7442
+ type DrawTool = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
6905
7443
  /** Live host accessors + emitters the ink-drawing controller needs. */
6906
7444
  interface InkDrawingHost {
6907
7445
  readonly stageElement: () => HTMLElement | undefined;
6908
7446
  readonly effectiveScale: () => number;
6909
7447
  readonly elements: () => readonly PptxElement[];
6910
- readonly drawTool: () => DrawTool$1;
7448
+ readonly drawTool: () => DrawTool;
6911
7449
  readonly drawColor: () => string;
6912
7450
  readonly drawWidth: () => number;
6913
7451
  readonly emitInkStrokeComplete: (ink: InkPptxElement) => void;
@@ -7778,24 +8316,6 @@ declare class ChartElementViewComponent {
7778
8316
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartElementViewComponent, "pptx-chart-element-view", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7779
8317
  }
7780
8318
 
7781
- /** A selected chart sub-part, scoped to the chart element that owns it. */
7782
- interface ChartPartSelection {
7783
- elementId: string;
7784
- part: ChartPartRef;
7785
- }
7786
- declare class ChartPartSelectionService {
7787
- /** The current on-canvas chart part selection, or null. */
7788
- readonly selection: _angular_core.WritableSignal<ChartPartSelection | null>;
7789
- /** Select a chart part (replaces any previous selection). */
7790
- select(selection: ChartPartSelection): void;
7791
- /** Clear the selection entirely. */
7792
- clear(): void;
7793
- /** Clear the selection when it belongs to the given chart element. */
7794
- clearForElement(elementId: string): void;
7795
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartPartSelectionService, never>;
7796
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartPartSelectionService>;
7797
- }
7798
-
7799
8319
  /**
7800
8320
  * smart-art-inline-edit.ts: pure logic for on-canvas SmartArt node text editing.
7801
8321
  *
@@ -8384,63 +8904,21 @@ declare class Model3DRendererComponent implements OnDestroy {
8384
8904
  private readonly blobUrl;
8385
8905
  /** Lazily-loaded shared mount fn; `null` until the scene runtime resolves. */
8386
8906
  private readonly mountFn;
8387
- /** `true` once a model is mountable: render the scene container, not poster. */
8388
- readonly showScene: _angular_core.Signal<boolean>;
8389
- /** Set when `three` is missing or the model failed to load: forces poster. */
8390
- private readonly failed;
8391
- private handle;
8392
- /** The blob URL the live handle was mounted with, owned for revocation. */
8393
- private mountedUrl;
8394
- constructor();
8395
- private loadScene;
8396
- private mount;
8397
- /** Dispose the live handle and revoke its blob URL. */
8398
- private teardownHandle;
8399
- ngOnDestroy(): void;
8400
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
8401
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Model3DRendererComponent, "pptx-model3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8402
- }
8403
-
8404
- /**
8405
- * Minimal descriptor of a zoom's target slide, threaded to the renderer so the
8406
- * fallback thumbnail (shown when a zoom has no embedded preview image) can use
8407
- * the real target slide's background, number, and friendly section name instead
8408
- * of grey/index/section-GUID placeholders. Mirrors the React
8409
- * `ZoomSlideThumbnail` reference, which reads exactly these three fields.
8410
- */
8411
- interface ZoomTargetInfo {
8412
- /** The target slide's background colour, used as the tile background. */
8413
- readonly backgroundColor?: string;
8414
- /** The target slide's own 1-based number (not the array index + 1). */
8415
- readonly slideNumber?: number;
8416
- /** The target slide's friendly section name (not the section GUID). */
8417
- readonly sectionName?: string;
8418
- }
8419
- /**
8420
- * ZoomTargetService: viewer-scoped lookup from a zoom element's target slide
8421
- * index to a {@link ZoomTargetInfo} descriptor.
8422
- *
8423
- * Provided by `PowerPointViewerComponent` from its loaded slides, then injected
8424
- * `{ optional: true }` by `ZoomRendererComponent`. Trees that do not provide it
8425
- * (e.g. isolated component tests) resolve `null`, so the renderer falls back to
8426
- * the old grey/index/GUID thumbnail. This mirrors the optional-DI pattern of
8427
- * {@link ZoomNavigationService}.
8428
- *
8429
- * Intentionally NOT `providedIn: 'root'`: it is supplied per viewer so the
8430
- * lookup always reflects that viewer's deck.
8431
- */
8432
- declare class ZoomTargetService {
8433
- /** The deck the lookup resolves against; seeded by the viewer. */
8434
- private readonly slides;
8435
- /** Replace the deck used to resolve zoom targets. */
8436
- setSlides(slides: readonly PptxSlide[]): void;
8437
- /**
8438
- * Resolve the descriptor for a zoom's target slide, or `undefined` when the
8439
- * index is out of range (so the renderer keeps its index-based fallback).
8440
- */
8441
- lookup(targetSlideIndex: number): ZoomTargetInfo | undefined;
8442
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomTargetService, never>;
8443
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ZoomTargetService>;
8907
+ /** `true` once a model is mountable: render the scene container, not poster. */
8908
+ readonly showScene: _angular_core.Signal<boolean>;
8909
+ /** Set when `three` is missing or the model failed to load: forces poster. */
8910
+ private readonly failed;
8911
+ private handle;
8912
+ /** The blob URL the live handle was mounted with, owned for revocation. */
8913
+ private mountedUrl;
8914
+ constructor();
8915
+ private loadScene;
8916
+ private mount;
8917
+ /** Dispose the live handle and revoke its blob URL. */
8918
+ private teardownHandle;
8919
+ ngOnDestroy(): void;
8920
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
8921
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Model3DRendererComponent, "pptx-model3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8444
8922
  }
8445
8923
 
8446
8924
  /**
@@ -9474,48 +9952,6 @@ declare class TablePropertiesComponent {
9474
9952
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TablePropertiesComponent, "pptx-table-properties", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "elementChange": "elementChange"; }, never, never, true, never>;
9475
9953
  }
9476
9954
 
9477
- /** A selected table cell (and optional Shift+Click range) on one table element. */
9478
- interface TableCellSelection {
9479
- /** Id of the table element the selection belongs to. */
9480
- elementId: string;
9481
- /** Anchor cell row (0-based). */
9482
- rowIndex: number;
9483
- /** Anchor cell column (0-based). */
9484
- columnIndex: number;
9485
- /** When true, the anchor cell has an active inline text input. */
9486
- isEditing?: boolean;
9487
- /** Optional multi-cell rectangular selection (Shift+Click range). */
9488
- selectedCells?: CellCoord[];
9489
- }
9490
- declare class TableSelectionService {
9491
- /** The current table-cell selection, or null when nothing is selected. */
9492
- readonly selection: _angular_core.WritableSignal<TableCellSelection | null>;
9493
- /** The element id of the current selection (or undefined). */
9494
- readonly elementId: _angular_core.Signal<string | undefined>;
9495
- /**
9496
- * Select a single cell (clears any range). Passing the element id keeps the
9497
- * selection scoped so a stale selection from a different table is ignored.
9498
- */
9499
- selectCell(elementId: string, rowIndex: number, columnIndex: number): void;
9500
- /**
9501
- * Extend the selection from the current anchor to `(rowIndex, columnIndex)`
9502
- * as a rectangular range (Shift+Click). Expands to cover any merge groups it
9503
- * overlaps. When there is no existing anchor on this element it falls back to
9504
- * a single-cell selection.
9505
- */
9506
- extendTo(elementId: string, rowIndex: number, columnIndex: number, tableData: PptxTableData): void;
9507
- /** Mark the anchor cell as actively editing (inline text input open). */
9508
- beginEditing(elementId: string, rowIndex: number, columnIndex: number): void;
9509
- /** Clear the editing flag while keeping the cell selected. */
9510
- endEditing(): void;
9511
- /** Clear the selection entirely. */
9512
- clear(): void;
9513
- /** Clear the selection when it belongs to `elementId` (e.g. element deleted). */
9514
- clearFor(elementId: string): void;
9515
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableSelectionService, never>;
9516
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<TableSelectionService>;
9517
- }
9518
-
9519
9955
  /** Cell-style keys whose value is a colour string (edited via `<input type=color>`). */
9520
9956
  type ColorKey = 'color' | 'backgroundColor' | 'borderTopColor' | 'borderBottomColor' | 'borderLeftColor' | 'borderRightColor';
9521
9957
  /** Cell-style keys whose value is a number (edited via `<input type=number>`). */
@@ -10376,77 +10812,6 @@ declare class EditorContextMenuComponent {
10376
10812
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorContextMenuComponent, "pptx-editor-context-menu", never, { "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
10377
10813
  }
10378
10814
 
10379
- declare class ExportService {
10380
- private static readonly PRESENTATION_MIME;
10381
- /** Build a resolution-independent SVG string directly from slide data. */
10382
- exportSlideToSvg(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): string;
10383
- /** Build an SVG Blob directly from slide data. */
10384
- exportSlideToSvgBlob(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): Blob;
10385
- /** Build SVG strings for all selected slides in a parsed presentation. */
10386
- exportAllSlidesToSvg(data: PptxData, options?: SvgExportOptions): string[];
10387
- /**
10388
- * Trigger a browser download of serialized `.pptx` bytes.
10389
- *
10390
- * @param bytes - The serialized presentation (from the viewer's `getContent`).
10391
- * @param fileName - Suggested download file name (unsafe chars are stripped).
10392
- */
10393
- savePptx(bytes: Uint8Array, fileName: string): void;
10394
- /** Download serialized presentation bytes using the matching package MIME type. */
10395
- savePresentation(bytes: Uint8Array, fileName: string, format: PptxSaveFormat): void;
10396
- /**
10397
- * Rasterize a single DOM element to PNG and trigger a browser download.
10398
- *
10399
- * @param el - The element to capture (e.g. the `.pptx-ng-canvas-stage`).
10400
- * @param fileName - Suggested download file name (unsafe chars are stripped).
10401
- * @param scale - Device-pixel ratio multiplier (default 2 for sharp output).
10402
- */
10403
- exportElementToPng(el: HTMLElement, fileName: string, scale?: number): Promise<void>;
10404
- /** Rasterize an element and copy it to the system clipboard as a PNG image. */
10405
- copyElementAsPng(el: HTMLElement, scale?: number): Promise<void>;
10406
- /**
10407
- * Rasterize a single element to a canvas (passthrough to html2canvas-pro).
10408
- * Capture each slide's canvas *while that slide is the live DOM*: the
10409
- * viewer reuses one stage node, so a deferred capture would yield the same
10410
- * (last) slide for every page.
10411
- */
10412
- renderElement(el: HTMLElement, scale?: number): Promise<HTMLCanvasElement>;
10413
- /**
10414
- * Assemble a multi-page PDF from pre-rendered slide canvases (one page per
10415
- * canvas, sized to the slide aspect ratio in pt) and trigger a download.
10416
- *
10417
- * @param canvases - One canvas per slide, in order, each captured while
10418
- * its slide was the live stage.
10419
- * @param canvasWidth - Slide canvas width in pixels (for aspect ratio).
10420
- * @param canvasHeight - Slide canvas height in pixels (for aspect ratio).
10421
- * @param fileName - Suggested download file name (unsafe chars stripped).
10422
- */
10423
- exportCanvasesToPdf(canvases: HTMLCanvasElement[], canvasWidth: number, canvasHeight: number, fileName: string): void;
10424
- /**
10425
- * Assemble an animated GIF from pre-rendered slide canvases (one frame per
10426
- * slide) and trigger a download. Frame delay is derived from
10427
- * `slideDurationMs` via the pure {@link planGifFrames} planner.
10428
- *
10429
- * @param canvases - One canvas per slide, in order.
10430
- * @param slideDurationMs - Display time per slide in milliseconds.
10431
- * @param fileName - Suggested download file name.
10432
- */
10433
- exportCanvasesToGif(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string): void;
10434
- /**
10435
- * Record a WebM video from pre-rendered slide canvases (each held for
10436
- * `slideDurationMs`) via the browser `MediaRecorder` and trigger a download.
10437
- *
10438
- * @param canvases - One canvas per slide, in order.
10439
- * @param slideDurationMs - Display time per slide in milliseconds.
10440
- * @param fileName - Suggested download file name.
10441
- * @param signal - Optional abort signal to cancel recording.
10442
- * @param onProgress - Optional per-slide recording progress callback
10443
- * `(currentSlide, totalSlides)`.
10444
- */
10445
- exportCanvasesToWebm(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string, signal?: AbortSignal, onProgress?: (current: number, total: number) => void): Promise<void>;
10446
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportService, never>;
10447
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
10448
- }
10449
-
10450
10815
  /**
10451
10816
  * Canvas Export Utilities for the Angular viewer.
10452
10817
  *
@@ -10744,45 +11109,6 @@ declare class AccessibilityPanelComponent {
10744
11109
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccessibilityPanelComponent, "pptx-accessibility-panel", never, { "issues": { "alias": "issues"; "required": false; "isSignal": true; }; }, { "selectSlide": "selectSlide"; }, never, never, true, never>;
10745
11110
  }
10746
11111
 
10747
- declare class EmbeddedFontsService {
10748
- /** The generated `@font-face` stylesheet text (also injected into `<head>`). */
10749
- readonly fontFaceCss: _angular_core.WritableSignal<string>;
10750
- /**
10751
- * Distinct CSS `font-family` strings for the embedded families, each with
10752
- * substitution fallbacks resolved (e.g. `'"Calibri", "Carlito", …'`).
10753
- */
10754
- readonly fontFamilies: _angular_core.WritableSignal<string[]>;
10755
- private styleEl;
10756
- private embeddedCss;
10757
- private userCss;
10758
- /** Object URLs minted on the most recent `setFonts`; revoked when superseded. */
10759
- private liveObjectUrls;
10760
- /** Mints a Blob object URL for de-obfuscated font bytes (impure side effect). */
10761
- private readonly mintObjectUrl;
10762
- constructor();
10763
- /**
10764
- * Resolve the supplied embedded fonts into `@font-face` rules, inject them
10765
- * into the managed `<style>` element, and update the exposed signals.
10766
- *
10767
- * Object URLs minted on the *previous* call are revoked here so they don't
10768
- * leak across re-parses. Pass an empty list (or `null`) to clear everything.
10769
- */
10770
- setFonts(fonts: readonly PptxEmbeddedFont[] | null | undefined): void;
10771
- /** Replace the licensed font sources supplied by the host application. */
10772
- setHostFonts(fonts: readonly ViewerFontSource[] | null | undefined): void;
10773
- /**
10774
- * Remove the injected `<style>` element, revoke all live object URLs, and
10775
- * reset the signals. Called automatically on destroy; safe to call manually.
10776
- */
10777
- dispose(): void;
10778
- /** Create / update / remove the managed `<style>` element to match `css`. */
10779
- private syncStyleElement;
10780
- private removeStyleElement;
10781
- private revokeObjectUrls;
10782
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmbeddedFontsService, never>;
10783
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<EmbeddedFontsService>;
10784
- }
10785
-
10786
11112
  /** A single rendered playback step (one click group). */
10787
11113
  interface AnimationStepView {
10788
11114
  /** 1-based step number for display. */
@@ -11297,28 +11623,6 @@ declare class BroadcastDialogComponent {
11297
11623
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BroadcastDialogComponent, "pptx-broadcast-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaults": { "alias": "defaults"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "connected": { "alias": "connected"; "required": false; "isSignal": true; }; "viewerCount": { "alias": "viewerCount"; "required": false; "isSignal": true; }; "viewerUrl": { "alias": "viewerUrl"; "required": false; "isSignal": true; }; "p2p": { "alias": "p2p"; "required": false; "isSignal": true; }; }, { "start": "start"; "stop": "stop"; "close": "close"; }, never, never, true, never>;
11298
11624
  }
11299
11625
 
11300
- declare class ViewerCompareService {
11301
- private readonly svc;
11302
- private readonly editor;
11303
- private readonly translate;
11304
- /**
11305
- * Open a `.pptx` picker and diff it against the current deck, opening the
11306
- * compare panel with the result. Invoked from the ribbon.
11307
- */
11308
- startCompare(): void;
11309
- /** Parse the chosen file and compute the slide-level diff. */
11310
- private runCompare;
11311
- /** Accept a single slide diff, adopting the incoming slide. */
11312
- acceptSlide(diffIndex: number): void;
11313
- /** Reject a diff: keep the current slide (no deck change). */
11314
- rejectSlide(_diffIndex: number): void;
11315
- /** Accept every non-trivial diff at once. */
11316
- acceptAll(): void;
11317
- private diffAt;
11318
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerCompareService, never>;
11319
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerCompareService>;
11320
- }
11321
-
11322
11626
  declare class ViewerExtraDialogsComponent {
11323
11627
  /** Active slide index (equation inserts land on this slide). */
11324
11628
  readonly activeSlideIndex: _angular_core.InputSignal<number>;
@@ -11801,7 +12105,7 @@ declare class AccountPageComponent {
11801
12105
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
11802
12106
  private readonly translate;
11803
12107
  protected readonly swatches: readonly string[];
11804
- protected readonly version = "1.28.1";
12108
+ protected readonly version = "1.29.0";
11805
12109
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
11806
12110
  protected readonly initial: _angular_core.Signal<string>;
11807
12111
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -12414,130 +12718,43 @@ declare const VIEWER_THEME: InjectionToken<ViewerTheme | undefined>;
12414
12718
  declare function provideViewerTheme(theme: ViewerTheme | undefined): Provider;
12415
12719
  /**
12416
12720
  * Build an `[ngStyle]`-compatible map of CSS custom properties for a theme.
12417
- * Returns an empty object when the theme contributes no variables.
12418
- */
12419
- declare function themeStyle(theme: ViewerTheme | undefined): Record<string, string>;
12420
-
12421
- /**
12422
- * Join class values into a single space-separated string, skipping falsy
12423
- * entries. A dependency-free analogue of the React/Vue packages' `cn`
12424
- * (clsx + tailwind-merge); the Angular viewer uses plain scoped CSS rather
12425
- * than Tailwind utility classes, so de-duplication is not required.
12426
- */
12427
- type ClassValue = string | number | false | null | undefined;
12428
- declare function cn(...values: ClassValue[]): string;
12429
-
12430
- /** Live host accessors the fit computation needs. */
12431
- interface CanvasFitHost {
12432
- readonly autoFit: () => boolean;
12433
- readonly viewportElement: () => HTMLElement | undefined;
12434
- readonly canvasSize: () => CanvasSize;
12435
- }
12436
- declare class CanvasFitService {
12437
- /**
12438
- * Auto-fit scale (<= 1): how much the fixed-size slide must shrink to fit
12439
- * the scroll viewport. The authored slide is e.g. 1280x720, which overflows
12440
- * a phone; without this it renders off-screen at `zoom=1`.
12441
- */
12442
- readonly fitScale: _angular_core.WritableSignal<number>;
12443
- private host;
12444
- /** Wire the host accessors (called once from the component constructor). */
12445
- bind(host: CanvasFitHost): void;
12446
- /**
12447
- * Recompute {@link fitScale} from the current viewport size. Call after the
12448
- * view renders and whenever the viewport or slide size may have changed
12449
- * (ResizeObserver, `canvasSize` change).
12450
- */
12451
- recompute(): void;
12452
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CanvasFitService, never>;
12453
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CanvasFitService>;
12454
- }
12455
-
12456
- /**
12457
- * `FieldContextService`: viewer-scoped source of the OOXML field-substitution
12458
- * context (slide number, date/time, header/footer, slide title, custom doc
12459
- * properties) used by the element text renderers.
12460
- *
12461
- * Mirrors the React `fieldContext` built in `ViewerCanvasArea` and the Vue
12462
- * `FieldContextKey` provide/inject. The deck-level parts (header/footer text +
12463
- * format, custom properties) come from {@link LoadContentService}; the
12464
- * per-slide parts (slide number + title) are folded in by the slide canvas,
12465
- * which knows which slide it renders, via {@link forSlide}.
12466
- *
12467
- * Provided alongside `LoadContentService` in the viewer subtree, so renderers
12468
- * used outside the viewer (thumbnails, export) that inject it `optional` simply
12469
- * fall back to no substitution.
12470
- */
12471
- declare class FieldContextService {
12472
- private readonly load;
12473
- /** Deck-level field context (header/footer + custom properties); slide parts unset. */
12474
- readonly deckContext: _angular_core.Signal<FieldSubstitutionContext>;
12475
- /**
12476
- * Build the full field context for a specific slide, folding the slide's
12477
- * number and title (from the first title / centre-title placeholder) into the
12478
- * deck-level context.
12479
- */
12480
- forSlide(slide: PptxSlide | undefined): FieldSubstitutionContext;
12481
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldContextService, never>;
12482
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<FieldContextService>;
12483
- }
12721
+ * Returns an empty object when the theme contributes no variables.
12722
+ */
12723
+ declare function themeStyle(theme: ViewerTheme | undefined): Record<string, string>;
12484
12724
 
12485
12725
  /**
12486
- * Opt-in flag for the Three.js SmartArt renderer (Angular).
12487
- *
12488
- * Provided by `PowerPointViewerComponent`, which syncs it from the `smartArt3D`
12489
- * input; the element dispatcher injects it (optionally) to choose the WebGL
12490
- * renderer over the SVG one. Mirrors the React `SmartArt3DContext` and the Vue
12491
- * `SmartArt3DKey` provide/inject. Scoped to the viewer subtree, so renderers
12492
- * used outside the viewer (thumbnails, export) fall back to `false`.
12726
+ * Join class values into a single space-separated string, skipping falsy
12727
+ * entries. A dependency-free analogue of the React/Vue packages' `cn`
12728
+ * (clsx + tailwind-merge); the Angular viewer uses plain scoped CSS rather
12729
+ * than Tailwind utility classes, so de-duplication is not required.
12493
12730
  */
12494
- declare class SmartArt3DService {
12495
- /** `true` when SmartArt should render via the Three.js scene. */
12496
- readonly enabled: _angular_core.WritableSignal<boolean>;
12497
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DService, never>;
12498
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<SmartArt3DService>;
12499
- }
12731
+ type ClassValue = string | number | false | null | undefined;
12732
+ declare function cn(...values: ClassValue[]): string;
12500
12733
 
12501
- /** Live host accessors the shortcut handler consults. */
12502
- interface KeyboardHost {
12503
- readonly canEdit: () => boolean;
12504
- readonly presenting: () => boolean;
12505
- readonly activeSlideIndex: () => number;
12734
+ /** Live host accessors the fit computation needs. */
12735
+ interface CanvasFitHost {
12736
+ readonly autoFit: () => boolean;
12737
+ readonly viewportElement: () => HTMLElement | undefined;
12738
+ readonly canvasSize: () => CanvasSize;
12506
12739
  }
12507
- declare class ViewerKeyboardService {
12508
- private readonly editor;
12509
- private readonly dialogs;
12510
- private readonly formatPainter;
12740
+ declare class CanvasFitService {
12741
+ /**
12742
+ * Auto-fit scale (<= 1): how much the fixed-size slide must shrink to fit
12743
+ * the scroll viewport. The authored slide is e.g. 1280x720, which overflows
12744
+ * a phone; without this it renders off-screen at `zoom=1`.
12745
+ */
12746
+ readonly fitScale: _angular_core.WritableSignal<number>;
12511
12747
  private host;
12512
12748
  /** Wire the host accessors (called once from the component constructor). */
12513
- bind(host: KeyboardHost): void;
12514
- handleKeyDown(event: KeyboardEvent): void;
12515
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerKeyboardService, never>;
12516
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerKeyboardService>;
12517
- }
12518
-
12519
- /** Live host accessors the gesture recogniser consults. */
12520
- interface TouchGesturesHost {
12521
- readonly canEdit: () => boolean;
12522
- readonly presenting: () => boolean;
12523
- readonly selectedElement: () => PptxElement | null;
12524
- readonly goPrev: () => void;
12525
- readonly goNext: () => void;
12526
- readonly setContextMenuPos: (pos: {
12527
- x: number;
12528
- y: number;
12529
- }) => void;
12530
- }
12531
- declare class ViewerTouchGesturesService {
12532
- private readonly zoomSvc;
12533
- private readonly destroyRef;
12749
+ bind(host: CanvasFitHost): void;
12534
12750
  /**
12535
- * Attach the recogniser to `mainEl()`'s element once it is in the DOM
12536
- * (called once from the host component's constructor).
12751
+ * Recompute {@link fitScale} from the current viewport size. Call after the
12752
+ * view renders and whenever the viewport or slide size may have changed
12753
+ * (ResizeObserver, `canvasSize` change).
12537
12754
  */
12538
- setup(mainEl: () => HTMLElement | undefined, host: TouchGesturesHost): void;
12539
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerTouchGesturesService, never>;
12540
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerTouchGesturesService>;
12755
+ recompute(): void;
12756
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CanvasFitService, never>;
12757
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CanvasFitService>;
12541
12758
  }
12542
12759
 
12543
12760
  /**
@@ -13292,190 +13509,6 @@ declare function splitCursorCell(element: TablePptxElement, row: number, col: nu
13292
13509
  */
13293
13510
  declare function patchTableData(element: TablePptxElement, patch: Partial<PptxTableData>): TablePptxElement;
13294
13511
 
13295
- /** Drawing tool IDs (mirrors React DRAW_TOOLS). */
13296
- type DrawTool = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
13297
- /** The full draw-tool state broadcast on every Draw-tab interaction. */
13298
- interface DrawToolState {
13299
- tool: DrawTool;
13300
- color: string;
13301
- width: number;
13302
- }
13303
- interface DrawToolDef {
13304
- id: DrawTool;
13305
- labelKey: string;
13306
- }
13307
- declare class RibbonDrawSectionComponent {
13308
- readonly activeTool: _angular_core.InputSignal<DrawTool>;
13309
- readonly drawingColor: _angular_core.InputSignal<string>;
13310
- readonly drawingWidth: _angular_core.InputSignal<number>;
13311
- readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
13312
- protected readonly drawTools: readonly DrawToolDef[];
13313
- protected selectTool(tool: DrawTool): void;
13314
- protected onColorInput(event: Event): void;
13315
- protected onWidthInput(event: Event): void;
13316
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonDrawSectionComponent, never>;
13317
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonDrawSectionComponent, "pptx-ribbon-draw-section", never, { "activeTool": { "alias": "activeTool"; "required": false; "isSignal": true; }; "drawingColor": { "alias": "drawingColor"; "required": false; "isSignal": true; }; "drawingWidth": { "alias": "drawingWidth"; "required": false; "isSignal": true; }; }, { "drawToolChange": "drawToolChange"; }, never, never, true, never>;
13318
- }
13319
-
13320
- /**
13321
- * ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
13322
- * {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
13323
- * its own file (rather than declared in one of those components) so none of
13324
- * them has to import a type from a sibling that also imports it, mirroring
13325
- * the Svelte binding's `ribbon/ribbon-types.ts`.
13326
- */
13327
-
13328
- /**
13329
- * Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
13330
- * {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
13331
- * their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
13332
- * as `@switch` cases.
13333
- */
13334
- type RibbonTab = ToolbarTabId | 'text' | 'arrange';
13335
-
13336
- declare class RibbonComponent {
13337
- readonly slideIndex: _angular_core.InputSignal<number>;
13338
- readonly slideCount: _angular_core.InputSignal<number>;
13339
- /** Whether the deck is editable (gates the template-editing toggle). */
13340
- readonly canEdit: _angular_core.InputSignal<boolean>;
13341
- readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
13342
- readonly zoomPercent: _angular_core.InputSignal<number>;
13343
- readonly formatPainterActive: _angular_core.InputSignal<boolean>;
13344
- readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
13345
- readonly exporting: _angular_core.InputSignal<boolean>;
13346
- readonly hasMacros: _angular_core.InputSignal<boolean>;
13347
- /** Current visibility state of the grid overlay (for active-state styling). */
13348
- readonly showGrid: _angular_core.InputSignal<boolean>;
13349
- /** Current visibility state of rulers (for active-state styling). */
13350
- readonly showRulers: _angular_core.InputSignal<boolean>;
13351
- /** Current visibility state of center guide lines (for active-state styling). */
13352
- readonly showGuides: _angular_core.InputSignal<boolean>;
13353
- /** Current state of snap-to-grid (for active-state styling). */
13354
- readonly snapToGrid: _angular_core.InputSignal<boolean>;
13355
- readonly snapToShape: _angular_core.InputSignal<boolean>;
13356
- /** Current state of eyedropper tool (for active-state styling). */
13357
- readonly eyedropperActive: _angular_core.InputSignal<boolean>;
13358
- /** Current visibility state of the theme gallery overlay (for active-state styling). */
13359
- readonly themeGalleryOpen: _angular_core.InputSignal<boolean>;
13360
- /** Whether the slides panel is collapsed (drives the top-bar toggle state). */
13361
- readonly sidebarCollapsed: _angular_core.InputSignal<boolean>;
13362
- /** Whether the right-docked inspector is open (top-bar toggle state). */
13363
- readonly inspectorOpen: _angular_core.InputSignal<boolean>;
13364
- /** Whether the comments panel is open (top-bar comments toggle state). */
13365
- readonly commentsOpen: _angular_core.InputSignal<boolean>;
13366
- /** Comment count on the active slide (top-bar comments badge). */
13367
- readonly commentCount: _angular_core.InputSignal<number>;
13368
- /** Whether the find/replace bar is open (top-bar find toggle state). */
13369
- readonly findOpen: _angular_core.InputSignal<boolean>;
13370
- /** Whether a collaboration session is connected (Share button styling). */
13371
- readonly collabConnected: _angular_core.InputSignal<boolean>;
13372
- /** Connected collaborator count (Share button label). */
13373
- readonly connectedCount: _angular_core.InputSignal<number>;
13374
- /** Current live proofing state shown by the Review ribbon command. */
13375
- readonly spellCheckEnabled: _angular_core.InputSignal<boolean>;
13376
- readonly showSubtitles: _angular_core.InputSignal<boolean>;
13377
- /** Toolbar buttons/tabs the host wants hidden. Default `[]` hides nothing. */
13378
- readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
13379
- /** Optional sign-in hook point for File > Account. Absent/disabled by default. */
13380
- readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
13381
- readonly prev: _angular_core.OutputEmitterRef<void>;
13382
- readonly next: _angular_core.OutputEmitterRef<void>;
13383
- readonly zoomIn: _angular_core.OutputEmitterRef<void>;
13384
- readonly zoomOut: _angular_core.OutputEmitterRef<void>;
13385
- readonly zoomReset: _angular_core.OutputEmitterRef<void>;
13386
- readonly find: _angular_core.OutputEmitterRef<void>;
13387
- readonly present: _angular_core.OutputEmitterRef<void>;
13388
- readonly presenter: _angular_core.OutputEmitterRef<void>;
13389
- /** Emitted by the tab-row Record button (starts a slide-show run-through). */
13390
- readonly record: _angular_core.OutputEmitterRef<void>;
13391
- readonly presentFromBeginning: _angular_core.OutputEmitterRef<void>;
13392
- readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
13393
- readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
13394
- readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
13395
- readonly recordFromBeginning: _angular_core.OutputEmitterRef<void>;
13396
- readonly recordFromCurrent: _angular_core.OutputEmitterRef<void>;
13397
- readonly spellCheckChange: _angular_core.OutputEmitterRef<boolean>;
13398
- readonly share: _angular_core.OutputEmitterRef<void>;
13399
- readonly broadcast: _angular_core.OutputEmitterRef<void>;
13400
- readonly openFile: _angular_core.OutputEmitterRef<void>;
13401
- readonly openRecentFile: _angular_core.OutputEmitterRef<string>;
13402
- readonly createPresentation: _angular_core.OutputEmitterRef<string>;
13403
- /** Emitted when the user clicks "Save" in the File tab (saves as .pptx). */
13404
- readonly save: _angular_core.OutputEmitterRef<void>;
13405
- readonly savePpsx: _angular_core.OutputEmitterRef<void>;
13406
- readonly savePptm: _angular_core.OutputEmitterRef<void>;
13407
- readonly packageForSharing: _angular_core.OutputEmitterRef<void>;
13408
- /** Emitted when the user toggles the slides panel from the top bar. */
13409
- readonly toggleSidebar: _angular_core.OutputEmitterRef<void>;
13410
- /** Emitted when the user opens the Digital Signatures panel from the File tab. */
13411
- readonly signatures: _angular_core.OutputEmitterRef<void>;
13412
- readonly info: _angular_core.OutputEmitterRef<void>;
13413
- readonly print: _angular_core.OutputEmitterRef<void>;
13414
- readonly comments: _angular_core.OutputEmitterRef<void>;
13415
- readonly a11y: _angular_core.OutputEmitterRef<void>;
13416
- readonly link: _angular_core.OutputEmitterRef<void>;
13417
- readonly openSorter: _angular_core.OutputEmitterRef<void>;
13418
- readonly openMasterView: _angular_core.OutputEmitterRef<void>;
13419
- readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
13420
- readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
13421
- readonly exportPng: _angular_core.OutputEmitterRef<void>;
13422
- readonly exportPdf: _angular_core.OutputEmitterRef<void>;
13423
- readonly exportGif: _angular_core.OutputEmitterRef<void>;
13424
- readonly exportVideo: _angular_core.OutputEmitterRef<void>;
13425
- readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
13426
- readonly replace: _angular_core.OutputEmitterRef<void>;
13427
- /** Design/Transitions/Animations tabs want the right-docked Inspector panel opened. */
13428
- readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
13429
- /** Draw tab tool state changed (tool/colour/width); UI-only, no ink back-end yet. */
13430
- readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
13431
- /** Emitted when the user clicks "Browse Themes" in the Design tab. */
13432
- readonly toggleThemeGallery: _angular_core.OutputEmitterRef<void>;
13433
- /** Emitted when the user toggles the grid overlay in the View tab. */
13434
- readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
13435
- /** Emitted when the user toggles rulers in the View tab. */
13436
- readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
13437
- /** Emitted when the user toggles center guide lines in the View tab. */
13438
- readonly toggleGuides: _angular_core.OutputEmitterRef<void>;
13439
- /** Emitted when the user clicks "Selection Pane" in the View tab. */
13440
- readonly toggleSelectionPane: _angular_core.OutputEmitterRef<void>;
13441
- /** Emitted when the user clicks "Custom Shows" in the Slide Show tab. */
13442
- readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
13443
- /** Emitted when the user toggles snap-to-grid in the View tab. */
13444
- readonly toggleSnapToGrid: _angular_core.OutputEmitterRef<void>;
13445
- readonly toggleSnapToShape: _angular_core.OutputEmitterRef<void>;
13446
- readonly addGuide: _angular_core.OutputEmitterRef<"x" | "y">;
13447
- readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
13448
- /** Emitted when the user activates the eyedropper in the View tab. */
13449
- readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
13450
- /** "SmartArt" in the Insert tab; the host opens the gallery dialog and does the insert. */
13451
- readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
13452
- /** Emitted when the user clicks "Equation" in the Insert tab (opens the editor). */
13453
- readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
13454
- /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
13455
- readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
13456
- /** Emitted when the user clicks "Compare" in the Review tab. */
13457
- readonly openCompare: _angular_core.OutputEmitterRef<void>;
13458
- /** Emitted when the user clicks "Password" in the Review tab. */
13459
- readonly openPassword: _angular_core.OutputEmitterRef<void>;
13460
- /** Emitted when the user clicks "Fonts" in the Review tab. */
13461
- readonly openFontEmbedding: _angular_core.OutputEmitterRef<void>;
13462
- /** Emitted when the user clicks "Version History" in the Review tab. */
13463
- readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
13464
- /** Emitted when the user clicks "Shortcuts" in the Help tab. */
13465
- readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
13466
- /** Emitted when the user opens viewer preferences from the Help tab. */
13467
- readonly openSettings: _angular_core.OutputEmitterRef<void>;
13468
- protected readonly activeTab: _angular_core.WritableSignal<RibbonTab>;
13469
- /** Ribbon content expanded (true) vs collapsed to just the tab bar (false). */
13470
- protected readonly ribbonExpanded: _angular_core.WritableSignal<boolean>;
13471
- /** Route both File Options and Review Language to the real Settings dialog. */
13472
- protected requestSettings(): void;
13473
- /** Forward the Review proofing toggle to the viewer-owned live state. */
13474
- protected setSpellCheck(enabled: boolean): void;
13475
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
13476
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonComponent, "pptx-ribbon", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "hasMacros": { "alias": "hasMacros"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; "themeGalleryOpen": { "alias": "themeGalleryOpen"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; "isSignal": true; }; "inspectorOpen": { "alias": "inspectorOpen"; "required": false; "isSignal": true; }; "commentsOpen": { "alias": "commentsOpen"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "findOpen": { "alias": "findOpen"; "required": false; "isSignal": true; }; "collabConnected": { "alias": "collabConnected"; "required": false; "isSignal": true; }; "connectedCount": { "alias": "connectedCount"; "required": false; "isSignal": true; }; "spellCheckEnabled": { "alias": "spellCheckEnabled"; "required": false; "isSignal": true; }; "showSubtitles": { "alias": "showSubtitles"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; }, { "prev": "prev"; "next": "next"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; "find": "find"; "present": "present"; "presenter": "presenter"; "record": "record"; "presentFromBeginning": "presentFromBeginning"; "rehearseTimings": "rehearseTimings"; "toggleSubtitles": "toggleSubtitles"; "openSubtitleSettings": "openSubtitleSettings"; "recordFromBeginning": "recordFromBeginning"; "recordFromCurrent": "recordFromCurrent"; "spellCheckChange": "spellCheckChange"; "share": "share"; "broadcast": "broadcast"; "openFile": "openFile"; "openRecentFile": "openRecentFile"; "createPresentation": "createPresentation"; "save": "save"; "savePpsx": "savePpsx"; "savePptm": "savePptm"; "packageForSharing": "packageForSharing"; "toggleSidebar": "toggleSidebar"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openMasterView": "openMasterView"; "toggleNotes": "toggleNotes"; "toggleFormatPainter": "toggleFormatPainter"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "copySlideAsImage": "copySlideAsImage"; "replace": "replace"; "toggleInspector": "toggleInspector"; "drawToolChange": "drawToolChange"; "toggleThemeGallery": "toggleThemeGallery"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "openCustomShows": "openCustomShows"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; "openSmartArtDialog": "openSmartArtDialog"; "openEquationDialog": "openEquationDialog"; "openSetUpSlideShow": "openSetUpSlideShow"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; }, never, never, true, never>;
13477
- }
13478
-
13479
13512
  declare class RibbonAnimationsSectionComponent {
13480
13513
  private readonly editor;
13481
13514
  readonly slideIndex: _angular_core.InputSignal<number>;
@@ -14791,5 +14824,5 @@ declare const SEQUENCE_OPTIONS: ReadonlyArray<{
14791
14824
  labelKey: string;
14792
14825
  }>;
14793
14826
 
14794
- export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
14827
+ export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, POWER_POINT_VIEWER_PROVIDERS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
14795
14828
  export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AwarenessLike, BarRect, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectsState, EmbeddedFontStyles, EquationTemplate, EyedropperResult, FindOptions, FindResult, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, GroupResult, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerTick, ScatterDot, SelectionBox, ShapeStyleChanges, ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, TimerProgress, ToolbarActionId, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ZoomViewModel };