pptx-svelte-viewer 4.3.0 → 4.5.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 +143 -0
- package/dist/{AiChatPanel-6uxswiBd.js → AiChatPanel-BdrwlRX5.js} +15 -15
- package/dist/{export-CVIAWQ_T.js → export-Bln1wHMQ.js} +12853 -12160
- package/dist/i18n/de.cjs +33 -0
- package/dist/i18n/de.mjs +33 -0
- package/dist/i18n/es.cjs +33 -0
- package/dist/i18n/es.mjs +33 -0
- package/dist/i18n/fr.cjs +33 -0
- package/dist/i18n/fr.mjs +33 -0
- package/dist/i18n/zh-CN.cjs +33 -0
- package/dist/i18n/zh-CN.mjs +33 -0
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +90 -6
- package/dist/index.js +37 -37
- package/dist/internals.d.ts +91 -7
- package/dist/internals.js +24 -24
- package/dist/pptx-svelte-viewer.css +1 -1
- package/dist/{transition-overlay-BmUNA9xJ.js → transition-overlay-BfpjfjU4.js} +35375 -34207
- package/dist/{translator-BZ6HUBWJ.js → translator-C-KdhJw4.js} +33 -0
- package/dist/viewer/index.d.ts +173 -7
- package/dist/viewer/index.js +16 -16
- package/package.json +1 -1
|
@@ -1119,6 +1119,7 @@ var n = {
|
|
|
1119
1119
|
"pptx.media.startAutomatically": "Automatically",
|
|
1120
1120
|
"pptx.media.playAcrossSlides": "Play across slides",
|
|
1121
1121
|
"pptx.media.fullScreen": "Full screen",
|
|
1122
|
+
"pptx.media.onlineVideoTitle": "Online video",
|
|
1122
1123
|
"pptx.media.hideWhenNotPlaying": "Hide when not playing",
|
|
1123
1124
|
"pptx.media.bookmarks": "Bookmarks",
|
|
1124
1125
|
"pptx.media.bookmark": "Bookmark",
|
|
@@ -1186,6 +1187,12 @@ var n = {
|
|
|
1186
1187
|
"pptx.compare.noDifferences": "No differences",
|
|
1187
1188
|
"pptx.compare.summary": "{{added}} added, {{removed}} removed, {{changed}} changed",
|
|
1188
1189
|
"pptx.compare.title": "Compare",
|
|
1190
|
+
"pptx.canvasContextMenu.ariaLabel": "Canvas context menu",
|
|
1191
|
+
"pptx.canvasContextMenu.formatBackground": "Format Background...",
|
|
1192
|
+
"pptx.canvasContextMenu.gridAndGuides": "Grid and Guides",
|
|
1193
|
+
"pptx.canvasContextMenu.layout": "Layout",
|
|
1194
|
+
"pptx.canvasContextMenu.resetSlide": "Reset Slide",
|
|
1195
|
+
"pptx.canvasContextMenu.ruler": "Ruler",
|
|
1189
1196
|
"pptx.contextMenu.addComment": "Add Comment",
|
|
1190
1197
|
"pptx.contextMenu.bringForward": "Bring Forward",
|
|
1191
1198
|
"pptx.contextMenu.bringToFront": "Bring to Front",
|
|
@@ -1195,7 +1202,10 @@ var n = {
|
|
|
1195
1202
|
"pptx.contextMenu.deleteColumn": "Delete Column",
|
|
1196
1203
|
"pptx.contextMenu.deleteRow": "Delete Row",
|
|
1197
1204
|
"pptx.contextMenu.duplicate": "Duplicate",
|
|
1205
|
+
"pptx.contextMenu.editAltText": "Edit Alt Text...",
|
|
1198
1206
|
"pptx.contextMenu.editHyperlink": "Edit Hyperlink",
|
|
1207
|
+
"pptx.contextMenu.editText": "Edit Text",
|
|
1208
|
+
"pptx.contextMenu.formatShape": "Format Shape...",
|
|
1199
1209
|
"pptx.contextMenu.group": "Group",
|
|
1200
1210
|
"pptx.contextMenu.insertColumnLeft": "Insert Column Left",
|
|
1201
1211
|
"pptx.contextMenu.insertColumnRight": "Insert Column Right",
|
|
@@ -1204,10 +1214,18 @@ var n = {
|
|
|
1204
1214
|
"pptx.contextMenu.mergeCells": "Merge Right",
|
|
1205
1215
|
"pptx.contextMenu.mergeSelectedCells": "Merge Selected Cells",
|
|
1206
1216
|
"pptx.contextMenu.paste": "Paste",
|
|
1217
|
+
"pptx.contextMenu.saveAsPicture": "Save as Picture...",
|
|
1207
1218
|
"pptx.contextMenu.sendBackward": "Send Backward",
|
|
1208
1219
|
"pptx.contextMenu.sendToBack": "Send to Back",
|
|
1220
|
+
"pptx.contextMenu.sizeAndPosition": "Size and Position...",
|
|
1209
1221
|
"pptx.contextMenu.splitCell": "Split Cell",
|
|
1210
1222
|
"pptx.contextMenu.ungroup": "Ungroup",
|
|
1223
|
+
"pptx.pasteSpecial.dialogTitle": "Paste Special",
|
|
1224
|
+
"pptx.pasteSpecial.keepSourceFormatting": "Keep Source Formatting",
|
|
1225
|
+
"pptx.pasteSpecial.keepTextOnly": "Keep Text Only",
|
|
1226
|
+
"pptx.pasteSpecial.optionsLabel": "Paste Options",
|
|
1227
|
+
"pptx.pasteSpecial.picture": "Picture",
|
|
1228
|
+
"pptx.pasteSpecial.useDestinationTheme": "Use Destination Theme",
|
|
1211
1229
|
"pptx.digitalSignatures.badge": "Signed",
|
|
1212
1230
|
"pptx.digitalSignatures.editWarning": "Editing this presentation will invalidate its digital signatures.",
|
|
1213
1231
|
"pptx.digitalSignatures.signed": "This presentation is digitally signed.",
|
|
@@ -1450,6 +1468,15 @@ var n = {
|
|
|
1450
1468
|
"pptx.slideSorter.contextMenu.hideSlides": "Hide Slides",
|
|
1451
1469
|
"pptx.slideSorter.contextMenu.paste": "Paste",
|
|
1452
1470
|
"pptx.slideSorter.contextMenu.showSlides": "Show Slides",
|
|
1471
|
+
"pptx.slidesPane.contextMenu.newSlide": "New Slide",
|
|
1472
|
+
"pptx.slidesPane.contextMenu.duplicate": "Duplicate Slide",
|
|
1473
|
+
"pptx.slidesPane.contextMenu.duplicateCount": "Duplicate {{count}} Slides",
|
|
1474
|
+
"pptx.slidesPane.contextMenu.delete": "Delete Slide",
|
|
1475
|
+
"pptx.slidesPane.contextMenu.deleteCount": "Delete {{count}} Slides",
|
|
1476
|
+
"pptx.slidesPane.contextMenu.layout": "Layout",
|
|
1477
|
+
"pptx.slidesPane.contextMenu.hide": "Hide Slide",
|
|
1478
|
+
"pptx.slidesPane.contextMenu.show": "Show Slide",
|
|
1479
|
+
"pptx.slidesPane.contextMenu.addSection": "Add Section",
|
|
1453
1480
|
"pptx.smartart.cancel": "Cancel",
|
|
1454
1481
|
"pptx.smartart.close": "Close",
|
|
1455
1482
|
"pptx.smartart.insert": "Insert",
|
|
@@ -1521,6 +1548,12 @@ var n = {
|
|
|
1521
1548
|
"pptx.transition.morphOption.byObject": "By Object",
|
|
1522
1549
|
"pptx.transition.morphOption.byWord": "By Word",
|
|
1523
1550
|
"pptx.transition.morphOption.byChar": "By Character",
|
|
1551
|
+
"pptx.transition.pattern": "Pattern",
|
|
1552
|
+
"pptx.transition.pattern.diamond": "Diamond",
|
|
1553
|
+
"pptx.transition.pattern.hexagon": "Hexagon",
|
|
1554
|
+
"pptx.transition.pattern.strip": "Strips",
|
|
1555
|
+
"pptx.transition.pattern.rectangle": "Rectangles",
|
|
1556
|
+
"pptx.transition.thruBlk": "Through black",
|
|
1524
1557
|
"pptx.contextMenu.ariaLabel": "Context menu",
|
|
1525
1558
|
"pptx.editorToolbar.ariaLabel": "Editor toolbar",
|
|
1526
1559
|
"pptx.editorToolbar.insert": "Insert",
|
package/dist/viewer/index.d.ts
CHANGED
|
@@ -1693,6 +1693,16 @@ interface TextStyle {
|
|
|
1693
1693
|
hyperlinkHighlightClick?: boolean;
|
|
1694
1694
|
/** Whether hyperlink ends a sound (`a:hlinkClick/@endSnd`). */
|
|
1695
1695
|
hyperlinkEndSound?: boolean;
|
|
1696
|
+
/**
|
|
1697
|
+
* Raw `a:hlinkClick/a:extLst` child, preserved verbatim for round-trip.
|
|
1698
|
+
* Carries vendor extensions this engine does not interpret, most commonly
|
|
1699
|
+
* `ahyp:hlinkClr` (Microsoft's "hyperlink color" extension,
|
|
1700
|
+
* `{A12FA001-AC4F-418D-AE19-62706E023703}`), which records whether a
|
|
1701
|
+
* hyperlink run should paint with the theme's text colour instead of the
|
|
1702
|
+
* hyperlink colour. Dropping the whole `a:extLst` silently reverted such a
|
|
1703
|
+
* run to the default (themed) hyperlink colour on save.
|
|
1704
|
+
*/
|
|
1705
|
+
hyperlinkExtensionXml?: XmlObject;
|
|
1696
1706
|
/** Kumimoji (ideographic text combining) flag for vertical CJK text (`a:rPr/@kumimoji`). */
|
|
1697
1707
|
kumimoji?: boolean;
|
|
1698
1708
|
/** Normalize height flag (`a:rPr/@normalizeH`). */
|
|
@@ -1795,6 +1805,15 @@ interface TextStyle {
|
|
|
1795
1805
|
textInnerShadowOffsetX?: number;
|
|
1796
1806
|
/** Text inner shadow vertical offset in px. */
|
|
1797
1807
|
textInnerShadowOffsetY?: number;
|
|
1808
|
+
/**
|
|
1809
|
+
* Original inner-shadow colour-choice XML (`a:innerShdw`'s
|
|
1810
|
+
* `a:prstClr`/`a:schemeClr`/`a:srgbClr`/… child), preserved verbatim so an
|
|
1811
|
+
* authored preset or theme colour round-trips instead of always being
|
|
1812
|
+
* re-serialized as a resolved `a:srgbClr`. Mirrors {@link textGlowColorXml}.
|
|
1813
|
+
*/
|
|
1814
|
+
textInnerShadowColorXml?: XmlObject;
|
|
1815
|
+
/** Theme colour slot the inner shadow colour resolved from, when it is `a:schemeClr`. */
|
|
1816
|
+
textInnerShadowColorRef?: PptxThemeColorRef;
|
|
1798
1817
|
/** Preset shadow type from `a:prstShdw/@prst` (e.g. "shdw1"..."shdw20"). */
|
|
1799
1818
|
textPresetShadowName?: string;
|
|
1800
1819
|
/** Preset shadow colour as hex string. */
|
|
@@ -1807,6 +1826,18 @@ interface TextStyle {
|
|
|
1807
1826
|
textPresetShadowDirection?: number;
|
|
1808
1827
|
/** Text blur effect radius in px (`a:blur`). */
|
|
1809
1828
|
textBlurRadius?: number;
|
|
1829
|
+
/**
|
|
1830
|
+
* Text soft-edge radius in px (`a:softEdge/@rad`).
|
|
1831
|
+
*
|
|
1832
|
+
* Feathers the glyph's own edges (a uniform blur of the alpha silhouette,
|
|
1833
|
+
* the same effect a shape's `a:softEdge` gives its fill), unrelated to
|
|
1834
|
+
* `a:blur` (which blurs the whole run, colour included) or a shadow. Never
|
|
1835
|
+
* parsed before this field existed, so `a:softEdge` on a run was silently
|
|
1836
|
+
* dropped: PowerPoint fades the glyphs to near-transparent at their
|
|
1837
|
+
* outline (COM-verified, `audit-text` slide 14's "SOFTEDGE" run), while
|
|
1838
|
+
* the viewer painted them fully crisp.
|
|
1839
|
+
*/
|
|
1840
|
+
textSoftEdgeRadius?: number;
|
|
1810
1841
|
/**
|
|
1811
1842
|
* Raw `a:effectDag` XML node from `a:rPr`, preserved verbatim for
|
|
1812
1843
|
* round-trip serialisation. Mirrors the shape-level
|
|
@@ -1846,6 +1877,15 @@ interface TextStyle {
|
|
|
1846
1877
|
textGlowRadius?: number;
|
|
1847
1878
|
/** Text glow opacity (0-1). */
|
|
1848
1879
|
textGlowOpacity?: number;
|
|
1880
|
+
/**
|
|
1881
|
+
* Original glow colour-choice XML (`a:glow`'s `a:schemeClr`/`a:srgbClr`/…
|
|
1882
|
+
* child), preserved verbatim so a theme colour reference round-trips
|
|
1883
|
+
* instead of always being re-serialized as a resolved `a:srgbClr` (which
|
|
1884
|
+
* cuts the glow off from theme/Recolor changes).
|
|
1885
|
+
*/
|
|
1886
|
+
textGlowColorXml?: XmlObject;
|
|
1887
|
+
/** Theme colour slot the glow colour resolved from, when it is `a:schemeClr`. */
|
|
1888
|
+
textGlowColorRef?: PptxThemeColorRef;
|
|
1849
1889
|
/** Text reflection enabled flag. */
|
|
1850
1890
|
textReflection?: boolean;
|
|
1851
1891
|
/** Text reflection blur radius in px. */
|
|
@@ -1982,6 +2022,18 @@ interface BulletInfo {
|
|
|
1982
2022
|
paragraphIndex?: number;
|
|
1983
2023
|
/** Bullet font family from `a:buFont`. */
|
|
1984
2024
|
fontFamily?: string;
|
|
2025
|
+
/**
|
|
2026
|
+
* PANOSE font-matching hint from `a:buFont/@panose`. `a:buFont` is a
|
|
2027
|
+
* CT_TextFont, the same complex type as `a:latin`/`a:ea`/`a:cs`/`a:sym`
|
|
2028
|
+
* (which carry the equivalent `TextStyle.latinFontPanose` etc.), so a
|
|
2029
|
+
* bullet's own PANOSE/pitch-family/charset decide the fallback glyph
|
|
2030
|
+
* PowerPoint substitutes when the named typeface is missing.
|
|
2031
|
+
*/
|
|
2032
|
+
fontPanose?: string;
|
|
2033
|
+
/** Font pitch-and-family byte from `a:buFont/@pitchFamily`. */
|
|
2034
|
+
fontPitchFamily?: number;
|
|
2035
|
+
/** Font character-set byte from `a:buFont/@charset`. */
|
|
2036
|
+
fontCharset?: number;
|
|
1985
2037
|
/** Bullet size as percentage of text font size from `a:buSzPct`. */
|
|
1986
2038
|
sizePercent?: number;
|
|
1987
2039
|
/** Bullet size in points from `a:buSzPts`. */
|
|
@@ -3418,6 +3470,15 @@ interface PptxChartHistogramOptions {
|
|
|
3418
3470
|
intervalClosed?: 'l' | 'r';
|
|
3419
3471
|
underflow?: number | 'auto';
|
|
3420
3472
|
overflow?: number | 'auto';
|
|
3473
|
+
/**
|
|
3474
|
+
* `c:layoutPr/cx:aggregation` was authored instead of `cx:binning`: the
|
|
3475
|
+
* raw rows are CATEGORICAL (a Pareto chart's `clusteredColumn` series
|
|
3476
|
+
* counting occurrences of each authored category, COM-verified against
|
|
3477
|
+
* charts-com.pptx slide 31 / chartEx6.xml), not a numeric range to bin.
|
|
3478
|
+
* Mutually exclusive with `binSize`/`binCount`/`intervalClosed`, which
|
|
3479
|
+
* only apply to a true numeric-value histogram.
|
|
3480
|
+
*/
|
|
3481
|
+
aggregateByCategory?: boolean;
|
|
3421
3482
|
}
|
|
3422
3483
|
/** Office 2016 ChartEx waterfall series layout options. */
|
|
3423
3484
|
interface PptxChartWaterfallOptions {
|
|
@@ -4082,6 +4143,18 @@ interface PptxChartData {
|
|
|
4082
4143
|
* the source" and callers should treat it as `true`. Surface only.
|
|
4083
4144
|
*/
|
|
4084
4145
|
wireframe?: boolean;
|
|
4146
|
+
/**
|
|
4147
|
+
* Whether the surface chart is the 2-D "top view" projection
|
|
4148
|
+
* (`c:surfaceChart`, PowerPoint's "Contour" / "Wireframe Contour" types)
|
|
4149
|
+
* rather than the 3-D isometric one (`c:surface3DChart`, "3-D Surface" /
|
|
4150
|
+
* "3-D Surface (Wireframe)"). Both element names map to chart type
|
|
4151
|
+
* `"surface"`; this bit is the only thing that tells the renderer which
|
|
4152
|
+
* of the two projections PowerPoint actually drew, since a top-view
|
|
4153
|
+
* surface has no Z-axis at all (only category and series axes) while the
|
|
4154
|
+
* 3-D one draws all three. Surface only; `undefined` for every other
|
|
4155
|
+
* chart type.
|
|
4156
|
+
*/
|
|
4157
|
+
surfaceTopView?: boolean;
|
|
4085
4158
|
/**
|
|
4086
4159
|
* Scatter presentation mode (`c:scatterChart/c:scatterStyle/@val`).
|
|
4087
4160
|
*
|
|
@@ -7271,11 +7344,17 @@ interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
|
|
|
7271
7344
|
* `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
|
|
7272
7345
|
* three Zoom kinds): whether continuing forward from the destination slide
|
|
7273
7346
|
* during a live show returns to this Zoom's origin slide instead of
|
|
7274
|
-
* advancing linearly through the deck.
|
|
7275
|
-
*
|
|
7276
|
-
*
|
|
7277
|
-
*
|
|
7278
|
-
*
|
|
7347
|
+
* advancing linearly through the deck. The schema declares `<xsd:attribute
|
|
7348
|
+
* name="returnToParent" type="xsd:boolean" use="optional" default="true"/>`,
|
|
7349
|
+
* so an ABSENT attribute means `true`, not `false`. This codebase still
|
|
7350
|
+
* leaves the field `undefined` (rather than fabricating `true`) when the
|
|
7351
|
+
* source XML omits it, so a round-trip never invents an attribute the
|
|
7352
|
+
* source never had; a CONSUMER of this field (playback, e.g.
|
|
7353
|
+
* `pptx-viewer-shared`'s `resolveZoomNavigationTarget`) must read
|
|
7354
|
+
* `returnToParent !== false`, not `Boolean(returnToParent)`, to get the
|
|
7355
|
+
* spec-correct effective value. For `zoomType: 'summary'`, this mirrors the
|
|
7356
|
+
* first tile's own value; see {@link SummaryZoomTarget.returnToParent} for
|
|
7357
|
+
* the per-tile value.
|
|
7279
7358
|
*/
|
|
7280
7359
|
returnToParent?: boolean;
|
|
7281
7360
|
/**
|
|
@@ -9285,7 +9364,12 @@ interface PptxSlideTransition {
|
|
|
9285
9364
|
spokes?: number;
|
|
9286
9365
|
/** Pattern type for shred transition. */
|
|
9287
9366
|
pattern?: string;
|
|
9288
|
-
/**
|
|
9367
|
+
/**
|
|
9368
|
+
* Through-black flag (OOXML `@_thruBlk`). COM-verified to actually apply to
|
|
9369
|
+
* `cut` and `fade` (see {@link TRANSITION_THRUBLK_TYPES}); parsed generically
|
|
9370
|
+
* off any standard transition child so an unexpected authored value still
|
|
9371
|
+
* round-trips.
|
|
9372
|
+
*/
|
|
9289
9373
|
thruBlk?: boolean;
|
|
9290
9374
|
/** Split orientation (horz/vert) parsed from `@_orient`. */
|
|
9291
9375
|
orient?: PptxSplitOrientation;
|
|
@@ -12152,7 +12236,7 @@ interface ReflectionWrapperStyle {
|
|
|
12152
12236
|
top: string;
|
|
12153
12237
|
width: string;
|
|
12154
12238
|
height: string;
|
|
12155
|
-
/**
|
|
12239
|
+
/** `scale(@sx, @sy)` (the sign of `@sy` IS the mirror) composed with `@kx`/`@ky`/`@rot`. */
|
|
12156
12240
|
transform: string;
|
|
12157
12241
|
/** Anchor point for the transform above, from `@algn` (default `center top`). */
|
|
12158
12242
|
transformOrigin: string;
|
|
@@ -13191,6 +13275,10 @@ interface PresentationInkStroke {
|
|
|
13191
13275
|
points: PresentationInkPoint[];
|
|
13192
13276
|
}
|
|
13193
13277
|
//#endregion
|
|
13278
|
+
//#region src/render/paste-special.d.ts
|
|
13279
|
+
/** The four paste formats PowerPoint's Paste Options / Paste Special offer. */
|
|
13280
|
+
type PasteSpecialFormat = 'keep-source-formatting' | 'use-destination-theme' | 'picture' | 'keep-text-only';
|
|
13281
|
+
//#endregion
|
|
13194
13282
|
//#region src/render/alignment-guides.d.ts
|
|
13195
13283
|
/** A single alignment guide, positioned in authored slide pixels. */
|
|
13196
13284
|
interface Guide {
|
|
@@ -13336,6 +13424,28 @@ interface FontEmbeddingDescriptor {
|
|
|
13336
13424
|
/** Present only when `interactive` is false. */
|
|
13337
13425
|
disabledReasonKey?: string;
|
|
13338
13426
|
}
|
|
13427
|
+
//#endregion
|
|
13428
|
+
//#region src/render/zoom-return-navigation.d.ts
|
|
13429
|
+
/**
|
|
13430
|
+
* The navigation-relevant fields of a Zoom click target, independent of
|
|
13431
|
+
* `zoomType`.
|
|
13432
|
+
*
|
|
13433
|
+
* `returnToParent` is already resolved to its EFFECTIVE value here (not the
|
|
13434
|
+
* raw, possibly-`undefined` `ZoomPptxElement`/`SummaryZoomTarget` field):
|
|
13435
|
+
* `CT_ZoomObjectProperties/@returnToParent` (MS-PPTX) is `<xsd:attribute
|
|
13436
|
+
* name="returnToParent" type="xsd:boolean" use="optional" default="true"/>`,
|
|
13437
|
+
* so an ABSENT attribute means true, not false. Core deliberately stores
|
|
13438
|
+
* `undefined` rather than fabricating `true` (so a round-trip never invents
|
|
13439
|
+
* an attribute the source never had), which makes `Boolean(x)` the wrong way
|
|
13440
|
+
* to read it; the two `resolve*NavigationTarget` functions below are the only
|
|
13441
|
+
* place that distinction should be made.
|
|
13442
|
+
*/
|
|
13443
|
+
interface ZoomNavigationTarget {
|
|
13444
|
+
targetSlideIndex: number;
|
|
13445
|
+
targetSectionId?: string;
|
|
13446
|
+
returnToParent: boolean;
|
|
13447
|
+
transitionDurationMs?: number;
|
|
13448
|
+
}
|
|
13339
13449
|
/** The percentage one zoom-in press moves to, clamped. */
|
|
13340
13450
|
declare function zoomInPercent(percent: number): number;
|
|
13341
13451
|
/** The percentage one zoom-out press moves to, clamped. */
|
|
@@ -15237,6 +15347,21 @@ declare class EditorClipboardController {
|
|
|
15237
15347
|
cutSelected(): void;
|
|
15238
15348
|
/** Paste the clipboard payload onto the current slide (fresh id, offset, selects it). */
|
|
15239
15349
|
pasteClipboard(): string | null;
|
|
15350
|
+
/**
|
|
15351
|
+
* Paste Special (Ctrl+Alt+V) / the dialog's OK: paste the clipboard with
|
|
15352
|
+
* `format` already applied.
|
|
15353
|
+
*/
|
|
15354
|
+
pasteWithFormat(format: PasteSpecialFormat): string | null;
|
|
15355
|
+
/**
|
|
15356
|
+
* Re-derive an already-pasted element (the Paste Options toolbar) from its
|
|
15357
|
+
* own pristine source clone. Non-cumulative: every choice starts over from
|
|
15358
|
+
* the clone `pasteClipboard`/`pasteWithFormat` recorded, matching
|
|
15359
|
+
* PowerPoint's own toolbar. "Picture" is handled by the caller (it needs a
|
|
15360
|
+
* DOM rasterize step this controller does not perform) via `replaceElement`.
|
|
15361
|
+
*/
|
|
15362
|
+
reformatPasted(elementId: string, sourceClone: PptxElement, format: PasteSpecialFormat): void;
|
|
15363
|
+
/** Replace one element by id, e.g. after rasterizing it to a picture. */
|
|
15364
|
+
replaceElement(elementId: string, next: PptxElement): void;
|
|
15240
15365
|
}
|
|
15241
15366
|
|
|
15242
15367
|
interface EditorSnapshot {
|
|
@@ -15577,6 +15702,13 @@ declare class EditorSlidesController {
|
|
|
15577
15702
|
constructor(editor: EditorState);
|
|
15578
15703
|
/** Insert a blank slide after the current one. Returns its new index, or null when not editable. */
|
|
15579
15704
|
insertSlideAfterCurrent(): number | null;
|
|
15705
|
+
/**
|
|
15706
|
+
* Insert a blank slide after `index` (the thumbnail context menu's New
|
|
15707
|
+
* Slide, and Enter on a focused thumbnail, both of which may target a slide
|
|
15708
|
+
* other than the currently active one). Returns the new index, or null
|
|
15709
|
+
* when not editable.
|
|
15710
|
+
*/
|
|
15711
|
+
insertSlideAfter(index: number): number | null;
|
|
15580
15712
|
/**
|
|
15581
15713
|
* Insert a shared-catalogue template slide after the current one, as one
|
|
15582
15714
|
* undoable step (Home > Slide Templates gallery). The caller (the gallery
|
|
@@ -15605,6 +15737,12 @@ declare class EditorSlidesController {
|
|
|
15605
15737
|
deleteSlideAtIndex(index: number): number | null;
|
|
15606
15738
|
/** Toggle the hidden flag on the slide at `index` (the sorter's context-menu target). */
|
|
15607
15739
|
toggleSlideHidden(index: number): void;
|
|
15740
|
+
/** Duplicate every selected slide (the thumbnail context menu's multi-select bulk Duplicate). */
|
|
15741
|
+
duplicateSlides(indexes: readonly number[]): void;
|
|
15742
|
+
/** Delete every selected slide (the thumbnail context menu's multi-select bulk Delete). */
|
|
15743
|
+
deleteSlides(indexes: readonly number[]): void;
|
|
15744
|
+
/** Toggle hidden on every selected slide (the thumbnail context menu's multi-select bulk Hide/Show). */
|
|
15745
|
+
toggleSlidesHidden(indexes: readonly number[]): void;
|
|
15608
15746
|
/**
|
|
15609
15747
|
* The layouts available for the current slide (its master's layouts),
|
|
15610
15748
|
* resolved via the core `getAvailableLayoutsForSlide` API. Empty when no
|
|
@@ -15872,6 +16010,13 @@ declare class EditorState {
|
|
|
15872
16010
|
editTemplateMode: boolean;
|
|
15873
16011
|
interactionActive: boolean;
|
|
15874
16012
|
clipboard: ElementClipboardPayload | null;
|
|
16013
|
+
/** Ctrl/Cmd+Alt+V dialog visibility. */
|
|
16014
|
+
pasteSpecialDialogOpen: boolean;
|
|
16015
|
+
/** The Paste Options toolbar's target: the elements a normal paste just inserted. */
|
|
16016
|
+
pasteOptionsToolbar: {
|
|
16017
|
+
id: string;
|
|
16018
|
+
sourceClone: PptxElement;
|
|
16019
|
+
}[] | null;
|
|
15875
16020
|
/**
|
|
15876
16021
|
* File ▸ Info ▸ Protect Presentation state. Deliberately NOT part of
|
|
15877
16022
|
* {@link EditorSnapshot}: the secret is session state, not document content,
|
|
@@ -16078,6 +16223,12 @@ interface EditorControllerDeps {
|
|
|
16078
16223
|
* model, so the cell under the pointer is the target.
|
|
16079
16224
|
*/
|
|
16080
16225
|
onContextMenu?(x: number, y: number, cell: ContextMenuCellTarget | null): void;
|
|
16226
|
+
/**
|
|
16227
|
+
* Open the EMPTY-CANVAS context menu at viewport `x`/`y` (no element under
|
|
16228
|
+
* the cursor). Mutually exclusive with {@link onContextMenu}: opening one
|
|
16229
|
+
* closes the other.
|
|
16230
|
+
*/
|
|
16231
|
+
onCanvasContextMenu?(x: number, y: number): void;
|
|
16081
16232
|
getSnapToGrid?(): boolean;
|
|
16082
16233
|
/**
|
|
16083
16234
|
* Grid spacing in CSS px for snap-to-grid, derived from the deck's
|
|
@@ -16268,6 +16419,11 @@ interface StageContextMenu {
|
|
|
16268
16419
|
y: number;
|
|
16269
16420
|
cell: ContextMenuCellTarget | null;
|
|
16270
16421
|
}
|
|
16422
|
+
/** Where the empty-canvas (no element hit) context menu opened. */
|
|
16423
|
+
interface StageCanvasContextMenu {
|
|
16424
|
+
x: number;
|
|
16425
|
+
y: number;
|
|
16426
|
+
}
|
|
16271
16427
|
|
|
16272
16428
|
/**
|
|
16273
16429
|
* Reactive Find & Replace panel state for the Home tab's Editing group.
|
|
@@ -17176,6 +17332,15 @@ declare class PresentationController {
|
|
|
17176
17332
|
firstSlide(): void;
|
|
17177
17333
|
/** End: the show's last slide, skipping trailing hidden slides. */
|
|
17178
17334
|
lastSlide(): void;
|
|
17335
|
+
/**
|
|
17336
|
+
* Handle a Slide Zoom / Section Zoom / Summary Zoom tile click: navigates
|
|
17337
|
+
* to the target slide, playing the zoom's own `zmPr/@transitionDur` when
|
|
17338
|
+
* authored, and (when `returnToParent` is set) arms an excursion so the
|
|
17339
|
+
* next forward {@link advance} past the target's range returns to the
|
|
17340
|
+
* slide the zoom was clicked from instead of continuing linearly through
|
|
17341
|
+
* the deck.
|
|
17342
|
+
*/
|
|
17343
|
+
navigateToZoomTarget(target: ZoomNavigationTarget): void;
|
|
17179
17344
|
/**
|
|
17180
17345
|
* Raise the black end-of-slide-show screen without ending anything.
|
|
17181
17346
|
*
|
|
@@ -17858,6 +18023,7 @@ interface ViewerStateBag {
|
|
|
17858
18023
|
/** `Date.now()` timestamp of the last `enterPresenterView()` call; the presenter view's elapsed-time display. */
|
|
17859
18024
|
readonly presenterStartedAt: number;
|
|
17860
18025
|
stageContextMenu: StageContextMenu | null;
|
|
18026
|
+
stageCanvasContextMenu: StageCanvasContextMenu | null;
|
|
17861
18027
|
readonly activeMobileSheet: MobileSheetKey;
|
|
17862
18028
|
setActiveMobileSheet(next: MobileSheetKey): void;
|
|
17863
18029
|
readonly notesExpanded: boolean;
|
package/dist/viewer/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { A as e, I as a,
|
|
3
|
-
var y = a, A =
|
|
1
|
+
import { ng as l, rg as S } from "../transition-overlay-BfpjfjU4.js";
|
|
2
|
+
import { A as e, I as a, N as o, P as r, a as v, c as d, d as b, f as p, i as c, j as s, k as t, l as g, n as m, o as x, p as w, r as C, s as P, t as T, u as $ } from "../export-Bln1wHMQ.js";
|
|
3
|
+
var y = a, A = r, V = s, f = e, u = t, R = o;
|
|
4
4
|
export {
|
|
5
5
|
f as CollaborationCursors,
|
|
6
|
-
|
|
6
|
+
R as EditorLayer,
|
|
7
7
|
T as PowerPointViewer,
|
|
8
|
-
|
|
8
|
+
c as PresentationLoader,
|
|
9
9
|
u as RemoteSelectionOverlay,
|
|
10
10
|
y as Ribbon,
|
|
11
11
|
V as SlideCanvas,
|
|
12
12
|
C as ViewerState,
|
|
13
13
|
A as ViewerToolbar,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
$ as clampSlideIndex,
|
|
15
|
+
w as createSvelteAiBridge,
|
|
16
|
+
m as createViewerState,
|
|
17
|
+
v as exportAllSlidesToSvg,
|
|
18
|
+
x as exportAllSlidesToSvgBlobs,
|
|
19
|
+
P as exportSlideAsSvg,
|
|
20
|
+
d as exportSlideToSvg,
|
|
21
|
+
g as exportSlideToSvgBlob,
|
|
22
22
|
b as fitScale,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
p as resolveNavigationKey,
|
|
24
|
+
l as zoomInPercent,
|
|
25
|
+
S as zoomOutPercent
|
|
26
26
|
};
|