pptx-angular-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.
Files changed (26) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/fesm2022/pptx-angular-viewer-chart-3d-view-scene-BvqHPMqP.mjs +1717 -0
  3. package/fesm2022/pptx-angular-viewer-chart-3d-view-scene-BvqHPMqP.mjs.map +1 -0
  4. package/fesm2022/{pptx-angular-viewer-chat-history-idb-D_SZnX0q.mjs → pptx-angular-viewer-chat-history-idb-Bnnu-_YB.mjs} +2 -2
  5. package/fesm2022/{pptx-angular-viewer-chat-history-idb-D_SZnX0q.mjs.map → pptx-angular-viewer-chat-history-idb-Bnnu-_YB.mjs.map} +1 -1
  6. package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-D3TADvW3.mjs → pptx-angular-viewer-pptx-angular-viewer-6HLPpu2S.mjs} +15250 -4474
  7. package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-D3TADvW3.mjs.map → pptx-angular-viewer-pptx-angular-viewer-6HLPpu2S.mjs.map} +1 -1
  8. package/fesm2022/pptx-angular-viewer-view-scene-DCyis-PH.mjs +819 -0
  9. package/fesm2022/pptx-angular-viewer-view-scene-DCyis-PH.mjs.map +1 -0
  10. package/fesm2022/pptx-angular-viewer.mjs +1 -1
  11. package/i18n/de.cjs +340 -105
  12. package/i18n/de.mjs +340 -105
  13. package/i18n/es.cjs +340 -105
  14. package/i18n/es.mjs +340 -105
  15. package/i18n/fr.cjs +340 -105
  16. package/i18n/fr.mjs +340 -105
  17. package/i18n/zh-CN.cjs +342 -107
  18. package/i18n/zh-CN.mjs +342 -107
  19. package/package.json +4 -3
  20. package/pptx-angular-viewer.css +1 -1
  21. package/types/pptx-angular-viewer.d.ts +1440 -340
  22. package/types/pptx-angular-viewer.d.ts.map +1 -1
  23. package/fesm2022/pptx-angular-viewer-chart-3d-view-scene-CFWKnfML.mjs +0 -470
  24. package/fesm2022/pptx-angular-viewer-chart-3d-view-scene-CFWKnfML.mjs.map +0 -1
  25. package/fesm2022/pptx-angular-viewer-view-scene-C5oUG9yl.mjs +0 -235
  26. package/fesm2022/pptx-angular-viewer-view-scene-C5oUG9yl.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as pptx_viewer_core from 'pptx-viewer-core';
2
- import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle, PptxChartMarkerSymbol, PptxChartDataPointPicture, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, PptxBar3DShape, SmartArtLayoutType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxThemeColorRef, PlaceholderDefaults, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartBarDirection, ImagePptxElement, MasterViewTab, PptxHeaderFooter, PptxPresentationProperties, PptxViewProperties, PptxCustomShow, PptxCoreProperties, PptxAppProperties, PptxCustomProperty, PptxTagCollection, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxSlideSize, PptxSaveFormat, MediaPptxElement, PptxTheme, PptxHandler, PptxData, PptxHandlerSaveOptions, PptxModernCommentAuthor, PptxCommentMention, PptxThemeOption, ParsedSignature, PptxLayoutPreview, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, PptxLayoutOption, PptxGridSpacing, ChartPptxElement, RenderedNode, RenderedCircleNode, RenderedPolygonNode, RenderedRectNode, SmartArtLayoutResult, Model3DPptxElement, ZoomPptxElement, SmartArtPptxElement, PptxAnimationTimelineAnchor, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, PptxTextStyleLevels, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
2
+ import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle, PptxChartMarkerSymbol, PptxChartDataPointPicture, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, PptxBar3DShape, SmartArtLayoutType, PptxSmartArtDrawingShape, SmartArtColorScheme, PptxSmartArtChrome, SmartArtStyle, PptxSmartArtData, PptxThemeColorRef, PlaceholderDefaults, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartBarDirection, ImagePptxElement, MasterViewTab, PptxHeaderFooter, PptxPresentationProperties, PptxViewProperties, PptxCustomShow, PptxCoreProperties, PptxAppProperties, PptxCustomProperty, PptxTagCollection, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxSlideSize, PptxSaveFormat, MediaPptxElement, PptxTheme, PptxHandler, PptxData, PptxHandlerSaveOptions, PptxModernCommentAuthor, PptxCommentMention, PptxThemeOption, ParsedSignature, PptxLayoutPreview, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, PptxLayoutOption, PptxGridSpacing, ChartPptxElement, RenderedNode, RenderedCircleNode, RenderedPolygonNode, RenderedRectNode, SmartArtLayoutResult, Model3DPptxElement, ZoomPptxElement, SmartArtPptxElement, PptxAnimationTimelineAnchor, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, PptxTextStyleLevels, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
3
3
  export { GroupResult, SWITCHABLE_LAYOUT_TYPES, UngroupResult, addSmartArtNode, addSmartArtNodeAsChild, chartDataChangeType, chartDataUpdatePoint, demoteSmartArtNode, formatAutoNumberMarker as formatAutoNumber, groupElements, promoteSmartArtNode, removeSmartArtNode, reorderSmartArtNode, switchSmartArtLayout, ungroupElements, updateSmartArtNodeText } from 'pptx-viewer-core';
4
4
  import { Doc } from 'yjs';
5
5
  import * as _angular_core from '@angular/core';
@@ -1027,153 +1027,6 @@ interface EquationTemplate {
1027
1027
  i18nKey: string;
1028
1028
  }
1029
1029
 
1030
- /**
1031
- * Chart title text style: the font every binding draws `vm.title` with.
1032
- *
1033
- * Cascade (highest wins): the title's own `c:tx/c:rich` / `c:txPr` run
1034
- * properties (`PptxChartStyle.titleFont*`), then the chart-style part's
1035
- * title entry, then this viewer's fixed defaults (12 px, semi-bold, slate).
1036
- * Returned as a framework-neutral descriptor the bindings map straight onto
1037
- * SVG `<text>` attributes, so a chart authored with a 24 pt red title reads
1038
- * the same in all five bindings.
1039
- *
1040
- * @module chart-title-style
1041
- */
1042
-
1043
- /** Resolved SVG text attributes for the chart title. */
1044
- interface ChartTitleTextStyle {
1045
- /** `font-size`, in slide-px. */
1046
- fontSize: number;
1047
- /** `font-weight`. */
1048
- fontWeight: number;
1049
- /** `fill`. */
1050
- fill: string;
1051
- /** `font-family`, only when the title names a typeface. */
1052
- fontFamily?: string;
1053
- }
1054
-
1055
- /**
1056
- * chart-svg-primitives.ts: the SVG primitive descriptor types a chart
1057
- * view-model's `primitives` array is built from (rect / path / polyline /
1058
- * circle / line / polygon / text / areaGradient). Split out of
1059
- * `chart-view-model-types.ts` to keep it within the repo's ~300-LOC limit;
1060
- * `chart-view-model.ts` re-exports everything here.
1061
- *
1062
- * @module chart-svg-primitives
1063
- */
1064
-
1065
- /**
1066
- * Hover tooltip / accessible name, projected as each primitive's SVG `<title>`
1067
- * child. Every primitive kind that can represent a data mark (rect, path,
1068
- * polyline, circle, line, polygon) carries this field so any chart mark, not
1069
- * just the region map's choropleth patches, can surface a tooltip. Projectors
1070
- * that ignore the field simply render no tooltip.
1071
- */
1072
- interface SvgRect {
1073
- kind: 'rect';
1074
- x: number;
1075
- y: number;
1076
- w: number;
1077
- h: number;
1078
- fill: string;
1079
- rx?: number;
1080
- opacity?: number;
1081
- part?: ChartPartRef;
1082
- title?: string;
1083
- }
1084
- interface SvgPath {
1085
- kind: 'path';
1086
- d: string;
1087
- fill: string;
1088
- stroke?: string;
1089
- strokeWidth?: number;
1090
- /** SVG `stroke-dasharray`, e.g. a trendline's own `c:spPr/a:ln/a:prstDash`. */
1091
- dashArray?: string;
1092
- opacity?: number;
1093
- part?: ChartPartRef;
1094
- /**
1095
- * Hover tooltip / accessible name, projected as an SVG `<title>` child.
1096
- *
1097
- * The region map (chart-waterfall-map.ts) was the first to set it: a
1098
- * choropleth patch carries no label of its own, so without a tooltip the
1099
- * reader cannot tell which region a colour belongs to. Every other primitive
1100
- * kind now carries the same field for the same reason on the mainstream chart
1101
- * kinds (bar / line / area / scatter / bubble / pie / radar). Projectors that
1102
- * ignore the field simply render no tooltip.
1103
- */
1104
- title?: string;
1105
- }
1106
- interface SvgPolyline {
1107
- kind: 'polyline';
1108
- points: string;
1109
- stroke: string;
1110
- strokeWidth: number;
1111
- fill: string;
1112
- opacity?: number;
1113
- part?: ChartPartRef;
1114
- title?: string;
1115
- }
1116
- interface SvgCircle {
1117
- kind: 'circle';
1118
- cx: number;
1119
- cy: number;
1120
- r: number;
1121
- fill: string;
1122
- opacity?: number;
1123
- part?: ChartPartRef;
1124
- title?: string;
1125
- }
1126
- interface SvgLine {
1127
- kind: 'line';
1128
- x1: number;
1129
- y1: number;
1130
- x2: number;
1131
- y2: number;
1132
- stroke: string;
1133
- strokeWidth: number;
1134
- dashArray?: string;
1135
- opacity?: number;
1136
- title?: string;
1137
- /** Optional SVG transform (e.g. a chart-overlay connector's own rotation about its box centre). */
1138
- transform?: string;
1139
- }
1140
- interface SvgText {
1141
- kind: 'text';
1142
- x: number;
1143
- y: number;
1144
- text: string;
1145
- fontSize: number;
1146
- fill: string;
1147
- textAnchor: 'start' | 'middle' | 'end';
1148
- fontWeight?: 'normal' | 'bold';
1149
- fontFamily?: string;
1150
- /** Italic styling, e.g. from a chart data-table or legend-entry `c:txPr` override. */
1151
- fontStyle?: 'normal' | 'italic';
1152
- dominantBaseline?: string;
1153
- opacity?: number;
1154
- /** Optional SVG transform (e.g. `rotate(-90, x, y)` for a vertical axis title). */
1155
- transform?: string;
1156
- }
1157
- interface SvgPolygon {
1158
- kind: 'polygon';
1159
- points: string;
1160
- fill: string;
1161
- stroke: string;
1162
- strokeWidth: number;
1163
- opacity?: number;
1164
- dashArray?: string;
1165
- part?: ChartPartRef;
1166
- title?: string;
1167
- /** Optional SVG transform (e.g. a chart-overlay shape's own rotation/flip about its box centre). */
1168
- transform?: string;
1169
- }
1170
- interface SvgAreaGradient {
1171
- kind: 'areaGradient';
1172
- id: string;
1173
- color: string;
1174
- }
1175
- type SvgPrimitive = SvgRect | SvgPath | SvgPolyline | SvgCircle | SvgLine | SvgPolygon | SvgText | SvgAreaGradient;
1176
-
1177
1030
  /**
1178
1031
  * chart-view-model-kinds.ts: the supported chart kinds, their preserveAspectRatio
1179
1032
  * and the chart-type to kind resolver. Split out of `chart-view-model.ts`,
@@ -1332,6 +1185,31 @@ interface ChartTitleRunSpan {
1332
1185
  fontFamily?: string;
1333
1186
  }
1334
1187
 
1188
+ /**
1189
+ * Chart title text style: the font every binding draws `vm.title` with.
1190
+ *
1191
+ * Cascade (highest wins): the title's own `c:tx/c:rich` / `c:txPr` run
1192
+ * properties (`PptxChartStyle.titleFont*`), then the chart-style part's
1193
+ * title entry, then this viewer's fixed defaults (12 px, semi-bold, slate).
1194
+ * Returned as a framework-neutral descriptor the bindings map straight onto
1195
+ * SVG `<text>` attributes, so a chart authored with a 24 pt red title reads
1196
+ * the same in all five bindings.
1197
+ *
1198
+ * @module chart-title-style
1199
+ */
1200
+
1201
+ /** Resolved SVG text attributes for the chart title. */
1202
+ interface ChartTitleTextStyle {
1203
+ /** `font-size`, in slide-px. */
1204
+ fontSize: number;
1205
+ /** `font-weight`. */
1206
+ fontWeight: number;
1207
+ /** `fill`. */
1208
+ fill: string;
1209
+ /** `font-family`, only when the title names a typeface. */
1210
+ fontFamily?: string;
1211
+ }
1212
+
1335
1213
  /**
1336
1214
  * chart-view-model-scale.ts: palette, value-range and axis-value helpers of
1337
1215
  * the chart engine. Split out of `chart-view-model.ts`, which re-exports
@@ -1598,6 +1476,128 @@ interface ChartViewModel {
1598
1476
  defs?: ChartSvgDef[];
1599
1477
  }
1600
1478
 
1479
+ /**
1480
+ * chart-svg-primitives.ts: the SVG primitive descriptor types a chart
1481
+ * view-model's `primitives` array is built from (rect / path / polyline /
1482
+ * circle / line / polygon / text / areaGradient). Split out of
1483
+ * `chart-view-model-types.ts` to keep it within the repo's ~300-LOC limit;
1484
+ * `chart-view-model.ts` re-exports everything here.
1485
+ *
1486
+ * @module chart-svg-primitives
1487
+ */
1488
+
1489
+ /**
1490
+ * Hover tooltip / accessible name, projected as each primitive's SVG `<title>`
1491
+ * child. Every primitive kind that can represent a data mark (rect, path,
1492
+ * polyline, circle, line, polygon) carries this field so any chart mark, not
1493
+ * just the region map's choropleth patches, can surface a tooltip. Projectors
1494
+ * that ignore the field simply render no tooltip.
1495
+ */
1496
+ interface SvgRect {
1497
+ kind: 'rect';
1498
+ x: number;
1499
+ y: number;
1500
+ w: number;
1501
+ h: number;
1502
+ fill: string;
1503
+ rx?: number;
1504
+ opacity?: number;
1505
+ part?: ChartPartRef;
1506
+ title?: string;
1507
+ }
1508
+ interface SvgPath {
1509
+ kind: 'path';
1510
+ d: string;
1511
+ fill: string;
1512
+ stroke?: string;
1513
+ strokeWidth?: number;
1514
+ /** SVG `stroke-dasharray`, e.g. a trendline's own `c:spPr/a:ln/a:prstDash`. */
1515
+ dashArray?: string;
1516
+ opacity?: number;
1517
+ part?: ChartPartRef;
1518
+ /**
1519
+ * Hover tooltip / accessible name, projected as an SVG `<title>` child.
1520
+ *
1521
+ * The region map (chart-waterfall-map.ts) was the first to set it: a
1522
+ * choropleth patch carries no label of its own, so without a tooltip the
1523
+ * reader cannot tell which region a colour belongs to. Every other primitive
1524
+ * kind now carries the same field for the same reason on the mainstream chart
1525
+ * kinds (bar / line / area / scatter / bubble / pie / radar). Projectors that
1526
+ * ignore the field simply render no tooltip.
1527
+ */
1528
+ title?: string;
1529
+ }
1530
+ interface SvgPolyline {
1531
+ kind: 'polyline';
1532
+ points: string;
1533
+ stroke: string;
1534
+ strokeWidth: number;
1535
+ fill: string;
1536
+ opacity?: number;
1537
+ part?: ChartPartRef;
1538
+ title?: string;
1539
+ }
1540
+ interface SvgCircle {
1541
+ kind: 'circle';
1542
+ cx: number;
1543
+ cy: number;
1544
+ r: number;
1545
+ fill: string;
1546
+ opacity?: number;
1547
+ part?: ChartPartRef;
1548
+ title?: string;
1549
+ }
1550
+ interface SvgLine {
1551
+ kind: 'line';
1552
+ x1: number;
1553
+ y1: number;
1554
+ x2: number;
1555
+ y2: number;
1556
+ stroke: string;
1557
+ strokeWidth: number;
1558
+ dashArray?: string;
1559
+ opacity?: number;
1560
+ title?: string;
1561
+ /** Optional SVG transform (e.g. a chart-overlay connector's own rotation about its box centre). */
1562
+ transform?: string;
1563
+ }
1564
+ interface SvgText {
1565
+ kind: 'text';
1566
+ x: number;
1567
+ y: number;
1568
+ text: string;
1569
+ fontSize: number;
1570
+ fill: string;
1571
+ textAnchor: 'start' | 'middle' | 'end';
1572
+ fontWeight?: 'normal' | 'bold';
1573
+ fontFamily?: string;
1574
+ /** Italic styling, e.g. from a chart data-table or legend-entry `c:txPr` override. */
1575
+ fontStyle?: 'normal' | 'italic';
1576
+ dominantBaseline?: string;
1577
+ opacity?: number;
1578
+ /** Optional SVG transform (e.g. `rotate(-90, x, y)` for a vertical axis title). */
1579
+ transform?: string;
1580
+ }
1581
+ interface SvgPolygon {
1582
+ kind: 'polygon';
1583
+ points: string;
1584
+ fill: string;
1585
+ stroke: string;
1586
+ strokeWidth: number;
1587
+ opacity?: number;
1588
+ dashArray?: string;
1589
+ part?: ChartPartRef;
1590
+ title?: string;
1591
+ /** Optional SVG transform (e.g. a chart-overlay shape's own rotation/flip about its box centre). */
1592
+ transform?: string;
1593
+ }
1594
+ interface SvgAreaGradient {
1595
+ kind: 'areaGradient';
1596
+ id: string;
1597
+ color: string;
1598
+ }
1599
+ type SvgPrimitive = SvgRect | SvgPath | SvgPolyline | SvgCircle | SvgLine | SvgPolygon | SvgText | SvgAreaGradient;
1600
+
1601
1601
  /**
1602
1602
  * chart-datapoint-style.ts: framework-agnostic resolution of per-data-point
1603
1603
  * formatting overrides (`c:dPt`).
@@ -1881,6 +1881,11 @@ interface PieSliceGeometry {
1881
1881
  midAngle: number;
1882
1882
  labelX: number;
1883
1883
  labelY: number;
1884
+ /** Edge angles (radians) and centre (after any explosion), for `bestFit` labels. */
1885
+ startAngle: number;
1886
+ endAngle: number;
1887
+ cx: number;
1888
+ cy: number;
1884
1889
  }
