pptx-angular-viewer 4.5.0 → 4.7.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.
@@ -3,7 +3,7 @@ import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset
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';
@@ -1264,7 +1264,34 @@ interface ChartSvgPatternDef {
1264
1264
  height: number;
1265
1265
  preserveAspectRatio?: string;
1266
1266
  }
1267
- type ChartSvgDef = ChartSvgPatternDef;
1267
+ /** One `<stop>` of a gradient def (`offset` 0..1). */
1268
+ interface ChartSvgGradientStop {
1269
+ offset: number;
1270
+ color: string;
1271
+ opacity?: number;
1272
+ }
1273
+ /**
1274
+ * A chart gradient fill (`c:spPr/a:gradFill`, see `chart-gradient-defs.ts`),
1275
+ * in `objectBoundingBox` units: a linear gradient's vector runs x1,y1 to
1276
+ * x2,y2; a radial one centres on cx,cy with radius r.
1277
+ */
1278
+ type ChartSvgGradientDef = {
1279
+ kind: 'linearGradient';
1280
+ id: string;
1281
+ x1: number;
1282
+ y1: number;
1283
+ x2: number;
1284
+ y2: number;
1285
+ stops: ChartSvgGradientStop[];
1286
+ } | {
1287
+ kind: 'radialGradient';
1288
+ id: string;
1289
+ cx: number;
1290
+ cy: number;
1291
+ r: number;
1292
+ stops: ChartSvgGradientStop[];
1293
+ };
1294
+ type ChartSvgDef = ChartSvgPatternDef | ChartSvgGradientDef;
1268
1295
 
1269
1296
  /**
1270
1297
  * Chart title rich text: per-run render spans and the flat-text-edit
@@ -2498,6 +2525,35 @@ declare function applyAnimationPreset(animations: PptxElementAnimation[], elemen
2498
2525
  /** Return `animations` without the entry for `elementId`. */
2499
2526
  declare function removeElementAnimation(animations: PptxElementAnimation[], elementId: string): PptxElementAnimation[];
2500
2527
 
2528
+ /**
2529
+ * `animation-bookmark-trigger`: the "On bookmark" trigger picker every
2530
+ * binding's animation panel shows.
2531
+ *
2532
+ * An effect with `trigger: 'onMediaBookmark'` waits for a media element on the
2533
+ * slide to reach one of its bookmarks (`MediaPptxElement.bookmarks`). The
2534
+ * picker is a single `<select>` whose options are every (media element,
2535
+ * bookmark) pair on the slide; each option's value packs both halves so a
2536
+ * binding only ever maps {@link listMediaBookmarkOptions} onto `<option>`s and
2537
+ * hands the chosen value back to {@link setTriggerBookmark}.
2538
+ *
2539
+ * @module render/animation-bookmark-trigger
2540
+ */
2541
+
2542
+ /** One entry of the bookmark `<select>`. */
2543
+ interface MediaBookmarkOption {
2544
+ /** Opaque `<option value>`: pass it back to {@link setTriggerBookmark}. */
2545
+ value: string;
2546
+ /** The media element the bookmark belongs to. */
2547
+ mediaId: string;
2548
+ /** The bookmark's name. */
2549
+ bookmarkName: string;
2550
+ /**
2551
+ * Display text: the bookmark name, prefixed with the media element's name
2552
+ * when the slide has more than one media element with bookmarks.
2553
+ */
2554
+ label: string;
2555
+ }
2556
+
2501
2557
  /**
2502
2558
  * `animation-sound-authoring` — pure decision logic for the animation panel's
2503
2559
  * effect sound picker (`p:stSnd`).
@@ -7829,6 +7885,46 @@ interface OutlineRow {
7829
7885
  text: string;
7830
7886
  }
7831
7887
 
7888
+ /**
7889
+ * The editor keymap: one source of truth for "what does this key do".
7890
+ *
7891
+ * The keymap is the part of the editor a user memorises, so it is also the part
7892
+ * that must be identical in every binding. Before this module each binding
7893
+ * carried its own hand-ported copy (a React `switch`, a Vue matcher table, an
7894
+ * Angular service, two vanilla/Svelte handlers), and they drifted: the nudge
7895
+ * step was 2/20 in two of them and 1/10 in the other three, Ctrl+A existed in
7896
+ * three, Ctrl+G in one, and `?` in one. Key-to-action resolution therefore lives
7897
+ * here, framework-free and unit-testable, and each binding only supplies the
7898
+ * guard state and the callbacks.
7899
+ *
7900
+ * The same drift recurred with Ctrl+F: all five bindings ship a find bar, but
7901
+ * only React and Vue ever hand-wired the chord to open it, so on Angular,
7902
+ * Svelte and Vanilla the shortcut fell through to the browser's own find (which
7903
+ * cannot see text inside the slide model). It is in the map now, which is the
7904
+ * point: a shortcut that is not here is a shortcut three bindings will miss.
7905
+ *
7906
+ * Deliberately NOT here: what "escape" or "toggleShortcuts" then does. Closing a
7907
+ * format painter, an inline editor, a context menu or the help panel is view
7908
+ * state that only the binding owns, so the map stops at naming the action.
7909
+ *
7910
+ * @module render/editor-keymap
7911
+ */
7912
+
7913
+ /** A logical editor command produced by one key press. */
7914
+ 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';
7915
+
7916
+ /**
7917
+ * The Merge Shapes menu as data: one entry per operation with its i18n key and
7918
+ * the context-menu command id it answers to, so the ribbon dropdown and the
7919
+ * right-click entries in all five bindings list the same operations in the
7920
+ * same order under the same names.
7921
+ *
7922
+ * @module render/merge-shapes/merge-shapes-menu
7923
+ */
7924
+
7925
+ /** The right-click command id for each operation. */
7926
+ type MergeShapesCommandId = 'merge-union' | 'merge-combine' | 'merge-fragment' | 'merge-intersect' | 'merge-subtract';
7927
+
7832
7928
  /**
7833
7929
  * The one definition of what the canvas context menu contains.
7834
7930
  *
@@ -7853,7 +7949,7 @@ interface OutlineRow {
7853
7949
  */
7854
7950
 
7855
7951
  /** Every command a canvas context menu can offer, in no particular order. */
7856
- type ContextMenuCommandId = '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';
7952
+ type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'edit-text' | 'edit-points' | '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' | 'crop' | MergeShapesCommandId | 'save-as-picture' | 'edit-alt-text' | 'size-and-position' | 'format-shape' | 'delete';
7857
7953
  /** One rendered entry: a command, plus how it is presented. */
