pptx-react-viewer 4.5.0 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/README.md +34 -33
- package/dist/{AiChatPanel-P2N6X2KB.js → AiChatPanel-3YILWCBX.js} +28 -28
- package/dist/AiChatPanel-3YILWCBX.js.br +0 -0
- package/dist/AiChatPanel-3YILWCBX.js.gz +0 -0
- package/dist/{AiChatPanel-HXGCZPUX.mjs → AiChatPanel-X2MVL5UP.mjs} +4 -4
- package/dist/AiChatPanel-X2MVL5UP.mjs.br +0 -0
- package/dist/AiChatPanel-X2MVL5UP.mjs.gz +0 -0
- package/dist/{Model3DScene-PIFMH2TU.js → Model3DScene-G7P6ZAIO.js} +2 -2
- package/dist/Model3DScene-G7P6ZAIO.js.br +0 -0
- package/dist/Model3DScene-G7P6ZAIO.js.gz +0 -0
- package/dist/{Model3DScene-QXMMJRV3.mjs → Model3DScene-QFWI5CEE.mjs} +1 -1
- package/dist/Model3DScene-QFWI5CEE.mjs.br +0 -0
- package/dist/Model3DScene-QFWI5CEE.mjs.gz +0 -0
- package/dist/{chunk-T35BGKZG.js → chunk-2BM4GBFZ.js} +5 -5
- package/dist/chunk-2BM4GBFZ.js.br +0 -0
- package/dist/chunk-2BM4GBFZ.js.gz +0 -0
- package/dist/{chunk-ZF5S3HHW.mjs → chunk-5J6NW3YS.mjs} +55 -28
- package/dist/chunk-5J6NW3YS.mjs.br +0 -0
- package/dist/chunk-5J6NW3YS.mjs.gz +0 -0
- package/dist/{chunk-LYZQLV7R.js → chunk-AQIXKTAT.js} +13881 -8722
- package/dist/chunk-AQIXKTAT.js.br +0 -0
- package/dist/chunk-AQIXKTAT.js.gz +0 -0
- package/dist/{chunk-DX2JCSQ4.mjs → chunk-E5OIDWHO.mjs} +1 -1
- package/dist/chunk-E5OIDWHO.mjs.br +0 -0
- package/dist/chunk-E5OIDWHO.mjs.gz +0 -0
- package/dist/{chunk-6FVYG27J.js → chunk-FYAOOACZ.js} +241 -214
- package/dist/chunk-FYAOOACZ.js.br +0 -0
- package/dist/chunk-FYAOOACZ.js.gz +0 -0
- package/dist/{chunk-PRXJ3J5W.mjs → chunk-OECUSL2B.mjs} +129 -311
- package/dist/chunk-OECUSL2B.mjs.br +0 -0
- package/dist/chunk-OECUSL2B.mjs.gz +0 -0
- package/dist/{chunk-VZNIVS3X.mjs → chunk-QLDHUKH2.mjs} +13808 -8718
- package/dist/chunk-QLDHUKH2.mjs.br +0 -0
- package/dist/chunk-QLDHUKH2.mjs.gz +0 -0
- package/dist/{chunk-Y4VRYQQS.js → chunk-SR7ETIBF.js} +931 -1112
- package/dist/chunk-SR7ETIBF.js.br +0 -0
- package/dist/chunk-SR7ETIBF.js.gz +0 -0
- package/dist/{chunk-IDV2ITXM.mjs → chunk-UBYFLXAU.mjs} +1383 -208
- package/dist/chunk-UBYFLXAU.mjs.br +0 -0
- package/dist/chunk-UBYFLXAU.mjs.gz +0 -0
- package/dist/{chunk-UMQV2432.js → chunk-UIAU3NR2.js} +45 -0
- package/dist/chunk-UIAU3NR2.js.br +0 -0
- package/dist/chunk-UIAU3NR2.js.gz +0 -0
- package/dist/{chunk-UZFCFYK6.js → chunk-VF4RA27Q.js} +3245 -2070
- package/dist/chunk-VF4RA27Q.js.br +0 -0
- package/dist/chunk-VF4RA27Q.js.gz +0 -0
- package/dist/{chunk-APAVAD2A.mjs → chunk-WIEBQGQI.mjs} +45 -0
- package/dist/chunk-WIEBQGQI.mjs.br +0 -0
- package/dist/chunk-WIEBQGQI.mjs.gz +0 -0
- package/dist/i18n/de.cjs +71 -21
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +71 -21
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +71 -21
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +71 -21
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +71 -21
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +71 -21
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +49 -4
- package/dist/i18n/zh-CN.cjs.br +0 -0
- package/dist/i18n/zh-CN.cjs.gz +0 -0
- package/dist/i18n/zh-CN.mjs +49 -4
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.mjs.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +438 -13
- package/dist/index.js +105 -49
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +501 -15
- package/dist/internals.js +105 -105
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.d.ts +515 -12
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +3 -4
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-HXGCZPUX.mjs.br +0 -0
- package/dist/AiChatPanel-HXGCZPUX.mjs.gz +0 -0
- package/dist/AiChatPanel-P2N6X2KB.js.br +0 -0
- package/dist/AiChatPanel-P2N6X2KB.js.gz +0 -0
- package/dist/Model3DScene-PIFMH2TU.js.br +0 -0
- package/dist/Model3DScene-PIFMH2TU.js.gz +0 -0
- package/dist/Model3DScene-QXMMJRV3.mjs.br +0 -0
- package/dist/Model3DScene-QXMMJRV3.mjs.gz +0 -0
- package/dist/chunk-6FVYG27J.js.br +0 -0
- package/dist/chunk-6FVYG27J.js.gz +0 -0
- package/dist/chunk-APAVAD2A.mjs.br +0 -0
- package/dist/chunk-APAVAD2A.mjs.gz +0 -0
- package/dist/chunk-DX2JCSQ4.mjs.br +0 -0
- package/dist/chunk-DX2JCSQ4.mjs.gz +0 -0
- package/dist/chunk-IDV2ITXM.mjs.br +0 -0
- package/dist/chunk-IDV2ITXM.mjs.gz +0 -0
- package/dist/chunk-LYZQLV7R.js.br +0 -0
- package/dist/chunk-LYZQLV7R.js.gz +0 -0
- package/dist/chunk-PRXJ3J5W.mjs.br +0 -0
- package/dist/chunk-PRXJ3J5W.mjs.gz +0 -0
- package/dist/chunk-T35BGKZG.js.br +0 -0
- package/dist/chunk-T35BGKZG.js.gz +0 -0
- package/dist/chunk-UMQV2432.js.br +0 -0
- package/dist/chunk-UMQV2432.js.gz +0 -0
- package/dist/chunk-UZFCFYK6.js.br +0 -0
- package/dist/chunk-UZFCFYK6.js.gz +0 -0
- package/dist/chunk-VZNIVS3X.mjs.br +0 -0
- package/dist/chunk-VZNIVS3X.mjs.gz +0 -0
- package/dist/chunk-Y4VRYQQS.js.br +0 -0
- package/dist/chunk-Y4VRYQQS.js.gz +0 -0
- package/dist/chunk-ZF5S3HHW.mjs.br +0 -0
- package/dist/chunk-ZF5S3HHW.mjs.gz +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1504,8 +1504,16 @@ interface TextStyle {
|
|
|
1504
1504
|
textOutlineWidth?: number;
|
|
1505
1505
|
/** Text outline colour as hex string (`a:rPr > a:ln > a:solidFill`). */
|
|
1506
1506
|
textOutlineColor?: string;
|
|
1507
|
+
/** Text outline dash preset (`a:rPr > a:ln > a:prstDash/@val`), e.g. `dash`; absent for solid. */
|
|
1508
|
+
textOutlineDash?: string;
|
|
1507
1509
|
/** When true, the text body has no fill (`a:rPr > a:noFill`), producing hollow/outline-only text. */
|
|
1508
1510
|
textFillNone?: boolean;
|
|
1511
|
+
/**
|
|
1512
|
+
* When true, the run authored an EMPTY `<a:effectLst/>`: an explicit "no
|
|
1513
|
+
* effects" override that blocks an inherited shadow or glow. Kept so a
|
|
1514
|
+
* rewrite re-emits it instead of letting the inherited effect return.
|
|
1515
|
+
*/
|
|
1516
|
+
textEffectsExplicitNone?: boolean;
|
|
1509
1517
|
/** Superscript/subscript baseline shift as percentage (`a:rPr/@baseline`). Positive = super, negative = sub. */
|
|
1510
1518
|
baseline?: number;
|
|
1511
1519
|
/** Character spacing in hundredths of a point (`a:rPr/@spc`). */
|
|
@@ -1539,6 +1547,25 @@ interface TextStyle {
|
|
|
1539
1547
|
textFillPatternForeground?: string;
|
|
1540
1548
|
/** Text-level pattern background colour. */
|
|
1541
1549
|
textFillPatternBackground?: string;
|
|
1550
|
+
/**
|
|
1551
|
+
* Raw `a:rPr > a:blipFill` XML, preserved verbatim for round-trip
|
|
1552
|
+
* serialization AND as the input to the image resolution pass that fills
|
|
1553
|
+
* in {@link textFillBlipUrl} (parsing a run's fill happens synchronously,
|
|
1554
|
+
* with no zip/relationship access at that point; resolving the blip to a
|
|
1555
|
+
* displayable URL needs both, so it happens in a later async pass over
|
|
1556
|
+
* the slide's parsed elements, mirroring how a shape's OWN image fill is
|
|
1557
|
+
* resolved). A picture-filled text run (`a:rPr > a:blipFill`) was
|
|
1558
|
+
* documented as handled ("Handles gradient fills, pattern fills, and
|
|
1559
|
+
* image fills on text runs") but never actually parsed, so it silently
|
|
1560
|
+
* fell through to the run's plain `color` and rendered solid black
|
|
1561
|
+
* (COM-verified: `audit-text` slide 13's "PICTURE FILL" run shows the
|
|
1562
|
+
* fill image through the glyphs in PowerPoint).
|
|
1563
|
+
*/
|
|
1564
|
+
textFillBlipXml?: XmlObject;
|
|
1565
|
+
/** Resolved displayable URL for {@link textFillBlipXml}, or the archive-relative path when unresolved (lazy decode). */
|
|
1566
|
+
textFillBlipUrl?: string;
|
|
1567
|
+
/** Tiling mode for {@link textFillBlipUrl} (`a:blipFill/a:tile` present -> 'tile', else 'stretch'). */
|
|
1568
|
+
textFillBlipMode?: 'stretch' | 'tile';
|
|
1542
1569
|
hyperlink?: string;
|
|
1543
1570
|
/** Relationship ID for the hyperlink (`a:hlinkClick/@r:id`) — preserved for round-trip serialization. */
|
|
1544
1571
|
hyperlinkRId?: string;
|
|
@@ -1624,6 +1651,13 @@ interface TextStyle {
|
|
|
1624
1651
|
position: number;
|
|
1625
1652
|
align: 'l' | 'ctr' | 'r' | 'dec';
|
|
1626
1653
|
leader?: 'none' | 'dot' | 'hyphen' | 'underscore';
|
|
1654
|
+
/**
|
|
1655
|
+
* True when the source spelled out the schema-default `@algn="l"`, so the
|
|
1656
|
+
* writer re-emits it instead of treating it as an omitted default.
|
|
1657
|
+
*/
|
|
1658
|
+
alignAuthored?: boolean;
|
|
1659
|
+
/** True when the source spelled out the schema-default `@leader="none"`. */
|
|
1660
|
+
leaderAuthored?: boolean;
|
|
1627
1661
|
}>;
|
|
1628
1662
|
/**
|
|
1629
1663
|
* True when the paragraph's own `a:pPr` authored an EMPTY `<a:tabLst/>`
|
|
@@ -1987,6 +2021,19 @@ interface TextStyle {
|
|
|
1987
2021
|
* convention used for {@link bulletInfo} / {@link endParaRunProperties}).
|
|
1988
2022
|
*/
|
|
1989
2023
|
paragraphDefaultRunPropertiesXml?: XmlObject;
|
|
2024
|
+
/**
|
|
2025
|
+
* The bullet colour / size / typeface children (`a:buClrTx`, `a:buClr`,
|
|
2026
|
+
* `a:buSzTx`, `a:buSzPct`, `a:buSzPts`, `a:buFontTx`, `a:buFont`) a
|
|
2027
|
+
* paragraph authored in its own `<a:pPr>` WITHOUT a bullet type
|
|
2028
|
+
* (`a:buNone` / `a:buChar` / `a:buAutoNum` / `a:buBlip`), captured
|
|
2029
|
+
* verbatim in source order. Such a paragraph restyles an inherited bullet
|
|
2030
|
+
* rather than declaring one, so its {@link BulletInfo} resolves from the
|
|
2031
|
+
* cascade and is (correctly) not written back; without this capture the
|
|
2032
|
+
* paragraph's own override vanished on every rewrite.
|
|
2033
|
+
*
|
|
2034
|
+
* Only meaningful on a paragraph's own authored properties.
|
|
2035
|
+
*/
|
|
2036
|
+
paragraphBulletPropertiesXml?: XmlObject;
|
|
1990
2037
|
}
|
|
1991
2038
|
/**
|
|
1992
2039
|
* Structured bullet metadata attached to the first {@link TextSegment}
|
|
@@ -3255,6 +3302,26 @@ type PptxChartMarkerSymbol = 'circle' | 'dash' | 'diamond' | 'dot' | 'none' | 'p
|
|
|
3255
3302
|
*/
|
|
3256
3303
|
type PptxChartScatterStyle = 'none' | 'line' | 'lineMarker' | 'marker' | 'smooth' | 'smoothMarker';
|
|
3257
3304
|
/** Shape properties extracted from c:spPr for chart formatting. */
|
|
3305
|
+
/**
|
|
3306
|
+
* A render-ready gradient fill from a chart `c:spPr/a:gradFill` (chart area,
|
|
3307
|
+
* plot area or series). Positions are 0..100; a linear gradient's `angle` is
|
|
3308
|
+
* in degrees clockwise from left-to-right (`a:lin/@ang`); a radial (`a:path`)
|
|
3309
|
+
* gradient centres on `focalPoint` (0..1 fractions of the box), the middle
|
|
3310
|
+
* when absent.
|
|
3311
|
+
*/
|
|
3312
|
+
interface PptxChartGradientFill {
|
|
3313
|
+
type: 'linear' | 'radial';
|
|
3314
|
+
stops: Array<{
|
|
3315
|
+
color: string;
|
|
3316
|
+
position: number;
|
|
3317
|
+
opacity?: number;
|
|
3318
|
+
}>;
|
|
3319
|
+
angle?: number;
|
|
3320
|
+
focalPoint?: {
|
|
3321
|
+
x: number;
|
|
3322
|
+
y: number;
|
|
3323
|
+
};
|
|
3324
|
+
}
|
|
3258
3325
|
interface PptxChartShapeProps {
|
|
3259
3326
|
fillColor?: string;
|
|
3260
3327
|
strokeColor?: string;
|
|
@@ -3580,6 +3647,12 @@ interface PptxChartSeries {
|
|
|
3580
3647
|
*/
|
|
3581
3648
|
idx?: number;
|
|
3582
3649
|
values: number[];
|
|
3650
|
+
/**
|
|
3651
|
+
* Series gradient fill (`c:ser/c:spPr/a:gradFill`), painted on every mark
|
|
3652
|
+
* of the series that has no per-point override. Render-only: the series'
|
|
3653
|
+
* own `c:spPr` round-trips untouched.
|
|
3654
|
+
*/
|
|
3655
|
+
gradientFill?: PptxChartGradientFill;
|
|
3583
3656
|
/**
|
|
3584
3657
|
* Per-series x values from `c:ser/c:xVal` (scatter and bubble series only).
|
|
3585
3658
|
*
|
|
@@ -3754,6 +3827,12 @@ interface PptxChartFilteredSeries {
|
|
|
3754
3827
|
* and `c:dLblPos`.
|
|
3755
3828
|
*/
|
|
3756
3829
|
interface PptxChartDataLabelOptions {
|
|
3830
|
+
/** Label box fill/outline (`c:dLbls/c:spPr`), see `chart-data-label-box.ts`. */
|
|
3831
|
+
labelShape?: PptxChartShapeProps;
|
|
3832
|
+
/** Callout geometry of the label box (`c15:spPr/a:prstGeom/@prst`, e.g. `wedgeRectCallout`). */
|
|
3833
|
+
calloutShape?: string;
|
|
3834
|
+
/** The chart15 extension's `c15:showLeaderLines`, which wins for a moved label's leader line. */
|
|
3835
|
+
extLeaderLines?: boolean;
|
|
3757
3836
|
/** Show the numeric value (`c:showVal`). */
|
|
3758
3837
|
showValue?: boolean;
|
|
3759
3838
|
/** Show the category name (`c:showCatName`). */
|
|
@@ -3879,6 +3958,10 @@ interface PptxChartStyle {
|
|
|
3879
3958
|
chartAreaFill?: string;
|
|
3880
3959
|
/** Plot-area fill from `c:plotArea/c:spPr`. See {@link chartAreaFill}. */
|
|
3881
3960
|
plotAreaFill?: string;
|
|
3961
|
+
/** Chart-area gradient (`c:chartSpace/c:spPr/a:gradFill`); wins over {@link chartAreaFill}. */
|
|
3962
|
+
chartAreaGradient?: PptxChartGradientFill;
|
|
3963
|
+
/** Plot-area gradient (`c:plotArea/c:spPr/a:gradFill`); wins over {@link plotAreaFill}. */
|
|
3964
|
+
plotAreaGradient?: PptxChartGradientFill;
|
|
3882
3965
|
/** Whether data labels are shown. */
|
|
3883
3966
|
hasDataLabels?: boolean;
|
|
3884
3967
|
/** Chart-level data-label content/position options (when `hasDataLabels`). */
|
|
@@ -7747,7 +7830,15 @@ type PptxAnimationTimingCurve = 'ease' | 'ease-in' | 'ease-out' | 'linear';
|
|
|
7747
7830
|
/** Repeat mode for animations. */
|
|
7748
7831
|
type PptxAnimationRepeatMode = 'untilNextClick' | 'untilEndOfSlide';
|
|
7749
7832
|
/** Animation trigger type from OOXML `p:cTn`. */
|
|
7750
|
-
type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevious' | 'withPrevious' | 'afterDelay'
|
|
7833
|
+
type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevious' | 'withPrevious' | 'afterDelay' |
|
|
7834
|
+
/**
|
|
7835
|
+
* Starts when a media element's playback reaches a named bookmark
|
|
7836
|
+
* (PowerPoint's "Trigger > On Bookmark"). The media element is
|
|
7837
|
+
* {@link PptxElementAnimation.triggerShapeId} and the bookmark
|
|
7838
|
+
* {@link PptxElementAnimation.triggerBookmark}; saved as an interactive
|
|
7839
|
+
* sequence gated on `p:cond evt="onMediaBookmark"` with a `p14:bmkTgt`.
|
|
7840
|
+
*/
|
|
7841
|
+
'onMediaBookmark';
|
|
7751
7842
|
/**
|
|
7752
7843
|
* Native animation kind. The historic shape-targeted preset animations are
|
|
7753
7844
|
* implicitly the default kind (`undefined`). Media animations (`p:audio`,
|
|
@@ -7900,8 +7991,13 @@ interface PptxNativeAnimation {
|
|
|
7900
7991
|
target?: PptxAnimationTarget;
|
|
7901
7992
|
/** Trigger type. */
|
|
7902
7993
|
trigger?: PptxAnimationTrigger;
|
|
7903
|
-
/**
|
|
7994
|
+
/**
|
|
7995
|
+
* Shape ID that triggers this animation: the clicked shape of an
|
|
7996
|
+
* interactive sequence, or the media element of an `onMediaBookmark` one.
|
|
7997
|
+
*/
|
|
7904
7998
|
triggerShapeId?: string;
|
|
7999
|
+
/** Bookmark name an `onMediaBookmark` interactive sequence waits for. */
|
|
8000
|
+
triggerBookmark?: string;
|
|
7905
8001
|
/** Whether this effect belongs to an OOXML `interactiveSeq`. */
|
|
7906
8002
|
interactiveSequence?: boolean;
|
|
7907
8003
|
/** Whether `p:endSync/p:rtn[@val="all"]` makes that sequence replayable. */
|
|
@@ -8400,12 +8496,15 @@ interface PptxAttributeAnimation {
|
|
|
8400
8496
|
/**
|
|
8401
8497
|
* `p:anim/@_p14:bounceEnd` (Office 2010 `p14` extension attribute,
|
|
8402
8498
|
* MS-OI29500), normalized to a 0-1 fraction of this behaviour's own
|
|
8403
|
-
* duration. PowerPoint's
|
|
8404
|
-
*
|
|
8405
|
-
*
|
|
8406
|
-
*
|
|
8407
|
-
* the
|
|
8408
|
-
*
|
|
8499
|
+
* duration. PowerPoint's "Bounce End" effect option (COM:
|
|
8500
|
+
* `Effect.Timing.BounceEnd` + `BounceEndIntensity`) writes this on the
|
|
8501
|
+
* position-ramp `p:anim` node(s): the share of the duration spent
|
|
8502
|
+
* BOUNCING at the end. Measured from PowerPoint's own CreateVideo frames,
|
|
8503
|
+
* the travel completes at `1 - bounceEnd` and the rest is a damped
|
|
8504
|
+
* oscillation about the final value (see shared's `animation-bounce-end`).
|
|
8505
|
+
* Mirrored verbatim by PowerPoint onto the enclosing
|
|
8506
|
+
* `p:cTn/@_p14:presetBounceEnd`. Absent for every animation that doesn't
|
|
8507
|
+
* use this effect option (the overwhelming majority).
|
|
8409
8508
|
*/
|
|
8410
8509
|
bounceEnd?: number;
|
|
8411
8510
|
}
|
|
@@ -8583,9 +8682,24 @@ interface PptxElementAnimation {
|
|
|
8583
8682
|
durationMs?: number;
|
|
8584
8683
|
delayMs?: number;
|
|
8585
8684
|
order?: number;
|
|
8685
|
+
/**
|
|
8686
|
+
* The {@link order} the loader derived from the slide's `p:timing` tree for
|
|
8687
|
+
* an entry whose `pptx:editorMeta` record authored no `@order`. The tree
|
|
8688
|
+
* already expresses that position (and every load re-derives it), so the
|
|
8689
|
+
* writer omits `@order` while `order` still equals this value; a reorder
|
|
8690
|
+
* changes `order` and the attribute is written again. Load-time bookkeeping
|
|
8691
|
+
* only; never set it by hand.
|
|
8692
|
+
*/
|
|
8693
|
+
orderFromTimeline?: number;
|
|
8586
8694
|
trigger?: PptxAnimationTrigger;
|
|
8587
|
-
/**
|
|
8695
|
+
/**
|
|
8696
|
+
* Shape ID that triggers this animation: the shape clicked for
|
|
8697
|
+
* `onShapeClick`, or the media element whose bookmark fires it for
|
|
8698
|
+
* `onMediaBookmark`.
|
|
8699
|
+
*/
|
|
8588
8700
|
triggerShapeId?: string;
|
|
8701
|
+
/** Bookmark name (`p14:bmk/@name`) an `onMediaBookmark` trigger waits for. */
|
|
8702
|
+
triggerBookmark?: string;
|
|
8589
8703
|
timingCurve?: PptxAnimationTimingCurve;
|
|
8590
8704
|
repeatCount?: number;
|
|
8591
8705
|
repeatMode?: PptxAnimationRepeatMode;
|
|
@@ -13193,6 +13307,31 @@ declare function presentationBaseName(sourceName: string | null | undefined, fal
|
|
|
13193
13307
|
* bytes either way.
|
|
13194
13308
|
*/
|
|
13195
13309
|
declare function savedPresentationFileName(sourceName: string | null | undefined, format?: SavedPresentationFormat): string;
|
|
13310
|
+
/** A logical editor command produced by one key press. */
|
|
13311
|
+
type EditorKeyActionName = 'undo' | 'redo' | 'copy' | 'cut' | 'paste' | 'duplicate' | 'delete' | 'selectAll' | 'group' | 'ungroup' | 'nudge' | 'prevSlide' | 'nextSlide' | 'escape' | 'find' | 'findReplace' | 'toggleShortcuts' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'increaseFontSize' | 'decreaseFontSize' | 'copyFormat' | 'pasteFormat' | 'newSlide' | 'hyperlink' | 'clearFormatting' | 'cycleSelectionNext' | 'cycleSelectionPrev' | 'pasteSpecial';
|
|
13312
|
+
//#endregion
|
|
13313
|
+
//#region src/render/merge-shapes/merge-shapes-menu.d.ts
|
|
13314
|
+
/** The right-click command id for each operation. */
|
|
13315
|
+
type MergeShapesCommandId = 'merge-union' | 'merge-combine' | 'merge-fragment' | 'merge-intersect' | 'merge-subtract';
|
|
13316
|
+
/** Every command a canvas context menu can offer, in no particular order. */
|
|
13317
|
+
type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'edit-text' | 'edit-points' | 'bring-forward' | 'send-backward' | 'bring-front' | 'send-back' | 'ai-ask' | 'ai-fix' | 'comment' | 'hyperlink' | 'table-insert-row-above' | 'table-insert-row-below' | 'table-delete-row' | 'table-insert-col-left' | 'table-insert-col-right' | 'table-delete-col' | 'table-merge-selected' | 'table-merge-right' | 'table-merge-down' | 'table-split' | 'group' | 'ungroup' | 'crop' | MergeShapesCommandId | 'save-as-picture' | 'edit-alt-text' | 'size-and-position' | 'format-shape' | 'delete';
|
|
13318
|
+
//#endregion
|
|
13319
|
+
//#region src/render/canvas-context-menu-commands.d.ts
|
|
13320
|
+
/**
|
|
13321
|
+
* The right-click menu for the empty slide canvas (no element under the
|
|
13322
|
+
* cursor), as distinct from {@link ./context-menu-commands}'s per-element menu.
|
|
13323
|
+
*
|
|
13324
|
+
* Right-clicking empty canvas used to do nothing at all in every binding: React
|
|
13325
|
+
* and Vue both bailed out early (`getElementIdFromEvent` returns `null`, so the
|
|
13326
|
+
* handler just returns) rather than opening a menu, and the other three never
|
|
13327
|
+
* wired a handler for it either. PowerPoint offers Paste, Layout, Reset,
|
|
13328
|
+
* Format Background and view toggles (Grid and Guides, Ruler) from this menu;
|
|
13329
|
+
* this module is the one list every binding renders instead of five omissions.
|
|
13330
|
+
*
|
|
13331
|
+
* @module render/canvas-context-menu-commands
|
|
13332
|
+
*/
|
|
13333
|
+
/** Every command the empty-canvas context menu can offer, in no particular order. */
|
|
13334
|
+
type CanvasContextMenuCommandId = 'paste' | 'layout' | 'reset-slide' | 'format-background' | 'grid-and-guides' | 'ruler';
|
|
13196
13335
|
//#endregion
|
|
13197
13336
|
//#region src/render/insert-chart.d.ts
|
|
13198
13337
|
/**
|
|
@@ -13258,6 +13397,21 @@ interface ZoomNavigationTarget {
|
|
|
13258
13397
|
returnToParent: boolean;
|
|
13259
13398
|
transitionDurationMs?: number;
|
|
13260
13399
|
}
|
|
13400
|
+
type BackstagePage = 'home' | 'new' | 'open' | 'info' | 'save' | 'saveAs' | 'print' | 'share' | 'export' | 'close' | 'account' | 'options';
|
|
13401
|
+
//#endregion
|
|
13402
|
+
//#region src/render/backstage-cards.d.ts
|
|
13403
|
+
/**
|
|
13404
|
+
* Every action card the File-tab backstage can show, keyed by the operation it
|
|
13405
|
+
* triggers rather than by its wording.
|
|
13406
|
+
*
|
|
13407
|
+
* The five bindings used to hardcode a title and a body string each, which made
|
|
13408
|
+
* the whole backstage untranslatable and let the copy drift: the same card
|
|
13409
|
+
* carried four different descriptions depending on which binding you opened it
|
|
13410
|
+
* in. Both halves now live here as a dictionary key plus an English fallback,
|
|
13411
|
+
* so a wording change lands everywhere at once and a translator only has to
|
|
13412
|
+
* translate it once.
|
|
13413
|
+
*/
|
|
13414
|
+
type BackstageCardId = 'protect' | 'inspect' | 'embedFonts' | 'signatures' | 'versionHistory' | 'saveAsPptx' | 'saveAsPpsx' | 'saveAsPptm' | 'saveAsPpt' | 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage' | 'print' | 'share';
|
|
13261
13415
|
//#endregion
|
|
13262
13416
|
//#region src/render/account.d.ts
|
|
13263
13417
|
/** Local-only display profile shown in File > Account. Never sent anywhere; purely cosmetic. */
|
|
@@ -13326,7 +13480,7 @@ declare function saveViewerProfile(profile: ViewerProfile): void;
|
|
|
13326
13480
|
* whole control cluster (zoom in/out/fit, prev/next) rather than each button
|
|
13327
13481
|
* in it, matching how hosts actually want to hide/keep them as a unit.
|
|
13328
13482
|
*/
|
|
13329
|
-
type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation';
|
|
13483
|
+
type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation' | 'mergeShapes' | 'crop';
|
|
13330
13484
|
/** A top-level ribbon tab. `record` intentionally shares its id with the quick-access Record button above: both surface the same recording feature, so hiding one hides the other. */
|
|
13331
13485
|
type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
|
|
13332
13486
|
type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
|
|
@@ -13488,6 +13642,7 @@ interface ViewerOptions {
|
|
|
13488
13642
|
trust: ViewerTrustOptions;
|
|
13489
13643
|
}
|
|
13490
13644
|
type ViewerOptionsGroupId = keyof ViewerOptions;
|
|
13645
|
+
type ViewerOptionPrimitive = boolean | number | string;
|
|
13491
13646
|
type StoredViewerOptions = { [G in ViewerOptionsGroupId]?: Partial<ViewerOptions[G]>; };
|
|
13492
13647
|
//#endregion
|
|
13493
13648
|
//#region src/render/viewer-prefs-storage.d.ts
|
|
@@ -13518,6 +13673,246 @@ declare function readStoredViewerPrefs(): StoredViewerPrefs;
|
|
|
13518
13673
|
declare function writeStoredViewerPrefs(patch: Partial<StoredViewerPrefs>): void;
|
|
13519
13674
|
/** Remove all persisted viewer preferences. Silently no-ops when storage is unavailable. */
|
|
13520
13675
|
declare function clearStoredViewerPrefs(): void;
|
|
13676
|
+
/** Every command the Edit Points right-click menu can offer. */
|
|
13677
|
+
type EditPointsCommandId = 'add-point' | 'delete-point' | 'delete-segment' | 'open-path' | 'close-path' | 'smooth-point' | 'straight-point' | 'corner-point' | 'straight-segment' | 'curved-segment' | 'exit';
|
|
13678
|
+
//#endregion
|
|
13679
|
+
//#region src/render/edit-points/freeform-tool-geometry.d.ts
|
|
13680
|
+
/** The two click-to-place drawing tools. */
|
|
13681
|
+
type FreeformToolKind = 'freeformShape' | 'curve';
|
|
13682
|
+
//#endregion
|
|
13683
|
+
//#region src/render/options/viewer-options-controls.d.ts
|
|
13684
|
+
/**
|
|
13685
|
+
* Control/section/tab descriptor types for the File > Options schema, plus
|
|
13686
|
+
* the terse constructors the tab-definition modules build panes with.
|
|
13687
|
+
*/
|
|
13688
|
+
type ViewerOptionsTabId = 'general' | 'proofing' | 'save' | 'language' | 'accessibility' | 'advanced' | 'ribbon' | 'quickAccess' | 'addIns' | 'trust';
|
|
13689
|
+
//#endregion
|
|
13690
|
+
//#region src/render/customization/customization-types.d.ts
|
|
13691
|
+
/** Keys of an options group whose value is a primitive (not an array). */
|
|
13692
|
+
type PrimitiveKeys<T> = { [K in keyof T]: T[K] extends ViewerOptionPrimitive ? K : never; }[keyof T] & string;
|
|
13693
|
+
/**
|
|
13694
|
+
* One File > Options setting, addressed as `<group>.<key>`, for example
|
|
13695
|
+
* `general.userName` or `advanced.showGrid`. The union is derived from the
|
|
13696
|
+
* `ViewerOptions` model itself, so a typo is a compile error.
|
|
13697
|
+
*/
|
|
13698
|
+
type OptionsSettingId = { [G in ViewerOptionsGroupId]: `${G}.${PrimitiveKeys<ViewerOptions[G]>}`; }[ViewerOptionsGroupId];
|
|
13699
|
+
/**
|
|
13700
|
+
* A File > Options page: the ten PowerPoint categories plus `ai`, the AI
|
|
13701
|
+
* assistant page a binding adds when the host configured an assistant.
|
|
13702
|
+
*/
|
|
13703
|
+
type OptionsPageId = ViewerOptionsTabId | 'ai';
|
|
13704
|
+
/**
|
|
13705
|
+
* One section of an Options page, addressed as `<page>.<section>`, for
|
|
13706
|
+
* example `general.personalize` or `advanced.print`. The full list is
|
|
13707
|
+
* `OPTIONS_SECTION_IDS` (derived from the schema at runtime).
|
|
13708
|
+
*/
|
|
13709
|
+
type OptionsSectionId = `${ViewerOptionsTabId}.${string}`;
|
|
13710
|
+
/** Values a host forces onto settings. */
|
|
13711
|
+
type OptionsSettingValues = Partial<Record<OptionsSettingId, ViewerOptionPrimitive>>;
|
|
13712
|
+
/** Ribbon and toolbar customisation. */
|
|
13713
|
+
interface RibbonCustomization {
|
|
13714
|
+
/** Ribbon tabs to remove (the File tab included, unlike Customize Ribbon). */
|
|
13715
|
+
hiddenTabs?: readonly ToolbarTabId[];
|
|
13716
|
+
/** Top-level toolbar buttons / control clusters to remove. */
|
|
13717
|
+
hiddenButtons?: readonly ToolbarButtonId[];
|
|
13718
|
+
}
|
|
13719
|
+
/** File > Options (the Settings dialog) customisation. */
|
|
13720
|
+
interface OptionsCustomization {
|
|
13721
|
+
/** Whole pages to remove from the dialog's category rail. */
|
|
13722
|
+
hiddenPages?: readonly OptionsPageId[];
|
|
13723
|
+
/** Sections (`<page>.<section>`) to remove from their page. */
|
|
13724
|
+
hiddenSections?: readonly OptionsSectionId[];
|
|
13725
|
+
/** Individual settings (`<group>.<key>`) to remove wherever they appear. */
|
|
13726
|
+
hiddenSettings?: readonly OptionsSettingId[];
|
|
13727
|
+
/**
|
|
13728
|
+
* Settings pinned to a fixed value. The value is forced into the options
|
|
13729
|
+
* store, user edits to it are ignored, and the control renders read-only.
|
|
13730
|
+
* Add the id to `hiddenSettings` too to lock it invisibly.
|
|
13731
|
+
*/
|
|
13732
|
+
locked?: OptionsSettingValues;
|
|
13733
|
+
/**
|
|
13734
|
+
* Host defaults: the value a setting starts at when the user has not saved
|
|
13735
|
+
* a choice of their own. "Reset" returns to these, not to the built-ins.
|
|
13736
|
+
*/
|
|
13737
|
+
defaults?: OptionsSettingValues;
|
|
13738
|
+
}
|
|
13739
|
+
/** File tab (backstage) customisation. */
|
|
13740
|
+
interface BackstageCustomization {
|
|
13741
|
+
/** Navigation entries (pages) to remove from the File tab. */
|
|
13742
|
+
hiddenPages?: readonly BackstagePage[];
|
|
13743
|
+
/** Action cards to remove from the pages that show them. */
|
|
13744
|
+
hiddenCards?: readonly BackstageCardId[];
|
|
13745
|
+
}
|
|
13746
|
+
/** Right-click menu customisation. */
|
|
13747
|
+
interface ContextMenuCustomization {
|
|
13748
|
+
/** Entries to remove from the element (right-click on a shape) menu. */
|
|
13749
|
+
hiddenElementCommands?: readonly ContextMenuCommandId[];
|
|
13750
|
+
/** Entries to remove from the empty-canvas menu. */
|
|
13751
|
+
hiddenCanvasCommands?: readonly CanvasContextMenuCommandId[];
|
|
13752
|
+
/**
|
|
13753
|
+
* Entries to remove from the Edit Points menu (right-click a vertex or a
|
|
13754
|
+
* segment while editing a shape's points).
|
|
13755
|
+
*/
|
|
13756
|
+
hiddenEditPointsCommands?: readonly EditPointsCommandId[];
|
|
13757
|
+
/** Remove the element context menu entirely. */
|
|
13758
|
+
disableElementMenu?: boolean;
|
|
13759
|
+
/** Remove the empty-canvas context menu entirely. */
|
|
13760
|
+
disableCanvasMenu?: boolean;
|
|
13761
|
+
}
|
|
13762
|
+
/**
|
|
13763
|
+
* A shortcut chord in the form `Mod+Shift+D`: modifiers `Mod` (Ctrl on
|
|
13764
|
+
* Windows/Linux, Cmd on macOS), `Ctrl`, `Meta`, `Alt`, `Shift`, joined by `+`,
|
|
13765
|
+
* followed by a `KeyboardEvent.key` value (`D`, `Delete`, `ArrowLeft`, `F2`).
|
|
13766
|
+
*/
|
|
13767
|
+
type ShortcutChord = string;
|
|
13768
|
+
/** Editor keyboard-shortcut customisation. */
|
|
13769
|
+
interface KeyboardCustomization {
|
|
13770
|
+
/** Turn every editor shortcut off (the host owns the keyboard). */
|
|
13771
|
+
disableAll?: boolean;
|
|
13772
|
+
/** Editor commands whose shortcut is turned off. */
|
|
13773
|
+
disabled?: readonly EditorKeyActionName[];
|
|
13774
|
+
/**
|
|
13775
|
+
* Replacement chords per command. A remapped command no longer answers to
|
|
13776
|
+
* its built-in chord; it answers to the chord(s) given here instead.
|
|
13777
|
+
*/
|
|
13778
|
+
remap?: Partial<Record<EditorKeyActionName, ShortcutChord | readonly ShortcutChord[]>>;
|
|
13779
|
+
}
|
|
13780
|
+
/**
|
|
13781
|
+
* Chrome regions a host can remove. Each id maps onto one region in every
|
|
13782
|
+
* binding; see `VIEWER_PANEL_IDS` for the catalogue.
|
|
13783
|
+
*/
|
|
13784
|
+
type ViewerPanelId = 'statusBar' | 'slidesPane' | 'inspector' | 'notes' | 'quickAccessToolbar' | 'titleBar';
|
|
13785
|
+
/** Feature areas that can be switched off as a whole. */
|
|
13786
|
+
type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode' | 'editPoints';
|
|
13787
|
+
/**
|
|
13788
|
+
* The click-to-place drawing tools of Insert > Shapes > Lines: Freeform:
|
|
13789
|
+
* Shape and Curve.
|
|
13790
|
+
*/
|
|
13791
|
+
type ViewerDrawingToolId = FreeformToolKind;
|
|
13792
|
+
/** Dialogs (and the entry points that open them) a host can remove. */
|
|
13793
|
+
type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'export';
|
|
13794
|
+
/** Export formats offered by the File > Export page. */
|
|
13795
|
+
type ViewerExportFormatId = 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage';
|
|
13796
|
+
/**
|
|
13797
|
+
* The whole customisation object. Every field is optional; omitted fields hide
|
|
13798
|
+
* nothing and lock nothing.
|
|
13799
|
+
*/
|
|
13800
|
+
interface ViewerCustomization {
|
|
13801
|
+
ribbon?: RibbonCustomization;
|
|
13802
|
+
options?: OptionsCustomization;
|
|
13803
|
+
backstage?: BackstageCustomization;
|
|
13804
|
+
contextMenu?: ContextMenuCustomization;
|
|
13805
|
+
keyboard?: KeyboardCustomization;
|
|
13806
|
+
/** Chrome regions to remove (`true` hides). */
|
|
13807
|
+
hiddenPanels?: readonly ViewerPanelId[];
|
|
13808
|
+
/** Feature areas to switch off (their buttons, menus, pages and panels). */
|
|
13809
|
+
disabledFeatures?: readonly ViewerFeatureId[];
|
|
13810
|
+
/** Dialogs to remove, along with every entry point that opens them. */
|
|
13811
|
+
hiddenDialogs?: readonly ViewerDialogId[];
|
|
13812
|
+
/** Export formats to remove from File > Export. */
|
|
13813
|
+
hiddenExportFormats?: readonly ViewerExportFormatId[];
|
|
13814
|
+
/** Drawing tools to remove from the Insert > Shapes gallery. */
|
|
13815
|
+
hiddenDrawingTools?: readonly ViewerDrawingToolId[];
|
|
13816
|
+
}
|
|
13817
|
+
//#endregion
|
|
13818
|
+
//#region src/render/customization/customization-catalog.d.ts
|
|
13819
|
+
declare const RIBBON_TAB_IDS: readonly ToolbarTabId[];
|
|
13820
|
+
declare const TOOLBAR_BUTTON_IDS: readonly ["share", "broadcast", "export", "undo", "redo", "record", "notes", "fullscreen", "zoom", "navigation", "mergeShapes", "crop"];
|
|
13821
|
+
declare const OPTIONS_PAGE_IDS: readonly OptionsPageId[];
|
|
13822
|
+
declare const OPTIONS_SECTION_IDS: readonly OptionsSectionId[];
|
|
13823
|
+
declare const OPTIONS_SETTING_IDS: readonly OptionsSettingId[];
|
|
13824
|
+
declare const BACKSTAGE_PAGE_IDS: readonly BackstagePage[];
|
|
13825
|
+
declare const BACKSTAGE_CARD_IDS: readonly BackstageCardId[];
|
|
13826
|
+
declare const ELEMENT_CONTEXT_MENU_COMMAND_IDS: readonly ["copy", "cut", "paste", "duplicate", "edit-text", "edit-points", "bring-forward", "send-backward", "bring-front", "send-back", "ai-ask", "ai-fix", "comment", "hyperlink", "table-insert-row-above", "table-insert-row-below", "table-delete-row", "table-insert-col-left", "table-insert-col-right", "table-delete-col", "table-merge-selected", "table-merge-right", "table-merge-down", "table-split", "group", "ungroup", "crop", "merge-union", "merge-combine", "merge-fragment", "merge-intersect", "merge-subtract", "save-as-picture", "edit-alt-text", "size-and-position", "format-shape", "delete"];
|
|
13827
|
+
declare const CANVAS_CONTEXT_MENU_COMMAND_IDS: readonly ["paste", "layout", "reset-slide", "format-background", "grid-and-guides", "ruler"];
|
|
13828
|
+
declare const EDITOR_SHORTCUT_ACTION_IDS: readonly ["undo", "redo", "copy", "cut", "paste", "duplicate", "delete", "selectAll", "group", "ungroup", "nudge", "prevSlide", "nextSlide", "escape", "find", "findReplace", "toggleShortcuts", "alignLeft", "alignCenter", "alignRight", "alignJustify", "increaseFontSize", "decreaseFontSize", "copyFormat", "pasteFormat", "newSlide", "hyperlink", "clearFormatting", "cycleSelectionNext", "cycleSelectionPrev", "pasteSpecial"];
|
|
13829
|
+
declare const VIEWER_PANEL_IDS: readonly ["statusBar", "slidesPane", "inspector", "notes", "quickAccessToolbar", "titleBar"];
|
|
13830
|
+
declare const VIEWER_FEATURE_IDS: readonly ["ai", "collaboration", "comments", "presentMode", "editPoints"];
|
|
13831
|
+
declare const VIEWER_DIALOG_IDS: readonly ["options", "share", "broadcast", "print", "export"];
|
|
13832
|
+
declare const VIEWER_EXPORT_FORMAT_IDS: readonly ["pdf", "png", "video", "gif", "json", "copyImage"];
|
|
13833
|
+
//#endregion
|
|
13834
|
+
//#region src/render/customization/customization-keymap.d.ts
|
|
13835
|
+
/** A parsed `Mod+Shift+D` chord. */
|
|
13836
|
+
interface ParsedShortcutChord {
|
|
13837
|
+
key: string;
|
|
13838
|
+
mod: boolean;
|
|
13839
|
+
ctrl: boolean;
|
|
13840
|
+
meta: boolean;
|
|
13841
|
+
alt: boolean;
|
|
13842
|
+
shift: boolean;
|
|
13843
|
+
}
|
|
13844
|
+
/** The normalised keyboard slice of a resolved customisation. */
|
|
13845
|
+
interface ResolvedKeyboardCustomization {
|
|
13846
|
+
disableAll: boolean;
|
|
13847
|
+
disabled: ReadonlySet<EditorKeyActionName>;
|
|
13848
|
+
remap: ReadonlyMap<EditorKeyActionName, readonly ParsedShortcutChord[]>;
|
|
13849
|
+
}
|
|
13850
|
+
//#endregion
|
|
13851
|
+
//#region src/render/customization/customization-resolve.d.ts
|
|
13852
|
+
/** The normalised, set-based view of a customisation. Treat as immutable. */
|
|
13853
|
+
interface ResolvedCustomization {
|
|
13854
|
+
hiddenActions: ReadonlySet<ToolbarActionId>;
|
|
13855
|
+
hiddenOptionsPages: ReadonlySet<OptionsPageId>;
|
|
13856
|
+
hiddenOptionsSections: ReadonlySet<OptionsSectionId>;
|
|
13857
|
+
hiddenSettings: ReadonlySet<OptionsSettingId>;
|
|
13858
|
+
lockedSettings: OptionsSettingValues;
|
|
13859
|
+
defaultSettings: OptionsSettingValues;
|
|
13860
|
+
hiddenBackstagePages: ReadonlySet<BackstagePage>;
|
|
13861
|
+
hiddenBackstageCards: ReadonlySet<BackstageCardId>;
|
|
13862
|
+
hiddenElementCommands: ReadonlySet<ContextMenuCommandId>;
|
|
13863
|
+
hiddenCanvasCommands: ReadonlySet<CanvasContextMenuCommandId>;
|
|
13864
|
+
hiddenEditPointsCommands: ReadonlySet<EditPointsCommandId>;
|
|
13865
|
+
hiddenDrawingTools: ReadonlySet<ViewerDrawingToolId>;
|
|
13866
|
+
elementMenuEnabled: boolean;
|
|
13867
|
+
canvasMenuEnabled: boolean;
|
|
13868
|
+
hiddenPanels: ReadonlySet<ViewerPanelId>;
|
|
13869
|
+
disabledFeatures: ReadonlySet<ViewerFeatureId>;
|
|
13870
|
+
hiddenDialogs: ReadonlySet<ViewerDialogId>;
|
|
13871
|
+
keyboard: ResolvedKeyboardCustomization;
|
|
13872
|
+
}
|
|
13873
|
+
//#endregion
|
|
13874
|
+
//#region src/render/customization/customization-controller.d.ts
|
|
13875
|
+
/** The imperative methods every binding's component handle exposes. */
|
|
13876
|
+
interface ViewerCustomizationApi {
|
|
13877
|
+
/** The current customisation object (a snapshot; do not mutate). */
|
|
13878
|
+
getCustomization(): ViewerCustomization;
|
|
13879
|
+
/** Replace the whole customisation. */
|
|
13880
|
+
setCustomization(next: ViewerCustomization): void;
|
|
13881
|
+
/** Merge a partial customisation (see `mergeCustomization`). */
|
|
13882
|
+
updateCustomization(patch: ViewerCustomization): void;
|
|
13883
|
+
/** Drop every customisation, back to the stock UI. */
|
|
13884
|
+
resetCustomization(): void;
|
|
13885
|
+
hideRibbonTab(tab: ToolbarTabId): void;
|
|
13886
|
+
showRibbonTab(tab: ToolbarTabId): void;
|
|
13887
|
+
hideToolbarButton(button: ToolbarButtonId): void;
|
|
13888
|
+
showToolbarButton(button: ToolbarButtonId): void;
|
|
13889
|
+
hideOptionsPage(page: OptionsPageId): void;
|
|
13890
|
+
showOptionsPage(page: OptionsPageId): void;
|
|
13891
|
+
hideOptionsSection(section: OptionsSectionId): void;
|
|
13892
|
+
showOptionsSection(section: OptionsSectionId): void;
|
|
13893
|
+
hideSetting(setting: OptionsSettingId): void;
|
|
13894
|
+
showSetting(setting: OptionsSettingId): void;
|
|
13895
|
+
/** Pin a setting to `value`; `hidden` also removes it from the dialog. */
|
|
13896
|
+
lockSetting(setting: OptionsSettingId, value: ViewerOptionPrimitive, hidden?: boolean): void;
|
|
13897
|
+
unlockSetting(setting: OptionsSettingId): void;
|
|
13898
|
+
/** Set (or with `undefined`, clear) the host default for a setting. */
|
|
13899
|
+
setSettingDefault(setting: OptionsSettingId, value: ViewerOptionPrimitive | undefined): void;
|
|
13900
|
+
hideBackstagePage(page: BackstagePage): void;
|
|
13901
|
+
showBackstagePage(page: BackstagePage): void;
|
|
13902
|
+
hideBackstageCard(card: BackstageCardId): void;
|
|
13903
|
+
showBackstageCard(card: BackstageCardId): void;
|
|
13904
|
+
hideContextMenuCommand(command: ContextMenuCommandId): void;
|
|
13905
|
+
showContextMenuCommand(command: ContextMenuCommandId): void;
|
|
13906
|
+
hideCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
|
|
13907
|
+
showCanvasContextMenuCommand(command: CanvasContextMenuCommandId): void;
|
|
13908
|
+
disableShortcut(action: EditorKeyActionName): void;
|
|
13909
|
+
enableShortcut(action: EditorKeyActionName): void;
|
|
13910
|
+
/** Move a command onto new chord(s); `undefined` restores the built-in chord. */
|
|
13911
|
+
remapShortcut(action: EditorKeyActionName, chords: ShortcutChord | readonly ShortcutChord[] | undefined): void;
|
|
13912
|
+
setPanelVisible(panel: ViewerPanelId, visible: boolean): void;
|
|
13913
|
+
setFeatureEnabled(feature: ViewerFeatureId, enabled: boolean): void;
|
|
13914
|
+
setDialogAvailable(dialog: ViewerDialogId, available: boolean): void;
|
|
13915
|
+
}
|
|
13521
13916
|
//#endregion
|
|
13522
13917
|
//#region src/render/viewport-fit.d.ts
|
|
13523
13918
|
/** Unscaled CSS pixels reserved on each side of the ordinary viewer viewport. */
|
|
@@ -13532,6 +13927,8 @@ interface ViewportFitOptions {
|
|
|
13532
13927
|
/** Positive fit-factor ceiling; null allows enlargement without a ceiling. */
|
|
13533
13928
|
maxFitScale?: number | null;
|
|
13534
13929
|
}
|
|
13930
|
+
/** The element fields an Edit Points commit writes. */
|
|
13931
|
+
type EditPointsElementPatch = Pick<ShapePptxElement, 'x' | 'y' | 'width' | 'height' | 'shapeType' | 'shapeAdjustments' | 'pathData' | 'pathWidth' | 'pathHeight' | 'customGeometryPaths' | 'customGeometryRawData' | 'customGeometryAdjustHandlesXY' | 'customGeometryAdjustHandlesPolar' | 'customGeometryConnectionSites' | 'customGeometryTextRect'>;
|
|
13535
13932
|
//#endregion
|
|
13536
13933
|
//#region src/web-components/select-value.d.ts
|
|
13537
13934
|
/** Public DOM shape used by all bindings; the element is not a native select. */
|
|
@@ -14174,8 +14571,14 @@ interface PowerPointViewerProps extends ViewportFitOptions {
|
|
|
14174
14571
|
* @see {@link PptxAiConfig}
|
|
14175
14572
|
*/
|
|
14176
14573
|
ai?: PptxAiConfig;
|
|
14574
|
+
/**
|
|
14575
|
+
* Framework-neutral UI customisation. See docs/guide/customization.md.
|
|
14576
|
+
* Unioned with `hiddenActions`. A new object replaces the whole
|
|
14577
|
+
* customisation, including edits made through the handle helpers.
|
|
14578
|
+
*/
|
|
14579
|
+
customization?: ViewerCustomization;
|
|
14177
14580
|
}
|
|
14178
|
-
interface PowerPointViewerHandle extends FileViewerHandle, PowerPointViewerAPI {
|
|
14581
|
+
interface PowerPointViewerHandle extends FileViewerHandle, PowerPointViewerAPI, ViewerCustomizationApi {
|
|
14179
14582
|
getContent: () => Promise<Uint8Array>;
|
|
14180
14583
|
}
|
|
14181
14584
|
|
|
@@ -14223,6 +14626,8 @@ interface ToolbarProps {
|
|
|
14223
14626
|
tableEditorState?: TableCellEditorState | null;
|
|
14224
14627
|
editTemplateMode: boolean;
|
|
14225
14628
|
newShapeType: SupportedShapeType;
|
|
14629
|
+
/** The armed Freeform: Shape / Curve tool, or null. */
|
|
14630
|
+
activeFreeformTool?: FreeformToolKind | null;
|
|
14226
14631
|
activeTool: DrawingTool;
|
|
14227
14632
|
drawingColor: string;
|
|
14228
14633
|
drawingWidth: number;
|
|
@@ -14256,6 +14661,8 @@ interface ToolbarProps {
|
|
|
14256
14661
|
onRedo: () => void;
|
|
14257
14662
|
onToggleFindReplace: () => void;
|
|
14258
14663
|
onSetNewShapeType: (type: SupportedShapeType) => void;
|
|
14664
|
+
/** Arm (or, with null, disarm) a Freeform: Shape / Curve tool. */
|
|
14665
|
+
onArmFreeformTool?: (tool: FreeformToolKind | null) => void;
|
|
14259
14666
|
onAddTextBox: () => void;
|
|
14260
14667
|
onAddShape: () => void;
|
|
14261
14668
|
onAddTable: () => void;
|
|
@@ -14469,6 +14876,23 @@ interface TableStyleContext {
|
|
|
14469
14876
|
theme?: PptxTheme;
|
|
14470
14877
|
}
|
|
14471
14878
|
//#endregion
|
|
14879
|
+
//#region src/viewer/components/canvas/OutlineAuthoringLayer.d.ts
|
|
14880
|
+
/** Wiring for Edit Points and the Freeform: Shape / Curve tools. */
|
|
14881
|
+
interface OutlineAuthoringProps {
|
|
14882
|
+
/** The shape in Edit Points mode, or null. */
|
|
14883
|
+
editPointsElementId: string | null;
|
|
14884
|
+
/** Edit Points menu commands the host hid. */
|
|
14885
|
+
hiddenEditPointsCommands?: ReadonlySet<EditPointsCommandId>;
|
|
14886
|
+
/** Apply one Edit Points edit (one undo step). */
|
|
14887
|
+
onCommitEditPoints: (elementId: string, patch: EditPointsElementPatch) => void;
|
|
14888
|
+
onExitEditPoints: () => void;
|
|
14889
|
+
/** The armed drawing tool, or null. */
|
|
14890
|
+
freeformTool: FreeformToolKind | null;
|
|
14891
|
+
/** Insert a drawn freeform (the tool then disarms). */
|
|
14892
|
+
onFreeformCommit: (element: ShapePptxElement) => void;
|
|
14893
|
+
onFreeformCancel: () => void;
|
|
14894
|
+
}
|
|
14895
|
+
//#endregion
|
|
14472
14896
|
//#region src/viewer/components/canvas/canvas-types.d.ts
|
|
14473
14897
|
interface ZoomViewport {
|
|
14474
14898
|
canvasViewportRef: React$1__default.RefObject<HTMLDivElement | null>;
|
|
@@ -14616,6 +15040,7 @@ interface SlideCanvasProps {
|
|
|
14616
15040
|
* changes tween while the AI assistant is working (see AiFocusHighlightOverlay).
|
|
14617
15041
|
*/
|
|
14618
15042
|
aiActive?: boolean;
|
|
15043
|
+
outlineAuthoring?: OutlineAuthoringProps;
|
|
14619
15044
|
}
|
|
14620
15045
|
//#endregion
|
|
14621
15046
|
//#region src/viewer/hooks/useAutosave.d.ts
|
|
@@ -14738,5 +15163,5 @@ declare function SlideTemplatePreview({ templateId, scheme }: SlideTemplatePrevi
|
|
|
14738
15163
|
*/
|
|
14739
15164
|
declare function renderToCanvas(element: HTMLElement, options?: Partial<Options>): Promise<HTMLCanvasElement>;
|
|
14740
15165
|
|
|
14741
|
-
export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, LOCALE_CATALOG, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PowerPointViewer, SLIDE_TEMPLATES, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, THEME_CATALOG, Toolbar, VIEWER_PREFS_STORAGE_KEY, ViewerThemeProvider, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, defaultCssVars, defaultRadius, defaultThemeColors, describeCollaborationShellState, getAnimationInitialStyle, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, renderToCanvas, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, savedPresentationFileName, themeToCssVars, useViewerBuildingBlocks, useViewerTheme, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs };
|
|
14742
|
-
export type { AccountAuthConfig, CollaborationConfig, CollaborationContextValue, CollaborationShellState, ElementUpdate, ElementUpdateOptions, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, LocalStorageUsageSummary, LocaleCatalogEntry, PowerPointViewerAPI, PowerPointViewerHandle, PowerPointViewerProps, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiWritePolicy, SavedPresentationFormat, SlideCanvasProps, SlideTemplateGalleryDialogProps, SlideTemplateId, SlideTemplatePreviewProps, SlideTemplateSpec, StoredViewerPrefs, ThemeCatalogEntry, ToolbarActionId, ToolbarButtonId, ToolbarProps, ToolbarTabId, UseViewerBuildingBlocksInput, ViewerBuildingBlocksResult, ViewerMode, ViewerProfile, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding };
|
|
15166
|
+
export { AVATAR_COLOR_SWATCHES, BACKSTAGE_CARD_IDS, BACKSTAGE_PAGE_IDS, CANVAS_CONTEXT_MENU_COMMAND_IDS, DEFAULT_VIEWER_PROFILE, EDITOR_SHORTCUT_ACTION_IDS, ELEMENT_CONTEXT_MENU_COMMAND_IDS, LOCALE_CATALOG, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PowerPointViewer, RIBBON_TAB_IDS, SLIDE_TEMPLATES, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, THEME_CATALOG, TOOLBAR_BUTTON_IDS, Toolbar, VIEWER_DIALOG_IDS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_IDS, VIEWER_PANEL_IDS, VIEWER_PREFS_STORAGE_KEY, ViewerThemeProvider, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, defaultCssVars, defaultRadius, defaultThemeColors, describeCollaborationShellState, getAnimationInitialStyle, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, renderToCanvas, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, savedPresentationFileName, themeToCssVars, useViewerBuildingBlocks, useViewerTheme, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs };
|
|
15167
|
+
export type { AccountAuthConfig, BackstageCustomization, CollaborationConfig, CollaborationContextValue, CollaborationShellState, ContextMenuCustomization, ElementUpdate, ElementUpdateOptions, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, KeyboardCustomization, LocalStorageUsageSummary, LocaleCatalogEntry, OptionsCustomization, OptionsPageId, OptionsSectionId, OptionsSettingId, OptionsSettingValues, PowerPointViewerAPI, PowerPointViewerHandle, PowerPointViewerProps, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiWritePolicy, ResolvedCustomization, RibbonCustomization, SavedPresentationFormat, ShortcutChord, SlideCanvasProps, SlideTemplateGalleryDialogProps, SlideTemplateId, SlideTemplatePreviewProps, SlideTemplateSpec, StoredViewerPrefs, ThemeCatalogEntry, ToolbarActionId, ToolbarButtonId, ToolbarProps, ToolbarTabId, UseViewerBuildingBlocksInput, ViewerBuildingBlocksResult, ViewerCustomization, ViewerCustomizationApi, ViewerDialogId, ViewerExportFormatId, ViewerFeatureId, ViewerMode, ViewerPanelId, ViewerProfile, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding };
|