pptx-angular-viewer 4.4.0 → 4.6.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,9 +1,9 @@
1
1
  import * as pptx_viewer_core from 'pptx-viewer-core';
2
- import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle, PptxChartMarkerSymbol, PptxChartDataPointPicture, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, PptxBar3DShape, SmartArtLayoutType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxThemeColorRef, PlaceholderDefaults, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartBarDirection, ImagePptxElement, MasterViewTab, PptxHeaderFooter, PptxPresentationProperties, PptxViewProperties, PptxCustomShow, PptxCoreProperties, PptxAppProperties, PptxCustomProperty, PptxTagCollection, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxSlideSize, PptxSaveFormat, MediaPptxElement, PptxTheme, PptxHandler, PptxData, PptxHandlerSaveOptions, PptxModernCommentAuthor, PptxCommentMention, PptxThemeOption, ParsedSignature, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, PptxGridSpacing, ChartPptxElement, RenderedNode, RenderedCircleNode, RenderedPolygonNode, RenderedRectNode, SmartArtLayoutResult, Model3DPptxElement, ZoomPptxElement, SmartArtPptxElement, PptxAnimationTimelineAnchor, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, PptxTextStyleLevels, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, PptxLayoutPreview, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
2
+ import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle, PptxChartMarkerSymbol, PptxChartDataPointPicture, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, PptxBar3DShape, SmartArtLayoutType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxThemeColorRef, PlaceholderDefaults, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartBarDirection, ImagePptxElement, MasterViewTab, PptxHeaderFooter, PptxPresentationProperties, PptxViewProperties, PptxCustomShow, PptxCoreProperties, PptxAppProperties, PptxCustomProperty, PptxTagCollection, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxSlideSize, PptxSaveFormat, MediaPptxElement, PptxTheme, PptxHandler, PptxData, PptxHandlerSaveOptions, PptxModernCommentAuthor, PptxCommentMention, PptxThemeOption, ParsedSignature, PptxLayoutPreview, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, PptxLayoutOption, PptxGridSpacing, ChartPptxElement, RenderedNode, RenderedCircleNode, RenderedPolygonNode, RenderedRectNode, SmartArtLayoutResult, Model3DPptxElement, ZoomPptxElement, SmartArtPptxElement, PptxAnimationTimelineAnchor, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, PptxTextStyleLevels, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
3
3
  export { GroupResult, SWITCHABLE_LAYOUT_TYPES, UngroupResult, addSmartArtNode, addSmartArtNodeAsChild, chartDataChangeType, chartDataUpdatePoint, demoteSmartArtNode, formatAutoNumberMarker as formatAutoNumber, groupElements, promoteSmartArtNode, removeSmartArtNode, reorderSmartArtNode, switchSmartArtLayout, ungroupElements, updateSmartArtNodeText } from 'pptx-viewer-core';
4
4
  import { Doc } from 'yjs';
5
5
  import * as _angular_core from '@angular/core';