7858
7954
  interface ContextMenuEntry {
7859
7955
  id: ContextMenuCommandId;
@@ -7867,6 +7963,22 @@ interface ContextMenuEntry {
7867
7963
  disabled?: boolean;
7868
7964
  }
7869
7965
 
7966
+ /**
7967
+ * The right-click menu for the empty slide canvas (no element under the
7968
+ * cursor), as distinct from {@link ./context-menu-commands}'s per-element menu.
7969
+ *
7970
+ * Right-clicking empty canvas used to do nothing at all in every binding: React
7971
+ * and Vue both bailed out early (`getElementIdFromEvent` returns `null`, so the
7972
+ * handler just returns) rather than opening a menu, and the other three never
7973
+ * wired a handler for it either. PowerPoint offers Paste, Layout, Reset,
7974
+ * Format Background and view toggles (Grid and Guides, Ruler) from this menu;
7975
+ * this module is the one list every binding renders instead of five omissions.
7976
+ *
7977
+ * @module render/canvas-context-menu-commands
7978
+ */
7979
+ /** Every command the empty-canvas context menu can offer, in no particular order. */
7980
+ type CanvasContextMenuCommandId = 'paste' | 'layout' | 'reset-slide' | 'format-background' | 'grid-and-guides' | 'ruler';
7981
+
7870
7982
  /**
7871
7983
  * Paste Special (Ctrl+Alt+V) and the Paste Options mini-toolbar PowerPoint
7872
7984
  * shows right after an ordinary paste. Both surfaces offer the same four
@@ -9142,6 +9254,19 @@ interface BackstageTemplate {
9142
9254
  }
9143
9255
  declare function formatBackstageSize(bytes: number): string;
9144
9256
 
9257
+ /**
9258
+ * Every action card the File-tab backstage can show, keyed by the operation it
9259
+ * triggers rather than by its wording.
9260
+ *
9261
+ * The five bindings used to hardcode a title and a body string each, which made
9262
+ * the whole backstage untranslatable and let the copy drift: the same card
9263
+ * carried four different descriptions depending on which binding you opened it
9264
+ * in. Both halves now live here as a dictionary key plus an English fallback,
9265
+ * so a wording change lands everywhere at once and a translator only has to
9266
+ * translate it once.
9267
+ */
9268
+ type BackstageCardId = 'protect' | 'inspect' | 'embedFonts' | 'signatures' | 'versionHistory' | 'saveAsPptx' | 'saveAsPpsx' | 'saveAsPptm' | 'saveAsPpt' | 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage' | 'print' | 'share';
9269
+
9145
9270
  /**
9146
9271
  * master-view.ts: the framework-neutral rules behind View > Slide Master.
9147
9272
  *
@@ -9529,7 +9654,7 @@ declare function saveViewerProfile(profile: ViewerProfile): void;
9529
9654
  * whole control cluster (zoom in/out/fit, prev/next) rather than each button
9530
9655
  * in it, matching how hosts actually want to hide/keep them as a unit.
9531
9656
  */
9532
- type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation';
9657
+ type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation' | 'mergeShapes' | 'crop';
9533
9658
  /** A top-level ribbon tab. `record` intentionally shares its id with the quick-access Record button above: both surface the same recording feature, so hiding one hides the other. */
9534
9659
  type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
9535
9660
  type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
@@ -9849,6 +9974,30 @@ interface Rendering3DFlags {
9849
9974
  pieChart3D: boolean;
9850
9975
  }
9851
9976
 
9977
+ /** Every command the Edit Points right-click menu can offer. */
9978
+ type EditPointsCommandId = 'add-point' | 'delete-point' | 'delete-segment' | 'open-path' | 'close-path' | 'smooth-point' | 'straight-point' | 'corner-point' | 'straight-segment' | 'curved-segment' | 'exit';
9979
+
9980
+ /**
9981
+ * Geometry for PowerPoint's Insert > Shapes > Lines drawing tools that build
9982
+ * an `a:custGeom` freeform from clicks:
9983
+ *
9984
+ * - **Freeform: Shape** (`freeformShape`): each click places a corner; a drag
9985
+ * between clicks adds a freehand run (simplified, then drawn as short
9986
+ * straight segments, as PowerPoint stores it);
9987
+ * - **Curve** (`curve`): each click places a point the outline passes
9988
+ * through smoothly (a Catmull-Rom spline, emitted as cubic Beziers).
9989
+ *
9990
+ * Both close when the user clicks back on the start point, and otherwise stay
9991
+ * open. The element box, EMU path space and serialisation are the same as an
9992
+ * Edit Points commit (`editGeometryToElementPatch`), so a drawn freeform is
9993
+ * byte-for-byte the kind of shape Edit Points produces.
9994
+ *
9995
+ * @module render/edit-points/freeform-tool-geometry
9996
+ */
9997
+
9998
+ /** The two click-to-place drawing tools. */
9999
+ type FreeformToolKind = 'freeformShape' | 'curve';
10000
+
9852
10001
  /**
9853
10002
  * Control/section/tab descriptor types for the File > Options schema, plus
9854
10003
  * the terse constructors the tab-definition modules build panes with.
@@ -9866,6 +10015,11 @@ interface ControlBase {
9866
10015
  infoKey?: string;
9867
10016
  /** Renders indented under the preceding control, PowerPoint-style. */
9868
10017
  indent?: boolean;
10018
+ /**
10019
+ * The host locked this setting (see `customizeOptionsTabs`): render the
10020
+ * control disabled. Never set by the static schema itself.
10021
+ */
10022
+ readOnly?: boolean;
9869
10023
  }
