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
package/dist/i18n/zh-CN.mjs
CHANGED
|
@@ -1737,6 +1737,12 @@ var translations14 = {
|
|
|
1737
1737
|
"pptx.compare.noDifferences": "\u6CA1\u6709\u5DEE\u5F02",
|
|
1738
1738
|
"pptx.compare.summary": "\u6DFB\u52A0\u4E86 {{added}}\uFF0C\u5220\u9664\u4E86 {{removed}}\uFF0C\u66F4\u6539\u4E86 {{changed}}",
|
|
1739
1739
|
"pptx.compare.title": "\u6BD4\u8F83",
|
|
1740
|
+
"pptx.canvasContextMenu.ariaLabel": "\u753B\u5E03\u53F3\u952E\u83DC\u5355",
|
|
1741
|
+
"pptx.canvasContextMenu.formatBackground": "\u8BBE\u7F6E\u80CC\u666F\u683C\u5F0F...",
|
|
1742
|
+
"pptx.canvasContextMenu.gridAndGuides": "\u7F51\u683C\u548C\u53C2\u8003\u7EBF",
|
|
1743
|
+
"pptx.canvasContextMenu.layout": "\u7248\u5F0F",
|
|
1744
|
+
"pptx.canvasContextMenu.resetSlide": "\u91CD\u7F6E\u5E7B\u706F\u7247",
|
|
1745
|
+
"pptx.canvasContextMenu.ruler": "\u6807\u5C3A",
|
|
1740
1746
|
"pptx.contextMenu.addComment": "\u6DFB\u52A0\u6279\u6CE8",
|
|
1741
1747
|
"pptx.contextMenu.bringForward": "\u4E0A\u79FB\u4E00\u5C42",
|
|
1742
1748
|
"pptx.contextMenu.bringToFront": "\u7F6E\u4E8E\u9876\u5C42",
|
|
@@ -1746,7 +1752,10 @@ var translations14 = {
|
|
|
1746
1752
|
"pptx.contextMenu.deleteColumn": "\u5220\u9664\u5217",
|
|
1747
1753
|
"pptx.contextMenu.deleteRow": "\u5220\u9664\u884C",
|
|
1748
1754
|
"pptx.contextMenu.duplicate": "\u590D\u5236",
|
|
1755
|
+
"pptx.contextMenu.editAltText": "\u7F16\u8F91\u66FF\u6362\u6587\u5B57...",
|
|
1749
1756
|
"pptx.contextMenu.editHyperlink": "\u7F16\u8F91\u8D85\u94FE\u63A5",
|
|
1757
|
+
"pptx.contextMenu.editText": "\u7F16\u8F91\u6587\u5B57",
|
|
1758
|
+
"pptx.contextMenu.formatShape": "\u8BBE\u7F6E\u5F62\u72B6\u683C\u5F0F...",
|
|
1750
1759
|
"pptx.contextMenu.group": "\u7EC4\u5408",
|
|
1751
1760
|
"pptx.contextMenu.insertColumnLeft": "\u5411\u5DE6\u63D2\u5165\u5217",
|
|
1752
1761
|
"pptx.contextMenu.insertColumnRight": "\u5728\u53F3\u4FA7\u63D2\u5165\u5217",
|
|
@@ -1755,10 +1764,18 @@ var translations14 = {
|
|
|
1755
1764
|
"pptx.contextMenu.mergeCells": "\u5411\u53F3\u5408\u5E76",
|
|
1756
1765
|
"pptx.contextMenu.mergeSelectedCells": "\u5408\u5E76\u9009\u5B9A\u7684\u5355\u5143\u683C",
|
|
1757
1766
|
"pptx.contextMenu.paste": "\u7C98\u8D34",
|
|
1767
|
+
"pptx.contextMenu.saveAsPicture": "\u53E6\u5B58\u4E3A\u56FE\u7247...",
|
|
1758
1768
|
"pptx.contextMenu.sendBackward": "\u4E0B\u79FB\u4E00\u5C42",
|
|
1759
1769
|
"pptx.contextMenu.sendToBack": "\u7F6E\u4E8E\u5E95\u5C42",
|
|
1770
|
+
"pptx.contextMenu.sizeAndPosition": "\u5927\u5C0F\u548C\u4F4D\u7F6E...",
|
|
1760
1771
|
"pptx.contextMenu.splitCell": "\u62C6\u5206\u5355\u5143\u683C",
|
|
1761
1772
|
"pptx.contextMenu.ungroup": "\u53D6\u6D88\u7EC4\u5408",
|
|
1773
|
+
"pptx.pasteSpecial.dialogTitle": "\u9009\u62E9\u6027\u7C98\u8D34",
|
|
1774
|
+
"pptx.pasteSpecial.keepSourceFormatting": "\u4FDD\u7559\u6E90\u683C\u5F0F",
|
|
1775
|
+
"pptx.pasteSpecial.keepTextOnly": "\u53EA\u4FDD\u7559\u6587\u672C",
|
|
1776
|
+
"pptx.pasteSpecial.optionsLabel": "\u7C98\u8D34\u9009\u9879",
|
|
1777
|
+
"pptx.pasteSpecial.picture": "\u56FE\u7247",
|
|
1778
|
+
"pptx.pasteSpecial.useDestinationTheme": "\u4F7F\u7528\u76EE\u6807\u4E3B\u9898",
|
|
1762
1779
|
"pptx.hyperlink.actionEndShow": "\u7ED3\u675F\u653E\u6620",
|
|
1763
1780
|
"pptx.hyperlink.actionFirstSlide": "\u7B2C\u4E00\u5F20\u5E7B\u706F\u7247",
|
|
1764
1781
|
"pptx.hyperlink.actionLabel": "\u64CD\u4F5C",
|
|
@@ -2098,6 +2115,7 @@ var translations17 = {
|
|
|
2098
2115
|
"pptx.media.startAutomatically": "\u81EA\u52A8",
|
|
2099
2116
|
"pptx.media.playAcrossSlides": "\u8DE8\u5E7B\u706F\u7247\u64AD\u653E",
|
|
2100
2117
|
"pptx.media.fullScreen": "\u5168\u5C4F",
|
|
2118
|
+
"pptx.media.onlineVideoTitle": "\u5728\u7EBF\u89C6\u9891",
|
|
2101
2119
|
"pptx.media.hideWhenNotPlaying": "\u4E0D\u64AD\u653E\u65F6\u9690\u85CF",
|
|
2102
2120
|
"pptx.media.bookmarks": "\u4E66\u7B7E",
|
|
2103
2121
|
"pptx.media.bookmark": "\u4E66\u7B7E",
|
|
@@ -2459,6 +2477,15 @@ var translations19 = {
|
|
|
2459
2477
|
"pptx.slideSorter.contextMenu.hideSlides": "\u9690\u85CF\u5E7B\u706F\u7247",
|
|
2460
2478
|
"pptx.slideSorter.contextMenu.paste": "\u7C98\u8D34",
|
|
2461
2479
|
"pptx.slideSorter.contextMenu.showSlides": "\u663E\u793A\u5E7B\u706F\u7247",
|
|
2480
|
+
"pptx.slidesPane.contextMenu.newSlide": "\u65B0\u5EFA\u5E7B\u706F\u7247",
|
|
2481
|
+
"pptx.slidesPane.contextMenu.duplicate": "\u590D\u5236\u5E7B\u706F\u7247",
|
|
2482
|
+
"pptx.slidesPane.contextMenu.duplicateCount": "\u590D\u5236 {{count}} \u5F20\u5E7B\u706F\u7247",
|
|
2483
|
+
"pptx.slidesPane.contextMenu.delete": "\u5220\u9664\u5E7B\u706F\u7247",
|
|
2484
|
+
"pptx.slidesPane.contextMenu.deleteCount": "\u5220\u9664 {{count}} \u5F20\u5E7B\u706F\u7247",
|
|
2485
|
+
"pptx.slidesPane.contextMenu.layout": "\u7248\u5F0F",
|
|
2486
|
+
"pptx.slidesPane.contextMenu.hide": "\u9690\u85CF\u5E7B\u706F\u7247",
|
|
2487
|
+
"pptx.slidesPane.contextMenu.show": "\u663E\u793A\u5E7B\u706F\u7247",
|
|
2488
|
+
"pptx.slidesPane.contextMenu.addSection": "\u6DFB\u52A0\u8282",
|
|
2462
2489
|
"pptx.mobileBar.ariaLabel": "\u7F16\u8F91\u5668\u64CD\u4F5C",
|
|
2463
2490
|
"pptx.mobileBar.slideControls": "\u5E7B\u706F\u7247\u63A7\u4EF6",
|
|
2464
2491
|
"pptx.mobileBar.previousSlide": "\u4E0A\u4E00\u5F20\u5E7B\u706F\u7247",
|
|
@@ -2740,6 +2767,12 @@ var translations21 = {
|
|
|
2740
2767
|
"pptx.transition.morphOption.byObject": "\u6309\u5BF9\u8C61",
|
|
2741
2768
|
"pptx.transition.morphOption.byWord": "\u6309\u5B57\u8BCD",
|
|
2742
2769
|
"pptx.transition.morphOption.byChar": "\u6309\u5B57\u7B26",
|
|
2770
|
+
"pptx.transition.pattern": "\u56FE\u6848",
|
|
2771
|
+
"pptx.transition.pattern.diamond": "\u83F1\u5F62",
|
|
2772
|
+
"pptx.transition.pattern.hexagon": "\u516D\u8FB9\u5F62",
|
|
2773
|
+
"pptx.transition.pattern.strip": "\u6761\u5E26",
|
|
2774
|
+
"pptx.transition.pattern.rectangle": "\u77E9\u5F62",
|
|
2775
|
+
"pptx.transition.thruBlk": "\u7ECF\u9ED1\u573A\u8FC7\u6E21",
|
|
2743
2776
|
"pptx.keepAnnotations.title": "\u4FDD\u7559\u58A8\u8FF9\u6807\u6CE8\uFF1F",
|
|
2744
2777
|
"pptx.keepAnnotations.description": "\u60A8\u5728 {{slides}} \u5F20\u5E7B\u706F\u7247\u4E0A\u6DFB\u52A0\u4E86 {{count}} \u6761\u58A8\u8FF9\u6807\u6CE8\u3002\u8981\u5C06\u5176\u4FDD\u7559\u5728\u5E7B\u706F\u7247\u4E0A\uFF0C\u8FD8\u662F\u653E\u5F03\uFF1F",
|
|
2745
2778
|
"pptx.keepAnnotations.discard": "\u653E\u5F03",
|
package/dist/i18n.js
CHANGED
package/dist/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
|
/**
|
|
@@ -9275,7 +9354,12 @@ interface PptxSlideTransition {
|
|
|
9275
9354
|
spokes?: number;
|
|
9276
9355
|
/** Pattern type for shred transition. */
|
|
9277
9356
|
pattern?: string;
|
|
9278
|
-
/**
|
|
9357
|
+
/**
|
|
9358
|
+
* Through-black flag (OOXML `@_thruBlk`). COM-verified to actually apply to
|
|
9359
|
+
* `cut` and `fade` (see {@link TRANSITION_THRUBLK_TYPES}); parsed generically
|
|
9360
|
+
* off any standard transition child so an unexpected authored value still
|
|
9361
|
+
* round-trips.
|
|
9362
|
+
*/
|
|
9279
9363
|
thruBlk?: boolean;
|
|
9280
9364
|
/** Split orientation (horz/vert) parsed from `@_orient`. */
|
|
9281
9365
|
orient?: PptxSplitOrientation;
|
package/dist/index.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { $
|
|
2
|
-
import { i as I } from "./translator-
|
|
3
|
-
import { a as
|
|
1
|
+
import { $t as e, Ap as a, Fh as o, Hl as t, Ih as i, Lh as r, Nl as l, Ph as n, Rh as S, Sp as m, Ul as d, Uo as p, cs as h, dd as v, ds as T, fs as g, gs as P, in as c, kl as u, ls as f, oc as A, qu as C, sh as N, tf as k, vc as E, zc as D, zl as b } from "./transition-overlay-BfpjfjU4.js";
|
|
2
|
+
import { i as I } from "./translator-C-KdhJw4.js";
|
|
3
|
+
import { M as B, a as L, c as O, l as R, o as _, s as V, t as w } from "./export-Bln1wHMQ.js";
|
|
4
4
|
import "./i18n.js";
|
|
5
5
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
6
|
+
e as PPTX_OPEN_ACCEPT,
|
|
7
|
+
c as PRESENTATION_OPEN_EXTENSIONS,
|
|
8
|
+
w as PowerPointViewer,
|
|
9
|
+
p as createImageElementFromFile,
|
|
10
|
+
h as defaultCssVars,
|
|
11
|
+
f as defaultRadius,
|
|
12
|
+
T as defaultThemeColors,
|
|
13
|
+
g as deleteAutosaveSnapshot,
|
|
14
|
+
P as describeCollaborationShellState,
|
|
15
|
+
L as exportAllSlidesToSvg,
|
|
16
|
+
_ as exportAllSlidesToSvgBlobs,
|
|
17
|
+
V as exportSlideAsSvg,
|
|
18
|
+
O as exportSlideToSvg,
|
|
19
|
+
R as exportSlideToSvgBlob,
|
|
20
|
+
A as forgetSessionDeck,
|
|
21
|
+
E as getAutosaveSnapshot,
|
|
22
|
+
D as getSessionTabId,
|
|
23
|
+
u as isLegacyBinaryPresentation,
|
|
24
|
+
l as isSupportedPresentationFile,
|
|
25
|
+
b as listAutosaveSnapshots,
|
|
26
|
+
t as loadPresentationDeck,
|
|
27
|
+
d as loadSessionDeck,
|
|
28
|
+
C as parsePresentationSessionId,
|
|
29
|
+
v as presentationBaseName,
|
|
30
30
|
I as registerTranslations,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
k as rememberSessionDeck,
|
|
32
|
+
B as renderToCanvas,
|
|
33
|
+
m as restoreSessionDeck,
|
|
34
|
+
a as savedPresentationFileName,
|
|
35
|
+
N as themeToCssVars,
|
|
36
|
+
n as vermilionDarkColors,
|
|
37
|
+
o as vermilionDarkTheme,
|
|
38
|
+
i as vermilionLightColors,
|
|
39
|
+
r as vermilionLightTheme,
|
|
40
|
+
S as vermilionRadius
|
|
41
41
|
};
|
package/dist/internals.d.ts
CHANGED
|
@@ -1690,6 +1690,16 @@ interface TextStyle {
|
|
|
1690
1690
|
hyperlinkHighlightClick?: boolean;
|
|
1691
1691
|
/** Whether hyperlink ends a sound (`a:hlinkClick/@endSnd`). */
|
|
1692
1692
|
hyperlinkEndSound?: boolean;
|
|
1693
|
+
/**
|
|
1694
|
+
* Raw `a:hlinkClick/a:extLst` child, preserved verbatim for round-trip.
|
|
1695
|
+
* Carries vendor extensions this engine does not interpret, most commonly
|
|
1696
|
+
* `ahyp:hlinkClr` (Microsoft's "hyperlink color" extension,
|
|
1697
|
+
* `{A12FA001-AC4F-418D-AE19-62706E023703}`), which records whether a
|
|
1698
|
+
* hyperlink run should paint with the theme's text colour instead of the
|
|
1699
|
+
* hyperlink colour. Dropping the whole `a:extLst` silently reverted such a
|
|
1700
|
+
* run to the default (themed) hyperlink colour on save.
|
|
1701
|
+
*/
|
|
1702
|
+
hyperlinkExtensionXml?: XmlObject;
|
|
1693
1703
|
/** Kumimoji (ideographic text combining) flag for vertical CJK text (`a:rPr/@kumimoji`). */
|
|
1694
1704
|
kumimoji?: boolean;
|
|
1695
1705
|
/** Normalize height flag (`a:rPr/@normalizeH`). */
|
|
@@ -1792,6 +1802,15 @@ interface TextStyle {
|
|
|
1792
1802
|
textInnerShadowOffsetX?: number;
|
|
1793
1803
|
/** Text inner shadow vertical offset in px. */
|
|
1794
1804
|
textInnerShadowOffsetY?: number;
|
|
1805
|
+
/**
|
|
1806
|
+
* Original inner-shadow colour-choice XML (`a:innerShdw`'s
|
|
1807
|
+
* `a:prstClr`/`a:schemeClr`/`a:srgbClr`/… child), preserved verbatim so an
|
|
1808
|
+
* authored preset or theme colour round-trips instead of always being
|
|
1809
|
+
* re-serialized as a resolved `a:srgbClr`. Mirrors {@link textGlowColorXml}.
|
|
1810
|
+
*/
|
|
1811
|
+
textInnerShadowColorXml?: XmlObject;
|
|
1812
|
+
/** Theme colour slot the inner shadow colour resolved from, when it is `a:schemeClr`. */
|
|
1813
|
+
textInnerShadowColorRef?: PptxThemeColorRef;
|
|
1795
1814
|
/** Preset shadow type from `a:prstShdw/@prst` (e.g. "shdw1"..."shdw20"). */
|
|
1796
1815
|
textPresetShadowName?: string;
|
|
1797
1816
|
/** Preset shadow colour as hex string. */
|
|
@@ -1804,6 +1823,18 @@ interface TextStyle {
|
|
|
1804
1823
|
textPresetShadowDirection?: number;
|
|
1805
1824
|
/** Text blur effect radius in px (`a:blur`). */
|
|
1806
1825
|
textBlurRadius?: number;
|
|
1826
|
+
/**
|
|
1827
|
+
* Text soft-edge radius in px (`a:softEdge/@rad`).
|
|
1828
|
+
*
|
|
1829
|
+
* Feathers the glyph's own edges (a uniform blur of the alpha silhouette,
|
|
1830
|
+
* the same effect a shape's `a:softEdge` gives its fill), unrelated to
|
|
1831
|
+
* `a:blur` (which blurs the whole run, colour included) or a shadow. Never
|
|
1832
|
+
* parsed before this field existed, so `a:softEdge` on a run was silently
|
|
1833
|
+
* dropped: PowerPoint fades the glyphs to near-transparent at their
|
|
1834
|
+
* outline (COM-verified, `audit-text` slide 14's "SOFTEDGE" run), while
|
|
1835
|
+
* the viewer painted them fully crisp.
|
|
1836
|
+
*/
|
|
1837
|
+
textSoftEdgeRadius?: number;
|
|
1807
1838
|
/**
|
|
1808
1839
|
* Raw `a:effectDag` XML node from `a:rPr`, preserved verbatim for
|
|
1809
1840
|
* round-trip serialisation. Mirrors the shape-level
|
|
@@ -1843,6 +1874,15 @@ interface TextStyle {
|
|
|
1843
1874
|
textGlowRadius?: number;
|
|
1844
1875
|
/** Text glow opacity (0-1). */
|
|
1845
1876
|
textGlowOpacity?: number;
|
|
1877
|
+
/**
|
|
1878
|
+
* Original glow colour-choice XML (`a:glow`'s `a:schemeClr`/`a:srgbClr`/…
|
|
1879
|
+
* child), preserved verbatim so a theme colour reference round-trips
|
|
1880
|
+
* instead of always being re-serialized as a resolved `a:srgbClr` (which
|
|
1881
|
+
* cuts the glow off from theme/Recolor changes).
|
|
1882
|
+
*/
|
|
1883
|
+
textGlowColorXml?: XmlObject;
|
|
1884
|
+
/** Theme colour slot the glow colour resolved from, when it is `a:schemeClr`. */
|
|
1885
|
+
textGlowColorRef?: PptxThemeColorRef;
|
|
1846
1886
|
/** Text reflection enabled flag. */
|
|
1847
1887
|
textReflection?: boolean;
|
|
1848
1888
|
/** Text reflection blur radius in px. */
|
|
@@ -1979,6 +2019,18 @@ interface BulletInfo {
|
|
|
1979
2019
|
paragraphIndex?: number;
|
|
1980
2020
|
/** Bullet font family from `a:buFont`. */
|
|
1981
2021
|
fontFamily?: string;
|
|
2022
|
+
/**
|
|
2023
|
+
* PANOSE font-matching hint from `a:buFont/@panose`. `a:buFont` is a
|
|
2024
|
+
* CT_TextFont, the same complex type as `a:latin`/`a:ea`/`a:cs`/`a:sym`
|
|
2025
|
+
* (which carry the equivalent `TextStyle.latinFontPanose` etc.), so a
|
|
2026
|
+
* bullet's own PANOSE/pitch-family/charset decide the fallback glyph
|
|
2027
|
+
* PowerPoint substitutes when the named typeface is missing.
|
|
2028
|
+
*/
|
|
2029
|
+
fontPanose?: string;
|
|
2030
|
+
/** Font pitch-and-family byte from `a:buFont/@pitchFamily`. */
|
|
2031
|
+
fontPitchFamily?: number;
|
|
2032
|
+
/** Font character-set byte from `a:buFont/@charset`. */
|
|
2033
|
+
fontCharset?: number;
|
|
1982
2034
|
/** Bullet size as percentage of text font size from `a:buSzPct`. */
|
|
1983
2035
|
sizePercent?: number;
|
|
1984
2036
|
/** Bullet size in points from `a:buSzPts`. */
|
|
@@ -3292,6 +3344,15 @@ interface PptxChartHistogramOptions {
|
|
|
3292
3344
|
intervalClosed?: 'l' | 'r';
|
|
3293
3345
|
underflow?: number | 'auto';
|
|
3294
3346
|
overflow?: number | 'auto';
|
|
3347
|
+
/**
|
|
3348
|
+
* `c:layoutPr/cx:aggregation` was authored instead of `cx:binning`: the
|
|
3349
|
+
* raw rows are CATEGORICAL (a Pareto chart's `clusteredColumn` series
|
|
3350
|
+
* counting occurrences of each authored category, COM-verified against
|
|
3351
|
+
* charts-com.pptx slide 31 / chartEx6.xml), not a numeric range to bin.
|
|
3352
|
+
* Mutually exclusive with `binSize`/`binCount`/`intervalClosed`, which
|
|
3353
|
+
* only apply to a true numeric-value histogram.
|
|
3354
|
+
*/
|
|
3355
|
+
aggregateByCategory?: boolean;
|
|
3295
3356
|
}
|
|
3296
3357
|
/** Office 2016 ChartEx waterfall series layout options. */
|
|
3297
3358
|
interface PptxChartWaterfallOptions {
|
|
@@ -3956,6 +4017,18 @@ interface PptxChartData {
|
|
|
3956
4017
|
* the source" and callers should treat it as `true`. Surface only.
|
|
3957
4018
|
*/
|
|
3958
4019
|
wireframe?: boolean;
|
|
4020
|
+
/**
|
|
4021
|
+
* Whether the surface chart is the 2-D "top view" projection
|
|
4022
|
+
* (`c:surfaceChart`, PowerPoint's "Contour" / "Wireframe Contour" types)
|
|
4023
|
+
* rather than the 3-D isometric one (`c:surface3DChart`, "3-D Surface" /
|
|
4024
|
+
* "3-D Surface (Wireframe)"). Both element names map to chart type
|
|
4025
|
+
* `"surface"`; this bit is the only thing that tells the renderer which
|
|
4026
|
+
* of the two projections PowerPoint actually drew, since a top-view
|
|
4027
|
+
* surface has no Z-axis at all (only category and series axes) while the
|
|
4028
|
+
* 3-D one draws all three. Surface only; `undefined` for every other
|
|
4029
|
+
* chart type.
|
|
4030
|
+
*/
|
|
4031
|
+
surfaceTopView?: boolean;
|
|
3959
4032
|
/**
|
|
3960
4033
|
* Scatter presentation mode (`c:scatterChart/c:scatterStyle/@val`).
|
|
3961
4034
|
*
|
|
@@ -6913,11 +6986,17 @@ interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
|
|
|
6913
6986
|
* `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
|
|
6914
6987
|
* three Zoom kinds): whether continuing forward from the destination slide
|
|
6915
6988
|
* during a live show returns to this Zoom's origin slide instead of
|
|
6916
|
-
* advancing linearly through the deck.
|
|
6917
|
-
*
|
|
6918
|
-
*
|
|
6919
|
-
*
|
|
6920
|
-
*
|
|
6989
|
+
* advancing linearly through the deck. The schema declares `<xsd:attribute
|
|
6990
|
+
* name="returnToParent" type="xsd:boolean" use="optional" default="true"/>`,
|
|
6991
|
+
* so an ABSENT attribute means `true`, not `false`. This codebase still
|
|
6992
|
+
* leaves the field `undefined` (rather than fabricating `true`) when the
|
|
6993
|
+
* source XML omits it, so a round-trip never invents an attribute the
|
|
6994
|
+
* source never had; a CONSUMER of this field (playback, e.g.
|
|
6995
|
+
* `pptx-viewer-shared`'s `resolveZoomNavigationTarget`) must read
|
|
6996
|
+
* `returnToParent !== false`, not `Boolean(returnToParent)`, to get the
|
|
6997
|
+
* spec-correct effective value. For `zoomType: 'summary'`, this mirrors the
|
|
6998
|
+
* first tile's own value; see {@link SummaryZoomTarget.returnToParent} for
|
|
6999
|
+
* the per-tile value.
|
|
6921
7000
|
*/
|
|
6922
7001
|
returnToParent?: boolean;
|
|
6923
7002
|
/**
|
|
@@ -8146,7 +8225,12 @@ interface PptxSlideTransition {
|
|
|
8146
8225
|
spokes?: number;
|
|
8147
8226
|
/** Pattern type for shred transition. */
|
|
8148
8227
|
pattern?: string;
|
|
8149
|
-
/**
|
|
8228
|
+
/**
|
|
8229
|
+
* Through-black flag (OOXML `@_thruBlk`). COM-verified to actually apply to
|
|
8230
|
+
* `cut` and `fade` (see {@link TRANSITION_THRUBLK_TYPES}); parsed generically
|
|
8231
|
+
* off any standard transition child so an unexpected authored value still
|
|
8232
|
+
* round-trips.
|
|
8233
|
+
*/
|
|
8150
8234
|
thruBlk?: boolean;
|
|
8151
8235
|
/** Split orientation (horz/vert) parsed from `@_orient`. */
|
|
8152
8236
|
orient?: PptxSplitOrientation;
|
|
@@ -8589,7 +8673,7 @@ declare const P14_TRANSITION_KEYFRAMES = "\n/* ── Conveyor (translate X with
|
|
|
8589
8673
|
/** Part 2: prism / reveal / ripple / shred / switch / vortex / warp / wheelReverse / window. */
|
|
8590
8674
|
declare const P14_TRANSITION_KEYFRAMES_2 = "\n/* ── Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) ─────────────────────────────────────── */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* ── Reveal (slide away reveal) ──────────────────────────────────── */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* ── Ripple (expanding ring clip-path) ───────────────────────────── */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* ── Shred (fragmented clip-path pieces) ─────────────────────────── */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Switch (flip/rotate swap) ───────────────────────────────────── */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* ── Vortex (rotate + scale spiral) ──────────────────────────────── */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* ── Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) ────────── */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* ── WheelReverse (reverse wheel rotation) ───────────────────────── */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* ── Window (scale from center with border) ──────────────────────────\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n";
|
|
8591
8675
|
/** Both p14 keyframe blocks concatenated, for single `<style>` injection. */
|
|
8592
|
-
declare const P14_TRANSITION_KEYFRAMES_ALL = "\n/* ── Conveyor (translate X with staggered timing) ──────────────────── */\n@keyframes pptx-tr-conveyor-in-from-right {\n\tfrom { transform: translateX(100%) rotateY(-30deg); }\n\t60% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-left {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(-100%) rotateY(30deg); }\n}\n@keyframes pptx-tr-conveyor-in-from-left {\n\tfrom { transform: translateX(-100%) rotateY(30deg); }\n\t60% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-right {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(100%) rotateY(-30deg); }\n}\n\n/* ── Doors (clip-path from center split) ──────────────────────────────\n MEASURED via COM CreateVideo: PowerPoint's `dir=\"horz\"` names a\n HORIZONTAL split line (two panels stacked top/bottom, opening upward and\n downward), and `dir=\"vert\"` a VERTICAL split line (panels side by side,\n opening left and right) - the opposite of what \"clips left/right\" vs\n \"clips top/bottom\" would suggest at a glance. Keep the clip-path bodies\n matched to the MEASURED direction, not the intuitive one. */\n@keyframes pptx-tr-doors-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-doors-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n\n/* ── Ferris (rotate elements around center) ───────────────────────── */\n@keyframes pptx-tr-ferris-in-from-right {\n\tfrom { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-left {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n}\n@keyframes pptx-tr-ferris-in-from-left {\n\tfrom { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-right {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n}\n\n/* ── Flash (bright flash opacity burst) ──────────────────────────── */\n@keyframes pptx-tr-flash-white {\n\t0% { opacity: 1; }\n\t30% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n@keyframes pptx-tr-flash-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t70% { opacity: 1; }\n\t100% { opacity: 1; }\n}\n\n/* ── Flythrough (scale + translate Z-axis feel) ──────────────────── */\n@keyframes pptx-tr-flythrough-in {\n\tfrom { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n}\n@keyframes pptx-tr-flythrough-reverse-in {\n\tfrom { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-reverse-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n}\n\n/* ── Gallery (translate with perspective) ─────────────────────────── */\n@keyframes pptx-tr-gallery-in-from-right {\n\tfrom { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-left {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n}\n@keyframes pptx-tr-gallery-in-from-left {\n\tfrom { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-right {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n}\n\n/* ── Glitter (particle dissolve effect) ──────────────────────────── */\n@keyframes pptx-tr-glitter-in {\n\tfrom { opacity: 0; filter: brightness(1.5) contrast(1.3) blur(2px); }\n\t60% { opacity: 0.7; filter: brightness(1.2) contrast(1.1) blur(1px); }\n\tto { opacity: 1; filter: brightness(1) contrast(1) blur(0); }\n}\n\n/* ── Honeycomb (hexagonal reveal) ────────────────────────────────── */\n@keyframes pptx-tr-honeycomb-in {\n\tfrom {\n\t\tclip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);\n\t\topacity: 0;\n\t}\n\tto {\n\t\tclip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n\t\topacity: 1;\n\t}\n}\n@keyframes pptx-tr-honeycomb-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Pan (large-scale translate) ─────────────────────────────────── */\n@keyframes pptx-tr-pan-from-right {\n\tfrom { transform: translateX(100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n@keyframes pptx-tr-pan-from-left {\n\tfrom { transform: translateX(-100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-pan-from-bottom {\n\tfrom { transform: translateY(100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-top {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(-100%); }\n}\n@keyframes pptx-tr-pan-from-top {\n\tfrom { transform: translateY(-100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-bottom {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(100%); }\n}\n\n\n/* ── Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) ─────────────────────────────────────── */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* ── Reveal (slide away reveal) ──────────────────────────────────── */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* ── Ripple (expanding ring clip-path) ───────────────────────────── */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* ── Shred (fragmented clip-path pieces) ─────────────────────────── */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Switch (flip/rotate swap) ───────────────────────────────────── */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* ── Vortex (rotate + scale spiral) ──────────────────────────────── */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* ── Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) ────────── */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* ── WheelReverse (reverse wheel rotation) ───────────────────────── */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* ── Window (scale from center with border) ──────────────────────────\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n";
|
|
8676
|
+
declare const P14_TRANSITION_KEYFRAMES_ALL = "\n/* ── Conveyor (translate X with staggered timing) ──────────────────── */\n@keyframes pptx-tr-conveyor-in-from-right {\n\tfrom { transform: translateX(100%) rotateY(-30deg); }\n\t60% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-left {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(-100%) rotateY(30deg); }\n}\n@keyframes pptx-tr-conveyor-in-from-left {\n\tfrom { transform: translateX(-100%) rotateY(30deg); }\n\t60% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-right {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(100%) rotateY(-30deg); }\n}\n\n/* ── Doors (clip-path from center split) ──────────────────────────────\n MEASURED via COM CreateVideo: PowerPoint's `dir=\"horz\"` names a\n HORIZONTAL split line (two panels stacked top/bottom, opening upward and\n downward), and `dir=\"vert\"` a VERTICAL split line (panels side by side,\n opening left and right) - the opposite of what \"clips left/right\" vs\n \"clips top/bottom\" would suggest at a glance. Keep the clip-path bodies\n matched to the MEASURED direction, not the intuitive one. */\n@keyframes pptx-tr-doors-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-doors-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n\n/* ── Ferris (rotate elements around center) ───────────────────────── */\n@keyframes pptx-tr-ferris-in-from-right {\n\tfrom { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-left {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n}\n@keyframes pptx-tr-ferris-in-from-left {\n\tfrom { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-right {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n}\n\n/* ── Flash (bright flash opacity burst) ──────────────────────────── */\n@keyframes pptx-tr-flash-white {\n\t0% { opacity: 1; }\n\t30% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n@keyframes pptx-tr-flash-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t70% { opacity: 1; }\n\t100% { opacity: 1; }\n}\n\n/* ── Flythrough (scale + translate Z-axis feel) ──────────────────── */\n@keyframes pptx-tr-flythrough-in {\n\tfrom { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n}\n@keyframes pptx-tr-flythrough-reverse-in {\n\tfrom { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-reverse-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n}\n\n/* ── Gallery (translate with perspective) ─────────────────────────── */\n@keyframes pptx-tr-gallery-in-from-right {\n\tfrom { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-left {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n}\n@keyframes pptx-tr-gallery-in-from-left {\n\tfrom { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-right {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n}\n\n/* ── Glitter (particle dissolve effect) ──────────────────────────── */\n@keyframes pptx-tr-glitter-in {\n\tfrom { opacity: 0; filter: brightness(1.5) contrast(1.3) blur(2px); }\n\t60% { opacity: 0.7; filter: brightness(1.2) contrast(1.1) blur(1px); }\n\tto { opacity: 1; filter: brightness(1) contrast(1) blur(0); }\n}\n\n/* ── Honeycomb (hexagonal reveal) ────────────────────────────────── */\n@keyframes pptx-tr-honeycomb-in {\n\tfrom {\n\t\tclip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);\n\t\topacity: 0;\n\t}\n\tto {\n\t\tclip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n\t\topacity: 1;\n\t}\n}\n@keyframes pptx-tr-honeycomb-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Pan (large-scale translate) ─────────────────────────────────── */\n@keyframes pptx-tr-pan-from-right {\n\tfrom { transform: translateX(100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n@keyframes pptx-tr-pan-from-left {\n\tfrom { transform: translateX(-100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-pan-from-bottom {\n\tfrom { transform: translateY(100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-top {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(-100%); }\n}\n@keyframes pptx-tr-pan-from-top {\n\tfrom { transform: translateY(-100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-bottom {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(100%); }\n}\n\n\n/* ── Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) ─────────────────────────────────────── */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* ── Reveal (slide away reveal) ──────────────────────────────────── */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* ── Ripple (expanding ring clip-path) ───────────────────────────── */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* ── Shred (fragmented clip-path pieces) ─────────────────────────── */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Switch (flip/rotate swap) ───────────────────────────────────── */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* ── Vortex (rotate + scale spiral) ──────────────────────────────── */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* ── Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) ────────── */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* ── WheelReverse (reverse wheel rotation) ───────────────────────── */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* ── Window (scale from center with border) ──────────────────────────\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n\n\n@keyframes pptx-tr-vortex-in-left { from { transform: translateX(-40%) rotate(720deg) scale(0); opacity: 0; } to { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-left { from { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateX(-40%) rotate(-720deg) scale(0); opacity: 0; } }\n@keyframes pptx-tr-vortex-in-right { from { transform: translateX(40%) rotate(-720deg) scale(0); opacity: 0; } to { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-right { from { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateX(40%) rotate(720deg) scale(0); opacity: 0; } }\n@keyframes pptx-tr-vortex-in-up { from { transform: translateY(-40%) rotate(720deg) scale(0); opacity: 0; } to { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-up { from { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateY(-40%) rotate(-720deg) scale(0); opacity: 0; } }\n@keyframes pptx-tr-vortex-in-down { from { transform: translateY(40%) rotate(-720deg) scale(0); opacity: 0; } to { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-down { from { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateY(40%) rotate(720deg) scale(0); opacity: 0; } }\n\n\n@keyframes pptx-tr-ripple-in-lu { from { clip-path: circle(0% at 0% 0%); opacity: 0.5; } 30% { clip-path: circle(20% at 0% 0%); opacity: 0.7; } 60% { clip-path: circle(55% at 0% 0%); opacity: 0.9; } to { clip-path: circle(150% at 0% 0%); opacity: 1; } }\n@keyframes pptx-tr-ripple-in-ru { from { clip-path: circle(0% at 100% 0%); opacity: 0.5; } 30% { clip-path: circle(20% at 100% 0%); opacity: 0.7; } 60% { clip-path: circle(55% at 100% 0%); opacity: 0.9; } to { clip-path: circle(150% at 100% 0%); opacity: 1; } }\n@keyframes pptx-tr-ripple-in-ld { from { clip-path: circle(0% at 0% 100%); opacity: 0.5; } 30% { clip-path: circle(20% at 0% 100%); opacity: 0.7; } 60% { clip-path: circle(55% at 0% 100%); opacity: 0.9; } to { clip-path: circle(150% at 0% 100%); opacity: 1; } }\n@keyframes pptx-tr-ripple-in-rd { from { clip-path: circle(0% at 100% 100%); opacity: 0.5; } 30% { clip-path: circle(20% at 100% 100%); opacity: 0.7; } 60% { clip-path: circle(55% at 100% 100%); opacity: 0.9; } to { clip-path: circle(150% at 100% 100%); opacity: 1; } }\n\n\n@keyframes pptx-tr-glitter-diamond-in-l { from { opacity: 0; transform: translateX(-6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateX(-2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-diamond-in-r { from { opacity: 0; transform: translateX(6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateX(2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-diamond-in-u { from { opacity: 0; transform: translateY(-6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateY(-2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-diamond-in-d { from { opacity: 0; transform: translateY(6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateY(2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-hexagon-in-l { from { opacity: 0; transform: translateX(-6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateX(-2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n@keyframes pptx-tr-glitter-hexagon-in-r { from { opacity: 0; transform: translateX(6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateX(2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n@keyframes pptx-tr-glitter-hexagon-in-u { from { opacity: 0; transform: translateY(-6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateY(-2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n@keyframes pptx-tr-glitter-hexagon-in-d { from { opacity: 0; transform: translateY(6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateY(2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n";
|
|
8593
8677
|
//#endregion
|
|
8594
8678
|
//#region src/render/p14-transition-css.d.ts
|
|
8595
8679
|
/**
|
package/dist/internals.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { G as a, Jt as t, Mc as T, Mn as i, Nn as n, Pt as S, Rf as e, Vc as _, Yt as A, er as E, ft as o, gn as I, lr as N, mp as r, ot as R, qt as O, rt as M, sp as D, t as l, tp as P, vp as L, xc as v, zf as F } from "./transition-overlay-BfpjfjU4.js";
|
|
2
2
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
3
|
+
a as CINEMATIC_TRANSITION_KEYFRAMES,
|
|
4
|
+
M as DEFAULT_MORPH_DURATION_MS,
|
|
5
|
+
R as DEFAULT_TRANSITION_DURATION_MS,
|
|
6
|
+
o as EASE,
|
|
7
|
+
S as INSTANT,
|
|
8
|
+
O as P14_TRANSITION_KEYFRAMES,
|
|
9
|
+
t as P14_TRANSITION_KEYFRAMES_2,
|
|
10
|
+
A as P14_TRANSITION_KEYFRAMES_ALL,
|
|
11
|
+
l as PresentationTransitionOverlay,
|
|
12
|
+
I as RANDOM_ELIGIBLE_TYPES,
|
|
13
|
+
i as SLIDE_TRANSITION_KEYFRAMES,
|
|
14
|
+
n as SLIDE_TRANSITION_KEYFRAMES_CSS,
|
|
15
|
+
E as TRANSITION_SPEED_DURATION_MS,
|
|
16
|
+
N as WHEEL_SPOKE_COUNTS,
|
|
17
|
+
v as getCinematicTransitionAnimations,
|
|
18
|
+
T as getP14TransitionAnimations,
|
|
19
|
+
_ as getSlideTransitionAnimations,
|
|
20
|
+
e as resolveDirection,
|
|
21
|
+
F as resolveDirection8,
|
|
22
|
+
P as resolveOrientation,
|
|
23
|
+
D as resolveSlideTransition,
|
|
24
|
+
r as resolveTransitionDurationMs,
|
|
25
|
+
L as resolveWheelSpokeCount
|
|
26
26
|
};
|