pptx-angular-viewer 2.7.1 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-CiJHyQZ_.mjs → pptx-angular-viewer-chat-history-idb-_aHj4bRh.mjs} +2 -2
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-CiJHyQZ_.mjs.map → pptx-angular-viewer-chat-history-idb-_aHj4bRh.mjs.map} +1 -1
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-BYT0JAxP.mjs → pptx-angular-viewer-pptx-angular-viewer-DxH15bh-.mjs} +9227 -4048
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-BYT0JAxP.mjs.map → pptx-angular-viewer-pptx-angular-viewer-DxH15bh-.mjs.map} +1 -1
- package/fesm2022/pptx-angular-viewer.mjs +1 -1
- package/package.json +2 -2
- package/pptx-angular-viewer.css +1 -1
- package/types/pptx-angular-viewer.d.ts +929 -140
|
@@ -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, PptxAnimationDirection, PptxAnimationRepeatMode, PptxAnimationSequence, PptxAnimationTimingCurve, PptxAnimationTrigger, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, InkPptxElement, PptxComment, PptxChartType, PptxTheme, PptxHandler, PptxData, PptxHeaderFooter, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, PptxCustomShow, MasterViewTab, SvgExportOptions, Model3DPptxElement, ZoomPptxElement,
|
|
2
|
+
import { PptxThemePreset, PptxSlide, PptxElement, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartData, PptxElementAnimation, PptxAnimationPreset, PptxAnimationDirection, PptxAnimationRepeatMode, PptxAnimationSequence, PptxAnimationTimingCurve, PptxAnimationTrigger, 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, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, ChartGridlineStyleEdit, PptxChartMarkerSymbol, 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, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
|
|
@@ -388,7 +388,7 @@ declare const DEFAULT_STROKE_COLOR = "#1f2937";
|
|
|
388
388
|
* The resolution priority mirrors React exactly:
|
|
389
389
|
*
|
|
390
390
|
* 1. **Adjustment-aware** — when `shapeAdjustments` exist, consult
|
|
391
|
-
* {@link
|
|
391
|
+
* {@link getAdjustmentAwareClipPath} so `pie`, `arc`, `donut`,
|
|
392
392
|
* `blockArc`, and wedge callouts respond to their adjustment values.
|
|
393
393
|
* 2. **Spec-correct preset evaluator** — {@link getShapeClipPathFromPreset}
|
|
394
394
|
* produces a `path('…')` clip-path for any shape in the preset table.
|
|
@@ -396,6 +396,18 @@ declare const DEFAULT_STROKE_COLOR = "#1f2937";
|
|
|
396
396
|
* `cloud` / `cloudCallout`.
|
|
397
397
|
* 4. **Static preset table** — {@link getShapeClipPath} as the final
|
|
398
398
|
* fallback (core's comprehensive `PRESET_SHAPE_CLIP_PATHS`).
|
|
399
|
+
*
|
|
400
|
+
* Step 1 deliberately calls the DYNAMIC-only entry point
|
|
401
|
+
* ({@link getAdjustmentAwareClipPath}) rather than core's
|
|
402
|
+
* `getAdjustmentAwareShapeClipPath` wrapper. That wrapper falls back to the
|
|
403
|
+
* static, adjustment-BLIND polygon table whenever a shape is outside its
|
|
404
|
+
* 14-shape dynamic set, and returning that at step 1 swallowed the whole rest
|
|
405
|
+
* of the cascade: every preset carrying an authored `a:avLst` adjustment
|
|
406
|
+
* (parallelogram, trapezoid, teardrop, notchedRightArrow, round2SameRect, the
|
|
407
|
+
* arrows…) was clipped with its DEFAULT adjustment instead of its own. A
|
|
408
|
+
* parallelogram authored at `adj="84929"` — a thin diagonal band — rendered as
|
|
409
|
+
* the 25000-default polygon covering ~80% of its box and occluded the text
|
|
410
|
+
* behind it (issue #132).
|
|
399
411
|
*/
|
|
400
412
|
|
|
401
413
|
/**
|
|
@@ -511,6 +523,104 @@ declare function buildPatternFillCss(style: ShapeStyle | undefined): {
|
|
|
511
523
|
backgroundColor: string;
|
|
512
524
|
} | undefined;
|
|
513
525
|
|
|
526
|
+
/**
|
|
527
|
+
* OOXML gradient fill (`a:gradFill`) → SVG paint server.
|
|
528
|
+
*
|
|
529
|
+
* The CSS resolvers in `fill-style.ts` cover every shape a binding paints as an
|
|
530
|
+
* HTML box (a `background-image` clipped by `clip-path`). Freeform geometry is
|
|
531
|
+
* different: `a:custGeom` shapes are painted as a real SVG `<path>`, and an SVG
|
|
532
|
+
* `fill` attribute cannot take a CSS gradient. Renderers therefore fell back to
|
|
533
|
+
* the parser's *representative* solid colour, so a freeform authored with a
|
|
534
|
+
* left-to-right fade rendered as one flat block and any transparent region of
|
|
535
|
+
* the gradient became opaque (issue #132).
|
|
536
|
+
*
|
|
537
|
+
* This module converts the same structured `ShapeStyle` gradient data into an
|
|
538
|
+
* SVG `<linearGradient>` / `<radialGradient>` descriptor plus the `url(#id)`
|
|
539
|
+
* reference to put in `fill`. It stays framework-agnostic: JSX/template
|
|
540
|
+
* bindings read {@link SvgGradientDef} and emit their own elements, while
|
|
541
|
+
* string-building bindings can use {@link svgGradientMarkup}.
|
|
542
|
+
*
|
|
543
|
+
* Reference: ECMA-376 Part 1, §20.1.8.35 (gradFill) and §20.1.8.49 (path).
|
|
544
|
+
*/
|
|
545
|
+
|
|
546
|
+
/** One `<stop>` of an SVG gradient. */
|
|
547
|
+
interface SvgGradientStopDef {
|
|
548
|
+
/** Stop offset as a fraction of the gradient line (0-1). */
|
|
549
|
+
offset: number;
|
|
550
|
+
/** Stop colour as `#RRGGBB`. */
|
|
551
|
+
color: string;
|
|
552
|
+
/** Stop alpha (0-1). Omitted when the stop is fully opaque. */
|
|
553
|
+
opacity?: number;
|
|
554
|
+
}
|
|
555
|
+
/** An SVG `<linearGradient>` in `objectBoundingBox` units. */
|
|
556
|
+
interface SvgLinearGradientDef {
|
|
557
|
+
kind: 'linear';
|
|
558
|
+
id: string;
|
|
559
|
+
x1: number;
|
|
560
|
+
y1: number;
|
|
561
|
+
x2: number;
|
|
562
|
+
y2: number;
|
|
563
|
+
stops: SvgGradientStopDef[];
|
|
564
|
+
}
|
|
565
|
+
/** An SVG `<radialGradient>` in `objectBoundingBox` units. */
|
|
566
|
+
interface SvgRadialGradientDef {
|
|
567
|
+
kind: 'radial';
|
|
568
|
+
id: string;
|
|
569
|
+
cx: number;
|
|
570
|
+
cy: number;
|
|
571
|
+
r: number;
|
|
572
|
+
stops: SvgGradientStopDef[];
|
|
573
|
+
}
|
|
574
|
+
/** Either flavour of SVG gradient produced by {@link buildSvgGradientDef}. */
|
|
575
|
+
type SvgGradientDef = SvgLinearGradientDef | SvgRadialGradientDef;
|
|
576
|
+
/**
|
|
577
|
+
* An SVG `<pattern>` paint server for a preset pattern OUTLINE.
|
|
578
|
+
*
|
|
579
|
+
* The tile is carried as a data-URI `<image>` rather than inline primitives so
|
|
580
|
+
* every binding can render the `<pattern>` from plain attribute bindings, with
|
|
581
|
+
* no raw-markup injection (which Angular's template sanitiser would fight).
|
|
582
|
+
*/
|
|
583
|
+
interface SvgPatternDef {
|
|
584
|
+
kind: 'pattern';
|
|
585
|
+
id: string;
|
|
586
|
+
/** Tile size in user-space px; the pattern repeats on this grid. */
|
|
587
|
+
width: number;
|
|
588
|
+
height: number;
|
|
589
|
+
/** `data:image/svg+xml,…` of one rendered tile. */
|
|
590
|
+
href: string;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* Gradient and pattern OUTLINES (`a:ln/a:gradFill`, `a:ln/a:pattFill`).
|
|
595
|
+
*
|
|
596
|
+
* 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.
|
|
601
|
+
*
|
|
602
|
+
* CSS has no way to fix either in place - `border-image` ignores `border-radius`
|
|
603
|
+
* and cannot follow a `clip-path` - so the outline is instead stroked as a real
|
|
604
|
+
* SVG path laid over the element, using the shape's own resolved geometry. This
|
|
605
|
+
* module turns an element into everything a binding needs for that overlay; the
|
|
606
|
+
* bindings supply only the ~10 lines of view layer.
|
|
607
|
+
*/
|
|
608
|
+
|
|
609
|
+
/** The paint server an outline is stroked with: a gradient or a pattern. */
|
|
610
|
+
type StrokeOutlinePaint = SvgGradientDef | SvgPatternDef;
|
|
611
|
+
/** Everything needed to stroke one shape's outline as an SVG overlay. */
|
|
612
|
+
interface StrokeOutline {
|
|
613
|
+
/** Path data in the element's own pixel space (viewBox `0 0 width height`). */
|
|
614
|
+
d: string;
|
|
615
|
+
/** Paint server to define in `<defs>` and reference from the path's `stroke`. */
|
|
616
|
+
paint: StrokeOutlinePaint;
|
|
617
|
+
strokeWidth: number;
|
|
618
|
+
/** SVG `stroke-dasharray`, or `undefined` for a solid line. */
|
|
619
|
+
dashArray: string | undefined;
|
|
620
|
+
lineCap: 'butt' | 'round' | 'square';
|
|
621
|
+
lineJoin: 'round' | 'bevel' | 'miter';
|
|
622
|
+
}
|
|
623
|
+
|
|
514
624
|
/**
|
|
515
625
|
* Stroke/dash normalisation, compound-line box-shadow generation, SVG
|
|
516
626
|
* dasharray, element transform strings, and drawing-unit parsing. Pure
|
|
@@ -2322,6 +2432,57 @@ declare function computeSnap(box: SnapBox, others: readonly SnapBox[], threshold
|
|
|
2322
2432
|
*/
|
|
2323
2433
|
declare function snapToGridStep(value: number, step: number): number;
|
|
2324
2434
|
|
|
2435
|
+
/**
|
|
2436
|
+
* Ruler tick-generation + constants shared by the React, Vue, and Angular
|
|
2437
|
+
* editors. Pure (unit-testable); each binding renders the generated ticks.
|
|
2438
|
+
*/
|
|
2439
|
+
/** CSS pixels per inch at 96 dpi. */
|
|
2440
|
+
declare const PX_PER_INCH = 96;
|
|
2441
|
+
/** CSS pixels per centimetre (96 / 2.54). */
|
|
2442
|
+
declare const PX_PER_CM: number;
|
|
2443
|
+
/** Ruler strip thickness in CSS pixels. */
|
|
2444
|
+
declare const RULER_THICKNESS = 20;
|
|
2445
|
+
/** Font size for numbers on the ruler. */
|
|
2446
|
+
declare const RULER_FONT_SIZE = 10;
|
|
2447
|
+
/** The unit system used for ruler display. */
|
|
2448
|
+
type RulerUnit = 'inches' | 'centimetres';
|
|
2449
|
+
interface Tick {
|
|
2450
|
+
/** Position along the ruler in scaled CSS pixels from the slide origin. */
|
|
2451
|
+
position: number;
|
|
2452
|
+
/** Label to display (empty for minor ticks). */
|
|
2453
|
+
label: string;
|
|
2454
|
+
/** Whether this is a major (numbered) tick. */
|
|
2455
|
+
isMajor: boolean;
|
|
2456
|
+
}
|
|
2457
|
+
/**
|
|
2458
|
+
* Generate tick marks for a single ruler axis.
|
|
2459
|
+
*
|
|
2460
|
+
* @param slideLengthPx The slide dimension (width or height) in CSS px.
|
|
2461
|
+
* @param scale The current editor scale.
|
|
2462
|
+
* @param unit Ruler unit system.
|
|
2463
|
+
*/
|
|
2464
|
+
declare function generateTicks(slideLengthPx: number, scale: number, unit: RulerUnit): Tick[];
|
|
2465
|
+
/**
|
|
2466
|
+
* Resolve a drag that started on a ruler strip into a new guide position.
|
|
2467
|
+
*
|
|
2468
|
+
* Shared because every binding that supports "drag off the ruler to create a
|
|
2469
|
+
* guide" needs the exact same three rules, and they are easy to get subtly
|
|
2470
|
+
* wrong per binding: the pointer must have left the strip (otherwise a plain
|
|
2471
|
+
* click on the ruler would drop a guide on the slide edge), the offset is
|
|
2472
|
+
* measured from the strip's own leading edge so the strip thickness has to be
|
|
2473
|
+
* subtracted before un-scaling, and a guide dropped outside the slide is
|
|
2474
|
+
* discarded rather than clamped (PowerPoint drops it too).
|
|
2475
|
+
*
|
|
2476
|
+
* @param pointerOffsetPx Pointer distance, in screen px, from the leading edge
|
|
2477
|
+
* of the ruler strip (top for the horizontal ruler,
|
|
2478
|
+
* left for the vertical one).
|
|
2479
|
+
* @param scale Current editor scale (fitScale * userZoom).
|
|
2480
|
+
* @param slideLengthPx Slide dimension on the guide's axis, unscaled.
|
|
2481
|
+
* @returns The slide-local position in unscaled px, or `null` when the drag
|
|
2482
|
+
* should not create a guide.
|
|
2483
|
+
*/
|
|
2484
|
+
declare function rulerDragToGuidePosition(pointerOffsetPx: number, scale: number, slideLengthPx: number): number | null;
|
|
2485
|
+
|
|
2325
2486
|
/**
|
|
2326
2487
|
* Render the n-th (1-based) marker for an OOXML auto-numbering scheme.
|
|
2327
2488
|
*
|
|
@@ -3191,6 +3352,32 @@ declare const SLIDE_TRANSITION_KEYFRAMES = "\n/* \u2500\u2500 Fade \u2500\u2500\
|
|
|
3191
3352
|
*/
|
|
3192
3353
|
declare function getSlideTransitionAnimations(type: PptxTransitionType, durationMs: number, direction: string | undefined, orient?: string | undefined, spokes?: number | undefined): SlideTransitionAnimations;
|
|
3193
3354
|
|
|
3355
|
+
/**
|
|
3356
|
+
* `slide-transition-options` - the pure option catalogues backing every
|
|
3357
|
+
* binding's slide-transition inspector section.
|
|
3358
|
+
*
|
|
3359
|
+
* WHY this lives in shared: the transition type list, the set of types that
|
|
3360
|
+
* pick an orientation instead of a direction, and the arrow glyph/grid tables
|
|
3361
|
+
* used by the direction picker are all plain data with no framework in them.
|
|
3362
|
+
* They previously sat inside `packages/react`, which meant a binding porting
|
|
3363
|
+
* the section had to retype 24 transition values and 12 arrow glyphs by hand,
|
|
3364
|
+
* and any new OOXML transition type silently reached one binding only. React
|
|
3365
|
+
* now re-exports these from here so there is exactly one list to update.
|
|
3366
|
+
*
|
|
3367
|
+
* NOTE: each option keeps both a plain-ASCII `label` (English fallback for
|
|
3368
|
+
* non-i18n consumers) and an `i18nKey` resolvable through each binding's
|
|
3369
|
+
* translator, matching the `{ value, i18nKey }` convention used elsewhere.
|
|
3370
|
+
*
|
|
3371
|
+
* @module render/slide-transition-options
|
|
3372
|
+
*/
|
|
3373
|
+
|
|
3374
|
+
/** A selectable slide-transition type with its English label and i18n key. */
|
|
3375
|
+
interface SlideTransitionOptionEntry {
|
|
3376
|
+
value: NonNullable<PptxSlideTransition['type']>;
|
|
3377
|
+
label: string;
|
|
3378
|
+
i18nKey: string;
|
|
3379
|
+
}
|
|
3380
|
+
|
|
3194
3381
|
/** A node rendered as an SVG rect (rounded or flat). */
|
|
3195
3382
|
interface RenderedRectNode {
|
|
3196
3383
|
kind: 'rect';
|
|
@@ -3962,6 +4149,43 @@ declare function sampleColorFromSlide(clientX: number, clientY: number): Eyedrop
|
|
|
3962
4149
|
*/
|
|
3963
4150
|
declare function pickColorByClickFallback(): Promise<string | null>;
|
|
3964
4151
|
|
|
4152
|
+
/**
|
|
4153
|
+
* The one definition of what the canvas context menu contains.
|
|
4154
|
+
*
|
|
4155
|
+
* The five menus were written five times from scratch rather than ported from a
|
|
4156
|
+
* single item list, and their command sets drifted exactly as you would expect:
|
|
4157
|
+
* Vue had no Bring to Front, Angular had no Edit Hyperlink or Group, Svelte had
|
|
4158
|
+
* no table commands at all, and Vanilla had no menu whatsoever. Nothing crashes
|
|
4159
|
+
* when a binding omits a command, so each omission was only ever discoverable by
|
|
4160
|
+
* the user who right-clicked expecting it.
|
|
4161
|
+
*
|
|
4162
|
+
* This module owns the command ids, their labels, their order, the separators
|
|
4163
|
+
* between the groups, and the rules deciding which are offered. A binding
|
|
4164
|
+
* supplies the context (what was clicked, what is selected) and renders the
|
|
4165
|
+
* result; it does not decide what is in the menu. Adding a command here adds it
|
|
4166
|
+
* to all five at once, which is the point.
|
|
4167
|
+
*
|
|
4168
|
+
* The operations themselves stay in the bindings: each already owns clipboard,
|
|
4169
|
+
* z-order, grouping, comments, hyperlink and table mutation, and routing them is
|
|
4170
|
+
* a switch over {@link ContextMenuCommandId}.
|
|
4171
|
+
*
|
|
4172
|
+
* @module render/context-menu-commands
|
|
4173
|
+
*/
|
|
4174
|
+
/** Every command a canvas context menu can offer, in no particular order. */
|
|
4175
|
+
type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'bring-forward' | 'send-backward' | 'bring-front' | 'send-back' | 'ai-ask' | 'ai-fix' | 'comment' | 'hyperlink' | 'table-insert-row-above' | 'table-insert-row-below' | 'table-delete-row' | 'table-insert-col-left' | 'table-insert-col-right' | 'table-delete-col' | 'table-merge-selected' | 'table-merge-right' | 'table-merge-down' | 'table-split' | 'group' | 'ungroup' | 'delete';
|
|
4176
|
+
/** One rendered entry: a command, plus how it is presented. */
|
|
4177
|
+
interface ContextMenuEntry {
|
|
4178
|
+
id: ContextMenuCommandId;
|
|
4179
|
+
/** i18n key; the binding translates it with its own translator. */
|
|
4180
|
+
labelKey: string;
|
|
4181
|
+
/** Draw a rule above this entry (it opens a new group of commands). */
|
|
4182
|
+
separatorBefore?: boolean;
|
|
4183
|
+
/** Destructive: tinted red, as PowerPoint tints Delete. */
|
|
4184
|
+
danger?: boolean;
|
|
4185
|
+
/** Offered but not usable right now (greyed out, still announced). */
|
|
4186
|
+
disabled?: boolean;
|
|
4187
|
+
}
|
|
4188
|
+
|
|
3965
4189
|
/**
|
|
3966
4190
|
* smart-art-presets.ts: the SmartArt insert-gallery catalogue, shared across
|
|
3967
4191
|
* bindings. Pure data + types; consumed by each binding's insert dialog and
|
|
@@ -4146,6 +4370,49 @@ declare function issueTypeLabel(type: AccessibilityIssueType): string;
|
|
|
4146
4370
|
*/
|
|
4147
4371
|
declare function issueTrackKey(issue: AccessibilityIssue, index: number): string;
|
|
4148
4372
|
|
|
4373
|
+
/**
|
|
4374
|
+
* `element-action-options` - the option catalogue for an element's "Action
|
|
4375
|
+
* Settings" inspector panel (PowerPoint's Insert > Action dialog).
|
|
4376
|
+
*
|
|
4377
|
+
* WHY shared: the mapping from `ElementActionType` to a translation key is
|
|
4378
|
+
* plain data that every binding's action panel needs verbatim, and the two
|
|
4379
|
+
* types that take an extra input (`url`, `slide`) are a rule, not a rendering
|
|
4380
|
+
* decision. Keeping the list here means adding a new action kind updates all
|
|
4381
|
+
* five bindings at once instead of five hand-typed copies drifting apart.
|
|
4382
|
+
*
|
|
4383
|
+
* @module render/element-action-options
|
|
4384
|
+
*/
|
|
4385
|
+
|
|
4386
|
+
/** One entry of the action-type select, with its dictionary key. */
|
|
4387
|
+
interface ElementActionOption {
|
|
4388
|
+
value: ElementActionType;
|
|
4389
|
+
labelKey: string;
|
|
4390
|
+
}
|
|
4391
|
+
|
|
4392
|
+
/**
|
|
4393
|
+
* `tag-collections` - pure list surgery for the inspector's Tags section
|
|
4394
|
+
* (`ppt/tags/*.xml`, PowerPoint's programmatic name/value metadata).
|
|
4395
|
+
*
|
|
4396
|
+
* WHY shared: a tag lives at a two-level address (which collection, then which
|
|
4397
|
+
* tag inside it) while the UI shows one flat list, so every add/edit/delete has
|
|
4398
|
+
* to map a flat row back onto the nested model. That mapping is identical in
|
|
4399
|
+
* every binding and is exactly the kind of off-by-one-prone code that must not
|
|
4400
|
+
* be retyped per framework. The functions below are immutable: they return new
|
|
4401
|
+
* arrays so a caller can push the result straight into an undoable commit.
|
|
4402
|
+
*
|
|
4403
|
+
* @module render/tag-collections
|
|
4404
|
+
*/
|
|
4405
|
+
|
|
4406
|
+
/** A tag paired with its address inside the nested collection model. */
|
|
4407
|
+
interface FlatTagRow {
|
|
4408
|
+
name: string;
|
|
4409
|
+
value: string;
|
|
4410
|
+
/** Index of the owning collection in the `PptxTagCollection[]`. */
|
|
4411
|
+
colIdx: number;
|
|
4412
|
+
/** Index of the tag inside that collection's `tags` array. */
|
|
4413
|
+
tagIdx: number;
|
|
4414
|
+
}
|
|
4415
|
+
|
|
4149
4416
|
/**
|
|
4150
4417
|
* Pure, framework-agnostic helpers for freehand ink drawing, shared by every
|
|
4151
4418
|
* binding. No framework imports, so these can be unit-tested without TestBed.
|
|
@@ -4484,9 +4751,12 @@ interface BackstageTemplate {
|
|
|
4484
4751
|
id: string;
|
|
4485
4752
|
name: string;
|
|
4486
4753
|
description: string;
|
|
4754
|
+
/** Dictionary key for `name`, so bindings can render a translated gallery. */
|
|
4755
|
+
nameKey: string;
|
|
4756
|
+
/** Dictionary key for `description`. */
|
|
4757
|
+
descriptionKey: string;
|
|
4487
4758
|
preview: string;
|
|
4488
4759
|
}
|
|
4489
|
-
declare function formatBackstageDate(timestamp: number, now?: number): string;
|
|
4490
4760
|
declare function formatBackstageSize(bytes: number): string;
|
|
4491
4761
|
|
|
4492
4762
|
/** Framework-neutral virtual-list range used by every thumbnail sidebar. */
|
|
@@ -4737,20 +5007,6 @@ interface ViewerOptions {
|
|
|
4737
5007
|
type ViewerOptionsGroupId = keyof ViewerOptions;
|
|
4738
5008
|
type ViewerOptionPrimitive = boolean | number | string;
|
|
4739
5009
|
|
|
4740
|
-
/**
|
|
4741
|
-
* Quick Access Toolbar command catalog and list-editing helpers, backing the
|
|
4742
|
-
* Options > Quick Access Toolbar pane and the title-bar QAT strip.
|
|
4743
|
-
*
|
|
4744
|
-
* Ids map onto actions every binding already exposes; each binding resolves
|
|
4745
|
-
* an id to its own icon + handler when rendering the strip.
|
|
4746
|
-
*/
|
|
4747
|
-
interface QuickAccessCommandDefinition {
|
|
4748
|
-
id: string;
|
|
4749
|
-
labelKey: string;
|
|
4750
|
-
/** Logical icon name bindings map to their icon set. */
|
|
4751
|
-
icon: string;
|
|
4752
|
-
}
|
|
4753
|
-
|
|
4754
5010
|
interface ViewerAddinStatus {
|
|
4755
5011
|
/** Addin id -> whether the capability is active in this host. */
|
|
4756
5012
|
[addinId: string]: boolean | undefined;
|
|
@@ -6276,8 +6532,14 @@ declare class EditorStateService {
|
|
|
6276
6532
|
addElement(slideIndex: number, element: PptxElement): void;
|
|
6277
6533
|
/** Patch slide-level properties (background, notes, …); one history entry. */
|
|
6278
6534
|
updateSlide(slideIndex: number, patch: Partial<PptxSlide>): void;
|
|
6279
|
-
/**
|
|
6280
|
-
|
|
6535
|
+
/**
|
|
6536
|
+
* Insert a blank slide after `afterIndex` (records history).
|
|
6537
|
+
*
|
|
6538
|
+
* @param layoutPath - Package path of the slide layout the new slide should
|
|
6539
|
+
* inherit from, as offered by the Home tab's "New Slide" split button.
|
|
6540
|
+
* Omitted for a plain blank slide, which is what the button itself does.
|
|
6541
|
+
*/
|
|
6542
|
+
addSlide(afterIndex: number, layoutPath?: string): void;
|
|
6281
6543
|
/** Delete a slide (keeps at least one; records history). */
|
|
6282
6544
|
deleteSlide(index: number): void;
|
|
6283
6545
|
/** Duplicate a slide, inserting the copy after it (records history). */
|
|
@@ -6457,6 +6719,13 @@ declare class LoadContentService {
|
|
|
6457
6719
|
readonly notesCanvasSize: _angular_core.WritableSignal<CanvasSize | undefined>;
|
|
6458
6720
|
/** Custom document properties (used for `docproperty` field substitution). */
|
|
6459
6721
|
readonly customProperties: _angular_core.WritableSignal<PptxCustomProperty[]>;
|
|
6722
|
+
/**
|
|
6723
|
+
* `ppt/tags/*.xml` name/value metadata, editable from the inspector's TAGS
|
|
6724
|
+
* card. Tags are how add-ins and automation stamp machine-readable data onto
|
|
6725
|
+
* a deck, so they are carried through save (see {@link saveSlides}) rather
|
|
6726
|
+
* than silently dropped.
|
|
6727
|
+
*/
|
|
6728
|
+
readonly tagCollections: _angular_core.WritableSignal<PptxTagCollection[]>;
|
|
6460
6729
|
/** Header/footer settings (footer/header/date-time text + format) for field substitution. */
|
|
6461
6730
|
readonly headerFooter: _angular_core.WritableSignal<PptxHeaderFooter | undefined>;
|
|
6462
6731
|
/** Whether the presentation contains digital signatures. */
|
|
@@ -6862,8 +7131,18 @@ declare function getContainerStyle(el: PptxElement, zIndex: number): StyleMap;
|
|
|
6862
7131
|
*/
|
|
6863
7132
|
declare function getShapeFillStrokeStyle(el: PptxElement, parentGroupFill?: ShapeStyle, animatesFill?: boolean, animatesStroke?: boolean): StyleMap;
|
|
6864
7133
|
/**
|
|
6865
|
-
* Text block style for elements that carry text.
|
|
6866
|
-
*
|
|
7134
|
+
* Text block style for elements that carry text.
|
|
7135
|
+
*
|
|
7136
|
+
* A thin adapter over the shared {@link buildTextBlockStyle}, which React
|
|
7137
|
+
* renders from too. This used to be a hand-ported copy of React's builder, and
|
|
7138
|
+
* the copy had silently lost `a:normAutofit` (a shrink-to-fit title painted 43%
|
|
7139
|
+
* too large), `a:bodyPr/@wrap="none"` (a no-wrap line wrapped to three), the
|
|
7140
|
+
* default font declaration, the italic padding nudge and the body
|
|
7141
|
+
* margin/indent pair.
|
|
7142
|
+
*
|
|
7143
|
+
* The shared record is camelCase; `[ngStyle]` maps elsewhere in this binding
|
|
7144
|
+
* are kebab-case, so it is converted rather than mixing both conventions in one
|
|
7145
|
+
* merged map (`warpedTextStyle` merges this with the 3D scene style).
|
|
6867
7146
|
*/
|
|
6868
7147
|
declare function getTextBlockStyle(el: PptxElement): StyleMap;
|
|
6869
7148
|
/** Resolve a displayable image source for picture/image/media poster frames. */
|
|
@@ -7976,6 +8255,8 @@ declare class ViewerZoomService {
|
|
|
7976
8255
|
readonly zoom: _angular_core.WritableSignal<number>;
|
|
7977
8256
|
/** {@link zoom} rounded to a whole percentage for display. */
|
|
7978
8257
|
readonly zoomPercent: _angular_core.Signal<number>;
|
|
8258
|
+
/** Jump to an explicit zoom level, clamped by the shared bounds. */
|
|
8259
|
+
setZoom(level: number): void;
|
|
7979
8260
|
zoomIn(): void;
|
|
7980
8261
|
zoomOut(): void;
|
|
7981
8262
|
zoomReset(): void;
|
|
@@ -8337,7 +8618,7 @@ declare class PowerPointViewerComponent {
|
|
|
8337
8618
|
canRedo(): boolean;
|
|
8338
8619
|
/** Get the current zoom level (1 = 100%). */
|
|
8339
8620
|
getZoom(): number;
|
|
8340
|
-
/** Set the zoom level (clamped
|
|
8621
|
+
/** Set the zoom level (clamped by the shared cross-binding bounds). */
|
|
8341
8622
|
setZoom(level: number): void;
|
|
8342
8623
|
/** Zoom in by one step. */
|
|
8343
8624
|
zoomIn(): void;
|
|
@@ -8368,6 +8649,14 @@ declare class PowerPointViewerComponent {
|
|
|
8368
8649
|
protected onContextMenuAskAi(): void;
|
|
8369
8650
|
/** Context-menu "Fix with AI": scope + open the assistant with a prefilled directive. */
|
|
8370
8651
|
protected onContextMenuFixAi(): void;
|
|
8652
|
+
/**
|
|
8653
|
+
* Context-menu "Add Comment": show the comments panel, mirroring React's
|
|
8654
|
+
* `setIsInspectorPaneOpen(true) + setSidebarPanelMode('comments')`. It sets
|
|
8655
|
+
* the panel rather than toggling it, because choosing Add Comment while the
|
|
8656
|
+
* panel is already open must not close it; the mobile swipe-dismiss flag is
|
|
8657
|
+
* cleared for the same reason.
|
|
8658
|
+
*/
|
|
8659
|
+
protected onContextMenuAddComment(): void;
|
|
8371
8660
|
/** Get the IDs of currently selected elements. */
|
|
8372
8661
|
getSelectedElementIds(): string[];
|
|
8373
8662
|
/** Programmatically select elements by their IDs. */
|
|
@@ -8606,6 +8895,11 @@ declare class ExportService {
|
|
|
8606
8895
|
* Provided alongside `LoadContentService` in the viewer subtree, so renderers
|
|
8607
8896
|
* used outside the viewer (thumbnails, export) that inject it `optional` simply
|
|
8608
8897
|
* fall back to no substitution.
|
|
8898
|
+
*
|
|
8899
|
+
* The assembly itself (including the slide-title resolution, which used to be a
|
|
8900
|
+
* local `placeholderType` scan here and so never resolved a title on a real
|
|
8901
|
+
* `.pptx`) lives in `pptx-viewer-shared`, so all five bindings build the same
|
|
8902
|
+
* context; this service is only the signals adapter.
|
|
8609
8903
|
*/
|
|
8610
8904
|
declare class FieldContextService {
|
|
8611
8905
|
private readonly load;
|
|
@@ -8706,6 +9000,10 @@ interface KeyboardHost {
|
|
|
8706
9000
|
readonly canEdit: () => boolean;
|
|
8707
9001
|
readonly presenting: () => boolean;
|
|
8708
9002
|
readonly activeSlideIndex: () => number;
|
|
9003
|
+
/** Go back one slide (the arrows page the deck when nothing is selected). */
|
|
9004
|
+
readonly goPrev?: () => void;
|
|
9005
|
+
/** Go forward one slide. */
|
|
9006
|
+
readonly goNext?: () => void;
|
|
8709
9007
|
}
|
|
8710
9008
|
declare class ViewerKeyboardService {
|
|
8711
9009
|
private readonly editor;
|
|
@@ -8715,6 +9013,13 @@ declare class ViewerKeyboardService {
|
|
|
8715
9013
|
/** Wire the host accessors (called once from the component constructor). */
|
|
8716
9014
|
bind(host: KeyboardHost): void;
|
|
8717
9015
|
handleKeyDown(event: KeyboardEvent): void;
|
|
9016
|
+
/**
|
|
9017
|
+
* Escape unwinds the transient chrome one layer at a time: an armed format
|
|
9018
|
+
* painter first (it is modal over the pointer), then the shortcut cheat
|
|
9019
|
+
* sheet. Before this the branch stopped after the painter, so the panel "?"
|
|
9020
|
+
* had just opened stayed on screen with no key that could dismiss it.
|
|
9021
|
+
*/
|
|
9022
|
+
private handleEscape;
|
|
8718
9023
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewerKeyboardService, never>;
|
|
8719
9024
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ViewerKeyboardService>;
|
|
8720
9025
|
}
|
|
@@ -9477,6 +9782,8 @@ declare class RulerGuidesService {
|
|
|
9477
9782
|
readonly rulerGuides: _angular_core.WritableSignal<readonly RulerGuide[]>;
|
|
9478
9783
|
/** Active guide-drag state (id + axis only), or null when nothing is being dragged. */
|
|
9479
9784
|
private guideDrag;
|
|
9785
|
+
/** Ruler strip a drag-out-a-guide gesture was armed on, or null. */
|
|
9786
|
+
private rulerDragAxis;
|
|
9480
9787
|
private host;
|
|
9481
9788
|
/** Wire the host accessors (called once from the component constructor). */
|
|
9482
9789
|
bind(host: RulerGuidesHost): void;
|
|
@@ -9489,10 +9796,24 @@ declare class RulerGuidesService {
|
|
|
9489
9796
|
onGuidePointerDown(event: PointerEvent, id: string, axis: RulerGuide['axis']): void;
|
|
9490
9797
|
/** Remove a guide (called on guide handle double-click). */
|
|
9491
9798
|
onGuideDoubleClick(event: MouseEvent, id: string): void;
|
|
9492
|
-
/**
|
|
9493
|
-
|
|
9494
|
-
|
|
9495
|
-
|
|
9799
|
+
/**
|
|
9800
|
+
* Arm a drag-out-a-guide gesture on a ruler strip ('h' = the horizontal strip
|
|
9801
|
+
* along the top, 'v' = the vertical strip down the left).
|
|
9802
|
+
*
|
|
9803
|
+
* Nothing is created yet: the guide is dropped on pointer-UP so a stray click
|
|
9804
|
+
* on the strip cannot leave a guide behind. This is the gesture React, Vue,
|
|
9805
|
+
* Svelte and Vanilla all implement; Angular used to create the guide on
|
|
9806
|
+
* pointer-DOWN off its own stage-relative arithmetic, which both diverged
|
|
9807
|
+
* from the other bindings and duplicated the drop maths.
|
|
9808
|
+
*/
|
|
9809
|
+
onRulerPointerDown(axis: 'h' | 'v', event: PointerEvent): void;
|
|
9810
|
+
/**
|
|
9811
|
+
* Resolve an armed ruler drag: drop one guide when the pointer left the strip
|
|
9812
|
+
* and landed on the slide. All three rules (must have left the strip, strip
|
|
9813
|
+
* thickness subtracted before un-scaling, out-of-slide drops discarded) live
|
|
9814
|
+
* in the shared {@link rulerDragToGuidePosition}.
|
|
9815
|
+
*/
|
|
9816
|
+
onRulerPointerUp(axis: 'h' | 'v', event: PointerEvent): void;
|
|
9496
9817
|
/** Update the dragged guide's position. Returns false when no guide drag is in progress (caller should fall through). */
|
|
9497
9818
|
handlePointerMove(event: PointerEvent): boolean;
|
|
9498
9819
|
/** End the guide drag. Returns false when no guide drag was in progress (caller should fall through). */
|
|
@@ -9501,30 +9822,6 @@ declare class RulerGuidesService {
|
|
|
9501
9822
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<RulerGuidesService>;
|
|
9502
9823
|
}
|
|
9503
9824
|
|
|
9504
|
-
/**
|
|
9505
|
-
* ruler-ticks.ts: Pure tick-mark generation for the slide canvas's horizontal
|
|
9506
|
-
* and vertical ruler strips. No Angular/DOM dependency so it is trivially
|
|
9507
|
-
* unit-testable in isolation from `SlideCanvasComponent`.
|
|
9508
|
-
*/
|
|
9509
|
-
/** Height/width (px) of the ruler strips: mirrors React's RULER_THICKNESS. */
|
|
9510
|
-
declare const RULER_THICKNESS = 20;
|
|
9511
|
-
/** Pixels per inch on the slide canvas (PPTX slides are 10" wide = 960 px). */
|
|
9512
|
-
declare const SLIDE_PX_PER_INCH = 96;
|
|
9513
|
-
/** A single tick mark on a ruler strip. */
|
|
9514
|
-
interface RulerTick {
|
|
9515
|
-
/** Position in screen pixels along the ruler. */
|
|
9516
|
-
position: number;
|
|
9517
|
-
/** Whether this is a major (inch) tick. */
|
|
9518
|
-
isMajor: boolean;
|
|
9519
|
-
/** Label to display (only on major ticks, every N inches). */
|
|
9520
|
-
label: string | null;
|
|
9521
|
-
}
|
|
9522
|
-
/**
|
|
9523
|
-
* Generate ruler tick marks for a given slide dimension and scale.
|
|
9524
|
-
* Produces ticks every 1/4 inch (minor) and every inch (major).
|
|
9525
|
-
*/
|
|
9526
|
-
declare function generateRulerTicks(slidePx: number, scale: number): ReadonlyArray<RulerTick>;
|
|
9527
|
-
|
|
9528
9825
|
/**
|
|
9529
9826
|
* Slide-scoped DI context: lets leaf renderers (chart, SmartArt) resolve which
|
|
9530
9827
|
* slide their canvas is displaying without threading an input through every
|
|
@@ -9571,6 +9868,12 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
9571
9868
|
* of the slide viewport. Only active on the interactive canvas.
|
|
9572
9869
|
*/
|
|
9573
9870
|
readonly showRulers: _angular_core.InputSignal<boolean>;
|
|
9871
|
+
/**
|
|
9872
|
+
* Unit system for the ruler labels. Defaults to inches, as PowerPoint does;
|
|
9873
|
+
* the tick generator (shared with every other binding) also understands
|
|
9874
|
+
* centimetres, which the old Angular-only generator could not express.
|
|
9875
|
+
*/
|
|
9876
|
+
readonly rulerUnit: _angular_core.InputSignal<RulerUnit>;
|
|
9574
9877
|
/**
|
|
9575
9878
|
* When true, render a static center-crosshair guide overlay on the slide stage.
|
|
9576
9879
|
* Only active on the interactive canvas.
|
|
@@ -9602,6 +9905,19 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
9602
9905
|
* thumbnail shrinks to near-invisible.
|
|
9603
9906
|
*/
|
|
9604
9907
|
readonly autoFit: _angular_core.InputSignal<boolean>;
|
|
9908
|
+
/**
|
|
9909
|
+
* Drop the resolved slide background so the stage stays see-through.
|
|
9910
|
+
*
|
|
9911
|
+
* Only a STACKED layer sets this: the morph transition overlay paints the
|
|
9912
|
+
* departing slide's paired elements directly over the incoming stage, and a
|
|
9913
|
+
* stage always paints `getSlideBackgroundStyle`, whose colour is never
|
|
9914
|
+
* transparent (it falls back to `DEFAULT_SLIDE_BACKGROUND`, i.e. white). At
|
|
9915
|
+
* the overlay's z-index that opaque field covered the incoming slide for the
|
|
9916
|
+
* whole morph, so the morph looked like a static slab that hard-cut at the
|
|
9917
|
+
* end. A whole-slide transition (fade / wipe / push) still needs its own
|
|
9918
|
+
* background and leaves this false.
|
|
9919
|
+
*/
|
|
9920
|
+
readonly transparentBackground: _angular_core.InputSignal<boolean>;
|
|
9605
9921
|
/**
|
|
9606
9922
|
* When true (default), the canvas + its elements expose the framework-neutral
|
|
9607
9923
|
* contract attributes (`data-pptx-viewport`, `aria-roledescription="slide"`,
|
|
@@ -9872,13 +10188,40 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
9872
10188
|
* same page do not share the same `<pattern>` definition.
|
|
9873
10189
|
*/
|
|
9874
10190
|
protected readonly gridPatternId: string;
|
|
9875
|
-
/**
|
|
9876
|
-
|
|
10191
|
+
/**
|
|
10192
|
+
* Tick marks for the horizontal ruler strip (scaled slide width).
|
|
10193
|
+
*
|
|
10194
|
+
* Generated by the SHARED `generateTicks`, which is what gives Angular the
|
|
10195
|
+
* same unit system, subdivision-density collapse at low zoom and label
|
|
10196
|
+
* thinning the other bindings have. A local generator used to live in
|
|
10197
|
+
* `ruler-ticks.ts` with fixed quarter-inch subdivisions and inch-only
|
|
10198
|
+
* labels, so Angular disagreed with every other binding at every zoom.
|
|
10199
|
+
*/
|
|
10200
|
+
readonly hRulerTicks: _angular_core.Signal<readonly Tick[]>;
|
|
9877
10201
|
/** Tick marks for the vertical ruler strip (scaled slide height). */
|
|
9878
|
-
readonly vRulerTicks: _angular_core.Signal<readonly
|
|
10202
|
+
readonly vRulerTicks: _angular_core.Signal<readonly Tick[]>;
|
|
10203
|
+
/** Ruler strip thickness / label font size, exposed for the template. */
|
|
10204
|
+
protected readonly rulerThickness = 20;
|
|
10205
|
+
protected readonly rulerFontSize = 10;
|
|
10206
|
+
/**
|
|
10207
|
+
* Bounds of a single selection, highlighted on both strips (PowerPoint shades
|
|
10208
|
+
* the selected shape's span on its rulers). Multi-selection paints nothing,
|
|
10209
|
+
* matching React and Svelte.
|
|
10210
|
+
*/
|
|
10211
|
+
private readonly rulerHighlightBounds;
|
|
10212
|
+
/** Selected element extent (scaled px) highlighted on the horizontal strip. */
|
|
10213
|
+
readonly hRulerHighlight: _angular_core.Signal<{
|
|
10214
|
+
start: number;
|
|
10215
|
+
span: number;
|
|
10216
|
+
} | null>;
|
|
10217
|
+
/** Selected element extent (scaled px) highlighted on the vertical strip. */
|
|
10218
|
+
readonly vRulerHighlight: _angular_core.Signal<{
|
|
10219
|
+
start: number;
|
|
10220
|
+
span: number;
|
|
10221
|
+
} | null>;
|
|
9879
10222
|
readonly stageStyle: _angular_core.Signal<StyleMap>;
|
|
9880
10223
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideCanvasComponent, never>;
|
|
9881
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideCanvasComponent, "pptx-slide-canvas", never, { "slide": { "alias": "slide"; "required": false; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "guideCommand": { "alias": "guideCommand"; "required": false; "isSignal": true; }; "spellCheck": { "alias": "spellCheck"; "required": false; "isSignal": true; }; "snapToGuides": { "alias": "snapToGuides"; "required": false; "isSignal": true; }; "autoFit": { "alias": "autoFit"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "editingId": { "alias": "editingId"; "required": false; "isSignal": true; }; "editTemplateMode": { "alias": "editTemplateMode"; "required": false; "isSignal": true; }; "templateElements": { "alias": "templateElements"; "required": false; "isSignal": true; }; "aiHighlights": { "alias": "aiHighlights"; "required": false; "isSignal": true; }; "aiActive": { "alias": "aiActive"; "required": false; "isSignal": true; }; "aiActiveSlideIndex": { "alias": "aiActiveSlideIndex"; "required": false; "isSignal": true; }; "aiChangeBatch": { "alias": "aiChangeBatch"; "required": false; "isSignal": true; }; "aiPickMode": { "alias": "aiPickMode"; "required": false; "isSignal": true; }; "drawTool": { "alias": "drawTool"; "required": false; "isSignal": true; }; "drawColor": { "alias": "drawColor"; "required": false; "isSignal": true; }; "drawWidth": { "alias": "drawWidth"; "required": false; "isSignal": true; }; }, { "elementSelect": "elementSelect"; "backgroundClick": "backgroundClick"; "transformStart": "transformStart"; "transformUpdate": "transformUpdate"; "contextMenu": "contextMenu"; "textEditStart": "textEditStart"; "textCommit": "textCommit"; "textInput": "textInput"; "textCancel": "textCancel"; "textFormat": "textFormat"; "rotateUpdate": "rotateUpdate"; "marqueeSelect": "marqueeSelect"; "inkStrokeComplete": "inkStrokeComplete"; "eraserHit": "eraserHit"; "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, ["*"], true, never>;
|
|
10224
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideCanvasComponent, "pptx-slide-canvas", never, { "slide": { "alias": "slide"; "required": false; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "rulerUnit": { "alias": "rulerUnit"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "guideCommand": { "alias": "guideCommand"; "required": false; "isSignal": true; }; "spellCheck": { "alias": "spellCheck"; "required": false; "isSignal": true; }; "snapToGuides": { "alias": "snapToGuides"; "required": false; "isSignal": true; }; "autoFit": { "alias": "autoFit"; "required": false; "isSignal": true; }; "transparentBackground": { "alias": "transparentBackground"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "editingId": { "alias": "editingId"; "required": false; "isSignal": true; }; "editTemplateMode": { "alias": "editTemplateMode"; "required": false; "isSignal": true; }; "templateElements": { "alias": "templateElements"; "required": false; "isSignal": true; }; "aiHighlights": { "alias": "aiHighlights"; "required": false; "isSignal": true; }; "aiActive": { "alias": "aiActive"; "required": false; "isSignal": true; }; "aiActiveSlideIndex": { "alias": "aiActiveSlideIndex"; "required": false; "isSignal": true; }; "aiChangeBatch": { "alias": "aiChangeBatch"; "required": false; "isSignal": true; }; "aiPickMode": { "alias": "aiPickMode"; "required": false; "isSignal": true; }; "drawTool": { "alias": "drawTool"; "required": false; "isSignal": true; }; "drawColor": { "alias": "drawColor"; "required": false; "isSignal": true; }; "drawWidth": { "alias": "drawWidth"; "required": false; "isSignal": true; }; }, { "elementSelect": "elementSelect"; "backgroundClick": "backgroundClick"; "transformStart": "transformStart"; "transformUpdate": "transformUpdate"; "contextMenu": "contextMenu"; "textEditStart": "textEditStart"; "textCommit": "textCommit"; "textInput": "textInput"; "textCancel": "textCancel"; "textFormat": "textFormat"; "rotateUpdate": "rotateUpdate"; "marqueeSelect": "marqueeSelect"; "inkStrokeComplete": "inkStrokeComplete"; "eraserHit": "eraserHit"; "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, ["*"], true, never>;
|
|
9882
10225
|
}
|
|
9883
10226
|
|
|
9884
10227
|
/**
|
|
@@ -10096,6 +10439,12 @@ declare class ElementRendererComponent {
|
|
|
10096
10439
|
private readonly playback;
|
|
10097
10440
|
private readonly translate;
|
|
10098
10441
|
readonly smartArt3D: _angular_core.Signal<boolean>;
|
|
10442
|
+
/**
|
|
10443
|
+
* Whether the Selection Pane has hidden this element. Drives the empty first
|
|
10444
|
+
* `@case` in the template; see the comment there for why nothing is rendered
|
|
10445
|
+
* rather than rendered-and-hidden.
|
|
10446
|
+
*/
|
|
10447
|
+
readonly isHidden: _angular_core.Signal<boolean>;
|
|
10099
10448
|
/** Obstacle rects (absolute slide coords) for connector A* routing. */
|
|
10100
10449
|
readonly obstacles: _angular_core.InputSignal<readonly RouterRect[]>;
|
|
10101
10450
|
readonly canvasWidth: _angular_core.InputSignal<number>;
|
|
@@ -10124,6 +10473,18 @@ declare class ElementRendererComponent {
|
|
|
10124
10473
|
* runs resolve to display text, mirroring React's `fieldContext`.
|
|
10125
10474
|
*/
|
|
10126
10475
|
readonly fieldContext: _angular_core.InputSignal<FieldSubstitutionContext | undefined>;
|
|
10476
|
+
/**
|
|
10477
|
+
* The elements of the slide being painted, threaded down (including to
|
|
10478
|
+
* recursive group children) alongside {@link fieldContext}.
|
|
10479
|
+
*
|
|
10480
|
+
* Needed only by `a:linkedTxbx` chains: a text box in a linked chain renders
|
|
10481
|
+
* the slice of the chain's text that the preceding boxes could not hold,
|
|
10482
|
+
* which is computable only from its SIBLINGS. Mirrors React's `slideElements`
|
|
10483
|
+
* (taken from its `activeSlide.elements` prop). Left empty by a host that
|
|
10484
|
+
* renders an element outside any slide, in which case a linked box falls back
|
|
10485
|
+
* to its own authored segments.
|
|
10486
|
+
*/
|
|
10487
|
+
readonly slideElements: _angular_core.InputSignal<readonly PptxElement[]>;
|
|
10127
10488
|
/**
|
|
10128
10489
|
* When true, inherited master/layout (template) elements get a visual
|
|
10129
10490
|
* affordance (amber outline ring + slightly reduced opacity) signalling that
|
|
@@ -10159,6 +10520,10 @@ declare class ElementRendererComponent {
|
|
|
10159
10520
|
* DAG fill-overlay tint (colour + blend mode) painted as a separate blended
|
|
10160
10521
|
* layer over the shape. Undefined when the element has no fill overlay.
|
|
10161
10522
|
*/
|
|
10523
|
+
/** Gradient / pattern `a:ln` outline, stroked as an SVG path over the element. */
|
|
10524
|
+
readonly gradientOutline: _angular_core.Signal<StrokeOutline | undefined>;
|
|
10525
|
+
/** viewBox in the element's own pixel space, matching the outline path data. */
|
|
10526
|
+
readonly outlineViewBox: _angular_core.Signal<string>;
|
|
10162
10527
|
readonly fillOverlay: _angular_core.Signal<FillOverlayCss | undefined>;
|
|
10163
10528
|
/**
|
|
10164
10529
|
* Outline ring + slight transparency applied to inherited template
|
|
@@ -10219,7 +10584,7 @@ declare class ElementRendererComponent {
|
|
|
10219
10584
|
readonly hasText: _angular_core.Signal<boolean>;
|
|
10220
10585
|
readonly placeholderLabel: _angular_core.Signal<any>;
|
|
10221
10586
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ElementRendererComponent, never>;
|
|
10222
|
-
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; }; "editTemplateMode": { "alias": "editTemplateMode"; "required": false; "isSignal": true; }; "parentGroupFill": { "alias": "parentGroupFill"; "required": false; "isSignal": true; }; }, { "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, never, true, never>;
|
|
10587
|
+
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>;
|
|
10223
10588
|
}
|
|
10224
10589
|
|
|
10225
10590
|
/**
|
|
@@ -10594,11 +10959,17 @@ declare function computeTextLines(text: string, fontSize: number): Array<{
|
|
|
10594
10959
|
* `RenderedConnector[]` view-models. Every binding renders the same
|
|
10595
10960
|
* geometry; this maps those view-models to SVG exactly as Vue does.
|
|
10596
10961
|
* 3. **Placeholder** -- when there is neither data nor any nodes/shapes.
|
|
10962
|
+
*
|
|
10963
|
+
* Positioning is NOT this component's job: its chrome root fills the positioned,
|
|
10964
|
+
* element-id bearing box its host draws (the element dispatcher, the 3D
|
|
10965
|
+
* renderer's fallback branch, or a preview stage), the same contract the chart
|
|
10966
|
+
* and table renderers follow. Owning `left`/`top` here too offset the diagram
|
|
10967
|
+
* twice, and stamping the element id on this root hid the host's marked node
|
|
10968
|
+
* from anything reading the element contract by id.
|
|
10597
10969
|
*/
|
|
10598
10970
|
declare class SmartArtRendererComponent {
|
|
10599
10971
|
/** The smartArt element to render. Must be `type === 'smartArt'`. */
|
|
10600
10972
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
10601
|
-
readonly zIndex: _angular_core.InputSignal<number>;
|
|
10602
10973
|
/**
|
|
10603
10974
|
* Whether inline on-canvas node-text editing is enabled. False in
|
|
10604
10975
|
* presentation / read-only / thumbnail contexts (mirrors the table renderer's
|
|
@@ -10647,7 +11018,6 @@ declare class SmartArtRendererComponent {
|
|
|
10647
11018
|
readonly canEditNodes: _angular_core.Signal<boolean>;
|
|
10648
11019
|
constructor();
|
|
10649
11020
|
private readonly smartArtData;
|
|
10650
|
-
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
10651
11021
|
readonly chromeStyle: _angular_core.Signal<StyleMap>;
|
|
10652
11022
|
readonly palette: _angular_core.Signal<string[]>;
|
|
10653
11023
|
readonly artStyle: _angular_core.Signal<pptx_viewer_core.SmartArtStyle>;
|
|
@@ -10736,7 +11106,7 @@ declare class SmartArtRendererComponent {
|
|
|
10736
11106
|
private reflow;
|
|
10737
11107
|
readonly isEmpty: _angular_core.Signal<boolean>;
|
|
10738
11108
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArtRendererComponent, never>;
|
|
10739
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmartArtRendererComponent, "pptx-smart-art-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "
|
|
11109
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmartArtRendererComponent, "pptx-smart-art-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "animationState": { "alias": "animationState"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
10740
11110
|
}
|
|
10741
11111
|
|
|
10742
11112
|
/**
|
|
@@ -10840,13 +11210,25 @@ declare class InkRendererComponent {
|
|
|
10840
11210
|
readonly zIndex: _angular_core.InputSignal<number>;
|
|
10841
11211
|
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
10842
11212
|
readonly replay: _angular_core.InputSignal<boolean>;
|
|
11213
|
+
/**
|
|
11214
|
+
* Emit the neutral element marker (`data-pptx-element="true"`) on this
|
|
11215
|
+
* renderer's root, the node that also carries `data-element-id`.
|
|
11216
|
+
*
|
|
11217
|
+
* Set only by the main interactive canvas. It is an input rather than
|
|
11218
|
+
* something the dispatcher wraps around this component because the root here
|
|
11219
|
+
* positions itself absolutely, so an outer marked box would offset the ink
|
|
11220
|
+
* twice. Without it an ink element renders correctly but is not an element as
|
|
11221
|
+
* far as the shared contract is concerned, so anything enumerating or
|
|
11222
|
+
* hit-testing slide elements by the marker skips it.
|
|
11223
|
+
*/
|
|
11224
|
+
readonly markElement: _angular_core.InputSignal<boolean>;
|
|
10843
11225
|
readonly replayKeyframes = "@keyframes pptx-ink-replay {\n from { stroke-dashoffset: var(--ink-path-length); }\n to { stroke-dashoffset: 0; }\n}";
|
|
10844
11226
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
10845
11227
|
readonly strokes: _angular_core.Signal<InkStroke[]>;
|
|
10846
11228
|
readonly replayStyles: _angular_core.Signal<InkStrokeAnimationStyle[]>;
|
|
10847
11229
|
readonly viewBox: _angular_core.Signal<string>;
|
|
10848
11230
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkRendererComponent, never>;
|
|
10849
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InkRendererComponent, "pptx-ink-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "replay": { "alias": "replay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11231
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InkRendererComponent, "pptx-ink-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "replay": { "alias": "replay"; "required": false; "isSignal": true; }; "markElement": { "alias": "markElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
10850
11232
|
}
|
|
10851
11233
|
|
|
10852
11234
|
/**
|
|
@@ -10926,6 +11308,10 @@ declare function buildOleActionModel(el: OlePptxElement, translate?: TranslateSe
|
|
|
10926
11308
|
* type-badge overlay; otherwise a type-specific icon + label placeholder box
|
|
10927
11309
|
* is drawn, mirroring the React / Vue fallback.
|
|
10928
11310
|
*
|
|
11311
|
+
* Positioning is NOT this component's job: it fills the positioned, element-id
|
|
11312
|
+
* bearing box its host draws (see `element-renderer.component.ts`), the same
|
|
11313
|
+
* contract the chart and table renderers follow.
|
|
11314
|
+
*
|
|
10929
11315
|
* Pure helpers (type resolution, colour / label maps, placeholder style) live
|
|
10930
11316
|
* in `ole-renderer-helpers.ts` so they can be unit-tested without TestBed.
|
|
10931
11317
|
*
|
|
@@ -10934,9 +11320,6 @@ declare function buildOleActionModel(el: OlePptxElement, translate?: TranslateSe
|
|
|
10934
11320
|
declare class OleRendererComponent {
|
|
10935
11321
|
/** The element to render. Must be `type === 'ole'`. */
|
|
10936
11322
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
10937
|
-
readonly zIndex: _angular_core.InputSignal<number>;
|
|
10938
|
-
/** Absolute container positioning + dimensions. */
|
|
10939
|
-
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
10940
11323
|
/** Narrowed OLE element: undefined when the input is not `type === 'ole'`. */
|
|
10941
11324
|
private readonly ole;
|
|
10942
11325
|
/** Resolved application type (excel / word / pdf / visio / mathtype / unknown). */
|
|
@@ -10977,7 +11360,7 @@ declare class OleRendererComponent {
|
|
|
10977
11360
|
*/
|
|
10978
11361
|
openEmbedded(): void;
|
|
10979
11362
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OleRendererComponent, never>;
|
|
10980
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OleRendererComponent, "pptx-ole-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; };
|
|
11363
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OleRendererComponent, "pptx-ole-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
10981
11364
|
}
|
|
10982
11365
|
|
|
10983
11366
|
/** Narrowed view-model derived from a `Model3DPptxElement`. */
|
|
@@ -11042,6 +11425,15 @@ declare class Model3DRendererComponent implements OnDestroy {
|
|
|
11042
11425
|
* editor; the root viewer can pass `false` in passive presentation mode.
|
|
11043
11426
|
*/
|
|
11044
11427
|
readonly interactive: _angular_core.InputSignal<boolean>;
|
|
11428
|
+
/**
|
|
11429
|
+
* Emit the neutral element marker (`data-pptx-element="true"`) on this
|
|
11430
|
+
* renderer's root, the node that also carries `data-element-id`. Set only by
|
|
11431
|
+
* the main interactive canvas.
|
|
11432
|
+
*
|
|
11433
|
+
* Separate from `interactive` above, which is about the 3D scene's orbit
|
|
11434
|
+
* controls and defaults to `true` even on a thumbnail.
|
|
11435
|
+
*/
|
|
11436
|
+
readonly markElement: _angular_core.InputSignal<boolean>;
|
|
11045
11437
|
private readonly sceneRef;
|
|
11046
11438
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
11047
11439
|
readonly vm: _angular_core.Signal<Model3DViewModel>;
|
|
@@ -11063,7 +11455,7 @@ declare class Model3DRendererComponent implements OnDestroy {
|
|
|
11063
11455
|
private teardownHandle;
|
|
11064
11456
|
ngOnDestroy(): void;
|
|
11065
11457
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
|
|
11066
|
-
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; }; }, {}, never, never, true, never>;
|
|
11458
|
+
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>;
|
|
11067
11459
|
}
|
|
11068
11460
|
|
|
11069
11461
|
/**
|
|
@@ -11158,6 +11550,16 @@ declare class ZoomRendererComponent {
|
|
|
11158
11550
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
11159
11551
|
readonly zIndex: _angular_core.InputSignal<number>;
|
|
11160
11552
|
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
11553
|
+
/**
|
|
11554
|
+
* Emit the neutral element marker (`data-pptx-element="true"`) on this
|
|
11555
|
+
* renderer's root, the node that also carries `data-element-id`. Set only by
|
|
11556
|
+
* the main interactive canvas.
|
|
11557
|
+
*
|
|
11558
|
+
* Deliberately NOT called `interactive`: this component already uses that
|
|
11559
|
+
* word for something else (`interactive()` below means the tile is
|
|
11560
|
+
* click-to-jump, which only happens inside a running presentation).
|
|
11561
|
+
*/
|
|
11562
|
+
readonly markElement: _angular_core.InputSignal<boolean>;
|
|
11161
11563
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
11162
11564
|
/**
|
|
11163
11565
|
* Target-slide lookup, provided by the viewer. `null` in trees that do not
|
|
@@ -11181,7 +11583,7 @@ declare class ZoomRendererComponent {
|
|
|
11181
11583
|
protected onClick(event: MouseEvent): void;
|
|
11182
11584
|
protected onKeydown(event: KeyboardEvent): void;
|
|
11183
11585
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomRendererComponent, never>;
|
|
11184
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZoomRendererComponent, "pptx-zoom-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11586
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZoomRendererComponent, "pptx-zoom-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "markElement": { "alias": "markElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11185
11587
|
}
|
|
11186
11588
|
|
|
11187
11589
|
declare class AnimationPlaybackService {
|
|
@@ -11936,6 +12338,116 @@ declare class SlideSizeCardComponent {
|
|
|
11936
12338
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideSizeCardComponent, "pptx-slide-size-card", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11937
12339
|
}
|
|
11938
12340
|
|
|
12341
|
+
declare class SlideTransitionCardComponent {
|
|
12342
|
+
/** Zero-based index of the slide whose transition is being edited. */
|
|
12343
|
+
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
12344
|
+
/** Whether mutation controls are enabled. */
|
|
12345
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
12346
|
+
private readonly editor;
|
|
12347
|
+
protected readonly transitionOptions: readonly SlideTransitionOptionEntry[];
|
|
12348
|
+
protected readonly orientOptions: ({
|
|
12349
|
+
value: "horz";
|
|
12350
|
+
i18nKey: string;
|
|
12351
|
+
} | {
|
|
12352
|
+
value: "vert";
|
|
12353
|
+
i18nKey: string;
|
|
12354
|
+
})[];
|
|
12355
|
+
protected readonly maxDurationMs = 10000;
|
|
12356
|
+
protected readonly minSpokes = 1;
|
|
12357
|
+
protected readonly maxSpokes = 8;
|
|
12358
|
+
protected readonly activeSlide: _angular_core.Signal<PptxSlide | undefined>;
|
|
12359
|
+
protected readonly transition: _angular_core.Signal<PptxSlideTransition | undefined>;
|
|
12360
|
+
protected readonly transitionType: _angular_core.Signal<PptxTransitionType>;
|
|
12361
|
+
protected readonly usesOrientation: _angular_core.Signal<boolean>;
|
|
12362
|
+
protected readonly isWheel: _angular_core.Signal<boolean>;
|
|
12363
|
+
/** Compass tokens for the current type, or undefined when it takes none. */
|
|
12364
|
+
protected readonly directionTokens: _angular_core.Signal<readonly string[] | undefined>;
|
|
12365
|
+
protected readonly orientation: _angular_core.Signal<pptx_viewer_core.PptxSplitOrientation>;
|
|
12366
|
+
protected readonly spokes: _angular_core.Signal<number>;
|
|
12367
|
+
protected readonly durationMs: _angular_core.Signal<number>;
|
|
12368
|
+
protected readonly advanceOnClick: _angular_core.Signal<boolean>;
|
|
12369
|
+
protected onTypeChange(event: Event): void;
|
|
12370
|
+
protected onDirection(direction: string): void;
|
|
12371
|
+
protected onOrientation(orient: 'horz' | 'vert'): void;
|
|
12372
|
+
protected onSpokes(event: Event): void;
|
|
12373
|
+
protected onDuration(event: Event): void;
|
|
12374
|
+
protected onAdvanceOnClick(event: Event): void;
|
|
12375
|
+
/** Merge a partial transition change onto the slide as one history entry. */
|
|
12376
|
+
private patch;
|
|
12377
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideTransitionCardComponent, never>;
|
|
12378
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideTransitionCardComponent, "pptx-slide-transition-card", never, { "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12379
|
+
}
|
|
12380
|
+
|
|
12381
|
+
declare class SlideBackgroundCardComponent {
|
|
12382
|
+
/** Zero-based index of the slide whose background is being edited. */
|
|
12383
|
+
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
12384
|
+
/** Whether mutation controls are enabled. */
|
|
12385
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
12386
|
+
private readonly editor;
|
|
12387
|
+
protected readonly imageAccept = "image/png,image/jpeg,image/gif,image/webp,image/svg+xml";
|
|
12388
|
+
protected readonly slide: _angular_core.Signal<PptxSlide | undefined>;
|
|
12389
|
+
/** Stable per-slide key so the colour input reseeds only on slide change. */
|
|
12390
|
+
protected readonly slideKey: _angular_core.Signal<string>;
|
|
12391
|
+
protected readonly backgroundColor: _angular_core.Signal<string>;
|
|
12392
|
+
protected readonly hasBackground: _angular_core.Signal<boolean>;
|
|
12393
|
+
protected onColorChange(event: Event): void;
|
|
12394
|
+
protected onImagePicked(event: Event): void;
|
|
12395
|
+
protected onRemoveImage(): void;
|
|
12396
|
+
protected onClear(): void;
|
|
12397
|
+
private patch;
|
|
12398
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideBackgroundCardComponent, never>;
|
|
12399
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideBackgroundCardComponent, "pptx-slide-background-card", never, { "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12400
|
+
}
|
|
12401
|
+
|
|
12402
|
+
/** One rendered grid slot: a direction token, or a blank spacer. */
|
|
12403
|
+
interface DirectionCell {
|
|
12404
|
+
/** Stable key for `@for` tracking (cells can repeat `null`). */
|
|
12405
|
+
readonly key: string;
|
|
12406
|
+
/** The direction token, or null for an empty compass slot. */
|
|
12407
|
+
readonly value: string | null;
|
|
12408
|
+
/** Arrow glyph for the token (falls back to the raw token). */
|
|
12409
|
+
readonly arrow: string;
|
|
12410
|
+
}
|
|
12411
|
+
declare class TransitionDirectionPickerComponent {
|
|
12412
|
+
/** Valid direction tokens for the current transition type. */
|
|
12413
|
+
readonly directions: _angular_core.InputSignal<readonly string[]>;
|
|
12414
|
+
/** Currently selected token, if any. */
|
|
12415
|
+
readonly value: _angular_core.InputSignal<string | undefined>;
|
|
12416
|
+
/** Whether the buttons are inert (read-only deck). */
|
|
12417
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
12418
|
+
/** The token the user chose. */
|
|
12419
|
+
readonly pick: _angular_core.OutputEmitterRef<string>;
|
|
12420
|
+
/** Four or more tokens earn the compass grid; fewer stay an inline row. */
|
|
12421
|
+
protected readonly useGrid: _angular_core.Signal<boolean>;
|
|
12422
|
+
protected readonly gridCells: _angular_core.Signal<DirectionCell[]>;
|
|
12423
|
+
/** Arrow glyph for a token, falling back to the raw token. */
|
|
12424
|
+
protected arrowFor(token: string): string;
|
|
12425
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TransitionDirectionPickerComponent, never>;
|
|
12426
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TransitionDirectionPickerComponent, "pptx-transition-direction-picker", never, { "directions": { "alias": "directions"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "pick": "pick"; }, never, never, true, never>;
|
|
12427
|
+
}
|
|
12428
|
+
|
|
12429
|
+
declare class TransitionPreviewComponent {
|
|
12430
|
+
/** The transition being previewed. */
|
|
12431
|
+
readonly transition: _angular_core.InputSignal<PptxSlideTransition>;
|
|
12432
|
+
/** Bumped on every click; recreates both layers so the animation restarts. */
|
|
12433
|
+
private readonly playKey;
|
|
12434
|
+
private readonly playing;
|
|
12435
|
+
private timer;
|
|
12436
|
+
constructor();
|
|
12437
|
+
/** Single-element list so the template can key the layers on the counter. */
|
|
12438
|
+
protected readonly playKeys: _angular_core.Signal<readonly number[]>;
|
|
12439
|
+
protected readonly durationMs: _angular_core.Signal<number>;
|
|
12440
|
+
/** `none` and `cut` have nothing to show; React hides the preview entirely. */
|
|
12441
|
+
protected readonly previewable: _angular_core.Signal<boolean>;
|
|
12442
|
+
private readonly animations;
|
|
12443
|
+
protected readonly incomingAnimation: _angular_core.Signal<string | null>;
|
|
12444
|
+
protected readonly outgoingAnimation: _angular_core.Signal<string | null>;
|
|
12445
|
+
protected readonly outgoingZIndex: _angular_core.Signal<0 | 2>;
|
|
12446
|
+
protected play(): void;
|
|
12447
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TransitionPreviewComponent, never>;
|
|
12448
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TransitionPreviewComponent, "pptx-transition-preview", never, { "transition": { "alias": "transition"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12449
|
+
}
|
|
12450
|
+
|
|
11939
12451
|
declare class NotesHandoutCardComponent {
|
|
11940
12452
|
private readonly loader;
|
|
11941
12453
|
private readonly translate;
|
|
@@ -11966,6 +12478,28 @@ declare class DocumentPropertiesCardComponent {
|
|
|
11966
12478
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DocumentPropertiesCardComponent, "pptx-document-properties-card", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11967
12479
|
}
|
|
11968
12480
|
|
|
12481
|
+
declare class TagsCardComponent {
|
|
12482
|
+
/** Whether mutation controls are enabled. */
|
|
12483
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
12484
|
+
private readonly loader;
|
|
12485
|
+
private readonly editor;
|
|
12486
|
+
/** Collapsed by default, matching React's TagsSection initial state. */
|
|
12487
|
+
protected readonly collapsed: _angular_core.WritableSignal<boolean>;
|
|
12488
|
+
protected readonly rows: _angular_core.Signal<FlatTagRow[]>;
|
|
12489
|
+
protected toggle(): void;
|
|
12490
|
+
protected onFieldChange(event: Event, colIdx: number, tagIdx: number, field: 'name' | 'value'): void;
|
|
12491
|
+
protected onDelete(colIdx: number, tagIdx: number): void;
|
|
12492
|
+
protected onAdd(): void;
|
|
12493
|
+
/**
|
|
12494
|
+
* Tags live outside the slide list, so they are not part of the slide undo
|
|
12495
|
+
* stack; writing the loader signal and flagging the deck dirty is the same
|
|
12496
|
+
* path the DOCUMENT properties card uses.
|
|
12497
|
+
*/
|
|
12498
|
+
private commit;
|
|
12499
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TagsCardComponent, never>;
|
|
12500
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TagsCardComponent, "pptx-tags-card", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12501
|
+
}
|
|
12502
|
+
|
|
11969
12503
|
declare class GradientPickerComponent {
|
|
11970
12504
|
/** The element whose gradient fill is being edited. */
|
|
11971
12505
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
@@ -12053,6 +12587,79 @@ declare class TextAdvancedPanelComponent {
|
|
|
12053
12587
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextAdvancedPanelComponent, "pptx-text-advanced-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
12054
12588
|
}
|
|
12055
12589
|
|
|
12590
|
+
declare class Text3DPanelComponent {
|
|
12591
|
+
/** The selected element whose text style carries the 3D settings. */
|
|
12592
|
+
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
12593
|
+
/** A partial-element patch for the orchestrator to commit (one history entry). */
|
|
12594
|
+
readonly patch: _angular_core.OutputEmitterRef<Partial<PptxElement>>;
|
|
12595
|
+
protected readonly materialPresets: readonly {
|
|
12596
|
+
value: MaterialPresetType | "";
|
|
12597
|
+
label: string;
|
|
12598
|
+
}[];
|
|
12599
|
+
protected readonly maxDepthPt = 100;
|
|
12600
|
+
protected readonly topBevelKeys: pptx_angular_viewer.Text3DBevelKeys;
|
|
12601
|
+
protected readonly bottomBevelKeys: pptx_angular_viewer.Text3DBevelKeys;
|
|
12602
|
+
protected readonly text3d: _angular_core.Signal<Text3DStyle | undefined>;
|
|
12603
|
+
protected readonly hasExtrusion: _angular_core.Signal<boolean>;
|
|
12604
|
+
protected readonly depthPt: _angular_core.Signal<number>;
|
|
12605
|
+
protected readonly extrusionColor: _angular_core.Signal<string>;
|
|
12606
|
+
protected readonly material: _angular_core.Signal<string>;
|
|
12607
|
+
/** Merge a partial 3D change onto the current style and emit the patch. */
|
|
12608
|
+
protected commit(changes: Partial<Text3DStyle>): void;
|
|
12609
|
+
protected onExtrusionToggle(event: Event): void;
|
|
12610
|
+
protected onDepthChange(event: Event): void;
|
|
12611
|
+
protected onColorChange(event: Event): void;
|
|
12612
|
+
protected onMaterialChange(event: Event): void;
|
|
12613
|
+
private emitText3d;
|
|
12614
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Text3DPanelComponent, never>;
|
|
12615
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Text3DPanelComponent, "pptx-text-3d-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
12616
|
+
}
|
|
12617
|
+
|
|
12618
|
+
/** The three `Text3DStyle` fields one bevel block owns. */
|
|
12619
|
+
interface Text3DBevelKeys {
|
|
12620
|
+
readonly type: 'bevelTopType' | 'bevelBottomType';
|
|
12621
|
+
readonly width: 'bevelTopWidth' | 'bevelBottomWidth';
|
|
12622
|
+
readonly height: 'bevelTopHeight' | 'bevelBottomHeight';
|
|
12623
|
+
}
|
|
12624
|
+
/** Field names of the TOP bevel (`a:bevelT`). */
|
|
12625
|
+
declare const TEXT_3D_TOP_BEVEL_KEYS: Text3DBevelKeys;
|
|
12626
|
+
/** Field names of the BOTTOM bevel (`a:bevelB`). */
|
|
12627
|
+
declare const TEXT_3D_BOTTOM_BEVEL_KEYS: Text3DBevelKeys;
|
|
12628
|
+
/**
|
|
12629
|
+
* Build the single-field patch for one bevel input. Exported (and pure) so the
|
|
12630
|
+
* clamping is unit-testable without a TestBed, matching this package's
|
|
12631
|
+
* convention of testing logic and leaving DOM behaviour to the e2e specs.
|
|
12632
|
+
*/
|
|
12633
|
+
declare function bevelSizePatch(key: Text3DBevelKeys['width'] | Text3DBevelKeys['height'], pt: number): Partial<Text3DStyle>;
|
|
12634
|
+
declare class Text3DBevelSectionComponent {
|
|
12635
|
+
/** Display label for this edge (already translated by the parent). */
|
|
12636
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
12637
|
+
/** Which `Text3DStyle` fields this block writes. */
|
|
12638
|
+
readonly keys: _angular_core.InputSignal<Text3DBevelKeys>;
|
|
12639
|
+
/**
|
|
12640
|
+
* The element's current 3D-text style, if any. Named `text3d` rather than
|
|
12641
|
+
* `style` because Angular special-cases a `[style]` binding as the native
|
|
12642
|
+
* style map, which would never reach an input of that name.
|
|
12643
|
+
*/
|
|
12644
|
+
readonly text3d: _angular_core.InputSignal<Text3DStyle | undefined>;
|
|
12645
|
+
/** Whether the controls are inert (no extrusion, or read-only deck). */
|
|
12646
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
12647
|
+
/** A partial `Text3DStyle` change for the parent to merge and commit. */
|
|
12648
|
+
readonly bevelChange: _angular_core.OutputEmitterRef<Partial<Text3DStyle>>;
|
|
12649
|
+
protected readonly bevelPresets: readonly {
|
|
12650
|
+
value: BevelPresetType;
|
|
12651
|
+
label: string;
|
|
12652
|
+
}[];
|
|
12653
|
+
protected readonly maxPt = 50;
|
|
12654
|
+
protected readonly bevelType: _angular_core.Signal<BevelPresetType>;
|
|
12655
|
+
protected readonly widthPt: _angular_core.Signal<number>;
|
|
12656
|
+
protected readonly heightPt: _angular_core.Signal<number>;
|
|
12657
|
+
protected onType(event: Event): void;
|
|
12658
|
+
protected onSize(event: Event, dimension: 'width' | 'height'): void;
|
|
12659
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Text3DBevelSectionComponent, never>;
|
|
12660
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Text3DBevelSectionComponent, "pptx-text-3d-bevel-section", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "keys": { "alias": "keys"; "required": true; "isSignal": true; }; "text3d": { "alias": "text3d"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "bevelChange": "bevelChange"; }, never, never, true, never>;
|
|
12661
|
+
}
|
|
12662
|
+
|
|
12056
12663
|
declare class TableDataEditorComponent {
|
|
12057
12664
|
/** The table element being edited. */
|
|
12058
12665
|
readonly element: _angular_core.InputSignal<TablePptxElement>;
|
|
@@ -12935,6 +13542,8 @@ declare class EditorToolbarComponent {
|
|
|
12935
13542
|
}
|
|
12936
13543
|
|
|
12937
13544
|
declare class StatusBarComponent {
|
|
13545
|
+
/** Shared height token; see the note above the row in the template. */
|
|
13546
|
+
protected readonly statusBarHeightClass: "min-h-[29px]";
|
|
12938
13547
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
12939
13548
|
readonly slideCount: _angular_core.InputSignal<number>;
|
|
12940
13549
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
@@ -12993,6 +13602,14 @@ declare class EditorContextMenuComponent {
|
|
|
12993
13602
|
readonly askAi: _angular_core.OutputEmitterRef<void>;
|
|
12994
13603
|
/** "Fix with AI": open the assistant with a prefilled fix directive. */
|
|
12995
13604
|
readonly fixAi: _angular_core.OutputEmitterRef<void>;
|
|
13605
|
+
/**
|
|
13606
|
+
* "Edit Hyperlink": the dialog lives at viewer level (it needs the selected
|
|
13607
|
+
* element and the document-properties service), so the menu asks for it
|
|
13608
|
+
* rather than owning it.
|
|
13609
|
+
*/
|
|
13610
|
+
readonly editHyperlink: _angular_core.OutputEmitterRef<void>;
|
|
13611
|
+
/** "Add Comment": open the right-docked comments panel, as React does. */
|
|
13612
|
+
readonly addComment: _angular_core.OutputEmitterRef<void>;
|
|
12996
13613
|
protected readonly editor: EditorStateService;
|
|
12997
13614
|
private readonly tableSelection;
|
|
12998
13615
|
private readonly host;
|
|
@@ -13005,36 +13622,23 @@ declare class EditorContextMenuComponent {
|
|
|
13005
13622
|
element: TablePptxElement;
|
|
13006
13623
|
sel: TableCellSelection;
|
|
13007
13624
|
} | null>;
|
|
13625
|
+
/** The single selected element, or null on an empty or multi selection. */
|
|
13626
|
+
private readonly selectedElement;
|
|
13627
|
+
/** The menu, as the shared command list builds it for this right-click. */
|
|
13628
|
+
protected readonly entries: _angular_core.Signal<ContextMenuEntry[]>;
|
|
13629
|
+
/** Editor operations behind each command id (see the dispatch module). */
|
|
13630
|
+
private readonly actions;
|
|
13008
13631
|
onEscape(): void;
|
|
13009
13632
|
onDocumentPointerDown(event: PointerEvent): void;
|
|
13010
|
-
|
|
13011
|
-
protected
|
|
13012
|
-
protected onCut(): void;
|
|
13013
|
-
protected onCopy(): void;
|
|
13014
|
-
protected onPaste(): void;
|
|
13015
|
-
protected onDuplicate(): void;
|
|
13016
|
-
protected onDelete(): void;
|
|
13017
|
-
protected onBringToFront(): void;
|
|
13018
|
-
protected onSendToBack(): void;
|
|
13019
|
-
protected onBringForward(): void;
|
|
13020
|
-
protected onSendBackward(): void;
|
|
13021
|
-
protected onInsertRowAbove(): void;
|
|
13022
|
-
protected onInsertRowBelow(): void;
|
|
13023
|
-
protected onInsertColLeft(): void;
|
|
13024
|
-
protected onInsertColRight(): void;
|
|
13025
|
-
protected onDeleteRow(): void;
|
|
13026
|
-
protected onDeleteColumn(): void;
|
|
13027
|
-
protected onMergeRight(): void;
|
|
13028
|
-
protected onMergeDown(): void;
|
|
13029
|
-
protected onSplitCell(): void;
|
|
13030
|
-
protected onMergeSelected(): void;
|
|
13633
|
+
/** Run the chosen command, then close: every item closes the menu. */
|
|
13634
|
+
protected run(id: ContextMenuCommandId): void;
|
|
13031
13635
|
/**
|
|
13032
13636
|
* Run a pure table transform on the current table context and commit the
|
|
13033
|
-
* result through the editor (one undoable history entry)
|
|
13637
|
+
* result through the editor (one undoable history entry).
|
|
13034
13638
|
*/
|
|
13035
13639
|
private applyTable;
|
|
13036
13640
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorContextMenuComponent, never>;
|
|
13037
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorContextMenuComponent, "pptx-editor-context-menu", never, { "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "showAiActions": { "alias": "showAiActions"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "askAi": "askAi"; "fixAi": "fixAi"; }, never, never, true, never>;
|
|
13641
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorContextMenuComponent, "pptx-editor-context-menu", never, { "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": true; "isSignal": true; }; "showAiActions": { "alias": "showAiActions"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "askAi": "askAi"; "fixAi": "fixAi"; "editHyperlink": "editHyperlink"; "addComment": "addComment"; }, never, never, true, never>;
|
|
13038
13642
|
}
|
|
13039
13643
|
|
|
13040
13644
|
/**
|
|
@@ -13363,22 +13967,32 @@ declare class AnimationPanelComponent {
|
|
|
13363
13967
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AnimationPanelComponent, "pptx-animation-panel", never, { "groups": { "alias": "groups"; "required": true; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "isPlaying": { "alias": "isPlaying"; "required": false; "isSignal": true; }; }, { "playRequested": "playRequested"; "pauseRequested": "pauseRequested"; "stepRequested": "stepRequested"; "resetRequested": "resetRequested"; "seek": "seek"; }, never, never, true, never>;
|
|
13364
13968
|
}
|
|
13365
13969
|
|
|
13970
|
+
type Trigger = 'click' | 'hover';
|
|
13366
13971
|
declare class ActionSettingsPanelComponent {
|
|
13367
13972
|
readonly element: _angular_core.InputSignal<PptxElement>;
|
|
13368
13973
|
readonly slideCount: _angular_core.InputSignal<number>;
|
|
13369
13974
|
readonly patch: _angular_core.OutputEmitterRef<Partial<PptxElement>>;
|
|
13370
13975
|
protected readonly triggers: readonly ["click", "hover"];
|
|
13371
|
-
protected readonly actionTypes: readonly
|
|
13372
|
-
|
|
13373
|
-
|
|
13374
|
-
|
|
13976
|
+
protected readonly actionTypes: readonly ElementActionOption[];
|
|
13977
|
+
/**
|
|
13978
|
+
* The type the user just picked, per trigger.
|
|
13979
|
+
*
|
|
13980
|
+
* WHY it exists: "Go to URL" / "Go to Slide" only become a stored action once
|
|
13981
|
+
* they carry a target, so controls driven purely by the committed element
|
|
13982
|
+
* never revealed the input needed to supply that target, leaving both kinds
|
|
13983
|
+
* unreachable. The pick is tagged with its element id so moving the inspector
|
|
13984
|
+
* to another shape does not carry a half-made choice across.
|
|
13985
|
+
*/
|
|
13986
|
+
private readonly pending;
|
|
13375
13987
|
private readonly clickAction;
|
|
13376
13988
|
private readonly hoverAction;
|
|
13377
|
-
protected actionFor(trigger:
|
|
13989
|
+
protected actionFor(trigger: Trigger): ElementAction | undefined;
|
|
13990
|
+
/** The action type this trigger's controls should render right now. */
|
|
13991
|
+
protected typeFor(trigger: Trigger): ElementActionType;
|
|
13378
13992
|
private update;
|
|
13379
|
-
protected onType(event: Event, trigger:
|
|
13380
|
-
protected onUrl(event: Event, trigger:
|
|
13381
|
-
protected onSlide(event: Event, trigger:
|
|
13993
|
+
protected onType(event: Event, trigger: Trigger): void;
|
|
13994
|
+
protected onUrl(event: Event, trigger: Trigger): void;
|
|
13995
|
+
protected onSlide(event: Event, trigger: Trigger): void;
|
|
13382
13996
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ActionSettingsPanelComponent, never>;
|
|
13383
13997
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ActionSettingsPanelComponent, "pptx-action-settings-panel", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "slideCount": { "alias": "slideCount"; "required": false; "isSignal": true; }; }, { "patch": "patch"; }, never, never, true, never>;
|
|
13384
13998
|
}
|
|
@@ -14352,7 +14966,7 @@ declare class AccountPageComponent {
|
|
|
14352
14966
|
readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
|
|
14353
14967
|
private readonly translate;
|
|
14354
14968
|
protected readonly swatches: readonly string[];
|
|
14355
|
-
protected readonly version = "2.
|
|
14969
|
+
protected readonly version = "2.8.0";
|
|
14356
14970
|
protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
|
|
14357
14971
|
protected readonly initial: _angular_core.Signal<string>;
|
|
14358
14972
|
protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
|
|
@@ -14691,6 +15305,15 @@ declare class PresentationTransitionOverlayComponent {
|
|
|
14691
15305
|
* (see `morphStyleEffect`).
|
|
14692
15306
|
*/
|
|
14693
15307
|
protected readonly morphPlan: _angular_core.Signal<MorphTransitionPlan | undefined>;
|
|
15308
|
+
/**
|
|
15309
|
+
* Whether this overlay is playing a morph.
|
|
15310
|
+
*
|
|
15311
|
+
* A morph layer paints only the departing slide's paired shapes over the live
|
|
15312
|
+
* incoming stage, so its stage background must be dropped
|
|
15313
|
+
* (`transparentBackground`). Every other transition animates a whole slide
|
|
15314
|
+
* surface out and keeps its own background.
|
|
15315
|
+
*/
|
|
15316
|
+
protected readonly isMorph: _angular_core.Signal<boolean>;
|
|
14694
15317
|
/** The slide rendered in the animated layer (outgoing + its template). */
|
|
14695
15318
|
protected readonly layerSlide: _angular_core.Signal<PptxSlide>;
|
|
14696
15319
|
/** Layer container style: animation + stacking relative to the stage. */
|
|
@@ -15132,10 +15755,19 @@ declare function computeCornerHandle(box: (Box & {
|
|
|
15132
15755
|
}) | null, editable: boolean, handleScreenPx: number, offsetPx: number, zoom: number, corner: 'top-center' | 'top-left'): CornerHandleBox | null;
|
|
15133
15756
|
/**
|
|
15134
15757
|
* Resolve the id of the interactive element under a pointer target, or null.
|
|
15135
|
-
*
|
|
15136
|
-
*
|
|
15137
|
-
*
|
|
15138
|
-
*
|
|
15758
|
+
*
|
|
15759
|
+
* Resolution goes through the shared hit-test, which answers with the TOP-LEVEL
|
|
15760
|
+
* element rather than the innermost `data-element-id` node. That distinction is
|
|
15761
|
+
* the whole point here: a group renders its children's nodes inside its own, so
|
|
15762
|
+
* the innermost node under a click is usually a grouped CHILD, whose id is not
|
|
15763
|
+
* in `allElements`. This function used to look that child id up, find nothing,
|
|
15764
|
+
* and report "no element", which CLEARED the selection: Ungroup was then only
|
|
15765
|
+
* reachable by hitting a gap inside the group's box that missed every child.
|
|
15766
|
+
* PowerPoint (and React, Vanilla and Svelte) select the group instead.
|
|
15767
|
+
*
|
|
15768
|
+
* Template (master/layout) elements are only interactive while
|
|
15769
|
+
* `editTemplateMode` is on; when off they are reported as null so the canvas
|
|
15770
|
+
* treats them as background (no select/drag/context-menu/inline-edit).
|
|
15139
15771
|
*/
|
|
15140
15772
|
declare function resolveInteractiveElementId(target: EventTarget | null, allElements: readonly PptxElement[], editTemplateMode: boolean): string | null;
|
|
15141
15773
|
|
|
@@ -15421,6 +16053,12 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
15421
16053
|
readonly zIndex: _angular_core.InputSignal<number>;
|
|
15422
16054
|
/** When true and the 3D scene is active, enables inline node text editing. */
|
|
15423
16055
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
16056
|
+
/**
|
|
16057
|
+
* Emit the neutral element marker (`data-pptx-element="true"`) on the node
|
|
16058
|
+
* that also carries `data-element-id`: the 3D scene's root, or the box the
|
|
16059
|
+
* SVG fallback branch is drawn into. Set only by the main interactive canvas.
|
|
16060
|
+
*/
|
|
16061
|
+
readonly markElement: _angular_core.InputSignal<boolean>;
|
|
15424
16062
|
private readonly canvas;
|
|
15425
16063
|
private readonly containerEl;
|
|
15426
16064
|
private readonly nodeEditor3d;
|
|
@@ -15458,7 +16096,7 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
15458
16096
|
private applyCommit;
|
|
15459
16097
|
ngOnDestroy(): void;
|
|
15460
16098
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DRendererComponent, never>;
|
|
15461
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmartArt3DRendererComponent, "pptx-smart-art-3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16099
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmartArt3DRendererComponent, "pptx-smart-art-3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "markElement": { "alias": "markElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15462
16100
|
}
|
|
15463
16101
|
|
|
15464
16102
|
declare class SmartArtPreviewComponent {
|
|
@@ -15766,6 +16404,42 @@ declare function splitCursorCell(element: TablePptxElement, row: number, col: nu
|
|
|
15766
16404
|
*/
|
|
15767
16405
|
declare function patchTableData(element: TablePptxElement, patch: Partial<PptxTableData>): TablePptxElement;
|
|
15768
16406
|
|
|
16407
|
+
/** One gallery button: the preset it applies plus the key naming it. */
|
|
16408
|
+
interface AnimationPresetEntry {
|
|
16409
|
+
value: PptxAnimationPreset;
|
|
16410
|
+
labelKey: string;
|
|
16411
|
+
}
|
|
16412
|
+
/** One gallery column: a bucket's caption plus the presets filed under it. */
|
|
16413
|
+
interface AnimationPresetCategory {
|
|
16414
|
+
group: AnimationGroup;
|
|
16415
|
+
labelKey: string;
|
|
16416
|
+
tone: string;
|
|
16417
|
+
presets: readonly AnimationPresetEntry[];
|
|
16418
|
+
}
|
|
16419
|
+
/** The i18n key naming a preset, shared by every binding's gallery. */
|
|
16420
|
+
declare function animationPresetLabelKey(preset: PptxAnimationPreset): string;
|
|
16421
|
+
/**
|
|
16422
|
+
* The gallery's columns, in the catalogue's own order.
|
|
16423
|
+
*
|
|
16424
|
+
* That order already leads each bucket with the effects PowerPoint puts first
|
|
16425
|
+
* (Appear / Fade In / Fly In, Spin / Pulse, Fade Out), so the six presets this
|
|
16426
|
+
* tab used to offer still read as the primary set without being rendered twice.
|
|
16427
|
+
*/
|
|
16428
|
+
declare const ANIMATION_PRESET_CATEGORIES: readonly AnimationPresetCategory[];
|
|
16429
|
+
/** What the gallery emits when a preset button is pressed. */
|
|
16430
|
+
interface AnimationPresetPick {
|
|
16431
|
+
preset: PptxAnimationPreset;
|
|
16432
|
+
group: AnimationGroup;
|
|
16433
|
+
}
|
|
16434
|
+
declare class RibbonAnimationGalleryComponent {
|
|
16435
|
+
/** True when the deck is not editable or nothing is selected. */
|
|
16436
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
16437
|
+
readonly addAnimation: _angular_core.OutputEmitterRef<AnimationPresetPick>;
|
|
16438
|
+
protected readonly categories: readonly AnimationPresetCategory[];
|
|
16439
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonAnimationGalleryComponent, never>;
|
|
16440
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonAnimationGalleryComponent, "pptx-ribbon-animation-gallery", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "addAnimation": "addAnimation"; }, never, never, true, never>;
|
|
16441
|
+
}
|
|
16442
|
+
|
|
15769
16443
|
declare class RibbonAnimationsSectionComponent {
|
|
15770
16444
|
private readonly editor;
|
|
15771
16445
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
@@ -15773,29 +16447,16 @@ declare class RibbonAnimationsSectionComponent {
|
|
|
15773
16447
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
15774
16448
|
readonly present: _angular_core.OutputEmitterRef<void>;
|
|
15775
16449
|
readonly toggleInspector: _angular_core.OutputEmitterRef<void>;
|
|
15776
|
-
protected readonly entrancePresets: readonly {
|
|
15777
|
-
value: PptxAnimationPreset;
|
|
15778
|
-
label: string;
|
|
15779
|
-
labelKey: string;
|
|
15780
|
-
}[];
|
|
15781
|
-
protected readonly emphasisPresets: readonly {
|
|
15782
|
-
value: PptxAnimationPreset;
|
|
15783
|
-
label: string;
|
|
15784
|
-
labelKey: string;
|
|
15785
|
-
}[];
|
|
15786
|
-
protected readonly exitPresets: readonly {
|
|
15787
|
-
value: PptxAnimationPreset;
|
|
15788
|
-
label: string;
|
|
15789
|
-
labelKey: string;
|
|
15790
|
-
}[];
|
|
15791
16450
|
protected hasSel(): boolean;
|
|
15792
16451
|
protected canAuthor(): boolean;
|
|
16452
|
+
/** Apply the preset a gallery button asked for. */
|
|
16453
|
+
protected onGalleryPick(pick: AnimationPresetPick): void;
|
|
15793
16454
|
/**
|
|
15794
16455
|
* Add an animation preset to the selected element on the active slide.
|
|
15795
16456
|
* Delegates to the immutable helpers in animation-author-helpers.ts and
|
|
15796
16457
|
* commits the updated animations array via EditorStateService.updateSlide.
|
|
15797
16458
|
*/
|
|
15798
|
-
protected addAnimation(preset: PptxAnimationPreset, group:
|
|
16459
|
+
protected addAnimation(preset: PptxAnimationPreset, group: AnimationGroup): void;
|
|
15799
16460
|
/** Remove all animations from the selected element. */
|
|
15800
16461
|
protected removeAnim(): void;
|
|
15801
16462
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonAnimationsSectionComponent, never>;
|
|
@@ -15805,6 +16466,10 @@ declare class RibbonAnimationsSectionComponent {
|
|
|
15805
16466
|
declare class RibbonArrangeSectionComponent {
|
|
15806
16467
|
protected readonly editor: EditorStateService;
|
|
15807
16468
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
16469
|
+
/** The active selection, which gates Ungroup and the outline-width spinner. */
|
|
16470
|
+
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
16471
|
+
/** Whether the deck is editable; a read-only deck cannot group or restyle. */
|
|
16472
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
15808
16473
|
readonly formatPainterActive: _angular_core.InputSignal<boolean>;
|
|
15809
16474
|
readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
|
|
15810
16475
|
readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
|
|
@@ -15813,7 +16478,7 @@ declare class RibbonArrangeSectionComponent {
|
|
|
15813
16478
|
/** Toggle horizontal/vertical flip on each selected element. */
|
|
15814
16479
|
protected flipSelected(axis: 'horizontal' | 'vertical'): void;
|
|
15815
16480
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonArrangeSectionComponent, never>;
|
|
15816
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonArrangeSectionComponent, "pptx-ribbon-arrange-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; }, never, never, true, never>;
|
|
16481
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonArrangeSectionComponent, "pptx-ribbon-arrange-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"; }, never, never, true, never>;
|
|
15817
16482
|
}
|
|
15818
16483
|
|
|
15819
16484
|
declare class RibbonColorPopoverComponent {
|
|
@@ -15847,6 +16512,8 @@ declare class RibbonDrawingGroupComponent {
|
|
|
15847
16512
|
/** Insert the picked preset immediately (selects it and records history). */
|
|
15848
16513
|
protected onShapeSelect(shape: ShapePresetDef): void;
|
|
15849
16514
|
protected onArrange(direction: 'up' | 'down'): void;
|
|
16515
|
+
/** Group or ungroup the selection, then close the menu. */
|
|
16516
|
+
protected onGroup(group: boolean): void;
|
|
15850
16517
|
protected onArrangeEdge(edge: 'front' | 'back'): void;
|
|
15851
16518
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonDrawingGroupComponent, never>;
|
|
15852
16519
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonDrawingGroupComponent, "pptx-ribbon-drawing-group", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -15860,8 +16527,8 @@ declare class RibbonEditingSectionComponent {
|
|
|
15860
16527
|
}
|
|
15861
16528
|
|
|
15862
16529
|
interface BackstageAction {
|
|
15863
|
-
|
|
15864
|
-
|
|
16530
|
+
titleKey: string;
|
|
16531
|
+
bodyKey: string;
|
|
15865
16532
|
icon: string;
|
|
15866
16533
|
event: {
|
|
15867
16534
|
emit: () => void;
|
|
@@ -15898,33 +16565,48 @@ declare class RibbonFileSectionComponent {
|
|
|
15898
16565
|
readonly openVersionHistory: _angular_core.OutputEmitterRef<void>;
|
|
15899
16566
|
readonly share: _angular_core.OutputEmitterRef<void>;
|
|
15900
16567
|
readonly options: _angular_core.OutputEmitterRef<void>;
|
|
16568
|
+
/**
|
|
16569
|
+
* Optional: the backstage only needs a translator for the two strings the
|
|
16570
|
+
* shared helpers build (relative dates, recent-file fallbacks). A host that
|
|
16571
|
+
* has not provided ngx-translate should still get an English backstage
|
|
16572
|
+
* rather than an NG0201 at construction time.
|
|
16573
|
+
*/
|
|
16574
|
+
private readonly translate;
|
|
16575
|
+
private readonly t;
|
|
15901
16576
|
protected readonly templates: readonly BackstageTemplate[];
|
|
15902
16577
|
protected readonly mainNav: _angular_core.Signal<readonly {
|
|
15903
16578
|
id: BackstagePage;
|
|
15904
16579
|
label: string;
|
|
16580
|
+
labelKey: string;
|
|
15905
16581
|
group?: "footer";
|
|
15906
16582
|
}[]>;
|
|
15907
16583
|
protected readonly footerNav: {
|
|
15908
16584
|
id: BackstagePage;
|
|
15909
16585
|
label: string;
|
|
16586
|
+
labelKey: string;
|
|
15910
16587
|
group?: "footer";
|
|
15911
16588
|
}[];
|
|
15912
16589
|
protected readonly page: _angular_core.WritableSignal<BackstagePage>;
|
|
15913
16590
|
protected readonly query: _angular_core.WritableSignal<string>;
|
|
15914
16591
|
protected readonly recent: _angular_core.WritableSignal<BackstageRecentFile[]>;
|
|
15915
|
-
protected readonly
|
|
16592
|
+
protected readonly titleKey: _angular_core.Signal<string>;
|
|
15916
16593
|
protected readonly visibleRecent: _angular_core.Signal<BackstageRecentFile[]>;
|
|
15917
|
-
protected readonly date: typeof formatBackstageDate;
|
|
15918
16594
|
protected readonly size: typeof formatBackstageSize;
|
|
15919
16595
|
protected readonly actions: _angular_core.Signal<BackstageAction[]>;
|
|
15920
16596
|
constructor();
|
|
16597
|
+
protected date(timestamp: number): string;
|
|
15921
16598
|
protected selectPage(id: BackstagePage): void;
|
|
15922
16599
|
protected run(event: {
|
|
15923
16600
|
emit: () => void;
|
|
15924
16601
|
}): void;
|
|
15925
16602
|
protected create(templateId: string): void;
|
|
15926
16603
|
protected openRecent(key: string): void;
|
|
15927
|
-
|
|
16604
|
+
/**
|
|
16605
|
+
* Card order, wording and dictionary keys come from `pptx-viewer-shared`;
|
|
16606
|
+
* this only maps each card to its glyph and to the output that fires it, so
|
|
16607
|
+
* the backstage cannot be worded differently here than in the other four
|
|
16608
|
+
* bindings.
|
|
16609
|
+
*/
|
|
15928
16610
|
private pageActions;
|
|
15929
16611
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonFileSectionComponent, never>;
|
|
15930
16612
|
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>;
|
|
@@ -15974,25 +16656,79 @@ declare class RibbonFontControlsComponent {
|
|
|
15974
16656
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonFontControlsComponent, "pptx-ribbon-font-controls", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15975
16657
|
}
|
|
15976
16658
|
|
|
16659
|
+
/**
|
|
16660
|
+
* The slide layouts the Home tab's "New Slide" split button can insert from.
|
|
16661
|
+
*
|
|
16662
|
+
* A deck's layouts hang off its masters, one list per master, and a layout's
|
|
16663
|
+
* `name` is optional in OOXML. This flattens both facts away so the ribbon can
|
|
16664
|
+
* render a single menu without knowing about masters: one entry per layout, in
|
|
16665
|
+
* document order, always with something to display.
|
|
16666
|
+
*
|
|
16667
|
+
* Pure on purpose: the picker's behaviour is worth testing without a TestBed.
|
|
16668
|
+
*/
|
|
16669
|
+
|
|
16670
|
+
/** One entry in the New Slide layout menu. */
|
|
16671
|
+
interface RibbonLayoutOption {
|
|
16672
|
+
/** Package path of the layout, written to the new slide's `layoutPath`. */
|
|
16673
|
+
path: string;
|
|
16674
|
+
/** Display name; falls back to the layout's file stem when OOXML omits one. */
|
|
16675
|
+
name: string;
|
|
16676
|
+
}
|
|
16677
|
+
|
|
15977
16678
|
declare class RibbonHomeSectionComponent {
|
|
15978
16679
|
protected readonly editor: EditorStateService;
|
|
16680
|
+
private readonly loader;
|
|
16681
|
+
/** Layouts offered by the New Slide split button (empty for a layout-less deck). */
|
|
16682
|
+
protected readonly layoutOptions: _angular_core.Signal<RibbonLayoutOption[]>;
|
|
15979
16683
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
15980
16684
|
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
16685
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
15981
16686
|
readonly formatPainterActive: _angular_core.InputSignal<boolean>;
|
|
15982
16687
|
readonly canActivateFormatPainter: _angular_core.InputSignal<boolean>;
|
|
15983
16688
|
readonly toggleFormatPainter: _angular_core.OutputEmitterRef<void>;
|
|
15984
16689
|
readonly findReplace: _angular_core.OutputEmitterRef<void>;
|
|
15985
16690
|
readonly applyLayout: _angular_core.OutputEmitterRef<string>;
|
|
15986
16691
|
readonly resetSlide: _angular_core.OutputEmitterRef<void>;
|
|
15987
|
-
protected hasSel(): boolean;
|
|
15988
16692
|
protected copy(): void;
|
|
15989
16693
|
protected cut(): void;
|
|
15990
16694
|
protected paste(): void;
|
|
15991
16695
|
protected onSelectAll(): void;
|
|
15992
16696
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonHomeSectionComponent, never>;
|
|
15993
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonHomeSectionComponent, "pptx-ribbon-home-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "formatPainterActive": { "alias": "formatPainterActive"; "required": false; "isSignal": true; }; "canActivateFormatPainter": { "alias": "canActivateFormatPainter"; "required": false; "isSignal": true; }; }, { "toggleFormatPainter": "toggleFormatPainter"; "findReplace": "findReplace"; "applyLayout": "applyLayout"; "resetSlide": "resetSlide"; }, never, never, true, never>;
|
|
16697
|
+
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>;
|
|
15994
16698
|
}
|
|
15995
16699
|
|
|
16700
|
+
declare class RibbonHyperlinkButtonComponent {
|
|
16701
|
+
protected readonly editor: EditorStateService;
|
|
16702
|
+
/** The host opens the hyperlink edit dialog for the current selection. */
|
|
16703
|
+
readonly openHyperlink: _angular_core.OutputEmitterRef<void>;
|
|
16704
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonHyperlinkButtonComponent, never>;
|
|
16705
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonHyperlinkButtonComponent, "pptx-ribbon-hyperlink-button", never, {}, { "openHyperlink": "openHyperlink"; }, never, never, true, never>;
|
|
16706
|
+
}
|
|
16707
|
+
|
|
16708
|
+
/**
|
|
16709
|
+
* ribbon-insert-file-picker.ts: the browser-file plumbing behind Insert >
|
|
16710
|
+
* Image / Media.
|
|
16711
|
+
*
|
|
16712
|
+
* Extracted from {@link RibbonInsertSectionComponent} because none of it is
|
|
16713
|
+
* view code: it is a file dialog, a FileReader, and an <img> probe, all of
|
|
16714
|
+
* which the component only ever awaits. Keeping them here holds that component
|
|
16715
|
+
* to this repo's 300-LOC budget and makes the three steps testable without
|
|
16716
|
+
* instantiating a ribbon.
|
|
16717
|
+
*
|
|
16718
|
+
* Every helper resolves rather than rejects. An insert the user cancelled and
|
|
16719
|
+
* an insert the browser could not decode are the same non-event to the caller,
|
|
16720
|
+
* and a rejected promise would only be re-swallowed one frame later.
|
|
16721
|
+
*/
|
|
16722
|
+
/** Read a File as a base64 data URL, resolving to '' on failure. */
|
|
16723
|
+
declare function readAsDataUrl(file: File): Promise<string>;
|
|
16724
|
+
/** Resolve an image data URL's natural dimensions (falls back to 400x300). */
|
|
16725
|
+
declare function imageDimensions(dataUrl: string): Promise<{
|
|
16726
|
+
width: number;
|
|
16727
|
+
height: number;
|
|
16728
|
+
}>;
|
|
16729
|
+
/** Open the native file picker for a single file of the given accept type. */
|
|
16730
|
+
declare function pickFile(accept: string, onFile: (file: File) => void): void;
|
|
16731
|
+
|
|
15996
16732
|
declare class RibbonInsertFieldsComponent {
|
|
15997
16733
|
private readonly editor;
|
|
15998
16734
|
private readonly translate;
|
|
@@ -16024,13 +16760,21 @@ declare class RibbonInsertSectionComponent {
|
|
|
16024
16760
|
private readonly translate;
|
|
16025
16761
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
16026
16762
|
readonly newChartType: _angular_core.InputSignal<PptxChartType>;
|
|
16763
|
+
readonly newShapeType: _angular_core.InputSignal<ShapePresetType>;
|
|
16027
16764
|
readonly openSmartArtDialog: _angular_core.OutputEmitterRef<void>;
|
|
16028
16765
|
readonly openEquationDialog: _angular_core.OutputEmitterRef<void>;
|
|
16766
|
+
/** "Hyperlink"; the host opens the hyperlink edit dialog for the selection. */
|
|
16767
|
+
readonly openHyperlink: _angular_core.OutputEmitterRef<void>;
|
|
16029
16768
|
readonly chartTypeChange: _angular_core.OutputEmitterRef<PptxChartType>;
|
|
16769
|
+
readonly shapeTypeChange: _angular_core.OutputEmitterRef<ShapePresetType>;
|
|
16030
16770
|
/** Chart types offered in the Insert tab dropdown (shared source of truth). */
|
|
16031
16771
|
protected readonly chartTypes: readonly InsertChartTypeOption[];
|
|
16772
|
+
/** Geometries offered by the Insert tab's shape picker (shared catalogue). */
|
|
16773
|
+
protected readonly shapePresets: readonly ShapePresetDef[];
|
|
16032
16774
|
protected insertText(): void;
|
|
16033
|
-
protected
|
|
16775
|
+
protected setShapeType(event: Event): void;
|
|
16776
|
+
/** Insert the geometry currently chosen in the shape-type dropdown. */
|
|
16777
|
+
protected insertShape(): void;
|
|
16034
16778
|
protected insertTable(): void;
|
|
16035
16779
|
protected setChartType(event: Event): void;
|
|
16036
16780
|
protected insertChart(): void;
|
|
@@ -16040,10 +16784,8 @@ declare class RibbonInsertSectionComponent {
|
|
|
16040
16784
|
protected insertMedia(): void;
|
|
16041
16785
|
private addImageFile;
|
|
16042
16786
|
private addMediaFile;
|
|
16043
|
-
/** Open the native file picker for a single file of the given accept type. */
|
|
16044
|
-
private pickFile;
|
|
16045
16787
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonInsertSectionComponent, never>;
|
|
16046
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonInsertSectionComponent, "pptx-ribbon-insert-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "newChartType": { "alias": "newChartType"; "required": false; "isSignal": true; }; }, { "openSmartArtDialog": "openSmartArtDialog"; "openEquationDialog": "openEquationDialog"; "chartTypeChange": "chartTypeChange"; }, never, never, true, never>;
|
|
16788
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonInsertSectionComponent, "pptx-ribbon-insert-section", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "newChartType": { "alias": "newChartType"; "required": false; "isSignal": true; }; "newShapeType": { "alias": "newShapeType"; "required": false; "isSignal": true; }; }, { "openSmartArtDialog": "openSmartArtDialog"; "openEquationDialog": "openEquationDialog"; "openHyperlink": "openHyperlink"; "chartTypeChange": "chartTypeChange"; "shapeTypeChange": "shapeTypeChange"; }, never, never, true, never>;
|
|
16047
16789
|
}
|
|
16048
16790
|
|
|
16049
16791
|
declare class RibbonParagraphControlsComponent {
|
|
@@ -16152,6 +16894,30 @@ declare class RibbonReviewSectionComponent {
|
|
|
16152
16894
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonReviewSectionComponent, "pptx-ribbon-review-section", never, { "spellCheckEnabled": { "alias": "spellCheckEnabled"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, { "comments": "comments"; "spellCheckChange": "spellCheckChange"; "a11y": "a11y"; "openCompare": "openCompare"; "language": "language"; "link": "link"; }, never, never, true, never>;
|
|
16153
16895
|
}
|
|
16154
16896
|
|
|
16897
|
+
/** Grouping needs an editable deck and at least two selected elements. */
|
|
16898
|
+
declare function canGroupSelection(canEdit: boolean, selectedCount: number): boolean;
|
|
16899
|
+
/** Ungrouping needs an editable deck and a selection that IS a group. */
|
|
16900
|
+
declare function canUngroupSelection(canEdit: boolean, element: PptxElement | null): boolean;
|
|
16901
|
+
/** An outline width only exists on an element that carries shape properties. */
|
|
16902
|
+
declare function canSetStrokeWidth(canEdit: boolean, element: PptxElement | null): boolean;
|
|
16903
|
+
/** The stroke width to show for a selection, defaulted for a shape without one. */
|
|
16904
|
+
declare function strokeWidthOf(element: PptxElement | null): number;
|
|
16905
|
+
declare class RibbonShapeExtrasComponent {
|
|
16906
|
+
protected readonly editor: EditorStateService;
|
|
16907
|
+
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
16908
|
+
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
16909
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
16910
|
+
/** Grouping needs two elements; the multi-select is the source of truth. */
|
|
16911
|
+
protected readonly canGroup: _angular_core.Signal<boolean>;
|
|
16912
|
+
protected readonly canUngroup: _angular_core.Signal<boolean>;
|
|
16913
|
+
protected readonly canSetStroke: _angular_core.Signal<boolean>;
|
|
16914
|
+
protected readonly strokeWidth: _angular_core.Signal<number>;
|
|
16915
|
+
/** Write the typed outline width through the history-integrated patch path. */
|
|
16916
|
+
protected onStrokeWidth(event: Event): void;
|
|
16917
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonShapeExtrasComponent, never>;
|
|
16918
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonShapeExtrasComponent, "pptx-ribbon-shape-extras", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16919
|
+
}
|
|
16920
|
+
|
|
16155
16921
|
declare class RibbonSlideshowSectionComponent {
|
|
16156
16922
|
readonly slideCount: _angular_core.InputSignal<number>;
|
|
16157
16923
|
readonly showSubtitles: _angular_core.InputSignal<boolean>;
|
|
@@ -16161,6 +16927,7 @@ declare class RibbonSlideshowSectionComponent {
|
|
|
16161
16927
|
readonly presentFromCurrent: _angular_core.OutputEmitterRef<void>;
|
|
16162
16928
|
readonly presenter: _angular_core.OutputEmitterRef<void>;
|
|
16163
16929
|
readonly broadcast: _angular_core.OutputEmitterRef<void>;
|
|
16930
|
+
/** "Custom show"; the host opens the custom-show manager dialog. */
|
|
16164
16931
|
readonly openCustomShows: _angular_core.OutputEmitterRef<void>;
|
|
16165
16932
|
readonly openSetUpSlideShow: _angular_core.OutputEmitterRef<void>;
|
|
16166
16933
|
readonly rehearseTimings: _angular_core.OutputEmitterRef<void>;
|
|
@@ -16216,12 +16983,10 @@ declare class RibbonViewSectionComponent {
|
|
|
16216
16983
|
readonly showRulers: _angular_core.InputSignal<boolean>;
|
|
16217
16984
|
readonly showGuides: _angular_core.InputSignal<boolean>;
|
|
16218
16985
|
readonly snapToGrid: _angular_core.InputSignal<boolean>;
|
|
16986
|
+
/** Whether dragging snaps to other shapes' edges (active-state styling). */
|
|
16219
16987
|
readonly snapToShape: _angular_core.InputSignal<boolean>;
|
|
16220
16988
|
readonly eyedropperActive: _angular_core.InputSignal<boolean>;
|
|
16221
16989
|
readonly openSorter: _angular_core.OutputEmitterRef<void>;
|
|
16222
|
-
readonly toggleNotes: _angular_core.OutputEmitterRef<void>;
|
|
16223
|
-
readonly print: _angular_core.OutputEmitterRef<void>;
|
|
16224
|
-
readonly openShortcuts: _angular_core.OutputEmitterRef<void>;
|
|
16225
16990
|
readonly openMasterView: _angular_core.OutputEmitterRef<void>;
|
|
16226
16991
|
readonly toggleGrid: _angular_core.OutputEmitterRef<void>;
|
|
16227
16992
|
readonly toggleRulers: _angular_core.OutputEmitterRef<void>;
|
|
@@ -16233,7 +16998,7 @@ declare class RibbonViewSectionComponent {
|
|
|
16233
16998
|
readonly zoomToFit: _angular_core.OutputEmitterRef<void>;
|
|
16234
16999
|
readonly toggleEyedropper: _angular_core.OutputEmitterRef<void>;
|
|
16235
17000
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonViewSectionComponent, never>;
|
|
16236
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonViewSectionComponent, "pptx-ribbon-view-section", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; }, { "openSorter": "openSorter"; "
|
|
17001
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonViewSectionComponent, "pptx-ribbon-view-section", never, { "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showRulers": { "alias": "showRulers"; "required": false; "isSignal": true; }; "showGuides": { "alias": "showGuides"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapToShape": { "alias": "snapToShape"; "required": false; "isSignal": true; }; "eyedropperActive": { "alias": "eyedropperActive"; "required": false; "isSignal": true; }; }, { "openSorter": "openSorter"; "openMasterView": "openMasterView"; "toggleGrid": "toggleGrid"; "toggleRulers": "toggleRulers"; "toggleGuides": "toggleGuides"; "toggleSelectionPane": "toggleSelectionPane"; "toggleSnapToGrid": "toggleSnapToGrid"; "toggleSnapToShape": "toggleSnapToShape"; "addGuide": "addGuide"; "zoomToFit": "zoomToFit"; "toggleEyedropper": "toggleEyedropper"; }, never, never, true, never>;
|
|
16237
17002
|
}
|
|
16238
17003
|
|
|
16239
17004
|
/**
|
|
@@ -16404,6 +17169,30 @@ interface SwipeDismissDrag {
|
|
|
16404
17169
|
*/
|
|
16405
17170
|
declare function createSwipeDismissDrag(onDismiss: () => void): SwipeDismissDrag;
|
|
16406
17171
|
|
|
17172
|
+
/**
|
|
17173
|
+
* ruler-strips.ts: the visibility gate for the slide canvas's ruler strips.
|
|
17174
|
+
*
|
|
17175
|
+
* Deliberately holds NO tick or guide-drop maths: it forwards to the shared
|
|
17176
|
+
* `generateTicks` (the single source of truth every binding renders from), and
|
|
17177
|
+
* exists only because Angular components cannot be mounted in this package's
|
|
17178
|
+
* unit tests, so the "rulers off -> no ticks / rulers on -> shared ticks" rule
|
|
17179
|
+
* needs a seam that is testable without a TestBed. It replaces the deleted
|
|
17180
|
+
* `ruler-ticks.ts`, which generated its OWN quarter-inch, inches-only ticks and
|
|
17181
|
+
* so disagreed with React, Vue, Svelte and Vanilla at every zoom level.
|
|
17182
|
+
*/
|
|
17183
|
+
|
|
17184
|
+
/** Ticks for one ruler strip, or nothing at all while the strip is hidden. */
|
|
17185
|
+
declare function rulerStripTicks(visible: boolean, slideLengthPx: number, scale: number, unit: RulerUnit): ReadonlyArray<Tick>;
|
|
17186
|
+
/**
|
|
17187
|
+
* Selected-element extent projected onto a strip, in scaled px, or null when
|
|
17188
|
+
* nothing (or more than one thing) is selected. PowerPoint shades this span on
|
|
17189
|
+
* both rulers; React and Svelte do the same.
|
|
17190
|
+
*/
|
|
17191
|
+
declare function rulerHighlight(start: number | undefined, span: number | undefined, scale: number): {
|
|
17192
|
+
start: number;
|
|
17193
|
+
span: number;
|
|
17194
|
+
} | null;
|
|
17195
|
+
|
|
16407
17196
|
/**
|
|
16408
17197
|
* collaboration-writeback.ts: elected-writer serialization helper for the
|
|
16409
17198
|
* Angular collaboration service.
|
|
@@ -16855,11 +17644,11 @@ declare class TitleBarComponent {
|
|
|
16855
17644
|
/** Resolved Quick Access options (host-supplied, or the default trio+). */
|
|
16856
17645
|
protected readonly qat: _angular_core.Signal<ViewerQuickAccessOptions>;
|
|
16857
17646
|
/**
|
|
16858
|
-
*
|
|
16859
|
-
* buttons
|
|
16860
|
-
* buttons
|
|
17647
|
+
* The Quick Access options narrowed to the commands beyond the dedicated
|
|
17648
|
+
* save/undo/redo buttons. Reusing {@link QuickAccessStripComponent} for the
|
|
17649
|
+
* remainder means those buttons carry real icons rather than a letter glyph.
|
|
16861
17650
|
*/
|
|
16862
|
-
protected readonly
|
|
17651
|
+
protected readonly extraQat: _angular_core.Signal<ViewerQuickAccessOptions>;
|
|
16863
17652
|
/**
|
|
16864
17653
|
* Route a Quick Access press: keep the dedicated save/undo/redo outputs
|
|
16865
17654
|
* (existing host wiring, `hiddenActions` gating) and forward everything
|
|
@@ -16986,5 +17775,5 @@ declare const SEQUENCE_OPTIONS: ReadonlyArray<{
|
|
|
16986
17775
|
labelKey: string;
|
|
16987
17776
|
}>;
|
|
16988
17777
|
|
|
16989
|
-
export { ALIGN_OPTIONS, 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, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, 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, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, POWER_POINT_VIEWER_PROVIDERS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, aiToggleVisible, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, 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, canRemoveTopLevelNode, canStartBroadcast, canStartShare, 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, computeTimerProgress, 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, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, 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, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, 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, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveSlideAutoAdvanceMs, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, 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, 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, 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 };
|
|
16990
|
-
export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, AiCanvasHighlight, AiChatInitState, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, 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, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, 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,
|
|
17778
|
+
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, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, 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, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, POWER_POINT_VIEWER_PROVIDERS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, 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, 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, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, 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, computeTimerProgress, 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, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, 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, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, 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, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, 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, 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 };
|
|
17779
|
+
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, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, 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, TimerProgress, ToolbarActionId, TouchGestureCallbacks, TranslationKey, UngroupResult, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ZoomViewModel };
|