9870
10024
  interface ViewerOptionsToggleControl extends ControlBase {
9871
10025
  kind: 'toggle';
@@ -9905,6 +10059,172 @@ interface ViewerOptionsTabDefinition {
9905
10059
  sections: readonly ViewerOptionsSection[];
9906
10060
  }
9907
10061
 
10062
+ /**
10063
+ * The framework-neutral UI customisation model.
10064
+ *
10065
+ * A host describes what its users should (and should not) see in ONE plain
10066
+ * object, `ViewerCustomization`. Every binding (React, Vue, Angular, Svelte,
10067
+ * Vanilla) accepts the same object through its own idiom (a prop, an input, a
10068
+ * constructor option) and exposes the same imperative helpers, and every render
10069
+ * site asks the pure decision functions in this directory instead of deciding
10070
+ * for itself. That keeps the five bindings from drifting: a new id added here
10071
+ * reaches all five at once.
10072
+ *
10073
+ * Every field is optional and every list defaults to "hide nothing", so an
10074
+ * empty object (or no object at all) is exactly today's behaviour.
10075
+ *
10076
+ * @module render/customization/customization-types
10077
+ */
10078
+
10079
+ /** Keys of an options group whose value is a primitive (not an array). */
10080
+ type PrimitiveKeys<T> = {
10081
+ [K in keyof T]: T[K] extends ViewerOptionPrimitive ? K : never;
10082
+ }[keyof T] & string;
10083
+ /**
10084
+ * One File > Options setting, addressed as `<group>.<key>`, for example
10085
+ * `general.userName` or `advanced.showGrid`. The union is derived from the
10086
+ * `ViewerOptions` model itself, so a typo is a compile error.
10087
+ */
10088
+ type OptionsSettingId = {
10089
+ [G in ViewerOptionsGroupId]: `${G}.${PrimitiveKeys<ViewerOptions[G]>}`;
10090
+ }[ViewerOptionsGroupId];
10091
+ /**
10092
+ * A File > Options page: the ten PowerPoint categories plus `ai`, the AI
10093
+ * assistant page a binding adds when the host configured an assistant.
10094
+ */
10095
+ type OptionsPageId = ViewerOptionsTabId | 'ai';
10096
+ /**
10097
+ * One section of an Options page, addressed as `<page>.<section>`, for
10098
+ * example `general.personalize` or `advanced.print`. The full list is
10099
+ * `OPTIONS_SECTION_IDS` (derived from the schema at runtime).
10100
+ */
10101
+ type OptionsSectionId = `${ViewerOptionsTabId}.${string}`;
10102
+ /** Values a host forces onto settings. */
10103
+ type OptionsSettingValues = Partial<Record<OptionsSettingId, ViewerOptionPrimitive>>;
10104
+ /** Ribbon and toolbar customisation. */
10105
+ interface RibbonCustomization {
10106
+ /** Ribbon tabs to remove (the File tab included, unlike Customize Ribbon). */
10107
+ hiddenTabs?: readonly ToolbarTabId[];
10108
+ /** Top-level toolbar buttons / control clusters to remove. */
10109
+ hiddenButtons?: readonly ToolbarButtonId[];
10110
+ }
10111
+ /** File > Options (the Settings dialog) customisation. */
10112
+ interface OptionsCustomization {
10113
+ /** Whole pages to remove from the dialog's category rail. */
10114
+ hiddenPages?: readonly OptionsPageId[];
10115
+ /** Sections (`<page>.<section>`) to remove from their page. */
10116
+ hiddenSections?: readonly OptionsSectionId[];
10117
+ /** Individual settings (`<group>.<key>`) to remove wherever they appear. */
10118
+ hiddenSettings?: readonly OptionsSettingId[];
10119
+ /**
10120
+ * Settings pinned to a fixed value. The value is forced into the options
10121
+ * store, user edits to it are ignored, and the control renders read-only.
10122
+ * Add the id to `hiddenSettings` too to lock it invisibly.
10123
+ */
10124
+ locked?: OptionsSettingValues;
10125
+ /**
10126
+ * Host defaults: the value a setting starts at when the user has not saved
10127
+ * a choice of their own. "Reset" returns to these, not to the built-ins.
10128
+ */
10129
+ defaults?: OptionsSettingValues;
10130
+ }
10131
+ /** File tab (backstage) customisation. */
10132
+ interface BackstageCustomization {
10133
+ /** Navigation entries (pages) to remove from the File tab. */
10134
+ hiddenPages?: readonly BackstagePage[];
10135
+ /** Action cards to remove from the pages that show them. */
10136
+ hiddenCards?: readonly BackstageCardId[];
10137
+ }
10138
+ /** Right-click menu customisation. */
10139
+ interface ContextMenuCustomization {
10140
+ /** Entries to remove from the element (right-click on a shape) menu. */
10141
+ hiddenElementCommands?: readonly ContextMenuCommandId[];
10142
+ /** Entries to remove from the empty-canvas menu. */
10143
+ hiddenCanvasCommands?: readonly CanvasContextMenuCommandId[];
10144
+ /**
10145
+ * Entries to remove from the Edit Points menu (right-click a vertex or a
10146
+ * segment while editing a shape's points).
10147
+ */
10148
+ hiddenEditPointsCommands?: readonly EditPointsCommandId[];
10149
+ /** Remove the element context menu entirely. */
10150
+ disableElementMenu?: boolean;
10151
+ /** Remove the empty-canvas context menu entirely. */
10152
+ disableCanvasMenu?: boolean;
10153
+ }
10154
+ /**
10155
+ * A shortcut chord in the form `Mod+Shift+D`: modifiers `Mod` (Ctrl on
10156
+ * Windows/Linux, Cmd on macOS), `Ctrl`, `Meta`, `Alt`, `Shift`, joined by `+`,
10157
+ * followed by a `KeyboardEvent.key` value (`D`, `Delete`, `ArrowLeft`, `F2`).
10158
+ */
10159
+ type ShortcutChord = string;
10160
+ /** Editor keyboard-shortcut customisation. */
10161
+ interface KeyboardCustomization {
10162
+ /** Turn every editor shortcut off (the host owns the keyboard). */
10163
+ disableAll?: boolean;
10164
+ /** Editor commands whose shortcut is turned off. */
10165
+ disabled?: readonly EditorKeyActionName[];
10166
+ /**
10167
+ * Replacement chords per command. A remapped command no longer answers to
10168
+ * its built-in chord; it answers to the chord(s) given here instead.
10169
+ */
10170
+ remap?: Partial<Record<EditorKeyActionName, ShortcutChord | readonly ShortcutChord[]>>;
10171
+ }
10172
+ /**
10173
+ * Chrome regions a host can remove. Each id maps onto one region in every
10174
+ * binding; see `VIEWER_PANEL_IDS` for the catalogue.
10175
+ */
10176
+ type ViewerPanelId = 'statusBar' | 'slidesPane' | 'inspector' | 'notes' | 'quickAccessToolbar' | 'titleBar';
10177
+ /** Feature areas that can be switched off as a whole. */
10178
+ type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode' | 'editPoints';
10179
+ /**
10180
+ * The click-to-place drawing tools of Insert > Shapes > Lines: Freeform:
10181
+ * Shape and Curve.
10182
+ */
10183
+ type ViewerDrawingToolId = FreeformToolKind;
10184
+ /** Dialogs (and the entry points that open them) a host can remove. */
10185
+ type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'export';
10186
+ /** Export formats offered by the File > Export page. */
10187
+ type ViewerExportFormatId = 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage';
10188
+ /**
10189
+ * The whole customisation object. Every field is optional; omitted fields hide
10190
+ * nothing and lock nothing.
10191
+ */
10192
+ interface ViewerCustomization {
10193
+ ribbon?: RibbonCustomization;
10194
+ options?: OptionsCustomization;
10195
+ backstage?: BackstageCustomization;
10196
+ contextMenu?: ContextMenuCustomization;
10197
+ keyboard?: KeyboardCustomization;
10198
+ /** Chrome regions to remove (`true` hides). */
10199
+ hiddenPanels?: readonly ViewerPanelId[];
10200
+ /** Feature areas to switch off (their buttons, menus, pages and panels). */
10201
+ disabledFeatures?: readonly ViewerFeatureId[];
10202
+ /** Dialogs to remove, along with every entry point that opens them. */
10203
+ hiddenDialogs?: readonly ViewerDialogId[];
10204
+ /** Export formats to remove from File > Export. */
10205
+ hiddenExportFormats?: readonly ViewerExportFormatId[];
10206
+ /** Drawing tools to remove from the Insert > Shapes gallery. */
10207
+ hiddenDrawingTools?: readonly ViewerDrawingToolId[];
10208
+ }
10209
+
10210
+ /**
10211
+ * Host constraints on the File > Options store: settings LOCKED to a fixed
10212
+ * value and host DEFAULTS that replace the built-in ones.
10213
+ *
10214
+ * Pure helpers; `createViewerOptionsStore` applies them on every write, so a
10215
+ * locked value cannot be changed from any path (the dialog, a ribbon toggle
10216
+ * writing through `setOptions`, a reset), and host defaults are never
10217
+ * persisted as if the user had chosen them.
10218
+ *
10219
+ * @module render/options/viewer-options-constraints
10220
+ */
10221
+
10222
+ /** Locks and host defaults, both keyed `<group>.<key>`. */
10223
+ interface ViewerOptionsConstraints {
10224
+ locked?: OptionsSettingValues;
10225
+ defaults?: OptionsSettingValues;
10226
+ }
10227
+
9908
10228
  /**
9909
10229
  * Framework-neutral store behind the File > Options dialog.
9910
10230
  *
@@ -9947,6 +10267,141 @@ interface ViewerOptionsStore {
9947
10267
  * operation costs a single render instead of one per field.
9948
10268
  */
9949
10269
  batch(write: () => void): void;
10270
+ /**
10271
+ * Apply host constraints (see `ViewerOptionsConstraints`): `locked` values
10272
+ * are forced in and every later write to them is ignored; `defaults`
10273
+ * replace the built-in defaults for settings the user never saved, and
10274
+ * become what `reset` returns to. Replaces any previous constraints.
10275
+ */
10276
+ setConstraints(constraints: ViewerOptionsConstraints): void;
10277
+ /** True when the host locked `<group>.<key>`. */
10278
+ isLocked(group: ViewerOptionsGroupId, key: string): boolean;
10279
+ }
10280
+
10281
+ declare const RIBBON_TAB_IDS: readonly ToolbarTabId[];
10282
+ declare const TOOLBAR_BUTTON_IDS: readonly ["share", "broadcast", "export", "undo", "redo", "record", "notes", "fullscreen", "zoom", "navigation", "mergeShapes", "crop"];
10283
+ declare const OPTIONS_PAGE_IDS: readonly OptionsPageId[];
10284
+ declare const OPTIONS_SECTION_IDS: readonly OptionsSectionId[];
10285
+ declare const OPTIONS_SETTING_IDS: readonly OptionsSettingId[];
10286
+ declare const BACKSTAGE_PAGE_IDS: readonly BackstagePage[];
10287
+ declare const BACKSTAGE_CARD_IDS: readonly BackstageCardId[];
10288
+ declare const ELEMENT_CONTEXT_MENU_COMMAND_IDS: readonly ["copy", "cut", "paste", "duplicate", "edit-text", "edit-points", "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", "crop", "merge-union", "merge-combine", "merge-fragment", "merge-intersect", "merge-subtract", "save-as-picture", "edit-alt-text", "size-and-position", "format-shape", "delete"];
10289
+ declare const CANVAS_CONTEXT_MENU_COMMAND_IDS: readonly ["paste", "layout", "reset-slide", "format-background", "grid-and-guides", "ruler"];
10290
+ 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"];
10291
+ declare const VIEWER_PANEL_IDS: readonly ["statusBar", "slidesPane", "inspector", "notes", "quickAccessToolbar", "titleBar"];
10292
+ declare const VIEWER_FEATURE_IDS: readonly ["ai", "collaboration", "comments", "presentMode", "editPoints"];
10293
+ declare const VIEWER_DIALOG_IDS: readonly ["options", "share", "broadcast", "print", "export"];
10294
+ declare const VIEWER_EXPORT_FORMAT_IDS: readonly ["pdf", "png", "video", "gif", "json", "copyImage"];
10295
+
10296
+ /** A parsed `Mod+Shift+D` chord. */
10297
+ interface ParsedShortcutChord {
10298
+ key: string;
10299
+ mod: boolean;
10300
+ ctrl: boolean;
10301
+ meta: boolean;
10302
+ alt: boolean;
10303
+ shift: boolean;
10304
+ }
10305
+ /** The normalised keyboard slice of a resolved customisation. */
10306
+ interface ResolvedKeyboardCustomization {
10307
+ disableAll: boolean;
10308
+ disabled: ReadonlySet<EditorKeyActionName>;
10309
+ remap: ReadonlyMap<EditorKeyActionName, readonly ParsedShortcutChord[]>;
10310
+ }
10311
+
10312
+ /**
10313
+ * Normalise a `ViewerCustomization` into the sets every decision function
10314
+ * reads, folding the cross-cutting rules in ONCE so no binding re-derives them:
10315
+ *
10316
+ * - switching off the `ai` feature removes the AI context-menu entries and the
10317
+ * AI Options page;
10318
+ * - switching off `collaboration` removes the Share and Broadcast dialogs;
10319
+ * - switching off `comments` removes the Add Comment menu entry;
10320
+ * - switching off `presentMode` removes the Slide Show tab;
10321
+ * - switching off `editPoints` removes the Edit Points menu entry;
10322
+ * - hiding a dialog removes every entry point that opens it (toolbar button,
10323
+ * File tab page, action card);
10324
+ * - hiding every export format removes the Export page and button.
10325
+ *
10326
+ * @module render/customization/customization-resolve
10327
+ */
10328
+
10329
+ /** The normalised, set-based view of a customisation. Treat as immutable. */
10330
+ interface ResolvedCustomization {
10331
+ hiddenActions: ReadonlySet<ToolbarActionId>;
10332
+ hiddenOptionsPages: ReadonlySet<OptionsPageId>;
10333
+ hiddenOptionsSections: ReadonlySet<OptionsSectionId>;
10334
+ hiddenSettings: ReadonlySet<OptionsSettingId>;
10335
+ lockedSettings: OptionsSettingValues;
10336
+ defaultSettings: OptionsSettingValues;
10337
+ hiddenBackstagePages: ReadonlySet<BackstagePage>;
10338
+ hiddenBackstageCards: ReadonlySet<BackstageCardId>;
10339
+ hiddenElementCommands: ReadonlySet<ContextMenuCommandId>;
10340
+ hiddenCanvasCommands: ReadonlySet<CanvasContextMenuCommandId>;
10341
+ hiddenEditPointsCommands: ReadonlySet<EditPointsCommandId>;
10342
+ hiddenDrawingTools: ReadonlySet<ViewerDrawingToolId>;
10343
+ elementMenuEnabled: boolean;
10344
+ canvasMenuEnabled: boolean;
10345
+ hiddenPanels: ReadonlySet<ViewerPanelId>;
10346
+ disabledFeatures: ReadonlySet<ViewerFeatureId>;
10347
+ hiddenDialogs: ReadonlySet<ViewerDialogId>;
10348
+ keyboard: ResolvedKeyboardCustomization;
10349
+ }
10350
+
10351
+ /**
10352
+ * The per-viewer customisation store plus the imperative helper API every
10353
+ * binding exposes on its component ref / instance.
10354
+ *
10355
+ * A binding creates ONE controller per viewer, feeds its `customization`
10356
+ * prop into `setCustomization`, subscribes to it (React through
10357
+ * `useSyncExternalStore`, Vue through a `shallowRef`, Angular through a
10358
+ * signal, Svelte through `$state`, Vanilla by calling it), and spreads
10359
+ * `controller.api` onto its public handle. Because the helpers live here, the
10360
+ * five handles expose the same methods with the same semantics.
10361
+ *
10362
+ * @module render/customization/customization-controller
10363
+ */
10364
+
10365
+ /** The imperative methods every binding's component handle exposes. */
10366
+ interface ViewerCustomizationApi {
10367
+ /** The current customisation object (a snapshot; do not mutate). */
10368
+ getCustomization(): ViewerCustomization;
10369
+ /** Replace the whole customisation. */
10370
+ setCustomization(next: ViewerCustomization): void;
10371
+ /** Merge a partial customisation (see `mergeCustomization`). */
10372
+ updateCustomization(patch: ViewerCustomization): void;
10373
+ /** Drop every customisation, back to the stock UI. */
10374
+ resetCustomization(): void;
10375
+ hideRibbonTab(tab: ToolbarTabId): void;
10376
+ showRibbonTab(tab: ToolbarTabId): void;
10377
+ hideToolbarButton(button: ToolbarButtonId): void;
10378
+ showToolbarButton(button: ToolbarButtonId): void;
10379
+ hideOptionsPage(page: OptionsPageId): void;
10380
+ showOptionsPage(page: OptionsPageId): void;
10381
+ hideOptionsSection(section: OptionsSectionId): void;
10382
+ showOptionsSection(section: OptionsSectionId): void;
10383
+ hideSetting(setting: OptionsSettingId): void;
10384
+ showSetting(setting: OptionsSettingId): void;
10385
+ /** Pin a setting to `value`; `hidden` also removes it from the dialog. */
10386
+ lockSetting(setting: OptionsSettingId, value: ViewerOptionPrimitive, hidden?: boolean): void;
10387
+ unlockSetting(setting: OptionsSettingId): void;
10388
+ /** Set (or with `undefined`, clear) the host default for a setting. */
10389
+ setSettingDefault(setting: OptionsSettingId, value: ViewerOptionPrimitive | undefined): void;
10390
+ hideBackstagePage(page: BackstagePage): void;
10391
+ showBackstagePage(page: BackstagePage): void;
10392
+ hideBackstageCard(card: BackstageCardId): void;
10393
+ showBackstageCard(card: BackstageCardId): void;
10394
+ hideContextMenuCommand(command: ContextMenuCommandId): void;
10395
+ showContextMenuCommand(command: ContextMenuCommandId): void;
10396
+ hideCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
10397
+ showCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
10398
+ disableShortcut(action: EditorKeyActionName): void;
10399
+ enableShortcut(action: EditorKeyActionName): void;
10400
+ /** Move a command onto new chord(s); `undefined` restores the built-in chord. */
10401
+ remapShortcut(action: EditorKeyActionName, chords: ShortcutChord | readonly ShortcutChord[] | undefined): void;
10402
+ setPanelVisible(panel: ViewerPanelId, visible: boolean): void;
10403
+ setFeatureEnabled(feature: ViewerFeatureId, enabled: boolean): void;
10404
+ setDialogAvailable(dialog: ViewerDialogId, available: boolean): void;
9950
10405
  }
