pptx-angular-viewer 1.28.1 → 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';
@@ -588,6 +588,24 @@ declare function convertOmmlToMathMl(ommlNode: OmmlNode): string;
588
588
  */
589
589
  declare function ommlToMathml(omml: OmmlNode | string): string;
590
590
 
591
+ /**
592
+ * equation-templates: the shared catalogue of pre-built equation templates
593
+ * shown in every binding's equation editor dialog (React's
594
+ * `EquationEditorDialog` is the reference implementation). Each entry pairs a
595
+ * LaTeX source with an i18n key (plus an English fallback label) so the
596
+ * gallery tiles render identically across React, Vue, Angular, Svelte, and
597
+ * Vanilla.
598
+ */
599
+ /** Describes a pre-built equation template shown in the template gallery. */
600
+ interface EquationTemplate {
601
+ /** Human-readable label (English fallback). */
602
+ label: string;
603
+ /** LaTeX source for the template equation. */
604
+ latex: string;
605
+ /** i18n translation key for the template name. */
606
+ i18nKey: string;
607
+ }
608
+
591
609
  /**
592
610
  * Chart-inspector option catalogues: the pure, framework-agnostic value lists
593
611
  * (and supported-type Sets) that drive the advanced chart editor's selects and
@@ -6862,190 +6880,728 @@ declare class PowerPointViewerComponent {
6862
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>;
6863
6881
  }
6864
6882
 
6865
- /** The eight resize-handle positions around a selection box. */
6866
- type ResizeHandle = ResizeHandleId;
6867
- /** An axis-aligned box in stage (slide) coordinates. */
6868
- interface Box {
6869
- x: number;
6870
- y: number;
6871
- width: number;
6872
- height: number;
6883
+ /** A selected chart sub-part, scoped to the chart element that owns it. */
6884
+ interface ChartPartSelection {
6885
+ elementId: string;
6886
+ part: ChartPartRef;
6873
6887
  }
6874
- /** All handles, in render order (corners + edge midpoints). */
6875
- declare const RESIZE_HANDLES: readonly ResizeHandle[];
6876
- /** Translate a box by a stage-space delta. */
6877
- declare function applyMove(start: Box, dx: number, dy: number): Box;
6878
- /**
6879
- * Resize `start` by dragging `handle` with a stage-space delta, clamping to
6880
- * `min`. When clamping at the min size, the edge opposite the dragged handle
6881
- * stays fixed.
6882
- */
6883
- declare function applyResize(start: Box, handle: ResizeHandle, dx: number, dy: number, min?: number): Box;
6884
-
6885
- /** The draw tools `SlideCanvasComponent` forwards from the ribbon Draw tab. */
6886
- type DrawTool$1 = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
6887
- /** Live host accessors + emitters the ink-drawing controller needs. */
6888
- interface InkDrawingHost {
6889
- readonly stageElement: () => HTMLElement | undefined;
6890
- readonly effectiveScale: () => number;
6891
- readonly elements: () => readonly PptxElement[];
6892
- readonly drawTool: () => DrawTool$1;
6893
- readonly drawColor: () => string;
6894
- readonly drawWidth: () => number;
6895
- readonly emitInkStrokeComplete: (ink: InkPptxElement) => void;
6896
- readonly emitEraserHit: (id: string) => void;
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>;
6897
6899
  }
6898
- declare class InkDrawingService {
6899
- /** Whether a freehand stroke is in progress. Signal for template reactivity. */
6900
- readonly active: _angular_core.WritableSignal<boolean>;
6901
- /** SVG path `d` for the live stroke preview (updated on every pointer move). */
6902
- readonly liveInkPath: _angular_core.WritableSignal<string>;
6903
- /** Accumulated points for the stroke currently being drawn. */
6904
- private points;
6905
- private host;
6906
- /** Wire the host accessors/emitters (called once from the component constructor). */
6907
- bind(host: InkDrawingHost): void;
6908
- private requireHost;
6909
- /** True when a draw tool (anything but 'select') should own the current gesture. */
6910
- isDrawToolActive(): boolean;
6900
+
6901
+ declare class EmbeddedFontsService {
6902
+ /** The generated `@font-face` stylesheet text (also injected into `<head>`). */
6903
+ readonly fontFaceCss: _angular_core.WritableSignal<string>;
6911
6904
  /**
6912
- * Handle a stage pointerdown while a draw tool is active: eraser hit-tests
6913
- * against ink elements (topmost wins); pen/highlighter/freeform begin a new
6914
- * stroke.
6905
+ * Distinct CSS `font-family` strings for the embedded families, each with
6906
+ * substitution fallbacks resolved (e.g. `'"Calibri", "Carlito", …'`).
6915
6907
  */
6916
- handleStagePointerDown(event: PointerEvent): void;
6917
- /** Append a point to the in-progress stroke. Returns false when no stroke is active (caller should fall through). */
6918
- handlePointerMove(event: PointerEvent): boolean;
6919
- /** Finalise the in-progress stroke and emit it. Returns false when no stroke was active (caller should fall through). */
6920
- handlePointerUp(): boolean;
6921
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkDrawingService, never>;
6922
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<InkDrawingService>;
6923
- }
6924
-
6925
- /** A user-created guide line dragged from a ruler strip. */
6926
- interface RulerGuide {
6927
- id: string;
6928
- axis: 'x' | 'y';
6929
- pos: number;
6930
- }
6931
- /** Live host accessors the guide controller needs. */
6932
- interface RulerGuidesHost {
6933
- readonly editable: () => boolean;
6934
- readonly stageElement: () => HTMLElement | undefined;
6935
- readonly effectiveScale: () => number;
6936
- readonly canvasSize: () => CanvasSize;
6937
- }
6938
- declare class RulerGuidesService {
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();
6939
6917
  /**
6940
- * User-created guide lines (dragged from rulers or added from toolbar).
6941
- * axis:'x' -> vertical line at x=pos; axis:'y' -> horizontal line at y=pos.
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.
6942
6923
  */
6943
- readonly rulerGuides: _angular_core.WritableSignal<readonly RulerGuide[]>;
6944
- /** Active guide-drag state (id + axis only), or null when nothing is being dragged. */
6945
- private guideDrag;
6946
- private host;
6947
- /** Wire the host accessors (called once from the component constructor). */
6948
- bind(host: RulerGuidesHost): void;
6949
- private requireHost;
6950
- /** True while an existing or just-created guide is being dragged. */
6951
- isDragging(): boolean;
6952
- /** Add a centered guide from the View ribbon without starting a drag gesture. */
6953
- addGuide(axis: RulerGuide['axis']): void;
6954
- /** Begin dragging an existing guide. Called from the guide handle pointerdown. */
6955
- onGuidePointerDown(event: PointerEvent, id: string, axis: RulerGuide['axis']): void;
6956
- /** Remove a guide (called on guide handle double-click). */
6957
- onGuideDoubleClick(event: MouseEvent, id: string): void;
6958
- /** Drag from the horizontal ruler to create a new horizontal guide (axis:'y'). */
6959
- onHRulerPointerDown(event: PointerEvent): void;
6960
- /** Drag from the vertical ruler to create a new vertical guide (axis:'x'). */
6961
- onVRulerPointerDown(event: PointerEvent): void;
6962
- /** Update the dragged guide's position. Returns false when no guide drag is in progress (caller should fall through). */
6963
- handlePointerMove(event: PointerEvent): boolean;
6964
- /** End the guide drag. Returns false when no guide drag was in progress (caller should fall through). */
6965
- handlePointerUp(): boolean;
6966
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RulerGuidesService, never>;
6967
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<RulerGuidesService>;
6968
- }
6969
-
6970
- /**
6971
- * ruler-ticks.ts: Pure tick-mark generation for the slide canvas's horizontal
6972
- * and vertical ruler strips. No Angular/DOM dependency so it is trivially
6973
- * unit-testable in isolation from `SlideCanvasComponent`.
6974
- */
6975
- /** Height/width (px) of the ruler strips: mirrors React's RULER_THICKNESS. */
6976
- declare const RULER_THICKNESS = 20;
6977
- /** Pixels per inch on the slide canvas (PPTX slides are 10" wide = 960 px). */
6978
- declare const SLIDE_PX_PER_INCH = 96;
6979
- /** A single tick mark on a ruler strip. */
6980
- interface RulerTick {
6981
- /** Position in screen pixels along the ruler. */
6982
- position: number;
6983
- /** Whether this is a major (inch) tick. */
6984
- isMajor: boolean;
6985
- /** Label to display (only on major ticks, every N inches). */
6986
- label: string | null;
6987
- }
6988
- /**
6989
- * Generate ruler tick marks for a given slide dimension and scale.
6990
- * Produces ticks every 1/4 inch (minor) and every inch (major).
6991
- */
6992
- declare function generateRulerTicks(slidePx: number, scale: number): ReadonlyArray<RulerTick>;
6993
-
6994
- /**
6995
- * Slide-scoped DI context: lets leaf renderers (chart, SmartArt) resolve which
6996
- * slide their canvas is displaying without threading an input through every
6997
- * layer. `SlideCanvasComponent` provides itself under this token.
6998
- *
6999
- * Needed for template (master/layout) elements: they are partitioned OUT of
7000
- * `slides[].elements` into the per-slide template store, so an element-id
7001
- * search over the deck cannot find them; the owning slide is simply the slide
7002
- * the hosting canvas is rendering.
7003
- */
7004
-
7005
- interface SlideContext {
7006
- /** Id of the slide this canvas renders, or null when none is loaded. */
7007
- slideId(): string | null;
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>;
7008
6938
  }
7009
6939
 
7010
- /**
7011
- * SlideCanvasComponent: Angular port of the React `SlideCanvas.tsx` and Vue
7012
- * `SlideCanvas.vue`.
7013
- *
7014
- * Renders the active slide as a fixed-size stage scaled by `zoom`, with each
7015
- * element absolutely positioned. When `editable`, supports click-to-select
7016
- * (event delegation), selection outlines, and pointer drag-to-move / resize
7017
- * handles, plus the rulers, grid, guides, marquee, and collaboration
7018
- * overlays.
7019
- */
7020
- declare class SlideCanvasComponent implements SlideContext {
7021
- readonly slide: _angular_core.InputSignal<PptxSlide | undefined>;
7022
- readonly canvasSize: _angular_core.InputSignal<CanvasSize>;
7023
- /** {@link SlideContext}: the id of the slide this canvas renders. */
7024
- slideId(): string | null;
7025
- readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
7026
- readonly zoom: _angular_core.InputSignal<number>;
7027
- /** When true, elements are selectable and drag/resize handles are shown. */
7028
- readonly editable: _angular_core.InputSignal<boolean>;
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[];
7029
6948
  /**
7030
- * When true, render a dot-grid overlay on the slide stage.
7031
- * Only active on the interactive (main editor) canvas; ignored on thumbnails.
7032
- * Defaults false so nothing changes unless toggled from the ribbon View tab.
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).
7033
6953
  */
7034
- readonly showGrid: _angular_core.InputSignal<boolean>;
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;
7035
6957
  /**
7036
- * When true, render horizontal and vertical ruler strips along the top/left
7037
- * of the slide viewport. Only active on the interactive canvas.
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).
7038
6963
  */
7039
- readonly showRulers: _angular_core.InputSignal<boolean>;
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>;
7040
6967
  /**
7041
- * When true, render a static center-crosshair guide overlay on the slide stage.
7042
- * Only active on the interactive canvas.
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.
7043
6972
  */
7044
- readonly showGuides: _angular_core.InputSignal<boolean>;
6973
+ renderElement(el: HTMLElement, scale?: number): Promise<HTMLCanvasElement>;
7045
6974
  /**
7046
- * When true, snap element positions to the grid increment during move.
7047
- * Combines with edge-alignment snapping.
7048
- */
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
+
7421
+ /** The eight resize-handle positions around a selection box. */
7422
+ type ResizeHandle = ResizeHandleId;
7423
+ /** An axis-aligned box in stage (slide) coordinates. */
7424
+ interface Box {
7425
+ x: number;
7426
+ y: number;
7427
+ width: number;
7428
+ height: number;
7429
+ }
7430
+ /** All handles, in render order (corners + edge midpoints). */
7431
+ declare const RESIZE_HANDLES: readonly ResizeHandle[];
7432
+ /** Translate a box by a stage-space delta. */
7433
+ declare function applyMove(start: Box, dx: number, dy: number): Box;
7434
+ /**
7435
+ * Resize `start` by dragging `handle` with a stage-space delta, clamping to
7436
+ * `min`. When clamping at the min size, the edge opposite the dragged handle
7437
+ * stays fixed.
7438
+ */
7439
+ declare function applyResize(start: Box, handle: ResizeHandle, dx: number, dy: number, min?: number): Box;
7440
+
7441
+ /** The draw tools `SlideCanvasComponent` forwards from the ribbon Draw tab. */
7442
+ type DrawTool = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
7443
+ /** Live host accessors + emitters the ink-drawing controller needs. */
7444
+ interface InkDrawingHost {
7445
+ readonly stageElement: () => HTMLElement | undefined;
7446
+ readonly effectiveScale: () => number;
7447
+ readonly elements: () => readonly PptxElement[];
7448
+ readonly drawTool: () => DrawTool;
7449
+ readonly drawColor: () => string;
7450
+ readonly drawWidth: () => number;
7451
+ readonly emitInkStrokeComplete: (ink: InkPptxElement) => void;
7452
+ readonly emitEraserHit: (id: string) => void;
7453
+ }
7454
+ declare class InkDrawingService {
7455
+ /** Whether a freehand stroke is in progress. Signal for template reactivity. */
7456
+ readonly active: _angular_core.WritableSignal<boolean>;
7457
+ /** SVG path `d` for the live stroke preview (updated on every pointer move). */
7458
+ readonly liveInkPath: _angular_core.WritableSignal<string>;
7459
+ /** Accumulated points for the stroke currently being drawn. */
7460
+ private points;
7461
+ private host;
7462
+ /** Wire the host accessors/emitters (called once from the component constructor). */
7463
+ bind(host: InkDrawingHost): void;
7464
+ private requireHost;
7465
+ /** True when a draw tool (anything but 'select') should own the current gesture. */
7466
+ isDrawToolActive(): boolean;
7467
+ /**
7468
+ * Handle a stage pointerdown while a draw tool is active: eraser hit-tests
7469
+ * against ink elements (topmost wins); pen/highlighter/freeform begin a new
7470
+ * stroke.
7471
+ */
7472
+ handleStagePointerDown(event: PointerEvent): void;
7473
+ /** Append a point to the in-progress stroke. Returns false when no stroke is active (caller should fall through). */
7474
+ handlePointerMove(event: PointerEvent): boolean;
7475
+ /** Finalise the in-progress stroke and emit it. Returns false when no stroke was active (caller should fall through). */
7476
+ handlePointerUp(): boolean;
7477
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkDrawingService, never>;
7478
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<InkDrawingService>;
7479
+ }
7480
+
7481
+ /** A user-created guide line dragged from a ruler strip. */
7482
+ interface RulerGuide {
7483
+ id: string;
7484
+ axis: 'x' | 'y';
7485
+ pos: number;
7486
+ }
7487
+ /** Live host accessors the guide controller needs. */
7488
+ interface RulerGuidesHost {
7489
+ readonly editable: () => boolean;
7490
+ readonly stageElement: () => HTMLElement | undefined;
7491
+ readonly effectiveScale: () => number;
7492
+ readonly canvasSize: () => CanvasSize;
7493
+ }
7494
+ declare class RulerGuidesService {
7495
+ /**
7496
+ * User-created guide lines (dragged from rulers or added from toolbar).
7497
+ * axis:'x' -> vertical line at x=pos; axis:'y' -> horizontal line at y=pos.
7498
+ */
7499
+ readonly rulerGuides: _angular_core.WritableSignal<readonly RulerGuide[]>;
7500
+ /** Active guide-drag state (id + axis only), or null when nothing is being dragged. */
7501
+ private guideDrag;
7502
+ private host;
7503
+ /** Wire the host accessors (called once from the component constructor). */
7504
+ bind(host: RulerGuidesHost): void;
7505
+ private requireHost;
7506
+ /** True while an existing or just-created guide is being dragged. */
7507
+ isDragging(): boolean;
7508
+ /** Add a centered guide from the View ribbon without starting a drag gesture. */
7509
+ addGuide(axis: RulerGuide['axis']): void;
7510
+ /** Begin dragging an existing guide. Called from the guide handle pointerdown. */
7511
+ onGuidePointerDown(event: PointerEvent, id: string, axis: RulerGuide['axis']): void;
7512
+ /** Remove a guide (called on guide handle double-click). */
7513
+ onGuideDoubleClick(event: MouseEvent, id: string): void;
7514
+ /** Drag from the horizontal ruler to create a new horizontal guide (axis:'y'). */
7515
+ onHRulerPointerDown(event: PointerEvent): void;
7516
+ /** Drag from the vertical ruler to create a new vertical guide (axis:'x'). */
7517
+ onVRulerPointerDown(event: PointerEvent): void;
7518
+ /** Update the dragged guide's position. Returns false when no guide drag is in progress (caller should fall through). */
7519
+ handlePointerMove(event: PointerEvent): boolean;
7520
+ /** End the guide drag. Returns false when no guide drag was in progress (caller should fall through). */
7521
+ handlePointerUp(): boolean;
7522
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RulerGuidesService, never>;
7523
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<RulerGuidesService>;
7524
+ }
7525
+
7526
+ /**
7527
+ * ruler-ticks.ts: Pure tick-mark generation for the slide canvas's horizontal
7528
+ * and vertical ruler strips. No Angular/DOM dependency so it is trivially
7529
+ * unit-testable in isolation from `SlideCanvasComponent`.
7530
+ */
7531
+ /** Height/width (px) of the ruler strips: mirrors React's RULER_THICKNESS. */
7532
+ declare const RULER_THICKNESS = 20;
7533
+ /** Pixels per inch on the slide canvas (PPTX slides are 10" wide = 960 px). */
7534
+ declare const SLIDE_PX_PER_INCH = 96;
7535
+ /** A single tick mark on a ruler strip. */
7536
+ interface RulerTick {
7537
+ /** Position in screen pixels along the ruler. */
7538
+ position: number;
7539
+ /** Whether this is a major (inch) tick. */
7540
+ isMajor: boolean;
7541
+ /** Label to display (only on major ticks, every N inches). */
7542
+ label: string | null;
7543
+ }
7544
+ /**
7545
+ * Generate ruler tick marks for a given slide dimension and scale.
7546
+ * Produces ticks every 1/4 inch (minor) and every inch (major).
7547
+ */
7548
+ declare function generateRulerTicks(slidePx: number, scale: number): ReadonlyArray<RulerTick>;
7549
+
7550
+ /**
7551
+ * Slide-scoped DI context: lets leaf renderers (chart, SmartArt) resolve which
7552
+ * slide their canvas is displaying without threading an input through every
7553
+ * layer. `SlideCanvasComponent` provides itself under this token.
7554
+ *
7555
+ * Needed for template (master/layout) elements: they are partitioned OUT of
7556
+ * `slides[].elements` into the per-slide template store, so an element-id
7557
+ * search over the deck cannot find them; the owning slide is simply the slide
7558
+ * the hosting canvas is rendering.
7559
+ */
7560
+
7561
+ interface SlideContext {
7562
+ /** Id of the slide this canvas renders, or null when none is loaded. */
7563
+ slideId(): string | null;
7564
+ }
7565
+
7566
+ /**
7567
+ * SlideCanvasComponent: Angular port of the React `SlideCanvas.tsx` and Vue
7568
+ * `SlideCanvas.vue`.
7569
+ *
7570
+ * Renders the active slide as a fixed-size stage scaled by `zoom`, with each
7571
+ * element absolutely positioned. When `editable`, supports click-to-select
7572
+ * (event delegation), selection outlines, and pointer drag-to-move / resize
7573
+ * handles, plus the rulers, grid, guides, marquee, and collaboration
7574
+ * overlays.
7575
+ */
7576
+ declare class SlideCanvasComponent implements SlideContext {
7577
+ readonly slide: _angular_core.InputSignal<PptxSlide | undefined>;
7578
+ readonly canvasSize: _angular_core.InputSignal<CanvasSize>;
7579
+ /** {@link SlideContext}: the id of the slide this canvas renders. */
7580
+ slideId(): string | null;
7581
+ readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
7582
+ readonly zoom: _angular_core.InputSignal<number>;
7583
+ /** When true, elements are selectable and drag/resize handles are shown. */
7584
+ readonly editable: _angular_core.InputSignal<boolean>;
7585
+ /**
7586
+ * When true, render a dot-grid overlay on the slide stage.
7587
+ * Only active on the interactive (main editor) canvas; ignored on thumbnails.
7588
+ * Defaults false so nothing changes unless toggled from the ribbon View tab.
7589
+ */
7590
+ readonly showGrid: _angular_core.InputSignal<boolean>;
7591
+ /**
7592
+ * When true, render horizontal and vertical ruler strips along the top/left
7593
+ * of the slide viewport. Only active on the interactive canvas.
7594
+ */
7595
+ readonly showRulers: _angular_core.InputSignal<boolean>;
7596
+ /**
7597
+ * When true, render a static center-crosshair guide overlay on the slide stage.
7598
+ * Only active on the interactive canvas.
7599
+ */
7600
+ readonly showGuides: _angular_core.InputSignal<boolean>;
7601
+ /**
7602
+ * When true, snap element positions to the grid increment during move.
7603
+ * Combines with edge-alignment snapping.
7604
+ */
7049
7605
  readonly snapToGrid: _angular_core.InputSignal<boolean>;
7050
7606
  /** Whether moving elements snap to other element edges and centres. */
7051
7607
  readonly snapToShape: _angular_core.InputSignal<boolean>;
@@ -7760,24 +8316,6 @@ declare class ChartElementViewComponent {
7760
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>;
7761
8317
  }
7762
8318
 
7763
- /** A selected chart sub-part, scoped to the chart element that owns it. */
7764
- interface ChartPartSelection {
7765
- elementId: string;
7766
- part: ChartPartRef;
7767
- }
7768
- declare class ChartPartSelectionService {
7769
- /** The current on-canvas chart part selection, or null. */
7770
- readonly selection: _angular_core.WritableSignal<ChartPartSelection | null>;
7771
- /** Select a chart part (replaces any previous selection). */
7772
- select(selection: ChartPartSelection): void;
7773
- /** Clear the selection entirely. */
7774
- clear(): void;
7775
- /** Clear the selection when it belongs to the given chart element. */
7776
- clearForElement(elementId: string): void;
7777
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartPartSelectionService, never>;
7778
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartPartSelectionService>;
7779
- }
7780
-
7781
8319
  /**
7782
8320
  * smart-art-inline-edit.ts: pure logic for on-canvas SmartArt node text editing.
7783
8321
  *
@@ -8374,55 +8912,13 @@ declare class Model3DRendererComponent implements OnDestroy {
8374
8912
  /** The blob URL the live handle was mounted with, owned for revocation. */
8375
8913
  private mountedUrl;
8376
8914
  constructor();
8377
- private loadScene;
8378
- private mount;
8379
- /** Dispose the live handle and revoke its blob URL. */
8380
- private teardownHandle;
8381
- ngOnDestroy(): void;
8382
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
8383
- 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>;
8384
- }
8385
-
8386
- /**
8387
- * Minimal descriptor of a zoom's target slide, threaded to the renderer so the
8388
- * fallback thumbnail (shown when a zoom has no embedded preview image) can use
8389
- * the real target slide's background, number, and friendly section name instead
8390
- * of grey/index/section-GUID placeholders. Mirrors the React
8391
- * `ZoomSlideThumbnail` reference, which reads exactly these three fields.
8392
- */
8393
- interface ZoomTargetInfo {
8394
- /** The target slide's background colour, used as the tile background. */
8395
- readonly backgroundColor?: string;
8396
- /** The target slide's own 1-based number (not the array index + 1). */
8397
- readonly slideNumber?: number;
8398
- /** The target slide's friendly section name (not the section GUID). */
8399
- readonly sectionName?: string;
8400
- }
8401
- /**
8402
- * ZoomTargetService: viewer-scoped lookup from a zoom element's target slide
8403
- * index to a {@link ZoomTargetInfo} descriptor.
8404
- *
8405
- * Provided by `PowerPointViewerComponent` from its loaded slides, then injected
8406
- * `{ optional: true }` by `ZoomRendererComponent`. Trees that do not provide it
8407
- * (e.g. isolated component tests) resolve `null`, so the renderer falls back to
8408
- * the old grey/index/GUID thumbnail. This mirrors the optional-DI pattern of
8409
- * {@link ZoomNavigationService}.
8410
- *
8411
- * Intentionally NOT `providedIn: 'root'`: it is supplied per viewer so the
8412
- * lookup always reflects that viewer's deck.
8413
- */
8414
- declare class ZoomTargetService {
8415
- /** The deck the lookup resolves against; seeded by the viewer. */
8416
- private readonly slides;
8417
- /** Replace the deck used to resolve zoom targets. */
8418
- setSlides(slides: readonly PptxSlide[]): void;
8419
- /**
8420
- * Resolve the descriptor for a zoom's target slide, or `undefined` when the
8421
- * index is out of range (so the renderer keeps its index-based fallback).
8422
- */
8423
- lookup(targetSlideIndex: number): ZoomTargetInfo | undefined;
8424
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomTargetService, never>;
8425
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ZoomTargetService>;
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>;
8426
8922
  }
8427
8923
 
8428
8924
  /**
@@ -9456,48 +9952,6 @@ declare class TablePropertiesComponent {
9456
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>;
9457
9953
  }
9458
9954
 
9459
- /** A selected table cell (and optional Shift+Click range) on one table element. */
9460
- interface TableCellSelection {
9461
- /** Id of the table element the selection belongs to. */
9462
- elementId: string;
9463
- /** Anchor cell row (0-based). */
9464
- rowIndex: number;
9465
- /** Anchor cell column (0-based). */
9466
- columnIndex: number;
9467
- /** When true, the anchor cell has an active inline text input. */
9468
- isEditing?: boolean;
9469
- /** Optional multi-cell rectangular selection (Shift+Click range). */
9470
- selectedCells?: CellCoord[];
9471
- }
9472
- declare class TableSelectionService {
9473
- /** The current table-cell selection, or null when nothing is selected. */
9474
- readonly selection: _angular_core.WritableSignal<TableCellSelection | null>;
9475
- /** The element id of the current selection (or undefined). */
9476
- readonly elementId: _angular_core.Signal<string | undefined>;
9477
- /**
9478
- * Select a single cell (clears any range). Passing the element id keeps the
9479
- * selection scoped so a stale selection from a different table is ignored.
9480
- */
9481
- selectCell(elementId: string, rowIndex: number, columnIndex: number): void;
9482
- /**
9483
- * Extend the selection from the current anchor to `(rowIndex, columnIndex)`
9484
- * as a rectangular range (Shift+Click). Expands to cover any merge groups it
9485
- * overlaps. When there is no existing anchor on this element it falls back to
9486
- * a single-cell selection.
9487
- */
9488
- extendTo(elementId: string, rowIndex: number, columnIndex: number, tableData: PptxTableData): void;
9489
- /** Mark the anchor cell as actively editing (inline text input open). */
9490
- beginEditing(elementId: string, rowIndex: number, columnIndex: number): void;
9491
- /** Clear the editing flag while keeping the cell selected. */
9492
- endEditing(): void;
9493
- /** Clear the selection entirely. */
9494
- clear(): void;
9495
- /** Clear the selection when it belongs to `elementId` (e.g. element deleted). */
9496
- clearFor(elementId: string): void;
9497
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableSelectionService, never>;
9498
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<TableSelectionService>;
9499
- }
9500
-
9501
9955
  /** Cell-style keys whose value is a colour string (edited via `<input type=color>`). */
9502
9956
  type ColorKey = 'color' | 'backgroundColor' | 'borderTopColor' | 'borderBottomColor' | 'borderLeftColor' | 'borderRightColor';
9503
9957
  /** Cell-style keys whose value is a number (edited via `<input type=number>`). */
@@ -10358,77 +10812,6 @@ declare class EditorContextMenuComponent {
10358
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>;
10359
10813
  }
10360
10814
 
10361
- declare class ExportService {
10362
- private static readonly PRESENTATION_MIME;
10363
- /** Build a resolution-independent SVG string directly from slide data. */
10364
- exportSlideToSvg(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): string;
10365
- /** Build an SVG Blob directly from slide data. */
10366
- exportSlideToSvgBlob(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): Blob;
10367
- /** Build SVG strings for all selected slides in a parsed presentation. */
10368
- exportAllSlidesToSvg(data: PptxData, options?: SvgExportOptions): string[];
10369
- /**
10370
- * Trigger a browser download of serialized `.pptx` bytes.
10371
- *
10372
- * @param bytes - The serialized presentation (from the viewer's `getContent`).
10373
- * @param fileName - Suggested download file name (unsafe chars are stripped).
10374
- */
10375
- savePptx(bytes: Uint8Array, fileName: string): void;
10376
- /** Download serialized presentation bytes using the matching package MIME type. */
10377
- savePresentation(bytes: Uint8Array, fileName: string, format: PptxSaveFormat): void;
10378
- /**
10379
- * Rasterize a single DOM element to PNG and trigger a browser download.
10380
- *
10381
- * @param el - The element to capture (e.g. the `.pptx-ng-canvas-stage`).
10382
- * @param fileName - Suggested download file name (unsafe chars are stripped).
10383
- * @param scale - Device-pixel ratio multiplier (default 2 for sharp output).
10384
- */
10385
- exportElementToPng(el: HTMLElement, fileName: string, scale?: number): Promise<void>;
10386
- /** Rasterize an element and copy it to the system clipboard as a PNG image. */
10387
- copyElementAsPng(el: HTMLElement, scale?: number): Promise<void>;
10388
- /**
10389
- * Rasterize a single element to a canvas (passthrough to html2canvas-pro).
10390
- * Capture each slide's canvas *while that slide is the live DOM*: the
10391
- * viewer reuses one stage node, so a deferred capture would yield the same
10392
- * (last) slide for every page.
10393
- */
10394
- renderElement(el: HTMLElement, scale?: number): Promise<HTMLCanvasElement>;
10395
- /**
10396
- * Assemble a multi-page PDF from pre-rendered slide canvases (one page per
10397
- * canvas, sized to the slide aspect ratio in pt) and trigger a download.
10398
- *
10399
- * @param canvases - One canvas per slide, in order, each captured while
10400
- * its slide was the live stage.
10401
- * @param canvasWidth - Slide canvas width in pixels (for aspect ratio).
10402
- * @param canvasHeight - Slide canvas height in pixels (for aspect ratio).
10403
- * @param fileName - Suggested download file name (unsafe chars stripped).
10404
- */
10405
- exportCanvasesToPdf(canvases: HTMLCanvasElement[], canvasWidth: number, canvasHeight: number, fileName: string): void;
10406
- /**
10407
- * Assemble an animated GIF from pre-rendered slide canvases (one frame per
10408
- * slide) and trigger a download. Frame delay is derived from
10409
- * `slideDurationMs` via the pure {@link planGifFrames} planner.
10410
- *
10411
- * @param canvases - One canvas per slide, in order.
10412
- * @param slideDurationMs - Display time per slide in milliseconds.
10413
- * @param fileName - Suggested download file name.
10414
- */
10415
- exportCanvasesToGif(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string): void;
10416
- /**
10417
- * Record a WebM video from pre-rendered slide canvases (each held for
10418
- * `slideDurationMs`) via the browser `MediaRecorder` and trigger a download.
10419
- *
10420
- * @param canvases - One canvas per slide, in order.
10421
- * @param slideDurationMs - Display time per slide in milliseconds.
10422
- * @param fileName - Suggested download file name.
10423
- * @param signal - Optional abort signal to cancel recording.
10424
- * @param onProgress - Optional per-slide recording progress callback
10425
- * `(currentSlide, totalSlides)`.
10426
- */
10427
- exportCanvasesToWebm(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string, signal?: AbortSignal, onProgress?: (current: number, total: number) => void): Promise<void>;
10428
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportService, never>;
10429
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
10430
- }
10431
-
10432
10815
  /**
10433
10816
  * Canvas Export Utilities for the Angular viewer.
10434
10817
  *
@@ -10726,45 +11109,6 @@ declare class AccessibilityPanelComponent {
10726
11109
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccessibilityPanelComponent, "pptx-accessibility-panel", never, { "issues": { "alias": "issues"; "required": false; "isSignal": true; }; }, { "selectSlide": "selectSlide"; }, never, never, true, never>;
10727
11110
  }
10728
11111
 
10729
- declare class EmbeddedFontsService {
10730
- /** The generated `@font-face` stylesheet text (also injected into `<head>`). */
10731
- readonly fontFaceCss: _angular_core.WritableSignal<string>;
10732
- /**
10733
- * Distinct CSS `font-family` strings for the embedded families, each with
10734
- * substitution fallbacks resolved (e.g. `'"Calibri", "Carlito", …'`).
10735
- */
10736
- readonly fontFamilies: _angular_core.WritableSignal<string[]>;
10737
- private styleEl;
10738
- private embeddedCss;
10739
- private userCss;
10740
- /** Object URLs minted on the most recent `setFonts`; revoked when superseded. */
10741
- private liveObjectUrls;
10742
- /** Mints a Blob object URL for de-obfuscated font bytes (impure side effect). */
10743
- private readonly mintObjectUrl;
10744
- constructor();
10745
- /**
10746
- * Resolve the supplied embedded fonts into `@font-face` rules, inject them
10747
- * into the managed `<style>` element, and update the exposed signals.
10748
- *
10749
- * Object URLs minted on the *previous* call are revoked here so they don't
10750
- * leak across re-parses. Pass an empty list (or `null`) to clear everything.
10751
- */
10752
- setFonts(fonts: readonly PptxEmbeddedFont[] | null | undefined): void;
10753
- /** Replace the licensed font sources supplied by the host application. */
10754
- setHostFonts(fonts: readonly ViewerFontSource[] | null | undefined): void;
10755
- /**
10756
- * Remove the injected `<style>` element, revoke all live object URLs, and
10757
- * reset the signals. Called automatically on destroy; safe to call manually.
10758
- */
10759
- dispose(): void;
10760
- /** Create / update / remove the managed `<style>` element to match `css`. */
10761
- private syncStyleElement;
10762
- private removeStyleElement;
10763
- private revokeObjectUrls;
10764
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmbeddedFontsService, never>;
10765
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<EmbeddedFontsService>;
10766
- }
10767
-
10768
11112
  /** A single rendered playback step (one click group). */
10769
11113
  interface AnimationStepView {
10770
11114
  /** 1-based step number for display. */
@@ -11279,28 +11623,6 @@ declare class BroadcastDialogComponent {
11279
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>;
11280
11624
  }
11281
11625
 
11282
- declare class ViewerCompareService {
11283
- private readonly svc;
11284
- private readonly editor;
11285
- private readonly translate;
11286
- /**
11287
- * Open a `.pptx` picker and diff it against the current deck, opening the
11288
- * compare panel with the result. Invoked from the ribbon.
11289
- */
11290
- startCompare(): void;
11291
- /** Parse the chosen file and compute the slide-level diff. */
11292
- private runCompare;
11293
- /** Accept a single slide diff, adopting the incoming slide. */
11294
- acceptSlide(diffIndex: number): void;
11295
- /** Reject a diff: keep the current slide (no deck change). */
11296
- rejectSlide(_diffIndex: number): void;
11297
- /** Accept every non-trivial diff at once. */
11298
- acceptAll(): void;
11299
- private diffAt;
11300
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerCompareService, never>;
11301
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerCompareService>;
11302
- }
11303
-
11304
11626
  declare class ViewerExtraDialogsComponent {
11305
11627
  /** Active slide index (equation inserts land on this slide). */
11306
11628
  readonly activeSlideIndex: _angular_core.InputSignal<number>;
@@ -11390,20 +11712,10 @@ declare class EquationEditorDialogComponent {
11390
11712
  }
11391
11713
 
11392
11714
  /**
11393
- * equation-editor-helpers.ts: Pure helpers backing the equation editor dialog
11394
- * and its template gallery. Kept framework-free (no Angular / DOM) so the
11395
- * LaTeX -> MathML conversion and the template catalogue are unit testable in
11396
- * isolation.
11715
+ * Pre-defined equation templates covering common mathematical formulas
11716
+ * (the shared catalogue every binding's equation dialog renders).
11397
11717
  */
11398
- /** Describes a pre-built equation template shown in the template gallery. */
11399
- interface EquationTemplate {
11400
- /** Human-readable label (English fallback). */
11401
- label: string;
11402
- /** LaTeX source for the template equation. */
11403
- latex: string;
11404
- }
11405
- /** Pre-defined equation templates covering common mathematical formulas. */
11406
- declare const TEMPLATES: EquationTemplate[];
11718
+ declare const TEMPLATES: readonly pptx_angular_viewer.EquationTemplate[];
11407
11719
  /** Convert a LaTeX string to a MathML markup string, empty on any failure. */
11408
11720
  declare function latexToMathml(latex: string): string;
11409
11721
 
@@ -11416,7 +11728,6 @@ declare class EquationTemplateGalleryComponent {
11416
11728
  /** Templates with pre-computed MathML previews (built once). */
11417
11729
  protected readonly templates: ReadonlyArray<EquationTemplate & {
11418
11730
  mathml: SafeHtml;
11419
- i18nKey: string;
11420
11731
  }>;
11421
11732
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EquationTemplateGalleryComponent, never>;
11422
11733
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EquationTemplateGalleryComponent, "pptx-equation-template-gallery", never, { "activeLatex": { "alias": "activeLatex"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>;
@@ -11794,7 +12105,7 @@ declare class AccountPageComponent {
11794
12105
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
11795
12106
  private readonly translate;
11796
12107
  protected readonly swatches: readonly string[];
11797
- protected readonly version = "1.28.0";
12108
+ protected readonly version = "1.29.0";
11798
12109
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
11799
12110
  protected readonly initial: _angular_core.Signal<string>;
11800
12111
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -12408,129 +12719,42 @@ declare function provideViewerTheme(theme: ViewerTheme | undefined): Provider;
12408
12719
  /**
12409
12720
  * Build an `[ngStyle]`-compatible map of CSS custom properties for a theme.
12410
12721
  * Returns an empty object when the theme contributes no variables.
12411
- */
12412
- declare function themeStyle(theme: ViewerTheme | undefined): Record<string, string>;
12413
-
12414
- /**
12415
- * Join class values into a single space-separated string, skipping falsy
12416
- * entries. A dependency-free analogue of the React/Vue packages' `cn`
12417
- * (clsx + tailwind-merge); the Angular viewer uses plain scoped CSS rather
12418
- * than Tailwind utility classes, so de-duplication is not required.
12419
- */
12420
- type ClassValue = string | number | false | null | undefined;
12421
- declare function cn(...values: ClassValue[]): string;
12422
-
12423
- /** Live host accessors the fit computation needs. */
12424
- interface CanvasFitHost {
12425
- readonly autoFit: () => boolean;
12426
- readonly viewportElement: () => HTMLElement | undefined;
12427
- readonly canvasSize: () => CanvasSize;
12428
- }
12429
- declare class CanvasFitService {
12430
- /**
12431
- * Auto-fit scale (<= 1): how much the fixed-size slide must shrink to fit
12432
- * the scroll viewport. The authored slide is e.g. 1280x720, which overflows
12433
- * a phone; without this it renders off-screen at `zoom=1`.
12434
- */
12435
- readonly fitScale: _angular_core.WritableSignal<number>;
12436
- private host;
12437
- /** Wire the host accessors (called once from the component constructor). */
12438
- bind(host: CanvasFitHost): void;
12439
- /**
12440
- * Recompute {@link fitScale} from the current viewport size. Call after the
12441
- * view renders and whenever the viewport or slide size may have changed
12442
- * (ResizeObserver, `canvasSize` change).
12443
- */
12444
- recompute(): void;
12445
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CanvasFitService, never>;
12446
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CanvasFitService>;
12447
- }
12448
-
12449
- /**
12450
- * `FieldContextService`: viewer-scoped source of the OOXML field-substitution
12451
- * context (slide number, date/time, header/footer, slide title, custom doc
12452
- * properties) used by the element text renderers.
12453
- *
12454
- * Mirrors the React `fieldContext` built in `ViewerCanvasArea` and the Vue
12455
- * `FieldContextKey` provide/inject. The deck-level parts (header/footer text +
12456
- * format, custom properties) come from {@link LoadContentService}; the
12457
- * per-slide parts (slide number + title) are folded in by the slide canvas,
12458
- * which knows which slide it renders, via {@link forSlide}.
12459
- *
12460
- * Provided alongside `LoadContentService` in the viewer subtree, so renderers
12461
- * used outside the viewer (thumbnails, export) that inject it `optional` simply
12462
- * fall back to no substitution.
12463
- */
12464
- declare class FieldContextService {
12465
- private readonly load;
12466
- /** Deck-level field context (header/footer + custom properties); slide parts unset. */
12467
- readonly deckContext: _angular_core.Signal<FieldSubstitutionContext>;
12468
- /**
12469
- * Build the full field context for a specific slide, folding the slide's
12470
- * number and title (from the first title / centre-title placeholder) into the
12471
- * deck-level context.
12472
- */
12473
- forSlide(slide: PptxSlide | undefined): FieldSubstitutionContext;
12474
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldContextService, never>;
12475
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<FieldContextService>;
12476
- }
12722
+ */
12723
+ declare function themeStyle(theme: ViewerTheme | undefined): Record<string, string>;
12477
12724
 
12478
12725
  /**
12479
- * Opt-in flag for the Three.js SmartArt renderer (Angular).
12480
- *
12481
- * Provided by `PowerPointViewerComponent`, which syncs it from the `smartArt3D`
12482
- * input; the element dispatcher injects it (optionally) to choose the WebGL
12483
- * renderer over the SVG one. Mirrors the React `SmartArt3DContext` and the Vue
12484
- * `SmartArt3DKey` provide/inject. Scoped to the viewer subtree, so renderers
12485
- * 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.
12486
12730
  */
12487
- declare class SmartArt3DService {
12488
- /** `true` when SmartArt should render via the Three.js scene. */
12489
- readonly enabled: _angular_core.WritableSignal<boolean>;
12490
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DService, never>;
12491
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<SmartArt3DService>;
12492
- }
12731
+ type ClassValue = string | number | false | null | undefined;
12732
+ declare function cn(...values: ClassValue[]): string;
12493
12733
 
12494
- /** Live host accessors the shortcut handler consults. */
12495
- interface KeyboardHost {
12496
- readonly canEdit: () => boolean;
12497
- readonly presenting: () => boolean;
12498
- 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;
12499
12739
  }
12500
- declare class ViewerKeyboardService {
12501
- private readonly editor;
12502
- private readonly dialogs;
12503
- 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>;
12504
12747
  private host;
12505
12748
  /** Wire the host accessors (called once from the component constructor). */
12506
- bind(host: KeyboardHost): void;
12507
- handleKeyDown(event: KeyboardEvent): void;
12508
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerKeyboardService, never>;
12509
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerKeyboardService>;
12510
- }
12511
-
12512
- /** Live host accessors the gesture recogniser consults. */
12513
- interface TouchGesturesHost {
12514
- readonly canEdit: () => boolean;
12515
- readonly presenting: () => boolean;
12516
- readonly selectedElement: () => PptxElement | null;
12517
- readonly goPrev: () => void;
12518
- readonly goNext: () => void;
12519
- readonly setContextMenuPos: (pos: {
12520
- x: number;
12521
- y: number;
12522
- }) => void;
12523
- }
12524
- declare class ViewerTouchGesturesService {
12525
- private readonly zoomSvc;
12526
- private readonly destroyRef;
12749
+ bind(host: CanvasFitHost): void;
12527
12750
  /**
12528
- * Attach the recogniser to `mainEl()`'s element once it is in the DOM
12529
- * (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).
12530
12754
  */
12531
- setup(mainEl: () => HTMLElement | undefined, host: TouchGesturesHost): void;
12532
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerTouchGesturesService, never>;
12533
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerTouchGesturesService>;
12755
+ recompute(): void;
12756
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CanvasFitService, never>;
12757
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CanvasFitService>;
12534
12758
  }
12535
12759
 
12536
12760
  /**
@@ -13285,190 +13509,6 @@ declare function splitCursorCell(element: TablePptxElement, row: number, col: nu
13285
13509
  */
13286
13510
  declare function patchTableData(element: TablePptxElement, patch: Partial<PptxTableData>): TablePptxElement;
13287
13511
 
13288
- /** Drawing tool IDs (mirrors React DRAW_TOOLS). */
13289
- type DrawTool = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
13290
- /** The full draw-tool state broadcast on every Draw-tab interaction. */
13291
- interface DrawToolState {
13292
- tool: DrawTool;
13293
- color: string;
13294
- width: number;
13295
- }
13296
- interface DrawToolDef {
13297
- id: DrawTool;
13298
- labelKey: string;
13299
- }
13300
- declare class RibbonDrawSectionComponent {
13301
- readonly activeTool: _angular_core.InputSignal<DrawTool>;
13302
- readonly drawingColor: _angular_core.InputSignal<string>;
13303
- readonly drawingWidth: _angular_core.InputSignal<number>;
13304
- readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
13305
- protected readonly drawTools: readonly DrawToolDef[];
13306
- protected selectTool(tool: DrawTool): void;
13307
- protected onColorInput(event: Event): void;
13308
- protected onWidthInput(event: Event): void;
13309
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonDrawSectionComponent, never>;
13310
- 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>;
13311
- }
13312
-
13313
- /**
13314
- * ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
13315
- * {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
13316
- * its own file (rather than declared in one of those components) so none of
13317
- * them has to import a type from a sibling that also imports it, mirroring
13318
- * the Svelte binding's `ribbon/ribbon-types.ts`.
13319
- */
13320
-
13321
- /**
13322
- * Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
13323
- * {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
13324
- * their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
13325
- * as `@switch` cases.
13326
- */
13327
- type RibbonTab = ToolbarTabId | 'text' | 'arrange';
13328
-
13329
- declare class RibbonComponent {
13330
- readonly slideIndex: _angular_core.InputSignal<number>;
13331
- readonly slideCount: _angular_core.InputSignal<number>;
13332
- /** Whether the deck is editable (gates the template-editing toggle). */
13333
- readonly canEdit: _angular_core.InputSignal<boolean>;
13334
- readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
13335
- readonly zoomPercent: _angular_core.InputSignal<number>;
13336
- readonly formatPainterActive: _angular_core.InputSignal<boolean>;
13337
- readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
13338
- readonly exporting: _angular_core.InputSignal<boolean>;
13339
- readonly hasMacros: _angular_core.InputSignal<boolean>;
13340
- /** Current visibility state of the grid overlay (for active-state styling). */
13341
- readonly showGrid: _angular_core.InputSignal<boolean>;
13342
- /** Current visibility state of rulers (for active-state styling). */
13343
- readonly showRulers: _angular_core.InputSignal<boolean>;
13344
- /** Current visibility state of center guide lines (for active-state styling). */
13345
- readonly showGuides: _angular_core.InputSignal<boolean>;
13346
- /** Current state of snap-to-grid (for active-state styling). */
13347
- readonly snapToGrid: _angular_core.InputSignal<boolean>;
13348
- readonly snapToShape: _angular_core.InputSignal<boolean>;
13349
- /** Current state of eyedropper tool (for active-state styling). */
13350
- readonly eyedropperActive: _angular_core.InputSignal<boolean>;
13351
- /** Current visibility state of the theme gallery overlay (for active-state styling). */
13352
- readonly themeGalleryOpen: _angular_core.InputSignal<boolean>;
13353
- /** Whether the slides panel is collapsed (drives the top-bar toggle state). */
13354
- readonly sidebarCollapsed: _angular_core.InputSignal<boolean>;
13355
- /** Whether the right-docked inspector is open (top-bar toggle state). */
13356
- readonly inspectorOpen: _angular_core.InputSignal<boolean>;
13357
- /** Whether the comments panel is open (top-bar comments toggle state). */
13358
- readonly commentsOpen: _angular_core.InputSignal<boolean>;
13359
- /** Comment count on the active slide (top-bar comments badge). */
13360
- readonly commentCount: _angular_core.InputSignal<number>;
13361
- /** Whether the find/replace bar is open (top-bar find toggle state). */
13362
- readonly findOpen: _angular_core.InputSignal<boolean>;
13363
- /** Whether a collaboration session is connected (Share button styling). */
13364
- readonly collabConnected: _angular_core.InputSignal<boolean>;
13365
- /** Connected collaborator count (Share button label). */
13366
- readonly connectedCount: _angular_core.InputSignal<number>;
13367
- /** Current live proofing state shown by the Review ribbon command. */
13368
- readonly spellCheckEnabled: _angular_core.InputSignal<boolean>;
13369
- readonly showSubtitles: _angular_core.InputSignal<boolean>;
13370
- /** Toolbar buttons/tabs the host wants hidden. Default `[]` hides nothing. */
13371
- readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
13372
- /** Optional sign-in hook point for File > Account. Absent/disabled by default. */
13373
- readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
13374
- readonly prev: _angular_core.OutputEmitterRef<void>;
13375
- readonly next: _angular_core.OutputEmitterRef<void>;
13376
- readonly zoomIn: _angular_core.OutputEmitterRef<void>;
13377
- readonly zoomOut: _angular_core.OutputEmitterRef<void>;
13378
- readonly zoomReset: _angular_core.OutputEmitterRef<void>;
13379
- readonly find: _angular_core.OutputEmitterRef<void>;
13380
- readonly present: _angular_core.OutputEmitterRef<void>;
13381
- readonly presenter: _angular_core.OutputEmitterRef<void>;
13382
- /** Emitted by the tab-row Record button (starts a slide-show run-through). */
13383
- readonly record: _angular_core.OutputEmitterRef<void>;
13384
- readonly presentFromBeginning: _angular_core.OutputEmitterRef<void>;
13385
- readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
13386
- readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
13387
- readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
13388
- readonly recordFromBeginning: _angular_core.OutputEmitterRef<void>;
13389
- readonly recordFromCurrent: _angular_core.OutputEmitterRef<void>;
13390
- readonly spellCheckChange: _angular_core.OutputEmitterRef<boolean>;
13391
- readonly share: _angular_core.OutputEmitterRef<void>;
13392
- readonly broadcast: _angular_core.OutputEmitterRef<void>;
13393
- readonly openFile: _angular_core.OutputEmitterRef<void>;
13394
- readonly openRecentFile: _angular_core.OutputEmitterRef<string>;
13395
- readonly createPresentation: _angular_core.OutputEmitterRef<string>;
13396
- /** Emitted when the user clicks "Save" in the File tab (saves as .pptx). */
13397
- readonly save: _angular_core.OutputEmitterRef<void>;
13398
- readonly savePpsx: _angular_core.OutputEmitterRef<void>;
13399
- readonly savePptm: _angular_core.OutputEmitterRef<void>;
13400
- readonly packageForSharing: _angular_core.OutputEmitterRef<void>;
13401
- /** Emitted when the user toggles the slides panel from the top bar. */
13402
- readonly toggleSidebar: _angular_core.OutputEmitterRef<void>;
13403
- /** Emitted when the user opens the Digital Signatures panel from the File tab. */
13404
- readonly signatures: _angular_core.OutputEmitterRef<void>;
13405
- readonly info: _angular_core.OutputEmitterRef<void>;
13406
- readonly print: _angular_core.OutputEmitterRef<void>;
13407
- readonly comments: _angular_core.OutputEmitterRef<void>;
13408
- readonly a11y: _angular_core.OutputEmitterRef<void>;
13409
- readonly link: _angular_core.OutputEmitterRef<void>;
13410
- readonly openSorter: _angular_core.OutputEmitterRef<void>;
13411
- readonly openMasterView: _angular_core.OutputEmitterRef<void>;
13412
- readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
13413
- readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
13414
- readonly exportPng: _angular_core.OutputEmitterRef<void>;
13415
- readonly exportPdf: _angular_core.OutputEmitterRef<void>;
13416
- readonly exportGif: _angular_core.OutputEmitterRef<void>;
13417
- readonly exportVideo: _angular_core.OutputEmitterRef<void>;
13418
- readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
13419
- readonly replace: _angular_core.OutputEmitterRef<void>;
13420
- /** Design/Transitions/Animations tabs want the right-docked Inspector panel opened. */
13421
- readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
13422
- /** Draw tab tool state changed (tool/colour/width); UI-only, no ink back-end yet. */
13423
- readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
13424
- /** Emitted when the user clicks "Browse Themes" in the Design tab. */
13425
- readonly toggleThemeGallery: _angular_core.OutputEmitterRef<void>;
13426
- /** Emitted when the user toggles the grid overlay in the View tab. */
13427
- readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
13428
- /** Emitted when the user toggles rulers in the View tab. */
13429
- readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
13430
- /** Emitted when the user toggles center guide lines in the View tab. */
13431
- readonly toggleGuides: _angular_core.OutputEmitterRef<void>;
13432
- /** Emitted when the user clicks "Selection Pane" in the View tab. */
13433
- readonly toggleSelectionPane: _angular_core.OutputEmitterRef<void>;
13434
- /** Emitted when the user clicks "Custom Shows" in the Slide Show tab. */
13435
- readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
13436
- /** Emitted when the user toggles snap-to-grid in the View tab. */
13437
- readonly toggleSnapToGrid: _angular_core.OutputEmitterRef<void>;
13438
- readonly toggleSnapToShape: _angular_core.OutputEmitterRef<void>;
13439
- readonly addGuide: _angular_core.OutputEmitterRef<"x" | "y">;
13440
- readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
13441
- /** Emitted when the user activates the eyedropper in the View tab. */
13442
- readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
13443
- /** "SmartArt" in the Insert tab; the host opens the gallery dialog and does the insert. */
13444
- readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
13445
- /** Emitted when the user clicks "Equation" in the Insert tab (opens the editor). */
13446
- readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
13447
- /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
13448
- readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
13449
- /** Emitted when the user clicks "Compare" in the Review tab. */
13450
- readonly openCompare: _angular_core.OutputEmitterRef<void>;
13451
- /** Emitted when the user clicks "Password" in the Review tab. */
13452
- readonly openPassword: _angular_core.OutputEmitterRef<void>;
13453
- /** Emitted when the user clicks "Fonts" in the Review tab. */
13454
- readonly openFontEmbedding: _angular_core.OutputEmitterRef<void>;
13455
- /** Emitted when the user clicks "Version History" in the Review tab. */
13456
- readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
13457
- /** Emitted when the user clicks "Shortcuts" in the Help tab. */
13458
- readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
13459
- /** Emitted when the user opens viewer preferences from the Help tab. */
13460
- readonly openSettings: _angular_core.OutputEmitterRef<void>;
13461
- protected readonly activeTab: _angular_core.WritableSignal<RibbonTab>;
13462
- /** Ribbon content expanded (true) vs collapsed to just the tab bar (false). */
13463
- protected readonly ribbonExpanded: _angular_core.WritableSignal<boolean>;
13464
- /** Route both File Options and Review Language to the real Settings dialog. */
13465
- protected requestSettings(): void;
13466
- /** Forward the Review proofing toggle to the viewer-owned live state. */
13467
- protected setSpellCheck(enabled: boolean): void;
13468
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
13469
- 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>;
13470
- }
13471
-
13472
13512
  declare class RibbonAnimationsSectionComponent {
13473
13513
  private readonly editor;
13474
13514
  readonly slideIndex: _angular_core.InputSignal<number>;
@@ -13805,6 +13845,8 @@ declare class RibbonPrimaryRowComponent {
13805
13845
  readonly broadcast: _angular_core.OutputEmitterRef<void>;
13806
13846
  readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
13807
13847
  readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
13848
+ /** Emitted when the user clicks the Settings cog (opens the Settings dialog). */
13849
+ readonly openSettings: _angular_core.OutputEmitterRef<void>;
13808
13850
  readonly exportPng: _angular_core.OutputEmitterRef<void>;
13809
13851
  readonly exportPdf: _angular_core.OutputEmitterRef<void>;
13810
13852
  readonly exportGif: _angular_core.OutputEmitterRef<void>;
@@ -13821,9 +13863,15 @@ declare class RibbonPrimaryRowComponent {
13821
13863
  labelKey: string;
13822
13864
  needsSlides?: boolean;
13823
13865
  }[]>;
13866
+ private readonly presentRoot;
13867
+ private readonly overflowRoot;
13868
+ /** Escape dismisses any open dropdown (Present options / overflow). */
13869
+ protected onDocumentEscape(): void;
13870
+ /** A pointerdown outside a dropdown's trigger + panel dismisses it. */
13871
+ protected onDocumentPointerDown(event: PointerEvent): void;
13824
13872
  protected onOverflow(key: string): void;
13825
13873
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonPrimaryRowComponent, never>;
13826
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonPrimaryRowComponent, "pptx-ribbon-primary-row", never, { "slideCount": { "alias": "slideCount"; "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; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleSidebar": "toggleSidebar"; "toggleComments": "toggleComments"; "present": "present"; "presenter": "presenter"; "broadcast": "broadcast"; "openCustomShows": "openCustomShows"; "toggleInspector": "toggleInspector"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "print": "print"; "info": "info"; "a11y": "a11y"; "save": "save"; }, never, never, true, never>;
13874
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonPrimaryRowComponent, "pptx-ribbon-primary-row", never, { "slideCount": { "alias": "slideCount"; "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; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleSidebar": "toggleSidebar"; "toggleComments": "toggleComments"; "present": "present"; "presenter": "presenter"; "broadcast": "broadcast"; "openCustomShows": "openCustomShows"; "toggleInspector": "toggleInspector"; "openSettings": "openSettings"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "print": "print"; "info": "info"; "a11y": "a11y"; "save": "save"; }, never, never, true, never>;
13827
13875
  }
13828
13876
 
13829
13877
  declare class RibbonReviewSectionComponent {
@@ -14776,5 +14824,5 @@ declare const SEQUENCE_OPTIONS: ReadonlyArray<{
14776
14824
  labelKey: string;
14777
14825
  }>;
14778
14826
 
14779
- 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 };
14780
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 };