pptx-angular-viewer 2.13.2 → 2.15.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.
@@ -1,5 +1,5 @@
1
1
  import * as pptx_viewer_core from 'pptx-viewer-core';
2
- import { PptxThemePreset, PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartType, PptxTheme, PptxHandler, PptxData, PptxHeaderFooter, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, PptxTagCollection, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, MasterViewTab, SvgExportOptions, Model3DPptxElement, ZoomPptxElement, ChartPptxElement, MediaPptxElement, SmartArtPptxElement, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, PptxChartMarkerSymbol, ChartGridlineStyleEdit, PptxSmartArtNode, SmartArtLayoutType, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
2
+ import { PptxThemePreset, PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartType, PptxChartBarDirection, PptxTheme, PptxHandler, PptxData, PptxHeaderFooter, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, PptxTagCollection, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, MasterViewTab, SvgExportOptions, Model3DPptxElement, ZoomPptxElement, ChartPptxElement, MediaPptxElement, SmartArtPptxElement, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, PptxChartMarkerSymbol, ChartGridlineStyleEdit, PptxSmartArtNode, SmartArtLayoutType, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
3
3
  export { SWITCHABLE_LAYOUT_TYPES, addSmartArtNode, addSmartArtNodeAsChild, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, demoteSmartArtNode, promoteSmartArtNode, removeSmartArtNode, reorderSmartArtNode, switchSmartArtLayout, updateSmartArtNodeText } from 'pptx-viewer-core';
4
4
  import * as _angular_core from '@angular/core';
5
5
  import { Signal, WritableSignal, OnDestroy, OnInit, AfterViewInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
@@ -591,13 +591,20 @@ interface SvgPatternDef {
591
591
  }
592
592
 
593
593
  /**
594
- * Gradient and pattern OUTLINES (`a:ln/a:gradFill`, `a:ln/a:pattFill`).
594
+ * Stroked SVG OUTLINES: gradient/pattern lines (`a:ln/a:gradFill`,
595
+ * `a:ln/a:pattFill`) and stroke-only ("open") preset geometry.
595
596
  *
596
597
  * Every binding paints a shape's outline as a CSS `border`, which can only take
597
- * a single flat colour. A gradient outline was therefore rendered with the
598
- * parser's averaged `strokeColor` (two-tone came out flat, fade-to-transparent
599
- * came out opaque), and a patterned outline with the pattern's foreground alone,
600
- * so the hatching disappeared entirely.
598
+ * a single flat colour, and can only outline a BOX. That breaks two ways:
599
+ *
600
+ * - A gradient outline was rendered with the parser's averaged `strokeColor`
601
+ * (two-tone came out flat, fade-to-transparent came out opaque), and a
602
+ * patterned outline with the pattern's foreground alone, so the hatching
603
+ * disappeared entirely.
604
+ * - An open preset (`<a:prstGeom prst="line"/>`, the connector family, `arc`,
605
+ * …) has no region to fill and no box to outline, so a CSS border drew a
606
+ * RECTANGLE where PowerPoint draws a line or an arc. See
607
+ * `./stroke-only-preset`.
601
608
  *
602
609
  * CSS has no way to fix either in place - `border-image` ignores `border-radius`
603
610
  * and cannot follow a `clip-path` - so the outline is instead stroked as a real
@@ -608,13 +615,29 @@ interface SvgPatternDef {
608
615
 
609
616
  /** The paint server an outline is stroked with: a gradient or a pattern. */
610
617
  type StrokeOutlinePaint = SvgGradientDef | SvgPatternDef;
618
+ /**
619
+ * One parallel stroke of a compound (`a:ln/@cmpd`) line: its width, and its
620
+ * perpendicular offset from the centre line in element px. A single line is one
621
+ * strand at offset `0`.
622
+ */
623
+ interface StrokeOutlineStrand {
624
+ strokeWidth: number;
625
+ offset: number;
626
+ }
611
627
  /** Everything needed to stroke one shape's outline as an SVG overlay. */
612
628
  interface StrokeOutline {
613
629
  /** Path data in the element's own pixel space (viewBox `0 0 width height`). */
614
630
  d: string;
615
- /** Paint server to define in `<defs>` and reference from the path's `stroke`. */
616
- paint: StrokeOutlinePaint;
631
+ /**
632
+ * Paint server to define in `<defs>`, or `undefined` when the outline is
633
+ * stroked with a flat colour (an open preset with an ordinary solid line).
634
+ */
635
+ paint: StrokeOutlinePaint | undefined;
636
+ /** Ready-to-use SVG `stroke` value: `url(#…)` for a paint server, else a colour. */
637
+ stroke: string;
617
638
  strokeWidth: number;
639
+ /** Parallel strands to emit; one entry unless the line is compound. */
640
+ strands: readonly StrokeOutlineStrand[];
618
641
  /** SVG `stroke-dasharray`, or `undefined` for a solid line. */
619
642
  dashArray: string | undefined;
620
643
  lineCap: 'butt' | 'round' | 'square';
@@ -868,13 +891,22 @@ interface ChartOption<V> {
868
891
  */
869
892
 
870
893
  /**
871
- * Default Office accent palette (accent1-accent6).
872
- * Mirrors `DEFAULT_CHART_PALETTE` from chart-helpers.ts.
894
+ * Default Office accent palette (accent1-accent6 plus the two chart extras).
895
+ *
896
+ * An alias of `DEFAULT_CHART_PALETTE` (chart-helpers.ts), on purpose: the two
897
+ * shared entry points used to carry different fallback palettes, so the same
898
+ * unstyled chart painted Office accents in one binding and a Tailwind-ish set
899
+ * in another depending on which helper its renderer imported.
873
900
  */
874
901
  declare const DEFAULT_PALETTE$1: readonly string[];
875
902
  /** Return the palette colour for an index, preferring a parsed colour palette. */
876
903
  declare function paletteColor(index: number, colorPalette: readonly string[] | undefined): string;
877
- /** Resolve a series' colour, preferring the series' own `color` property. */
904
+ /**
905
+ * Resolve a series' colour, preferring the series' own `color` property, then
906
+ * its marker fill (scatter series often author `a:ln/a:noFill` on the series
907
+ * and put the colour on `c:marker/c:spPr`; the points paint that fill, so the
908
+ * legend swatch must match it), then the palette.
909
+ */
878
910
  declare function seriesColor(series: PptxChartSeries, index: number, colorPalette: readonly string[] | undefined): string;
879
911
  /** Min/max/span of a value axis. */
880
912
  interface ValueRange {
@@ -1116,6 +1148,16 @@ interface ChartViewModel {
1116
1148
  */
1117
1149
  userShapes?: SvgPrimitive[];
1118
1150
  }
1151
+ declare const GRIDLINE_COLOR = "#e2e8f0";
1152
+ declare const AXIS_LABEL_COLOR = "#64748b";
1153
+ declare const ZERO_LINE_COLOR = "#94a3b8";
1154
+ /**
1155
+ * Tick values for a range: one per major unit when the automatic scale supplied
1156
+ * one (it snapped the bounds to whole multiples, so this lands on round numbers
1157
+ * exactly as PowerPoint does), otherwise an even division of the span.
1158
+ * Exported for the transposed (horizontal-bar) axis builder.
1159
+ */
1160
+ declare function axisTickValues(range: ValueRange): number[];
1119
1161
  declare function buildGridlinesAndLabels(range: ValueRange, layout: PlotLayout): {
1120
1162
  gridlines: SvgLine[];
1121
1163
  axisLabels: SvgText[];
@@ -2519,6 +2561,18 @@ interface SectionSlideGroup<TSection extends SectionGroupDescriptor = PptxSectio
2519
2561
  slideIndexes: number[];
2520
2562
  }
2521
2563
 
2564
+ /**
2565
+ * slide-template-types.ts: types for the slide template gallery catalog.
2566
+ *
2567
+ * A slide template is a pre-designed starter slide (title, agenda, quote, ...)
2568
+ * that the New Slide flow can insert. Templates are authored in EMU on the
2569
+ * standard 16:9 canvas (12192000 x 6858000 EMU) and scaled to the target
2570
+ * deck's pixel canvas at build time, so they fit any slide size.
2571
+ */
2572
+
2573
+ /** Discriminated id for every built-in slide template. */
2574
+ type SlideTemplateId = 'title' | 'titleAndContent' | 'sectionHeader' | 'agenda' | 'twoContent' | 'comparison' | 'quote' | 'timeline' | 'keyMetrics' | 'titleOnly' | 'blank' | 'closing';
2575
+
2522
2576
  /**
2523
2577
  * ole-actions.ts - framework-agnostic helpers for the OLE download/open UI.
2524
2578
  *
@@ -2877,6 +2931,10 @@ interface MorphTransitionPlan {
2877
2931
  * carries an entry in {@link MorphTransitionPlan.outgoingAnimations}: it
2878
2932
  * either fades out in place (no counterpart) or glides onto its counterpart,
2879
2933
  * dissolving into it when the appearance changed.
2934
+ *
2935
+ * This is a SUBSET of the outgoing slide: a shape the live stage already
2936
+ * draws identically is left out, because the overlay is opaque above it and
2937
+ * would hide the incoming slide's own arrivals. See `resolveMorphGhostIds`.
2880
2938
  */
2881
2939
  outgoingElements: PptxElement[];
2882
2940
  /** Animation duration in ms, echoed for convenience. */
@@ -4122,6 +4180,63 @@ declare function formatVersionTimestamp(ts: number): string;
4122
4180
  */
4123
4181
  declare function formatRelativeTime(ts: number): string;
4124
4182
 
4183
+ /**
4184
+ * session-restore: keep the deck a host app has open across a page refresh.
4185
+ *
4186
+ * A host (the demo apps, or any embedder) owns the bytes it hands to the
4187
+ * viewer, so a plain reload drops them and the user lands back on the file
4188
+ * dropzone with their presentation gone. This store remembers the open deck in
4189
+ * IndexedDB and hands it back on the next load.
4190
+ *
4191
+ * Scope is deliberately per-tab: the record is keyed by an id kept in
4192
+ * `sessionStorage`, which survives a reload but NOT a new tab. Refreshing
4193
+ * restores the deck this tab had open, while a second tab opened on the same
4194
+ * origin still starts on the landing page, and two tabs holding different decks
4195
+ * never steal each other's content.
4196
+ *
4197
+ * `restoreSessionDeck` additionally prefers a NEWER autosave snapshot for the
4198
+ * same file (see `./autosave-store`), so a refresh mid-edit comes back with the
4199
+ * edited deck rather than the pristine bytes that were first opened.
4200
+ *
4201
+ * Every operation is best-effort: a blocked IndexedDB, a partitioned
4202
+ * `sessionStorage`, or an exhausted quota degrades to "no restore", never to a
4203
+ * thrown error in the host.
4204
+ */
4205
+ /** A deck remembered for the current tab. */
4206
+ interface SessionDeck {
4207
+ /** File name the deck was opened under, used as the autosave key. */
4208
+ fileName: string;
4209
+ /** The presentation bytes. */
4210
+ data: Uint8Array;
4211
+ /** When these bytes were remembered (epoch ms). */
4212
+ timestamp: number;
4213
+ }
4214
+ /**
4215
+ * This tab's session id, or `null` when `sessionStorage` is unavailable (a
4216
+ * sandboxed iframe, or a browser with storage disabled).
4217
+ *
4218
+ * @param create Mint and persist an id when the tab does not have one yet.
4219
+ * Reads pass `false` so a fresh tab never claims another tab's record.
4220
+ */
4221
+ declare function getSessionTabId(create?: boolean): string | null;
4222
+ /**
4223
+ * Remember `data` as the deck this tab has open, so the next load can restore
4224
+ * it. Resolves `false` when the browser refused to store it; callers treat that
4225
+ * as "no restore available later", never as an error.
4226
+ */
4227
+ declare function rememberSessionDeck(fileName: string, data: Uint8Array): Promise<boolean>;
4228
+ /** The deck remembered for this tab, or `null` when there is nothing to restore. */
4229
+ declare function loadSessionDeck(): Promise<SessionDeck | null>;
4230
+ /** Forget this tab's deck (the host closed it, or handed the tab to another flow). */
4231
+ declare function forgetSessionDeck(): Promise<void>;
4232
+ /**
4233
+ * The deck to reopen on load: this tab's remembered bytes, upgraded to a newer
4234
+ * autosave snapshot of the same file when the viewer wrote one after they were
4235
+ * remembered. Without that upgrade a refresh mid-edit would silently roll the
4236
+ * presentation back to the state it was opened in.
4237
+ */
4238
+ declare function restoreSessionDeck(): Promise<SessionDeck | null>;
4239
+
4125
4240
  /**
4126
4241
  * broadcast-helpers.ts: framework-agnostic helpers for the Broadcast dialog,
4127
4242
  * shared by the React, Vue and Angular bindings.
@@ -4700,10 +4815,19 @@ declare function replaceInSlides(slides: readonly PptxSlide[], query: string, re
4700
4815
 
4701
4816
  /** Severity groups in display order (errors first, then warnings, then tips). */
4702
4817
  declare const SEVERITY_GROUPS: readonly AccessibilityIssueSeverity[];
4703
- /** Human-readable heading for each severity group. */
4818
+ /**
4819
+ * English headings for each severity group.
4820
+ *
4821
+ * The fallback, not the source of truth: {@link SEVERITY_LABEL_KEYS} is what a
4822
+ * binding should feed its translator. These stay exported because they are the
4823
+ * text a caller with no translator gets, and because they are part of the
4824
+ * historical public surface of this module.
4825
+ */
4704
4826
  declare const SEVERITY_LABELS: Record<AccessibilityIssueSeverity, string>;
4705
- /** Human-readable label for each issue type. */
4827
+ /** English label for each issue type; see {@link TYPE_LABEL_KEYS}. */
4706
4828
  declare const TYPE_LABELS: Record<AccessibilityIssueType, string>;
4829
+ /** Resolves a `pptx.*` key to display text. */
4830
+ type AccessibilityTranslate = (key: string) => string;
4707
4831
  /** A severity group with its (non-empty) issues, used for rendering. */
4708
4832
  interface AccessibilityIssueGroup {
4709
4833
  severity: AccessibilityIssueSeverity;
@@ -4727,10 +4851,13 @@ declare function countAccessibilityIssues(issues: readonly AccessibilityIssue[])
4727
4851
  /**
4728
4852
  * Partition issues into non-empty severity groups in display order
4729
4853
  * (errors -> warnings -> tips).
4854
+ *
4855
+ * @param translate - The binding's translator. Omit it to get English, which
4856
+ * is what every existing caller did before the keys moved here.
4730
4857
  */
4731
- declare function groupIssuesBySeverity(issues: readonly AccessibilityIssue[]): AccessibilityIssueGroup[];
4732
- /** Human-readable label for an issue type. */
4733
- declare function issueTypeLabel(type: AccessibilityIssueType): string;
4858
+ declare function groupIssuesBySeverity(issues: readonly AccessibilityIssue[], translate?: AccessibilityTranslate): AccessibilityIssueGroup[];
4859
+ /** Human-readable label for an issue type, translated when a translator is given. */
4860
+ declare function issueTypeLabel(type: AccessibilityIssueType, translate?: AccessibilityTranslate): string;
4734
4861
  /**
4735
4862
  * Stable-ish track key for an issue (issues have no id of their own).
4736
4863
  */
@@ -4981,6 +5108,33 @@ declare function removeCommentFromList(comments: PptxComment[], id: string): Ppt
4981
5108
  */
4982
5109
  declare function toggleCommentResolvedInList(comments: PptxComment[], id: string): PptxComment[] | null;
4983
5110
 
5111
+ /**
5112
+ * Framework-agnostic canvas comment-marker model.
5113
+ *
5114
+ * Builds the numbered marker-dot descriptors every binding draws over the
5115
+ * slide canvas: the position comes from {@link getCommentMarkerPosition}
5116
+ * (explicit comment x/y clamped to the slide, else a 4-column grid fallback),
5117
+ * the label is the 1-based comment number, and the title is
5118
+ * `"<author>: <text>"`, the neutral hook the cross-binding e2e suite reads.
5119
+ *
5120
+ * No framework imports; each binding renders these descriptors inside its
5121
+ * `aria-roledescription="slide"` stage.
5122
+ */
5123
+
5124
+ /** One renderable marker dot. */
5125
+ interface CommentMarkerDescriptor {
5126
+ /** Id of the comment the dot represents (click payload). */
5127
+ commentId: string;
5128
+ /** 1-based comment number rendered inside the dot. */
5129
+ label: string;
5130
+ /** Dot CENTER x, in unscaled slide coordinates. */
5131
+ x: number;
5132
+ /** Dot CENTER y, in unscaled slide coordinates. */
5133
+ y: number;
5134
+ /** Tooltip text: `"<author>: <text>"`. */
5135
+ title: string;
5136
+ }
5137
+
4984
5138
  /**
4985
5139
  * Framework-agnostic touch-gesture state machine for the viewer canvas.
4986
5140
  *
@@ -5020,9 +5174,23 @@ interface TouchGestureCallbacks {
5020
5174
  onLongPress?: (clientX: number, clientY: number) => void;
5021
5175
  }
5022
5176
 
5023
- /** Chart types surfaced in the insert toolbar dropdown, with friendly labels. */
5177
+ /**
5178
+ * Dropdown ids for the insert-chart menu. Distinct from `PptxChartType`
5179
+ * because PowerPoint offers Column (vertical) and Bar (horizontal) as two
5180
+ * entries over the same underlying `'bar'` chart type.
5181
+ */
5182
+ type InsertChartKind = 'column' | 'bar' | 'line' | 'pie' | 'doughnut' | 'area' | 'scatter';
5183
+ /** Chart types surfaced in the insert toolbar dropdown, with translatable labels. */
5024
5184
  interface InsertChartTypeOption {
5185
+ /** Stable dropdown value; also what `createDefaultChartElement` accepts. */
5186
+ id: InsertChartKind;
5187
+ /** The underlying chart family written into `chartData.chartType`. */
5025
5188
  type: PptxChartType;
5189
+ /** Bar direction for the two bar-family entries (`c:barDir`). */
5190
+ barDirection?: PptxChartBarDirection;
5191
+ /** i18n key for the dropdown label. */
5192
+ labelKey: string;
5193
+ /** English fallback label (bindings should prefer {@link labelKey}). */
5026
5194
  label: string;
5027
5195
  }
5028
5196
 
@@ -5037,6 +5205,19 @@ interface MediaTrimRange {
5037
5205
  trimEndMs: number;
5038
5206
  }
5039
5207
 
5208
+ /**
5209
+ * summary-zoom.ts: the framework-neutral tile model for an Office 2016 Summary
5210
+ * Zoom container, consumed by all five bindings.
5211
+ *
5212
+ * Every caption this module produces reaches the DOM (as a tile subtitle or an
5213
+ * `aria-label`), so it takes the binding's translator rather than hard-coding
5214
+ * English. The parameter is optional purely so existing callers keep
5215
+ * compiling; a viewer that omits it renders a French deck's zoom tiles in
5216
+ * English.
5217
+ *
5218
+ * @module render/summary-zoom
5219
+ */
5220
+
5040
5221
  interface SummaryZoomTileView {
5041
5222
  key: string;
5042
5223
  sectionId: string;
@@ -5591,6 +5772,27 @@ interface ViewerOptionsStore {
5591
5772
  /** Reset every option (or one tab-group) back to defaults. */
5592
5773
  reset(group?: ViewerOptionsGroupId): void;
5593
5774
  subscribe(listener: ViewerOptionsListener): () => void;
5775
+ /**
5776
+ * Subscribe to ONE projection of the options, woken only when that
5777
+ * projection changes.
5778
+ *
5779
+ * `subscribe` above wakes on every option change, which in a binding means
5780
+ * the whole options consumer re-renders because the user toggled something
5781
+ * unrelated. A ribbon control that reads `ribbon.hiddenTabIds` should not
5782
+ * care that an autosave interval moved (issue #145).
5783
+ *
5784
+ * IMPORTANT for array/object slices: every write here deep-clones the whole
5785
+ * options object (`cloneViewerOptions`), so a nested array is a NEW array
5786
+ * after ANY change, even one that did not touch it. Under the default
5787
+ * `Object.is` such a selector would fire on every write and buy nothing.
5788
+ * Pass a value equality for those, e.g. the shared `sameArray`.
5789
+ */
5790
+ subscribeSelector<T>(selector: (options: ViewerOptions) => T, listener: (value: T, previous: T) => void, isEqual?: (a: T, b: T) => boolean): () => void;
5791
+ /**
5792
+ * Apply several option writes as ONE notification, so a multi-field
5793
+ * operation costs a single render instead of one per field.
5794
+ */
5795
+ batch(write: () => void): void;
5594
5796
  }
5595
5797
 
5596
5798
  /**
@@ -5885,7 +6087,7 @@ type PptxAiUIMessage = UIMessage;
5885
6087
  * live deck); the viewer-only tools (navigation, deck outline, element/notes
5886
6088
  * readers, table merge) have no MCP counterpart.
5887
6089
  */
5888
- type PptxAiToolName = 'get_deck_overview' | 'get_slide' | 'get_element' | 'get_speaker_notes' | 'find_text' | 'get_theme' | 'go_to_slide' | 'select_elements' | 'merge_tables' | 'get_metadata' | 'get_layouts' | 'find_placeholders' | 'get_presentation_properties' | 'run_accessibility_check' | 'convert_to_markdown' | 'add_element' | 'update_element' | 'delete_elements' | 'arrange_elements' | 'clone_element' | 'set_element_animation' | 'group_elements' | 'ungroup_elements' | 'batch_update_elements' | 'update_element_style' | 'replace_geometry' | 'set_element_lock' | 'manage_hyperlinks' | 'replace_text' | 'manage_comments' | 'update_table_cells' | 'manage_table_structure' | 'create_chart' | 'update_chart' | 'add_chart_series' | 'remove_chart_series' | 'update_chart_series_data' | 'manage_smart_art' | 'apply_template' | 'add_slide' | 'duplicate_slide' | 'delete_slides' | 'reorder_slides' | 'update_slide_properties' | 'set_slide_transition' | 'apply_theme_preset' | 'update_theme_colors' | 'update_theme_fonts' | 'set_canvas_size' | 'update_metadata' | 'manage_sections' | 'update_presentation_properties' | 'apply_layout';
6090
+ type PptxAiToolName = 'get_deck_overview' | 'get_slide' | 'get_element' | 'get_speaker_notes' | 'find_text' | 'get_theme' | 'go_to_slide' | 'select_elements' | 'merge_tables' | 'get_metadata' | 'get_layouts' | 'find_placeholders' | 'get_presentation_properties' | 'run_accessibility_check' | 'convert_to_markdown' | 'export_to_json' | 'add_element' | 'update_element' | 'delete_elements' | 'arrange_elements' | 'clone_element' | 'set_element_animation' | 'group_elements' | 'ungroup_elements' | 'batch_update_elements' | 'update_element_style' | 'replace_geometry' | 'set_element_lock' | 'manage_hyperlinks' | 'replace_text' | 'manage_comments' | 'update_table_cells' | 'manage_table_structure' | 'create_chart' | 'update_chart' | 'add_chart_series' | 'remove_chart_series' | 'update_chart_series_data' | 'manage_smart_art' | 'apply_template' | 'add_slide' | 'duplicate_slide' | 'delete_slides' | 'reorder_slides' | 'update_slide_properties' | 'set_slide_transition' | 'apply_theme_preset' | 'update_theme_colors' | 'update_theme_fonts' | 'set_canvas_size' | 'update_metadata' | 'manage_sections' | 'update_presentation_properties' | 'import_from_json' | 'apply_layout';
5889
6091
  type Resolvable<T> = T | (() => T | Promise<T>);
5890
6092
  /** How the assistant reaches a language model. */
5891
6093
  type PptxAiConnection =
@@ -6729,6 +6931,8 @@ declare class CollaborationService {
6729
6931
  * would otherwise throw inside Yjs and kill the surviving session).
6730
6932
  */
6731
6933
  private connectToken;
6934
+ /** Memoises the awareness -> presence projection so idle heartbeats are dropped. */
6935
+ private readonly projector;
6732
6936
  private readonly refreshPresence;
6733
6937
  constructor();
6734
6938
  connect(config: CollaborationConfig, options?: ConnectOptions): Promise<void>;
@@ -6920,6 +7124,15 @@ declare class EditorStateService {
6920
7124
  * Omitted for a plain blank slide, which is what the button itself does.
6921
7125
  */
6922
7126
  addSlide(afterIndex: number, layoutPath?: string): void;
7127
+ /**
7128
+ * Insert a pre-designed template slide after `afterIndex` (records history).
7129
+ *
7130
+ * The slide is built by the shared catalogue (`buildSlideTemplateSlide`) on
7131
+ * the loaded deck's canvas size and theme scheme, so inserted content matches
7132
+ * the deck's look; without a loaded deck it falls back to the standard
7133
+ * 1280x720 canvas and the Office default scheme.
7134
+ */
7135
+ insertSlideFromTemplate(afterIndex: number, templateId: SlideTemplateId): void;
6923
7136
  /** Delete a slide (keeps at least one; records history). */
6924
7137
  deleteSlide(index: number): void;
6925
7138
  /** Duplicate a slide, inserting the copy after it (records history). */
@@ -7067,6 +7280,11 @@ declare class IsMobileService {
7067
7280
  declare class LoadContentService {
7068
7281
  /** Parsed slides (with image Blob URLs patched in). */
7069
7282
  readonly slides: _angular_core.WritableSignal<PptxSlide[]>;
7283
+ /**
7284
+ * The full parsed presentation (slides patched with resolved image data
7285
+ * URLs), for whole-deck exports such as the `pptx-viewer-json` download.
7286
+ */
7287
+ readonly parsedData: _angular_core.WritableSignal<PptxData | undefined>;
7070
7288
  /** Slide canvas size in pixels. */
7071
7289
  readonly canvasSize: _angular_core.WritableSignal<CanvasSize>;
7072
7290
  /** Resolved presentation theme. */
@@ -7697,6 +7915,13 @@ interface TableCellCommit {
7697
7915
  * Pure helpers live in `table-renderer-helpers.ts` / `table-cell-style.ts`.
7698
7916
  */
7699
7917
  declare class TableRendererComponent {
7918
+ /**
7919
+ * Font stack for table text with no authored typeface, declared on the
7920
+ * `<table>` root. Load-bearing: an unstyled cell otherwise inherits the HOST
7921
+ * chrome's font, so the same table measured a different stack in every
7922
+ * binding's demo. All five bindings declare this same shared default.
7923
+ */
7924
+ readonly defaultTableFontFamily = "\"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif";
7700
7925
  private readonly injector;
7701
7926
  /** Shared cell-selection state (present only inside the editor subtree). */
7702
7927
  private readonly selectionSvc;
@@ -7838,6 +8063,15 @@ declare class ViewerCanvasEditingService {
7838
8063
  onSelectionPaneBringForward(id: string): void;
7839
8064
  onSelectionPaneSendBackward(id: string): void;
7840
8065
  onToggleElementHidden(id: string): void;
8066
+ /**
8067
+ * Commit a selection-pane inline rename through the history-integrated
8068
+ * update path. `name: undefined` clears the authored name (round-trips as a
8069
+ * dropped `cNvPr/@name` on save).
8070
+ */
8071
+ onSelectionPaneRename(event: {
8072
+ id: string;
8073
+ name: string | undefined;
8074
+ }): void;
7841
8075
  /**
7842
8076
  * Commit a table cell's inline text edit. Finds the table element on the
7843
8077
  * active slide, rebuilds its `tableData` with the new cell text, and patches
@@ -8218,6 +8452,12 @@ declare class ViewerFileIOService {
8218
8452
  saveAsPptx(): Promise<void>;
8219
8453
  saveAsPpsx(): Promise<void>;
8220
8454
  saveAsPptm(): Promise<void>;
8455
+ /**
8456
+ * File > Export > Export as JSON: serialise the live deck (templates merged
8457
+ * back in when editing) to `pptx-viewer-json` and trigger the download.
8458
+ * `sourceName` (the host `fileName` input) seeds the download filename.
8459
+ */
8460
+ exportJson(sourceName?: string | null): void;
8221
8461
  /** Bundle the presentation and its usage notes in a shareable ZIP archive. */
8222
8462
  packageForSharing(): Promise<void>;
8223
8463
  /**
@@ -8681,10 +8921,12 @@ declare class ViewerThemeGalleryService {
8681
8921
  }
8682
8922
 
8683
8923
  declare class ViewerZoomService {
8924
+ private readonly store;
8925
+ private readonly zoomSignal;
8684
8926
  /** Current zoom multiplier applied to the main slide canvas (1 = 100%). */
8685
- readonly zoom: _angular_core.WritableSignal<number>;
8927
+ readonly zoom: Signal<number>;
8686
8928
  /** {@link zoom} rounded to a whole percentage for display. */
8687
- readonly zoomPercent: _angular_core.Signal<number>;
8929
+ readonly zoomPercent: Signal<number>;
8688
8930
  /** Jump to an explicit zoom level, clamped by the shared bounds. */
8689
8931
  setZoom(level: number): void;
8690
8932
  zoomIn(): void;
@@ -8993,6 +9235,10 @@ declare class PowerPointViewerComponent {
8993
9235
  protected readonly rootClasses: _angular_core.Signal<string[]>;
8994
9236
  /** Whether the Insert SmartArt gallery dialog is open. */
8995
9237
  protected readonly showSmartArtInsert: _angular_core.WritableSignal<boolean>;
9238
+ /** Whether the Slide Templates gallery dialog is open. */
9239
+ protected readonly showTemplateGallery: _angular_core.WritableSignal<boolean>;
9240
+ /** Deck scheme map for template gallery previews (deck theme colours). */
9241
+ protected readonly templateScheme: _angular_core.Signal<Record<string, string>>;
8996
9242
  /** The single selected element on the active slide (for the inspector). */
8997
9243
  protected readonly selectedElement: _angular_core.Signal<PptxElement | null>;
8998
9244
  /** Whether the AI assistant pane is open (toggled from the ribbon Sparkles). */
@@ -9116,6 +9362,8 @@ declare class PowerPointViewerComponent {
9116
9362
  * cleared for the same reason.
9117
9363
  */
9118
9364
  protected onContextMenuAddComment(): void;
9365
+ /** Canvas marker click: bring the comments panel on screen (same as above). */
9366
+ protected onCommentMarkerClick(): void;
9119
9367
  /** Get the IDs of currently selected elements. */
9120
9368
  getSelectedElementIds(): string[];
9121
9369
  /** Programmatically select elements by their IDs. */
@@ -9194,12 +9442,23 @@ declare class PowerPointViewerComponent {
9194
9442
  onCommentRemove(id: string): void;
9195
9443
  /** Toggle a comment's resolved flag on the active slide. */
9196
9444
  onCommentResolve(id: string): void;
9445
+ /** Append a threaded reply under a top-level comment on the active slide. */
9446
+ onCommentReply(event: {
9447
+ parentId: string;
9448
+ text: string;
9449
+ }): void;
9197
9450
  /**
9198
9451
  * Insert a new SmartArt element built from the dialog's chosen preset + item
9199
9452
  * texts. The element id is left empty so `EditorStateService.addElement`
9200
9453
  * assigns one; the insert is a single undo/redo history entry.
9201
9454
  */
9202
9455
  protected onInsertSmartArt(event: SmartArtInsertEvent): void;
9456
+ /**
9457
+ * Insert the chosen slide template after the active slide (one undoable
9458
+ * history entry via {@link EditorStateService.insertSlideFromTemplate}) and
9459
+ * select the new slide, mirroring React's `handleInsertSlideFromTemplate`.
9460
+ */
9461
+ protected onInsertTemplateSlide(templateId: SlideTemplateId): void;
9203
9462
  /**
9204
9463
  * Editing keyboard shortcuts (only when `canEdit` and not typing in a
9205
9464
  * field or presenting). The decorator must live on the component; the logic
@@ -9627,6 +9886,8 @@ declare class AiChatService {
9627
9886
  send(text: string): void;
9628
9887
  /** Abort the in-flight request. */
9629
9888
  stop(): void;
9889
+ /** Replace the whole transcript (chat-history resume / new chat / clear). */
9890
+ setMessages(messages: PptxAiUIMessage[]): void;
9630
9891
  /** Clear the current error and return to the ready state. */
9631
9892
  clearError(): void;
9632
9893
  /** Accept one staged proposal (applies it as one undoable edit). */
@@ -9647,12 +9908,45 @@ declare class AiChatService {
9647
9908
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AiChatService>;
9648
9909
  }
9649
9910
 
9911
+ interface AiHistoryInitDeps {
9912
+ deckId: string;
9913
+ getMessages(): PptxAiUIMessage[];
9914
+ setMessages(messages: PptxAiUIMessage[]): void;
9915
+ /** Injectable for tests; defaults to the shared IndexedDB-first store. */
9916
+ store?: PptxAiChatStore;
9917
+ }
9918
+ declare class AiHistoryService implements OnDestroy {
9919
+ private controller;
9920
+ /** Saved chats for this deck, newest first. */
9921
+ readonly chats: _angular_core.WritableSignal<readonly PptxAiChatSummary[]>;
9922
+ /** Id the running transcript is (or will be) saved under. */
9923
+ readonly activeChatId: _angular_core.WritableSignal<string>;
9924
+ /** Whether the saved-chat dropdown is open. */
9925
+ readonly menuOpen: _angular_core.WritableSignal<boolean>;
9926
+ /** Component-level provider teardown: cancel any pending debounced save. */
9927
+ ngOnDestroy(): void;
9928
+ /** Bootstrap the controller. Idempotent: only the first call takes effect. */
9929
+ init(deps: AiHistoryInitDeps): void;
9930
+ /** Debounced (800ms) save of the current transcript; empty ones are skipped. */
9931
+ notifyMessagesChanged(): void;
9932
+ toggleMenu(): void;
9933
+ newChat(): void;
9934
+ resumeChat(id: string): Promise<void>;
9935
+ deleteChat(id: string): Promise<void>;
9936
+ clearCurrent(): void;
9937
+ private syncActiveId;
9938
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AiHistoryService, never>;
9939
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AiHistoryService>;
9940
+ }
9941
+
9650
9942
  declare class AiChatPanelComponent {
9651
9943
  readonly bridge: _angular_core.InputSignal<PptxAiBridge>;
9652
9944
  readonly config: _angular_core.InputSignal<PptxAiConfig>;
9653
9945
  readonly panelWidth: _angular_core.InputSignal<number | undefined>;
9654
9946
  readonly closed: _angular_core.OutputEmitterRef<void>;
9655
9947
  protected readonly chat: AiChatService;
9948
+ /** Chat-history persistence + the "Chats" resume menu (panel-scoped). */
9949
+ protected readonly history: AiHistoryService;
9656
9950
  /** Shared panel scope + on-canvas highlight store (provided by the viewer). */
9657
9951
  protected readonly store: AiPanelStore;
9658
9952
  constructor();
@@ -9797,6 +10091,19 @@ declare class AiFocusBarComponent {
9797
10091
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AiFocusBarComponent, "pptx-ai-focus-bar", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; }, { "sendDirective": "sendDirective"; }, never, never, true, never>;
9798
10092
  }
9799
10093
 
10094
+ declare class AiHistoryMenuComponent {
10095
+ /** Whether the clear-chat action is enabled (transcript non-empty). */
10096
+ readonly canClear: _angular_core.InputSignal<boolean>;
10097
+ protected readonly history: AiHistoryService;
10098
+ private readonly elementRef;
10099
+ protected resume(id: string): void;
10100
+ protected deleteChat(id: string): void;
10101
+ /** Close the dropdown on any outside click. */
10102
+ protected onDocumentMouseDown(event: MouseEvent): void;
10103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AiHistoryMenuComponent, never>;
10104
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AiHistoryMenuComponent, "pptx-ai-history-menu", never, { "canClear": { "alias": "canClear"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
10105
+ }
10106
+
9800
10107
  /** One tool invocation captured with its full technical detail. */
9801
10108
  interface AiLogToolCall {
9802
10109
  toolName: string;
@@ -10109,6 +10416,7 @@ declare class RibbonComponent {
10109
10416
  readonly exportPdf: _angular_core.OutputEmitterRef<void>;
10110
10417
  readonly exportGif: _angular_core.OutputEmitterRef<void>;
10111
10418
  readonly exportVideo: _angular_core.OutputEmitterRef<void>;
10419
+ readonly exportJson: _angular_core.OutputEmitterRef<void>;
10112
10420
  readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
10113
10421
  readonly replace: _angular_core.OutputEmitterRef<void>;
10114
10422
  /** Design/Transitions/Animations tabs want the right-docked Inspector panel opened. */
@@ -10136,6 +10444,8 @@ declare class RibbonComponent {
10136
10444
  readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
10137
10445
  /** "SmartArt" in the Insert tab; the host opens the gallery dialog and does the insert. */
10138
10446
  readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
10447
+ /** "Slide Templates" in the Home tab; the host opens the gallery dialog and does the insert. */
10448
+ readonly openTemplateGallery: _angular_core.OutputEmitterRef<void>;
10139
10449
  /** Emitted when the user clicks "Equation" in the Insert tab (opens the editor). */
10140
10450
  readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
10141
10451
  /** Emitted when the user clicks "Set Up Show" in the Slide Show tab. */
@@ -10164,7 +10474,7 @@ declare class RibbonComponent {
10164
10474
  /** Forward the Review proofing toggle to the viewer-owned live state. */
10165
10475
  protected setSpellCheck(enabled: boolean): void;
10166
10476
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonComponent, never>;
10167
- 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; }; "aiEnabled": { "alias": "aiEnabled"; "required": false; "isSignal": true; }; "aiPanelOpen": { "alias": "aiPanelOpen"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "activeSlideHidden": { "alias": "activeSlideHidden"; "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"; "toggleAiPanel": "toggleAiPanel"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openReadingView": "openReadingView"; "openOutlineView": "openOutlineView"; "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"; "toggleHideSlide": "toggleHideSlide"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; }, never, never, true, never>;
10477
+ 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; }; "aiEnabled": { "alias": "aiEnabled"; "required": false; "isSignal": true; }; "aiPanelOpen": { "alias": "aiPanelOpen"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "activeSlideHidden": { "alias": "activeSlideHidden"; "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"; "toggleAiPanel": "toggleAiPanel"; "signatures": "signatures"; "info": "info"; "print": "print"; "comments": "comments"; "a11y": "a11y"; "link": "link"; "openSorter": "openSorter"; "openReadingView": "openReadingView"; "openOutlineView": "openOutlineView"; "openMasterView": "openMasterView"; "toggleNotes": "toggleNotes"; "toggleFormatPainter": "toggleFormatPainter"; "exportPng": "exportPng"; "exportPdf": "exportPdf"; "exportGif": "exportGif"; "exportVideo": "exportVideo"; "exportJson": "exportJson"; "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"; "openTemplateGallery": "openTemplateGallery"; "openEquationDialog": "openEquationDialog"; "openSetUpSlideShow": "openSetUpSlideShow"; "toggleHideSlide": "toggleHideSlide"; "openCompare": "openCompare"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "openShortcuts": "openShortcuts"; "openSettings": "openSettings"; }, never, never, true, never>;
10168
10478
  }
10169
10479
 
10170
10480
  /** The eight resize-handle positions around a selection box. */
@@ -10397,6 +10707,11 @@ declare class SlideCanvasComponent implements SlideContext {
10397
10707
  * True only for the live presentation stage: slide-content media autoplays.
10398
10708
  * Left false for thumbnails, the sorter and the editor canvas so their media
10399
10709
  * stays quiet (the template layer never autoplays regardless).
10710
+ *
10711
+ * A presenting stage also carries the show contract: the shared
10712
+ * `data-pptx-presenting` marker (stamped by
10713
+ * `applyRenderedElementAccessibility`) plus `aria-roledescription="slide"`,
10714
+ * so a running show is discoverable the same way in all five bindings.
10400
10715
  */
10401
10716
  readonly presenting: _angular_core.InputSignal<boolean>;
10402
10717
  /** Ids of currently-selected elements (drawn with a selection outline). */
@@ -10924,6 +11239,16 @@ declare class ElementRendererComponent {
10924
11239
  * separate lightweight renderer).
10925
11240
  */
10926
11241
  readonly interactive: _angular_core.InputSignal<boolean>;
11242
+ /**
11243
+ * Emit the `data-pptx-element` marker even though `interactive` is false.
11244
+ * The slide canvas sets this for template (master/layout) elements, which are
11245
+ * interaction-locked outside edit-template mode but are still rendered slide
11246
+ * elements as far as the contract is concerned (the marker means "carries the
11247
+ * element contract", not "editable right now"), matching the other bindings.
11248
+ */
11249
+ readonly marked: _angular_core.InputSignal<boolean>;
11250
+ /** Whether this element's root carries `data-pptx-element="true"`. */
11251
+ readonly elementMarked: _angular_core.Signal<boolean>;
10927
11252
  /**
10928
11253
  * True only on the live presentation stage; threaded to the media renderer so
10929
11254
  * a slide's media autoplays when the slide becomes active (and to group
@@ -10986,9 +11311,12 @@ declare class ElementRendererComponent {
10986
11311
  * DAG fill-overlay tint (colour + blend mode) painted as a separate blended
10987
11312
  * layer over the shape. Undefined when the element has no fill overlay.
10988
11313
  */
10989
- /** Gradient / pattern `a:ln` outline, stroked as an SVG path over the element. */
11314
+ /**
11315
+ * Stroked SVG outline: a gradient / pattern `a:ln`, or a stroke-only ("open")
11316
+ * preset such as `line` or `arc`, neither of which a CSS border can paint.
11317
+ */
10990
11318
  readonly gradientOutline: _angular_core.Signal<StrokeOutline | undefined>;
10991
- /** viewBox in the element's own pixel space, matching the outline path data. */
11319
+ /** viewBox in the element's PAINTED box, which the path data is authored in. */
10992
11320
  readonly outlineViewBox: _angular_core.Signal<string>;
10993
11321
  readonly fillOverlay: _angular_core.Signal<FillOverlayCss | undefined>;
10994
11322
  /**
@@ -11050,7 +11378,7 @@ declare class ElementRendererComponent {
11050
11378
  readonly hasText: _angular_core.Signal<boolean>;
11051
11379
  readonly placeholderLabel: _angular_core.Signal<any>;
11052
11380
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ElementRendererComponent, never>;
11053
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ElementRendererComponent, "pptx-element-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "obstacles": { "alias": "obstacles"; "required": false; "isSignal": true; }; "canvasWidth": { "alias": "canvasWidth"; "required": false; "isSignal": true; }; "canvasHeight": { "alias": "canvasHeight"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "fieldContext": { "alias": "fieldContext"; "required": false; "isSignal": true; }; "slideElements": { "alias": "slideElements"; "required": false; "isSignal": true; }; "editTemplateMode": { "alias": "editTemplateMode"; "required": false; "isSignal": true; }; "parentGroupFill": { "alias": "parentGroupFill"; "required": false; "isSignal": true; }; }, { "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, never, true, never>;
11381
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ElementRendererComponent, "pptx-element-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "obstacles": { "alias": "obstacles"; "required": false; "isSignal": true; }; "canvasWidth": { "alias": "canvasWidth"; "required": false; "isSignal": true; }; "canvasHeight": { "alias": "canvasHeight"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "marked": { "alias": "marked"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "fieldContext": { "alias": "fieldContext"; "required": false; "isSignal": true; }; "slideElements": { "alias": "slideElements"; "required": false; "isSignal": true; }; "editTemplateMode": { "alias": "editTemplateMode"; "required": false; "isSignal": true; }; "parentGroupFill": { "alias": "parentGroupFill"; "required": false; "isSignal": true; }; }, { "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, never, true, never>;
11054
11382
  }
11055
11383
 
11056
11384
  /**
@@ -11085,6 +11413,8 @@ declare class ConnectorRendererComponent {
11085
11413
  readonly canvasHeight: _angular_core.InputSignal<number>;
11086
11414
  /** See ElementRenderer.interactive: gates the data-pptx-element contract attr. */
11087
11415
  readonly interactive: _angular_core.InputSignal<boolean>;
11416
+ /** Keep the data-pptx-element marker on interaction-locked template elements. */
11417
+ readonly marked: _angular_core.InputSignal<boolean>;
11088
11418
  /**
11089
11419
  * Native-animation playback state. When an active `p:animClr` colour animation
11090
11420
  * targets the stroke (`animatesStroke`), the SVG stroke + arrowheads paint
@@ -11118,7 +11448,7 @@ declare class ConnectorRendererComponent {
11118
11448
  readonly connectorSegments: _angular_core.Signal<TextSegment[] | undefined>;
11119
11449
  readonly connectorTextStyle: _angular_core.Signal<TextStyle | undefined>;
11120
11450
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConnectorRendererComponent, never>;
11121
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConnectorRendererComponent, "pptx-connector-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "obstacles": { "alias": "obstacles"; "required": false; "isSignal": true; }; "canvasWidth": { "alias": "canvasWidth"; "required": false; "isSignal": true; }; "canvasHeight": { "alias": "canvasHeight"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "animationState": { "alias": "animationState"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11451
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConnectorRendererComponent, "pptx-connector-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "obstacles": { "alias": "obstacles"; "required": false; "isSignal": true; }; "canvasWidth": { "alias": "canvasWidth"; "required": false; "isSignal": true; }; "canvasHeight": { "alias": "canvasHeight"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "marked": { "alias": "marked"; "required": false; "isSignal": true; }; "animationState": { "alias": "animationState"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11122
11452
  }
11123
11453
  /** One parallel stroke of a (possibly compound) connector line. */
11124
11454
  interface ConnectorStrand {
@@ -11924,6 +12254,8 @@ declare class Model3DRendererComponent implements OnDestroy {
11924
12254
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<Model3DRendererComponent, "pptx-model3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "markElement": { "alias": "markElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11925
12255
  }
11926
12256
 
12257
+ /** Resolves a `pptx.*` key, interpolating `{{...}}` params when given. */
12258
+ type ZoomTranslate = (key: string, params?: Record<string, string>) => string;
11927
12259
  /**
11928
12260
  * Pure helpers for `ZoomRendererComponent`.
11929
12261
  *
@@ -11972,8 +12304,13 @@ interface ZoomViewModel {
11972
12304
  *
11973
12305
  * Returns sensible defaults for non-zoom elements (all derived strings are
11974
12306
  * empty/fallback values, `zoom` is `undefined`).
12307
+ *
12308
+ * @param translate - The binding's translator. Every string this builds ends up
12309
+ * in the DOM as a badge, a tile caption or an `aria-label`, and this helper
12310
+ * spelled all of them in English until the keys existed; omit it only in the
12311
+ * unit tests that assert the English wording.
11975
12312
  */
11976
- declare function buildZoomViewModel(element: PptxElement, targetInfo?: ZoomTargetInfo): ZoomViewModel;
12313
+ declare function buildZoomViewModel(element: PptxElement, targetInfo?: ZoomTargetInfo, translate?: ZoomTranslate): ZoomViewModel;
11977
12314
  /**
11978
12315
  * Resolve a zoom element's zero-based target slide index, or `0` for non-zoom
11979
12316
  * elements. Used to look the target slide up before building the view model.
@@ -12033,6 +12370,12 @@ declare class ZoomRendererComponent {
12033
12370
  * stays on the neutral grey / index / section-GUID placeholder.
12034
12371
  */
12035
12372
  private readonly zoomTarget;
12373
+ private readonly translate;
12374
+ /**
12375
+ * Adapter onto the shared/pure builders, which take a plain key + params
12376
+ * function rather than an Angular service.
12377
+ */
12378
+ private readonly translator;
12036
12379
  readonly vm: _angular_core.Signal<ZoomViewModel>;
12037
12380
  readonly summaryView: _angular_core.Signal<SummaryZoomView | undefined>;
12038
12381
  /**
@@ -12546,8 +12889,19 @@ declare class PresentationOverlayComponent implements OnInit {
12546
12889
  protected readonly currentSlide: _angular_core.Signal<PptxSlide | undefined>;
12547
12890
  /** Zoom level that fits the canvas into the current viewport. */
12548
12891
  protected readonly zoom: _angular_core.Signal<number>;
12549
- /** Centre the scaled slide in the viewport. */
12892
+ /**
12893
+ * Centre the scaled slide in the viewport. Numeric offsets, deliberately not
12894
+ * a `translate(-50%, -50%)`: see {@link presentationStageStyle} for why a
12895
+ * transform here broke the blackboard's ink layering.
12896
+ */
12550
12897
  protected readonly stageContainerStyle: _angular_core.Signal<Record<string, string>>;
12898
+ /**
12899
+ * Stacking level of the local ink overlay: raised above the blackout sheet
12900
+ * while the screen is blanked (PowerPoint's blackboard), 60 otherwise. The
12901
+ * decision lives in shared `annotationOverlayZIndex`; it only works because
12902
+ * the stage above is no longer a stacking context.
12903
+ */
12904
+ protected readonly annotationOverlayZ: _angular_core.Signal<number>;
12551
12905
  /**
12552
12906
  * Epoch ms the show opened, feeding the toolbar's elapsed readout. Captured
12553
12907
  * at construction because this overlay is created exactly when the show
@@ -12888,6 +13242,10 @@ declare class SlideDefaultInspectorComponent {
12888
13242
  readonly commentAdd: _angular_core.OutputEmitterRef<string>;
12889
13243
  readonly commentRemove: _angular_core.OutputEmitterRef<string>;
12890
13244
  readonly commentResolve: _angular_core.OutputEmitterRef<string>;
13245
+ readonly commentReply: _angular_core.OutputEmitterRef<{
13246
+ parentId: string;
13247
+ text: string;
13248
+ }>;
12891
13249
  protected readonly editor: EditorStateService;
12892
13250
  protected readonly canvasEditing: ViewerCanvasEditingService;
12893
13251
  protected readonly inspectorPanel: ViewerInspectorPanelService;
@@ -12902,7 +13260,7 @@ declare class SlideDefaultInspectorComponent {
12902
13260
  */
12903
13261
  protected readonly layerRows: _angular_core.Signal<LayerRow[]>;
12904
13262
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideDefaultInspectorComponent, never>;
12905
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideDefaultInspectorComponent, "pptx-slide-default-inspector", never, { "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "comments": { "alias": "comments"; "required": false; "isSignal": true; }; }, { "commentAdd": "commentAdd"; "commentRemove": "commentRemove"; "commentResolve": "commentResolve"; }, never, never, true, never>;
13263
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideDefaultInspectorComponent, "pptx-slide-default-inspector", never, { "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "comments": { "alias": "comments"; "required": false; "isSignal": true; }; }, { "commentAdd": "commentAdd"; "commentRemove": "commentRemove"; "commentResolve": "commentResolve"; "commentReply": "commentReply"; }, never, never, true, never>;
12906
13264
  }
12907
13265
 
12908
13266
  declare class PresentationPropertiesPanelComponent {
@@ -13198,7 +13556,7 @@ declare class TextAdvancedPanelComponent {
13198
13556
  /** Exposed option arrays for the template. */
13199
13557
  protected readonly alignOptions: [NonNullable<"center" | "left" | "right" | "justify" | "justLow" | "dist" | "thaiDist" | undefined>, string][];
13200
13558
  protected readonly vAlignOptions: [NonNullable<"top" | "bottom" | "middle" | undefined>, string][];
13201
- protected readonly textDirectionOptions: [NonNullable<"vertical" | "horizontal" | "eaVert" | "wordArtVert" | "wordArtVertRtl" | "mongolianVert" | "vertical270" | undefined>, string][];
13559
+ protected readonly textDirectionOptions: [NonNullable<"eaVert" | "wordArtVert" | "wordArtVertRtl" | "mongolianVert" | "horizontal" | "vertical" | "vertical270" | undefined>, string][];
13202
13560
  protected alignLabel(align: NonNullable<TextStyle['align']>): string;
13203
13561
  protected onAlignChange(align: NonNullable<TextStyle['align']>): void;
13204
13562
  protected onVAlignChange(event: Event): void;
@@ -14576,6 +14934,25 @@ declare class EquationRendererComponent {
14576
14934
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EquationRendererComponent, "pptx-equation-renderer", never, { "equationXml": { "alias": "equationXml"; "required": true; "isSignal": true; }; "equationNumber": { "alias": "equationNumber"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14577
14935
  }
14578
14936
 
14937
+ declare class CommentMarkersOverlayComponent {
14938
+ /** The active slide's comments (already filtered by the host). */
14939
+ readonly comments: _angular_core.InputSignal<PptxComment[]>;
14940
+ /** Unscaled slide canvas size, in px. */
14941
+ readonly canvasSize: _angular_core.InputSignal<{
14942
+ width: number;
14943
+ height: number;
14944
+ }>;
14945
+ /** Emits the clicked comment's id (the host opens its comments panel). */
14946
+ readonly markerClick: _angular_core.OutputEmitterRef<string>;
14947
+ private readonly translate;
14948
+ protected readonly size = 20;
14949
+ protected readonly half: number;
14950
+ protected readonly markers: _angular_core.Signal<CommentMarkerDescriptor[]>;
14951
+ protected onMarkerClick(event: MouseEvent, commentId: string): void;
14952
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommentMarkersOverlayComponent, never>;
14953
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommentMarkersOverlayComponent, "pptx-comment-markers-overlay", never, { "comments": { "alias": "comments"; "required": false; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; }, { "markerClick": "markerClick"; }, never, never, true, never>;
14954
+ }
14955
+
14579
14956
  declare class CommentsPanelComponent {
14580
14957
  /** The active slide's comments (already filtered to the active slide). */
14581
14958
  readonly comments: _angular_core.InputSignal<PptxComment[]>;
@@ -14588,15 +14965,33 @@ declare class CommentsPanelComponent {
14588
14965
  readonly remove: _angular_core.OutputEmitterRef<string>;
14589
14966
  /** Emits the id of a comment whose resolved flag should toggle. */
14590
14967
  readonly resolve: _angular_core.OutputEmitterRef<string>;
14968
+ /** Emits the parent comment id + trimmed text of a threaded reply. */
14969
+ readonly reply: _angular_core.OutputEmitterRef<{
14970
+ parentId: string;
14971
+ text: string;
14972
+ }>;
14591
14973
  /** Current text typed into the compose textarea. */
14592
14974
  readonly draft: _angular_core.WritableSignal<string>;
14593
14975
  /** Whether the draft has non-whitespace content (enables the submit button). */
14594
14976
  readonly canAdd: _angular_core.Signal<boolean>;
14977
+ /** Id of the comment whose reply composer is open (one at a time). */
14978
+ readonly replyingTo: _angular_core.WritableSignal<string | null>;
14979
+ /** Current text typed into the open reply composer. */
14980
+ readonly replyDraft: _angular_core.WritableSignal<string>;
14981
+ /** Whether the reply draft has content (enables the reply submit button). */
14982
+ readonly canReply: _angular_core.Signal<boolean>;
14595
14983
  onDraftInput(event: Event): void;
14596
14984
  submit(event: Event): void;
14985
+ /** Localized reply-composer placeholder ("Reply to <author>..."). */
14986
+ replyPlaceholder(comment: PptxComment): string;
14987
+ /** Open the reply composer under `parentId` (closing any other composer). */
14988
+ startReply(parentId: string): void;
14989
+ cancelReply(): void;
14990
+ onReplyInput(event: Event): void;
14991
+ submitReply(parentId: string): void;
14597
14992
  formatTimestamp(value: string | undefined): string;
14598
14993
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommentsPanelComponent, never>;
14599
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommentsPanelComponent, "pptx-comments-panel", never, { "comments": { "alias": "comments"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; }, { "add": "add"; "remove": "remove"; "resolve": "resolve"; }, never, never, true, never>;
14994
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommentsPanelComponent, "pptx-comments-panel", never, { "comments": { "alias": "comments"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; }, { "add": "add"; "remove": "remove"; "resolve": "resolve"; "reply": "reply"; }, never, never, true, never>;
14600
14995
  }
14601
14996
 
14602
14997
  declare class CommentsService {
@@ -14743,7 +15138,14 @@ declare class AccessibilityPanelComponent {
14743
15138
  readonly issues: _angular_core.InputSignal<AccessibilityIssue[]>;
14744
15139
  /** Emits the issue's zero-based slide index when an issue is clicked. */
14745
15140
  readonly selectSlide: _angular_core.OutputEmitterRef<number>;
14746
- /** Non-empty severity groups in display order. */
15141
+ private readonly translate;
15142
+ /**
15143
+ * Non-empty severity groups in display order.
15144
+ *
15145
+ * The headings are translated through the shared key map rather than taken
15146
+ * from the module's English constants: this panel rendered "Errors" to a
15147
+ * French user while Vue's rendered "Erreurs" from the same aggregation.
15148
+ */
14747
15149
  readonly groups: _angular_core.Signal<AccessibilityIssueGroup[]>;
14748
15150
  /** True when there is at least one issue. */
14749
15151
  readonly hasIssues: _angular_core.Signal<boolean>;
@@ -15801,7 +16203,7 @@ declare class AccountPageComponent {
15801
16203
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
15802
16204
  private readonly translate;
15803
16205
  protected readonly swatches: readonly string[];
15804
- protected readonly version = "2.13.1";
16206
+ protected readonly version = "2.14.0";
15805
16207
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
15806
16208
  protected readonly initial: _angular_core.Signal<string>;
15807
16209
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -16051,6 +16453,11 @@ declare class PresentationSubtitleBarComponent implements OnChanges {
16051
16453
  * - This package has no TestBed (see `vitest.config.ts`), so any toolbar
16052
16454
  * behaviour worth asserting has to be reachable without rendering it.
16053
16455
  */
16456
+
16457
+ /** The control ids that run an action (dividers and readouts are inert). */
16458
+ type PresentToolbarAction = 'previous' | 'next' | 'laser' | 'pen' | 'pen-color' | 'highlighter' | 'highlighter-color' | 'eraser' | 'blackboard' | 'clear' | 'presenter-view' | 'end';
16459
+ /** Which colour palette popover is open, if any. */
16460
+ type OpenPalette = 'none' | 'pen' | 'highlighter';
16054
16461
  /** Annotation-tool toggle, tinted when the tool is armed. */
16055
16462
  declare function presentToolbarToggleClass(active: boolean): string;
16056
16463
  /**
@@ -16087,10 +16494,6 @@ declare class PresentToolbarAutoHide {
16087
16494
  private cancel;
16088
16495
  }
16089
16496
 
16090
- /** The control ids that run an action (dividers and readouts are inert). */
16091
- type PresentToolbarAction = 'previous' | 'next' | 'laser' | 'pen' | 'pen-color' | 'highlighter' | 'highlighter-color' | 'eraser' | 'clear' | 'presenter-view' | 'end';
16092
- /** Which colour palette popover is open, if any. */
16093
- type OpenPalette = 'none' | 'pen' | 'highlighter';
16094
16497
  declare class PresentationToolbarComponent {
16095
16498
  /** Zero-based index of the slide on screen. */
16096
16499
  readonly currentSlideIndex: _angular_core.InputSignal<number>;
@@ -16110,7 +16513,10 @@ declare class PresentationToolbarComponent {
16110
16513
  /** Swap between the fullscreen show and presenter view. */
16111
16514
  readonly presenterViewToggle: _angular_core.OutputEmitterRef<void>;
16112
16515
  protected readonly annotations: PresentationAnnotationsService;
16516
+ /** Owns the blank-screen state the Blackboard toggle drives. */
16517
+ private readonly presenterWindow;
16113
16518
  private readonly host;
16519
+ /** Template constants (class tokens, palettes, helper fns). */
16114
16520
  protected readonly ui: {
16115
16521
  readonly end: "flex items-center justify-center w-9 h-9 rounded-md transition-colors text-white/70 hover:text-white hover:bg-white/10 disabled:text-white/20 disabled:cursor-not-allowed hover:text-red-400";
16116
16522
  readonly icon: "h-[18px] w-[18px]";
@@ -16144,6 +16550,8 @@ declare class PresentationToolbarComponent {
16144
16550
  protected readonly atFirstSlide: _angular_core.Signal<boolean>;
16145
16551
  protected readonly atLastSlide: _angular_core.Signal<boolean>;
16146
16552
  protected readonly hasAnnotations: _angular_core.Signal<boolean>;
16553
+ /** Blackboard reads active only as the black screen + pen combination. */
16554
+ protected readonly blackboardActive: _angular_core.Signal<boolean>;
16147
16555
  private readonly autoHide;
16148
16556
  constructor();
16149
16557
  /**
@@ -16686,9 +17094,11 @@ declare class ZoomNavigationService {
16686
17094
  * to `''` so `EditorStateService.addElement` assigns a real id, matching the
16687
17095
  * other factories surfaced by this shim.
16688
17096
  *
16689
- * @param chartType - The chart family to create (bar, line, pie, etc.).
17097
+ * @param chartKind - The insert-dropdown entry to create ('column' yields
17098
+ * vertical columns, 'bar' horizontal bars); a raw `PptxChartType` is still
17099
+ * accepted for callers that predate the dropdown ids.
16690
17100
  */
16691
- declare function newChartElement(chartType: PptxChartType): PptxElement;
17101
+ declare function newChartElement(chartKind?: InsertChartKind | PptxChartType): PptxElement;
16692
17102
  /**
16693
17103
  * Create a new shape element for any Insert > Shapes picker preset geometry.
16694
17104
  *
@@ -17552,6 +17962,7 @@ declare class RibbonFileSectionComponent {
17552
17962
  readonly exportPdf: _angular_core.OutputEmitterRef<void>;
17553
17963
  readonly exportGif: _angular_core.OutputEmitterRef<void>;
17554
17964
  readonly exportVideo: _angular_core.OutputEmitterRef<void>;
17965
+ readonly exportJson: _angular_core.OutputEmitterRef<void>;
17555
17966
  readonly copySlideAsImage: _angular_core.OutputEmitterRef<void>;
17556
17967
  readonly print: _angular_core.OutputEmitterRef<void>;
17557
17968
  readonly info: _angular_core.OutputEmitterRef<void>;
@@ -17606,7 +18017,7 @@ declare class RibbonFileSectionComponent {
17606
18017
  */
17607
18018
  private pageActions;
17608
18019
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonFileSectionComponent, never>;
17609
- 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; }; "accountAuth": { "alias": "accountAuth"; "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>;
18020
+ 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; }; "accountAuth": { "alias": "accountAuth"; "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"; "exportJson": "exportJson"; "copySlideAsImage": "copySlideAsImage"; "print": "print"; "info": "info"; "signatures": "signatures"; "replace": "replace"; "openPassword": "openPassword"; "openFontEmbedding": "openFontEmbedding"; "openVersionHistory": "openVersionHistory"; "share": "share"; "options": "options"; }, never, never, true, never>;
17610
18021
  }
17611
18022
 
17612
18023
  declare class RibbonFontControlsComponent {
@@ -17684,6 +18095,8 @@ declare class RibbonHomeSectionComponent {
17684
18095
  readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
17685
18096
  readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
17686
18097
  readonly findReplace: _angular_core.OutputEmitterRef<void>;
18098
+ /** "Slide Templates" in the Slides group; the host opens the gallery dialog. */
18099
+ readonly openTemplateGallery: _angular_core.OutputEmitterRef<void>;
17687
18100
  readonly applyLayout: _angular_core.OutputEmitterRef<string>;
17688
18101
  readonly resetSlide: _angular_core.OutputEmitterRef<void>;
17689
18102
  protected copy(): void;
@@ -17691,7 +18104,7 @@ declare class RibbonHomeSectionComponent {
17691
18104
  protected paste(): void;
17692
18105
  protected onSelectAll(): void;
17693
18106
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonHomeSectionComponent, never>;
17694
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonHomeSectionComponent, "pptx-ribbon-home-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide"; }, never, never, true, never>;
18107
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonHomeSectionComponent, "pptx-ribbon-home-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "openTemplateGallery": "openTemplateGallery"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide"; }, never, never, true, never>;
17695
18108
  }
17696
18109
 
17697
18110
  declare class RibbonHyperlinkButtonComponent {
@@ -17784,13 +18197,14 @@ declare class RibbonInsertSectionComponent {
17784
18197
  private readonly editor;
17785
18198
  private readonly translate;
17786
18199
  readonly slideIndex: _angular_core.InputSignal<number>;
17787
- readonly newChartType: _angular_core.InputSignal<PptxChartType>;
18200
+ /** The insert-chart dropdown entry ('column' is vertical, 'bar' horizontal). */
18201
+ readonly newChartType: _angular_core.InputSignal<InsertChartKind>;
17788
18202
  readonly newShapeType: _angular_core.InputSignal<ShapePresetType>;
17789
18203
  readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
17790
18204
  readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
17791
18205
  /** "Hyperlink"; the host opens the hyperlink edit dialog for the selection. */
17792
18206
  readonly openHyperlink: _angular_core.OutputEmitterRef<void>;
17793
- readonly chartTypeChange: _angular_core.OutputEmitterRef<PptxChartType>;
18207
+ readonly chartTypeChange: _angular_core.OutputEmitterRef<InsertChartKind>;
17794
18208
  readonly shapeTypeChange: _angular_core.OutputEmitterRef<ShapePresetType>;
17795
18209
  /** Chart types offered in the Insert tab dropdown (shared source of truth). */
17796
18210
  protected readonly chartTypes: readonly InsertChartTypeOption[];
@@ -18162,6 +18576,18 @@ declare function hasVisibleSlideAfter(current: number, slides: readonly PptxSlid
18162
18576
  declare function firstVisibleIndex(slides: readonly PptxSlide[]): number;
18163
18577
  /** The show's last visible slide (End), or 0 for an empty deck. */
18164
18578
  declare function lastVisibleIndex(slides: readonly PptxSlide[]): number;
18579
+ /**
18580
+ * Style record centring the scaled slide stage in the viewport.
18581
+ *
18582
+ * The offsets are computed numerically ((viewport - scaled size) / 2, exactly
18583
+ * how React's PresentationStage centres) rather than with the historical
18584
+ * `left/top: 50%` + `translate(-50%, -50%)`: a transform makes the stage a
18585
+ * stacking context, which trapped every z-index inside it (the ink annotation
18586
+ * overlay in particular) BELOW the sibling blackout sheet, so blackboard
18587
+ * strokes painted invisibly under the black screen. See the shared
18588
+ * `render/presentation-blackboard` module for the layering rules.
18589
+ */
18590
+ declare function presentationStageStyle(size: CanvasSize, zoom: number, viewportW: number, viewportH: number): Record<string, string>;
18165
18591
 
18166
18592
  /**
18167
18593
  * touch-gestures.ts: thin Angular adapter over the framework-agnostic
@@ -18394,6 +18820,8 @@ declare class MediaRendererComponent {
18394
18820
  readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
18395
18821
  readonly zIndex: _angular_core.InputSignal<number>;
18396
18822
  readonly interactive: _angular_core.InputSignal<boolean>;
18823
+ /** Keep the data-pptx-element marker on interaction-locked template elements. */
18824
+ readonly marked: _angular_core.InputSignal<boolean>;
18397
18825
  /**
18398
18826
  * True only on the live presentation stage. When set, the media element
18399
18827
  * starts playing on its own once mounted (as PowerPoint does when a slide
@@ -18427,7 +18855,7 @@ declare class MediaRendererComponent {
18427
18855
  readonly captionTracks: _angular_core.Signal<ResolvedCaptionTrack[]>;
18428
18856
  readonly clrChangeParams: _angular_core.Signal<ClrChangeParams | undefined>;
18429
18857
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MediaRendererComponent, never>;
18430
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaRendererComponent, "pptx-media-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "placeholderLabel": { "alias": "placeholderLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18858
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaRendererComponent, "pptx-media-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "marked": { "alias": "marked"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "placeholderLabel": { "alias": "placeholderLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18431
18859
  }
18432
18860
 
18433
18861
  /**
@@ -18637,6 +19065,11 @@ declare class RemoteSelectionOverlayComponent {
18637
19065
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RemoteSelectionOverlayComponent, "pptx-remote-selection-overlay", never, { "presences": { "alias": "presences"; "required": false; "isSignal": true; }; "elements": { "alias": "elements"; "required": false; "isSignal": true; }; "activeSlideIndex": { "alias": "activeSlideIndex"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18638
19066
  }
18639
19067
 
19068
+ /** Payload of `renameElement`: `undefined` clears the element's name. */
19069
+ interface SelectionPaneRename {
19070
+ id: string;
19071
+ name: string | undefined;
19072
+ }
18640
19073
  declare class SelectionPaneComponent {
18641
19074
  /** All elements on the active slide. */
18642
19075
  readonly elements: _angular_core.InputSignal<readonly PptxElement[]>;
@@ -18650,13 +19083,28 @@ declare class SelectionPaneComponent {
18650
19083
  readonly sendBackward: _angular_core.OutputEmitterRef<string>;
18651
19084
  /** Emits the id of the element whose hidden flag should be toggled. */
18652
19085
  readonly toggleHidden: _angular_core.OutputEmitterRef<string>;
19086
+ /** Emits the rename commit; `name: undefined` clears the element's name. */
19087
+ readonly renameElement: _angular_core.OutputEmitterRef<SelectionPaneRename>;
18653
19088
  /** Elements reversed so the topmost (last in array) appears first in the list. */
18654
19089
  protected readonly reversedElements: _angular_core.Signal<readonly PptxElement[]>;
19090
+ /** Id of the row whose name is being edited inline, or null. */
19091
+ protected readonly editingId: _angular_core.WritableSignal<string | null>;
19092
+ /** The label the rename input was seeded with (unedited commits are no-ops). */
19093
+ protected renameSeed: string;
19094
+ /** Double-click on the name label: open the inline rename input. */
19095
+ protected startRename(el: PptxElement): void;
19096
+ /**
19097
+ * Commit (Enter or blur). Enter closes the input, which fires blur; the
19098
+ * editingId guard makes that second call a no-op instead of a double emit.
19099
+ */
19100
+ protected commitRename(id: string, event: Event): void;
19101
+ /** Escape: drop the edit without committing. */
19102
+ protected cancelRename(event: Event): void;
18655
19103
  protected isSelected(id: string): boolean;
18656
19104
  protected typeIcon(type: string): string;
18657
19105
  protected elLabel(el: PptxElement): string;
18658
19106
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectionPaneComponent, never>;
18659
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectionPaneComponent, "pptx-selection-pane", never, { "elements": { "alias": "elements"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; }, { "selectElement": "selectElement"; "bringForward": "bringForward"; "sendBackward": "sendBackward"; "toggleHidden": "toggleHidden"; }, never, never, true, never>;
19107
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectionPaneComponent, "pptx-selection-pane", never, { "elements": { "alias": "elements"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; }, { "selectElement": "selectElement"; "bringForward": "bringForward"; "sendBackward": "sendBackward"; "toggleHidden": "toggleHidden"; "renameElement": "renameElement"; }, never, never, true, never>;
18660
19108
  }
18661
19109
 
18662
19110
  declare class ThemeGalleryComponent {
@@ -18862,5 +19310,5 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
18862
19310
  */
18863
19311
  declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
18864
19312
 
18865
- export { ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, 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_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, 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, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, OutlineViewOverlayComponent, POWER_POINT_VIEWER_PROVIDERS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, 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, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_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, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, 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, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, 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, endShowMediaCleanup, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getLocalStorageUsageSummary, 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, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, redistributeColumnWidth, registerCrossSlideAudio, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveSlideAutoAdvanceMs, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, 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, setDataPointMarker, 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, shouldBlockClickAdvance, 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, strokeWidthOf, 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 };
18866
- export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, AiCanvasHighlight, AiChatInitState, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AwarenessLike, BarRect, Box, BridgeDeps, 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, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, GroupResult, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OutlineCommit, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentToolbarAction, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PresenterTimerProgress, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerUnit, ScatterDot, SelectionBox, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, ToolbarActionId, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ZoomViewModel };
19313
+ export { ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, 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_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, 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, GRIDLINE_COLOR, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, OutlineViewOverlayComponent, POWER_POINT_VIEWER_PROVIDERS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, 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, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_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, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, 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, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, 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, endShowMediaCleanup, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, redistributeColumnWidth, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveSlideAutoAdvanceMs, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, 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, setDataPointMarker, 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, shouldBlockClickAdvance, 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, strokeWidthOf, 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 };
19314
+ export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, AiCanvasHighlight, AiChatInitState, AiHistoryInitDeps, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AwarenessLike, BarRect, Box, BridgeDeps, 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, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, GroupResult, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OutlineCommit, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentToolbarAction, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PresenterTimerProgress, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerUnit, ScatterDot, SelectionBox, SessionDeck, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, ToolbarActionId, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ZoomTranslate, ZoomViewModel };