9951
10406
 
9952
10407
  /**
@@ -10148,6 +10603,64 @@ interface ViewportFitOptions {
10148
10603
  maxFitScale?: number | null;
10149
10604
  }
10150
10605
 
10606
+ /**
10607
+ * The geometry of PowerPoint's on-canvas picture crop.
10608
+ *
10609
+ * In crop mode two rectangles matter: the FRAME (the element's box, what stays
10610
+ * visible) and the IMAGE (the whole bitmap, cropped-away parts included).
10611
+ * `a:srcRect` ties them together: each inset is the fraction of the image cut
10612
+ * off that side, so `image = frame` grown by those fractions. Dragging a black
10613
+ * crop handle moves a frame edge while the image stays put; dragging inside the
10614
+ * frame pans the image while the frame stays put. Both reduce to "new frame,
10615
+ * new image, recompute the insets", which is all this module does.
10616
+ *
10617
+ * Everything here is in the element's own (unrotated) axes; a binding with a
10618
+ * rotated picture converts pointer deltas with {@link toElementAxes} first.
10619
+ *
10620
+ * @module render/picture-crop/crop-geometry
10621
+ */
10622
+
10623
+ /** An axis-aligned rectangle in slide pixels. */
10624
+ interface CropRect {
10625
+ x: number;
10626
+ y: number;
10627
+ width: number;
10628
+ height: number;
10629
+ }
10630
+ /** The four `a:srcRect` insets as fractions of the image (negative pads). */
10631
+ interface CropInsets {
10632
+ cropLeft: number;
10633
+ cropTop: number;
10634
+ cropRight: number;
10635
+ cropBottom: number;
10636
+ }
10637
+ /** What a crop edit writes back onto the picture element. */
10638
+ type CropElementUpdate = CropInsets & CropRect;
10639
+
10640
+ /**
10641
+ * Crop mode's lifecycle, shared so every binding enters, commits and cancels
10642
+ * it the same way:
10643
+ *
10644
+ * - Enter: the Crop ribbon button, the picture context menu's Crop entry.
10645
+ * Only a croppable picture ({@link canCropElement}) enters.
10646
+ * - While in crop mode, handle and pan drags update the picture LIVE (so the
10647
+ * renderer shows the new `a:srcRect` as it changes) without recording undo.
10648
+ * - Enter, a click outside the picture, selecting something else, or pressing
10649
+ * the Crop button again COMMITS: one undo step from the snapshot taken on
10650
+ * entry to the current state (none when nothing changed).
10651
+ * - Escape CANCELS: the snapshot is written back and no undo step is left.
10652
+ *
10653
+ * @module render/picture-crop/crop-session
10654
+ */
10655
+
10656
+ /** The snapshot a crop session restores on cancel. */
10657
+ interface CropSession {
10658
+ elementId: string;
10659
+ original: CropElementUpdate;
10660
+ /** Insets the picture did not carry at all (no `a:srcRect` opinion). */
10661
+ absentInsets: readonly (keyof CropInsets)[];
10662
+ }
10663
+
10151
10664
  /**
10152
10665
  * Minimal GIF89a encoder (pure JS, no external dependency) plus pure
10153
10666
  * frame-planning helpers — shared by the React, Vue, and Angular bindings.
@@ -11773,7 +12286,8 @@ declare class EditorStateService {
11773
12286
  /**
11774
12287
  * Apply a live transform during a gesture WITHOUT recording history (the
11775
12288
  * gesture's snapshot was taken in {@link beginTransform}). Accepts any subset
11776
- * of x/y/width/height. Routes by id: template (master/layout) elements mutate
12289
+ * of x/y/width/height (plus a picture's crop insets, for crop mode's live
12290
+ * handle drags). Routes by id: template (master/layout) elements mutate
11777
12291
  * the template store, normal elements mutate the slide.
11778
12292
  */
