pptx-react-viewer 4.7.0 → 4.9.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 +146 -0
- package/dist/{AiChatPanel-3YILWCBX.js → AiChatPanel-WJ64Q6KO.js} +28 -28
- package/dist/AiChatPanel-WJ64Q6KO.js.br +0 -0
- package/dist/AiChatPanel-WJ64Q6KO.js.gz +0 -0
- package/dist/{AiChatPanel-X2MVL5UP.mjs → AiChatPanel-YRWC7C3B.mjs} +4 -4
- package/dist/AiChatPanel-YRWC7C3B.mjs.br +0 -0
- package/dist/AiChatPanel-YRWC7C3B.mjs.gz +0 -0
- package/dist/{Model3DScene-QFWI5CEE.mjs → Model3DScene-DS6AQWFV.mjs} +1 -1
- package/dist/Model3DScene-DS6AQWFV.mjs.br +0 -0
- package/dist/Model3DScene-DS6AQWFV.mjs.gz +0 -0
- package/dist/{Model3DScene-G7P6ZAIO.js → Model3DScene-VHDYCHO5.js} +2 -2
- package/dist/{Model3DScene-G7P6ZAIO.js.br → Model3DScene-VHDYCHO5.js.br} +0 -0
- package/dist/Model3DScene-VHDYCHO5.js.gz +0 -0
- package/dist/{chunk-FYAOOACZ.js → chunk-7NTNFOPT.js} +287 -255
- package/dist/chunk-7NTNFOPT.js.br +0 -0
- package/dist/chunk-7NTNFOPT.js.gz +0 -0
- package/dist/{chunk-WIEBQGQI.mjs → chunk-HDH4KFDK.mjs} +323 -96
- package/dist/chunk-HDH4KFDK.mjs.br +0 -0
- package/dist/chunk-HDH4KFDK.mjs.gz +0 -0
- package/dist/{chunk-UBYFLXAU.mjs → chunk-K5HZD63F.mjs} +2548 -1857
- package/dist/chunk-K5HZD63F.mjs.br +0 -0
- package/dist/chunk-K5HZD63F.mjs.gz +0 -0
- package/dist/{chunk-UIAU3NR2.js → chunk-KPKO2ELT.js} +323 -96
- package/dist/chunk-KPKO2ELT.js.br +0 -0
- package/dist/chunk-KPKO2ELT.js.gz +0 -0
- package/dist/{chunk-OECUSL2B.mjs → chunk-M6KW27TZ.mjs} +8 -7
- package/dist/chunk-M6KW27TZ.mjs.br +0 -0
- package/dist/chunk-M6KW27TZ.mjs.gz +0 -0
- package/dist/{chunk-VF4RA27Q.js → chunk-NMXIX7E4.js} +4565 -3874
- package/dist/chunk-NMXIX7E4.js.br +0 -0
- package/dist/chunk-NMXIX7E4.js.gz +0 -0
- package/dist/{chunk-QLDHUKH2.mjs → chunk-PJT2DTOS.mjs} +43189 -15692
- package/dist/chunk-PJT2DTOS.mjs.br +0 -0
- package/dist/chunk-PJT2DTOS.mjs.gz +0 -0
- package/dist/{chunk-2BM4GBFZ.js → chunk-PSJTZIIK.js} +5 -5
- package/dist/chunk-PSJTZIIK.js.br +0 -0
- package/dist/chunk-PSJTZIIK.js.gz +0 -0
- package/dist/{chunk-5J6NW3YS.mjs → chunk-Y7RTQOD6.mjs} +81 -49
- package/dist/chunk-Y7RTQOD6.mjs.br +0 -0
- package/dist/chunk-Y7RTQOD6.mjs.gz +0 -0
- package/dist/{chunk-AQIXKTAT.js → chunk-YWAFJZ23.js} +43214 -15695
- package/dist/chunk-YWAFJZ23.js.br +0 -0
- package/dist/chunk-YWAFJZ23.js.gz +0 -0
- package/dist/{chunk-SR7ETIBF.js → chunk-ZZ6IPWOP.js} +819 -818
- package/dist/chunk-ZZ6IPWOP.js.br +0 -0
- package/dist/chunk-ZZ6IPWOP.js.gz +0 -0
- package/dist/{chunk-E5OIDWHO.mjs → chunk-ZZY24BB7.mjs} +1 -1
- package/dist/chunk-ZZY24BB7.mjs.br +0 -0
- package/dist/chunk-ZZY24BB7.mjs.gz +0 -0
- package/dist/i18n/de.cjs +340 -105
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +340 -105
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +340 -105
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +340 -105
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +340 -105
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +340 -105
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +342 -107
- package/dist/i18n/zh-CN.cjs.br +0 -0
- package/dist/i18n/zh-CN.cjs.gz +0 -0
- package/dist/i18n/zh-CN.mjs +342 -107
- 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 +762 -22
- package/dist/index.js +63 -63
- 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 +754 -11
- 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 +739 -22
- 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 +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +3 -2
- package/dist/AiChatPanel-3YILWCBX.js.br +0 -0
- package/dist/AiChatPanel-3YILWCBX.js.gz +0 -0
- package/dist/AiChatPanel-X2MVL5UP.mjs.br +0 -0
- package/dist/AiChatPanel-X2MVL5UP.mjs.gz +0 -0
- package/dist/Model3DScene-G7P6ZAIO.js.gz +0 -0
- package/dist/Model3DScene-QFWI5CEE.mjs.br +0 -0
- package/dist/Model3DScene-QFWI5CEE.mjs.gz +0 -0
- package/dist/chunk-2BM4GBFZ.js.br +0 -0
- package/dist/chunk-2BM4GBFZ.js.gz +0 -0
- package/dist/chunk-5J6NW3YS.mjs.br +0 -0
- package/dist/chunk-5J6NW3YS.mjs.gz +0 -0
- package/dist/chunk-AQIXKTAT.js.br +0 -0
- package/dist/chunk-AQIXKTAT.js.gz +0 -0
- package/dist/chunk-E5OIDWHO.mjs.br +0 -0
- package/dist/chunk-E5OIDWHO.mjs.gz +0 -0
- package/dist/chunk-FYAOOACZ.js.br +0 -0
- package/dist/chunk-FYAOOACZ.js.gz +0 -0
- package/dist/chunk-OECUSL2B.mjs.br +0 -0
- package/dist/chunk-OECUSL2B.mjs.gz +0 -0
- package/dist/chunk-QLDHUKH2.mjs.br +0 -0
- package/dist/chunk-QLDHUKH2.mjs.gz +0 -0
- package/dist/chunk-SR7ETIBF.js.br +0 -0
- package/dist/chunk-SR7ETIBF.js.gz +0 -0
- package/dist/chunk-UBYFLXAU.mjs.br +0 -0
- package/dist/chunk-UBYFLXAU.mjs.gz +0 -0
- package/dist/chunk-UIAU3NR2.js.br +0 -0
- package/dist/chunk-UIAU3NR2.js.gz +0 -0
- package/dist/chunk-VF4RA27Q.js.br +0 -0
- package/dist/chunk-VF4RA27Q.js.gz +0 -0
- package/dist/chunk-WIEBQGQI.mjs.br +0 -0
- package/dist/chunk-WIEBQGQI.mjs.gz +0 -0
package/dist/internals.d.ts
CHANGED
|
@@ -1295,6 +1295,27 @@ interface ShapeStyle {
|
|
|
1295
1295
|
* `authored-shape-style.ts`'s `effectIsPurelyStyleMatrix`.
|
|
1296
1296
|
*/
|
|
1297
1297
|
inheritedEffectStyle?: ShapeStyle;
|
|
1298
|
+
/**
|
|
1299
|
+
* Set by a style-matrix pick (the Shape Styles gallery): the shape's own
|
|
1300
|
+
* `spPr` fill, outline and effects were replaced by `<p:style>`, so the
|
|
1301
|
+
* writer clears whatever the retained `spPr` still authored before it
|
|
1302
|
+
* writes the (now reference-owned) style. Never parsed; editor state only.
|
|
1303
|
+
*/
|
|
1304
|
+
styleMatrixReset?: boolean;
|
|
1305
|
+
}
|
|
1306
|
+
/**
|
|
1307
|
+
* The result of resolving a `<p:style>` block against the loaded theme.
|
|
1308
|
+
*
|
|
1309
|
+
* `shapeStyle` is exactly what the load pipeline would have produced for a
|
|
1310
|
+
* shape whose `spPr` authors nothing and whose `<p:style>` is `styleXml`:
|
|
1311
|
+
* the flat fill/outline/effect values a renderer needs, the reference indices
|
|
1312
|
+
* and colours the writer re-emits, and the inheritance baselines that tell the
|
|
1313
|
+
* writer to leave `spPr` empty while the flat values still agree with them.
|
|
1314
|
+
*/
|
|
1315
|
+
interface ResolvedStyleMatrix {
|
|
1316
|
+
shapeStyle: ShapeStyle;
|
|
1317
|
+
/** The text colour `<a:fontRef>` names, resolved to hex. */
|
|
1318
|
+
fontColor?: string;
|
|
1298
1319
|
}
|
|
1299
1320
|
//#endregion
|
|
1300
1321
|
//#region src/core/types/text.d.ts
|
|
@@ -1929,6 +1950,16 @@ interface TextStyle {
|
|
|
1929
1950
|
textReflectionEndOpacity?: number;
|
|
1930
1951
|
/** Text reflection offset distance in px. */
|
|
1931
1952
|
textReflectionOffset?: number;
|
|
1953
|
+
/**
|
|
1954
|
+
* Text reflection end position (`@endPos`) as a 0-1 fraction of the text
|
|
1955
|
+
* height the fade reaches. Mirrors `ShapeStyle.reflectionEndPosition`.
|
|
1956
|
+
*/
|
|
1957
|
+
textReflectionEndPosition?: number;
|
|
1958
|
+
/**
|
|
1959
|
+
* Text reflection offset direction (`@dir`) in degrees. Mirrors
|
|
1960
|
+
* `ShapeStyle.reflectionDirection`.
|
|
1961
|
+
*/
|
|
1962
|
+
textReflectionDirection?: number;
|
|
1932
1963
|
/**
|
|
1933
1964
|
* Text reflection fade direction (`a:rPr/a:effectLst/a:reflection/@fadeDir`)
|
|
1934
1965
|
* in degrees. Mirrors `ShapeStyle.reflectionFadeDirection`.
|
|
@@ -2247,6 +2278,21 @@ interface TextSegment {
|
|
|
2247
2278
|
* populated; unrelated fields fall back to the shape-level style.
|
|
2248
2279
|
*/
|
|
2249
2280
|
paragraphProperties?: TextStyle;
|
|
2281
|
+
/**
|
|
2282
|
+
* The paragraph this segment starts authored an EMPTY `<a:pPr/>`. Only
|
|
2283
|
+
* meaningful on the first segment of a paragraph. The writer re-emits the
|
|
2284
|
+
* empty element when it has no paragraph property of its own to write, so
|
|
2285
|
+
* a rewritten slide keeps the markup PowerPoint wrote.
|
|
2286
|
+
*/
|
|
2287
|
+
emptyParagraphPropertiesAuthored?: boolean;
|
|
2288
|
+
/**
|
|
2289
|
+
* The paragraph this segment starts has no run content and authored no
|
|
2290
|
+
* `a:endParaRPr` (a bare `<a:p/>`, possibly with an `a:pPr`). Only
|
|
2291
|
+
* meaningful on the first segment of a paragraph. It stops the writer
|
|
2292
|
+
* inventing an empty run or an `<a:endParaRPr lang="en-US"/>` stub for a
|
|
2293
|
+
* paragraph that still has no content when saved.
|
|
2294
|
+
*/
|
|
2295
|
+
bareParagraph?: boolean;
|
|
2250
2296
|
/**
|
|
2251
2297
|
* Phonetic annotation text from `a:ruby > a:rt` (e.g. furigana, pinyin).
|
|
2252
2298
|
* When present, the renderer should wrap the base text with an HTML `<ruby>` tag.
|
|
@@ -2269,6 +2315,22 @@ interface TextSegment {
|
|
|
2269
2315
|
* Used by the renderer to apply font family, colour, etc. to the `<rt>` element.
|
|
2270
2316
|
*/
|
|
2271
2317
|
rubyStyle?: TextStyle;
|
|
2318
|
+
/**
|
|
2319
|
+
* The parsed `a:rubyPr` node, kept verbatim so its attributes (`hps`,
|
|
2320
|
+
* `hpsRaise`, `hpsBaseText`, `lid`, ...) round-trip exactly; only an
|
|
2321
|
+
* edited {@link rubyAlignment} is written over it on save.
|
|
2322
|
+
*/
|
|
2323
|
+
rubyPropertiesXml?: XmlObject;
|
|
2324
|
+
/**
|
|
2325
|
+
* What each of a ruby run's two base-side `a:rPr`s authored on its own:
|
|
2326
|
+
* `outer` is the containing `a:r`'s, `base` the `a:rubyBase` run's. The
|
|
2327
|
+
* flat {@link style} merges both for rendering; these let the writer give
|
|
2328
|
+
* each `a:rPr` back only its own properties (plus any later edit).
|
|
2329
|
+
*/
|
|
2330
|
+
rubyRunAuthoredStyles?: {
|
|
2331
|
+
outer?: TextStyle;
|
|
2332
|
+
base?: TextStyle;
|
|
2333
|
+
};
|
|
2272
2334
|
}
|
|
2273
2335
|
//#endregion
|
|
2274
2336
|
//#region src/core/types/element-base.d.ts
|
|
@@ -4180,6 +4242,14 @@ interface PptxChartData {
|
|
|
4180
4242
|
style?: PptxChartStyle;
|
|
4181
4243
|
/** Grouping mode for bar/area/line charts: 'clustered' | 'stacked' | 'percentStacked' */
|
|
4182
4244
|
grouping?: 'clustered' | 'stacked' | 'percentStacked';
|
|
4245
|
+
/**
|
|
4246
|
+
* The source `c:grouping` was `standard`, which {@link grouping} folds into
|
|
4247
|
+
* `'clustered'` (a 2D bar chart draws the two the same). A 3D chart draws
|
|
4248
|
+
* `standard` differently: each series on its own depth row. The writer
|
|
4249
|
+
* emits `standard` again while `grouping` is still `'clustered'`, so the
|
|
4250
|
+
* chart round-trips unchanged.
|
|
4251
|
+
*/
|
|
4252
|
+
groupingStandard?: boolean;
|
|
4183
4253
|
/**
|
|
4184
4254
|
* Whether the first (or only) series varies its point colours
|
|
4185
4255
|
* (`c:varyColors/@val`). Pie/doughnut default this on; single-series
|
|
@@ -5577,6 +5647,14 @@ interface PptxSmartArtNode {
|
|
|
5577
5647
|
* quick-style variation) applied to every other node.
|
|
5578
5648
|
*/
|
|
5579
5649
|
coherent3DOff?: boolean;
|
|
5650
|
+
/**
|
|
5651
|
+
* The layout variables PowerPoint recorded for each presentation node
|
|
5652
|
+
* this point drives (`dgm:prSet/@presName` -> `dgm:presLayoutVars`
|
|
5653
|
+
* variable -> `@val`), e.g. `{ hierRoot1: { hierBranch: 'l' } }` for an
|
|
5654
|
+
* org-chart manager set to "Left Hanging". Read-only: the presentation
|
|
5655
|
+
* points themselves round-trip verbatim.
|
|
5656
|
+
*/
|
|
5657
|
+
presLayoutVarsByName?: Record<string, Record<string, string>>;
|
|
5580
5658
|
/**
|
|
5581
5659
|
* Per-run text + run-properties for the node's first paragraph, captured at
|
|
5582
5660
|
* parse time. When the joined run text still equals {@link text} (the node
|
|
@@ -5646,6 +5724,16 @@ interface PptxSmartArtQuickStyleLabel {
|
|
|
5646
5724
|
name: string;
|
|
5647
5725
|
/** Theme-resolved `dgm:style` refs for this label's role, when available. */
|
|
5648
5726
|
resolvedStyle?: PptxSmartArtResolvedStyleRef;
|
|
5727
|
+
/**
|
|
5728
|
+
* The label's own `dgm:scene3d` (per-shape camera + light rig). PowerPoint
|
|
5729
|
+
* copies it onto a shape's cached `a:scene3d` unless it is the default
|
|
5730
|
+
* front camera with a `threePt` light (see `applySmartArtQuickStyle3d`).
|
|
5731
|
+
*/
|
|
5732
|
+
scene3d?: Pptx3DScene;
|
|
5733
|
+
/** The label's own `dgm:sp3d` (bevel / extrusion / contour / material); absent when empty. */
|
|
5734
|
+
shape3d?: Pptx3DShape;
|
|
5735
|
+
/** The label's `dgm:txPr/a:sp3d` label-text extrusion (Bird's Eye Scene). */
|
|
5736
|
+
text3d?: Text3DStyle;
|
|
5649
5737
|
}
|
|
5650
5738
|
/** CT_CTStyleLabel metadata from a color-transform definition. */
|
|
5651
5739
|
interface PptxSmartArtColorStyleLabel {
|
|
@@ -5713,9 +5801,10 @@ interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
|
|
|
5713
5801
|
* for the "Scene" quick styles (Brick, Flat, Metallic, Sunset, Bird's Eye
|
|
5714
5802
|
* Scene). One camera renders the whole diagram; per-shape `a:scene3d` is
|
|
5715
5803
|
* absent for those styles (see `PptxSmartArtDrawingShape.scene3d`). Each
|
|
5716
|
-
* `dgm:styleLbl` also carries its own per-label `dgm:scene3d`/`dgm:sp3d
|
|
5717
|
-
*
|
|
5718
|
-
*
|
|
5804
|
+
* `dgm:styleLbl` also carries its own per-label `dgm:scene3d`/`dgm:sp3d`
|
|
5805
|
+
* ({@link PptxSmartArtQuickStyleLabel.scene3d} / `shape3d` / `text3d`),
|
|
5806
|
+
* which PowerPoint bakes onto each cached shape; they are re-applied when a
|
|
5807
|
+
* structural edit regenerates the shapes.
|
|
5719
5808
|
*/
|
|
5720
5809
|
scene3d?: Pptx3DScene;
|
|
5721
5810
|
}
|
|
@@ -5846,6 +5935,11 @@ interface PptxSmartArtDrawingShape extends PptxCustomPathProperties {
|
|
|
5846
5935
|
fillNone?: boolean;
|
|
5847
5936
|
/** Solid fill colour (hex). */
|
|
5848
5937
|
fillColor?: string;
|
|
5938
|
+
/**
|
|
5939
|
+
* Opacity (0..1) of the solid fill, from the colour's `a:alpha` (Basic Venn
|
|
5940
|
+
* paints its circles at 50% so overlaps blend). Absent when opaque.
|
|
5941
|
+
*/
|
|
5942
|
+
fillOpacity?: number;
|
|
5849
5943
|
/**
|
|
5850
5944
|
* Gradient fill stops when the cached shape uses `a:gradFill`. Positions are
|
|
5851
5945
|
* 0..100 (percent). Renderers emit an SVG/CSS gradient instead of a flat box.
|
|
@@ -7803,6 +7897,84 @@ interface PptxThemeOption {
|
|
|
7803
7897
|
name?: string;
|
|
7804
7898
|
}
|
|
7805
7899
|
//#endregion
|
|
7900
|
+
//#region src/core/types/animation-behavior.d.ts
|
|
7901
|
+
/** Timing of one behaviour, from its own `p:cBhvr/p:cTn`. */
|
|
7902
|
+
interface PptxAnimationBehaviorTiming {
|
|
7903
|
+
/** `p:cTn/@dur` in ms; absent when `indefinite` or unset. */
|
|
7904
|
+
durationMs?: number;
|
|
7905
|
+
/** Start offset in ms from `p:stCondLst/p:cond/@delay`, relative to the effect start. */
|
|
7906
|
+
delayMs?: number;
|
|
7907
|
+
/** `p:cTn/@accel` as a 0..1 fraction of the behaviour's duration. */
|
|
7908
|
+
accel?: number;
|
|
7909
|
+
/** `p:cTn/@decel` as a 0..1 fraction of the behaviour's duration. */
|
|
7910
|
+
decel?: number;
|
|
7911
|
+
/** `p:cTn/@autoRev`: play forward, then backward, doubling the active time. */
|
|
7912
|
+
autoReverse?: boolean;
|
|
7913
|
+
/** `p:cTn/@repeatCount` in plain iterations (OOXML stores thousandths). */
|
|
7914
|
+
repeatCount?: number;
|
|
7915
|
+
/** `p:cTn/@tmFilter`: the raw `"t,v; t,v; ..."` time remapping list. */
|
|
7916
|
+
tmFilter?: string;
|
|
7917
|
+
}
|
|
7918
|
+
interface BehaviorBase {
|
|
7919
|
+
/** Lower-cased `p:attrNameLst` entries, in document order. */
|
|
7920
|
+
attrNames: string[];
|
|
7921
|
+
/** `p:cBhvr/@additive` (`base`, `sum`, `repl`, `mult`, `none`). */
|
|
7922
|
+
additive?: string;
|
|
7923
|
+
timing: PptxAnimationBehaviorTiming;
|
|
7924
|
+
}
|
|
7925
|
+
/** `p:set`: a discrete value held from the behaviour's start. */
|
|
7926
|
+
interface PptxSetBehavior extends BehaviorBase {
|
|
7927
|
+
kind: 'set';
|
|
7928
|
+
value: string | number | boolean;
|
|
7929
|
+
}
|
|
7930
|
+
/** `p:anim`: a `p:tavLst` ramp or a `from`/`to`/`by` formula ramp. */
|
|
7931
|
+
interface PptxAnimBehavior extends BehaviorBase {
|
|
7932
|
+
kind: 'anim';
|
|
7933
|
+
calcMode?: 'discrete' | 'lin' | 'fmla';
|
|
7934
|
+
valueType?: string;
|
|
7935
|
+
from?: string;
|
|
7936
|
+
to?: string;
|
|
7937
|
+
by?: string;
|
|
7938
|
+
keyframes: PptxAnimationKeyframe[];
|
|
7939
|
+
}
|
|
7940
|
+
/** `p:animEffect`: a filter transition (`fade`, `wipe(down)`...). */
|
|
7941
|
+
interface PptxAnimEffectBehavior extends BehaviorBase {
|
|
7942
|
+
kind: 'animEffect';
|
|
7943
|
+
filter?: string;
|
|
7944
|
+
transition?: 'in' | 'out' | 'none';
|
|
7945
|
+
}
|
|
7946
|
+
/** A `p:animScale` factor pair (1 = unscaled) or a `p:animMotion` offset (slide fractions). */
|
|
7947
|
+
interface PptxBehaviorPoint {
|
|
7948
|
+
x: number;
|
|
7949
|
+
y: number;
|
|
7950
|
+
}
|
|
7951
|
+
/** `p:animScale`: scale factors as fractions (OOXML stores percent*1000, so `100000` = 1). */
|
|
7952
|
+
interface PptxAnimScaleBehavior extends BehaviorBase {
|
|
7953
|
+
kind: 'animScale';
|
|
7954
|
+
from?: PptxBehaviorPoint;
|
|
7955
|
+
to?: PptxBehaviorPoint;
|
|
7956
|
+
by?: PptxBehaviorPoint;
|
|
7957
|
+
zoomContents?: boolean;
|
|
7958
|
+
}
|
|
7959
|
+
/** `p:animRot`: rotation in degrees (OOXML stores 60000ths). */
|
|
7960
|
+
interface PptxAnimRotBehavior extends BehaviorBase {
|
|
7961
|
+
kind: 'animRot';
|
|
7962
|
+
from?: number;
|
|
7963
|
+
to?: number;
|
|
7964
|
+
by?: number;
|
|
7965
|
+
}
|
|
7966
|
+
/** `p:animMotion`: a path (slide fractions) or a `from`/`to`/`by` offset. */
|
|
7967
|
+
interface PptxAnimMotionBehavior extends BehaviorBase {
|
|
7968
|
+
kind: 'animMotion';
|
|
7969
|
+
path?: string;
|
|
7970
|
+
origin?: string;
|
|
7971
|
+
from?: PptxBehaviorPoint;
|
|
7972
|
+
to?: PptxBehaviorPoint;
|
|
7973
|
+
by?: PptxBehaviorPoint;
|
|
7974
|
+
}
|
|
7975
|
+
/** One behaviour child of an effect, tagged by its OOXML element. */
|
|
7976
|
+
type PptxAnimationBehavior = PptxSetBehavior | PptxAnimBehavior | PptxAnimEffectBehavior | PptxAnimScaleBehavior | PptxAnimRotBehavior | PptxAnimMotionBehavior;
|
|
7977
|
+
//#endregion
|
|
7806
7978
|
//#region src/core/types/animation.d.ts
|
|
7807
7979
|
/**
|
|
7808
7980
|
* Built-in animation preset names used for entrance, exit, and emphasis effects.
|
|
@@ -8354,6 +8526,14 @@ interface PptxNativeAnimation {
|
|
|
8354
8526
|
* shared playback (round-trip/typed-model only so far).
|
|
8355
8527
|
*/
|
|
8356
8528
|
setAnimations?: PptxSetAnimation[];
|
|
8529
|
+
/**
|
|
8530
|
+
* Every behaviour child of this effect (`p:set`, `p:anim`, `p:animEffect`,
|
|
8531
|
+
* `p:animScale`, `p:animRot`, `p:animMotion`) with its own timing, as
|
|
8532
|
+
* authored. The single-valued fields above flatten a composed preset;
|
|
8533
|
+
* this keeps the whole tree so playback can follow what PowerPoint wrote
|
|
8534
|
+
* (see `animation-behavior-player` in `pptx-viewer-shared`).
|
|
8535
|
+
*/
|
|
8536
|
+
behaviors?: PptxAnimationBehavior[];
|
|
8357
8537
|
}
|
|
8358
8538
|
/**
|
|
8359
8539
|
* One `p:set` discrete (non-interpolated) attribute assignment composed
|
|
@@ -11264,6 +11444,8 @@ interface IPptxHandlerRuntime {
|
|
|
11264
11444
|
updateThemeColorScheme(colorScheme: PptxThemeColorScheme): Promise<void>;
|
|
11265
11445
|
updateThemeFontScheme(fontScheme: PptxThemeFontScheme): Promise<void>;
|
|
11266
11446
|
updateThemeName(name: string): Promise<void>;
|
|
11447
|
+
/** Resolve a `<p:style>` node against the loaded theme (see PptxHandlerRuntimeStyleMatrixResolve). */
|
|
11448
|
+
resolveStyleMatrixReferences(styleXml: XmlObject): ResolvedStyleMatrix;
|
|
11267
11449
|
applyTheme(colorScheme: PptxThemeColorScheme, fontScheme: PptxThemeFontScheme, themeName?: string): Promise<void>;
|
|
11268
11450
|
load(data: ArrayBuffer, options?: PptxHandlerLoadOptions): Promise<PptxData>;
|
|
11269
11451
|
getChartDataForGraphicFrame(slidePath: string, graphicFrame: XmlObject | undefined): Promise<PptxChartData | undefined>;
|
|
@@ -11559,6 +11741,14 @@ declare class PptxHandlerCore {
|
|
|
11559
11741
|
* @param name - New display name for the theme.
|
|
11560
11742
|
*/
|
|
11561
11743
|
updateThemeName(name: string): Promise<void>;
|
|
11744
|
+
/**
|
|
11745
|
+
* Resolve a `<p:style>` block (`a:lnRef` / `a:fillRef` / `a:effectRef` /
|
|
11746
|
+
* `a:fontRef`) against the loaded theme, exactly as the load path would for
|
|
11747
|
+
* a shape whose `spPr` authors nothing. Apply the returned `shapeStyle` to a
|
|
11748
|
+
* shape and it renders like PowerPoint's Shape Styles entry and saves as a
|
|
11749
|
+
* bare `<p:style>` with an empty `spPr`, which is what PowerPoint writes.
|
|
11750
|
+
*/
|
|
11751
|
+
resolveStyleMatrixReferences(styleXml: XmlObject): ResolvedStyleMatrix;
|
|
11562
11752
|
/**
|
|
11563
11753
|
* Apply a complete theme in one call (colour scheme + font scheme + optional name).
|
|
11564
11754
|
*
|
|
@@ -12451,6 +12641,15 @@ interface PictureBulletMarker {
|
|
|
12451
12641
|
imageRelId?: string;
|
|
12452
12642
|
}
|
|
12453
12643
|
//#endregion
|
|
12644
|
+
//#region src/render/text-east-asian-breaks.d.ts
|
|
12645
|
+
/** Which of the two behaviours a paragraph asks for. */
|
|
12646
|
+
interface EastAsianBreakOptions {
|
|
12647
|
+
/** `a:pPr/@hangingPunct="1"`. */
|
|
12648
|
+
hangingPunctuation: boolean;
|
|
12649
|
+
/** `a:pPr/@eaLnBrk="0"`: break between any two East Asian characters. */
|
|
12650
|
+
breakAnywhere: boolean;
|
|
12651
|
+
}
|
|
12652
|
+
//#endregion
|
|
12454
12653
|
//#region src/render/text-run-meta.d.ts
|
|
12455
12654
|
/** A run's resolved hyperlink target. */
|
|
12456
12655
|
interface RunHyperlink {
|
|
@@ -12624,6 +12823,8 @@ interface ParagraphRun {
|
|
|
12624
12823
|
* `paragraph-run-build.ts`).
|
|
12625
12824
|
*/
|
|
12626
12825
|
underlineWordPieces?: ScriptFontPiece[];
|
|
12826
|
+
/** The advance-carrying space after a hanging `、`/`。` (`text-east-asian-breaks`). */
|
|
12827
|
+
hangingSpace?: true;
|
|
12627
12828
|
/**
|
|
12628
12829
|
* `a:reflection` mirrored-sibling wrapper style for this run (the text-run
|
|
12629
12830
|
* counterpart of a shape/picture's `ComputedEffectStyle.reflection`), or
|
|
@@ -12707,6 +12908,12 @@ interface RenderParagraph {
|
|
|
12707
12908
|
* break rules, rendered differently in the other four bindings.
|
|
12708
12909
|
*/
|
|
12709
12910
|
paragraphStyle?: RunStyle;
|
|
12911
|
+
/**
|
|
12912
|
+
* `@hangingPunct` / `@eaLnBrk="0"` as resolved for this paragraph. The runs
|
|
12913
|
+
* above already carry their pieces; React, which rebuilds each segment's
|
|
12914
|
+
* pieces inside one span, re-applies `splitEastAsianBreaks` from this.
|
|
12915
|
+
*/
|
|
12916
|
+
eastAsianBreaks?: EastAsianBreakOptions;
|
|
12710
12917
|
}
|
|
12711
12918
|
//#endregion
|
|
12712
12919
|
//#region src/render/inline-list-types.d.ts
|
|
@@ -13743,6 +13950,13 @@ type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'rec
|
|
|
13743
13950
|
/** 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. */
|
|
13744
13951
|
type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
|
|
13745
13952
|
type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
|
|
13953
|
+
/**
|
|
13954
|
+
* PowerPoint's contextual tabs: they join the tab row only while the
|
|
13955
|
+
* selection is of their kind (see `contextualTabsForElement` in
|
|
13956
|
+
* `ribbon-galleries/`). Kept apart from `ToolbarTabId` because they are not
|
|
13957
|
+
* part of the fixed tab order every binding renders.
|
|
13958
|
+
*/
|
|
13959
|
+
type RibbonContextualTabId = 'shapeFormat' | 'pictureFormat' | 'tableDesign' | 'chartDesign' | 'smartArtDesign';
|
|
13746
13960
|
//#endregion
|
|
13747
13961
|
//#region src/render/options/viewer-options.d.ts
|
|
13748
13962
|
/**
|
|
@@ -13959,6 +14173,511 @@ type FreeformToolKind = 'freeformShape' | 'curve';
|
|
|
13959
14173
|
*/
|
|
13960
14174
|
type ViewerOptionsTabId = 'general' | 'proofing' | 'save' | 'language' | 'accessibility' | 'advanced' | 'ribbon' | 'quickAccess' | 'addIns' | 'trust';
|
|
13961
14175
|
//#endregion
|
|
14176
|
+
//#region src/render/customization/ribbon-control-catalog.d.ts
|
|
14177
|
+
declare const RIBBON_CONTROL_CATALOG: {
|
|
14178
|
+
readonly home: {
|
|
14179
|
+
readonly clipboard: {
|
|
14180
|
+
readonly label: 'Clipboard';
|
|
14181
|
+
readonly controls: {
|
|
14182
|
+
readonly paste: 'Paste';
|
|
14183
|
+
readonly cut: 'Cut';
|
|
14184
|
+
readonly copy: 'Copy';
|
|
14185
|
+
readonly formatPainter: 'Format Painter';
|
|
14186
|
+
};
|
|
14187
|
+
};
|
|
14188
|
+
readonly slides: {
|
|
14189
|
+
readonly label: 'Slides';
|
|
14190
|
+
readonly controls: {
|
|
14191
|
+
readonly newSlide: 'New Slide';
|
|
14192
|
+
readonly layout: 'Layout';
|
|
14193
|
+
readonly reset: 'Reset';
|
|
14194
|
+
readonly section: 'Section';
|
|
14195
|
+
readonly slideTemplates: 'Slide templates';
|
|
14196
|
+
};
|
|
14197
|
+
};
|
|
14198
|
+
readonly font: {
|
|
14199
|
+
readonly label: 'Font';
|
|
14200
|
+
readonly controls: {
|
|
14201
|
+
readonly fontFamily: 'Font';
|
|
14202
|
+
readonly fontSize: 'Font Size';
|
|
14203
|
+
readonly increaseFontSize: 'Increase Font Size';
|
|
14204
|
+
readonly decreaseFontSize: 'Decrease Font Size';
|
|
14205
|
+
readonly clearFormatting: 'Clear All Formatting';
|
|
14206
|
+
readonly bold: 'Bold';
|
|
14207
|
+
readonly italic: 'Italic';
|
|
14208
|
+
readonly underline: 'Underline';
|
|
14209
|
+
readonly strikethrough: 'Strikethrough';
|
|
14210
|
+
readonly shadow: 'Text Shadow';
|
|
14211
|
+
readonly characterSpacing: 'Character Spacing';
|
|
14212
|
+
readonly changeCase: 'Change Case';
|
|
14213
|
+
readonly fontColor: 'Font Color';
|
|
14214
|
+
readonly highlightColor: 'Text Highlight Color';
|
|
14215
|
+
readonly superscript: 'Superscript';
|
|
14216
|
+
readonly subscript: 'Subscript';
|
|
14217
|
+
};
|
|
14218
|
+
};
|
|
14219
|
+
readonly paragraph: {
|
|
14220
|
+
readonly label: 'Paragraph';
|
|
14221
|
+
readonly controls: {
|
|
14222
|
+
readonly bullets: 'Bullets (toggle and gallery)';
|
|
14223
|
+
readonly numbering: 'Numbering (toggle and gallery)';
|
|
14224
|
+
readonly decreaseIndent: 'Decrease List Level';
|
|
14225
|
+
readonly increaseIndent: 'Increase List Level';
|
|
14226
|
+
readonly lineSpacing: 'Line Spacing';
|
|
14227
|
+
readonly alignLeft: 'Align Left';
|
|
14228
|
+
readonly alignCenter: 'Center';
|
|
14229
|
+
readonly alignRight: 'Align Right';
|
|
14230
|
+
readonly justify: 'Justify';
|
|
14231
|
+
readonly columns: 'Columns';
|
|
14232
|
+
readonly textDirection: 'Text Direction';
|
|
14233
|
+
readonly alignText: 'Align Text';
|
|
14234
|
+
};
|
|
14235
|
+
};
|
|
14236
|
+
readonly drawing: {
|
|
14237
|
+
readonly label: 'Drawing';
|
|
14238
|
+
readonly controls: {
|
|
14239
|
+
readonly shapes: 'Shapes';
|
|
14240
|
+
readonly arrange: 'Arrange';
|
|
14241
|
+
readonly quickStyles: 'Quick Styles (Shape Styles gallery)';
|
|
14242
|
+
readonly shapeFill: 'Shape Fill';
|
|
14243
|
+
readonly shapeOutline: 'Shape Outline';
|
|
14244
|
+
readonly shapeEffects: 'Shape Effects gallery';
|
|
14245
|
+
};
|
|
14246
|
+
};
|
|
14247
|
+
readonly arrange: {
|
|
14248
|
+
readonly label: 'Arrange';
|
|
14249
|
+
readonly controls: {
|
|
14250
|
+
readonly bringForward: 'Bring Forward';
|
|
14251
|
+
readonly sendBackward: 'Send Backward';
|
|
14252
|
+
readonly bringToFront: 'Bring to Front';
|
|
14253
|
+
readonly sendToBack: 'Send to Back';
|
|
14254
|
+
readonly flipHorizontal: 'Flip Horizontal';
|
|
14255
|
+
readonly flipVertical: 'Flip Vertical';
|
|
14256
|
+
readonly duplicate: 'Duplicate';
|
|
14257
|
+
readonly delete: 'Delete';
|
|
14258
|
+
readonly group: 'Group';
|
|
14259
|
+
readonly ungroup: 'Ungroup';
|
|
14260
|
+
readonly align: 'Align';
|
|
14261
|
+
readonly mergeShapes: 'Merge Shapes';
|
|
14262
|
+
readonly crop: 'Crop';
|
|
14263
|
+
readonly outlineWidth: 'Outline width';
|
|
14264
|
+
};
|
|
14265
|
+
};
|
|
14266
|
+
readonly editing: {
|
|
14267
|
+
readonly label: 'Editing';
|
|
14268
|
+
readonly controls: {
|
|
14269
|
+
readonly find: 'Find';
|
|
14270
|
+
readonly replace: 'Replace';
|
|
14271
|
+
readonly select: 'Select';
|
|
14272
|
+
};
|
|
14273
|
+
};
|
|
14274
|
+
};
|
|
14275
|
+
readonly insert: {
|
|
14276
|
+
readonly slides: {
|
|
14277
|
+
readonly label: 'Slides';
|
|
14278
|
+
readonly controls: {
|
|
14279
|
+
readonly newSlide: 'New Slide';
|
|
14280
|
+
};
|
|
14281
|
+
};
|
|
14282
|
+
readonly tables: {
|
|
14283
|
+
readonly label: 'Tables';
|
|
14284
|
+
readonly controls: {
|
|
14285
|
+
readonly table: 'Table';
|
|
14286
|
+
};
|
|
14287
|
+
};
|
|
14288
|
+
readonly images: {
|
|
14289
|
+
readonly label: 'Images';
|
|
14290
|
+
readonly controls: {
|
|
14291
|
+
readonly pictures: 'Pictures';
|
|
14292
|
+
};
|
|
14293
|
+
};
|
|
14294
|
+
readonly illustrations: {
|
|
14295
|
+
readonly label: 'Illustrations';
|
|
14296
|
+
readonly controls: {
|
|
14297
|
+
readonly shapes: 'Shapes';
|
|
14298
|
+
readonly smartArt: 'SmartArt';
|
|
14299
|
+
readonly chart: 'Chart';
|
|
14300
|
+
};
|
|
14301
|
+
};
|
|
14302
|
+
readonly links: {
|
|
14303
|
+
readonly label: 'Links';
|
|
14304
|
+
readonly controls: {
|
|
14305
|
+
readonly link: 'Link';
|
|
14306
|
+
readonly action: 'Action button';
|
|
14307
|
+
};
|
|
14308
|
+
};
|
|
14309
|
+
readonly comments: {
|
|
14310
|
+
readonly label: 'Comments';
|
|
14311
|
+
readonly controls: {
|
|
14312
|
+
readonly comment: 'Comment';
|
|
14313
|
+
};
|
|
14314
|
+
};
|
|
14315
|
+
readonly text: {
|
|
14316
|
+
readonly label: 'Text';
|
|
14317
|
+
readonly controls: {
|
|
14318
|
+
readonly textBox: 'Text Box';
|
|
14319
|
+
readonly field: 'Header, date, slide number field';
|
|
14320
|
+
};
|
|
14321
|
+
};
|
|
14322
|
+
readonly symbols: {
|
|
14323
|
+
readonly label: 'Symbols';
|
|
14324
|
+
readonly controls: {
|
|
14325
|
+
readonly equation: 'Equation';
|
|
14326
|
+
readonly symbol: 'Symbol';
|
|
14327
|
+
};
|
|
14328
|
+
};
|
|
14329
|
+
readonly media: {
|
|
14330
|
+
readonly label: 'Media';
|
|
14331
|
+
readonly controls: {
|
|
14332
|
+
readonly media: 'Video / Audio';
|
|
14333
|
+
};
|
|
14334
|
+
};
|
|
14335
|
+
};
|
|
14336
|
+
readonly draw: {
|
|
14337
|
+
readonly tools: {
|
|
14338
|
+
readonly label: 'Drawing Tools';
|
|
14339
|
+
readonly controls: {
|
|
14340
|
+
readonly select: 'Select';
|
|
14341
|
+
readonly pen: 'Pen';
|
|
14342
|
+
readonly highlighter: 'Highlighter';
|
|
14343
|
+
readonly eraser: 'Eraser';
|
|
14344
|
+
readonly penColor: 'Pen colour';
|
|
14345
|
+
readonly penWidth: 'Pen width';
|
|
14346
|
+
};
|
|
14347
|
+
};
|
|
14348
|
+
readonly convert: {
|
|
14349
|
+
readonly label: 'Convert';
|
|
14350
|
+
readonly controls: {
|
|
14351
|
+
readonly inkToShape: 'Ink to Shape';
|
|
14352
|
+
};
|
|
14353
|
+
};
|
|
14354
|
+
};
|
|
14355
|
+
readonly design: {
|
|
14356
|
+
readonly themes: {
|
|
14357
|
+
readonly label: 'Themes';
|
|
14358
|
+
readonly controls: {
|
|
14359
|
+
readonly browseThemes: 'Themes gallery';
|
|
14360
|
+
readonly editTheme: 'Edit theme';
|
|
14361
|
+
};
|
|
14362
|
+
};
|
|
14363
|
+
readonly variants: {
|
|
14364
|
+
readonly label: 'Variants';
|
|
14365
|
+
readonly controls: {
|
|
14366
|
+
readonly colors: 'Variants: Colors gallery';
|
|
14367
|
+
readonly fonts: 'Variants: Fonts gallery';
|
|
14368
|
+
};
|
|
14369
|
+
};
|
|
14370
|
+
readonly customize: {
|
|
14371
|
+
readonly label: 'Customize';
|
|
14372
|
+
readonly controls: {
|
|
14373
|
+
readonly slideSize: 'Slide Size';
|
|
14374
|
+
readonly formatBackground: 'Format Background';
|
|
14375
|
+
};
|
|
14376
|
+
};
|
|
14377
|
+
};
|
|
14378
|
+
readonly transitions: {
|
|
14379
|
+
readonly preview: {
|
|
14380
|
+
readonly label: 'Preview';
|
|
14381
|
+
readonly controls: {
|
|
14382
|
+
readonly preview: 'Preview';
|
|
14383
|
+
};
|
|
14384
|
+
};
|
|
14385
|
+
readonly transitionToThisSlide: {
|
|
14386
|
+
readonly label: 'Transition to This Slide';
|
|
14387
|
+
readonly controls: {
|
|
14388
|
+
readonly gallery: 'Transition gallery';
|
|
14389
|
+
readonly effectOptions: 'Effect Options';
|
|
14390
|
+
};
|
|
14391
|
+
};
|
|
14392
|
+
readonly timing: {
|
|
14393
|
+
readonly label: 'Timing';
|
|
14394
|
+
readonly controls: {
|
|
14395
|
+
readonly sound: 'Sound';
|
|
14396
|
+
readonly duration: 'Duration';
|
|
14397
|
+
readonly applyToAll: 'Apply To All';
|
|
14398
|
+
readonly advanceOnClick: 'On Mouse Click';
|
|
14399
|
+
readonly advanceAfter: 'After';
|
|
14400
|
+
};
|
|
14401
|
+
};
|
|
14402
|
+
};
|
|
14403
|
+
readonly animations: {
|
|
14404
|
+
readonly preview: {
|
|
14405
|
+
readonly label: 'Preview';
|
|
14406
|
+
readonly controls: {
|
|
14407
|
+
readonly preview: 'Preview';
|
|
14408
|
+
};
|
|
14409
|
+
};
|
|
14410
|
+
readonly animation: {
|
|
14411
|
+
readonly label: 'Animation';
|
|
14412
|
+
readonly controls: {
|
|
14413
|
+
readonly gallery: 'Animation gallery';
|
|
14414
|
+
readonly effectOptions: 'Effect Options';
|
|
14415
|
+
};
|
|
14416
|
+
};
|
|
14417
|
+
readonly motionPath: {
|
|
14418
|
+
readonly label: 'Motion Paths';
|
|
14419
|
+
readonly controls: {
|
|
14420
|
+
readonly gallery: 'Motion path gallery';
|
|
14421
|
+
};
|
|
14422
|
+
};
|
|
14423
|
+
readonly advancedAnimation: {
|
|
14424
|
+
readonly label: 'Advanced Animation';
|
|
14425
|
+
readonly controls: {
|
|
14426
|
+
readonly addAnimation: 'Add Animation';
|
|
14427
|
+
readonly animationPane: 'Animation Pane';
|
|
14428
|
+
readonly trigger: 'Trigger';
|
|
14429
|
+
readonly animationPainter: 'Animation Painter';
|
|
14430
|
+
readonly remove: 'Remove animation';
|
|
14431
|
+
};
|
|
14432
|
+
};
|
|
14433
|
+
readonly timing: {
|
|
14434
|
+
readonly label: 'Timing';
|
|
14435
|
+
readonly controls: {
|
|
14436
|
+
readonly start: 'Start';
|
|
14437
|
+
readonly duration: 'Duration';
|
|
14438
|
+
readonly delay: 'Delay';
|
|
14439
|
+
readonly reorder: 'Reorder';
|
|
14440
|
+
};
|
|
14441
|
+
};
|
|
14442
|
+
};
|
|
14443
|
+
readonly slideShow: {
|
|
14444
|
+
readonly startSlideShow: {
|
|
14445
|
+
readonly label: 'Start Slide Show';
|
|
14446
|
+
readonly controls: {
|
|
14447
|
+
readonly fromBeginning: 'From Beginning';
|
|
14448
|
+
readonly fromCurrent: 'From Current Slide';
|
|
14449
|
+
readonly customShow: 'Custom Slide Show';
|
|
14450
|
+
};
|
|
14451
|
+
};
|
|
14452
|
+
readonly present: {
|
|
14453
|
+
readonly label: 'Present';
|
|
14454
|
+
readonly controls: {
|
|
14455
|
+
readonly presenterView: 'Presenter View';
|
|
14456
|
+
readonly broadcast: 'Present Online';
|
|
14457
|
+
};
|
|
14458
|
+
};
|
|
14459
|
+
readonly setUp: {
|
|
14460
|
+
readonly label: 'Set Up';
|
|
14461
|
+
readonly controls: {
|
|
14462
|
+
readonly setUpSlideShow: 'Set Up Slide Show';
|
|
14463
|
+
readonly hideSlide: 'Hide Slide';
|
|
14464
|
+
readonly rehearseTimings: 'Rehearse Timings';
|
|
14465
|
+
readonly record: 'Record';
|
|
14466
|
+
readonly rehearseWithCoach: 'Rehearse with Coach';
|
|
14467
|
+
};
|
|
14468
|
+
};
|
|
14469
|
+
readonly captions: {
|
|
14470
|
+
readonly label: 'Captions & Subtitles';
|
|
14471
|
+
readonly controls: {
|
|
14472
|
+
readonly subtitles: 'Always Use Subtitles';
|
|
14473
|
+
readonly subtitleSettings: 'Subtitle Settings';
|
|
14474
|
+
};
|
|
14475
|
+
};
|
|
14476
|
+
};
|
|
14477
|
+
readonly record: {
|
|
14478
|
+
readonly camera: {
|
|
14479
|
+
readonly label: 'Camera';
|
|
14480
|
+
readonly controls: {
|
|
14481
|
+
readonly cameo: 'Cameo';
|
|
14482
|
+
};
|
|
14483
|
+
};
|
|
14484
|
+
readonly record: {
|
|
14485
|
+
readonly label: 'Record';
|
|
14486
|
+
readonly controls: {
|
|
14487
|
+
readonly fromBeginning: 'From Beginning';
|
|
14488
|
+
readonly fromCurrent: 'From Current Slide';
|
|
14489
|
+
};
|
|
14490
|
+
};
|
|
14491
|
+
readonly manage: {
|
|
14492
|
+
readonly label: 'Manage';
|
|
14493
|
+
readonly controls: {
|
|
14494
|
+
readonly clear: 'Clear';
|
|
14495
|
+
readonly reset: 'Reset to Cameo';
|
|
14496
|
+
};
|
|
14497
|
+
};
|
|
14498
|
+
readonly help: {
|
|
14499
|
+
readonly label: 'Help';
|
|
14500
|
+
readonly controls: {
|
|
14501
|
+
readonly learnMore: 'Learn more';
|
|
14502
|
+
};
|
|
14503
|
+
};
|
|
14504
|
+
};
|
|
14505
|
+
readonly review: {
|
|
14506
|
+
readonly proofing: {
|
|
14507
|
+
readonly label: 'Proofing';
|
|
14508
|
+
readonly controls: {
|
|
14509
|
+
readonly spelling: 'Spelling';
|
|
14510
|
+
readonly thesaurus: 'Thesaurus';
|
|
14511
|
+
};
|
|
14512
|
+
};
|
|
14513
|
+
readonly accessibility: {
|
|
14514
|
+
readonly label: 'Accessibility';
|
|
14515
|
+
readonly controls: {
|
|
14516
|
+
readonly check: 'Check Accessibility';
|
|
14517
|
+
};
|
|
14518
|
+
};
|
|
14519
|
+
readonly language: {
|
|
14520
|
+
readonly label: 'Language';
|
|
14521
|
+
readonly controls: {
|
|
14522
|
+
readonly translate: 'Translate';
|
|
14523
|
+
};
|
|
14524
|
+
};
|
|
14525
|
+
readonly comments: {
|
|
14526
|
+
readonly label: 'Comments';
|
|
14527
|
+
readonly controls: {
|
|
14528
|
+
readonly newComment: 'New Comment';
|
|
14529
|
+
readonly delete: 'Delete';
|
|
14530
|
+
readonly previous: 'Previous';
|
|
14531
|
+
readonly next: 'Next';
|
|
14532
|
+
readonly showComments: 'Show Comments';
|
|
14533
|
+
};
|
|
14534
|
+
};
|
|
14535
|
+
readonly compare: {
|
|
14536
|
+
readonly label: 'Compare';
|
|
14537
|
+
readonly controls: {
|
|
14538
|
+
readonly compare: 'Compare';
|
|
14539
|
+
readonly markAllRead: 'Mark all read';
|
|
14540
|
+
};
|
|
14541
|
+
};
|
|
14542
|
+
readonly protect: {
|
|
14543
|
+
readonly label: 'Protect';
|
|
14544
|
+
readonly controls: {
|
|
14545
|
+
readonly readOnly: 'Read-only';
|
|
14546
|
+
readonly restrictPermission: 'Restrict Permission';
|
|
14547
|
+
};
|
|
14548
|
+
};
|
|
14549
|
+
readonly ink: {
|
|
14550
|
+
readonly label: 'Ink';
|
|
14551
|
+
readonly controls: {
|
|
14552
|
+
readonly hideInk: 'Hide Ink';
|
|
14553
|
+
};
|
|
14554
|
+
};
|
|
14555
|
+
};
|
|
14556
|
+
readonly view: {
|
|
14557
|
+
readonly presentationViews: {
|
|
14558
|
+
readonly label: 'Presentation Views';
|
|
14559
|
+
readonly controls: {
|
|
14560
|
+
readonly normal: 'Normal';
|
|
14561
|
+
readonly outline: 'Outline View';
|
|
14562
|
+
readonly slideSorter: 'Slide Sorter';
|
|
14563
|
+
readonly notesPage: 'Notes Page';
|
|
14564
|
+
readonly readingView: 'Reading View';
|
|
14565
|
+
};
|
|
14566
|
+
};
|
|
14567
|
+
readonly masterViews: {
|
|
14568
|
+
readonly label: 'Master Views';
|
|
14569
|
+
readonly controls: {
|
|
14570
|
+
readonly slideMaster: 'Slide Master';
|
|
14571
|
+
readonly handoutMaster: 'Handout Master';
|
|
14572
|
+
readonly notesMaster: 'Notes Master';
|
|
14573
|
+
};
|
|
14574
|
+
};
|
|
14575
|
+
readonly show: {
|
|
14576
|
+
readonly label: 'Show';
|
|
14577
|
+
readonly controls: {
|
|
14578
|
+
readonly ruler: 'Ruler';
|
|
14579
|
+
readonly gridlines: 'Gridlines';
|
|
14580
|
+
readonly guides: 'Guides';
|
|
14581
|
+
readonly snapToGrid: 'Snap to Grid';
|
|
14582
|
+
readonly snapToShape: 'Snap to Shape';
|
|
14583
|
+
readonly addGuide: 'Add horizontal / vertical guide';
|
|
14584
|
+
readonly selectionPane: 'Selection Pane';
|
|
14585
|
+
readonly eyedropper: 'Eyedropper';
|
|
14586
|
+
readonly notes: 'Notes';
|
|
14587
|
+
};
|
|
14588
|
+
};
|
|
14589
|
+
readonly zoom: {
|
|
14590
|
+
readonly label: 'Zoom';
|
|
14591
|
+
readonly controls: {
|
|
14592
|
+
readonly zoom: 'Zoom';
|
|
14593
|
+
readonly fitToWindow: 'Fit to Window';
|
|
14594
|
+
};
|
|
14595
|
+
};
|
|
14596
|
+
readonly window: {
|
|
14597
|
+
readonly label: 'Window';
|
|
14598
|
+
readonly controls: {
|
|
14599
|
+
readonly templateEditing: 'Edit template elements';
|
|
14600
|
+
readonly macros: 'Macros';
|
|
14601
|
+
};
|
|
14602
|
+
};
|
|
14603
|
+
};
|
|
14604
|
+
readonly help: {
|
|
14605
|
+
readonly help: {
|
|
14606
|
+
readonly label: 'Help';
|
|
14607
|
+
readonly controls: {
|
|
14608
|
+
readonly options: 'Options';
|
|
14609
|
+
readonly keyboardShortcuts: 'Keyboard shortcuts';
|
|
14610
|
+
readonly accessibility: 'Accessibility checker';
|
|
14611
|
+
};
|
|
14612
|
+
};
|
|
14613
|
+
};
|
|
14614
|
+
readonly shapeFormat: {
|
|
14615
|
+
readonly shapeStyles: {
|
|
14616
|
+
readonly label: 'Shape Styles';
|
|
14617
|
+
readonly controls: {
|
|
14618
|
+
readonly gallery: 'Shape Styles gallery';
|
|
14619
|
+
readonly shapeEffects: 'Shape Effects gallery';
|
|
14620
|
+
};
|
|
14621
|
+
};
|
|
14622
|
+
readonly wordArtStyles: {
|
|
14623
|
+
readonly label: 'WordArt Styles';
|
|
14624
|
+
readonly controls: {
|
|
14625
|
+
readonly gallery: 'WordArt Styles gallery';
|
|
14626
|
+
};
|
|
14627
|
+
};
|
|
14628
|
+
};
|
|
14629
|
+
readonly pictureFormat: {
|
|
14630
|
+
readonly pictureStyles: {
|
|
14631
|
+
readonly label: 'Picture Styles';
|
|
14632
|
+
readonly controls: {
|
|
14633
|
+
readonly gallery: 'Picture Styles gallery';
|
|
14634
|
+
readonly pictureEffects: 'Picture Effects gallery';
|
|
14635
|
+
};
|
|
14636
|
+
};
|
|
14637
|
+
};
|
|
14638
|
+
readonly tableDesign: {
|
|
14639
|
+
readonly tableStyles: {
|
|
14640
|
+
readonly label: 'Table Styles';
|
|
14641
|
+
readonly controls: {
|
|
14642
|
+
readonly gallery: 'Table Styles gallery';
|
|
14643
|
+
};
|
|
14644
|
+
};
|
|
14645
|
+
};
|
|
14646
|
+
readonly chartDesign: {
|
|
14647
|
+
readonly chartLayouts: {
|
|
14648
|
+
readonly label: 'Chart Layouts';
|
|
14649
|
+
readonly controls: {
|
|
14650
|
+
readonly quickLayout: 'Quick Layout gallery';
|
|
14651
|
+
};
|
|
14652
|
+
};
|
|
14653
|
+
readonly chartStyles: {
|
|
14654
|
+
readonly label: 'Chart Styles';
|
|
14655
|
+
readonly controls: {
|
|
14656
|
+
readonly changeColors: 'Change Colors gallery';
|
|
14657
|
+
readonly gallery: 'Chart Styles gallery';
|
|
14658
|
+
};
|
|
14659
|
+
};
|
|
14660
|
+
};
|
|
14661
|
+
readonly smartArtDesign: {
|
|
14662
|
+
readonly smartArtStyles: {
|
|
14663
|
+
readonly label: 'SmartArt Styles';
|
|
14664
|
+
readonly controls: {
|
|
14665
|
+
readonly changeColors: 'Change Colors gallery';
|
|
14666
|
+
readonly gallery: 'SmartArt Styles gallery';
|
|
14667
|
+
};
|
|
14668
|
+
};
|
|
14669
|
+
};
|
|
14670
|
+
};
|
|
14671
|
+
//#endregion
|
|
14672
|
+
//#region src/render/customization/ribbon-control-ids.d.ts
|
|
14673
|
+
type Catalog = typeof RIBBON_CONTROL_CATALOG;
|
|
14674
|
+
/** `<tab>.<group>`, for example `home.font`. */
|
|
14675
|
+
type RibbonGroupId = { [T in keyof Catalog]: { [G in keyof Catalog[T]]: `${T & string}.${G & string}`; }[keyof Catalog[T]]; }[keyof Catalog];
|
|
14676
|
+
/** `<tab>.<group>.<control>`, for example `home.font.bold`. */
|
|
14677
|
+
type RibbonControlId = { [T in keyof Catalog]: { [G in keyof Catalog[T]]: Catalog[T][G] extends {
|
|
14678
|
+
controls: infer C;
|
|
14679
|
+
} ? `${T & string}.${G & string}.${keyof C & string}` : never; }[keyof Catalog[T]]; }[keyof Catalog];
|
|
14680
|
+
//#endregion
|
|
13962
14681
|
//#region src/render/customization/customization-types.d.ts
|
|
13963
14682
|
/** Keys of an options group whose value is a primitive (not an array). */
|
|
13964
14683
|
type PrimitiveKeys<T> = { [K in keyof T]: T[K] extends ViewerOptionPrimitive ? K : never; }[keyof T] & string;
|
|
@@ -13983,10 +14702,20 @@ type OptionsSectionId = `${ViewerOptionsTabId}.${string}`;
|
|
|
13983
14702
|
type OptionsSettingValues = Partial<Record<OptionsSettingId, ViewerOptionPrimitive>>;
|
|
13984
14703
|
/** Ribbon and toolbar customisation. */
|
|
13985
14704
|
interface RibbonCustomization {
|
|
13986
|
-
/**
|
|
13987
|
-
|
|
13988
|
-
|
|
13989
|
-
|
|
14705
|
+
/**
|
|
14706
|
+
* Ribbon tabs to remove (the File tab included, unlike Customize Ribbon),
|
|
14707
|
+
* and contextual tabs (`shapeFormat`, `pictureFormat`, ...) that should
|
|
14708
|
+
* never appear.
|
|
14709
|
+
*/
|
|
14710
|
+
hiddenTabs?: readonly (ToolbarTabId | RibbonContextualTabId)[];
|
|
14711
|
+
/** Groups inside a tab to remove, as `<tab>.<group>` (`home.font`). */
|
|
14712
|
+
hiddenGroups?: readonly RibbonGroupId[];
|
|
14713
|
+
/**
|
|
14714
|
+
* Controls to remove: a top-level toolbar button / control cluster
|
|
14715
|
+
* (`share`, `zoom`, ...) or any ribbon control as
|
|
14716
|
+
* `<tab>.<group>.<control>` (`home.font.bold`).
|
|
14717
|
+
*/
|
|
14718
|
+
hiddenButtons?: readonly (ToolbarButtonId | RibbonControlId)[];
|
|
13990
14719
|
}
|
|
13991
14720
|
/** File > Options (the Settings dialog) customisation. */
|
|
13992
14721
|
interface OptionsCustomization {
|
|
@@ -14169,6 +14898,12 @@ interface ResolvedKeyboardCustomization {
|
|
|
14169
14898
|
/** The normalised, set-based view of a customisation. Treat as immutable. */
|
|
14170
14899
|
interface ResolvedCustomization {
|
|
14171
14900
|
hiddenActions: ReadonlySet<ToolbarActionId>;
|
|
14901
|
+
/** Contextual tabs (`shapeFormat`, ...) the host never wants shown. */
|
|
14902
|
+
hiddenContextualTabs: ReadonlySet<RibbonContextualTabId>;
|
|
14903
|
+
/** Catalogued ribbon groups to hide (`ribbon.hiddenGroups`). */
|
|
14904
|
+
hiddenRibbonGroups: ReadonlySet<RibbonGroupId>;
|
|
14905
|
+
/** Catalogued ribbon controls to hide (the `<tab>.<group>.<control>` part of `ribbon.hiddenButtons`). */
|
|
14906
|
+
hiddenRibbonControls: ReadonlySet<RibbonControlId>;
|
|
14172
14907
|
hiddenOptionsPages: ReadonlySet<OptionsPageId>;
|
|
14173
14908
|
hiddenOptionsSections: ReadonlySet<OptionsSectionId>;
|
|
14174
14909
|
hiddenSettings: ReadonlySet<OptionsSettingId>;
|
|
@@ -14199,10 +14934,18 @@ interface ViewerCustomizationApi {
|
|
|
14199
14934
|
updateCustomization(patch: ViewerCustomization): void;
|
|
14200
14935
|
/** Drop every customisation, back to the stock UI. */
|
|
14201
14936
|
resetCustomization(): void;
|
|
14202
|
-
|
|
14203
|
-
|
|
14204
|
-
|
|
14205
|
-
|
|
14937
|
+
/** Hide a fixed tab, or stop a contextual tab (`shapeFormat`, ...) from appearing. */
|
|
14938
|
+
hideRibbonTab(tab: ToolbarTabId | RibbonContextualTabId): void;
|
|
14939
|
+
showRibbonTab(tab: ToolbarTabId | RibbonContextualTabId): void;
|
|
14940
|
+
/** Hide a group inside a tab (`home.font`). */
|
|
14941
|
+
hideRibbonGroup(group: RibbonGroupId): void;
|
|
14942
|
+
showRibbonGroup(group: RibbonGroupId): void;
|
|
14943
|
+
/** Hide a top-level toolbar button or any ribbon control (`home.font.bold`). */
|
|
14944
|
+
hideToolbarButton(button: ToolbarButtonId | RibbonControlId): void;
|
|
14945
|
+
showToolbarButton(button: ToolbarButtonId | RibbonControlId): void;
|
|
14946
|
+
/** Alias of `hideToolbarButton` for a ribbon control id. */
|
|
14947
|
+
hideRibbonControl(control: RibbonControlId): void;
|
|
14948
|
+
showRibbonControl(control: RibbonControlId): void;
|
|
14206
14949
|
hideOptionsPage(page: OptionsPageId): void;
|
|
14207
14950
|
showOptionsPage(page: OptionsPageId): void;
|
|
14208
14951
|
hideOptionsSection(section: OptionsSectionId): void;
|