6
- import { Signal, WritableSignal, OnDestroy, OnInit, AfterViewInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
6
+ import { Signal, EffectRef, WritableSignal, OnDestroy, OnInit, AfterViewInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
7
7
  import * as AiSdk from 'ai';
8
8
  import { LanguageModel, ChatTransport, UIMessage, ToolSet } from 'ai';
9
9
  import * as pptx_angular_viewer from 'pptx-angular-viewer';
@@ -780,10 +780,22 @@ interface ScriptFontPiece {
780
780
  *
781
781
  * This module replaces it with a wrapper style for a mirrored SIBLING node a
782
782
  * binding renders just below (or per `@algn`, from) the source element:
783
- * - `transform: scaleY(-1)` does the mirror (the flip `-webkit-box-reflect`
784
- * did for free); `scale()`/`skew()`/`rotate()` add `@sx`/`@sy`, `@kx`/
785
- * `@ky`, `@rot` on top of it, all CSS properties Firefox has always
786
- * supported.
783
+ * - `transform: scale(@sx, @sy)` does BOTH the mirror and the size: OOXML's
784
+ * `@sy` (ST_Percentage) carries the flip in its SIGN, not as a separate
785
+ * always-on negation. PowerPoint's own "Reflection, touching" gallery
786
+ * preset - byte-for-byte what this module's tests and the `audit-text`
787
+ * COM corpus use - emits `sy="-100000"` (-100%) for an ordinary full
788
+ * mirror; there is no separate flip flag. Hardcoding an unconditional
789
+ * `scaleY(-1)` AND then layering `scale(sx, sy)` on top of it (the
790
+ * pre-fix code) double-applied the flip for every reflection authored
791
+ * this way: `scaleY(-1) scale(1, -1)` composes to the identity matrix,
792
+ * so the "reflected" copy rendered as a plain, unmirrored, faded
793
+ * duplicate - confirmed live in the React demo against `audit-text`
794
+ * slide 14 ("REFLECTION" rendered twice, both right-side up) before this
795
+ * fix. `@sy` defaults to `-100000` (not OOXML's own generic
796
+ * `ST_Percentage` default of `100000`) so a bare `<a:reflection/>` with
797
+ * no authored scale still mirrors, matching every reflection preset
798
+ * PowerPoint's gallery actually emits.
787
799
  * - `mask-image`/`-webkit-mask-image` with a `linear-gradient` alpha ramp
788
800
  * reproduces the fade (`@stA`/`@endA`/`@stPos`/`@endPos`/`@blurRad`), at
789
801
  * an angle driven by `@fadeDir` (falling back to the same "fades toward
@@ -828,7 +840,7 @@ interface ReflectionWrapperStyle {
828
840
  top: string;
829
841
  width: string;
830
842
  height: string;
831
- /** Mirror (`scaleY(-1)`) composed with `@sx`/`@sy`/`@kx`/`@ky`/`@rot`. */
843
+ /** `scale(@sx, @sy)` (the sign of `@sy` IS the mirror) composed with `@kx`/`@ky`/`@rot`. */
832
844
  transform: string;
833
845
  /** Anchor point for the transform above, from `@algn` (default `center top`). */
834
846
  transformOrigin: string;
@@ -1633,6 +1645,17 @@ interface ChartSeriesLike {
1633
1645
  * @module chart-legend-build
1634
1646
  */
1635
1647
 
1648
+ /**
1649
+ * Resolve a legend's anchor position from its declared side, independent of
1650
+ * what entries it holds. Split out of `buildLegend` so a non-series legend
1651
+ * (the surface chart's value-band legend, `chart-surface-legend.ts`) can
1652
+ * reuse the exact same placement rules instead of re-deriving them.
1653
+ */
1654
+ declare function resolveLegendAnchorPosition(svgWidth: number, svgHeight: number, plotTop: number, legendPos: string): {
1655
+ legendX: number;
1656
+ legendY: number;
1657
+ legendAnchor: 'start' | 'middle' | 'end';
1658
+ };
1636
1659
  /**
1637
1660
  * Build the base legend entries + anchor position for a chart view model.
1638
1661
  *
@@ -2069,14 +2092,21 @@ declare function surfaceColor(t: number): {
2069
2092
  };
2070
2093
 
2071
2094
  /**
2072
- * Flat colour-mapped grid view-model builder for the surface chart kind (the
2073
- * fallback used when the grid has fewer than 2 series or 2 categories), plus
2074
- * the `buildSurfaceViewModel` dispatcher between it and the isometric builder.
2095
+ * 2-D top-view grid builder for the surface chart kind (`c:surfaceChart`,
2096
+ * PowerPoint's "Contour" / "Wireframe Contour" types), plus the
2097
+ * `buildSurfaceViewModel` dispatcher between it and the isometric 3-D
2098
+ * builder (`c:surface3DChart`).
2075
2099
  *
2076
2100
  * Split out of `chart-surface-treemap.ts` (which re-exports
2077
2101
  * `buildSurfaceViewModel`) to keep that file's several chart-kind builders
2078
2102
  * each under the repo's per-file line budget.
2079
2103
  *
2104
+ * COM-verified against `charts-com.pptx` slides 9-10 (surface types 85/86,
2105
+ * "Contour" and "Wireframe Contour"): PowerPoint draws these as a flat,
2106
+ * head-on grid of value bands (category axis along the bottom, series axis
2107
+ * along the right, no Z axis), never as an isometric projection; a filled
2108
+ * band paints the whole cell, a wireframe one draws its outline only.
2109
+ *
2080
2110
  * Ported from:
2081
2111
  * packages/react/src/viewer/utils/chart-surface-treemap.tsx (renderSurfaceChart)
2082
2112
  *
@@ -2086,10 +2116,11 @@ declare function surfaceColor(t: number): {
2086
2116
  /**
2087
2117
  * Build the view-model for a surface chart.
2088
2118
  *
2089
- * Renders an isometric 3-D-like projection when the grid has >= 2 series and
2090
- * >= 2 categories; falls back to a flat colour-mapped grid otherwise.
2091
- * Mirrors `renderSurfaceChart` / `renderIsometricSurfaceFallback` in React's
2092
- * `chart-surface-treemap.tsx`.
2119
+ * Renders the flat, head-on 2-D grid PowerPoint draws for its "Contour" /
2120
+ * "Wireframe Contour" top-view types (`chartData.surfaceTopView`), and the
2121
+ * isometric 3-D-like projection for its "3-D Surface" / "3-D Surface
2122
+ * (Wireframe)" types otherwise. Mirrors `renderSurfaceChart` /
2123
+ * `renderIsometricSurfaceFallback` in React's `chart-surface-treemap.tsx`.
2093
2124
  */
2094
2125
  declare function buildSurfaceViewModel(element: PptxElement, chartData: PptxChartData, categoryLabels: ReadonlyArray<string>): ChartViewModel;
2095
2126
 
@@ -7798,6 +7829,34 @@ interface OutlineRow {
7798
7829
  text: string;
7799
7830
  }
7800
7831
 
7832
+ /**
7833
+ * The editor keymap: one source of truth for "what does this key do".
7834
+ *
7835
+ * The keymap is the part of the editor a user memorises, so it is also the part
7836
+ * that must be identical in every binding. Before this module each binding
7837
+ * carried its own hand-ported copy (a React `switch`, a Vue matcher table, an
7838
+ * Angular service, two vanilla/Svelte handlers), and they drifted: the nudge
7839
+ * step was 2/20 in two of them and 1/10 in the other three, Ctrl+A existed in
7840
+ * three, Ctrl+G in one, and `?` in one. Key-to-action resolution therefore lives
7841
+ * here, framework-free and unit-testable, and each binding only supplies the
7842
+ * guard state and the callbacks.
7843
+ *
7844
+ * The same drift recurred with Ctrl+F: all five bindings ship a find bar, but
7845
+ * only React and Vue ever hand-wired the chord to open it, so on Angular,
7846
+ * Svelte and Vanilla the shortcut fell through to the browser's own find (which
7847
+ * cannot see text inside the slide model). It is in the map now, which is the
7848
+ * point: a shortcut that is not here is a shortcut three bindings will miss.
7849
+ *
7850
+ * Deliberately NOT here: what "escape" or "toggleShortcuts" then does. Closing a
7851
+ * format painter, an inline editor, a context menu or the help panel is view
7852
+ * state that only the binding owns, so the map stops at naming the action.
7853
+ *
7854
+ * @module render/editor-keymap
7855
+ */
7856
+
7857
+ /** A logical editor command produced by one key press. */
7858
+ type EditorKeyActionName = 'undo' | 'redo' | 'copy' | 'cut' | 'paste' | 'duplicate' | 'delete' | 'selectAll' | 'group' | 'ungroup' | 'nudge' | 'prevSlide' | 'nextSlide' | 'escape' | 'find' | 'findReplace' | 'toggleShortcuts' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'increaseFontSize' | 'decreaseFontSize' | 'copyFormat' | 'pasteFormat' | 'newSlide' | 'hyperlink' | 'clearFormatting' | 'cycleSelectionNext' | 'cycleSelectionPrev' | 'pasteSpecial';
7859
+
7801
7860
  /**
7802
7861
  * The one definition of what the canvas context menu contains.
7803
7862
  *
@@ -7836,6 +7895,22 @@ interface ContextMenuEntry {
7836
7895
  disabled?: boolean;
7837
7896
  }
7838
7897
 
7898
+ /**
7899
+ * The right-click menu for the empty slide canvas (no element under the
7900
+ * cursor), as distinct from {@link ./context-menu-commands}'s per-element menu.
7901
+ *
7902
+ * Right-clicking empty canvas used to do nothing at all in every binding: React
7903
+ * and Vue both bailed out early (`getElementIdFromEvent` returns `null`, so the
7904
+ * handler just returns) rather than opening a menu, and the other three never
7905
+ * wired a handler for it either. PowerPoint offers Paste, Layout, Reset,
7906
+ * Format Background and view toggles (Grid and Guides, Ruler) from this menu;
7907
+ * this module is the one list every binding renders instead of five omissions.
7908
+ *
7909
+ * @module render/canvas-context-menu-commands
7910
+ */
7911
+ /** Every command the empty-canvas context menu can offer, in no particular order. */
7912
+ type CanvasContextMenuCommandId = 'paste' | 'layout' | 'reset-slide' | 'format-background' | 'grid-and-guides' | 'ruler';
7913
+
7839
7914
  /**
7840
7915
  * Paste Special (Ctrl+Alt+V) and the Paste Options mini-toolbar PowerPoint
7841
7916
  * shows right after an ordinary paste. Both surfaces offer the same four
@@ -9111,6 +9186,19 @@ interface BackstageTemplate {
9111
9186
  }
9112
9187
  declare function formatBackstageSize(bytes: number): string;
9113
9188
 
9189
+ /**
9190
+ * Every action card the File-tab backstage can show, keyed by the operation it
9191
+ * triggers rather than by its wording.
9192
+ *
9193
+ * The five bindings used to hardcode a title and a body string each, which made
9194
+ * the whole backstage untranslatable and let the copy drift: the same card
9195
+ * carried four different descriptions depending on which binding you opened it
9196
+ * in. Both halves now live here as a dictionary key plus an English fallback,
9197
+ * so a wording change lands everywhere at once and a translator only has to
9198
+ * translate it once.
9199
+ */
9200
+ type BackstageCardId = 'protect' | 'inspect' | 'embedFonts' | 'signatures' | 'versionHistory' | 'saveAsPptx' | 'saveAsPpsx' | 'saveAsPptm' | 'saveAsPpt' | 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage' | 'print' | 'share';
9201
+
9114
9202
  /**
9115
9203
  * master-view.ts: the framework-neutral rules behind View > Slide Master.
9116
9204
  *
@@ -9835,6 +9923,11 @@ interface ControlBase {
9835
9923
  infoKey?: string;
9836
9924
  /** Renders indented under the preceding control, PowerPoint-style. */
9837
9925
  indent?: boolean;
9926
+ /**
9927
+ * The host locked this setting (see `customizeOptionsTabs`): render the
9928
+ * control disabled. Never set by the static schema itself.
9929
+ */
9930
+ readOnly?: boolean;
9838
9931
  }
9839
9932
  interface ViewerOptionsToggleControl extends ControlBase {
9840
9933
  kind: 'toggle';
@@ -9874,6 +9967,160 @@ interface ViewerOptionsTabDefinition {
9874
9967
  sections: readonly ViewerOptionsSection[];
9875
9968
  }
9876
9969
 
9970
+ /**
9971
+ * The framework-neutral UI customisation model.
9972
+ *
9973
+ * A host describes what its users should (and should not) see in ONE plain
9974
+ * object, `ViewerCustomization`. Every binding (React, Vue, Angular, Svelte,
9975
+ * Vanilla) accepts the same object through its own idiom (a prop, an input, a
9976
+ * constructor option) and exposes the same imperative helpers, and every render
9977
+ * site asks the pure decision functions in this directory instead of deciding
9978
+ * for itself. That keeps the five bindings from drifting: a new id added here
9979
+ * reaches all five at once.
9980
+ *
9981
+ * Every field is optional and every list defaults to "hide nothing", so an
9982
+ * empty object (or no object at all) is exactly today's behaviour.
9983
+ *
9984
+ * @module render/customization/customization-types
9985
+ */
9986
+
9987
+ /** Keys of an options group whose value is a primitive (not an array). */
9988
+ type PrimitiveKeys<T> = {
9989
+ [K in keyof T]: T[K] extends ViewerOptionPrimitive ? K : never;
9990
+ }[keyof T] & string;
9991
+ /**
9992
+ * One File > Options setting, addressed as `<group>.<key>`, for example
9993
+ * `general.userName` or `advanced.showGrid`. The union is derived from the
9994
+ * `ViewerOptions` model itself, so a typo is a compile error.
9995
+ */
9996
+ type OptionsSettingId = {
9997
+ [G in ViewerOptionsGroupId]: `${G}.${PrimitiveKeys<ViewerOptions[G]>}`;
9998
+ }[ViewerOptionsGroupId];
9999
+ /**
10000
+ * A File > Options page: the ten PowerPoint categories plus `ai`, the AI
10001
+ * assistant page a binding adds when the host configured an assistant.
10002
+ */
10003
+ type OptionsPageId = ViewerOptionsTabId | 'ai';
10004
+ /**
10005
+ * One section of an Options page, addressed as `<page>.<section>`, for
10006
+ * example `general.personalize` or `advanced.print`. The full list is
10007
+ * `OPTIONS_SECTION_IDS` (derived from the schema at runtime).
10008
+ */
10009
+ type OptionsSectionId = `${ViewerOptionsTabId}.${string}`;
10010
+ /** Values a host forces onto settings. */
10011
+ type OptionsSettingValues = Partial<Record<OptionsSettingId, ViewerOptionPrimitive>>;
10012
+ /** Ribbon and toolbar customisation. */
10013
+ interface RibbonCustomization {
10014
+ /** Ribbon tabs to remove (the File tab included, unlike Customize Ribbon). */
10015
+ hiddenTabs?: readonly ToolbarTabId[];
10016
+ /** Top-level toolbar buttons / control clusters to remove. */
10017
+ hiddenButtons?: readonly ToolbarButtonId[];
10018
+ }
10019
+ /** File > Options (the Settings dialog) customisation. */
10020
+ interface OptionsCustomization {
10021
+ /** Whole pages to remove from the dialog's category rail. */
10022
+ hiddenPages?: readonly OptionsPageId[];
10023
+ /** Sections (`<page>.<section>`) to remove from their page. */
10024
+ hiddenSections?: readonly OptionsSectionId[];
10025
+ /** Individual settings (`<group>.<key>`) to remove wherever they appear. */
10026
+ hiddenSettings?: readonly OptionsSettingId[];
10027
+ /**
10028
+ * Settings pinned to a fixed value. The value is forced into the options
10029
+ * store, user edits to it are ignored, and the control renders read-only.
10030
+ * Add the id to `hiddenSettings` too to lock it invisibly.
10031
+ */
10032
+ locked?: OptionsSettingValues;
10033
+ /**
10034
+ * Host defaults: the value a setting starts at when the user has not saved
10035
+ * a choice of their own. "Reset" returns to these, not to the built-ins.
10036
+ */
10037
+ defaults?: OptionsSettingValues;
10038
+ }
10039
+ /** File tab (backstage) customisation. */
10040
+ interface BackstageCustomization {
10041
+ /** Navigation entries (pages) to remove from the File tab. */
10042
+ hiddenPages?: readonly BackstagePage[];
10043
+ /** Action cards to remove from the pages that show them. */
10044
+ hiddenCards?: readonly BackstageCardId[];
10045
+ }
10046
+ /** Right-click menu customisation. */
10047
+ interface ContextMenuCustomization {
10048
+ /** Entries to remove from the element (right-click on a shape) menu. */
10049
+ hiddenElementCommands?: readonly ContextMenuCommandId[];
10050
+ /** Entries to remove from the empty-canvas menu. */
10051
+ hiddenCanvasCommands?: readonly CanvasContextMenuCommandId[];
10052
+ /** Remove the element context menu entirely. */
10053
+ disableElementMenu?: boolean;
10054
+ /** Remove the empty-canvas context menu entirely. */
10055
+ disableCanvasMenu?: boolean;
10056
+ }
10057
+ /**
10058
+ * A shortcut chord in the form `Mod+Shift+D`: modifiers `Mod` (Ctrl on
10059
+ * Windows/Linux, Cmd on macOS), `Ctrl`, `Meta`, `Alt`, `Shift`, joined by `+`,
10060
+ * followed by a `KeyboardEvent.key` value (`D`, `Delete`, `ArrowLeft`, `F2`).
10061
+ */
10062
+ type ShortcutChord = string;
10063
+ /** Editor keyboard-shortcut customisation. */
10064
+ interface KeyboardCustomization {
10065
+ /** Turn every editor shortcut off (the host owns the keyboard). */
10066
+ disableAll?: boolean;
10067
+ /** Editor commands whose shortcut is turned off. */
10068
+ disabled?: readonly EditorKeyActionName[];
10069
+ /**
10070
+ * Replacement chords per command. A remapped command no longer answers to
10071
+ * its built-in chord; it answers to the chord(s) given here instead.
10072
+ */
10073
+ remap?: Partial<Record<EditorKeyActionName, ShortcutChord | readonly ShortcutChord[]>>;
10074
+ }
10075
+ /**
10076
+ * Chrome regions a host can remove. Each id maps onto one region in every
10077
+ * binding; see `VIEWER_PANEL_IDS` for the catalogue.
10078
+ */
10079
+ type ViewerPanelId = 'statusBar' | 'slidesPane' | 'inspector' | 'notes' | 'quickAccessToolbar' | 'titleBar';
10080
+ /** Feature areas that can be switched off as a whole. */
10081
+ type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode';
10082
+ /** Dialogs (and the entry points that open them) a host can remove. */
10083
+ type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'export';
10084
+ /** Export formats offered by the File > Export page. */
10085
+ type ViewerExportFormatId = 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage';
10086
+ /**
10087
+ * The whole customisation object. Every field is optional; omitted fields hide
10088
+ * nothing and lock nothing.
10089
+ */
10090
+ interface ViewerCustomization {
10091
+ ribbon?: RibbonCustomization;
10092
+ options?: OptionsCustomization;
10093
+ backstage?: BackstageCustomization;
10094
+ contextMenu?: ContextMenuCustomization;
10095
+ keyboard?: KeyboardCustomization;
10096
+ /** Chrome regions to remove (`true` hides). */
10097
+ hiddenPanels?: readonly ViewerPanelId[];
10098
+ /** Feature areas to switch off (their buttons, menus, pages and panels). */
10099
+ disabledFeatures?: readonly ViewerFeatureId[];
10100
+ /** Dialogs to remove, along with every entry point that opens them. */
10101
+ hiddenDialogs?: readonly ViewerDialogId[];
10102
+ /** Export formats to remove from File > Export. */
10103
+ hiddenExportFormats?: readonly ViewerExportFormatId[];
10104
+ }
10105
+
10106
+ /**
10107
+ * Host constraints on the File > Options store: settings LOCKED to a fixed
10108
+ * value and host DEFAULTS that replace the built-in ones.
10109
+ *
10110
+ * Pure helpers; `createViewerOptionsStore` applies them on every write, so a
10111
+ * locked value cannot be changed from any path (the dialog, a ribbon toggle
10112
+ * writing through `setOptions`, a reset), and host defaults are never
10113
+ * persisted as if the user had chosen them.
10114
+ *
10115
+ * @module render/options/viewer-options-constraints
10116
+ */
10117
+
10118
+ /** Locks and host defaults, both keyed `<group>.<key>`. */
10119
+ interface ViewerOptionsConstraints {
10120
+ locked?: OptionsSettingValues;
10121
+ defaults?: OptionsSettingValues;
10122
+ }
10123
+
9877
10124
  /**
9878
10125
  * Framework-neutral store behind the File > Options dialog.
9879
10126
  *
@@ -9916,6 +10163,138 @@ interface ViewerOptionsStore {
9916
10163
  * operation costs a single render instead of one per field.
9917
10164
  */
9918
10165
  batch(write: () => void): void;
10166
+ /**
10167
+ * Apply host constraints (see `ViewerOptionsConstraints`): `locked` values
10168
+ * are forced in and every later write to them is ignored; `defaults`
10169
+ * replace the built-in defaults for settings the user never saved, and
10170
+ * become what `reset` returns to. Replaces any previous constraints.
10171
+ */
10172
+ setConstraints(constraints: ViewerOptionsConstraints): void;
10173
+ /** True when the host locked `<group>.<key>`. */
10174
+ isLocked(group: ViewerOptionsGroupId, key: string): boolean;
10175
+ }
10176
+
10177
+ declare const RIBBON_TAB_IDS: readonly ToolbarTabId[];
10178
+ declare const TOOLBAR_BUTTON_IDS: readonly ["share", "broadcast", "export", "undo", "redo", "record", "notes", "fullscreen", "zoom", "navigation"];
10179
+ declare const OPTIONS_PAGE_IDS: readonly OptionsPageId[];
10180
+ declare const OPTIONS_SECTION_IDS: readonly OptionsSectionId[];
10181
+ declare const OPTIONS_SETTING_IDS: readonly OptionsSettingId[];
10182
+ declare const BACKSTAGE_PAGE_IDS: readonly BackstagePage[];
10183
+ declare const BACKSTAGE_CARD_IDS: readonly BackstageCardId[];
10184
+ declare const ELEMENT_CONTEXT_MENU_COMMAND_IDS: readonly ["copy", "cut", "paste", "duplicate", "edit-text", "bring-forward", "send-backward", "bring-front", "send-back", "ai-ask", "ai-fix", "comment", "hyperlink", "table-insert-row-above", "table-insert-row-below", "table-delete-row", "table-insert-col-left", "table-insert-col-right", "table-delete-col", "table-merge-selected", "table-merge-right", "table-merge-down", "table-split", "group", "ungroup", "save-as-picture", "edit-alt-text", "size-and-position", "format-shape", "delete"];
10185
+ declare const CANVAS_CONTEXT_MENU_COMMAND_IDS: readonly ["paste", "layout", "reset-slide", "format-background", "grid-and-guides", "ruler"];
10186
+ declare const EDITOR_SHORTCUT_ACTION_IDS: readonly ["undo", "redo", "copy", "cut", "paste", "duplicate", "delete", "selectAll", "group", "ungroup", "nudge", "prevSlide", "nextSlide", "escape", "find", "findReplace", "toggleShortcuts", "alignLeft", "alignCenter", "alignRight", "alignJustify", "increaseFontSize", "decreaseFontSize", "copyFormat", "pasteFormat", "newSlide", "hyperlink", "clearFormatting", "cycleSelectionNext", "cycleSelectionPrev", "pasteSpecial"];
10187
+ declare const VIEWER_PANEL_IDS: readonly ["statusBar", "slidesPane", "inspector", "notes", "quickAccessToolbar", "titleBar"];
10188
+ declare const VIEWER_FEATURE_IDS: readonly ["ai", "collaboration", "comments", "presentMode"];
10189
+ declare const VIEWER_DIALOG_IDS: readonly ["options", "share", "broadcast", "print", "export"];
10190
+ declare const VIEWER_EXPORT_FORMAT_IDS: readonly ["pdf", "png", "video", "gif", "json", "copyImage"];
10191
+
10192
+ /** A parsed `Mod+Shift+D` chord. */
10193
+ interface ParsedShortcutChord {
10194
+ key: string;
10195
+ mod: boolean;
10196
+ ctrl: boolean;
10197
+ meta: boolean;
10198
+ alt: boolean;
10199
+ shift: boolean;
10200
+ }
10201
+ /** The normalised keyboard slice of a resolved customisation. */
10202
+ interface ResolvedKeyboardCustomization {
10203
+ disableAll: boolean;
10204
+ disabled: ReadonlySet<EditorKeyActionName>;
10205
+ remap: ReadonlyMap<EditorKeyActionName, readonly ParsedShortcutChord[]>;
10206
+ }
10207
+
10208
+ /**
10209
+ * Normalise a `ViewerCustomization` into the sets every decision function
10210
+ * reads, folding the cross-cutting rules in ONCE so no binding re-derives them:
10211
+ *
10212
+ * - switching off the `ai` feature removes the AI context-menu entries and the
10213
+ * AI Options page;
10214
+ * - switching off `collaboration` removes the Share and Broadcast dialogs;
10215
+ * - switching off `comments` removes the Add Comment menu entry;
10216
+ * - switching off `presentMode` removes the Slide Show tab;
10217
+ * - hiding a dialog removes every entry point that opens it (toolbar button,
10218
+ * File tab page, action card);
10219
+ * - hiding every export format removes the Export page and button.
10220
+ *
10221
+ * @module render/customization/customization-resolve
10222
+ */
10223
+
10224
+ /** The normalised, set-based view of a customisation. Treat as immutable. */
10225
+ interface ResolvedCustomization {
10226
+ hiddenActions: ReadonlySet<ToolbarActionId>;
10227
+ hiddenOptionsPages: ReadonlySet<OptionsPageId>;
10228
+ hiddenOptionsSections: ReadonlySet<OptionsSectionId>;
10229
+ hiddenSettings: ReadonlySet<OptionsSettingId>;
10230
+ lockedSettings: OptionsSettingValues;
10231
+ defaultSettings: OptionsSettingValues;
10232
+ hiddenBackstagePages: ReadonlySet<BackstagePage>;
10233
+ hiddenBackstageCards: ReadonlySet<BackstageCardId>;
10234
+ hiddenElementCommands: ReadonlySet<ContextMenuCommandId>;
10235
+ hiddenCanvasCommands: ReadonlySet<CanvasContextMenuCommandId>;
10236
+ elementMenuEnabled: boolean;
10237
+ canvasMenuEnabled: boolean;
10238
+ hiddenPanels: ReadonlySet<ViewerPanelId>;
10239
+ disabledFeatures: ReadonlySet<ViewerFeatureId>;
10240
+ hiddenDialogs: ReadonlySet<ViewerDialogId>;
10241
+ keyboard: ResolvedKeyboardCustomization;
10242
+ }
10243
+
10244
+ /**
10245
+ * The per-viewer customisation store plus the imperative helper API every
10246
+ * binding exposes on its component ref / instance.
10247
+ *
10248
+ * A binding creates ONE controller per viewer, feeds its `customization`
10249
+ * prop into `setCustomization`, subscribes to it (React through
10250
+ * `useSyncExternalStore`, Vue through a `shallowRef`, Angular through a
10251
+ * signal, Svelte through `$state`, Vanilla by calling it), and spreads
10252
+ * `controller.api` onto its public handle. Because the helpers live here, the
10253
+ * five handles expose the same methods with the same semantics.
10254
+ *
10255
+ * @module render/customization/customization-controller
10256
+ */
10257
+
10258
+ /** The imperative methods every binding's component handle exposes. */
10259
+ interface ViewerCustomizationApi {
10260
+ /** The current customisation object (a snapshot; do not mutate). */
10261
+ getCustomization(): ViewerCustomization;
10262
+ /** Replace the whole customisation. */
10263
+ setCustomization(next: ViewerCustomization): void;
10264
+ /** Merge a partial customisation (see `mergeCustomization`). */
10265
+ updateCustomization(patch: ViewerCustomization): void;
10266
+ /** Drop every customisation, back to the stock UI. */
10267
+ resetCustomization(): void;
10268
+ hideRibbonTab(tab: ToolbarTabId): void;
10269
+ showRibbonTab(tab: ToolbarTabId): void;
10270
+ hideToolbarButton(button: ToolbarButtonId): void;
10271
+ showToolbarButton(button: ToolbarButtonId): void;
10272
+ hideOptionsPage(page: OptionsPageId): void;
10273
+ showOptionsPage(page: OptionsPageId): void;
10274
+ hideOptionsSection(section: OptionsSectionId): void;
10275
+ showOptionsSection(section: OptionsSectionId): void;
10276
+ hideSetting(setting: OptionsSettingId): void;
10277
+ showSetting(setting: OptionsSettingId): void;
10278
+ /** Pin a setting to `value`; `hidden` also removes it from the dialog. */
10279
+ lockSetting(setting: OptionsSettingId, value: ViewerOptionPrimitive, hidden?: boolean): void;
10280
+ unlockSetting(setting: OptionsSettingId): void;
10281
+ /** Set (or with `undefined`, clear) the host default for a setting. */
10282
+ setSettingDefault(setting: OptionsSettingId, value: ViewerOptionPrimitive | undefined): void;
10283
+ hideBackstagePage(page: BackstagePage): void;
10284
+ showBackstagePage(page: BackstagePage): void;
10285
+ hideBackstageCard(card: BackstageCardId): void;
10286
+ showBackstageCard(card: BackstageCardId): void;
10287
+ hideContextMenuCommand(command: ContextMenuCommandId): void;
10288
+ showContextMenuCommand(command: ContextMenuCommandId): void;
10289
+ hideCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
10290
+ showCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
10291
+ disableShortcut(action: EditorKeyActionName): void;
10292
+ enableShortcut(action: EditorKeyActionName): void;
10293
+ /** Move a command onto new chord(s); `undefined` restores the built-in chord. */
10294
+ remapShortcut(action: EditorKeyActionName, chords: ShortcutChord | readonly ShortcutChord[] | undefined): void;
10295
+ setPanelVisible(panel: ViewerPanelId, visible: boolean): void;
10296
+ setFeatureEnabled(feature: ViewerFeatureId, enabled: boolean): void;
10297
+ setDialogAvailable(dialog: ViewerDialogId, available: boolean): void;
9919
10298
  }
9920
10299
 
9921
10300
  /**
@@ -10387,6 +10766,25 @@ declare function getCinematicTransitionAnimations(type: PptxTransitionType, dura
10387
10766
  */
10388
10767
  declare const CINEMATIC_TRANSITION_KEYFRAMES: string;
10389
10768
 
10769
+ /**
10770
+ * The slide layouts the Home tab's "New Slide" split button can insert from.
10771
+ *
10772
+ * A deck's layouts hang off its masters, one list per master, and a layout's
10773
+ * `name` is optional in OOXML. This flattens both facts away so the ribbon can
10774
+ * render a single menu without knowing about masters: one entry per layout, in
10775
+ * document order, always with something to display.
10776
+ *
10777
+ * Pure on purpose: the picker's behaviour is worth testing without a TestBed.
10778
+ */
10779
+
10780
+ /** One entry in the New Slide layout menu. */
10781
+ interface RibbonLayoutOption {
10782
+ /** Package path of the layout, written to the new slide's `layoutPath`. */
10783
+ path: string;
10784
+ /** Display name; falls back to the layout's file stem when OOXML omits one. */
10785
+ name: string;
10786
+ }
10787
+
10390
10788
  /**
10391
10789
  * Thin re-export shim → vendored `pptx-viewer-shared` (`render/embedded-fonts`).
10392
10790
  *
@@ -12376,11 +12774,12 @@ declare class PresenterWindowService {
12376
12774
  type CaptureSlideFn = (index: number) => Promise<string | null>;
12377
12775
  declare class PrintService {
12378
12776
  private readonly translate;
12777
+ private readonly customization;
12379
12778
  /** Whether the print dialog is currently open. */
12380
12779
  readonly isDialogOpen: _angular_core.WritableSignal<boolean>;
12381
12780
  /** The current (validated) print settings. */
12382
12781
  readonly settings: _angular_core.WritableSignal<PrintSettings>;
12383
- /** Open the print dialog. */
12782
+ /** Open the print dialog (a no-op when the host removed the `print` dialog). */
12384
12783
  openDialog(): void;
12385
12784
  /** Close the print dialog. */
12386
12785
  closeDialog(): void;
@@ -12445,6 +12844,64 @@ declare class RecentColorsService {
12445
12844
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
12446
12845
  }
12447
12846
 
12847
+ /**
12848
+ * Home > Reset: re-apply the active slide's own layout, restoring inherited
12849
+ * placeholder geometry and formatting (React/Vue parity via the shared
12850
+ * `resetSlideLayoutPath` decision function). A no-op when the slide records
12851
+ * no layout. Exported as a pure dispatch function (rather than inlined in the
12852
+ * component) so it is directly testable without constructing the component,
12853
+ * whose constructor runs an `effect()` that needs a full Angular
12854
+ * `ChangeDetectionScheduler` this package's TestBed-free unit tests don't
12855
+ * provide (see `action-settings-panel.component.test.ts`).
12856
+ */
12857
+ declare function performResetSlide(editor: Pick<EditorStateService, 'slides' | 'applyLayout'>, slideIndex: number): void;
12858
+ declare class RibbonHomeSectionComponent {
12859
+ protected readonly editor: EditorStateService;
12860
+ private readonly loader;
12861
+ /** Layouts offered by the New Slide split button and the Layout menu. */
12862
+ protected readonly layoutOptions: _angular_core.Signal<RibbonLayoutOption[]>;
12863
+ /** `layoutPath` of the active slide, marking the current gallery tile. */
12864
+ protected readonly currentLayoutPath: _angular_core.Signal<string | undefined>;
12865
+ /**
12866
+ * Layout artwork for the gallery thumbnails, keyed by layout path.
12867
+ *
12868
+ * Parsing every layout part is only worth doing once a gallery is opened,
12869
+ * so this stays empty until {@link loadLayoutPreviews} runs. Core memoises
12870
+ * the parse, so reopening a menu costs nothing.
12871
+ */
12872
+ protected readonly layoutPreviews: _angular_core.WritableSignal<ReadonlyMap<string, PptxLayoutPreview>>;
12873
+ constructor();
12874
+ readonly slideIndex: _angular_core.InputSignal<number>;
12875
+ readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
12876
+ readonly canEdit: _angular_core.InputSignal<boolean>;
12877
+ readonly formatPainterActive: _angular_core.InputSignal<boolean>;
12878
+ readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
12879
+ readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
12880
+ readonly findReplace: _angular_core.OutputEmitterRef<void>;
12881
+ /** "Slide Templates" in the Slides group; the host opens the gallery dialog. */
12882
+ readonly openTemplateGallery: _angular_core.OutputEmitterRef<void>;
12883
+ /** Emitted with the layout the user picked, after it has been applied. */
12884
+ readonly applyLayout: _angular_core.OutputEmitterRef<string>;
12885
+ /** Emitted after Home > Reset has re-applied the slide's layout. */
12886
+ readonly resetSlide: _angular_core.OutputEmitterRef<void>;
12887
+ /**
12888
+ * Re-map the active slide onto `layoutPath`. The operation is self-contained,
12889
+ * so the output is a notification rather than the thing that performs it.
12890
+ */
12891
+ protected onApplyLayout(layoutPath: string): void;
12892
+ /**
12893
+ * The button used to `resetSlide.emit()` to nobody, so clicking it did
12894
+ * nothing; {@link performResetSlide} now actually performs the reset.
12895
+ */
12896
+ protected onResetSlide(): void;
12897
+ protected copy(): void;
12898
+ protected cut(): void;
12899
+ protected paste(): void;
12900
+ protected onSelectAll(): void;
12901
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonHomeSectionComponent, never>;
12902
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonHomeSectionComponent, "pptx-ribbon-home-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "openTemplateGallery": "openTemplateGallery"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide"; }, never, never, true, never>;
12903
+ }
12904
+
12448
12905
  /**
12449
12906
  * Duotone SVG `<filter>` descriptor for Angular templates.
12450
12907
  *
@@ -12947,6 +13404,11 @@ declare class ViewerCanvasEditingService {
12947
13404
  x: number;
12948
13405
  y: number;
12949
13406
  } | null>;
13407
+ /** Open EMPTY-CANVAS context-menu position (client coords), or null; mutually exclusive with `contextMenuPos`. */
13408
+ readonly canvasContextMenuPos: _angular_core.WritableSignal<{
13409
+ x: number;
13410
+ y: number;
13411
+ } | null>;
12950
13412
  private host;
12951
13413
  /** Wire the host accessors (called once from the component constructor). */
12952
13414
  bind(host: CanvasEditingHost): void;
@@ -13002,7 +13464,11 @@ declare class ViewerCanvasEditingService {
13002
13464
  }): void;
13003
13465
  /** Empty-stage press: disarm the painter if armed, else clear the selection. */
13004
13466
  onBackgroundClick(): void;
13005
- /** Right-click: select the element under the cursor and open the menu. */
13467
+ /**
13468
+ * Right-click: select the element under the cursor and open the menu, or
13469
+ * (when nothing was hit) open the empty-canvas menu instead. The two menus
13470
+ * are mutually exclusive, so opening one always closes the other.
13471
+ */
13006
13472
  onContextMenu(event: {
13007
13473
  id: string | null;
13008
13474
  x: number;
@@ -13311,6 +13777,87 @@ declare class ViewerCustomShowsService {
13311
13777
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
13312
13778
  }
13313
13779
 
13780
+ declare class ViewerCustomizationService {
13781
+ private readonly destroyRef;
13782
+ private readonly viewerOptions;
13783
+ private readonly controller;
13784
+ /** The imperative helpers every binding's public handle exposes. */
13785
+ readonly api: ViewerCustomizationApi;
13786
+ private readonly _resolved;
13787
+ /** The normalised customisation the render sites read. */
13788
+ readonly resolved: Signal<ResolvedCustomization>;
13789
+ constructor();
13790
+ /**
13791
+ * Follow the host's `customization` input: each new object identity
13792
+ * REPLACES the customisation (including any imperative edits). The initial
13793
+ * `undefined` is not applied, so edits made before the first change
13794
+ * detection survive. Must be called from an injection context.
13795
+ */
13796
+ bindInput(source: () => ViewerCustomization | undefined): EffectRef;
13797
+ /** The legacy `hiddenActions` list unioned with the customisation. */
13798
+ effectiveHiddenActions(legacy: readonly ToolbarActionId[]): ToolbarActionId[];
13799
+ panelVisible(panel: ViewerPanelId): boolean;
13800
+ featureEnabled(feature: ViewerFeatureId): boolean;
13801
+ dialogAvailable(dialog: ViewerDialogId): boolean;
13802
+ /** The Quick Access options, switched off when the host hid the strip. */
13803
+ quickAccess(options: ViewerQuickAccessOptions): ViewerQuickAccessOptions;
13804
+ private applyConstraints;
13805
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerCustomizationService, never>;
13806
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
13807
+ }
13808
+ /**
13809
+ * The viewer's resolved customisation, or the empty one when the component is
13810
+ * mounted outside a viewer. Call from an injection context.
13811
+ */
13812
+ declare function injectResolvedCustomization(): Signal<ResolvedCustomization>;
13813
+
13814
+ /**
13815
+ * viewer-customization-handle.ts: the `ViewerCustomizationApi` half of
13816
+ * `PowerPointViewerComponent`'s public imperative surface.
13817
+ *
13818
+ * A plain (undecorated, Angular-feature-free) base class, so the root component
13819
+ * picks up every helper as a real public method without growing its own file.
13820
+ * Each method delegates to the per-viewer {@link ViewerCustomizationService}'s
13821
+ * shared controller, so the semantics are exactly the other four bindings'.
13822
+ */
13823
+
13824
+ declare abstract class ViewerCustomizationHandle implements ViewerCustomizationApi {
13825
+ /** The per-viewer customisation owner (injected by the concrete component). */
13826
+ protected abstract readonly customizationService: ViewerCustomizationService;
13827
+ private get customizationApi();
13828
+ getCustomization(): ViewerCustomization;
13829
+ setCustomization(next: ViewerCustomization): void;
13830
+ updateCustomization(patch: ViewerCustomization): void;
13831
+ resetCustomization(): void;
13832
+ hideRibbonTab(tab: ToolbarTabId): void;
13833
+ showRibbonTab(tab: ToolbarTabId): void;
13834
+ hideToolbarButton(button: ToolbarButtonId): void;
13835
+ showToolbarButton(button: ToolbarButtonId): void;
13836
+ hideOptionsPage(page: OptionsPageId): void;
13837
+ showOptionsPage(page: OptionsPageId): void;
13838
+ hideOptionsSection(section: OptionsSectionId): void;
13839
+ showOptionsSection(section: OptionsSectionId): void;
13840
+ hideSetting(setting: OptionsSettingId): void;
13841
+ showSetting(setting: OptionsSettingId): void;
13842
+ lockSetting(setting: OptionsSettingId, value: ViewerOptionPrimitive, hidden?: boolean): void;
13843
+ unlockSetting(setting: OptionsSettingId): void;
13844
+ setSettingDefault(setting: OptionsSettingId, value: ViewerOptionPrimitive | undefined): void;
13845
+ hideBackstagePage(page: BackstagePage): void;
13846
+ showBackstagePage(page: BackstagePage): void;
13847
+ hideBackstageCard(card: BackstageCardId): void;
13848
+ showBackstageCard(card: BackstageCardId): void;
13849
+ hideContextMenuCommand(command: ContextMenuCommandId): void;
13850
+ showContextMenuCommand(command: ContextMenuCommandId): void;
13851
+ hideCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
13852
+ showCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
13853
+ disableShortcut(action: EditorKeyActionName): void;
13854
+ enableShortcut(action: EditorKeyActionName): void;
13855
+ remapShortcut(action: EditorKeyActionName, chords: ShortcutChord | readonly ShortcutChord[] | undefined): void;
13856
+ setPanelVisible(panel: ViewerPanelId, visible: boolean): void;
13857
+ setFeatureEnabled(feature: ViewerFeatureId, enabled: boolean): void;
13858
+ setDialogAvailable(dialog: ViewerDialogId, available: boolean): void;
13859
+ }
13860
+
13314
13861
  declare class ViewerDialogsService {
13315
13862
  /** Equation editor dialog visibility. */
13316
13863
  readonly showEquation: _angular_core.WritableSignal<boolean>;
@@ -14216,7 +14763,7 @@ declare class ViewerZoomService {
14216
14763
  * - React theme context / Vue provide-inject → `themeStyle` CSS vars applied to
14217
14764
  * the root element (app-wide sharing via `provideViewerTheme`).
14218
14765
  */
14219
- declare class PowerPointViewerComponent implements PowerPointViewerAPI {
14766
+ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implements PowerPointViewerAPI {
14220
14767
  /** PowerPoint content as Uint8Array (or ArrayBuffer). */
14221
14768
  readonly content: _angular_core.InputSignal<ArrayBuffer | Uint8Array<ArrayBufferLike> | null>;
14222
14769
  /** Licensed fonts supplied by the host application. No fonts are bundled. */
@@ -14398,6 +14945,15 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
14398
14945
  * `ai` prop.
14399
14946
  */
14400
14947
  readonly ai: _angular_core.InputSignal<PptxAiConfig | undefined>;
14948
+ /**
14949
+ * Framework-neutral UI customisation. See docs/guide/customization.md.
14950
+ * Unioned with `hiddenActions`. A new object identity REPLACES the whole
14951
+ * customisation, including edits made through the imperative helpers
14952
+ * (`hideRibbonTab`, `lockSetting`, ...).
14953
+ */
14954
+ readonly customization: _angular_core.InputSignal<ViewerCustomization | undefined>;
14955
+ protected readonly customizationService: ViewerCustomizationService;
14956
+ private readonly customizationInputSync;
14401
14957
  /** Fired when the active slide changes. */
14402
14958
  readonly activeSlideChange: _angular_core.OutputEmitterRef<number>;
14403
14959
  /** Fired when the unsaved-changes flag toggles. */
@@ -14639,6 +15195,21 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
14639
15195
  protected readonly showGrid: _angular_core.WritableSignal<boolean>;
14640
15196
  /** Whether ruler strips are visible on the editor canvas. */
14641
15197
  protected readonly showRulers: _angular_core.WritableSignal<boolean>;
15198
+ /** Home > Reset re-exposed for the canvas menu's "Reset Slide" entry. */
15199
+ protected readonly performResetSlide: typeof performResetSlide;
15200
+ /** Anchor point (click coords) of the canvas menu's Layout gallery, or null when closed. */
15201
+ protected readonly canvasLayoutGalleryPos: _angular_core.WritableSignal<{
15202
+ x: number;
15203
+ y: number;
15204
+ } | null>;
15205
+ /** Layouts offered by the canvas menu's Layout gallery (same source as the ribbon's). */
15206
+ protected readonly canvasLayoutOptions: _angular_core.Signal<RibbonLayoutOption[]>;
15207
+ /** Layout artwork, fetched the first time the canvas menu's gallery opens. */
15208
+ protected readonly canvasLayoutPreviews: _angular_core.WritableSignal<ReadonlyMap<string, PptxLayoutPreview>>;
15209
+ /** Lazily loads layout artwork the first time the canvas menu's gallery opens. */
15210
+ private readonly loadCanvasLayoutPreviewsEffect;
15211
+ /** Apply the picked layout to the active slide and close the gallery. */
15212
+ protected onCanvasLayoutSelect(layout: PptxLayoutOption): void;
14642
15213
  /** Whether center-crosshair guide lines are visible on the editor canvas. */
14643
15214
  protected readonly showGuides: _angular_core.WritableSignal<boolean>;
14644
15215
  /** Whether snap-to-grid is active on the editor canvas. */
@@ -15026,7 +15597,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
15026
15597
  /** Resolve the live slide-stage element within `<main>`. */
15027
15598
  private stageElement;
15028
15599
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PowerPointViewerComponent, never>;
15029
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "fontsInput": { "alias": "fonts"; "required": false; "isSignal": true; }; "canEditInput": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "defaultThemeKey": { "alias": "defaultThemeKey"; "required": false; "isSignal": true; }; "availableThemes": { "alias": "availableThemes"; "required": false; "isSignal": true; }; "onThemeChange": { "alias": "onThemeChange"; "required": false; "isSignal": true; }; "defaultLocale": { "alias": "defaultLocale"; "required": false; "isSignal": true; }; "availableLocales": { "alias": "availableLocales"; "required": false; "isSignal": true; }; "onLocaleChange": { "alias": "onLocaleChange"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "fitPadding": { "alias": "fitPadding"; "required": false; "isSignal": true; }; "maxFitScale": { "alias": "maxFitScale"; "required": false; "isSignal": true; }; "autosaveInput": { "alias": "autosave"; "required": false; "isSignal": true; }; "autosaveIntervalMs": { "alias": "autosaveIntervalMs"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "shareDefaults": { "alias": "shareDefaults"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; "surfaceChart3D": { "alias": "surfaceChart3D"; "required": false; "isSignal": true; }; "barChart3D": { "alias": "barChart3D"; "required": false; "isSignal": true; }; "lineChart3D": { "alias": "lineChart3D"; "required": false; "isSignal": true; }; "areaChart3D": { "alias": "areaChart3D"; "required": false; "isSignal": true; }; "pieChart3D": { "alias": "pieChart3D"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "ai": { "alias": "ai"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "modeChange": "modeChange"; "zoomChange": "zoomChange"; "selectionChange": "selectionChange"; "slideCountChange": "slideCountChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
15600
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "fontsInput": { "alias": "fonts"; "required": false; "isSignal": true; }; "canEditInput": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "defaultThemeKey": { "alias": "defaultThemeKey"; "required": false; "isSignal": true; }; "availableThemes": { "alias": "availableThemes"; "required": false; "isSignal": true; }; "onThemeChange": { "alias": "onThemeChange"; "required": false; "isSignal": true; }; "defaultLocale": { "alias": "defaultLocale"; "required": false; "isSignal": true; }; "availableLocales": { "alias": "availableLocales"; "required": false; "isSignal": true; }; "onLocaleChange": { "alias": "onLocaleChange"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "fitPadding": { "alias": "fitPadding"; "required": false; "isSignal": true; }; "maxFitScale": { "alias": "maxFitScale"; "required": false; "isSignal": true; }; "autosaveInput": { "alias": "autosave"; "required": false; "isSignal": true; }; "autosaveIntervalMs": { "alias": "autosaveIntervalMs"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "shareDefaults": { "alias": "shareDefaults"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; "surfaceChart3D": { "alias": "surfaceChart3D"; "required": false; "isSignal": true; }; "barChart3D": { "alias": "barChart3D"; "required": false; "isSignal": true; }; "lineChart3D": { "alias": "lineChart3D"; "required": false; "isSignal": true; }; "areaChart3D": { "alias": "areaChart3D"; "required": false; "isSignal": true; }; "pieChart3D": { "alias": "pieChart3D"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "ai": { "alias": "ai"; "required": false; "isSignal": true; }; "customization": { "alias": "customization"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "modeChange": "modeChange"; "zoomChange": "zoomChange"; "selectionChange": "selectionChange"; "slideCountChange": "slideCountChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
15030
15601
  }
15031
15602
 
15032
15603
  /** A selected chart sub-part, scoped to the chart element that owns it. */
@@ -15293,6 +15864,7 @@ declare class ViewerKeyboardService {
15293
15864
  private readonly presentationMode;
15294
15865
  private readonly docProperties;
15295
15866
  private readonly canvasEditing;
15867
+ private readonly customization;
15296
15868
  private host;
15297
15869
  /** Wire the host accessors (called once from the component constructor). */
15298
15870
  bind(host: KeyboardHost): void;
@@ -15422,7 +15994,7 @@ declare class ZoomTargetService {
15422
15994
  * `PowerPointViewerComponent`'s children (ribbon, slide canvas, inspector,
15423
15995
  * dialogs, ...) rely on via `inject()`.
15424
15996
  */
15425
- declare const POWER_POINT_VIEWER_PROVIDERS: readonly [typeof LoadContentService, typeof LoadNoticesService, typeof ExportService, typeof EditorStateService, typeof ChartPartSelectionService, typeof TableSelectionService, typeof EmbeddedFontsService, typeof GoogleWebfontsService, typeof CollaborationService, typeof CustomFontsService, typeof AccessibilityService, typeof AutosaveService, typeof AutosaveRecoveryService, typeof PrintService, typeof IsMobileService, typeof Rendering3DService, typeof FieldContextService, typeof RecentColorsService, typeof ZoomTargetService, typeof AiPanelStore, typeof ViewerDialogsService, typeof ViewerCompareService, typeof ViewerExportService, typeof ViewerFindReplaceService, typeof ViewerCustomShowsService, typeof ViewerCollaborationSessionService, typeof ViewerCanvasEditingService, typeof ViewerCollabCursorService, typeof ViewerDocumentPropertiesService, typeof ViewerFileIOService, typeof ViewerFormatPainterService, typeof ViewerInspectorPanelService, typeof ViewerKeyboardService, typeof ViewerMobileSheetService, typeof ViewerOptionsService, typeof ViewerPresentationModeService, typeof ViewerThemeGalleryService, typeof ViewerTouchGesturesService, typeof ViewerZoomService];
15997
+ declare const POWER_POINT_VIEWER_PROVIDERS: readonly [typeof LoadContentService, typeof LoadNoticesService, typeof ExportService, typeof EditorStateService, typeof ChartPartSelectionService, typeof TableSelectionService, typeof EmbeddedFontsService, typeof GoogleWebfontsService, typeof CollaborationService, typeof CustomFontsService, typeof AccessibilityService, typeof AutosaveService, typeof AutosaveRecoveryService, typeof PrintService, typeof IsMobileService, typeof Rendering3DService, typeof FieldContextService, typeof RecentColorsService, typeof ZoomTargetService, typeof AiPanelStore, typeof ViewerDialogsService, typeof ViewerCompareService, typeof ViewerExportService, typeof ViewerFindReplaceService, typeof ViewerCustomShowsService, typeof ViewerCollaborationSessionService, typeof ViewerCanvasEditingService, typeof ViewerCollabCursorService, typeof ViewerDocumentPropertiesService, typeof ViewerFileIOService, typeof ViewerFormatPainterService, typeof ViewerInspectorPanelService, typeof ViewerKeyboardService, typeof ViewerMobileSheetService, typeof ViewerOptionsService, typeof ViewerCustomizationService, typeof ViewerPresentationModeService, typeof ViewerThemeGalleryService, typeof ViewerTouchGesturesService, typeof ViewerZoomService];
15426
15998
 
15427
15999
  /** Lifecycle of the AI session bootstrap. */
15428
16000
  type AiChatInitState = 'checking' | 'unavailable' | 'ready' | 'error';
@@ -19982,8 +20554,8 @@ declare class TextAdvancedPanelComponent {
19982
20554
  protected readonly elementKey: _angular_core.Signal<string>;
19983
20555
  /** Exposed option arrays for the template. */
19984
20556
  protected readonly alignOptions: [NonNullable<"center" | "left" | "right" | "justify" | "justLow" | "dist" | "thaiDist" | undefined>, string][];
19985
- protected readonly vAlignOptions: [NonNullable<"top" | "bottom" | "middle" | "distributed" | "justified" | undefined>, string][];
19986
- protected readonly textDirectionOptions: [NonNullable<"vertical" | "horizontal" | "eaVert" | "wordArtVert" | "wordArtVertRtl" | "mongolianVert" | "vertical270" | undefined>, string][];
20557
+ protected readonly vAlignOptions: [NonNullable<"top" | "middle" | "bottom" | "distributed" | "justified" | undefined>, string][];
20558
+ protected readonly textDirectionOptions: [NonNullable<"horizontal" | "vertical" | "vertical270" | "eaVert" | "wordArtVert" | "wordArtVertRtl" | "mongolianVert" | undefined>, string][];
19987
20559
  protected alignLabel(align: NonNullable<TextStyle['align']>): string;
19988
20560
  protected onAlignChange(align: NonNullable<TextStyle['align']>): void;
19989
20561
  protected onVAlignChange(event: Event): void;
@@ -20969,7 +21541,10 @@ declare class MobileMenuSheetComponent {
20969
21541
  readonly exportVideo: _angular_core.OutputEmitterRef<void>;
20970
21542
  /** Open the print dialog. */
20971
21543
  readonly print: _angular_core.OutputEmitterRef<void>;
21544
+ /** Host UI customisation (optional: absent outside a viewer). */
21545
+ private readonly customization;
20972
21546
  readonly rows: _angular_core.Signal<MobileMenuRow[]>;
21547
+ private readonly allRows;
20973
21548
  /**
20974
21549
  * Emit the row's action and close the sheet so the user returns to the
20975
21550
  * presentation immediately.
@@ -21147,6 +21722,34 @@ declare class NotesPanelComponent {
21147
21722
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotesPanelComponent, "pptx-notes-panel", never, { "slide": { "alias": "slide"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "notesStyle": { "alias": "notesStyle"; "required": false; "isSignal": true; }; }, { "update": "update"; "notesToggle": "notesToggle"; }, never, never, true, never>;
21148
21723
  }
21149
21724
 
21725
+ /** Position and target of an open thumbnail context menu. */
21726
+ interface SlidePaneContextMenuState {
21727
+ x: number;
21728
+ y: number;
21729
+ index: number;
21730
+ /** Every selected slide index, right-clicked one included, for bulk commands. */
21731
+ selectedIndexes: number[];
21732
+ }
21733
+ declare class SlidePaneRailSelection {
21734
+ #private;
21735
+ readonly selectedIds: _angular_core.WritableSignal<string[]>;
21736
+ readonly contextMenu: _angular_core.WritableSignal<SlidePaneContextMenuState | null>;
21737
+ isSelected(slideId: string): boolean;
21738
+ /** Resolve one click on a slide thumbnail into the next multi-selection. */
21739
+ onClick(event: {
21740
+ ctrlKey: boolean;
21741
+ metaKey: boolean;
21742
+ shiftKey: boolean;
21743
+ }, slideId: string, orderedIds: readonly string[]): void;
21744
+ /**
21745
+ * Open the context menu for a right-click on `index`. A slide already part
21746
+ * of the selection acts with the whole selection; a slide right-clicked
21747
+ * outside it acts on just that one, matching the per-element context menu.
21748
+ */
21749
+ openContextMenu(x: number, y: number, index: number, orderedIds: readonly string[]): void;
21750
+ closeContextMenu(): void;
21751
+ }
21752
+
21150
21753
  /**
21151
21754
  * SlidesPanelComponent: vertical slide-strip for the editor sidebar.
21152
21755
  *
@@ -21176,6 +21779,20 @@ declare class SlidesPanelComponent {
21176
21779
  readonly activeIndex: _angular_core.InputSignal<number>;
21177
21780
  /** Emits the zero-based index of the card the user clicked. */
21178
21781
  readonly select: _angular_core.OutputEmitterRef<number>;
21782
+ /** Insert a new slide after `index` (thumbnail menu's New Slide, and Enter on the panel). */
21783
+ readonly addSlideAfter: _angular_core.OutputEmitterRef<number>;
21784
+ readonly duplicateSlides: _angular_core.OutputEmitterRef<number[]>;
21785
+ readonly deleteSlides: _angular_core.OutputEmitterRef<number[]>;
21786
+ readonly toggleHideSlides: _angular_core.OutputEmitterRef<number[]>;
21787
+ /** Makes `index` active, then opens the Layout gallery anchored at (x, y). */
21788
+ readonly openLayoutForSlide: _angular_core.OutputEmitterRef<{
21789
+ index: number;
21790
+ x: number;
21791
+ y: number;
21792
+ }>;
21793
+ readonly addSectionAt: _angular_core.OutputEmitterRef<number>;
21794
+ /** Ctrl/Shift multi-select + the thumbnail context menu's open state. */
21795
+ protected readonly rail: SlidePaneRailSelection;
21179
21796
  protected readonly editor: EditorStateService;
21180
21797
  private readonly translate;
21181
21798
  private readonly scrollViewport;
@@ -21204,6 +21821,13 @@ declare class SlidesPanelComponent {
21204
21821
  onMoveUp(index: number): void;
21205
21822
  onMoveDown(index: number): void;
21206
21823
  onAddSlide(): void;
21824
+ /** A click (even a Ctrl/Shift one) both updates the multi-selection AND
21825
+ * moves the canvas to the slide clicked, matching the sorter overlay. */
21826
+ onThumbClick(event: MouseEvent, index: number): void;
21827
+ onThumbContextMenu(event: MouseEvent, index: number): void;
21828
+ /** PowerPoint's Enter on a focused thumbnail inserts a new slide after it. */
21829
+ onPanelKeydown(event: Event): void;
21830
+ private orderedIds;
21207
21831
  onRenameSection(sectionId: string, currentName: string): void;
21208
21832
  sectionIndex(sectionId: string): number;
21209
21833
  /** Dictionary key for the word shown and announced on a hidden slide's card. */
@@ -21225,7 +21849,7 @@ declare class SlidesPanelComponent {
21225
21849
  hidden?: boolean;
21226
21850
  }, index: number): HiddenSlideCue;
21227
21851
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlidesPanelComponent, never>;
21228
- 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>;
21852
+ 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"; "addSlideAfter": "addSlideAfter"; "duplicateSlides": "duplicateSlides"; "deleteSlides": "deleteSlides"; "toggleHideSlides": "toggleHideSlides"; "openLayoutForSlide": "openLayoutForSlide"; "addSectionAt": "addSectionAt"; }, never, never, true, never>;
21229
21853
  }
21230
21854
 
21231
21855
  declare class EditorToolbarComponent {
@@ -21287,6 +21911,12 @@ declare class StatusBarComponent {
21287
21911
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBarComponent, "pptx-status-bar", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "autosaveStatus": { "alias": "autosaveStatus"; "required": false; "isSignal": true; }; "notesOpen": { "alias": "notesOpen"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "sorterActive": { "alias": "sorterActive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleNotes": "toggleNotes"; "normalView": "normalView"; "openSorter": "openSorter"; "slideShow": "slideShow"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; }, never, ["[pptxCollabStatus]"], true, never>;
21288
21912
  }
21289
21913
 
21914
+ /** The clamped top-left corner of a menu, as signals the host style binds. */
21915
+ interface ClampedMenuPosition {
21916
+ readonly left: Signal<number>;
21917
+ readonly top: Signal<number>;
21918
+ }
21919
+
21290
21920
  declare class EditorContextMenuComponent {
21291
21921
  /** Horizontal viewport coordinate (px) of the top-left corner of the menu. */
21292
21922
  readonly x: _angular_core.InputSignal<number>;
@@ -21326,7 +21956,9 @@ declare class EditorContextMenuComponent {
21326
21956
  protected readonly editor: EditorStateService;
21327
21957
  private readonly tableSelection;
21328
21958
  private readonly host;
21959
+ protected readonly position: ClampedMenuPosition;
21329
21960
  private readonly inspectorPanel;
21961
+ private readonly customization;
21330
21962
  /**
21331
21963
  * The table element + cell selection the menu should act on, or null when the
21332
21964
  * current selection is not a single table with a selected cell. Drives the
@@ -22327,6 +22959,7 @@ declare class ViewerExtraDialogsComponent {
22327
22959
  readonly themeKeySelect: _angular_core.OutputEmitterRef<string>;
22328
22960
  readonly localeSelect: _angular_core.OutputEmitterRef<string>;
22329
22961
  protected readonly svc: ViewerDialogsService;
22962
+ protected readonly customization: ViewerCustomizationService | null;
22330
22963
  protected readonly customFonts: CustomFontsService;
22331
22964
  protected readonly viewerOpts: ViewerOptionsService;
22332
22965
  protected readonly compare: ViewerCompareService;
@@ -22810,9 +23443,14 @@ declare class SettingsDialogComponent {
22810
23443
  readonly customFontRegistered: _angular_core.OutputEmitterRef<string>;
22811
23444
  readonly localeSelect: _angular_core.OutputEmitterRef<string>;
22812
23445
  readonly close: _angular_core.OutputEmitterRef<void>;
22813
- protected readonly tabs: readonly ViewerOptionsTabDefinition[];
22814
- /** Active category id, or the bespoke `'ai'` sentinel for the AI export pane. */
23446
+ private readonly customization;
23447
+ /** The categories after the host's customisation (hidden pages/sections/settings dropped). */
23448
+ protected readonly tabs: _angular_core.Signal<readonly ViewerOptionsTabDefinition[]>;
23449
+ protected readonly aiTabVisible: _angular_core.Signal<boolean>;
23450
+ /** Requested category id, or the bespoke `'ai'` sentinel for the AI export pane. */
22815
23451
  protected readonly activeTabId: _angular_core.WritableSignal<ViewerOptionsTabId | "ai">;
23452
+ /** The requested category, or the first visible one when the host hid it. */
23453
+ protected readonly shownTabId: _angular_core.Signal<ViewerOptionsTabId | "ai">;
22816
23454
  protected readonly activeTab: _angular_core.Signal<ViewerOptionsTabDefinition>;
22817
23455
  /** Snapshot taken when the dialog opens, restored by Cancel. */
22818
23456
  private snapshot;
@@ -22848,7 +23486,7 @@ declare class AccountPageComponent {
22848
23486
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
22849
23487
  private readonly translate;
22850
23488
  protected readonly swatches: readonly string[];
22851
- protected readonly version = "4.3.0";
23489
+ protected readonly version = "4.5.0";
22852
23490
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
22853
23491
  protected readonly initial: _angular_core.Signal<string>;
22854
23492
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -24666,12 +25304,18 @@ declare class RibbonAnimationsSectionComponent {
24666
25304
  readonly slideIndex: _angular_core.InputSignal<number>;
24667
25305
  readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
24668
25306
  readonly canEdit: _angular_core.InputSignal<boolean>;
24669
- readonly present: _angular_core.OutputEmitterRef<void>;
24670
25307
  readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
24671
25308
  /** "Animation Panel": open the inspector and expand its Animation section. */
24672
25309
  readonly openAnimationPanel: _angular_core.OutputEmitterRef<void>;
24673
25310
  protected hasSel(): boolean;
24674
25311
  protected canAuthor(): boolean;
25312
+ /**
25313
+ * Play the selected element's own authored effect in place on the canvas,
25314
+ * via the shared player also used by react/vue/svelte/vanilla's ribbons.
25315
+ * A no-op (matching those four) when the selection has no animation entry
25316
+ * to preview.
25317
+ */
25318
+ protected previewAnimation(): void;
24675
25319
  /** The path the one-click "Path Animation" command applies. */
24676
25320
  protected readonly defaultMotionPathPresetId = "lineRight";
24677
25321
  /** Apply the preset a gallery button asked for. */
@@ -24695,7 +25339,7 @@ declare class RibbonAnimationsSectionComponent {
24695
25339
  /** Remove all animations from the selected element. */
24696
25340
  protected removeAnim(): void;
24697
25341
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonAnimationsSectionComponent, never>;
24698
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonAnimationsSectionComponent, "pptx-ribbon-animations-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "present": "present"; "toggleInspector": "toggleInspector"; "openAnimationPanel": "openAnimationPanel"; }, never, never, true, never>;
25342
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonAnimationsSectionComponent, "pptx-ribbon-animations-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "toggleInspector": "toggleInspector"; "openAnimationPanel": "openAnimationPanel"; }, never, never, true, never>;
24699
25343
  }
24700
25344
 
24701
25345
  declare class RibbonArrangeSectionComponent {
@@ -24852,19 +25496,23 @@ declare class RibbonFileSectionComponent {
24852
25496
  private readonly translate;
24853
25497
  private readonly t;
24854
25498
  protected readonly templates: readonly BackstageTemplate[];
24855
- protected readonly mainNav: _angular_core.Signal<readonly {
25499
+ private readonly customization;
25500
+ protected readonly mainNav: _angular_core.Signal<{
24856
25501
  id: BackstagePage;
24857
25502
  label: string;
24858
25503
  labelKey: string;
24859
25504
  group?: "footer";
24860
25505
  }[]>;
24861
- protected readonly footerNav: {
25506
+ protected readonly footerNav: _angular_core.Signal<{
24862
25507
  id: BackstagePage;
24863
25508
  label: string;
24864
25509
  labelKey: string;
24865
25510
  group?: "footer";
24866
- }[];
25511
+ }[]>;
25512
+ /** The page the user picked; see {@link currentPage} for the one shown. */
24867
25513
  protected readonly page: _angular_core.WritableSignal<BackstagePage>;
25514
+ /** The picked page, or 'home' (else the first visible page) when the host hid it. */
25515
+ protected readonly currentPage: _angular_core.Signal<BackstagePage>;
24868
25516
  protected readonly query: _angular_core.WritableSignal<string>;
24869
25517
  protected readonly recent: _angular_core.WritableSignal<BackstageRecentFile[]>;
24870
25518
  protected readonly titleKey: _angular_core.Signal<string>;
@@ -24960,72 +25608,6 @@ declare class RibbonFontControlsComponent {
24960
25608
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonFontControlsComponent, "pptx-ribbon-font-controls", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24961
25609
  }
24962
25610
 
24963
- /**
24964
- * The slide layouts the Home tab's "New Slide" split button can insert from.
24965
- *
24966
- * A deck's layouts hang off its masters, one list per master, and a layout's
24967
- * `name` is optional in OOXML. This flattens both facts away so the ribbon can
24968
- * render a single menu without knowing about masters: one entry per layout, in
24969
- * document order, always with something to display.
24970
- *
24971
- * Pure on purpose: the picker's behaviour is worth testing without a TestBed.
24972
- */
24973
-
24974
- /** One entry in the New Slide layout menu. */
24975
- interface RibbonLayoutOption {
24976
- /** Package path of the layout, written to the new slide's `layoutPath`. */
24977
- path: string;
24978
- /** Display name; falls back to the layout's file stem when OOXML omits one. */
24979
- name: string;
24980
- }
24981
-
24982
- declare class RibbonHomeSectionComponent {
24983
- protected readonly editor: EditorStateService;
24984
- private readonly loader;
24985
- /** Layouts offered by the New Slide split button and the Layout menu. */
24986
- protected readonly layoutOptions: _angular_core.Signal<RibbonLayoutOption[]>;
24987
- /** `layoutPath` of the active slide, marking the current gallery tile. */
24988
- protected readonly currentLayoutPath: _angular_core.Signal<string | undefined>;
24989
- /**
24990
- * Layout artwork for the gallery thumbnails, keyed by layout path.
24991
- *
24992
- * Parsing every layout part is only worth doing once a gallery is opened,
24993
- * so this stays empty until {@link loadLayoutPreviews} runs. Core memoises
24994
- * the parse, so reopening a menu costs nothing.
24995
- */
24996
- protected readonly layoutPreviews: _angular_core.WritableSignal<ReadonlyMap<string, PptxLayoutPreview>>;
24997
- constructor();
24998
- readonly slideIndex: _angular_core.InputSignal<number>;
24999
- readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
25000
- readonly canEdit: _angular_core.InputSignal<boolean>;
25001
- readonly formatPainterActive: _angular_core.InputSignal<boolean>;
25002
- readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
25003
- readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
25004
- readonly findReplace: _angular_core.OutputEmitterRef<void>;
25005
- /** "Slide Templates" in the Slides group; the host opens the gallery dialog. */
25006
- readonly openTemplateGallery: _angular_core.OutputEmitterRef<void>;
25007
- /** Emitted with the layout the user picked, after it has been applied. */
25008
- readonly applyLayout: _angular_core.OutputEmitterRef<string>;
25009
- /** Emitted after Home > Reset has re-applied the slide's layout. */
25010
- readonly resetSlide: _angular_core.OutputEmitterRef<void>;
25011
- /**
25012
- * Re-map the active slide onto `layoutPath`. The operation is self-contained,
25013
- * so the output is a notification rather than the thing that performs it.
25014
- */
25015
- protected onApplyLayout(layoutPath: string): void;
25016
- /**
25017
- * The button used to `resetSlide.emit()` to nobody, so clicking it did
25018
- * nothing; {@link performResetSlide} now actually performs the reset.
25019
- */
25020
- protected onResetSlide(): void;
25021
- protected copy(): void;
25022
- protected cut(): void;
25023
- protected paste(): void;
25024
- protected onSelectAll(): void;
25025
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonHomeSectionComponent, never>;
25026
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonHomeSectionComponent, "pptx-ribbon-home-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "openTemplateGallery": "openTemplateGallery"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide"; }, never, never, true, never>;
25027
- }
25028
-
25029
25611
  declare class RibbonHyperlinkButtonComponent {
25030
25612
  protected readonly editor: EditorStateService;
25031
25613
  /** The host opens the hyperlink edit dialog for the current selection. */
@@ -25233,7 +25815,9 @@ declare class RibbonPrimaryRowComponent {
25233
25815
  protected readonly presentMenuOpen: _angular_core.WritableSignal<boolean>;
25234
25816
  protected readonly overflowOpen: _angular_core.WritableSignal<boolean>;
25235
25817
  protected readonly toolbar: ToolbarVisibility;
25236
- protected readonly overflowItems: _angular_core.Signal<readonly {
25818
+ /** Host UI customisation (optional: absent outside a viewer). */
25819
+ protected readonly customization: ViewerCustomizationService | null;
25820
+ protected readonly overflowItems: _angular_core.Signal<{
25237
25821
  key: string;
25238
25822
  labelKey: string;
25239
25823
  needsSlides?: boolean;
@@ -26260,6 +26844,6 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
26260
26844
  */
26261
26845
  declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
26262
26846
 
26263
- export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CINEMATIC_TRANSITION_KEYFRAMES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_MORPH_DURATION_MS, 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, EASE, EFFECT_SOUND_CATALOGUE, 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, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, INSTANT, 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, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RANDOM_ELIGIBLE_TYPES, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, Rendering3DService, 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, DEFAULT_TRANSITION_DURATION_MS as SHARED_DEFAULT_TRANSITION_DURATION_MS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, 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, 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, TRANSITION_SPEED_DURATION_MS, 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, ViewerCollaborationShellService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, 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, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createImageElementFromFile, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeCollaborationShellState, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatInlineListStyle, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getCinematicTransitionAnimations, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getP14TransitionAnimations, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, 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, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, 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, oleActionsVisibleFor, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveDirection, resolveDirection8, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveOrientation, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolveSlideTransition, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, resolveTransitionDurationMs, resolveWheelSpokeCount, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, seriesXValues, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, 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, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
26264
- export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, ActiveShow, AiCanvasHighlight, AiChatInitState, AiHistoryInitDeps, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AuthoredRange, AwarenessLike, BarRect, Box, BridgeDeps, BroadcastConfig, BroadcastDefaults, BubbleRadiusOptions, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartSvgDef, ChartSvgPatternDef, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, CollaborationShellState, ConnectionStatus, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DeckSaveState, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectSoundState, EffectsState, ElementUpdate, ElementUpdateOptions, EmbeddedFontStyles, EquationTemplate, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, EyedropperResult, FindOptions, FindResult, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InkStrokeView, 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, PresenterTimerProgress, 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, ResolvedDirection, ResolvedDirection8, ResolvedFontVariant, ResolvedOleType, RulerUnit, SanitizedPresence, SavedPresentationFormat, ScatterDot, ScatterXDomain, SelectionBox, SessionDeck, 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, ToolbarActionId, TouchGestureCallbacks, TranslationKey, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerCollaborationShellOptions, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, ZoomTranslate, ZoomViewModel };
26847
+ export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BACKSTAGE_CARD_IDS, BACKSTAGE_PAGE_IDS, BroadcastDialogComponent, CANVAS_CONTEXT_MENU_COMMAND_IDS, CHART_EDITOR_STYLES, CINEMATIC_TRANSITION_KEYFRAMES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_MORPH_DURATION_MS, 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, EASE, EDITOR_SHORTCUT_ACTION_IDS, EFFECT_SOUND_CATALOGUE, ELEMENT_CONTEXT_MENU_COMMAND_IDS, 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, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, INSTANT, 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, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OleRendererComponent, OutlineViewOverlayComponent, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RANDOM_ELIGIBLE_TYPES, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RIBBON_TAB_IDS, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, Rendering3DService, 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, DEFAULT_TRANSITION_DURATION_MS as SHARED_DEFAULT_TRANSITION_DURATION_MS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, 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, 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, TOOLBAR_BUTTON_IDS, TRANSITION_SPEED_DURATION_MS, 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_DIALOG_IDS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_IDS, VIEWER_PANEL_IDS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCollaborationShellService, ViewerCompareService, ViewerCustomShowsService, ViewerCustomizationHandle, ViewerCustomizationService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, 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, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createImageElementFromFile, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeCollaborationShellState, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatInlineListStyle, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getCinematicTransitionAnimations, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getP14TransitionAnimations, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, injectResolvedCustomization, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, 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, oleActionsVisibleFor, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveDirection, resolveDirection8, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveLegendAnchorPosition, resolveMediaSrc, resolveOleType, resolveOrientation, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolveSlideTransition, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, resolveTransitionDurationMs, resolveWheelSpokeCount, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, seriesXValues, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, 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, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
26848
+ export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, ActiveShow, AiCanvasHighlight, AiChatInitState, AiHistoryInitDeps, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AuthoredRange, AwarenessLike, BackstageCustomization, BarRect, Box, BridgeDeps, BroadcastConfig, BroadcastDefaults, BubbleRadiusOptions, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartSvgDef, ChartSvgPatternDef, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, CollaborationShellState, ConnectionStatus, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, ContextMenuCustomization, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DeckSaveState, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectSoundState, EffectsState, ElementUpdate, ElementUpdateOptions, EmbeddedFontStyles, EquationTemplate, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, EyedropperResult, FindOptions, FindResult, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InkStrokeView, InlineEditState, InnerShadowState, KeyboardCustomization, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OptionsCustomization, OptionsPageId, OptionsSectionId, OptionsSettingId, OptionsSettingValues, 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, PresenterTimerProgress, 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, ResolvedCustomization, ResolvedDirection, ResolvedDirection8, ResolvedFontVariant, ResolvedOleType, RibbonCustomization, RulerUnit, SanitizedPresence, SavedPresentationFormat, ScatterDot, ScatterXDomain, SelectionBox, SessionDeck, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutChord, 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, ToolbarActionId, TouchGestureCallbacks, TranslationKey, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerCollaborationShellOptions, ViewerCustomization, ViewerCustomizationApi, ViewerDialogId, ViewerExportFormatId, ViewerFeatureId, ViewerMode, ViewerPanelId, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, ZoomTranslate, ZoomViewModel };
26265
26849
  //# sourceMappingURL=pptx-angular-viewer.d.ts.map