pptx-angular-viewer 1.29.0 → 1.30.1

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';
@@ -4707,6 +4707,20 @@ declare class CollaborationService {
4707
4707
  * never overwrites the shared document before receiving it.
4708
4708
  */
4709
4709
  seedBaseline(slides: readonly PptxSlide[]): void;
4710
+ /**
4711
+ * Re-adopt the shared document's slides after a local content load has been
4712
+ * committed to viewer state. The load pipeline applies its parsed deck
4713
+ * unconditionally, so a load that finishes AFTER the room's slides were
4714
+ * already applied (a late joiner's bootstrap deck parsing slower than the
4715
+ * doc sync) silently clobbers the synced state and, with the doc itself
4716
+ * unchanged, the remote observer never re-fires. When the room already has
4717
+ * slides they win: the doc content is re-applied through `onRemoteSlides`
4718
+ * and recorded as the sync baseline (bypassing the usual JSON dedupe) so
4719
+ * the follow-up local broadcast of the adopted deck is a no-op. An empty
4720
+ * room means this client is the seeder and the loaded deck stands, written
4721
+ * by the normal gated broadcast path. Returns true when the doc was adopted.
4722
+ */
4723
+ adoptDocSlidesAfterLoad(): boolean;
4710
4724
  broadcastSlides(slides: readonly PptxSlide[]): void;
4711
4725
  setCursor(x: number, y: number, activeSlideIndex?: number): void;
4712
4726
  setSelection(selectedElementId: string | undefined, activeSlideIndex?: number): void;
@@ -6880,193 +6894,731 @@ declare class PowerPointViewerComponent {
6880
6894
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "fontsInput": { "alias": "fonts"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "defaultThemeKey": { "alias": "defaultThemeKey"; "required": false; "isSignal": true; }; "availableThemes": { "alias": "availableThemes"; "required": false; "isSignal": true; }; "onThemeChange": { "alias": "onThemeChange"; "required": false; "isSignal": true; }; "defaultLocale": { "alias": "defaultLocale"; "required": false; "isSignal": true; }; "availableLocales": { "alias": "availableLocales"; "required": false; "isSignal": true; }; "onLocaleChange": { "alias": "onLocaleChange"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "shareDefaults": { "alias": "shareDefaults"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "modeChange": "modeChange"; "zoomChange": "zoomChange"; "selectionChange": "selectionChange"; "slideCountChange": "slideCountChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
6881
6895
  }
6882
6896
 
6883
- /** The eight resize-handle positions around a selection box. */
6884
- type ResizeHandle = ResizeHandleId;
6885
- /** An axis-aligned box in stage (slide) coordinates. */
6886
- interface Box {
6887
- x: number;
6888
- y: number;
6889
- width: number;
6890
- height: number;
6897
+ /** A selected chart sub-part, scoped to the chart element that owns it. */
6898
+ interface ChartPartSelection {
6899
+ elementId: string;
6900
+ part: ChartPartRef;
6891
6901
  }
6892
- /** All handles, in render order (corners + edge midpoints). */
6893
- declare const RESIZE_HANDLES: readonly ResizeHandle[];
6894
- /** Translate a box by a stage-space delta. */
6895
- declare function applyMove(start: Box, dx: number, dy: number): Box;
6896
- /**
6897
- * Resize `start` by dragging `handle` with a stage-space delta, clamping to
6898
- * `min`. When clamping at the min size, the edge opposite the dragged handle
6899
- * stays fixed.
6900
- */
6901
- declare function applyResize(start: Box, handle: ResizeHandle, dx: number, dy: number, min?: number): Box;
6902
-
6903
- /** The draw tools `SlideCanvasComponent` forwards from the ribbon Draw tab. */
6904
- type DrawTool$1 = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
6905
- /** Live host accessors + emitters the ink-drawing controller needs. */
6906
- interface InkDrawingHost {
6907
- readonly stageElement: () => HTMLElement | undefined;
6908
- readonly effectiveScale: () => number;
6909
- readonly elements: () => readonly PptxElement[];
6910
- readonly drawTool: () => DrawTool$1;
6911
- readonly drawColor: () => string;
6912
- readonly drawWidth: () => number;
6913
- readonly emitInkStrokeComplete: (ink: InkPptxElement) => void;
6914
- readonly emitEraserHit: (id: string) => void;
6902
+ declare class ChartPartSelectionService {
6903
+ /** The current on-canvas chart part selection, or null. */
6904
+ readonly selection: _angular_core.WritableSignal<ChartPartSelection | null>;
6905
+ /** Select a chart part (replaces any previous selection). */
6906
+ select(selection: ChartPartSelection): void;
6907
+ /** Clear the selection entirely. */
6908
+ clear(): void;
6909
+ /** Clear the selection when it belongs to the given chart element. */
6910
+ clearForElement(elementId: string): void;
6911
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartPartSelectionService, never>;
6912
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartPartSelectionService>;
6915
6913
  }
6916
- declare class InkDrawingService {
6917
- /** Whether a freehand stroke is in progress. Signal for template reactivity. */
6918
- readonly active: _angular_core.WritableSignal<boolean>;
6919
- /** SVG path `d` for the live stroke preview (updated on every pointer move). */
6920
- readonly liveInkPath: _angular_core.WritableSignal<string>;
6921
- /** Accumulated points for the stroke currently being drawn. */
6922
- private points;
6923
- private host;
6924
- /** Wire the host accessors/emitters (called once from the component constructor). */
6925
- bind(host: InkDrawingHost): void;
6926
- private requireHost;
6927
- /** True when a draw tool (anything but 'select') should own the current gesture. */
6928
- isDrawToolActive(): boolean;
6914
+
6915
+ declare class EmbeddedFontsService {
6916
+ /** The generated `@font-face` stylesheet text (also injected into `<head>`). */
6917
+ readonly fontFaceCss: _angular_core.WritableSignal<string>;
6929
6918
  /**
6930
- * Handle a stage pointerdown while a draw tool is active: eraser hit-tests
6931
- * against ink elements (topmost wins); pen/highlighter/freeform begin a new
6932
- * stroke.
6919
+ * Distinct CSS `font-family` strings for the embedded families, each with
6920
+ * substitution fallbacks resolved (e.g. `'"Calibri", "Carlito", …'`).
6933
6921
  */
6934
- handleStagePointerDown(event: PointerEvent): void;
6935
- /** Append a point to the in-progress stroke. Returns false when no stroke is active (caller should fall through). */
6936
- handlePointerMove(event: PointerEvent): boolean;
6937
- /** Finalise the in-progress stroke and emit it. Returns false when no stroke was active (caller should fall through). */
6938
- handlePointerUp(): boolean;
6939
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkDrawingService, never>;
6940
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<InkDrawingService>;
6941
- }
6942
-
6943
- /** A user-created guide line dragged from a ruler strip. */
6944
- interface RulerGuide {
6945
- id: string;
6946
- axis: 'x' | 'y';
6947
- pos: number;
6948
- }
6949
- /** Live host accessors the guide controller needs. */
6950
- interface RulerGuidesHost {
6951
- readonly editable: () => boolean;
6952
- readonly stageElement: () => HTMLElement | undefined;
6953
- readonly effectiveScale: () => number;
6954
- readonly canvasSize: () => CanvasSize;
6955
- }
6956
- declare class RulerGuidesService {
6922
+ readonly fontFamilies: _angular_core.WritableSignal<string[]>;
6923
+ private styleEl;
6924
+ private embeddedCss;
6925
+ private userCss;
6926
+ /** Object URLs minted on the most recent `setFonts`; revoked when superseded. */
6927
+ private liveObjectUrls;
6928
+ /** Mints a Blob object URL for de-obfuscated font bytes (impure side effect). */
6929
+ private readonly mintObjectUrl;
6930
+ constructor();
6957
6931
  /**
6958
- * User-created guide lines (dragged from rulers or added from toolbar).
6959
- * axis:'x' -> vertical line at x=pos; axis:'y' -> horizontal line at y=pos.
6932
+ * Resolve the supplied embedded fonts into `@font-face` rules, inject them
6933
+ * into the managed `<style>` element, and update the exposed signals.
6934
+ *
6935
+ * Object URLs minted on the *previous* call are revoked here so they don't
6936
+ * leak across re-parses. Pass an empty list (or `null`) to clear everything.
6960
6937
  */
6961
- readonly rulerGuides: _angular_core.WritableSignal<readonly RulerGuide[]>;
6962
- /** Active guide-drag state (id + axis only), or null when nothing is being dragged. */
6963
- private guideDrag;
6964
- private host;
6965
- /** Wire the host accessors (called once from the component constructor). */
6966
- bind(host: RulerGuidesHost): void;
6967
- private requireHost;
6968
- /** True while an existing or just-created guide is being dragged. */
6969
- isDragging(): boolean;
6970
- /** Add a centered guide from the View ribbon without starting a drag gesture. */
6971
- addGuide(axis: RulerGuide['axis']): void;
6972
- /** Begin dragging an existing guide. Called from the guide handle pointerdown. */
6973
- onGuidePointerDown(event: PointerEvent, id: string, axis: RulerGuide['axis']): void;
6974
- /** Remove a guide (called on guide handle double-click). */
6975
- onGuideDoubleClick(event: MouseEvent, id: string): void;
6976
- /** Drag from the horizontal ruler to create a new horizontal guide (axis:'y'). */
6977
- onHRulerPointerDown(event: PointerEvent): void;
6978
- /** Drag from the vertical ruler to create a new vertical guide (axis:'x'). */
6979
- onVRulerPointerDown(event: PointerEvent): void;
6980
- /** Update the dragged guide's position. Returns false when no guide drag is in progress (caller should fall through). */
6981
- handlePointerMove(event: PointerEvent): boolean;
6982
- /** End the guide drag. Returns false when no guide drag was in progress (caller should fall through). */
6983
- handlePointerUp(): boolean;
6984
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RulerGuidesService, never>;
6985
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<RulerGuidesService>;
6986
- }
6987
-
6988
- /**
6989
- * ruler-ticks.ts: Pure tick-mark generation for the slide canvas's horizontal
6990
- * and vertical ruler strips. No Angular/DOM dependency so it is trivially
6991
- * unit-testable in isolation from `SlideCanvasComponent`.
6992
- */
6993
- /** Height/width (px) of the ruler strips: mirrors React's RULER_THICKNESS. */
6994
- declare const RULER_THICKNESS = 20;
6995
- /** Pixels per inch on the slide canvas (PPTX slides are 10" wide = 960 px). */
6996
- declare const SLIDE_PX_PER_INCH = 96;
6997
- /** A single tick mark on a ruler strip. */
6998
- interface RulerTick {
6999
- /** Position in screen pixels along the ruler. */
7000
- position: number;
7001
- /** Whether this is a major (inch) tick. */
7002
- isMajor: boolean;
7003
- /** Label to display (only on major ticks, every N inches). */
7004
- label: string | null;
7005
- }
7006
- /**
7007
- * Generate ruler tick marks for a given slide dimension and scale.
7008
- * Produces ticks every 1/4 inch (minor) and every inch (major).
7009
- */
7010
- declare function generateRulerTicks(slidePx: number, scale: number): ReadonlyArray<RulerTick>;
7011
-
7012
- /**
7013
- * Slide-scoped DI context: lets leaf renderers (chart, SmartArt) resolve which
7014
- * slide their canvas is displaying without threading an input through every
7015
- * layer. `SlideCanvasComponent` provides itself under this token.
7016
- *
7017
- * Needed for template (master/layout) elements: they are partitioned OUT of
7018
- * `slides[].elements` into the per-slide template store, so an element-id
7019
- * search over the deck cannot find them; the owning slide is simply the slide
7020
- * the hosting canvas is rendering.
7021
- */
7022
-
7023
- interface SlideContext {
7024
- /** Id of the slide this canvas renders, or null when none is loaded. */
7025
- slideId(): string | null;
6938
+ setFonts(fonts: readonly PptxEmbeddedFont[] | null | undefined): void;
6939
+ /** Replace the licensed font sources supplied by the host application. */
6940
+ setHostFonts(fonts: readonly ViewerFontSource[] | null | undefined): void;
6941
+ /**
6942
+ * Remove the injected `<style>` element, revoke all live object URLs, and
6943
+ * reset the signals. Called automatically on destroy; safe to call manually.
6944
+ */
6945
+ dispose(): void;
6946
+ /** Create / update / remove the managed `<style>` element to match `css`. */
6947
+ private syncStyleElement;
6948
+ private removeStyleElement;
6949
+ private revokeObjectUrls;
6950
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmbeddedFontsService, never>;
6951
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<EmbeddedFontsService>;
7026
6952
  }
7027
6953
 
7028
- /**
7029
- * SlideCanvasComponent: Angular port of the React `SlideCanvas.tsx` and Vue
7030
- * `SlideCanvas.vue`.
7031
- *
7032
- * Renders the active slide as a fixed-size stage scaled by `zoom`, with each
7033
- * element absolutely positioned. When `editable`, supports click-to-select
7034
- * (event delegation), selection outlines, and pointer drag-to-move / resize
7035
- * handles, plus the rulers, grid, guides, marquee, and collaboration
7036
- * overlays.
7037
- */
7038
- declare class SlideCanvasComponent implements SlideContext {
7039
- readonly slide: _angular_core.InputSignal<PptxSlide | undefined>;
7040
- readonly canvasSize: _angular_core.InputSignal<CanvasSize>;
7041
- /** {@link SlideContext}: the id of the slide this canvas renders. */
7042
- slideId(): string | null;
7043
- readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
7044
- readonly zoom: _angular_core.InputSignal<number>;
7045
- /** When true, elements are selectable and drag/resize handles are shown. */
7046
- readonly editable: _angular_core.InputSignal<boolean>;
6954
+ declare class ExportService {
6955
+ private static readonly PRESENTATION_MIME;
6956
+ /** Build a resolution-independent SVG string directly from slide data. */
6957
+ exportSlideToSvg(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): string;
6958
+ /** Build an SVG Blob directly from slide data. */
6959
+ exportSlideToSvgBlob(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): Blob;
6960
+ /** Build SVG strings for all selected slides in a parsed presentation. */
6961
+ exportAllSlidesToSvg(data: PptxData, options?: SvgExportOptions): string[];
7047
6962
  /**
7048
- * When true, render a dot-grid overlay on the slide stage.
7049
- * Only active on the interactive (main editor) canvas; ignored on thumbnails.
7050
- * Defaults false so nothing changes unless toggled from the ribbon View tab.
6963
+ * Trigger a browser download of serialized `.pptx` bytes.
6964
+ *
6965
+ * @param bytes - The serialized presentation (from the viewer's `getContent`).
6966
+ * @param fileName - Suggested download file name (unsafe chars are stripped).
7051
6967
  */
7052
- readonly showGrid: _angular_core.InputSignal<boolean>;
6968
+ savePptx(bytes: Uint8Array, fileName: string): void;
6969
+ /** Download serialized presentation bytes using the matching package MIME type. */
6970
+ savePresentation(bytes: Uint8Array, fileName: string, format: PptxSaveFormat): void;
7053
6971
  /**
7054
- * When true, render horizontal and vertical ruler strips along the top/left
7055
- * of the slide viewport. Only active on the interactive canvas.
6972
+ * Rasterize a single DOM element to PNG and trigger a browser download.
6973
+ *
6974
+ * @param el - The element to capture (e.g. the `.pptx-ng-canvas-stage`).
6975
+ * @param fileName - Suggested download file name (unsafe chars are stripped).
6976
+ * @param scale - Device-pixel ratio multiplier (default 2 for sharp output).
7056
6977
  */
7057
- readonly showRulers: _angular_core.InputSignal<boolean>;
6978
+ exportElementToPng(el: HTMLElement, fileName: string, scale?: number): Promise<void>;
6979
+ /** Rasterize an element and copy it to the system clipboard as a PNG image. */
6980
+ copyElementAsPng(el: HTMLElement, scale?: number): Promise<void>;
7058
6981
  /**
7059
- * When true, render a static center-crosshair guide overlay on the slide stage.
7060
- * Only active on the interactive canvas.
6982
+ * Rasterize a single element to a canvas (passthrough to html2canvas-pro).
6983
+ * Capture each slide's canvas *while that slide is the live DOM*: the
6984
+ * viewer reuses one stage node, so a deferred capture would yield the same
6985
+ * (last) slide for every page.
7061
6986
  */
7062
- readonly showGuides: _angular_core.InputSignal<boolean>;
6987
+ renderElement(el: HTMLElement, scale?: number): Promise<HTMLCanvasElement>;
7063
6988
  /**
7064
- * When true, snap element positions to the grid increment during move.
7065
- * Combines with edge-alignment snapping.
6989
+ * Assemble a multi-page PDF from pre-rendered slide canvases (one page per
6990
+ * canvas, sized to the slide aspect ratio in pt) and trigger a download.
6991
+ *
6992
+ * @param canvases - One canvas per slide, in order, each captured while
6993
+ * its slide was the live stage.
6994
+ * @param canvasWidth - Slide canvas width in pixels (for aspect ratio).
6995
+ * @param canvasHeight - Slide canvas height in pixels (for aspect ratio).
6996
+ * @param fileName - Suggested download file name (unsafe chars stripped).
7066
6997
  */
7067
- readonly snapToGrid: _angular_core.InputSignal<boolean>;
7068
- /** Whether moving elements snap to other element edges and centres. */
7069
- readonly snapToShape: _angular_core.InputSignal<boolean>;
6998
+ exportCanvasesToPdf(canvases: HTMLCanvasElement[], canvasWidth: number, canvasHeight: number, fileName: string): void;
6999
+ /**
7000
+ * Assemble an animated GIF from pre-rendered slide canvases (one frame per
7001
+ * slide) and trigger a download. Frame delay is derived from
7002
+ * `slideDurationMs` via the pure {@link planGifFrames} planner.
7003
+ *
7004
+ * @param canvases - One canvas per slide, in order.
7005
+ * @param slideDurationMs - Display time per slide in milliseconds.
7006
+ * @param fileName - Suggested download file name.
7007
+ */
7008
+ exportCanvasesToGif(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string): void;
7009
+ /**
7010
+ * Record a WebM video from pre-rendered slide canvases (each held for
7011
+ * `slideDurationMs`) via the browser `MediaRecorder` and trigger a download.
7012
+ *
7013
+ * @param canvases - One canvas per slide, in order.
7014
+ * @param slideDurationMs - Display time per slide in milliseconds.
7015
+ * @param fileName - Suggested download file name.
7016
+ * @param signal - Optional abort signal to cancel recording.
7017
+ * @param onProgress - Optional per-slide recording progress callback
7018
+ * `(currentSlide, totalSlides)`.
7019
+ */
7020
+ exportCanvasesToWebm(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string, signal?: AbortSignal, onProgress?: (current: number, total: number) => void): Promise<void>;
7021
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportService, never>;
7022
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
7023
+ }
7024
+
7025
+ /**
7026
+ * `FieldContextService`: viewer-scoped source of the OOXML field-substitution
7027
+ * context (slide number, date/time, header/footer, slide title, custom doc
7028
+ * properties) used by the element text renderers.
7029
+ *
7030
+ * Mirrors the React `fieldContext` built in `ViewerCanvasArea` and the Vue
7031
+ * `FieldContextKey` provide/inject. The deck-level parts (header/footer text +
7032
+ * format, custom properties) come from {@link LoadContentService}; the
7033
+ * per-slide parts (slide number + title) are folded in by the slide canvas,
7034
+ * which knows which slide it renders, via {@link forSlide}.
7035
+ *
7036
+ * Provided alongside `LoadContentService` in the viewer subtree, so renderers
7037
+ * used outside the viewer (thumbnails, export) that inject it `optional` simply
7038
+ * fall back to no substitution.
7039
+ */
7040
+ declare class FieldContextService {
7041
+ private readonly load;
7042
+ /** Deck-level field context (header/footer + custom properties); slide parts unset. */
7043
+ readonly deckContext: _angular_core.Signal<FieldSubstitutionContext>;
7044
+ /**
7045
+ * Build the full field context for a specific slide, folding the slide's
7046
+ * number and title (from the first title / centre-title placeholder) into the
7047
+ * deck-level context.
7048
+ */
7049
+ forSlide(slide: PptxSlide | undefined): FieldSubstitutionContext;
7050
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldContextService, never>;
7051
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<FieldContextService>;
7052
+ }
7053
+
7054
+ /**
7055
+ * Opt-in flag for the Three.js SmartArt renderer (Angular).
7056
+ *
7057
+ * Provided by `PowerPointViewerComponent`, which syncs it from the `smartArt3D`
7058
+ * input; the element dispatcher injects it (optionally) to choose the WebGL
7059
+ * renderer over the SVG one. Mirrors the React `SmartArt3DContext` and the Vue
7060
+ * `SmartArt3DKey` provide/inject. Scoped to the viewer subtree, so renderers
7061
+ * used outside the viewer (thumbnails, export) fall back to `false`.
7062
+ */
7063
+ declare class SmartArt3DService {
7064
+ /** `true` when SmartArt should render via the Three.js scene. */
7065
+ readonly enabled: _angular_core.WritableSignal<boolean>;
7066
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DService, never>;
7067
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<SmartArt3DService>;
7068
+ }
7069
+
7070
+ /** A selected table cell (and optional Shift+Click range) on one table element. */
7071
+ interface TableCellSelection {
7072
+ /** Id of the table element the selection belongs to. */
7073
+ elementId: string;
7074
+ /** Anchor cell row (0-based). */
7075
+ rowIndex: number;
7076
+ /** Anchor cell column (0-based). */
7077
+ columnIndex: number;
7078
+ /** When true, the anchor cell has an active inline text input. */
7079
+ isEditing?: boolean;
7080
+ /** Optional multi-cell rectangular selection (Shift+Click range). */
7081
+ selectedCells?: CellCoord[];
7082
+ }
7083
+ declare class TableSelectionService {
7084
+ /** The current table-cell selection, or null when nothing is selected. */
7085
+ readonly selection: _angular_core.WritableSignal<TableCellSelection | null>;
7086
+ /** The element id of the current selection (or undefined). */
7087
+ readonly elementId: _angular_core.Signal<string | undefined>;
7088
+ /**
7089
+ * Select a single cell (clears any range). Passing the element id keeps the
7090
+ * selection scoped so a stale selection from a different table is ignored.
7091
+ */
7092
+ selectCell(elementId: string, rowIndex: number, columnIndex: number): void;
7093
+ /**
7094
+ * Extend the selection from the current anchor to `(rowIndex, columnIndex)`
7095
+ * as a rectangular range (Shift+Click). Expands to cover any merge groups it
7096
+ * overlaps. When there is no existing anchor on this element it falls back to
7097
+ * a single-cell selection.
7098
+ */
7099
+ extendTo(elementId: string, rowIndex: number, columnIndex: number, tableData: PptxTableData): void;
7100
+ /** Mark the anchor cell as actively editing (inline text input open). */
7101
+ beginEditing(elementId: string, rowIndex: number, columnIndex: number): void;
7102
+ /** Clear the editing flag while keeping the cell selected. */
7103
+ endEditing(): void;
7104
+ /** Clear the selection entirely. */
7105
+ clear(): void;
7106
+ /** Clear the selection when it belongs to `elementId` (e.g. element deleted). */
7107
+ clearFor(elementId: string): void;
7108
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableSelectionService, never>;
7109
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TableSelectionService>;
7110
+ }
7111
+
7112
+ declare class ViewerCompareService {
7113
+ private readonly svc;
7114
+ private readonly editor;
7115
+ private readonly translate;
7116
+ /**
7117
+ * Open a `.pptx` picker and diff it against the current deck, opening the
7118
+ * compare panel with the result. Invoked from the ribbon.
7119
+ */
7120
+ startCompare(): void;
7121
+ /** Parse the chosen file and compute the slide-level diff. */
7122
+ private runCompare;
7123
+ /** Accept a single slide diff, adopting the incoming slide. */
7124
+ acceptSlide(diffIndex: number): void;
7125
+ /** Reject a diff: keep the current slide (no deck change). */
7126
+ rejectSlide(_diffIndex: number): void;
7127
+ /** Accept every non-trivial diff at once. */
7128
+ acceptAll(): void;
7129
+ private diffAt;
7130
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerCompareService, never>;
7131
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerCompareService>;
7132
+ }
7133
+
7134
+ /** Live host accessors the shortcut handler consults. */
7135
+ interface KeyboardHost {
7136
+ readonly canEdit: () => boolean;
7137
+ readonly presenting: () => boolean;
7138
+ readonly activeSlideIndex: () => number;
7139
+ }
7140
+ declare class ViewerKeyboardService {
7141
+ private readonly editor;
7142
+ private readonly dialogs;
7143
+ private readonly formatPainter;
7144
+ private host;
7145
+ /** Wire the host accessors (called once from the component constructor). */
7146
+ bind(host: KeyboardHost): void;
7147
+ handleKeyDown(event: KeyboardEvent): void;
7148
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerKeyboardService, never>;
7149
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerKeyboardService>;
7150
+ }
7151
+
7152
+ /** Live host accessors the gesture recogniser consults. */
7153
+ interface TouchGesturesHost {
7154
+ readonly canEdit: () => boolean;
7155
+ readonly presenting: () => boolean;
7156
+ readonly selectedElement: () => PptxElement | null;
7157
+ readonly goPrev: () => void;
7158
+ readonly goNext: () => void;
7159
+ readonly setContextMenuPos: (pos: {
7160
+ x: number;
7161
+ y: number;
7162
+ }) => void;
7163
+ }
7164
+ declare class ViewerTouchGesturesService {
7165
+ private readonly zoomSvc;
7166
+ private readonly destroyRef;
7167
+ /**
7168
+ * Attach the recogniser to `mainEl()`'s element once it is in the DOM
7169
+ * (called once from the host component's constructor).
7170
+ */
7171
+ setup(mainEl: () => HTMLElement | undefined, host: TouchGesturesHost): void;
7172
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerTouchGesturesService, never>;
7173
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerTouchGesturesService>;
7174
+ }
7175
+
7176
+ /**
7177
+ * Minimal descriptor of a zoom's target slide, threaded to the renderer so the
7178
+ * fallback thumbnail (shown when a zoom has no embedded preview image) can use
7179
+ * the real target slide's background, number, and friendly section name instead
7180
+ * of grey/index/section-GUID placeholders. Mirrors the React
7181
+ * `ZoomSlideThumbnail` reference, which reads exactly these three fields.
7182
+ */
7183
+ interface ZoomTargetInfo {
7184
+ /** The target slide's background colour, used as the tile background. */
7185
+ readonly backgroundColor?: string;
7186
+ /** The target slide's own 1-based number (not the array index + 1). */
7187
+ readonly slideNumber?: number;
7188
+ /** The target slide's friendly section name (not the section GUID). */
7189
+ readonly sectionName?: string;
7190
+ }
7191
+ /**
7192
+ * ZoomTargetService: viewer-scoped lookup from a zoom element's target slide
7193
+ * index to a {@link ZoomTargetInfo} descriptor.
7194
+ *
7195
+ * Provided by `PowerPointViewerComponent` from its loaded slides, then injected
7196
+ * `{ optional: true }` by `ZoomRendererComponent`. Trees that do not provide it
7197
+ * (e.g. isolated component tests) resolve `null`, so the renderer falls back to
7198
+ * the old grey/index/GUID thumbnail. This mirrors the optional-DI pattern of
7199
+ * {@link ZoomNavigationService}.
7200
+ *
7201
+ * Intentionally NOT `providedIn: 'root'`: it is supplied per viewer so the
7202
+ * lookup always reflects that viewer's deck.
7203
+ */
7204
+ declare class ZoomTargetService {
7205
+ /** The deck the lookup resolves against; seeded by the viewer. */
7206
+ private readonly slides;
7207
+ /** Replace the deck used to resolve zoom targets. */
7208
+ setSlides(slides: readonly PptxSlide[]): void;
7209
+ /**
7210
+ * Resolve the descriptor for a zoom's target slide, or `undefined` when the
7211
+ * index is out of range (so the renderer keeps its index-based fallback).
7212
+ */
7213
+ lookup(targetSlideIndex: number): ZoomTargetInfo | undefined;
7214
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomTargetService, never>;
7215
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ZoomTargetService>;
7216
+ }
7217
+
7218
+ /**
7219
+ * power-point-viewer.providers.ts: the `@Injectable` orchestration services
7220
+ * `PowerPointViewerComponent` provides at the component level, extracted into
7221
+ * a standalone constant so consumers composing their own custom viewer host
7222
+ * (e.g. `<pptx-ribbon>` + `<pptx-slide-canvas>` without
7223
+ * `PowerPointViewerComponent`) can get the same shared DI state without
7224
+ * hand-listing every service:
7225
+ *
7226
+ * ```ts
7227
+ * @Component({
7228
+ * selector: 'my-custom-viewer',
7229
+ * providers: [...POWER_POINT_VIEWER_PROVIDERS],
7230
+ * template: `<pptx-ribbon ...bindings /><pptx-slide-canvas ...bindings />`,
7231
+ * })
7232
+ * export class MyCustomViewerComponent { ... }
7233
+ * ```
7234
+ *
7235
+ * Each of these services is `providedIn: 'root'`-free and designed to be
7236
+ * scoped to a single viewer instance (see {@link EditorStateService}'s doc
7237
+ * comment for the pattern this generalizes). Keep this list in sync with
7238
+ * `PowerPointViewerComponent`'s own `providers: [...]` array, which now
7239
+ * spreads this constant instead of repeating it.
7240
+ */
7241
+
7242
+ /**
7243
+ * The full set of DI services `PowerPointViewerComponent` provides at the
7244
+ * component level. Spread this into a custom host's own `providers: [...]`
7245
+ * array to get the same shared editor/export/collaboration/etc. state that
7246
+ * `PowerPointViewerComponent`'s children (ribbon, slide canvas, inspector,
7247
+ * dialogs, ...) rely on via `inject()`.
7248
+ */
7249
+ 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];
7250
+
7251
+ /** Drawing tool IDs (mirrors React DRAW_TOOLS). */
7252
+ type DrawTool$1 = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
7253
+ /** The full draw-tool state broadcast on every Draw-tab interaction. */
7254
+ interface DrawToolState {
7255
+ tool: DrawTool$1;
7256
+ color: string;
7257
+ width: number;
7258
+ }
7259
+ interface DrawToolDef {
7260
+ id: DrawTool$1;
7261
+ labelKey: string;
7262
+ }
7263
+ declare class RibbonDrawSectionComponent {
7264
+ readonly activeTool: _angular_core.InputSignal<DrawTool$1>;
7265
+ readonly drawingColor: _angular_core.InputSignal<string>;
7266
+ readonly drawingWidth: _angular_core.InputSignal<number>;
7267
+ readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
7268
+ protected readonly drawTools: readonly DrawToolDef[];
7269
+ protected selectTool(tool: DrawTool$1): void;
7270
+ protected onColorInput(event: Event): void;
7271
+ protected onWidthInput(event: Event): void;
7272
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonDrawSectionComponent, never>;
7273
+ 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>;
7274
+ }
7275
+
7276
+ /**
7277
+ * ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
7278
+ * {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
7279
+ * its own file (rather than declared in one of those components) so none of
7280
+ * them has to import a type from a sibling that also imports it, mirroring
7281
+ * the Svelte binding's `ribbon/ribbon-types.ts`.
7282
+ */
7283
+
7284
+ /**
7285
+ * Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
7286
+ * {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
7287
+ * their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
7288
+ * as `@switch` cases.
7289
+ */
7290
+ type RibbonTab = ToolbarTabId | 'text' | 'arrange';
7291
+
7292
+ declare class RibbonComponent {
7293
+ readonly slideIndex: _angular_core.InputSignal<number>;
7294
+ readonly slideCount: _angular_core.InputSignal<number>;
7295
+ /** Whether the deck is editable (gates the template-editing toggle). */
7296
+ readonly canEdit: _angular_core.InputSignal<boolean>;
7297
+ readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
7298
+ readonly zoomPercent: _angular_core.InputSignal<number>;
7299
+ readonly formatPainterActive: _angular_core.InputSignal<boolean>;
7300
+ readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
7301
+ readonly exporting: _angular_core.InputSignal<boolean>;
7302
+ readonly hasMacros: _angular_core.InputSignal<boolean>;
7303
+ /** Current visibility state of the grid overlay (for active-state styling). */
7304
+ readonly showGrid: _angular_core.InputSignal<boolean>;
7305
+ /** Current visibility state of rulers (for active-state styling). */
7306
+ readonly showRulers: _angular_core.InputSignal<boolean>;
7307
+ /** Current visibility state of center guide lines (for active-state styling). */
7308
+ readonly showGuides: _angular_core.InputSignal<boolean>;
7309
+ /** Current state of snap-to-grid (for active-state styling). */
7310
+ readonly snapToGrid: _angular_core.InputSignal<boolean>;
7311
+ readonly snapToShape: _angular_core.InputSignal<boolean>;
7312
+ /** Current state of eyedropper tool (for active-state styling). */
7313
+ readonly eyedropperActive: _angular_core.InputSignal<boolean>;
7314
+ /** Current visibility state of the theme gallery overlay (for active-state styling). */
7315
+ readonly themeGalleryOpen: _angular_core.InputSignal<boolean>;
7316
+ /** Whether the slides panel is collapsed (drives the top-bar toggle state). */
7317
+ readonly sidebarCollapsed: _angular_core.InputSignal<boolean>;
7318
+ /** Whether the right-docked inspector is open (top-bar toggle state). */
7319
+ readonly inspectorOpen: _angular_core.InputSignal<boolean>;
7320
+ /** Whether the comments panel is open (top-bar comments toggle state). */
7321
+ readonly commentsOpen: _angular_core.InputSignal<boolean>;
7322
+ /** Comment count on the active slide (top-bar comments badge). */
7323
+ readonly commentCount: _angular_core.InputSignal<number>;
7324
+ /** Whether the find/replace bar is open (top-bar find toggle state). */
7325
+ readonly findOpen: _angular_core.InputSignal<boolean>;
7326
+ /** Whether a collaboration session is connected (Share button styling). */
7327
+ readonly collabConnected: _angular_core.InputSignal<boolean>;
7328
+ /** Connected collaborator count (Share button label). */
7329
+ readonly connectedCount: _angular_core.InputSignal<number>;
7330
+ /** Current live proofing state shown by the Review ribbon command. */
7331
+ readonly spellCheckEnabled: _angular_core.InputSignal<boolean>;
7332
+ readonly showSubtitles: _angular_core.InputSignal<boolean>;
7333
+ /** Toolbar buttons/tabs the host wants hidden. Default `[]` hides nothing. */
7334
+ readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
7335
+ /** Optional sign-in hook point for File > Account. Absent/disabled by default. */
7336
+ readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
7337
+ readonly prev: _angular_core.OutputEmitterRef<void>;
7338
+ readonly next: _angular_core.OutputEmitterRef<void>;
7339
+ readonly zoomIn: _angular_core.OutputEmitterRef<void>;
7340
+ readonly zoomOut: _angular_core.OutputEmitterRef<void>;
7341
+ readonly zoomReset: _angular_core.OutputEmitterRef<void>;
7342
+ readonly find: _angular_core.OutputEmitterRef<void>;
7343
+ readonly present: _angular_core.OutputEmitterRef<void>;
7344
+ readonly presenter: _angular_core.OutputEmitterRef<void>;
7345
+ /** Emitted by the tab-row Record button (starts a slide-show run-through). */
7346
+ readonly record: _angular_core.OutputEmitterRef<void>;
7347
+ readonly presentFromBeginning: _angular_core.OutputEmitterRef<void>;
7348
+ readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
7349
+ readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
7350
+ readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
7351
+ readonly recordFromBeginning: _angular_core.OutputEmitterRef<void>;
7352
+ readonly recordFromCurrent: _angular_core.OutputEmitterRef<void>;
7353
+ readonly spellCheckChange: _angular_core.OutputEmitterRef<boolean>;
7354
+ readonly share: _angular_core.OutputEmitterRef<void>;
7355
+ readonly broadcast: _angular_core.OutputEmitterRef<void>;
7356
+ readonly openFile: _angular_core.OutputEmitterRef<void>;
7357
+ readonly openRecentFile: _angular_core.OutputEmitterRef<string>;
7358
+ readonly createPresentation: _angular_core.OutputEmitterRef<string>;
7359
+ /** Emitted when the user clicks "Save" in the File tab (saves as .pptx). */
7360
+ readonly save: _angular_core.OutputEmitterRef<void>;
7361
+ readonly savePpsx: _angular_core.OutputEmitterRef<void>;
7362
+ readonly savePptm: _angular_core.OutputEmitterRef<void>;
7363
+ readonly packageForSharing: _angular_core.OutputEmitterRef<void>;
7364
+ /** Emitted when the user toggles the slides panel from the top bar. */
7365
+ readonly toggleSidebar: _angular_core.OutputEmitterRef<void>;
7366
+ /** Emitted when the user opens the Digital Signatures panel from the File tab. */
7367
+ readonly signatures: _angular_core.OutputEmitterRef<void>;
7368
+ readonly info: _angular_core.OutputEmitterRef<void>;
7369
+ readonly print: _angular_core.OutputEmitterRef<void>;
7370
+ readonly comments: _angular_core.OutputEmitterRef<void>;
7371
+ readonly a11y: _angular_core.OutputEmitterRef<void>;
7372
+ readonly link: _angular_core.OutputEmitterRef<void>;
7373
+ readonly openSorter: _angular_core.OutputEmitterRef<void>;
7374
+ readonly openMasterView: _angular_core.OutputEmitterRef<void>;
7375
+ readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
7376
+ readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
7377
+ readonly exportPng: _angular_core.OutputEmitterRef<void>;
7378
+ readonly exportPdf: _angular_core.OutputEmitterRef<void>;
7379
+ readonly exportGif: _angular_core.OutputEmitterRef<void>;
7380
+ readonly exportVideo: _angular_core.OutputEmitterRef<void>;
7381
+ readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
7382
+ readonly replace: _angular_core.OutputEmitterRef<void>;
7383
+ /** Design/Transitions/Animations tabs want the right-docked Inspector panel opened. */
7384
+ readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
7385
+ /** Draw tab tool state changed (tool/colour/width); UI-only, no ink back-end yet. */
7386
+ readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
7387
+ /** Emitted when the user clicks "Browse Themes" in the Design tab. */
7388
+ readonly toggleThemeGallery: _angular_core.OutputEmitterRef<void>;
7389
+ /** Emitted when the user toggles the grid overlay in the View tab. */
7390
+ readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
7391
+ /** Emitted when the user toggles rulers in the View tab. */
7392
+ readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
7393
+ /** Emitted when the user toggles center guide lines in the View tab. */
7394
+ readonly toggleGuides: _angular_core.OutputEmitterRef<void>;
7395
+ /** Emitted when the user clicks "Selection Pane" in the View tab. */
7396
+ readonly toggleSelectionPane: _angular_core.OutputEmitterRef<void>;
7397
+ /** Emitted when the user clicks "Custom Shows" in the Slide Show tab. */
7398
+ readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
7399
+ /** Emitted when the user toggles snap-to-grid in the View tab. */
7400
+ readonly toggleSnapToGrid: _angular_core.OutputEmitterRef<void>;
7401
+ readonly toggleSnapToShape: _angular_core.OutputEmitterRef<void>;
7402
+ readonly addGuide: _angular_core.OutputEmitterRef<"x" | "y">;
7403
+ readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
7404
+ /** Emitted when the user activates the eyedropper in the View tab. */
7405
+ readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
7406
+ /** "SmartArt" in the Insert tab; the host opens the gallery dialog and does the insert. */
7407
+ readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
7408
+ /** Emitted when the user clicks "Equation" in the Insert tab (opens the editor). */
7409
+ readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
7410
+ /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
7411
+ readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
7412
+ /** Emitted when the user clicks "Compare" in the Review tab. */
7413
+ readonly openCompare: _angular_core.OutputEmitterRef<void>;
7414
+ /** Emitted when the user clicks "Password" in the Review tab. */
7415
+ readonly openPassword: _angular_core.OutputEmitterRef<void>;
7416
+ /** Emitted when the user clicks "Fonts" in the Review tab. */
7417
+ readonly openFontEmbedding: _angular_core.OutputEmitterRef<void>;
7418
+ /** Emitted when the user clicks "Version History" in the Review tab. */
7419
+ readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
7420
+ /** Emitted when the user clicks "Shortcuts" in the Help tab. */
7421
+ readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
7422
+ /** Emitted when the user opens viewer preferences from the Help tab. */
7423
+ readonly openSettings: _angular_core.OutputEmitterRef<void>;
7424
+ protected readonly activeTab: _angular_core.WritableSignal<RibbonTab>;
7425
+ /** Ribbon content expanded (true) vs collapsed to just the tab bar (false). */
7426
+ protected readonly ribbonExpanded: _angular_core.WritableSignal<boolean>;
7427
+ /** Route both File Options and Review Language to the real Settings dialog. */
7428
+ protected requestSettings(): void;
7429
+ /** Forward the Review proofing toggle to the viewer-owned live state. */
7430
+ protected setSpellCheck(enabled: boolean): void;
7431
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
7432
+ 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>;
7433
+ }
7434
+
7435
+ /** The eight resize-handle positions around a selection box. */
7436
+ type ResizeHandle = ResizeHandleId;
7437
+ /** An axis-aligned box in stage (slide) coordinates. */
7438
+ interface Box {
7439
+ x: number;
7440
+ y: number;
7441
+ width: number;
7442
+ height: number;
7443
+ }
7444
+ /** All handles, in render order (corners + edge midpoints). */
7445
+ declare const RESIZE_HANDLES: readonly ResizeHandle[];
7446
+ /** Translate a box by a stage-space delta. */
7447
+ declare function applyMove(start: Box, dx: number, dy: number): Box;
7448
+ /**
7449
+ * Resize `start` by dragging `handle` with a stage-space delta, clamping to
7450
+ * `min`. When clamping at the min size, the edge opposite the dragged handle
7451
+ * stays fixed.
7452
+ */
7453
+ declare function applyResize(start: Box, handle: ResizeHandle, dx: number, dy: number, min?: number): Box;
7454
+
7455
+ /** The draw tools `SlideCanvasComponent` forwards from the ribbon Draw tab. */
7456
+ type DrawTool = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
7457
+ /** Live host accessors + emitters the ink-drawing controller needs. */
7458
+ interface InkDrawingHost {
7459
+ readonly stageElement: () => HTMLElement | undefined;
7460
+ readonly effectiveScale: () => number;
7461
+ readonly elements: () => readonly PptxElement[];
7462
+ readonly drawTool: () => DrawTool;
7463
+ readonly drawColor: () => string;
7464
+ readonly drawWidth: () => number;
7465
+ readonly emitInkStrokeComplete: (ink: InkPptxElement) => void;
7466
+ readonly emitEraserHit: (id: string) => void;
7467
+ }
7468
+ declare class InkDrawingService {
7469
+ /** Whether a freehand stroke is in progress. Signal for template reactivity. */
7470
+ readonly active: _angular_core.WritableSignal<boolean>;
7471
+ /** SVG path `d` for the live stroke preview (updated on every pointer move). */
7472
+ readonly liveInkPath: _angular_core.WritableSignal<string>;
7473
+ /** Accumulated points for the stroke currently being drawn. */
7474
+ private points;
7475
+ private host;
7476
+ /** Wire the host accessors/emitters (called once from the component constructor). */
7477
+ bind(host: InkDrawingHost): void;
7478
+ private requireHost;
7479
+ /** True when a draw tool (anything but 'select') should own the current gesture. */
7480
+ isDrawToolActive(): boolean;
7481
+ /**
7482
+ * Handle a stage pointerdown while a draw tool is active: eraser hit-tests
7483
+ * against ink elements (topmost wins); pen/highlighter/freeform begin a new
7484
+ * stroke.
7485
+ */
7486
+ handleStagePointerDown(event: PointerEvent): void;
7487
+ /** Append a point to the in-progress stroke. Returns false when no stroke is active (caller should fall through). */
7488
+ handlePointerMove(event: PointerEvent): boolean;
7489
+ /** Finalise the in-progress stroke and emit it. Returns false when no stroke was active (caller should fall through). */
7490
+ handlePointerUp(): boolean;
7491
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkDrawingService, never>;
7492
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<InkDrawingService>;
7493
+ }
7494
+
7495
+ /** A user-created guide line dragged from a ruler strip. */
7496
+ interface RulerGuide {
7497
+ id: string;
7498
+ axis: 'x' | 'y';
7499
+ pos: number;
7500
+ }
7501
+ /** Live host accessors the guide controller needs. */
7502
+ interface RulerGuidesHost {
7503
+ readonly editable: () => boolean;
7504
+ readonly stageElement: () => HTMLElement | undefined;
7505
+ readonly effectiveScale: () => number;
7506
+ readonly canvasSize: () => CanvasSize;
7507
+ }
7508
+ declare class RulerGuidesService {
7509
+ /**
7510
+ * User-created guide lines (dragged from rulers or added from toolbar).
7511
+ * axis:'x' -> vertical line at x=pos; axis:'y' -> horizontal line at y=pos.
7512
+ */
7513
+ readonly rulerGuides: _angular_core.WritableSignal<readonly RulerGuide[]>;
7514
+ /** Active guide-drag state (id + axis only), or null when nothing is being dragged. */
7515
+ private guideDrag;
7516
+ private host;
7517
+ /** Wire the host accessors (called once from the component constructor). */
7518
+ bind(host: RulerGuidesHost): void;
7519
+ private requireHost;
7520
+ /** True while an existing or just-created guide is being dragged. */
7521
+ isDragging(): boolean;
7522
+ /** Add a centered guide from the View ribbon without starting a drag gesture. */
7523
+ addGuide(axis: RulerGuide['axis']): void;
7524
+ /** Begin dragging an existing guide. Called from the guide handle pointerdown. */
7525
+ onGuidePointerDown(event: PointerEvent, id: string, axis: RulerGuide['axis']): void;
7526
+ /** Remove a guide (called on guide handle double-click). */
7527
+ onGuideDoubleClick(event: MouseEvent, id: string): void;
7528
+ /** Drag from the horizontal ruler to create a new horizontal guide (axis:'y'). */
7529
+ onHRulerPointerDown(event: PointerEvent): void;
7530
+ /** Drag from the vertical ruler to create a new vertical guide (axis:'x'). */
7531
+ onVRulerPointerDown(event: PointerEvent): void;
7532
+ /** Update the dragged guide's position. Returns false when no guide drag is in progress (caller should fall through). */
7533
+ handlePointerMove(event: PointerEvent): boolean;
7534
+ /** End the guide drag. Returns false when no guide drag was in progress (caller should fall through). */
7535
+ handlePointerUp(): boolean;
7536
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RulerGuidesService, never>;
7537
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<RulerGuidesService>;
7538
+ }
7539
+
7540
+ /**
7541
+ * ruler-ticks.ts: Pure tick-mark generation for the slide canvas's horizontal
7542
+ * and vertical ruler strips. No Angular/DOM dependency so it is trivially
7543
+ * unit-testable in isolation from `SlideCanvasComponent`.
7544
+ */
7545
+ /** Height/width (px) of the ruler strips: mirrors React's RULER_THICKNESS. */
7546
+ declare const RULER_THICKNESS = 20;
7547
+ /** Pixels per inch on the slide canvas (PPTX slides are 10" wide = 960 px). */
7548
+ declare const SLIDE_PX_PER_INCH = 96;
7549
+ /** A single tick mark on a ruler strip. */
7550
+ interface RulerTick {
7551
+ /** Position in screen pixels along the ruler. */
7552
+ position: number;
7553
+ /** Whether this is a major (inch) tick. */
7554
+ isMajor: boolean;
7555
+ /** Label to display (only on major ticks, every N inches). */
7556
+ label: string | null;
7557
+ }
7558
+ /**
7559
+ * Generate ruler tick marks for a given slide dimension and scale.
7560
+ * Produces ticks every 1/4 inch (minor) and every inch (major).
7561
+ */
7562
+ declare function generateRulerTicks(slidePx: number, scale: number): ReadonlyArray<RulerTick>;
7563
+
7564
+ /**
7565
+ * Slide-scoped DI context: lets leaf renderers (chart, SmartArt) resolve which
7566
+ * slide their canvas is displaying without threading an input through every
7567
+ * layer. `SlideCanvasComponent` provides itself under this token.
7568
+ *
7569
+ * Needed for template (master/layout) elements: they are partitioned OUT of
7570
+ * `slides[].elements` into the per-slide template store, so an element-id
7571
+ * search over the deck cannot find them; the owning slide is simply the slide
7572
+ * the hosting canvas is rendering.
7573
+ */
7574
+
7575
+ interface SlideContext {
7576
+ /** Id of the slide this canvas renders, or null when none is loaded. */
7577
+ slideId(): string | null;
7578
+ }
7579
+
7580
+ /**
7581
+ * SlideCanvasComponent: Angular port of the React `SlideCanvas.tsx` and Vue
7582
+ * `SlideCanvas.vue`.
7583
+ *
7584
+ * Renders the active slide as a fixed-size stage scaled by `zoom`, with each
7585
+ * element absolutely positioned. When `editable`, supports click-to-select
7586
+ * (event delegation), selection outlines, and pointer drag-to-move / resize
7587
+ * handles, plus the rulers, grid, guides, marquee, and collaboration
7588
+ * overlays.
7589
+ */
7590
+ declare class SlideCanvasComponent implements SlideContext {
7591
+ readonly slide: _angular_core.InputSignal<PptxSlide | undefined>;
7592
+ readonly canvasSize: _angular_core.InputSignal<CanvasSize>;
7593
+ /** {@link SlideContext}: the id of the slide this canvas renders. */
7594
+ slideId(): string | null;
7595
+ readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
7596
+ readonly zoom: _angular_core.InputSignal<number>;
7597
+ /** When true, elements are selectable and drag/resize handles are shown. */
7598
+ readonly editable: _angular_core.InputSignal<boolean>;
7599
+ /**
7600
+ * When true, render a dot-grid overlay on the slide stage.
7601
+ * Only active on the interactive (main editor) canvas; ignored on thumbnails.
7602
+ * Defaults false so nothing changes unless toggled from the ribbon View tab.
7603
+ */
7604
+ readonly showGrid: _angular_core.InputSignal<boolean>;
7605
+ /**
7606
+ * When true, render horizontal and vertical ruler strips along the top/left
7607
+ * of the slide viewport. Only active on the interactive canvas.
7608
+ */
7609
+ readonly showRulers: _angular_core.InputSignal<boolean>;
7610
+ /**
7611
+ * When true, render a static center-crosshair guide overlay on the slide stage.
7612
+ * Only active on the interactive canvas.
7613
+ */
7614
+ readonly showGuides: _angular_core.InputSignal<boolean>;
7615
+ /**
7616
+ * When true, snap element positions to the grid increment during move.
7617
+ * Combines with edge-alignment snapping.
7618
+ */
7619
+ readonly snapToGrid: _angular_core.InputSignal<boolean>;
7620
+ /** Whether moving elements snap to other element edges and centres. */
7621
+ readonly snapToShape: _angular_core.InputSignal<boolean>;
7070
7622
  /** Imperative toolbar request to add a centered user guide. */
7071
7623
  readonly guideCommand: _angular_core.InputSignal<{
7072
7624
  id: number;
@@ -7778,24 +8330,6 @@ declare class ChartElementViewComponent {
7778
8330
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartElementViewComponent, "pptx-chart-element-view", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7779
8331
  }
7780
8332
 
7781
- /** A selected chart sub-part, scoped to the chart element that owns it. */
7782
- interface ChartPartSelection {
7783
- elementId: string;
7784
- part: ChartPartRef;
7785
- }
7786
- declare class ChartPartSelectionService {
7787
- /** The current on-canvas chart part selection, or null. */
7788
- readonly selection: _angular_core.WritableSignal<ChartPartSelection | null>;
7789
- /** Select a chart part (replaces any previous selection). */
7790
- select(selection: ChartPartSelection): void;
7791
- /** Clear the selection entirely. */
7792
- clear(): void;
7793
- /** Clear the selection when it belongs to the given chart element. */
7794
- clearForElement(elementId: string): void;
7795
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartPartSelectionService, never>;
7796
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartPartSelectionService>;
7797
- }
7798
-
7799
8333
  /**
7800
8334
  * smart-art-inline-edit.ts: pure logic for on-canvas SmartArt node text editing.
7801
8335
  *
@@ -8384,63 +8918,21 @@ declare class Model3DRendererComponent implements OnDestroy {
8384
8918
  private readonly blobUrl;
8385
8919
  /** Lazily-loaded shared mount fn; `null` until the scene runtime resolves. */
8386
8920
  private readonly mountFn;
8387
- /** `true` once a model is mountable: render the scene container, not poster. */
8388
- readonly showScene: _angular_core.Signal<boolean>;
8389
- /** Set when `three` is missing or the model failed to load: forces poster. */
8390
- private readonly failed;
8391
- private handle;
8392
- /** The blob URL the live handle was mounted with, owned for revocation. */
8393
- private mountedUrl;
8394
- constructor();
8395
- private loadScene;
8396
- private mount;
8397
- /** Dispose the live handle and revoke its blob URL. */
8398
- private teardownHandle;
8399
- ngOnDestroy(): void;
8400
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
8401
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Model3DRendererComponent, "pptx-model3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8402
- }
8403
-
8404
- /**
8405
- * Minimal descriptor of a zoom's target slide, threaded to the renderer so the
8406
- * fallback thumbnail (shown when a zoom has no embedded preview image) can use
8407
- * the real target slide's background, number, and friendly section name instead
8408
- * of grey/index/section-GUID placeholders. Mirrors the React
8409
- * `ZoomSlideThumbnail` reference, which reads exactly these three fields.
8410
- */
8411
- interface ZoomTargetInfo {
8412
- /** The target slide's background colour, used as the tile background. */
8413
- readonly backgroundColor?: string;
8414
- /** The target slide's own 1-based number (not the array index + 1). */
8415
- readonly slideNumber?: number;
8416
- /** The target slide's friendly section name (not the section GUID). */
8417
- readonly sectionName?: string;
8418
- }
8419
- /**
8420
- * ZoomTargetService: viewer-scoped lookup from a zoom element's target slide
8421
- * index to a {@link ZoomTargetInfo} descriptor.
8422
- *
8423
- * Provided by `PowerPointViewerComponent` from its loaded slides, then injected
8424
- * `{ optional: true }` by `ZoomRendererComponent`. Trees that do not provide it
8425
- * (e.g. isolated component tests) resolve `null`, so the renderer falls back to
8426
- * the old grey/index/GUID thumbnail. This mirrors the optional-DI pattern of
8427
- * {@link ZoomNavigationService}.
8428
- *
8429
- * Intentionally NOT `providedIn: 'root'`: it is supplied per viewer so the
8430
- * lookup always reflects that viewer's deck.
8431
- */
8432
- declare class ZoomTargetService {
8433
- /** The deck the lookup resolves against; seeded by the viewer. */
8434
- private readonly slides;
8435
- /** Replace the deck used to resolve zoom targets. */
8436
- setSlides(slides: readonly PptxSlide[]): void;
8437
- /**
8438
- * Resolve the descriptor for a zoom's target slide, or `undefined` when the
8439
- * index is out of range (so the renderer keeps its index-based fallback).
8440
- */
8441
- lookup(targetSlideIndex: number): ZoomTargetInfo | undefined;
8442
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomTargetService, never>;
8443
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ZoomTargetService>;
8921
+ /** `true` once a model is mountable: render the scene container, not poster. */
8922
+ readonly showScene: _angular_core.Signal<boolean>;
8923
+ /** Set when `three` is missing or the model failed to load: forces poster. */
8924
+ private readonly failed;
8925
+ private handle;
8926
+ /** The blob URL the live handle was mounted with, owned for revocation. */
8927
+ private mountedUrl;
8928
+ constructor();
8929
+ private loadScene;
8930
+ private mount;
8931
+ /** Dispose the live handle and revoke its blob URL. */
8932
+ private teardownHandle;
8933
+ ngOnDestroy(): void;
8934
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
8935
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Model3DRendererComponent, "pptx-model3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8444
8936
  }
8445
8937
 
8446
8938
  /**
@@ -9474,48 +9966,6 @@ declare class TablePropertiesComponent {
9474
9966
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TablePropertiesComponent, "pptx-table-properties", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "elementChange": "elementChange"; }, never, never, true, never>;
9475
9967
  }
9476
9968
 
9477
- /** A selected table cell (and optional Shift+Click range) on one table element. */
9478
- interface TableCellSelection {
9479
- /** Id of the table element the selection belongs to. */
9480
- elementId: string;
9481
- /** Anchor cell row (0-based). */
9482
- rowIndex: number;
9483
- /** Anchor cell column (0-based). */
9484
- columnIndex: number;
9485
- /** When true, the anchor cell has an active inline text input. */
9486
- isEditing?: boolean;
9487
- /** Optional multi-cell rectangular selection (Shift+Click range). */
9488
- selectedCells?: CellCoord[];
9489
- }
9490
- declare class TableSelectionService {
9491
- /** The current table-cell selection, or null when nothing is selected. */
9492
- readonly selection: _angular_core.WritableSignal<TableCellSelection | null>;
9493
- /** The element id of the current selection (or undefined). */
9494
- readonly elementId: _angular_core.Signal<string | undefined>;
9495
- /**
9496
- * Select a single cell (clears any range). Passing the element id keeps the
9497
- * selection scoped so a stale selection from a different table is ignored.
9498
- */
9499
- selectCell(elementId: string, rowIndex: number, columnIndex: number): void;
9500
- /**
9501
- * Extend the selection from the current anchor to `(rowIndex, columnIndex)`
9502
- * as a rectangular range (Shift+Click). Expands to cover any merge groups it
9503
- * overlaps. When there is no existing anchor on this element it falls back to
9504
- * a single-cell selection.
9505
- */
9506
- extendTo(elementId: string, rowIndex: number, columnIndex: number, tableData: PptxTableData): void;
9507
- /** Mark the anchor cell as actively editing (inline text input open). */
9508
- beginEditing(elementId: string, rowIndex: number, columnIndex: number): void;
9509
- /** Clear the editing flag while keeping the cell selected. */
9510
- endEditing(): void;
9511
- /** Clear the selection entirely. */
9512
- clear(): void;
9513
- /** Clear the selection when it belongs to `elementId` (e.g. element deleted). */
9514
- clearFor(elementId: string): void;
9515
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableSelectionService, never>;
9516
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<TableSelectionService>;
9517
- }
9518
-
9519
9969
  /** Cell-style keys whose value is a colour string (edited via `<input type=color>`). */
9520
9970
  type ColorKey = 'color' | 'backgroundColor' | 'borderTopColor' | 'borderBottomColor' | 'borderLeftColor' | 'borderRightColor';
9521
9971
  /** Cell-style keys whose value is a number (edited via `<input type=number>`). */
@@ -10376,77 +10826,6 @@ declare class EditorContextMenuComponent {
10376
10826
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorContextMenuComponent, "pptx-editor-context-menu", never, { "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
10377
10827
  }
10378
10828
 
10379
- declare class ExportService {
10380
- private static readonly PRESENTATION_MIME;
10381
- /** Build a resolution-independent SVG string directly from slide data. */
10382
- exportSlideToSvg(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): string;
10383
- /** Build an SVG Blob directly from slide data. */
10384
- exportSlideToSvgBlob(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): Blob;
10385
- /** Build SVG strings for all selected slides in a parsed presentation. */
10386
- exportAllSlidesToSvg(data: PptxData, options?: SvgExportOptions): string[];
10387
- /**
10388
- * Trigger a browser download of serialized `.pptx` bytes.
10389
- *
10390
- * @param bytes - The serialized presentation (from the viewer's `getContent`).
10391
- * @param fileName - Suggested download file name (unsafe chars are stripped).
10392
- */
10393
- savePptx(bytes: Uint8Array, fileName: string): void;
10394
- /** Download serialized presentation bytes using the matching package MIME type. */
10395
- savePresentation(bytes: Uint8Array, fileName: string, format: PptxSaveFormat): void;
10396
- /**
10397
- * Rasterize a single DOM element to PNG and trigger a browser download.
10398
- *
10399
- * @param el - The element to capture (e.g. the `.pptx-ng-canvas-stage`).
10400
- * @param fileName - Suggested download file name (unsafe chars are stripped).
10401
- * @param scale - Device-pixel ratio multiplier (default 2 for sharp output).
10402
- */
10403
- exportElementToPng(el: HTMLElement, fileName: string, scale?: number): Promise<void>;
10404
- /** Rasterize an element and copy it to the system clipboard as a PNG image. */
10405
- copyElementAsPng(el: HTMLElement, scale?: number): Promise<void>;
10406
- /**
10407
- * Rasterize a single element to a canvas (passthrough to html2canvas-pro).
10408
- * Capture each slide's canvas *while that slide is the live DOM*: the
10409
- * viewer reuses one stage node, so a deferred capture would yield the same
10410
- * (last) slide for every page.
10411
- */
10412
- renderElement(el: HTMLElement, scale?: number): Promise<HTMLCanvasElement>;
10413
- /**
10414
- * Assemble a multi-page PDF from pre-rendered slide canvases (one page per
10415
- * canvas, sized to the slide aspect ratio in pt) and trigger a download.
10416
- *
10417
- * @param canvases - One canvas per slide, in order, each captured while
10418
- * its slide was the live stage.
10419
- * @param canvasWidth - Slide canvas width in pixels (for aspect ratio).
10420
- * @param canvasHeight - Slide canvas height in pixels (for aspect ratio).
10421
- * @param fileName - Suggested download file name (unsafe chars stripped).
10422
- */
10423
- exportCanvasesToPdf(canvases: HTMLCanvasElement[], canvasWidth: number, canvasHeight: number, fileName: string): void;
10424
- /**
10425
- * Assemble an animated GIF from pre-rendered slide canvases (one frame per
10426
- * slide) and trigger a download. Frame delay is derived from
10427
- * `slideDurationMs` via the pure {@link planGifFrames} planner.
10428
- *
10429
- * @param canvases - One canvas per slide, in order.
10430
- * @param slideDurationMs - Display time per slide in milliseconds.
10431
- * @param fileName - Suggested download file name.
10432
- */
10433
- exportCanvasesToGif(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string): void;
10434
- /**
10435
- * Record a WebM video from pre-rendered slide canvases (each held for
10436
- * `slideDurationMs`) via the browser `MediaRecorder` and trigger a download.
10437
- *
10438
- * @param canvases - One canvas per slide, in order.
10439
- * @param slideDurationMs - Display time per slide in milliseconds.
10440
- * @param fileName - Suggested download file name.
10441
- * @param signal - Optional abort signal to cancel recording.
10442
- * @param onProgress - Optional per-slide recording progress callback
10443
- * `(currentSlide, totalSlides)`.
10444
- */
10445
- exportCanvasesToWebm(canvases: HTMLCanvasElement[], slideDurationMs: number, fileName: string, signal?: AbortSignal, onProgress?: (current: number, total: number) => void): Promise<void>;
10446
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportService, never>;
10447
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
10448
- }
10449
-
10450
10829
  /**
10451
10830
  * Canvas Export Utilities for the Angular viewer.
10452
10831
  *
@@ -10744,45 +11123,6 @@ declare class AccessibilityPanelComponent {
10744
11123
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccessibilityPanelComponent, "pptx-accessibility-panel", never, { "issues": { "alias": "issues"; "required": false; "isSignal": true; }; }, { "selectSlide": "selectSlide"; }, never, never, true, never>;
10745
11124
  }
10746
11125
 
10747
- declare class EmbeddedFontsService {
10748
- /** The generated `@font-face` stylesheet text (also injected into `<head>`). */
10749
- readonly fontFaceCss: _angular_core.WritableSignal<string>;
10750
- /**
10751
- * Distinct CSS `font-family` strings for the embedded families, each with
10752
- * substitution fallbacks resolved (e.g. `'"Calibri", "Carlito", …'`).
10753
- */
10754
- readonly fontFamilies: _angular_core.WritableSignal<string[]>;
10755
- private styleEl;
10756
- private embeddedCss;
10757
- private userCss;
10758
- /** Object URLs minted on the most recent `setFonts`; revoked when superseded. */
10759
- private liveObjectUrls;
10760
- /** Mints a Blob object URL for de-obfuscated font bytes (impure side effect). */
10761
- private readonly mintObjectUrl;
10762
- constructor();
10763
- /**
10764
- * Resolve the supplied embedded fonts into `@font-face` rules, inject them
10765
- * into the managed `<style>` element, and update the exposed signals.
10766
- *
10767
- * Object URLs minted on the *previous* call are revoked here so they don't
10768
- * leak across re-parses. Pass an empty list (or `null`) to clear everything.
10769
- */
10770
- setFonts(fonts: readonly PptxEmbeddedFont[] | null | undefined): void;
10771
- /** Replace the licensed font sources supplied by the host application. */
10772
- setHostFonts(fonts: readonly ViewerFontSource[] | null | undefined): void;
10773
- /**
10774
- * Remove the injected `<style>` element, revoke all live object URLs, and
10775
- * reset the signals. Called automatically on destroy; safe to call manually.
10776
- */
10777
- dispose(): void;
10778
- /** Create / update / remove the managed `<style>` element to match `css`. */
10779
- private syncStyleElement;
10780
- private removeStyleElement;
10781
- private revokeObjectUrls;
10782
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmbeddedFontsService, never>;
10783
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<EmbeddedFontsService>;
10784
- }
10785
-
10786
11126
  /** A single rendered playback step (one click group). */
10787
11127
  interface AnimationStepView {
10788
11128
  /** 1-based step number for display. */
@@ -11297,28 +11637,6 @@ declare class BroadcastDialogComponent {
11297
11637
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BroadcastDialogComponent, "pptx-broadcast-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaults": { "alias": "defaults"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "connected": { "alias": "connected"; "required": false; "isSignal": true; }; "viewerCount": { "alias": "viewerCount"; "required": false; "isSignal": true; }; "viewerUrl": { "alias": "viewerUrl"; "required": false; "isSignal": true; }; "p2p": { "alias": "p2p"; "required": false; "isSignal": true; }; }, { "start": "start"; "stop": "stop"; "close": "close"; }, never, never, true, never>;
11298
11638
  }
11299
11639
 
11300
- declare class ViewerCompareService {
11301
- private readonly svc;
11302
- private readonly editor;
11303
- private readonly translate;
11304
- /**
11305
- * Open a `.pptx` picker and diff it against the current deck, opening the
11306
- * compare panel with the result. Invoked from the ribbon.
11307
- */
11308
- startCompare(): void;
11309
- /** Parse the chosen file and compute the slide-level diff. */
11310
- private runCompare;
11311
- /** Accept a single slide diff, adopting the incoming slide. */
11312
- acceptSlide(diffIndex: number): void;
11313
- /** Reject a diff: keep the current slide (no deck change). */
11314
- rejectSlide(_diffIndex: number): void;
11315
- /** Accept every non-trivial diff at once. */
11316
- acceptAll(): void;
11317
- private diffAt;
11318
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerCompareService, never>;
11319
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerCompareService>;
11320
- }
11321
-
11322
11640
  declare class ViewerExtraDialogsComponent {
11323
11641
  /** Active slide index (equation inserts land on this slide). */
11324
11642
  readonly activeSlideIndex: _angular_core.InputSignal<number>;
@@ -11801,7 +12119,7 @@ declare class AccountPageComponent {
11801
12119
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
11802
12120
  private readonly translate;
11803
12121
  protected readonly swatches: readonly string[];
11804
- protected readonly version = "1.28.1";
12122
+ protected readonly version = "1.30.0";
11805
12123
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
11806
12124
  protected readonly initial: _angular_core.Signal<string>;
11807
12125
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -12414,130 +12732,43 @@ declare const VIEWER_THEME: InjectionToken<ViewerTheme | undefined>;
12414
12732
  declare function provideViewerTheme(theme: ViewerTheme | undefined): Provider;
12415
12733
  /**
12416
12734
  * Build an `[ngStyle]`-compatible map of CSS custom properties for a theme.
12417
- * Returns an empty object when the theme contributes no variables.
12418
- */
12419
- declare function themeStyle(theme: ViewerTheme | undefined): Record<string, string>;
12420
-
12421
- /**
12422
- * Join class values into a single space-separated string, skipping falsy
12423
- * entries. A dependency-free analogue of the React/Vue packages' `cn`
12424
- * (clsx + tailwind-merge); the Angular viewer uses plain scoped CSS rather
12425
- * than Tailwind utility classes, so de-duplication is not required.
12426
- */
12427
- type ClassValue = string | number | false | null | undefined;
12428
- declare function cn(...values: ClassValue[]): string;
12429
-
12430
- /** Live host accessors the fit computation needs. */
12431
- interface CanvasFitHost {
12432
- readonly autoFit: () => boolean;
12433
- readonly viewportElement: () => HTMLElement | undefined;
12434
- readonly canvasSize: () => CanvasSize;
12435
- }
12436
- declare class CanvasFitService {
12437
- /**
12438
- * Auto-fit scale (<= 1): how much the fixed-size slide must shrink to fit
12439
- * the scroll viewport. The authored slide is e.g. 1280x720, which overflows
12440
- * a phone; without this it renders off-screen at `zoom=1`.
12441
- */
12442
- readonly fitScale: _angular_core.WritableSignal<number>;
12443
- private host;
12444
- /** Wire the host accessors (called once from the component constructor). */
12445
- bind(host: CanvasFitHost): void;
12446
- /**
12447
- * Recompute {@link fitScale} from the current viewport size. Call after the
12448
- * view renders and whenever the viewport or slide size may have changed
12449
- * (ResizeObserver, `canvasSize` change).
12450
- */
12451
- recompute(): void;
12452
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CanvasFitService, never>;
12453
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CanvasFitService>;
12454
- }
12455
-
12456
- /**
12457
- * `FieldContextService`: viewer-scoped source of the OOXML field-substitution
12458
- * context (slide number, date/time, header/footer, slide title, custom doc
12459
- * properties) used by the element text renderers.
12460
- *
12461
- * Mirrors the React `fieldContext` built in `ViewerCanvasArea` and the Vue
12462
- * `FieldContextKey` provide/inject. The deck-level parts (header/footer text +
12463
- * format, custom properties) come from {@link LoadContentService}; the
12464
- * per-slide parts (slide number + title) are folded in by the slide canvas,
12465
- * which knows which slide it renders, via {@link forSlide}.
12466
- *
12467
- * Provided alongside `LoadContentService` in the viewer subtree, so renderers
12468
- * used outside the viewer (thumbnails, export) that inject it `optional` simply
12469
- * fall back to no substitution.
12470
- */
12471
- declare class FieldContextService {
12472
- private readonly load;
12473
- /** Deck-level field context (header/footer + custom properties); slide parts unset. */
12474
- readonly deckContext: _angular_core.Signal<FieldSubstitutionContext>;
12475
- /**
12476
- * Build the full field context for a specific slide, folding the slide's
12477
- * number and title (from the first title / centre-title placeholder) into the
12478
- * deck-level context.
12479
- */
12480
- forSlide(slide: PptxSlide | undefined): FieldSubstitutionContext;
12481
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FieldContextService, never>;
12482
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<FieldContextService>;
12483
- }
12735
+ * Returns an empty object when the theme contributes no variables.
12736
+ */
12737
+ declare function themeStyle(theme: ViewerTheme | undefined): Record<string, string>;
12484
12738
 
12485
12739
  /**
12486
- * Opt-in flag for the Three.js SmartArt renderer (Angular).
12487
- *
12488
- * Provided by `PowerPointViewerComponent`, which syncs it from the `smartArt3D`
12489
- * input; the element dispatcher injects it (optionally) to choose the WebGL
12490
- * renderer over the SVG one. Mirrors the React `SmartArt3DContext` and the Vue
12491
- * `SmartArt3DKey` provide/inject. Scoped to the viewer subtree, so renderers
12492
- * used outside the viewer (thumbnails, export) fall back to `false`.
12740
+ * Join class values into a single space-separated string, skipping falsy
12741
+ * entries. A dependency-free analogue of the React/Vue packages' `cn`
12742
+ * (clsx + tailwind-merge); the Angular viewer uses plain scoped CSS rather
12743
+ * than Tailwind utility classes, so de-duplication is not required.
12493
12744
  */
12494
- declare class SmartArt3DService {
12495
- /** `true` when SmartArt should render via the Three.js scene. */
12496
- readonly enabled: _angular_core.WritableSignal<boolean>;
12497
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DService, never>;
12498
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<SmartArt3DService>;
12499
- }
12745
+ type ClassValue = string | number | false | null | undefined;
12746
+ declare function cn(...values: ClassValue[]): string;
12500
12747
 
12501
- /** Live host accessors the shortcut handler consults. */
12502
- interface KeyboardHost {
12503
- readonly canEdit: () => boolean;
12504
- readonly presenting: () => boolean;
12505
- readonly activeSlideIndex: () => number;
12748
+ /** Live host accessors the fit computation needs. */
12749
+ interface CanvasFitHost {
12750
+ readonly autoFit: () => boolean;
12751
+ readonly viewportElement: () => HTMLElement | undefined;
12752
+ readonly canvasSize: () => CanvasSize;
12506
12753
  }
12507
- declare class ViewerKeyboardService {
12508
- private readonly editor;
12509
- private readonly dialogs;
12510
- private readonly formatPainter;
12754
+ declare class CanvasFitService {
12755
+ /**
12756
+ * Auto-fit scale (<= 1): how much the fixed-size slide must shrink to fit
12757
+ * the scroll viewport. The authored slide is e.g. 1280x720, which overflows
12758
+ * a phone; without this it renders off-screen at `zoom=1`.
12759
+ */
12760
+ readonly fitScale: _angular_core.WritableSignal<number>;
12511
12761
  private host;
12512
12762
  /** Wire the host accessors (called once from the component constructor). */
12513
- bind(host: KeyboardHost): void;
12514
- handleKeyDown(event: KeyboardEvent): void;
12515
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerKeyboardService, never>;
12516
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerKeyboardService>;
12517
- }
12518
-
12519
- /** Live host accessors the gesture recogniser consults. */
12520
- interface TouchGesturesHost {
12521
- readonly canEdit: () => boolean;
12522
- readonly presenting: () => boolean;
12523
- readonly selectedElement: () => PptxElement | null;
12524
- readonly goPrev: () => void;
12525
- readonly goNext: () => void;
12526
- readonly setContextMenuPos: (pos: {
12527
- x: number;
12528
- y: number;
12529
- }) => void;
12530
- }
12531
- declare class ViewerTouchGesturesService {
12532
- private readonly zoomSvc;
12533
- private readonly destroyRef;
12763
+ bind(host: CanvasFitHost): void;
12534
12764
  /**
12535
- * Attach the recogniser to `mainEl()`'s element once it is in the DOM
12536
- * (called once from the host component's constructor).
12765
+ * Recompute {@link fitScale} from the current viewport size. Call after the
12766
+ * view renders and whenever the viewport or slide size may have changed
12767
+ * (ResizeObserver, `canvasSize` change).
12537
12768
  */
12538
- setup(mainEl: () => HTMLElement | undefined, host: TouchGesturesHost): void;
12539
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerTouchGesturesService, never>;
12540
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerTouchGesturesService>;
12769
+ recompute(): void;
12770
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CanvasFitService, never>;
12771
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CanvasFitService>;
12541
12772
  }
12542
12773
 
12543
12774
  /**
@@ -13292,190 +13523,6 @@ declare function splitCursorCell(element: TablePptxElement, row: number, col: nu
13292
13523
  */
13293
13524
  declare function patchTableData(element: TablePptxElement, patch: Partial<PptxTableData>): TablePptxElement;
13294
13525
 
13295
- /** Drawing tool IDs (mirrors React DRAW_TOOLS). */
13296
- type DrawTool = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
13297
- /** The full draw-tool state broadcast on every Draw-tab interaction. */
13298
- interface DrawToolState {
13299
- tool: DrawTool;
13300
- color: string;
13301
- width: number;
13302
- }
13303
- interface DrawToolDef {
13304
- id: DrawTool;
13305
- labelKey: string;
13306
- }
13307
- declare class RibbonDrawSectionComponent {
13308
- readonly activeTool: _angular_core.InputSignal<DrawTool>;
13309
- readonly drawingColor: _angular_core.InputSignal<string>;
13310
- readonly drawingWidth: _angular_core.InputSignal<number>;
13311
- readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
13312
- protected readonly drawTools: readonly DrawToolDef[];
13313
- protected selectTool(tool: DrawTool): void;
13314
- protected onColorInput(event: Event): void;
13315
- protected onWidthInput(event: Event): void;
13316
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonDrawSectionComponent, never>;
13317
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonDrawSectionComponent, "pptx-ribbon-draw-section", never, { "activeTool": { "alias": "activeTool"; "required": false; "isSignal": true; }; "drawingColor": { "alias": "drawingColor"; "required": false; "isSignal": true; }; "drawingWidth": { "alias": "drawingWidth"; "required": false; "isSignal": true; }; }, { "drawToolChange": "drawToolChange"; }, never, never, true, never>;
13318
- }
13319
-
13320
- /**
13321
- * ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
13322
- * {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
13323
- * its own file (rather than declared in one of those components) so none of
13324
- * them has to import a type from a sibling that also imports it, mirroring
13325
- * the Svelte binding's `ribbon/ribbon-types.ts`.
13326
- */
13327
-
13328
- /**
13329
- * Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
13330
- * {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
13331
- * their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
13332
- * as `@switch` cases.
13333
- */
13334
- type RibbonTab = ToolbarTabId | 'text' | 'arrange';
13335
-
13336
- declare class RibbonComponent {
13337
- readonly slideIndex: _angular_core.InputSignal<number>;
13338
- readonly slideCount: _angular_core.InputSignal<number>;
13339
- /** Whether the deck is editable (gates the template-editing toggle). */
13340
- readonly canEdit: _angular_core.InputSignal<boolean>;
13341
- readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
13342
- readonly zoomPercent: _angular_core.InputSignal<number>;
13343
- readonly formatPainterActive: _angular_core.InputSignal<boolean>;
13344
- readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
13345
- readonly exporting: _angular_core.InputSignal<boolean>;
13346
- readonly hasMacros: _angular_core.InputSignal<boolean>;
13347
- /** Current visibility state of the grid overlay (for active-state styling). */
13348
- readonly showGrid: _angular_core.InputSignal<boolean>;
13349
- /** Current visibility state of rulers (for active-state styling). */
13350
- readonly showRulers: _angular_core.InputSignal<boolean>;
13351
- /** Current visibility state of center guide lines (for active-state styling). */
13352
- readonly showGuides: _angular_core.InputSignal<boolean>;
13353
- /** Current state of snap-to-grid (for active-state styling). */
13354
- readonly snapToGrid: _angular_core.InputSignal<boolean>;
13355
- readonly snapToShape: _angular_core.InputSignal<boolean>;
13356
- /** Current state of eyedropper tool (for active-state styling). */
13357
- readonly eyedropperActive: _angular_core.InputSignal<boolean>;
13358
- /** Current visibility state of the theme gallery overlay (for active-state styling). */
13359
- readonly themeGalleryOpen: _angular_core.InputSignal<boolean>;
13360
- /** Whether the slides panel is collapsed (drives the top-bar toggle state). */
13361
- readonly sidebarCollapsed: _angular_core.InputSignal<boolean>;
13362
- /** Whether the right-docked inspector is open (top-bar toggle state). */
13363
- readonly inspectorOpen: _angular_core.InputSignal<boolean>;
13364
- /** Whether the comments panel is open (top-bar comments toggle state). */
13365
- readonly commentsOpen: _angular_core.InputSignal<boolean>;
13366
- /** Comment count on the active slide (top-bar comments badge). */
13367
- readonly commentCount: _angular_core.InputSignal<number>;
13368
- /** Whether the find/replace bar is open (top-bar find toggle state). */
13369
- readonly findOpen: _angular_core.InputSignal<boolean>;
13370
- /** Whether a collaboration session is connected (Share button styling). */
13371
- readonly collabConnected: _angular_core.InputSignal<boolean>;
13372
- /** Connected collaborator count (Share button label). */
13373
- readonly connectedCount: _angular_core.InputSignal<number>;
13374
- /** Current live proofing state shown by the Review ribbon command. */
13375
- readonly spellCheckEnabled: _angular_core.InputSignal<boolean>;
13376
- readonly showSubtitles: _angular_core.InputSignal<boolean>;
13377
- /** Toolbar buttons/tabs the host wants hidden. Default `[]` hides nothing. */
13378
- readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
13379
- /** Optional sign-in hook point for File > Account. Absent/disabled by default. */
13380
- readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
13381
- readonly prev: _angular_core.OutputEmitterRef<void>;
13382
- readonly next: _angular_core.OutputEmitterRef<void>;
13383
- readonly zoomIn: _angular_core.OutputEmitterRef<void>;
13384
- readonly zoomOut: _angular_core.OutputEmitterRef<void>;
13385
- readonly zoomReset: _angular_core.OutputEmitterRef<void>;
13386
- readonly find: _angular_core.OutputEmitterRef<void>;
13387
- readonly present: _angular_core.OutputEmitterRef<void>;
13388
- readonly presenter: _angular_core.OutputEmitterRef<void>;
13389
- /** Emitted by the tab-row Record button (starts a slide-show run-through). */
13390
- readonly record: _angular_core.OutputEmitterRef<void>;
13391
- readonly presentFromBeginning: _angular_core.OutputEmitterRef<void>;
13392
- readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
13393
- readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
13394
- readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
13395
- readonly recordFromBeginning: _angular_core.OutputEmitterRef<void>;
13396
- readonly recordFromCurrent: _angular_core.OutputEmitterRef<void>;
13397
- readonly spellCheckChange: _angular_core.OutputEmitterRef<boolean>;
13398
- readonly share: _angular_core.OutputEmitterRef<void>;
13399
- readonly broadcast: _angular_core.OutputEmitterRef<void>;
13400
- readonly openFile: _angular_core.OutputEmitterRef<void>;
13401
- readonly openRecentFile: _angular_core.OutputEmitterRef<string>;
13402
- readonly createPresentation: _angular_core.OutputEmitterRef<string>;
13403
- /** Emitted when the user clicks "Save" in the File tab (saves as .pptx). */
13404
- readonly save: _angular_core.OutputEmitterRef<void>;
13405
- readonly savePpsx: _angular_core.OutputEmitterRef<void>;
13406
- readonly savePptm: _angular_core.OutputEmitterRef<void>;
13407
- readonly packageForSharing: _angular_core.OutputEmitterRef<void>;
13408
- /** Emitted when the user toggles the slides panel from the top bar. */
13409
- readonly toggleSidebar: _angular_core.OutputEmitterRef<void>;
13410
- /** Emitted when the user opens the Digital Signatures panel from the File tab. */
13411
- readonly signatures: _angular_core.OutputEmitterRef<void>;
13412
- readonly info: _angular_core.OutputEmitterRef<void>;
13413
- readonly print: _angular_core.OutputEmitterRef<void>;
13414
- readonly comments: _angular_core.OutputEmitterRef<void>;
13415
- readonly a11y: _angular_core.OutputEmitterRef<void>;
13416
- readonly link: _angular_core.OutputEmitterRef<void>;
13417
- readonly openSorter: _angular_core.OutputEmitterRef<void>;
13418
- readonly openMasterView: _angular_core.OutputEmitterRef<void>;
13419
- readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
13420
- readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
13421
- readonly exportPng: _angular_core.OutputEmitterRef<void>;
13422
- readonly exportPdf: _angular_core.OutputEmitterRef<void>;
13423
- readonly exportGif: _angular_core.OutputEmitterRef<void>;
13424
- readonly exportVideo: _angular_core.OutputEmitterRef<void>;
13425
- readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
13426
- readonly replace: _angular_core.OutputEmitterRef<void>;
13427
- /** Design/Transitions/Animations tabs want the right-docked Inspector panel opened. */
13428
- readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
13429
- /** Draw tab tool state changed (tool/colour/width); UI-only, no ink back-end yet. */
13430
- readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
13431
- /** Emitted when the user clicks "Browse Themes" in the Design tab. */
13432
- readonly toggleThemeGallery: _angular_core.OutputEmitterRef<void>;
13433
- /** Emitted when the user toggles the grid overlay in the View tab. */
13434
- readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
13435
- /** Emitted when the user toggles rulers in the View tab. */
13436
- readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
13437
- /** Emitted when the user toggles center guide lines in the View tab. */
13438
- readonly toggleGuides: _angular_core.OutputEmitterRef<void>;
13439
- /** Emitted when the user clicks "Selection Pane" in the View tab. */
13440
- readonly toggleSelectionPane: _angular_core.OutputEmitterRef<void>;
13441
- /** Emitted when the user clicks "Custom Shows" in the Slide Show tab. */
13442
- readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
13443
- /** Emitted when the user toggles snap-to-grid in the View tab. */
13444
- readonly toggleSnapToGrid: _angular_core.OutputEmitterRef<void>;
13445
- readonly toggleSnapToShape: _angular_core.OutputEmitterRef<void>;
13446
- readonly addGuide: _angular_core.OutputEmitterRef<"x" | "y">;
13447
- readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
13448
- /** Emitted when the user activates the eyedropper in the View tab. */
13449
- readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
13450
- /** "SmartArt" in the Insert tab; the host opens the gallery dialog and does the insert. */
13451
- readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
13452
- /** Emitted when the user clicks "Equation" in the Insert tab (opens the editor). */
13453
- readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
13454
- /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
13455
- readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
13456
- /** Emitted when the user clicks "Compare" in the Review tab. */
13457
- readonly openCompare: _angular_core.OutputEmitterRef<void>;
13458
- /** Emitted when the user clicks "Password" in the Review tab. */
13459
- readonly openPassword: _angular_core.OutputEmitterRef<void>;
13460
- /** Emitted when the user clicks "Fonts" in the Review tab. */
13461
- readonly openFontEmbedding: _angular_core.OutputEmitterRef<void>;
13462
- /** Emitted when the user clicks "Version History" in the Review tab. */
13463
- readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
13464
- /** Emitted when the user clicks "Shortcuts" in the Help tab. */
13465
- readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
13466
- /** Emitted when the user opens viewer preferences from the Help tab. */
13467
- readonly openSettings: _angular_core.OutputEmitterRef<void>;
13468
- protected readonly activeTab: _angular_core.WritableSignal<RibbonTab>;
13469
- /** Ribbon content expanded (true) vs collapsed to just the tab bar (false). */
13470
- protected readonly ribbonExpanded: _angular_core.WritableSignal<boolean>;
13471
- /** Route both File Options and Review Language to the real Settings dialog. */
13472
- protected requestSettings(): void;
13473
- /** Forward the Review proofing toggle to the viewer-owned live state. */
13474
- protected setSpellCheck(enabled: boolean): void;
13475
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
13476
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonComponent, "pptx-ribbon", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "hasMacros": { "alias": "hasMacros"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; "themeGalleryOpen": { "alias": "themeGalleryOpen"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; "isSignal": true; }; "inspectorOpen": { "alias": "inspectorOpen"; "required": false; "isSignal": true; }; "commentsOpen": { "alias": "commentsOpen"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "findOpen": { "alias": "findOpen"; "required": false; "isSignal": true; }; "collabConnected": { "alias": "collabConnected"; "required": false; "isSignal": true; }; "connectedCount": { "alias": "connectedCount"; "required": false; "isSignal": true; }; "spellCheckEnabled": { "alias": "spellCheckEnabled"; "required": false; "isSignal": true; }; "showSubtitles": { "alias": "showSubtitles"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; }, { "prev": "prev"; "next": "next"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; "find": "find"; "present": "present"; "presenter": "presenter"; "record": "record"; "presentFromBeginning": "presentFromBeginning"; "rehearseTimings": "rehearseTimings"; "toggleSubtitles": "toggleSubtitles"; "openSubtitleSettings": "openSubtitleSettings"; "recordFromBeginning": "recordFromBeginning"; "recordFromCurrent": "recordFromCurrent"; "spellCheckChange": "spellCheckChange"; "share": "share"; "broadcast": "broadcast"; "openFile": "openFile"; "openRecentFile": "openRecentFile"; "createPresentation": "createPresentation"; "save": "save"; "savePpsx": "savePpsx"; "savePptm": "savePptm"; "packageForSharing": "packageForSharing"; "toggleSidebar": "toggleSidebar"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openMasterView": "openMasterView"; "toggleNotes": "toggleNotes"; "toggleFormatPainter": "toggleFormatPainter"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "copySlideAsImage": "copySlideAsImage"; "replace": "replace"; "toggleInspector": "toggleInspector"; "drawToolChange": "drawToolChange"; "toggleThemeGallery": "toggleThemeGallery"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "openCustomShows": "openCustomShows"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; "openSmartArtDialog": "openSmartArtDialog"; "openEquationDialog": "openEquationDialog"; "openSetUpSlideShow": "openSetUpSlideShow"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; }, never, never, true, never>;
13477
- }
13478
-
13479
13526
  declare class RibbonAnimationsSectionComponent {
13480
13527
  private readonly editor;
13481
13528
  readonly slideIndex: _angular_core.InputSignal<number>;
@@ -14791,5 +14838,5 @@ declare const SEQUENCE_OPTIONS: ReadonlyArray<{
14791
14838
  labelKey: string;
14792
14839
  }>;
14793
14840
 
14794
- export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
14841
+ export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, POWER_POINT_VIEWER_PROVIDERS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
14795
14842
  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 };