pptx-angular-viewer 2.10.0 → 2.11.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 { PptxThemePreset, PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationDirection, PptxAnimationRepeatMode, PptxAnimationSequence, PptxAnimationTimingCurve, PptxAnimationTrigger, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartType, PptxTheme, PptxHandler, PptxData, PptxHeaderFooter, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, PptxTagCollection, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, MasterViewTab, SvgExportOptions, Model3DPptxElement, ZoomPptxElement, ChartPptxElement, MediaPptxElement, SmartArtPptxElement, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxChartMarkerSymbol, PptxSmartArtNode, SmartArtLayoutType, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
2
+ import { PptxThemePreset, PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartType, PptxTheme, PptxHandler, PptxData, PptxHeaderFooter, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, PptxTagCollection, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, MasterViewTab, SvgExportOptions, Model3DPptxElement, ZoomPptxElement, ChartPptxElement, MediaPptxElement, SmartArtPptxElement, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, PptxChartMarkerSymbol, ChartGridlineStyleEdit, 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, AfterViewInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
@@ -1475,7 +1475,11 @@ declare const DIRECTIONAL_PRESETS: Set<string>;
1475
1475
  declare function animationFor(slideAnimations: readonly PptxElementAnimation[], elementId: string): PptxElementAnimation | undefined;
1476
1476
  /**
1477
1477
  * Returns `true` when the element has at least one active effect (entrance,
1478
- * exit, or emphasis) in the slide's animation list.
1478
+ * exit, emphasis, or a motion path) in the slide's animation list.
1479
+ *
1480
+ * The motion path counts because it is driven by the same entry's timing
1481
+ * fields: without it, a motion-path-only element would hide its own
1482
+ * duration / delay / trigger controls.
1479
1483
  */
1480
1484
  declare function hasAnimation(slideAnimations: readonly PptxElementAnimation[], elementId: string): boolean;
1481
1485
  /**
@@ -1692,6 +1696,33 @@ interface ElementAnimationState {
1692
1696
  animatesStroke?: boolean;
1693
1697
  }
1694
1698
 
1699
+ /**
1700
+ * `motion-path-presets`: the authoring catalogue of PowerPoint motion-path
1701
+ * effects (Lines, Arcs, Turns, Shapes, Loops).
1702
+ *
1703
+ * WHY a path string and not a preset id: OOXML carries a motion path as free
1704
+ * form geometry in `p:animMotion/@path`; the integer `presetID` on a `path`
1705
+ * class node is informational and is NOT how PowerPoint reconstructs the
1706
+ * curve. So a preset here is a *named path string*, and applying one simply
1707
+ * writes that string onto the element's animation. Anything the user then
1708
+ * drags stays representable, and a deck authored elsewhere round-trips through
1709
+ * the same field.
1710
+ *
1711
+ * Coordinate space: the numbers are fractions of the SLIDE box, measured from
1712
+ * the animated element's own centre (`pathEditMode="relative"`), which is what
1713
+ * PowerPoint emits. `0.25 0` means "a quarter of the slide width to the right
1714
+ * of where the shape sits". Keeping the catalogue in the wire units means no
1715
+ * conversion happens on apply or save, only on render.
1716
+ *
1717
+ * The shapes/loops use x fractions of 0.125 against y fractions of 0.2222 so
1718
+ * they read as visually round on the 16:9 canvas the viewer renders at
1719
+ * (0.125 * 1280 === 0.2222 * 720 === 160 px).
1720
+ *
1721
+ * @module render/motion-path-presets
1722
+ */
1723
+ /** PowerPoint's five motion-path families, in ribbon order. */
1724
+ type MotionPathFamily = 'lines' | 'arcs' | 'turns' | 'shapes' | 'loops';
1725
+
1695
1726
  /**
1696
1727
  * table-style.ts — framework-agnostic table render helpers.
1697
1728
  *
@@ -4296,6 +4327,72 @@ type ReadingViewCommand = {
4296
4327
  command: 'none';
4297
4328
  };
4298
4329
 
4330
+ /**
4331
+ * PowerPoint's Outline view, as a framework-agnostic model of the deck's text.
4332
+ *
4333
+ * Outline view shows a deck as an indented text document: one line per slide
4334
+ * title at the far left, that slide's body text indented beneath it. It is the
4335
+ * fastest way to draft or restructure a deck, and no binding shipped it.
4336
+ *
4337
+ * This module owns the READ half (deck -> rows) plus the paragraph read/write
4338
+ * primitives the edit half builds on. `outline-view-edit` owns the WRITE half.
4339
+ * Both are pure: the bindings own the markup and the event listeners, and own
4340
+ * no rule about what a row is or what Tab does.
4341
+ *
4342
+ * Three decisions are worth stating up front, because they are the ones a
4343
+ * reader will otherwise assume were oversights:
4344
+ *
4345
+ * 1. **Placeholders first, then a fallback.** PowerPoint's outline shows only
4346
+ * placeholder text, and free text boxes never appear. Applying that alone
4347
+ * here would blank the outline for the many decks (and every deck this repo
4348
+ * hand-authors as a fixture) that carry no `<p:ph>` at all, which reads as a
4349
+ * broken feature rather than as fidelity. So placeholders win when present,
4350
+ * and a slide with none falls back to its text-bearing elements in document
4351
+ * order. See {@link resolveSlideOutlineElements}.
4352
+ * 2. **A slide always contributes at least one row.** A slide with no title
4353
+ * placeholder, or no text whatsoever, still gets a title row (with a null
4354
+ * `elementId`). Without it the outline silently hides slides, and hiding a
4355
+ * slide from the view whose entire job is to show the deck's structure is
4356
+ * the worst failure this feature has.
4357
+ * 3. **A row is one (element, paragraph) pair**, keyed by ids rather than by
4358
+ * position, so a key survives an edit that inserts a slide above it.
4359
+ *
4360
+ * @module render/outline-view
4361
+ */
4362
+
4363
+ /** Whether a row carries the slide's title or one of its body lines. */
4364
+ type OutlineRowKind = 'title' | 'body';
4365
+ /** One editable line of the outline. */
4366
+ interface OutlineRow {
4367
+ /**
4368
+ * Stable identity of the row: slide id, element id and paragraph index.
4369
+ *
4370
+ * Deliberately NOT the slide index: inserting a slide above this one must
4371
+ * not move a caret that is sitting in a row further down.
4372
+ */
4373
+ key: string;
4374
+ /** Zero-based position of the row's slide in the deck. */
4375
+ slideIndex: number;
4376
+ slideId: string;
4377
+ kind: OutlineRowKind;
4378
+ /**
4379
+ * Element the row's text lives in, or `null` for the synthetic title row of
4380
+ * a slide that has no text at all. Typing into a null-element row creates
4381
+ * the element (see `applyOutlineEdit`).
4382
+ */
4383
+ elementId: string | null;
4384
+ /** Zero-based paragraph index within {@link elementId}. */
4385
+ paragraphIndex: number;
4386
+ /**
4387
+ * Indent level as the outline shows it: `0` for a title, `1..9` for body
4388
+ * text. Body level `n` is the authored `a:pPr/@lvl` of `n - 1`, which is why
4389
+ * a top-level bullet is level 1 and not level 0: in the outline the title
4390
+ * occupies the leftmost column.
4391
+ */
4392
+ level: number;
4393
+ text: string;
4394
+ }
4395
+
4299
4396
  /**
4300
4397
  * The one definition of what the canvas context menu contains.
4301
4398
  *
@@ -6960,6 +7057,37 @@ declare class MobileBottomBarComponent {
6960
7057
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileBottomBarComponent, "pptx-mobile-bottom-bar", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "activeSheet": { "alias": "activeSheet"; "required": false; "isSignal": true; }; }, { "openSlides": "openSlides"; "insert": "insert"; "openFormat": "openFormat"; "openComments": "openComments"; "notes": "notes"; }, never, never, true, never>;
6961
7058
  }
6962
7059
 
7060
+ /** The deck after an outline edit, plus the slide the editor should land on. */
7061
+ interface OutlineCommit {
7062
+ slides: PptxSlide[];
7063
+ activeSlideIndex: number;
7064
+ }
7065
+ declare class OutlineViewOverlayComponent {
7066
+ /** The editable (template-free) deck. See the class docstring for why. */
7067
+ readonly slides: _angular_core.InputSignal<readonly PptxSlide[]>;
7068
+ readonly canvasSize: _angular_core.InputSignal<CanvasSize>;
7069
+ readonly canEdit: _angular_core.InputSignal<boolean>;
7070
+ /** Emits the deck after an edit, so the host records ONE undo entry. */
7071
+ readonly commit: _angular_core.OutputEmitterRef<OutlineCommit>;
7072
+ readonly closed: _angular_core.OutputEmitterRef<void>;
7073
+ protected readonly INDENT_PX = 22;
7074
+ protected readonly rows: _angular_core.Signal<OutlineRow[]>;
7075
+ private readonly rowsHost;
7076
+ protected onInput(event: Event, key: string): void;
7077
+ protected onRowKeyDown(event: KeyboardEvent, key: string): void;
7078
+ private run;
7079
+ /**
7080
+ * Restore the caret after the host has re-fed the new deck.
7081
+ *
7082
+ * Deferred to a microtask because the row that should take focus may not
7083
+ * exist yet: a new slide's title row only enters the DOM once change
7084
+ * detection has run over the committed deck.
7085
+ */
7086
+ private focusRow;
7087
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OutlineViewOverlayComponent, never>;
7088
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OutlineViewOverlayComponent, "pptx-outline-view-overlay", never, { "slides": { "alias": "slides"; "required": false; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "commit": "commit"; "closed": "closed"; }, never, never, true, never>;
7089
+ }
7090
+
6963
7091
  /** BroadcastChannel name shared between presenter and audience tabs. */
6964
7092
  declare const PRESENTER_CHANNEL_NAME = "pptx-viewer-presenter";
6965
7093
  /** Unique origin identifier so we only react to our own messages. */
@@ -8653,6 +8781,7 @@ declare class PowerPointViewerComponent {
8653
8781
  * pointer tools, no presenter console).
8654
8782
  */
8655
8783
  protected readonly showReadingView: _angular_core.WritableSignal<boolean>;
8784
+ protected readonly showOutlineView: _angular_core.WritableSignal<boolean>;
8656
8785
  /** Full-canvas master editor visibility and active target. */
8657
8786
  protected readonly showMasterView: _angular_core.WritableSignal<boolean>;
8658
8787
  protected readonly masterViewTab: _angular_core.WritableSignal<MasterViewTab>;
@@ -8743,6 +8872,14 @@ declare class PowerPointViewerComponent {
8743
8872
  * was when the reader entered.
8744
8873
  */
8745
8874
  protected closeReadingView(slideIndex: number): void;
8875
+ /**
8876
+ * Commit an outline edit as ONE undoable entry.
8877
+ *
8878
+ * `applyReplacement` rather than `setSlides`: the latter resets the undo
8879
+ * stack and the selection, which would make every keystroke in the outline
8880
+ * throw away the user's history.
8881
+ */
8882
+ protected onOutlineCommit(commit: OutlineCommit): void;
8746
8883
  goPrev(): void;
8747
8884
  protected onCreatePresentation(templateId: string): void;
8748
8885
  /**
@@ -8804,6 +8941,14 @@ declare class PowerPointViewerComponent {
8804
8941
  id: string;
8805
8942
  additive: boolean;
8806
8943
  }): void;
8944
+ /**
8945
+ * Commit a motion path dragged on the canvas.
8946
+ *
8947
+ * `setMotionPath` rather than a preset apply: the dragged geometry no longer
8948
+ * matches any catalogue entry, and it is written onto the SAME animation
8949
+ * entry the preset buckets use, so the element's entrance survives the edit.
8950
+ */
8951
+ protected onMotionPathChange(path: string): void;
8807
8952
  /** Context-menu "Ask AI about this": scope + open the assistant, empty composer. */
8808
8953
  protected onContextMenuAskAi(): void;
8809
8954
  /** Context-menu "Fix with AI": scope + open the assistant with a prefilled directive. */
@@ -9801,6 +9946,7 @@ declare class RibbonComponent {
9801
9946
  readonly openSorter: _angular_core.OutputEmitterRef<void>;
9802
9947
  /** View tab > Reading View: the deck full-window, not the slide show. */
9803
9948
  readonly openReadingView: _angular_core.OutputEmitterRef<void>;
9949
+ readonly openOutlineView: _angular_core.OutputEmitterRef<void>;
9804
9950
  readonly openMasterView: _angular_core.OutputEmitterRef<void>;
9805
9951
  readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
9806
9952
  readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
@@ -9839,6 +9985,10 @@ declare class RibbonComponent {
9839
9985
  readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
9840
9986
  /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
9841
9987
  readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
9988
+ /** Emitted when the user clicks "Hide Slide" in the Slide Show tab. */
9989
+ readonly toggleHideSlide: _angular_core.OutputEmitterRef<void>;
9990
+ /** Whether the active slide is hidden, for Hide Slide's pressed state. */
9991
+ readonly activeSlideHidden: _angular_core.InputSignal<boolean>;
9842
9992
  /** Emitted when the user clicks "Compare" in the Review tab. */
9843
9993
  readonly openCompare: _angular_core.OutputEmitterRef<void>;
9844
9994
  /** Emitted when the user clicks "Password" in the Review tab. */
@@ -9859,7 +10009,7 @@ declare class RibbonComponent {
9859
10009
  /** Forward the Review proofing toggle to the viewer-owned live state. */
9860
10010
  protected setSpellCheck(enabled: boolean): void;
9861
10011
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
9862
- 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; }; "aiEnabled": { "alias": "aiEnabled"; "required": false; "isSignal": true; }; "aiPanelOpen": { "alias": "aiPanelOpen"; "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"; "toggleAiPanel": "toggleAiPanel"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openReadingView": "openReadingView"; "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>;
10012
+ 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; }; "aiEnabled": { "alias": "aiEnabled"; "required": false; "isSignal": true; }; "aiPanelOpen": { "alias": "aiPanelOpen"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "activeSlideHidden": { "alias": "activeSlideHidden"; "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"; "toggleAiPanel": "toggleAiPanel"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openReadingView": "openReadingView"; "openOutlineView": "openOutlineView"; "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"; "toggleHideSlide": "toggleHideSlide"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; }, never, never, true, never>;
9863
10013
  }
9864
10014
 
9865
10015
  /** The eight resize-handle positions around a selection box. */
@@ -11747,6 +11897,21 @@ declare class ZoomRendererComponent {
11747
11897
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZoomRendererComponent, "pptx-zoom-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "markElement": { "alias": "markElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11748
11898
  }
11749
11899
 
11900
+ /**
11901
+ * presentation-overlay-chrome-styles.ts: the fixed-position inline styles for
11902
+ * the slide-show overlay's own chrome (close button, edge navigation buttons,
11903
+ * slide counter).
11904
+ *
11905
+ * These are `[ngStyle]` records rather than CSS classes because they must beat
11906
+ * whatever the host page's stylesheet does to a `<button>` inside a fullscreen
11907
+ * overlay, and because the safe-area `env()` offsets are read straight back by
11908
+ * the mobile e2e specs. They are static data with no dependency on component
11909
+ * state, so they live here instead of taking up a third of
11910
+ * {@link PresentationOverlayComponent}.
11911
+ */
11912
+ /** Inline style record as Angular's `[ngStyle]` consumes it. */
11913
+ type OverlayStyle = Record<string, string>;
11914
+
11750
11915
  declare class AnimationPlaybackService {
11751
11916
  private readonly destroyRef;
11752
11917
  /** Per-element native-animation state, keyed by element id. */
@@ -11940,46 +12105,168 @@ declare class PresentationAnnotationsService {
11940
12105
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PresentationAnnotationsService>;
11941
12106
  }
11942
12107
 
12108
+ /** Where a navigation request wants to go. */
12109
+ type ShowDirection = 'next' | 'prev' | 'first' | 'last';
12110
+ /**
12111
+ * The outgoing slide plus the incoming slide's transition, played over the new
12112
+ * slide. Cleared once the transition overlay reports completion.
12113
+ */
12114
+ interface ActiveSlideTransition {
12115
+ outgoing: PptxSlide;
12116
+ transition: PptxSlideTransition;
12117
+ }
12118
+ /** Everything the navigator needs from its host component. */
12119
+ interface ShowNavigatorDeps {
12120
+ slides: () => readonly PptxSlide[];
12121
+ /** The slide at the CURRENT index (a computed over `currentIndex`). */
12122
+ currentSlide: () => PptxSlide | undefined;
12123
+ showWithAnimation: () => boolean | undefined;
12124
+ playback: AnimationPlaybackService;
12125
+ annotations: PresentationAnnotationsService;
12126
+ /** Publish a committed index change to the host's `indexChange` output. */
12127
+ emitIndex: (index: number) => void;
12128
+ /** Ask the host to end the show; the host guards against double-closing. */
12129
+ requestClose: () => void;
12130
+ /**
12131
+ * File > Options > Advanced > "End with black slide". PowerPoint's default
12132
+ * is ON: running past the last slide raises a black "End of slide show"
12133
+ * screen and only the NEXT forward input ends the show. Turning it off ends
12134
+ * the show immediately instead. Undefined means the PowerPoint default.
12135
+ */
12136
+ endWithBlackSlide?: () => boolean | undefined;
12137
+ }
12138
+ declare class PresentationShowNavigator {
12139
+ private readonly deps;
12140
+ /** Zero-based index into `slides()`. */
12141
+ readonly currentIndex: _angular_core.WritableSignal<number>;
12142
+ /**
12143
+ * True once the show has run past its last slide and the black "End of slide
12144
+ * show" screen is up. It MUST be surfaced: while it is up the next input
12145
+ * either goes nowhere (backward) or ends the show (forward), so a deck that
12146
+ * kept painting its last slide looked stuck and swallowed every advance.
12147
+ */
12148
+ readonly endOfShow: _angular_core.WritableSignal<boolean>;
12149
+ /** Active slide-transition animation, or null when none is playing. */
12150
+ readonly activeTransition: _angular_core.WritableSignal<ActiveSlideTransition | null>;
12151
+ /**
12152
+ * Set just before a BACKWARD slide change so the host's slide effect seeds the
12153
+ * incoming slide as fully built. Read-and-cleared via
12154
+ * {@link takePendingCompletedEntry}.
12155
+ */
12156
+ private pendingCompletedEntry;
12157
+ /** Pending `p:transition/@advTm` auto-advance timer for the current slide. */
12158
+ private autoAdvanceTimer;
12159
+ constructor(deps: ShowNavigatorDeps);
12160
+ /**
12161
+ * Consume the "entered backward" flag. The host's per-slide effect asks once
12162
+ * per slide change, so this both reads and clears it.
12163
+ */
12164
+ takePendingCompletedEntry(): boolean;
12165
+ /**
12166
+ * Adopt an index pushed in by the host (its `startIndex` input, which an
12167
+ * audience display drives from the presenter's snapshot). Silent: it does not
12168
+ * echo back through `emitIndex`, which would fight the host for control.
12169
+ */
12170
+ syncFromHost(requestedIndex: number): void;
12171
+ /**
12172
+ * (Re)arm PowerPoint's "Advance slide: After <n>" timer, cancelling whatever
12173
+ * was pending. Always cancelling first is load-bearing: a manual advance must
12174
+ * never leave a stale timer running that then skips the slide the presenter
12175
+ * just moved to.
12176
+ */
12177
+ armAutoAdvance(delayMs: number | undefined): void;
12178
+ /** Cancel any pending timed auto-advance (also called on teardown). */
12179
+ clearAutoAdvance(): void;
12180
+ navigate(direction: ShowDirection): void;
12181
+ /**
12182
+ * Jump directly to `index` (clamped to the slide range). Used by the
12183
+ * zoom-navigation context for a click-to-jump from a zoom tile: this is a
12184
+ * transition-less jump, so it does NOT replay the target slide's transition.
12185
+ */
12186
+ goToSlide(index: number): void;
12187
+ /**
12188
+ * The single place a slide change becomes visible: set the transition, move
12189
+ * the index, retarget the annotation layer, and tell the host. Both entry
12190
+ * points share it so a change to one can never silently skip a step in the
12191
+ * other (they had drifted apart as four repeated statements before).
12192
+ */
12193
+ private commit;
12194
+ }
12195
+
12196
+ /**
12197
+ * presentation-input-controller.ts: turns raw keyboard and pointer events during
12198
+ * a slide show into show commands.
12199
+ *
12200
+ * PowerPoint's slide-show input rules are subtle and are the part of the overlay
12201
+ * most likely to be changed: a forward tap is gated by the slide's
12202
+ * `advanceOnClick` while a forward key press is not, an interactive shape
12203
+ * swallows the click that would otherwise advance, a drawing tool owns the
12204
+ * pointer outright, and an audience display must ignore its OWN input entirely
12205
+ * (its keyboard would move it off the presenter's slide, and the next snapshot
12206
+ * would drag it back, which reads as "the display refuses to advance").
12207
+ *
12208
+ * Those rules are pure decision logic over injected collaborators, so they live
12209
+ * here rather than in {@link PresentationOverlayComponent}, whose job is the
12210
+ * view. The component keeps only the `@HostListener` methods, which Angular
12211
+ * requires on the component class, and forwards to this controller.
12212
+ */
12213
+
12214
+ /** Everything the input rules need from the overlay component. */
12215
+ interface PresentationInputDeps {
12216
+ slides: () => readonly PptxSlide[];
12217
+ currentSlide: () => PptxSlide | undefined;
12218
+ /** The overlay root, used to (re)enter real fullscreen on a body click. */
12219
+ root: () => HTMLElement | null | undefined;
12220
+ navigator: PresentationShowNavigator;
12221
+ playback: AnimationPlaybackService;
12222
+ annotations: PresentationAnnotationsService;
12223
+ presenterWindow: PresenterWindowService;
12224
+ /** PowerPoint's Ctrl+M: hide ink markup without discarding the strokes. */
12225
+ toggleInkMarkup: () => void;
12226
+ /** End the show; the component guards against double-closing. */
12227
+ requestClose: () => void;
12228
+ }
12229
+ declare class PresentationInputController {
12230
+ private readonly deps;
12231
+ /** Digit buffer backing PowerPoint's "type a slide number, then Enter" jump. */
12232
+ private readonly keyBuffer;
12233
+ constructor(deps: PresentationInputDeps);
12234
+ /** Document-level key handling, so no focusable element is required. */
12235
+ handleKeyDown(event: KeyboardEvent): void;
12236
+ /** Left-click on the slide area advances to the next visible slide. */
12237
+ handleBodyClick(event: MouseEvent): void;
12238
+ /**
12239
+ * Click/tap/swipe advance. Like every forward step it first reveals the
12240
+ * current slide's next animation build; only once the builds are exhausted
12241
+ * does it advance the slide, and then only when the slide's transition allows
12242
+ * click-advance (advanceOnClick !== false). Keyboard and the on-screen
12243
+ * next/prev buttons call navigate() directly and are never gated.
12244
+ */
12245
+ advanceFromClick(): void;
12246
+ /** Toggle PowerPoint's blank black/white screen (B/W, or `.`/`,`). */
12247
+ private toggleBlank;
12248
+ }
12249
+
11943
12250
  /**
11944
12251
  * PresentationOverlayComponent: full-viewport black overlay that renders
11945
12252
  * slides in presentation (kiosk) mode.
11946
12253
  *
11947
12254
  * Selector: `pptx-presentation-overlay`
11948
12255
  *
11949
- * Inputs:
11950
- * - `slides` (required): all slides in the deck
11951
- * - `canvasSize` (required): logical canvas dimensions in pixels
11952
- * - `mediaDataUrls` : data-URL map for media assets (default: empty Map)
11953
- * - `startIndex` : zero-based slide to show first (default: 0)
12256
+ * This class is the VIEW and the wiring; the show's behaviour lives in four
12257
+ * siblings, each documented at its own definition (the per-input/output notes
12258
+ * below used to be repeated up here and had drifted, so they are not repeated
12259
+ * again):
11954
12260
  *
11955
- * Outputs:
11956
- * - `indexChange`: emits the new index on every navigation
11957
- * - `closed` : emits void when the overlay should be dismissed
11958
- *
11959
- * Keyboard bindings (document-level so no focusable element is required):
11960
- * ArrowRight / Space / PageDown next visible slide
11961
- * ArrowLeft / PageUp → previous visible slide
11962
- * Home → first slide
11963
- * End → last slide
11964
- * Escape → emit `closed`
11965
- *
11966
- * Touch bindings (mobile has no keyboard):
11967
- * Always-visible ✕ button (top-right) → emit `closed`
11968
- * ‹ / › edge buttons → previous / next visible slide
11969
- * Horizontal swipe → left → next, right → previous
11970
- *
11971
- * Click on the overlay body → advance to next visible slide.
11972
- *
11973
- * Fullscreen (mirrors the React `usePresentationMode` / Vue `PresentationMode.vue`
11974
- * behavior, on top of the CSS-fixed full-viewport overlay above): the real
11975
- * Fullscreen API is requested on this component's root element once it mounts,
11976
- * and released again on destroy, so the browser chrome (address bar, etc.) gets
11977
- * out of the way on mobile the same way it does for React/Vue. A
11978
- * `fullscreenchange` listener syncs back to `closed` when fullscreen is exited
11979
- * from outside this component's own close/Escape handling (browser UI, the
11980
- * Android back gesture, etc.). Environments without Fullscreen API support
11981
- * (iOS Safari's partial support, `jsdom` in tests) degrade silently to the
11982
- * plain CSS overlay.
12261
+ * - `presentation-show-navigator.ts` which slide is up, and why
12262
+ * - `presentation-input-controller.ts` keyboard + pointer rules
12263
+ * - `presentation-stage-animator.ts` element animation applied to the DOM
12264
+ * - `presentation-overlay-shell.ts` touch gestures + real Fullscreen API
12265
+ *
12266
+ * Beyond the CSS-fixed full-viewport overlay, a `fullscreenchange` listener
12267
+ * syncs back to `closed` when fullscreen is exited from OUTSIDE this
12268
+ * component's own close/Escape handling (browser UI, the Android back gesture),
12269
+ * which would otherwise leave the host stuck believing it is still presenting.
11983
12270
  */
11984
12271
  declare class PresentationOverlayComponent implements OnInit {
11985
12272
  protected readonly presenterWindow: PresenterWindowService;
@@ -12002,6 +12289,13 @@ declare class PresentationOverlayComponent implements OnInit {
12002
12289
  * screen so the room never sees the editing chrome.
12003
12290
  */
12004
12291
  readonly sessionEnded: _angular_core.InputSignal<boolean>;
12292
+ /**
12293
+ * File > Options > Advanced > "End with black slide". PowerPoint's default is
12294
+ * ON: advancing past the last slide raises the black "End of slide show"
12295
+ * screen and only the NEXT forward input ends the show. Off ends the show at
12296
+ * once instead of sitting on the last slide swallowing every advance.
12297
+ */
12298
+ readonly endWithBlackSlide: _angular_core.InputSignal<boolean>;
12005
12299
  readonly indexChange: _angular_core.OutputEmitterRef<number>;
12006
12300
  readonly closed: _angular_core.OutputEmitterRef<void>;
12007
12301
  readonly subtitlesChange: _angular_core.OutputEmitterRef<boolean>;
@@ -12010,37 +12304,30 @@ declare class PresentationOverlayComponent implements OnInit {
12010
12304
  * host can offer the keep/discard prompt (mirrors React's exit flow).
12011
12305
  */
12012
12306
  readonly annotationsExit: _angular_core.OutputEmitterRef<SlideAnnotationMap>;
12013
- /** Zero-based index into `slides()`. */
12014
- protected readonly currentIndex: _angular_core.WritableSignal<number>;
12015
12307
  /** PowerPoint's Ctrl+M: hide ink markup without discarding the strokes. */
12016
12308
  protected readonly inkMarkupVisible: _angular_core.WritableSignal<boolean>;
12309
+ /** Click-stepped element-animation playback for the current slide. */
12310
+ protected readonly playback: AnimationPlaybackService;
12311
+ /** Ink-annotation state (pen/highlighter/eraser/laser) for the show. */
12312
+ protected readonly annotations: PresentationAnnotationsService;
12017
12313
  /**
12018
- * True once the show has run past its last slide and the black "End of slide
12019
- * show" screen is up. It MUST be surfaced: while it is up the next input
12020
- * either goes nowhere (backward) or ends the show (forward), so a deck that
12021
- * kept painting its last slide looked stuck and swallowed every advance.
12314
+ * The show's navigation state machine (index, end-of-show screen, slide
12315
+ * transition, timed auto-advance). See `presentation-show-navigator.ts`.
12022
12316
  */
12023
- protected readonly endOfShow: _angular_core.WritableSignal<boolean>;
12317
+ protected readonly navigator: PresentationShowNavigator;
12024
12318
  /**
12025
- * Set just before a BACKWARD slide change so the slide effect seeds the
12026
- * incoming slide as fully built.
12319
+ * Keyboard / pointer rules for the running show. See
12320
+ * `presentation-input-controller.ts`.
12027
12321
  */
12028
- private pendingCompletedEntry;
12322
+ protected readonly input: PresentationInputController;
12323
+ /** Template aliases for the navigator's state. */
12324
+ protected readonly currentIndex: _angular_core.WritableSignal<number>;
12325
+ protected readonly endOfShow: _angular_core.WritableSignal<boolean>;
12326
+ protected readonly activeTransition: _angular_core.WritableSignal<ActiveSlideTransition | null>;
12029
12327
  /** Mirror the host's audience "session ended" flag onto the end screen. */
12030
12328
  private readonly syncSessionEnded;
12329
+ /** Adopt an index the host pushed in (an audience display mirrors one). */
12031
12330
  private readonly syncExternalIndex;
12032
- /**
12033
- * Active slide-transition animation: the outgoing slide + the incoming
12034
- * slide's transition, played over the new slide. Cleared on completion.
12035
- */
12036
- protected readonly activeTransition: _angular_core.WritableSignal<{
12037
- outgoing: PptxSlide;
12038
- transition: PptxSlideTransition;
12039
- } | null>;
12040
- /** Click-stepped element-animation playback for the current slide. */
12041
- protected readonly playback: AnimationPlaybackService;
12042
- /** Ink-annotation state (pen/highlighter/eraser/laser) for the show. */
12043
- protected readonly annotations: PresentationAnnotationsService;
12044
12331
  /**
12045
12332
  * Zoom-navigation context (provided at this component level). The handler is
12046
12333
  * registered in the constructor so a descendant zoom tile can jump to its
@@ -12049,6 +12336,12 @@ declare class PresentationOverlayComponent implements OnInit {
12049
12336
  private readonly zoomNavigation;
12050
12337
  /** The slide stage root; animation styles are applied to its elements. */
12051
12338
  private readonly stageRef;
12339
+ /**
12340
+ * Applies the playback service's per-element animation state to the rendered
12341
+ * stage, and owns the hover-trigger state machine (see
12342
+ * `presentation-stage-animator.ts`).
12343
+ */
12344
+ private readonly stageAnimator;
12052
12345
  /**
12053
12346
  * The overlay root; the shared touch-gesture recogniser attaches here, and
12054
12347
  * it is the element the real Fullscreen API is requested on (see
@@ -12068,29 +12361,12 @@ declare class PresentationOverlayComponent implements OnInit {
12068
12361
  * document by {@link ensurePresetAnimationKeyframes}.
12069
12362
  */
12070
12363
  private readonly slideKeyframes;
12071
- /** The hover-trigger shape the pointer is currently over (fires a sequence once). */
12072
- private currentHoverTriggerId;
12073
- /** Pending `p:transition/@advTm` auto-advance timer for the current slide. */
12074
- private autoAdvanceTimer;
12075
12364
  constructor();
12076
12365
  /**
12077
- * Imperatively apply each tracked element's native-animation state to its DOM
12078
- * wrapper: visibility (entrance hide-until-revealed / exit), the CSS-animation
12079
- * shorthand (entrance / emphasis / exit / colour keyframes), and a pointer
12080
- * cursor on interactive / hover trigger shapes. Mirrors the Vue
12081
- * `applyAnimationStyles`; every renderer emits a `data-element-id`, so this
12082
- * needs no per-element renderer plumbing.
12083
- */
12084
- private applyAnimationStyles;
12085
- /** Resolve the nearest element id above a pointer target, if any. */
12086
- private closestElementId;
12087
- /**
12088
- * Pointer moved over the stage: (re)play a hover-trigger shape's sequence once
12089
- * on entering it (not on every descendant transition that `mouseover` bubbles
12090
- * up), resetting the previous trigger on leaving it.
12366
+ * Stage-hover forwarding. The animator owns the "which shape is hovered"
12367
+ * state machine; the template only needs the two DOM events.
12091
12368
  */
12092
12369
  protected onStageHover(event: MouseEvent): void;
12093
- /** Pointer left the stage subtree entirely: reset any active hover trigger. */
12094
12370
  protected onStageHoverEnd(event: MouseEvent): void;
12095
12371
  /** Viewport dimensions, updated on resize. */
12096
12372
  private readonly viewportW;
@@ -12102,35 +12378,10 @@ declare class PresentationOverlayComponent implements OnInit {
12102
12378
  protected readonly stageContainerStyle: _angular_core.Signal<Record<string, string>>;
12103
12379
  /** "3 / 12" label. */
12104
12380
  protected readonly counterLabel: _angular_core.Signal<string>;
12105
- /**
12106
- * Always-visible close button, fixed at the top-right and offset by the
12107
- * device safe-area insets so it clears notches / rounded corners. Sits on a
12108
- * higher z-index than the stage so taps never fall through to tap-advance.
12109
- */
12110
- protected readonly closeButtonStyle: Record<string, string>;
12111
- /** Shared geometry for the left/right edge navigation buttons. */
12112
- private readonly navButtonBase;
12113
- protected readonly prevButtonStyle: Record<string, string>;
12114
- protected readonly nextButtonStyle: Record<string, string>;
12115
- protected readonly counterStyle: Record<string, string>;
12116
- /**
12117
- * Wire the shared touch-gesture recogniser to the overlay root so a
12118
- * horizontal swipe navigates: swipe left (direction -1) advances to the
12119
- * next visible slide, swipe right (direction 1) returns to the previous,
12120
- * matching the prior bespoke handler's semantics. Pinch is made inert
12121
- * (equal min/max scale, no-op getScale) and there is no long-press in
12122
- * presentation mode. Attach happens once the root node is live
12123
- * (afterNextRender) and is torn down on destroy.
12124
- */
12125
- private setupTouchGestures;
12126
- /**
12127
- * Request real fullscreen on the overlay root once it mounts, and release
12128
- * it again when the overlay is destroyed (`presenting` flips back to
12129
- * false, closing this `@if` block). Mirrors Vue's `onMounted` /
12130
- * `onBeforeUnmount` pair on its own overlay root; feature-detected so
12131
- * unsupported environments just keep the CSS overlay.
12132
- */
12133
- private setupFullscreen;
12381
+ protected readonly closeButtonStyle: OverlayStyle;
12382
+ protected readonly prevButtonStyle: OverlayStyle;
12383
+ protected readonly nextButtonStyle: OverlayStyle;
12384
+ protected readonly counterStyle: OverlayStyle;
12134
12385
  /**
12135
12386
  * Sync back to `closed` when fullscreen is exited from OUTSIDE this
12136
12387
  * component's own close/Escape handling: the browser's native Esc handling
@@ -12144,53 +12395,31 @@ declare class PresentationOverlayComponent implements OnInit {
12144
12395
  ngOnInit(): void;
12145
12396
  onWindowResize(): void;
12146
12397
  private snapViewport;
12147
- /** Digit buffer backing PowerPoint's "type a slide number, then Enter" jump. */
12148
- private readonly keyBuffer;
12149
- onKeyDown(event: KeyboardEvent): void;
12150
- /** Toggle PowerPoint's blank black/white screen (B/W, or `.`/`,`). */
12151
- private toggleBlank;
12152
- /** Left-click on the slide area advances to the next visible slide. */
12153
- protected onBodyClick(event: MouseEvent): void;
12154
12398
  /**
12155
- * Click/tap/swipe advance. Like every forward step it first reveals the
12156
- * current slide's next animation build; only once the builds are exhausted
12157
- * does it advance the slide, and then only when the slide's transition allows
12158
- * click-advance (advanceOnClick !== false). Keyboard and the on-screen
12159
- * next/prev buttons call navigate() directly and are never gated.
12399
+ * `@HostListener` must sit on the component class, so these two stay here and
12400
+ * forward; the rules they implement live in the input controller.
12160
12401
  */
12161
- private advanceFromClick;
12402
+ onKeyDown(event: KeyboardEvent): void;
12403
+ protected onBodyClick(event: MouseEvent): void;
12162
12404
  /** Click on the end screen: exit the show, like PowerPoint's "click to exit". */
12163
12405
  protected onEndScreenClick(event: MouseEvent): void;
12164
12406
  /** Toggle an annotation tool (clicking the active one disarms it). */
12165
12407
  protected selectTool(tool: 'pen' | 'highlighter' | 'eraser' | 'laser'): void;
12166
12408
  /** Toggle the live-caption (subtitle) bar. */
12167
12409
  protected toggleSubtitles(): void;
12168
- /** Close button click: stop propagation so it does not also advance. */
12169
- protected onClose(event: MouseEvent): void;
12170
- /**
12171
- * Close button touch: stop propagation and prevent the synthesized click
12172
- * so a tap exits without bubbling to the tap-advance handler.
12173
- */
12174
- protected onCloseTouch(event: TouchEvent): void;
12175
- /** Previous-edge button: stop propagation so the tap does not double-fire. */
12176
- protected onPrev(event: MouseEvent): void;
12177
- protected onPrevTouch(event: TouchEvent): void;
12178
- /** Next-edge button: stop propagation so the tap does not double-fire. */
12179
- protected onNext(event: MouseEvent): void;
12180
- protected onNextTouch(event: TouchEvent): void;
12181
- /** Cancel any pending timed auto-advance. */
12182
- private clearAutoAdvanceTimer;
12183
- private navigate;
12184
- /**
12185
- * Jump directly to `index` (clamped to the slide range), committing the same
12186
- * way `navigate()` does its final step. Used by the zoom-navigation context
12187
- * for a click-to-jump from a zoom tile: this is a transition-less jump, so it
12188
- * does NOT replay the target slide's transition.
12189
- */
12190
- private goToSlide;
12410
+ /**
12411
+ * Overlay-chrome buttons (close / previous / next). Each is bound for both
12412
+ * `click` and `touchend`: the touch path additionally prevents the browser's
12413
+ * synthesized click so one tap does not fire the action twice, and every one
12414
+ * of them stops propagation so the press never also reaches the stage's
12415
+ * tap-to-advance handler.
12416
+ */
12417
+ protected onChromeButton(event: MouseEvent, action: 'close' | 'prev' | 'next'): void;
12418
+ protected onChromeButtonTouch(event: TouchEvent, action: 'close' | 'prev' | 'next'): void;
12419
+ private runChromeAction;
12191
12420
  private emitClosed;
12192
12421
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresentationOverlayComponent, never>;
12193
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationOverlayComponent, "pptx-presentation-overlay", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "startIndex": { "alias": "startIndex"; "required": false; "isSignal": true; }; "showWithAnimation": { "alias": "showWithAnimation"; "required": false; "isSignal": true; }; "useTimings": { "alias": "useTimings"; "required": false; "isSignal": true; }; "subtitlesVisible": { "alias": "subtitlesVisible"; "required": false; "isSignal": true; }; "sessionEnded": { "alias": "sessionEnded"; "required": false; "isSignal": true; }; }, { "indexChange": "indexChange"; "closed": "closed"; "subtitlesChange": "subtitlesChange"; "annotationsExit": "annotationsExit"; }, never, never, true, never>;
12422
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationOverlayComponent, "pptx-presentation-overlay", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "startIndex": { "alias": "startIndex"; "required": false; "isSignal": true; }; "showWithAnimation": { "alias": "showWithAnimation"; "required": false; "isSignal": true; }; "useTimings": { "alias": "useTimings"; "required": false; "isSignal": true; }; "subtitlesVisible": { "alias": "subtitlesVisible"; "required": false; "isSignal": true; }; "sessionEnded": { "alias": "sessionEnded"; "required": false; "isSignal": true; }; "endWithBlackSlide": { "alias": "endWithBlackSlide"; "required": false; "isSignal": true; }; }, { "indexChange": "indexChange"; "closed": "closed"; "subtitlesChange": "subtitlesChange"; "annotationsExit": "annotationsExit"; }, never, never, true, never>;
12194
12423
  }
12195
12424
 
12196
12425
  /**
@@ -12959,6 +13188,25 @@ declare function buildGradientFillCss(stops: Array<{
12959
13188
  color: string;
12960
13189
  position: number;
12961
13190
  }>, type: 'linear' | 'radial', angle: number): string;
13191
+ /**
13192
+ * Preset a pattern fill falls back to when the cell carries none.
13193
+ *
13194
+ * Matches the reference binding, and the value the panel seeds when the fill
13195
+ * mode is switched to "pattern".
13196
+ */
13197
+ declare const DEFAULT_PATTERN_FILL_PRESET = "ltDnDiag";
13198
+ /**
13199
+ * The presets the pattern picker offers for a cell currently set to `current`.
13200
+ *
13201
+ * WHY this is not just `PATTERN_OPTIONS`: that list is the first 20 of the 56
13202
+ * OOXML presets, and the fallback preset (`ltDnDiag`, index 27) is not among
13203
+ * them. A cell carrying any preset outside the slice therefore rendered a
13204
+ * `<select>` whose value matched no `<option>`, so the browser displayed the
13205
+ * first entry instead and the very next interaction silently rewrote a fill the
13206
+ * user never touched. Appending the current preset when it is off-list keeps it
13207
+ * representable without changing the catalogue the picker offers.
13208
+ */
13209
+ declare function patternPresetOptions(current: string | undefined): readonly string[];
12962
13210
 
12963
13211
  declare class TablePropertiesComponent {
12964
13212
  /** The table element being edited. */
@@ -13040,6 +13288,15 @@ declare class TableCellFormattingComponent {
13040
13288
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableCellFormattingComponent, "pptx-table-cell-formatting", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "elementChange": "elementChange"; }, never, never, true, never>;
13041
13289
  }
13042
13290
 
13291
+ /** SmartArt colour variation (`colorful1` ... `monochromatic2`). */
13292
+ declare function smartArtColorSchemeLabelKey(scheme: string): string;
13293
+ /** SmartArt style intensity (`flat` / `moderate` / `intense`). */
13294
+ declare function smartArtStyleLabelKey(style: string): string;
13295
+ /** SmartArt layout family (`list`, `process`, `bending`, ...). */
13296
+ declare function smartArtLayoutLabelKey(layout: string): string;
13297
+ /** `a:pattFill/@prst` preset (`pct5`, `ltDnDiag`, `zigZag`, ...). */
13298
+ declare function fillPatternLabelKey(preset: string): string;
13299
+
13043
13300
  type GradientStop = {
13044
13301
  color: string;
13045
13302
  position: number;
@@ -13059,7 +13316,16 @@ declare class TableCellAdvancedFillComponent {
13059
13316
  value: string;
13060
13317
  i18nKey: string;
13061
13318
  }[];
13062
- protected readonly patterns: ("horz" | "vert" | "pct5" | "pct10" | "pct20" | "pct25" | "pct30" | "pct40" | "pct50" | "pct60" | "pct70" | "pct75" | "pct80" | "pct90" | "ltHorz" | "dkHorz" | "narHorz" | "wdHorz" | "ltVert" | "dkVert" | "narVert" | "wdVert" | "dashHorz" | "dashVert" | "cross" | "dnDiag" | "ltDnDiag" | "dkDnDiag" | "wdDnDiag" | "dashDnDiag" | "upDiag" | "ltUpDiag" | "dkUpDiag" | "wdUpDiag" | "dashUpDiag" | "diagCross" | "smCheck" | "lgCheck" | "smGrid" | "lgGrid" | "dotGrid" | "smConfetti" | "lgConfetti" | "horzBrick" | "diagBrick" | "solidDmnd" | "openDmnd" | "dotDmnd" | "plaid" | "sphere" | "weave" | "divot" | "shingle" | "wave" | "trellis" | "zigZag")[];
13319
+ /** The cell's pattern preset, or the fallback the panel would seed. */
13320
+ protected readonly patternPreset: _angular_core.Signal<string>;
13321
+ /**
13322
+ * Offered presets, widened to include the current one when it sits outside
13323
+ * the offered slice (the fallback preset does), so the `<select>` cannot show
13324
+ * a value the cell does not have and then commit it on the next change.
13325
+ */
13326
+ protected readonly patterns: _angular_core.Signal<readonly string[]>;
13327
+ /** Spell a preset: the picker used to offer `ltHorz` / `narVert` verbatim. */
13328
+ protected patternLabelKey: typeof fillPatternLabelKey;
13063
13329
  protected readonly margins: ReadonlyArray<{
13064
13330
  key: 'marginTop' | 'marginBottom' | 'marginLeft' | 'marginRight';
13065
13331
  label: string;
@@ -13294,6 +13560,28 @@ declare class ChartComboTypeOptionsComponent {
13294
13560
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartComboTypeOptionsComponent, "pptx-chart-combo-type-options", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "elementChange": "elementChange"; }, never, never, true, never>;
13295
13561
  }
13296
13562
 
13563
+ declare class ChartDatapointMarkerOptionsComponent {
13564
+ readonly element: _angular_core.InputSignal<ChartPptxElement>;
13565
+ readonly canEdit: _angular_core.InputSignal<boolean>;
13566
+ readonly elementChange: _angular_core.OutputEmitterRef<ChartPptxElement>;
13567
+ protected readonly symbolOptions: ChartOption<ChartMarkerSymbolValue>[];
13568
+ private readonly seriesIndex;
13569
+ protected readonly series: _angular_core.Signal<PptxChartSeries[]>;
13570
+ protected readonly categories: _angular_core.Signal<string[]>;
13571
+ /** Clamp the picker: removing a series must not strand the index past the end. */
13572
+ protected readonly activeIndex: _angular_core.Signal<number>;
13573
+ protected readonly supported: _angular_core.Signal<boolean>;
13574
+ protected markerAt(pointIndex: number): PptxChartMarker | undefined;
13575
+ protected onSeries(event: Event): void;
13576
+ protected onToggle(pointIndex: number, event: Event): void;
13577
+ protected onSymbol(pointIndex: number, event: Event): void;
13578
+ protected onSize(pointIndex: number, event: Event): void;
13579
+ protected onFill(pointIndex: number, event: Event): void;
13580
+ private emit;
13581
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartDatapointMarkerOptionsComponent, never>;
13582
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartDatapointMarkerOptionsComponent, "pptx-chart-datapoint-marker-options", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "elementChange": "elementChange"; }, never, never, true, never>;
13583
+ }
13584
+
13297
13585
  declare class ChartDatapointOptionsComponent {
13298
13586
  readonly element: _angular_core.InputSignal<ChartPptxElement>;
13299
13587
  readonly canEdit: _angular_core.InputSignal<boolean>;
@@ -13346,6 +13634,91 @@ declare class ChartErrorBarOptionsComponent {
13346
13634
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartErrorBarOptionsComponent, "pptx-chart-error-bar-options", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "elementChange": "elementChange"; }, never, never, true, never>;
13347
13635
  }
13348
13636
 
13637
+ /**
13638
+ * animation-author-helpers.ts: Angular shim over the shared element-animation
13639
+ * authoring model.
13640
+ *
13641
+ * The pure, immutable `PptxElementAnimation[]` readers + patch builders now live
13642
+ * in `pptx-viewer-shared` (`render/animation-authoring`), consolidated with the
13643
+ * Vue authoring model. They are re-exported here so the authoring panel / ribbon
13644
+ * keep importing the same names.
13645
+ *
13646
+ * What stays Angular-local: the **labelled** option catalogs the templates bind
13647
+ * to (`ENTRANCE_PRESETS` … `DIRECTION_OPTIONS`). Shared exposes only the value
13648
+ * lists (`ENTRANCE_PRESET_VALUES` …) because the human label / arrow glyph is a
13649
+ * view concern; this module pairs each value with its Angular display label.
13650
+ */
13651
+
13652
+ /** Subset of entrance presets surfaced in the authoring UI. */
13653
+ declare const ENTRANCE_PRESETS: ReadonlyArray<{
13654
+ value: PptxAnimationPreset;
13655
+ label: string;
13656
+ labelKey: string;
13657
+ }>;
13658
+ /** Subset of exit presets surfaced in the authoring UI. */
13659
+ declare const EXIT_PRESETS: ReadonlyArray<{
13660
+ value: PptxAnimationPreset;
13661
+ label: string;
13662
+ labelKey: string;
13663
+ }>;
13664
+ /** Subset of emphasis presets surfaced in the authoring UI. */
13665
+ declare const EMPHASIS_PRESETS: ReadonlyArray<{
13666
+ value: PptxAnimationPreset;
13667
+ label: string;
13668
+ labelKey: string;
13669
+ }>;
13670
+ /** Trigger options for the trigger selector. */
13671
+ declare const TRIGGER_OPTIONS: ReadonlyArray<{
13672
+ value: PptxAnimationTrigger;
13673
+ label: string;
13674
+ labelKey: string;
13675
+ }>;
13676
+ /** Timing curve options. */
13677
+ declare const TIMING_CURVE_OPTIONS: ReadonlyArray<{
13678
+ value: PptxAnimationTimingCurve;
13679
+ label: string;
13680
+ labelKey: string;
13681
+ }>;
13682
+ /** Repeat-mode options (`'none'` means clear the field). */
13683
+ declare const REPEAT_MODE_OPTIONS: ReadonlyArray<{
13684
+ value: 'none' | PptxAnimationRepeatMode;
13685
+ label: string;
13686
+ labelKey: string;
13687
+ }>;
13688
+ /** Direction options for directional presets (fly in/out, wipe). */
13689
+ declare const DIRECTION_OPTIONS: ReadonlyArray<{
13690
+ value: PptxAnimationDirection;
13691
+ label: string;
13692
+ labelKey: string;
13693
+ /** Unicode arrow glyph used as an icon substitute in the Angular template. */
13694
+ arrow: string;
13695
+ }>;
13696
+ /** Sequence options for paragraph/word/letter builds. */
13697
+ declare const SEQUENCE_OPTIONS: ReadonlyArray<{
13698
+ value: PptxAnimationSequence;
13699
+ label: string;
13700
+ labelKey: string;
13701
+ }>;
13702
+
13703
+ /** Controls backed by a `<select>` (or any control yielding a string). */
13704
+ declare const ANIMATION_SELECT_SETTERS: {
13705
+ readonly entrance: typeof setAnimationEntrance;
13706
+ readonly emphasis: typeof setAnimationEmphasis;
13707
+ readonly exit: typeof setAnimationExit;
13708
+ readonly sequence: typeof setSequence;
13709
+ readonly trigger: typeof setTrigger;
13710
+ readonly timingCurve: typeof setTimingCurve;
13711
+ readonly repeatMode: typeof setRepeatMode;
13712
+ };
13713
+ /** Controls backed by a numeric `<input>`. */
13714
+ declare const ANIMATION_NUMBER_SETTERS: {
13715
+ readonly duration: typeof setDuration;
13716
+ readonly delay: typeof setDelay;
13717
+ readonly repeatCount: typeof setRepeatCount;
13718
+ };
13719
+ type AnimationSelectField = keyof typeof ANIMATION_SELECT_SETTERS;
13720
+ type AnimationNumberField = keyof typeof ANIMATION_NUMBER_SETTERS;
13721
+
13349
13722
  declare class AnimationAuthorPanelComponent {
13350
13723
  private readonly translate;
13351
13724
  /** The selected element whose animation settings are being authored. */
@@ -13372,32 +13745,32 @@ declare class AnimationAuthorPanelComponent {
13372
13745
  */
13373
13746
  readonly animationsChange: _angular_core.OutputEmitterRef<PptxElementAnimation[]>;
13374
13747
  protected readonly entrancePresets: readonly {
13375
- value: PptxAnimationPreset;
13748
+ value: pptx_viewer_core.PptxAnimationPreset;
13376
13749
  label: string;
13377
13750
  labelKey: string;
13378
13751
  }[];
13379
13752
  protected readonly exitPresets: readonly {
13380
- value: PptxAnimationPreset;
13753
+ value: pptx_viewer_core.PptxAnimationPreset;
13381
13754
  label: string;
13382
13755
  labelKey: string;
13383
13756
  }[];
13384
13757
  protected readonly emphasisPresets: readonly {
13385
- value: PptxAnimationPreset;
13758
+ value: pptx_viewer_core.PptxAnimationPreset;
13386
13759
  label: string;
13387
13760
  labelKey: string;
13388
13761
  }[];
13389
13762
  protected readonly triggerOptions: readonly {
13390
- value: PptxAnimationTrigger;
13763
+ value: pptx_viewer_core.PptxAnimationTrigger;
13391
13764
  label: string;
13392
13765
  labelKey: string;
13393
13766
  }[];
13394
13767
  protected readonly timingCurveOptions: readonly {
13395
- value: PptxAnimationTimingCurve;
13768
+ value: pptx_viewer_core.PptxAnimationTimingCurve;
13396
13769
  label: string;
13397
13770
  labelKey: string;
13398
13771
  }[];
13399
13772
  protected readonly repeatModeOptions: readonly {
13400
- value: "none" | PptxAnimationRepeatMode;
13773
+ value: "none" | pptx_viewer_core.PptxAnimationRepeatMode;
13401
13774
  label: string;
13402
13775
  labelKey: string;
13403
13776
  }[];
@@ -13408,7 +13781,7 @@ declare class AnimationAuthorPanelComponent {
13408
13781
  arrow: string;
13409
13782
  }[];
13410
13783
  protected readonly sequenceOptions: readonly {
13411
- value: PptxAnimationSequence;
13784
+ value: pptx_viewer_core.PptxAnimationSequence;
13412
13785
  label: string;
13413
13786
  labelKey: string;
13414
13787
  }[];
@@ -13443,18 +13816,30 @@ declare class AnimationAuthorPanelComponent {
13443
13816
  protected elementLabel(element: PptxElement): string;
13444
13817
  private emit;
13445
13818
  protected onPreview(): void;
13446
- protected onEntranceChange(event: Event): void;
13447
- protected onExitChange(event: Event): void;
13448
- protected onEmphasisChange(event: Event): void;
13449
- protected onTriggerChange(event: Event): void;
13819
+ /**
13820
+ * Every `<select>` in the panel commits through here. The field name picks the
13821
+ * shared patch builder out of {@link ANIMATION_SELECT_SETTERS}; see that
13822
+ * module for why there is one handler rather than seven.
13823
+ */
13824
+ protected onSelect(event: Event, field: AnimationSelectField): void;
13825
+ /** Every numeric `<input>` in the panel commits through here. */
13826
+ protected onNumber(event: Event, field: AnimationNumberField): void;
13827
+ /**
13828
+ * The trigger-shape picker is the exception to the table above: its empty
13829
+ * option means "no trigger shape" and must reach the setter as `undefined`
13830
+ * rather than being ignored.
13831
+ */
13450
13832
  protected onTriggerShapeChange(event: Event): void;
13451
- protected onDurationChange(event: Event): void;
13452
- protected onDelayChange(event: Event): void;
13453
- protected onTimingCurveChange(event: Event): void;
13454
- protected onRepeatCountChange(event: Event): void;
13455
- protected onRepeatModeChange(event: Event): void;
13833
+ /**
13834
+ * Apply or clear the element's motion path.
13835
+ *
13836
+ * The path lives on the SAME animation entry as the preset buckets, so this
13837
+ * deliberately does not go through the preset setters: applying a path must
13838
+ * leave an existing entrance alone, and clearing one must drop the entry only
13839
+ * when nothing else is left on it. Both rules live in the shared helpers.
13840
+ */
13841
+ protected onMotionPathChange(presetId: string): void;
13456
13842
  protected onDirectionChange(dir: PptxAnimationDirection): void;
13457
- protected onSequenceChange(event: Event): void;
13458
13843
  protected onMoveUp(): void;
13459
13844
  protected onMoveDown(): void;
13460
13845
  protected onRemove(): void;
@@ -14388,6 +14773,11 @@ declare class SlideThemeOverridePanelComponent {
14388
14773
  protected readonly slots: readonly ["dk1", "lt1", "dk2", "lt2", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "hlink", "folHlink"];
14389
14774
  protected readonly labels: Record<"accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "hlink" | "folHlink" | "tx1" | "tx2" | "bg1" | "bg2", string>;
14390
14775
  protected readonly active: _angular_core.Signal<boolean>;
14776
+ /**
14777
+ * Spell a target slot: the picker used to offer `dk1` / `folHlink` verbatim,
14778
+ * which read as noise next to the friendly alias label in the same row.
14779
+ */
14780
+ protected slotLabelKey(slot: string): string;
14391
14781
  protected current(alias: ColorMapAliasKey): string;
14392
14782
  protected slotColor(slot: string): string | undefined;
14393
14783
  private emitOverride;
@@ -14405,12 +14795,17 @@ interface CustomThemeEdit {
14405
14795
  declare class ThemeEditorFieldsComponent {
14406
14796
  readonly theme: _angular_core.InputSignal<PptxTheme | undefined>;
14407
14797
  readonly applyTheme: _angular_core.OutputEmitterRef<CustomThemeEdit>;
14408
- readonly slots: Array<keyof PptxThemeColorScheme>;
14798
+ readonly slots: (keyof PptxThemeColorScheme)[];
14409
14799
  readonly colors: _angular_core.WritableSignal<PptxThemeColorScheme>;
14410
14800
  readonly name: _angular_core.WritableSignal<string>;
14411
14801
  readonly majorFont: _angular_core.WritableSignal<string>;
14412
14802
  readonly minorFont: _angular_core.WritableSignal<string>;
14413
14803
  ngOnInit(): void;
14804
+ /**
14805
+ * Spell a theme slot: the swatch used to be captioned (and tooltipped) with
14806
+ * the raw `a:clrScheme` child name, so users saw `dk1` / `folHlink`.
14807
+ */
14808
+ protected slotLabelKey(slot: keyof PptxThemeColorScheme): string;
14414
14809
  protected value(event: Event): string;
14415
14810
  protected color(slot: keyof PptxThemeColorScheme): string;
14416
14811
  protected setColor(slot: keyof PptxThemeColorScheme, event: Event): void;
@@ -15202,7 +15597,7 @@ declare class AccountPageComponent {
15202
15597
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
15203
15598
  private readonly translate;
15204
15599
  protected readonly swatches: readonly string[];
15205
- protected readonly version = "2.9.0";
15600
+ protected readonly version = "2.11.0";
15206
15601
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
15207
15602
  protected readonly initial: _angular_core.Signal<string>;
15208
15603
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -16083,6 +16478,15 @@ declare function setSeriesMarker(element: ChartPptxElement, seriesIndex: number,
16083
16478
  declare function setSeriesChartType(element: ChartPptxElement, seriesIndex: number, seriesType: PptxChartType | null): ChartPptxElement;
16084
16479
  /** Set or clear a per-data-point fill colour. */
16085
16480
  declare function setDataPointFill(element: ChartPptxElement, seriesIndex: number, pointIndex: number, color: string | null): ChartPptxElement;
16481
+ /**
16482
+ * Set or clear a per-data-point marker override (`c:dPt/c:marker`), which
16483
+ * replaces the series marker for that one point.
16484
+ */
16485
+ declare function setDataPointMarker(element: ChartPptxElement, seriesIndex: number, pointIndex: number, marker: {
16486
+ symbol?: PptxChartMarkerSymbol;
16487
+ size?: number;
16488
+ fillColor?: string;
16489
+ } | null): ChartPptxElement;
16086
16490
  /** Set or clear a per-data-point pie/doughnut slice explosion. */
16087
16491
  declare function setDataPointExplosion(element: ChartPptxElement, seriesIndex: number, pointIndex: number, explosion: number | null): ChartPptxElement;
16088
16492
  /**
@@ -16496,6 +16900,9 @@ declare class SmartArtPropertiesComponent {
16496
16900
  protected readonly activeColorScheme: _angular_core.Signal<SmartArtColorScheme>;
16497
16901
  protected readonly activeStyle: _angular_core.Signal<SmartArtStyle>;
16498
16902
  protected isChild: typeof isChildNode;
16903
+ protected layoutLabelKey: typeof smartArtLayoutLabelKey;
16904
+ protected colorSchemeLabelKey: typeof smartArtColorSchemeLabelKey;
16905
+ protected styleLabelKey: typeof smartArtStyleLabelKey;
16499
16906
  /** Count of top-level (parentless) nodes, for boundary checks. */
16500
16907
  protected readonly topLevelCount: _angular_core.Signal<number>;
16501
16908
  /** Whether a new top-level item may be added without exceeding the layout max. */
@@ -16665,8 +17072,20 @@ declare class RibbonAnimationsSectionComponent {
16665
17072
  readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
16666
17073
  protected hasSel(): boolean;
16667
17074
  protected canAuthor(): boolean;
17075
+ /** The path the one-click "Path Animation" command applies. */
17076
+ protected readonly defaultMotionPathPresetId = "lineRight";
16668
17077
  /** Apply the preset a gallery button asked for. */
16669
17078
  protected onGalleryPick(pick: AnimationPresetPick): void;
17079
+ /**
17080
+ * Apply a catalogue motion path to the selected element.
17081
+ *
17082
+ * Separate from {@link addAnimation} because a path is written to the
17083
+ * `motionPath` field of the SAME animation entry the preset buckets use, not
17084
+ * to one of those buckets: applying a path must not wipe an entrance the
17085
+ * element already carries, and clearing that entrance later must not wipe
17086
+ * the path. The shared helper owns both rules.
17087
+ */
17088
+ protected applyMotionPath(presetId: string): void;
16670
17089
  /**
16671
17090
  * Add an animation preset to the selected element on the active slide.
16672
17091
  * Delegates to the immutable helpers in animation-author-helpers.ts and
@@ -16945,6 +17364,34 @@ declare function imageDimensions(dataUrl: string): Promise<{
16945
17364
  /** Open the native file picker for a single file of the given accept type. */
16946
17365
  declare function pickFile(accept: string, onFile: (file: File) => void): void;
16947
17366
 
17367
+ /** One gallery button: the catalogue path it applies plus the key naming it. */
17368
+ interface MotionPathEntry {
17369
+ id: string;
17370
+ labelKey: string;
17371
+ }
17372
+ /** One gallery column: a family caption plus the paths filed under it. */
17373
+ interface MotionPathColumn {
17374
+ family: MotionPathFamily;
17375
+ labelKey: string;
17376
+ presets: readonly MotionPathEntry[];
17377
+ }
17378
+ /**
17379
+ * The gallery's columns, in the shared catalogue's own (ribbon) order.
17380
+ *
17381
+ * Built once at module load: the catalogue is static, so recomputing it per
17382
+ * change-detection pass would allocate thirty view models for nothing.
17383
+ */
17384
+ declare const MOTION_PATH_COLUMNS: readonly MotionPathColumn[];
17385
+ declare class RibbonMotionPathGalleryComponent {
17386
+ /** True when the deck is not editable or nothing is selected. */
17387
+ readonly disabled: _angular_core.InputSignal<boolean>;
17388
+ /** Emits the catalogue preset id of the pressed path. */
17389
+ readonly applyMotionPath: _angular_core.OutputEmitterRef<string>;
17390
+ protected readonly columns: readonly MotionPathColumn[];
17391
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonMotionPathGalleryComponent, never>;
17392
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonMotionPathGalleryComponent, "pptx-ribbon-motion-path-gallery", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "applyMotionPath": "applyMotionPath"; }, never, never, true, never>;
17393
+ }
17394
+
16948
17395
  declare class RibbonInsertFieldsComponent {
16949
17396
  private readonly editor;
16950
17397
  private readonly translate;
@@ -17146,13 +17593,17 @@ declare class RibbonSlideshowSectionComponent {
17146
17593
  /** "Custom show"; the host opens the custom-show manager dialog. */
17147
17594
  readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
17148
17595
  readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
17596
+ /** PowerPoint's Hide Slide toggle for the active slide. */
17597
+ readonly toggleHideSlide: _angular_core.OutputEmitterRef<void>;
17598
+ /** Whether the active slide is hidden, for Hide Slide's pressed state. */
17599
+ readonly activeSlideHidden: _angular_core.InputSignal<boolean>;
17149
17600
  readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
17150
17601
  readonly record: _angular_core.OutputEmitterRef<void>;
17151
17602
  readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
17152
17603
  readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
17153
17604
  protected readonly toolbar: ToolbarVisibility;
17154
17605
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonSlideshowSectionComponent, never>;
17155
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonSlideshowSectionComponent, "pptx-ribbon-slideshow-section", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "showSubtitles": { "alias": "showSubtitles"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "presentFromBeginning": "presentFromBeginning"; "presentFromCurrent": "presentFromCurrent"; "presenter": "presenter"; "broadcast": "broadcast"; "openCustomShows": "openCustomShows"; "openSetUpSlideShow": "openSetUpSlideShow"; "rehearseTimings": "rehearseTimings"; "record": "record"; "toggleSubtitles": "toggleSubtitles"; "openSubtitleSettings": "openSubtitleSettings"; }, never, never, true, never>;
17606
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonSlideshowSectionComponent, "pptx-ribbon-slideshow-section", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "showSubtitles": { "alias": "showSubtitles"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "activeSlideHidden": { "alias": "activeSlideHidden"; "required": false; "isSignal": true; }; }, { "presentFromBeginning": "presentFromBeginning"; "presentFromCurrent": "presentFromCurrent"; "presenter": "presenter"; "broadcast": "broadcast"; "openCustomShows": "openCustomShows"; "openSetUpSlideShow": "openSetUpSlideShow"; "toggleHideSlide": "toggleHideSlide"; "rehearseTimings": "rehearseTimings"; "record": "record"; "toggleSubtitles": "toggleSubtitles"; "openSubtitleSettings": "openSubtitleSettings"; }, never, never, true, never>;
17156
17607
  }
17157
17608
 
17158
17609
  /** The selection's text style, or null when the element carries no text props. */
@@ -17205,6 +17656,8 @@ declare class RibbonViewSectionComponent {
17205
17656
  readonly openSorter: _angular_core.OutputEmitterRef<void>;
17206
17657
  /** Enter Reading View: the deck full-window, NOT the fullscreen slide show. */
17207
17658
  readonly openReadingView: _angular_core.OutputEmitterRef<void>;
17659
+ /** Enter Outline view: the deck as editable indented text. */
17660
+ readonly openOutlineView: _angular_core.OutputEmitterRef<void>;
17208
17661
  readonly openMasterView: _angular_core.OutputEmitterRef<void>;
17209
17662
  readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
17210
17663
  readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
@@ -17216,7 +17669,7 @@ declare class RibbonViewSectionComponent {
17216
17669
  readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
17217
17670
  readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
17218
17671
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonViewSectionComponent, never>;
17219
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonViewSectionComponent, "pptx-ribbon-view-section", never, { "canEdit": { "alias": "canEdit"; "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; }; }, { "openSorter": "openSorter"; "openReadingView": "openReadingView"; "openMasterView": "openMasterView"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; }, never, never, true, never>;
17672
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonViewSectionComponent, "pptx-ribbon-view-section", never, { "canEdit": { "alias": "canEdit"; "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; }; }, { "openSorter": "openSorter"; "openReadingView": "openReadingView"; "openOutlineView": "openOutlineView"; "openMasterView": "openMasterView"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; }, never, never, true, never>;
17220
17673
  }
17221
17674
 
17222
17675
  /**
@@ -17291,11 +17744,17 @@ declare function clampIndex(index: number, count: number): number;
17291
17744
  /**
17292
17745
  * Return the next visible (non-hidden) slide index after `current`.
17293
17746
  * Wraps around to `current` if no subsequent visible slide exists.
17747
+ *
17748
+ * Thin adapter over the shared show-order rule: Angular used to own this logic
17749
+ * outright, which is exactly why the other four bindings presented hidden
17750
+ * slides. Kept as a named export because the overlay's tests and the navigator
17751
+ * read better in terms of "next visible slide" than raw index lists.
17294
17752
  */
17295
17753
  declare function nextVisibleIndex(current: number, slides: readonly PptxSlide[]): number;
17296
17754
  /**
17297
17755
  * Return the previous visible (non-hidden) slide index before `current`.
17298
- * Wraps around to `current` if no earlier visible slide exists.
17756
+ * Returns `current` when no earlier visible slide exists: PowerPoint never
17757
+ * wraps backward off the first slide.
17299
17758
  */
17300
17759
  declare function prevVisibleIndex(current: number, slides: readonly PptxSlide[]): number;
17301
17760
  /**
@@ -17308,12 +17767,16 @@ declare function fitZoom(canvasW: number, canvasH: number, vw: number, vh: numbe
17308
17767
  /**
17309
17768
  * Whether a visible (non-hidden) slide exists strictly AFTER `current`.
17310
17769
  *
17311
- * `nextVisibleIndex` wraps modulo the deck length, which makes a show loop for
17312
- * ever. PowerPoint only loops when "Loop continuously until Esc" is set;
17313
- * otherwise running past the last slide ends the show. Callers use this to tell
17314
- * "there is a next slide" from "we just wrapped".
17770
+ * `nextVisibleIndex` wraps, which would make a show loop for ever. PowerPoint
17771
+ * only loops when "Loop continuously until Esc" is set; otherwise running past
17772
+ * the last slide ends the show. Callers use this to tell "there is a next
17773
+ * slide" from "we just wrapped".
17315
17774
  */
17316
17775
  declare function hasVisibleSlideAfter(current: number, slides: readonly PptxSlide[]): boolean;
17776
+ /** The show's first visible slide (Home), or 0 for an empty deck. */
17777
+ declare function firstVisibleIndex(slides: readonly PptxSlide[]): number;
17778
+ /** The show's last visible slide (End), or 0 for an empty deck. */
17779
+ declare function lastVisibleIndex(slides: readonly PptxSlide[]): number;
17317
17780
 
17318
17781
  /**
17319
17782
  * touch-gestures.ts: thin Angular adapter over the framework-agnostic
@@ -17829,7 +18292,6 @@ declare class TitleBarComponent {
17829
18292
  readonly quickCommand: _angular_core.OutputEmitterRef<string>;
17830
18293
  readonly toggleFindReplace: _angular_core.OutputEmitterRef<void>;
17831
18294
  readonly commandSearch: _angular_core.OutputEmitterRef<string>;
17832
- private readonly translate;
17833
18295
  protected readonly tb: {
17834
18296
  readonly container: "flex items-center gap-1 h-9 px-2 border-b border-border/60 bg-secondary/80 text-[11px] select-none max-md:hidden";
17835
18297
  readonly logo: "flex items-center justify-center w-5 h-5 rounded-sm bg-[#c43e1c] text-white text-[10px] font-bold shrink-0";
@@ -17857,8 +18319,6 @@ declare class TitleBarComponent {
17857
18319
  };
17858
18320
  protected readonly defaultFileKey = "pptx.titleBar.defaultFileName";
17859
18321
  protected readonly toolbar: ToolbarVisibility;
17860
- protected readonly searchQuery: _angular_core.WritableSignal<string>;
17861
- protected readonly searchFocused: _angular_core.WritableSignal<boolean>;
17862
18322
  /** Resolved Quick Access options (host-supplied, or the default trio+). */
17863
18323
  protected readonly qat: _angular_core.Signal<ViewerQuickAccessOptions>;
17864
18324
  /**
@@ -17873,17 +18333,60 @@ declare class TitleBarComponent {
17873
18333
  * else through the generic {@link quickCommand} output.
17874
18334
  */
17875
18335
  protected onQuickCommand(id: string): void;
17876
- protected readonly commandResults: _angular_core.Signal<CommandSearchEntry[]>;
17877
18336
  /** The i18n key for the save-location status text (next to the file name). */
17878
18337
  protected readonly statusKey: _angular_core.Signal<string>;
17879
18338
  /** Colour override for the status text on saving/error (when autosave is on). */
17880
18339
  protected readonly statusStateClass: _angular_core.Signal<"" | "text-red-400" | "text-yellow-500">;
18340
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleBarComponent, never>;
18341
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TitleBarComponent, "pptx-title-bar", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "isDirty": { "alias": "isDirty"; "required": false; "isSignal": true; }; "autosaveStatus": { "alias": "autosaveStatus"; "required": false; "isSignal": true; }; "autosaveEnabled": { "alias": "autosaveEnabled"; "required": false; "isSignal": true; }; "canUndo": { "alias": "canUndo"; "required": false; "isSignal": true; }; "canRedo": { "alias": "canRedo"; "required": false; "isSignal": true; }; "undoLabel": { "alias": "undoLabel"; "required": false; "isSignal": true; }; "redoLabel": { "alias": "redoLabel"; "required": false; "isSignal": true; }; "findReplaceOpen": { "alias": "findReplaceOpen"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "quickAccess": { "alias": "quickAccess"; "required": false; "isSignal": true; }; }, { "toggleAutosave": "toggleAutosave"; "save": "save"; "undo": "undo"; "redo": "redo"; "quickCommand": "quickCommand"; "toggleFindReplace": "toggleFindReplace"; "commandSearch": "commandSearch"; }, never, never, true, never>;
18342
+ }
18343
+
18344
+ declare class TitleBarSearchComponent {
18345
+ /** Whether the Find & Replace panel is open (drives the box's active look). */
18346
+ readonly findReplaceOpen: _angular_core.InputSignal<boolean>;
18347
+ /** A command was chosen from the palette (catalog command id). */
18348
+ readonly commandSearch: _angular_core.OutputEmitterRef<string>;
18349
+ /** The user asked to search slide CONTENT rather than commands. */
18350
+ readonly toggleFindReplace: _angular_core.OutputEmitterRef<void>;
18351
+ private readonly translate;
18352
+ protected readonly tb: {
18353
+ readonly container: "flex items-center gap-1 h-9 px-2 border-b border-border/60 bg-secondary/80 text-[11px] select-none max-md:hidden";
18354
+ readonly logo: "flex items-center justify-center w-5 h-5 rounded-sm bg-[#c43e1c] text-white text-[10px] font-bold shrink-0";
18355
+ readonly autosaveGroup: "flex items-center gap-1.5 pl-1.5 pr-0.5 shrink-0";
18356
+ readonly autosaveLabel: "text-[11px] text-muted-foreground whitespace-nowrap";
18357
+ readonly toggleTrack: "relative inline-flex items-center w-7 h-3.5 rounded-full transition-colors cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed";
18358
+ readonly toggleTrackOn: "bg-primary";
18359
+ readonly toggleTrackOff: "bg-muted-foreground/40";
18360
+ readonly toggleKnob: "absolute w-2.5 h-2.5 rounded-full bg-white shadow-sm transition-transform";
18361
+ readonly toggleKnobOn: "translate-x-[15px]";
18362
+ readonly toggleKnobOff: "translate-x-0.5";
18363
+ readonly quickButton: "p-1 rounded-sm transition-colors hover:bg-accent/60 text-muted-foreground disabled:opacity-40 disabled:cursor-not-allowed active:scale-90 active:opacity-70";
18364
+ readonly separator: "w-px h-4 bg-border/60 mx-1 shrink-0";
18365
+ readonly fileGroup: "flex items-baseline gap-1.5 px-1 min-w-0 shrink";
18366
+ readonly fileName: "text-[12px] font-medium text-foreground whitespace-nowrap overflow-hidden text-ellipsis max-w-[240px]";
18367
+ readonly statusDot: "text-muted-foreground/70";
18368
+ readonly statusText: "text-[11px] text-muted-foreground whitespace-nowrap";
18369
+ readonly statusError: "text-red-400";
18370
+ readonly statusSaving: "text-yellow-500";
18371
+ readonly searchWrap: "flex-1 flex justify-center min-w-0 px-2";
18372
+ readonly searchBox: "flex items-center gap-2 w-full max-w-md px-3 py-[3px] rounded-md bg-background/70 border border-border/60 text-muted-foreground hover:bg-background hover:text-foreground transition-colors";
18373
+ readonly searchIcon: "w-3 h-3 shrink-0";
18374
+ readonly searchLabel: "text-[11px] truncate";
18375
+ readonly rightSpacer: "flex items-center justify-end gap-1 shrink-0";
18376
+ };
18377
+ protected readonly searchQuery: _angular_core.WritableSignal<string>;
18378
+ protected readonly searchFocused: _angular_core.WritableSignal<boolean>;
18379
+ protected readonly commandResults: _angular_core.Signal<CommandSearchEntry[]>;
18380
+ /** The dropdown shows at most 8 rows so it never outgrows its max height. */
18381
+ protected readonly visibleResults: _angular_core.Signal<CommandSearchEntry[]>;
17881
18382
  protected selectCommand(entry: CommandSearchEntry): void;
17882
- protected openFindReplace(): void;
18383
+ protected requestFindReplace(): void;
17883
18384
  protected onSearchBlur(): void;
17884
18385
  protected onSearchKeyDown(event: KeyboardEvent): void;
17885
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleBarComponent, never>;
17886
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TitleBarComponent, "pptx-title-bar", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "isDirty": { "alias": "isDirty"; "required": false; "isSignal": true; }; "autosaveStatus": { "alias": "autosaveStatus"; "required": false; "isSignal": true; }; "autosaveEnabled": { "alias": "autosaveEnabled"; "required": false; "isSignal": true; }; "canUndo": { "alias": "canUndo"; "required": false; "isSignal": true; }; "canRedo": { "alias": "canRedo"; "required": false; "isSignal": true; }; "undoLabel": { "alias": "undoLabel"; "required": false; "isSignal": true; }; "redoLabel": { "alias": "redoLabel"; "required": false; "isSignal": true; }; "findReplaceOpen": { "alias": "findReplaceOpen"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "quickAccess": { "alias": "quickAccess"; "required": false; "isSignal": true; }; }, { "toggleAutosave": "toggleAutosave"; "save": "save"; "undo": "undo"; "redo": "redo"; "quickCommand": "quickCommand"; "toggleFindReplace": "toggleFindReplace"; "commandSearch": "commandSearch"; }, never, never, true, never>;
18386
+ /** Clear the query and close the dropdown (shared by every commit path). */
18387
+ private reset;
18388
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleBarSearchComponent, never>;
18389
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TitleBarSearchComponent, "pptx-title-bar-search", never, { "findReplaceOpen": { "alias": "findReplaceOpen"; "required": false; "isSignal": true; }; }, { "commandSearch": "commandSearch"; "toggleFindReplace": "toggleFindReplace"; }, never, never, true, never>;
17887
18390
  }
17888
18391
 
17889
18392
  /**
@@ -17927,71 +18430,5 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
17927
18430
  */
17928
18431
  declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
17929
18432
 
17930
- /**
17931
- * animation-author-helpers.ts: Angular shim over the shared element-animation
17932
- * authoring model.
17933
- *
17934
- * The pure, immutable `PptxElementAnimation[]` readers + patch builders now live
17935
- * in `pptx-viewer-shared` (`render/animation-authoring`), consolidated with the
17936
- * Vue authoring model. They are re-exported here so the authoring panel / ribbon
17937
- * keep importing the same names.
17938
- *
17939
- * What stays Angular-local: the **labelled** option catalogs the templates bind
17940
- * to (`ENTRANCE_PRESETS` … `DIRECTION_OPTIONS`). Shared exposes only the value
17941
- * lists (`ENTRANCE_PRESET_VALUES` …) because the human label / arrow glyph is a
17942
- * view concern; this module pairs each value with its Angular display label.
17943
- */
17944
-
17945
- /** Subset of entrance presets surfaced in the authoring UI. */
17946
- declare const ENTRANCE_PRESETS: ReadonlyArray<{
17947
- value: PptxAnimationPreset;
17948
- label: string;
17949
- labelKey: string;
17950
- }>;
17951
- /** Subset of exit presets surfaced in the authoring UI. */
17952
- declare const EXIT_PRESETS: ReadonlyArray<{
17953
- value: PptxAnimationPreset;
17954
- label: string;
17955
- labelKey: string;
17956
- }>;
17957
- /** Subset of emphasis presets surfaced in the authoring UI. */
17958
- declare const EMPHASIS_PRESETS: ReadonlyArray<{
17959
- value: PptxAnimationPreset;
17960
- label: string;
17961
- labelKey: string;
17962
- }>;
17963
- /** Trigger options for the trigger selector. */
17964
- declare const TRIGGER_OPTIONS: ReadonlyArray<{
17965
- value: PptxAnimationTrigger;
17966
- label: string;
17967
- labelKey: string;
17968
- }>;
17969
- /** Timing curve options. */
17970
- declare const TIMING_CURVE_OPTIONS: ReadonlyArray<{
17971
- value: PptxAnimationTimingCurve;
17972
- label: string;
17973
- labelKey: string;
17974
- }>;
17975
- /** Repeat-mode options (`'none'` means clear the field). */
17976
- declare const REPEAT_MODE_OPTIONS: ReadonlyArray<{
17977
- value: 'none' | PptxAnimationRepeatMode;
17978
- label: string;
17979
- labelKey: string;
17980
- }>;
17981
- /** Direction options for directional presets (fly in/out, wipe). */
17982
- declare const DIRECTION_OPTIONS: ReadonlyArray<{
17983
- value: PptxAnimationDirection;
17984
- label: string;
17985
- labelKey: string;
17986
- /** Unicode arrow glyph used as an icon substitute in the Angular template. */
17987
- arrow: string;
17988
- }>;
17989
- /** Sequence options for paragraph/word/letter builds. */
17990
- declare const SEQUENCE_OPTIONS: ReadonlyArray<{
17991
- value: PptxAnimationSequence;
17992
- label: string;
17993
- labelKey: string;
17994
- }>;
17995
-
17996
- export { ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, 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, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, 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, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, 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, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, 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, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, 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, createAngularAiBridge, 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, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, 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, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isTwoTableFocus, 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, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveSlideAutoAdvanceMs, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, 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, shouldBlockClickAdvance, 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, strokeWidthOf, 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 };
17997
- export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, AiCanvasHighlight, AiChatInitState, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AwarenessLike, BarRect, Box, BridgeDeps, 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, FocusChip, FocusSelectionInput, 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, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerUnit, ScatterDot, SelectionBox, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, TimerProgress, ToolbarActionId, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ZoomViewModel };
18433
+ export { ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, 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_PATTERN_FILL_PRESET, 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, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, OutlineViewOverlayComponent, POWER_POINT_VIEWER_PROVIDERS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, 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, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, 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, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, 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, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, 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, createAngularAiBridge, 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, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, 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, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, 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, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveSlideAutoAdvanceMs, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, 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, setDataPointMarker, 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, shouldBlockClickAdvance, 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, strokeWidthOf, 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 };
18434
+ export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, AiCanvasHighlight, AiChatInitState, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AwarenessLike, BarRect, Box, BridgeDeps, 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, FocusChip, FocusSelectionInput, 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, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OutlineCommit, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerUnit, ScatterDot, SelectionBox, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, TimerProgress, ToolbarActionId, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ZoomViewModel };