pptx-angular-viewer 1.17.1 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +10 -9
- package/fesm2022/pptx-angular-viewer.mjs +16465 -8560
- package/fesm2022/pptx-angular-viewer.mjs.map +1 -1
- package/package.json +5 -5
- package/pptx-angular-viewer.css +2 -2
- package/types/pptx-angular-viewer.d.ts +1013 -307
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, WritableSignal, OnDestroy, OnInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
|
|
3
1
|
import * as pptx_viewer_core from 'pptx-viewer-core';
|
|
4
|
-
import { PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationDirection, PptxAnimationRepeatMode, PptxAnimationSequence, PptxAnimationTimingCurve, PptxAnimationTrigger, TablePptxElement, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, InkPptxElement, PptxComment, PptxChartType, PptxTheme, PptxSlideMaster, PptxCoreProperties, PptxCustomProperty,
|
|
2
|
+
import { PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationDirection, PptxAnimationRepeatMode, PptxAnimationSequence, PptxAnimationTimingCurve, PptxAnimationTrigger, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, InkPptxElement, PptxComment, PptxChartType, PptxHeaderFooter, PptxTheme, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxCustomProperty, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme, MasterViewTab, Model3DPptxElement, ZoomPptxElement, PptxSlideTransition, ChartPptxElement, MediaPptxElement, SmartArtPptxElement, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SvgExportOptions, PptxData, SignatureStatus, ElementActionType, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxChartMarkerSymbol, PptxSmartArtNode, SmartArtLayoutType, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
|
|
5
3
|
export { SWITCHABLE_LAYOUT_TYPES, addSmartArtNode, addSmartArtNodeAsChild, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, demoteSmartArtNode, promoteSmartArtNode, removeSmartArtNode, reorderSmartArtNode, switchSmartArtLayout, updateSmartArtNodeText } from 'pptx-viewer-core';
|
|
4
|
+
import * as _angular_core from '@angular/core';
|
|
5
|
+
import { Signal, WritableSignal, OnDestroy, OnInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
|
|
6
6
|
import * as pptx_angular_viewer from 'pptx-angular-viewer';
|
|
7
7
|
import { TranslateService } from '@ngx-translate/core';
|
|
8
8
|
import { Options } from 'html2canvas-pro';
|
|
@@ -254,10 +254,12 @@ type CollaborationRole = 'owner' | 'collaborator' | 'viewer';
|
|
|
254
254
|
* any signaling server, which makes this mode usable from static hosting.
|
|
255
255
|
*/
|
|
256
256
|
type CollaborationTransport = 'websocket' | 'webrtc';
|
|
257
|
+
/** How the local user entered a collaboration session. */
|
|
258
|
+
type CollaborationSessionIntent = 'create' | 'join';
|
|
257
259
|
/**
|
|
258
260
|
* Real-time collaboration configuration.
|
|
259
261
|
*
|
|
260
|
-
* The same shape is accepted by
|
|
262
|
+
* The same shape is accepted by every framework binding.
|
|
261
263
|
*/
|
|
262
264
|
interface CollaborationConfig {
|
|
263
265
|
/** Unique identifier for the collaboration room (alphanumeric, hyphens, underscores). */
|
|
@@ -285,6 +287,13 @@ interface CollaborationConfig {
|
|
|
285
287
|
authToken?: string;
|
|
286
288
|
/** Role in the session; defaults to `'collaborator'`. */
|
|
287
289
|
role?: CollaborationRole;
|
|
290
|
+
/**
|
|
291
|
+
* Whether this client created the room or joined an existing room. Providers
|
|
292
|
+
* do not use this value, but hosts can use it to avoid publishing local file
|
|
293
|
+
* bytes when handling a join request. Omitted values retain the legacy
|
|
294
|
+
* create-session behaviour.
|
|
295
|
+
*/
|
|
296
|
+
sessionIntent?: CollaborationSessionIntent;
|
|
288
297
|
/**
|
|
289
298
|
* Elected-writer write-back callback (Area 3 of the C3 hardening plan).
|
|
290
299
|
*
|
|
@@ -442,6 +451,44 @@ declare function buildPatternFillCss(style: ShapeStyle | undefined): {
|
|
|
442
451
|
/** A neutral CSS map (framework `CSSProperties` are structurally compatible). */
|
|
443
452
|
type CssStyleMap = Record<string, string | number>;
|
|
444
453
|
|
|
454
|
+
/**
|
|
455
|
+
* Visual effects composable — pure CSS computation for OOXML shape/image effects.
|
|
456
|
+
*
|
|
457
|
+
* Mirrors the React `pptx-viewer` effect layer (shape-visual-style.ts +
|
|
458
|
+
* color-core.ts + effect-dag-filters.ts) without any React/Vue runtime
|
|
459
|
+
* dependency. Everything here is a pure function so it can be unit-tested
|
|
460
|
+
* without mounting a component, then wired into `element-style.ts` /
|
|
461
|
+
* `ElementRenderer.vue` by the integrator.
|
|
462
|
+
*
|
|
463
|
+
* It covers, for shapes/connectors/images:
|
|
464
|
+
* - **Outer shadow** → CSS `box-shadow`
|
|
465
|
+
* - **Inner shadow** → CSS `inset` `box-shadow`
|
|
466
|
+
* - **Multi-layer shadow** → comma-joined `box-shadow` (from `shadows[]`)
|
|
467
|
+
* - **Outer glow** → CSS `filter: drop-shadow(...)` (simple path) and
|
|
468
|
+
* optional layered `box-shadow` (high-fidelity path)
|
|
469
|
+
* - **Soft edges / blur** → CSS `filter: blur(...)`
|
|
470
|
+
* - **Reflection** → Chromium `-webkit-box-reflect`
|
|
471
|
+
* - **Effect DAG** → CSS `filter` (grayscale/biLevel/lum/hsl/tint…),
|
|
472
|
+
* `opacity`, `mix-blend-mode`, + optional duotone
|
|
473
|
+
* `<filter>` SVG markup (high-fidelity path)
|
|
474
|
+
*
|
|
475
|
+
* Units/precedence match the React implementation: spatial values are already
|
|
476
|
+
* in px on `ShapeStyle` (pre-converted from EMU by core), angles are degrees,
|
|
477
|
+
* alpha is 0–1. The EMU constants are re-exported from core for callers that
|
|
478
|
+
* need to convert raw values themselves.
|
|
479
|
+
*
|
|
480
|
+
* @module viewer/composables/visual-effects
|
|
481
|
+
*/
|
|
482
|
+
|
|
483
|
+
/** Resolved parameters for a line-level (`a:ln`) outer shadow. */
|
|
484
|
+
interface LineShadowParams {
|
|
485
|
+
offsetX: number;
|
|
486
|
+
offsetY: number;
|
|
487
|
+
blur: number;
|
|
488
|
+
color: string;
|
|
489
|
+
opacity: number;
|
|
490
|
+
}
|
|
491
|
+
|
|
445
492
|
/**
|
|
446
493
|
* Text warp / WordArt logic — Vue port of the React
|
|
447
494
|
* `viewer/utils/warp-path-generators.ts` + `text-warp-classifier.ts`.
|
|
@@ -627,6 +674,8 @@ interface ValueRange {
|
|
|
627
674
|
logScale?: boolean;
|
|
628
675
|
/** Logarithmic base (e.g. 10, 2, Math.E). Only meaningful when logScale is true. */
|
|
629
676
|
logBase?: number;
|
|
677
|
+
/** Whether values increase from top to bottom. */
|
|
678
|
+
reverseOrder?: boolean;
|
|
630
679
|
}
|
|
631
680
|
/** Compute a Y-axis range that always includes zero. */
|
|
632
681
|
declare function computeValueRange(series: ReadonlyArray<PptxChartSeries>): ValueRange;
|
|
@@ -755,6 +804,7 @@ interface SvgText {
|
|
|
755
804
|
fill: string;
|
|
756
805
|
textAnchor: 'start' | 'middle' | 'end';
|
|
757
806
|
fontWeight?: 'normal' | 'bold';
|
|
807
|
+
fontFamily?: string;
|
|
758
808
|
dominantBaseline?: string;
|
|
759
809
|
opacity?: number;
|
|
760
810
|
/** Optional SVG transform (e.g. `rotate(-90, x, y)` for a vertical axis title). */
|
|
@@ -872,7 +922,7 @@ interface ScatterDot {
|
|
|
872
922
|
cx: number;
|
|
873
923
|
cy: number;
|
|
874
924
|
}
|
|
875
|
-
declare function computeScatterDots(values: ReadonlyArray<number>, maxXIndex: number, layout: PlotLayout, range: ValueRange): ScatterDot[];
|
|
925
|
+
declare function computeScatterDots(values: ReadonlyArray<number>, maxXIndex: number, layout: PlotLayout, range: ValueRange, xValues?: ReadonlyArray<number>): ScatterDot[];
|
|
876
926
|
/**
|
|
877
927
|
* Radius of a bubble given its size value, the max size in the chart, and a
|
|
878
928
|
* median radius derived from the plot area. Mirrors `renderBubbleChart` in
|
|
@@ -895,6 +945,9 @@ declare function resolveChartKind(chartType: string): SupportedChartKind | 'unsu
|
|
|
895
945
|
declare function buildChartViewModel(element: PptxElement): ChartViewModel;
|
|
896
946
|
declare function buildFallbackViewModel(width: number, height: number, label: string): ChartViewModel;
|
|
897
947
|
|
|
948
|
+
/** Build a bar + line combo chart, including independently scaled secondary series. */
|
|
949
|
+
declare function buildComboViewModel(element: PptxElement, chartData: PptxChartData, categoryLabels: ReadonlyArray<string>): ChartViewModel;
|
|
950
|
+
|
|
898
951
|
/**
|
|
899
952
|
* View-model builders for combo and stock chart kinds.
|
|
900
953
|
*
|
|
@@ -920,23 +973,6 @@ declare function buildFallbackViewModel(width: number, height: number, label: st
|
|
|
920
973
|
* @module chart-combo-stock
|
|
921
974
|
*/
|
|
922
975
|
|
|
923
|
-
/**
|
|
924
|
-
* Build a `ChartViewModel` for a combo chart (bar + line overlay).
|
|
925
|
-
*
|
|
926
|
-
* Convention (mirrors the React renderer):
|
|
927
|
-
* - `chartData.series[0]` → rendered as clustered bar columns
|
|
928
|
-
* - `chartData.series[1…N]` → rendered as line series with dot markers
|
|
929
|
-
*
|
|
930
|
-
* A single shared value-axis range is computed across ALL series so that the
|
|
931
|
-
* bar and line series share the same Y scale. The category-axis tick style is
|
|
932
|
-
* "bar" (evenly spaced groups with no extra edge padding).
|
|
933
|
-
*
|
|
934
|
-
* @param element - The chart element providing width/height.
|
|
935
|
-
* @param chartData - Parsed chart data including series and style.
|
|
936
|
-
* @param categoryLabels - Ordered category axis labels.
|
|
937
|
-
* @returns A fully assembled `ChartViewModel` ready for the template.
|
|
938
|
-
*/
|
|
939
|
-
declare function buildComboViewModel(element: PptxElement, chartData: PptxChartData, categoryLabels: ReadonlyArray<string>): ChartViewModel;
|
|
940
976
|
/**
|
|
941
977
|
* Build a `ChartViewModel` for a stock (HLC / OHLC) candlestick chart.
|
|
942
978
|
*
|
|
@@ -1045,6 +1081,19 @@ declare function normalizeValue(value: number, min: number, max: number): number
|
|
|
1045
1081
|
*/
|
|
1046
1082
|
declare function buildRegionMapViewModel(element: PptxElement, chartData: PptxChartData, categoryLabels: ReadonlyArray<string>): ChartViewModel;
|
|
1047
1083
|
|
|
1084
|
+
interface ErrorBarRenderOptions {
|
|
1085
|
+
/** Source point indexes in display order after category/date-axis filtering. */
|
|
1086
|
+
sourceIndices?: ReadonlyArray<number>;
|
|
1087
|
+
/** Exact display X positions for reordered category/date points. */
|
|
1088
|
+
xPositions?: ReadonlyArray<number>;
|
|
1089
|
+
/** Per-series Y ranges, used by secondary-axis combo series. */
|
|
1090
|
+
seriesRanges?: ReadonlyArray<ValueRange | undefined>;
|
|
1091
|
+
/** Per-series category mapping mode for mixed bar/line charts. */
|
|
1092
|
+
seriesModes?: ReadonlyArray<'line' | 'bar' | undefined>;
|
|
1093
|
+
}
|
|
1094
|
+
/** Build X- and Y-direction ChartML error-bar primitives for cartesian series. */
|
|
1095
|
+
declare function computeErrorBarPrimitives(chartData: PptxChartData, catCount: number, layout: PlotLayout, range: ValueRange, mode?: 'line' | 'bar', options?: ErrorBarRenderOptions): SvgPrimitive[];
|
|
1096
|
+
|
|
1048
1097
|
/**
|
|
1049
1098
|
* chart-overlays.ts — chart overlay depth for Angular pptx-angular-viewer.
|
|
1050
1099
|
*
|
|
@@ -1105,21 +1154,6 @@ declare function computeRSquared(xVals: number[], yVals: number[], evalFn: (x: n
|
|
|
1105
1154
|
* @param colorPalette Optional resolved palette (same as passed to `seriesColor`).
|
|
1106
1155
|
*/
|
|
1107
1156
|
declare function computeTrendlinePrimitives(chartData: PptxChartData, catCount: number, layout: PlotLayout, range: ValueRange, mode?: 'line' | 'bar', colorPalette?: readonly string[]): SvgPrimitive[];
|
|
1108
|
-
/**
|
|
1109
|
-
* Build `SvgPrimitive[]` for all Y-direction error bars in `chartData`.
|
|
1110
|
-
* Produces stem + cap `SvgLine` pairs for each data point.
|
|
1111
|
-
* X-direction error bars are intentionally skipped (not supported in PPTX
|
|
1112
|
-
* bar/line charts displayed here).
|
|
1113
|
-
*
|
|
1114
|
-
* Mirrors `renderErrorBars` in chart-overlay-lines.tsx (React).
|
|
1115
|
-
*
|
|
1116
|
-
* @param chartData Full parsed chart data.
|
|
1117
|
-
* @param catCount Number of categories.
|
|
1118
|
-
* @param layout Plot-area bounding box.
|
|
1119
|
-
* @param range Value-axis range.
|
|
1120
|
-
* @param mode `'bar'` or `'line'` — controls x-pixel mapping.
|
|
1121
|
-
*/
|
|
1122
|
-
declare function computeErrorBarPrimitives(chartData: PptxChartData, catCount: number, layout: PlotLayout, range: ValueRange, mode?: 'line' | 'bar'): SvgPrimitive[];
|
|
1123
1157
|
/**
|
|
1124
1158
|
* Build `SvgText[]` for the X and Y axis titles.
|
|
1125
1159
|
*
|
|
@@ -1624,8 +1658,6 @@ declare function ungroupElements(elements: readonly PptxElement[], groupId: stri
|
|
|
1624
1658
|
* framework's CSS type).
|
|
1625
1659
|
*
|
|
1626
1660
|
* Precedence (highest first): image fill -> gradient -> pattern -> solid colour.
|
|
1627
|
-
* Pattern fills currently approximate to their background colour (the SVG
|
|
1628
|
-
* pattern preset renderer is a separate concern).
|
|
1629
1661
|
*/
|
|
1630
1662
|
|
|
1631
1663
|
/** Default slide stage colour when a slide carries no usable background. */
|
|
@@ -1909,6 +1941,35 @@ declare class EditorHistory<T> {
|
|
|
1909
1941
|
clear(): void;
|
|
1910
1942
|
}
|
|
1911
1943
|
|
|
1944
|
+
/**
|
|
1945
|
+
* section-operations: Pure array-transformation functions for slide sections.
|
|
1946
|
+
*
|
|
1947
|
+
* Framework-agnostic (no framework imports). Each transform takes the current
|
|
1948
|
+
* `sections` and `slides` arrays and returns a NEW `{ sections, slides }` pair;
|
|
1949
|
+
* the inputs are never mutated. The React `useSectionOperations` hook and the
|
|
1950
|
+
* Vue `useSectionOperations` composable both wire their reactive state through
|
|
1951
|
+
* these transforms so the immutable section algorithms live in one place.
|
|
1952
|
+
*
|
|
1953
|
+
* Section ids are OOXML GUID-like strings. `addSection` generates one via the
|
|
1954
|
+
* supplied `idGenerator` (default {@link generateSectionId}), keeping the
|
|
1955
|
+
* transform overridable yet self-contained, matching the neighbouring shared
|
|
1956
|
+
* editor modules.
|
|
1957
|
+
*/
|
|
1958
|
+
|
|
1959
|
+
/** Minimum section metadata needed to build sidebar groups. */
|
|
1960
|
+
interface SectionGroupDescriptor {
|
|
1961
|
+
id: string;
|
|
1962
|
+
name: string;
|
|
1963
|
+
collapsed?: boolean;
|
|
1964
|
+
color?: string;
|
|
1965
|
+
}
|
|
1966
|
+
/** A declared section paired with its slides, or the trailing ungrouped slides. */
|
|
1967
|
+
interface SectionSlideGroup<TSection extends SectionGroupDescriptor = PptxSection> {
|
|
1968
|
+
section: TSection | undefined;
|
|
1969
|
+
slides: PptxSlide[];
|
|
1970
|
+
slideIndexes: number[];
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1912
1973
|
/**
|
|
1913
1974
|
* ole-actions.ts - framework-agnostic helpers for the OLE download/open UI.
|
|
1914
1975
|
*
|
|
@@ -2075,6 +2136,15 @@ interface ParagraphBulletResult {
|
|
|
2075
2136
|
fontFamily?: string;
|
|
2076
2137
|
sizePts?: number;
|
|
2077
2138
|
sizePercent?: number;
|
|
2139
|
+
picture?: PictureBulletMarker;
|
|
2140
|
+
}
|
|
2141
|
+
/** Framework-neutral picture-bullet source, sizing, and accessible fallback. */
|
|
2142
|
+
interface PictureBulletMarker {
|
|
2143
|
+
src?: string;
|
|
2144
|
+
sizePx: number;
|
|
2145
|
+
fallbackMarker: string;
|
|
2146
|
+
accessibleLabel: string;
|
|
2147
|
+
imageRelId?: string;
|
|
2078
2148
|
}
|
|
2079
2149
|
/**
|
|
2080
2150
|
* Resolve the bullet marker for the first segment of a paragraph.
|
|
@@ -2085,7 +2155,7 @@ interface ParagraphBulletResult {
|
|
|
2085
2155
|
* bullets the 1-based sequence index is `autoNumStartAt` (default 1) plus the
|
|
2086
2156
|
* 0-based `paragraphIndex`.
|
|
2087
2157
|
*/
|
|
2088
|
-
declare function resolveParagraphBullet(firstSegment: TextSegment | undefined): ParagraphBulletResult | undefined;
|
|
2158
|
+
declare function resolveParagraphBullet(firstSegment: TextSegment | undefined, baseFontSize?: number): ParagraphBulletResult | undefined;
|
|
2089
2159
|
/**
|
|
2090
2160
|
* Return the left-indent in pixels for the given 0-based list nesting level
|
|
2091
2161
|
* (OOXML `a:p/@lvl`). `undefined`/negative is treated as level 0. Used as a
|
|
@@ -3126,6 +3196,17 @@ interface ResolvedFontVariant {
|
|
|
3126
3196
|
/** Object URL minted for this variant (must be revoked on cleanup). */
|
|
3127
3197
|
objectUrl?: string;
|
|
3128
3198
|
}
|
|
3199
|
+
/**
|
|
3200
|
+
* A font supplied by the host application. The package never ships fonts:
|
|
3201
|
+
* applications provide a licensed URL, data URL, or blob URL for their users.
|
|
3202
|
+
*/
|
|
3203
|
+
interface ViewerFontSource {
|
|
3204
|
+
family: string;
|
|
3205
|
+
src: string;
|
|
3206
|
+
format?: 'truetype' | 'opentype' | 'woff' | 'woff2';
|
|
3207
|
+
weight?: string | number;
|
|
3208
|
+
style?: 'normal' | 'italic';
|
|
3209
|
+
}
|
|
3129
3210
|
/**
|
|
3130
3211
|
* Factory the (impure) object-URL minting is delegated to, so the resolution
|
|
3131
3212
|
* logic stays pure and testable. The binding supplies a real implementation
|
|
@@ -3308,6 +3389,44 @@ declare function clampNotesFontSize(size: number): number;
|
|
|
3308
3389
|
/** Format a Date as a locale time string (HH:MM:SS). */
|
|
3309
3390
|
declare function formatTime(date: Date): string;
|
|
3310
3391
|
|
|
3392
|
+
interface PresentationSnapshot {
|
|
3393
|
+
slideIndex: number;
|
|
3394
|
+
buildStep: number;
|
|
3395
|
+
sequence: number;
|
|
3396
|
+
blackout: 'none' | 'black' | 'white';
|
|
3397
|
+
paused: boolean;
|
|
3398
|
+
elapsedMs: number;
|
|
3399
|
+
zoom?: PresentationZoomState;
|
|
3400
|
+
pointer?: PresentationPointerState;
|
|
3401
|
+
inkStrokes?: PresentationInkStroke[];
|
|
3402
|
+
caption?: string;
|
|
3403
|
+
subtitlesVisible?: boolean;
|
|
3404
|
+
}
|
|
3405
|
+
interface PresentationZoomState {
|
|
3406
|
+
scale: number;
|
|
3407
|
+
originX: number;
|
|
3408
|
+
originY: number;
|
|
3409
|
+
}
|
|
3410
|
+
type PresentationPointerTool = 'none' | 'laser' | 'pen' | 'highlighter' | 'eraser';
|
|
3411
|
+
interface PresentationPointerState {
|
|
3412
|
+
tool: PresentationPointerTool;
|
|
3413
|
+
x: number;
|
|
3414
|
+
y: number;
|
|
3415
|
+
color: string;
|
|
3416
|
+
}
|
|
3417
|
+
interface PresentationInkPoint {
|
|
3418
|
+
x: number;
|
|
3419
|
+
y: number;
|
|
3420
|
+
}
|
|
3421
|
+
interface PresentationInkStroke {
|
|
3422
|
+
id: string;
|
|
3423
|
+
slideIndex: number;
|
|
3424
|
+
tool: 'pen' | 'highlighter';
|
|
3425
|
+
color: string;
|
|
3426
|
+
width: number;
|
|
3427
|
+
points: PresentationInkPoint[];
|
|
3428
|
+
}
|
|
3429
|
+
|
|
3311
3430
|
/**
|
|
3312
3431
|
* smart-art-presets.ts: the SmartArt insert-gallery catalogue, shared across
|
|
3313
3432
|
* bindings. Pure data + types; consumed by each binding's insert dialog and
|
|
@@ -3528,6 +3647,41 @@ interface StrokeToInkElementOpts {
|
|
|
3528
3647
|
*/
|
|
3529
3648
|
declare function strokeToInkElement(opts: StrokeToInkElementOpts): InkPptxElement | null;
|
|
3530
3649
|
|
|
3650
|
+
/**
|
|
3651
|
+
* Ink rendering utilities for pressure-sensitive strokes and replay animation.
|
|
3652
|
+
*
|
|
3653
|
+
* Pressure sensitivity is approximated by splitting an SVG path into short
|
|
3654
|
+
* sub-segments, each rendered as a filled circle at that point's coordinates.
|
|
3655
|
+
* The radius of each circle varies according to the corresponding entry in the
|
|
3656
|
+
* `inkWidths` array.
|
|
3657
|
+
*
|
|
3658
|
+
* Replay animation uses SVG `stroke-dasharray` / `stroke-dashoffset` to
|
|
3659
|
+
* progressively reveal each stroke with a sequential delay.
|
|
3660
|
+
*
|
|
3661
|
+
* Framework-agnostic: only imports core types, so every binding (React, Vue,
|
|
3662
|
+
* Angular) consumes one copy instead of duplicating the maths.
|
|
3663
|
+
*
|
|
3664
|
+
* @module ink-rendering
|
|
3665
|
+
*/
|
|
3666
|
+
|
|
3667
|
+
/**
|
|
3668
|
+
* CSS properties for a single ink stroke's replay animation.
|
|
3669
|
+
*/
|
|
3670
|
+
interface InkStrokeAnimationStyle {
|
|
3671
|
+
/** Estimated path length for stroke-dasharray. */
|
|
3672
|
+
pathLength: number;
|
|
3673
|
+
/** Animation delay for this stroke. */
|
|
3674
|
+
animationDelay: string;
|
|
3675
|
+
/** Animation duration for this stroke. */
|
|
3676
|
+
animationDuration: string;
|
|
3677
|
+
/** The CSS animation shorthand value. */
|
|
3678
|
+
animation: string;
|
|
3679
|
+
/** Initial stroke-dasharray value. */
|
|
3680
|
+
strokeDasharray: string;
|
|
3681
|
+
/** Initial stroke-dashoffset value. */
|
|
3682
|
+
strokeDashoffset: string;
|
|
3683
|
+
}
|
|
3684
|
+
|
|
3531
3685
|
/**
|
|
3532
3686
|
* Pure helper logic for mobile chrome state, shared by every binding.
|
|
3533
3687
|
*
|
|
@@ -3704,6 +3858,35 @@ interface InsertChartTypeOption {
|
|
|
3704
3858
|
label: string;
|
|
3705
3859
|
}
|
|
3706
3860
|
|
|
3861
|
+
type MediaTrimHandle = 'start' | 'end';
|
|
3862
|
+
interface MediaTimelineGeometry {
|
|
3863
|
+
startPercent: number;
|
|
3864
|
+
endPercent: number;
|
|
3865
|
+
playheadPercent: number;
|
|
3866
|
+
}
|
|
3867
|
+
interface MediaTrimRange {
|
|
3868
|
+
trimStartMs: number;
|
|
3869
|
+
trimEndMs: number;
|
|
3870
|
+
}
|
|
3871
|
+
|
|
3872
|
+
interface SummaryZoomTileView {
|
|
3873
|
+
key: string;
|
|
3874
|
+
sectionId: string;
|
|
3875
|
+
targetSlideIndex: number;
|
|
3876
|
+
label: string;
|
|
3877
|
+
slideLabel: string;
|
|
3878
|
+
imageSrc?: string;
|
|
3879
|
+
backgroundColor: string;
|
|
3880
|
+
style: Record<string, string>;
|
|
3881
|
+
ariaLabel: string;
|
|
3882
|
+
}
|
|
3883
|
+
interface SummaryZoomView {
|
|
3884
|
+
layout: 'grid' | 'fixed';
|
|
3885
|
+
containerStyle: Record<string, string>;
|
|
3886
|
+
tiles: SummaryZoomTileView[];
|
|
3887
|
+
ariaLabel: string;
|
|
3888
|
+
}
|
|
3889
|
+
|
|
3707
3890
|
/**
|
|
3708
3891
|
* Command-search data for the PowerPoint-style "Tell me what you want to do"
|
|
3709
3892
|
* search bar. Provides searchable command entries grouped by category, each
|
|
@@ -3721,6 +3904,113 @@ interface CommandSearchEntry {
|
|
|
3721
3904
|
category: 'format' | 'insert' | 'view' | 'slideShow' | 'design' | 'arrange';
|
|
3722
3905
|
}
|
|
3723
3906
|
|
|
3907
|
+
type BackstagePage = 'home' | 'new' | 'open' | 'info' | 'save' | 'saveAs' | 'print' | 'share' | 'export' | 'close' | 'account' | 'options';
|
|
3908
|
+
interface BackstageRecentFile {
|
|
3909
|
+
key: string;
|
|
3910
|
+
name: string;
|
|
3911
|
+
location: string;
|
|
3912
|
+
timestamp: number;
|
|
3913
|
+
size: number;
|
|
3914
|
+
}
|
|
3915
|
+
interface BackstageTemplate {
|
|
3916
|
+
id: string;
|
|
3917
|
+
name: string;
|
|
3918
|
+
description: string;
|
|
3919
|
+
preview: string;
|
|
3920
|
+
}
|
|
3921
|
+
declare function formatBackstageDate(timestamp: number, now?: number): string;
|
|
3922
|
+
declare function formatBackstageSize(bytes: number): string;
|
|
3923
|
+
|
|
3924
|
+
/** Framework-neutral virtual-list range used by every thumbnail sidebar. */
|
|
3925
|
+
interface VirtualizedRange {
|
|
3926
|
+
startIndex: number;
|
|
3927
|
+
endIndex: number;
|
|
3928
|
+
totalHeight: number;
|
|
3929
|
+
offsetY: number;
|
|
3930
|
+
visibleRange: {
|
|
3931
|
+
start: number;
|
|
3932
|
+
end: number;
|
|
3933
|
+
};
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3936
|
+
/** Framework-neutral viewer preferences surfaced by Settings dialogs. */
|
|
3937
|
+
interface ViewerPreferences {
|
|
3938
|
+
autoSave: boolean;
|
|
3939
|
+
spellCheck: boolean;
|
|
3940
|
+
showGrid: boolean;
|
|
3941
|
+
showRulers: boolean;
|
|
3942
|
+
snapToGrid: boolean;
|
|
3943
|
+
reducedMotion: boolean;
|
|
3944
|
+
}
|
|
3945
|
+
type ViewerSettings = ViewerPreferences;
|
|
3946
|
+
interface ShortcutReferenceItem {
|
|
3947
|
+
actionKey: string;
|
|
3948
|
+
shortcut: string;
|
|
3949
|
+
}
|
|
3950
|
+
declare const SHORTCUT_REFERENCE_ITEMS: readonly ShortcutReferenceItem[];
|
|
3951
|
+
interface ViewerPreferenceToggle {
|
|
3952
|
+
key: keyof ViewerPreferences;
|
|
3953
|
+
labelKey: string;
|
|
3954
|
+
}
|
|
3955
|
+
|
|
3956
|
+
interface SpeechAlternative {
|
|
3957
|
+
readonly transcript: string;
|
|
3958
|
+
readonly confidence: number;
|
|
3959
|
+
}
|
|
3960
|
+
interface SpeechResult {
|
|
3961
|
+
readonly isFinal: boolean;
|
|
3962
|
+
readonly length: number;
|
|
3963
|
+
readonly [index: number]: SpeechAlternative;
|
|
3964
|
+
}
|
|
3965
|
+
interface SpeechResultList {
|
|
3966
|
+
readonly length: number;
|
|
3967
|
+
readonly [index: number]: SpeechResult;
|
|
3968
|
+
}
|
|
3969
|
+
interface SpeechRecognitionEventLite {
|
|
3970
|
+
readonly resultIndex: number;
|
|
3971
|
+
readonly results: SpeechResultList;
|
|
3972
|
+
}
|
|
3973
|
+
interface SpeechRecognitionLite extends EventTarget {
|
|
3974
|
+
continuous: boolean;
|
|
3975
|
+
interimResults: boolean;
|
|
3976
|
+
lang: string;
|
|
3977
|
+
onresult: ((event: SpeechRecognitionEventLite) => void) | null;
|
|
3978
|
+
onerror: ((event: Event) => void) | null;
|
|
3979
|
+
onend: (() => void) | null;
|
|
3980
|
+
start(): void;
|
|
3981
|
+
stop(): void;
|
|
3982
|
+
}
|
|
3983
|
+
type SpeechRecognitionCtor = new () => SpeechRecognitionLite;
|
|
3984
|
+
type SpeechSupportState = 'unknown' | 'supported' | 'unsupported';
|
|
3985
|
+
declare function mergeCaptionResults(resultIndex: number, results: SpeechResultList): string;
|
|
3986
|
+
declare function getSpeechRecognitionCtor(): SpeechRecognitionCtor | null;
|
|
3987
|
+
declare function captionDisplayText(supportState: SpeechSupportState, captionText: string, fallbackNotSupported: string, fallbackListening: string): string;
|
|
3988
|
+
|
|
3989
|
+
/**
|
|
3990
|
+
* Toolbar action / ribbon-tab visibility: a single, framework-agnostic
|
|
3991
|
+
* catalogue of every top-level toolbar button and ribbon tab a host app can
|
|
3992
|
+
* independently hide. Each binding exposes a `hiddenActions?: ToolbarActionId[]`
|
|
3993
|
+
* prop, threads it down to the relevant render sites, and gates them with
|
|
3994
|
+
* `isActionHidden`. Default (`undefined` / `[]`) hides nothing, matching
|
|
3995
|
+
* today's always-visible behaviour.
|
|
3996
|
+
*
|
|
3997
|
+
* `TOOLBAR_TABS` is also the canonical ribbon-tab list/order, replacing the
|
|
3998
|
+
* copy hand-duplicated in each binding (React's `TOOLBAR_SECTIONS`, Vue's
|
|
3999
|
+
* `ribbon-constants.ts`, Angular's `RIBBON_TABS`, etc.) so the tab set can't
|
|
4000
|
+
* drift between bindings. Per-tab icons stay in each binding (icon libraries
|
|
4001
|
+
* differ per framework); only id + i18n key + order are shared here.
|
|
4002
|
+
*/
|
|
4003
|
+
/**
|
|
4004
|
+
* A single toolbar button/control that can be hidden independently of the
|
|
4005
|
+
* ribbon tab it may also appear inside. `zoom` and `navigation` each cover a
|
|
4006
|
+
* whole control cluster (zoom in/out/fit, prev/next) rather than each button
|
|
4007
|
+
* in it, matching how hosts actually want to hide/keep them as a unit.
|
|
4008
|
+
*/
|
|
4009
|
+
type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation';
|
|
4010
|
+
/** 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. */
|
|
4011
|
+
type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
|
|
4012
|
+
type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
|
|
4013
|
+
|
|
3724
4014
|
/**
|
|
3725
4015
|
* Minimal GIF89a encoder (pure JS, no external dependency) plus pure
|
|
3726
4016
|
* frame-planning helpers — shared by the React, Vue, and Angular bindings.
|
|
@@ -4012,6 +4302,22 @@ declare function fpsToFrameIntervalMs(fps: number): number;
|
|
|
4012
4302
|
*/
|
|
4013
4303
|
declare function segmentFrameCount(durationMs: number, fps: number): number;
|
|
4014
4304
|
|
|
4305
|
+
/**
|
|
4306
|
+
* Thin re-export shim → vendored `pptx-viewer-shared` (`render/embedded-fonts`).
|
|
4307
|
+
*
|
|
4308
|
+
* The pure embedded-font `@font-face` assembly (URL/format validation, XOR
|
|
4309
|
+
* de-obfuscation fallback, resolved-variant -> stylesheet/family-list build)
|
|
4310
|
+
* was extracted to shared and is consumed by every binding. This shim preserves
|
|
4311
|
+
* the historical Angular import surface.
|
|
4312
|
+
*
|
|
4313
|
+
* `EMBEDDED_FONTS_STYLE_ID` stays Angular-local: it is the DOM id of the managed
|
|
4314
|
+
* `<style>` element this binding injects, and is intentionally distinct from the
|
|
4315
|
+
* React binding's id.
|
|
4316
|
+
*/
|
|
4317
|
+
|
|
4318
|
+
/** DOM id of the managed `<style>` element the service injects into `<head>`. */
|
|
4319
|
+
declare const EMBEDDED_FONTS_STYLE_ID = "pptx-angular-embedded-fonts";
|
|
4320
|
+
|
|
4015
4321
|
declare class AccessibilityService {
|
|
4016
4322
|
/** Parsed slides of the current presentation. */
|
|
4017
4323
|
readonly slides: _angular_core.WritableSignal<PptxSlide[]>;
|
|
@@ -4258,7 +4564,17 @@ declare class CollaborationService {
|
|
|
4258
4564
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CollaborationService>;
|
|
4259
4565
|
}
|
|
4260
4566
|
|
|
4567
|
+
interface EditorSectionOperations {
|
|
4568
|
+
add(afterSlideIndex: number, name: string): void;
|
|
4569
|
+
rename(sectionId: string, name: string): void;
|
|
4570
|
+
delete(sectionId: string): void;
|
|
4571
|
+
move(sectionId: string, direction: 'up' | 'down'): void;
|
|
4572
|
+
moveSlides(slideIndexes: number[], targetSectionId: string): void;
|
|
4573
|
+
toggle(sectionId: string): void;
|
|
4574
|
+
}
|
|
4575
|
+
|
|
4261
4576
|
declare class EditorStateService {
|
|
4577
|
+
private readonly loader;
|
|
4262
4578
|
/**
|
|
4263
4579
|
* Optional: `inject()` requires an active Angular injection context, which
|
|
4264
4580
|
* plain `new EditorStateService()` calls (used throughout this service's
|
|
@@ -4275,6 +4591,10 @@ declare class EditorStateService {
|
|
|
4275
4591
|
private t;
|
|
4276
4592
|
/** The editable slide deck (a clone of the loaded presentation). */
|
|
4277
4593
|
readonly slides: _angular_core.WritableSignal<readonly PptxSlide[]>;
|
|
4594
|
+
readonly sections: _angular_core.WritableSignal<readonly PptxSection[]>;
|
|
4595
|
+
readonly headerFooter: _angular_core.WritableSignal<PptxHeaderFooter>;
|
|
4596
|
+
readonly sectionGroups: _angular_core.Signal<SectionSlideGroup<PptxSection>[]>;
|
|
4597
|
+
readonly sectionOps: EditorSectionOperations;
|
|
4278
4598
|
/** Ids of the currently selected elements (on the active slide). */
|
|
4279
4599
|
readonly selectedIds: _angular_core.WritableSignal<readonly string[]>;
|
|
4280
4600
|
/** Whether the deck has unsaved edits. */
|
|
@@ -4308,7 +4628,7 @@ declare class EditorStateService {
|
|
|
4308
4628
|
* elements move into {@link templateElementsBySlideId}, rendered as a separate
|
|
4309
4629
|
* layer and re-merged on save.
|
|
4310
4630
|
*/
|
|
4311
|
-
setSlides(slides: readonly PptxSlide[]): void;
|
|
4631
|
+
setSlides(slides: readonly PptxSlide[], sections?: readonly PptxSection[], headerFooter?: PptxHeaderFooter): void;
|
|
4312
4632
|
/** Current editable (template-free) slides as a fresh (cloned) array. */
|
|
4313
4633
|
snapshot(): readonly PptxSlide[];
|
|
4314
4634
|
/**
|
|
@@ -4328,6 +4648,8 @@ declare class EditorStateService {
|
|
|
4328
4648
|
private captureSnapshot;
|
|
4329
4649
|
/** Restore both the deck and the template store from a snapshot. */
|
|
4330
4650
|
private restoreSnapshot;
|
|
4651
|
+
/** Replace presentation-level header/footer settings as one undoable edit. */
|
|
4652
|
+
updateHeaderFooter(next: PptxHeaderFooter): void;
|
|
4331
4653
|
/** The template (master/layout) elements separated out of a slide, by id. */
|
|
4332
4654
|
private templatesForSlide;
|
|
4333
4655
|
/** Replace a slide's template-element list (drops the entry when empty). */
|
|
@@ -4398,6 +4720,8 @@ declare class EditorStateService {
|
|
|
4398
4720
|
duplicateSlide(index: number): void;
|
|
4399
4721
|
/** Reorder a slide from `from` to `to` (records history). */
|
|
4400
4722
|
moveSlide(from: number, to: number): void;
|
|
4723
|
+
addSection(afterSlideIndex: number): void;
|
|
4724
|
+
private commitSections;
|
|
4401
4725
|
private renumber;
|
|
4402
4726
|
private zOrder;
|
|
4403
4727
|
private commit;
|
|
@@ -4545,6 +4869,14 @@ declare class LoadContentService {
|
|
|
4545
4869
|
readonly themeColorMap: _angular_core.WritableSignal<Record<string, string> | undefined>;
|
|
4546
4870
|
/** Slide masters (for placeholder/background resolution). */
|
|
4547
4871
|
readonly slideMasters: _angular_core.WritableSignal<PptxSlideMaster[]>;
|
|
4872
|
+
/** Notes master, including its editable element tree. */
|
|
4873
|
+
readonly notesMaster: _angular_core.WritableSignal<PptxNotesMaster | undefined>;
|
|
4874
|
+
/** Handout master, including its editable element tree. */
|
|
4875
|
+
readonly handoutMaster: _angular_core.WritableSignal<PptxHandoutMaster | undefined>;
|
|
4876
|
+
readonly sections: _angular_core.WritableSignal<PptxSection[]>;
|
|
4877
|
+
readonly presentationProperties: _angular_core.WritableSignal<PptxPresentationProperties>;
|
|
4878
|
+
/** Whether the loaded package contains a VBA project. */
|
|
4879
|
+
readonly hasMacros: _angular_core.WritableSignal<boolean>;
|
|
4548
4880
|
/** Archive-path → displayable URL map for media + poster frames. */
|
|
4549
4881
|
readonly mediaDataUrls: _angular_core.WritableSignal<Map<string, string>>;
|
|
4550
4882
|
/** Embedded font data (name + binary) extracted from the presentation. */
|
|
@@ -4579,7 +4911,7 @@ declare class LoadContentService {
|
|
|
4579
4911
|
* Serialise an explicit set of slides back to `.pptx` bytes (e.g. the
|
|
4580
4912
|
* editor's edited deck) using the loaded presentation's handler.
|
|
4581
4913
|
*/
|
|
4582
|
-
saveSlides(slides: readonly PptxSlide[]): Promise<Uint8Array>;
|
|
4914
|
+
saveSlides(slides: readonly PptxSlide[], outputFormat?: PptxSaveFormat, sections?: readonly PptxSection[]): Promise<Uint8Array>;
|
|
4583
4915
|
/** Parse the supplied `.pptx` bytes into the reactive signals. */
|
|
4584
4916
|
load(raw: Uint8Array | ArrayBuffer | null | undefined): Promise<void>;
|
|
4585
4917
|
private disposeHandler;
|
|
@@ -4650,14 +4982,17 @@ declare function isPresenterMessage(data: unknown): data is PresenterMessage;
|
|
|
4650
4982
|
*/
|
|
4651
4983
|
declare function parseAudienceNonce(): string | null;
|
|
4652
4984
|
declare class PresenterWindowService {
|
|
4985
|
+
readonly snapshot: _angular_core.WritableSignal<PresentationSnapshot>;
|
|
4653
4986
|
private audienceWindow;
|
|
4654
4987
|
private channel;
|
|
4655
4988
|
private pollTimer;
|
|
4989
|
+
private readyListener;
|
|
4656
4990
|
/** Per-session UUID. Regenerated each time openAudienceWindow is invoked. */
|
|
4657
4991
|
private sessionId;
|
|
4658
4992
|
private getChannel;
|
|
4659
4993
|
isAudienceWindowOpen(): boolean;
|
|
4660
4994
|
syncSlideToAudience(slideIndex: number): void;
|
|
4995
|
+
updateSnapshot(patch: Partial<PresentationSnapshot>): void;
|
|
4661
4996
|
closeAudienceWindow(): void;
|
|
4662
4997
|
/**
|
|
4663
4998
|
* Open the audience tab. Persists the PPTX bytes (if any) to IndexedDB, then
|
|
@@ -4665,6 +5000,8 @@ declare class PresenterWindowService {
|
|
|
4665
5000
|
* popup is blocked.
|
|
4666
5001
|
*/
|
|
4667
5002
|
openAudienceWindow(content: ArrayBuffer | Uint8Array | null, currentSlideIndex: number): boolean;
|
|
5003
|
+
/** Connect an audience tab to the presenter channel and announce readiness. */
|
|
5004
|
+
connectAudience(onSlide: (index: number) => void, onExit: () => void): () => void;
|
|
4668
5005
|
private disposeWindow;
|
|
4669
5006
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresenterWindowService, never>;
|
|
4670
5007
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PresenterWindowService>;
|
|
@@ -4697,13 +5034,16 @@ declare class PrintService {
|
|
|
4697
5034
|
* 2. Build the printable HTML (capturing slides as needed).
|
|
4698
5035
|
* 3. Open a print window and trigger `window.print()`.
|
|
4699
5036
|
*
|
|
4700
|
-
*
|
|
4701
|
-
* `captureSlide`
|
|
5037
|
+
* Outline and full-page slides need no rasterisation. Notes and handouts
|
|
5038
|
+
* call `captureSlide` sequentially and skip slides that fail.
|
|
4702
5039
|
*
|
|
4703
5040
|
* @returns `true` if a print window was opened, `false` if blocked (popup
|
|
4704
5041
|
* blocker) or there was nothing to print.
|
|
4705
5042
|
*/
|
|
4706
|
-
print(rawSettings: PrintSettings, slides: PptxSlide[], activeSlideIndex: number, captureSlide: CaptureSlideFn
|
|
5043
|
+
print(rawSettings: PrintSettings, slides: PptxSlide[], activeSlideIndex: number, captureSlide: CaptureSlideFn, slideSize?: Readonly<{
|
|
5044
|
+
width: number;
|
|
5045
|
+
height: number;
|
|
5046
|
+
}>): Promise<boolean>;
|
|
4707
5047
|
/**
|
|
4708
5048
|
* Open a print window, write the document, focus, and trigger printing.
|
|
4709
5049
|
* Returns `false` if the popup was blocked.
|
|
@@ -5388,6 +5728,10 @@ declare class ViewerDialogsService {
|
|
|
5388
5728
|
readonly showVersionHistory: _angular_core.WritableSignal<boolean>;
|
|
5389
5729
|
/** Keyboard-shortcuts help overlay visibility. */
|
|
5390
5730
|
readonly showShortcuts: _angular_core.WritableSignal<boolean>;
|
|
5731
|
+
/** Viewer/editor preferences dialog visibility. */
|
|
5732
|
+
readonly showSettings: _angular_core.WritableSignal<boolean>;
|
|
5733
|
+
/** Presentation header/footer editor visibility. */
|
|
5734
|
+
readonly showHeaderFooter: _angular_core.WritableSignal<boolean>;
|
|
5391
5735
|
/** Keep-annotations dialog visibility. */
|
|
5392
5736
|
readonly showKeepAnnotations: _angular_core.WritableSignal<boolean>;
|
|
5393
5737
|
/** Total ink annotation stroke count carried into the prompt. */
|
|
@@ -5469,6 +5813,8 @@ declare class ViewerExportService {
|
|
|
5469
5813
|
private requireHost;
|
|
5470
5814
|
/** Export the current slide as a PNG download. */
|
|
5471
5815
|
exportPng(): Promise<void>;
|
|
5816
|
+
/** Copy the current slide to the system clipboard as a PNG image. */
|
|
5817
|
+
copySlideAsImage(): Promise<void>;
|
|
5472
5818
|
/**
|
|
5473
5819
|
* Export every slide to a multi-page PDF. Each slide is made the live stage,
|
|
5474
5820
|
* given a render tick to settle, captured to a canvas, then the original
|
|
@@ -5479,16 +5825,13 @@ declare class ViewerExportService {
|
|
|
5479
5825
|
exportGif(): Promise<void>;
|
|
5480
5826
|
/** Export every slide as a WebM video (3s per slide) via MediaRecorder. */
|
|
5481
5827
|
exportVideo(): Promise<void>;
|
|
5482
|
-
/** Run a print job for the chosen settings, rasterising each slide off the live stage. */
|
|
5483
5828
|
onPrint(settings: PrintSettings): Promise<void>;
|
|
5484
|
-
/** User pressed Cancel: abort the loop and close the modal. */
|
|
5485
5829
|
onCancelExport(): void;
|
|
5486
5830
|
/**
|
|
5487
5831
|
* Open the progress modal and arm a fresh `AbortController` for an export.
|
|
5488
5832
|
* Returns the controller whose `signal` the capture loop checks per slide.
|
|
5489
5833
|
*/
|
|
5490
5834
|
private beginExport;
|
|
5491
|
-
/** Tear down the progress modal + export-in-flight state. */
|
|
5492
5835
|
private endExport;
|
|
5493
5836
|
/**
|
|
5494
5837
|
* Render every slide to a canvas (each made the live stage in turn), reporting
|
|
@@ -5507,6 +5850,7 @@ interface FileIOHost {
|
|
|
5507
5850
|
readonly content: () => Uint8Array | ArrayBuffer | null;
|
|
5508
5851
|
readonly onOpenFile: () => (() => void) | undefined;
|
|
5509
5852
|
readonly slides: () => readonly PptxSlide[];
|
|
5853
|
+
readonly sections: () => readonly PptxSection[];
|
|
5510
5854
|
readonly templateElementsBySlideId: () => TemplateElementsBySlideId;
|
|
5511
5855
|
readonly emitContentChange: (bytes: Uint8Array) => void;
|
|
5512
5856
|
}
|
|
@@ -5537,7 +5881,12 @@ declare class ViewerFileIOService {
|
|
|
5537
5881
|
* Surfaced on the mobile toolbar so saving is reachable without the desktop
|
|
5538
5882
|
* ribbon's File tab.
|
|
5539
5883
|
*/
|
|
5884
|
+
saveAs(format: PptxSaveFormat): Promise<void>;
|
|
5540
5885
|
saveAsPptx(): Promise<void>;
|
|
5886
|
+
saveAsPpsx(): Promise<void>;
|
|
5887
|
+
saveAsPptm(): Promise<void>;
|
|
5888
|
+
/** Bundle the presentation and its usage notes in a shareable ZIP archive. */
|
|
5889
|
+
packageForSharing(): Promise<void>;
|
|
5541
5890
|
/**
|
|
5542
5891
|
* File ▸ Open: host override (`onOpenFile` input) takes precedence; otherwise
|
|
5543
5892
|
* a built-in native picker loads the chosen presentation in place.
|
|
@@ -5830,6 +6179,7 @@ interface PresentationModeHost {
|
|
|
5830
6179
|
readonly sourceContent: () => Uint8Array | ArrayBuffer | null;
|
|
5831
6180
|
readonly canEdit: () => boolean;
|
|
5832
6181
|
readonly promptKeepAnnotations: (map: SlideAnnotationMap) => void;
|
|
6182
|
+
readonly applyRehearsalTimings: (timings: Record<number, number>) => void;
|
|
5833
6183
|
}
|
|
5834
6184
|
declare class ViewerPresentationModeService {
|
|
5835
6185
|
private readonly loader;
|
|
@@ -5841,6 +6191,16 @@ declare class ViewerPresentationModeService {
|
|
|
5841
6191
|
readonly presentingPresenter: _angular_core.WritableSignal<boolean>;
|
|
5842
6192
|
/** Epoch ms when presenter view started (drives the elapsed timer). */
|
|
5843
6193
|
readonly presenterStartTime: _angular_core.WritableSignal<number | null>;
|
|
6194
|
+
readonly rehearsing: _angular_core.WritableSignal<boolean>;
|
|
6195
|
+
readonly rehearsalPaused: _angular_core.WritableSignal<boolean>;
|
|
6196
|
+
readonly showRehearsalSummary: _angular_core.WritableSignal<boolean>;
|
|
6197
|
+
readonly rehearsalStartedAt: _angular_core.WritableSignal<number | null>;
|
|
6198
|
+
readonly slideStartedAt: _angular_core.WritableSignal<number | null>;
|
|
6199
|
+
readonly recordedTimings: _angular_core.WritableSignal<Record<number, number>>;
|
|
6200
|
+
/** Live subtitle preference shared by the ribbon and presentation overlay. */
|
|
6201
|
+
readonly subtitlesVisible: _angular_core.WritableSignal<boolean>;
|
|
6202
|
+
private pauseStartedAt;
|
|
6203
|
+
private pausedOnSlideMs;
|
|
5844
6204
|
private host;
|
|
5845
6205
|
/** Wire the host accessors (called once from the component constructor). */
|
|
5846
6206
|
bind(host: PresentationModeHost): void;
|
|
@@ -5851,6 +6211,12 @@ declare class ViewerPresentationModeService {
|
|
|
5851
6211
|
* mounts as a result of `presenting` flipping true.
|
|
5852
6212
|
*/
|
|
5853
6213
|
present(): void;
|
|
6214
|
+
presentFromBeginning(): void;
|
|
6215
|
+
presentFromCurrent(): void;
|
|
6216
|
+
toggleSubtitles(): void;
|
|
6217
|
+
startRehearsalFromBeginning(): void;
|
|
6218
|
+
startRehearsalFromCurrent(): void;
|
|
6219
|
+
private startRehearsal;
|
|
5854
6220
|
/**
|
|
5855
6221
|
* Map a presentation-overlay index back to the full-deck `activeSlideIndex`.
|
|
5856
6222
|
* The overlay's index is relative to the (possibly custom-show-filtered)
|
|
@@ -5858,6 +6224,11 @@ declare class ViewerPresentationModeService {
|
|
|
5858
6224
|
* correct when the show closes.
|
|
5859
6225
|
*/
|
|
5860
6226
|
onPresentationIndexChange(index: number): void;
|
|
6227
|
+
toggleRehearsalPause(): void;
|
|
6228
|
+
closePresentation(): void;
|
|
6229
|
+
saveRehearsalTimings(): void;
|
|
6230
|
+
dismissRehearsalSummary(): void;
|
|
6231
|
+
private recordCurrentSlide;
|
|
5861
6232
|
/**
|
|
5862
6233
|
* Open a separate audience tab and hand off the deck via the shared
|
|
5863
6234
|
* IndexedDB store. Mirrors React's presenter "open audience window".
|
|
@@ -5891,6 +6262,7 @@ declare class ViewerThemeGalleryService {
|
|
|
5891
6262
|
* baseline.
|
|
5892
6263
|
*/
|
|
5893
6264
|
applyThemePreset(preset: PptxThemePreset): void;
|
|
6265
|
+
applyCustomTheme(colorScheme: PptxThemeColorScheme, fontScheme: PptxThemeFontScheme, name: string): void;
|
|
5894
6266
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerThemeGalleryService, never>;
|
|
5895
6267
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerThemeGalleryService>;
|
|
5896
6268
|
}
|
|
@@ -5926,6 +6298,8 @@ declare class ViewerZoomService {
|
|
|
5926
6298
|
declare class PowerPointViewerComponent {
|
|
5927
6299
|
/** PowerPoint content as Uint8Array (or ArrayBuffer). */
|
|
5928
6300
|
readonly content: _angular_core.InputSignal<ArrayBuffer | Uint8Array<ArrayBufferLike> | null>;
|
|
6301
|
+
/** Licensed fonts supplied by the host application. No fonts are bundled. */
|
|
6302
|
+
readonly fontsInput: _angular_core.InputSignal<ViewerFontSource[]>;
|
|
5929
6303
|
/** Whether editing actions are enabled. (Editor chrome not yet ported.) */
|
|
5930
6304
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
5931
6305
|
/** Optional class applied to the root element. */
|
|
@@ -5977,6 +6351,12 @@ declare class PowerPointViewerComponent {
|
|
|
5977
6351
|
* back to the SVG SmartArt renderer. Default `false`.
|
|
5978
6352
|
*/
|
|
5979
6353
|
readonly smartArt3D: _angular_core.InputSignal<boolean>;
|
|
6354
|
+
/**
|
|
6355
|
+
* Toolbar buttons and ribbon tabs the host wants hidden (share, broadcast,
|
|
6356
|
+
* export, undo, redo, record, notes, fullscreen, zoom, navigation, or any
|
|
6357
|
+
* ribbon tab id). Default `[]` hides nothing, matching prior behaviour.
|
|
6358
|
+
*/
|
|
6359
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
5980
6360
|
/** Fired when the active slide changes. */
|
|
5981
6361
|
readonly activeSlideChange: _angular_core.OutputEmitterRef<number>;
|
|
5982
6362
|
/** Fired when the unsaved-changes flag toggles. */
|
|
@@ -6012,6 +6392,7 @@ declare class PowerPointViewerComponent {
|
|
|
6012
6392
|
private readonly smartArt3DSvc;
|
|
6013
6393
|
private readonly zoomTarget;
|
|
6014
6394
|
protected readonly presenterWindow: PresenterWindowService;
|
|
6395
|
+
private readonly destroyRef;
|
|
6015
6396
|
protected readonly dialogs: ViewerDialogsService;
|
|
6016
6397
|
private readonly compareSvc;
|
|
6017
6398
|
protected readonly xport: ViewerExportService;
|
|
@@ -6055,6 +6436,11 @@ declare class PowerPointViewerComponent {
|
|
|
6055
6436
|
protected readonly rootStyle: _angular_core.Signal<Record<string, string>>;
|
|
6056
6437
|
/** Slide-sorter grid overlay visibility. */
|
|
6057
6438
|
protected readonly showSorter: _angular_core.WritableSignal<boolean>;
|
|
6439
|
+
/** Full-canvas master editor visibility and active target. */
|
|
6440
|
+
protected readonly showMasterView: _angular_core.WritableSignal<boolean>;
|
|
6441
|
+
protected readonly masterViewTab: _angular_core.WritableSignal<MasterViewTab>;
|
|
6442
|
+
protected readonly activeMasterIndex: _angular_core.WritableSignal<number>;
|
|
6443
|
+
protected readonly activeLayoutIndex: _angular_core.WritableSignal<number | null>;
|
|
6058
6444
|
/** Whether the left slides panel is collapsed (top-bar sidebar toggle). */
|
|
6059
6445
|
protected readonly slidesPanelCollapsed: _angular_core.WritableSignal<boolean>;
|
|
6060
6446
|
/** Whether periodic autosave is enabled (title-bar AutoSave toggle; default on). */
|
|
@@ -6082,6 +6468,19 @@ declare class PowerPointViewerComponent {
|
|
|
6082
6468
|
protected readonly showGuides: _angular_core.WritableSignal<boolean>;
|
|
6083
6469
|
/** Whether snap-to-grid is active on the editor canvas. */
|
|
6084
6470
|
protected readonly snapToGrid: _angular_core.WritableSignal<boolean>;
|
|
6471
|
+
/** Whether elements snap to nearby element edges and centres. */
|
|
6472
|
+
protected readonly snapToShape: _angular_core.WritableSignal<boolean>;
|
|
6473
|
+
/** Monotonic command consumed by the active canvas to add a ruler guide. */
|
|
6474
|
+
protected readonly guideCommand: _angular_core.WritableSignal<{
|
|
6475
|
+
id: number;
|
|
6476
|
+
axis: "x" | "y";
|
|
6477
|
+
} | null>;
|
|
6478
|
+
/** Whether browser spell-check is active in the inline text editor. */
|
|
6479
|
+
protected readonly spellCheck: _angular_core.WritableSignal<boolean>;
|
|
6480
|
+
/** User override that suppresses viewer animations and transitions. */
|
|
6481
|
+
protected readonly reducedMotion: _angular_core.WritableSignal<boolean>;
|
|
6482
|
+
/** Snapshot consumed by the settings dialog. */
|
|
6483
|
+
protected readonly viewerSettings: _angular_core.Signal<ViewerPreferences>;
|
|
6085
6484
|
/** Whether the Insert SmartArt gallery dialog is open. */
|
|
6086
6485
|
protected readonly showSmartArtInsert: _angular_core.WritableSignal<boolean>;
|
|
6087
6486
|
/**
|
|
@@ -6099,8 +6498,17 @@ declare class PowerPointViewerComponent {
|
|
|
6099
6498
|
* When editing, this serialises the editor's edited deck so changes persist.
|
|
6100
6499
|
*/
|
|
6101
6500
|
getContent(): Promise<Uint8Array>;
|
|
6501
|
+
protected openMasterView(): void;
|
|
6502
|
+
protected closeMasterView(): void;
|
|
6503
|
+
protected selectMasterTab(tab: MasterViewTab): void;
|
|
6504
|
+
protected setMasterBackground(backgroundColor: string): void;
|
|
6505
|
+
protected setHandoutSlidesPerPage(slidesPerPage: number): void;
|
|
6506
|
+
protected updateNotesMaster(master: PptxNotesMaster): void;
|
|
6507
|
+
protected updateHandoutMaster(master: PptxHandoutMaster): void;
|
|
6102
6508
|
goTo(index: number): void;
|
|
6103
6509
|
goPrev(): void;
|
|
6510
|
+
protected onCreatePresentation(templateId: string): void;
|
|
6511
|
+
protected onOpenRecentFile(key: string): void;
|
|
6104
6512
|
goNext(): void;
|
|
6105
6513
|
/** Undo the last editing action. No-op when nothing to undo. */
|
|
6106
6514
|
undo(): void;
|
|
@@ -6182,8 +6590,11 @@ declare class PowerPointViewerComponent {
|
|
|
6182
6590
|
private serializeForAutosave;
|
|
6183
6591
|
/** Review ▸ Compare: pick a `.pptx` and diff it against the current deck. */
|
|
6184
6592
|
protected onOpenCompare(): void;
|
|
6593
|
+
protected addGuide(axis: 'x' | 'y'): void;
|
|
6185
6594
|
/** Swap the deck for a restored version-history snapshot. */
|
|
6186
6595
|
protected onRestoreVersion(bytes: Uint8Array): void;
|
|
6596
|
+
/** Apply Settings dialog changes to the live editor state. */
|
|
6597
|
+
protected onSettingsChange(settings: ViewerSettings): void;
|
|
6187
6598
|
/**
|
|
6188
6599
|
* Mobile "Format" slot: surface the inspector for the current selection. The
|
|
6189
6600
|
* inspector renders inline (below the canvas) whenever an element is selected
|
|
@@ -6219,7 +6630,7 @@ declare class PowerPointViewerComponent {
|
|
|
6219
6630
|
/** Resolve the live slide-stage element within `<main>`. */
|
|
6220
6631
|
private stageElement;
|
|
6221
6632
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PowerPointViewerComponent, never>;
|
|
6222
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "shareDefaults": { "alias": "shareDefaults"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "modeChange": "modeChange"; "zoomChange": "zoomChange"; "selectionChange": "selectionChange"; "slideCountChange": "slideCountChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
|
|
6633
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "fontsInput": { "alias": "fonts"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "shareDefaults": { "alias": "shareDefaults"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "modeChange": "modeChange"; "zoomChange": "zoomChange"; "selectionChange": "selectionChange"; "slideCountChange": "slideCountChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
|
|
6223
6634
|
}
|
|
6224
6635
|
|
|
6225
6636
|
/** The eight resize-handle positions around a selection box. */
|
|
@@ -6309,6 +6720,8 @@ declare class RulerGuidesService {
|
|
|
6309
6720
|
private requireHost;
|
|
6310
6721
|
/** True while an existing or just-created guide is being dragged. */
|
|
6311
6722
|
isDragging(): boolean;
|
|
6723
|
+
/** Add a centered guide from the View ribbon without starting a drag gesture. */
|
|
6724
|
+
addGuide(axis: RulerGuide['axis']): void;
|
|
6312
6725
|
/** Begin dragging an existing guide. Called from the guide handle pointerdown. */
|
|
6313
6726
|
onGuidePointerDown(event: PointerEvent, id: string, axis: RulerGuide['axis']): void;
|
|
6314
6727
|
/** Remove a guide (called on guide handle double-click). */
|
|
@@ -6405,6 +6818,15 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
6405
6818
|
* Combines with edge-alignment snapping.
|
|
6406
6819
|
*/
|
|
6407
6820
|
readonly snapToGrid: _angular_core.InputSignal<boolean>;
|
|
6821
|
+
/** Whether moving elements snap to other element edges and centres. */
|
|
6822
|
+
readonly snapToShape: _angular_core.InputSignal<boolean>;
|
|
6823
|
+
/** Imperative toolbar request to add a centered user guide. */
|
|
6824
|
+
readonly guideCommand: _angular_core.InputSignal<{
|
|
6825
|
+
id: number;
|
|
6826
|
+
axis: "x" | "y";
|
|
6827
|
+
} | null>;
|
|
6828
|
+
/** Whether the inline text editor uses the browser spell checker. */
|
|
6829
|
+
readonly spellCheck: _angular_core.InputSignal<boolean>;
|
|
6408
6830
|
/**
|
|
6409
6831
|
* When true, snap elements to user-created ruler guides during move.
|
|
6410
6832
|
*/
|
|
@@ -6547,6 +6969,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
6547
6969
|
private seededEditId;
|
|
6548
6970
|
/** Last-tap timestamp + element id, for synthetic double-tap detection on touch. */
|
|
6549
6971
|
private lastTap;
|
|
6972
|
+
private lastGuideCommandId;
|
|
6550
6973
|
constructor();
|
|
6551
6974
|
readonly elements: _angular_core.Signal<PptxElement[]>;
|
|
6552
6975
|
/**
|
|
@@ -6635,6 +7058,8 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
6635
7058
|
onContextMenu(event: MouseEvent): void;
|
|
6636
7059
|
onHandlePointerDown(event: PointerEvent, handle: ResizeHandle): void;
|
|
6637
7060
|
onRotatePointerDown(event: PointerEvent): void;
|
|
7061
|
+
onResizeHandleKeydown(event: KeyboardEvent, handle: ResizeHandle): void;
|
|
7062
|
+
onRotateHandleKeydown(event: KeyboardEvent): void;
|
|
6638
7063
|
onPointerMove(event: PointerEvent): void;
|
|
6639
7064
|
onPointerUp(): void;
|
|
6640
7065
|
readonly wrapperStyle: _angular_core.Signal<StyleMap>;
|
|
@@ -6658,33 +7083,9 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
6658
7083
|
readonly vRulerTicks: _angular_core.Signal<readonly RulerTick[]>;
|
|
6659
7084
|
readonly stageStyle: _angular_core.Signal<StyleMap>;
|
|
6660
7085
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideCanvasComponent, never>;
|
|
6661
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideCanvasComponent, "pptx-slide-canvas", never, { "slide": { "alias": "slide"; "required": false; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToGuides": { "alias": "snapToGuides"; "required": false; "isSignal": true; }; "autoFit": { "alias": "autoFit"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "editingId": { "alias": "editingId"; "required": false; "isSignal": true; }; "editTemplateMode": { "alias": "editTemplateMode"; "required": false; "isSignal": true; }; "templateElements": { "alias": "templateElements"; "required": false; "isSignal": true; }; "drawTool": { "alias": "drawTool"; "required": false; "isSignal": true; }; "drawColor": { "alias": "drawColor"; "required": false; "isSignal": true; }; "drawWidth": { "alias": "drawWidth"; "required": false; "isSignal": true; }; }, { "elementSelect": "elementSelect"; "backgroundClick": "backgroundClick"; "transformStart": "transformStart"; "transformUpdate": "transformUpdate"; "contextMenu": "contextMenu"; "textEditStart": "textEditStart"; "textCommit": "textCommit"; "textCancel": "textCancel"; "textFormat": "textFormat"; "rotateUpdate": "rotateUpdate"; "marqueeSelect": "marqueeSelect"; "inkStrokeComplete": "inkStrokeComplete"; "eraserHit": "eraserHit"; "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, never, true, never>;
|
|
7086
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideCanvasComponent, "pptx-slide-canvas", never, { "slide": { "alias": "slide"; "required": false; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "guideCommand": { "alias": "guideCommand"; "required": false; "isSignal": true; }; "spellCheck": { "alias": "spellCheck"; "required": false; "isSignal": true; }; "snapToGuides": { "alias": "snapToGuides"; "required": false; "isSignal": true; }; "autoFit": { "alias": "autoFit"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "editingId": { "alias": "editingId"; "required": false; "isSignal": true; }; "editTemplateMode": { "alias": "editTemplateMode"; "required": false; "isSignal": true; }; "templateElements": { "alias": "templateElements"; "required": false; "isSignal": true; }; "drawTool": { "alias": "drawTool"; "required": false; "isSignal": true; }; "drawColor": { "alias": "drawColor"; "required": false; "isSignal": true; }; "drawWidth": { "alias": "drawWidth"; "required": false; "isSignal": true; }; }, { "elementSelect": "elementSelect"; "backgroundClick": "backgroundClick"; "transformStart": "transformStart"; "transformUpdate": "transformUpdate"; "contextMenu": "contextMenu"; "textEditStart": "textEditStart"; "textCommit": "textCommit"; "textCancel": "textCancel"; "textFormat": "textFormat"; "rotateUpdate": "rotateUpdate"; "marqueeSelect": "marqueeSelect"; "inkStrokeComplete": "inkStrokeComplete"; "eraserHit": "eraserHit"; "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, never, true, never>;
|
|
6662
7087
|
}
|
|
6663
7088
|
|
|
6664
|
-
/**
|
|
6665
|
-
* Pure (Angular-free) helpers for the `<a:clrChange>` colour-change image
|
|
6666
|
-
* effect. Kept out of the component so they can be unit-tested without TestBed
|
|
6667
|
-
* or a DOM, mirroring `model3d-renderer-helpers.ts`.
|
|
6668
|
-
*/
|
|
6669
|
-
/** Parsed `<a:clrChange>` parameters needed to drive the chroma-key. */
|
|
6670
|
-
interface ClrChangeParams {
|
|
6671
|
-
clrFrom: string;
|
|
6672
|
-
clrTo: string;
|
|
6673
|
-
/** Whether the target colour becomes fully transparent (alpha = 0). */
|
|
6674
|
-
clrToTransparent: boolean;
|
|
6675
|
-
/** Match tolerance percentage (0-100). */
|
|
6676
|
-
tolerance: number;
|
|
6677
|
-
}
|
|
6678
|
-
/**
|
|
6679
|
-
* Extract the colour-change effect from an element, or `undefined` when the
|
|
6680
|
-
* element carries no `imageEffects.clrChange` (or its `clrFrom` is empty).
|
|
6681
|
-
*
|
|
6682
|
-
* `clrFrom` is the source colour that must be present for the effect to do
|
|
6683
|
-
* anything, so a blank `clrFrom` is treated as "no effect" (matching React,
|
|
6684
|
-
* where the `clrChange` branch only fires when a valid effect object exists).
|
|
6685
|
-
*/
|
|
6686
|
-
declare function getClrChangeParams(el: PptxElement): ClrChangeParams | undefined;
|
|
6687
|
-
|
|
6688
7089
|
/**
|
|
6689
7090
|
* Text-warp (WordArt) descriptor resolver for the Angular viewer.
|
|
6690
7091
|
*
|
|
@@ -6814,6 +7215,8 @@ interface Paragraph {
|
|
|
6814
7215
|
runs: TextRun[];
|
|
6815
7216
|
/** Bullet / number marker text, when this paragraph is a list item. */
|
|
6816
7217
|
bulletMarker?: string;
|
|
7218
|
+
/** Resolved picture marker, or metadata for its accessible glyph fallback. */
|
|
7219
|
+
bulletPicture?: PictureBulletMarker;
|
|
6817
7220
|
/** `[ngStyle]` map for the bullet marker (colour / font). */
|
|
6818
7221
|
bulletStyle: StyleMap;
|
|
6819
7222
|
/** Left indent in px derived from the paragraph outline level. */
|
|
@@ -6907,14 +7310,6 @@ declare class ElementRendererComponent {
|
|
|
6907
7310
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
6908
7311
|
readonly shapeContainerStyle: _angular_core.Signal<StyleMap>;
|
|
6909
7312
|
readonly textStyle: _angular_core.Signal<StyleMap>;
|
|
6910
|
-
readonly imageSrc: _angular_core.Signal<string | undefined>;
|
|
6911
|
-
/**
|
|
6912
|
-
* Parsed `<a:clrChange>` colour-change effect for this element, or
|
|
6913
|
-
* `undefined` when it carries none. When present the image / media branch
|
|
6914
|
-
* renders via {@link ColorChangedImageComponent} (offscreen-canvas chroma
|
|
6915
|
-
* key) instead of a plain `<img>`.
|
|
6916
|
-
*/
|
|
6917
|
-
readonly clrChangeParams: _angular_core.Signal<ClrChangeParams | undefined>;
|
|
6918
7313
|
/** Text-warp (WordArt) descriptor for the element, if any. */
|
|
6919
7314
|
readonly textWarp: _angular_core.Signal<pptx_angular_viewer.TextWarpDef | undefined>;
|
|
6920
7315
|
/** Only the SVG-textPath warp variant (for the `<svg>` overlay branch). */
|
|
@@ -6957,7 +7352,8 @@ declare class ElementRendererComponent {
|
|
|
6957
7352
|
* Compound (double/triple) lines render as parallel strands and line caps map
|
|
6958
7353
|
* from `a:ln/@cap`; both derive from the shared connector geometry.
|
|
6959
7354
|
*
|
|
6960
|
-
*
|
|
7355
|
+
* Line shadows use an SVG drop-shadow filter and line glow uses the shared
|
|
7356
|
+
* CSS filter builder, matching the other framework bindings.
|
|
6961
7357
|
*/
|
|
6962
7358
|
declare class ConnectorRendererComponent {
|
|
6963
7359
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
@@ -6971,6 +7367,11 @@ declare class ConnectorRendererComponent {
|
|
|
6971
7367
|
/** All derived geometry, recomputed on every input change. */
|
|
6972
7368
|
readonly geo: _angular_core.Signal<ConnectorGeometry>;
|
|
6973
7369
|
readonly viewBox: _angular_core.Signal<string>;
|
|
7370
|
+
private readonly shapeStyle;
|
|
7371
|
+
readonly lineShadow: _angular_core.Signal<LineShadowParams | undefined>;
|
|
7372
|
+
readonly lineGlow: _angular_core.Signal<string | undefined>;
|
|
7373
|
+
readonly shadowFilterId: _angular_core.Signal<string>;
|
|
7374
|
+
readonly wrapperStyle: _angular_core.Signal<string>;
|
|
6974
7375
|
/**
|
|
6975
7376
|
* Parallel strokes for compound (double/triple) line styles. A single line
|
|
6976
7377
|
* yields one strand at offset 0. Each strand carries its own width and is
|
|
@@ -6990,6 +7391,7 @@ interface ConnectorStrand {
|
|
|
6990
7391
|
key: number;
|
|
6991
7392
|
width: number;
|
|
6992
7393
|
transform: string | null;
|
|
7394
|
+
shadowFilter: string | null;
|
|
6993
7395
|
markerStart: string | null;
|
|
6994
7396
|
markerEnd: string | null;
|
|
6995
7397
|
}
|
|
@@ -7514,8 +7916,9 @@ declare function buildInkContainerStyle(element: PptxElement, zIndex: number): S
|
|
|
7514
7916
|
* radii follow the per-point pressure, matching React's `renderInk`. Strokes
|
|
7515
7917
|
* without pressure variation degrade to a plain constant-width `<path>`.
|
|
7516
7918
|
*
|
|
7517
|
-
*
|
|
7518
|
-
*
|
|
7919
|
+
* Presentation mode progressively replays constant-width paths using the
|
|
7920
|
+
* shared dash-offset timing model. Pressure circles remain static because SVG
|
|
7921
|
+
* dash replay only applies to paths.
|
|
7519
7922
|
*
|
|
7520
7923
|
* All non-trivial pure computation lives in `ink-renderer-helpers.ts` (no
|
|
7521
7924
|
* Angular dependency) so it can be unit-tested without TestBed.
|
|
@@ -7524,11 +7927,14 @@ declare class InkRendererComponent {
|
|
|
7524
7927
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
7525
7928
|
readonly zIndex: _angular_core.InputSignal<number>;
|
|
7526
7929
|
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
7930
|
+
readonly replay: _angular_core.InputSignal<boolean>;
|
|
7931
|
+
readonly replayKeyframes = "@keyframes pptx-ink-replay {\n from { stroke-dashoffset: var(--ink-path-length); }\n to { stroke-dashoffset: 0; }\n}";
|
|
7527
7932
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
7528
7933
|
readonly strokes: _angular_core.Signal<InkStroke[]>;
|
|
7934
|
+
readonly replayStyles: _angular_core.Signal<InkStrokeAnimationStyle[]>;
|
|
7529
7935
|
readonly viewBox: _angular_core.Signal<string>;
|
|
7530
7936
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkRendererComponent, never>;
|
|
7531
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InkRendererComponent, "pptx-ink-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7937
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InkRendererComponent, "pptx-ink-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "replay": { "alias": "replay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7532
7938
|
}
|
|
7533
7939
|
|
|
7534
7940
|
/**
|
|
@@ -7806,7 +8212,7 @@ interface ZoomViewModel {
|
|
|
7806
8212
|
/** Zero-based target slide index. */
|
|
7807
8213
|
readonly targetSlideIndex: number;
|
|
7808
8214
|
/** Zoom type string used as the badge label source and data attribute. */
|
|
7809
|
-
readonly zoomType: 'slide' | 'section';
|
|
8215
|
+
readonly zoomType: 'slide' | 'section' | 'summary';
|
|
7810
8216
|
/** Optional section identifier for section zooms. */
|
|
7811
8217
|
readonly targetSectionId: string | undefined;
|
|
7812
8218
|
/** Human-readable badge text ("Slide Zoom" / "Section Zoom"). */
|
|
@@ -7890,6 +8296,7 @@ declare class ZoomRendererComponent {
|
|
|
7890
8296
|
*/
|
|
7891
8297
|
private readonly zoomTarget;
|
|
7892
8298
|
readonly vm: _angular_core.Signal<ZoomViewModel>;
|
|
8299
|
+
readonly summaryView: _angular_core.Signal<SummaryZoomView | undefined>;
|
|
7893
8300
|
/**
|
|
7894
8301
|
* Zoom-navigation context, present only inside a running presentation (the
|
|
7895
8302
|
* overlay provides it). `null` in the editor tree, where the tile stays
|
|
@@ -7900,6 +8307,7 @@ declare class ZoomRendererComponent {
|
|
|
7900
8307
|
protected readonly interactive: _angular_core.Signal<boolean>;
|
|
7901
8308
|
/** Navigate to the zoom target; no-op when the tile is not interactive. */
|
|
7902
8309
|
private activate;
|
|
8310
|
+
protected activateSummary(event: Event, target: number): void;
|
|
7903
8311
|
protected onClick(event: MouseEvent): void;
|
|
7904
8312
|
protected onKeydown(event: KeyboardEvent): void;
|
|
7905
8313
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomRendererComponent, never>;
|
|
@@ -7910,6 +8318,7 @@ declare class AnimationPlaybackService {
|
|
|
7910
8318
|
private readonly destroyRef;
|
|
7911
8319
|
/** The current slide's animations, in document/timeline order. */
|
|
7912
8320
|
private readonly animations;
|
|
8321
|
+
private readonly showWithAnimation;
|
|
7913
8322
|
/**
|
|
7914
8323
|
* Externally-controlled playback step (e.g. derived from a parent click
|
|
7915
8324
|
* counter). `undefined` means there is no external driver. The internal
|
|
@@ -7948,7 +8357,7 @@ declare class AnimationPlaybackService {
|
|
|
7948
8357
|
private rafHandle;
|
|
7949
8358
|
constructor();
|
|
7950
8359
|
/** Feed the current slide's animation list. Resets manual control. */
|
|
7951
|
-
setAnimations(animations: readonly PptxElementAnimation[] | undefined): void;
|
|
8360
|
+
setAnimations(animations: readonly PptxElementAnimation[] | undefined, showWithAnimation?: boolean): void;
|
|
7952
8361
|
/** Update the external playback index (parent-driven build counter). */
|
|
7953
8362
|
setExternalIndex(index: number | undefined): void;
|
|
7954
8363
|
/**
|
|
@@ -8154,12 +8563,16 @@ declare class PresentationAnnotationsService {
|
|
|
8154
8563
|
* plain CSS overlay.
|
|
8155
8564
|
*/
|
|
8156
8565
|
declare class PresentationOverlayComponent implements OnInit {
|
|
8566
|
+
protected readonly presenterWindow: PresenterWindowService;
|
|
8157
8567
|
readonly slides: _angular_core.InputSignal<PptxSlide[]>;
|
|
8158
8568
|
readonly canvasSize: _angular_core.InputSignal<CanvasSize>;
|
|
8159
8569
|
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
8160
8570
|
readonly startIndex: _angular_core.InputSignal<number>;
|
|
8571
|
+
readonly showWithAnimation: _angular_core.InputSignal<boolean | undefined>;
|
|
8572
|
+
readonly subtitlesVisible: _angular_core.InputSignal<boolean>;
|
|
8161
8573
|
readonly indexChange: _angular_core.OutputEmitterRef<number>;
|
|
8162
8574
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
8575
|
+
readonly subtitlesChange: _angular_core.OutputEmitterRef<boolean>;
|
|
8163
8576
|
/**
|
|
8164
8577
|
* Fired just before `closed` when the show carries ink annotations, so the
|
|
8165
8578
|
* host can offer the keep/discard prompt (mirrors React's exit flow).
|
|
@@ -8167,6 +8580,7 @@ declare class PresentationOverlayComponent implements OnInit {
|
|
|
8167
8580
|
readonly annotationsExit: _angular_core.OutputEmitterRef<SlideAnnotationMap>;
|
|
8168
8581
|
/** Zero-based index into `slides()`. */
|
|
8169
8582
|
protected readonly currentIndex: _angular_core.WritableSignal<number>;
|
|
8583
|
+
private readonly syncExternalIndex;
|
|
8170
8584
|
/**
|
|
8171
8585
|
* Active slide-transition animation: the outgoing slide + the incoming
|
|
8172
8586
|
* slide's transition, played over the new slide. Cleared on completion.
|
|
@@ -8185,8 +8599,6 @@ declare class PresentationOverlayComponent implements OnInit {
|
|
|
8185
8599
|
* target slide on click. Descendants resolve this same instance.
|
|
8186
8600
|
*/
|
|
8187
8601
|
private readonly zoomNavigation;
|
|
8188
|
-
/** Whether the live-caption bar is shown. */
|
|
8189
|
-
protected readonly subtitlesVisible: _angular_core.WritableSignal<boolean>;
|
|
8190
8602
|
/** The slide stage root; animation styles are applied to its elements. */
|
|
8191
8603
|
private readonly stageRef;
|
|
8192
8604
|
/**
|
|
@@ -8291,7 +8703,7 @@ declare class PresentationOverlayComponent implements OnInit {
|
|
|
8291
8703
|
private goToSlide;
|
|
8292
8704
|
private emitClosed;
|
|
8293
8705
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresentationOverlayComponent, never>;
|
|
8294
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationOverlayComponent, "pptx-presentation-overlay", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "startIndex": { "alias": "startIndex"; "required": false; "isSignal": true; }; }, { "indexChange": "indexChange"; "closed": "closed"; "annotationsExit": "annotationsExit"; }, never, never, true, never>;
|
|
8706
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresentationOverlayComponent, "pptx-presentation-overlay", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "startIndex": { "alias": "startIndex"; "required": false; "isSignal": true; }; "showWithAnimation": { "alias": "showWithAnimation"; "required": false; "isSignal": true; }; "subtitlesVisible": { "alias": "subtitlesVisible"; "required": false; "isSignal": true; }; }, { "indexChange": "indexChange"; "closed": "closed"; "subtitlesChange": "subtitlesChange"; "annotationsExit": "annotationsExit"; }, never, never, true, never>;
|
|
8295
8707
|
}
|
|
8296
8708
|
|
|
8297
8709
|
/**
|
|
@@ -8393,6 +8805,8 @@ declare class InspectorPanelComponent {
|
|
|
8393
8805
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
8394
8806
|
/** Zero-based index of the active slide. */
|
|
8395
8807
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
8808
|
+
/** Whether mutation controls in the inspector are enabled. */
|
|
8809
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
8396
8810
|
protected readonly editor: EditorStateService;
|
|
8397
8811
|
/** Reactive viewport / pointer flags (drives the bottom-sheet layout). */
|
|
8398
8812
|
protected readonly mobile: IsMobileService;
|
|
@@ -8443,6 +8857,8 @@ declare class InspectorPanelComponent {
|
|
|
8443
8857
|
protected readonly tableEl: _angular_core.Signal<TablePptxElement | undefined>;
|
|
8444
8858
|
/** The selected element narrowed to a chart, or undefined. */
|
|
8445
8859
|
protected readonly chartEl: _angular_core.Signal<ChartPptxElement | undefined>;
|
|
8860
|
+
protected readonly imageEl: _angular_core.Signal<PptxElement | undefined>;
|
|
8861
|
+
protected readonly mediaEl: _angular_core.Signal<MediaPptxElement | undefined>;
|
|
8446
8862
|
/** The selected element narrowed to SmartArt, or undefined. */
|
|
8447
8863
|
protected readonly smartArtEl: _angular_core.Signal<SmartArtPptxElement | undefined>;
|
|
8448
8864
|
/** The selected SmartArt element's data model, or undefined. */
|
|
@@ -8462,6 +8878,7 @@ declare class InspectorPanelComponent {
|
|
|
8462
8878
|
protected onElementReplace(updated: PptxElement): void;
|
|
8463
8879
|
/** The active slide's element-animation list (animations live on the slide). */
|
|
8464
8880
|
protected readonly slideAnimations: _angular_core.Signal<readonly PptxElementAnimation[]>;
|
|
8881
|
+
protected readonly slideElements: _angular_core.Signal<readonly PptxElement[]>;
|
|
8465
8882
|
/** Commit an updated slide-level animation list as one history entry. */
|
|
8466
8883
|
protected onAnimationsChange(animations: PptxElementAnimation[]): void;
|
|
8467
8884
|
protected onPositionChange(event: Event, axis: 'x' | 'y'): void;
|
|
@@ -8476,7 +8893,7 @@ declare class InspectorPanelComponent {
|
|
|
8476
8893
|
protected onItalicToggle(): void;
|
|
8477
8894
|
protected onUnderlineToggle(): void;
|
|
8478
8895
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InspectorPanelComponent, never>;
|
|
8479
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InspectorPanelComponent, "pptx-inspector-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8896
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InspectorPanelComponent, "pptx-inspector-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8480
8897
|
}
|
|
8481
8898
|
|
|
8482
8899
|
declare class GradientPickerComponent {
|
|
@@ -8547,7 +8964,7 @@ declare class TextAdvancedPanelComponent {
|
|
|
8547
8964
|
protected readonly elementKey: _angular_core.Signal<string>;
|
|
8548
8965
|
/** Exposed option arrays for the template. */
|
|
8549
8966
|
protected readonly alignOptions: [NonNullable<"center" | "left" | "right" | "justify" | "justLow" | "dist" | "thaiDist" | undefined>, string][];
|
|
8550
|
-
protected readonly vAlignOptions: [NonNullable<"top" | "
|
|
8967
|
+
protected readonly vAlignOptions: [NonNullable<"top" | "bottom" | "middle" | undefined>, string][];
|
|
8551
8968
|
protected readonly textDirectionOptions: [NonNullable<"eaVert" | "wordArtVert" | "wordArtVertRtl" | "mongolianVert" | "horizontal" | "vertical" | "vertical270" | undefined>, string][];
|
|
8552
8969
|
protected alignLabel(align: NonNullable<TextStyle['align']>): string;
|
|
8553
8970
|
protected onAlignChange(align: NonNullable<TextStyle['align']>): void;
|
|
@@ -9079,6 +9496,8 @@ declare class AnimationAuthorPanelComponent {
|
|
|
9079
9496
|
* emits the entire array.
|
|
9080
9497
|
*/
|
|
9081
9498
|
readonly animations: _angular_core.InputSignal<readonly PptxElementAnimation[]>;
|
|
9499
|
+
/** Every element on the active slide, including elements with no animation. */
|
|
9500
|
+
readonly slideElements: _angular_core.InputSignal<readonly PptxElement[]>;
|
|
9082
9501
|
/**
|
|
9083
9502
|
* Whether editing controls are enabled. When `false` all selects/inputs are
|
|
9084
9503
|
* disabled. Defaults to `true`.
|
|
@@ -9155,21 +9574,13 @@ declare class AnimationAuthorPanelComponent {
|
|
|
9155
9574
|
/** Human-readable order label (1-based, e.g. "2 of 4"). */
|
|
9156
9575
|
protected readonly orderLabel: _angular_core.Signal<any>;
|
|
9157
9576
|
/**
|
|
9158
|
-
*
|
|
9159
|
-
*
|
|
9160
|
-
* component's inputs, so the orchestrator must pass them in via
|
|
9161
|
-
* `[animations]` indirectly; here we surface only what we have access to.
|
|
9162
|
-
*
|
|
9163
|
-
* NOTE: The trigger-shape dropdown is limited to element ids because this
|
|
9164
|
-
* panel does not receive the full slide element list. The orchestrator can
|
|
9165
|
-
* replace this with a richer element label by wrapping the component or
|
|
9166
|
-
* projecting content. This matches the React implementation which used
|
|
9167
|
-
* `activeSlide.elements`.
|
|
9577
|
+
* Every other element on the active slide, including elements that do not
|
|
9578
|
+
* yet have an animation entry. Used by the on-shape-click trigger picker.
|
|
9168
9579
|
*/
|
|
9169
|
-
protected readonly otherElements: _angular_core.Signal<
|
|
9170
|
-
|
|
9171
|
-
}[]>;
|
|
9580
|
+
protected readonly otherElements: _angular_core.Signal<PptxElement[]>;
|
|
9581
|
+
protected elementLabel(element: PptxElement): string;
|
|
9172
9582
|
private emit;
|
|
9583
|
+
protected onPreview(): void;
|
|
9173
9584
|
protected onEntranceChange(event: Event): void;
|
|
9174
9585
|
protected onExitChange(event: Event): void;
|
|
9175
9586
|
protected onEmphasisChange(event: Event): void;
|
|
@@ -9186,21 +9597,22 @@ declare class AnimationAuthorPanelComponent {
|
|
|
9186
9597
|
protected onMoveDown(): void;
|
|
9187
9598
|
protected onRemove(): void;
|
|
9188
9599
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AnimationAuthorPanelComponent, never>;
|
|
9189
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AnimationAuthorPanelComponent, "pptx-animation-author-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "animations": { "alias": "animations"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "animationsChange": "animationsChange"; }, never, never, true, never>;
|
|
9600
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AnimationAuthorPanelComponent, "pptx-animation-author-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "animations": { "alias": "animations"; "required": true; "isSignal": true; }; "slideElements": { "alias": "slideElements"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "animationsChange": "animationsChange"; }, never, never, true, never>;
|
|
9190
9601
|
}
|
|
9191
9602
|
|
|
9192
9603
|
/** Descriptor for a single menu row. */
|
|
9193
|
-
interface
|
|
9604
|
+
interface MobileMenuRow {
|
|
9194
9605
|
key: string;
|
|
9195
9606
|
labelKey: string;
|
|
9196
9607
|
sublabelKey?: string;
|
|
9197
|
-
/** SVG path data (24
|
|
9608
|
+
/** SVG path data (24 x 24 view-box). */
|
|
9198
9609
|
svgPath: string;
|
|
9199
9610
|
disabled?: boolean;
|
|
9200
9611
|
active?: boolean;
|
|
9201
9612
|
danger?: boolean;
|
|
9202
9613
|
emit: () => void;
|
|
9203
9614
|
}
|
|
9615
|
+
|
|
9204
9616
|
declare class MobileMenuSheetComponent {
|
|
9205
9617
|
/** Whether the sheet is visible. */
|
|
9206
9618
|
readonly open: _angular_core.InputSignal<boolean>;
|
|
@@ -9212,6 +9624,8 @@ declare class MobileMenuSheetComponent {
|
|
|
9212
9624
|
readonly showNotes: _angular_core.InputSignal<boolean>;
|
|
9213
9625
|
/** Whether editor-only actions (find-replace etc.) are available. */
|
|
9214
9626
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
9627
|
+
/** Toolbar buttons the host wants hidden ('notes' drops the row, 'export' drops all four export rows). */
|
|
9628
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
9215
9629
|
/** Sheet dismissed (backdrop tap, swipe, or Escape). */
|
|
9216
9630
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
9217
9631
|
/** Open the find-in-slides bar. */
|
|
@@ -9238,14 +9652,14 @@ declare class MobileMenuSheetComponent {
|
|
|
9238
9652
|
readonly exportVideo: _angular_core.OutputEmitterRef<void>;
|
|
9239
9653
|
/** Open the print dialog. */
|
|
9240
9654
|
readonly print: _angular_core.OutputEmitterRef<void>;
|
|
9241
|
-
readonly rows: _angular_core.Signal<
|
|
9655
|
+
readonly rows: _angular_core.Signal<MobileMenuRow[]>;
|
|
9242
9656
|
/**
|
|
9243
9657
|
* Emit the row's action and close the sheet so the user returns to the
|
|
9244
9658
|
* presentation immediately.
|
|
9245
9659
|
*/
|
|
9246
|
-
onRowClick(row:
|
|
9660
|
+
onRowClick(row: MobileMenuRow): void;
|
|
9247
9661
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileMenuSheetComponent, never>;
|
|
9248
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileMenuSheetComponent, "pptx-mobile-menu-sheet", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "showNotes": { "alias": "showNotes"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "openFind": "openFind"; "openSorter": "openSorter"; "toggleNotes": "toggleNotes"; "insertText": "insertText"; "present": "present"; "openFile": "openFile"; "savePptx": "savePptx"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "print": "print"; }, never, never, true, never>;
|
|
9662
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileMenuSheetComponent, "pptx-mobile-menu-sheet", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "showNotes": { "alias": "showNotes"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "openFind": "openFind"; "openSorter": "openSorter"; "toggleNotes": "toggleNotes"; "insertText": "insertText"; "present": "present"; "openFile": "openFile"; "savePptx": "savePptx"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "print": "print"; }, never, never, true, never>;
|
|
9249
9663
|
}
|
|
9250
9664
|
|
|
9251
9665
|
declare class MobileSlidesSheetComponent {
|
|
@@ -9278,6 +9692,8 @@ declare class MobileSlidesSheetComponent {
|
|
|
9278
9692
|
}
|
|
9279
9693
|
|
|
9280
9694
|
declare class MobileSheetComponent {
|
|
9695
|
+
private readonly panel;
|
|
9696
|
+
private releaseFocus;
|
|
9281
9697
|
/** Controls whether the sheet is visible. */
|
|
9282
9698
|
readonly open: _angular_core.InputSignal<boolean>;
|
|
9283
9699
|
/** Optional header text displayed above the body. */
|
|
@@ -9298,7 +9714,7 @@ declare class MobileSheetComponent {
|
|
|
9298
9714
|
/** Whether a drag is in progress (suppresses CSS transition during drag). */
|
|
9299
9715
|
readonly isDragging: _angular_core.WritableSignal<boolean>;
|
|
9300
9716
|
readonly panelStyle: _angular_core.Signal<Record<string, string>>;
|
|
9301
|
-
|
|
9717
|
+
constructor();
|
|
9302
9718
|
onPointerDown(event: PointerEvent): void;
|
|
9303
9719
|
onPointerMove(event: PointerEvent): void;
|
|
9304
9720
|
onPointerUp(event: PointerEvent): void;
|
|
@@ -9306,6 +9722,22 @@ declare class MobileSheetComponent {
|
|
|
9306
9722
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileSheetComponent, "pptx-mobile-sheet", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "heightFraction": { "alias": "heightFraction"; "required": false; "isSignal": true; }; "fullScreen": { "alias": "fullScreen"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
|
|
9307
9723
|
}
|
|
9308
9724
|
|
|
9725
|
+
/**
|
|
9726
|
+
* toolbar-visibility.ts: thin per-component wrapper around the shared
|
|
9727
|
+
* `isActionHidden` helper (see `pptx-viewer-shared`'s `render/toolbar-actions`)
|
|
9728
|
+
* so templates can gate a button/tab with a single `toolbar.isHidden('id')`
|
|
9729
|
+
* call instead of repeating `isActionHidden(id, hiddenActions())` everywhere.
|
|
9730
|
+
*
|
|
9731
|
+
* Mirrors how other pure shared helpers are consumed in this package: assigned
|
|
9732
|
+
* straight onto the component as a `protected readonly` field (see
|
|
9733
|
+
* `ribbon-file-section.component.ts`'s `protected readonly date = formatBackstageDate;`).
|
|
9734
|
+
*/
|
|
9735
|
+
|
|
9736
|
+
interface ToolbarVisibility {
|
|
9737
|
+
/** True when `id` is present in the host's `hiddenActions` list. */
|
|
9738
|
+
isHidden(id: ToolbarActionId): boolean;
|
|
9739
|
+
}
|
|
9740
|
+
|
|
9309
9741
|
declare class MobileToolbarComponent {
|
|
9310
9742
|
/** Whether the undo action is available. */
|
|
9311
9743
|
readonly canUndo: _angular_core.InputSignal<boolean>;
|
|
@@ -9317,6 +9749,8 @@ declare class MobileToolbarComponent {
|
|
|
9317
9749
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
9318
9750
|
/** Whether the mobile-menu sheet is currently open (highlights the button). */
|
|
9319
9751
|
readonly menuOpen: _angular_core.InputSignal<boolean>;
|
|
9752
|
+
/** Toolbar buttons the host wants hidden (gates Undo/Redo independently). */
|
|
9753
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
9320
9754
|
/** User tapped the Menu (hamburger) button. */
|
|
9321
9755
|
readonly toggleMenu: _angular_core.OutputEmitterRef<void>;
|
|
9322
9756
|
/** User tapped Undo. */
|
|
@@ -9327,8 +9761,9 @@ declare class MobileToolbarComponent {
|
|
|
9327
9761
|
readonly save: _angular_core.OutputEmitterRef<void>;
|
|
9328
9762
|
/** User tapped Present. */
|
|
9329
9763
|
readonly present: _angular_core.OutputEmitterRef<void>;
|
|
9764
|
+
protected readonly toolbar: ToolbarVisibility;
|
|
9330
9765
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MobileToolbarComponent, never>;
|
|
9331
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileToolbarComponent, "pptx-mobile-toolbar", never, { "canUndo": { "alias": "canUndo"; "required": false; "isSignal": true; }; "canRedo": { "alias": "canRedo"; "required": false; "isSignal": true; }; "canPresent": { "alias": "canPresent"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "menuOpen": { "alias": "menuOpen"; "required": false; "isSignal": true; }; }, { "toggleMenu": "toggleMenu"; "undo": "undo"; "redo": "redo"; "save": "save"; "present": "present"; }, never, never, true, never>;
|
|
9766
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobileToolbarComponent, "pptx-mobile-toolbar", never, { "canUndo": { "alias": "canUndo"; "required": false; "isSignal": true; }; "canRedo": { "alias": "canRedo"; "required": false; "isSignal": true; }; "canPresent": { "alias": "canPresent"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "menuOpen": { "alias": "menuOpen"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleMenu": "toggleMenu"; "undo": "undo"; "redo": "redo"; "save": "save"; "present": "present"; }, never, never, true, never>;
|
|
9332
9767
|
}
|
|
9333
9768
|
|
|
9334
9769
|
declare class NotesPanelComponent {
|
|
@@ -9410,17 +9845,35 @@ declare class SlidesPanelComponent {
|
|
|
9410
9845
|
/** Emits the zero-based index of the card the user clicked. */
|
|
9411
9846
|
readonly select: _angular_core.OutputEmitterRef<number>;
|
|
9412
9847
|
protected readonly editor: EditorStateService;
|
|
9848
|
+
private readonly translate;
|
|
9849
|
+
private readonly scrollViewport;
|
|
9850
|
+
private readonly scrollTop;
|
|
9851
|
+
private readonly viewportHeight;
|
|
9413
9852
|
/** Zoom level that fits the full canvas width into THUMB_W pixels. */
|
|
9414
9853
|
readonly thumbZoom: _angular_core.Signal<number>;
|
|
9415
9854
|
/** Pixel height of the clipping box (aspect-correct). */
|
|
9416
9855
|
readonly thumbH: _angular_core.Signal<number>;
|
|
9417
9856
|
/** ngStyle object for the thumbnail clipping box. */
|
|
9418
9857
|
readonly clipStyle: _angular_core.Signal<Record<string, string>>;
|
|
9858
|
+
readonly itemHeight: _angular_core.Signal<number>;
|
|
9859
|
+
readonly shouldVirtualize: _angular_core.Signal<boolean>;
|
|
9860
|
+
readonly virtualRange: _angular_core.Signal<VirtualizedRange>;
|
|
9861
|
+
readonly renderedSlides: _angular_core.Signal<{
|
|
9862
|
+
slide: pptx_viewer_core.PptxSlide;
|
|
9863
|
+
index: number;
|
|
9864
|
+
section: pptx_viewer_core.PptxSection | undefined;
|
|
9865
|
+
sectionStart: boolean;
|
|
9866
|
+
}[]>;
|
|
9867
|
+
constructor();
|
|
9868
|
+
onScroll(): void;
|
|
9869
|
+
private syncViewport;
|
|
9419
9870
|
onDuplicate(index: number): void;
|
|
9420
9871
|
onDelete(index: number): void;
|
|
9421
9872
|
onMoveUp(index: number): void;
|
|
9422
9873
|
onMoveDown(index: number): void;
|
|
9423
9874
|
onAddSlide(): void;
|
|
9875
|
+
onRenameSection(sectionId: string, currentName: string): void;
|
|
9876
|
+
sectionIndex(sectionId: string): number;
|
|
9424
9877
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlidesPanelComponent, never>;
|
|
9425
9878
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlidesPanelComponent, "pptx-slides-panel", never, { "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>;
|
|
9426
9879
|
}
|
|
@@ -9454,6 +9907,8 @@ declare class StatusBarComponent {
|
|
|
9454
9907
|
readonly sorterActive: _angular_core.InputSignal<boolean>;
|
|
9455
9908
|
/** True when the presentation overlay is open (active-state styling). */
|
|
9456
9909
|
readonly presenting: _angular_core.InputSignal<boolean>;
|
|
9910
|
+
/** Toolbar buttons the host wants hidden (notes/fullscreen/zoom independently). */
|
|
9911
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
9457
9912
|
readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
|
|
9458
9913
|
readonly normalView: _angular_core.OutputEmitterRef<void>;
|
|
9459
9914
|
readonly openSorter: _angular_core.OutputEmitterRef<void>;
|
|
@@ -9462,6 +9917,7 @@ declare class StatusBarComponent {
|
|
|
9462
9917
|
readonly zoomOut: _angular_core.OutputEmitterRef<void>;
|
|
9463
9918
|
readonly zoomReset: _angular_core.OutputEmitterRef<void>;
|
|
9464
9919
|
private readonly translate;
|
|
9920
|
+
protected readonly toolbar: ToolbarVisibility;
|
|
9465
9921
|
/** "Normal" is active when neither the sorter nor the slideshow is showing. */
|
|
9466
9922
|
protected isNormal(): boolean;
|
|
9467
9923
|
protected min(a: number, b: number): number;
|
|
@@ -9476,7 +9932,7 @@ declare class StatusBarComponent {
|
|
|
9476
9932
|
/** Relative age label for a saved timestamp ("just now" / "N min ago"). */
|
|
9477
9933
|
private formatAutosaveAge;
|
|
9478
9934
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusBarComponent, never>;
|
|
9479
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBarComponent, "pptx-status-bar", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "autosaveStatus": { "alias": "autosaveStatus"; "required": false; "isSignal": true; }; "notesOpen": { "alias": "notesOpen"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "sorterActive": { "alias": "sorterActive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; }, { "toggleNotes": "toggleNotes"; "normalView": "normalView"; "openSorter": "openSorter"; "slideShow": "slideShow"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; }, never, never, true, never>;
|
|
9935
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBarComponent, "pptx-status-bar", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "autosaveStatus": { "alias": "autosaveStatus"; "required": false; "isSignal": true; }; "notesOpen": { "alias": "notesOpen"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "sorterActive": { "alias": "sorterActive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleNotes": "toggleNotes"; "normalView": "normalView"; "openSorter": "openSorter"; "slideShow": "slideShow"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; }, never, never, true, never>;
|
|
9480
9936
|
}
|
|
9481
9937
|
|
|
9482
9938
|
declare class EditorContextMenuComponent {
|
|
@@ -9531,6 +9987,13 @@ declare class EditorContextMenuComponent {
|
|
|
9531
9987
|
}
|
|
9532
9988
|
|
|
9533
9989
|
declare class ExportService {
|
|
9990
|
+
private static readonly PRESENTATION_MIME;
|
|
9991
|
+
/** Build a resolution-independent SVG string directly from slide data. */
|
|
9992
|
+
exportSlideToSvg(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): string;
|
|
9993
|
+
/** Build an SVG Blob directly from slide data. */
|
|
9994
|
+
exportSlideToSvgBlob(slide: PptxSlide, width: number, height: number, options?: SvgExportOptions): Blob;
|
|
9995
|
+
/** Build SVG strings for all selected slides in a parsed presentation. */
|
|
9996
|
+
exportAllSlidesToSvg(data: PptxData, options?: SvgExportOptions): string[];
|
|
9534
9997
|
/**
|
|
9535
9998
|
* Trigger a browser download of serialized `.pptx` bytes.
|
|
9536
9999
|
*
|
|
@@ -9538,6 +10001,8 @@ declare class ExportService {
|
|
|
9538
10001
|
* @param fileName - Suggested download file name (unsafe chars are stripped).
|
|
9539
10002
|
*/
|
|
9540
10003
|
savePptx(bytes: Uint8Array, fileName: string): void;
|
|
10004
|
+
/** Download serialized presentation bytes using the matching package MIME type. */
|
|
10005
|
+
savePresentation(bytes: Uint8Array, fileName: string, format: PptxSaveFormat): void;
|
|
9541
10006
|
/**
|
|
9542
10007
|
* Rasterize a single DOM element to PNG and trigger a browser download.
|
|
9543
10008
|
*
|
|
@@ -9546,6 +10011,8 @@ declare class ExportService {
|
|
|
9546
10011
|
* @param scale - Device-pixel ratio multiplier (default 2 for sharp output).
|
|
9547
10012
|
*/
|
|
9548
10013
|
exportElementToPng(el: HTMLElement, fileName: string, scale?: number): Promise<void>;
|
|
10014
|
+
/** Rasterize an element and copy it to the system clipboard as a PNG image. */
|
|
10015
|
+
copyElementAsPng(el: HTMLElement, scale?: number): Promise<void>;
|
|
9549
10016
|
/**
|
|
9550
10017
|
* Rasterize a single element to a canvas (passthrough to html2canvas-pro).
|
|
9551
10018
|
* Capture each slide's canvas *while that slide is the live DOM*: the
|
|
@@ -9590,6 +10057,21 @@ declare class ExportService {
|
|
|
9590
10057
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
|
|
9591
10058
|
}
|
|
9592
10059
|
|
|
10060
|
+
/**
|
|
10061
|
+
* Canvas Export Utilities for the Angular viewer.
|
|
10062
|
+
*
|
|
10063
|
+
* Provides a safe wrapper around html2canvas that resolves modern CSS colour
|
|
10064
|
+
* functions (oklch, oklab, lch, lab, color()) into rgb()/hex before rendering,
|
|
10065
|
+
* then applies the full CSS preprocessing pipeline (backdrop-filter,
|
|
10066
|
+
* mix-blend-mode, 3D transforms, unsupported features).
|
|
10067
|
+
*
|
|
10068
|
+
* The pure colour-normalisation passes and the CSS preprocessing now live once
|
|
10069
|
+
* in `pptx-viewer-shared` (`export/canvas-color-fix`, `export/css-preprocessing`),
|
|
10070
|
+
* inlined here at build time via `../internal/shared-src`. Only the thin
|
|
10071
|
+
* `renderToCanvas` wrapper that imports `html2canvas-pro` stays local; `_testing`
|
|
10072
|
+
* is re-exported so the colocated unit tests keep their historical import path.
|
|
10073
|
+
*/
|
|
10074
|
+
|
|
9593
10075
|
/**
|
|
9594
10076
|
* A drop-in replacement for `html2canvas(element, options)` that first
|
|
9595
10077
|
* resolves any oklch / oklab / lch / lab / color() values in the cloned
|
|
@@ -9881,6 +10363,8 @@ declare class EmbeddedFontsService {
|
|
|
9881
10363
|
*/
|
|
9882
10364
|
readonly fontFamilies: _angular_core.WritableSignal<string[]>;
|
|
9883
10365
|
private styleEl;
|
|
10366
|
+
private embeddedCss;
|
|
10367
|
+
private userCss;
|
|
9884
10368
|
/** Object URLs minted on the most recent `setFonts`; revoked when superseded. */
|
|
9885
10369
|
private liveObjectUrls;
|
|
9886
10370
|
/** Mints a Blob object URL for de-obfuscated font bytes (impure side effect). */
|
|
@@ -9894,6 +10378,8 @@ declare class EmbeddedFontsService {
|
|
|
9894
10378
|
* leak across re-parses. Pass an empty list (or `null`) to clear everything.
|
|
9895
10379
|
*/
|
|
9896
10380
|
setFonts(fonts: readonly PptxEmbeddedFont[] | null | undefined): void;
|
|
10381
|
+
/** Replace the licensed font sources supplied by the host application. */
|
|
10382
|
+
setHostFonts(fonts: readonly ViewerFontSource[] | null | undefined): void;
|
|
9897
10383
|
/**
|
|
9898
10384
|
* Remove the injected `<style>` element, revoke all live object URLs, and
|
|
9899
10385
|
* reset the signals. Called automatically on destroy; safe to call manually.
|
|
@@ -9907,22 +10393,6 @@ declare class EmbeddedFontsService {
|
|
|
9907
10393
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<EmbeddedFontsService>;
|
|
9908
10394
|
}
|
|
9909
10395
|
|
|
9910
|
-
/**
|
|
9911
|
-
* Thin re-export shim → vendored `pptx-viewer-shared` (`render/embedded-fonts`).
|
|
9912
|
-
*
|
|
9913
|
-
* The pure embedded-font `@font-face` assembly (URL/format validation, XOR
|
|
9914
|
-
* de-obfuscation fallback, resolved-variant -> stylesheet/family-list build)
|
|
9915
|
-
* was extracted to shared and is consumed by every binding. This shim preserves
|
|
9916
|
-
* the historical Angular import surface.
|
|
9917
|
-
*
|
|
9918
|
-
* `EMBEDDED_FONTS_STYLE_ID` stays Angular-local: it is the DOM id of the managed
|
|
9919
|
-
* `<style>` element this binding injects, and is intentionally distinct from the
|
|
9920
|
-
* React binding's id.
|
|
9921
|
-
*/
|
|
9922
|
-
|
|
9923
|
-
/** DOM id of the managed `<style>` element the service injects into `<head>`. */
|
|
9924
|
-
declare const EMBEDDED_FONTS_STYLE_ID = "pptx-angular-embedded-fonts";
|
|
9925
|
-
|
|
9926
10396
|
/** A single rendered playback step (one click group). */
|
|
9927
10397
|
interface AnimationStepView {
|
|
9928
10398
|
/** 1-based step number for display. */
|
|
@@ -9952,6 +10422,220 @@ declare class AnimationPanelComponent {
|
|
|
9952
10422
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AnimationPanelComponent, "pptx-animation-panel", never, { "groups": { "alias": "groups"; "required": true; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "isPlaying": { "alias": "isPlaying"; "required": false; "isSignal": true; }; }, { "playRequested": "playRequested"; "pauseRequested": "pauseRequested"; "stepRequested": "stepRequested"; "resetRequested": "resetRequested"; "seek": "seek"; }, never, never, true, never>;
|
|
9953
10423
|
}
|
|
9954
10424
|
|
|
10425
|
+
declare class ActionSettingsPanelComponent {
|
|
10426
|
+
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
10427
|
+
readonly slideCount: _angular_core.InputSignal<number>;
|
|
10428
|
+
readonly patch: _angular_core.OutputEmitterRef<Partial<PptxElement>>;
|
|
10429
|
+
protected readonly triggers: readonly ["click", "hover"];
|
|
10430
|
+
protected readonly actionTypes: readonly {
|
|
10431
|
+
value: ElementActionType;
|
|
10432
|
+
key: string;
|
|
10433
|
+
}[];
|
|
10434
|
+
private readonly clickAction;
|
|
10435
|
+
private readonly hoverAction;
|
|
10436
|
+
protected actionFor(trigger: 'click' | 'hover'): ElementAction | undefined;
|
|
10437
|
+
private update;
|
|
10438
|
+
protected onType(event: Event, trigger: 'click' | 'hover'): void;
|
|
10439
|
+
protected onUrl(event: Event, trigger: 'click' | 'hover'): void;
|
|
10440
|
+
protected onSlide(event: Event, trigger: 'click' | 'hover'): void;
|
|
10441
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ActionSettingsPanelComponent, never>;
|
|
10442
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ActionSettingsPanelComponent, "pptx-action-settings-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
10443
|
+
}
|
|
10444
|
+
|
|
10445
|
+
type ImageElement = PptxElement & {
|
|
10446
|
+
altText?: string;
|
|
10447
|
+
imageEffects?: PptxImageEffects;
|
|
10448
|
+
};
|
|
10449
|
+
declare class ImagePropertiesPanelComponent {
|
|
10450
|
+
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
10451
|
+
readonly patch: _angular_core.OutputEmitterRef<Partial<PptxElement>>;
|
|
10452
|
+
protected readonly image: _angular_core.Signal<ImageElement>;
|
|
10453
|
+
protected readonly effects: _angular_core.Signal<PptxImageEffects>;
|
|
10454
|
+
protected readonly artisticEffects: readonly [readonly ["none", "pptx.image.effectNone", ""], readonly ["blur", "pptx.image.effectBlur", "blur(4px)"], readonly ["grayscale", "pptx.image.effectGrayscale", "grayscale(100%)"], readonly ["sepia", "pptx.image.effectSepia", "sepia(100%)"], readonly ["pencilSketch", "pptx.image.effectPencilSketch", "grayscale(100%) contrast(150%) brightness(80%)"], readonly ["lineDrawing", "pptx.image.effectLineDrawing", "grayscale(100%) contrast(150%)"], readonly ["watercolorSponge", "pptx.image.effectWatercolor", "saturate(150%) blur(1px)"], readonly ["paintStrokes", "pptx.image.effectPaintStrokes", "blur(3px) saturate(140%)"], readonly ["glow_edges", "pptx.image.effectGlowEdges", "contrast(180%) invert(5%) brightness(110%)"], readonly ["glowDiffused", "pptx.image.effectGlowDiffused", "blur(3px) brightness(120%)"], readonly ["cement", "pptx.image.effectCement", "contrast(200%) brightness(60%)"], readonly ["photocopy", "pptx.image.effectPhotocopy", "grayscale(100%) contrast(200%) brightness(120%)"], readonly ["filmGrain", "pptx.image.effectFilmGrain", "contrast(110%) brightness(105%)"], readonly ["mosaic", "pptx.image.effectMosaic", "blur(8px) contrast(105%)"], readonly ["chalkSketch", "pptx.image.effectChalk", "grayscale(80%) contrast(140%) brightness(110%)"], readonly ["marker", "pptx.image.effectMarker", "contrast(130%) saturate(130%)"], readonly ["cutout", "pptx.image.effectCutout", "contrast(300%) brightness(120%)"], readonly ["pastelsSmooth", "pptx.image.effectPastels", "blur(4px) saturate(120%)"], readonly ["paint", "pptx.image.effectPaint", "blur(3px) saturate(160%) contrast(110%)"], readonly ["plasticWrap", "pptx.image.effectPlasticWrap", "contrast(150%) brightness(115%) saturate(80%)"], readonly ["lightScreen", "pptx.image.effectLightScreen", "brightness(130%) contrast(80%)"], readonly ["sharpen", "pptx.image.effectSharpen", "contrast(160%) brightness(105%)"], readonly ["texturizer", "pptx.image.effectTexturizer", "contrast(110%) brightness(105%)"], readonly ["crisscrossEtching", "pptx.image.effectCrisscross", "grayscale(60%) contrast(120%)"]];
|
|
10455
|
+
protected readonly sliders: readonly [{
|
|
10456
|
+
readonly key: "brightness";
|
|
10457
|
+
readonly label: "pptx.imageAdjustments.brightness";
|
|
10458
|
+
readonly min: -100;
|
|
10459
|
+
readonly max: 100;
|
|
10460
|
+
}, {
|
|
10461
|
+
readonly key: "contrast";
|
|
10462
|
+
readonly label: "pptx.imageAdjustments.contrast";
|
|
10463
|
+
readonly min: -100;
|
|
10464
|
+
readonly max: 100;
|
|
10465
|
+
}, {
|
|
10466
|
+
readonly key: "saturation";
|
|
10467
|
+
readonly label: "pptx.image.saturation";
|
|
10468
|
+
readonly min: -100;
|
|
10469
|
+
readonly max: 100;
|
|
10470
|
+
}, {
|
|
10471
|
+
readonly key: "alphaModFix";
|
|
10472
|
+
readonly label: "pptx.imageAdjustments.transparency";
|
|
10473
|
+
readonly min: 0;
|
|
10474
|
+
readonly max: 100;
|
|
10475
|
+
}, {
|
|
10476
|
+
readonly key: "biLevel";
|
|
10477
|
+
readonly label: "pptx.imageAdjustments.biLevelThreshold";
|
|
10478
|
+
readonly min: 0;
|
|
10479
|
+
readonly max: 100;
|
|
10480
|
+
}];
|
|
10481
|
+
static supports(element: PptxElement): boolean;
|
|
10482
|
+
protected effectValue(key: keyof PptxImageEffects): number;
|
|
10483
|
+
private updateEffects;
|
|
10484
|
+
protected onAltText(event: Event): void;
|
|
10485
|
+
protected onEffectNumber(key: keyof PptxImageEffects, event: Event): void;
|
|
10486
|
+
protected onGrayscale(event: Event): void;
|
|
10487
|
+
protected onArtistic(event: Event): void;
|
|
10488
|
+
protected onDuotone(event: Event, key: 'color1' | 'color2'): void;
|
|
10489
|
+
protected clearDuotone(): void;
|
|
10490
|
+
protected reset(): void;
|
|
10491
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ImagePropertiesPanelComponent, never>;
|
|
10492
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ImagePropertiesPanelComponent, "pptx-image-properties-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
10493
|
+
}
|
|
10494
|
+
|
|
10495
|
+
declare class MediaPropertiesPanelComponent {
|
|
10496
|
+
readonly element: _angular_core.InputSignal<MediaPptxElement>;
|
|
10497
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
10498
|
+
readonly patch: _angular_core.OutputEmitterRef<Partial<PptxElement>>;
|
|
10499
|
+
private readonly loader;
|
|
10500
|
+
protected readonly media: _angular_core.Signal<MediaPptxElement>;
|
|
10501
|
+
protected readonly mediaDataUrls: _angular_core.Signal<Map<any, any>>;
|
|
10502
|
+
protected readonly speeds: readonly [0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4];
|
|
10503
|
+
protected readonly volumePercent: _angular_core.Signal<number>;
|
|
10504
|
+
protected readonly toggles: _angular_core.Signal<readonly [{
|
|
10505
|
+
readonly key: "autoPlay";
|
|
10506
|
+
readonly label: "pptx.media.startAutomatically";
|
|
10507
|
+
readonly value: boolean;
|
|
10508
|
+
}, {
|
|
10509
|
+
readonly key: "loop";
|
|
10510
|
+
readonly label: "pptx.media.loop";
|
|
10511
|
+
readonly value: boolean;
|
|
10512
|
+
}, {
|
|
10513
|
+
readonly key: "playAcrossSlides";
|
|
10514
|
+
readonly label: "pptx.media.playAcrossSlides";
|
|
10515
|
+
readonly value: boolean;
|
|
10516
|
+
}, {
|
|
10517
|
+
readonly key: "fullScreen";
|
|
10518
|
+
readonly label: "pptx.media.fullScreen";
|
|
10519
|
+
readonly value: boolean;
|
|
10520
|
+
}, {
|
|
10521
|
+
readonly key: "hideWhenNotPlaying";
|
|
10522
|
+
readonly label: "pptx.media.hideWhenNotPlaying";
|
|
10523
|
+
readonly value: boolean;
|
|
10524
|
+
}]>;
|
|
10525
|
+
protected numberPatch(key: keyof MediaPptxElement, event: Event): void;
|
|
10526
|
+
protected volumeChange(event: Event): void;
|
|
10527
|
+
protected booleanPatch(key: keyof MediaPptxElement, event: Event): void;
|
|
10528
|
+
protected addBookmark(): void;
|
|
10529
|
+
protected removeBookmark(index: number): void;
|
|
10530
|
+
protected updateBookmark(index: number, key: keyof MediaBookmark, event: Event): void;
|
|
10531
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MediaPropertiesPanelComponent, never>;
|
|
10532
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaPropertiesPanelComponent, "pptx-media-properties-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
10533
|
+
}
|
|
10534
|
+
|
|
10535
|
+
declare class HeaderFooterDialogComponent {
|
|
10536
|
+
readonly open: _angular_core.InputSignal<boolean>;
|
|
10537
|
+
readonly value: _angular_core.InputSignal<PptxHeaderFooter>;
|
|
10538
|
+
readonly save: _angular_core.OutputEmitterRef<PptxHeaderFooter>;
|
|
10539
|
+
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
10540
|
+
protected readonly draft: _angular_core.WritableSignal<PptxHeaderFooter>;
|
|
10541
|
+
constructor();
|
|
10542
|
+
protected setFlag(key: keyof PptxHeaderFooter, event: Event): void;
|
|
10543
|
+
protected setText(key: keyof PptxHeaderFooter, event: Event): void;
|
|
10544
|
+
protected apply(): void;
|
|
10545
|
+
protected closeFromBackdrop(event: MouseEvent): void;
|
|
10546
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HeaderFooterDialogComponent, never>;
|
|
10547
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeaderFooterDialogComponent, "pptx-header-footer-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "save": "save"; "close": "close"; }, never, never, true, never>;
|
|
10548
|
+
}
|
|
10549
|
+
|
|
10550
|
+
declare class MediaPreviewComponent {
|
|
10551
|
+
readonly element: _angular_core.InputSignal<MediaPptxElement>;
|
|
10552
|
+
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
10553
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
10554
|
+
readonly patch: _angular_core.OutputEmitterRef<Partial<PptxElement>>;
|
|
10555
|
+
private readonly mediaEl;
|
|
10556
|
+
protected readonly currentTime: _angular_core.WritableSignal<number>;
|
|
10557
|
+
protected readonly liveDuration: _angular_core.WritableSignal<number>;
|
|
10558
|
+
protected readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
10559
|
+
protected readonly source: _angular_core.Signal<string | undefined>;
|
|
10560
|
+
protected readonly duration: _angular_core.Signal<number>;
|
|
10561
|
+
protected readonly timeLabel: _angular_core.Signal<string>;
|
|
10562
|
+
protected readonly durationLabel: _angular_core.Signal<string>;
|
|
10563
|
+
private readonly liveWidth;
|
|
10564
|
+
private readonly liveHeight;
|
|
10565
|
+
protected readonly resolution: _angular_core.Signal<string | undefined>;
|
|
10566
|
+
protected readonly fileName: _angular_core.Signal<string>;
|
|
10567
|
+
protected syncTime(): void;
|
|
10568
|
+
protected syncDuration(): void;
|
|
10569
|
+
protected togglePlay(): void;
|
|
10570
|
+
protected seekTo(time: number): void;
|
|
10571
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MediaPreviewComponent, never>;
|
|
10572
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaPreviewComponent, "pptx-media-preview", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
10573
|
+
}
|
|
10574
|
+
|
|
10575
|
+
declare class MediaTrimTimelineComponent {
|
|
10576
|
+
readonly duration: _angular_core.InputSignal<number>;
|
|
10577
|
+
readonly trimStartMs: _angular_core.InputSignal<number>;
|
|
10578
|
+
readonly trimEndMs: _angular_core.InputSignal<number>;
|
|
10579
|
+
readonly currentTime: _angular_core.InputSignal<number>;
|
|
10580
|
+
readonly bookmarks: _angular_core.InputSignal<MediaBookmark[]>;
|
|
10581
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
10582
|
+
readonly trimChange: _angular_core.OutputEmitterRef<MediaTrimRange>;
|
|
10583
|
+
readonly seek: _angular_core.OutputEmitterRef<number>;
|
|
10584
|
+
private readonly bar;
|
|
10585
|
+
private readonly dragging;
|
|
10586
|
+
protected readonly geometry: _angular_core.Signal<MediaTimelineGeometry>;
|
|
10587
|
+
protected readonly startLabel: _angular_core.Signal<string>;
|
|
10588
|
+
protected readonly endLabel: _angular_core.Signal<string>;
|
|
10589
|
+
protected beginDrag(handle: MediaTrimHandle, event: PointerEvent): void;
|
|
10590
|
+
protected continueDrag(event: PointerEvent): void;
|
|
10591
|
+
protected endDrag(): void;
|
|
10592
|
+
protected seekFromClick(event: MouseEvent): void;
|
|
10593
|
+
protected seekBookmark(bookmark: MediaBookmark, event: MouseEvent): void;
|
|
10594
|
+
protected bookmarkPercent(bookmark: MediaBookmark): number;
|
|
10595
|
+
private timeFromPointer;
|
|
10596
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MediaTrimTimelineComponent, never>;
|
|
10597
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaTrimTimelineComponent, "pptx-media-trim-timeline", never, { "duration": { "alias": "duration"; "required": true; "isSignal": true; }; "trimStartMs": { "alias": "trimStartMs"; "required": false; "isSignal": true; }; "trimEndMs": { "alias": "trimEndMs"; "required": false; "isSignal": true; }; "currentTime": { "alias": "currentTime"; "required": false; "isSignal": true; }; "bookmarks": { "alias": "bookmarks"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "trimChange": "trimChange"; "seek": "seek"; }, never, never, true, never>;
|
|
10598
|
+
}
|
|
10599
|
+
|
|
10600
|
+
declare class SlideThemeOverridePanelComponent {
|
|
10601
|
+
readonly slide: _angular_core.InputSignal<PptxSlide>;
|
|
10602
|
+
readonly theme: _angular_core.InputSignal<PptxTheme | undefined>;
|
|
10603
|
+
readonly patch: _angular_core.OutputEmitterRef<Partial<PptxSlide>>;
|
|
10604
|
+
protected readonly aliases: readonly ["bg1", "tx1", "bg2", "tx2", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "hlink", "folHlink"];
|
|
10605
|
+
protected readonly slots: readonly ["dk1", "lt1", "dk2", "lt2", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "hlink", "folHlink"];
|
|
10606
|
+
protected readonly labels: Record<"accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "hlink" | "folHlink" | "tx1" | "tx2" | "bg1" | "bg2", string>;
|
|
10607
|
+
protected readonly active: _angular_core.Signal<boolean>;
|
|
10608
|
+
protected current(alias: ColorMapAliasKey): string;
|
|
10609
|
+
protected slotColor(slot: string): string | undefined;
|
|
10610
|
+
private emitOverride;
|
|
10611
|
+
protected toggle(event: Event): void;
|
|
10612
|
+
protected change(alias: ColorMapAliasKey, event: Event): void;
|
|
10613
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideThemeOverridePanelComponent, never>;
|
|
10614
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideThemeOverridePanelComponent, "pptx-slide-theme-override-panel", never, { "slide": { "alias": "slide"; "required": true; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
10615
|
+
}
|
|
10616
|
+
|
|
10617
|
+
interface CustomThemeEdit {
|
|
10618
|
+
colorScheme: PptxThemeColorScheme;
|
|
10619
|
+
fontScheme: PptxThemeFontScheme;
|
|
10620
|
+
name: string;
|
|
10621
|
+
}
|
|
10622
|
+
declare class ThemeEditorFieldsComponent {
|
|
10623
|
+
readonly theme: _angular_core.InputSignal<PptxTheme | undefined>;
|
|
10624
|
+
readonly applyTheme: _angular_core.OutputEmitterRef<CustomThemeEdit>;
|
|
10625
|
+
readonly slots: Array<keyof PptxThemeColorScheme>;
|
|
10626
|
+
readonly colors: _angular_core.WritableSignal<PptxThemeColorScheme>;
|
|
10627
|
+
readonly name: _angular_core.WritableSignal<string>;
|
|
10628
|
+
readonly majorFont: _angular_core.WritableSignal<string>;
|
|
10629
|
+
readonly minorFont: _angular_core.WritableSignal<string>;
|
|
10630
|
+
ngOnInit(): void;
|
|
10631
|
+
protected value(event: Event): string;
|
|
10632
|
+
protected color(slot: keyof PptxThemeColorScheme): string;
|
|
10633
|
+
protected setColor(slot: keyof PptxThemeColorScheme, event: Event): void;
|
|
10634
|
+
protected apply(): void;
|
|
10635
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeEditorFieldsComponent, never>;
|
|
10636
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeEditorFieldsComponent, "pptx-theme-editor-fields", never, { "theme": { "alias": "theme"; "required": false; "isSignal": true; }; }, { "applyTheme": "applyTheme"; }, never, never, true, never>;
|
|
10637
|
+
}
|
|
10638
|
+
|
|
9955
10639
|
/** A positioned cursor view-model used by the template. */
|
|
9956
10640
|
interface PositionedCursor {
|
|
9957
10641
|
clientId: number | string;
|
|
@@ -9971,6 +10655,8 @@ declare class CollaborationCursorsComponent {
|
|
|
9971
10655
|
}
|
|
9972
10656
|
|
|
9973
10657
|
declare class ModalDialogComponent {
|
|
10658
|
+
private readonly panel;
|
|
10659
|
+
private releaseFocus;
|
|
9974
10660
|
/** Whether the dialog is visible. */
|
|
9975
10661
|
readonly open: _angular_core.InputSignal<boolean>;
|
|
9976
10662
|
/** Optional heading shown in the header bar. */
|
|
@@ -9984,8 +10670,7 @@ declare class ModalDialogComponent {
|
|
|
9984
10670
|
* mobile breakpoint. See {@link modalPanelClass}.
|
|
9985
10671
|
*/
|
|
9986
10672
|
protected readonly panelClass: _angular_core.Signal<string>;
|
|
9987
|
-
|
|
9988
|
-
onDocumentKeydown(event: KeyboardEvent): void;
|
|
10673
|
+
constructor();
|
|
9989
10674
|
requestClose(): void;
|
|
9990
10675
|
/**
|
|
9991
10676
|
* Backdrop clicks close the dialog; clicks bubbling up from the panel are
|
|
@@ -10139,7 +10824,10 @@ declare class ShareDialogComponent {
|
|
|
10139
10824
|
readonly roomId: _angular_core.WritableSignal<string>;
|
|
10140
10825
|
readonly userName: _angular_core.WritableSignal<string>;
|
|
10141
10826
|
readonly serverUrl: _angular_core.WritableSignal<string>;
|
|
10827
|
+
readonly invitation: _angular_core.WritableSignal<string>;
|
|
10828
|
+
readonly mode: _angular_core.WritableSignal<"create" | "join">;
|
|
10142
10829
|
readonly copied: _angular_core.WritableSignal<boolean>;
|
|
10830
|
+
readonly pendingConfig: _angular_core.Signal<CollaborationConfig | null>;
|
|
10143
10831
|
readonly canStart: _angular_core.Signal<boolean>;
|
|
10144
10832
|
/** Blank server URL selects the serverless peer-to-peer (webrtc) transport. */
|
|
10145
10833
|
readonly isP2p: _angular_core.Signal<boolean>;
|
|
@@ -10250,8 +10938,12 @@ declare class ViewerExtraDialogsComponent {
|
|
|
10250
10938
|
readonly filePath: _angular_core.InputSignal<string | undefined>;
|
|
10251
10939
|
/** Custom shows offered in the set-up-slide-show "show slides" fieldset. */
|
|
10252
10940
|
readonly customShows: _angular_core.InputSignal<PptxCustomShow[]>;
|
|
10941
|
+
/** Live viewer preferences surfaced by the settings dialog. */
|
|
10942
|
+
readonly settings: _angular_core.InputSignal<ViewerPreferences>;
|
|
10253
10943
|
/** Fired with a restored `.pptx` version's bytes; the host swaps the deck. */
|
|
10254
10944
|
readonly restoreContent: _angular_core.OutputEmitterRef<Uint8Array<ArrayBufferLike>>;
|
|
10945
|
+
/** Fired whenever a settings toggle changes. */
|
|
10946
|
+
readonly settingsChange: _angular_core.OutputEmitterRef<ViewerPreferences>;
|
|
10255
10947
|
protected readonly svc: ViewerDialogsService;
|
|
10256
10948
|
protected readonly compare: ViewerCompareService;
|
|
10257
10949
|
protected readonly editor: EditorStateService;
|
|
@@ -10286,7 +10978,7 @@ declare class ViewerExtraDialogsComponent {
|
|
|
10286
10978
|
/** Clear any save password. */
|
|
10287
10979
|
onRemovePassword(): void;
|
|
10288
10980
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerExtraDialogsComponent, never>;
|
|
10289
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ViewerExtraDialogsComponent, "pptx-viewer-extra-dialogs", never, { "activeSlideIndex": { "alias": "activeSlideIndex"; "required": false; "isSignal": true; }; "selectedElementId": { "alias": "selectedElementId"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "customShows": { "alias": "customShows"; "required": false; "isSignal": true; }; }, { "restoreContent": "restoreContent"; }, never, never, true, never>;
|
|
10981
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ViewerExtraDialogsComponent, "pptx-viewer-extra-dialogs", never, { "activeSlideIndex": { "alias": "activeSlideIndex"; "required": false; "isSignal": true; }; "selectedElementId": { "alias": "selectedElementId"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "customShows": { "alias": "customShows"; "required": false; "isSignal": true; }; "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, { "restoreContent": "restoreContent"; "settingsChange": "settingsChange"; }, never, never, true, never>;
|
|
10290
10982
|
}
|
|
10291
10983
|
|
|
10292
10984
|
declare class EquationEditorDialogComponent {
|
|
@@ -10367,7 +11059,7 @@ declare class SetUpSlideShowDialogComponent {
|
|
|
10367
11059
|
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
10368
11060
|
/** Working copy of the properties; seeded from `properties` on open. */
|
|
10369
11061
|
readonly draft: _angular_core.WritableSignal<PptxPresentationProperties>;
|
|
10370
|
-
readonly showType: _angular_core.Signal<"
|
|
11062
|
+
readonly showType: _angular_core.Signal<"kiosk" | "presented" | "browsed">;
|
|
10371
11063
|
readonly showSlidesMode: _angular_core.Signal<"range" | "all" | "customShow">;
|
|
10372
11064
|
constructor();
|
|
10373
11065
|
/** Merge a partial patch into the current draft. */
|
|
@@ -10672,11 +11364,24 @@ declare class ShortcutPanelComponent {
|
|
|
10672
11364
|
/** Fired when the Close button is clicked. */
|
|
10673
11365
|
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
10674
11366
|
/** Static shortcut reference rows. */
|
|
10675
|
-
protected readonly items: pptx_angular_viewer.ShortcutReferenceItem[];
|
|
11367
|
+
protected readonly items: readonly pptx_angular_viewer.ShortcutReferenceItem[];
|
|
10676
11368
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShortcutPanelComponent, never>;
|
|
10677
11369
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShortcutPanelComponent, "pptx-shortcut-panel", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, never, true, never>;
|
|
10678
11370
|
}
|
|
10679
11371
|
|
|
11372
|
+
declare class SettingsDialogComponent {
|
|
11373
|
+
readonly open: _angular_core.InputSignal<boolean>;
|
|
11374
|
+
readonly settings: _angular_core.InputSignal<ViewerPreferences>;
|
|
11375
|
+
readonly settingsChange: _angular_core.OutputEmitterRef<ViewerPreferences>;
|
|
11376
|
+
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
11377
|
+
protected readonly activeTab: _angular_core.WritableSignal<"general" | "shortcuts">;
|
|
11378
|
+
protected readonly specs: readonly ViewerPreferenceToggle[];
|
|
11379
|
+
protected readonly shortcuts: readonly pptx_angular_viewer.ShortcutReferenceItem[];
|
|
11380
|
+
protected toggle(key: keyof ViewerSettings): void;
|
|
11381
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SettingsDialogComponent, never>;
|
|
11382
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SettingsDialogComponent, "pptx-settings-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, { "settingsChange": "settingsChange"; "close": "close"; }, never, never, true, never>;
|
|
11383
|
+
}
|
|
11384
|
+
|
|
10680
11385
|
declare class KeepAnnotationsDialogComponent {
|
|
10681
11386
|
/** Whether the dialog is visible. */
|
|
10682
11387
|
readonly open: _angular_core.InputSignal<boolean>;
|
|
@@ -11016,6 +11721,7 @@ declare class PresentationTransitionOverlayComponent {
|
|
|
11016
11721
|
* - `closeAudienceWindow` : request closing the audience display window
|
|
11017
11722
|
*/
|
|
11018
11723
|
declare class PresenterViewComponent {
|
|
11724
|
+
protected readonly presenterWindow: PresenterWindowService;
|
|
11019
11725
|
protected readonly NOTES_FONT_SIZE_MIN = 10;
|
|
11020
11726
|
protected readonly NOTES_FONT_SIZE_MAX = 32;
|
|
11021
11727
|
readonly slides: _angular_core.InputSignal<PptxSlide[]>;
|
|
@@ -11029,6 +11735,7 @@ declare class PresenterViewComponent {
|
|
|
11029
11735
|
readonly exit: _angular_core.OutputEmitterRef<void>;
|
|
11030
11736
|
readonly openAudienceWindow: _angular_core.OutputEmitterRef<void>;
|
|
11031
11737
|
readonly closeAudienceWindow: _angular_core.OutputEmitterRef<void>;
|
|
11738
|
+
readonly navigateToSlide: _angular_core.OutputEmitterRef<number>;
|
|
11032
11739
|
/** Live wall-clock (epoch ms), advanced once per second. */
|
|
11033
11740
|
private readonly now;
|
|
11034
11741
|
/** Speaker-notes font size (px), clamped to the allowed range. */
|
|
@@ -11055,7 +11762,7 @@ declare class PresenterViewComponent {
|
|
|
11055
11762
|
protected onToggleAudienceWindow(): void;
|
|
11056
11763
|
private withTemplate;
|
|
11057
11764
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresenterViewComponent, never>;
|
|
11058
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresenterViewComponent, "pptx-presenter-view", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "currentSlideIndex": { "alias": "currentSlideIndex"; "required": true; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "templateElements": { "alias": "templateElements"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "presentationStartTime": { "alias": "presentationStartTime"; "required": false; "isSignal": true; }; "isAudienceWindowOpen": { "alias": "isAudienceWindowOpen"; "required": false; "isSignal": true; }; }, { "movePresentationSlide": "movePresentationSlide"; "exit": "exit"; "openAudienceWindow": "openAudienceWindow"; "closeAudienceWindow": "closeAudienceWindow"; }, never, never, true, never>;
|
|
11765
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PresenterViewComponent, "pptx-presenter-view", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "currentSlideIndex": { "alias": "currentSlideIndex"; "required": true; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "templateElements": { "alias": "templateElements"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "presentationStartTime": { "alias": "presentationStartTime"; "required": false; "isSignal": true; }; "isAudienceWindowOpen": { "alias": "isAudienceWindowOpen"; "required": false; "isSignal": true; }; }, { "movePresentationSlide": "movePresentationSlide"; "exit": "exit"; "openAudienceWindow": "openAudienceWindow"; "closeAudienceWindow": "closeAudienceWindow"; "navigateToSlide": "navigateToSlide"; }, never, never, true, never>;
|
|
11059
11766
|
}
|
|
11060
11767
|
|
|
11061
11768
|
/**
|
|
@@ -11199,16 +11906,16 @@ declare function isAudienceTab(): boolean;
|
|
|
11199
11906
|
* Store PPTX content bytes so the audience tab can retrieve them.
|
|
11200
11907
|
* Called by the presenter before opening the audience window.
|
|
11201
11908
|
*/
|
|
11202
|
-
declare function storeAudienceContent(content: ArrayBuffer | Uint8Array): Promise<void>;
|
|
11909
|
+
declare function storeAudienceContent(content: ArrayBuffer | Uint8Array, sessionId?: string): Promise<void>;
|
|
11203
11910
|
/**
|
|
11204
11911
|
* Load PPTX content bytes stored by the presenter tab.
|
|
11205
11912
|
* Returns `null` if nothing is stored.
|
|
11206
11913
|
*/
|
|
11207
|
-
declare function loadAudienceContent(): Promise<Uint8Array | null>;
|
|
11914
|
+
declare function loadAudienceContent(sessionId?: string): Promise<Uint8Array | null>;
|
|
11208
11915
|
/**
|
|
11209
11916
|
* Remove stored audience content (cleanup).
|
|
11210
11917
|
*/
|
|
11211
|
-
declare function clearAudienceContent(): Promise<void>;
|
|
11918
|
+
declare function clearAudienceContent(sessionId?: string): Promise<void>;
|
|
11212
11919
|
|
|
11213
11920
|
/**
|
|
11214
11921
|
* SVG path generators for WordArt text warp presets.
|
|
@@ -12185,12 +12892,22 @@ declare class RibbonDrawSectionComponent {
|
|
|
12185
12892
|
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>;
|
|
12186
12893
|
}
|
|
12187
12894
|
|
|
12188
|
-
/**
|
|
12189
|
-
|
|
12190
|
-
|
|
12191
|
-
|
|
12192
|
-
|
|
12193
|
-
|
|
12895
|
+
/**
|
|
12896
|
+
* ribbon-types.ts: shared ribbon-tab id type used by {@link RibbonComponent},
|
|
12897
|
+
* {@link RibbonTabListComponent}, and {@link RibbonContentComponent}. Kept in
|
|
12898
|
+
* its own file (rather than declared in one of those components) so none of
|
|
12899
|
+
* them has to import a type from a sibling that also imports it, mirroring
|
|
12900
|
+
* the Svelte binding's `ribbon/ribbon-types.ts`.
|
|
12901
|
+
*/
|
|
12902
|
+
|
|
12903
|
+
/**
|
|
12904
|
+
* Ribbon tab identifiers. Includes 'text' and 'arrange' on top of the shared
|
|
12905
|
+
* {@link ToolbarTabId} catalogue: two extra content-only tabs that don't get
|
|
12906
|
+
* their own tab-bar button (no `TOOLBAR_TABS` entry) but are still reachable
|
|
12907
|
+
* as `@switch` cases.
|
|
12908
|
+
*/
|
|
12909
|
+
type RibbonTab = ToolbarTabId | 'text' | 'arrange';
|
|
12910
|
+
|
|
12194
12911
|
declare class RibbonComponent {
|
|
12195
12912
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
12196
12913
|
readonly slideCount: _angular_core.InputSignal<number>;
|
|
@@ -12201,6 +12918,7 @@ declare class RibbonComponent {
|
|
|
12201
12918
|
readonly formatPainterActive: _angular_core.InputSignal<boolean>;
|
|
12202
12919
|
readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
|
|
12203
12920
|
readonly exporting: _angular_core.InputSignal<boolean>;
|
|
12921
|
+
readonly hasMacros: _angular_core.InputSignal<boolean>;
|
|
12204
12922
|
/** Current visibility state of the grid overlay (for active-state styling). */
|
|
12205
12923
|
readonly showGrid: _angular_core.InputSignal<boolean>;
|
|
12206
12924
|
/** Current visibility state of rulers (for active-state styling). */
|
|
@@ -12209,6 +12927,7 @@ declare class RibbonComponent {
|
|
|
12209
12927
|
readonly showGuides: _angular_core.InputSignal<boolean>;
|
|
12210
12928
|
/** Current state of snap-to-grid (for active-state styling). */
|
|
12211
12929
|
readonly snapToGrid: _angular_core.InputSignal<boolean>;
|
|
12930
|
+
readonly snapToShape: _angular_core.InputSignal<boolean>;
|
|
12212
12931
|
/** Current state of eyedropper tool (for active-state styling). */
|
|
12213
12932
|
readonly eyedropperActive: _angular_core.InputSignal<boolean>;
|
|
12214
12933
|
/** Current visibility state of the theme gallery overlay (for active-state styling). */
|
|
@@ -12227,6 +12946,11 @@ declare class RibbonComponent {
|
|
|
12227
12946
|
readonly collabConnected: _angular_core.InputSignal<boolean>;
|
|
12228
12947
|
/** Connected collaborator count (Share button label). */
|
|
12229
12948
|
readonly connectedCount: _angular_core.InputSignal<number>;
|
|
12949
|
+
/** Current live proofing state shown by the Review ribbon command. */
|
|
12950
|
+
readonly spellCheckEnabled: _angular_core.InputSignal<boolean>;
|
|
12951
|
+
readonly showSubtitles: _angular_core.InputSignal<boolean>;
|
|
12952
|
+
/** Toolbar buttons/tabs the host wants hidden. Default `[]` hides nothing. */
|
|
12953
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
12230
12954
|
readonly prev: _angular_core.OutputEmitterRef<void>;
|
|
12231
12955
|
readonly next: _angular_core.OutputEmitterRef<void>;
|
|
12232
12956
|
readonly zoomIn: _angular_core.OutputEmitterRef<void>;
|
|
@@ -12237,11 +12961,23 @@ declare class RibbonComponent {
|
|
|
12237
12961
|
readonly presenter: _angular_core.OutputEmitterRef<void>;
|
|
12238
12962
|
/** Emitted by the tab-row Record button (starts a slide-show run-through). */
|
|
12239
12963
|
readonly record: _angular_core.OutputEmitterRef<void>;
|
|
12964
|
+
readonly presentFromBeginning: _angular_core.OutputEmitterRef<void>;
|
|
12965
|
+
readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
|
|
12966
|
+
readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
|
|
12967
|
+
readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
|
|
12968
|
+
readonly recordFromBeginning: _angular_core.OutputEmitterRef<void>;
|
|
12969
|
+
readonly recordFromCurrent: _angular_core.OutputEmitterRef<void>;
|
|
12970
|
+
readonly spellCheckChange: _angular_core.OutputEmitterRef<boolean>;
|
|
12240
12971
|
readonly share: _angular_core.OutputEmitterRef<void>;
|
|
12241
12972
|
readonly broadcast: _angular_core.OutputEmitterRef<void>;
|
|
12242
12973
|
readonly openFile: _angular_core.OutputEmitterRef<void>;
|
|
12974
|
+
readonly openRecentFile: _angular_core.OutputEmitterRef<string>;
|
|
12975
|
+
readonly createPresentation: _angular_core.OutputEmitterRef<string>;
|
|
12243
12976
|
/** Emitted when the user clicks "Save" in the File tab (saves as .pptx). */
|
|
12244
12977
|
readonly save: _angular_core.OutputEmitterRef<void>;
|
|
12978
|
+
readonly savePpsx: _angular_core.OutputEmitterRef<void>;
|
|
12979
|
+
readonly savePptm: _angular_core.OutputEmitterRef<void>;
|
|
12980
|
+
readonly packageForSharing: _angular_core.OutputEmitterRef<void>;
|
|
12245
12981
|
/** Emitted when the user toggles the slides panel from the top bar. */
|
|
12246
12982
|
readonly toggleSidebar: _angular_core.OutputEmitterRef<void>;
|
|
12247
12983
|
/** Emitted when the user opens the Digital Signatures panel from the File tab. */
|
|
@@ -12252,29 +12988,20 @@ declare class RibbonComponent {
|
|
|
12252
12988
|
readonly a11y: _angular_core.OutputEmitterRef<void>;
|
|
12253
12989
|
readonly link: _angular_core.OutputEmitterRef<void>;
|
|
12254
12990
|
readonly openSorter: _angular_core.OutputEmitterRef<void>;
|
|
12991
|
+
readonly openMasterView: _angular_core.OutputEmitterRef<void>;
|
|
12255
12992
|
readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
|
|
12256
12993
|
readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
|
|
12257
12994
|
readonly exportPng: _angular_core.OutputEmitterRef<void>;
|
|
12258
12995
|
readonly exportPdf: _angular_core.OutputEmitterRef<void>;
|
|
12259
12996
|
readonly exportGif: _angular_core.OutputEmitterRef<void>;
|
|
12260
12997
|
readonly exportVideo: _angular_core.OutputEmitterRef<void>;
|
|
12998
|
+
readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
|
|
12261
12999
|
readonly replace: _angular_core.OutputEmitterRef<void>;
|
|
12262
|
-
/**
|
|
12263
|
-
* Emitted by Design / Transitions / Animations tabs when the user wants to
|
|
12264
|
-
* open the right-docked Inspector panel (Format Background, Transitions full
|
|
12265
|
-
* options, Animation Panel). The parent component decides what to show.
|
|
12266
|
-
*/
|
|
13000
|
+
/** Design/Transitions/Animations tabs want the right-docked Inspector panel opened. */
|
|
12267
13001
|
readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
|
|
12268
|
-
/**
|
|
12269
|
-
* Emitted whenever the Draw tab tool state changes (tool / colour / width).
|
|
12270
|
-
* The parent may connect this to an annotation / ink layer when available.
|
|
12271
|
-
* Currently UI-only; no freehand-draw back-end exists in the Angular port.
|
|
12272
|
-
*/
|
|
13002
|
+
/** Draw tab tool state changed (tool/colour/width); UI-only, no ink back-end yet. */
|
|
12273
13003
|
readonly drawToolChange: _angular_core.OutputEmitterRef<DrawToolState>;
|
|
12274
|
-
/**
|
|
12275
|
-
* Emitted when the user clicks "Browse Themes" in the Design tab.
|
|
12276
|
-
* The parent toggles the theme-gallery overlay.
|
|
12277
|
-
*/
|
|
13004
|
+
/** Emitted when the user clicks "Browse Themes" in the Design tab. */
|
|
12278
13005
|
readonly toggleThemeGallery: _angular_core.OutputEmitterRef<void>;
|
|
12279
13006
|
/** Emitted when the user toggles the grid overlay in the View tab. */
|
|
12280
13007
|
readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
|
|
@@ -12288,13 +13015,12 @@ declare class RibbonComponent {
|
|
|
12288
13015
|
readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
|
|
12289
13016
|
/** Emitted when the user toggles snap-to-grid in the View tab. */
|
|
12290
13017
|
readonly toggleSnapToGrid: _angular_core.OutputEmitterRef<void>;
|
|
13018
|
+
readonly toggleSnapToShape: _angular_core.OutputEmitterRef<void>;
|
|
13019
|
+
readonly addGuide: _angular_core.OutputEmitterRef<"x" | "y">;
|
|
13020
|
+
readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
|
|
12291
13021
|
/** Emitted when the user activates the eyedropper in the View tab. */
|
|
12292
13022
|
readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
|
|
12293
|
-
/**
|
|
12294
|
-
* Emitted when the user clicks "SmartArt" in the Insert tab. The host opens
|
|
12295
|
-
* the Insert SmartArt gallery dialog and performs the actual insert, so the
|
|
12296
|
-
* ribbon stays free of the dialog state and node-building logic.
|
|
12297
|
-
*/
|
|
13023
|
+
/** "SmartArt" in the Insert tab; the host opens the gallery dialog and does the insert. */
|
|
12298
13024
|
readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
|
|
12299
13025
|
/** Emitted when the user clicks "Equation" in the Insert tab (opens the editor). */
|
|
12300
13026
|
readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
|
|
@@ -12310,43 +13036,30 @@ declare class RibbonComponent {
|
|
|
12310
13036
|
readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
|
|
12311
13037
|
/** Emitted when the user clicks "Shortcuts" in the Help tab. */
|
|
12312
13038
|
readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
|
|
13039
|
+
/** Emitted when the user opens viewer preferences from the Help tab. */
|
|
13040
|
+
readonly openSettings: _angular_core.OutputEmitterRef<void>;
|
|
12313
13041
|
/** Emitted when a shape is inserted from the Drawing group. */
|
|
12314
13042
|
readonly shapeInsert: _angular_core.OutputEmitterRef<string>;
|
|
12315
13043
|
/** Emitted when the user reorders an element layer (up/down). */
|
|
12316
13044
|
readonly moveLayer: _angular_core.OutputEmitterRef<string>;
|
|
12317
13045
|
/** Emitted when the user moves an element to front/back. */
|
|
12318
13046
|
readonly moveLayerToEdge: _angular_core.OutputEmitterRef<string>;
|
|
12319
|
-
protected readonly tabs: readonly TabDef[];
|
|
12320
|
-
/** Shared class tokens for the tab-row Record button. */
|
|
12321
|
-
protected readonly tra: {
|
|
12322
|
-
readonly record: "inline-flex items-center gap-1.5 px-2.5 py-1 mr-1 rounded-sm text-[11px] font-medium text-foreground hover:bg-accent/60 transition-colors whitespace-nowrap";
|
|
12323
|
-
readonly recordDot: "w-2 h-2 rounded-full bg-red-600 shrink-0";
|
|
12324
|
-
};
|
|
12325
13047
|
protected readonly activeTab: _angular_core.WritableSignal<RibbonTab>;
|
|
12326
13048
|
/** Ribbon content expanded (true) vs collapsed to just the tab bar (false). */
|
|
12327
13049
|
protected readonly ribbonExpanded: _angular_core.WritableSignal<boolean>;
|
|
12328
|
-
/**
|
|
12329
|
-
protected
|
|
12330
|
-
/**
|
|
12331
|
-
protected
|
|
12332
|
-
/** Drawing pen colour (UI state only). */
|
|
12333
|
-
protected readonly drawingColor: _angular_core.WritableSignal<string>;
|
|
12334
|
-
/** Drawing stroke width in pixels (UI state only). */
|
|
12335
|
-
protected readonly drawingWidth: _angular_core.WritableSignal<number>;
|
|
12336
|
-
/** The transition type currently selected in the ribbon gallery. */
|
|
12337
|
-
protected readonly selectedTransition: _angular_core.WritableSignal<PptxTransitionType>;
|
|
12338
|
-
/** Transition duration in seconds (round-trips through the UI input). */
|
|
12339
|
-
protected readonly transitionDurationSec: _angular_core.WritableSignal<number>;
|
|
12340
|
-
/** Sync the draw-tool signals with a Draw-tab change and re-broadcast it. */
|
|
12341
|
-
protected onDrawChange(state: DrawToolState): void;
|
|
13050
|
+
/** Route both File Options and Review Language to the real Settings dialog. */
|
|
13051
|
+
protected requestSettings(): void;
|
|
13052
|
+
/** Forward the Review proofing toggle to the viewer-owned live state. */
|
|
13053
|
+
protected setSpellCheck(enabled: boolean): void;
|
|
12342
13054
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
|
|
12343
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonComponent, "pptx-ribbon", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; "themeGalleryOpen": { "alias": "themeGalleryOpen"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; "isSignal": true; }; "inspectorOpen": { "alias": "inspectorOpen"; "required": false; "isSignal": true; }; "commentsOpen": { "alias": "commentsOpen"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "findOpen": { "alias": "findOpen"; "required": false; "isSignal": true; }; "collabConnected": { "alias": "collabConnected"; "required": false; "isSignal": true; }; "connectedCount": { "alias": "connectedCount"; "required": false; "isSignal": true; }; }, { "prev": "prev"; "next": "next"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; "find": "find"; "present": "present"; "presenter": "presenter"; "record": "record"; "share": "share"; "broadcast": "broadcast"; "openFile": "openFile"; "save": "save"; "toggleSidebar": "toggleSidebar"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "toggleNotes": "toggleNotes"; "toggleFormatPainter": "toggleFormatPainter"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "replace": "replace"; "toggleInspector": "toggleInspector"; "drawToolChange": "drawToolChange"; "toggleThemeGallery": "toggleThemeGallery"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "openCustomShows": "openCustomShows"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleEyedropper": "toggleEyedropper"; "openSmartArtDialog": "openSmartArtDialog"; "openEquationDialog": "openEquationDialog"; "openSetUpSlideShow": "openSetUpSlideShow"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "shapeInsert": "shapeInsert"; "moveLayer": "moveLayer"; "moveLayerToEdge": "moveLayerToEdge"; }, never, never, true, never>;
|
|
13055
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonComponent, "pptx-ribbon", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "zoomPercent": { "alias": "zoomPercent"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "hasMacros": { "alias": "hasMacros"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; "themeGalleryOpen": { "alias": "themeGalleryOpen"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; "isSignal": true; }; "inspectorOpen": { "alias": "inspectorOpen"; "required": false; "isSignal": true; }; "commentsOpen": { "alias": "commentsOpen"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "findOpen": { "alias": "findOpen"; "required": false; "isSignal": true; }; "collabConnected": { "alias": "collabConnected"; "required": false; "isSignal": true; }; "connectedCount": { "alias": "connectedCount"; "required": false; "isSignal": true; }; "spellCheckEnabled": { "alias": "spellCheckEnabled"; "required": false; "isSignal": true; }; "showSubtitles": { "alias": "showSubtitles"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "prev": "prev"; "next": "next"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "zoomReset": "zoomReset"; "find": "find"; "present": "present"; "presenter": "presenter"; "record": "record"; "presentFromBeginning": "presentFromBeginning"; "rehearseTimings": "rehearseTimings"; "toggleSubtitles": "toggleSubtitles"; "openSubtitleSettings": "openSubtitleSettings"; "recordFromBeginning": "recordFromBeginning"; "recordFromCurrent": "recordFromCurrent"; "spellCheckChange": "spellCheckChange"; "share": "share"; "broadcast": "broadcast"; "openFile": "openFile"; "openRecentFile": "openRecentFile"; "createPresentation": "createPresentation"; "save": "save"; "savePpsx": "savePpsx"; "savePptm": "savePptm"; "packageForSharing": "packageForSharing"; "toggleSidebar": "toggleSidebar"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openMasterView": "openMasterView"; "toggleNotes": "toggleNotes"; "toggleFormatPainter": "toggleFormatPainter"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "copySlideAsImage": "copySlideAsImage"; "replace": "replace"; "toggleInspector": "toggleInspector"; "drawToolChange": "drawToolChange"; "toggleThemeGallery": "toggleThemeGallery"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "openCustomShows": "openCustomShows"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; "openSmartArtDialog": "openSmartArtDialog"; "openEquationDialog": "openEquationDialog"; "openSetUpSlideShow": "openSetUpSlideShow"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; "shapeInsert": "shapeInsert"; "moveLayer": "moveLayer"; "moveLayerToEdge": "moveLayerToEdge"; }, never, never, true, never>;
|
|
12344
13056
|
}
|
|
12345
13057
|
|
|
12346
13058
|
declare class RibbonAnimationsSectionComponent {
|
|
12347
13059
|
private readonly editor;
|
|
12348
13060
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
12349
13061
|
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
13062
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
12350
13063
|
readonly present: _angular_core.OutputEmitterRef<void>;
|
|
12351
13064
|
readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
|
|
12352
13065
|
protected readonly entrancePresets: readonly {
|
|
@@ -12365,6 +13078,7 @@ declare class RibbonAnimationsSectionComponent {
|
|
|
12365
13078
|
labelKey: string;
|
|
12366
13079
|
}[];
|
|
12367
13080
|
protected hasSel(): boolean;
|
|
13081
|
+
protected canAuthor(): boolean;
|
|
12368
13082
|
/**
|
|
12369
13083
|
* Add an animation preset to the selected element on the active slide.
|
|
12370
13084
|
* Delegates to the immutable helpers in animation-author-helpers.ts and
|
|
@@ -12374,7 +13088,7 @@ declare class RibbonAnimationsSectionComponent {
|
|
|
12374
13088
|
/** Remove all animations from the selected element. */
|
|
12375
13089
|
protected removeAnim(): void;
|
|
12376
13090
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonAnimationsSectionComponent, never>;
|
|
12377
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonAnimationsSectionComponent, "pptx-ribbon-animations-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; }, { "present": "present"; "toggleInspector": "toggleInspector"; }, never, never, true, never>;
|
|
13091
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonAnimationsSectionComponent, "pptx-ribbon-animations-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "present": "present"; "toggleInspector": "toggleInspector"; }, never, never, true, never>;
|
|
12378
13092
|
}
|
|
12379
13093
|
|
|
12380
13094
|
declare class RibbonArrangeSectionComponent {
|
|
@@ -12437,15 +13151,34 @@ declare class RibbonEditingSectionComponent {
|
|
|
12437
13151
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonEditingSectionComponent, "pptx-ribbon-editing-section", never, {}, { "toggleFindReplace": "toggleFindReplace"; "selectAll": "selectAll"; }, never, never, true, never>;
|
|
12438
13152
|
}
|
|
12439
13153
|
|
|
13154
|
+
interface BackstageAction {
|
|
13155
|
+
title: string;
|
|
13156
|
+
body: string;
|
|
13157
|
+
icon: string;
|
|
13158
|
+
event: {
|
|
13159
|
+
emit: () => void;
|
|
13160
|
+
};
|
|
13161
|
+
}
|
|
12440
13162
|
declare class RibbonFileSectionComponent {
|
|
13163
|
+
readonly fileName: _angular_core.InputSignal<string | undefined>;
|
|
12441
13164
|
readonly slideCount: _angular_core.InputSignal<number>;
|
|
12442
13165
|
readonly exporting: _angular_core.InputSignal<boolean>;
|
|
13166
|
+
readonly hasMacros: _angular_core.InputSignal<boolean>;
|
|
13167
|
+
/** Toolbar buttons the host wants hidden (drops the Export nav entry/page). */
|
|
13168
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
13169
|
+
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
13170
|
+
readonly createPresentation: _angular_core.OutputEmitterRef<string>;
|
|
12443
13171
|
readonly openFile: _angular_core.OutputEmitterRef<void>;
|
|
13172
|
+
readonly openRecentFile: _angular_core.OutputEmitterRef<string>;
|
|
12444
13173
|
readonly save: _angular_core.OutputEmitterRef<void>;
|
|
13174
|
+
readonly savePpsx: _angular_core.OutputEmitterRef<void>;
|
|
13175
|
+
readonly savePptm: _angular_core.OutputEmitterRef<void>;
|
|
13176
|
+
readonly packageForSharing: _angular_core.OutputEmitterRef<void>;
|
|
12445
13177
|
readonly exportPng: _angular_core.OutputEmitterRef<void>;
|
|
12446
13178
|
readonly exportPdf: _angular_core.OutputEmitterRef<void>;
|
|
12447
13179
|
readonly exportGif: _angular_core.OutputEmitterRef<void>;
|
|
12448
13180
|
readonly exportVideo: _angular_core.OutputEmitterRef<void>;
|
|
13181
|
+
readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
|
|
12449
13182
|
readonly print: _angular_core.OutputEmitterRef<void>;
|
|
12450
13183
|
readonly info: _angular_core.OutputEmitterRef<void>;
|
|
12451
13184
|
readonly signatures: _angular_core.OutputEmitterRef<void>;
|
|
@@ -12453,8 +13186,38 @@ declare class RibbonFileSectionComponent {
|
|
|
12453
13186
|
readonly openPassword: _angular_core.OutputEmitterRef<void>;
|
|
12454
13187
|
readonly openFontEmbedding: _angular_core.OutputEmitterRef<void>;
|
|
12455
13188
|
readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
|
|
13189
|
+
readonly share: _angular_core.OutputEmitterRef<void>;
|
|
13190
|
+
readonly options: _angular_core.OutputEmitterRef<void>;
|
|
13191
|
+
protected readonly templates: readonly BackstageTemplate[];
|
|
13192
|
+
protected readonly mainNav: _angular_core.Signal<readonly {
|
|
13193
|
+
id: BackstagePage;
|
|
13194
|
+
label: string;
|
|
13195
|
+
group?: "footer";
|
|
13196
|
+
}[]>;
|
|
13197
|
+
protected readonly footerNav: {
|
|
13198
|
+
id: BackstagePage;
|
|
13199
|
+
label: string;
|
|
13200
|
+
group?: "footer";
|
|
13201
|
+
}[];
|
|
13202
|
+
protected readonly page: _angular_core.WritableSignal<BackstagePage>;
|
|
13203
|
+
protected readonly query: _angular_core.WritableSignal<string>;
|
|
13204
|
+
protected readonly recent: _angular_core.WritableSignal<BackstageRecentFile[]>;
|
|
13205
|
+
protected readonly title: _angular_core.Signal<string>;
|
|
13206
|
+
protected readonly visibleRecent: _angular_core.Signal<BackstageRecentFile[]>;
|
|
13207
|
+
protected readonly date: typeof formatBackstageDate;
|
|
13208
|
+
protected readonly size: typeof formatBackstageSize;
|
|
13209
|
+
protected readonly actions: _angular_core.Signal<BackstageAction[]>;
|
|
13210
|
+
constructor();
|
|
13211
|
+
protected selectPage(id: BackstagePage): void;
|
|
13212
|
+
protected run(event: {
|
|
13213
|
+
emit: () => void;
|
|
13214
|
+
}): void;
|
|
13215
|
+
protected create(templateId: string): void;
|
|
13216
|
+
protected openRecent(key: string): void;
|
|
13217
|
+
private action;
|
|
13218
|
+
private pageActions;
|
|
12456
13219
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonFileSectionComponent, never>;
|
|
12457
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonFileSectionComponent, "pptx-ribbon-file-section", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; }, { "openFile": "openFile"; "save": "save"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "print": "print"; "info": "info"; "signatures": "signatures"; "replace": "replace"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; }, never, never, true, never>;
|
|
13220
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonFileSectionComponent, "pptx-ribbon-file-section", never, { "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "hasMacros": { "alias": "hasMacros"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "close": "close"; "createPresentation": "createPresentation"; "openFile": "openFile"; "openRecentFile": "openRecentFile"; "save": "save"; "savePpsx": "savePpsx"; "savePptm": "savePptm"; "packageForSharing": "packageForSharing"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "copySlideAsImage": "copySlideAsImage"; "print": "print"; "info": "info"; "signatures": "signatures"; "replace": "replace"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "share": "share"; "options": "options"; }, never, never, true, never>;
|
|
12458
13221
|
}
|
|
12459
13222
|
|
|
12460
13223
|
declare class RibbonFontControlsComponent {
|
|
@@ -12511,14 +13274,13 @@ declare class RibbonHomeSectionComponent {
|
|
|
12511
13274
|
readonly findReplace: _angular_core.OutputEmitterRef<void>;
|
|
12512
13275
|
readonly applyLayout: _angular_core.OutputEmitterRef<string>;
|
|
12513
13276
|
readonly resetSlide: _angular_core.OutputEmitterRef<void>;
|
|
12514
|
-
readonly addSection: _angular_core.OutputEmitterRef<void>;
|
|
12515
13277
|
protected hasSel(): boolean;
|
|
12516
13278
|
protected copy(): void;
|
|
12517
13279
|
protected cut(): void;
|
|
12518
13280
|
protected paste(): void;
|
|
12519
13281
|
protected onSelectAll(): void;
|
|
12520
13282
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonHomeSectionComponent, never>;
|
|
12521
|
-
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; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide";
|
|
13283
|
+
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; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide"; }, never, never, true, never>;
|
|
12522
13284
|
}
|
|
12523
13285
|
|
|
12524
13286
|
declare class RibbonInsertFieldsComponent {
|
|
@@ -12621,6 +13383,8 @@ declare class RibbonPrimaryRowComponent {
|
|
|
12621
13383
|
readonly inspectorOpen: _angular_core.InputSignal<boolean>;
|
|
12622
13384
|
readonly commentsOpen: _angular_core.InputSignal<boolean>;
|
|
12623
13385
|
readonly commentCount: _angular_core.InputSignal<number>;
|
|
13386
|
+
/** Toolbar buttons the host wants hidden (gates Broadcast + the export overflow items). */
|
|
13387
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
12624
13388
|
readonly toggleSidebar: _angular_core.OutputEmitterRef<void>;
|
|
12625
13389
|
readonly toggleComments: _angular_core.OutputEmitterRef<void>;
|
|
12626
13390
|
readonly present: _angular_core.OutputEmitterRef<void>;
|
|
@@ -12638,39 +13402,50 @@ declare class RibbonPrimaryRowComponent {
|
|
|
12638
13402
|
readonly save: _angular_core.OutputEmitterRef<void>;
|
|
12639
13403
|
protected readonly presentMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
12640
13404
|
protected readonly overflowOpen: _angular_core.WritableSignal<boolean>;
|
|
12641
|
-
|
|
12642
|
-
protected readonly overflowItems:
|
|
13405
|
+
protected readonly toolbar: ToolbarVisibility;
|
|
13406
|
+
protected readonly overflowItems: _angular_core.Signal<readonly {
|
|
12643
13407
|
key: string;
|
|
12644
13408
|
labelKey: string;
|
|
12645
13409
|
needsSlides?: boolean;
|
|
12646
|
-
}>;
|
|
13410
|
+
}[]>;
|
|
12647
13411
|
protected onOverflow(key: string): void;
|
|
12648
13412
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonPrimaryRowComponent, never>;
|
|
12649
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonPrimaryRowComponent, "pptx-ribbon-primary-row", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; "isSignal": true; }; "inspectorOpen": { "alias": "inspectorOpen"; "required": false; "isSignal": true; }; "commentsOpen": { "alias": "commentsOpen"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; }, { "toggleSidebar": "toggleSidebar"; "toggleComments": "toggleComments"; "present": "present"; "presenter": "presenter"; "broadcast": "broadcast"; "openCustomShows": "openCustomShows"; "toggleInspector": "toggleInspector"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "print": "print"; "info": "info"; "a11y": "a11y"; "save": "save"; }, never, never, true, never>;
|
|
13413
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonPrimaryRowComponent, "pptx-ribbon-primary-row", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; "isSignal": true; }; "inspectorOpen": { "alias": "inspectorOpen"; "required": false; "isSignal": true; }; "commentsOpen": { "alias": "commentsOpen"; "required": false; "isSignal": true; }; "commentCount": { "alias": "commentCount"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleSidebar": "toggleSidebar"; "toggleComments": "toggleComments"; "present": "present"; "presenter": "presenter"; "broadcast": "broadcast"; "openCustomShows": "openCustomShows"; "toggleInspector": "toggleInspector"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "print": "print"; "info": "info"; "a11y": "a11y"; "save": "save"; }, never, never, true, never>;
|
|
12650
13414
|
}
|
|
12651
13415
|
|
|
12652
13416
|
declare class RibbonReviewSectionComponent {
|
|
12653
13417
|
private readonly editor;
|
|
13418
|
+
readonly spellCheckEnabled: _angular_core.InputSignal<boolean>;
|
|
13419
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
12654
13420
|
readonly comments: _angular_core.OutputEmitterRef<void>;
|
|
12655
|
-
readonly
|
|
13421
|
+
readonly spellCheckChange: _angular_core.OutputEmitterRef<boolean>;
|
|
12656
13422
|
readonly a11y: _angular_core.OutputEmitterRef<void>;
|
|
12657
13423
|
readonly openCompare: _angular_core.OutputEmitterRef<void>;
|
|
12658
13424
|
readonly language: _angular_core.OutputEmitterRef<void>;
|
|
12659
13425
|
readonly link: _angular_core.OutputEmitterRef<void>;
|
|
12660
13426
|
protected hasSel(): boolean;
|
|
12661
13427
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonReviewSectionComponent, never>;
|
|
12662
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonReviewSectionComponent, "pptx-ribbon-review-section", never, {}, { "comments": "comments"; "
|
|
13428
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonReviewSectionComponent, "pptx-ribbon-review-section", never, { "spellCheckEnabled": { "alias": "spellCheckEnabled"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "comments": "comments"; "spellCheckChange": "spellCheckChange"; "a11y": "a11y"; "openCompare": "openCompare"; "language": "language"; "link": "link"; }, never, never, true, never>;
|
|
12663
13429
|
}
|
|
12664
13430
|
|
|
12665
13431
|
declare class RibbonSlideshowSectionComponent {
|
|
12666
13432
|
readonly slideCount: _angular_core.InputSignal<number>;
|
|
12667
|
-
readonly
|
|
13433
|
+
readonly showSubtitles: _angular_core.InputSignal<boolean>;
|
|
13434
|
+
/** Toolbar buttons the host wants hidden (gates Broadcast). */
|
|
13435
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
13436
|
+
readonly presentFromBeginning: _angular_core.OutputEmitterRef<void>;
|
|
13437
|
+
readonly presentFromCurrent: _angular_core.OutputEmitterRef<void>;
|
|
12668
13438
|
readonly presenter: _angular_core.OutputEmitterRef<void>;
|
|
12669
13439
|
readonly broadcast: _angular_core.OutputEmitterRef<void>;
|
|
12670
13440
|
readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
|
|
12671
13441
|
readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
|
|
13442
|
+
readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
|
|
13443
|
+
readonly record: _angular_core.OutputEmitterRef<void>;
|
|
13444
|
+
readonly toggleSubtitles: _angular_core.OutputEmitterRef<void>;
|
|
13445
|
+
readonly openSubtitleSettings: _angular_core.OutputEmitterRef<void>;
|
|
13446
|
+
protected readonly toolbar: ToolbarVisibility;
|
|
12672
13447
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonSlideshowSectionComponent, never>;
|
|
12673
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonSlideshowSectionComponent, "pptx-ribbon-slideshow-section", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; }, { "
|
|
13448
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonSlideshowSectionComponent, "pptx-ribbon-slideshow-section", never, { "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; "showSubtitles": { "alias": "showSubtitles"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "presentFromBeginning": "presentFromBeginning"; "presentFromCurrent": "presentFromCurrent"; "presenter": "presenter"; "broadcast": "broadcast"; "openCustomShows": "openCustomShows"; "openSetUpSlideShow": "openSetUpSlideShow"; "rehearseTimings": "rehearseTimings"; "record": "record"; "toggleSubtitles": "toggleSubtitles"; "openSubtitleSettings": "openSubtitleSettings"; }, never, never, true, never>;
|
|
12674
13449
|
}
|
|
12675
13450
|
|
|
12676
13451
|
/** The selection's text style, or null when the element carries no text props. */
|
|
@@ -12717,19 +13492,24 @@ declare class RibbonViewSectionComponent {
|
|
|
12717
13492
|
readonly showRulers: _angular_core.InputSignal<boolean>;
|
|
12718
13493
|
readonly showGuides: _angular_core.InputSignal<boolean>;
|
|
12719
13494
|
readonly snapToGrid: _angular_core.InputSignal<boolean>;
|
|
13495
|
+
readonly snapToShape: _angular_core.InputSignal<boolean>;
|
|
12720
13496
|
readonly eyedropperActive: _angular_core.InputSignal<boolean>;
|
|
12721
13497
|
readonly openSorter: _angular_core.OutputEmitterRef<void>;
|
|
12722
13498
|
readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
|
|
12723
13499
|
readonly print: _angular_core.OutputEmitterRef<void>;
|
|
12724
13500
|
readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
|
|
13501
|
+
readonly openMasterView: _angular_core.OutputEmitterRef<void>;
|
|
12725
13502
|
readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
|
|
12726
13503
|
readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
|
|
12727
13504
|
readonly toggleGuides: _angular_core.OutputEmitterRef<void>;
|
|
12728
13505
|
readonly toggleSelectionPane: _angular_core.OutputEmitterRef<void>;
|
|
12729
13506
|
readonly toggleSnapToGrid: _angular_core.OutputEmitterRef<void>;
|
|
13507
|
+
readonly toggleSnapToShape: _angular_core.OutputEmitterRef<void>;
|
|
13508
|
+
readonly addGuide: _angular_core.OutputEmitterRef<"x" | "y">;
|
|
13509
|
+
readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
|
|
12730
13510
|
readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
|
|
12731
13511
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonViewSectionComponent, never>;
|
|
12732
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonViewSectionComponent, "pptx-ribbon-view-section", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; }, { "openSorter": "openSorter"; "toggleNotes": "toggleNotes"; "print": "print"; "openShortcuts": "openShortcuts"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleEyedropper": "toggleEyedropper"; }, never, never, true, never>;
|
|
13512
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonViewSectionComponent, "pptx-ribbon-view-section", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; }, { "openSorter": "openSorter"; "toggleNotes": "toggleNotes"; "print": "print"; "openShortcuts": "openShortcuts"; "openMasterView": "openMasterView"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; }, never, never, true, never>;
|
|
12733
13513
|
}
|
|
12734
13514
|
|
|
12735
13515
|
/**
|
|
@@ -12799,95 +13579,6 @@ declare function prevVisibleIndex(current: number, slides: readonly PptxSlide[])
|
|
|
12799
13579
|
*/
|
|
12800
13580
|
declare function fitZoom(canvasW: number, canvasH: number, vw: number, vh: number): number;
|
|
12801
13581
|
|
|
12802
|
-
/**
|
|
12803
|
-
* presentation-subtitle-helpers.ts: Pure helpers for the subtitle/caption bar.
|
|
12804
|
-
*
|
|
12805
|
-
* Isolates all text-segment logic so it can be unit-tested without DOM or
|
|
12806
|
-
* Angular dependencies.
|
|
12807
|
-
*
|
|
12808
|
-
* Ported from React:
|
|
12809
|
-
* packages/react/src/viewer/components/PresentationSubtitleBar.tsx
|
|
12810
|
-
*/
|
|
12811
|
-
/**
|
|
12812
|
-
* A single speech recognition alternative (best-guess transcript + confidence).
|
|
12813
|
-
* Matches the shape of the Web Speech API `SpeechRecognitionAlternative`.
|
|
12814
|
-
*/
|
|
12815
|
-
interface SpeechAlternative {
|
|
12816
|
-
readonly transcript: string;
|
|
12817
|
-
readonly confidence: number;
|
|
12818
|
-
}
|
|
12819
|
-
/**
|
|
12820
|
-
* One result from the recognition engine: array of alternatives plus a
|
|
12821
|
-
* `isFinal` flag that indicates whether this result is stable (true) or
|
|
12822
|
-
* still being refined (false, i.e. interim).
|
|
12823
|
-
*/
|
|
12824
|
-
interface SpeechResult {
|
|
12825
|
-
readonly isFinal: boolean;
|
|
12826
|
-
readonly length: number;
|
|
12827
|
-
readonly [index: number]: SpeechAlternative;
|
|
12828
|
-
}
|
|
12829
|
-
/**
|
|
12830
|
-
* The list of all results accumulated in a recognition session.
|
|
12831
|
-
*/
|
|
12832
|
-
interface SpeechResultList {
|
|
12833
|
-
readonly length: number;
|
|
12834
|
-
readonly [index: number]: SpeechResult;
|
|
12835
|
-
}
|
|
12836
|
-
/**
|
|
12837
|
-
* Subset of `SpeechRecognitionEvent`: just what we need.
|
|
12838
|
-
*/
|
|
12839
|
-
interface SpeechRecognitionEventLite {
|
|
12840
|
-
readonly resultIndex: number;
|
|
12841
|
-
readonly results: SpeechResultList;
|
|
12842
|
-
}
|
|
12843
|
-
/**
|
|
12844
|
-
* Structural interface matching the Web Speech API `SpeechRecognition` object.
|
|
12845
|
-
* Kept minimal so we only depend on what we actually use.
|
|
12846
|
-
*/
|
|
12847
|
-
interface SpeechRecognitionLite extends EventTarget {
|
|
12848
|
-
continuous: boolean;
|
|
12849
|
-
interimResults: boolean;
|
|
12850
|
-
lang: string;
|
|
12851
|
-
onresult: ((event: SpeechRecognitionEventLite) => void) | null;
|
|
12852
|
-
onerror: ((event: Event) => void) | null;
|
|
12853
|
-
onend: (() => void) | null;
|
|
12854
|
-
start: () => void;
|
|
12855
|
-
stop: () => void;
|
|
12856
|
-
}
|
|
12857
|
-
/** Constructor signature for the speech recognition object. */
|
|
12858
|
-
type SpeechRecognitionCtor = new () => SpeechRecognitionLite;
|
|
12859
|
-
/**
|
|
12860
|
-
* Merge the results from a `SpeechRecognitionEventLite` (starting at
|
|
12861
|
-
* `resultIndex`) into a single caption string.
|
|
12862
|
-
*
|
|
12863
|
-
* Final results form the stable prefix; interim results form the unstable
|
|
12864
|
-
* suffix. Both are joined and the combined string is trimmed.
|
|
12865
|
-
*
|
|
12866
|
-
* @param event The recognition event from `onresult`.
|
|
12867
|
-
* @param resultIndex `event.resultIndex`: the first new result index.
|
|
12868
|
-
* @param results `event.results`: the full results list.
|
|
12869
|
-
* @returns The merged caption string, or `''` if nothing recognised.
|
|
12870
|
-
*/
|
|
12871
|
-
declare function mergeCaptionResults(resultIndex: number, results: SpeechResultList): string;
|
|
12872
|
-
/**
|
|
12873
|
-
* Attempt to obtain the `SpeechRecognition` constructor from `globalThis`
|
|
12874
|
-
* (browser `window`). Returns `null` when unavailable (SSR / unsupported
|
|
12875
|
-
* browsers / Firefox without the flag enabled).
|
|
12876
|
-
*
|
|
12877
|
-
* Checks both the standard and the webkit-prefixed name.
|
|
12878
|
-
*/
|
|
12879
|
-
declare function getSpeechRecognitionCtor(): SpeechRecognitionCtor | null;
|
|
12880
|
-
/** Possible support states for the Web Speech API in this environment. */
|
|
12881
|
-
type SpeechSupportState = 'unknown' | 'supported' | 'unsupported';
|
|
12882
|
-
/**
|
|
12883
|
-
* Compute the text to display in the caption bar.
|
|
12884
|
-
*
|
|
12885
|
-
* - When the API is unsupported, returns `fallbackNotSupported`.
|
|
12886
|
-
* - When supported but no text has been captured yet, returns `fallbackListening`.
|
|
12887
|
-
* - Otherwise returns the captured text.
|
|
12888
|
-
*/
|
|
12889
|
-
declare function captionDisplayText(supportState: SpeechSupportState, captionText: string, fallbackNotSupported: string, fallbackListening: string): string;
|
|
12890
|
-
|
|
12891
13582
|
/**
|
|
12892
13583
|
* touch-gestures.ts: thin Angular adapter over the framework-agnostic
|
|
12893
13584
|
* `createTouchGestureRecognizer` from `pptx-viewer-shared`.
|
|
@@ -12960,21 +13651,6 @@ interface SwipeDismissDrag {
|
|
|
12960
13651
|
*/
|
|
12961
13652
|
declare function createSwipeDismissDrag(onDismiss: () => void): SwipeDismissDrag;
|
|
12962
13653
|
|
|
12963
|
-
/**
|
|
12964
|
-
* shortcut-reference.ts: Keyboard shortcut cheat-sheet data.
|
|
12965
|
-
*
|
|
12966
|
-
* Angular copy of the React constant `SHORTCUT_REFERENCE_ITEMS` from
|
|
12967
|
-
* `packages/react/src/viewer/constants/toolbar.ts`. Kept as a tiny, purely
|
|
12968
|
-
* declarative data module so the `pptx-shortcut-panel` component stays thin.
|
|
12969
|
-
* Entries are copied verbatim from the React source and must stay in sync.
|
|
12970
|
-
*/
|
|
12971
|
-
/** A single row in the keyboard-shortcut reference list. */
|
|
12972
|
-
interface ShortcutReferenceItem {
|
|
12973
|
-
actionKey: string;
|
|
12974
|
-
shortcut: string;
|
|
12975
|
-
}
|
|
12976
|
-
declare const SHORTCUT_REFERENCE_ITEMS: ShortcutReferenceItem[];
|
|
12977
|
-
|
|
12978
13654
|
/**
|
|
12979
13655
|
* collaboration-providers.ts: transport factories for the Angular
|
|
12980
13656
|
* collaboration service.
|
|
@@ -13085,6 +13761,30 @@ declare class WriteBackScheduler {
|
|
|
13085
13761
|
cancel(): void;
|
|
13086
13762
|
}
|
|
13087
13763
|
|
|
13764
|
+
/**
|
|
13765
|
+
* Pure (Angular-free) helpers for the `<a:clrChange>` colour-change image
|
|
13766
|
+
* effect. Kept out of the component so they can be unit-tested without TestBed
|
|
13767
|
+
* or a DOM, mirroring `model3d-renderer-helpers.ts`.
|
|
13768
|
+
*/
|
|
13769
|
+
/** Parsed `<a:clrChange>` parameters needed to drive the chroma-key. */
|
|
13770
|
+
interface ClrChangeParams {
|
|
13771
|
+
clrFrom: string;
|
|
13772
|
+
clrTo: string;
|
|
13773
|
+
/** Whether the target colour becomes fully transparent (alpha = 0). */
|
|
13774
|
+
clrToTransparent: boolean;
|
|
13775
|
+
/** Match tolerance percentage (0-100). */
|
|
13776
|
+
tolerance: number;
|
|
13777
|
+
}
|
|
13778
|
+
/**
|
|
13779
|
+
* Extract the colour-change effect from an element, or `undefined` when the
|
|
13780
|
+
* element carries no `imageEffects.clrChange` (or its `clrFrom` is empty).
|
|
13781
|
+
*
|
|
13782
|
+
* `clrFrom` is the source colour that must be present for the effect to do
|
|
13783
|
+
* anything, so a blank `clrFrom` is treated as "no effect" (matching React,
|
|
13784
|
+
* where the `clrChange` branch only fires when a valid effect object exists).
|
|
13785
|
+
*/
|
|
13786
|
+
declare function getClrChangeParams(el: PptxElement): ClrChangeParams | undefined;
|
|
13787
|
+
|
|
13088
13788
|
/**
|
|
13089
13789
|
* Pure helpers for {@link MediaRendererComponent}, mirroring React's
|
|
13090
13790
|
* `media-render.tsx` / `media-persistent-audio.tsx`. Kept TestBed-free so the
|
|
@@ -13446,18 +14146,21 @@ declare class ThemeGalleryComponent {
|
|
|
13446
14146
|
* Matches `PptxTheme.name`.
|
|
13447
14147
|
*/
|
|
13448
14148
|
readonly activeName: _angular_core.InputSignal<string | undefined>;
|
|
14149
|
+
readonly theme: _angular_core.InputSignal<PptxTheme | undefined>;
|
|
13449
14150
|
/** Emitted when the user confirms a selection. */
|
|
13450
14151
|
readonly applyTheme: _angular_core.OutputEmitterRef<PptxThemePreset>;
|
|
14152
|
+
readonly applyCustomTheme: _angular_core.OutputEmitterRef<CustomThemeEdit>;
|
|
13451
14153
|
/** Emitted when the user cancels (backdrop click, Close button, Cancel button). */
|
|
13452
14154
|
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
13453
14155
|
protected readonly presets: readonly PptxThemePreset[];
|
|
13454
14156
|
/** The currently highlighted (not yet applied) preset, or null. */
|
|
13455
14157
|
protected readonly selected: _angular_core.WritableSignal<PptxThemePreset | null>;
|
|
14158
|
+
protected readonly customizing: _angular_core.WritableSignal<boolean>;
|
|
13456
14159
|
protected selectPreset(preset: PptxThemePreset): void;
|
|
13457
14160
|
protected applySelected(): void;
|
|
13458
14161
|
protected onBackdropClick(event: MouseEvent): void;
|
|
13459
14162
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeGalleryComponent, never>;
|
|
13460
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeGalleryComponent, "pptx-theme-gallery", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "activeName": { "alias": "activeName"; "required": false; "isSignal": true; }; }, { "applyTheme": "applyTheme"; "close": "close"; }, never, never, true, never>;
|
|
14163
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeGalleryComponent, "pptx-theme-gallery", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "activeName": { "alias": "activeName"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; }, { "applyTheme": "applyTheme"; "applyCustomTheme": "applyCustomTheme"; "close": "close"; }, never, never, true, never>;
|
|
13461
14164
|
}
|
|
13462
14165
|
|
|
13463
14166
|
/**
|
|
@@ -13502,6 +14205,8 @@ declare class TitleBarComponent {
|
|
|
13502
14205
|
readonly redoLabel: _angular_core.InputSignal<string | undefined>;
|
|
13503
14206
|
/** Whether the Find & Replace panel is open (search-button active state). */
|
|
13504
14207
|
readonly findReplaceOpen: _angular_core.InputSignal<boolean>;
|
|
14208
|
+
/** Toolbar buttons the host wants hidden (gates Undo/Redo independently). */
|
|
14209
|
+
readonly hiddenActions: _angular_core.InputSignal<ToolbarActionId[]>;
|
|
13505
14210
|
readonly toggleAutosave: _angular_core.OutputEmitterRef<void>;
|
|
13506
14211
|
readonly save: _angular_core.OutputEmitterRef<void>;
|
|
13507
14212
|
readonly undo: _angular_core.OutputEmitterRef<void>;
|
|
@@ -13535,6 +14240,7 @@ declare class TitleBarComponent {
|
|
|
13535
14240
|
readonly rightSpacer: "flex items-center justify-end gap-1 shrink-0";
|
|
13536
14241
|
};
|
|
13537
14242
|
protected readonly defaultFileKey = "pptx.titleBar.defaultFileName";
|
|
14243
|
+
protected readonly toolbar: ToolbarVisibility;
|
|
13538
14244
|
protected readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
13539
14245
|
protected readonly searchFocused: _angular_core.WritableSignal<boolean>;
|
|
13540
14246
|
protected readonly commandResults: _angular_core.Signal<CommandSearchEntry[]>;
|
|
@@ -13547,7 +14253,7 @@ declare class TitleBarComponent {
|
|
|
13547
14253
|
protected onSearchBlur(): void;
|
|
13548
14254
|
protected onSearchKeyDown(event: KeyboardEvent): void;
|
|
13549
14255
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleBarComponent, never>;
|
|
13550
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TitleBarComponent, "pptx-title-bar", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "isDirty": { "alias": "isDirty"; "required": false; "isSignal": true; }; "autosaveStatus": { "alias": "autosaveStatus"; "required": false; "isSignal": true; }; "autosaveEnabled": { "alias": "autosaveEnabled"; "required": false; "isSignal": true; }; "canUndo": { "alias": "canUndo"; "required": false; "isSignal": true; }; "canRedo": { "alias": "canRedo"; "required": false; "isSignal": true; }; "undoLabel": { "alias": "undoLabel"; "required": false; "isSignal": true; }; "redoLabel": { "alias": "redoLabel"; "required": false; "isSignal": true; }; "findReplaceOpen": { "alias": "findReplaceOpen"; "required": false; "isSignal": true; }; }, { "toggleAutosave": "toggleAutosave"; "save": "save"; "undo": "undo"; "redo": "redo"; "toggleFindReplace": "toggleFindReplace"; "commandSearch": "commandSearch"; }, never, never, true, never>;
|
|
14256
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TitleBarComponent, "pptx-title-bar", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "isDirty": { "alias": "isDirty"; "required": false; "isSignal": true; }; "autosaveStatus": { "alias": "autosaveStatus"; "required": false; "isSignal": true; }; "autosaveEnabled": { "alias": "autosaveEnabled"; "required": false; "isSignal": true; }; "canUndo": { "alias": "canUndo"; "required": false; "isSignal": true; }; "canRedo": { "alias": "canRedo"; "required": false; "isSignal": true; }; "undoLabel": { "alias": "undoLabel"; "required": false; "isSignal": true; }; "redoLabel": { "alias": "redoLabel"; "required": false; "isSignal": true; }; "findReplaceOpen": { "alias": "findReplaceOpen"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; }, { "toggleAutosave": "toggleAutosave"; "save": "save"; "undo": "undo"; "redo": "redo"; "toggleFindReplace": "toggleFindReplace"; "commandSearch": "commandSearch"; }, never, never, true, never>;
|
|
13551
14257
|
}
|
|
13552
14258
|
|
|
13553
14259
|
/**
|
|
@@ -13657,5 +14363,5 @@ declare const SEQUENCE_OPTIONS: ReadonlyArray<{
|
|
|
13657
14363
|
labelKey: string;
|
|
13658
14364
|
}>;
|
|
13659
14365
|
|
|
13660
|
-
export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AccessibilityPanelComponent, AccessibilityService, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, 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, GradientPickerComponent, HANDOUT_OPTIONS, HyperlinkDialogComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaRendererComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, 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, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeGalleryComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
|
|
13661
|
-
export type { AccessibilityIssueGroup, ActionDescriptor, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AwarenessLike, BarRect, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, CornerHandleBox, CustomShow, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectsState, EmbeddedFontStyles, EquationTemplate, EyedropperResult, FindOptions, FindResult, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, GroupResult, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, MobileSheetKey, Model3DViewModel, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerTick, ScatterDot, SelectionBox, ShapeStyleChanges, ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, TimerProgress, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerTheme, ViewerThemeColors, ZoomViewModel };
|
|
14366
|
+
export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AccessibilityPanelComponent, AccessibilityService, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, 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, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, 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, SettingsDialogComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
|
|
14367
|
+
export type { AccessibilityIssueGroup, ActionDescriptor, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AwarenessLike, BarRect, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectsState, EmbeddedFontStyles, EquationTemplate, EyedropperResult, FindOptions, FindResult, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, GroupResult, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, MobileSheetKey, Model3DViewModel, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerTick, ScatterDot, SelectionBox, ShapeStyleChanges, ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, TimerProgress, ToolbarActionId, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerSettings, ViewerTheme, ViewerThemeColors, ZoomViewModel };
|