pptx-react-viewer 3.5.3 → 3.6.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 +12 -0
- package/dist/{AiChatPanel-ZEM3ZVA6.js → AiChatPanel-LEOEDIW2.js} +25 -25
- package/dist/AiChatPanel-LEOEDIW2.js.br +0 -0
- package/dist/AiChatPanel-LEOEDIW2.js.gz +0 -0
- package/dist/{AiChatPanel-L2HGGEND.mjs → AiChatPanel-WRQGJJVD.mjs} +4 -4
- package/dist/AiChatPanel-WRQGJJVD.mjs.br +0 -0
- package/dist/AiChatPanel-WRQGJJVD.mjs.gz +0 -0
- package/dist/{Area3DChartScene-I7LMTNK5.js → Area3DChartScene-3TJ2GTGI.js} +2 -2
- package/dist/Area3DChartScene-3TJ2GTGI.js.br +0 -0
- package/dist/Area3DChartScene-3TJ2GTGI.js.gz +0 -0
- package/dist/{Area3DChartScene-EYNCHRB3.mjs → Area3DChartScene-SJC2ZB6R.mjs} +1 -1
- package/dist/{Line3DChartScene-QYBKXNOD.mjs.br → Area3DChartScene-SJC2ZB6R.mjs.br} +1 -1
- package/dist/Area3DChartScene-SJC2ZB6R.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-VPKQDPIO.js → Bar3DChartScene-2ZGOMOZO.js} +2 -2
- package/dist/Bar3DChartScene-2ZGOMOZO.js.br +0 -0
- package/dist/Bar3DChartScene-2ZGOMOZO.js.gz +0 -0
- package/dist/{Bar3DChartScene-6HQ6QWNB.mjs → Bar3DChartScene-SPER4LQA.mjs} +1 -1
- package/dist/{Bar3DChartScene-6HQ6QWNB.mjs.br → Bar3DChartScene-SPER4LQA.mjs.br} +0 -0
- package/dist/Bar3DChartScene-SPER4LQA.mjs.gz +0 -0
- package/dist/{Line3DChartScene-VV362RMX.js → Line3DChartScene-42FYFGLU.js} +2 -2
- package/dist/Line3DChartScene-42FYFGLU.js.br +0 -0
- package/dist/Line3DChartScene-42FYFGLU.js.gz +0 -0
- package/dist/{Line3DChartScene-QYBKXNOD.mjs → Line3DChartScene-FH3YHPXE.mjs} +1 -1
- package/dist/{Area3DChartScene-EYNCHRB3.mjs.br → Line3DChartScene-FH3YHPXE.mjs.br} +1 -1
- package/dist/Line3DChartScene-FH3YHPXE.mjs.gz +0 -0
- package/dist/{Model3DScene-YTLWTG52.mjs → Model3DScene-2BCR2YYD.mjs} +1 -1
- package/dist/{Model3DScene-YTLWTG52.mjs.br → Model3DScene-2BCR2YYD.mjs.br} +0 -0
- package/dist/Model3DScene-2BCR2YYD.mjs.gz +0 -0
- package/dist/{Model3DScene-XA57KXA5.js → Model3DScene-EIU2GVUZ.js} +2 -2
- package/dist/Model3DScene-EIU2GVUZ.js.br +0 -0
- package/dist/Model3DScene-EIU2GVUZ.js.gz +0 -0
- package/dist/{PieChart3DScene-INBL4F5Z.mjs → PieChart3DScene-QFQUJFDP.mjs} +1 -1
- package/dist/{PieChart3DScene-INBL4F5Z.mjs.br → PieChart3DScene-QFQUJFDP.mjs.br} +0 -0
- package/dist/PieChart3DScene-QFQUJFDP.mjs.gz +0 -0
- package/dist/{PieChart3DScene-IFZMTN5H.js → PieChart3DScene-VQOHZPHI.js} +2 -2
- package/dist/PieChart3DScene-VQOHZPHI.js.br +0 -0
- package/dist/PieChart3DScene-VQOHZPHI.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-EV6DBPJS.mjs → SurfaceChart3DScene-CGXMRBCL.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-EV6DBPJS.mjs.br → SurfaceChart3DScene-CGXMRBCL.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-CGXMRBCL.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-FRSZVIVB.js → SurfaceChart3DScene-FTVXZN6O.js} +2 -2
- package/dist/SurfaceChart3DScene-FTVXZN6O.js.br +0 -0
- package/dist/SurfaceChart3DScene-FTVXZN6O.js.gz +0 -0
- package/dist/{chunk-QA573RUB.js → chunk-7VPDHSWF.js} +330 -349
- package/dist/chunk-7VPDHSWF.js.br +0 -0
- package/dist/chunk-7VPDHSWF.js.gz +0 -0
- package/dist/{chunk-HHDPQJF3.js → chunk-AL2KLPOJ.js} +32437 -22179
- package/dist/chunk-AL2KLPOJ.js.br +0 -0
- package/dist/chunk-AL2KLPOJ.js.gz +0 -0
- package/dist/{chunk-7AL6KAFX.mjs → chunk-FG5VQFWP.mjs} +193 -71
- package/dist/chunk-FG5VQFWP.mjs.br +0 -0
- package/dist/chunk-FG5VQFWP.mjs.gz +0 -0
- package/dist/{chunk-UTIMT5CZ.js → chunk-MZI4DG3S.js} +12 -0
- package/dist/chunk-MZI4DG3S.js.br +0 -0
- package/dist/{chunk-UTIMT5CZ.js.gz → chunk-MZI4DG3S.js.gz} +0 -0
- package/dist/{chunk-PPL3WBC7.js → chunk-NFOOONND.js} +1359 -1237
- package/dist/chunk-NFOOONND.js.br +0 -0
- package/dist/chunk-NFOOONND.js.gz +0 -0
- package/dist/{chunk-MSRRBA7G.mjs → chunk-T3V5FBXJ.mjs} +29 -1
- package/dist/chunk-T3V5FBXJ.mjs.br +0 -0
- package/dist/chunk-T3V5FBXJ.mjs.gz +0 -0
- package/dist/{chunk-JCJ3EPG6.mjs → chunk-TGCSZXOG.mjs} +12 -0
- package/dist/chunk-TGCSZXOG.mjs.br +0 -0
- package/dist/{chunk-JCJ3EPG6.mjs.gz → chunk-TGCSZXOG.mjs.gz} +0 -0
- package/dist/{chunk-3WM5TUY7.mjs → chunk-VYNICQ4O.mjs} +58 -37
- package/dist/chunk-VYNICQ4O.mjs.br +0 -0
- package/dist/chunk-VYNICQ4O.mjs.gz +0 -0
- package/dist/{chunk-KOLCCOTS.mjs → chunk-WX7AFFBZ.mjs} +142 -161
- package/dist/chunk-WX7AFFBZ.mjs.br +0 -0
- package/dist/chunk-WX7AFFBZ.mjs.gz +0 -0
- package/dist/{chunk-SIM2LXO2.js → chunk-ZHSBMG37.js} +490 -469
- package/dist/chunk-ZHSBMG37.js.br +0 -0
- package/dist/chunk-ZHSBMG37.js.gz +0 -0
- package/dist/{chunk-QPHGHUUJ.mjs → chunk-ZUSYUWOV.mjs} +32414 -22179
- package/dist/chunk-ZUSYUWOV.mjs.br +0 -0
- package/dist/chunk-ZUSYUWOV.mjs.gz +0 -0
- package/dist/{chunk-BBSFZLYI.js → chunk-ZWPHUPL4.js} +33 -5
- package/dist/chunk-ZWPHUPL4.js.br +0 -0
- package/dist/chunk-ZWPHUPL4.js.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 +599 -33
- package/dist/index.js +47 -47
- 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 +610 -33
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +79 -79
- 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/{useViewerBuildingBlocks-f6oNGKMX.d.ts → useViewerBuildingBlocks-C8F_4Pzb.d.ts} +3 -1
- package/dist/useViewerBuildingBlocks-C8F_4Pzb.d.ts.map +1 -0
- package/dist/viewer/index.d.ts +552 -33
- 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 +1 -1
- package/dist/AiChatPanel-L2HGGEND.mjs.br +0 -0
- package/dist/AiChatPanel-L2HGGEND.mjs.gz +0 -0
- package/dist/AiChatPanel-ZEM3ZVA6.js.br +0 -0
- package/dist/AiChatPanel-ZEM3ZVA6.js.gz +0 -0
- package/dist/Area3DChartScene-EYNCHRB3.mjs.gz +0 -0
- package/dist/Area3DChartScene-I7LMTNK5.js.br +0 -0
- package/dist/Area3DChartScene-I7LMTNK5.js.gz +0 -0
- package/dist/Bar3DChartScene-6HQ6QWNB.mjs.gz +0 -0
- package/dist/Bar3DChartScene-VPKQDPIO.js.br +0 -0
- package/dist/Bar3DChartScene-VPKQDPIO.js.gz +0 -0
- package/dist/Line3DChartScene-QYBKXNOD.mjs.gz +0 -0
- package/dist/Line3DChartScene-VV362RMX.js.br +0 -0
- package/dist/Line3DChartScene-VV362RMX.js.gz +0 -0
- package/dist/Model3DScene-XA57KXA5.js.br +0 -0
- package/dist/Model3DScene-XA57KXA5.js.gz +0 -0
- package/dist/Model3DScene-YTLWTG52.mjs.gz +0 -0
- package/dist/PieChart3DScene-IFZMTN5H.js.br +0 -0
- package/dist/PieChart3DScene-IFZMTN5H.js.gz +0 -0
- package/dist/PieChart3DScene-INBL4F5Z.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-EV6DBPJS.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-FRSZVIVB.js.br +0 -0
- package/dist/SurfaceChart3DScene-FRSZVIVB.js.gz +0 -0
- package/dist/chunk-3WM5TUY7.mjs.br +0 -0
- package/dist/chunk-3WM5TUY7.mjs.gz +0 -0
- package/dist/chunk-7AL6KAFX.mjs.br +0 -0
- package/dist/chunk-7AL6KAFX.mjs.gz +0 -0
- package/dist/chunk-BBSFZLYI.js.br +0 -0
- package/dist/chunk-BBSFZLYI.js.gz +0 -0
- package/dist/chunk-HHDPQJF3.js.br +0 -0
- package/dist/chunk-HHDPQJF3.js.gz +0 -0
- package/dist/chunk-JCJ3EPG6.mjs.br +0 -0
- package/dist/chunk-KOLCCOTS.mjs.br +0 -0
- package/dist/chunk-KOLCCOTS.mjs.gz +0 -0
- package/dist/chunk-MSRRBA7G.mjs.br +0 -0
- package/dist/chunk-MSRRBA7G.mjs.gz +0 -0
- package/dist/chunk-PPL3WBC7.js.br +0 -0
- package/dist/chunk-PPL3WBC7.js.gz +0 -0
- package/dist/chunk-QA573RUB.js.br +0 -0
- package/dist/chunk-QA573RUB.js.gz +0 -0
- package/dist/chunk-QPHGHUUJ.mjs.br +0 -0
- package/dist/chunk-QPHGHUUJ.mjs.gz +0 -0
- package/dist/chunk-SIM2LXO2.js.br +0 -0
- package/dist/chunk-SIM2LXO2.js.gz +0 -0
- package/dist/chunk-UTIMT5CZ.js.br +0 -0
- package/dist/useViewerBuildingBlocks-f6oNGKMX.d.ts.map +0 -1
package/dist/viewer/index.d.ts
CHANGED
|
@@ -45,6 +45,12 @@ interface PptxAction {
|
|
|
45
45
|
soundRId?: string;
|
|
46
46
|
/** Resolved media target path for the optional click sound. */
|
|
47
47
|
soundPath?: string;
|
|
48
|
+
/**
|
|
49
|
+
* `CT_Hyperlink/@endSnd` (ECMA-376 20.1.2.2.23): PowerPoint's Action
|
|
50
|
+
* Settings "Stop previous sound" checkbox. Round-tripped for now (issue
|
|
51
|
+
* G14); not yet wired into playback.
|
|
52
|
+
*/
|
|
53
|
+
endSnd?: boolean;
|
|
48
54
|
}
|
|
49
55
|
//#endregion
|
|
50
56
|
//#region src/core/types/common.d.ts
|
|
@@ -67,7 +73,7 @@ interface PptxAction {
|
|
|
67
73
|
* // => "wavy" — one of: sng | dbl | heavy | dotted | dash | wavy | none | ...
|
|
68
74
|
* ```
|
|
69
75
|
*/
|
|
70
|
-
type UnderlineStyle = 'sng' | 'dbl' | 'heavy' | 'dotted' | 'dottedHeavy' | 'dash' | 'dashHeavy' | 'dashLong' | 'dashLongHeavy' | 'dotDash' | 'dotDashHeavy' | 'dotDotDash' | 'dotDotDashHeavy' | 'wavy' | 'wavyHeavy' | 'wavyDbl' | 'none';
|
|
76
|
+
type UnderlineStyle = 'sng' | 'dbl' | 'heavy' | 'dotted' | 'dottedHeavy' | 'dash' | 'dashHeavy' | 'dashLong' | 'dashLongHeavy' | 'dotDash' | 'dotDashHeavy' | 'dotDotDash' | 'dotDotDashHeavy' | 'wavy' | 'wavyHeavy' | 'wavyDbl' | 'words' | 'none';
|
|
71
77
|
/**
|
|
72
78
|
* Connector connection point reference — links a connector endpoint to a
|
|
73
79
|
* specific shape on the slide.
|
|
@@ -402,6 +408,16 @@ interface CustomGeometryRawData {
|
|
|
402
408
|
cxnLstXml?: unknown;
|
|
403
409
|
/** Raw `a:rect` XML content (text rectangle). */
|
|
404
410
|
rectXml?: unknown;
|
|
411
|
+
/**
|
|
412
|
+
* Raw `a:pathLst` XML content: every `a:path`'s formula-bearing `a:pt`
|
|
413
|
+
* x/y attributes, `a:arcTo` params, `a:close`, and per-path `@w`/`@h`/
|
|
414
|
+
* `@fill`/`@stroke`/`@extrusionOk`, preserved verbatim (not the
|
|
415
|
+
* parse-time-resolved numbers in `customGeometryPaths`). Lets a live
|
|
416
|
+
* `shapeAdjustments` drag re-evaluate the outline against the CURRENT
|
|
417
|
+
* guide values instead of the ones baked in at parse time; see
|
|
418
|
+
* `geometry/custom-geometry-live-eval.ts`.
|
|
419
|
+
*/
|
|
420
|
+
pathLstXml?: unknown;
|
|
405
421
|
}
|
|
406
422
|
/**
|
|
407
423
|
* XY-style adjustment handle (`a:ahXY`) on a custom geometry.
|
|
@@ -1159,6 +1175,21 @@ interface ShapeStyle {
|
|
|
1159
1175
|
dagFillOverlayColor?: string;
|
|
1160
1176
|
/** Fill overlay tint opacity (0-1), from the overlay fill colour's alpha. */
|
|
1161
1177
|
dagFillOverlayOpacity?: number;
|
|
1178
|
+
/** Fill overlay blend mode from a direct `a:effectLst/a:fillOverlay/@blend`. */
|
|
1179
|
+
shapeFillOverlayBlend?: 'over' | 'mult' | 'screen' | 'darken' | 'lighten';
|
|
1180
|
+
/**
|
|
1181
|
+
* Fill overlay tint colour (hex `#RRGGBB`) from a direct
|
|
1182
|
+
* `a:effectLst/a:fillOverlay`'s `a:solidFill`/`a:gradFill`.
|
|
1183
|
+
*/
|
|
1184
|
+
shapeFillOverlayColor?: string;
|
|
1185
|
+
/** Fill overlay tint opacity (0-1), from the overlay fill colour's alpha. */
|
|
1186
|
+
shapeFillOverlayOpacity?: number;
|
|
1187
|
+
/** Original source `a:fillOverlay` node, preserved for lossless surgical updates. */
|
|
1188
|
+
fillOverlayXml?: XmlObject;
|
|
1189
|
+
/** Resolved source fill-overlay colour used to detect colour edits. */
|
|
1190
|
+
shapeFillOverlayOriginalColor?: string;
|
|
1191
|
+
/** Source fill-overlay opacity used to detect alpha edits. */
|
|
1192
|
+
shapeFillOverlayOriginalOpacity?: number;
|
|
1162
1193
|
/** `<a:lnRef @idx>` — 1-based index into the theme's lnStyleLst. */
|
|
1163
1194
|
lnRefIdx?: number;
|
|
1164
1195
|
/** Raw XML colour child of `<a:lnRef>` (e.g. `<a:schemeClr>` with transforms). */
|
|
@@ -1415,7 +1446,15 @@ interface TextStyle {
|
|
|
1415
1446
|
*/
|
|
1416
1447
|
colorXml?: XmlObject;
|
|
1417
1448
|
align?: 'left' | 'center' | 'right' | 'justify' | 'justLow' | 'dist' | 'thaiDist';
|
|
1418
|
-
|
|
1449
|
+
/**
|
|
1450
|
+
* Vertical text-box anchor (`a:bodyPr/@anchor`, `ST_TextAnchoringType`).
|
|
1451
|
+
* `distributed`/`justified` (`dist`/`just`) stretch line spacing so the
|
|
1452
|
+
* paragraph block fills the box's full vertical extent, distinct from true
|
|
1453
|
+
* centering (`middle`/`ctr`); both approximate to a middle-anchored render
|
|
1454
|
+
* (see `text-body-layout.ts`) since CSS has no native vertical-justify
|
|
1455
|
+
* primitive, but round-trip losslessly through parse/save.
|
|
1456
|
+
*/
|
|
1457
|
+
vAlign?: 'top' | 'middle' | 'bottom' | 'distributed' | 'justified';
|
|
1419
1458
|
/** Right-to-left paragraph/run direction (`a:pPr/@rtl`, `a:rPr/@rtl`). */
|
|
1420
1459
|
rtl?: boolean;
|
|
1421
1460
|
/** Body text direction (`a:bodyPr/@vert`).
|
|
@@ -2236,6 +2275,50 @@ interface PptxChartAxisLabelFormatting {
|
|
|
2236
2275
|
noMultiLevelLabels?: boolean;
|
|
2237
2276
|
}
|
|
2238
2277
|
//#endregion
|
|
2278
|
+
//#region src/core/types/chart-ex.d.ts
|
|
2279
|
+
/**
|
|
2280
|
+
* Chart-formatting types that don't fit an existing, owned type module for
|
|
2281
|
+
* this wave (`types/chart.ts` is owned elsewhere; see its own module doc).
|
|
2282
|
+
* Despite the file name, `PptxChartDataPointPicture` is a CLASSIC (`c:`)
|
|
2283
|
+
* construct, not ChartEx (`cx:`) - it landed here only because it needs a
|
|
2284
|
+
* home outside `chart.ts`.
|
|
2285
|
+
*
|
|
2286
|
+
* @module pptx-types/chart-ex
|
|
2287
|
+
*/
|
|
2288
|
+
/** `c:dPt/c:pictureOptions/c:pictureFormat/@val` (ST_PictureFormat). */
|
|
2289
|
+
type PptxChartPictureFormat = 'stretch' | 'stack' | 'stackScale';
|
|
2290
|
+
/**
|
|
2291
|
+
* Per-data-point picture-fill flags (`c:dPt/c:pictureOptions`): PowerPoint's
|
|
2292
|
+
* "Picture or texture fill" with "Stack"/"Stretch" semantics on a bar/column
|
|
2293
|
+
* data point, distinct from the point's plain `c:spPr` solid/gradient fill.
|
|
2294
|
+
*
|
|
2295
|
+
* The flags parse purely (`parseChartDataPointPicture` in
|
|
2296
|
+
* `utils/chart-datapoint-serializer.ts`); {@link imageUrl} is a separate,
|
|
2297
|
+
* later addition populated by the runtime (`PptxHandlerRuntimeChartParsing.ts`)
|
|
2298
|
+
* once the sibling `c:spPr/a:blipFill/a:blip`'s `r:embed`/`r:link` is resolved
|
|
2299
|
+
* against the chart part's relationships, since that resolution needs zip/file
|
|
2300
|
+
* access the pure parser does not have.
|
|
2301
|
+
*/
|
|
2302
|
+
interface PptxChartDataPointPicture {
|
|
2303
|
+
/** Apply the picture to the front face of a 3-D bar/column (`c:applyToFront`). */
|
|
2304
|
+
applyToFront?: boolean;
|
|
2305
|
+
/** Apply the picture to the side faces of a 3-D bar/column (`c:applyToSides`). */
|
|
2306
|
+
applyToSides?: boolean;
|
|
2307
|
+
/** Apply the picture to the end face of a 3-D bar/column (`c:applyToEnd`). */
|
|
2308
|
+
applyToEnd?: boolean;
|
|
2309
|
+
/** Stretch, or stack repeated tiles at their natural size (or scaled). */
|
|
2310
|
+
pictureFormat?: PptxChartPictureFormat;
|
|
2311
|
+
/** Height, in points, of one repeated picture tile for "stack"/"stackScale" (`c:pictureStackUnit/@val`). */
|
|
2312
|
+
pictureStackUnit?: number;
|
|
2313
|
+
/**
|
|
2314
|
+
* Resolved picture source (a `data:`/`blob:` URL) for the point's sibling
|
|
2315
|
+
* `c:spPr/a:blipFill/a:blip`. Populated by the runtime after relationship
|
|
2316
|
+
* resolution (C2-G9 render half); absent until then, and absent entirely
|
|
2317
|
+
* when the point has no picture fill or the image could not be resolved.
|
|
2318
|
+
*/
|
|
2319
|
+
imageUrl?: string;
|
|
2320
|
+
}
|
|
2321
|
+
//#endregion
|
|
2239
2322
|
//#region src/core/types/chart-pivot-format.d.ts
|
|
2240
2323
|
interface PptxChartPivotFormat {
|
|
2241
2324
|
index: number;
|
|
@@ -2299,6 +2382,15 @@ interface PptxChartPageSetup {
|
|
|
2299
2382
|
horizontalDpi?: number;
|
|
2300
2383
|
verticalDpi?: number;
|
|
2301
2384
|
copies?: number;
|
|
2385
|
+
/**
|
|
2386
|
+
* Custom paper height, used when {@link paperSize} is `0`
|
|
2387
|
+
* (`c:pageSetup/@paperHeight`, ST_PositiveUniversalMeasure, e.g. `"297mm"`).
|
|
2388
|
+
* Kept as the raw measure string rather than converted, matching how the
|
|
2389
|
+
* schema stores it.
|
|
2390
|
+
*/
|
|
2391
|
+
paperHeight?: string;
|
|
2392
|
+
/** Custom paper width, used when {@link paperSize} is `0` (`@paperWidth`). */
|
|
2393
|
+
paperWidth?: string;
|
|
2302
2394
|
/** Original leaf retained for foreign attributes. */
|
|
2303
2395
|
rawXml?: unknown;
|
|
2304
2396
|
}
|
|
@@ -2330,6 +2422,65 @@ interface PptxChartProtection {
|
|
|
2330
2422
|
rawXml?: XmlObject;
|
|
2331
2423
|
}
|
|
2332
2424
|
//#endregion
|
|
2425
|
+
//#region src/core/types/chart-style-definition.d.ts
|
|
2426
|
+
/**
|
|
2427
|
+
* Typed subset of an Office 2013+ chart-style part (`ppt/charts/style#.xml`,
|
|
2428
|
+
* root element `cs:chartStyle`, relationship type
|
|
2429
|
+
* `.../2012/relationships/chartStyle`).
|
|
2430
|
+
*
|
|
2431
|
+
* PowerPoint's Design-tab "Chart Styles" gallery (1-48) writes `c:style/@val`
|
|
2432
|
+
* on the chart part itself (already modeled as `PptxChartStyle.styleId`) and,
|
|
2433
|
+
* for most styles, this SEPARATE part spelling out the per-element
|
|
2434
|
+
* `cs:lnRef`/`cs:fillRef`/`cs:effectRef`/`cs:fontRef`/`cs:defRPr` defaults a
|
|
2435
|
+
* chart element falls back to when its own XML leaves it unstyled. Without
|
|
2436
|
+
* parsing this part, styles beyond the one PowerPoint happens to have baked
|
|
2437
|
+
* inline are visually inert.
|
|
2438
|
+
*
|
|
2439
|
+
* @module pptx-types/chart-style-definition
|
|
2440
|
+
*/
|
|
2441
|
+
/**
|
|
2442
|
+
* One styled chart-element entry (`cs:title`, `cs:axisTitle`,
|
|
2443
|
+
* `cs:categoryAxis`, ...). Colours are resolved to hex at parse time (scheme
|
|
2444
|
+
* colour references via `cs:fontRef`/`cs:lnRef`/`cs:fillRef` are already
|
|
2445
|
+
* flattened against the theme, matching how classic chart colours resolve
|
|
2446
|
+
* elsewhere in this codebase). Fields are present only when the source XML
|
|
2447
|
+
* carried a value for them.
|
|
2448
|
+
*/
|
|
2449
|
+
interface PptxChartStylePartEntry {
|
|
2450
|
+
/** Text size in points, from `cs:defRPr/@sz` (hundredths of a point). */
|
|
2451
|
+
fontSize?: number;
|
|
2452
|
+
bold?: boolean;
|
|
2453
|
+
italic?: boolean;
|
|
2454
|
+
/** Resolved text colour: `cs:defRPr/a:solidFill`, or `cs:fontRef`'s scheme colour. */
|
|
2455
|
+
color?: string;
|
|
2456
|
+
/** Resolved line colour from `cs:lnRef`'s scheme colour reference. */
|
|
2457
|
+
lineColor?: string;
|
|
2458
|
+
/** Line width in points, when directly authored (rare; most styles reference a theme line style by index only). */
|
|
2459
|
+
lineWidth?: number;
|
|
2460
|
+
/** Resolved fill colour from `cs:fillRef`'s scheme colour reference. */
|
|
2461
|
+
fillColor?: string;
|
|
2462
|
+
}
|
|
2463
|
+
/**
|
|
2464
|
+
* Parsed per-element style defaults from a chart-style part. Only the
|
|
2465
|
+
* elements this viewer actually renders distinct defaults for are modeled;
|
|
2466
|
+
* elements PowerPoint's style gallery also styles (data table, trendlines,
|
|
2467
|
+
* up/down bars, ...) are out of scope until a renderer needs them.
|
|
2468
|
+
*/
|
|
2469
|
+
interface PptxChartStyleDefinition {
|
|
2470
|
+
title?: PptxChartStylePartEntry;
|
|
2471
|
+
axisTitle?: PptxChartStylePartEntry;
|
|
2472
|
+
categoryAxis?: PptxChartStylePartEntry;
|
|
2473
|
+
valueAxis?: PptxChartStylePartEntry;
|
|
2474
|
+
legend?: PptxChartStylePartEntry;
|
|
2475
|
+
dataLabel?: PptxChartStylePartEntry;
|
|
2476
|
+
dataPoint?: PptxChartStylePartEntry;
|
|
2477
|
+
dataPointLine?: PptxChartStylePartEntry;
|
|
2478
|
+
gridlineMajor?: PptxChartStylePartEntry;
|
|
2479
|
+
gridlineMinor?: PptxChartStylePartEntry;
|
|
2480
|
+
chartArea?: PptxChartStylePartEntry;
|
|
2481
|
+
plotArea?: PptxChartStylePartEntry;
|
|
2482
|
+
}
|
|
2483
|
+
//#endregion
|
|
2333
2484
|
//#region src/core/types/chart-user-shapes.d.ts
|
|
2334
2485
|
/**
|
|
2335
2486
|
* Types for chart drawing-overlay shapes (`c:userShapes`).
|
|
@@ -2368,8 +2519,16 @@ interface PptxChartUserShapeParagraph {
|
|
|
2368
2519
|
* `absSizeAnchor` the extent is {@link ext} in EMU.
|
|
2369
2520
|
*/
|
|
2370
2521
|
interface PptxChartUserShape {
|
|
2371
|
-
/**
|
|
2372
|
-
|
|
2522
|
+
/**
|
|
2523
|
+
* Shape kind: text/preset shape, connector, picture, a group of the
|
|
2524
|
+
* above (`grpSp`, flattened: each grouped child becomes its own entry
|
|
2525
|
+
* reusing the anchor's own bounding box, an approximation since the
|
|
2526
|
+
* group's internal chOff/chExt transform is not applied), or a bare
|
|
2527
|
+
* placeholder for a `graphicFrame` anchor child (deep content such as a
|
|
2528
|
+
* nested chart or table is out of scope; it only keeps the anchor's
|
|
2529
|
+
* space accounted for instead of the whole overlay disappearing).
|
|
2530
|
+
*/
|
|
2531
|
+
kind: 'sp' | 'cxnSp' | 'pic' | 'grpSp' | 'graphicFrame';
|
|
2373
2532
|
/** Anchor kind that positioned the shape. */
|
|
2374
2533
|
anchor: 'rel' | 'abs';
|
|
2375
2534
|
/** Top-left corner as chart-relative fractions (0-1). */
|
|
@@ -2601,6 +2760,8 @@ interface PptxChartDataPoint {
|
|
|
2601
2760
|
marker?: PptxChartMarker;
|
|
2602
2761
|
/** Render a bubble-chart point with a 3-D appearance. */
|
|
2603
2762
|
bubble3D?: boolean;
|
|
2763
|
+
/** Per-point picture-fill flags (`c:dPt/c:pictureOptions`). */
|
|
2764
|
+
picture?: PptxChartDataPointPicture;
|
|
2604
2765
|
}
|
|
2605
2766
|
/** Schema values accepted by `c:dLblPos`. */
|
|
2606
2767
|
type PptxChartDataLabelPosition = 'bestFit' | 'b' | 'ctr' | 'inBase' | 'inEnd' | 'l' | 'outEnd' | 'r' | 't';
|
|
@@ -2619,6 +2780,26 @@ interface PptxChartDataLabel {
|
|
|
2619
2780
|
text?: string;
|
|
2620
2781
|
separator?: string;
|
|
2621
2782
|
showLeaderLines?: boolean;
|
|
2783
|
+
/**
|
|
2784
|
+
* Per-label number-format override (`c:dLbl/c:numFmt/@formatCode`), taking
|
|
2785
|
+
* precedence over the chart-level {@link PptxChartDataLabelOptions.numberFormat}
|
|
2786
|
+
* and the series' own {@link PptxChartSeries.numberFormat} when set.
|
|
2787
|
+
*/
|
|
2788
|
+
numberFormat?: string;
|
|
2789
|
+
/**
|
|
2790
|
+
* Manually dragged label position (`c:dLbl/c:layout/c:manualLayout`), the
|
|
2791
|
+
* same CT_ManualLayout shape used for title/legend/plotArea. `null`
|
|
2792
|
+
* explicitly clears a drag back to the automatic position.
|
|
2793
|
+
*/
|
|
2794
|
+
layout?: PptxChartManualLayout | null;
|
|
2795
|
+
/**
|
|
2796
|
+
* This label's own font (`c:dLbl/c:txPr/a:p/a:pPr/a:defRPr`, or ChartEx
|
|
2797
|
+
* `cx:dataLabel/cx:txPr`), taking precedence over the chart/series-level
|
|
2798
|
+
* {@link PptxChartDataLabelOptions.txPr} when set. Reuses the legend
|
|
2799
|
+
* entry's flat text-style shape since both are the same
|
|
2800
|
+
* `.../a:p/a:pPr/a:defRPr` default-run-property style.
|
|
2801
|
+
*/
|
|
2802
|
+
txPr?: PptxChartLegendTextStyle;
|
|
2622
2803
|
}
|
|
2623
2804
|
/** Axis number format. */
|
|
2624
2805
|
interface PptxChartAxisNumFmt {
|
|
@@ -2633,6 +2814,16 @@ interface PptxChartDisplayUnitsLabel {
|
|
|
2633
2814
|
layout?: PptxChartManualLayout | null;
|
|
2634
2815
|
/** Label shape formatting. `null` removes `c:spPr`. */
|
|
2635
2816
|
spPr?: PptxChartShapeProps | null;
|
|
2817
|
+
/**
|
|
2818
|
+
* The label's own run font, when it carries a distinct `txPr` from the
|
|
2819
|
+
* axis's own (ChartEx `cx:unitsLabel/cx:txPr`; classic `c:dispUnitsLbl`
|
|
2820
|
+
* has no equivalent child, so this is only ever populated from a ChartEx
|
|
2821
|
+
* axis).
|
|
2822
|
+
*/
|
|
2823
|
+
fontFamily?: string;
|
|
2824
|
+
fontSize?: number;
|
|
2825
|
+
fontBold?: boolean;
|
|
2826
|
+
fontColor?: string;
|
|
2636
2827
|
}
|
|
2637
2828
|
/** Axis formatting for category, value, or date axes. */
|
|
2638
2829
|
interface PptxChartAxisFormatting extends PptxChartAxisLabelFormatting {
|
|
@@ -2737,8 +2928,27 @@ interface PptxChartWaterfallOptions {
|
|
|
2737
2928
|
/** Whether connector lines are visible between adjacent bars. */
|
|
2738
2929
|
connectorLines?: boolean;
|
|
2739
2930
|
}
|
|
2931
|
+
/**
|
|
2932
|
+
* A single breakpoint in a ChartEx colour-by-value scale
|
|
2933
|
+
* (`cx:valueColorPositions/cx:colorPosition`). `kind` selects which of
|
|
2934
|
+
* CT_ColorPosition's union members was authored; `value` is absent for
|
|
2935
|
+
* `min`/`max` (they are implicit endpoints) and required otherwise.
|
|
2936
|
+
*/
|
|
2937
|
+
interface PptxCxValueColorPosition {
|
|
2938
|
+
kind: 'min' | 'max' | 'number' | 'percent';
|
|
2939
|
+
value?: number;
|
|
2940
|
+
}
|
|
2740
2941
|
/** Office 2016 ChartEx geographic series dimensions and layout options. */
|
|
2741
2942
|
interface PptxChartRegionMapOptions {
|
|
2943
|
+
/**
|
|
2944
|
+
* Colour-by-value gradient stops (`cx:valueColors/cx:colors/cx:color`),
|
|
2945
|
+
* resolved to hex, 2 or 3 entries (matching PowerPoint's two- and
|
|
2946
|
+
* three-colour scale UI). Paired index-for-index with
|
|
2947
|
+
* {@link valueColorPositions} when both are present.
|
|
2948
|
+
*/
|
|
2949
|
+
valueColors?: string[];
|
|
2950
|
+
/** Gradient breakpoints for {@link valueColors} (`cx:valueColorPositions`). */
|
|
2951
|
+
valueColorPositions?: PptxCxValueColorPosition[];
|
|
2742
2952
|
/** Optional provider entity identifiers aligned with categories and values. */
|
|
2743
2953
|
entityIds?: string[];
|
|
2744
2954
|
/** Original `cx:pt/@idx` values for category points. */
|
|
@@ -2903,6 +3113,20 @@ interface PptxChartDataLabelOptions {
|
|
|
2903
3113
|
* Omit to let PowerPoint use the type default.
|
|
2904
3114
|
*/
|
|
2905
3115
|
position?: PptxChartDataLabelPosition;
|
|
3116
|
+
/**
|
|
3117
|
+
* Chart-level number-format override (`c:dLbls/c:numFmt/@formatCode`),
|
|
3118
|
+
* applied to every label of the series/chart-type unless a per-point
|
|
3119
|
+
* {@link PptxChartDataLabel.numberFormat} overrides it.
|
|
3120
|
+
*/
|
|
3121
|
+
numberFormat?: string;
|
|
3122
|
+
/**
|
|
3123
|
+
* Default font for every label at this level (`c:dLbls/c:txPr`, or
|
|
3124
|
+
* ChartEx `cx:dataLabels/cx:txPr`), overridden by a per-point
|
|
3125
|
+
* {@link PptxChartDataLabel.txPr} when set. `c:dLbls` at the chart-type
|
|
3126
|
+
* level and the series level cascade the same way the show flags do
|
|
3127
|
+
* (point > series > chart-type).
|
|
3128
|
+
*/
|
|
3129
|
+
txPr?: PptxChartLegendTextStyle;
|
|
2906
3130
|
}
|
|
2907
3131
|
/** Typed text defaults for a single chart legend entry. */
|
|
2908
3132
|
interface PptxChartLegendTextStyle {
|
|
@@ -2959,6 +3183,17 @@ interface PptxChartStyle {
|
|
|
2959
3183
|
hasDataLabels?: boolean;
|
|
2960
3184
|
/** Chart-level data-label content/position options (when `hasDataLabels`). */
|
|
2961
3185
|
dataLabels?: PptxChartDataLabelOptions;
|
|
3186
|
+
/**
|
|
3187
|
+
* Font styling for the chart's own title (`c:title/c:txPr`), edited via
|
|
3188
|
+
* `applyChartTitleStyleToXml` (chart-title-style-serializer.ts). Distinct
|
|
3189
|
+
* from an axis title's styling (`PptxChartAxisFormatting.fontFamily` etc.).
|
|
3190
|
+
*/
|
|
3191
|
+
titleFontFamily?: string;
|
|
3192
|
+
titleFontSize?: number;
|
|
3193
|
+
titleFontBold?: boolean;
|
|
3194
|
+
titleFontColor?: string;
|
|
3195
|
+
/** Title text-box fill/border (`c:title/c:spPr`). `null` removes it. */
|
|
3196
|
+
titleSpPr?: PptxChartShapeProps | null;
|
|
2962
3197
|
}
|
|
2963
3198
|
/**
|
|
2964
3199
|
* External data source reference for a chart (c:externalData).
|
|
@@ -3339,6 +3574,38 @@ interface PptxChartData {
|
|
|
3339
3574
|
* `attribute → value` map for round-trip fidelity.
|
|
3340
3575
|
*/
|
|
3341
3576
|
clrMapOvr?: Record<string, string>;
|
|
3577
|
+
/**
|
|
3578
|
+
* Whether the chart's own cached numeric values use the 1904 date epoch
|
|
3579
|
+
* (`c:chartSpace/c:date1904/@val`). Independent of, and authoritative over,
|
|
3580
|
+
* any embedded workbook's `workbookPr/@date1904` (a chart can lack an
|
|
3581
|
+
* embedded workbook entirely, or its cache can legitimately differ from the
|
|
3582
|
+
* workbook's current setting). Absent when the source XML omits the
|
|
3583
|
+
* element, in which case the 1900 system applies (the schema default).
|
|
3584
|
+
*/
|
|
3585
|
+
date1904?: boolean;
|
|
3586
|
+
/**
|
|
3587
|
+
* PowerPoint's "Rounded corners" chart-area option
|
|
3588
|
+
* (`c:chartSpace/c:roundedCorners/@val`, default `false`). Absent when the
|
|
3589
|
+
* source XML omits the element.
|
|
3590
|
+
*/
|
|
3591
|
+
roundedCorners?: boolean;
|
|
3592
|
+
/**
|
|
3593
|
+
* 3-D chart depth/spacing along the series axis, as a percentage
|
|
3594
|
+
* (`c:gapDepth/@val`, `ST_GapAmount`, 0 through 500). Legal on
|
|
3595
|
+
* `bar3D`/`area3D`/`line3D`/`surface` chart-type containers only. Read-only
|
|
3596
|
+
* for rendering, matching {@link barGapWidth}/{@link barOverlap}: save
|
|
3597
|
+
* round-trips it via the preserved chart XML rather than a typed edit path.
|
|
3598
|
+
*/
|
|
3599
|
+
gapDepth?: number;
|
|
3600
|
+
/**
|
|
3601
|
+
* Parsed Office 2013+ chart-style part (`ppt/charts/style#.xml`,
|
|
3602
|
+
* `cs:chartStyle`), providing per-element font/line/fill defaults for
|
|
3603
|
+
* whichever built-in "Chart Styles" gallery entry ({@link PptxChartStyle.styleId})
|
|
3604
|
+
* is active. Absent when the chart has no such part (common for
|
|
3605
|
+
* automation-authored charts, where PowerPoint still implies style 2's
|
|
3606
|
+
* look via its own bundled defaults).
|
|
3607
|
+
*/
|
|
3608
|
+
chartStyleDefinition?: PptxChartStyleDefinition;
|
|
3342
3609
|
}
|
|
3343
3610
|
//#endregion
|
|
3344
3611
|
//#region src/core/types/image.d.ts
|
|
@@ -3862,6 +4129,52 @@ interface MediaCaptionTrack {
|
|
|
3862
4129
|
isDefault?: boolean;
|
|
3863
4130
|
}
|
|
3864
4131
|
//#endregion
|
|
4132
|
+
//#region src/core/types/smart-art-chrome.d.ts
|
|
4133
|
+
/**
|
|
4134
|
+
* Background / outline extracted from `dgm:bg` and `dgm:whole`.
|
|
4135
|
+
*
|
|
4136
|
+
* @example
|
|
4137
|
+
* ```ts
|
|
4138
|
+
* const chrome: PptxSmartArtChrome = {
|
|
4139
|
+
* backgroundColor: "#F0F0F0",
|
|
4140
|
+
* outlineColor: "#333333",
|
|
4141
|
+
* outlineWidth: 1,
|
|
4142
|
+
* };
|
|
4143
|
+
* // => satisfies PptxSmartArtChrome
|
|
4144
|
+
* ```
|
|
4145
|
+
*/
|
|
4146
|
+
interface PptxSmartArtChrome {
|
|
4147
|
+
/**
|
|
4148
|
+
* Background fill colour (hex). When the real `dgm:bg` fill is a gradient
|
|
4149
|
+
* or pattern (see {@link PptxSmartArtChrome.backgroundFillXml}), this is an
|
|
4150
|
+
* APPROXIMATION (the gradient's first stop, or the pattern's foreground
|
|
4151
|
+
* colour) for a consumer that only wants one display colour, not the full fill.
|
|
4152
|
+
*/
|
|
4153
|
+
backgroundColor?: string;
|
|
4154
|
+
/**
|
|
4155
|
+
* Raw `dgm:bg` fill XML, present only when the background is a gradient or
|
|
4156
|
+
* pattern fill (a solid fill is fully captured by {@link PptxSmartArtChrome.backgroundColor}
|
|
4157
|
+
* alone). Round-trip only: `smartart-save-chrome.ts` re-emits this verbatim
|
|
4158
|
+
* instead of flattening the fill to a solid colour on save.
|
|
4159
|
+
*/
|
|
4160
|
+
backgroundFillXml?: PptxSmartArtRawBackgroundFill;
|
|
4161
|
+
/** Outline stroke colour (hex). */
|
|
4162
|
+
outlineColor?: string;
|
|
4163
|
+
/** Outline stroke width in points. */
|
|
4164
|
+
outlineWidth?: number;
|
|
4165
|
+
}
|
|
4166
|
+
/**
|
|
4167
|
+
* A `dgm:bg` fill this viewer doesn't fully model as first-class chrome
|
|
4168
|
+
* (gradient or pattern), preserved verbatim for round-trip. See
|
|
4169
|
+
* {@link PptxSmartArtChrome.backgroundFillXml}.
|
|
4170
|
+
*/
|
|
4171
|
+
interface PptxSmartArtRawBackgroundFill {
|
|
4172
|
+
/** Local element name of the fill under `dgm:bg` (`gradFill` or `pattFill`). */
|
|
4173
|
+
localName: 'gradFill' | 'pattFill';
|
|
4174
|
+
/** The fill element's own attributes/children, as parsed. */
|
|
4175
|
+
xml: XmlObject;
|
|
4176
|
+
}
|
|
4177
|
+
//#endregion
|
|
3865
4178
|
//#region src/core/types/smart-art-constraint-rules.d.ts
|
|
3866
4179
|
type PptxSmartArtConstraintRelationship = 'self' | 'ch' | 'des';
|
|
3867
4180
|
type PptxSmartArtConstraintOperator = 'none' | 'equ' | 'gte' | 'lte';
|
|
@@ -3960,6 +4273,14 @@ interface PptxSmartArtLayoutNodeShape {
|
|
|
3960
4273
|
adjustments?: PptxSmartArtShapeAdjustment[];
|
|
3961
4274
|
/** `dgm:shape/@hideGeom`: the shape is present only to size text, never painted. */
|
|
3962
4275
|
hideGeometry?: boolean;
|
|
4276
|
+
/**
|
|
4277
|
+
* `dgm:shape/@lkTxEntry` (CT_Shape, boolean, default false): this node is a
|
|
4278
|
+
* decorative shape that should mirror its paired content node's text
|
|
4279
|
+
* rather than always rendering blank. See `smartart-layout-interpreter-
|
|
4280
|
+
* pyramid.ts`'s `arrangePyramid`, the interpreter's one existing
|
|
4281
|
+
* synthesized-decorative-shape call site.
|
|
4282
|
+
*/
|
|
4283
|
+
lkTxEntry?: boolean;
|
|
3963
4284
|
}
|
|
3964
4285
|
/** Identity and ordering metadata from DiagramML CT_LayoutNode. */
|
|
3965
4286
|
interface PptxSmartArtLayoutNode {
|
|
@@ -4187,6 +4508,13 @@ interface PptxSmartArtNode {
|
|
|
4187
4508
|
* generic cycled palette (see `applySmartArtRoleColors`).
|
|
4188
4509
|
*/
|
|
4189
4510
|
styleRole?: string;
|
|
4511
|
+
/**
|
|
4512
|
+
* `dgm:prSet/@coherent3DOff` (`CT_ElemPropSet`) resolved from the node's
|
|
4513
|
+
* paired presentation point: when true, this node opts out of the
|
|
4514
|
+
* diagram's overall coherent-3D scene rotation (a `dgm:scene3d`/`dgm:sp3d`
|
|
4515
|
+
* quick-style variation) applied to every other node.
|
|
4516
|
+
*/
|
|
4517
|
+
coherent3DOff?: boolean;
|
|
4190
4518
|
/**
|
|
4191
4519
|
* Per-run text + run-properties for the node's first paragraph, captured at
|
|
4192
4520
|
* parse time. When the joined run text still equals {@link text} (the node
|
|
@@ -4234,9 +4562,29 @@ interface PptxSmartArtColorListMetadata {
|
|
|
4234
4562
|
method?: PptxSmartArtColorApplicationMethod;
|
|
4235
4563
|
hueDirection?: PptxSmartArtHueDirection;
|
|
4236
4564
|
}
|
|
4565
|
+
/**
|
|
4566
|
+
* A quick-style label's `a:lnRef`/`a:fillRef`/`a:effectRef`/`a:fontRef`
|
|
4567
|
+
* (`CT_ShapeStyle`, the same complex type an ordinary shape's `p:style`
|
|
4568
|
+
* uses), resolved against the theme's `fmtScheme` at parse time instead of
|
|
4569
|
+
* the coarse subtle/moderate/intense enum ({@link PptxSmartArtQuickStyle.effectIntensity}).
|
|
4570
|
+
* Only populated when a theme format scheme was available when the quick
|
|
4571
|
+
* style was parsed. See G13 in the 2026-09 diagram audit.
|
|
4572
|
+
*/
|
|
4573
|
+
interface PptxSmartArtResolvedStyleRef {
|
|
4574
|
+
fillColor?: string;
|
|
4575
|
+
fillMode?: 'solid' | 'gradient' | 'pattern' | 'none' | 'theme';
|
|
4576
|
+
strokeColor?: string;
|
|
4577
|
+
strokeWidth?: number;
|
|
4578
|
+
/** `a:effectRef`'s theme-resolved outer shadow colour, when the style has one. */
|
|
4579
|
+
shadowColor?: string;
|
|
4580
|
+
/** `a:fontRef`'s theme-resolved typeface (`+mn-lt`/`+mj-lt` -> the theme's actual font). */
|
|
4581
|
+
fontTypeface?: string;
|
|
4582
|
+
}
|
|
4237
4583
|
/** CT_StyleLabel metadata from a quick-style definition. */
|
|
4238
4584
|
interface PptxSmartArtQuickStyleLabel {
|
|
4239
4585
|
name: string;
|
|
4586
|
+
/** Theme-resolved `dgm:style` refs for this label's role, when available. */
|
|
4587
|
+
resolvedStyle?: PptxSmartArtResolvedStyleRef;
|
|
4240
4588
|
}
|
|
4241
4589
|
/** CT_CTStyleLabel metadata from a color-transform definition. */
|
|
4242
4590
|
interface PptxSmartArtColorStyleLabel {
|
|
@@ -4499,27 +4847,6 @@ interface PptxSmartArtDrawingShape extends PptxCustomPathProperties {
|
|
|
4499
4847
|
textFrameWidth?: number;
|
|
4500
4848
|
textFrameHeight?: number;
|
|
4501
4849
|
}
|
|
4502
|
-
/**
|
|
4503
|
-
* Background / outline extracted from `dgm:bg` and `dgm:whole`.
|
|
4504
|
-
*
|
|
4505
|
-
* @example
|
|
4506
|
-
* ```ts
|
|
4507
|
-
* const chrome: PptxSmartArtChrome = {
|
|
4508
|
-
* backgroundColor: "#F0F0F0",
|
|
4509
|
-
* outlineColor: "#333333",
|
|
4510
|
-
* outlineWidth: 1,
|
|
4511
|
-
* };
|
|
4512
|
-
* // => satisfies PptxSmartArtChrome
|
|
4513
|
-
* ```
|
|
4514
|
-
*/
|
|
4515
|
-
interface PptxSmartArtChrome {
|
|
4516
|
-
/** Background fill colour (hex). */
|
|
4517
|
-
backgroundColor?: string;
|
|
4518
|
-
/** Outline stroke colour (hex). */
|
|
4519
|
-
outlineColor?: string;
|
|
4520
|
-
/** Outline stroke width in points. */
|
|
4521
|
-
outlineWidth?: number;
|
|
4522
|
-
}
|
|
4523
4850
|
/**
|
|
4524
4851
|
* Presentation layout variables from `dgm:prSet/dgm:presLayoutVars` (data model)
|
|
4525
4852
|
* or `dgm:varLst` (layout definition defaults).
|
|
@@ -4976,6 +5303,22 @@ interface PptxTableData {
|
|
|
4976
5303
|
bandColCycle?: number;
|
|
4977
5304
|
/** Right-to-left table layout from `a:tblPr/@rtl`. */
|
|
4978
5305
|
rtl?: boolean;
|
|
5306
|
+
/**
|
|
5307
|
+
* `a:tblPr`'s OWN fill (`CT_TableProperties` §21.1.3.15's
|
|
5308
|
+
* `EG_FillProperties`), independent of any `a:tblStyleLst`-referenced style
|
|
5309
|
+
* or that style's `a:tblBg`. Applied as the lowest-priority fill layer,
|
|
5310
|
+
* beneath the table style's `wholeTbl` fill. Real PowerPoint decks route
|
|
5311
|
+
* table appearance through `tableStyleId` instead, so this mainly matters
|
|
5312
|
+
* for non-PowerPoint authoring tools (issue G6).
|
|
5313
|
+
*/
|
|
5314
|
+
tableFill?: ParsedTableStyleFill;
|
|
5315
|
+
/**
|
|
5316
|
+
* Whether `a:tblPr` carries its own `a:effectLst`/`a:effectDag`,
|
|
5317
|
+
* independent of the referenced table style. Presence-only: the concrete
|
|
5318
|
+
* effect is not yet rendered, and the raw XML round-trips separately via
|
|
5319
|
+
* whatever preserves `a:tblPr`'s unrecognised children (issue G6).
|
|
5320
|
+
*/
|
|
5321
|
+
tableEffects?: boolean;
|
|
4979
5322
|
}
|
|
4980
5323
|
/**
|
|
4981
5324
|
* A single fill reference within a table style section.
|
|
@@ -5097,7 +5440,7 @@ interface ParsedTableStyleText {
|
|
|
5097
5440
|
* A single border side within a table style's `a:tcStyle/a:tcBdr`.
|
|
5098
5441
|
*
|
|
5099
5442
|
* Corresponds to one of `a:left`, `a:right`, `a:top`, `a:bottom`,
|
|
5100
|
-
* `a:insideH`, `a:insideV`, `a:tl2br`, `a:
|
|
5443
|
+
* `a:insideH`, `a:insideV`, `a:tl2br`, `a:tr2bl` (each a
|
|
5101
5444
|
* `CT_ThemeableLineStyle` wrapping an `a:ln`).
|
|
5102
5445
|
*
|
|
5103
5446
|
* @example
|
|
@@ -5137,8 +5480,16 @@ interface ParsedTableStyleBorders {
|
|
|
5137
5480
|
insideV?: ParsedTableStyleBorder;
|
|
5138
5481
|
/** Top-left to bottom-right diagonal. */
|
|
5139
5482
|
tl2br?: ParsedTableStyleBorder;
|
|
5140
|
-
/**
|
|
5141
|
-
|
|
5483
|
+
/**
|
|
5484
|
+
* Top-right to bottom-left diagonal (`a:tr2bl`, ECMA-376's
|
|
5485
|
+
* `CT_TableCellBorderStyle` sequence: left/right/top/bottom/insideH/
|
|
5486
|
+
* insideV/tl2br/tr2bl). The field keeps its historical `bl2tr` spelling
|
|
5487
|
+
* only in the sense that it names the same geometric anti-diagonal line
|
|
5488
|
+
* (top-right-to-bottom-left and bottom-left-to-top-right describe one
|
|
5489
|
+
* undirected diagonal); the parser accepts the real `a:tr2bl` element and,
|
|
5490
|
+
* leniently, a legacy `a:bl2tr` this app previously wrote (issue G4).
|
|
5491
|
+
*/
|
|
5492
|
+
tr2bl?: ParsedTableStyleBorder;
|
|
5142
5493
|
}
|
|
5143
5494
|
/**
|
|
5144
5495
|
* Table background style (CT_TableBackgroundStyle, ECMA-376 §21.1.3.7).
|
|
@@ -5206,6 +5557,26 @@ interface ParsedTableStyleEntry {
|
|
|
5206
5557
|
swCellText?: ParsedTableStyleText;
|
|
5207
5558
|
neCellText?: ParsedTableStyleText;
|
|
5208
5559
|
nwCellText?: ParsedTableStyleText;
|
|
5560
|
+
/**
|
|
5561
|
+
* Per-role 3D bevel + lighting from `a:tcStyle/a:cell3D` (CT_Cell3D),
|
|
5562
|
+
* distinct from the per-cell `a:tcPr/a:cell3D` {@link PptxTableCellStyle}
|
|
5563
|
+
* already supports. None of PowerPoint's 74 built-in gallery styles use
|
|
5564
|
+
* this (0 hits in the built-in catalogue), so it only matters for a
|
|
5565
|
+
* hand-authored or third-party table style.
|
|
5566
|
+
*/
|
|
5567
|
+
wholeTblCell3D?: PptxTableCell3D;
|
|
5568
|
+
firstRowCell3D?: PptxTableCell3D;
|
|
5569
|
+
lastRowCell3D?: PptxTableCell3D;
|
|
5570
|
+
firstColCell3D?: PptxTableCell3D;
|
|
5571
|
+
lastColCell3D?: PptxTableCell3D;
|
|
5572
|
+
band1HCell3D?: PptxTableCell3D;
|
|
5573
|
+
band2HCell3D?: PptxTableCell3D;
|
|
5574
|
+
band1VCell3D?: PptxTableCell3D;
|
|
5575
|
+
band2VCell3D?: PptxTableCell3D;
|
|
5576
|
+
seCellCell3D?: PptxTableCell3D;
|
|
5577
|
+
swCellCell3D?: PptxTableCell3D;
|
|
5578
|
+
neCellCell3D?: PptxTableCell3D;
|
|
5579
|
+
nwCellCell3D?: PptxTableCell3D;
|
|
5209
5580
|
}
|
|
5210
5581
|
/**
|
|
5211
5582
|
* Map of GUID → table style entry.
|
|
@@ -5228,6 +5599,38 @@ interface ParsedTableStyleEntry {
|
|
|
5228
5599
|
type ParsedTableStyleMap = Record<string, ParsedTableStyleEntry>;
|
|
5229
5600
|
//#endregion
|
|
5230
5601
|
//#region src/core/types/elements.d.ts
|
|
5602
|
+
/**
|
|
5603
|
+
* Accessibility metadata from `p:cNvPr/a:extLst`'s "Mark as decorative"
|
|
5604
|
+
* vendor extension (issue G16). PowerPoint's Alt Text pane writes
|
|
5605
|
+
* `a:ext[@uri='{C183D7F6-B498-43B3-948B-1728B52AA6E4}']/adec:decorative
|
|
5606
|
+
* val="1"` when a shape or image is marked decorative; mixed into the
|
|
5607
|
+
* element variants whose `p:cNvPr` that pane covers.
|
|
5608
|
+
*/
|
|
5609
|
+
interface PptxAccessibilityProperties {
|
|
5610
|
+
/**
|
|
5611
|
+
* Whether the element is marked decorative. When true, alt text /
|
|
5612
|
+
* aria-label / Markdown export should skip describing the element even
|
|
5613
|
+
* when {@link PptxImageProperties.altText} (or similar) is present.
|
|
5614
|
+
*/
|
|
5615
|
+
isDecorative?: boolean;
|
|
5616
|
+
}
|
|
5617
|
+
/**
|
|
5618
|
+
* `a:cNvPicPr/@preferRelativeResize` (issue G13), a picture-only non-visual
|
|
5619
|
+
* property distinct from `a:picLocks`.
|
|
5620
|
+
*/
|
|
5621
|
+
interface PptxPictureNonVisualProperties {
|
|
5622
|
+
/**
|
|
5623
|
+
* `a:cNvPicPr/@preferRelativeResize` (ST_Boolean, defaults to `true` when
|
|
5624
|
+
* absent). Controls whether a picture's crop rectangle is reinterpreted
|
|
5625
|
+
* relative to the picture's ORIGINAL dimensions or its CURRENT
|
|
5626
|
+
* (already-resized) dimensions when it is resized again after being
|
|
5627
|
+
* cropped. Parsed and round-tripped for now; not yet wired into
|
|
5628
|
+
* resize-after-crop arithmetic (this app always uses current-size
|
|
5629
|
+
* semantics, which only diverges from `preferRelativeResize="0"` on a
|
|
5630
|
+
* second resize after a crop).
|
|
5631
|
+
*/
|
|
5632
|
+
preferRelativeResize?: boolean;
|
|
5633
|
+
}
|
|
5231
5634
|
/**
|
|
5232
5635
|
* A text box — a plain rectangle containing text, typically with no
|
|
5233
5636
|
* visible fill or stroke.
|
|
@@ -5261,7 +5664,7 @@ interface TextPptxElement extends PptxElementBase, PptxTextProperties, PptxShape
|
|
|
5261
5664
|
* // => satisfies ShapePptxElement
|
|
5262
5665
|
* ```
|
|
5263
5666
|
*/
|
|
5264
|
-
interface ShapePptxElement extends PptxElementBase, PptxTextProperties, PptxShapeProperties, PptxCustomPathProperties {
|
|
5667
|
+
interface ShapePptxElement extends PptxElementBase, PptxTextProperties, PptxShapeProperties, PptxCustomPathProperties, PptxAccessibilityProperties {
|
|
5265
5668
|
type: 'shape';
|
|
5266
5669
|
}
|
|
5267
5670
|
/**
|
|
@@ -5300,7 +5703,7 @@ interface ConnectorPptxElement extends PptxElementBase, PptxTextProperties, Pptx
|
|
|
5300
5703
|
* // => satisfies ImagePptxElement
|
|
5301
5704
|
* ```
|
|
5302
5705
|
*/
|
|
5303
|
-
interface ImagePptxElement extends PptxElementBase, PptxShapeProperties, PptxCustomPathProperties, PptxImageProperties {
|
|
5706
|
+
interface ImagePptxElement extends PptxElementBase, PptxShapeProperties, PptxCustomPathProperties, PptxImageProperties, PptxAccessibilityProperties, PptxPictureNonVisualProperties {
|
|
5304
5707
|
type: 'image';
|
|
5305
5708
|
}
|
|
5306
5709
|
/**
|
|
@@ -5309,7 +5712,7 @@ interface ImagePptxElement extends PptxElementBase, PptxShapeProperties, PptxCus
|
|
|
5309
5712
|
* Functionally identical to {@link ImagePptxElement} but distinguished by
|
|
5310
5713
|
* the `type` discriminant for semantic clarity.
|
|
5311
5714
|
*/
|
|
5312
|
-
interface PicturePptxElement extends PptxElementBase, PptxShapeProperties, PptxCustomPathProperties, PptxImageProperties {
|
|
5715
|
+
interface PicturePptxElement extends PptxElementBase, PptxShapeProperties, PptxCustomPathProperties, PptxImageProperties, PptxAccessibilityProperties, PptxPictureNonVisualProperties {
|
|
5313
5716
|
type: 'picture';
|
|
5314
5717
|
}
|
|
5315
5718
|
/**
|
|
@@ -5459,6 +5862,14 @@ interface OlePptxElement extends PptxElementBase {
|
|
|
5459
5862
|
* Only meaningful when {@link isLinked} is `true`. ECMA-376 §19.3.1.28.
|
|
5460
5863
|
*/
|
|
5461
5864
|
oleFollowColorScheme?: 'none' | 'full' | 'textAndBackground';
|
|
5865
|
+
/**
|
|
5866
|
+
* `p:link/@updateAutomatic` (`CT_OleObjectLink`, ECMA-376 §19.3.2.4):
|
|
5867
|
+
* whether a LINKED OLE object refreshes automatically from its source
|
|
5868
|
+
* (PowerPoint's Edit Links dialog "Automatic" vs. "Manual" radio buttons).
|
|
5869
|
+
* Only meaningful when {@link isLinked} is `true`. The schema default is
|
|
5870
|
+
* `false`; `undefined` means the source authored no explicit value.
|
|
5871
|
+
*/
|
|
5872
|
+
oleUpdateAutomatic?: boolean;
|
|
5462
5873
|
/** Unrecognised graphicFrame extLst extensions, captured verbatim for round-trip. */
|
|
5463
5874
|
extensionXml?: PptxGraphicFrameExtension[];
|
|
5464
5875
|
}
|
|
@@ -6043,12 +6454,50 @@ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevi
|
|
|
6043
6454
|
* is preserved alongside other animations.
|
|
6044
6455
|
*/
|
|
6045
6456
|
type PptxNativeAnimationKind = 'media';
|
|
6457
|
+
/**
|
|
6458
|
+
* `p:spTgt/p:graphicEl` (CT_TLGraphicalObjectBuildElement, ECMA-376 S19.5.34):
|
|
6459
|
+
* identifies exactly which series/category/element of a chart or diagram
|
|
6460
|
+
* build a per-stage effect reveals, when a deck authors one effect per stage
|
|
6461
|
+
* instead of a single staged `p:bldGraphic` reveal.
|
|
6462
|
+
*/
|
|
6463
|
+
interface PptxAnimationGraphicElementTarget {
|
|
6464
|
+
/** Which graphic kind: `p:dgm` (diagram) or `p:chart`. */
|
|
6465
|
+
kind: 'dgm' | 'chart';
|
|
6466
|
+
/** `@_seriesIdx`, 0-based series index, when the target is series-scoped. */
|
|
6467
|
+
seriesIdx?: number;
|
|
6468
|
+
/** `@_categoryIdx`, 0-based category index, when the target is category-scoped. */
|
|
6469
|
+
categoryIdx?: number;
|
|
6470
|
+
/** `@_bldStep` (ST_TLChartBuildStep): `category` / `categoryEl` / `series` / `seriesEl`. */
|
|
6471
|
+
bldStep?: string;
|
|
6472
|
+
}
|
|
6473
|
+
/**
|
|
6474
|
+
* `p:spTgt/p:oleChartEl` (CT_TLOleChartTargetElement, ECMA-376 S19.5.44):
|
|
6475
|
+
* legacy pre-DrawingML OLE Graph chart sub-element targeting.
|
|
6476
|
+
*/
|
|
6477
|
+
interface PptxAnimationOleChartElementTarget {
|
|
6478
|
+
/** `@_type` (ST_TLOleChartSubelementType): entireChart / series / category / ... */
|
|
6479
|
+
subelementType: string;
|
|
6480
|
+
/** `@_lvl`, optional sub-element level. */
|
|
6481
|
+
level?: number;
|
|
6482
|
+
}
|
|
6046
6483
|
/** A target selected by `p:tgtEl` in the PresentationML timing model. */
|
|
6047
6484
|
type PptxAnimationTarget = {
|
|
6048
6485
|
type: 'shape';
|
|
6049
6486
|
shapeId: string;
|
|
6050
6487
|
/** Whether `p:spTgt/p:bg` limits the effect to the shape background. */
|
|
6051
6488
|
backgroundOnly?: boolean;
|
|
6489
|
+
/**
|
|
6490
|
+
* `p:spTgt/p:subSp/@_spid`: the id of a shape NESTED inside the group
|
|
6491
|
+
* named by {@link shapeId} (CT_TLSubShapeId, ECMA-376 S19.5.71).
|
|
6492
|
+
* PowerPoint authors this when a user animates one member of a group
|
|
6493
|
+
* without ungrouping it: `shapeId` stays the outer group's id for
|
|
6494
|
+
* round-trip, but this sub-shape is the real playback target.
|
|
6495
|
+
*/
|
|
6496
|
+
subShapeId?: string;
|
|
6497
|
+
/** `p:spTgt/p:graphicEl`: chart/diagram series/category/element target. */
|
|
6498
|
+
graphicElement?: PptxAnimationGraphicElementTarget;
|
|
6499
|
+
/** `p:spTgt/p:oleChartEl`: legacy OLE chart sub-element target. */
|
|
6500
|
+
oleChartElement?: PptxAnimationOleChartElementTarget;
|
|
6052
6501
|
rawXml?: XmlObject;
|
|
6053
6502
|
} | {
|
|
6054
6503
|
type: 'slide';
|
|
@@ -6428,6 +6877,46 @@ interface PptxNativeAnimation {
|
|
|
6428
6877
|
* PowerPoint that only emit the SMIL-style filter string.
|
|
6429
6878
|
*/
|
|
6430
6879
|
effectFilter?: PptxAnimationEffectFilter;
|
|
6880
|
+
/**
|
|
6881
|
+
* This effect's own `p:cTn/@_id` (a raw OOXML time-node id, not a shape
|
|
6882
|
+
* id). Lets playback resolve a `p:cond/@tn` dependency (see
|
|
6883
|
+
* {@link AnimationCondition.targetTimeNodeId}) against the SPECIFIC node
|
|
6884
|
+
* it names rather than assuming it is always the positionally-previous
|
|
6885
|
+
* effect. Absent when the node carried no `@_id`.
|
|
6886
|
+
*/
|
|
6887
|
+
nodeId?: number;
|
|
6888
|
+
/**
|
|
6889
|
+
* Interpolation mode for this effect's PRIMARY `p:anim`-family behaviour
|
|
6890
|
+
* (the same node {@link keyframes}/{@link attrName} were read from), from
|
|
6891
|
+
* `@_calcmode` (ST_TLAnimateBehaviorCalcMode, ECMA-376 S19.5.2). See
|
|
6892
|
+
* {@link PptxAttributeAnimation.calcMode} for the per-component version.
|
|
6893
|
+
*/
|
|
6894
|
+
calcMode?: 'discrete' | 'lin' | 'fmla';
|
|
6895
|
+
/**
|
|
6896
|
+
* `p:cBhvr/@_additive` (ST_TLBehaviorAdditiveType, ECMA-376 S19.5.4):
|
|
6897
|
+
* controls how this behaviour's value composites with sibling behaviours
|
|
6898
|
+
* driving the same attribute on the same target. `sum` accumulates
|
|
6899
|
+
* (e.g. a combined scale+rotate), `repl`/`base`/`none`/`mult` replace or
|
|
6900
|
+
* otherwise combine. Absent means the OOXML default (`base`).
|
|
6901
|
+
*/
|
|
6902
|
+
cBhvrAdditive?: 'base' | 'sum' | 'repl' | 'mult' | 'none';
|
|
6903
|
+
/**
|
|
6904
|
+
* `p:cBhvr/@_accumulate` (ST_TLBehaviorAccumulateType): `always` means
|
|
6905
|
+
* each `p:cTn/@repeatCount` repeat starts from the PREVIOUS repeat's end
|
|
6906
|
+
* value (e.g. a 3x Spin totals 1080deg instead of replaying 0-360 three
|
|
6907
|
+
* times); `none` (the OOXML default) resets every repeat.
|
|
6908
|
+
*/
|
|
6909
|
+
cBhvrAccumulate?: 'none' | 'always';
|
|
6910
|
+
/**
|
|
6911
|
+
* `p:cBhvr/@_xfrmType` (only meaningful on `p:animMotion`): `point`
|
|
6912
|
+
* (default) or `img`, a legacy compatibility hint. Round-tripped only.
|
|
6913
|
+
*/
|
|
6914
|
+
cBhvrXfrmType?: 'point' | 'img';
|
|
6915
|
+
/**
|
|
6916
|
+
* `p:cBhvr/@_override` (ST_TLBehaviorOverrideType): `normal` (default) or
|
|
6917
|
+
* `childStyle`, a legacy compatibility hint. Round-tripped only.
|
|
6918
|
+
*/
|
|
6919
|
+
cBhvrOverride?: 'normal' | 'childStyle';
|
|
6431
6920
|
}
|
|
6432
6921
|
/**
|
|
6433
6922
|
* Parsed `p:animEffect/@filter` (+ `@transition`) descriptor. ECMA-376
|
|
@@ -6494,6 +6983,14 @@ interface PptxAttributeAnimation {
|
|
|
6494
6983
|
durationMs?: number;
|
|
6495
6984
|
/** Start offset from this behaviour's nested `p:stCondLst`. */
|
|
6496
6985
|
delayMs?: number;
|
|
6986
|
+
/**
|
|
6987
|
+
* Interpolation mode from this behaviour's own `@_calcmode`
|
|
6988
|
+
* (ST_TLAnimateBehaviorCalcMode, ECMA-376 S19.5.2): `discrete` snaps to
|
|
6989
|
+
* each `p:tav` stop with no interpolation, `lin` (the OOXML default)
|
|
6990
|
+
* interpolates linearly, `fmla` evaluates `p:tav/@fmla` (not consulted at
|
|
6991
|
+
* playback here; formulas are round-tripped only). Absent means `lin`.
|
|
6992
|
+
*/
|
|
6993
|
+
calcMode?: 'discrete' | 'lin' | 'fmla';
|
|
6497
6994
|
}
|
|
6498
6995
|
/** Signed HSL channel deltas parsed from `p:animClr/p:by/p:hsl`. */
|
|
6499
6996
|
interface PptxHslColorDelta {
|
|
@@ -6560,7 +7057,7 @@ interface PptxTextAnimationTarget {
|
|
|
6560
7057
|
* These map directly to OOXML condition event attribute values
|
|
6561
7058
|
* (ISO/IEC 29500-1 S19.5.28 CT_TLTimeCondition).
|
|
6562
7059
|
*/
|
|
6563
|
-
type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio';
|
|
7060
|
+
type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio' | 'onDblClick';
|
|
6564
7061
|
/**
|
|
6565
7062
|
* Structured representation of a single OOXML animation condition
|
|
6566
7063
|
* from `p:cond` elements inside `p:stCondLst` or `p:endCondLst`.
|
|
@@ -7900,10 +8397,32 @@ interface PptxPresentationProperties {
|
|
|
7900
8397
|
printProperties?: PptxPresentationPrintProperties | null;
|
|
7901
8398
|
/** Most-recently-used colours from the presentation palette. */
|
|
7902
8399
|
mruColors?: string[];
|
|
7903
|
-
/**
|
|
8400
|
+
/**
|
|
8401
|
+
* Pen colour for presentation mode annotations (from `p:showPr/p:penClr`).
|
|
8402
|
+
* `p:penClr` is a full `EG_ColorChoice` (P1-G2): a scheme/preset/system
|
|
8403
|
+
* swatch resolves to a hex string here just like a direct `a:srgbClr`.
|
|
8404
|
+
*/
|
|
7904
8405
|
penColor?: string;
|
|
8406
|
+
/**
|
|
8407
|
+
* The resolved hex value {@link penColor} had at parse time, and the
|
|
8408
|
+
* original `p:penClr` colour-choice XML node, preserved so a save that
|
|
8409
|
+
* never touches the pen colour re-emits the original scheme/preset
|
|
8410
|
+
* reference verbatim instead of flattening it to a baked `a:srgbClr`.
|
|
8411
|
+
* Internal round-trip bookkeeping; not meant to be set by API callers.
|
|
8412
|
+
*/
|
|
8413
|
+
penColorOriginal?: string;
|
|
8414
|
+
/** @see penColorOriginal */
|
|
8415
|
+
penColorXml?: XmlObject;
|
|
7905
8416
|
/** Kiosk auto-restart interval in milliseconds (from `p:kiosk/@restart`). Only meaningful when showType is "kiosk". */
|
|
7906
8417
|
kioskRestartTime?: number;
|
|
8418
|
+
/**
|
|
8419
|
+
* `p:showPr/p:browse/@showScrollbar` (CT_ShowInfoBrowse §19.2.1.10 /
|
|
8420
|
+
* §19.3.1.43), the "Show scrollbar" checkbox in PowerPoint's Set Up Show
|
|
8421
|
+
* dialog. Only meaningful when `showType` is `"browsed"`; the schema
|
|
8422
|
+
* default is `true`. `undefined` means the source authored no explicit
|
|
8423
|
+
* value (or `showType` is not `"browsed"`).
|
|
8424
|
+
*/
|
|
8425
|
+
showScrollbar?: boolean;
|
|
7907
8426
|
}
|
|
7908
8427
|
/**
|
|
7909
8428
|
* Slide dimensions from `p:sldSz` (CT_SlideSize, ECMA-376 §19.2.1.39).
|