pptx-vanilla-viewer 3.4.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +81 -0
- package/README.md +27 -26
- package/dist/{ai-panel-SKJEEM6W.cjs → ai-panel-TCTSMPIH.cjs} +1 -1
- package/dist/{ai-panel-ZJNNRCQC.js → ai-panel-YJVXQDT7.js} +1 -1
- package/dist/{chunk-LQ4JI3WP.js → chunk-6FHDGBUS.js} +2 -2
- package/dist/{chunk-E6UE4V7R.js → chunk-CBPWYT4I.js} +6 -6
- package/dist/{chunk-KR4EBOP3.js → chunk-F3LDPYKE.js} +417 -417
- package/dist/{chunk-DCFIS6IJ.cjs → chunk-G2XAI7GR.cjs} +8 -8
- package/dist/{chunk-TOWHSYAL.cjs → chunk-OQDW73SM.cjs} +417 -417
- package/dist/{chunk-FDZBDXQW.cjs → chunk-QKFFUGWO.cjs} +3 -3
- package/dist/i18n/de.cjs +11 -0
- package/dist/i18n/de.mjs +11 -0
- package/dist/i18n/es.cjs +11 -0
- package/dist/i18n/es.mjs +11 -0
- package/dist/i18n/fr.cjs +11 -0
- package/dist/i18n/fr.mjs +11 -0
- package/dist/i18n/zh-CN.cjs +11 -0
- package/dist/i18n/zh-CN.mjs +11 -0
- package/dist/index.cjs +66 -64
- package/dist/index.d.ts +211 -118
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +65 -63
- package/dist/internals.cjs +1 -1
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +1 -1
- package/dist/styles.css +2 -0
- package/dist/{transition-overlay-_0B-nMEW.d.ts → transition-overlay-C2lOs9rM.d.ts} +523 -5
- package/dist/transition-overlay-C2lOs9rM.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/transition-overlay-_0B-nMEW.d.ts.map +0 -1
|
@@ -2,7 +2,7 @@ import "fast-xml-parser";
|
|
|
2
2
|
import "jszip";
|
|
3
3
|
import { Doc } from "yjs";
|
|
4
4
|
import "opentype.js";
|
|
5
|
-
//#region ../core/dist/text-operations-
|
|
5
|
+
//#region ../core/dist/text-operations-Ceqe6q6P.d.ts
|
|
6
6
|
//#region src/core/types/actions.d.ts
|
|
7
7
|
/**
|
|
8
8
|
* Action types: hyperlinks, slide jumps, macros, and action buttons.
|
|
@@ -1871,6 +1871,15 @@ interface TextStyle {
|
|
|
1871
1871
|
textInnerShadowOffsetX?: number;
|
|
1872
1872
|
/** Text inner shadow vertical offset in px. */
|
|
1873
1873
|
textInnerShadowOffsetY?: number;
|
|
1874
|
+
/**
|
|
1875
|
+
* Original inner-shadow colour-choice XML (`a:innerShdw`'s
|
|
1876
|
+
* `a:prstClr`/`a:schemeClr`/`a:srgbClr`/… child), preserved verbatim so an
|
|
1877
|
+
* authored preset or theme colour round-trips instead of always being
|
|
1878
|
+
* re-serialized as a resolved `a:srgbClr`. Mirrors {@link textGlowColorXml}.
|
|
1879
|
+
*/
|
|
1880
|
+
textInnerShadowColorXml?: XmlObject;
|
|
1881
|
+
/** Theme colour slot the inner shadow colour resolved from, when it is `a:schemeClr`. */
|
|
1882
|
+
textInnerShadowColorRef?: PptxThemeColorRef;
|
|
1874
1883
|
/** Preset shadow type from `a:prstShdw/@prst` (e.g. "shdw1"..."shdw20"). */
|
|
1875
1884
|
textPresetShadowName?: string;
|
|
1876
1885
|
/** Preset shadow colour as hex string. */
|
|
@@ -1883,6 +1892,18 @@ interface TextStyle {
|
|
|
1883
1892
|
textPresetShadowDirection?: number;
|
|
1884
1893
|
/** Text blur effect radius in px (`a:blur`). */
|
|
1885
1894
|
textBlurRadius?: number;
|
|
1895
|
+
/**
|
|
1896
|
+
* Text soft-edge radius in px (`a:softEdge/@rad`).
|
|
1897
|
+
*
|
|
1898
|
+
* Feathers the glyph's own edges (a uniform blur of the alpha silhouette,
|
|
1899
|
+
* the same effect a shape's `a:softEdge` gives its fill), unrelated to
|
|
1900
|
+
* `a:blur` (which blurs the whole run, colour included) or a shadow. Never
|
|
1901
|
+
* parsed before this field existed, so `a:softEdge` on a run was silently
|
|
1902
|
+
* dropped: PowerPoint fades the glyphs to near-transparent at their
|
|
1903
|
+
* outline (COM-verified, `audit-text` slide 14's "SOFTEDGE" run), while
|
|
1904
|
+
* the viewer painted them fully crisp.
|
|
1905
|
+
*/
|
|
1906
|
+
textSoftEdgeRadius?: number;
|
|
1886
1907
|
/**
|
|
1887
1908
|
* Raw `a:effectDag` XML node from `a:rPr`, preserved verbatim for
|
|
1888
1909
|
* round-trip serialisation. Mirrors the shape-level
|
|
@@ -3515,6 +3536,15 @@ interface PptxChartHistogramOptions {
|
|
|
3515
3536
|
intervalClosed?: 'l' | 'r';
|
|
3516
3537
|
underflow?: number | 'auto';
|
|
3517
3538
|
overflow?: number | 'auto';
|
|
3539
|
+
/**
|
|
3540
|
+
* `c:layoutPr/cx:aggregation` was authored instead of `cx:binning`: the
|
|
3541
|
+
* raw rows are CATEGORICAL (a Pareto chart's `clusteredColumn` series
|
|
3542
|
+
* counting occurrences of each authored category, COM-verified against
|
|
3543
|
+
* charts-com.pptx slide 31 / chartEx6.xml), not a numeric range to bin.
|
|
3544
|
+
* Mutually exclusive with `binSize`/`binCount`/`intervalClosed`, which
|
|
3545
|
+
* only apply to a true numeric-value histogram.
|
|
3546
|
+
*/
|
|
3547
|
+
aggregateByCategory?: boolean;
|
|
3518
3548
|
}
|
|
3519
3549
|
/** Office 2016 ChartEx waterfall series layout options. */
|
|
3520
3550
|
interface PptxChartWaterfallOptions {
|
|
@@ -4179,6 +4209,18 @@ interface PptxChartData {
|
|
|
4179
4209
|
* the source" and callers should treat it as `true`. Surface only.
|
|
4180
4210
|
*/
|
|
4181
4211
|
wireframe?: boolean;
|
|
4212
|
+
/**
|
|
4213
|
+
* Whether the surface chart is the 2-D "top view" projection
|
|
4214
|
+
* (`c:surfaceChart`, PowerPoint's "Contour" / "Wireframe Contour" types)
|
|
4215
|
+
* rather than the 3-D isometric one (`c:surface3DChart`, "3-D Surface" /
|
|
4216
|
+
* "3-D Surface (Wireframe)"). Both element names map to chart type
|
|
4217
|
+
* `"surface"`; this bit is the only thing that tells the renderer which
|
|
4218
|
+
* of the two projections PowerPoint actually drew, since a top-view
|
|
4219
|
+
* surface has no Z-axis at all (only category and series axes) while the
|
|
4220
|
+
* 3-D one draws all three. Surface only; `undefined` for every other
|
|
4221
|
+
* chart type.
|
|
4222
|
+
*/
|
|
4223
|
+
surfaceTopView?: boolean;
|
|
4182
4224
|
/**
|
|
4183
4225
|
* Scatter presentation mode (`c:scatterChart/c:scatterStyle/@val`).
|
|
4184
4226
|
*
|
|
@@ -10365,7 +10407,7 @@ interface PptxEmbeddedFont {
|
|
|
10365
10407
|
originalPartBytes?: Uint8Array;
|
|
10366
10408
|
}
|
|
10367
10409
|
//#endregion
|
|
10368
|
-
//#region ../core/dist/index-
|
|
10410
|
+
//#region ../core/dist/index-CRVpXD8D.d.ts
|
|
10369
10411
|
//#region src/core/types/theme-presets.d.ts
|
|
10370
10412
|
/**
|
|
10371
10413
|
* A complete theme preset that can be applied to a presentation.
|
|
@@ -12311,7 +12353,7 @@ interface ReflectionWrapperStyle {
|
|
|
12311
12353
|
top: string;
|
|
12312
12354
|
width: string;
|
|
12313
12355
|
height: string;
|
|
12314
|
-
/**
|
|
12356
|
+
/** `scale(@sx, @sy)` (the sign of `@sy` IS the mirror) composed with `@kx`/`@ky`/`@rot`. */
|
|
12315
12357
|
transform: string;
|
|
12316
12358
|
/** Anchor point for the transform above, from `@algn` (default `center top`). */
|
|
12317
12359
|
transformOrigin: string;
|
|
@@ -13476,6 +13518,27 @@ declare function loadPresentationDeck(sessionId: string): Promise<Uint8Array | n
|
|
|
13476
13518
|
//#region src/render/presentation-blackboard.d.ts
|
|
13477
13519
|
/** Blackout state, as carried by {@link PresentationSnapshot}. */
|
|
13478
13520
|
type PresentationBlackout = PresentationSnapshot['blackout'];
|
|
13521
|
+
/** A logical editor command produced by one key press. */
|
|
13522
|
+
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';
|
|
13523
|
+
/** Every command a canvas context menu can offer, in no particular order. */
|
|
13524
|
+
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';
|
|
13525
|
+
//#endregion
|
|
13526
|
+
//#region src/render/canvas-context-menu-commands.d.ts
|
|
13527
|
+
/**
|
|
13528
|
+
* The right-click menu for the empty slide canvas (no element under the
|
|
13529
|
+
* cursor), as distinct from {@link ./context-menu-commands}'s per-element menu.
|
|
13530
|
+
*
|
|
13531
|
+
* Right-clicking empty canvas used to do nothing at all in every binding: React
|
|
13532
|
+
* and Vue both bailed out early (`getElementIdFromEvent` returns `null`, so the
|
|
13533
|
+
* handler just returns) rather than opening a menu, and the other three never
|
|
13534
|
+
* wired a handler for it either. PowerPoint offers Paste, Layout, Reset,
|
|
13535
|
+
* Format Background and view toggles (Grid and Guides, Ruler) from this menu;
|
|
13536
|
+
* this module is the one list every binding renders instead of five omissions.
|
|
13537
|
+
*
|
|
13538
|
+
* @module render/canvas-context-menu-commands
|
|
13539
|
+
*/
|
|
13540
|
+
/** Every command the empty-canvas context menu can offer, in no particular order. */
|
|
13541
|
+
type CanvasContextMenuCommandId = 'paste' | 'layout' | 'reset-slide' | 'format-background' | 'grid-and-guides' | 'ruler';
|
|
13479
13542
|
//#endregion
|
|
13480
13543
|
//#region src/render/paste-special.d.ts
|
|
13481
13544
|
/** The four paste formats PowerPoint's Paste Options / Paste Special offer. */
|
|
@@ -13632,6 +13695,21 @@ interface AutosaveRecord {
|
|
|
13632
13695
|
timestamp: number;
|
|
13633
13696
|
size: number;
|
|
13634
13697
|
}
|
|
13698
|
+
type BackstagePage = 'home' | 'new' | 'open' | 'info' | 'save' | 'saveAs' | 'print' | 'share' | 'export' | 'close' | 'account' | 'options';
|
|
13699
|
+
//#endregion
|
|
13700
|
+
//#region src/render/backstage-cards.d.ts
|
|
13701
|
+
/**
|
|
13702
|
+
* Every action card the File-tab backstage can show, keyed by the operation it
|
|
13703
|
+
* triggers rather than by its wording.
|
|
13704
|
+
*
|
|
13705
|
+
* The five bindings used to hardcode a title and a body string each, which made
|
|
13706
|
+
* the whole backstage untranslatable and let the copy drift: the same card
|
|
13707
|
+
* carried four different descriptions depending on which binding you opened it
|
|
13708
|
+
* in. Both halves now live here as a dictionary key plus an English fallback,
|
|
13709
|
+
* so a wording change lands everywhere at once and a translator only has to
|
|
13710
|
+
* translate it once.
|
|
13711
|
+
*/
|
|
13712
|
+
type BackstageCardId = 'protect' | 'inspect' | 'embedFonts' | 'signatures' | 'versionHistory' | 'saveAsPptx' | 'saveAsPpsx' | 'saveAsPptm' | 'saveAsPpt' | 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage' | 'print' | 'share';
|
|
13635
13713
|
//#endregion
|
|
13636
13714
|
//#region src/render/master-view-crud.d.ts
|
|
13637
13715
|
/** One Slide Master view sidebar command. */
|
|
@@ -13686,7 +13764,141 @@ type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'rec
|
|
|
13686
13764
|
/** 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. */
|
|
13687
13765
|
type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
|
|
13688
13766
|
type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
|
|
13767
|
+
//#endregion
|
|
13768
|
+
//#region src/render/options/viewer-options.d.ts
|
|
13769
|
+
/**
|
|
13770
|
+
* Full PowerPoint "File > Options" parity model.
|
|
13771
|
+
*
|
|
13772
|
+
* Groups mirror the ten categories of PowerPoint's Options dialog. Values are
|
|
13773
|
+
* flat primitives per group so the dialog panes can be rendered generically
|
|
13774
|
+
* from `VIEWER_OPTIONS_SCHEMA` in every binding. The legacy six-toggle
|
|
13775
|
+
* `ViewerPreferences` surface stays supported via the mapping helpers below.
|
|
13776
|
+
*/
|
|
13777
|
+
type ScreenTipStyle = 'descriptions' | 'plain' | 'off';
|
|
13778
|
+
type DisplayOptimization = 'appearance' | 'compatibility';
|
|
13779
|
+
type ImageResolutionPreset = 'highFidelity' | 'ppi330' | 'ppi220' | 'ppi150' | 'ppi96';
|
|
13780
|
+
type OpenDocumentsView = 'savedView' | 'normal' | 'outline' | 'slideSorter' | 'notes';
|
|
13781
|
+
type DefaultExportFormat = 'pptx' | 'pdf' | 'png';
|
|
13689
13782
|
type QuickAccessPosition = 'above' | 'below';
|
|
13783
|
+
type FeedbackSoundScheme = 'modern' | 'classic';
|
|
13784
|
+
type OptionsPrintWhat = 'slides' | 'handouts' | 'notes' | 'outline';
|
|
13785
|
+
type OptionsPrintColorMode = 'color' | 'grayscale' | 'blackAndWhite';
|
|
13786
|
+
interface ViewerGeneralOptions {
|
|
13787
|
+
displayOptimization: DisplayOptimization;
|
|
13788
|
+
showMiniToolbar: boolean;
|
|
13789
|
+
enableLivePreview: boolean;
|
|
13790
|
+
collapseRibbonAutomatically: boolean;
|
|
13791
|
+
collapseSearchByDefault: boolean;
|
|
13792
|
+
screenTipStyle: ScreenTipStyle;
|
|
13793
|
+
userName: string;
|
|
13794
|
+
userInitials: string;
|
|
13795
|
+
showStartScreen: boolean;
|
|
13796
|
+
/**
|
|
13797
|
+
* Lets the user hand a local font file to the viewer so decks authored
|
|
13798
|
+
* with a font the browser lacks render with the real face.
|
|
13799
|
+
*
|
|
13800
|
+
* Off by default. The registration reads a file the user picks and adds it
|
|
13801
|
+
* to the page's font set for the session, which is a capability a host
|
|
13802
|
+
* embedding the viewer should opt into rather than inherit.
|
|
13803
|
+
*/
|
|
13804
|
+
enableCustomFontUpload: boolean;
|
|
13805
|
+
}
|
|
13806
|
+
interface ViewerProofingOptions {
|
|
13807
|
+
autoCorrectTwoInitialCapitals: boolean;
|
|
13808
|
+
autoCorrectCapitalizeFirstLetter: boolean;
|
|
13809
|
+
autoCorrectCapitalizeDayNames: boolean;
|
|
13810
|
+
autoCorrectSmartQuotes: boolean;
|
|
13811
|
+
autoCorrectHyphensToDash: boolean;
|
|
13812
|
+
autoCorrectFractions: boolean;
|
|
13813
|
+
autoCorrectOrdinals: boolean;
|
|
13814
|
+
ignoreUppercase: boolean;
|
|
13815
|
+
ignoreWordsWithNumbers: boolean;
|
|
13816
|
+
ignoreInternetAddresses: boolean;
|
|
13817
|
+
flagRepeatedWords: boolean;
|
|
13818
|
+
checkSpellingAsYouType: boolean;
|
|
13819
|
+
hideSpellingErrors: boolean;
|
|
13820
|
+
}
|
|
13821
|
+
/**
|
|
13822
|
+
* File > Options > Save.
|
|
13823
|
+
*
|
|
13824
|
+
* Font embedding deliberately has NO entry here. It is owned by the File >
|
|
13825
|
+
* Fonts panel, whose toggle is the one the save path reads (see
|
|
13826
|
+
* `render/font-embedding`: `describeFontEmbedding` decides the toggle's start
|
|
13827
|
+
* position and whether it can do anything at all, `embeddedFontSaveOptions`
|
|
13828
|
+
* turns it into the `PptxHandler.save()` slice). This group used to carry a
|
|
13829
|
+
* second `embedFonts` boolean, plus an `embedAllFontCharacters` companion, and
|
|
13830
|
+
* neither was read by anything: the pane moved a switch that changed no saved
|
|
13831
|
+
* byte, while the panel next door moved the real one. Two switches for one
|
|
13832
|
+
* setting, one of them lying, is worse than one switch in a less
|
|
13833
|
+
* PowerPoint-shaped place.
|
|
13834
|
+
*/
|
|
13835
|
+
interface ViewerSaveOptions {
|
|
13836
|
+
autoSave: boolean;
|
|
13837
|
+
autoRecoverIntervalMinutes: number;
|
|
13838
|
+
keepLastAutoRecoveredVersion: boolean;
|
|
13839
|
+
defaultExportFormat: DefaultExportFormat;
|
|
13840
|
+
cacheRetentionDays: number;
|
|
13841
|
+
clearCacheOnClose: boolean;
|
|
13842
|
+
}
|
|
13843
|
+
interface ViewerAccessibilityOptions {
|
|
13844
|
+
showAccessibilityStatus: boolean;
|
|
13845
|
+
feedbackWithSound: boolean;
|
|
13846
|
+
soundScheme: FeedbackSoundScheme;
|
|
13847
|
+
showShortcutKeysInScreenTips: boolean;
|
|
13848
|
+
reducedMotion: boolean;
|
|
13849
|
+
}
|
|
13850
|
+
interface ViewerAdvancedOptions {
|
|
13851
|
+
autoSelectEntireWord: boolean;
|
|
13852
|
+
allowTextDragAndDrop: boolean;
|
|
13853
|
+
maximumUndoSteps: number;
|
|
13854
|
+
useSmartCutAndPaste: boolean;
|
|
13855
|
+
showPasteOptionsButton: boolean;
|
|
13856
|
+
imageDefaultResolution: ImageResolutionPreset;
|
|
13857
|
+
doNotCompressImages: boolean;
|
|
13858
|
+
chartPropertiesFollowDataPoint: boolean;
|
|
13859
|
+
recentPresentationsCount: number;
|
|
13860
|
+
showVerticalRuler: boolean;
|
|
13861
|
+
showGrid: boolean;
|
|
13862
|
+
snapToGrid: boolean;
|
|
13863
|
+
disableHardwareAcceleration: boolean;
|
|
13864
|
+
/**
|
|
13865
|
+
* Force every opt-in interactive 3D scene (SmartArt, bar/line/area/pie/
|
|
13866
|
+
* surface charts) to fall back to its flat 2D rendering, even when the
|
|
13867
|
+
* host has enabled that scene via its own `smartArt3D`/`*Chart3D` prop.
|
|
13868
|
+
* A host opting in says "this deck may want 3D"; this is the viewer
|
|
13869
|
+
* user's own override for when the WebGL scenes it renders are too much
|
|
13870
|
+
* for their machine. See `resolve3DRenderingFlags`.
|
|
13871
|
+
*/
|
|
13872
|
+
disable3DRendering: boolean;
|
|
13873
|
+
/**
|
|
13874
|
+
* `p:animEffect/@filter="pixelate"` defaults to snapping the element to
|
|
13875
|
+
* its end state (`cutIn`/`cutOut`), matching PowerPoint's own behaviour
|
|
13876
|
+
* (COM `CreateVideo` frame-diffing shows PowerPoint performs no animation
|
|
13877
|
+
* at all for this filter value). This turns on the blocky mosaic reveal
|
|
13878
|
+
* this renderer can build instead, for a viewer that would rather show
|
|
13879
|
+
* something animating than PowerPoint's own instant swap. See
|
|
13880
|
+
* `resolveFilterEffect` in `animation-filter-effects.ts` and
|
|
13881
|
+
* `docs/guide/visual-effects.md`.
|
|
13882
|
+
*/
|
|
13883
|
+
pixelateMosaicAnimation: boolean;
|
|
13884
|
+
openDocumentsView: OpenDocumentsView;
|
|
13885
|
+
slideShowShowMenuOnRightClick: boolean;
|
|
13886
|
+
slideShowShowPopupToolbar: boolean;
|
|
13887
|
+
slideShowPromptKeepInkAnnotations: boolean;
|
|
13888
|
+
slideShowEndWithBlackSlide: boolean;
|
|
13889
|
+
printInBackground: boolean;
|
|
13890
|
+
printHighQuality: boolean;
|
|
13891
|
+
printUseMostRecentSettings: boolean;
|
|
13892
|
+
printWhat: OptionsPrintWhat;
|
|
13893
|
+
printColorMode: OptionsPrintColorMode;
|
|
13894
|
+
printHiddenSlides: boolean;
|
|
13895
|
+
printScaleToFit: boolean;
|
|
13896
|
+
printFrameSlides: boolean;
|
|
13897
|
+
}
|
|
13898
|
+
interface ViewerRibbonOptions {
|
|
13899
|
+
/** Ribbon tabs unticked in Customize Ribbon. The File tab can never be hidden. */
|
|
13900
|
+
hiddenTabIds: ToolbarTabId[];
|
|
13901
|
+
}
|
|
13690
13902
|
interface ViewerQuickAccessOptions {
|
|
13691
13903
|
visible: boolean;
|
|
13692
13904
|
position: QuickAccessPosition;
|
|
@@ -13694,6 +13906,23 @@ interface ViewerQuickAccessOptions {
|
|
|
13694
13906
|
/** Ordered ids from `QUICK_ACCESS_COMMAND_CATALOG`. */
|
|
13695
13907
|
commandIds: string[];
|
|
13696
13908
|
}
|
|
13909
|
+
interface ViewerTrustOptions {
|
|
13910
|
+
openInProtectedView: boolean;
|
|
13911
|
+
allowExternalContent: boolean;
|
|
13912
|
+
confirmExternalHyperlinks: boolean;
|
|
13913
|
+
}
|
|
13914
|
+
interface ViewerOptions {
|
|
13915
|
+
general: ViewerGeneralOptions;
|
|
13916
|
+
proofing: ViewerProofingOptions;
|
|
13917
|
+
save: ViewerSaveOptions;
|
|
13918
|
+
accessibility: ViewerAccessibilityOptions;
|
|
13919
|
+
advanced: ViewerAdvancedOptions;
|
|
13920
|
+
ribbon: ViewerRibbonOptions;
|
|
13921
|
+
quickAccess: ViewerQuickAccessOptions;
|
|
13922
|
+
trust: ViewerTrustOptions;
|
|
13923
|
+
}
|
|
13924
|
+
type ViewerOptionsGroupId = keyof ViewerOptions;
|
|
13925
|
+
type ViewerOptionPrimitive = boolean | number | string;
|
|
13697
13926
|
//#endregion
|
|
13698
13927
|
//#region src/export/handout-layout.d.ts
|
|
13699
13928
|
/**
|
|
@@ -13738,6 +13967,295 @@ interface PrintSettings {
|
|
|
13738
13967
|
scaleToFit?: boolean;
|
|
13739
13968
|
}
|
|
13740
13969
|
//#endregion
|
|
13970
|
+
//#region src/render/options/viewer-options-controls.d.ts
|
|
13971
|
+
/**
|
|
13972
|
+
* Control/section/tab descriptor types for the File > Options schema, plus
|
|
13973
|
+
* the terse constructors the tab-definition modules build panes with.
|
|
13974
|
+
*/
|
|
13975
|
+
type ViewerOptionsTabId = 'general' | 'proofing' | 'save' | 'language' | 'accessibility' | 'advanced' | 'ribbon' | 'quickAccess' | 'addIns' | 'trust';
|
|
13976
|
+
//#endregion
|
|
13977
|
+
//#region src/render/customization/customization-types.d.ts
|
|
13978
|
+
/** Keys of an options group whose value is a primitive (not an array). */
|
|
13979
|
+
type PrimitiveKeys<T> = { [K in keyof T]: T[K] extends ViewerOptionPrimitive ? K : never; }[keyof T] & string;
|
|
13980
|
+
/**
|
|
13981
|
+
* One File > Options setting, addressed as `<group>.<key>`, for example
|
|
13982
|
+
* `general.userName` or `advanced.showGrid`. The union is derived from the
|
|
13983
|
+
* `ViewerOptions` model itself, so a typo is a compile error.
|
|
13984
|
+
*/
|
|
13985
|
+
type OptionsSettingId = { [G in ViewerOptionsGroupId]: `${G}.${PrimitiveKeys<ViewerOptions[G]>}`; }[ViewerOptionsGroupId];
|
|
13986
|
+
/**
|
|
13987
|
+
* A File > Options page: the ten PowerPoint categories plus `ai`, the AI
|
|
13988
|
+
* assistant page a binding adds when the host configured an assistant.
|
|
13989
|
+
*/
|
|
13990
|
+
type OptionsPageId = ViewerOptionsTabId | 'ai';
|
|
13991
|
+
/**
|
|
13992
|
+
* One section of an Options page, addressed as `<page>.<section>`, for
|
|
13993
|
+
* example `general.personalize` or `advanced.print`. The full list is
|
|
13994
|
+
* `OPTIONS_SECTION_IDS` (derived from the schema at runtime).
|
|
13995
|
+
*/
|
|
13996
|
+
type OptionsSectionId = `${ViewerOptionsTabId}.${string}`;
|
|
13997
|
+
/** Values a host forces onto settings. */
|
|
13998
|
+
type OptionsSettingValues = Partial<Record<OptionsSettingId, ViewerOptionPrimitive>>;
|
|
13999
|
+
/** Ribbon and toolbar customisation. */
|
|
14000
|
+
interface RibbonCustomization {
|
|
14001
|
+
/** Ribbon tabs to remove (the File tab included, unlike Customize Ribbon). */
|
|
14002
|
+
hiddenTabs?: readonly ToolbarTabId[];
|
|
14003
|
+
/** Top-level toolbar buttons / control clusters to remove. */
|
|
14004
|
+
hiddenButtons?: readonly ToolbarButtonId[];
|
|
14005
|
+
}
|
|
14006
|
+
/** File > Options (the Settings dialog) customisation. */
|
|
14007
|
+
interface OptionsCustomization {
|
|
14008
|
+
/** Whole pages to remove from the dialog's category rail. */
|
|
14009
|
+
hiddenPages?: readonly OptionsPageId[];
|
|
14010
|
+
/** Sections (`<page>.<section>`) to remove from their page. */
|
|
14011
|
+
hiddenSections?: readonly OptionsSectionId[];
|
|
14012
|
+
/** Individual settings (`<group>.<key>`) to remove wherever they appear. */
|
|
14013
|
+
hiddenSettings?: readonly OptionsSettingId[];
|
|
14014
|
+
/**
|
|
14015
|
+
* Settings pinned to a fixed value. The value is forced into the options
|
|
14016
|
+
* store, user edits to it are ignored, and the control renders read-only.
|
|
14017
|
+
* Add the id to `hiddenSettings` too to lock it invisibly.
|
|
14018
|
+
*/
|
|
14019
|
+
locked?: OptionsSettingValues;
|
|
14020
|
+
/**
|
|
14021
|
+
* Host defaults: the value a setting starts at when the user has not saved
|
|
14022
|
+
* a choice of their own. "Reset" returns to these, not to the built-ins.
|
|
14023
|
+
*/
|
|
14024
|
+
defaults?: OptionsSettingValues;
|
|
14025
|
+
}
|
|
14026
|
+
/** File tab (backstage) customisation. */
|
|
14027
|
+
interface BackstageCustomization {
|
|
14028
|
+
/** Navigation entries (pages) to remove from the File tab. */
|
|
14029
|
+
hiddenPages?: readonly BackstagePage[];
|
|
14030
|
+
/** Action cards to remove from the pages that show them. */
|
|
14031
|
+
hiddenCards?: readonly BackstageCardId[];
|
|
14032
|
+
}
|
|
14033
|
+
/** Right-click menu customisation. */
|
|
14034
|
+
interface ContextMenuCustomization {
|
|
14035
|
+
/** Entries to remove from the element (right-click on a shape) menu. */
|
|
14036
|
+
hiddenElementCommands?: readonly ContextMenuCommandId[];
|
|
14037
|
+
/** Entries to remove from the empty-canvas menu. */
|
|
14038
|
+
hiddenCanvasCommands?: readonly CanvasContextMenuCommandId[];
|
|
14039
|
+
/** Remove the element context menu entirely. */
|
|
14040
|
+
disableElementMenu?: boolean;
|
|
14041
|
+
/** Remove the empty-canvas context menu entirely. */
|
|
14042
|
+
disableCanvasMenu?: boolean;
|
|
14043
|
+
}
|
|
14044
|
+
/**
|
|
14045
|
+
* A shortcut chord in the form `Mod+Shift+D`: modifiers `Mod` (Ctrl on
|
|
14046
|
+
* Windows/Linux, Cmd on macOS), `Ctrl`, `Meta`, `Alt`, `Shift`, joined by `+`,
|
|
14047
|
+
* followed by a `KeyboardEvent.key` value (`D`, `Delete`, `ArrowLeft`, `F2`).
|
|
14048
|
+
*/
|
|
14049
|
+
type ShortcutChord = string;
|
|
14050
|
+
/** Editor keyboard-shortcut customisation. */
|
|
14051
|
+
interface KeyboardCustomization {
|
|
14052
|
+
/** Turn every editor shortcut off (the host owns the keyboard). */
|
|
14053
|
+
disableAll?: boolean;
|
|
14054
|
+
/** Editor commands whose shortcut is turned off. */
|
|
14055
|
+
disabled?: readonly EditorKeyActionName[];
|
|
14056
|
+
/**
|
|
14057
|
+
* Replacement chords per command. A remapped command no longer answers to
|
|
14058
|
+
* its built-in chord; it answers to the chord(s) given here instead.
|
|
14059
|
+
*/
|
|
14060
|
+
remap?: Partial<Record<EditorKeyActionName, ShortcutChord | readonly ShortcutChord[]>>;
|
|
14061
|
+
}
|
|
14062
|
+
/**
|
|
14063
|
+
* Chrome regions a host can remove. Each id maps onto one region in every
|
|
14064
|
+
* binding; see `VIEWER_PANEL_IDS` for the catalogue.
|
|
14065
|
+
*/
|
|
14066
|
+
type ViewerPanelId = 'statusBar' | 'slidesPane' | 'inspector' | 'notes' | 'quickAccessToolbar' | 'titleBar';
|
|
14067
|
+
/** Feature areas that can be switched off as a whole. */
|
|
14068
|
+
type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode';
|
|
14069
|
+
/** Dialogs (and the entry points that open them) a host can remove. */
|
|
14070
|
+
type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'export';
|
|
14071
|
+
/** Export formats offered by the File > Export page. */
|
|
14072
|
+
type ViewerExportFormatId = 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage';
|
|
14073
|
+
/**
|
|
14074
|
+
* The whole customisation object. Every field is optional; omitted fields hide
|
|
14075
|
+
* nothing and lock nothing.
|
|
14076
|
+
*/
|
|
14077
|
+
interface ViewerCustomization {
|
|
14078
|
+
ribbon?: RibbonCustomization;
|
|
14079
|
+
options?: OptionsCustomization;
|
|
14080
|
+
backstage?: BackstageCustomization;
|
|
14081
|
+
contextMenu?: ContextMenuCustomization;
|
|
14082
|
+
keyboard?: KeyboardCustomization;
|
|
14083
|
+
/** Chrome regions to remove (`true` hides). */
|
|
14084
|
+
hiddenPanels?: readonly ViewerPanelId[];
|
|
14085
|
+
/** Feature areas to switch off (their buttons, menus, pages and panels). */
|
|
14086
|
+
disabledFeatures?: readonly ViewerFeatureId[];
|
|
14087
|
+
/** Dialogs to remove, along with every entry point that opens them. */
|
|
14088
|
+
hiddenDialogs?: readonly ViewerDialogId[];
|
|
14089
|
+
/** Export formats to remove from File > Export. */
|
|
14090
|
+
hiddenExportFormats?: readonly ViewerExportFormatId[];
|
|
14091
|
+
}
|
|
14092
|
+
//#endregion
|
|
14093
|
+
//#region src/render/options/viewer-options-constraints.d.ts
|
|
14094
|
+
/** Locks and host defaults, both keyed `<group>.<key>`. */
|
|
14095
|
+
interface ViewerOptionsConstraints {
|
|
14096
|
+
locked?: OptionsSettingValues;
|
|
14097
|
+
defaults?: OptionsSettingValues;
|
|
14098
|
+
}
|
|
14099
|
+
//#endregion
|
|
14100
|
+
//#region src/render/options/viewer-options-store.d.ts
|
|
14101
|
+
/**
|
|
14102
|
+
* Framework-neutral store behind the File > Options dialog.
|
|
14103
|
+
*
|
|
14104
|
+
* Holds a `ViewerOptions` snapshot, notifies subscribers on change, and
|
|
14105
|
+
* persists a sparse diff into the shared `pptx-viewer-prefs` localStorage
|
|
14106
|
+
* entry so choices survive reloads in every binding.
|
|
14107
|
+
*/
|
|
14108
|
+
type ViewerOptionsListener = (options: ViewerOptions) => void;
|
|
14109
|
+
interface ViewerOptionsStore {
|
|
14110
|
+
getOptions(): ViewerOptions;
|
|
14111
|
+
/** Replace the whole snapshot (e.g. hydrating from a host prop). */
|
|
14112
|
+
setOptions(next: ViewerOptions): void;
|
|
14113
|
+
/** Set one primitive value; ignores unknown keys and mismatched types. */
|
|
14114
|
+
setValue(group: ViewerOptionsGroupId, key: string, value: ViewerOptionPrimitive): void;
|
|
14115
|
+
getValue(group: ViewerOptionsGroupId, key: string): ViewerOptionPrimitive | undefined;
|
|
14116
|
+
/** Toggle a ribbon tab's visibility. The File tab is always kept visible. */
|
|
14117
|
+
setRibbonTabHidden(tabId: ToolbarTabId, hidden: boolean): void;
|
|
14118
|
+
setQuickAccessCommands(commandIds: readonly string[]): void;
|
|
14119
|
+
/** Reset every option (or one tab-group) back to defaults. */
|
|
14120
|
+
reset(group?: ViewerOptionsGroupId): void;
|
|
14121
|
+
subscribe(listener: ViewerOptionsListener): () => void;
|
|
14122
|
+
/**
|
|
14123
|
+
* Subscribe to ONE projection of the options, woken only when that
|
|
14124
|
+
* projection changes.
|
|
14125
|
+
*
|
|
14126
|
+
* `subscribe` above wakes on every option change, which in a binding means
|
|
14127
|
+
* the whole options consumer re-renders because the user toggled something
|
|
14128
|
+
* unrelated. A ribbon control that reads `ribbon.hiddenTabIds` should not
|
|
14129
|
+
* care that an autosave interval moved (issue #145).
|
|
14130
|
+
*
|
|
14131
|
+
* IMPORTANT for array/object slices: every write here deep-clones the whole
|
|
14132
|
+
* options object (`cloneViewerOptions`), so a nested array is a NEW array
|
|
14133
|
+
* after ANY change, even one that did not touch it. Under the default
|
|
14134
|
+
* `Object.is` such a selector would fire on every write and buy nothing.
|
|
14135
|
+
* Pass a value equality for those, e.g. the shared `sameArray`.
|
|
14136
|
+
*/
|
|
14137
|
+
subscribeSelector<T>(selector: (options: ViewerOptions) => T, listener: (value: T, previous: T) => void, isEqual?: (a: T, b: T) => boolean): () => void;
|
|
14138
|
+
/**
|
|
14139
|
+
* Apply several option writes as ONE notification, so a multi-field
|
|
14140
|
+
* operation costs a single render instead of one per field.
|
|
14141
|
+
*/
|
|
14142
|
+
batch(write: () => void): void;
|
|
14143
|
+
/**
|
|
14144
|
+
* Apply host constraints (see `ViewerOptionsConstraints`): `locked` values
|
|
14145
|
+
* are forced in and every later write to them is ignored; `defaults`
|
|
14146
|
+
* replace the built-in defaults for settings the user never saved, and
|
|
14147
|
+
* become what `reset` returns to. Replaces any previous constraints.
|
|
14148
|
+
*/
|
|
14149
|
+
setConstraints(constraints: ViewerOptionsConstraints): void;
|
|
14150
|
+
/** True when the host locked `<group>.<key>`. */
|
|
14151
|
+
isLocked(group: ViewerOptionsGroupId, key: string): boolean;
|
|
14152
|
+
}
|
|
14153
|
+
//#endregion
|
|
14154
|
+
//#region src/render/customization/customization-catalog.d.ts
|
|
14155
|
+
declare const RIBBON_TAB_IDS: readonly ToolbarTabId[];
|
|
14156
|
+
declare const TOOLBAR_BUTTON_IDS: readonly ["share", "broadcast", "export", "undo", "redo", "record", "notes", "fullscreen", "zoom", "navigation"];
|
|
14157
|
+
declare const OPTIONS_PAGE_IDS: readonly OptionsPageId[];
|
|
14158
|
+
declare const OPTIONS_SECTION_IDS: readonly OptionsSectionId[];
|
|
14159
|
+
declare const OPTIONS_SETTING_IDS: readonly OptionsSettingId[];
|
|
14160
|
+
declare const BACKSTAGE_PAGE_IDS: readonly BackstagePage[];
|
|
14161
|
+
declare const BACKSTAGE_CARD_IDS: readonly BackstageCardId[];
|
|
14162
|
+
declare const ELEMENT_CONTEXT_MENU_COMMAND_IDS: readonly ["copy", "cut", "paste", "duplicate", "edit-text", "bring-forward", "send-backward", "bring-front", "send-back", "ai-ask", "ai-fix", "comment", "hyperlink", "table-insert-row-above", "table-insert-row-below", "table-delete-row", "table-insert-col-left", "table-insert-col-right", "table-delete-col", "table-merge-selected", "table-merge-right", "table-merge-down", "table-split", "group", "ungroup", "save-as-picture", "edit-alt-text", "size-and-position", "format-shape", "delete"];
|
|
14163
|
+
declare const CANVAS_CONTEXT_MENU_COMMAND_IDS: readonly ["paste", "layout", "reset-slide", "format-background", "grid-and-guides", "ruler"];
|
|
14164
|
+
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"];
|
|
14165
|
+
declare const VIEWER_PANEL_IDS: readonly ["statusBar", "slidesPane", "inspector", "notes", "quickAccessToolbar", "titleBar"];
|
|
14166
|
+
declare const VIEWER_FEATURE_IDS: readonly ["ai", "collaboration", "comments", "presentMode"];
|
|
14167
|
+
declare const VIEWER_DIALOG_IDS: readonly ["options", "share", "broadcast", "print", "export"];
|
|
14168
|
+
declare const VIEWER_EXPORT_FORMAT_IDS: readonly ["pdf", "png", "video", "gif", "json", "copyImage"];
|
|
14169
|
+
//#endregion
|
|
14170
|
+
//#region src/render/customization/customization-keymap.d.ts
|
|
14171
|
+
/** A parsed `Mod+Shift+D` chord. */
|
|
14172
|
+
interface ParsedShortcutChord {
|
|
14173
|
+
key: string;
|
|
14174
|
+
mod: boolean;
|
|
14175
|
+
ctrl: boolean;
|
|
14176
|
+
meta: boolean;
|
|
14177
|
+
alt: boolean;
|
|
14178
|
+
shift: boolean;
|
|
14179
|
+
}
|
|
14180
|
+
/** The normalised keyboard slice of a resolved customisation. */
|
|
14181
|
+
interface ResolvedKeyboardCustomization {
|
|
14182
|
+
disableAll: boolean;
|
|
14183
|
+
disabled: ReadonlySet<EditorKeyActionName>;
|
|
14184
|
+
remap: ReadonlyMap<EditorKeyActionName, readonly ParsedShortcutChord[]>;
|
|
14185
|
+
}
|
|
14186
|
+
//#endregion
|
|
14187
|
+
//#region src/render/customization/customization-resolve.d.ts
|
|
14188
|
+
/** The normalised, set-based view of a customisation. Treat as immutable. */
|
|
14189
|
+
interface ResolvedCustomization {
|
|
14190
|
+
hiddenActions: ReadonlySet<ToolbarActionId>;
|
|
14191
|
+
hiddenOptionsPages: ReadonlySet<OptionsPageId>;
|
|
14192
|
+
hiddenOptionsSections: ReadonlySet<OptionsSectionId>;
|
|
14193
|
+
hiddenSettings: ReadonlySet<OptionsSettingId>;
|
|
14194
|
+
lockedSettings: OptionsSettingValues;
|
|
14195
|
+
defaultSettings: OptionsSettingValues;
|
|
14196
|
+
hiddenBackstagePages: ReadonlySet<BackstagePage>;
|
|
14197
|
+
hiddenBackstageCards: ReadonlySet<BackstageCardId>;
|
|
14198
|
+
hiddenElementCommands: ReadonlySet<ContextMenuCommandId>;
|
|
14199
|
+
hiddenCanvasCommands: ReadonlySet<CanvasContextMenuCommandId>;
|
|
14200
|
+
elementMenuEnabled: boolean;
|
|
14201
|
+
canvasMenuEnabled: boolean;
|
|
14202
|
+
hiddenPanels: ReadonlySet<ViewerPanelId>;
|
|
14203
|
+
disabledFeatures: ReadonlySet<ViewerFeatureId>;
|
|
14204
|
+
hiddenDialogs: ReadonlySet<ViewerDialogId>;
|
|
14205
|
+
keyboard: ResolvedKeyboardCustomization;
|
|
14206
|
+
}
|
|
14207
|
+
//#endregion
|
|
14208
|
+
//#region src/render/customization/customization-controller.d.ts
|
|
14209
|
+
/** The imperative methods every binding's component handle exposes. */
|
|
14210
|
+
interface ViewerCustomizationApi {
|
|
14211
|
+
/** The current customisation object (a snapshot; do not mutate). */
|
|
14212
|
+
getCustomization(): ViewerCustomization;
|
|
14213
|
+
/** Replace the whole customisation. */
|
|
14214
|
+
setCustomization(next: ViewerCustomization): void;
|
|
14215
|
+
/** Merge a partial customisation (see `mergeCustomization`). */
|
|
14216
|
+
updateCustomization(patch: ViewerCustomization): void;
|
|
14217
|
+
/** Drop every customisation, back to the stock UI. */
|
|
14218
|
+
resetCustomization(): void;
|
|
14219
|
+
hideRibbonTab(tab: ToolbarTabId): void;
|
|
14220
|
+
showRibbonTab(tab: ToolbarTabId): void;
|
|
14221
|
+
hideToolbarButton(button: ToolbarButtonId): void;
|
|
14222
|
+
showToolbarButton(button: ToolbarButtonId): void;
|
|
14223
|
+
hideOptionsPage(page: OptionsPageId): void;
|
|
14224
|
+
showOptionsPage(page: OptionsPageId): void;
|
|
14225
|
+
hideOptionsSection(section: OptionsSectionId): void;
|
|
14226
|
+
showOptionsSection(section: OptionsSectionId): void;
|
|
14227
|
+
hideSetting(setting: OptionsSettingId): void;
|
|
14228
|
+
showSetting(setting: OptionsSettingId): void;
|
|
14229
|
+
/** Pin a setting to `value`; `hidden` also removes it from the dialog. */
|
|
14230
|
+
lockSetting(setting: OptionsSettingId, value: ViewerOptionPrimitive, hidden?: boolean): void;
|
|
14231
|
+
unlockSetting(setting: OptionsSettingId): void;
|
|
14232
|
+
/** Set (or with `undefined`, clear) the host default for a setting. */
|
|
14233
|
+
setSettingDefault(setting: OptionsSettingId, value: ViewerOptionPrimitive | undefined): void;
|
|
14234
|
+
hideBackstagePage(page: BackstagePage): void;
|
|
14235
|
+
showBackstagePage(page: BackstagePage): void;
|
|
14236
|
+
hideBackstageCard(card: BackstageCardId): void;
|
|
14237
|
+
showBackstageCard(card: BackstageCardId): void;
|
|
14238
|
+
hideContextMenuCommand(command: ContextMenuCommandId): void;
|
|
14239
|
+
showContextMenuCommand(command: ContextMenuCommandId): void;
|
|
14240
|
+
hideCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
|
|
14241
|
+
showCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
|
|
14242
|
+
disableShortcut(action: EditorKeyActionName): void;
|
|
14243
|
+
enableShortcut(action: EditorKeyActionName): void;
|
|
14244
|
+
/** Move a command onto new chord(s); `undefined` restores the built-in chord. */
|
|
14245
|
+
remapShortcut(action: EditorKeyActionName, chords: ShortcutChord | readonly ShortcutChord[] | undefined): void;
|
|
14246
|
+
setPanelVisible(panel: ViewerPanelId, visible: boolean): void;
|
|
14247
|
+
setFeatureEnabled(feature: ViewerFeatureId, enabled: boolean): void;
|
|
14248
|
+
setDialogAvailable(dialog: ViewerDialogId, available: boolean): void;
|
|
14249
|
+
}
|
|
14250
|
+
interface ViewerCustomizationController {
|
|
14251
|
+
/** The helper methods, ready to spread onto a component handle. */
|
|
14252
|
+
readonly api: ViewerCustomizationApi;
|
|
14253
|
+
/** The normalised view the render sites read. Stable until the next change. */
|
|
14254
|
+
getResolved(): ResolvedCustomization;
|
|
14255
|
+
/** Subscribe to every change; returns the unsubscribe function. */
|
|
14256
|
+
subscribe(listener: () => void): () => void;
|
|
14257
|
+
}
|
|
14258
|
+
//#endregion
|
|
13741
14259
|
//#region src/render/inline-text-commit.d.ts
|
|
13742
14260
|
/**
|
|
13743
14261
|
* Reconcile a committed plain-text edit with an element's existing rich runs.
|
|
@@ -13895,5 +14413,5 @@ interface TransitionOverlayParams {
|
|
|
13895
14413
|
*/
|
|
13896
14414
|
declare function playTransitionOverlay(params: TransitionOverlayParams): () => void;
|
|
13897
14415
|
//#endregion
|
|
13898
|
-
export {
|
|
13899
|
-
//# sourceMappingURL=transition-overlay-
|
|
14416
|
+
export { MobileSheetKey as $, PptxSaveFormat as $n, ShapeStyle as $r, VIEWER_PANEL_IDS as $t, DEFAULT_TRANSITION_DURATION_MS as A, parsePresentationSessionId as An, PptxImageEffects as Ar, RunProgramNotice as At, ExternalCollaborationSession as B, savedPresentationFileName as Bn, PptxSmartArtData as Br, SlideSizeRescaleMode as Bt, CollaborationTransport as C, getSessionTabId as Cn, PptxCustomShow as Cr, RemoteCursor as Ct, ContextMenuCustomization as D, loadPresentationDeck as Dn, PptxEmbeddedFont as Dr, RibbonCustomization as Dt, ContextMenuCommandId as E, isSupportedPresentationFile as En, PptxElementAnimation as Er, ResolvedDirection8 as Et, ElementAnimationState as F, resolveOrientation as Fn, PptxPresentationProperties as Fr, SessionDeck as Ft, INSTANT as G, defaultRadius as Gn, PptxTextStyleLevels as Gr, TRANSITION_SPEED_DURATION_MS as Gt, FieldSubstitutionContext as H, ViewerTheme as Hn, PptxTableCellStyle as Hr, SlideTransitionAnimations as Ht, ElementClipboardPayload as I, resolveSlideTransition as In, PptxSection as Ir, ShapePresetType as It, InlineTextSelection as J, vermilionDarkTheme as Jn, PptxThemeColorScheme as Jr, ToolbarButtonId as Jt, InlineListReadResult as K, defaultThemeColors as Kn, PptxTheme as Kr, TextAdvancedChanges as Kt, ElementUpdate as L, resolveTransitionDurationMs as Ln, PptxSlide as Lr, ShareDefaults as Lt, EDITOR_SHORTCUT_ACTION_IDS as M, rememberSessionDeck as Mn, PptxModernCommentAuthor as Mr, SLIDE_TRANSITION_KEYFRAMES_CSS as Mt, ELEMENT_CONTEXT_MENU_COMMAND_IDS as N, resolveDirection as Nn, PptxModifyVerifier as Nr, SanitizedPresence as Nt, CssStyleMap as O, loadSessionDeck as On, PptxHandoutMaster as Or, RibbonTransitionDraft as Ot, EditorKeyActionName as P, resolveDirection8 as Pn, PptxNotesMaster as Pr, SavedPresentationFormat as Pt, MasterViewCrudActionId as Q, PptxHandlerSaveOptions as Qn, PptxViewProperties as Qr, VIEWER_FEATURE_IDS as Qt, ElementUpdateOptions as R, resolveWheelSpokeCount as Rn, PptxSlideMaster as Rr, ShortcutChord as Rt, CollaborationShellState as S, getP14TransitionAnimations as Sn, PptxCustomProperty as Sr, ReadOnlyRecommendation as St, ConnectionStatus as T, isLegacyBinaryPresentation as Tn, PptxElement as Tr, ResolvedDirection as Tt, GradientState as U, ViewerThemeColors as Un, PptxTableData as Ur, StrokeToInkElementOpts as Ut, ExternalCollaborationSnapshot as V, ThemeCatalogEntry as Vn, PptxSmartArtNodeStyle as Vr, SlideTemplateId as Vt, Guide as W, defaultCssVars as Wn, PptxTagCollection as Wr, TOOLBAR_BUTTON_IDS as Wt, KeyboardCustomization as X, AccessibilityIssue as Xn, PptxThemeOption as Xr, VIEWER_DIALOG_IDS as Xt, InsertChartKind as Y, vermilionLightTheme as Yn, PptxThemeFontScheme as Yr, ToolbarTabId as Yt, MasterViewCrudAction as Z, PptxHandler as Zn, PptxTransitionType as Zr, VIEWER_EXPORT_FORMAT_IDS as Zt, ChartPartRef as _, canInteractWithElement as _n, PptxComment as _r, PresentationPointerTool as _t, AnimationGroup as a, TextStyle as ai, ViewerFeatureId as an, OlePptxElement as ar, OptionsPageId as at, CollaborationLivePatcher as b, forgetSessionDeck as bn, PptxCompatibilityWarning as br, RANDOM_ELIGIBLE_TYPES as bt, BACKSTAGE_PAGE_IDS as c, ViewerOptionPrimitive as cn, PptxAnimationDirection as cr, OptionsSettingValues as ct, BackstagePage as d, ViewerQuickAccessOptions as dn, PptxAnimationSequence as dr, P14_TRANSITION_KEYFRAMES_ALL as dt, SmartArtColorScheme as ei, ViewerCustomization as en, SvgExportOptions as er, ModifyPasswordCheckResult as et, CANVAS_CONTEXT_MENU_COMMAND_IDS as f, ViewportFitOptions as fn, PptxAnimationTimelineAnchor as fr, PPTX_OPEN_ACCEPT as ft, ChangeCaseMode as g, buildInlineTextCommitPatch as gn, PptxChartData as gr, PresentationBlackout as gt, CanvasSize as h, ZoomNavigationTarget as hn, PptxAppProperties as hr, PowerPointViewerAPI as ht, AlignEdge as i, TextSegment as ii, ViewerExportFormatId as in, OleObjectType as ir, OptionsCustomization as it, EASE as j, presentationBaseName as jn, PptxLayoutPreview as jr, SLIDE_TRANSITION_KEYFRAMES as jt, DEFAULT_MORPH_DURATION_MS as k, overlayInlineTextSnapshot as kn, PptxHeaderFooter as kr, RulerUnit as kt, BackstageCardId as l, ViewerOptionsStore as ln, PptxAnimationPreset as lr, P14_TRANSITION_KEYFRAMES as lt, CanvasContextMenuCommandId as m, WHEEL_SPOKE_COUNTS as mn, PptxAnimationTrigger as mr, PasteSpecialFormat as mt, playTransitionOverlay as n, SmartArtLayoutType as ni, ViewerCustomizationController as nn, MasterViewTab as nr, OPTIONS_SECTION_IDS as nt, AutosaveRecord as o, XmlObject as oi, ViewerFontSource as on, ParsedTableStyleMap as or, OptionsSectionId as ot, CINEMATIC_TRANSITION_KEYFRAMES as p, ViewportFitPadding as pn, PptxAnimationTimingCurve as pr, PRESENTATION_OPEN_EXTENSIONS as pt, InlineTextEditSnapshot as q, themeToCssVars as qn, PptxThemeColorRef as qr, ToolbarActionId as qt, AccountAuthConfig as r, TablePptxElement as ri, ViewerDialogId as rn, MediaPptxElement as rr, OPTIONS_SETTING_IDS as rt, BACKSTAGE_CARD_IDS as s, ViewerMode as sn, PptxAfterAnimationAction as sr, OptionsSettingId as st, TransitionOverlayParams as t, SmartArtLayout as ti, ViewerCustomizationApi as tn, ElementAction as tr, OPTIONS_PAGE_IDS as tt, BackstageCustomization as u, ViewerPanelId as un, PptxAnimationRepeatMode as ur, P14_TRANSITION_KEYFRAMES_2 as ut, CollabLoadOrigin as v, createImageElementFromFile as vn, PptxCommentAuthor as vr, PresentationSnapshot as vt, CompatibilityWarningToast as w, getSlideTransitionAnimations as wn, PptxData as wr, ResolvedCustomization as wt, CollaborationRole as x, getCinematicTransitionAnimations as xn, PptxCoreProperties as xr, RIBBON_TAB_IDS as xt, CollaborationConfig as y, describeCollaborationShellState as yn, PptxCommentMention as yr, PrintSettings as yt, ExternalCollaborationAwareness as z, restoreSessionDeck as zn, PptxSlideTransition as zr, SlideSizeEmu as zt };
|
|
14417
|
+
//# sourceMappingURL=transition-overlay-C2lOs9rM.d.ts.map
|