pptx-vanilla-viewer 3.5.0 → 3.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.
- package/CHANGELOG.md +61 -0
- package/README.md +27 -26
- package/dist/{ai-panel-J4PT7Q22.js → ai-panel-7RNRWID6.js} +1 -1
- package/dist/{ai-panel-MCOB6Z3S.cjs → ai-panel-MMWVMXGX.cjs} +1 -1
- package/dist/{chunk-RK65LSTP.cjs → chunk-GX4G423W.cjs} +8 -8
- package/dist/{chunk-JL5SFCWE.js → chunk-HM6ZV75P.js} +3 -3
- package/dist/chunk-K7SLACZS.js +2866 -0
- package/dist/{chunk-YNFB4NQQ.js → chunk-LZWQ7EY2.js} +6 -6
- package/dist/{chunk-C47IL4M2.cjs → chunk-SD5NVWW4.cjs} +3 -3
- package/dist/chunk-TZD4KXQM.cjs +2866 -0
- package/dist/i18n/de.cjs +71 -21
- package/dist/i18n/de.mjs +71 -21
- package/dist/i18n/es.cjs +71 -21
- package/dist/i18n/es.mjs +71 -21
- package/dist/i18n/fr.cjs +71 -21
- package/dist/i18n/fr.mjs +71 -21
- package/dist/i18n/zh-CN.cjs +49 -4
- package/dist/i18n/zh-CN.mjs +49 -4
- package/dist/index.cjs +86 -86
- package/dist/index.d.ts +149 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -86
- package/dist/internals.cjs +1 -1
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +1 -1
- package/dist/{transition-overlay-55c8XGkf.d.ts → transition-overlay-ydBEO9eL.d.ts} +655 -14
- package/dist/transition-overlay-ydBEO9eL.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-KW6OQCG6.js +0 -2872
- package/dist/chunk-ZNRAPWFG.cjs +0 -2872
- package/dist/transition-overlay-55c8XGkf.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-BPndGvm9.d.ts
|
|
6
6
|
//#region src/core/types/actions.d.ts
|
|
7
7
|
/**
|
|
8
8
|
* Action types: hyperlinks, slide jumps, macros, and action buttons.
|
|
@@ -1550,8 +1550,16 @@ interface TextStyle {
|
|
|
1550
1550
|
textOutlineWidth?: number;
|
|
1551
1551
|
/** Text outline colour as hex string (`a:rPr > a:ln > a:solidFill`). */
|
|
1552
1552
|
textOutlineColor?: string;
|
|
1553
|
+
/** Text outline dash preset (`a:rPr > a:ln > a:prstDash/@val`), e.g. `dash`; absent for solid. */
|
|
1554
|
+
textOutlineDash?: string;
|
|
1553
1555
|
/** When true, the text body has no fill (`a:rPr > a:noFill`), producing hollow/outline-only text. */
|
|
1554
1556
|
textFillNone?: boolean;
|
|
1557
|
+
/**
|
|
1558
|
+
* When true, the run authored an EMPTY `<a:effectLst/>`: an explicit "no
|
|
1559
|
+
* effects" override that blocks an inherited shadow or glow. Kept so a
|
|
1560
|
+
* rewrite re-emits it instead of letting the inherited effect return.
|
|
1561
|
+
*/
|
|
1562
|
+
textEffectsExplicitNone?: boolean;
|
|
1555
1563
|
/** Superscript/subscript baseline shift as percentage (`a:rPr/@baseline`). Positive = super, negative = sub. */
|
|
1556
1564
|
baseline?: number;
|
|
1557
1565
|
/** Character spacing in hundredths of a point (`a:rPr/@spc`). */
|
|
@@ -1585,6 +1593,25 @@ interface TextStyle {
|
|
|
1585
1593
|
textFillPatternForeground?: string;
|
|
1586
1594
|
/** Text-level pattern background colour. */
|
|
1587
1595
|
textFillPatternBackground?: string;
|
|
1596
|
+
/**
|
|
1597
|
+
* Raw `a:rPr > a:blipFill` XML, preserved verbatim for round-trip
|
|
1598
|
+
* serialization AND as the input to the image resolution pass that fills
|
|
1599
|
+
* in {@link textFillBlipUrl} (parsing a run's fill happens synchronously,
|
|
1600
|
+
* with no zip/relationship access at that point; resolving the blip to a
|
|
1601
|
+
* displayable URL needs both, so it happens in a later async pass over
|
|
1602
|
+
* the slide's parsed elements, mirroring how a shape's OWN image fill is
|
|
1603
|
+
* resolved). A picture-filled text run (`a:rPr > a:blipFill`) was
|
|
1604
|
+
* documented as handled ("Handles gradient fills, pattern fills, and
|
|
1605
|
+
* image fills on text runs") but never actually parsed, so it silently
|
|
1606
|
+
* fell through to the run's plain `color` and rendered solid black
|
|
1607
|
+
* (COM-verified: `audit-text` slide 13's "PICTURE FILL" run shows the
|
|
1608
|
+
* fill image through the glyphs in PowerPoint).
|
|
1609
|
+
*/
|
|
1610
|
+
textFillBlipXml?: XmlObject;
|
|
1611
|
+
/** Resolved displayable URL for {@link textFillBlipXml}, or the archive-relative path when unresolved (lazy decode). */
|
|
1612
|
+
textFillBlipUrl?: string;
|
|
1613
|
+
/** Tiling mode for {@link textFillBlipUrl} (`a:blipFill/a:tile` present -> 'tile', else 'stretch'). */
|
|
1614
|
+
textFillBlipMode?: 'stretch' | 'tile';
|
|
1588
1615
|
hyperlink?: string;
|
|
1589
1616
|
/** Relationship ID for the hyperlink (`a:hlinkClick/@r:id`) — preserved for round-trip serialization. */
|
|
1590
1617
|
hyperlinkRId?: string;
|
|
@@ -1670,6 +1697,13 @@ interface TextStyle {
|
|
|
1670
1697
|
position: number;
|
|
1671
1698
|
align: 'l' | 'ctr' | 'r' | 'dec';
|
|
1672
1699
|
leader?: 'none' | 'dot' | 'hyphen' | 'underscore';
|
|
1700
|
+
/**
|
|
1701
|
+
* True when the source spelled out the schema-default `@algn="l"`, so the
|
|
1702
|
+
* writer re-emits it instead of treating it as an omitted default.
|
|
1703
|
+
*/
|
|
1704
|
+
alignAuthored?: boolean;
|
|
1705
|
+
/** True when the source spelled out the schema-default `@leader="none"`. */
|
|
1706
|
+
leaderAuthored?: boolean;
|
|
1673
1707
|
}>;
|
|
1674
1708
|
/**
|
|
1675
1709
|
* True when the paragraph's own `a:pPr` authored an EMPTY `<a:tabLst/>`
|
|
@@ -2033,6 +2067,19 @@ interface TextStyle {
|
|
|
2033
2067
|
* convention used for {@link bulletInfo} / {@link endParaRunProperties}).
|
|
2034
2068
|
*/
|
|
2035
2069
|
paragraphDefaultRunPropertiesXml?: XmlObject;
|
|
2070
|
+
/**
|
|
2071
|
+
* The bullet colour / size / typeface children (`a:buClrTx`, `a:buClr`,
|
|
2072
|
+
* `a:buSzTx`, `a:buSzPct`, `a:buSzPts`, `a:buFontTx`, `a:buFont`) a
|
|
2073
|
+
* paragraph authored in its own `<a:pPr>` WITHOUT a bullet type
|
|
2074
|
+
* (`a:buNone` / `a:buChar` / `a:buAutoNum` / `a:buBlip`), captured
|
|
2075
|
+
* verbatim in source order. Such a paragraph restyles an inherited bullet
|
|
2076
|
+
* rather than declaring one, so its {@link BulletInfo} resolves from the
|
|
2077
|
+
* cascade and is (correctly) not written back; without this capture the
|
|
2078
|
+
* paragraph's own override vanished on every rewrite.
|
|
2079
|
+
*
|
|
2080
|
+
* Only meaningful on a paragraph's own authored properties.
|
|
2081
|
+
*/
|
|
2082
|
+
paragraphBulletPropertiesXml?: XmlObject;
|
|
2036
2083
|
}
|
|
2037
2084
|
/**
|
|
2038
2085
|
* Structured bullet metadata attached to the first {@link TextSegment}
|
|
@@ -3301,6 +3348,26 @@ type PptxChartMarkerSymbol = 'circle' | 'dash' | 'diamond' | 'dot' | 'none' | 'p
|
|
|
3301
3348
|
*/
|
|
3302
3349
|
type PptxChartScatterStyle = 'none' | 'line' | 'lineMarker' | 'marker' | 'smooth' | 'smoothMarker';
|
|
3303
3350
|
/** Shape properties extracted from c:spPr for chart formatting. */
|
|
3351
|
+
/**
|
|
3352
|
+
* A render-ready gradient fill from a chart `c:spPr/a:gradFill` (chart area,
|
|
3353
|
+
* plot area or series). Positions are 0..100; a linear gradient's `angle` is
|
|
3354
|
+
* in degrees clockwise from left-to-right (`a:lin/@ang`); a radial (`a:path`)
|
|
3355
|
+
* gradient centres on `focalPoint` (0..1 fractions of the box), the middle
|
|
3356
|
+
* when absent.
|
|
3357
|
+
*/
|
|
3358
|
+
interface PptxChartGradientFill {
|
|
3359
|
+
type: 'linear' | 'radial';
|
|
3360
|
+
stops: Array<{
|
|
3361
|
+
color: string;
|
|
3362
|
+
position: number;
|
|
3363
|
+
opacity?: number;
|
|
3364
|
+
}>;
|
|
3365
|
+
angle?: number;
|
|
3366
|
+
focalPoint?: {
|
|
3367
|
+
x: number;
|
|
3368
|
+
y: number;
|
|
3369
|
+
};
|
|
3370
|
+
}
|
|
3304
3371
|
interface PptxChartShapeProps {
|
|
3305
3372
|
fillColor?: string;
|
|
3306
3373
|
strokeColor?: string;
|
|
@@ -3626,6 +3693,12 @@ interface PptxChartSeries {
|
|
|
3626
3693
|
*/
|
|
3627
3694
|
idx?: number;
|
|
3628
3695
|
values: number[];
|
|
3696
|
+
/**
|
|
3697
|
+
* Series gradient fill (`c:ser/c:spPr/a:gradFill`), painted on every mark
|
|
3698
|
+
* of the series that has no per-point override. Render-only: the series'
|
|
3699
|
+
* own `c:spPr` round-trips untouched.
|
|
3700
|
+
*/
|
|
3701
|
+
gradientFill?: PptxChartGradientFill;
|
|
3629
3702
|
/**
|
|
3630
3703
|
* Per-series x values from `c:ser/c:xVal` (scatter and bubble series only).
|
|
3631
3704
|
*
|
|
@@ -3800,6 +3873,12 @@ interface PptxChartFilteredSeries {
|
|
|
3800
3873
|
* and `c:dLblPos`.
|
|
3801
3874
|
*/
|
|
3802
3875
|
interface PptxChartDataLabelOptions {
|
|
3876
|
+
/** Label box fill/outline (`c:dLbls/c:spPr`), see `chart-data-label-box.ts`. */
|
|
3877
|
+
labelShape?: PptxChartShapeProps;
|
|
3878
|
+
/** Callout geometry of the label box (`c15:spPr/a:prstGeom/@prst`, e.g. `wedgeRectCallout`). */
|
|
3879
|
+
calloutShape?: string;
|
|
3880
|
+
/** The chart15 extension's `c15:showLeaderLines`, which wins for a moved label's leader line. */
|
|
3881
|
+
extLeaderLines?: boolean;
|
|
3803
3882
|
/** Show the numeric value (`c:showVal`). */
|
|
3804
3883
|
showValue?: boolean;
|
|
3805
3884
|
/** Show the category name (`c:showCatName`). */
|
|
@@ -3925,6 +4004,10 @@ interface PptxChartStyle {
|
|
|
3925
4004
|
chartAreaFill?: string;
|
|
3926
4005
|
/** Plot-area fill from `c:plotArea/c:spPr`. See {@link chartAreaFill}. */
|
|
3927
4006
|
plotAreaFill?: string;
|
|
4007
|
+
/** Chart-area gradient (`c:chartSpace/c:spPr/a:gradFill`); wins over {@link chartAreaFill}. */
|
|
4008
|
+
chartAreaGradient?: PptxChartGradientFill;
|
|
4009
|
+
/** Plot-area gradient (`c:plotArea/c:spPr/a:gradFill`); wins over {@link plotAreaFill}. */
|
|
4010
|
+
plotAreaGradient?: PptxChartGradientFill;
|
|
3928
4011
|
/** Whether data labels are shown. */
|
|
3929
4012
|
hasDataLabels?: boolean;
|
|
3930
4013
|
/** Chart-level data-label content/position options (when `hasDataLabels`). */
|
|
@@ -7803,7 +7886,15 @@ type PptxAnimationTimingCurve = 'ease' | 'ease-in' | 'ease-out' | 'linear';
|
|
|
7803
7886
|
/** Repeat mode for animations. */
|
|
7804
7887
|
type PptxAnimationRepeatMode = 'untilNextClick' | 'untilEndOfSlide';
|
|
7805
7888
|
/** Animation trigger type from OOXML `p:cTn`. */
|
|
7806
|
-
type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevious' | 'withPrevious' | 'afterDelay'
|
|
7889
|
+
type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevious' | 'withPrevious' | 'afterDelay' |
|
|
7890
|
+
/**
|
|
7891
|
+
* Starts when a media element's playback reaches a named bookmark
|
|
7892
|
+
* (PowerPoint's "Trigger > On Bookmark"). The media element is
|
|
7893
|
+
* {@link PptxElementAnimation.triggerShapeId} and the bookmark
|
|
7894
|
+
* {@link PptxElementAnimation.triggerBookmark}; saved as an interactive
|
|
7895
|
+
* sequence gated on `p:cond evt="onMediaBookmark"` with a `p14:bmkTgt`.
|
|
7896
|
+
*/
|
|
7897
|
+
'onMediaBookmark';
|
|
7807
7898
|
/**
|
|
7808
7899
|
* Native animation kind. The historic shape-targeted preset animations are
|
|
7809
7900
|
* implicitly the default kind (`undefined`). Media animations (`p:audio`,
|
|
@@ -7956,8 +8047,13 @@ interface PptxNativeAnimation {
|
|
|
7956
8047
|
target?: PptxAnimationTarget;
|
|
7957
8048
|
/** Trigger type. */
|
|
7958
8049
|
trigger?: PptxAnimationTrigger;
|
|
7959
|
-
/**
|
|
8050
|
+
/**
|
|
8051
|
+
* Shape ID that triggers this animation: the clicked shape of an
|
|
8052
|
+
* interactive sequence, or the media element of an `onMediaBookmark` one.
|
|
8053
|
+
*/
|
|
7960
8054
|
triggerShapeId?: string;
|
|
8055
|
+
/** Bookmark name an `onMediaBookmark` interactive sequence waits for. */
|
|
8056
|
+
triggerBookmark?: string;
|
|
7961
8057
|
/** Whether this effect belongs to an OOXML `interactiveSeq`. */
|
|
7962
8058
|
interactiveSequence?: boolean;
|
|
7963
8059
|
/** Whether `p:endSync/p:rtn[@val="all"]` makes that sequence replayable. */
|
|
@@ -8456,12 +8552,15 @@ interface PptxAttributeAnimation {
|
|
|
8456
8552
|
/**
|
|
8457
8553
|
* `p:anim/@_p14:bounceEnd` (Office 2010 `p14` extension attribute,
|
|
8458
8554
|
* MS-OI29500), normalized to a 0-1 fraction of this behaviour's own
|
|
8459
|
-
* duration. PowerPoint's
|
|
8460
|
-
*
|
|
8461
|
-
*
|
|
8462
|
-
*
|
|
8463
|
-
* the
|
|
8464
|
-
*
|
|
8555
|
+
* duration. PowerPoint's "Bounce End" effect option (COM:
|
|
8556
|
+
* `Effect.Timing.BounceEnd` + `BounceEndIntensity`) writes this on the
|
|
8557
|
+
* position-ramp `p:anim` node(s): the share of the duration spent
|
|
8558
|
+
* BOUNCING at the end. Measured from PowerPoint's own CreateVideo frames,
|
|
8559
|
+
* the travel completes at `1 - bounceEnd` and the rest is a damped
|
|
8560
|
+
* oscillation about the final value (see shared's `animation-bounce-end`).
|
|
8561
|
+
* Mirrored verbatim by PowerPoint onto the enclosing
|
|
8562
|
+
* `p:cTn/@_p14:presetBounceEnd`. Absent for every animation that doesn't
|
|
8563
|
+
* use this effect option (the overwhelming majority).
|
|
8465
8564
|
*/
|
|
8466
8565
|
bounceEnd?: number;
|
|
8467
8566
|
}
|
|
@@ -8639,9 +8738,24 @@ interface PptxElementAnimation {
|
|
|
8639
8738
|
durationMs?: number;
|
|
8640
8739
|
delayMs?: number;
|
|
8641
8740
|
order?: number;
|
|
8741
|
+
/**
|
|
8742
|
+
* The {@link order} the loader derived from the slide's `p:timing` tree for
|
|
8743
|
+
* an entry whose `pptx:editorMeta` record authored no `@order`. The tree
|
|
8744
|
+
* already expresses that position (and every load re-derives it), so the
|
|
8745
|
+
* writer omits `@order` while `order` still equals this value; a reorder
|
|
8746
|
+
* changes `order` and the attribute is written again. Load-time bookkeeping
|
|
8747
|
+
* only; never set it by hand.
|
|
8748
|
+
*/
|
|
8749
|
+
orderFromTimeline?: number;
|
|
8642
8750
|
trigger?: PptxAnimationTrigger;
|
|
8643
|
-
/**
|
|
8751
|
+
/**
|
|
8752
|
+
* Shape ID that triggers this animation: the shape clicked for
|
|
8753
|
+
* `onShapeClick`, or the media element whose bookmark fires it for
|
|
8754
|
+
* `onMediaBookmark`.
|
|
8755
|
+
*/
|
|
8644
8756
|
triggerShapeId?: string;
|
|
8757
|
+
/** Bookmark name (`p14:bmk/@name`) an `onMediaBookmark` trigger waits for. */
|
|
8758
|
+
triggerBookmark?: string;
|
|
8645
8759
|
timingCurve?: PptxAnimationTimingCurve;
|
|
8646
8760
|
repeatCount?: number;
|
|
8647
8761
|
repeatMode?: PptxAnimationRepeatMode;
|
|
@@ -10407,7 +10521,7 @@ interface PptxEmbeddedFont {
|
|
|
10407
10521
|
originalPartBytes?: Uint8Array;
|
|
10408
10522
|
}
|
|
10409
10523
|
//#endregion
|
|
10410
|
-
//#region ../core/dist/index-
|
|
10524
|
+
//#region ../core/dist/index-CjOJmc6X.d.ts
|
|
10411
10525
|
//#region src/core/types/theme-presets.d.ts
|
|
10412
10526
|
/**
|
|
10413
10527
|
* A complete theme preset that can be applied to a presentation.
|
|
@@ -11910,6 +12024,8 @@ interface AccessibilityIssue {
|
|
|
11910
12024
|
message: string;
|
|
11911
12025
|
suggestion: string;
|
|
11912
12026
|
}
|
|
12027
|
+
/** Supported merge shape operations (matching PowerPoint's Merge Shapes menu). */
|
|
12028
|
+
type MergeShapeOperation = 'union' | 'intersect' | 'subtract' | 'fragment' | 'combine';
|
|
11913
12029
|
//#endregion
|
|
11914
12030
|
//#region ../shared/dist/index-BbHsvey8.d.ts
|
|
11915
12031
|
//#region src/theme/types.d.ts
|
|
@@ -13518,6 +13634,31 @@ declare function loadPresentationDeck(sessionId: string): Promise<Uint8Array | n
|
|
|
13518
13634
|
//#region src/render/presentation-blackboard.d.ts
|
|
13519
13635
|
/** Blackout state, as carried by {@link PresentationSnapshot}. */
|
|
13520
13636
|
type PresentationBlackout = PresentationSnapshot['blackout'];
|
|
13637
|
+
/** A logical editor command produced by one key press. */
|
|
13638
|
+
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';
|
|
13639
|
+
//#endregion
|
|
13640
|
+
//#region src/render/merge-shapes/merge-shapes-menu.d.ts
|
|
13641
|
+
/** The right-click command id for each operation. */
|
|
13642
|
+
type MergeShapesCommandId = 'merge-union' | 'merge-combine' | 'merge-fragment' | 'merge-intersect' | 'merge-subtract';
|
|
13643
|
+
/** Every command a canvas context menu can offer, in no particular order. */
|
|
13644
|
+
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';
|
|
13645
|
+
//#endregion
|
|
13646
|
+
//#region src/render/canvas-context-menu-commands.d.ts
|
|
13647
|
+
/**
|
|
13648
|
+
* The right-click menu for the empty slide canvas (no element under the
|
|
13649
|
+
* cursor), as distinct from {@link ./context-menu-commands}'s per-element menu.
|
|
13650
|
+
*
|
|
13651
|
+
* Right-clicking empty canvas used to do nothing at all in every binding: React
|
|
13652
|
+
* and Vue both bailed out early (`getElementIdFromEvent` returns `null`, so the
|
|
13653
|
+
* handler just returns) rather than opening a menu, and the other three never
|
|
13654
|
+
* wired a handler for it either. PowerPoint offers Paste, Layout, Reset,
|
|
13655
|
+
* Format Background and view toggles (Grid and Guides, Ruler) from this menu;
|
|
13656
|
+
* this module is the one list every binding renders instead of five omissions.
|
|
13657
|
+
*
|
|
13658
|
+
* @module render/canvas-context-menu-commands
|
|
13659
|
+
*/
|
|
13660
|
+
/** Every command the empty-canvas context menu can offer, in no particular order. */
|
|
13661
|
+
type CanvasContextMenuCommandId = 'paste' | 'layout' | 'reset-slide' | 'format-background' | 'grid-and-guides' | 'ruler';
|
|
13521
13662
|
//#endregion
|
|
13522
13663
|
//#region src/render/paste-special.d.ts
|
|
13523
13664
|
/** The four paste formats PowerPoint's Paste Options / Paste Special offer. */
|
|
@@ -13674,6 +13815,21 @@ interface AutosaveRecord {
|
|
|
13674
13815
|
timestamp: number;
|
|
13675
13816
|
size: number;
|
|
13676
13817
|
}
|
|
13818
|
+
type BackstagePage = 'home' | 'new' | 'open' | 'info' | 'save' | 'saveAs' | 'print' | 'share' | 'export' | 'close' | 'account' | 'options';
|
|
13819
|
+
//#endregion
|
|
13820
|
+
//#region src/render/backstage-cards.d.ts
|
|
13821
|
+
/**
|
|
13822
|
+
* Every action card the File-tab backstage can show, keyed by the operation it
|
|
13823
|
+
* triggers rather than by its wording.
|
|
13824
|
+
*
|
|
13825
|
+
* The five bindings used to hardcode a title and a body string each, which made
|
|
13826
|
+
* the whole backstage untranslatable and let the copy drift: the same card
|
|
13827
|
+
* carried four different descriptions depending on which binding you opened it
|
|
13828
|
+
* in. Both halves now live here as a dictionary key plus an English fallback,
|
|
13829
|
+
* so a wording change lands everywhere at once and a translator only has to
|
|
13830
|
+
* translate it once.
|
|
13831
|
+
*/
|
|
13832
|
+
type BackstageCardId = 'protect' | 'inspect' | 'embedFonts' | 'signatures' | 'versionHistory' | 'saveAsPptx' | 'saveAsPpsx' | 'saveAsPptm' | 'saveAsPpt' | 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage' | 'print' | 'share';
|
|
13677
13833
|
//#endregion
|
|
13678
13834
|
//#region src/render/master-view-crud.d.ts
|
|
13679
13835
|
/** One Slide Master view sidebar command. */
|
|
@@ -13724,11 +13880,145 @@ interface AccountAuthConfig {
|
|
|
13724
13880
|
* whole control cluster (zoom in/out/fit, prev/next) rather than each button
|
|
13725
13881
|
* in it, matching how hosts actually want to hide/keep them as a unit.
|
|
13726
13882
|
*/
|
|
13727
|
-
type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation';
|
|
13883
|
+
type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation' | 'mergeShapes' | 'crop';
|
|
13728
13884
|
/** 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. */
|
|
13729
13885
|
type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
|
|
13730
13886
|
type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
|
|
13887
|
+
//#endregion
|
|
13888
|
+
//#region src/render/options/viewer-options.d.ts
|
|
13889
|
+
/**
|
|
13890
|
+
* Full PowerPoint "File > Options" parity model.
|
|
13891
|
+
*
|
|
13892
|
+
* Groups mirror the ten categories of PowerPoint's Options dialog. Values are
|
|
13893
|
+
* flat primitives per group so the dialog panes can be rendered generically
|
|
13894
|
+
* from `VIEWER_OPTIONS_SCHEMA` in every binding. The legacy six-toggle
|
|
13895
|
+
* `ViewerPreferences` surface stays supported via the mapping helpers below.
|
|
13896
|
+
*/
|
|
13897
|
+
type ScreenTipStyle = 'descriptions' | 'plain' | 'off';
|
|
13898
|
+
type DisplayOptimization = 'appearance' | 'compatibility';
|
|
13899
|
+
type ImageResolutionPreset = 'highFidelity' | 'ppi330' | 'ppi220' | 'ppi150' | 'ppi96';
|
|
13900
|
+
type OpenDocumentsView = 'savedView' | 'normal' | 'outline' | 'slideSorter' | 'notes';
|
|
13901
|
+
type DefaultExportFormat = 'pptx' | 'pdf' | 'png';
|
|
13731
13902
|
type QuickAccessPosition = 'above' | 'below';
|
|
13903
|
+
type FeedbackSoundScheme = 'modern' | 'classic';
|
|
13904
|
+
type OptionsPrintWhat = 'slides' | 'handouts' | 'notes' | 'outline';
|
|
13905
|
+
type OptionsPrintColorMode = 'color' | 'grayscale' | 'blackAndWhite';
|
|
13906
|
+
interface ViewerGeneralOptions {
|
|
13907
|
+
displayOptimization: DisplayOptimization;
|
|
13908
|
+
showMiniToolbar: boolean;
|
|
13909
|
+
enableLivePreview: boolean;
|
|
13910
|
+
collapseRibbonAutomatically: boolean;
|
|
13911
|
+
collapseSearchByDefault: boolean;
|
|
13912
|
+
screenTipStyle: ScreenTipStyle;
|
|
13913
|
+
userName: string;
|
|
13914
|
+
userInitials: string;
|
|
13915
|
+
showStartScreen: boolean;
|
|
13916
|
+
/**
|
|
13917
|
+
* Lets the user hand a local font file to the viewer so decks authored
|
|
13918
|
+
* with a font the browser lacks render with the real face.
|
|
13919
|
+
*
|
|
13920
|
+
* Off by default. The registration reads a file the user picks and adds it
|
|
13921
|
+
* to the page's font set for the session, which is a capability a host
|
|
13922
|
+
* embedding the viewer should opt into rather than inherit.
|
|
13923
|
+
*/
|
|
13924
|
+
enableCustomFontUpload: boolean;
|
|
13925
|
+
}
|
|
13926
|
+
interface ViewerProofingOptions {
|
|
13927
|
+
autoCorrectTwoInitialCapitals: boolean;
|
|
13928
|
+
autoCorrectCapitalizeFirstLetter: boolean;
|
|
13929
|
+
autoCorrectCapitalizeDayNames: boolean;
|
|
13930
|
+
autoCorrectSmartQuotes: boolean;
|
|
13931
|
+
autoCorrectHyphensToDash: boolean;
|
|
13932
|
+
autoCorrectFractions: boolean;
|
|
13933
|
+
autoCorrectOrdinals: boolean;
|
|
13934
|
+
ignoreUppercase: boolean;
|
|
13935
|
+
ignoreWordsWithNumbers: boolean;
|
|
13936
|
+
ignoreInternetAddresses: boolean;
|
|
13937
|
+
flagRepeatedWords: boolean;
|
|
13938
|
+
checkSpellingAsYouType: boolean;
|
|
13939
|
+
hideSpellingErrors: boolean;
|
|
13940
|
+
}
|
|
13941
|
+
/**
|
|
13942
|
+
* File > Options > Save.
|
|
13943
|
+
*
|
|
13944
|
+
* Font embedding deliberately has NO entry here. It is owned by the File >
|
|
13945
|
+
* Fonts panel, whose toggle is the one the save path reads (see
|
|
13946
|
+
* `render/font-embedding`: `describeFontEmbedding` decides the toggle's start
|
|
13947
|
+
* position and whether it can do anything at all, `embeddedFontSaveOptions`
|
|
13948
|
+
* turns it into the `PptxHandler.save()` slice). This group used to carry a
|
|
13949
|
+
* second `embedFonts` boolean, plus an `embedAllFontCharacters` companion, and
|
|
13950
|
+
* neither was read by anything: the pane moved a switch that changed no saved
|
|
13951
|
+
* byte, while the panel next door moved the real one. Two switches for one
|
|
13952
|
+
* setting, one of them lying, is worse than one switch in a less
|
|
13953
|
+
* PowerPoint-shaped place.
|
|
13954
|
+
*/
|
|
13955
|
+
interface ViewerSaveOptions {
|
|
13956
|
+
autoSave: boolean;
|
|
13957
|
+
autoRecoverIntervalMinutes: number;
|
|
13958
|
+
keepLastAutoRecoveredVersion: boolean;
|
|
13959
|
+
defaultExportFormat: DefaultExportFormat;
|
|
13960
|
+
cacheRetentionDays: number;
|
|
13961
|
+
clearCacheOnClose: boolean;
|
|
13962
|
+
}
|
|
13963
|
+
interface ViewerAccessibilityOptions {
|
|
13964
|
+
showAccessibilityStatus: boolean;
|
|
13965
|
+
feedbackWithSound: boolean;
|
|
13966
|
+
soundScheme: FeedbackSoundScheme;
|
|
13967
|
+
showShortcutKeysInScreenTips: boolean;
|
|
13968
|
+
reducedMotion: boolean;
|
|
13969
|
+
}
|
|
13970
|
+
interface ViewerAdvancedOptions {
|
|
13971
|
+
autoSelectEntireWord: boolean;
|
|
13972
|
+
allowTextDragAndDrop: boolean;
|
|
13973
|
+
maximumUndoSteps: number;
|
|
13974
|
+
useSmartCutAndPaste: boolean;
|
|
13975
|
+
showPasteOptionsButton: boolean;
|
|
13976
|
+
imageDefaultResolution: ImageResolutionPreset;
|
|
13977
|
+
doNotCompressImages: boolean;
|
|
13978
|
+
chartPropertiesFollowDataPoint: boolean;
|
|
13979
|
+
recentPresentationsCount: number;
|
|
13980
|
+
showVerticalRuler: boolean;
|
|
13981
|
+
showGrid: boolean;
|
|
13982
|
+
snapToGrid: boolean;
|
|
13983
|
+
disableHardwareAcceleration: boolean;
|
|
13984
|
+
/**
|
|
13985
|
+
* Force every opt-in interactive 3D scene (SmartArt, bar/line/area/pie/
|
|
13986
|
+
* surface charts) to fall back to its flat 2D rendering, even when the
|
|
13987
|
+
* host has enabled that scene via its own `smartArt3D`/`*Chart3D` prop.
|
|
13988
|
+
* A host opting in says "this deck may want 3D"; this is the viewer
|
|
13989
|
+
* user's own override for when the WebGL scenes it renders are too much
|
|
13990
|
+
* for their machine. See `resolve3DRenderingFlags`.
|
|
13991
|
+
*/
|
|
13992
|
+
disable3DRendering: boolean;
|
|
13993
|
+
/**
|
|
13994
|
+
* `p:animEffect/@filter="pixelate"` defaults to snapping the element to
|
|
13995
|
+
* its end state (`cutIn`/`cutOut`), matching PowerPoint's own behaviour
|
|
13996
|
+
* (COM `CreateVideo` frame-diffing shows PowerPoint performs no animation
|
|
13997
|
+
* at all for this filter value). This turns on the blocky mosaic reveal
|
|
13998
|
+
* this renderer can build instead, for a viewer that would rather show
|
|
13999
|
+
* something animating than PowerPoint's own instant swap. See
|
|
14000
|
+
* `resolveFilterEffect` in `animation-filter-effects.ts` and
|
|
14001
|
+
* `docs/guide/visual-effects.md`.
|
|
14002
|
+
*/
|
|
14003
|
+
pixelateMosaicAnimation: boolean;
|
|
14004
|
+
openDocumentsView: OpenDocumentsView;
|
|
14005
|
+
slideShowShowMenuOnRightClick: boolean;
|
|
14006
|
+
slideShowShowPopupToolbar: boolean;
|
|
14007
|
+
slideShowPromptKeepInkAnnotations: boolean;
|
|
14008
|
+
slideShowEndWithBlackSlide: boolean;
|
|
14009
|
+
printInBackground: boolean;
|
|
14010
|
+
printHighQuality: boolean;
|
|
14011
|
+
printUseMostRecentSettings: boolean;
|
|
14012
|
+
printWhat: OptionsPrintWhat;
|
|
14013
|
+
printColorMode: OptionsPrintColorMode;
|
|
14014
|
+
printHiddenSlides: boolean;
|
|
14015
|
+
printScaleToFit: boolean;
|
|
14016
|
+
printFrameSlides: boolean;
|
|
14017
|
+
}
|
|
14018
|
+
interface ViewerRibbonOptions {
|
|
14019
|
+
/** Ribbon tabs unticked in Customize Ribbon. The File tab can never be hidden. */
|
|
14020
|
+
hiddenTabIds: ToolbarTabId[];
|
|
14021
|
+
}
|
|
13732
14022
|
interface ViewerQuickAccessOptions {
|
|
13733
14023
|
visible: boolean;
|
|
13734
14024
|
position: QuickAccessPosition;
|
|
@@ -13736,6 +14026,23 @@ interface ViewerQuickAccessOptions {
|
|
|
13736
14026
|
/** Ordered ids from `QUICK_ACCESS_COMMAND_CATALOG`. */
|
|
13737
14027
|
commandIds: string[];
|
|
13738
14028
|
}
|
|
14029
|
+
interface ViewerTrustOptions {
|
|
14030
|
+
openInProtectedView: boolean;
|
|
14031
|
+
allowExternalContent: boolean;
|
|
14032
|
+
confirmExternalHyperlinks: boolean;
|
|
14033
|
+
}
|
|
14034
|
+
interface ViewerOptions {
|
|
14035
|
+
general: ViewerGeneralOptions;
|
|
14036
|
+
proofing: ViewerProofingOptions;
|
|
14037
|
+
save: ViewerSaveOptions;
|
|
14038
|
+
accessibility: ViewerAccessibilityOptions;
|
|
14039
|
+
advanced: ViewerAdvancedOptions;
|
|
14040
|
+
ribbon: ViewerRibbonOptions;
|
|
14041
|
+
quickAccess: ViewerQuickAccessOptions;
|
|
14042
|
+
trust: ViewerTrustOptions;
|
|
14043
|
+
}
|
|
14044
|
+
type ViewerOptionsGroupId = keyof ViewerOptions;
|
|
14045
|
+
type ViewerOptionPrimitive = boolean | number | string;
|
|
13739
14046
|
//#endregion
|
|
13740
14047
|
//#region src/export/handout-layout.d.ts
|
|
13741
14048
|
/**
|
|
@@ -13779,6 +14086,315 @@ interface PrintSettings {
|
|
|
13779
14086
|
*/
|
|
13780
14087
|
scaleToFit?: boolean;
|
|
13781
14088
|
}
|
|
14089
|
+
/** Every command the Edit Points right-click menu can offer. */
|
|
14090
|
+
type EditPointsCommandId = 'add-point' | 'delete-point' | 'delete-segment' | 'open-path' | 'close-path' | 'smooth-point' | 'straight-point' | 'corner-point' | 'straight-segment' | 'curved-segment' | 'exit';
|
|
14091
|
+
//#endregion
|
|
14092
|
+
//#region src/render/edit-points/freeform-tool-geometry.d.ts
|
|
14093
|
+
/** The two click-to-place drawing tools. */
|
|
14094
|
+
type FreeformToolKind = 'freeformShape' | 'curve';
|
|
14095
|
+
//#endregion
|
|
14096
|
+
//#region src/render/options/viewer-options-controls.d.ts
|
|
14097
|
+
/**
|
|
14098
|
+
* Control/section/tab descriptor types for the File > Options schema, plus
|
|
14099
|
+
* the terse constructors the tab-definition modules build panes with.
|
|
14100
|
+
*/
|
|
14101
|
+
type ViewerOptionsTabId = 'general' | 'proofing' | 'save' | 'language' | 'accessibility' | 'advanced' | 'ribbon' | 'quickAccess' | 'addIns' | 'trust';
|
|
14102
|
+
//#endregion
|
|
14103
|
+
//#region src/render/customization/customization-types.d.ts
|
|
14104
|
+
/** Keys of an options group whose value is a primitive (not an array). */
|
|
14105
|
+
type PrimitiveKeys<T> = { [K in keyof T]: T[K] extends ViewerOptionPrimitive ? K : never; }[keyof T] & string;
|
|
14106
|
+
/**
|
|
14107
|
+
* One File > Options setting, addressed as `<group>.<key>`, for example
|
|
14108
|
+
* `general.userName` or `advanced.showGrid`. The union is derived from the
|
|
14109
|
+
* `ViewerOptions` model itself, so a typo is a compile error.
|
|
14110
|
+
*/
|
|
14111
|
+
type OptionsSettingId = { [G in ViewerOptionsGroupId]: `${G}.${PrimitiveKeys<ViewerOptions[G]>}`; }[ViewerOptionsGroupId];
|
|
14112
|
+
/**
|
|
14113
|
+
* A File > Options page: the ten PowerPoint categories plus `ai`, the AI
|
|
14114
|
+
* assistant page a binding adds when the host configured an assistant.
|
|
14115
|
+
*/
|
|
14116
|
+
type OptionsPageId = ViewerOptionsTabId | 'ai';
|
|
14117
|
+
/**
|
|
14118
|
+
* One section of an Options page, addressed as `<page>.<section>`, for
|
|
14119
|
+
* example `general.personalize` or `advanced.print`. The full list is
|
|
14120
|
+
* `OPTIONS_SECTION_IDS` (derived from the schema at runtime).
|
|
14121
|
+
*/
|
|
14122
|
+
type OptionsSectionId = `${ViewerOptionsTabId}.${string}`;
|
|
14123
|
+
/** Values a host forces onto settings. */
|
|
14124
|
+
type OptionsSettingValues = Partial<Record<OptionsSettingId, ViewerOptionPrimitive>>;
|
|
14125
|
+
/** Ribbon and toolbar customisation. */
|
|
14126
|
+
interface RibbonCustomization {
|
|
14127
|
+
/** Ribbon tabs to remove (the File tab included, unlike Customize Ribbon). */
|
|
14128
|
+
hiddenTabs?: readonly ToolbarTabId[];
|
|
14129
|
+
/** Top-level toolbar buttons / control clusters to remove. */
|
|
14130
|
+
hiddenButtons?: readonly ToolbarButtonId[];
|
|
14131
|
+
}
|
|
14132
|
+
/** File > Options (the Settings dialog) customisation. */
|
|
14133
|
+
interface OptionsCustomization {
|
|
14134
|
+
/** Whole pages to remove from the dialog's category rail. */
|
|
14135
|
+
hiddenPages?: readonly OptionsPageId[];
|
|
14136
|
+
/** Sections (`<page>.<section>`) to remove from their page. */
|
|
14137
|
+
hiddenSections?: readonly OptionsSectionId[];
|
|
14138
|
+
/** Individual settings (`<group>.<key>`) to remove wherever they appear. */
|
|
14139
|
+
hiddenSettings?: readonly OptionsSettingId[];
|
|
14140
|
+
/**
|
|
14141
|
+
* Settings pinned to a fixed value. The value is forced into the options
|
|
14142
|
+
* store, user edits to it are ignored, and the control renders read-only.
|
|
14143
|
+
* Add the id to `hiddenSettings` too to lock it invisibly.
|
|
14144
|
+
*/
|
|
14145
|
+
locked?: OptionsSettingValues;
|
|
14146
|
+
/**
|
|
14147
|
+
* Host defaults: the value a setting starts at when the user has not saved
|
|
14148
|
+
* a choice of their own. "Reset" returns to these, not to the built-ins.
|
|
14149
|
+
*/
|
|
14150
|
+
defaults?: OptionsSettingValues;
|
|
14151
|
+
}
|
|
14152
|
+
/** File tab (backstage) customisation. */
|
|
14153
|
+
interface BackstageCustomization {
|
|
14154
|
+
/** Navigation entries (pages) to remove from the File tab. */
|
|
14155
|
+
hiddenPages?: readonly BackstagePage[];
|
|
14156
|
+
/** Action cards to remove from the pages that show them. */
|
|
14157
|
+
hiddenCards?: readonly BackstageCardId[];
|
|
14158
|
+
}
|
|
14159
|
+
/** Right-click menu customisation. */
|
|
14160
|
+
interface ContextMenuCustomization {
|
|
14161
|
+
/** Entries to remove from the element (right-click on a shape) menu. */
|
|
14162
|
+
hiddenElementCommands?: readonly ContextMenuCommandId[];
|
|
14163
|
+
/** Entries to remove from the empty-canvas menu. */
|
|
14164
|
+
hiddenCanvasCommands?: readonly CanvasContextMenuCommandId[];
|
|
14165
|
+
/**
|
|
14166
|
+
* Entries to remove from the Edit Points menu (right-click a vertex or a
|
|
14167
|
+
* segment while editing a shape's points).
|
|
14168
|
+
*/
|
|
14169
|
+
hiddenEditPointsCommands?: readonly EditPointsCommandId[];
|
|
14170
|
+
/** Remove the element context menu entirely. */
|
|
14171
|
+
disableElementMenu?: boolean;
|
|
14172
|
+
/** Remove the empty-canvas context menu entirely. */
|
|
14173
|
+
disableCanvasMenu?: boolean;
|
|
14174
|
+
}
|
|
14175
|
+
/**
|
|
14176
|
+
* A shortcut chord in the form `Mod+Shift+D`: modifiers `Mod` (Ctrl on
|
|
14177
|
+
* Windows/Linux, Cmd on macOS), `Ctrl`, `Meta`, `Alt`, `Shift`, joined by `+`,
|
|
14178
|
+
* followed by a `KeyboardEvent.key` value (`D`, `Delete`, `ArrowLeft`, `F2`).
|
|
14179
|
+
*/
|
|
14180
|
+
type ShortcutChord = string;
|
|
14181
|
+
/** Editor keyboard-shortcut customisation. */
|
|
14182
|
+
interface KeyboardCustomization {
|
|
14183
|
+
/** Turn every editor shortcut off (the host owns the keyboard). */
|
|
14184
|
+
disableAll?: boolean;
|
|
14185
|
+
/** Editor commands whose shortcut is turned off. */
|
|
14186
|
+
disabled?: readonly EditorKeyActionName[];
|
|
14187
|
+
/**
|
|
14188
|
+
* Replacement chords per command. A remapped command no longer answers to
|
|
14189
|
+
* its built-in chord; it answers to the chord(s) given here instead.
|
|
14190
|
+
*/
|
|
14191
|
+
remap?: Partial<Record<EditorKeyActionName, ShortcutChord | readonly ShortcutChord[]>>;
|
|
14192
|
+
}
|
|
14193
|
+
/**
|
|
14194
|
+
* Chrome regions a host can remove. Each id maps onto one region in every
|
|
14195
|
+
* binding; see `VIEWER_PANEL_IDS` for the catalogue.
|
|
14196
|
+
*/
|
|
14197
|
+
type ViewerPanelId = 'statusBar' | 'slidesPane' | 'inspector' | 'notes' | 'quickAccessToolbar' | 'titleBar';
|
|
14198
|
+
/** Feature areas that can be switched off as a whole. */
|
|
14199
|
+
type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode' | 'editPoints';
|
|
14200
|
+
/**
|
|
14201
|
+
* The click-to-place drawing tools of Insert > Shapes > Lines: Freeform:
|
|
14202
|
+
* Shape and Curve.
|
|
14203
|
+
*/
|
|
14204
|
+
type ViewerDrawingToolId = FreeformToolKind;
|
|
14205
|
+
/** Dialogs (and the entry points that open them) a host can remove. */
|
|
14206
|
+
type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'export';
|
|
14207
|
+
/** Export formats offered by the File > Export page. */
|
|
14208
|
+
type ViewerExportFormatId = 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage';
|
|
14209
|
+
/**
|
|
14210
|
+
* The whole customisation object. Every field is optional; omitted fields hide
|
|
14211
|
+
* nothing and lock nothing.
|
|
14212
|
+
*/
|
|
14213
|
+
interface ViewerCustomization {
|
|
14214
|
+
ribbon?: RibbonCustomization;
|
|
14215
|
+
options?: OptionsCustomization;
|
|
14216
|
+
backstage?: BackstageCustomization;
|
|
14217
|
+
contextMenu?: ContextMenuCustomization;
|
|
14218
|
+
keyboard?: KeyboardCustomization;
|
|
14219
|
+
/** Chrome regions to remove (`true` hides). */
|
|
14220
|
+
hiddenPanels?: readonly ViewerPanelId[];
|
|
14221
|
+
/** Feature areas to switch off (their buttons, menus, pages and panels). */
|
|
14222
|
+
disabledFeatures?: readonly ViewerFeatureId[];
|
|
14223
|
+
/** Dialogs to remove, along with every entry point that opens them. */
|
|
14224
|
+
hiddenDialogs?: readonly ViewerDialogId[];
|
|
14225
|
+
/** Export formats to remove from File > Export. */
|
|
14226
|
+
hiddenExportFormats?: readonly ViewerExportFormatId[];
|
|
14227
|
+
/** Drawing tools to remove from the Insert > Shapes gallery. */
|
|
14228
|
+
hiddenDrawingTools?: readonly ViewerDrawingToolId[];
|
|
14229
|
+
}
|
|
14230
|
+
//#endregion
|
|
14231
|
+
//#region src/render/options/viewer-options-constraints.d.ts
|
|
14232
|
+
/** Locks and host defaults, both keyed `<group>.<key>`. */
|
|
14233
|
+
interface ViewerOptionsConstraints {
|
|
14234
|
+
locked?: OptionsSettingValues;
|
|
14235
|
+
defaults?: OptionsSettingValues;
|
|
14236
|
+
}
|
|
14237
|
+
//#endregion
|
|
14238
|
+
//#region src/render/options/viewer-options-store.d.ts
|
|
14239
|
+
/**
|
|
14240
|
+
* Framework-neutral store behind the File > Options dialog.
|
|
14241
|
+
*
|
|
14242
|
+
* Holds a `ViewerOptions` snapshot, notifies subscribers on change, and
|
|
14243
|
+
* persists a sparse diff into the shared `pptx-viewer-prefs` localStorage
|
|
14244
|
+
* entry so choices survive reloads in every binding.
|
|
14245
|
+
*/
|
|
14246
|
+
type ViewerOptionsListener = (options: ViewerOptions) => void;
|
|
14247
|
+
interface ViewerOptionsStore {
|
|
14248
|
+
getOptions(): ViewerOptions;
|
|
14249
|
+
/** Replace the whole snapshot (e.g. hydrating from a host prop). */
|
|
14250
|
+
setOptions(next: ViewerOptions): void;
|
|
14251
|
+
/** Set one primitive value; ignores unknown keys and mismatched types. */
|
|
14252
|
+
setValue(group: ViewerOptionsGroupId, key: string, value: ViewerOptionPrimitive): void;
|
|
14253
|
+
getValue(group: ViewerOptionsGroupId, key: string): ViewerOptionPrimitive | undefined;
|
|
14254
|
+
/** Toggle a ribbon tab's visibility. The File tab is always kept visible. */
|
|
14255
|
+
setRibbonTabHidden(tabId: ToolbarTabId, hidden: boolean): void;
|
|
14256
|
+
setQuickAccessCommands(commandIds: readonly string[]): void;
|
|
14257
|
+
/** Reset every option (or one tab-group) back to defaults. */
|
|
14258
|
+
reset(group?: ViewerOptionsGroupId): void;
|
|
14259
|
+
subscribe(listener: ViewerOptionsListener): () => void;
|
|
14260
|
+
/**
|
|
14261
|
+
* Subscribe to ONE projection of the options, woken only when that
|
|
14262
|
+
* projection changes.
|
|
14263
|
+
*
|
|
14264
|
+
* `subscribe` above wakes on every option change, which in a binding means
|
|
14265
|
+
* the whole options consumer re-renders because the user toggled something
|
|
14266
|
+
* unrelated. A ribbon control that reads `ribbon.hiddenTabIds` should not
|
|
14267
|
+
* care that an autosave interval moved (issue #145).
|
|
14268
|
+
*
|
|
14269
|
+
* IMPORTANT for array/object slices: every write here deep-clones the whole
|
|
14270
|
+
* options object (`cloneViewerOptions`), so a nested array is a NEW array
|
|
14271
|
+
* after ANY change, even one that did not touch it. Under the default
|
|
14272
|
+
* `Object.is` such a selector would fire on every write and buy nothing.
|
|
14273
|
+
* Pass a value equality for those, e.g. the shared `sameArray`.
|
|
14274
|
+
*/
|
|
14275
|
+
subscribeSelector<T>(selector: (options: ViewerOptions) => T, listener: (value: T, previous: T) => void, isEqual?: (a: T, b: T) => boolean): () => void;
|
|
14276
|
+
/**
|
|
14277
|
+
* Apply several option writes as ONE notification, so a multi-field
|
|
14278
|
+
* operation costs a single render instead of one per field.
|
|
14279
|
+
*/
|
|
14280
|
+
batch(write: () => void): void;
|
|
14281
|
+
/**
|
|
14282
|
+
* Apply host constraints (see `ViewerOptionsConstraints`): `locked` values
|
|
14283
|
+
* are forced in and every later write to them is ignored; `defaults`
|
|
14284
|
+
* replace the built-in defaults for settings the user never saved, and
|
|
14285
|
+
* become what `reset` returns to. Replaces any previous constraints.
|
|
14286
|
+
*/
|
|
14287
|
+
setConstraints(constraints: ViewerOptionsConstraints): void;
|
|
14288
|
+
/** True when the host locked `<group>.<key>`. */
|
|
14289
|
+
isLocked(group: ViewerOptionsGroupId, key: string): boolean;
|
|
14290
|
+
}
|
|
14291
|
+
//#endregion
|
|
14292
|
+
//#region src/render/customization/customization-catalog.d.ts
|
|
14293
|
+
declare const RIBBON_TAB_IDS: readonly ToolbarTabId[];
|
|
14294
|
+
declare const TOOLBAR_BUTTON_IDS: readonly ["share", "broadcast", "export", "undo", "redo", "record", "notes", "fullscreen", "zoom", "navigation", "mergeShapes", "crop"];
|
|
14295
|
+
declare const OPTIONS_PAGE_IDS: readonly OptionsPageId[];
|
|
14296
|
+
declare const OPTIONS_SECTION_IDS: readonly OptionsSectionId[];
|
|
14297
|
+
declare const OPTIONS_SETTING_IDS: readonly OptionsSettingId[];
|
|
14298
|
+
declare const BACKSTAGE_PAGE_IDS: readonly BackstagePage[];
|
|
14299
|
+
declare const BACKSTAGE_CARD_IDS: readonly BackstageCardId[];
|
|
14300
|
+
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"];
|
|
14301
|
+
declare const CANVAS_CONTEXT_MENU_COMMAND_IDS: readonly ["paste", "layout", "reset-slide", "format-background", "grid-and-guides", "ruler"];
|
|
14302
|
+
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"];
|
|
14303
|
+
declare const VIEWER_PANEL_IDS: readonly ["statusBar", "slidesPane", "inspector", "notes", "quickAccessToolbar", "titleBar"];
|
|
14304
|
+
declare const VIEWER_FEATURE_IDS: readonly ["ai", "collaboration", "comments", "presentMode", "editPoints"];
|
|
14305
|
+
declare const VIEWER_DIALOG_IDS: readonly ["options", "share", "broadcast", "print", "export"];
|
|
14306
|
+
declare const VIEWER_EXPORT_FORMAT_IDS: readonly ["pdf", "png", "video", "gif", "json", "copyImage"];
|
|
14307
|
+
//#endregion
|
|
14308
|
+
//#region src/render/customization/customization-keymap.d.ts
|
|
14309
|
+
/** A parsed `Mod+Shift+D` chord. */
|
|
14310
|
+
interface ParsedShortcutChord {
|
|
14311
|
+
key: string;
|
|
14312
|
+
mod: boolean;
|
|
14313
|
+
ctrl: boolean;
|
|
14314
|
+
meta: boolean;
|
|
14315
|
+
alt: boolean;
|
|
14316
|
+
shift: boolean;
|
|
14317
|
+
}
|
|
14318
|
+
/** The normalised keyboard slice of a resolved customisation. */
|
|
14319
|
+
interface ResolvedKeyboardCustomization {
|
|
14320
|
+
disableAll: boolean;
|
|
14321
|
+
disabled: ReadonlySet<EditorKeyActionName>;
|
|
14322
|
+
remap: ReadonlyMap<EditorKeyActionName, readonly ParsedShortcutChord[]>;
|
|
14323
|
+
}
|
|
14324
|
+
//#endregion
|
|
14325
|
+
//#region src/render/customization/customization-resolve.d.ts
|
|
14326
|
+
/** The normalised, set-based view of a customisation. Treat as immutable. */
|
|
14327
|
+
interface ResolvedCustomization {
|
|
14328
|
+
hiddenActions: ReadonlySet<ToolbarActionId>;
|
|
14329
|
+
hiddenOptionsPages: ReadonlySet<OptionsPageId>;
|
|
14330
|
+
hiddenOptionsSections: ReadonlySet<OptionsSectionId>;
|
|
14331
|
+
hiddenSettings: ReadonlySet<OptionsSettingId>;
|
|
14332
|
+
lockedSettings: OptionsSettingValues;
|
|
14333
|
+
defaultSettings: OptionsSettingValues;
|
|
14334
|
+
hiddenBackstagePages: ReadonlySet<BackstagePage>;
|
|
14335
|
+
hiddenBackstageCards: ReadonlySet<BackstageCardId>;
|
|
14336
|
+
hiddenElementCommands: ReadonlySet<ContextMenuCommandId>;
|
|
14337
|
+
hiddenCanvasCommands: ReadonlySet<CanvasContextMenuCommandId>;
|
|
14338
|
+
hiddenEditPointsCommands: ReadonlySet<EditPointsCommandId>;
|
|
14339
|
+
hiddenDrawingTools: ReadonlySet<ViewerDrawingToolId>;
|
|
14340
|
+
elementMenuEnabled: boolean;
|
|
14341
|
+
canvasMenuEnabled: boolean;
|
|
14342
|
+
hiddenPanels: ReadonlySet<ViewerPanelId>;
|
|
14343
|
+
disabledFeatures: ReadonlySet<ViewerFeatureId>;
|
|
14344
|
+
hiddenDialogs: ReadonlySet<ViewerDialogId>;
|
|
14345
|
+
keyboard: ResolvedKeyboardCustomization;
|
|
14346
|
+
}
|
|
14347
|
+
//#endregion
|
|
14348
|
+
//#region src/render/customization/customization-controller.d.ts
|
|
14349
|
+
/** The imperative methods every binding's component handle exposes. */
|
|
14350
|
+
interface ViewerCustomizationApi {
|
|
14351
|
+
/** The current customisation object (a snapshot; do not mutate). */
|
|
14352
|
+
getCustomization(): ViewerCustomization;
|
|
14353
|
+
/** Replace the whole customisation. */
|
|
14354
|
+
setCustomization(next: ViewerCustomization): void;
|
|
14355
|
+
/** Merge a partial customisation (see `mergeCustomization`). */
|
|
14356
|
+
updateCustomization(patch: ViewerCustomization): void;
|
|
14357
|
+
/** Drop every customisation, back to the stock UI. */
|
|
14358
|
+
resetCustomization(): void;
|
|
14359
|
+
hideRibbonTab(tab: ToolbarTabId): void;
|
|
14360
|
+
showRibbonTab(tab: ToolbarTabId): void;
|
|
14361
|
+
hideToolbarButton(button: ToolbarButtonId): void;
|
|
14362
|
+
showToolbarButton(button: ToolbarButtonId): void;
|
|
14363
|
+
hideOptionsPage(page: OptionsPageId): void;
|
|
14364
|
+
showOptionsPage(page: OptionsPageId): void;
|
|
14365
|
+
hideOptionsSection(section: OptionsSectionId): void;
|
|
14366
|
+
showOptionsSection(section: OptionsSectionId): void;
|
|
14367
|
+
hideSetting(setting: OptionsSettingId): void;
|
|
14368
|
+
showSetting(setting: OptionsSettingId): void;
|
|
14369
|
+
/** Pin a setting to `value`; `hidden` also removes it from the dialog. */
|
|
14370
|
+
lockSetting(setting: OptionsSettingId, value: ViewerOptionPrimitive, hidden?: boolean): void;
|
|
14371
|
+
unlockSetting(setting: OptionsSettingId): void;
|
|
14372
|
+
/** Set (or with `undefined`, clear) the host default for a setting. */
|
|
14373
|
+
setSettingDefault(setting: OptionsSettingId, value: ViewerOptionPrimitive | undefined): void;
|
|
14374
|
+
hideBackstagePage(page: BackstagePage): void;
|
|
14375
|
+
showBackstagePage(page: BackstagePage): void;
|
|
14376
|
+
hideBackstageCard(card: BackstageCardId): void;
|
|
14377
|
+
showBackstageCard(card: BackstageCardId): void;
|
|
14378
|
+
hideContextMenuCommand(command: ContextMenuCommandId): void;
|
|
14379
|
+
showContextMenuCommand(command: ContextMenuCommandId): void;
|
|
14380
|
+
hideCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
|
|
14381
|
+
showCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
|
|
14382
|
+
disableShortcut(action: EditorKeyActionName): void;
|
|
14383
|
+
enableShortcut(action: EditorKeyActionName): void;
|
|
14384
|
+
/** Move a command onto new chord(s); `undefined` restores the built-in chord. */
|
|
14385
|
+
remapShortcut(action: EditorKeyActionName, chords: ShortcutChord | readonly ShortcutChord[] | undefined): void;
|
|
14386
|
+
setPanelVisible(panel: ViewerPanelId, visible: boolean): void;
|
|
14387
|
+
setFeatureEnabled(feature: ViewerFeatureId, enabled: boolean): void;
|
|
14388
|
+
setDialogAvailable(dialog: ViewerDialogId, available: boolean): void;
|
|
14389
|
+
}
|
|
14390
|
+
interface ViewerCustomizationController {
|
|
14391
|
+
/** The helper methods, ready to spread onto a component handle. */
|
|
14392
|
+
readonly api: ViewerCustomizationApi;
|
|
14393
|
+
/** The normalised view the render sites read. Stable until the next change. */
|
|
14394
|
+
getResolved(): ResolvedCustomization;
|
|
14395
|
+
/** Subscribe to every change; returns the unsubscribe function. */
|
|
14396
|
+
subscribe(listener: () => void): () => void;
|
|
14397
|
+
}
|
|
13782
14398
|
//#endregion
|
|
13783
14399
|
//#region src/render/inline-text-commit.d.ts
|
|
13784
14400
|
/**
|
|
@@ -13878,6 +14494,31 @@ interface ViewportFitOptions {
|
|
|
13878
14494
|
maxFitScale?: number | null;
|
|
13879
14495
|
}
|
|
13880
14496
|
//#endregion
|
|
14497
|
+
//#region src/render/picture-crop/crop-geometry.d.ts
|
|
14498
|
+
/** An axis-aligned rectangle in slide pixels. */
|
|
14499
|
+
interface CropRect {
|
|
14500
|
+
x: number;
|
|
14501
|
+
y: number;
|
|
14502
|
+
width: number;
|
|
14503
|
+
height: number;
|
|
14504
|
+
}
|
|
14505
|
+
/** The four `a:srcRect` insets as fractions of the image (negative pads). */
|
|
14506
|
+
interface CropInsets {
|
|
14507
|
+
cropLeft: number;
|
|
14508
|
+
cropTop: number;
|
|
14509
|
+
cropRight: number;
|
|
14510
|
+
cropBottom: number;
|
|
14511
|
+
}
|
|
14512
|
+
/** What a crop edit writes back onto the picture element. */
|
|
14513
|
+
type CropElementUpdate = CropInsets & CropRect;
|
|
14514
|
+
/** The snapshot a crop session restores on cancel. */
|
|
14515
|
+
interface CropSession {
|
|
14516
|
+
elementId: string;
|
|
14517
|
+
original: CropElementUpdate;
|
|
14518
|
+
/** Insets the picture did not carry at all (no `a:srcRect` opinion). */
|
|
14519
|
+
absentInsets: readonly (keyof CropInsets)[];
|
|
14520
|
+
}
|
|
14521
|
+
//#endregion
|
|
13881
14522
|
//#region src/web-components/select-value.d.ts
|
|
13882
14523
|
/** Public DOM shape used by all bindings; the element is not a native select. */
|
|
13883
14524
|
interface PptxUiSelectElement extends HTMLElement {
|
|
@@ -13937,5 +14578,5 @@ interface TransitionOverlayParams {
|
|
|
13937
14578
|
*/
|
|
13938
14579
|
declare function playTransitionOverlay(params: TransitionOverlayParams): () => void;
|
|
13939
14580
|
//#endregion
|
|
13940
|
-
export {
|
|
13941
|
-
//# sourceMappingURL=transition-overlay-
|
|
14581
|
+
export { KeyboardCustomization as $, AccessibilityIssue as $n, PptxThemeFontScheme as $r, VIEWER_DIALOG_IDS as $t, CssStyleMap as A, loadPresentationDeck as An, PptxElementAnimation as Ar, RibbonCustomization as At, ElementUpdateOptions as B, resolveTransitionDurationMs as Bn, PptxSection as Br, ShareDefaults as Bt, CollaborationTransport as C, forgetSessionDeck as Cn, PptxCommentMention as Cr, RANDOM_ELIGIBLE_TYPES as Ct, ContextMenuCustomization as D, getSlideTransitionAnimations as Dn, PptxCustomShow as Dr, ResolvedCustomization as Dt, ContextMenuCommandId as E, getSessionTabId as En, PptxCustomProperty as Er, RemoteCursor as Et, ELEMENT_CONTEXT_MENU_COMMAND_IDS as F, rememberSessionDeck as Fn, PptxLayoutPreview as Fr, SLIDE_TRANSITION_KEYFRAMES_CSS as Ft, FreeformToolKind as G, ViewerTheme as Gn, PptxSmartArtNodeStyle as Gr, SlideTransitionAnimations as Gt, ExternalCollaborationSession as H, restoreSessionDeck as Hn, PptxSlideMaster as Hr, SlideSizeEmu as Ht, EditorKeyActionName as I, resolveDirection as In, PptxModernCommentAuthor as Ir, SanitizedPresence as It, INSTANT as J, defaultRadius as Jn, PptxTagCollection as Jr, TRANSITION_SPEED_DURATION_MS as Jt, GradientState as K, ViewerThemeColors as Kn, PptxTableCellStyle as Kr, StrokeToInkElementOpts as Kt, ElementAnimationState as L, resolveDirection8 as Ln, PptxModifyVerifier as Lr, SavedPresentationFormat as Lt, DEFAULT_TRANSITION_DURATION_MS as M, overlayInlineTextSnapshot as Mn, PptxHandoutMaster as Mr, RulerUnit as Mt, EASE as N, parsePresentationSessionId as Nn, PptxHeaderFooter as Nr, RunProgramNotice as Nt, CropElementUpdate as O, isLegacyBinaryPresentation as On, PptxData as Or, ResolvedDirection as Ot, EDITOR_SHORTCUT_ACTION_IDS as P, presentationBaseName as Pn, PptxImageEffects as Pr, SLIDE_TRANSITION_KEYFRAMES as Pt, InsertChartKind as Q, vermilionLightTheme as Qn, PptxThemeColorScheme as Qr, ToolbarTabId as Qt, ElementClipboardPayload as R, resolveOrientation as Rn, PptxNotesMaster as Rr, SessionDeck as Rt, CollaborationShellState as S, describeCollaborationShellState as Sn, PptxCommentAuthor as Sr, PrintSettings as St, ConnectionStatus as T, getP14TransitionAnimations as Tn, PptxCoreProperties as Tr, ReadOnlyRecommendation as Tt, ExternalCollaborationSnapshot as U, savedPresentationFileName as Un, PptxSlideTransition as Ur, SlideSizeRescaleMode as Ut, ExternalCollaborationAwareness as V, resolveWheelSpokeCount as Vn, PptxSlide as Vr, ShortcutChord as Vt, FieldSubstitutionContext as W, ThemeCatalogEntry as Wn, PptxSmartArtData as Wr, SlideTemplateId as Wt, InlineTextEditSnapshot as X, themeToCssVars as Xn, PptxTheme as Xr, ToolbarActionId as Xt, InlineListReadResult as Y, defaultThemeColors as Yn, PptxTextStyleLevels as Yr, TextAdvancedChanges as Yt, InlineTextSelection as Z, vermilionDarkTheme as Zn, PptxThemeColorRef as Zr, ToolbarButtonId as Zt, ChartPartRef as _, WHEEL_SPOKE_COUNTS as _n, PptxAnimationTimingCurve as _r, PasteSpecialFormat as _t, AnimationGroup as a, SmartArtLayout as ai, ViewerCustomizationController as an, ElementAction as ar, OPTIONS_SECTION_IDS as at, CollaborationLivePatcher as b, canInteractWithElement as bn, PptxChartData as br, PresentationPointerTool as bt, BACKSTAGE_PAGE_IDS as c, TextSegment as ci, ViewerFeatureId as cn, OleObjectType as cr, OptionsPageId as ct, BackstagePage as d, ViewerOptionPrimitive as dn, PptxAfterAnimationAction as dr, OptionsSettingValues as dt, PptxThemeOption as ei, VIEWER_EXPORT_FORMAT_IDS as en, MergeShapeOperation as er, MasterViewCrudAction as et, CANVAS_CONTEXT_MENU_COMMAND_IDS as f, ViewerOptionsStore as fn, PptxAnimationDirection as fr, P14_TRANSITION_KEYFRAMES as ft, ChangeCaseMode as g, ViewportFitPadding as gn, PptxAnimationTimelineAnchor as gr, PRESENTATION_OPEN_EXTENSIONS as gt, CanvasSize as h, ViewportFitOptions as hn, PptxAnimationSequence as hr, PPTX_OPEN_ACCEPT as ht, AlignEdge as i, SmartArtColorScheme as ii, ViewerCustomizationApi as in, SvgExportOptions as ir, OPTIONS_PAGE_IDS as it, DEFAULT_MORPH_DURATION_MS as j, loadSessionDeck as jn, PptxEmbeddedFont as jr, RibbonTransitionDraft as jt, CropSession as k, isSupportedPresentationFile as kn, PptxElement as kr, ResolvedDirection8 as kt, BackstageCardId as l, TextStyle as li, ViewerFontSource as ln, OlePptxElement as lr, OptionsSectionId as lt, CanvasContextMenuCommandId as m, ViewerQuickAccessOptions as mn, PptxAnimationRepeatMode as mr, P14_TRANSITION_KEYFRAMES_ALL as mt, playTransitionOverlay as n, PptxViewProperties as ni, VIEWER_PANEL_IDS as nn, PptxHandlerSaveOptions as nr, MobileSheetKey as nt, AutosaveRecord as o, SmartArtLayoutType as oi, ViewerDialogId as on, MasterViewTab as or, OPTIONS_SETTING_IDS as ot, CINEMATIC_TRANSITION_KEYFRAMES as p, ViewerPanelId as pn, PptxAnimationPreset as pr, P14_TRANSITION_KEYFRAMES_2 as pt, Guide as q, defaultCssVars as qn, PptxTableData as qr, TOOLBAR_BUTTON_IDS as qt, AccountAuthConfig as r, ShapeStyle as ri, ViewerCustomization as rn, PptxSaveFormat as rr, ModifyPasswordCheckResult as rt, BACKSTAGE_CARD_IDS as s, TablePptxElement as si, ViewerExportFormatId as sn, MediaPptxElement as sr, OptionsCustomization as st, TransitionOverlayParams as t, PptxTransitionType as ti, VIEWER_FEATURE_IDS as tn, PptxHandler as tr, MasterViewCrudActionId as tt, BackstageCustomization as u, XmlObject as ui, ViewerMode as un, ParsedTableStyleMap as ur, OptionsSettingId as ut, CollabLoadOrigin as v, ZoomNavigationTarget as vn, PptxAnimationTrigger as vr, PowerPointViewerAPI as vt, CompatibilityWarningToast as w, getCinematicTransitionAnimations as wn, PptxCompatibilityWarning as wr, RIBBON_TAB_IDS as wt, CollaborationRole as x, createImageElementFromFile as xn, PptxComment as xr, PresentationSnapshot as xt, CollaborationConfig as y, buildInlineTextCommitPatch as yn, PptxAppProperties as yr, PresentationBlackout as yt, ElementUpdate as z, resolveSlideTransition as zn, PptxPresentationProperties as zr, ShapePresetType as zt };
|
|
14582
|
+
//# sourceMappingURL=transition-overlay-ydBEO9eL.d.ts.map
|