1885
1890
  declare function computePieSlicePath(cx: number, cy: number, outerR: number, innerR: number, startAngle: number, endAngle: number): PieSliceGeometry;
1886
1891
  declare function computePieLayout(elementWidth: number, elementHeight: number, chartData: PptxChartData, isDoughnut: boolean): {
@@ -2388,6 +2393,25 @@ declare function computeRSquared(xVals: number[], yVals: number[], evalFn: (x: n
2388
2393
  */
2389
2394
  declare function computeTrendlinePrimitives(chartData: PptxChartData, catCount: number, layout: PlotLayout, range: ValueRange, mode?: 'line' | 'bar', colorPalette?: readonly string[]): SvgPrimitive[];
2390
2395
 
2396
+ /**
2397
+ * `animation-direction-options` - which directions the Animation pane offers
2398
+ * for a preset: only the ones PowerPoint itself has a variant (a
2399
+ * `presetSubtype`) for, so a picked direction always saves as a subtype and
2400
+ * behaviour tree PowerPoint recognises.
2401
+ *
2402
+ * Ground truth: every `MsoAnimEffect` was driven through COM with every
2403
+ * `MsoAnimDirection` it accepts and the saved subtype read back (core's
2404
+ * `animation-behavior-captures.json`). Fly and Crawl accept all eight
2405
+ * directions (edges and corners); Wipe, Peek and Stretch accept the four
2406
+ * edges; Float In has no direction at all (Float Up / Float Down are
2407
+ * separate presets), so it no longer shows a picker that saved nothing.
2408
+ *
2409
+ * @module render/animation-direction-options
2410
+ */
2411
+
2412
+ /** Presets that expose the direction picker. */
2413
+ declare const DIRECTIONAL_PRESETS: ReadonlySet<string>;
2414
+
2391
2415
  /**
2392
2416
  * `animation-authoring` — pure, immutable helpers for the editor's element
2393
2417
  * animation authoring UI (the Animations ribbon tab / animation panel).
@@ -2434,11 +2458,6 @@ declare const TRIGGER_OPTIONS: ReadonlyArray<{
2434
2458
  value: PptxAnimationTrigger;
2435
2459
  labelKey: string;
2436
2460
  }>;
2437
- /**
2438
- * Presets that expose the direction picker. Superset of the per-binding sets
2439
- * (Angular surfaced more directional presets than React's `flyIn`/`flyOut`).
2440
- */
2441
- declare const DIRECTIONAL_PRESETS: Set<string>;
2442
2461
  /**
2443
2462
  * Returns the `PptxElementAnimation` for the given element id, or `undefined`
2444
2463
  * when none is present.
@@ -2455,7 +2474,8 @@ declare function animationFor(slideAnimations: readonly PptxElementAnimation[],
2455
2474
  declare function hasAnimation(slideAnimations: readonly PptxElementAnimation[], elementId: string): boolean;
2456
2475
  /**
2457
2476
  * Returns `true` when the active animation entry has a preset that supports
2458
- * direction picking (fly in/out, wipe, etc.).
2477
+ * direction picking (fly, crawl, wipe, peek, stretch); see
2478
+ * `animation-direction-options` for which directions each offers.
2459
2479
  */
2460
2480
  declare function showDirectionPicker(slideAnimations: readonly PptxElementAnimation[], elementId: string): boolean;
2461
2481
  /**
@@ -4124,6 +4144,60 @@ interface ElementBulletPatch {
4124
4144
  textStyle?: TextStyle;
4125
4145
  }
4126
4146
 
4147
+ /**
4148
+ * East Asian line breaking the browser cannot be asked for in CSS: PowerPoint's
4149
+ * hanging punctuation (`a:pPr/@hangingPunct`) and its kinsoku switch
4150
+ * (`a:pPr/@eaLnBrk`).
4151
+ *
4152
+ * Ground truth (PowerPoint COM, Slide.Export of 20pt Yu Gothic paragraphs in
4153
+ * boxes a fraction of an em too narrow for the next character):
4154
+ *
4155
+ * - `hangingPunct="1"` keeps an overflowing `、` `。` `,` `.` on the line,
4156
+ * drawn past the right margin. NOTHING else hangs: closing brackets
4157
+ * (`)` `」` `』` `】` `〉` `》`), `!` `?` `:` `・`, the prolonged-sound
4158
+ * mark and small kana all wrap exactly as with `hangingPunct="0"`, pulling
4159
+ * the preceding character down with them.
4160
+ * - A hanging mark directly followed by a closing bracket (`。」`, `、)`,
4161
+ * `、」』`) does NOT hang while kinsoku is on: the bracket may not start a
4162
+ * line, so PowerPoint wraps the mark, the bracket AND the character before
4163
+ * them together (`え。」` starts line 2). With `eaLnBrk="0"` the mark hangs
4164
+ * and the bracket starts line 2 on its own.
4165
+ * - `eaLnBrk="0"` switches the kinsoku rules off: a line may then start with
4166
+ * `」`, `。`, `、` or a small kana, i.e. East Asian text breaks between any
4167
+ * two characters. Latin words still break only between words.
4168
+ * - None of this depends on run boundaries: a break between two differently
4169
+ * formatted runs (`あいうえ` + a red `」たち`) follows exactly the same
4170
+ * rules as inside one run. Callers therefore pass the character that
4171
+ * FOLLOWS the text (`next`), taken from the next run.
4172
+ *
4173
+ * Only Safari implements CSS `hanging-punctuation`, and CSS `line-break:
4174
+ * anywhere` / `word-break: break-all` also split Latin words, so both are done
4175
+ * in the run text instead, as pieces every binding already renders:
4176
+ *
4177
+ * - A hanging character becomes a zero-inline-size `inline-block` (so the
4178
+ * line breaker never counts it), glued to the character before it with a
4179
+ * WORD JOINER (so it cannot be pushed to the next line on its own), and
4180
+ * followed by an ordinary space whose `word-spacing` makes it exactly the
4181
+ * punctuation's own advance. Mid-line that space restores the advance, so
4182
+ * nothing moves; at a line end it is trailing white space, which CSS hangs
4183
+ * or collapses, so the punctuation paints past the margin, as in PowerPoint.
4184
+ * (A negative margin does not work: Chromium decides a break before
4185
+ * applying an inline's end margin.)
4186
+ * - With kinsoku off, a ZERO WIDTH SPACE between two East Asian characters
4187
+ * is a break opportunity no kinsoku rule can veto (UAX #14 LB8 outranks the
4188
+ * "no break before closing punctuation" rules).
4189
+ *
4190
+ * @module text-east-asian-breaks
4191
+ */
4192
+
4193
+ /** Which of the two behaviours a paragraph asks for. */
4194
+ interface EastAsianBreakOptions {
4195
+ /** `a:pPr/@hangingPunct="1"`. */
4196
+ hangingPunctuation: boolean;
4197
+ /** `a:pPr/@eaLnBrk="0"`: break between any two East Asian characters. */
4198
+ breakAnywhere: boolean;
4199
+ }
4200
+
4127
4201
  /**
4128
4202
  * Per-run facts a rendered paragraph carries besides its text and CSS: the
4129
4203
  * run's HYPERLINK and its inline EQUATION (framework-agnostic).
@@ -4354,6 +4428,8 @@ interface ParagraphRun {
4354
4428
  * `paragraph-run-build.ts`).
4355
4429
  */
4356
4430
  underlineWordPieces?: ScriptFontPiece[];
4431
+ /** The advance-carrying space after a hanging `、`/`。` (`text-east-asian-breaks`). */
4432
+ hangingSpace?: true;
4357
4433
  /**
4358
4434
  * `a:reflection` mirrored-sibling wrapper style for this run (the text-run
4359
4435
  * counterpart of a shape/picture's `ComputedEffectStyle.reflection`), or
@@ -4437,6 +4513,12 @@ interface RenderParagraph {
4437
4513
  * break rules, rendered differently in the other four bindings.
4438
4514
  */
4439
4515
  paragraphStyle?: RunStyle;
4516
+ /**
4517
+ * `@hangingPunct` / `@eaLnBrk="0"` as resolved for this paragraph. The runs
4518
+ * above already carry their pieces; React, which rebuilds each segment's
4519
+ * pieces inside one span, re-applies `splitEastAsianBreaks` from this.
4520
+ */
4521
+ eastAsianBreaks?: EastAsianBreakOptions;
4440
4522
  }
4441
4523
 
4442
4524
  /** Current editor payload. Missing segments explicitly denotes plain-text fallback. */
@@ -5974,6 +6056,92 @@ declare const P14_TRANSITION_KEYFRAMES_ALL = "\n/* \u2500\u2500 Conveyor (transl
5974
6056
  */
5975
6057
  declare function getP14TransitionAnimations(type: PptxTransitionType, durationMs: number, direction: string | undefined, orient?: string | undefined, pattern?: string | undefined): SlideTransitionAnimations | undefined;
5976
6058
 
6059
+ /**
6060
+ * Pure model types for the lit (bevel / scene quick style) SmartArt 3D path.
6061
+ *
6062
+ * Split out of `smartart-3d-types.ts` to keep both under the repo's LOC
6063
+ * budget. Every length is in layout pixels (the drawing's own EMU / 9525),
6064
+ * every angle in degrees, and every point in the mesh-local, y-up space the
6065
+ * mesh's `outline` uses.
6066
+ *
6067
+ * @module render/smartart-3d-solid-types
6068
+ */
6069
+ /** A point in mesh-local 2D space (y-up). */
6070
+ interface SolidPoint2 {
6071
+ x: number;
6072
+ y: number;
6073
+ }
6074
+ /** One `a:bevelT` / `a:bevelB`, in layout pixels. */
6075
+ interface SmartArt3DBevel {
6076
+ /** Inset of the bevel from the outline (`@w`). */
6077
+ width: number;
6078
+ /** Relief of the bevel (`@h`). */
6079
+ height: number;
6080
+ /** `@prst` profile token (`circle` when absent, per ECMA-376). */
6081
+ profile: string;
6082
+ }
6083
+ /** A shape's resolved `a:sp3d`, in layout pixels. */
6084
+ interface SmartArt3DSolid {
6085
+ bevelTop?: SmartArt3DBevel;
6086
+ bevelBottom?: SmartArt3DBevel;
6087
+ /** Extrusion depth behind the front face (`@extrusionH`). */
6088
+ extrusion: number;
6089
+ /** Side-wall colour (`a:extrusionClr`), `#rrggbb`; the fill colour when absent. */
6090
+ extrusionColor?: string;
6091
+ /** Contour rim width around the whole solid (`@contourW`). */
6092
+ contourWidth: number;
6093
+ /** Contour colour (`a:contourClr`), `#rrggbb`. */
6094
+ contourColor?: string;
6095
+ /** `@prstMaterial` token. */
6096
+ material: string;
6097
+ }
6098
+ /** One gradient stop, `offset` in 0..1. */
6099
+ interface SmartArt3DGradientStop {
6100
+ offset: number;
6101
+ color: string;
6102
+ }
6103
+ /**
6104
+ * A shape's gradient fill, in mesh-local space: linear from `from` to `to`,
6105
+ * or radial around `from` with the distance to `to` as its radius.
6106
+ */
6107
+ interface SmartArt3DGradient {
6108
+ kind: 'linear' | 'radial';
6109
+ from: SolidPoint2;
6110
+ to: SolidPoint2;
6111
+ stops: SmartArt3DGradientStop[];
6112
+ }
6113
+ /** The light rig (`a:lightRig`) a lit SmartArt scene is shaded with. */
6114
+ interface SmartArt3DLighting {
6115
+ /** `@rig` token, e.g. `threePt`, `flat`, `morning`. */
6116
+ rig: string;
6117
+ /** `@dir` token, e.g. `t`, `tl`. */
6118
+ direction: string;
6119
+ /** Rig revolution about the view axis (`a:rot/@rev`), degrees. */
6120
+ revDeg: number;
6121
+ }
6122
+ /**
6123
+ * The whole-diagram camera of a scene quick style (`dgm:styleDef/dgm:scene3d`).
6124
+ *
6125
+ * The diagram is rotated about its own centre by `latDeg` (about x), `lonDeg`
6126
+ * (about y) and `revDeg` (roll about the view axis), then projected either in
6127
+ * parallel or through a pinhole placed `distance` layout px away, and
6128
+ * finally scaled by `zoom`.
6129
+ */
6130
+ interface SmartArt3DCamera {
6131
+ projection: 'orthographic' | 'perspective';
6132
+ latDeg: number;
6133
+ lonDeg: number;
6134
+ revDeg: number;
6135
+ /**
6136
+ * Camera distance from the diagram centre in layout px (`perspective`
6137
+ * only). Absolute, like PowerPoint's: a larger diagram shows stronger
6138
+ * perspective under the same preset.
6139
+ */
6140
+ distance: number;
6141
+ /** `a:camera/@zoom` as a fraction (1 = 100%). */
6142
+ zoom: number;
6143
+ }
6144
+
5977
6145
  /**
5978
6146
  * Three.js SmartArt renderer - pure model types (phase 1: extruded layouts).
5979
6147
  *
@@ -5987,6 +6155,7 @@ declare function getP14TransitionAnimations(type: PptxTransitionType, durationMs
5987
6155
  * front face of every extruded block facing +z. Layout (SVG) space is y-down
5988
6156
  * with the origin at the top-left; the model builder performs the flip.
5989
6157
  */
6158
+
5990
6159
  /** A point in the world's XZ-agnostic 2D outline space (y-up). */
5991
6160
  interface Point2 {
5992
6161
  x: number;
@@ -6067,6 +6236,13 @@ interface SmartArt3DMesh {
6067
6236
  halfWidth: number;
6068
6237
  /** Half-height of the footprint. */
6069
6238
  halfHeight: number;
6239
+ /**
6240
+ * Lit solid (bevel / extrusion / contour) from the cached shape's `a:sp3d`,
6241
+ * for the `'bevel'` and `'scene'` style categories. Absent: a flat face.
6242
+ */
6243
+ solid?: SmartArt3DSolid;
6244
+ /** Gradient fill to paint instead of {@link fill}, when the shape has one. */
6245
+ gradient?: SmartArt3DGradient;
6070
6246
  }
6071
6247
  /**
6072
6248
  * A multi-line text label, pre-laid-out to match the 2D SVG projection
@@ -6093,6 +6269,14 @@ interface SmartArt3DTextBlock {
6093
6269
  fontFamily?: string;
6094
6270
  fontWeight?: number;
6095
6271
  fontStyle?: 'normal' | 'italic';
6272
+ /**
6273
+ * The label's own extrusion (`a:bodyPr/a:sp3d`, e.g. Bird's Eye Scene),
6274
+ * in layout px toward the viewer: the letters stand this far off the
6275
+ * shape face, and their sides are drawn in {@link extrusionColor} (the
6276
+ * text colour when absent).
6277
+ */
6278
+ extrusion?: number;
6279
+ extrusionColor?: string;
6096
6280
  }
6097
6281
  /** A connector poly-line drawn between meshes on the base plane. */
6098
6282
  interface SmartArt3DConnector {
@@ -6115,10 +6299,11 @@ type SmartArt3DFamily = 'list' | 'process' | 'cycle' | 'hierarchy' | 'matrix' |
6115
6299
  * Which PowerPoint quick-style family this model was built for, so the scene
6116
6300
  * builder can pick the right camera/shading/geometry pipeline: `'flat'`
6117
6301
  * (unlit, zero-depth, orthographic matching the 2D viewBox), `'bevel'`
6118
- * (per-shape `orthographicFront` camera + `shape3d` bevel/material, not yet
6119
- * built by any model builder), or `'scene'` (one whole-diagram camera from
6120
- * the quick style, not yet built). Undefined for the legacy layout-engine
6121
- * model (`buildSmartArt3DModel`), which predates this distinction.
6302
+ * (per-shape `orthographicFront` camera + lit `a:sp3d` bevel/material), or
6303
+ * `'scene'` (one whole-diagram camera from the quick style, lit extruded
6304
+ * solids). See `resolveSmartArt3DStylePath`. Undefined for the legacy
6305
+ * layout-engine model (`buildSmartArt3DModel`), which predates this
6306
+ * distinction.
6122
6307
  */
6123
6308
  type SmartArt3DStyleCategory = 'flat' | 'bevel' | 'scene';
6124
6309
  /** The complete pure 3D model for one SmartArt element. */
@@ -6132,6 +6317,10 @@ interface SmartArt3DModel {
6132
6317
  background?: string;
6133
6318
  /** See {@link SmartArt3DStyleCategory}. */
6134
6319
  styleCategory?: SmartArt3DStyleCategory;
6320
+ /** Whole-diagram camera (`'scene'` only). */
6321
+ camera?: SmartArt3DCamera;
6322
+ /** Light rig the lit solids are shaded with (`'bevel'` / `'scene'`). */
6323
+ lighting?: SmartArt3DLighting;
6135
6324
  }
6136
6325
 
6137
6326
  /**
@@ -6315,73 +6504,362 @@ interface BarChart3DBox {
6315
6504
  * on-demand), so the swapped-in texture appears on the very next frame with
6316
6505
  * no extra "re-render" plumbing needed here.
6317
6506
  *
6318
- * @module bar-chart-3d-materials
6507
+ * @module bar-chart-3d-materials
6508
+ */
6509
+
6510
+ /** `c:ser`/`c:dPt` picture-fill inputs threaded into the interactive bar3D scene. */
6511
+ interface BarBoxPictureContext {
6512
+ series: ReadonlyArray<ChartSeriesLike>;
6513
+ }
6514
+
6515
+ /**
6516
+ * Adapts a `bar3D` chart's `PptxChartData` into the box-mesh layout the
6517
+ * interactive 3D scene ({@link ./bar-chart-3d-scene.ts}, `createBarChart3DScene`)
6518
+ * needs to mount: one {@link BarChart3DBox} per (series, category) data point,
6519
+ * positioned in true 3D space (category = X, value = Y, series = Z/depth for
6520
+ * the default vertical `c:barDir val="col"`; a horizontal `val="bar"` chart
6521
+ * remaps every box center into value = X, category = Y, series unchanged on
6522
+ * Z, see `layoutBarChart3D`'s `horizontal` flag and `BarChart3DSceneOptions
6523
+ * .horizontal`).
6524
+ *
6525
+ * Colour resolution (`seriesColor` / `resolveDataPointFill`) and value-range
6526
+ * maths (`computeValueRange` / `computeStackedValueRange`) are the SAME
6527
+ * functions the flat SVG oblique-projection engine uses
6528
+ * ({@link ./chart-cartesian-bars.ts}), so a bar3D chart's true-3D and 2D-
6529
+ * fallback presentations always agree on colour and scale: one set of chart
6530
+ * maths, two presentations (mirrors {@link ./surface-chart-3d-data.ts}).
6531
+ *
6532
+ * Clustered layout gives every series its own depth ("Z") plane, side by
6533
+ * side along the series axis, matching PowerPoint's real 3-D Column chart.
6534
+ * Stacked/percentStacked keeps every series coplanar (one Z plane) and
6535
+ * stacks segments vertically, matching the flat engine's
6536
+ * `chart-bar3d-series-depth.ts` semantics (a stacked 3D column has no
6537
+ * per-series depth stagger; only clustered does).
6538
+ *
6539
+ * @module bar-chart-3d-data
6540
+ */
6541
+
6542
+ /** Inputs the interactive bar3D scene needs to mount. */
6543
+ interface BarChart3DSceneOptions {
6544
+ cols: number;
6545
+ rows: number;
6546
+ boxes: BarChart3DBox[];
6547
+ categoryLabels: ReadonlyArray<string>;
6548
+ seriesNames: ReadonlyArray<string>;
6549
+ numberFormats?: ReadonlyArray<string | undefined>;
6550
+ grouping: 'clustered' | 'stacked' | 'percentStacked';
6551
+ width: number;
6552
+ height: number;
6553
+ /** Authored `c:view3D` driving the initial camera + depth extent. */
6554
+ view3D?: CartesianCameraView3D;
6555
+ /** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
6556
+ wallColors?: SurfaceWallColors;
6557
+ /**
6558
+ * `c:barDir val="bar"`: a horizontal 3-D Bar chart. Box centers are already
6559
+ * remapped into the horizontal frame (see `layoutBarChart3D`); the scene
6560
+ * mounter uses this flag only to rotate every box mesh `-Math.PI / 2` about
6561
+ * Z so non-box shapes (cylinder/cone/pyramid) keep a true cross-section.
6562
+ */
6563
+ horizontal?: boolean;
6564
+ /** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
6565
+ textStyle?: TextStyleAnimationDescriptor;
6566
+ /**
6567
+ * `c:ser`/`c:dPt` picture-fill inputs for `c:pictureOptions` face
6568
+ * targeting (see `bar-chart-3d-face-fill.ts`). Always populated by
6569
+ * {@link buildBarChart3DData} (the chart's own series list); a hand-built
6570
+ * `BarChart3DSceneOptions` fixture may omit it, which keeps every box a
6571
+ * single uniform coloured material (the pre-existing behaviour).
6572
+ */
6573
+ picture?: BarBoxPictureContext;
6574
+ }
6575
+
6576
+ /**
6577
+ * Axis labels for the right-angle-axes 3D bar chart
6578
+ * (`chart-3d-oblique-layout.ts`), placed where PowerPoint puts them: off the
6579
+ * FRONT edges of the box, not off the back wall.
6580
+ *
6581
+ * - Value labels: along the front edge of the wall that carries the value
6582
+ * gridlines (left edge for columns, bottom edge for a horizontal chart).
6583
+ * - Category labels: centred on each category along the other front edge.
6584
+ * - `standard` grouping: one series label per depth row, off the right end of
6585
+ * the floor (columns only; PowerPoint's horizontal standard bar has no row
6586
+ * axis labels in its default layout).
6587
+ *
6588
+ * @module chart-3d-oblique-labels
6589
+ */
6590
+
6591
+ /** One label, in chart px. */
6592
+ interface ObliqueLabel {
6593
+ role: 'value' | 'category' | 'series';
6594
+ text: string;
6595
+ x: number;
6596
+ y: number;
6597
+ anchor: 'start' | 'middle' | 'end';
6598
+ /** `central` centres the text on `y`. */
6599
+ baseline: 'central' | 'hanging';
6600
+ fontSize: number;
6601
+ }
6602
+
6603
+ /**
6604
+ * World-space types of the right-angle-axes 3D bar chart layout
6605
+ * (`chart-3d-oblique-layout.ts`).
6606
+ *
6607
+ * @module chart-3d-oblique-types
6608
+ */
6609
+
6610
+ /** One bar as a world-space box. */
6611
+ interface ObliqueBar {
6612
+ x: number;
6613
+ y: number;
6614
+ z: number;
6615
+ /** Extent along world X / Y / Z. */
6616
+ w: number;
6617
+ h: number;
6618
+ d: number;
6619
+ color: string;
6620
+ seriesIndex: number;
6621
+ categoryIndex: number;
6622
+ value: number;
6623
+ /** Resolved `c:shape` (per-series `c:ser/c:shape`, else the chart's). */
6624
+ shape: PptxBar3DShape;
6625
+ /** Cross-section radius at the bar's baseline / value end, as a fraction of the full footprint. */
6626
+ taper: ObliqueTaper;
6627
+ }
6628
+ /** How a shaped bar narrows along the value axis (1 = full footprint, 0 = a point). */
6629
+ interface ObliqueTaper {
6630
+ bottom: number;
6631
+ top: number;
6632
+ }
6633
+ /** A gridline segment in world space. */
6634
+ interface ObliqueGridline {
6635
+ from: readonly [number, number, number];
6636
+ to: readonly [number, number, number];
6637
+ }
6638
+ interface ObliqueChartLayout {
6639
+ horizontal: boolean;
6640
+ grouping: 'clustered' | 'stacked' | 'percentStacked' | 'standard';
6641
+ /** Chart px of world (0, 0, 0): the front-bottom-left corner of the floor. */
6642
+ origin: {
6643
+ x: number;
6644
+ y: number;
6645
+ };
6646
+ /** Screen shift per world unit of depth: `(sin rotY, -sin rotX)`. */
6647
+ shear: {
6648
+ x: number;
6649
+ y: number;
6650
+ };
6651
+ box: {
6652
+ w: number;
6653
+ h: number;
6654
+ d: number;
6655
+ };
6656
+ range: {
6657
+ min: number;
6658
+ max: number;
6659
+ majorUnit: number;
6660
+ };
6661
+ /** Chart px per value unit along the value axis. */
6662
+ valueScale: number;
6663
+ bars: ObliqueBar[];
6664
+ gridlines: ObliqueGridline[];
6665
+ labels: ObliqueLabel[];
6666
+ }
6667
+
6668
+ /**
6669
+ * Axis labels for the perspective 3D chart layout (`chart-3d-persp-layout.ts`),
6670
+ * placed where PowerPoint puts them (offsets measured on `gt/chart-10,11`):
6671
+ *
6672
+ * - Value labels: right-aligned 8pt left of the box's front-left edge.
6673
+ * - Category labels: centred below the front floor edge, 9pt left and 17pt
6674
+ * down from their point on it.
6675
+ * - A horizontal bar box (values along x) swaps the first two: value labels
6676
+ * under the front floor edge, category labels left of the front-left edge.
6677
+ * - Series (depth-row) labels: left-aligned off the right floor edge, 9pt right
6678
+ * and 4pt up from their row's centre on it.
6679
+ *
6680
+ * @module chart-3d-persp-labels
6681
+ */
6682
+
6683
+ /** One label, in chart px. */
6684
+ interface PerspLabel {
6685
+ role: 'value' | 'category' | 'series';
6686
+ text: string;
6687
+ x: number;
6688
+ y: number;
6689
+ anchor: 'start' | 'middle' | 'end';
6690
+ fontSize: number;
6691
+ }
6692
+
6693
+ /**
6694
+ * The right-angle-axes (`c:view3D/@rAngAx=1`) variant of the perspective
6695
+ * chart camera (`chart-3d-persp-view.ts`), for the line / area / surface box:
6696
+ * PowerPoint draws such a chart as an oblique projection, like the bar chart
6697
+ * (`chart-3d-oblique-layout.ts`): the front plane is flat and each unit of
6698
+ * depth shifts `sin(rotY)` right and `sin(rotX)` up.
6699
+ *
6700
+ * The oblique camera plugs into the same `PerspView` pipeline: its "camera
6701
+ * space" is the box-centred point with depth folded in (`Z = 1`), so
6702
+ * `perspToScreen`, the rect fit and the labels work unchanged.
6703
+ *
6704
+ * @module chart-3d-persp-oblique
6705
+ */
6706
+
6707
+ /** An oblique camera's depth shear, screen units per unit of depth. */
6708
+ interface PerspOblique {
6709
+ /** Rightward shift per unit of depth, `sin(rotY)`. */
6710
+ shearX: number;
6711
+ /** Upward shift per unit of depth, `sin(rotX)`. */
6712
+ shearY: number;
6713
+ }
6714
+
6715
+ /**
6716
+ * PowerPoint's perspective 3D chart camera (`c:view3D/@rAngAx=0`: line3D,
6717
+ * area3D, surface3D), as a pure projection plus its three.js camera.
6718
+ *
6719
+ * Fitted to PowerPoint's own exports of the three-d-parity deck: the ends and
6720
+ * corners of every wall gridline in `gt/chart-10..12,16` were traced and a
6721
+ * camera fitted to them (0.4-2pt RMS per chart):
6722
+ *
6723
+ * - The plot is a box `w x h x d` (x categories, y values, z depth away from
6724
+ * the viewer). It is yawed by `rotY` about its vertical centre line, then
6725
+ * pitched toward the viewer by `0.92 * rotX` (the fitted pitch was
6726
+ * 13.6-14.0 degrees for every `rotX = 15` chart).
6727
+ * - The camera looks at the box centre from `diagonal / (2 tan(fov / 2))`
6728
+ * away, `fov` being `c:view3D/c:perspective` in degrees (default 30): the
6729
+ * box's bounding sphere just fills the field of view. The fitted distances
6730
+ * were 1.8-1.9 box diagonals.
6731
+ *
6732
+ * A box point `(x, y, z)` (origin at the front-bottom-left corner) lands at
6733
+ * chart px `(cx + f X / Z, cy - f Y / Z)`, `(X, Y, Z)` being the point in
6734
+ * camera space; {@link fitPerspView} picks `f`, `cx`, `cy` so the box fills a
6735
+ * target rect.
6736
+ *
6737
+ * @module chart-3d-persp-view
6319
6738
  */
6320
6739
 
6321
- /** `c:ser`/`c:dPt` picture-fill inputs threaded into the interactive bar3D scene. */
6322
- interface BarBoxPictureContext {
6323
- series: ReadonlyArray<ChartSeriesLike>;
6740
+ interface PerspBox {
6741
+ w: number;
6742
+ h: number;
6743
+ d: number;
6744
+ }
6745
+ interface PerspCamera {
6746
+ box: PerspBox;
6747
+ /** Yaw (`rotY`) in radians: positive brings the box's right end toward the viewer. */
6748
+ yaw: number;
6749
+ /** Pitch in radians: positive tips the top of the box away (the viewer looks down). */
6750
+ pitch: number;
6751
+ /** Camera distance from the box centre, world units. */
6752
+ dist: number;
6753
+ /** Set for a right-angle-axes chart: an oblique projection instead (`chart-3d-persp-oblique.ts`). */
6754
+ oblique?: PerspOblique;
6755
+ }
6756
+ interface PerspView extends PerspCamera {
6757
+ /** Focal length: chart px per world unit at unit depth. */
6758
+ focal: number;
6759
+ /** Chart px of the box centre. */
6760
+ cx: number;
6761
+ cy: number;
6324
6762
  }
6325
6763
 
6326
6764
  /**
6327
- * Adapts a `bar3D` chart's `PptxChartData` into the box-mesh layout the
6328
- * interactive 3D scene ({@link ./bar-chart-3d-scene.ts}, `createBarChart3DScene`)
6329
- * needs to mount: one {@link BarChart3DBox} per (series, category) data point,
6330
- * positioned in true 3D space (category = X, value = Y, series = Z/depth for
6331
- * the default vertical `c:barDir val="col"`; a horizontal `val="bar"` chart
6332
- * remaps every box center into value = X, category = Y, series unchanged on
6333
- * Z, see `layoutBarChart3D`'s `horizontal` flag and `BarChart3DSceneOptions
6334
- * .horizontal`).
6335
- *
6336
- * Colour resolution (`seriesColor` / `resolveDataPointFill`) and value-range
6337
- * maths (`computeValueRange` / `computeStackedValueRange`) are the SAME
6338
- * functions the flat SVG oblique-projection engine uses
6339
- * ({@link ./chart-cartesian-bars.ts}), so a bar3D chart's true-3D and 2D-
6340
- * fallback presentations always agree on colour and scale: one set of chart
6341
- * maths, two presentations (mirrors {@link ./surface-chart-3d-data.ts}).
6765
+ * PowerPoint's perspective 3D chart layout (`c:view3D/@rAngAx=0`) for the
6766
+ * cartesian families (line3D, area3D, surface3D): the plot box, the camera
6767
+ * that frames it (`chart-3d-persp-view.ts`), the value axis, where each
6768
+ * category and depth row sits, and the wall gridlines.
6769
+ *
6770
+ * Calibrated against `gt/chart-10..13,16`:
6771
+ *
6772
+ * - The box is 1 unit wide (categories), `boxHeight` tall and one category
6773
+ * slot deep per depth row: a mark (area slab, line ribbon) is
6774
+ * `slot / (1 + gapWidth)` deep and each row `mark * (1 + gapDepth)`, which
6775
+ * with the 150/150 defaults is exactly one slot (fitted: 0.94-1.04).
6776
+ * `standard` grouping (and line3D) gives each series a row, series 1 in
6777
+ * front; stacked groupings share one row. A surface spans the whole floor.
6778
+ * - Categories sit at the slot centres (`c:crossBetween="between"`) or on the
6779
+ * slot edges, first and last on the walls (`midCat`, area and surface's
6780
+ * default).
6781
+ * - The value axis has no headroom (data topping out at 35 gets 0..35).
6782
+ * - The box fills a plot rect calibrated from the same exports, centred and
6783
+ * floor-aligned; walls carry gridlines only, the floor its two outer edges.
6784
+ *
6785
+ * @module chart-3d-persp-layout
6786
+ */
6787
+
6788
+ type PerspKind = 'line' | 'area' | 'surface' | 'bar';
6789
+ type PerspGrouping = 'standard' | 'clustered' | 'stacked' | 'percentStacked';
6790
+ /** A gridline segment in box space. */
6791
+ interface PerspGridline {
6792
+ from: readonly [number, number, number];
6793
+ to: readonly [number, number, number];
6794
+ }
6795
+ interface PerspChartLayout {
6796
+ kind: PerspKind;
6797
+ grouping: PerspGrouping;
6798
+ view: PerspView;
6799
+ range: {
6800
+ min: number;
6801
+ max: number;
6802
+ majorUnit: number;
6803
+ };
6804
+ /** Values run along box x and categories up box y (a `c:barDir="bar"` bar chart). */
6805
+ horizontal: boolean;
6806
+ /** Box units per value unit, along the value axis. */
6807
+ valueScale: number;
6808
+ /** Position of each category along the category axis (box x, or box y when `horizontal`). */
6809
+ categoryX: number[];
6810
+ /** Number of depth rows and each row's depth. */
6811
+ rows: number;
6812
+ rowDepth: number;
6813
+ /** Depth of a slab or ribbon, centred in its row. */
6814
+ markDepth: number;
6815
+ /** Series colours, by series index. */
6816
+ colors: string[];
6817
+ gridlines: PerspGridline[];
6818
+ labels: PerspLabel[];
6819
+ }
6820
+
6821
+ /**
6822
+ * PowerPoint's 3-D Pie (`c:pie3DChart`) as a disc in the perspective chart
6823
+ * camera (`chart-3d-persp-view.ts`), fitted to `gt/chart-14,15`:
6342
6824
  *
6343
- * Clustered layout gives every series its own depth ("Z") plane, side by
6344
- * side along the series axis, matching PowerPoint's real 3-D Column chart.
6345
- * Stacked/percentStacked keeps every series coplanar (one Z plane) and
6346
- * stacks segments vertically, matching the flat engine's
6347
- * `chart-bar3d-series-depth.ts` semantics (a stacked 3D column has no
6348
- * per-series depth stagger; only clustered does).
6825
+ * - The pie is a puck of radius 1 and thickness `0.23` (box `2 x 0.23 x 2`,
6826
+ * scaled by `c:view3D/@hPercent`), pitched `0.91 * rotX` toward the viewer
6827
+ * (27.2 degrees fitted for rotX 30) and seen from `1.38` box diagonals: a
6828
+ * closer camera than the cartesian charts use, so the front of the pie is
6829
+ * visibly larger than the back.
6830
+ * - The first slice starts at 12 o'clock (plus `c:firstSliceAng`) and slices
6831
+ * run clockwise seen from above.
6832
+ * - The unexploded puck fits the plot rect; exploding shrinks the radius by
6833
+ * `1 / (1 + explosion)` and moves each slice out along its bisector by its
6834
+ * own explosion, so an exploded pie keeps the same footprint.
6349
6835
  *
6350
- * @module bar-chart-3d-data
6836
+ * @module chart-3d-pie-layout
6351
6837
  */
6352
6838
 
6353
- /** Inputs the interactive bar3D scene needs to mount. */
6354
- interface BarChart3DSceneOptions {
6355
- cols: number;
6356
- rows: number;
6357
- boxes: BarChart3DBox[];
6358
- categoryLabels: ReadonlyArray<string>;
6359
- seriesNames: ReadonlyArray<string>;
6360
- numberFormats?: ReadonlyArray<string | undefined>;
6361
- grouping: 'clustered' | 'stacked' | 'percentStacked';
6362
- width: number;
6363
- height: number;
6364
- /** Authored `c:view3D` driving the initial camera + depth extent. */
6365
- view3D?: CartesianCameraView3D;
6366
- /** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
6367
- wallColors?: SurfaceWallColors;
6368
- /**
6369
- * `c:barDir val="bar"`: a horizontal 3-D Bar chart. Box centers are already
6370
- * remapped into the horizontal frame (see `layoutBarChart3D`); the scene
6371
- * mounter uses this flag only to rotate every box mesh `-Math.PI / 2` about
6372
- * Z so non-box shapes (cylinder/cone/pyramid) keep a true cross-section.
6373
- */
6374
- horizontal?: boolean;
6375
- /** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
6376
- textStyle?: TextStyleAnimationDescriptor;
6377
- /**
6378
- * `c:ser`/`c:dPt` picture-fill inputs for `c:pictureOptions` face
6379
- * targeting (see `bar-chart-3d-face-fill.ts`). Always populated by
6380
- * {@link buildBarChart3DData} (the chart's own series list); a hand-built
6381
- * `BarChart3DSceneOptions` fixture may omit it, which keeps every box a
6382
- * single uniform coloured material (the pre-existing behaviour).
6383
- */
6384
- picture?: BarBoxPictureContext;
6839
+ interface PieSlice {
6840
+ pointIndex: number;
6841
+ value: number;
6842
+ color: string;
6843
+ /** Clockwise from 12 o'clock, radians. */
6844
+ startAngle: number;
6845
+ endAngle: number;
6846
+ /** Box-space offset of the exploded slice. */
6847
+ offset: {
6848
+ x: number;
6849
+ z: number;
6850
+ };
6851
+ }
6852
+ interface PieChartLayout {
6853
+ view: PerspView;
6854
+ /** Box-space centre of the pie's top face (its bottom face sits on y = 0). */
6855
+ center: {
6856
+ x: number;
6857
+ y: number;
6858
+ z: number;
6859
+ };
6860
+ radius: number;
6861
+ thickness: number;
6862
+ slices: PieSlice[];
6385
6863
  }
6386
6864
 
6387
6865
  /**
@@ -6616,43 +7094,29 @@ interface SurfaceChart3DSceneOptions {
6616
7094
  */
6617
7095
 
6618
7096
  /**
6619
- * One `bar3D` box: front-face rectangle in the flat 2D view-model's own SVG
6620
- * pixel space (already gap-width/clustering/stacking-correct), extruded
6621
- * backward in world Z by `depthMagnitude`.
7097
+ * A right-angle-axes `bar3D` chart laid out as a real box in world space
7098
+ * (walls, gridlines, bars, axis labels); see `chart-3d-oblique-layout.ts`.
6622
7099
  */
6623
- interface Chart3DBarBox {
6624
- x: number;
6625
- y: number;
6626
- w: number;
6627
- h: number;
6628
- color: string;
6629
- seriesIndex: number;
6630
- categoryIndex: number;
6631
- /** The point's authored value (hover tooltip, drag start). */
6632
- value: number;
6633
- shape: PptxBar3DShape | undefined;
6634
- /**
6635
- * World-Z extrusion depth (SVG px units), the SAME quantity the flat 2D
6636
- * fallback's `chart-3d-depth.ts#computeDepthVector` uses for its
6637
- * `magnitude`. Every box in a supported (`clustered` / `stacked` /
6638
- * `percentStacked`) grouping shares one chart-wide depth: those groupings
6639
- * keep every series COPLANAR (one Z plane), matching PowerPoint's own
6640
- * `gt/chart-01.webp` (no visible per-series depth separation). `standard`
6641
- * grouping (each series its own full depth ROW, see `gt/chart-04.webp`)
6642
- * is NOT yet modelled; see the chart track's progress log.
6643
- */
6644
- depthMagnitude: number;
7100
+ interface Chart3DObliqueGeometry {
7101
+ kind: 'oblique';
7102
+ layout: ObliqueChartLayout;
6645
7103
  }
6646
- interface Chart3DBarGeometry {
6647
- kind: 'bar';
6648
- boxes: readonly Chart3DBarBox[];
7104
+ /** A perspective (`rAngAx=0`) line / area chart on PowerPoint's box (`chart-3d-persp-layout.ts`). */
7105
+ interface Chart3DPerspGeometry {
7106
+ kind: 'perspective';
7107
+ layout: PerspChartLayout;
6649
7108
  }
6650
- /** `null` until a chart type/grouping's oblique geometry is implemented; the scene then uses {@link Chart3DSpec.perspective}. */
6651
- type Chart3DGeometry = Chart3DBarGeometry | null;
7109
+ /** A 3-D Pie on PowerPoint's fitted perspective camera (`chart-3d-pie-layout.ts`). */
7110
+ interface Chart3DPieGeometry {
7111
+ kind: 'pie';
7112
+ layout: PieChartLayout;
7113
+ }
7114
+ /** `null` until a chart type's geometry is implemented; the scene then uses {@link Chart3DSpec.perspective}. */
7115
+ type Chart3DGeometry = Chart3DObliqueGeometry | Chart3DPerspGeometry | Chart3DPieGeometry | null;
6652
7116
  /**
6653
7117
  * The perspective scene a chart falls back to when the oblique geometry does
6654
- * not cover it yet (line/area/pie/surface, and bar3D's `standard` grouping,
6655
- * horizontal bars and round shapes). Each is a hosted scene module from the
7118
+ * not cover it (line/area/pie/surface, and a bar3D chart without right-angle
7119
+ * axes). Each is a hosted scene module from the
6656
7120
  * pre-`<pptx-three-view>` renderer, now drawn through the shared renderer.
6657
7121
  */
6658
7122
  type Chart3DPerspectiveScene = {
@@ -6761,6 +7225,61 @@ declare function canAddTopLevelNode(layout: SmartArtLayoutType | undefined, topL
6761
7225
  /** Whether removing a top-level node keeps the count at or above the min. */
6762
7226
  declare function canRemoveTopLevelNode(layout: SmartArtLayoutType | undefined, topLevelCount: number): boolean;
6763
7227
 
7228
+ /**
7229
+ * SVG gradient paint servers for cached SmartArt drawing shapes (`a:gradFill`).
7230
+ * Split out of `smartart-drawing.ts`.
7231
+ *
7232
+ * @module render/smartart-drawing-gradient
7233
+ */
7234
+
7235
+ /** One stop of a cached shape's gradient fill, ready to place as an SVG `<stop>`. */
7236
+ interface RenderedGradientStop {
7237
+ /** Percentage offset, e.g. `"37%"`. */
7238
+ offset: string;
7239
+ color: string;
7240
+ opacity?: number;
7241
+ }
7242
+ /**
7243
+ * A gradient paint server for a cached shape, in SVG terms.
7244
+ *
7245
+ * The OOXML angle is already converted to the axis endpoints here, because a
7246
+ * gradient is not expressible as a plain `fill` string: the binding has to emit
7247
+ * a `<defs>` entry and reference it. Keeping the geometry on this side means the
7248
+ * conversion happens once instead of once per binding.
7249
+ */
7250
+ interface RenderedGradient {
7251
+ /** Element id to emit and reference; unique within the diagram. */
7252
+ id: string;
7253
+ kind: 'linear' | 'radial';
7254
+ /** Axis endpoints as percentages (`kind === 'linear'`). */
7255
+ x1?: string;
7256
+ y1?: string;
7257
+ x2?: string;
7258
+ y2?: string;
7259
+ /** Centre and radius as percentages (`kind === 'radial'`). */
7260
+ cx?: string;
7261
+ cy?: string;
7262
+ r?: string;
7263
+ stops: RenderedGradientStop[];
7264
+ }
7265
+
7266
+ /**
7267
+ * The SVG `viewBox` that fits a SmartArt drawing's cached shapes. Split out of
7268
+ * `smartart-drawing.ts`.
7269
+ *
7270
+ * @module render/smartart-drawing-viewbox
7271
+ */
7272
+
7273
+ /** SVG `viewBox` bounding-box derived from all drawing shapes. */
7274
+ interface DrawingViewBox {
7275
+ minX: number;
7276
+ minY: number;
7277
+ width: number;
7278
+ height: number;
7279
+ }
7280
+ /** Compute the SVG viewBox that fits all drawing shapes, rebasing to (0, 0). */
7281
+ declare function computeDrawingViewBox(shapes: readonly PptxSmartArtDrawingShape[]): DrawingViewBox;
7282
+
6764
7283
  /**
6765
7284
  * Line layout for centred SVG labels (SmartArt nodes and cached shapes).
6766
7285
  *
@@ -6793,6 +7312,7 @@ interface SvgTextLine {
6793
7312
 
6794
7313
  /** Built-in named colour palettes (mirrors the Vue/React `PALETTES`). */
6795
7314
  declare const PALETTES: Record<SmartArtColorScheme, string[]>;
7315
+
6796
7316
  declare const DEFAULT_PALETTE: string[];
6797
7317
  /** Pick a colour from `palette`, wrapping `index` around its length. */
6798
7318
  declare function paletteColour(index: number, palette: string[]): string;
@@ -6813,36 +7333,6 @@ declare function buildChromeStyle(chrome: PptxSmartArtChrome | undefined): CssSt
6813
7333
  * primitive cannot leave four bindings behind.
6814
7334
  */
6815
7335
  type RenderedShapeKind = 'image' | 'ellipse' | 'path' | 'rect';
6816
- /** One stop of a cached shape's gradient fill, ready to place as an SVG `<stop>`. */
6817
- interface RenderedGradientStop {
6818
- /** Percentage offset, e.g. `"37%"`. */
6819
- offset: string;
6820
- color: string;
6821
- opacity?: number;
6822
- }
6823
- /**
6824
- * A gradient paint server for a cached shape, in SVG terms.
6825
- *
6826
- * The OOXML angle is already converted to the axis endpoints here, because a
6827
- * gradient is not expressible as a plain `fill` string: the binding has to emit
6828
- * a `<defs>` entry and reference it. Keeping the geometry on this side means the
6829
- * conversion happens once instead of once per binding.
6830
- */
6831
- interface RenderedGradient {
6832
- /** Element id to emit and reference; unique within the diagram. */
6833
- id: string;
6834
- kind: 'linear' | 'radial';
6835
- /** Axis endpoints as percentages (`kind === 'linear'`). */
6836
- x1?: string;
6837
- y1?: string;
6838
- x2?: string;
6839
- y2?: string;
6840
- /** Centre and radius as percentages (`kind === 'radial'`). */
6841
- cx?: string;
6842
- cy?: string;
6843
- r?: string;
6844
- stops: RenderedGradientStop[];
6845
- }
6846
7336
  /** Projected view-model for a single pre-computed drawing shape. */
6847
7337
  interface RenderedShape {
6848
7338
  key: string;
@@ -6865,6 +7355,11 @@ interface RenderedShape {
6865
7355
  cy: number;
6866
7356
  /** Paint for the body, or `'none'` when the shape declares `a:noFill`. */
6867
7357
  fill: string;
7358
+ /**
7359
+ * Opacity (0..1) to paint a solid {@link fill} at, from the cached colour's
7360
+ * `a:alpha`; absent when opaque. Maps onto SVG `fill-opacity`.
7361
+ */
7362
+ fillOpacity?: number;
6868
7363
  stroke: string;
6869
7364
  strokeWidth: number;
6870
7365
  transform: string | undefined;
@@ -6892,15 +7387,6 @@ interface RenderedShape {
6892
7387
  fontWeight?: number;
6893
7388
  fontStyle?: 'normal' | 'italic';
6894
7389
  }
6895
- /** SVG `viewBox` bounding-box derived from all drawing shapes. */
6896
- interface DrawingViewBox {
6897
- minX: number;
6898
- minY: number;
6899
- width: number;
6900
- height: number;
6901
- }
6902
- /** Compute the SVG viewBox that fits all drawing shapes, rebasing to (0, 0). */
6903
- declare function computeDrawingViewBox(shapes: readonly PptxSmartArtDrawingShape[]): DrawingViewBox;
6904
7390
  /**
6905
7391
  * Project raw `PptxSmartArtDrawingShape`s into `RenderedShape` view-models,
6906
7392
  * rebasing positions relative to the viewBox origin.
@@ -9658,6 +10144,13 @@ type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'rec
9658
10144
  /** 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. */
9659
10145
  type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
9660
10146
  type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
10147
+ /**
10148
+ * PowerPoint's contextual tabs: they join the tab row only while the
10149
+ * selection is of their kind (see `contextualTabsForElement` in
10150
+ * `ribbon-galleries/`). Kept apart from `ToolbarTabId` because they are not
10151
+ * part of the fixed tab order every binding renders.
10152
+ */
10153
+ type RibbonContextualTabId = 'shapeFormat' | 'pictureFormat' | 'tableDesign' | 'chartDesign' | 'smartArtDesign';
9661
10154
 
9662
10155
  /**
9663
10156
  * Full PowerPoint "File > Options" parity model.
@@ -10059,6 +10552,547 @@ interface ViewerOptionsTabDefinition {
10059
10552
  sections: readonly ViewerOptionsSection[];
10060
10553
  }
10061
10554
 
10555
+ /**
10556
+ * The stable id of every ribbon GROUP and every CONTROL inside a group, for
10557
+ * `ribbon.hiddenGroups` and `ribbon.hiddenButtons`.
10558
+ *
10559
+ * Ids are `<tab>.<group>` for a group and `<tab>.<group>.<control>` for a
10560
+ * control, for example `home.font` and `home.font.bold`. The tab part is a
10561
+ * `ToolbarTabId` or a contextual tab id (`shapeFormat`, `pictureFormat`,
10562
+ * `tableDesign`, `chartDesign`, `smartArtDesign`). The names follow
10563
+ * PowerPoint's own group captions, so a host that knows PowerPoint can guess
10564
+ * them.
10565
+ *
10566
+ * Every binding tags the matching markup with `data-ribbon-group` /
10567
+ * `data-ribbon-control` (see `ribbon-control-visibility.ts`), and the shared
10568
+ * stylesheet built from a resolved customisation hides what the host named.
10569
+ * The union types below are derived from this one object, so an id used in
10570
+ * a binding or a host that is not listed here is a compile error.
10571
+ *
10572
+ * The labels are English documentation strings for the generated reference
10573
+ * (`docs/guide/customization.md`), not UI copy.
10574
+ *
10575
+ * @module render/customization/ribbon-control-catalog
10576
+ */
10577
+
10578
+ declare const RIBBON_CONTROL_CATALOG: {
10579
+ readonly transitions: {
10580
+ readonly preview: {
10581
+ readonly label: "Preview";
10582
+ readonly controls: {
10583
+ readonly preview: "Preview";
10584
+ };
10585
+ };
10586
+ readonly transitionToThisSlide: {
10587
+ readonly label: "Transition to This Slide";
10588
+ readonly controls: {
10589
+ readonly gallery: "Transition gallery";
10590
+ readonly effectOptions: "Effect Options";
10591
+ };
10592
+ };
10593
+ readonly timing: {
10594
+ readonly label: "Timing";
10595
+ readonly controls: {
10596
+ readonly sound: "Sound";
10597
+ readonly duration: "Duration";
10598
+ readonly applyToAll: "Apply To All";
10599
+ readonly advanceOnClick: "On Mouse Click";
10600
+ readonly advanceAfter: "After";
10601
+ };
10602
+ };
10603
+ };
10604
+ readonly animations: {
10605
+ readonly preview: {
10606
+ readonly label: "Preview";
10607
+ readonly controls: {
10608
+ readonly preview: "Preview";
10609
+ };
10610
+ };
10611
+ readonly animation: {
10612
+ readonly label: "Animation";
10613
+ readonly controls: {
10614
+ readonly gallery: "Animation gallery";
10615
+ readonly effectOptions: "Effect Options";
10616
+ };
10617
+ };
10618
+ readonly motionPath: {
10619
+ readonly label: "Motion Paths";
10620
+ readonly controls: {
10621
+ readonly gallery: "Motion path gallery";
10622
+ };
10623
+ };
10624
+ readonly advancedAnimation: {
10625
+ readonly label: "Advanced Animation";
10626
+ readonly controls: {
10627
+ readonly addAnimation: "Add Animation";
10628
+ readonly animationPane: "Animation Pane";
10629
+ readonly trigger: "Trigger";
10630
+ readonly animationPainter: "Animation Painter";
10631
+ readonly remove: "Remove animation";
10632
+ };
10633
+ };
10634
+ readonly timing: {
10635
+ readonly label: "Timing";
10636
+ readonly controls: {
10637
+ readonly start: "Start";
10638
+ readonly duration: "Duration";
10639
+ readonly delay: "Delay";
10640
+ readonly reorder: "Reorder";
10641
+ };
10642
+ };
10643
+ };
10644
+ readonly slideShow: {
10645
+ readonly startSlideShow: {
10646
+ readonly label: "Start Slide Show";
10647
+ readonly controls: {
10648
+ readonly fromBeginning: "From Beginning";
10649
+ readonly fromCurrent: "From Current Slide";
10650
+ readonly customShow: "Custom Slide Show";
10651
+ };
10652
+ };
10653
+ readonly present: {
10654
+ readonly label: "Present";
10655
+ readonly controls: {
10656
+ readonly presenterView: "Presenter View";
10657
+ readonly broadcast: "Present Online";
10658
+ };
10659
+ };
10660
+ readonly setUp: {
10661
+ readonly label: "Set Up";
10662
+ readonly controls: {
10663
+ readonly setUpSlideShow: "Set Up Slide Show";
10664
+ readonly hideSlide: "Hide Slide";
10665
+ readonly rehearseTimings: "Rehearse Timings";
10666
+ readonly record: "Record";
10667
+ readonly rehearseWithCoach: "Rehearse with Coach";
10668
+ };
10669
+ };
10670
+ readonly captions: {
10671
+ readonly label: "Captions & Subtitles";
10672
+ readonly controls: {
10673
+ readonly subtitles: "Always Use Subtitles";
10674
+ readonly subtitleSettings: "Subtitle Settings";
10675
+ };
10676
+ };
10677
+ };
10678
+ readonly record: {
10679
+ readonly camera: {
10680
+ readonly label: "Camera";
10681
+ readonly controls: {
10682
+ readonly cameo: "Cameo";
10683
+ };
10684
+ };
10685
+ readonly record: {
10686
+ readonly label: "Record";
10687
+ readonly controls: {
10688
+ readonly fromBeginning: "From Beginning";
10689
+ readonly fromCurrent: "From Current Slide";
10690
+ };
10691
+ };
10692
+ readonly manage: {
10693
+ readonly label: "Manage";
10694
+ readonly controls: {
10695
+ readonly clear: "Clear";
10696
+ readonly reset: "Reset to Cameo";
10697
+ };
10698
+ };
10699
+ readonly help: {
10700
+ readonly label: "Help";
10701
+ readonly controls: {
10702
+ readonly learnMore: "Learn more";
10703
+ };
10704
+ };
10705
+ };
10706
+ readonly review: {
10707
+ readonly proofing: {
10708
+ readonly label: "Proofing";
10709
+ readonly controls: {
10710
+ readonly spelling: "Spelling";
10711
+ readonly thesaurus: "Thesaurus";
10712
+ };
10713
+ };
10714
+ readonly accessibility: {
10715
+ readonly label: "Accessibility";
10716
+ readonly controls: {
10717
+ readonly check: "Check Accessibility";
10718
+ };
10719
+ };
10720
+ readonly language: {
10721
+ readonly label: "Language";
10722
+ readonly controls: {
10723
+ readonly translate: "Translate";
10724
+ };
10725
+ };
10726
+ readonly comments: {
10727
+ readonly label: "Comments";
10728
+ readonly controls: {
10729
+ readonly newComment: "New Comment";
10730
+ readonly delete: "Delete";
10731
+ readonly previous: "Previous";
10732
+ readonly next: "Next";
10733
+ readonly showComments: "Show Comments";
10734
+ };
10735
+ };
10736
+ readonly compare: {
10737
+ readonly label: "Compare";
10738
+ readonly controls: {
10739
+ readonly compare: "Compare";
10740
+ readonly markAllRead: "Mark all read";
10741
+ };
10742
+ };
10743
+ readonly protect: {
10744
+ readonly label: "Protect";
10745
+ readonly controls: {
10746
+ readonly readOnly: "Read-only";
10747
+ readonly restrictPermission: "Restrict Permission";
10748
+ };
10749
+ };
10750
+ readonly ink: {
10751
+ readonly label: "Ink";
10752
+ readonly controls: {
10753
+ readonly hideInk: "Hide Ink";
10754
+ };
10755
+ };
10756
+ };
10757
+ readonly view: {
10758
+ readonly presentationViews: {
10759
+ readonly label: "Presentation Views";
10760
+ readonly controls: {
10761
+ readonly normal: "Normal";
10762
+ readonly outline: "Outline View";
10763
+ readonly slideSorter: "Slide Sorter";
10764
+ readonly notesPage: "Notes Page";
10765
+ readonly readingView: "Reading View";
10766
+ };
10767
+ };
10768
+ readonly masterViews: {
10769
+ readonly label: "Master Views";
10770
+ readonly controls: {
10771
+ readonly slideMaster: "Slide Master";
10772
+ readonly handoutMaster: "Handout Master";
10773
+ readonly notesMaster: "Notes Master";
10774
+ };
10775
+ };
10776
+ readonly show: {
10777
+ readonly label: "Show";
10778
+ readonly controls: {
10779
+ readonly ruler: "Ruler";
10780
+ readonly gridlines: "Gridlines";
10781
+ readonly guides: "Guides";
10782
+ readonly snapToGrid: "Snap to Grid";
10783
+ readonly snapToShape: "Snap to Shape";
10784
+ readonly addGuide: "Add horizontal / vertical guide";
10785
+ readonly selectionPane: "Selection Pane";
10786
+ readonly eyedropper: "Eyedropper";
10787
+ readonly notes: "Notes";
10788
+ };
10789
+ };
10790
+ readonly zoom: {
10791
+ readonly label: "Zoom";
10792
+ readonly controls: {
10793
+ readonly zoom: "Zoom";
10794
+ readonly fitToWindow: "Fit to Window";
10795
+ };
10796
+ };
10797
+ readonly window: {
10798
+ readonly label: "Window";
10799
+ readonly controls: {
10800
+ readonly templateEditing: "Edit template elements";
10801
+ readonly macros: "Macros";
10802
+ };
10803
+ };
10804
+ };
10805
+ readonly help: {
10806
+ readonly help: {
10807
+ readonly label: "Help";
10808
+ readonly controls: {
10809
+ readonly options: "Options";
10810
+ readonly keyboardShortcuts: "Keyboard shortcuts";
10811
+ readonly accessibility: "Accessibility checker";
10812
+ };
10813
+ };
10814
+ };
10815
+ readonly shapeFormat: {
10816
+ readonly shapeStyles: {
10817
+ readonly label: "Shape Styles";
10818
+ readonly controls: {
10819
+ readonly gallery: "Shape Styles gallery";
10820
+ readonly shapeEffects: "Shape Effects gallery";
10821
+ };
10822
+ };
10823
+ readonly wordArtStyles: {
10824
+ readonly label: "WordArt Styles";
10825
+ readonly controls: {
10826
+ readonly gallery: "WordArt Styles gallery";
10827
+ };
10828
+ };
10829
+ };
10830
+ readonly pictureFormat: {
10831
+ readonly pictureStyles: {
10832
+ readonly label: "Picture Styles";
10833
+ readonly controls: {
10834
+ readonly gallery: "Picture Styles gallery";
10835
+ readonly pictureEffects: "Picture Effects gallery";
10836
+ };
10837
+ };
10838
+ };
10839
+ readonly tableDesign: {
10840
+ readonly tableStyles: {
10841
+ readonly label: "Table Styles";
10842
+ readonly controls: {
10843
+ readonly gallery: "Table Styles gallery";
10844
+ };
10845
+ };
10846
+ };
10847
+ readonly chartDesign: {
10848
+ readonly chartLayouts: {
10849
+ readonly label: "Chart Layouts";
10850
+ readonly controls: {
10851
+ readonly quickLayout: "Quick Layout gallery";
10852
+ };
10853
+ };
10854
+ readonly chartStyles: {
10855
+ readonly label: "Chart Styles";
10856
+ readonly controls: {
10857
+ readonly changeColors: "Change Colors gallery";
10858
+ readonly gallery: "Chart Styles gallery";
10859
+ };
10860
+ };
10861
+ };
10862
+ readonly smartArtDesign: {
10863
+ readonly smartArtStyles: {
10864
+ readonly label: "SmartArt Styles";
10865
+ readonly controls: {
10866
+ readonly changeColors: "Change Colors gallery";
10867
+ readonly gallery: "SmartArt Styles gallery";
10868
+ };
10869
+ };
10870
+ };
10871
+ readonly home: {
10872
+ readonly clipboard: {
10873
+ readonly label: "Clipboard";
10874
+ readonly controls: {
10875
+ readonly paste: "Paste";
10876
+ readonly cut: "Cut";
10877
+ readonly copy: "Copy";
10878
+ readonly formatPainter: "Format Painter";
10879
+ };
10880
+ };
10881
+ readonly slides: {
10882
+ readonly label: "Slides";
10883
+ readonly controls: {
10884
+ readonly newSlide: "New Slide";
10885
+ readonly layout: "Layout";
10886
+ readonly reset: "Reset";
10887
+ readonly section: "Section";
10888
+ readonly slideTemplates: "Slide templates";
10889
+ };
10890
+ };
10891
+ readonly font: {
10892
+ readonly label: "Font";
10893
+ readonly controls: {
10894
+ readonly fontFamily: "Font";
10895
+ readonly fontSize: "Font Size";
10896
+ readonly increaseFontSize: "Increase Font Size";
10897
+ readonly decreaseFontSize: "Decrease Font Size";
10898
+ readonly clearFormatting: "Clear All Formatting";
10899
+ readonly bold: "Bold";
10900
+ readonly italic: "Italic";
10901
+ readonly underline: "Underline";
10902
+ readonly strikethrough: "Strikethrough";
10903
+ readonly shadow: "Text Shadow";
10904
+ readonly characterSpacing: "Character Spacing";
10905
+ readonly changeCase: "Change Case";
10906
+ readonly fontColor: "Font Color";
10907
+ readonly highlightColor: "Text Highlight Color";
10908
+ readonly superscript: "Superscript";
10909
+ readonly subscript: "Subscript";
10910
+ };
10911
+ };
10912
+ readonly paragraph: {
10913
+ readonly label: "Paragraph";
10914
+ readonly controls: {
10915
+ readonly bullets: "Bullets (toggle and gallery)";
10916
+ readonly numbering: "Numbering (toggle and gallery)";
10917
+ readonly decreaseIndent: "Decrease List Level";
10918
+ readonly increaseIndent: "Increase List Level";
10919
+ readonly lineSpacing: "Line Spacing";
10920
+ readonly alignLeft: "Align Left";
10921
+ readonly alignCenter: "Center";
10922
+ readonly alignRight: "Align Right";
10923
+ readonly justify: "Justify";
10924
+ readonly columns: "Columns";
10925
+ readonly textDirection: "Text Direction";
10926
+ readonly alignText: "Align Text";
10927
+ };
10928
+ };
10929
+ readonly drawing: {
10930
+ readonly label: "Drawing";
10931
+ readonly controls: {
10932
+ readonly shapes: "Shapes";
10933
+ readonly arrange: "Arrange";
10934
+ readonly quickStyles: "Quick Styles (Shape Styles gallery)";
10935
+ readonly shapeFill: "Shape Fill";
10936
+ readonly shapeOutline: "Shape Outline";
10937
+ readonly shapeEffects: "Shape Effects gallery";
10938
+ };
10939
+ };
10940
+ readonly arrange: {
10941
+ readonly label: "Arrange";
10942
+ readonly controls: {
10943
+ readonly bringForward: "Bring Forward";
10944
+ readonly sendBackward: "Send Backward";
10945
+ readonly bringToFront: "Bring to Front";
10946
+ readonly sendToBack: "Send to Back";
10947
+ readonly flipHorizontal: "Flip Horizontal";
10948
+ readonly flipVertical: "Flip Vertical";
10949
+ readonly duplicate: "Duplicate";
10950
+ readonly delete: "Delete";
10951
+ readonly group: "Group";
10952
+ readonly ungroup: "Ungroup";
10953
+ readonly align: "Align";
10954
+ readonly mergeShapes: "Merge Shapes";
10955
+ readonly crop: "Crop";
10956
+ readonly outlineWidth: "Outline width";
10957
+ };
10958
+ };
10959
+ readonly editing: {
10960
+ readonly label: "Editing";
10961
+ readonly controls: {
10962
+ readonly find: "Find";
10963
+ readonly replace: "Replace";
10964
+ readonly select: "Select";
10965
+ };
10966
+ };
10967
+ };
10968
+ readonly insert: {
10969
+ readonly slides: {
10970
+ readonly label: "Slides";
10971
+ readonly controls: {
10972
+ readonly newSlide: "New Slide";
10973
+ };
10974
+ };
10975
+ readonly tables: {
10976
+ readonly label: "Tables";
10977
+ readonly controls: {
10978
+ readonly table: "Table";
10979
+ };
10980
+ };
10981
+ readonly images: {
10982
+ readonly label: "Images";
10983
+ readonly controls: {
10984
+ readonly pictures: "Pictures";
10985
+ };
10986
+ };
10987
+ readonly illustrations: {
10988
+ readonly label: "Illustrations";
10989
+ readonly controls: {
10990
+ readonly shapes: "Shapes";
10991
+ readonly smartArt: "SmartArt";
10992
+ readonly chart: "Chart";
10993
+ };
10994
+ };
10995
+ readonly links: {
10996
+ readonly label: "Links";
10997
+ readonly controls: {
10998
+ readonly link: "Link";
10999
+ readonly action: "Action button";
11000
+ };
11001
+ };
11002
+ readonly comments: {
11003
+ readonly label: "Comments";
11004
+ readonly controls: {
11005
+ readonly comment: "Comment";
11006
+ };
11007
+ };
11008
+ readonly text: {
11009
+ readonly label: "Text";
11010
+ readonly controls: {
11011
+ readonly textBox: "Text Box";
11012
+ readonly field: "Header, date, slide number field";
11013
+ };
11014
+ };
11015
+ readonly symbols: {
11016
+ readonly label: "Symbols";
11017
+ readonly controls: {
11018
+ readonly equation: "Equation";
11019
+ readonly symbol: "Symbol";
11020
+ };
11021
+ };
11022
+ readonly media: {
11023
+ readonly label: "Media";
11024
+ readonly controls: {
11025
+ readonly media: "Video / Audio";
11026
+ };
11027
+ };
11028
+ };
11029
+ readonly draw: {
11030
+ readonly tools: {
11031
+ readonly label: "Drawing Tools";
11032
+ readonly controls: {
11033
+ readonly select: "Select";
11034
+ readonly pen: "Pen";
11035
+ readonly highlighter: "Highlighter";
11036
+ readonly eraser: "Eraser";
11037
+ readonly penColor: "Pen colour";
11038
+ readonly penWidth: "Pen width";
11039
+ };
11040
+ };
11041
+ readonly convert: {
11042
+ readonly label: "Convert";
11043
+ readonly controls: {
11044
+ readonly inkToShape: "Ink to Shape";
11045
+ };
11046
+ };
11047
+ };
11048
+ readonly design: {
11049
+ readonly themes: {
11050
+ readonly label: "Themes";
11051
+ readonly controls: {
11052
+ readonly browseThemes: "Themes gallery";
11053
+ readonly editTheme: "Edit theme";
11054
+ };
11055
+ };
11056
+ readonly variants: {
11057
+ readonly label: "Variants";
11058
+ readonly controls: {
11059
+ readonly colors: "Variants: Colors gallery";
11060
+ readonly fonts: "Variants: Fonts gallery";
11061
+ };
11062
+ };
11063
+ readonly customize: {
11064
+ readonly label: "Customize";
11065
+ readonly controls: {
11066
+ readonly slideSize: "Slide Size";
11067
+ readonly formatBackground: "Format Background";
11068
+ };
11069
+ };
11070
+ };
11071
+ };
11072
+
11073
+ /**
11074
+ * Ids derived from `RIBBON_CONTROL_CATALOG`: the `RibbonGroupId` /
11075
+ * `RibbonControlId` unions and the flattened runtime lists.
11076
+ *
11077
+ * @module render/customization/ribbon-control-ids
11078
+ */
11079
+
11080
+ type Catalog = typeof RIBBON_CONTROL_CATALOG;
11081
+ /** `<tab>.<group>`, for example `home.font`. */
11082
+ type RibbonGroupId = {
11083
+ [T in keyof Catalog]: {
11084
+ [G in keyof Catalog[T]]: `${T & string}.${G & string}`;
11085
+ }[keyof Catalog[T]];
11086
+ }[keyof Catalog];
11087
+ /** `<tab>.<group>.<control>`, for example `home.font.bold`. */
11088
+ type RibbonControlId = {
11089
+ [T in keyof Catalog]: {
11090
+ [G in keyof Catalog[T]]: Catalog[T][G] extends {
11091
+ controls: infer C;
11092
+ } ? `${T & string}.${G & string}.${keyof C & string}` : never;
11093
+ }[keyof Catalog[T]];
11094
+ }[keyof Catalog];
11095
+
10062
11096
  /**
10063
11097
  * The framework-neutral UI customisation model.
10064
11098
  *
@@ -10103,10 +11137,20 @@ type OptionsSectionId = `${ViewerOptionsTabId}.${string}`;
10103
11137
  type OptionsSettingValues = Partial<Record<OptionsSettingId, ViewerOptionPrimitive>>;
10104
11138
  /** Ribbon and toolbar customisation. */
10105
11139
  interface RibbonCustomization {
10106
- /** Ribbon tabs to remove (the File tab included, unlike Customize Ribbon). */
10107
- hiddenTabs?: readonly ToolbarTabId[];
10108
- /** Top-level toolbar buttons / control clusters to remove. */
10109
- hiddenButtons?: readonly ToolbarButtonId[];
11140
+ /**
11141
+ * Ribbon tabs to remove (the File tab included, unlike Customize Ribbon),
11142
+ * and contextual tabs (`shapeFormat`, `pictureFormat`, ...) that should
11143
+ * never appear.
11144
+ */
11145
+ hiddenTabs?: readonly (ToolbarTabId | RibbonContextualTabId)[];
11146
+ /** Groups inside a tab to remove, as `<tab>.<group>` (`home.font`). */
11147
+ hiddenGroups?: readonly RibbonGroupId[];
11148
+ /**
11149
+ * Controls to remove: a top-level toolbar button / control cluster
11150
+ * (`share`, `zoom`, ...) or any ribbon control as
11151
+ * `<tab>.<group>.<control>` (`home.font.bold`).
11152
+ */
11153
+ hiddenButtons?: readonly (ToolbarButtonId | RibbonControlId)[];
10110
11154
  }
10111
11155
  /** File > Options (the Settings dialog) customisation. */
10112
11156
  interface OptionsCustomization {
@@ -10329,6 +11373,12 @@ interface ResolvedKeyboardCustomization {
10329
11373
  /** The normalised, set-based view of a customisation. Treat as immutable. */
10330
11374
  interface ResolvedCustomization {
10331
11375
  hiddenActions: ReadonlySet<ToolbarActionId>;
11376
+ /** Contextual tabs (`shapeFormat`, ...) the host never wants shown. */
11377
+ hiddenContextualTabs: ReadonlySet<RibbonContextualTabId>;
11378
+ /** Catalogued ribbon groups to hide (`ribbon.hiddenGroups`). */
11379
+ hiddenRibbonGroups: ReadonlySet<RibbonGroupId>;
11380
+ /** Catalogued ribbon controls to hide (the `<tab>.<group>.<control>` part of `ribbon.hiddenButtons`). */
11381
+ hiddenRibbonControls: ReadonlySet<RibbonControlId>;
10332
11382
  hiddenOptionsPages: ReadonlySet<OptionsPageId>;
10333
11383
  hiddenOptionsSections: ReadonlySet<OptionsSectionId>;
10334
11384
  hiddenSettings: ReadonlySet<OptionsSettingId>;
@@ -10372,10 +11422,18 @@ interface ViewerCustomizationApi {
10372
11422
  updateCustomization(patch: ViewerCustomization): void;
10373
11423
  /** Drop every customisation, back to the stock UI. */
10374
11424
  resetCustomization(): void;
10375
- hideRibbonTab(tab: ToolbarTabId): void;
10376
- showRibbonTab(tab: ToolbarTabId): void;
10377
- hideToolbarButton(button: ToolbarButtonId): void;
10378
- showToolbarButton(button: ToolbarButtonId): void;
11425
+ /** Hide a fixed tab, or stop a contextual tab (`shapeFormat`, ...) from appearing. */
11426
+ hideRibbonTab(tab: ToolbarTabId | RibbonContextualTabId): void;
11427
+ showRibbonTab(tab: ToolbarTabId | RibbonContextualTabId): void;
11428
+ /** Hide a group inside a tab (`home.font`). */
11429
+ hideRibbonGroup(group: RibbonGroupId): void;
11430
+ showRibbonGroup(group: RibbonGroupId): void;
11431
+ /** Hide a top-level toolbar button or any ribbon control (`home.font.bold`). */
11432
+ hideToolbarButton(button: ToolbarButtonId | RibbonControlId): void;
11433
+ showToolbarButton(button: ToolbarButtonId | RibbonControlId): void;
11434
+ /** Alias of `hideToolbarButton` for a ribbon control id. */
11435
+ hideRibbonControl(control: RibbonControlId): void;
11436
+ showRibbonControl(control: RibbonControlId): void;
10379
11437
  hideOptionsPage(page: OptionsPageId): void;
10380
11438
  showOptionsPage(page: OptionsPageId): void;
10381
11439
  hideOptionsSection(section: OptionsSectionId): void;
@@ -13084,9 +14142,6 @@ declare class RibbonHomeSectionComponent {
13084
14142
  * nothing; {@link performResetSlide} now actually performs the reset.
13085
14143
  */
13086
14144
  protected onResetSlide(): void;
13087
- protected copy(): void;
13088
- protected cut(): void;
13089
- protected paste(): void;
13090
14145
  protected onSelectAll(): void;
13091
14146
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonHomeSectionComponent, never>;
13092
14147
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonHomeSectionComponent, "pptx-ribbon-home-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "openTemplateGallery": "openTemplateGallery"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide"; }, never, never, true, never>;
@@ -14019,10 +15074,14 @@ declare abstract class ViewerCustomizationHandle implements ViewerCustomizationA
14019
15074
  setCustomization(next: ViewerCustomization): void;
14020
15075
  updateCustomization(patch: ViewerCustomization): void;
14021
15076
  resetCustomization(): void;
14022
- hideRibbonTab(tab: ToolbarTabId): void;
14023
- showRibbonTab(tab: ToolbarTabId): void;
14024
- hideToolbarButton(button: ToolbarButtonId): void;
14025
- showToolbarButton(button: ToolbarButtonId): void;
15077
+ hideRibbonTab(tab: ToolbarTabId | RibbonContextualTabId): void;
15078
+ showRibbonTab(tab: ToolbarTabId | RibbonContextualTabId): void;
15079
+ hideRibbonGroup(group: RibbonGroupId): void;
15080
+ showRibbonGroup(group: RibbonGroupId): void;
15081
+ hideToolbarButton(button: ToolbarButtonId | RibbonControlId): void;
15082
+ showToolbarButton(button: ToolbarButtonId | RibbonControlId): void;
15083
+ hideRibbonControl(control: RibbonControlId): void;
15084
+ showRibbonControl(control: RibbonControlId): void;
14026
15085
  hideOptionsPage(page: OptionsPageId): void;
14027
15086
  showOptionsPage(page: OptionsPageId): void;
14028
15087
  hideOptionsSection(section: OptionsSectionId): void;
@@ -14917,6 +15976,18 @@ declare class ViewerThemeGalleryService {
14917
15976
  */
14918
15977
  applyThemePreset(preset: PptxThemePreset): void;
14919
15978
  applyCustomTheme(colorScheme: PptxThemeColorScheme, fontScheme: PptxThemeFontScheme, name: string): void;
15979
+ /**
15980
+ * Design > Variants (Colors / Fonts galleries): swap ONE scheme of the
15981
+ * current theme and keep the other, without renaming the theme. Same
15982
+ * undoable path as {@link applyCustomTheme}; `name` only labels the undo
15983
+ * entry. A colour-less theme with a fonts pick has nothing to re-resolve
15984
+ * against, so it is a no-op.
15985
+ */
15986
+ applyThemeVariant(variant: {
15987
+ colorScheme?: PptxThemeColorScheme;
15988
+ fontScheme?: PptxThemeFontScheme;
15989
+ }, name: string): void;
15990
+ private applySchemes;
14920
15991
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerThemeGalleryService, never>;
14921
15992
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14922
15993
  }
@@ -15070,8 +16141,8 @@ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implem
15070
16141
  readonly smartArt3D: _angular_core.InputSignal<boolean>;
15071
16142
  /**
15072
16143
  * Opt in to the interactive Three.js surface-chart renderer. When `true`,
15073
- * `surface`/`surface3D` charts render as a camera-orbitable WebGL mesh
15074
- * (drag to rotate, scroll to zoom) instead of the static SVG isometric
16144
+ * `surface`/`surface3D` charts render as a WebGL mesh
16145
+ * instead of the static SVG isometric
15075
16146
  * projection. Chart marks are not selectable/draggable in this mode.
15076
16147
  * Requires the optional `three` peer dependency; when it is not installed
15077
16148
  * (or the chart has no plottable grid), the viewer transparently falls back
@@ -15080,8 +16151,7 @@ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implem
15080
16151
  readonly surfaceChart3D: _angular_core.InputSignal<boolean>;
15081
16152
  /**
15082
16153
  * Opt in to the interactive Three.js bar3D-chart renderer. When `true`,
15083
- * `bar3D` charts render as camera-orbitable real box meshes (drag to
15084
- * rotate, scroll to zoom) instead of the flat SVG oblique-projection
16154
+ * `bar3D` charts render as real box meshes instead of the flat SVG oblique-projection
15085
16155
  * illusion. Chart marks are not selectable/draggable in this mode.
15086
16156
  * Requires the optional `three` peer dependency; when it is not installed
15087
16157
  * (or the chart has no plottable grid, or it is a horizontal 3-D Bar), the
@@ -15091,8 +16161,8 @@ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implem
15091
16161
  readonly barChart3D: _angular_core.InputSignal<boolean>;
15092
16162
  /**
15093
16163
  * Opt in to the interactive Three.js line3D-chart renderer. When `true`,
15094
- * `line3D` charts render as a camera-orbitable real tube-path mesh per
15095
- * series, one per depth ("series") plane (drag to rotate, scroll to zoom),
16164
+ * `line3D` charts render as a real tube-path mesh per
16165
+ * series, one per depth ("series") plane,
15096
16166
  * instead of the flat SVG oblique-projection illusion. Chart marks are not
15097
16167
  * selectable/draggable in this mode. Requires the optional `three` peer
15098
16168
  * dependency; when it is not installed (or the chart has no plottable
@@ -15102,9 +16172,8 @@ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implem
15102
16172
  readonly lineChart3D: _angular_core.InputSignal<boolean>;
15103
16173
  /**
15104
16174
  * Opt in to the interactive Three.js area3D-chart renderer. When `true`,
15105
- * `area3D` charts render as a camera-orbitable real tube path + filled
15106
- * ribbon mesh per series, one per depth ("series") plane (drag to rotate,
15107
- * scroll to zoom), instead of the flat SVG oblique-projection illusion.
16175
+ * `area3D` charts render as a real tube path + filled
16176
+ * ribbon mesh per series, one per depth ("series") plane, instead of the flat SVG oblique-projection illusion.
15108
16177
  * Chart marks are not selectable/draggable in this mode. Requires the
15109
16178
  * optional `three` peer dependency; when it is not installed (or the chart
15110
16179
  * has no plottable grid), the viewer transparently falls back to the flat
@@ -15113,8 +16182,7 @@ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implem
15113
16182
  readonly areaChart3D: _angular_core.InputSignal<boolean>;
15114
16183
  /**
15115
16184
  * Opt in to the interactive Three.js pie3D-chart renderer. When `true`,
15116
- * `pie3D` charts render as a camera-orbitable real wedge-mesh scene (drag
15117
- * to rotate, scroll to zoom) instead of the flat SVG oblique-projection
16185
+ * `pie3D` charts render as a real wedge-mesh scene instead of the flat SVG oblique-projection
15118
16186
  * illusion. Chart marks are not selectable/draggable in this mode.
15119
16187
  * Requires the optional `three` peer dependency; when it is not installed
15120
16188
  * (or the chart has no plottable series), the viewer transparently falls
@@ -15263,6 +16331,10 @@ declare class PowerPointViewerComponent extends ViewerCustomizationHandle implem
15263
16331
  * tab off in Customize Ribbon changes what the pane displays without
15264
16332
  * changing what actually renders.
15265
16333
  */
16334
+ /** Per-instance token scoping {@link ribbonCustomizationCss} to this viewer's ribbon. */
16335
+ protected readonly ribbonScope: string;
16336
+ /** Shared stylesheet hiding the host's `ribbon.hiddenGroups` / `hiddenButtons` ids. */
16337
+ protected readonly ribbonCustomizationCss: _angular_core.Signal<string>;
15266
16338
  protected readonly effectiveHiddenActions: _angular_core.Signal<ToolbarActionId[]>;
15267
16339
  /**
15268
16340
  * File > Options > Quick Access Toolbar > Position "Below the Ribbon": the
@@ -16121,8 +17193,10 @@ declare class ViewerKeyboardService {
16121
17193
  /**
16122
17194
  * Escape unwinds the transient chrome one layer at a time: an armed format
16123
17195
  * painter first (it is modal over the pointer), then the shortcut cheat
16124
- * sheet. Before this the branch stopped after the painter, so the panel "?"
16125
- * had just opened stayed on screen with no key that could dismiss it.
17196
+ * sheet, then the selection itself (as in React, Svelte and Vanilla, so the
17197
+ * selection's contextual ribbon tabs go away too). Before this the branch
17198
+ * stopped after the painter, so the panel "?" had just opened stayed on
17199
+ * screen with no key that could dismiss it.
16126
17200
  */
16127
17201
  private handleEscape;
16128
17202
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerKeyboardService, never>;
@@ -16625,6 +17699,23 @@ declare class AiToolCallCardComponent {
16625
17699
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AiToolCallCardComponent, "pptx-ai-tool-call-card", never, { "part": { "alias": "part"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
16626
17700
  }
16627
17701
 
17702
+ /**
17703
+ * ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
17704
+ * {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
17705
+ * its own file (rather than declared in one of those components) so none of
17706
+ * them has to import a type from a sibling that also imports it, mirroring
17707
+ * the Svelte binding's `ribbon/ribbon-types.ts`.
17708
+ */
17709
+
17710
+ /**
17711
+ * Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
17712
+ * {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
17713
+ * their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
17714
+ * as `@switch` cases, plus the contextual tabs (Shape Format, ...) a
17715
+ * selection brings up.
17716
+ */
17717
+ type RibbonTab = ToolbarTabId | 'text' | 'arrange' | RibbonContextualTabId;
17718
+
16628
17719
  /** Drawing tool IDs (mirrors React DRAW_TOOLS). */
16629
17720
  type DrawTool$1 = 'select' | 'pen' | 'highlighter' | 'eraser' | 'freeform';
16630
17721
  /** The full draw-tool state broadcast on every Draw-tab interaction. */
@@ -16645,6 +17736,8 @@ declare class RibbonDrawSectionComponent {
16645
17736
  /** Optional: absent in a standalone unit test with no viewer-level DI tree. */
16646
17737
  private readonly recentColors;
16647
17738
  protected readonly drawTools: readonly DrawToolDef[];
17739
+ /** Catalogue ids of the tool buttons (Freeform has none: PowerPoint files it under Insert). */
17740
+ protected readonly drawControlIds: Readonly<Record<DrawTool$1, string | null>>;
16648
17741
  protected selectTool(tool: DrawTool$1): void;
16649
17742
  protected onColorInput(event: Event): void;
16650
17743
  /**
@@ -16657,22 +17750,6 @@ declare class RibbonDrawSectionComponent {
16657
17750
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonDrawSectionComponent, "pptx-ribbon-draw-section", never, { "activeTool": { "alias": "activeTool"; "required": false; "isSignal": true; }; "drawingColor": { "alias": "drawingColor"; "required": false; "isSignal": true; }; "drawingWidth": { "alias": "drawingWidth"; "required": false; "isSignal": true; }; }, { "drawToolChange": "drawToolChange"; }, never, never, true, never>;
16658
17751
  }
16659
17752
 
16660
- /**
16661
- * ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
16662
- * {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
16663
- * its own file (rather than declared in one of those components) so none of
16664
- * them has to import a type from a sibling that also imports it, mirroring
16665
- * the Svelte binding's `ribbon/ribbon-types.ts`.
16666
- */
16667
-
16668
- /**
16669
- * Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
16670
- * {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
16671
- * their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
16672
- * as `@switch` cases.
16673
- */
16674
- type RibbonTab = ToolbarTabId | 'text' | 'arrange';
16675
-
16676
17753
  declare class RibbonComponent {
16677
17754
  readonly slideIndex: _angular_core.InputSignal<number>;
16678
17755
  readonly slideCount: _angular_core.InputSignal<number>;
@@ -16842,7 +17919,10 @@ declare class RibbonComponent {
16842
17919
  readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
16843
17920
  /** Emitted when the user opens viewer preferences from the Help tab. */
16844
17921
  readonly openSettings: _angular_core.OutputEmitterRef<void>;
17922
+ /** Active tab + the selection's contextual tabs (falls back to Home when one disappears). */
17923
+ private readonly tabState;
16845
17924
  protected readonly activeTab: _angular_core.WritableSignal<RibbonTab>;
17925
+ protected readonly contextualTabs: _angular_core.Signal<RibbonContextualTabId[]>;
16846
17926
  /** Ribbon content expanded (true) vs collapsed to just the tab bar (false). */
16847
17927
  protected readonly ribbonExpanded: _angular_core.WritableSignal<boolean>;
16848
17928
  /** Route both File Options and Review Language to the real Settings dialog. */
@@ -21554,6 +22634,15 @@ declare const DIRECTION_OPTIONS: ReadonlyArray<{
21554
22634
  /** Unicode arrow glyph used as an icon substitute in the Angular template. */
21555
22635
  arrow: string;
21556
22636
  }>;
22637
+ /**
22638
+ * The labelled direction options an element's preset offers (only the
22639
+ * directions PowerPoint has a variant for, from shared `directionValuesFor`),
22640
+ * plus the one the picker shows as active.
22641
+ */
22642
+ declare function directionPickerState(animations: readonly PptxElementAnimation[], elementId: string): {
22643
+ options: typeof DIRECTION_OPTIONS;
22644
+ active: PptxAnimationDirection | undefined;
22645
+ };
21557
22646
  /** Sequence options for paragraph/word/letter builds. */
21558
22647
  declare const SEQUENCE_OPTIONS: ReadonlyArray<{
21559
22648
  value: PptxAnimationSequence;
@@ -21642,12 +22731,11 @@ declare class AnimationAuthorPanelComponent {
21642
22731
  label: string;
21643
22732
  labelKey: string;
21644
22733
  }[];
21645
- protected readonly directionOptions: readonly {
21646
- value: PptxAnimationDirection;
21647
- label: string;
21648
- labelKey: string;
21649
- arrow: string;
21650
- }[];
22734
+ /** Direction options the preset offers (PowerPoint's variants only) and the active one. */
22735
+ protected readonly directionPicker: _angular_core.Signal<{
22736
+ options: typeof pptx_angular_viewer.DIRECTION_OPTIONS;
22737
+ active: PptxAnimationDirection | undefined;
22738
+ }>;
21651
22739
  protected readonly sequenceOptions: readonly {
21652
22740
  value: pptx_viewer_core.PptxAnimationSequence;
21653
22741
  label: string;
@@ -21661,6 +22749,8 @@ declare class AnimationAuthorPanelComponent {
21661
22749
  protected readonly elementKey: _angular_core.Signal<string>;
21662
22750
  /** The animation entry for the currently selected element, if any. */
21663
22751
  protected readonly current: _angular_core.Signal<PptxElementAnimation | undefined>;
22752
+ /** Unset curve shows as `linear`: that is what the writer saves and PowerPoint plays. */
22753
+ protected readonly currentTimingCurve: _angular_core.Signal<pptx_viewer_core.PptxAnimationTimingCurve>;
21664
22754
  /** True when the element has at least one effect (entrance/exit/emphasis). */
21665
22755
  protected readonly currentHasAnimation: _angular_core.Signal<boolean>;
21666
22756
  /** True when the active preset exposes a direction picker. */
@@ -23710,7 +24800,7 @@ declare class AccountPageComponent {
23710
24800
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
23711
24801
  private readonly translate;
23712
24802
  protected readonly swatches: readonly string[];
23713
- protected readonly version = "4.6.0";
24803
+ protected readonly version = "4.8.0";
23714
24804
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
23715
24805
  protected readonly initial: _angular_core.Signal<string>;
23716
24806
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -25620,6 +26710,10 @@ declare class RibbonColorPopoverComponent {
25620
26710
 
25621
26711
  declare class RibbonDesignSectionComponent {
25622
26712
  readonly themeGalleryOpen: _angular_core.InputSignal<boolean>;
26713
+ /** Selection + editability for the Variants galleries. */
26714
+ readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
26715
+ readonly slideIndex: _angular_core.InputSignal<number>;
26716
+ readonly canEdit: _angular_core.InputSignal<boolean>;
25623
26717
  readonly toggleThemeGallery: _angular_core.OutputEmitterRef<void>;
25624
26718
  /** "Edit Theme": open the theme gallery already in its customise mode. */
25625
26719
  readonly editTheme: _angular_core.OutputEmitterRef<void>;
@@ -25627,9 +26721,10 @@ declare class RibbonDesignSectionComponent {
25627
26721
  readonly openSlideSize: _angular_core.OutputEmitterRef<void>;
25628
26722
  readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
25629
26723
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonDesignSectionComponent, never>;
25630
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonDesignSectionComponent, "pptx-ribbon-design-section", never, { "themeGalleryOpen": { "alias": "themeGalleryOpen"; "required": false; "isSignal": true; }; }, { "toggleThemeGallery": "toggleThemeGallery"; "editTheme": "editTheme"; "openSlideSize": "openSlideSize"; "toggleInspector": "toggleInspector"; }, never, never, true, never>;
26724
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonDesignSectionComponent, "pptx-ribbon-design-section", never, { "themeGalleryOpen": { "alias": "themeGalleryOpen"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "toggleThemeGallery": "toggleThemeGallery"; "editTheme": "editTheme"; "openSlideSize": "openSlideSize"; "toggleInspector": "toggleInspector"; }, never, never, true, never>;
25631
26725
  }
25632
26726
 
26727
+ type ArrangeCommandId = 'up' | 'down' | 'front' | 'back' | 'group' | 'ungroup';
25633
26728
  declare class RibbonDrawingGroupComponent {
25634
26729
  protected readonly editor: EditorStateService;
25635
26730
  readonly canEdit: _angular_core.InputSignal<boolean>;
@@ -25640,6 +26735,10 @@ declare class RibbonDrawingGroupComponent {
25640
26735
  protected readonly shapesOpen: _angular_core.WritableSignal<boolean>;
25641
26736
  protected readonly arrangeOpen: _angular_core.WritableSignal<boolean>;
25642
26737
  protected readonly swatches: readonly string[];
26738
+ protected readonly arrangeCommands: readonly {
26739
+ id: ArrangeCommandId;
26740
+ key: string;
26741
+ }[];
25643
26742
  protected readonly canFormatShape: _angular_core.Signal<boolean>;
25644
26743
  protected readonly fillColor: _angular_core.Signal<string>;
25645
26744
  protected readonly outlineColor: _angular_core.Signal<string>;
@@ -25657,6 +26756,7 @@ declare class RibbonDrawingGroupComponent {
25657
26756
  private patchShapeStyle;
25658
26757
  /** Insert the picked preset immediately (selects it and records history). */
25659
26758
  protected onShapeSelect(shape: ShapePresetDef): void;
26759
+ protected onArrangeCommand(id: ArrangeCommandId): void;
25660
26760
  protected onArrange(direction: 'up' | 'down'): void;
25661
26761
  /** Group or ungroup the selection, then close the menu. */
25662
26762
  protected onGroup(group: boolean): void;
@@ -27071,6 +28171,6 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
27071
28171
  */
27072
28172
  declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
27073
28173
 
27074
- export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BACKSTAGE_CARD_IDS, BACKSTAGE_PAGE_IDS, BroadcastDialogComponent, CANVAS_CONTEXT_MENU_COMMAND_IDS, CHART_EDITOR_STYLES, CINEMATIC_TRANSITION_KEYFRAMES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_MORPH_DURATION_MS, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EASE, EDITOR_SHORTCUT_ACTION_IDS, EFFECT_SOUND_CATALOGUE, ELEMENT_CONTEXT_MENU_COMMAND_IDS, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, INSTANT, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OleRendererComponent, OutlineViewOverlayComponent, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RANDOM_ELIGIBLE_TYPES, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RIBBON_TAB_IDS, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, Rendering3DService, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, DEFAULT_TRANSITION_DURATION_MS as SHARED_DEFAULT_TRANSITION_DURATION_MS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TOOLBAR_BUTTON_IDS, TRANSITION_SPEED_DURATION_MS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_DIALOG_IDS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_IDS, VIEWER_PANEL_IDS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCollaborationShellService, ViewerCompareService, ViewerCustomShowsService, ViewerCustomizationHandle, ViewerCustomizationService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createImageElementFromFile, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeCollaborationShellState, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatInlineListStyle, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getCinematicTransitionAnimations, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getP14TransitionAnimations, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, injectResolvedCustomization, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, oleActionsVisibleFor, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveDirection, resolveDirection8, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveLegendAnchorPosition, resolveMediaSrc, resolveOleType, resolveOrientation, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolveSlideTransition, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, resolveTransitionDurationMs, resolveWheelSpokeCount, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, seriesXValues, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldBlockClickAdvance, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
28174
+ export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BACKSTAGE_CARD_IDS, BACKSTAGE_PAGE_IDS, BroadcastDialogComponent, CANVAS_CONTEXT_MENU_COMMAND_IDS, CHART_EDITOR_STYLES, CINEMATIC_TRANSITION_KEYFRAMES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_MORPH_DURATION_MS, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EASE, EDITOR_SHORTCUT_ACTION_IDS, EFFECT_SOUND_CATALOGUE, ELEMENT_CONTEXT_MENU_COMMAND_IDS, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, INSTANT, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OleRendererComponent, OutlineViewOverlayComponent, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RANDOM_ELIGIBLE_TYPES, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RIBBON_TAB_IDS, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, Rendering3DService, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, DEFAULT_TRANSITION_DURATION_MS as SHARED_DEFAULT_TRANSITION_DURATION_MS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TOOLBAR_BUTTON_IDS, TRANSITION_SPEED_DURATION_MS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_DIALOG_IDS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_IDS, VIEWER_PANEL_IDS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCollaborationShellService, ViewerCompareService, ViewerCustomShowsService, ViewerCustomizationHandle, ViewerCustomizationService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createImageElementFromFile, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeCollaborationShellState, describeSmartArtBounds, directionPickerState, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatInlineListStyle, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getCinematicTransitionAnimations, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getP14TransitionAnimations, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, injectResolvedCustomization, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, oleActionsVisibleFor, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveDirection, resolveDirection8, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveLegendAnchorPosition, resolveMediaSrc, resolveOleType, resolveOrientation, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolveSlideTransition, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, resolveTransitionDurationMs, resolveWheelSpokeCount, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, seriesXValues, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldBlockClickAdvance, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
27075
28175
  export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, ActiveShow, AiCanvasHighlight, AiChatInitState, AiHistoryInitDeps, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AuthoredRange, AwarenessLike, BackstageCustomization, BarRect, Box, BridgeDeps, BroadcastConfig, BroadcastDefaults, BubbleRadiusOptions, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartSvgDef, ChartSvgGradientDef, ChartSvgGradientStop, ChartSvgPatternDef, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, CollaborationShellState, ConnectionStatus, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, ContextMenuCustomization, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DeckSaveState, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectSoundState, EffectsState, ElementUpdate, ElementUpdateOptions, EmbeddedFontStyles, EquationTemplate, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, EyedropperResult, FindOptions, FindResult, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InkStrokeView, InlineEditState, InnerShadowState, KeyboardCustomization, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OptionsCustomization, OptionsPageId, OptionsSectionId, OptionsSettingId, OptionsSettingValues, OuterShadowState, OutlineCommit, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentToolbarAction, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PresenterTimerProgress, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedCustomization, ResolvedDirection, ResolvedDirection8, ResolvedFontVariant, ResolvedOleType, RibbonCustomization, RulerUnit, SanitizedPresence, SavedPresentationFormat, ScatterDot, ScatterXDomain, SelectionBox, SessionDeck, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutChord, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, ToolbarActionId, TouchGestureCallbacks, TranslationKey, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerCollaborationShellOptions, ViewerCustomization, ViewerCustomizationApi, ViewerDialogId, ViewerExportFormatId, ViewerFeatureId, ViewerMode, ViewerPanelId, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, ZoomTranslate, ZoomViewModel };
27076
28176
  //# sourceMappingURL=pptx-angular-viewer.d.ts.map