11779
12293
  applyTransform(slideIndex: number, id: string, box: {
@@ -11782,6 +12296,10 @@ declare class EditorStateService {
11782
12296
  width?: number;
11783
12297
  height?: number;
11784
12298
  rotation?: number;
12299
+ cropLeft?: number;
12300
+ cropTop?: number;
12301
+ cropRight?: number;
12302
+ cropBottom?: number;
11785
12303
  }): void;
11786
12304
  /**
11787
12305
  * Recompute the endpoints of every connector bound to one of `movedIds` and
@@ -12329,6 +12847,26 @@ declare class MobileBottomBarComponent {
12329
12847
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileBottomBarComponent, "pptx-mobile-bottom-bar", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "activeSheet": { "alias": "activeSheet"; "required": false; "isSignal": true; }; }, { "openSlides": "openSlides"; "insert": "insert"; "openFormat": "openFormat"; "openComments": "openComments"; "notes": "notes"; }, never, never, true, never>;
12330
12848
  }
12331
12849
 
12850
+ declare class OutlineAuthoringService {
12851
+ private readonly editor;
12852
+ /** The shape in Edit Points mode, or null. */
12853
+ readonly editPointsElementId: _angular_core.WritableSignal<string | null>;
12854
+ /** The armed click-to-place drawing tool, or null. */
12855
+ readonly activeFreeformTool: _angular_core.WritableSignal<FreeformToolKind | null>;
12856
+ /**
12857
+ * The canvas selection with the Edit Points shape removed, so its resize
12858
+ * and rotate handles do not sit on top of its vertex handles.
12859
+ */
12860
+ readonly canvasSelectedIds: _angular_core.Signal<readonly string[]>;
12861
+ /** Enter Edit Points on `element` when its outline may be edited. */
12862
+ startEditPoints(element: PptxElement | null | undefined): void;
12863
+ exitEditPoints(): void;
12864
+ /** Arm a drawing tool (null disarms). */
12865
+ armFreeformTool(tool: FreeformToolKind | null): void;
12866
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OutlineAuthoringService, never>;
12867
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
12868
+ }
12869
+
12332
12870
  /** The deck after an outline edit, plus the slide the editor should land on. */
