pptx-angular-viewer 2.11.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as pptx_viewer_core from 'pptx-viewer-core';
2
- import { 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, 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';
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';
@@ -1554,6 +1554,48 @@ declare function applyAnimationPreset(animations: PptxElementAnimation[], elemen
1554
1554
  /** Return `animations` without the entry for `elementId`. */
1555
1555
  declare function removeElementAnimation(animations: PptxElementAnimation[], elementId: string): PptxElementAnimation[];
1556
1556
 
1557
+ /**
1558
+ * `animation-preset-labels`: the naming layer over the two animation preset
1559
+ * vocabularies, so no binding ever prints a wire token where an effect name
1560
+ * belongs.
1561
+ *
1562
+ * WHY this module exists: an animation's effect is identified by one of two
1563
+ * different vocabularies, and both of them were reaching the screen verbatim.
1564
+ *
1565
+ * - The **editor vocabulary** (`PptxAnimationPreset`: `fadeIn`, `growTurnIn`,
1566
+ * `boldFlash`, ...) is what `PptxElementAnimation.entrance / emphasis / exit`
1567
+ * actually holds. It is what the ribbon galleries apply and what the parser
1568
+ * normalises a loaded deck's OOXML presets down to. Every timeline in every
1569
+ * binding printed this token raw, so users saw `fadeIn` where "Fade In"
1570
+ * belongs.
1571
+ * - The **OOXML catalogue vocabulary** (`entr.1`, `emph.26`, `path.loop.pretzel`
1572
+ * from `pptx-viewer-core`'s `animation-preset-catalog`) is the full 266-entry
1573
+ * PowerPoint preset library. Its entries carry a hard-coded ENGLISH `label`,
1574
+ * which the Vue "Add animation > Effect" picker rendered directly, so that
1575
+ * control stayed English in every locale.
1576
+ *
1577
+ * Both vocabularies now resolve through i18n keys defined here, which means a
1578
+ * missing name is a dictionary gap that `packages/locales`' coverage tests
1579
+ * catch, not a plausible-looking wrong label produced by `keyToLabel`.
1580
+ *
1581
+ * WHY the catalogue key is a slug and not the preset id: the dictionaries are
1582
+ * flat maps whose keys are dotted paths, and a catalogue id already contains
1583
+ * dots (`path.line.up`). Folding them into one camelCase segment
1584
+ * (`pathLineUp`) keeps every animation key at the same depth as the rest of the
1585
+ * dictionary, so no translation framework has to be trusted to resolve a
1586
+ * five-segment key against a flat map.
1587
+ *
1588
+ * Pure data + pure functions: no framework, no DOM.
1589
+ *
1590
+ * @module render/animation-preset-labels
1591
+ */
1592
+
1593
+ /**
1594
+ * The i18n key naming an editor preset token, shared by every binding's ribbon
1595
+ * gallery, inspector select and timeline row.
1596
+ */
1597
+ declare function animationPresetLabelKey(preset: string): string;
1598
+
1557
1599
  /**
1558
1600
  * `animation-playback` — pure click-stepped playback math for the editor's
1559
1601
  * element-animation preset model.
@@ -5031,6 +5073,20 @@ interface ShortcutReferenceItem {
5031
5073
  }
5032
5074
  declare const SHORTCUT_REFERENCE_ITEMS: readonly ShortcutReferenceItem[];
5033
5075
 
5076
+ /** Everything a binding needs to mark one tile. Inert when the slide is visible. */
5077
+ interface HiddenSlideCue {
5078
+ /** Whether the slide is hidden, for `v-if` / `@if` / `{#if}` gating. */
5079
+ readonly hidden: boolean;
5080
+ /**
5081
+ * `id` for the "Hidden" text node, and the value the tile passes to
5082
+ * `aria-describedby`. `undefined` when the slide is visible, so a binding can
5083
+ * bind it straight through and have the attribute omitted.
5084
+ */
5085
+ readonly labelId: string | undefined;
5086
+ /** Value for {@link HIDDEN_SLIDE_ATTRIBUTE}; `undefined` omits the attribute. */
5087
+ readonly marker: 'true' | undefined;
5088
+ }
5089
+
5034
5090
  interface SpeechAlternative {
5035
5091
  readonly transcript: string;
5036
5092
  readonly confidence: number;
@@ -8494,6 +8550,18 @@ declare class ViewerPresentationModeService {
8494
8550
  openAudienceWindow(): void;
8495
8551
  /** Open the presenter (speaker) view: current+next slide, notes, timer. */
8496
8552
  presentPresenter(): void;
8553
+ /**
8554
+ * Swap between the fullscreen show and the presenter (speaker) console, the
8555
+ * show toolbar's presenter-view toggle and PowerPoint's `N`. Mirrors React's
8556
+ * `togglePresenterView`.
8557
+ *
8558
+ * The two are mutually exclusive rather than stacked: the show overlay is
8559
+ * `position: fixed; z-index: 10000` while the console sits inside the viewer
8560
+ * at `z-index: 50`, so leaving both up would paint the show straight over the
8561
+ * console and the toggle would look inert. The full-deck `activeSlideIndex`
8562
+ * is what both read, so the swap keeps the presenter on the same slide.
8563
+ */
8564
+ togglePresenterView(): void;
8497
8565
  /** Close the presenter view (and any audience overlay/window it opened). */
8498
8566
  exitPresenter(): void;
8499
8567
  /** Presentation exited with ink on it: offer the keep/discard prompt. */
@@ -9985,6 +10053,10 @@ declare class RibbonComponent {
9985
10053
  readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
9986
10054
  /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
9987
10055
  readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
10056
+ /** Emitted when the user clicks "Hide Slide" in the Slide Show tab. */
10057
+ readonly toggleHideSlide: _angular_core.OutputEmitterRef<void>;
10058
+ /** Whether the active slide is hidden, for Hide Slide's pressed state. */
10059
+ readonly activeSlideHidden: _angular_core.InputSignal<boolean>;
9988
10060
  /** Emitted when the user clicks "Compare" in the Review tab. */
9989
10061
  readonly openCompare: _angular_core.OutputEmitterRef<void>;
9990
10062
  /** Emitted when the user clicks "Password" in the Review tab. */
@@ -10005,7 +10077,7 @@ declare class RibbonComponent {
10005
10077
  /** Forward the Review proofing toggle to the viewer-owned live state. */
10006
10078
  protected setSpellCheck(enabled: boolean): void;
10007
10079
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
10008
- 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"; "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"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; }, never, never, true, never>;
10080
+ 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>;
10009
10081
  }
10010
10082
 
10011
10083
  /** The eight resize-handle positions around a selection box. */
@@ -11893,6 +11965,21 @@ declare class ZoomRendererComponent {
11893
11965
  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>;
11894
11966
  }
11895
11967
 
11968
+ /**
11969
+ * presentation-overlay-chrome-styles.ts: the fixed-position inline styles for
11970
+ * the slide-show overlay's own chrome (close button, edge navigation buttons,
11971
+ * slide counter).
11972
+ *
11973
+ * These are `[ngStyle]` records rather than CSS classes because they must beat
11974
+ * whatever the host page's stylesheet does to a `<button>` inside a fullscreen
11975
+ * overlay, and because the safe-area `env()` offsets are read straight back by
11976
+ * the mobile e2e specs. They are static data with no dependency on component
11977
+ * state, so they live here instead of taking up a third of
11978
+ * {@link PresentationOverlayComponent}.
11979
+ */
11980
+ /** Inline style record as Angular's `[ngStyle]` consumes it. */
11981
+ type OverlayStyle = Record<string, string>;
11982
+
11896
11983
  declare class AnimationPlaybackService {
11897
11984
  private readonly destroyRef;
11898
11985
  /** Per-element native-animation state, keyed by element id. */
@@ -12086,46 +12173,177 @@ declare class PresentationAnnotationsService {
12086
12173
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PresentationAnnotationsService>;
12087
12174
  }
12088
12175
 
12176
+ /** Where a navigation request wants to go. */
12177
+ type ShowDirection = 'next' | 'prev' | 'first' | 'last';
12178
+ /**
12179
+ * The outgoing slide plus the incoming slide's transition, played over the new
12180
+ * slide. Cleared once the transition overlay reports completion.
12181
+ */
12182
+ interface ActiveSlideTransition {
12183
+ outgoing: PptxSlide;
12184
+ transition: PptxSlideTransition;
12185
+ }
12186
+ /** Everything the navigator needs from its host component. */
12187
+ interface ShowNavigatorDeps {
12188
+ slides: () => readonly PptxSlide[];
12189
+ /** The slide at the CURRENT index (a computed over `currentIndex`). */
12190
+ currentSlide: () => PptxSlide | undefined;
12191
+ showWithAnimation: () => boolean | undefined;
12192
+ playback: AnimationPlaybackService;
12193
+ annotations: PresentationAnnotationsService;
12194
+ /** Publish a committed index change to the host's `indexChange` output. */
12195
+ emitIndex: (index: number) => void;
12196
+ /** Ask the host to end the show; the host guards against double-closing. */
12197
+ requestClose: () => void;
12198
+ /**
12199
+ * File > Options > Advanced > "End with black slide". PowerPoint's default
12200
+ * is ON: running past the last slide raises a black "End of slide show"
12201
+ * screen and only the NEXT forward input ends the show. Turning it off ends
12202
+ * the show immediately instead. Undefined means the PowerPoint default.
12203
+ */
12204
+ endWithBlackSlide?: () => boolean | undefined;
12205
+ }
12206
+ declare class PresentationShowNavigator {
12207
+ private readonly deps;
12208
+ /** Zero-based index into `slides()`. */
12209
+ readonly currentIndex: _angular_core.WritableSignal<number>;
12210
+ /**
12211
+ * True once the show has run past its last slide and the black "End of slide
12212
+ * show" screen is up. It MUST be surfaced: while it is up the next input
12213
+ * either goes nowhere (backward) or ends the show (forward), so a deck that
12214
+ * kept painting its last slide looked stuck and swallowed every advance.
12215
+ */
12216
+ readonly endOfShow: _angular_core.WritableSignal<boolean>;
12217
+ /** Active slide-transition animation, or null when none is playing. */
12218
+ readonly activeTransition: _angular_core.WritableSignal<ActiveSlideTransition | null>;
12219
+ /**
12220
+ * Set just before a BACKWARD slide change so the host's slide effect seeds the
12221
+ * incoming slide as fully built. Read-and-cleared via
12222
+ * {@link takePendingCompletedEntry}.
12223
+ */
12224
+ private pendingCompletedEntry;
12225
+ /** Pending `p:transition/@advTm` auto-advance timer for the current slide. */
12226
+ private autoAdvanceTimer;
12227
+ constructor(deps: ShowNavigatorDeps);
12228
+ /**
12229
+ * Consume the "entered backward" flag. The host's per-slide effect asks once
12230
+ * per slide change, so this both reads and clears it.
12231
+ */
12232
+ takePendingCompletedEntry(): boolean;
12233
+ /**
12234
+ * Adopt an index pushed in by the host (its `startIndex` input, which an
12235
+ * audience display drives from the presenter's snapshot). Silent: it does not
12236
+ * echo back through `emitIndex`, which would fight the host for control.
12237
+ */
12238
+ syncFromHost(requestedIndex: number): void;
12239
+ /**
12240
+ * (Re)arm PowerPoint's "Advance slide: After <n>" timer, cancelling whatever
12241
+ * was pending. Always cancelling first is load-bearing: a manual advance must
12242
+ * never leave a stale timer running that then skips the slide the presenter
12243
+ * just moved to.
12244
+ */
12245
+ armAutoAdvance(delayMs: number | undefined): void;
12246
+ /** Cancel any pending timed auto-advance (also called on teardown). */
12247
+ clearAutoAdvance(): void;
12248
+ navigate(direction: ShowDirection): void;
12249
+ /**
12250
+ * Jump directly to `index` (clamped to the slide range). Used by zoom tiles
12251
+ * and by on-slide Action Settings (`ppaction://hlinksldjump`).
12252
+ *
12253
+ * A jump ENTERS the target slide, so PowerPoint plays that slide's
12254
+ * transition exactly as a forward step does. Committing with `null` here is
12255
+ * why a deck navigated by clicking its own on-slide links showed no morph at
12256
+ * all while the same transition played fine on PageDown.
12257
+ */
12258
+ goToSlide(index: number): void;
12259
+ /**
12260
+ * The single place a slide change becomes visible: set the transition, move
12261
+ * the index, retarget the annotation layer, and tell the host. Both entry
12262
+ * points share it so a change to one can never silently skip a step in the
12263
+ * other (they had drifted apart as four repeated statements before).
12264
+ */
12265
+ private commit;
12266
+ }
12267
+
12268
+ /**
12269
+ * presentation-input-controller.ts: turns raw keyboard and pointer events during
12270
+ * a slide show into show commands.
12271
+ *
12272
+ * PowerPoint's slide-show input rules are subtle and are the part of the overlay
12273
+ * most likely to be changed: a forward tap is gated by the slide's
12274
+ * `advanceOnClick` while a forward key press is not, an interactive shape
12275
+ * swallows the click that would otherwise advance, a drawing tool owns the
12276
+ * pointer outright, and an audience display must ignore its OWN input entirely
12277
+ * (its keyboard would move it off the presenter's slide, and the next snapshot
12278
+ * would drag it back, which reads as "the display refuses to advance").
12279
+ *
12280
+ * Those rules are pure decision logic over injected collaborators, so they live
12281
+ * here rather than in {@link PresentationOverlayComponent}, whose job is the
12282
+ * view. The component keeps only the `@HostListener` methods, which Angular
12283
+ * requires on the component class, and forwards to this controller.
12284
+ */
12285
+
12286
+ /** Everything the input rules need from the overlay component. */
12287
+ interface PresentationInputDeps {
12288
+ slides: () => readonly PptxSlide[];
12289
+ currentSlide: () => PptxSlide | undefined;
12290
+ /** The overlay root, used to (re)enter real fullscreen on a body click. */
12291
+ root: () => HTMLElement | null | undefined;
12292
+ navigator: PresentationShowNavigator;
12293
+ playback: AnimationPlaybackService;
12294
+ annotations: PresentationAnnotationsService;
12295
+ presenterWindow: PresenterWindowService;
12296
+ /** PowerPoint's Ctrl+M: hide ink markup without discarding the strokes. */
12297
+ toggleInkMarkup: () => void;
12298
+ /** End the show; the component guards against double-closing. */
12299
+ requestClose: () => void;
12300
+ }
12301
+ declare class PresentationInputController {
12302
+ private readonly deps;
12303
+ /** Digit buffer backing PowerPoint's "type a slide number, then Enter" jump. */
12304
+ private readonly keyBuffer;
12305
+ constructor(deps: PresentationInputDeps);
12306
+ /** Document-level key handling, so no focusable element is required. */
12307
+ handleKeyDown(event: KeyboardEvent): void;
12308
+ /** Left-click on the slide area advances to the next visible slide. */
12309
+ handleBodyClick(event: MouseEvent): void;
12310
+ /**
12311
+ * Run any on-slide action under the pointer, and report what the click left
12312
+ * for the show: only `'advance'` reaches {@link advanceFromClick}.
12313
+ */
12314
+ private handleActionClick;
12315
+ /**
12316
+ * Click/tap/swipe advance. Like every forward step it first reveals the
12317
+ * current slide's next animation build; only once the builds are exhausted
12318
+ * does it advance the slide, and then only when the slide's transition allows
12319
+ * click-advance (advanceOnClick !== false). Keyboard and the on-screen
12320
+ * next/prev buttons call navigate() directly and are never gated.
12321
+ */
12322
+ advanceFromClick(): void;
12323
+ /** Toggle PowerPoint's blank black/white screen (B/W, or `.`/`,`). */
12324
+ private toggleBlank;
12325
+ }
12326
+
12089
12327
  /**
12090
12328
  * PresentationOverlayComponent: full-viewport black overlay that renders
12091
12329
  * slides in presentation (kiosk) mode.
12092
12330
  *
12093
12331
  * Selector: `pptx-presentation-overlay`
12094
12332
  *
12095
- * Inputs:
12096
- * - `slides` (required): all slides in the deck
12097
- * - `canvasSize` (required): logical canvas dimensions in pixels
12098
- * - `mediaDataUrls` : data-URL map for media assets (default: empty Map)
12099
- * - `startIndex` : zero-based slide to show first (default: 0)
12333
+ * This class is the VIEW and the wiring; the show's behaviour lives in four
12334
+ * siblings, each documented at its own definition (the per-input/output notes
12335
+ * below used to be repeated up here and had drifted, so they are not repeated
12336
+ * again):
12100
12337
  *
12101
- * Outputs:
12102
- * - `indexChange`: emits the new index on every navigation
12103
- * - `closed` : emits void when the overlay should be dismissed
12104
- *
12105
- * Keyboard bindings (document-level so no focusable element is required):
12106
- * ArrowRight / Space / PageDown next visible slide
12107
- * ArrowLeft / PageUp → previous visible slide
12108
- * Home → first slide
12109
- * End → last slide
12110
- * Escape → emit `closed`
12111
- *
12112
- * Touch bindings (mobile has no keyboard):
12113
- * Always-visible ✕ button (top-right) → emit `closed`
12114
- * ‹ / › edge buttons → previous / next visible slide
12115
- * Horizontal swipe → left → next, right → previous
12116
- *
12117
- * Click on the overlay body → advance to next visible slide.
12118
- *
12119
- * Fullscreen (mirrors the React `usePresentationMode` / Vue `PresentationMode.vue`
12120
- * behavior, on top of the CSS-fixed full-viewport overlay above): the real
12121
- * Fullscreen API is requested on this component's root element once it mounts,
12122
- * and released again on destroy, so the browser chrome (address bar, etc.) gets
12123
- * out of the way on mobile the same way it does for React/Vue. A
12124
- * `fullscreenchange` listener syncs back to `closed` when fullscreen is exited
12125
- * from outside this component's own close/Escape handling (browser UI, the
12126
- * Android back gesture, etc.). Environments without Fullscreen API support
12127
- * (iOS Safari's partial support, `jsdom` in tests) degrade silently to the
12128
- * plain CSS overlay.
12338
+ * - `presentation-show-navigator.ts` which slide is up, and why
12339
+ * - `presentation-input-controller.ts` keyboard + pointer rules
12340
+ * - `presentation-stage-animator.ts` element animation applied to the DOM
12341
+ * - `presentation-overlay-shell.ts` touch gestures + real Fullscreen API
12342
+ *
12343
+ * Beyond the CSS-fixed full-viewport overlay, a `fullscreenchange` listener
12344
+ * syncs back to `closed` when fullscreen is exited from OUTSIDE this
12345
+ * component's own close/Escape handling (browser UI, the Android back gesture),
12346
+ * which would otherwise leave the host stuck believing it is still presenting.
12129
12347
  */
12130
12348
  declare class PresentationOverlayComponent implements OnInit {
12131
12349
  protected readonly presenterWindow: PresenterWindowService;
@@ -12148,45 +12366,53 @@ declare class PresentationOverlayComponent implements OnInit {
12148
12366
  * screen so the room never sees the editing chrome.
12149
12367
  */
12150
12368
  readonly sessionEnded: _angular_core.InputSignal<boolean>;
12369
+ /**
12370
+ * File > Options > Advanced > "End with black slide". PowerPoint's default is
12371
+ * ON: advancing past the last slide raises the black "End of slide show"
12372
+ * screen and only the NEXT forward input ends the show. Off ends the show at
12373
+ * once instead of sitting on the last slide swallowing every advance.
12374
+ */
12375
+ readonly endWithBlackSlide: _angular_core.InputSignal<boolean>;
12376
+ /** Whether presenter view is up (tints the toolbar's presenter-view toggle). */
12377
+ readonly presenterMode: _angular_core.InputSignal<boolean>;
12151
12378
  readonly indexChange: _angular_core.OutputEmitterRef<number>;
12152
12379
  readonly closed: _angular_core.OutputEmitterRef<void>;
12380
+ /** Live-caption preference; driven by the host's ribbon, not by show chrome. */
12153
12381
  readonly subtitlesChange: _angular_core.OutputEmitterRef<boolean>;
12382
+ /**
12383
+ * The toolbar's presenter-view toggle was pressed. The host owns the swap
12384
+ * (this overlay and the presenter console cannot both be on screen).
12385
+ */
12386
+ readonly presenterViewToggle: _angular_core.OutputEmitterRef<void>;
12154
12387
  /**
12155
12388
  * Fired just before `closed` when the show carries ink annotations, so the
12156
12389
  * host can offer the keep/discard prompt (mirrors React's exit flow).
12157
12390
  */
12158
12391
  readonly annotationsExit: _angular_core.OutputEmitterRef<SlideAnnotationMap>;
12159
- /** Zero-based index into `slides()`. */
12160
- protected readonly currentIndex: _angular_core.WritableSignal<number>;
12161
12392
  /** PowerPoint's Ctrl+M: hide ink markup without discarding the strokes. */
12162
12393
  protected readonly inkMarkupVisible: _angular_core.WritableSignal<boolean>;
12394
+ /** Click-stepped element-animation playback for the current slide. */
12395
+ protected readonly playback: AnimationPlaybackService;
12396
+ /** Ink-annotation state (pen/highlighter/eraser/laser) for the show. */
12397
+ protected readonly annotations: PresentationAnnotationsService;
12163
12398
  /**
12164
- * True once the show has run past its last slide and the black "End of slide
12165
- * show" screen is up. It MUST be surfaced: while it is up the next input
12166
- * either goes nowhere (backward) or ends the show (forward), so a deck that
12167
- * kept painting its last slide looked stuck and swallowed every advance.
12399
+ * The show's navigation state machine (index, end-of-show screen, slide
12400
+ * transition, timed auto-advance). See `presentation-show-navigator.ts`.
12168
12401
  */
12169
- protected readonly endOfShow: _angular_core.WritableSignal<boolean>;
12402
+ protected readonly navigator: PresentationShowNavigator;
12170
12403
  /**
12171
- * Set just before a BACKWARD slide change so the slide effect seeds the
12172
- * incoming slide as fully built.
12404
+ * Keyboard / pointer rules for the running show. See
12405
+ * `presentation-input-controller.ts`.
12173
12406
  */
12174
- private pendingCompletedEntry;
12407
+ protected readonly input: PresentationInputController;
12408
+ /** Template aliases for the navigator's state. */
12409
+ protected readonly currentIndex: _angular_core.WritableSignal<number>;
12410
+ protected readonly endOfShow: _angular_core.WritableSignal<boolean>;
12411
+ protected readonly activeTransition: _angular_core.WritableSignal<ActiveSlideTransition | null>;
12175
12412
  /** Mirror the host's audience "session ended" flag onto the end screen. */
12176
12413
  private readonly syncSessionEnded;
12414
+ /** Adopt an index the host pushed in (an audience display mirrors one). */
12177
12415
  private readonly syncExternalIndex;
12178
- /**
12179
- * Active slide-transition animation: the outgoing slide + the incoming
12180
- * slide's transition, played over the new slide. Cleared on completion.
12181
- */
12182
- protected readonly activeTransition: _angular_core.WritableSignal<{
12183
- outgoing: PptxSlide;
12184
- transition: PptxSlideTransition;
12185
- } | null>;
12186
- /** Click-stepped element-animation playback for the current slide. */
12187
- protected readonly playback: AnimationPlaybackService;
12188
- /** Ink-annotation state (pen/highlighter/eraser/laser) for the show. */
12189
- protected readonly annotations: PresentationAnnotationsService;
12190
12416
  /**
12191
12417
  * Zoom-navigation context (provided at this component level). The handler is
12192
12418
  * registered in the constructor so a descendant zoom tile can jump to its
@@ -12195,6 +12421,12 @@ declare class PresentationOverlayComponent implements OnInit {
12195
12421
  private readonly zoomNavigation;
12196
12422
  /** The slide stage root; animation styles are applied to its elements. */
12197
12423
  private readonly stageRef;
12424
+ /**
12425
+ * Applies the playback service's per-element animation state to the rendered
12426
+ * stage, and owns the hover-trigger state machine (see
12427
+ * `presentation-stage-animator.ts`).
12428
+ */
12429
+ private readonly stageAnimator;
12198
12430
  /**
12199
12431
  * The overlay root; the shared touch-gesture recogniser attaches here, and
12200
12432
  * it is the element the real Fullscreen API is requested on (see
@@ -12214,29 +12446,12 @@ declare class PresentationOverlayComponent implements OnInit {
12214
12446
  * document by {@link ensurePresetAnimationKeyframes}.
12215
12447
  */
12216
12448
  private readonly slideKeyframes;
12217
- /** The hover-trigger shape the pointer is currently over (fires a sequence once). */
12218
- private currentHoverTriggerId;
12219
- /** Pending `p:transition/@advTm` auto-advance timer for the current slide. */
12220
- private autoAdvanceTimer;
12221
12449
  constructor();
12222
12450
  /**
12223
- * Imperatively apply each tracked element's native-animation state to its DOM
12224
- * wrapper: visibility (entrance hide-until-revealed / exit), the CSS-animation
12225
- * shorthand (entrance / emphasis / exit / colour keyframes), and a pointer
12226
- * cursor on interactive / hover trigger shapes. Mirrors the Vue
12227
- * `applyAnimationStyles`; every renderer emits a `data-element-id`, so this
12228
- * needs no per-element renderer plumbing.
12229
- */
12230
- private applyAnimationStyles;
12231
- /** Resolve the nearest element id above a pointer target, if any. */
12232
- private closestElementId;
12233
- /**
12234
- * Pointer moved over the stage: (re)play a hover-trigger shape's sequence once
12235
- * on entering it (not on every descendant transition that `mouseover` bubbles
12236
- * up), resetting the previous trigger on leaving it.
12451
+ * Stage-hover forwarding. The animator owns the "which shape is hovered"
12452
+ * state machine; the template only needs the two DOM events.
12237
12453
  */
12238
12454
  protected onStageHover(event: MouseEvent): void;
12239
- /** Pointer left the stage subtree entirely: reset any active hover trigger. */
12240
12455
  protected onStageHoverEnd(event: MouseEvent): void;
12241
12456
  /** Viewport dimensions, updated on resize. */
12242
12457
  private readonly viewportW;
@@ -12246,37 +12461,18 @@ declare class PresentationOverlayComponent implements OnInit {
12246
12461
  protected readonly zoom: _angular_core.Signal<number>;
12247
12462
  /** Centre the scaled slide in the viewport. */
12248
12463
  protected readonly stageContainerStyle: _angular_core.Signal<Record<string, string>>;
12249
- /** "3 / 12" label. */
12250
- protected readonly counterLabel: _angular_core.Signal<string>;
12251
- /**
12252
- * Always-visible close button, fixed at the top-right and offset by the
12253
- * device safe-area insets so it clears notches / rounded corners. Sits on a
12254
- * higher z-index than the stage so taps never fall through to tap-advance.
12255
- */
12256
- protected readonly closeButtonStyle: Record<string, string>;
12257
- /** Shared geometry for the left/right edge navigation buttons. */
12258
- private readonly navButtonBase;
12259
- protected readonly prevButtonStyle: Record<string, string>;
12260
- protected readonly nextButtonStyle: Record<string, string>;
12261
- protected readonly counterStyle: Record<string, string>;
12262
12464
  /**
12263
- * Wire the shared touch-gesture recogniser to the overlay root so a
12264
- * horizontal swipe navigates: swipe left (direction -1) advances to the
12265
- * next visible slide, swipe right (direction 1) returns to the previous,
12266
- * matching the prior bespoke handler's semantics. Pinch is made inert
12267
- * (equal min/max scale, no-op getScale) and there is no long-press in
12268
- * presentation mode. Attach happens once the root node is live
12269
- * (afterNextRender) and is torn down on destroy.
12465
+ * Epoch ms the show opened, feeding the toolbar's elapsed readout. Captured
12466
+ * at construction because this overlay is created exactly when the show
12467
+ * starts, so the readout runs from 00:00 without the host tracking it.
12270
12468
  */
12271
- private setupTouchGestures;
12272
- /**
12273
- * Request real fullscreen on the overlay root once it mounts, and release
12274
- * it again when the overlay is destroyed (`presenting` flips back to
12275
- * false, closing this `@if` block). Mirrors Vue's `onMounted` /
12276
- * `onBeforeUnmount` pair on its own overlay root; feature-detected so
12277
- * unsupported environments just keep the CSS overlay.
12278
- */
12279
- private setupFullscreen;
12469
+ protected readonly showStartedAt: number;
12470
+ /** "3 / 12" label. */
12471
+ protected readonly counterLabel: _angular_core.Signal<string>;
12472
+ protected readonly closeButtonStyle: OverlayStyle;
12473
+ protected readonly prevButtonStyle: OverlayStyle;
12474
+ protected readonly nextButtonStyle: OverlayStyle;
12475
+ protected readonly counterStyle: OverlayStyle;
12280
12476
  /**
12281
12477
  * Sync back to `closed` when fullscreen is exited from OUTSIDE this
12282
12478
  * component's own close/Escape handling: the browser's native Esc handling
@@ -12290,53 +12486,29 @@ declare class PresentationOverlayComponent implements OnInit {
12290
12486
  ngOnInit(): void;
12291
12487
  onWindowResize(): void;
12292
12488
  private snapViewport;
12293
- /** Digit buffer backing PowerPoint's "type a slide number, then Enter" jump. */
12294
- private readonly keyBuffer;
12295
- onKeyDown(event: KeyboardEvent): void;
12296
- /** Toggle PowerPoint's blank black/white screen (B/W, or `.`/`,`). */
12297
- private toggleBlank;
12298
- /** Left-click on the slide area advances to the next visible slide. */
12299
- protected onBodyClick(event: MouseEvent): void;
12300
12489
  /**
12301
- * Click/tap/swipe advance. Like every forward step it first reveals the
12302
- * current slide's next animation build; only once the builds are exhausted
12303
- * does it advance the slide, and then only when the slide's transition allows
12304
- * click-advance (advanceOnClick !== false). Keyboard and the on-screen
12305
- * next/prev buttons call navigate() directly and are never gated.
12490
+ * `@HostListener` must sit on the component class, so these two stay here and
12491
+ * forward; the rules they implement live in the input controller.
12306
12492
  */
12307
- private advanceFromClick;
12493
+ onKeyDown(event: KeyboardEvent): void;
12494
+ protected onBodyClick(event: MouseEvent): void;
12308
12495
  /** Click on the end screen: exit the show, like PowerPoint's "click to exit". */
12309
12496
  protected onEndScreenClick(event: MouseEvent): void;
12310
- /** Toggle an annotation tool (clicking the active one disarms it). */
12311
- protected selectTool(tool: 'pen' | 'highlighter' | 'eraser' | 'laser'): void;
12312
- /** Toggle the live-caption (subtitle) bar. */
12313
- protected toggleSubtitles(): void;
12314
- /** Close button click: stop propagation so it does not also advance. */
12315
- protected onClose(event: MouseEvent): void;
12316
- /**
12317
- * Close button touch: stop propagation and prevent the synthesized click
12318
- * so a tap exits without bubbling to the tap-advance handler.
12319
- */
12320
- protected onCloseTouch(event: TouchEvent): void;
12321
- /** Previous-edge button: stop propagation so the tap does not double-fire. */
12322
- protected onPrev(event: MouseEvent): void;
12323
- protected onPrevTouch(event: TouchEvent): void;
12324
- /** Next-edge button: stop propagation so the tap does not double-fire. */
12325
- protected onNext(event: MouseEvent): void;
12326
- protected onNextTouch(event: TouchEvent): void;
12327
- /** Cancel any pending timed auto-advance. */
12328
- private clearAutoAdvanceTimer;
12329
- private navigate;
12330
- /**
12331
- * Jump directly to `index` (clamped to the slide range), committing the same
12332
- * way `navigate()` does its final step. Used by the zoom-navigation context
12333
- * for a click-to-jump from a zoom tile: this is a transition-less jump, so it
12334
- * does NOT replay the target slide's transition.
12335
- */
12336
- private goToSlide;
12497
+ /** The show toolbar's end button: same exit path as Escape / the close button. */
12498
+ protected onToolbarEnd(): void;
12499
+ /**
12500
+ * Overlay-chrome buttons (close / previous / next). Each is bound for both
12501
+ * `click` and `touchend`: the touch path additionally prevents the browser's
12502
+ * synthesized click so one tap does not fire the action twice, and every one
12503
+ * of them stops propagation so the press never also reaches the stage's
12504
+ * tap-to-advance handler.
12505
+ */
12506
+ protected onChromeButton(event: MouseEvent, action: 'close' | 'prev' | 'next'): void;
12507
+ protected onChromeButtonTouch(event: TouchEvent, action: 'close' | 'prev' | 'next'): void;
12508
+ private runChromeAction;
12337
12509
  private emitClosed;
12338
12510
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresentationOverlayComponent, never>;
12339
- 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>;
12511
+ 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; }; "presenterMode": { "alias": "presenterMode"; "required": false; "isSignal": true; }; }, { "indexChange": "indexChange"; "closed": "closed"; "subtitlesChange": "subtitlesChange"; "presenterViewToggle": "presenterViewToggle"; "annotationsExit": "annotationsExit"; }, never, never, true, never>;
12340
12512
  }
12341
12513
 
12342
12514
  /**
@@ -12389,6 +12561,16 @@ declare class SlideSorterOverlayComponent {
12389
12561
  onThumbClick(index: number): void;
12390
12562
  /** Returns true when a slide has been marked as hidden in the presentation. */
12391
12563
  isHiddenSlide(slide: PptxSlide): boolean;
12564
+ /** Dictionary key for the word shown and announced on a hidden slide's cell. */
12565
+ readonly hiddenLabelKey = "pptx.slideSorter.hidden";
12566
+ /** Shared slash mark, bound inline so a stylesheet copy cannot drift. */
12567
+ readonly slashGradient = "linear-gradient(to top right, transparent 47%, color-mix(in srgb, currentColor 60%, transparent) 47%, color-mix(in srgb, currentColor 60%, transparent) 53%, transparent 53%)";
12568
+ /**
12569
+ * The shared cue for one cell. The dim already came off `.is-hidden`, but
12570
+ * opacity is a colour-only signal and said nothing to a screen reader, so
12571
+ * this adds the number slash, the word, and the neutral marker attribute.
12572
+ */
12573
+ hiddenCue(slide: PptxSlide, index: number): HiddenSlideCue;
12392
12574
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideSorterOverlayComponent, never>;
12393
12575
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideSorterOverlayComponent, "pptx-slide-sorter-overlay", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; }, { "select": "select"; "closed": "closed"; }, never, never, true, never>;
12394
12576
  }
@@ -13105,6 +13287,25 @@ declare function buildGradientFillCss(stops: Array<{
13105
13287
  color: string;
13106
13288
  position: number;
13107
13289
  }>, type: 'linear' | 'radial', angle: number): string;
13290
+ /**
13291
+ * Preset a pattern fill falls back to when the cell carries none.
13292
+ *
13293
+ * Matches the reference binding, and the value the panel seeds when the fill
13294
+ * mode is switched to "pattern".
13295
+ */
13296
+ declare const DEFAULT_PATTERN_FILL_PRESET = "ltDnDiag";
13297
+ /**
13298
+ * The presets the pattern picker offers for a cell currently set to `current`.
13299
+ *
13300
+ * WHY this is not just `PATTERN_OPTIONS`: that list is the first 20 of the 56
13301
+ * OOXML presets, and the fallback preset (`ltDnDiag`, index 27) is not among
13302
+ * them. A cell carrying any preset outside the slice therefore rendered a
13303
+ * `<select>` whose value matched no `<option>`, so the browser displayed the
13304
+ * first entry instead and the very next interaction silently rewrote a fill the
13305
+ * user never touched. Appending the current preset when it is off-list keeps it
13306
+ * representable without changing the catalogue the picker offers.
13307
+ */
13308
+ declare function patternPresetOptions(current: string | undefined): readonly string[];
13108
13309
 
13109
13310
  declare class TablePropertiesComponent {
13110
13311
  /** The table element being edited. */
@@ -13186,6 +13387,15 @@ declare class TableCellFormattingComponent {
13186
13387
  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>;
13187
13388
  }
13188
13389
 
13390
+ /** SmartArt colour variation (`colorful1` ... `monochromatic2`). */
13391
+ declare function smartArtColorSchemeLabelKey(scheme: string): string;
13392
+ /** SmartArt style intensity (`flat` / `moderate` / `intense`). */
13393
+ declare function smartArtStyleLabelKey(style: string): string;
13394
+ /** SmartArt layout family (`list`, `process`, `bending`, ...). */
13395
+ declare function smartArtLayoutLabelKey(layout: string): string;
13396
+ /** `a:pattFill/@prst` preset (`pct5`, `ltDnDiag`, `zigZag`, ...). */
13397
+ declare function fillPatternLabelKey(preset: string): string;
13398
+
13189
13399
  type GradientStop = {
13190
13400
  color: string;
13191
13401
  position: number;
@@ -13205,7 +13415,16 @@ declare class TableCellAdvancedFillComponent {
13205
13415
  value: string;
13206
13416
  i18nKey: string;
13207
13417
  }[];
13208
- 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")[];
13418
+ /** The cell's pattern preset, or the fallback the panel would seed. */
13419
+ protected readonly patternPreset: _angular_core.Signal<string>;
13420
+ /**
13421
+ * Offered presets, widened to include the current one when it sits outside
13422
+ * the offered slice (the fallback preset does), so the `<select>` cannot show
13423
+ * a value the cell does not have and then commit it on the next change.
13424
+ */
13425
+ protected readonly patterns: _angular_core.Signal<readonly string[]>;
13426
+ /** Spell a preset: the picker used to offer `ltHorz` / `narVert` verbatim. */
13427
+ protected patternLabelKey: typeof fillPatternLabelKey;
13209
13428
  protected readonly margins: ReadonlyArray<{
13210
13429
  key: 'marginTop' | 'marginBottom' | 'marginLeft' | 'marginRight';
13211
13430
  label: string;
@@ -13514,6 +13733,91 @@ declare class ChartErrorBarOptionsComponent {
13514
13733
  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>;
13515
13734
  }
13516
13735
 
13736
+ /**
13737
+ * animation-author-helpers.ts: Angular shim over the shared element-animation
13738
+ * authoring model.
13739
+ *
13740
+ * The pure, immutable `PptxElementAnimation[]` readers + patch builders now live
13741
+ * in `pptx-viewer-shared` (`render/animation-authoring`), consolidated with the
13742
+ * Vue authoring model. They are re-exported here so the authoring panel / ribbon
13743
+ * keep importing the same names.
13744
+ *
13745
+ * What stays Angular-local: the **labelled** option catalogs the templates bind
13746
+ * to (`ENTRANCE_PRESETS` … `DIRECTION_OPTIONS`). Shared exposes only the value
13747
+ * lists (`ENTRANCE_PRESET_VALUES` …) because the human label / arrow glyph is a
13748
+ * view concern; this module pairs each value with its Angular display label.
13749
+ */
13750
+
13751
+ /** Subset of entrance presets surfaced in the authoring UI. */
13752
+ declare const ENTRANCE_PRESETS: ReadonlyArray<{
13753
+ value: PptxAnimationPreset;
13754
+ label: string;
13755
+ labelKey: string;
13756
+ }>;
13757
+ /** Subset of exit presets surfaced in the authoring UI. */
13758
+ declare const EXIT_PRESETS: ReadonlyArray<{
13759
+ value: PptxAnimationPreset;
13760
+ label: string;
13761
+ labelKey: string;
13762
+ }>;
13763
+ /** Subset of emphasis presets surfaced in the authoring UI. */
13764
+ declare const EMPHASIS_PRESETS: ReadonlyArray<{
13765
+ value: PptxAnimationPreset;
13766
+ label: string;
13767
+ labelKey: string;
13768
+ }>;
13769
+ /** Trigger options for the trigger selector. */
13770
+ declare const TRIGGER_OPTIONS: ReadonlyArray<{
13771
+ value: PptxAnimationTrigger;
13772
+ label: string;
13773
+ labelKey: string;
13774
+ }>;
13775
+ /** Timing curve options. */
13776
+ declare const TIMING_CURVE_OPTIONS: ReadonlyArray<{
13777
+ value: PptxAnimationTimingCurve;
13778
+ label: string;
13779
+ labelKey: string;
13780
+ }>;
13781
+ /** Repeat-mode options (`'none'` means clear the field). */
13782
+ declare const REPEAT_MODE_OPTIONS: ReadonlyArray<{
13783
+ value: 'none' | PptxAnimationRepeatMode;
13784
+ label: string;
13785
+ labelKey: string;
13786
+ }>;
13787
+ /** Direction options for directional presets (fly in/out, wipe). */
13788
+ declare const DIRECTION_OPTIONS: ReadonlyArray<{
13789
+ value: PptxAnimationDirection;
13790
+ label: string;
13791
+ labelKey: string;
13792
+ /** Unicode arrow glyph used as an icon substitute in the Angular template. */
13793
+ arrow: string;
13794
+ }>;
13795
+ /** Sequence options for paragraph/word/letter builds. */
13796
+ declare const SEQUENCE_OPTIONS: ReadonlyArray<{
13797
+ value: PptxAnimationSequence;
13798
+ label: string;
13799
+ labelKey: string;
13800
+ }>;
13801
+
13802
+ /** Controls backed by a `<select>` (or any control yielding a string). */
13803
+ declare const ANIMATION_SELECT_SETTERS: {
13804
+ readonly entrance: typeof setAnimationEntrance;
13805
+ readonly emphasis: typeof setAnimationEmphasis;
13806
+ readonly exit: typeof setAnimationExit;
13807
+ readonly sequence: typeof setSequence;
13808
+ readonly trigger: typeof setTrigger;
13809
+ readonly timingCurve: typeof setTimingCurve;
13810
+ readonly repeatMode: typeof setRepeatMode;
13811
+ };
13812
+ /** Controls backed by a numeric `<input>`. */
13813
+ declare const ANIMATION_NUMBER_SETTERS: {
13814
+ readonly duration: typeof setDuration;
13815
+ readonly delay: typeof setDelay;
13816
+ readonly repeatCount: typeof setRepeatCount;
13817
+ };
13818
+ type AnimationSelectField = keyof typeof ANIMATION_SELECT_SETTERS;
13819
+ type AnimationNumberField = keyof typeof ANIMATION_NUMBER_SETTERS;
13820
+
13517
13821
  declare class AnimationAuthorPanelComponent {
13518
13822
  private readonly translate;
13519
13823
  /** The selected element whose animation settings are being authored. */
@@ -13540,32 +13844,32 @@ declare class AnimationAuthorPanelComponent {
13540
13844
  */
13541
13845
  readonly animationsChange: _angular_core.OutputEmitterRef<PptxElementAnimation[]>;
13542
13846
  protected readonly entrancePresets: readonly {
13543
- value: PptxAnimationPreset;
13847
+ value: pptx_viewer_core.PptxAnimationPreset;
13544
13848
  label: string;
13545
13849
  labelKey: string;
13546
13850
  }[];
13547
13851
  protected readonly exitPresets: readonly {
13548
- value: PptxAnimationPreset;
13852
+ value: pptx_viewer_core.PptxAnimationPreset;
13549
13853
  label: string;
13550
13854
  labelKey: string;
13551
13855
  }[];
13552
13856
  protected readonly emphasisPresets: readonly {
13553
- value: PptxAnimationPreset;
13857
+ value: pptx_viewer_core.PptxAnimationPreset;
13554
13858
  label: string;
13555
13859
  labelKey: string;
13556
13860
  }[];
13557
13861
  protected readonly triggerOptions: readonly {
13558
- value: PptxAnimationTrigger;
13862
+ value: pptx_viewer_core.PptxAnimationTrigger;
13559
13863
  label: string;
13560
13864
  labelKey: string;
13561
13865
  }[];
13562
13866
  protected readonly timingCurveOptions: readonly {
13563
- value: PptxAnimationTimingCurve;
13867
+ value: pptx_viewer_core.PptxAnimationTimingCurve;
13564
13868
  label: string;
13565
13869
  labelKey: string;
13566
13870
  }[];
13567
13871
  protected readonly repeatModeOptions: readonly {
13568
- value: "none" | PptxAnimationRepeatMode;
13872
+ value: "none" | pptx_viewer_core.PptxAnimationRepeatMode;
13569
13873
  label: string;
13570
13874
  labelKey: string;
13571
13875
  }[];
@@ -13576,7 +13880,7 @@ declare class AnimationAuthorPanelComponent {
13576
13880
  arrow: string;
13577
13881
  }[];
13578
13882
  protected readonly sequenceOptions: readonly {
13579
- value: PptxAnimationSequence;
13883
+ value: pptx_viewer_core.PptxAnimationSequence;
13580
13884
  label: string;
13581
13885
  labelKey: string;
13582
13886
  }[];
@@ -13611,9 +13915,20 @@ declare class AnimationAuthorPanelComponent {
13611
13915
  protected elementLabel(element: PptxElement): string;
13612
13916
  private emit;
13613
13917
  protected onPreview(): void;
13614
- protected onEntranceChange(event: Event): void;
13615
- protected onExitChange(event: Event): void;
13616
- protected onEmphasisChange(event: Event): void;
13918
+ /**
13919
+ * Every `<select>` in the panel commits through here. The field name picks the
13920
+ * shared patch builder out of {@link ANIMATION_SELECT_SETTERS}; see that
13921
+ * module for why there is one handler rather than seven.
13922
+ */
13923
+ protected onSelect(event: Event, field: AnimationSelectField): void;
13924
+ /** Every numeric `<input>` in the panel commits through here. */
13925
+ protected onNumber(event: Event, field: AnimationNumberField): void;
13926
+ /**
13927
+ * The trigger-shape picker is the exception to the table above: its empty
13928
+ * option means "no trigger shape" and must reach the setter as `undefined`
13929
+ * rather than being ignored.
13930
+ */
13931
+ protected onTriggerShapeChange(event: Event): void;
13617
13932
  /**
13618
13933
  * Apply or clear the element's motion path.
13619
13934
  *
@@ -13623,15 +13938,7 @@ declare class AnimationAuthorPanelComponent {
13623
13938
  * when nothing else is left on it. Both rules live in the shared helpers.
13624
13939
  */
13625
13940
  protected onMotionPathChange(presetId: string): void;
13626
- protected onTriggerChange(event: Event): void;
13627
- protected onTriggerShapeChange(event: Event): void;
13628
- protected onDurationChange(event: Event): void;
13629
- protected onDelayChange(event: Event): void;
13630
- protected onTimingCurveChange(event: Event): void;
13631
- protected onRepeatCountChange(event: Event): void;
13632
- protected onRepeatModeChange(event: Event): void;
13633
13941
  protected onDirectionChange(dir: PptxAnimationDirection): void;
13634
- protected onSequenceChange(event: Event): void;
13635
13942
  protected onMoveUp(): void;
13636
13943
  protected onMoveDown(): void;
13637
13944
  protected onRemove(): void;
@@ -13921,6 +14228,24 @@ declare class SlidesPanelComponent {
13921
14228
  onAddSlide(): void;
13922
14229
  onRenameSection(sectionId: string, currentName: string): void;
13923
14230
  sectionIndex(sectionId: string): number;
14231
+ /** Dictionary key for the word shown and announced on a hidden slide's card. */
14232
+ readonly hiddenLabelKey = "pptx.slideSorter.hidden";
14233
+ /**
14234
+ * The hidden-slide slash and dim, bound as inline styles rather than written
14235
+ * into `slides-panel.component.css`. A component stylesheet cannot read a TS
14236
+ * constant, so a literal copy there would be free to drift from the four
14237
+ * other bindings; binding the shared values makes drift impossible.
14238
+ */
14239
+ readonly slashGradient = "linear-gradient(to top right, transparent 47%, color-mix(in srgb, currentColor 60%, transparent) 47%, color-mix(in srgb, currentColor 60%, transparent) 53%, transparent 53%)";
14240
+ readonly dimOpacity = 0.5;
14241
+ /**
14242
+ * The shared rail/sorter cue for one card. A hidden slide is still LISTED
14243
+ * here (hiding only removes it from the show), so without this the panel gave
14244
+ * a user no way to tell that a slide will be skipped.
14245
+ */
14246
+ hiddenCue(slide: {
14247
+ hidden?: boolean;
14248
+ }, index: number): HiddenSlideCue;
13924
14249
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlidesPanelComponent, never>;
13925
14250
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlidesPanelComponent, "pptx-slides-panel", never, { "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>;
13926
14251
  }
@@ -14565,6 +14890,11 @@ declare class SlideThemeOverridePanelComponent {
14565
14890
  protected readonly slots: readonly ["dk1", "lt1", "dk2", "lt2", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "hlink", "folHlink"];
14566
14891
  protected readonly labels: Record<"accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "hlink" | "folHlink" | "tx1" | "tx2" | "bg1" | "bg2", string>;
14567
14892
  protected readonly active: _angular_core.Signal<boolean>;
14893
+ /**
14894
+ * Spell a target slot: the picker used to offer `dk1` / `folHlink` verbatim,
14895
+ * which read as noise next to the friendly alias label in the same row.
14896
+ */
14897
+ protected slotLabelKey(slot: string): string;
14568
14898
  protected current(alias: ColorMapAliasKey): string;
14569
14899
  protected slotColor(slot: string): string | undefined;
14570
14900
  private emitOverride;
@@ -14582,12 +14912,17 @@ interface CustomThemeEdit {
14582
14912
  declare class ThemeEditorFieldsComponent {
14583
14913
  readonly theme: _angular_core.InputSignal<PptxTheme | undefined>;
14584
14914
  readonly applyTheme: _angular_core.OutputEmitterRef<CustomThemeEdit>;
14585
- readonly slots: Array<keyof PptxThemeColorScheme>;
14915
+ readonly slots: (keyof PptxThemeColorScheme)[];
14586
14916
  readonly colors: _angular_core.WritableSignal<PptxThemeColorScheme>;
14587
14917
  readonly name: _angular_core.WritableSignal<string>;
14588
14918
  readonly majorFont: _angular_core.WritableSignal<string>;
14589
14919
  readonly minorFont: _angular_core.WritableSignal<string>;
14590
14920
  ngOnInit(): void;
14921
+ /**
14922
+ * Spell a theme slot: the swatch used to be captioned (and tooltipped) with
14923
+ * the raw `a:clrScheme` child name, so users saw `dk1` / `folHlink`.
14924
+ */
14925
+ protected slotLabelKey(slot: keyof PptxThemeColorScheme): string;
14591
14926
  protected value(event: Event): string;
14592
14927
  protected color(slot: keyof PptxThemeColorScheme): string;
14593
14928
  protected setColor(slot: keyof PptxThemeColorScheme, event: Event): void;
@@ -15379,7 +15714,7 @@ declare class AccountPageComponent {
15379
15714
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
15380
15715
  private readonly translate;
15381
15716
  protected readonly swatches: readonly string[];
15382
- protected readonly version = "2.10.0";
15717
+ protected readonly version = "2.11.1";
15383
15718
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
15384
15719
  protected readonly initial: _angular_core.Signal<string>;
15385
15720
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -15613,6 +15948,146 @@ declare class PresentationSubtitleBarComponent implements OnChanges {
15613
15948
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationSubtitleBarComponent, "pptx-presentation-subtitle-bar", never, { "visible": { "alias": "visible"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
15614
15949
  }
15615
15950
 
15951
+ /**
15952
+ * presentation-toolbar-view.ts: the literal class tokens and the auto-hide
15953
+ * state machine behind {@link PresentationToolbarComponent}.
15954
+ *
15955
+ * Neither lives in the component itself, for two reasons:
15956
+ *
15957
+ * - Tailwind is told to scan `src/viewer/**\/*.ts` and the vendored shared
15958
+ * source, and nothing else (see `src/styles/pptx-angular-viewer.css`). A
15959
+ * utility class written straight into a component's external `.html` is
15960
+ * therefore never emitted, and the control silently renders unstyled. Every
15961
+ * literal class the toolbar template needs is declared here so the scanner
15962
+ * sees it; the rest come from shared's `PRESENT_TOOLBAR_CLASSES`, which the
15963
+ * scanner also covers.
15964
+ * - This package has no TestBed (see `vitest.config.ts`), so any toolbar
15965
+ * behaviour worth asserting has to be reachable without rendering it.
15966
+ */
15967
+ /** Annotation-tool toggle, tinted when the tool is armed. */
15968
+ declare function presentToolbarToggleClass(active: boolean): string;
15969
+ /**
15970
+ * "Clear annotations". The red hover tint is withheld while the button is
15971
+ * disabled so a strokeless slide does not advertise an action that cannot run.
15972
+ */
15973
+ declare function presentToolbarClearClass(hasAnnotations: boolean): string;
15974
+ /** One colour swatch in a palette popover. */
15975
+ declare function presentToolbarSwatchClass(selected: boolean): string;
15976
+ /**
15977
+ * The show toolbar's auto-hide countdown, mirroring React's
15978
+ * `PresentationToolbarWrapper`: any pointer movement shows the bar, and it
15979
+ * fades out again after {@link AUTO_HIDE_DELAY_MS} of stillness unless the
15980
+ * pointer is resting on the bar itself.
15981
+ *
15982
+ * Split out of the component because a presenter losing the bar mid-show (or
15983
+ * never getting it back) is the failure this logic exists to prevent, and it
15984
+ * cannot be exercised through a component this package cannot mount.
15985
+ */
15986
+ declare class PresentToolbarAutoHide {
15987
+ private readonly setVisible;
15988
+ private timer;
15989
+ private hovering;
15990
+ constructor(setVisible: (visible: boolean) => void);
15991
+ /** Pointer moved anywhere: show the bar and restart the countdown. */
15992
+ poke(): void;
15993
+ /** Pointer entered the bar: keep it up for as long as it rests there. */
15994
+ enter(): void;
15995
+ /** Pointer left the bar: resume the countdown. */
15996
+ leave(): void;
15997
+ /** Drop the pending timer (component teardown). */
15998
+ dispose(): void;
15999
+ private restart;
16000
+ private cancel;
16001
+ }
16002
+
16003
+ /** The control ids that run an action (dividers and readouts are inert). */
16004
+ type PresentToolbarAction = 'previous' | 'next' | 'laser' | 'pen' | 'pen-color' | 'highlighter' | 'highlighter-color' | 'eraser' | 'clear' | 'presenter-view' | 'end';
16005
+ /** Which colour palette popover is open, if any. */
16006
+ type OpenPalette = 'none' | 'pen' | 'highlighter';
16007
+ declare class PresentationToolbarComponent {
16008
+ /** Zero-based index of the slide on screen. */
16009
+ readonly currentSlideIndex: _angular_core.InputSignal<number>;
16010
+ readonly totalSlides: _angular_core.InputSignal<number>;
16011
+ /**
16012
+ * Epoch ms the show started. Defaults to this bar's own construction, which
16013
+ * IS the moment the show overlay appeared, so the readout ticks from zero
16014
+ * even for a host that tracks no start time of its own.
16015
+ */
16016
+ readonly presentationStartTime: _angular_core.InputSignal<number | null>;
16017
+ /** Whether presenter view is currently up (tints the toggle). */
16018
+ readonly presenterMode: _angular_core.InputSignal<boolean>;
16019
+ /** Step the show by one slide (`-1` back, `1` forward). */
16020
+ readonly move: _angular_core.OutputEmitterRef<1 | -1>;
16021
+ /** Leave the show. */
16022
+ readonly endPresentation: _angular_core.OutputEmitterRef<void>;
16023
+ /** Swap between the fullscreen show and presenter view. */
16024
+ readonly presenterViewToggle: _angular_core.OutputEmitterRef<void>;
16025
+ protected readonly annotations: PresentationAnnotationsService;
16026
+ private readonly host;
16027
+ protected readonly ui: {
16028
+ readonly end: "flex items-center justify-center w-9 h-9 rounded-md transition-colors text-white/70 hover:text-white hover:bg-white/10 disabled:text-white/20 disabled:cursor-not-allowed hover:text-red-400";
16029
+ readonly icon: "h-[18px] w-[18px]";
16030
+ readonly caretIcon: "h-3 w-3";
16031
+ readonly timerIcon: "h-3.5 w-3.5";
16032
+ readonly group: "relative flex items-center";
16033
+ readonly penColors: string[];
16034
+ readonly highlighterColors: string[];
16035
+ readonly toggleClass: typeof presentToolbarToggleClass;
16036
+ readonly clearClass: typeof presentToolbarClearClass;
16037
+ readonly swatchClass: typeof presentToolbarSwatchClass;
16038
+ readonly container: "flex items-center gap-1 px-3 py-2 rounded-xl bg-neutral-900/90 backdrop-blur-md border border-white/15 shadow-2xl";
16039
+ readonly wrapper: "absolute bottom-6 left-1/2 -translate-x-1/2 z-[80] transition-opacity duration-300";
16040
+ readonly button: "flex items-center justify-center w-9 h-9 rounded-md transition-colors text-white/70 hover:text-white hover:bg-white/10 disabled:text-white/20 disabled:cursor-not-allowed";
16041
+ readonly toggle: "relative flex items-center justify-center w-9 h-9 rounded-md transition-colors text-white/70 hover:text-white hover:bg-white/10";
16042
+ readonly toggleActive: "relative flex items-center justify-center w-9 h-9 rounded-md transition-colors bg-white/25 text-white";
16043
+ readonly caret: "flex items-center justify-center w-7 h-9 -ml-1 rounded-r-md transition-colors text-white/50 hover:text-white hover:bg-white/10";
16044
+ readonly divider: "w-px h-6 bg-white/20 mx-1";
16045
+ readonly counter: "text-xs font-mono tabular-nums text-white/80 px-1.5 select-none min-w-[48px] text-center";
16046
+ readonly timer: "flex items-center gap-1.5 text-xs font-mono tabular-nums text-white/60 px-1 select-none";
16047
+ readonly palette: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 p-3 w-max bg-neutral-800 rounded-lg border border-white/20 shadow-xl grid grid-cols-4 gap-2";
16048
+ readonly swatch: "w-9 h-9 rounded-full border-2 transition-transform hover:scale-110";
16049
+ readonly swatchBar: "absolute bottom-0.5 left-1/2 -translate-x-1/2 w-3 h-0.5 rounded-full";
16050
+ };
16051
+ protected readonly openPalette: _angular_core.WritableSignal<OpenPalette>;
16052
+ protected readonly visible: _angular_core.WritableSignal<boolean>;
16053
+ private readonly mountedAt;
16054
+ private readonly now;
16055
+ protected readonly counterLabel: _angular_core.Signal<string>;
16056
+ protected readonly elapsedLabel: _angular_core.Signal<string>;
16057
+ protected readonly atFirstSlide: _angular_core.Signal<boolean>;
16058
+ protected readonly atLastSlide: _angular_core.Signal<boolean>;
16059
+ protected readonly hasAnnotations: _angular_core.Signal<boolean>;
16060
+ private readonly autoHide;
16061
+ constructor();
16062
+ /**
16063
+ * Mirrors React's `PresentationToolbarWrapper`: the shared bottom-trigger
16064
+ * zone is tested against the show surface first, then any other movement
16065
+ * shows the bar too. Both arms re-arm the countdown, so a presenter who
16066
+ * stops moving loses the chrome after three seconds and gets it straight
16067
+ * back on the next twitch.
16068
+ */
16069
+ protected onDocumentMouseMove(event: MouseEvent): void;
16070
+ protected onMouseEnter(): void;
16071
+ protected onMouseLeave(): void;
16072
+ /** A press outside the bar dismisses whichever colour palette is open. */
16073
+ protected onDocumentMouseDown(event: MouseEvent): void;
16074
+ /**
16075
+ * Every control is bound for both `click` and `touchend`, and both stop
16076
+ * propagation: the show surface advances the deck on click, so a press on
16077
+ * the bar that bubbled would also skip a slide. The touch path additionally
16078
+ * suppresses the synthesized click so one tap does not fire twice.
16079
+ */
16080
+ protected onControlClick(event: MouseEvent, action: PresentToolbarAction): void;
16081
+ protected onControlTouch(event: TouchEvent, action: PresentToolbarAction): void;
16082
+ /** Pick a swatch. Choosing a colour also arms the tool it belongs to. */
16083
+ protected pickColor(event: Event, kind: 'pen' | 'highlighter', color: string): void;
16084
+ private run;
16085
+ private selectTool;
16086
+ private togglePalette;
16087
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresentationToolbarComponent, never>;
16088
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationToolbarComponent, "pptx-presentation-toolbar", never, { "currentSlideIndex": { "alias": "currentSlideIndex"; "required": true; "isSignal": true; }; "totalSlides": { "alias": "totalSlides"; "required": true; "isSignal": true; }; "presentationStartTime": { "alias": "presentationStartTime"; "required": false; "isSignal": true; }; "presenterMode": { "alias": "presenterMode"; "required": false; "isSignal": true; }; }, { "move": "move"; "endPresentation": "endPresentation"; "presenterViewToggle": "presenterViewToggle"; }, never, never, true, never>;
16089
+ }
16090
+
15616
16091
  /**
15617
16092
  * transition-helpers.ts
15618
16093
  *
@@ -16682,6 +17157,9 @@ declare class SmartArtPropertiesComponent {
16682
17157
  protected readonly activeColorScheme: _angular_core.Signal<SmartArtColorScheme>;
16683
17158
  protected readonly activeStyle: _angular_core.Signal<SmartArtStyle>;
16684
17159
  protected isChild: typeof isChildNode;
17160
+ protected layoutLabelKey: typeof smartArtLayoutLabelKey;
17161
+ protected colorSchemeLabelKey: typeof smartArtColorSchemeLabelKey;
17162
+ protected styleLabelKey: typeof smartArtStyleLabelKey;
16685
17163
  /** Count of top-level (parentless) nodes, for boundary checks. */
16686
17164
  protected readonly topLevelCount: _angular_core.Signal<number>;
16687
17165
  /** Whether a new top-level item may be added without exceeding the layout max. */
@@ -16818,8 +17296,7 @@ interface AnimationPresetCategory {
16818
17296
  tone: string;
16819
17297
  presets: readonly AnimationPresetEntry[];
16820
17298
  }
16821
- /** The i18n key naming a preset, shared by every binding's gallery. */
16822
- declare function animationPresetLabelKey(preset: PptxAnimationPreset): string;
17299
+
16823
17300
  /**
16824
17301
  * The gallery's columns, in the catalogue's own order.
16825
17302
  *
@@ -17372,13 +17849,17 @@ declare class RibbonSlideshowSectionComponent {
17372
17849
  /** "Custom show"; the host opens the custom-show manager dialog. */
17373
17850
  readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
17374
17851
  readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
17852
+ /** PowerPoint's Hide Slide toggle for the active slide. */
17853
+ readonly toggleHideSlide: _angular_core.OutputEmitterRef<void>;
17854
+ /** Whether the active slide is hidden, for Hide Slide's pressed state. */
17855
+ readonly activeSlideHidden: _angular_core.InputSignal<boolean>;
17375
17856
  readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
17376
17857
  readonly record: _angular_core.OutputEmitterRef<void>;
17377
17858
  readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
17378
17859
  readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
17379
17860
  protected readonly toolbar: ToolbarVisibility;
17380
17861
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonSlideshowSectionComponent, never>;
17381
- 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>;
17862
+ 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>;
17382
17863
  }
17383
17864
 
17384
17865
  /** The selection's text style, or null when the element carries no text props. */
@@ -17519,11 +18000,17 @@ declare function clampIndex(index: number, count: number): number;
17519
18000
  /**
17520
18001
  * Return the next visible (non-hidden) slide index after `current`.
17521
18002
  * Wraps around to `current` if no subsequent visible slide exists.
18003
+ *
18004
+ * Thin adapter over the shared show-order rule: Angular used to own this logic
18005
+ * outright, which is exactly why the other four bindings presented hidden
18006
+ * slides. Kept as a named export because the overlay's tests and the navigator
18007
+ * read better in terms of "next visible slide" than raw index lists.
17522
18008
  */
17523
18009
  declare function nextVisibleIndex(current: number, slides: readonly PptxSlide[]): number;
17524
18010
  /**
17525
18011
  * Return the previous visible (non-hidden) slide index before `current`.
17526
- * Wraps around to `current` if no earlier visible slide exists.
18012
+ * Returns `current` when no earlier visible slide exists: PowerPoint never
18013
+ * wraps backward off the first slide.
17527
18014
  */
17528
18015
  declare function prevVisibleIndex(current: number, slides: readonly PptxSlide[]): number;
17529
18016
  /**
@@ -17536,12 +18023,16 @@ declare function fitZoom(canvasW: number, canvasH: number, vw: number, vh: numbe
17536
18023
  /**
17537
18024
  * Whether a visible (non-hidden) slide exists strictly AFTER `current`.
17538
18025
  *
17539
- * `nextVisibleIndex` wraps modulo the deck length, which makes a show loop for
17540
- * ever. PowerPoint only loops when "Loop continuously until Esc" is set;
17541
- * otherwise running past the last slide ends the show. Callers use this to tell
17542
- * "there is a next slide" from "we just wrapped".
18026
+ * `nextVisibleIndex` wraps, which would make a show loop for ever. PowerPoint
18027
+ * only loops when "Loop continuously until Esc" is set; otherwise running past
18028
+ * the last slide ends the show. Callers use this to tell "there is a next
18029
+ * slide" from "we just wrapped".
17543
18030
  */
17544
18031
  declare function hasVisibleSlideAfter(current: number, slides: readonly PptxSlide[]): boolean;
18032
+ /** The show's first visible slide (Home), or 0 for an empty deck. */
18033
+ declare function firstVisibleIndex(slides: readonly PptxSlide[]): number;
18034
+ /** The show's last visible slide (End), or 0 for an empty deck. */
18035
+ declare function lastVisibleIndex(slides: readonly PptxSlide[]): number;
17545
18036
 
17546
18037
  /**
17547
18038
  * touch-gestures.ts: thin Angular adapter over the framework-agnostic
@@ -17739,8 +18230,14 @@ declare function resolveCaptionTracks(tracks: readonly MediaCaptionTrack[] | und
17739
18230
  *
17740
18231
  * On the interactive (edit) canvas native controls are suppressed and pointer
17741
18232
  * events are disabled so a click selects / moves the element rather than
17742
- * scrubbing playback; preview / presentation canvases play normally. This
17743
- * mirrors Vue's `interactive`-gated controls.
18233
+ * scrubbing playback.
18234
+ *
18235
+ * They are suppressed during a SHOW too, which the `interactive` gate alone got
18236
+ * backwards: a running show is non-interactive, so it turned the transport ON,
18237
+ * and a full-bleed background video then painted Chrome's own black scrubber
18238
+ * across the bottom of the slide, over the presentation toolbar. PowerPoint
18239
+ * shows no transport during a show either; React gates on the same condition
18240
+ * (`controls={!isPresentationMode}`).
17744
18241
  */
17745
18242
  declare class MediaRendererComponent {
17746
18243
  /** The element to render. Playback only occurs when `type === 'media'`. */
@@ -18057,7 +18554,6 @@ declare class TitleBarComponent {
18057
18554
  readonly quickCommand: _angular_core.OutputEmitterRef<string>;
18058
18555
  readonly toggleFindReplace: _angular_core.OutputEmitterRef<void>;
18059
18556
  readonly commandSearch: _angular_core.OutputEmitterRef<string>;
18060
- private readonly translate;
18061
18557
  protected readonly tb: {
18062
18558
  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";
18063
18559
  readonly logo: "flex items-center justify-center w-5 h-5 rounded-sm bg-[#c43e1c] text-white text-[10px] font-bold shrink-0";
@@ -18085,8 +18581,6 @@ declare class TitleBarComponent {
18085
18581
  };
18086
18582
  protected readonly defaultFileKey = "pptx.titleBar.defaultFileName";
18087
18583
  protected readonly toolbar: ToolbarVisibility;
18088
- protected readonly searchQuery: _angular_core.WritableSignal<string>;
18089
- protected readonly searchFocused: _angular_core.WritableSignal<boolean>;
18090
18584
  /** Resolved Quick Access options (host-supplied, or the default trio+). */
18091
18585
  protected readonly qat: _angular_core.Signal<ViewerQuickAccessOptions>;
18092
18586
  /**
@@ -18101,17 +18595,60 @@ declare class TitleBarComponent {
18101
18595
  * else through the generic {@link quickCommand} output.
18102
18596
  */
18103
18597
  protected onQuickCommand(id: string): void;
18104
- protected readonly commandResults: _angular_core.Signal<CommandSearchEntry[]>;
18105
18598
  /** The i18n key for the save-location status text (next to the file name). */
18106
18599
  protected readonly statusKey: _angular_core.Signal<string>;
18107
18600
  /** Colour override for the status text on saving/error (when autosave is on). */
18108
18601
  protected readonly statusStateClass: _angular_core.Signal<"" | "text-red-400" | "text-yellow-500">;
18602
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleBarComponent, never>;
18603
+ 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>;
18604
+ }
18605
+
18606
+ declare class TitleBarSearchComponent {
18607
+ /** Whether the Find & Replace panel is open (drives the box's active look). */
18608
+ readonly findReplaceOpen: _angular_core.InputSignal<boolean>;
18609
+ /** A command was chosen from the palette (catalog command id). */
18610
+ readonly commandSearch: _angular_core.OutputEmitterRef<string>;
18611
+ /** The user asked to search slide CONTENT rather than commands. */
18612
+ readonly toggleFindReplace: _angular_core.OutputEmitterRef<void>;
18613
+ private readonly translate;
18614
+ protected readonly tb: {
18615
+ 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";
18616
+ readonly logo: "flex items-center justify-center w-5 h-5 rounded-sm bg-[#c43e1c] text-white text-[10px] font-bold shrink-0";
18617
+ readonly autosaveGroup: "flex items-center gap-1.5 pl-1.5 pr-0.5 shrink-0";
18618
+ readonly autosaveLabel: "text-[11px] text-muted-foreground whitespace-nowrap";
18619
+ 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";
18620
+ readonly toggleTrackOn: "bg-primary";
18621
+ readonly toggleTrackOff: "bg-muted-foreground/40";
18622
+ readonly toggleKnob: "absolute w-2.5 h-2.5 rounded-full bg-white shadow-sm transition-transform";
18623
+ readonly toggleKnobOn: "translate-x-[15px]";
18624
+ readonly toggleKnobOff: "translate-x-0.5";
18625
+ 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";
18626
+ readonly separator: "w-px h-4 bg-border/60 mx-1 shrink-0";
18627
+ readonly fileGroup: "flex items-baseline gap-1.5 px-1 min-w-0 shrink";
18628
+ readonly fileName: "text-[12px] font-medium text-foreground whitespace-nowrap overflow-hidden text-ellipsis max-w-[240px]";
18629
+ readonly statusDot: "text-muted-foreground/70";
18630
+ readonly statusText: "text-[11px] text-muted-foreground whitespace-nowrap";
18631
+ readonly statusError: "text-red-400";
18632
+ readonly statusSaving: "text-yellow-500";
18633
+ readonly searchWrap: "flex-1 flex justify-center min-w-0 px-2";
18634
+ 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";
18635
+ readonly searchIcon: "w-3 h-3 shrink-0";
18636
+ readonly searchLabel: "text-[11px] truncate";
18637
+ readonly rightSpacer: "flex items-center justify-end gap-1 shrink-0";
18638
+ };
18639
+ protected readonly searchQuery: _angular_core.WritableSignal<string>;
18640
+ protected readonly searchFocused: _angular_core.WritableSignal<boolean>;
18641
+ protected readonly commandResults: _angular_core.Signal<CommandSearchEntry[]>;
18642
+ /** The dropdown shows at most 8 rows so it never outgrows its max height. */
18643
+ protected readonly visibleResults: _angular_core.Signal<CommandSearchEntry[]>;
18109
18644
  protected selectCommand(entry: CommandSearchEntry): void;
18110
- protected openFindReplace(): void;
18645
+ protected requestFindReplace(): void;
18111
18646
  protected onSearchBlur(): void;
18112
18647
  protected onSearchKeyDown(event: KeyboardEvent): void;
18113
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleBarComponent, never>;
18114
- 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>;
18648
+ /** Clear the query and close the dropdown (shared by every commit path). */
18649
+ private reset;
18650
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleBarSearchComponent, never>;
18651
+ 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>;
18115
18652
  }
18116
18653
 
18117
18654
  /**
@@ -18155,71 +18692,5 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
18155
18692
  */
18156
18693
  declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
18157
18694
 
18158
- /**
18159
- * animation-author-helpers.ts: Angular shim over the shared element-animation
18160
- * authoring model.
18161
- *
18162
- * The pure, immutable `PptxElementAnimation[]` readers + patch builders now live
18163
- * in `pptx-viewer-shared` (`render/animation-authoring`), consolidated with the
18164
- * Vue authoring model. They are re-exported here so the authoring panel / ribbon
18165
- * keep importing the same names.
18166
- *
18167
- * What stays Angular-local: the **labelled** option catalogs the templates bind
18168
- * to (`ENTRANCE_PRESETS` … `DIRECTION_OPTIONS`). Shared exposes only the value
18169
- * lists (`ENTRANCE_PRESET_VALUES` …) because the human label / arrow glyph is a
18170
- * view concern; this module pairs each value with its Angular display label.
18171
- */
18172
-
18173
- /** Subset of entrance presets surfaced in the authoring UI. */
18174
- declare const ENTRANCE_PRESETS: ReadonlyArray<{
18175
- value: PptxAnimationPreset;
18176
- label: string;
18177
- labelKey: string;
18178
- }>;
18179
- /** Subset of exit presets surfaced in the authoring UI. */
18180
- declare const EXIT_PRESETS: ReadonlyArray<{
18181
- value: PptxAnimationPreset;
18182
- label: string;
18183
- labelKey: string;
18184
- }>;
18185
- /** Subset of emphasis presets surfaced in the authoring UI. */
18186
- declare const EMPHASIS_PRESETS: ReadonlyArray<{
18187
- value: PptxAnimationPreset;
18188
- label: string;
18189
- labelKey: string;
18190
- }>;
18191
- /** Trigger options for the trigger selector. */
18192
- declare const TRIGGER_OPTIONS: ReadonlyArray<{
18193
- value: PptxAnimationTrigger;
18194
- label: string;
18195
- labelKey: string;
18196
- }>;
18197
- /** Timing curve options. */
18198
- declare const TIMING_CURVE_OPTIONS: ReadonlyArray<{
18199
- value: PptxAnimationTimingCurve;
18200
- label: string;
18201
- labelKey: string;
18202
- }>;
18203
- /** Repeat-mode options (`'none'` means clear the field). */
18204
- declare const REPEAT_MODE_OPTIONS: ReadonlyArray<{
18205
- value: 'none' | PptxAnimationRepeatMode;
18206
- label: string;
18207
- labelKey: string;
18208
- }>;
18209
- /** Direction options for directional presets (fly in/out, wipe). */
18210
- declare const DIRECTION_OPTIONS: ReadonlyArray<{
18211
- value: PptxAnimationDirection;
18212
- label: string;
18213
- labelKey: string;
18214
- /** Unicode arrow glyph used as an icon substitute in the Angular template. */
18215
- arrow: string;
18216
- }>;
18217
- /** Sequence options for paragraph/word/letter builds. */
18218
- declare const SEQUENCE_OPTIONS: ReadonlyArray<{
18219
- value: PptxAnimationSequence;
18220
- label: string;
18221
- labelKey: string;
18222
- }>;
18223
-
18224
- 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_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, 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, 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 };
18225
- 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 };
18695
+ 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, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, 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 };
18696
+ 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, PresentToolbarAction, 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 };