12333
12871
  interface OutlineCommit {
12334
12872
  slides: PptxSlide[];
@@ -12426,11 +12964,12 @@ declare class PresenterWindowService {
12426
12964
  type CaptureSlideFn = (index: number) => Promise<string | null>;
12427
12965
  declare class PrintService {
12428
12966
  private readonly translate;
12967
+ private readonly customization;
12429
12968
  /** Whether the print dialog is currently open. */
12430
12969
  readonly isDialogOpen: _angular_core.WritableSignal<boolean>;
12431
12970
  /** The current (validated) print settings. */
12432
12971
  readonly settings: _angular_core.WritableSignal<PrintSettings>;
12433
- /** Open the print dialog. */
12972
+ /** Open the print dialog (a no-op when the host removed the `print` dialog). */
12434
12973
  openDialog(): void;
12435
12974
  /** Close the print dialog. */
12436
12975
  closeDialog(): void;
@@ -13428,6 +13967,87 @@ declare class ViewerCustomShowsService {
13428
13967
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
13429
13968
  }
13430
13969
 
13970
+ declare class ViewerCustomizationService {
13971
+ private readonly destroyRef;
13972
+ private readonly viewerOptions;
13973
+ private readonly controller;
13974
+ /** The imperative helpers every binding's public handle exposes. */
13975
+ readonly api: ViewerCustomizationApi;
13976
+ private readonly _resolved;
13977
+ /** The normalised customisation the render sites read. */
13978
+ readonly resolved: Signal<ResolvedCustomization>;
13979
+ constructor();
13980
+ /**
13981
+ * Follow the host's `customization` input: each new object identity
13982
+ * REPLACES the customisation (including any imperative edits). The initial
13983
+ * `undefined` is not applied, so edits made before the first change
13984
+ * detection survive. Must be called from an injection context.
13985
+ */
13986
+ bindInput(source: () => ViewerCustomization | undefined): EffectRef;
13987
+ /** The legacy `hiddenActions` list unioned with the customisation. */
13988
+ effectiveHiddenActions(legacy: readonly ToolbarActionId[]): ToolbarActionId[];
13989
+ panelVisible(panel: ViewerPanelId): boolean;
13990
+ featureEnabled(feature: ViewerFeatureId): boolean;
13991
+ dialogAvailable(dialog: ViewerDialogId): boolean;
13992
+ /** The Quick Access options, switched off when the host hid the strip. */
13993
+ quickAccess(options: ViewerQuickAccessOptions): ViewerQuickAccessOptions;
13994
+ private applyConstraints;
13995
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerCustomizationService, never>;
13996
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
13997
+ }
13998
+ /**
13999
+ * The viewer's resolved customisation, or the empty one when the component is
14000
+ * mounted outside a viewer. Call from an injection context.
14001
+ */
14002
+ declare function injectResolvedCustomization(): Signal<ResolvedCustomization>;
14003
+
14004
+ /**
14005
+ * viewer-customization-handle.ts: the `ViewerCustomizationApi` half of
14006
+ * `PowerPointViewerComponent`'s public imperative surface.
14007
+ *
14008
+ * A plain (undecorated, Angular-feature-free) base class, so the root component
14009
+ * picks up every helper as a real public method without growing its own file.
14010
+ * Each method delegates to the per-viewer {@link ViewerCustomizationService}'s
14011
+ * shared controller, so the semantics are exactly the other four bindings'.
14012
+ */
14013
+
14014
+ declare abstract class ViewerCustomizationHandle implements ViewerCustomizationApi {
14015
+ /** The per-viewer customisation owner (injected by the concrete component). */
14016
+ protected abstract readonly customizationService: ViewerCustomizationService;
14017
+ private get customizationApi();
14018
+ getCustomization(): ViewerCustomization;
14019
+ setCustomization(next: ViewerCustomization): void;
14020
+ updateCustomization(patch: ViewerCustomization): void;
14021
+ resetCustomization(): void;
14022
+ hideRibbonTab(tab: ToolbarTabId): void;
14023
+ showRibbonTab(tab: ToolbarTabId): void;
14024
+ hideToolbarButton(button: ToolbarButtonId): void;
14025
+ showToolbarButton(button: ToolbarButtonId): void;
14026
+ hideOptionsPage(page: OptionsPageId): void;
14027
+ showOptionsPage(page: OptionsPageId): void;
14028
+ hideOptionsSection(section: OptionsSectionId): void;
14029
+ showOptionsSection(section: OptionsSectionId): void;
14030
+ hideSetting(setting: OptionsSettingId): void;
14031
+ showSetting(setting: OptionsSettingId): void;
14032
+ lockSetting(setting: OptionsSettingId, value: ViewerOptionPrimitive, hidden?: boolean): void;
14033
+ unlockSetting(setting: OptionsSettingId): void;
14034
+ setSettingDefault(setting: OptionsSettingId, value: ViewerOptionPrimitive | undefined): void;
14035
+ hideBackstagePage(page: BackstagePage): void;
14036
+ showBackstagePage(page: BackstagePage): void;
14037
+ hideBackstageCard(card: BackstageCardId): void;
14038
+ showBackstageCard(card: BackstageCardId): void;
14039
+ hideContextMenuCommand(command: ContextMenuCommandId): void;
14040
+ showContextMenuCommand(command: ContextMenuCommandId): void;
14041
+ hideCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
14042
+ showCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
14043
+ disableShortcut(action: EditorKeyActionName): void;
14044
+ enableShortcut(action: EditorKeyActionName): void;
14045
+ remapShortcut(action: EditorKeyActionName, chords: ShortcutChord | readonly ShortcutChord[] | undefined): void;
14046
+ setPanelVisible(panel: ViewerPanelId, visible: boolean): void;
14047
+ setFeatureEnabled(feature: ViewerFeatureId, enabled: boolean): void;
14048
+ setDialogAvailable(dialog: ViewerDialogId, available: boolean): void;
14049
+ }
14050
+
13431
14051
  declare class ViewerDialogsService {
13432
14052
  /** Equation editor dialog visibility. */
13433
14053
  readonly showEquation: _angular_core.WritableSignal<boolean>;
@@ -14333,7 +14953,7 @@ declare class ViewerZoomService {
14333
14953
  * - React theme context / Vue provide-inject → `themeStyle` CSS vars applied to
14334
14954
  * the root element (app-wide sharing via `provideViewerTheme`).
14335
14955
  */
14336
- declare class PowerPointViewerComponent implements PowerPointViewerAPI {
14956
+ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implements PowerPointViewerAPI {
14337
14957
  /** PowerPoint content as Uint8Array (or ArrayBuffer). */
14338
14958
  readonly content: _angular_core.InputSignal<ArrayBuffer | Uint8Array<ArrayBufferLike> | null>;
14339
14959
  /** Licensed fonts supplied by the host application. No fonts are bundled. */
@@ -14515,6 +15135,15 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
14515
15135
  * `ai` prop.
14516
15136
  */
14517
15137
  readonly ai: _angular_core.InputSignal<PptxAiConfig | undefined>;
15138
+ /**
15139
+ * Framework-neutral UI customisation. See docs/guide/customization.md.
15140
+ * Unioned with `hiddenActions`. A new object identity REPLACES the whole
15141
+ * customisation, including edits made through the imperative helpers
15142
+ * (`hideRibbonTab`, `lockSetting`, ...).
15143
+ */
15144
+ readonly customization: _angular_core.InputSignal<ViewerCustomization | undefined>;
15145
+ protected readonly customizationService: ViewerCustomizationService;
15146
+ private readonly customizationInputSync;
14518
15147
  /** Fired when the active slide changes. */
14519
15148
  readonly activeSlideChange: _angular_core.OutputEmitterRef<number>;
14520
15149
  /** Fired when the unsaved-changes flag toggles. */
@@ -14580,6 +15209,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
14580
15209
  protected readonly fileIO: ViewerFileIOService;
14581
15210
  protected readonly themeGallery: ViewerThemeGalleryService;
14582
15211
  protected readonly canvasEditing: ViewerCanvasEditingService;
15212
+ protected readonly outlineAuthoring: OutlineAuthoringService;
14583
15213
  /** Shared AI panel scope + on-canvas highlight store (pick mode, tool focus). */
14584
15214
  protected readonly aiPanelStore: AiPanelStore;
14585
15215
  protected readonly collabCursor: ViewerCollabCursorService;
@@ -15158,7 +15788,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
15158
15788
  /** Resolve the live slide-stage element within `<main>`. */
15159
15789
  private stageElement;
15160
15790
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PowerPointViewerComponent, never>;
15161
- 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>;
15791
+ 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>;
15162
15792
  }
15163
15793
 
15164
15794
  /** A selected chart sub-part, scoped to the chart element that owns it. */
@@ -15309,6 +15939,46 @@ declare class GoogleWebfontsService {
15309
15939
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
15310
15940
  }
15311
15941
 
15942
+ /** A live crop session and the slide its picture sits on. */
15943
+ interface PictureCropState {
15944
+ slideIndex: number;
15945
+ session: CropSession;
15946
+ }
15947
+ declare class PictureCropService {
15948
+ private readonly editor;
15949
+ /** The live session, or null outside crop mode. */
15950
+ readonly state: _angular_core.WritableSignal<PictureCropState | null>;
15951
+ /** Id of the picture in crop mode, or null. */
15952
+ readonly activeElementId: _angular_core.Signal<string | null>;
15953
+ /** Whether `id` is the picture currently in crop mode. */
15954
+ isCropping(id: string | null | undefined): boolean;
15955
+ /**
15956
+ * Enter crop mode on `element` (a croppable picture) on slide `slideIndex`.
15957
+ * A session on another picture is committed first. Returns whether crop
15958
+ * mode is now active on `element`.
15959
+ */
15960
+ enter(slideIndex: number, element: PptxElement | null | undefined): boolean;
15961
+ /** The ribbon Crop button: enter, or commit when already cropping. */
15962
+ toggle(slideIndex: number, element: PptxElement | null | undefined): void;
15963
+ /** Apply a live handle / pan update WITHOUT recording history. */
15964
+ applyLive(update: CropElementUpdate): void;
15965
+ /** End the session, leaving one undo step when the crop changed anything. */
15966
+ commit(): void;
15967
+ /** Commit, but only while `session` is still the live one. */
15968
+ commitSession(session: CropSession | null | undefined): void;
15969
+ /** Escape: restore the snapshot and leave no history. */
15970
+ cancel(): void;
15971
+ /**
15972
+ * Crop mode's own keys (Enter commits, Escape cancels). Returns true when
15973
+ * the key was consumed, so the caller skips its normal handling for it
15974
+ * (an Escape that cancels a crop must not also deselect or close chrome).
15975
+ */
15976
+ handleKeyDown(event: KeyboardEvent): boolean;
15977
+ private elementOf;
15978
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PictureCropService, never>;
15979
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
15980
+ }
15981
+
15312
15982
  /**
15313
15983
  * The host's opt-in 3D rendering flags (`smartArt3D`, `surfaceChart3D`,
15314
15984
  * `barChart3D`, `lineChart3D`, `areaChart3D`, `pieChart3D`), already narrowed
@@ -15425,6 +16095,8 @@ declare class ViewerKeyboardService {
15425
16095
  private readonly presentationMode;
15426
16096
  private readonly docProperties;
15427
16097
  private readonly canvasEditing;
16098
+ private readonly customization;
16099
+ private readonly crop;
15428
16100
  private host;
15429
16101
  /** Wire the host accessors (called once from the component constructor). */
15430
16102
  bind(host: KeyboardHost): void;
@@ -15554,7 +16226,7 @@ declare class ZoomTargetService {
15554
16226
  * `PowerPointViewerComponent`'s children (ribbon, slide canvas, inspector,
15555
16227
  * dialogs, ...) rely on via `inject()`.
15556
16228
  */
15557
- 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];
16229
+ 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, typeof OutlineAuthoringService, typeof PictureCropService];
15558
16230
 
15559
16231
  /** Lifecycle of the AI session bootstrap. */
15560
16232
  type AiChatInitState = 'checking' | 'unavailable' | 'ready' | 'error';
@@ -16847,6 +17519,13 @@ declare class SlideCanvasComponent implements SlideContext {
16847
17519
  private elementById;
16848
17520
  /** The single selected element itself (not just its box), or null. */
16849
17521
  private readonly singleSelectedElement;
17522
+ private readonly pictureCrop;
17523
+ /**
17524
+ * The picture in crop mode, when it is this editable canvas's single
17525
+ * selection. Drives the crop overlay and hides the normal resize / rotate /
17526
+ * adjust handles for it (the overlay also swallows its move-drag).
17527
+ */
17528
+ readonly cropElement: _angular_core.Signal<PptxElement | null>;
16850
17529
  /**
16851
17530
  * The single selected element when (and only when) it is a chart: gates
16852
17531
  * the "Chart Elements"/"Chart Styles"/"Chart Filters" quick-action overlay,
@@ -21004,6 +21683,10 @@ declare class AnimationAuthorPanelComponent {
21004
21683
  * yet have an animation entry. Used by the on-shape-click trigger picker.
21005
21684
  */
21006
21685
  protected readonly otherElements: _angular_core.Signal<PptxElement[]>;
21686
+ /** Every media bookmark on the slide, for the "On bookmark" trigger picker. */
21687
+ protected readonly bookmarkOptions: _angular_core.Signal<MediaBookmarkOption[]>;
21688
+ protected readonly selectedBookmark: _angular_core.Signal<string>;
21689
+ protected onTriggerBookmarkChange(event: Event): void;
21007
21690
  protected elementLabel(element: PptxElement): string;
21008
21691
  private emit;
21009
21692
  protected onPreview(): void;
@@ -21101,7 +21784,10 @@ declare class MobileMenuSheetComponent {
21101
21784
  readonly exportVideo: _angular_core.OutputEmitterRef<void>;
21102
21785
  /** Open the print dialog. */
21103
21786
  readonly print: _angular_core.OutputEmitterRef<void>;
21787
+ /** Host UI customisation (optional: absent outside a viewer). */
21788
+ private readonly customization;
21104
21789
  readonly rows: _angular_core.Signal<MobileMenuRow[]>;
21790
+ private readonly allRows;
21105
21791
  /**
21106
21792
  * Emit the row's action and close the sheet so the user returns to the
21107
21793
  * presentation immediately.
@@ -21468,6 +22154,12 @@ declare class StatusBarComponent {
21468
22154
  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>;
21469
22155
  }
21470
22156
 
22157
+ /** The clamped top-left corner of a menu, as signals the host style binds. */
22158
+ interface ClampedMenuPosition {
22159
+ readonly left: Signal<number>;
22160
+ readonly top: Signal<number>;
22161
+ }
22162
+
21471
22163
  declare class EditorContextMenuComponent {
21472
22164
  /** Horizontal viewport coordinate (px) of the top-left corner of the menu. */
21473
22165
  readonly x: _angular_core.InputSignal<number>;
@@ -21475,10 +22167,7 @@ declare class EditorContextMenuComponent {
21475
22167
  readonly y: _angular_core.InputSignal<number>;
21476
22168
  /** Zero-based index of the slide being edited. */
21477
22169
  readonly slideIndex: _angular_core.InputSignal<number>;
21478
- /**
21479
- * Whether to show the "Ask AI about this" / "Fix with AI" items. Gated by the
21480
- * host on the `ai` config + a single selected element.
21481
- */
22170
+ /** Show "Ask AI about this" / "Fix with AI" (host: `ai` config + one selection). */
21482
22171
  readonly showAiActions: _angular_core.InputSignal<boolean>;
21483
22172
  /** Emitted when the menu should close (Escape or outside click). */
21484
22173
  readonly closed: _angular_core.OutputEmitterRef<void>;
@@ -21486,45 +22175,31 @@ declare class EditorContextMenuComponent {
21486
22175
  readonly askAi: _angular_core.OutputEmitterRef<void>;
21487
22176
  /** "Fix with AI": open the assistant with a prefilled fix directive. */
21488
22177
  readonly fixAi: _angular_core.OutputEmitterRef<void>;
21489
- /**
21490
- * "Edit Hyperlink": the dialog lives at viewer level (it needs the selected
21491
- * element and the document-properties service), so the menu asks for it
21492
- * rather than owning it.
21493
- */
22178
+ /** "Edit Hyperlink": the dialog lives at viewer level, so the menu asks for it. */
21494
22179
  readonly editHyperlink: _angular_core.OutputEmitterRef<void>;
21495
22180
  /** "Add Comment": open the right-docked comments panel, as React does. */
21496
22181
  readonly addComment: _angular_core.OutputEmitterRef<void>;
21497
- /**
21498
- * "Edit Text": the host owns the same inline-text-edit entry point a
21499
- * double-click uses, so the menu just asks for it on the current element.
21500
- */
22182
+ /** "Edit Text": the host owns the inline-text-edit entry point a double-click uses. */
21501
22183
  readonly editText: _angular_core.OutputEmitterRef<void>;
21502
- /**
21503
- * "Save as Picture": the host owns the DOM lookup + html2canvas fallback
21504
- * driver this needs, so the menu asks for it on the current element.
21505
- */
22184
+ /** "Save as Picture": the host owns the DOM lookup + html2canvas driver it needs. */
21506
22185
  readonly saveAsPicture: _angular_core.OutputEmitterRef<void>;
21507
22186
  protected readonly editor: EditorStateService;
21508
22187
  private readonly tableSelection;
21509
22188
  private readonly host;
22189
+ protected readonly position: ClampedMenuPosition;
21510
22190
  private readonly inspectorPanel;
21511
- /**
21512
- * The table element + cell selection the menu should act on, or null when the
21513
- * current selection is not a single table with a selected cell. Drives the
21514
- * table row/column/merge section of the menu.
21515
- */
22191
+ private readonly customization;
22192
+ private readonly outline;
22193
+ private readonly crop;
22194
+ private readonly translate;
22195
+ /** The single table + selected cell the table commands act on, or null. */
21516
22196
  protected readonly tableCtx: _angular_core.Signal<{
21517
22197
  element: TablePptxElement;
21518
22198
  sel: TableCellSelection;
21519
22199
  } | null>;
21520
22200
  /** The single selected element, or null on an empty or multi selection. */
21521
22201
  private readonly selectedElement;
21522
- /**
21523
- * Lock-only half of Group/Ungroup gating (`a:spLocks`/`a:grpSpLocks`
21524
- * `@noGrp`), independent of selection count, mirroring the guard
21525
- * `EditorStateService.groupSelected`/`ungroupSelected` already enforce on
21526
- * the commands themselves (`group-lock-guard.ts`).
21527
- */
22202
+ /** Lock-only Group/Ungroup gating (`@noGrp`); see `group-lock-guard.ts`. */
21528
22203
  private readonly selectionGroupable;
21529
22204
  /** The menu, as the shared command list builds it for this right-click. */
21530
22205
  protected readonly entries: _angular_core.Signal<ContextMenuEntry[]>;
@@ -22508,6 +23183,7 @@ declare class ViewerExtraDialogsComponent {
22508
23183
  readonly themeKeySelect: _angular_core.OutputEmitterRef<string>;
22509
23184
  readonly localeSelect: _angular_core.OutputEmitterRef<string>;
22510
23185
  protected readonly svc: ViewerDialogsService;
23186
+ protected readonly customization: ViewerCustomizationService | null;
22511
23187
  protected readonly customFonts: CustomFontsService;
22512
23188
  protected readonly viewerOpts: ViewerOptionsService;
22513
23189
  protected readonly compare: ViewerCompareService;
@@ -22991,9 +23667,14 @@ declare class SettingsDialogComponent {
22991
23667
  readonly customFontRegistered: _angular_core.OutputEmitterRef<string>;
22992
23668
  readonly localeSelect: _angular_core.OutputEmitterRef<string>;
22993
23669
  readonly close: _angular_core.OutputEmitterRef<void>;
22994
- protected readonly tabs: readonly ViewerOptionsTabDefinition[];
22995
- /** Active category id, or the bespoke `'ai'` sentinel for the AI export pane. */
23670
+ private readonly customization;
23671
+ /** The categories after the host's customisation (hidden pages/sections/settings dropped). */
23672
+ protected readonly tabs: _angular_core.Signal<readonly ViewerOptionsTabDefinition[]>;
23673
+ protected readonly aiTabVisible: _angular_core.Signal<boolean>;
23674
+ /** Requested category id, or the bespoke `'ai'` sentinel for the AI export pane. */
22996
23675
  protected readonly activeTabId: _angular_core.WritableSignal<ViewerOptionsTabId | "ai">;
23676
+ /** The requested category, or the first visible one when the host hid it. */
23677
+ protected readonly shownTabId: _angular_core.Signal<ViewerOptionsTabId | "ai">;
22997
23678
  protected readonly activeTab: _angular_core.Signal<ViewerOptionsTabDefinition>;
22998
23679
  /** Snapshot taken when the dialog opens, restored by Cancel. */
22999
23680
  private snapshot;
@@ -23029,7 +23710,7 @@ declare class AccountPageComponent {
23029
23710
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
23030
23711
  private readonly translate;
23031
23712
  protected readonly swatches: readonly string[];
23032
- protected readonly version = "4.4.0";
23713
+ protected readonly version = "4.6.0";
23033
23714
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
23034
23715
  protected readonly initial: _angular_core.Signal<string>;
23035
23716
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -24894,13 +25575,16 @@ declare class RibbonArrangeSectionComponent {
24894
25575
  readonly canEdit: _angular_core.InputSignal<boolean>;
24895
25576
  readonly formatPainterActive: _angular_core.InputSignal<boolean>;
24896
25577
  readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
25578
+ /** Toolbar buttons the host hides (gates Merge Shapes and Crop). */
25579
+ readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
25580
+ protected readonly toolbar: ToolbarVisibility;
24897
25581
  readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
24898
25582
  protected hasSel(): boolean;
24899
25583
  protected canDistribute(): boolean;
24900
25584
  /** Toggle horizontal/vertical flip on each selected element. */
24901
25585
  protected flipSelected(axis: 'horizontal' | 'vertical'): void;
24902
25586
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonArrangeSectionComponent, never>;
24903
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonArrangeSectionComponent, "pptx-ribbon-arrange-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"; }, never, never, true, never>;
25587
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonArrangeSectionComponent, "pptx-ribbon-arrange-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; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; }, never, never, true, never>;
24904
25588
  }
24905
25589
 
24906
25590
  declare class RibbonColorPopoverComponent {
@@ -25039,19 +25723,23 @@ declare class RibbonFileSectionComponent {
25039
25723
  private readonly translate;
25040
25724
  private readonly t;
25041
25725
  protected readonly templates: readonly BackstageTemplate[];
25042
- protected readonly mainNav: _angular_core.Signal<readonly {
25726
+ private readonly customization;
25727
+ protected readonly mainNav: _angular_core.Signal<{
25043
25728
  id: BackstagePage;
25044
25729
  label: string;
25045
25730
  labelKey: string;
25046
25731
  group?: "footer";
25047
25732
  }[]>;
25048
- protected readonly footerNav: {
25733
+ protected readonly footerNav: _angular_core.Signal<{
25049
25734
  id: BackstagePage;
25050
25735
  label: string;
25051
25736
  labelKey: string;
25052
25737
  group?: "footer";
25053
- }[];
25738
+ }[]>;
25739
+ /** The page the user picked; see {@link currentPage} for the one shown. */
25054
25740
  protected readonly page: _angular_core.WritableSignal<BackstagePage>;
25741
+ /** The picked page, or 'home' (else the first visible page) when the host hid it. */
25742
+ protected readonly currentPage: _angular_core.Signal<BackstagePage>;
25055
25743
  protected readonly query: _angular_core.WritableSignal<string>;
25056
25744
  protected readonly recent: _angular_core.WritableSignal<BackstageRecentFile[]>;
25057
25745
  protected readonly titleKey: _angular_core.Signal<string>;
@@ -25354,7 +26042,9 @@ declare class RibbonPrimaryRowComponent {
25354
26042
  protected readonly presentMenuOpen: _angular_core.WritableSignal<boolean>;
25355
26043
  protected readonly overflowOpen: _angular_core.WritableSignal<boolean>;
25356
26044
  protected readonly toolbar: ToolbarVisibility;
25357
- protected readonly overflowItems: _angular_core.Signal<readonly {
26045
+ /** Host UI customisation (optional: absent outside a viewer). */
26046
+ protected readonly customization: ViewerCustomizationService | null;
26047
+ protected readonly overflowItems: _angular_core.Signal<{
25358
26048
  key: string;
25359
26049
  labelKey: string;
25360
26050
  needsSlides?: boolean;
@@ -26381,6 +27071,6 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
26381
27071
  */
26382
27072
  declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
26383
27073
 
26384
- 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, 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 };
26385
- 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 };
27074
+ 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 };
27075
+ 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, ChartSvgGradientDef, ChartSvgGradientStop, 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 };
26386
27076
  //# sourceMappingURL=pptx-angular-viewer.d.ts.map