pptx-angular-viewer 3.18.0 → 3.19.1
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 +107 -0
- package/README.md +35 -0
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-BaGfTtS5.mjs → pptx-angular-viewer-chat-history-idb-BKazjZCl.mjs} +2 -2
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-BaGfTtS5.mjs.map → pptx-angular-viewer-chat-history-idb-BKazjZCl.mjs.map} +1 -1
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-B3FNZYVL.mjs → pptx-angular-viewer-pptx-angular-viewer-D2wmF5iB.mjs} +8610 -5797
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-B3FNZYVL.mjs.map → pptx-angular-viewer-pptx-angular-viewer-D2wmF5iB.mjs.map} +1 -1
- package/fesm2022/pptx-angular-viewer.mjs +1 -1
- package/i18n/de.cjs +3765 -0
- package/i18n/de.d.cts +3 -0
- package/i18n/de.d.mts +3 -0
- package/i18n/de.mjs +3738 -0
- package/i18n/es.cjs +3765 -0
- package/i18n/es.d.cts +3 -0
- package/i18n/es.d.mts +3 -0
- package/i18n/es.mjs +3738 -0
- package/i18n/fr.cjs +3765 -0
- package/i18n/fr.d.cts +3 -0
- package/i18n/fr.d.mts +3 -0
- package/i18n/fr.mjs +3738 -0
- package/i18n/zh-CN.cjs +3803 -0
- package/i18n/zh-CN.d.cts +3 -0
- package/i18n/zh-CN.d.mts +3 -0
- package/i18n/zh-CN.mjs +3776 -0
- package/package.json +43 -3
- package/pptx-angular-viewer.css +1 -1
- package/types/pptx-angular-viewer.d.ts +847 -101
- package/types/pptx-angular-viewer.d.ts.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pptx_viewer_core from 'pptx-viewer-core';
|
|
2
|
-
import { PptxThemePreset,
|
|
2
|
+
import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, SmartArtLayoutType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, SmartArtStyle, PptxSmartArtData, PptxThemeColorRef, PlaceholderDefaults, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartBarDirection, ImagePptxElement, MasterViewTab, MediaPptxElement, PptxTheme, PptxHandler, PptxData, PptxHandlerSaveOptions, PptxModernCommentAuthor, PptxCommentMention, PptxHeaderFooter, PptxCustomShow, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxPresentationProperties, PptxViewProperties, PptxCoreProperties, PptxAppProperties, PptxThemeOption, PptxCustomProperty, PptxTagCollection, ParsedSignature, PptxSaveFormat, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, PptxGridSpacing, RenderedNode, RenderedCircleNode, RenderedPolygonNode, RenderedRectNode, SmartArtLayoutResult, Model3DPptxElement, ZoomPptxElement, ChartPptxElement, SmartArtPptxElement, PptxAnimationTimelineAnchor, MaterialPresetType, Text3DStyle, BevelPresetType, PptxBar3DShape, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, PptxTextStyleLevels, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, PptxChartMarkerSymbol, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, PptxLayoutPreview, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
|
|
3
3
|
export { GroupResult, SWITCHABLE_LAYOUT_TYPES, UngroupResult, addSmartArtNode, addSmartArtNodeAsChild, chartDataChangeType, chartDataUpdatePoint, demoteSmartArtNode, formatAutoNumberMarker as formatAutoNumber, groupElements, promoteSmartArtNode, removeSmartArtNode, reorderSmartArtNode, switchSmartArtLayout, ungroupElements, updateSmartArtNodeText } from 'pptx-viewer-core';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
5
|
import { Signal, WritableSignal, OnDestroy, OnInit, AfterViewInit, OnChanges, SimpleChanges, InjectionToken, Provider } from '@angular/core';
|
|
@@ -177,13 +177,16 @@ declare function resolveThemeCatalogEntry(key: string | undefined, catalog?: rea
|
|
|
177
177
|
*/
|
|
178
178
|
declare const GALLERY_THEME_PRESETS: readonly PptxThemePreset[];
|
|
179
179
|
|
|
180
|
-
/**
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
180
|
+
/** A shallow property patch for a top-level element on an ordinary slide. */
|
|
181
|
+
interface ElementUpdate {
|
|
182
|
+
slideId: string;
|
|
183
|
+
elementId: string;
|
|
184
|
+
patch: Partial<PptxElement>;
|
|
185
|
+
}
|
|
186
|
+
interface ElementUpdateOptions {
|
|
187
|
+
/** Optional description for the undo entry. */
|
|
188
|
+
label?: string;
|
|
189
|
+
}
|
|
187
190
|
|
|
188
191
|
/** Canvas dimensions in pixels. */
|
|
189
192
|
interface CanvasSize {
|
|
@@ -280,6 +283,8 @@ interface PowerPointViewerAPI {
|
|
|
280
283
|
* Accepts a `Partial<PptxElement>` patch (e.g. `{ x: 100, width: 300 }`).
|
|
281
284
|
*/
|
|
282
285
|
updateElement: (elementId: string, updates: Partial<PptxElement>) => void;
|
|
286
|
+
/** Atomically patch ordinary slide elements as one independent undo step. Rejects invalid batches. */
|
|
287
|
+
updateElements: (updates: readonly ElementUpdate[], options?: ElementUpdateOptions) => Promise<void>;
|
|
283
288
|
/** Delete elements by their IDs from the active slide. */
|
|
284
289
|
deleteElements: (elementIds: string[]) => void;
|
|
285
290
|
/**
|
|
@@ -540,6 +545,59 @@ declare function buildPatternFillCss(style: ShapeStyle | undefined): {
|
|
|
540
545
|
/** A neutral CSS map (framework `CSSProperties` are structurally compatible). */
|
|
541
546
|
type CssStyleMap = Record<string, string | number>;
|
|
542
547
|
|
|
548
|
+
/**
|
|
549
|
+
* Per-run inline-style builder for rendered text runs (framework-agnostic).
|
|
550
|
+
*
|
|
551
|
+
* Maps a `TextSegment`'s `TextStyle` onto a neutral CSS record that every
|
|
552
|
+
* binding applies to its own run span. React included: its `text-segment-render`
|
|
553
|
+
* now starts from this record and re-resolves only the handful of properties it
|
|
554
|
+
* derives more precisely (colour/size/family fallbacks, PANOSE substitution,
|
|
555
|
+
* the `@baseline` percentage, the `@kern` threshold, per-run BiDi), each of
|
|
556
|
+
* which is documented there as a gap in this module rather than a preference.
|
|
557
|
+
* Split out of `text-paragraphs` to keep each module focused and small; this
|
|
558
|
+
* module itself later split its letter-spacing/split helpers into
|
|
559
|
+
* `text-run-spacing.ts`, its hollow-text fill decision into
|
|
560
|
+
* `text-run-hollow.ts`, and its nested-decoration / underline-variant helpers
|
|
561
|
+
* into `text-run-decoration.ts`, for the same reason.
|
|
562
|
+
*/
|
|
563
|
+
|
|
564
|
+
/** A plain CSS style map (keys are CSS properties; binding-agnostic). */
|
|
565
|
+
type RunStyle = Record<string, string | number>;
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* Per-script (`a:ea` / `a:cs` / `a:sym`) font fallback for one run, as a pure
|
|
569
|
+
* decision function every binding maps onto its own nested-span markup.
|
|
570
|
+
*
|
|
571
|
+
* OOXML authors up to four typefaces per run (`a:latin`, `a:ea`, `a:cs`,
|
|
572
|
+
* `a:sym`), and PowerPoint paints each Unicode script category in ITS OWN
|
|
573
|
+
* font, not the run's `a:latin` face. This was React-only
|
|
574
|
+
* (`renderScriptAwareText` in `text-segment-render.tsx`): the other four
|
|
575
|
+
* bindings applied only `a:latin` to the whole run, so CJK, Arabic, Hebrew and
|
|
576
|
+
* Thai text rendered in the wrong typeface (or the browser's serif default)
|
|
577
|
+
* in Vue, Angular, Svelte and Vanilla.
|
|
578
|
+
*
|
|
579
|
+
* `resolveScriptFontSet` resolves the four faces (PANOSE-substituted, with the
|
|
580
|
+
* run falling back to the text body's own declaration); `splitRunByScriptFont`
|
|
581
|
+
* segments a run's text by script and returns, per piece, the CSS a binding
|
|
582
|
+
* spreads onto a nested span. A binding does nothing but map that descriptor:
|
|
583
|
+
* render `text` plain when a piece carries no `style` override, or a nested
|
|
584
|
+
* span with `style` when it does.
|
|
585
|
+
*/
|
|
586
|
+
|
|
587
|
+
/** One script-tagged piece of a run's text, ready for a binding's nested span. */
|
|
588
|
+
interface ScriptFontPiece {
|
|
589
|
+
text: string;
|
|
590
|
+
/**
|
|
591
|
+
* CSS for a nested span wrapping `text`, or `undefined` when this piece
|
|
592
|
+
* needs no span at all (its script's font equals the run's own, so plain
|
|
593
|
+
* text renders identically). When present it carries the `fontFamily`
|
|
594
|
+
* override plus the run's own decoration subset, repeated because
|
|
595
|
+
* `text-decoration-*` does not inherit into a nested span (see
|
|
596
|
+
* `nestedTextDecorationStyle`).
|
|
597
|
+
*/
|
|
598
|
+
style?: RunStyle;
|
|
599
|
+
}
|
|
600
|
+
|
|
543
601
|
/**
|
|
544
602
|
* `a:reflection` compositing: a real, cross-browser mirrored copy of an
|
|
545
603
|
* element rather than `-webkit-box-reflect`.
|
|
@@ -2899,6 +2957,25 @@ declare function computeDistribute(boxes: readonly AlignBox[], mode: DistributeM
|
|
|
2899
2957
|
/** The eight resize handles, named by compass direction. */
|
|
2900
2958
|
type ResizeHandleId = 'nw' | 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w';
|
|
2901
2959
|
|
|
2960
|
+
type HitAreaStyle = Partial<Record<'top' | 'right' | 'bottom' | 'left', string>> & {
|
|
2961
|
+
position: 'absolute';
|
|
2962
|
+
pointerEvents: 'auto';
|
|
2963
|
+
inset: string;
|
|
2964
|
+
};
|
|
2965
|
+
/**
|
|
2966
|
+
* Bound an invisible resize target halfway toward its neighboring anchors.
|
|
2967
|
+
* The visible, focusable button stays pointer-events:none; this child owns
|
|
2968
|
+
* presses and bubbles them to its existing button handlers. Outward padding
|
|
2969
|
+
* stays intact, and targets only share space when their usual areas overlap.
|
|
2970
|
+
*
|
|
2971
|
+
* Inherit selection width/height in the button's coordinate space. React's
|
|
2972
|
+
* inverse-scaled buttons also inherit --pptx-handle-inverse-scale; other
|
|
2973
|
+
* bindings leave it at 1. The default -1px inset includes a button's border;
|
|
2974
|
+
* an expanded target can override --pptx-handle-hit-inset without changing
|
|
2975
|
+
* the partition. CSS keeps these bounds live during zoom and resize previews.
|
|
2976
|
+
*/
|
|
2977
|
+
declare function getResizeHandleHitAreaStyle(handle: ResizeHandleId): HitAreaStyle;
|
|
2978
|
+
|
|
2902
2979
|
/** The `cx`/`cy` shape of `PptxGridSpacing`. Only `cx` (horizontal spacing) is
|
|
2903
2980
|
* used: PowerPoint's grid is square, and every binding's snap step is a
|
|
2904
2981
|
* single number applied to both axes. */
|
|
@@ -3512,6 +3589,375 @@ declare function bulletIndentPx(level: number | undefined): number;
|
|
|
3512
3589
|
type ParagraphBulletKind = 'bullet' | 'numbered' | 'none';
|
|
3513
3590
|
/** The list state of several paragraphs: `'mixed'` when they disagree. */
|
|
3514
3591
|
type ElementBulletKind = ParagraphBulletKind | 'mixed';
|
|
3592
|
+
/** Only text properties change; unsupported elements return an empty patch. */
|
|
3593
|
+
interface ElementBulletPatch {
|
|
3594
|
+
textSegments?: TextSegment[];
|
|
3595
|
+
textStyle?: TextStyle;
|
|
3596
|
+
}
|
|
3597
|
+
|
|
3598
|
+
/**
|
|
3599
|
+
* Per-run facts a rendered paragraph carries besides its text and CSS: the
|
|
3600
|
+
* run's HYPERLINK and its inline EQUATION (framework-agnostic).
|
|
3601
|
+
*
|
|
3602
|
+
* Both are authored on the run (`a:r > a:rPr > a:hlinkClick` /
|
|
3603
|
+
* `a:hlinkMouseOver`, and an `m:oMath` sibling that core stamps onto its own
|
|
3604
|
+
* segment), and both need a different ELEMENT around the run - an `<a>` and a
|
|
3605
|
+
* MathML host - rather than a different style, which is why they are modelled
|
|
3606
|
+
* separately from {@link RunStyle} instead of being folded into it.
|
|
3607
|
+
*
|
|
3608
|
+
* Before this existed, `buildParagraphs` returned `{ text, style }` only, so a
|
|
3609
|
+
* hyperlinked run rendered as plain text in Vue, Svelte and Vanilla (the link
|
|
3610
|
+
* was silently dropped) and Angular compensated with a text-prefix walk that
|
|
3611
|
+
* re-attached the metadata to shared's runs by matching their characters. This
|
|
3612
|
+
* module is that walk's replacement: resolve once, in the builder, for all five.
|
|
3613
|
+
*/
|
|
3614
|
+
|
|
3615
|
+
/** A run's resolved hyperlink target. */
|
|
3616
|
+
interface RunHyperlink {
|
|
3617
|
+
/**
|
|
3618
|
+
* The URL to hand a click handler. For an internal `ppaction://hlinksldjump`
|
|
3619
|
+
* the resolved slide index is appended as a `slideIndex` query parameter, so
|
|
3620
|
+
* the target survives a callback whose only argument is the URL (see
|
|
3621
|
+
* `parsePpactionUrl`, which reads it back off).
|
|
3622
|
+
*/
|
|
3623
|
+
url: string;
|
|
3624
|
+
/**
|
|
3625
|
+
* A safe, renderable `href` for a plain `<a>`, or `undefined` when the target
|
|
3626
|
+
* is an internal `ppaction://` action or fails the URL safety check. A
|
|
3627
|
+
* binding with no click handler renders the run as text in that case, which
|
|
3628
|
+
* is what every binding did for every link before this field existed.
|
|
3629
|
+
*/
|
|
3630
|
+
href?: string;
|
|
3631
|
+
/** `a:hlinkClick/@tooltip`, for the anchor's `title`. */
|
|
3632
|
+
tooltip?: string;
|
|
3633
|
+
/**
|
|
3634
|
+
* `<a target>` for a real (non-`ppaction://`) hyperlink, from
|
|
3635
|
+
* `a:hlinkClick/@tgtFrame` when authored, else `_blank` (every binding's
|
|
3636
|
+
* pre-existing hardcoded default). Only meaningful alongside {@link href}.
|
|
3637
|
+
*/
|
|
3638
|
+
target?: string;
|
|
3639
|
+
/** `<a rel>` paired with {@link target} (see `resolveHyperlinkTargetAttrs`). */
|
|
3640
|
+
rel?: string;
|
|
3641
|
+
/** Resolved target slide for an internal slide jump. */
|
|
3642
|
+
targetSlideIndex?: number;
|
|
3643
|
+
/**
|
|
3644
|
+
* True when the target came from `a:hlinkMouseOver` rather than
|
|
3645
|
+
* `a:hlinkClick`: PowerPoint follows it on hover, not on click, so a binding
|
|
3646
|
+
* that renders a plain anchor should not make it look clickable.
|
|
3647
|
+
*/
|
|
3648
|
+
onHover?: boolean;
|
|
3649
|
+
}
|
|
3650
|
+
/** An inline equation run (`m:oMath`), rendered as MathML rather than text. */
|
|
3651
|
+
interface RunEquation {
|
|
3652
|
+
/** The raw OMML node, for `convertOmmlToMathMl`. */
|
|
3653
|
+
xml: Record<string, unknown>;
|
|
3654
|
+
/** Display number for a numbered equation, without its parentheses. */
|
|
3655
|
+
number?: string;
|
|
3656
|
+
}
|
|
3657
|
+
|
|
3658
|
+
/**
|
|
3659
|
+
* `text-run-ruby`: the phonetic guide (`a:ruby`, furigana / pinyin) as a
|
|
3660
|
+
* framework-neutral run field.
|
|
3661
|
+
*
|
|
3662
|
+
* Core has always parsed a ruby run in full (`rubyText`, `rubyAlignment`,
|
|
3663
|
+
* `rubyFontSize`, `rubyStyle`) and has always saved it back, but the annotation
|
|
3664
|
+
* was RENDERED in React alone: `buildParagraphs` never read `seg.rubyText`, so
|
|
3665
|
+
* the guide simply vanished in Vue, Angular, Svelte and Vanilla (the base text
|
|
3666
|
+
* still painted, which is why nothing looked broken).
|
|
3667
|
+
*
|
|
3668
|
+
* This module resolves the annotation into a `{ text, style }` descriptor that
|
|
3669
|
+
* rides the run, so each binding renders the same `<ruby>` / `<rt>` markup from
|
|
3670
|
+
* the same decision.
|
|
3671
|
+
*
|
|
3672
|
+
* @module render/text-run-ruby
|
|
3673
|
+
*/
|
|
3674
|
+
|
|
3675
|
+
/** A run's phonetic guide, ready to render as `<rt>` above the base text. */
|
|
3676
|
+
interface RunRuby {
|
|
3677
|
+
/** The annotation itself (`a:ruby/a:rt`), e.g. the furigana reading. */
|
|
3678
|
+
text: string;
|
|
3679
|
+
/** Inline style for the `<rt>` element (size, family, alignment, colour). */
|
|
3680
|
+
style: RunStyle;
|
|
3681
|
+
}
|
|
3682
|
+
|
|
3683
|
+
/**
|
|
3684
|
+
* CSS-ready tab layout for one run's text, built on the pure positioning maths
|
|
3685
|
+
* in `text-tab-layout.ts`.
|
|
3686
|
+
*
|
|
3687
|
+
* `buildRunTabLines` is the "pure decision function" every binding maps
|
|
3688
|
+
* mechanically onto its own template: it splits a run's text on `\n`, lays out
|
|
3689
|
+
* each line's `\t`-separated pieces against the paragraph's tab stops, and
|
|
3690
|
+
* returns, per piece, CSS a binding spreads verbatim onto a nested span (plus
|
|
3691
|
+
* a ready-filled leader string for the gap before it). A binding renders
|
|
3692
|
+
* nothing but `pieces.map(...)`; the alignment/leader decision itself never
|
|
3693
|
+
* has to be reimplemented per framework.
|
|
3694
|
+
*/
|
|
3695
|
+
|
|
3696
|
+
/** One tabbed-line piece, ready to spread onto a binding's own span element. */
|
|
3697
|
+
interface TabbedRunPiece {
|
|
3698
|
+
text: string;
|
|
3699
|
+
/**
|
|
3700
|
+
* CSS for the span that wraps `text`: inline-block layout, this run's own
|
|
3701
|
+
* decoration repeated, and this piece's own PowerPoint advance-width
|
|
3702
|
+
* correction as `letter-spacing` (see `buildTabbedLine`). The piece is
|
|
3703
|
+
* nested inside the run's own span, and neither property inherits the way a
|
|
3704
|
+
* caller would want: `text-decoration-*` does not inherit into a nested
|
|
3705
|
+
* element at all (an ancestor's underline is drawn *through* its
|
|
3706
|
+
* descendants, but each descendant still computes `none` of its own), so a
|
|
3707
|
+
* caller passes the run's decoration subset (`nestedTextDecorationStyle`) to
|
|
3708
|
+
* have it repeated here; `letter-spacing` DOES inherit, which is exactly why
|
|
3709
|
+
* this piece sets it explicitly rather than only when non-zero - the run's
|
|
3710
|
+
* container span carries its own (wrong, whole-text) correction that would
|
|
3711
|
+
* otherwise leak in.
|
|
3712
|
+
*/
|
|
3713
|
+
style: RunStyle;
|
|
3714
|
+
/** CSS for the leader-fill span preceding this piece, or `undefined` when there is no gap to fill. */
|
|
3715
|
+
leaderStyle?: RunStyle;
|
|
3716
|
+
/** Leader glyphs sized to fill `leaderStyle`'s width. Present only alongside `leaderStyle`. */
|
|
3717
|
+
leaderText?: string;
|
|
3718
|
+
/**
|
|
3719
|
+
* `a:rPr/@u="words"` per-word/gap sub-pieces of THIS tab piece's own text
|
|
3720
|
+
* (see `splitWordsForUnderline`), present only when the run's underline is
|
|
3721
|
+
* `words`. A tab-separated piece is otherwise rendered as a single span
|
|
3722
|
+
* (`text` + `style`), which underlines it continuously - correct for a
|
|
3723
|
+
* one-word piece, but wrong for a piece like `"Hello World"` between two tab
|
|
3724
|
+
* stops, which needs a gap under the space. A binding renders one SIBLING
|
|
3725
|
+
* span per entry IN PLACE OF the piece's single `text` span: each entry's
|
|
3726
|
+
* `style` is the piece's own `style` (the same inline-block layout and
|
|
3727
|
+
* advance-width correction, so the line measures exactly as before), with
|
|
3728
|
+
* the underline stripped on a gap entry. They must be siblings, not spans
|
|
3729
|
+
* nested inside the piece span: an ancestor's underline is drawn through
|
|
3730
|
+
* every inline descendant, so a nested gap could not lose it. `text`/`style`
|
|
3731
|
+
* stay the continuous-underline fallback for a binding that does not
|
|
3732
|
+
* render this field.
|
|
3733
|
+
*/
|
|
3734
|
+
words?: Array<{
|
|
3735
|
+
text: string;
|
|
3736
|
+
style: RunStyle;
|
|
3737
|
+
}>;
|
|
3738
|
+
}
|
|
3739
|
+
/** One `\n`-split line of a run's tabbed text. */
|
|
3740
|
+
interface TabbedLineRun {
|
|
3741
|
+
pieces: TabbedRunPiece[];
|
|
3742
|
+
}
|
|
3743
|
+
|
|
3744
|
+
/**
|
|
3745
|
+
* The two descriptor types `buildParagraphs` (in `text-paragraphs.ts`) returns:
|
|
3746
|
+
* a single rendered run (`ParagraphRun`) and a rendered paragraph of them
|
|
3747
|
+
* (`RenderParagraph`). Every one of the five bindings imports these two types
|
|
3748
|
+
* from the package barrel to type its own run/paragraph components, so they
|
|
3749
|
+
* live in their own module rather than inside the (much longer) builder that
|
|
3750
|
+
* produces them - keeping `text-paragraphs.ts` itself under the repo's
|
|
3751
|
+
* ~300 LOC guideline without hiding the split behind a re-export shim: the
|
|
3752
|
+
* barrel (`render/index.ts`) exports this module directly, so no importer
|
|
3753
|
+
* (inside `pptx-viewer-shared` or across the five bindings) has to change its
|
|
3754
|
+
* import path, since every one of them already goes through the package root
|
|
3755
|
+
* (`pptx-viewer-shared`), never a deep `.../text-paragraphs` path.
|
|
3756
|
+
*/
|
|
3757
|
+
|
|
3758
|
+
/** A single rendered run within a paragraph. */
|
|
3759
|
+
interface ParagraphRun {
|
|
3760
|
+
text: string;
|
|
3761
|
+
style: RunStyle;
|
|
3762
|
+
/**
|
|
3763
|
+
* The run's hyperlink (`a:hlinkClick` / `a:hlinkMouseOver`), when it has one.
|
|
3764
|
+
* A binding renders the run inside an `<a href>` when {@link RunHyperlink.href}
|
|
3765
|
+
* is set, and routes {@link RunHyperlink.url} to its click handler otherwise
|
|
3766
|
+
* (internal `ppaction://` slide jumps).
|
|
3767
|
+
*/
|
|
3768
|
+
hyperlink?: RunHyperlink;
|
|
3769
|
+
/**
|
|
3770
|
+
* An inline equation (`m:oMath`) this run renders INSTEAD of `text`, which is
|
|
3771
|
+
* empty for it. Emitted in the run sequence so the maths lands at its
|
|
3772
|
+
* authored position between the runs around it.
|
|
3773
|
+
*/
|
|
3774
|
+
equation?: RunEquation;
|
|
3775
|
+
/**
|
|
3776
|
+
* The run's phonetic guide (`a:ruby`: furigana, pinyin, bopomofo), when it
|
|
3777
|
+
* has one. A binding renders `<ruby>{text}<rt style>{ruby.text}</rt></ruby>`;
|
|
3778
|
+
* a run carrying one is never split per word, so the annotation appears once
|
|
3779
|
+
* over the whole base run.
|
|
3780
|
+
*
|
|
3781
|
+
* Core parsed and saved ruby from the start, but `buildParagraphs` never read
|
|
3782
|
+
* it, so the annotation rendered in React alone.
|
|
3783
|
+
*/
|
|
3784
|
+
ruby?: RunRuby;
|
|
3785
|
+
/**
|
|
3786
|
+
* Index of the `textSegments` entry (of the override list when one was
|
|
3787
|
+
* supplied) this run was built from.
|
|
3788
|
+
*
|
|
3789
|
+
* Shared splits one authored run into several per-word runs for PowerPoint's
|
|
3790
|
+
* metric tracking, so this is many-to-one. It is the seam a binding uses to
|
|
3791
|
+
* reach the facts the neutral model does not carry - React's find-match
|
|
3792
|
+
* highlights, per-script font spans, tab stops and ruby all key off the
|
|
3793
|
+
* originating segment - without regrouping the segments itself and drifting
|
|
3794
|
+
* from the grouping here.
|
|
3795
|
+
*/
|
|
3796
|
+
segmentIndex?: number;
|
|
3797
|
+
/**
|
|
3798
|
+
* Offset of this run's `text` within its segment's RENDERED text (after field
|
|
3799
|
+
* substitution), so a caller holding per-segment character offsets can map
|
|
3800
|
+
* them onto the split runs.
|
|
3801
|
+
*/
|
|
3802
|
+
charStart?: number;
|
|
3803
|
+
/**
|
|
3804
|
+
* Per-script (`a:ea`/`a:cs`/`a:sym`) font-fallback pieces for this run's
|
|
3805
|
+
* text, when a script it contains needs a font distinct from its own. A
|
|
3806
|
+
* binding renders these as nested spans in place of `text` (see
|
|
3807
|
+
* `text-script-fonts.ts`); absent for the common single-font case.
|
|
3808
|
+
*/
|
|
3809
|
+
scriptRuns?: ScriptFontPiece[];
|
|
3810
|
+
/**
|
|
3811
|
+
* Measured tab-stop layout for this run's text, present when it contains an
|
|
3812
|
+
* authored `\t` and the paragraph declares explicit tab stops. A binding
|
|
3813
|
+
* renders these lines/pieces in place of `text`, honouring per-stop
|
|
3814
|
+
* alignment and leader glyphs a plain CSS `tab-size` cannot express (see
|
|
3815
|
+
* `text-tab-run-build.ts`). Absent for the common no-tab case.
|
|
3816
|
+
*/
|
|
3817
|
+
tabLines?: TabbedLineRun[];
|
|
3818
|
+
/**
|
|
3819
|
+
* `a:rPr/@u="words"` word/gap pieces of a RUBY run's base text, present only
|
|
3820
|
+
* when such a run's underline is `words` (the ordinary per-word split emits
|
|
3821
|
+
* sibling runs instead; a tab piece carries its own `words`). Same shape as
|
|
3822
|
+
* `scriptRuns` and rendered the same way, in place of `text`: a word entry
|
|
3823
|
+
* carries the decoration for its own span, a gap entry is bare text. The
|
|
3824
|
+
* run's own `style` has the underline stripped when this is set (see
|
|
3825
|
+
* `paragraph-run-build.ts`).
|
|
3826
|
+
*/
|
|
3827
|
+
underlineWordPieces?: ScriptFontPiece[];
|
|
3828
|
+
/**
|
|
3829
|
+
* `a:reflection` mirrored-sibling wrapper style for this run (the text-run
|
|
3830
|
+
* counterpart of a shape/picture's `ComputedEffectStyle.reflection`), or
|
|
3831
|
+
* `undefined` for the common no-reflection case. A binding renders a sibling
|
|
3832
|
+
* node just below the run's own, painted with the same text, positioned and
|
|
3833
|
+
* masked by this style - see `render/reflection.ts`'s
|
|
3834
|
+
* `getTextReflectionWrapperStyle`.
|
|
3835
|
+
*/
|
|
3836
|
+
reflection?: ReflectionWrapperStyle;
|
|
3837
|
+
}
|
|
3838
|
+
/** A rendered paragraph: runs plus resolved bullet + hanging-indent metadata. */
|
|
3839
|
+
interface RenderParagraph {
|
|
3840
|
+
runs: ParagraphRun[];
|
|
3841
|
+
/** Bullet glyph / number to render before the runs (or `undefined`). */
|
|
3842
|
+
bulletMarker?: string;
|
|
3843
|
+
/** Picture marker rendered before runs, or fallback metadata when unresolved. */
|
|
3844
|
+
bulletPicture?: PictureBulletMarker;
|
|
3845
|
+
/** Inline style for the bullet marker (font / size / colour). */
|
|
3846
|
+
bulletStyle: RunStyle;
|
|
3847
|
+
/** `margin-left` in px for the whole paragraph (hanging-indent layout). */
|
|
3848
|
+
marginLeftPx?: number;
|
|
3849
|
+
/** `text-indent` in px (first-line / hanging indent). */
|
|
3850
|
+
textIndentPx?: number;
|
|
3851
|
+
/**
|
|
3852
|
+
* Per-paragraph `line-height` from this paragraph's own `a:pPr > a:lnSpc`.
|
|
3853
|
+
* A unitless multiplier for proportional spacing (`a:spcPct`) or a `"<n>pt"`
|
|
3854
|
+
* string for exact spacing (`a:spcPts`). Undefined when the paragraph does
|
|
3855
|
+
* not override spacing (binding keeps the body-level line-height).
|
|
3856
|
+
*/
|
|
3857
|
+
lineHeight?: number | string;
|
|
3858
|
+
/** `margin-top` in px from this paragraph's `a:pPr > a:spcBef` (space before). */
|
|
3859
|
+
spaceBeforePx?: number;
|
|
3860
|
+
/** `margin-bottom` in px from this paragraph's `a:pPr > a:spcAft` (space after). */
|
|
3861
|
+
spaceAfterPx?: number;
|
|
3862
|
+
/**
|
|
3863
|
+
* `font-size` in px to set on the paragraph element so its CSS line boxes
|
|
3864
|
+
* are built from its OWN runs rather than the text body's default size.
|
|
3865
|
+
* Undefined when the paragraph already matches the body default.
|
|
3866
|
+
*
|
|
3867
|
+
* See `resolveParagraphStrutFontSize` for why this is needed: without it a
|
|
3868
|
+
* paragraph of small runs inside a larger-defaulting body is laid out on
|
|
3869
|
+
* too-tall lines and overflows its shape.
|
|
3870
|
+
*/
|
|
3871
|
+
strutFontSizePx?: number;
|
|
3872
|
+
/**
|
|
3873
|
+
* True when the paragraph has no runs and no bullet: an authored blank line
|
|
3874
|
+
* (`<a:p><a:endParaRPr/></a:p>`).
|
|
3875
|
+
*
|
|
3876
|
+
* PowerPoint gives such a paragraph a full line box, which is how decks
|
|
3877
|
+
* space a heading away from the bullet list under it. A binding must render
|
|
3878
|
+
* something with height for it (a `<br>`), or the gap disappears and the
|
|
3879
|
+
* block reads as one dense run of text (issue #131, slides 13-14).
|
|
3880
|
+
*/
|
|
3881
|
+
isEmpty?: boolean;
|
|
3882
|
+
/**
|
|
3883
|
+
* Indices of this paragraph's segments in the rendered segment list (the
|
|
3884
|
+
* override list when one was supplied), in authored order and INCLUDING the
|
|
3885
|
+
* bullet-marker segment the runs drop.
|
|
3886
|
+
*
|
|
3887
|
+
* The seam a binding uses to reach paragraph facts the neutral model does not
|
|
3888
|
+
* carry, without regrouping the segments itself and drifting from the
|
|
3889
|
+
* grouping here - which is exactly how React ended up splitting on every
|
|
3890
|
+
* `"\n"` and treating a soft `a:br` as a paragraph break.
|
|
3891
|
+
*/
|
|
3892
|
+
segmentIndices: number[];
|
|
3893
|
+
/**
|
|
3894
|
+
* True when this paragraph resolves right-to-left (`a:pPr/@rtl`, or the text
|
|
3895
|
+
* body's default). A binding that mirrors its hanging indent for RTL reads
|
|
3896
|
+
* this; the direction itself is already in {@link paragraphStyle}.
|
|
3897
|
+
*/
|
|
3898
|
+
rtl?: boolean;
|
|
3899
|
+
/**
|
|
3900
|
+
* Extra CSS for the paragraph box, beyond the margin / indent / spacing
|
|
3901
|
+
* fields above: this paragraph's own `text-align` (`a:pPr/@algn`), its BiDi
|
|
3902
|
+
* `direction`, and the kinsoku line-breaking rules (`@eaLnBrk`,
|
|
3903
|
+
* `@latinLnBrk`, `@hangingPunct`). Absent when the paragraph overrides none
|
|
3904
|
+
* of them, which is the common case.
|
|
3905
|
+
*
|
|
3906
|
+
* All three used to be resolved in React's private paragraph renderer only,
|
|
3907
|
+
* so a deck that centred one paragraph of a left-aligned body, or set CJK
|
|
3908
|
+
* break rules, rendered differently in the other four bindings.
|
|
3909
|
+
*/
|
|
3910
|
+
paragraphStyle?: RunStyle;
|
|
3911
|
+
}
|
|
3912
|
+
|
|
3913
|
+
/** Current editor payload. Missing segments explicitly denotes plain-text fallback. */
|
|
3914
|
+
interface InlineTextEditSnapshot {
|
|
3915
|
+
elementId: string;
|
|
3916
|
+
text: string;
|
|
3917
|
+
textSegments?: TextSegment[];
|
|
3918
|
+
}
|
|
3919
|
+
interface InlineListRun {
|
|
3920
|
+
token: string;
|
|
3921
|
+
segmentIndex: number;
|
|
3922
|
+
text: string;
|
|
3923
|
+
style: Readonly<TextStyle>;
|
|
3924
|
+
isLineBreak?: true;
|
|
3925
|
+
}
|
|
3926
|
+
interface InlineListParagraph {
|
|
3927
|
+
token: string;
|
|
3928
|
+
sourceIndex: number;
|
|
3929
|
+
runs: readonly InlineListRun[];
|
|
3930
|
+
presentation: RenderParagraph;
|
|
3931
|
+
}
|
|
3932
|
+
/** Descriptor identity also identifies the private provenance registry. */
|
|
3933
|
+
interface InlineListSeed {
|
|
3934
|
+
elementId: string;
|
|
3935
|
+
paragraphs: readonly InlineListParagraph[];
|
|
3936
|
+
}
|
|
3937
|
+
type InlineListReadResult = {
|
|
3938
|
+
kind: 'supported';
|
|
3939
|
+
snapshot: InlineTextEditSnapshot;
|
|
3940
|
+
paragraphs: RenderParagraph[];
|
|
3941
|
+
} | {
|
|
3942
|
+
kind: 'unsupported';
|
|
3943
|
+
reason: string;
|
|
3944
|
+
text: string;
|
|
3945
|
+
};
|
|
3946
|
+
|
|
3947
|
+
/**
|
|
3948
|
+
* Utilities for reading and restoring text selections within the inline text
|
|
3949
|
+
* editor contentEditable, and for applying style updates to a subset of text
|
|
3950
|
+
* segments based on the current selection. Framework-agnostic (uses DOM globals
|
|
3951
|
+
* only; no framework imports).
|
|
3952
|
+
*/
|
|
3953
|
+
|
|
3954
|
+
/** Describes which segments (and offsets within them) are selected. */
|
|
3955
|
+
interface InlineTextSelection {
|
|
3956
|
+
startSegIdx: number;
|
|
3957
|
+
startOffset: number;
|
|
3958
|
+
endSegIdx: number;
|
|
3959
|
+
endOffset: number;
|
|
3960
|
+
}
|
|
3515
3961
|
|
|
3516
3962
|
/**
|
|
3517
3963
|
* notes-utils.ts: framework-agnostic pure helpers for the rich speaker-notes
|
|
@@ -4589,6 +5035,60 @@ interface SlideTransitionAnimations {
|
|
|
4589
5035
|
/** Whether the outgoing layer should render above the incoming layer. */
|
|
4590
5036
|
outgoingOnTop: boolean;
|
|
4591
5037
|
}
|
|
5038
|
+
/** The four cardinal directions a transition can resolve to. */
|
|
5039
|
+
type ResolvedDirection = 'left' | 'right' | 'up' | 'down';
|
|
5040
|
+
/** Cardinal directions plus the four diagonals (for cover/uncover/strips). */
|
|
5041
|
+
type ResolvedDirection8 = ResolvedDirection | 'lu' | 'ld' | 'ru' | 'rd';
|
|
5042
|
+
/** Map an OOXML `dir` token (`l`/`r`/`u`/`d`) to a cardinal direction. */
|
|
5043
|
+
declare function resolveDirection(direction: string | undefined, defaultDir: ResolvedDirection): ResolvedDirection;
|
|
5044
|
+
/** Map an OOXML `dir` token to a cardinal **or diagonal** direction. */
|
|
5045
|
+
declare function resolveDirection8(direction: string | undefined, defaultDir: ResolvedDirection): ResolvedDirection8;
|
|
5046
|
+
/** Resolve an orientation from the `orient` or `direction` attribute. */
|
|
5047
|
+
declare function resolveOrientation(direction: string | undefined, orient: string | undefined): 'horz' | 'vert';
|
|
5048
|
+
/** Transition types eligible for `random` selection (kept deterministic-light). */
|
|
5049
|
+
declare const RANDOM_ELIGIBLE_TYPES: readonly PptxTransitionType[];
|
|
5050
|
+
/** No-animation sentinel — used for `none`/`cut` (instant slide swap). */
|
|
5051
|
+
declare const INSTANT: SlideTransitionAnimations;
|
|
5052
|
+
/**
|
|
5053
|
+
* Default transition duration (ms) when the transition omits `durationMs`. This
|
|
5054
|
+
* is the React/Vue default consumed by `resolveSlideTransition`. The Angular
|
|
5055
|
+
* binding uses its own (smaller, floored) duration policy.
|
|
5056
|
+
*/
|
|
5057
|
+
declare const DEFAULT_TRANSITION_DURATION_MS = 1000;
|
|
5058
|
+
/**
|
|
5059
|
+
* Default Morph duration (ms) for a transition that declares NEITHER an
|
|
5060
|
+
* explicit `p14:dur` (which lands in `durationMs` and always wins) NOR a legacy
|
|
5061
|
+
* `spd` speed (see {@link TRANSITION_SPEED_DURATION_MS}).
|
|
5062
|
+
*
|
|
5063
|
+
* A Morph that declares nothing carries no duration hint at all, and desktop
|
|
5064
|
+
* PowerPoint then plays it at its own 0.5s fallback (the Duration box shows
|
|
5065
|
+
* 0.50 for such slides and the transition measures at half a second); the
|
|
5066
|
+
* previous 1.0s/2.0s defaults made those decks play at double PowerPoint
|
|
5067
|
+
* speed.
|
|
5068
|
+
*/
|
|
5069
|
+
declare const DEFAULT_MORPH_DURATION_MS = 500;
|
|
5070
|
+
/**
|
|
5071
|
+
* Duration (ms) for each legacy `p:transition/@spd` speed.
|
|
5072
|
+
*
|
|
5073
|
+
* Measured against PowerPoint itself: the issue #131 deck's morph slides carry
|
|
5074
|
+
* `spd="slow"` and no `p14:dur`, and PowerPoint reports
|
|
5075
|
+
* `SlideShowTransition.Duration = 1.0`. Re-authoring that attribute and
|
|
5076
|
+
* re-reading it through COM gives fast=0.5s, med=0.75s, slow=1.0s - and the
|
|
5077
|
+
* same values for Morph as for every other effect, contradicting the earlier
|
|
5078
|
+
* assumption that Morph ignores `spd`.
|
|
5079
|
+
*/
|
|
5080
|
+
declare const TRANSITION_SPEED_DURATION_MS: Readonly<Record<string, number>>;
|
|
5081
|
+
/** Easing applied to every transition animation. */
|
|
5082
|
+
declare const EASE = "ease-in-out";
|
|
5083
|
+
/**
|
|
5084
|
+
* `p:wheel/@spokes` (CT_WheelTransition): PowerPoint's Wheel dialog offers
|
|
5085
|
+
* exactly these five spoke counts. Any other authored value (or absence, the
|
|
5086
|
+
* schema default) snaps to the nearest one so the keyframe lookup always
|
|
5087
|
+
* resolves to a real `pptx-tr-wheel-in-N` block.
|
|
5088
|
+
*/
|
|
5089
|
+
declare const WHEEL_SPOKE_COUNTS: readonly number[];
|
|
5090
|
+
/** Resolve an authored `spokes` count to the nearest PowerPoint-offered value. */
|
|
5091
|
+
declare function resolveWheelSpokeCount(spokes: number | undefined): number;
|
|
4592
5092
|
|
|
4593
5093
|
/**
|
|
4594
5094
|
* `slide-transition-keyframes` — the full `@keyframes` block backing every
|
|
@@ -4619,6 +5119,11 @@ interface SlideTransitionAnimations {
|
|
|
4619
5119
|
* transitions animate wherever this single string is injected.
|
|
4620
5120
|
*/
|
|
4621
5121
|
declare const SLIDE_TRANSITION_KEYFRAMES: string;
|
|
5122
|
+
/**
|
|
5123
|
+
* Alias of {@link SLIDE_TRANSITION_KEYFRAMES} under the `_CSS` name the Vue
|
|
5124
|
+
* binding historically exported.
|
|
5125
|
+
*/
|
|
5126
|
+
declare const SLIDE_TRANSITION_KEYFRAMES_CSS: string;
|
|
4622
5127
|
|
|
4623
5128
|
/**
|
|
4624
5129
|
* `slide-transition-css` — pure mapping from a {@link PptxSlideTransition}
|
|
@@ -4661,6 +5166,18 @@ declare const SLIDE_TRANSITION_KEYFRAMES: string;
|
|
|
4661
5166
|
* Unknown types fall back to a symmetrical cross-fade.
|
|
4662
5167
|
*/
|
|
4663
5168
|
declare function getSlideTransitionAnimations(type: PptxTransitionType, durationMs: number, direction: string | undefined, orient?: string | undefined, spokes?: number | undefined, pattern?: string | undefined): SlideTransitionAnimations;
|
|
5169
|
+
/**
|
|
5170
|
+
* Convenience wrapper that reads everything off a {@link PptxSlideTransition},
|
|
5171
|
+
* applying the React/Vue default duration when none is set. `none`/`cut` and a
|
|
5172
|
+
* transition with a non-positive duration resolve to {@link INSTANT}.
|
|
5173
|
+
*/
|
|
5174
|
+
declare function resolveSlideTransition(transition: PptxSlideTransition | undefined): SlideTransitionAnimations;
|
|
5175
|
+
/**
|
|
5176
|
+
* The effective duration (ms) for a transition under the React/Vue policy — the
|
|
5177
|
+
* configured `durationMs`, or {@link DEFAULT_TRANSITION_DURATION_MS} when
|
|
5178
|
+
* unset/invalid. `none`/`cut` resolve to `0` (instant).
|
|
5179
|
+
*/
|
|
5180
|
+
declare function resolveTransitionDurationMs(transition: PptxSlideTransition | undefined): number;
|
|
4664
5181
|
|
|
4665
5182
|
/**
|
|
4666
5183
|
* `slide-transition-fragment-types` - shared types and small pure helpers for
|
|
@@ -4874,6 +5391,35 @@ interface SlideShowOptionDescriptor {
|
|
|
4874
5391
|
unsupported: boolean;
|
|
4875
5392
|
}
|
|
4876
5393
|
|
|
5394
|
+
/** Part 1: conveyor / doors / ferris / flash / flythrough / gallery / glitter / honeycomb / pan. */
|
|
5395
|
+
declare const P14_TRANSITION_KEYFRAMES = "\n/* \u2500\u2500 Conveyor (translate X with staggered timing) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-conveyor-in-from-right {\n\tfrom { transform: translateX(100%) rotateY(-30deg); }\n\t60% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-left {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(-100%) rotateY(30deg); }\n}\n@keyframes pptx-tr-conveyor-in-from-left {\n\tfrom { transform: translateX(-100%) rotateY(30deg); }\n\t60% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-right {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(100%) rotateY(-30deg); }\n}\n\n/* \u2500\u2500 Doors (clip-path from center split) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n MEASURED via COM CreateVideo: PowerPoint's `dir=\"horz\"` names a\n HORIZONTAL split line (two panels stacked top/bottom, opening upward and\n downward), and `dir=\"vert\"` a VERTICAL split line (panels side by side,\n opening left and right) - the opposite of what \"clips left/right\" vs\n \"clips top/bottom\" would suggest at a glance. Keep the clip-path bodies\n matched to the MEASURED direction, not the intuitive one. */\n@keyframes pptx-tr-doors-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-doors-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n\n/* \u2500\u2500 Ferris (rotate elements around center) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-ferris-in-from-right {\n\tfrom { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-left {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n}\n@keyframes pptx-tr-ferris-in-from-left {\n\tfrom { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-right {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n}\n\n/* \u2500\u2500 Flash (bright flash opacity burst) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-flash-white {\n\t0% { opacity: 1; }\n\t30% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n@keyframes pptx-tr-flash-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t70% { opacity: 1; }\n\t100% { opacity: 1; }\n}\n\n/* \u2500\u2500 Flythrough (scale + translate Z-axis feel) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-flythrough-in {\n\tfrom { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n}\n@keyframes pptx-tr-flythrough-reverse-in {\n\tfrom { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-reverse-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n}\n\n/* \u2500\u2500 Gallery (translate with perspective) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-gallery-in-from-right {\n\tfrom { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-left {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n}\n@keyframes pptx-tr-gallery-in-from-left {\n\tfrom { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-right {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n}\n\n/* \u2500\u2500 Glitter (particle dissolve effect) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-glitter-in {\n\tfrom { opacity: 0; filter: brightness(1.5) contrast(1.3) blur(2px); }\n\t60% { opacity: 0.7; filter: brightness(1.2) contrast(1.1) blur(1px); }\n\tto { opacity: 1; filter: brightness(1) contrast(1) blur(0); }\n}\n\n/* \u2500\u2500 Honeycomb (hexagonal reveal) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-honeycomb-in {\n\tfrom {\n\t\tclip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);\n\t\topacity: 0;\n\t}\n\tto {\n\t\tclip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n\t\topacity: 1;\n\t}\n}\n@keyframes pptx-tr-honeycomb-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* \u2500\u2500 Pan (large-scale translate) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-pan-from-right {\n\tfrom { transform: translateX(100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n@keyframes pptx-tr-pan-from-left {\n\tfrom { transform: translateX(-100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-pan-from-bottom {\n\tfrom { transform: translateY(100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-top {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(-100%); }\n}\n@keyframes pptx-tr-pan-from-top {\n\tfrom { transform: translateY(-100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-bottom {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(100%); }\n}\n";
|
|
5396
|
+
/** Part 2: prism / reveal / ripple / shred / switch / vortex / warp / wheelReverse / window. */
|
|
5397
|
+
declare const P14_TRANSITION_KEYFRAMES_2 = "\n/* \u2500\u2500 Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* \u2500\u2500 Reveal (slide away reveal) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* \u2500\u2500 Ripple (expanding ring clip-path) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* \u2500\u2500 Shred (fragmented clip-path pieces) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* \u2500\u2500 Switch (flip/rotate swap) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* \u2500\u2500 Vortex (rotate + scale spiral) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* \u2500\u2500 Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* \u2500\u2500 WheelReverse (reverse wheel rotation) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* \u2500\u2500 Window (scale from center with border) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n";
|
|
5398
|
+
/** Both p14 keyframe blocks concatenated, for single `<style>` injection. */
|
|
5399
|
+
declare const P14_TRANSITION_KEYFRAMES_ALL = "\n/* \u2500\u2500 Conveyor (translate X with staggered timing) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-conveyor-in-from-right {\n\tfrom { transform: translateX(100%) rotateY(-30deg); }\n\t60% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-left {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(-100%) rotateY(30deg); }\n}\n@keyframes pptx-tr-conveyor-in-from-left {\n\tfrom { transform: translateX(-100%) rotateY(30deg); }\n\t60% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-right {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(100%) rotateY(-30deg); }\n}\n\n/* \u2500\u2500 Doors (clip-path from center split) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n MEASURED via COM CreateVideo: PowerPoint's `dir=\"horz\"` names a\n HORIZONTAL split line (two panels stacked top/bottom, opening upward and\n downward), and `dir=\"vert\"` a VERTICAL split line (panels side by side,\n opening left and right) - the opposite of what \"clips left/right\" vs\n \"clips top/bottom\" would suggest at a glance. Keep the clip-path bodies\n matched to the MEASURED direction, not the intuitive one. */\n@keyframes pptx-tr-doors-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-doors-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n\n/* \u2500\u2500 Ferris (rotate elements around center) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-ferris-in-from-right {\n\tfrom { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-left {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n}\n@keyframes pptx-tr-ferris-in-from-left {\n\tfrom { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-right {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n}\n\n/* \u2500\u2500 Flash (bright flash opacity burst) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-flash-white {\n\t0% { opacity: 1; }\n\t30% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n@keyframes pptx-tr-flash-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t70% { opacity: 1; }\n\t100% { opacity: 1; }\n}\n\n/* \u2500\u2500 Flythrough (scale + translate Z-axis feel) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-flythrough-in {\n\tfrom { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n}\n@keyframes pptx-tr-flythrough-reverse-in {\n\tfrom { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-reverse-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n}\n\n/* \u2500\u2500 Gallery (translate with perspective) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-gallery-in-from-right {\n\tfrom { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-left {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n}\n@keyframes pptx-tr-gallery-in-from-left {\n\tfrom { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-right {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n}\n\n/* \u2500\u2500 Glitter (particle dissolve effect) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-glitter-in {\n\tfrom { opacity: 0; filter: brightness(1.5) contrast(1.3) blur(2px); }\n\t60% { opacity: 0.7; filter: brightness(1.2) contrast(1.1) blur(1px); }\n\tto { opacity: 1; filter: brightness(1) contrast(1) blur(0); }\n}\n\n/* \u2500\u2500 Honeycomb (hexagonal reveal) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-honeycomb-in {\n\tfrom {\n\t\tclip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);\n\t\topacity: 0;\n\t}\n\tto {\n\t\tclip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n\t\topacity: 1;\n\t}\n}\n@keyframes pptx-tr-honeycomb-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* \u2500\u2500 Pan (large-scale translate) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-pan-from-right {\n\tfrom { transform: translateX(100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n@keyframes pptx-tr-pan-from-left {\n\tfrom { transform: translateX(-100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-pan-from-bottom {\n\tfrom { transform: translateY(100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-top {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(-100%); }\n}\n@keyframes pptx-tr-pan-from-top {\n\tfrom { transform: translateY(-100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-bottom {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(100%); }\n}\n\n\n/* \u2500\u2500 Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* \u2500\u2500 Reveal (slide away reveal) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* \u2500\u2500 Ripple (expanding ring clip-path) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* \u2500\u2500 Shred (fragmented clip-path pieces) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* \u2500\u2500 Switch (flip/rotate swap) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* \u2500\u2500 Vortex (rotate + scale spiral) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* \u2500\u2500 Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* \u2500\u2500 WheelReverse (reverse wheel rotation) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* \u2500\u2500 Window (scale from center with border) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n";
|
|
5400
|
+
|
|
5401
|
+
/**
|
|
5402
|
+
* `p14-transition-css` — animation resolver for the Office 2010 (`p14`
|
|
5403
|
+
* namespace) slide transitions. Maps each p14 transition type to the faithful
|
|
5404
|
+
* per-effect CSS `animation` descriptors whose `@keyframes` live in
|
|
5405
|
+
* `p14-transition-keyframes`.
|
|
5406
|
+
*
|
|
5407
|
+
* This is the high-fidelity counterpart to the 2-D approximations the core
|
|
5408
|
+
* `getSlideTransitionAnimations` emits for the same exotic types. Returns
|
|
5409
|
+
* `undefined` for any type that is not a p14 transition, so callers can fall
|
|
5410
|
+
* back to the core resolver.
|
|
5411
|
+
*
|
|
5412
|
+
* Pure; no framework or DOM imports.
|
|
5413
|
+
*
|
|
5414
|
+
* @module render/p14-transition-css
|
|
5415
|
+
*/
|
|
5416
|
+
|
|
5417
|
+
/**
|
|
5418
|
+
* Return CSS animation descriptors for p14 transition types. Returns
|
|
5419
|
+
* `undefined` when the type is not a p14 transition.
|
|
5420
|
+
*/
|
|
5421
|
+
declare function getP14TransitionAnimations(type: PptxTransitionType, durationMs: number, direction: string | undefined, orient?: string | undefined, pattern?: string | undefined): SlideTransitionAnimations | undefined;
|
|
5422
|
+
|
|
4877
5423
|
/**
|
|
4878
5424
|
* smartart-accessibility.ts: framework-agnostic accessibility metadata for the
|
|
4879
5425
|
* SmartArt renderer, shared across the React, Vue, and Angular bindings.
|
|
@@ -7023,6 +7569,17 @@ interface SummaryZoomView {
|
|
|
7023
7569
|
ariaLabel: string;
|
|
7024
7570
|
}
|
|
7025
7571
|
|
|
7572
|
+
/**
|
|
7573
|
+
* Decode a local image File/Blob into a centred element, fitting the slide
|
|
7574
|
+
* without upscaling. Dimensions are slide pixels; image bytes are preserved.
|
|
7575
|
+
*
|
|
7576
|
+
* Resolves null for unsupported/unreadable images, invalid bounds, cancellation,
|
|
7577
|
+
* or unavailable browser APIs. Importing this module is safe outside a browser.
|
|
7578
|
+
* No slide, selection, history, clipboard, or network state is changed. The
|
|
7579
|
+
* caller must still validate its document/slide destination before committing.
|
|
7580
|
+
*/
|
|
7581
|
+
declare function createImageElementFromFile(file: Blob, canvasSize: CanvasSize, signal?: AbortSignal): Promise<ImagePptxElement | null>;
|
|
7582
|
+
|
|
7026
7583
|
/** One editable row in the master/layout background card. */
|
|
7027
7584
|
interface TemplateBackgroundRow {
|
|
7028
7585
|
/** The layout or master part path, passed to `setTemplateBackground`/`getTemplateBackgroundColor`. */
|
|
@@ -8087,6 +8644,17 @@ interface OleIconShape {
|
|
|
8087
8644
|
*/
|
|
8088
8645
|
declare function registerCrossSlideAudio(element: MediaPptxElement, src: string | undefined): boolean;
|
|
8089
8646
|
|
|
8647
|
+
/** The viewer-owned edit session identifies the part to overlay, never just a global element ID. */
|
|
8648
|
+
interface PendingInlineTextEdit {
|
|
8649
|
+
snapshot: InlineTextEditSnapshot;
|
|
8650
|
+
text?: string;
|
|
8651
|
+
target: {
|
|
8652
|
+
slideId: string;
|
|
8653
|
+
} | {
|
|
8654
|
+
masterView: MasterViewTarget;
|
|
8655
|
+
};
|
|
8656
|
+
}
|
|
8657
|
+
|
|
8090
8658
|
/**
|
|
8091
8659
|
* Grouping needs an editable deck, at least two selected elements, and (when
|
|
8092
8660
|
* the caller can supply it) none of those elements locked against grouping.
|
|
@@ -8226,6 +8794,27 @@ interface ViewportFitOptions {
|
|
|
8226
8794
|
maxFitScale?: number | null;
|
|
8227
8795
|
}
|
|
8228
8796
|
|
|
8797
|
+
type InlineListSelectionResult = {
|
|
8798
|
+
kind: 'supported';
|
|
8799
|
+
snapshot: InlineTextEditSnapshot;
|
|
8800
|
+
selection: InlineTextSelection | null;
|
|
8801
|
+
bodyRange?: {
|
|
8802
|
+
start: number;
|
|
8803
|
+
end: number;
|
|
8804
|
+
};
|
|
8805
|
+
} | {
|
|
8806
|
+
kind: 'unsupported';
|
|
8807
|
+
reason: string;
|
|
8808
|
+
};
|
|
8809
|
+
|
|
8810
|
+
interface InlineListController {
|
|
8811
|
+
read(): InlineListReadResult;
|
|
8812
|
+
format(snapshot: InlineTextEditSnapshot): InlineListReadResult;
|
|
8813
|
+
readSelection(selection?: Selection | null): InlineListSelectionResult;
|
|
8814
|
+
refresh(): InlineListReadResult;
|
|
8815
|
+
dispose(): void;
|
|
8816
|
+
}
|
|
8817
|
+
|
|
8229
8818
|
/**
|
|
8230
8819
|
* Minimal GIF89a encoder (pure JS, no external dependency) plus pure
|
|
8231
8820
|
* frame-planning helpers — shared by the React, Vue, and Angular bindings.
|
|
@@ -8438,6 +9027,51 @@ interface RasterizeElementTilesResult {
|
|
|
8438
9027
|
tiles: RasterizedTile[];
|
|
8439
9028
|
}
|
|
8440
9029
|
|
|
9030
|
+
/**
|
|
9031
|
+
* `slide-transition-cinematic`: animation resolver + `@keyframes` for the
|
|
9032
|
+
* Office 2013+ (`p15` namespace) "cinematic" slide-transition family: the 3-D
|
|
9033
|
+
* and dramatic composites that ship with modern PowerPoint but have no
|
|
9034
|
+
* dedicated case in the classic {@link getSlideTransitionAnimations} switch and
|
|
9035
|
+
* therefore used to fall back to a flat symmetrical cross-fade.
|
|
9036
|
+
*
|
|
9037
|
+
* Handled here (all with real, distinct keyframes):
|
|
9038
|
+
*
|
|
9039
|
+
* - 3-D rotations: `cube`, `flip`, `rotate`, `orbit` (kept in this module),
|
|
9040
|
+
* and `box` (split into `slide-transition-box`: it shares Cube's OOXML
|
|
9041
|
+
* element but is COM-measured as visually distinct, so it earns its own
|
|
9042
|
+
* keyframe set rather than reusing Cube's)
|
|
9043
|
+
* - page curl / peel: `pageCurlSingle`, `pageCurlDouble`, `peelOff`
|
|
9044
|
+
* - directional / scale / rotate composites: `fallOver`, `drape`, `curtains`,
|
|
9045
|
+
* `wind`, `prestige`, `fracture`, `crush`, `airplane`, `origami`
|
|
9046
|
+
*
|
|
9047
|
+
* This mirrors the {@link getP14TransitionAnimations} pattern: the resolver
|
|
9048
|
+
* returns `undefined` for any type it does not own, so the core resolver can
|
|
9049
|
+
* fall through to its own cases. The `@keyframes` string
|
|
9050
|
+
* ({@link CINEMATIC_TRANSITION_KEYFRAMES}) must be injected alongside the core
|
|
9051
|
+
* and p14 blocks (it is folded into `SLIDE_TRANSITION_KEYFRAMES`), so every
|
|
9052
|
+
* binding that injects that aggregate animates these with no per-binding wiring.
|
|
9053
|
+
*
|
|
9054
|
+
* All names share the `pptx-tr-*` prefix so they never collide with the
|
|
9055
|
+
* element-animation (`pptx-vue-*`) or timeline (`pptx-tl-*`) keyframes. Pure; no
|
|
9056
|
+
* framework or DOM imports.
|
|
9057
|
+
*
|
|
9058
|
+
* @module render/slide-transition-cinematic
|
|
9059
|
+
*/
|
|
9060
|
+
|
|
9061
|
+
/**
|
|
9062
|
+
* Resolve a p15 cinematic transition to its CSS `animation` descriptors, or
|
|
9063
|
+
* `undefined` when the type is not a cinematic transition (so the caller can
|
|
9064
|
+
* fall through to the classic 2-D / p14 resolvers).
|
|
9065
|
+
*/
|
|
9066
|
+
declare function getCinematicTransitionAnimations(type: PptxTransitionType, durationMs: number, direction: string | undefined, orient?: string | undefined): SlideTransitionAnimations | undefined;
|
|
9067
|
+
/**
|
|
9068
|
+
* `@keyframes` backing every cinematic transition. Fold into the injected
|
|
9069
|
+
* aggregate (`SLIDE_TRANSITION_KEYFRAMES`) so these animate wherever it is
|
|
9070
|
+
* injected. `pptx-tr-fade-in` (reused by wind/fracture/airplane incoming) is
|
|
9071
|
+
* already defined in the core block, so it is intentionally not redefined here.
|
|
9072
|
+
*/
|
|
9073
|
+
declare const CINEMATIC_TRANSITION_KEYFRAMES: string;
|
|
9074
|
+
|
|
8441
9075
|
/**
|
|
8442
9076
|
* Thin re-export shim → vendored `pptx-viewer-shared` (`render/embedded-fonts`).
|
|
8443
9077
|
*
|
|
@@ -10021,6 +10655,9 @@ declare class IsMobileService {
|
|
|
10021
10655
|
* signatures, …) were added alongside the corresponding features.
|
|
10022
10656
|
*/
|
|
10023
10657
|
declare class LoadContentService {
|
|
10658
|
+
private pendingInlineEditReader?;
|
|
10659
|
+
/** Viewer-scoped current list session. Saving never commits or blurs it. */
|
|
10660
|
+
bindPendingInlineEdit(reader: () => PendingInlineTextEdit | undefined): void;
|
|
10024
10661
|
/** Parsed slides (with image Blob URLs patched in). */
|
|
10025
10662
|
readonly slides: _angular_core.WritableSignal<PptxSlide[]>;
|
|
10026
10663
|
/**
|
|
@@ -10944,6 +11581,15 @@ declare class ViewerCanvasEditingService {
|
|
|
10944
11581
|
private readonly viewerOpts;
|
|
10945
11582
|
/** Id of the element being inline text-edited, or null. */
|
|
10946
11583
|
readonly editingId: _angular_core.WritableSignal<string | null>;
|
|
11584
|
+
private inlineSnapshot;
|
|
11585
|
+
private readonly listSession;
|
|
11586
|
+
onListSession(event: {
|
|
11587
|
+
controller: InlineListController;
|
|
11588
|
+
active: boolean;
|
|
11589
|
+
}): void;
|
|
11590
|
+
formatInlineSnapshot(snapshot: InlineTextEditSnapshot): boolean;
|
|
11591
|
+
endInlineListSession(): void;
|
|
11592
|
+
readInlineSnapshot(): InlineTextEditSnapshot | undefined;
|
|
10947
11593
|
/** Open editor context-menu position (client coords), or null. */
|
|
10948
11594
|
readonly contextMenuPos: _angular_core.WritableSignal<{
|
|
10949
11595
|
x: number;
|
|
@@ -10978,11 +11624,13 @@ declare class ViewerCanvasEditingService {
|
|
|
10978
11624
|
onTextInput(event: {
|
|
10979
11625
|
id: string;
|
|
10980
11626
|
text: string;
|
|
11627
|
+
snapshot?: InlineTextEditSnapshot;
|
|
10981
11628
|
}): void;
|
|
10982
11629
|
/** Commit an inline text edit without flattening its rich-text runs. */
|
|
10983
11630
|
onTextCommit(event: {
|
|
10984
11631
|
id: string;
|
|
10985
11632
|
text: string;
|
|
11633
|
+
snapshot?: InlineTextEditSnapshot;
|
|
10986
11634
|
height?: number;
|
|
10987
11635
|
autoFitFontScale?: number;
|
|
10988
11636
|
autoFitLineSpacingReduction?: number;
|
|
@@ -12444,6 +13092,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
|
|
|
12444
13092
|
private readonly destroyRef;
|
|
12445
13093
|
protected readonly dialogs: ViewerDialogsService;
|
|
12446
13094
|
protected readonly viewerOpts: ViewerOptionsService;
|
|
13095
|
+
private readonly masterInlineEditor;
|
|
12447
13096
|
private readonly compareSvc;
|
|
12448
13097
|
protected readonly xport: ViewerExportService;
|
|
12449
13098
|
protected readonly findReplace: ViewerFindReplaceService;
|
|
@@ -12476,8 +13125,10 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
|
|
|
12476
13125
|
private readonly extraDialogs;
|
|
12477
13126
|
/** Surface the encrypted-file notice dialog alongside the inline fallback. */
|
|
12478
13127
|
private readonly encryptedNotice;
|
|
13128
|
+
private readonly editorCanvas;
|
|
12479
13129
|
/** The `<main>` host; used to locate the live `.pptx-ng-canvas-stage`. */
|
|
12480
13130
|
private readonly mainEl;
|
|
13131
|
+
private readonly viewerRoot;
|
|
12481
13132
|
/**
|
|
12482
13133
|
* Whether the CURRENT document's Protected View lock was lifted via the
|
|
12483
13134
|
* banner's "Enable Editing" button this session. A document the host
|
|
@@ -12883,6 +13534,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
|
|
|
12883
13534
|
getElementById(elementId: string, slideIndex?: number): PptxElement | undefined;
|
|
12884
13535
|
/** Insert a defensive copy into the active ordinary editable slide. */
|
|
12885
13536
|
addElement(element: PptxElement): string | undefined;
|
|
13537
|
+
updateElements(updates: readonly ElementUpdate[], options?: ElementUpdateOptions): Promise<void>;
|
|
12886
13538
|
/** Update one or more properties of an element by ID. */
|
|
12887
13539
|
updateElement(elementId: string, updates: Partial<PptxElement>): void;
|
|
12888
13540
|
/** Delete elements by their IDs from the active slide. */
|
|
@@ -14204,6 +14856,110 @@ declare class RulerGuidesService {
|
|
|
14204
14856
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
14205
14857
|
}
|
|
14206
14858
|
|
|
14859
|
+
/**
|
|
14860
|
+
* selection-geometry.ts: Pure geometry helpers for `SlideCanvasComponent`'s
|
|
14861
|
+
* selection outline, resize/rotate/adjust handles, and the
|
|
14862
|
+
* pointer-target-to-interactive-element resolution. No Angular dependency, so
|
|
14863
|
+
* these are trivially unit-testable and reusable outside the component.
|
|
14864
|
+
*/
|
|
14865
|
+
|
|
14866
|
+
/** A selected element's bounding box (stage coords), keyed by id. */
|
|
14867
|
+
interface SelectionBox extends Box {
|
|
14868
|
+
id: string;
|
|
14869
|
+
}
|
|
14870
|
+
/** A resize-handle's render box (stage coords) plus its cursor style. */
|
|
14871
|
+
interface HandleBox {
|
|
14872
|
+
handle: ResizeHandle;
|
|
14873
|
+
left: number;
|
|
14874
|
+
top: number;
|
|
14875
|
+
size: number;
|
|
14876
|
+
cursor: string;
|
|
14877
|
+
}
|
|
14878
|
+
/** A rotate/adjust handle's render box (stage coords). */
|
|
14879
|
+
interface CornerHandleBox {
|
|
14880
|
+
left: number;
|
|
14881
|
+
top: number;
|
|
14882
|
+
size: number;
|
|
14883
|
+
}
|
|
14884
|
+
/** Bounding boxes (stage coords) for the given selected element ids. */
|
|
14885
|
+
declare function computeSelectionBoxes(elements: readonly PptxElement[], selectedIds: readonly string[]): SelectionBox[];
|
|
14886
|
+
/** The single selected element's box, or null when 0 or >1 are selected. */
|
|
14887
|
+
declare function computeSingleSelected(elements: readonly PptxElement[], selectedIds: readonly string[]): (Box & {
|
|
14888
|
+
id: string;
|
|
14889
|
+
}) | null;
|
|
14890
|
+
/** Resize-handle render boxes (stage coords) for the single selection. */
|
|
14891
|
+
declare function computeHandleBoxes(box: (Box & {
|
|
14892
|
+
id: string;
|
|
14893
|
+
}) | null, editable: boolean, handleScreenPx: number, zoom: number): HandleBox[];
|
|
14894
|
+
/**
|
|
14895
|
+
* Resize-handle boxes for the single selection, suppressed entirely when the
|
|
14896
|
+
* element's authored `a:spLocks` forbids resizing.
|
|
14897
|
+
*
|
|
14898
|
+
* The lock question is asked HERE rather than in the component so the rule is
|
|
14899
|
+
* unit-testable without Angular, and so the render gate and the pointer-down
|
|
14900
|
+
* gate ({@link canInteractWithElement}) can never disagree: a handle the user
|
|
14901
|
+
* cannot see is also a handle the pointer path refuses.
|
|
14902
|
+
*/
|
|
14903
|
+
declare function computeResizeHandleBoxes(element: PptxElement | null | undefined, box: (Box & {
|
|
14904
|
+
id: string;
|
|
14905
|
+
}) | null, editable: boolean, handleScreenPx: number, zoom: number): HandleBox[];
|
|
14906
|
+
/**
|
|
14907
|
+
* A corner handle box (rotate or shape-adjust) offset above/outside the
|
|
14908
|
+
* single selection's box by `offsetPx` (screen pixels, scaled by zoom).
|
|
14909
|
+
*/
|
|
14910
|
+
declare function computeCornerHandle(box: (Box & {
|
|
14911
|
+
id: string;
|
|
14912
|
+
}) | null, editable: boolean, handleScreenPx: number, offsetPx: number, zoom: number, corner: 'top-center' | 'top-left'): CornerHandleBox | null;
|
|
14913
|
+
/**
|
|
14914
|
+
* The rotate-knob box for the single selection, or null when the element's
|
|
14915
|
+
* authored `a:spLocks/@noRotation` forbids the gesture. Companion to
|
|
14916
|
+
* {@link computeResizeHandleBoxes}; see that function for why the lock check
|
|
14917
|
+
* lives in this module.
|
|
14918
|
+
*/
|
|
14919
|
+
declare function computeRotateHandleBox(element: PptxElement | null | undefined, box: (Box & {
|
|
14920
|
+
id: string;
|
|
14921
|
+
}) | null, editable: boolean, handleScreenPx: number, offsetPx: number, zoom: number): CornerHandleBox | null;
|
|
14922
|
+
/**
|
|
14923
|
+
* Resolve the id of the interactive element under a pointer target, or null.
|
|
14924
|
+
*
|
|
14925
|
+
* Resolution goes through the shared hit-test, which answers with the TOP-LEVEL
|
|
14926
|
+
* element rather than the innermost `data-element-id` node. That distinction is
|
|
14927
|
+
* the whole point here: a group renders its children's nodes inside its own, so
|
|
14928
|
+
* the innermost node under a click is usually a grouped CHILD, whose id is not
|
|
14929
|
+
* in `allElements`. This function used to look that child id up, find nothing,
|
|
14930
|
+
* and report "no element", which CLEARED the selection: Ungroup was then only
|
|
14931
|
+
* reachable by hitting a gap inside the group's box that missed every child.
|
|
14932
|
+
* PowerPoint (and React, Vanilla and Svelte) select the group instead.
|
|
14933
|
+
*
|
|
14934
|
+
* Template (master/layout) elements are only interactive while
|
|
14935
|
+
* `editTemplateMode` is on; when off they are reported as null so the canvas
|
|
14936
|
+
* treats them as background (no select/drag/context-menu/inline-edit).
|
|
14937
|
+
*/
|
|
14938
|
+
declare function resolveInteractiveElementId(target: EventTarget | null, allElements: readonly PptxElement[], editTemplateMode: boolean): string | null;
|
|
14939
|
+
|
|
14940
|
+
/** Keep the existing handle anchor while opt-in artwork can grow its frame. */
|
|
14941
|
+
declare function selectionControlArtwork(box: CornerHandleBox, handle?: ResizeHandle): {
|
|
14942
|
+
frame: {
|
|
14943
|
+
left: string;
|
|
14944
|
+
top: string;
|
|
14945
|
+
width: string;
|
|
14946
|
+
height: string;
|
|
14947
|
+
};
|
|
14948
|
+
artwork: {
|
|
14949
|
+
color?: string | undefined;
|
|
14950
|
+
position: "absolute";
|
|
14951
|
+
left: string;
|
|
14952
|
+
top: string;
|
|
14953
|
+
transform: string;
|
|
14954
|
+
pointerEvents: "none";
|
|
14955
|
+
width: string;
|
|
14956
|
+
height: string;
|
|
14957
|
+
borderRadius: string;
|
|
14958
|
+
background: string;
|
|
14959
|
+
borderColor: string;
|
|
14960
|
+
};
|
|
14961
|
+
};
|
|
14962
|
+
|
|
14207
14963
|
/**
|
|
14208
14964
|
* shape-adjust-handle.ts: the Angular view-mapping for the SHARED shape
|
|
14209
14965
|
* adjustment (`a:avLst`) affordance.
|
|
@@ -14482,6 +15238,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14482
15238
|
readonly textCommit: _angular_core.OutputEmitterRef<{
|
|
14483
15239
|
id: string;
|
|
14484
15240
|
text: string;
|
|
15241
|
+
snapshot?: InlineTextEditSnapshot;
|
|
14485
15242
|
height?: number;
|
|
14486
15243
|
autoFitFontScale?: number;
|
|
14487
15244
|
autoFitLineSpacingReduction?: number;
|
|
@@ -14494,6 +15251,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14494
15251
|
readonly textInput: _angular_core.OutputEmitterRef<{
|
|
14495
15252
|
id: string;
|
|
14496
15253
|
text: string;
|
|
15254
|
+
snapshot?: InlineTextEditSnapshot;
|
|
14497
15255
|
}>;
|
|
14498
15256
|
/** Emitted when an inline edit is cancelled (Escape). */
|
|
14499
15257
|
readonly textCancel: _angular_core.OutputEmitterRef<void>;
|
|
@@ -14502,6 +15260,10 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14502
15260
|
id: string;
|
|
14503
15261
|
updates: Partial<TextStyle>;
|
|
14504
15262
|
}>;
|
|
15263
|
+
readonly listSession: _angular_core.OutputEmitterRef<{
|
|
15264
|
+
controller: InlineListController;
|
|
15265
|
+
active: boolean;
|
|
15266
|
+
}>;
|
|
14505
15267
|
/** Emitted during a rotate gesture with the new rotation (degrees). */
|
|
14506
15268
|
readonly rotateUpdate: _angular_core.OutputEmitterRef<{
|
|
14507
15269
|
id: string;
|
|
@@ -14523,6 +15285,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14523
15285
|
id: string;
|
|
14524
15286
|
tableData: PptxTableData;
|
|
14525
15287
|
}>;
|
|
15288
|
+
hasActivePointerInteraction(): boolean;
|
|
14526
15289
|
private drag;
|
|
14527
15290
|
/** Live shape-adjustment gesture (amber diamond), or null when idle. */
|
|
14528
15291
|
private adjustDrag;
|
|
@@ -14549,6 +15312,13 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14549
15312
|
/** Per-instance user-created ruler-guide controller. */
|
|
14550
15313
|
protected readonly rulerGuidesSvc: RulerGuidesService;
|
|
14551
15314
|
private readonly textEditor;
|
|
15315
|
+
private readonly listEditor;
|
|
15316
|
+
readonly inlineListSeed: _angular_core.WritableSignal<InlineListSeed | undefined>;
|
|
15317
|
+
readonly listActivationSelection: _angular_core.WritableSignal<{
|
|
15318
|
+
start: number;
|
|
15319
|
+
end: number;
|
|
15320
|
+
} | undefined>;
|
|
15321
|
+
private listSessionId;
|
|
14552
15322
|
private readonly stageRef;
|
|
14553
15323
|
private readonly viewportRef;
|
|
14554
15324
|
/** Per-instance auto-fit scale measurement (see {@link CanvasFitService}). */
|
|
@@ -14615,6 +15385,8 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14615
15385
|
* for an element whose authored `a:spLocks/@noResize` pins its size.
|
|
14616
15386
|
*/
|
|
14617
15387
|
readonly handleBoxes: _angular_core.Signal<pptx_angular_viewer.HandleBox[]>;
|
|
15388
|
+
readonly resizeHitAreaStyle: typeof getResizeHandleHitAreaStyle;
|
|
15389
|
+
readonly selectionControlArtwork: typeof selectionControlArtwork;
|
|
14618
15390
|
/**
|
|
14619
15391
|
* Rotation-handle box (stage coords) above the single selection, or null (also
|
|
14620
15392
|
* null when `a:spLocks/@noRotation` is authored on the element).
|
|
@@ -14683,6 +15455,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14683
15455
|
width: number;
|
|
14684
15456
|
height: number;
|
|
14685
15457
|
text: string;
|
|
15458
|
+
element: PptxElement;
|
|
14686
15459
|
} | null>;
|
|
14687
15460
|
/**
|
|
14688
15461
|
* May inline text editing begin on this element? Honours the authored
|
|
@@ -14785,7 +15558,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14785
15558
|
} | null>;
|
|
14786
15559
|
readonly stageStyle: _angular_core.Signal<StyleMap>;
|
|
14787
15560
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideCanvasComponent, never>;
|
|
14788
|
-
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; }; "fitPadding": { "alias": "fitPadding"; "required": false; "isSignal": true; }; "maxFitScale": { "alias": "maxFitScale"; "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; }; "gridSpacing": { "alias": "gridSpacing"; "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; }; "exposeElementIds": { "alias": "exposeElementIds"; "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"; "transformEnd": "transformEnd"; "adjustUpdate": "adjustUpdate"; "connectorEndpointUpdate": "connectorEndpointUpdate"; "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>;
|
|
15561
|
+
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; }; "fitPadding": { "alias": "fitPadding"; "required": false; "isSignal": true; }; "maxFitScale": { "alias": "maxFitScale"; "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; }; "gridSpacing": { "alias": "gridSpacing"; "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; }; "exposeElementIds": { "alias": "exposeElementIds"; "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"; "transformEnd": "transformEnd"; "adjustUpdate": "adjustUpdate"; "connectorEndpointUpdate": "connectorEndpointUpdate"; "contextMenu": "contextMenu"; "textEditStart": "textEditStart"; "textCommit": "textCommit"; "textInput": "textInput"; "textCancel": "textCancel"; "textFormat": "textFormat"; "listSession": "listSession"; "rotateUpdate": "rotateUpdate"; "marqueeSelect": "marqueeSelect"; "inkStrokeComplete": "inkStrokeComplete"; "eraserHit": "eraserHit"; "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, ["*"], true, never>;
|
|
14789
15562
|
}
|
|
14790
15563
|
|
|
14791
15564
|
/** Injectable bevel lighting `<filter>` descriptor: id + sanitized markup. */
|
|
@@ -15003,6 +15776,8 @@ declare class ElementRendererComponent {
|
|
|
15003
15776
|
readonly isImageLike: _angular_core.Signal<boolean>;
|
|
15004
15777
|
/** Element kinds routed to `ElementRendererGraphicsComponent`; see `GRAPHICS_ELEMENT_TYPES`. */
|
|
15005
15778
|
readonly isGraphicsElement: _angular_core.Signal<boolean>;
|
|
15779
|
+
/** Hit target for a degenerate `group`; other branches compute their own (issue #285). */
|
|
15780
|
+
readonly hitTargetStyle: _angular_core.Signal<StyleMap | undefined>;
|
|
15006
15781
|
readonly placeholderLabel: _angular_core.Signal<any>;
|
|
15007
15782
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ElementRendererComponent, never>;
|
|
15008
15783
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ElementRendererComponent, "pptx-element-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "obstacles": { "alias": "obstacles"; "required": false; "isSignal": true; }; "canvasWidth": { "alias": "canvasWidth"; "required": false; "isSignal": true; }; "canvasHeight": { "alias": "canvasHeight"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "marked": { "alias": "marked"; "required": false; "isSignal": true; }; "exposeElementId": { "alias": "exposeElementId"; "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; }; "editingElementId": { "alias": "editingElementId"; "required": false; "isSignal": true; }; }, { "cellCommit": "cellCommit"; "tableChange": "tableChange"; }, never, never, true, never>;
|
|
@@ -15713,6 +16488,8 @@ declare class InkRendererComponent {
|
|
|
15713
16488
|
readonly zIndex: _angular_core.InputSignal<number>;
|
|
15714
16489
|
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
15715
16490
|
readonly replay: _angular_core.InputSignal<boolean>;
|
|
16491
|
+
/** Whether inline editing (drag/resize) is enabled on this surface. */
|
|
16492
|
+
readonly editable: _angular_core.InputSignal<boolean>;
|
|
15716
16493
|
/**
|
|
15717
16494
|
* Emit the neutral element marker (`data-pptx-element="true"`) on this
|
|
15718
16495
|
* renderer's root, the node that also carries `data-element-id`.
|
|
@@ -15736,11 +16513,17 @@ declare class InkRendererComponent {
|
|
|
15736
16513
|
readonly elementIdAttr: _angular_core.Signal<string | null>;
|
|
15737
16514
|
readonly replayKeyframes = "@keyframes pptx-ink-replay {\n from { stroke-dashoffset: var(--ink-path-length); }\n to { stroke-dashoffset: 0; }\n}";
|
|
15738
16515
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
16516
|
+
/**
|
|
16517
|
+
* Interaction-only hit target for a degenerate ink element; `replay()` is
|
|
16518
|
+
* this renderer's own name for `presenting` (see its doc). See
|
|
16519
|
+
* `ElementRendererShapeComponent.hitTargetStyle`'s fuller doc (issue #285).
|
|
16520
|
+
*/
|
|
16521
|
+
readonly hitTargetStyle: _angular_core.Signal<CssStyleMap | undefined>;
|
|
15739
16522
|
readonly strokes: _angular_core.Signal<InkGroupStrokeView[]>;
|
|
15740
16523
|
readonly replayStyles: _angular_core.Signal<InkStrokeAnimationStyle[]>;
|
|
15741
16524
|
readonly viewBox: _angular_core.Signal<string>;
|
|
15742
16525
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkRendererComponent, never>;
|
|
15743
|
-
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; }; "exposeElementId": { "alias": "exposeElementId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16526
|
+
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; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "markElement": { "alias": "markElement"; "required": false; "isSignal": true; }; "exposeElementId": { "alias": "exposeElementId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15744
16527
|
}
|
|
15745
16528
|
|
|
15746
16529
|
/**
|
|
@@ -15972,8 +16755,17 @@ declare class Model3DRendererComponent implements OnDestroy {
|
|
|
15972
16755
|
* `ElementRendererComponent.exposeElementId`.
|
|
15973
16756
|
*/
|
|
15974
16757
|
readonly exposeElementId: _angular_core.InputSignal<boolean>;
|
|
16758
|
+
/** Whether inline editing (drag/resize) is enabled on this surface. */
|
|
16759
|
+
readonly editable: _angular_core.InputSignal<boolean>;
|
|
16760
|
+
/** True only on the live presentation stage; see `ElementRendererComponent.presenting`. */
|
|
16761
|
+
readonly presenting: _angular_core.InputSignal<boolean>;
|
|
15975
16762
|
/** `data-element-id` for this element, or null on a miniature surface. */
|
|
15976
16763
|
readonly elementIdAttr: _angular_core.Signal<string | null>;
|
|
16764
|
+
/**
|
|
16765
|
+
* Interaction-only hit target for a degenerate 3D model; see
|
|
16766
|
+
* `ElementRendererShapeComponent.hitTargetStyle`'s fuller doc (issue #285).
|
|
16767
|
+
*/
|
|
16768
|
+
readonly hitTargetStyle: _angular_core.Signal<CssStyleMap | undefined>;
|
|
15977
16769
|
private readonly sceneRef;
|
|
15978
16770
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
15979
16771
|
readonly vm: _angular_core.Signal<Model3DViewModel>;
|
|
@@ -15995,7 +16787,7 @@ declare class Model3DRendererComponent implements OnDestroy {
|
|
|
15995
16787
|
private teardownHandle;
|
|
15996
16788
|
ngOnDestroy(): void;
|
|
15997
16789
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
|
|
15998
|
-
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; }; "exposeElementId": { "alias": "exposeElementId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16790
|
+
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; }; "exposeElementId": { "alias": "exposeElementId"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15999
16791
|
}
|
|
16000
16792
|
|
|
16001
16793
|
/** Resolves a `pptx.*` key, interpolating `{{...}}` params when given. */
|
|
@@ -16107,7 +16899,16 @@ declare class ZoomRendererComponent {
|
|
|
16107
16899
|
* click-to-jump, which only happens inside a running presentation).
|
|
16108
16900
|
*/
|
|
16109
16901
|
readonly markElement: _angular_core.InputSignal<boolean>;
|
|
16902
|
+
/** Whether inline editing (drag/resize) is enabled on this surface. */
|
|
16903
|
+
readonly editable: _angular_core.InputSignal<boolean>;
|
|
16904
|
+
/** True only on the live presentation stage; see `ElementRendererComponent.presenting`. */
|
|
16905
|
+
readonly presenting: _angular_core.InputSignal<boolean>;
|
|
16110
16906
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
16907
|
+
/**
|
|
16908
|
+
* Interaction-only hit target for a degenerate zoom tile; see
|
|
16909
|
+
* `ElementRendererShapeComponent.hitTargetStyle`'s fuller doc (issue #285).
|
|
16910
|
+
*/
|
|
16911
|
+
readonly hitTargetStyle: _angular_core.Signal<CssStyleMap | undefined>;
|
|
16111
16912
|
/**
|
|
16112
16913
|
* Target-slide lookup, provided by the viewer. `null` in trees that do not
|
|
16113
16914
|
* provide it (e.g. isolated component tests), where the fallback thumbnail
|
|
@@ -16136,7 +16937,7 @@ declare class ZoomRendererComponent {
|
|
|
16136
16937
|
protected onClick(event: MouseEvent): void;
|
|
16137
16938
|
protected onKeydown(event: KeyboardEvent): void;
|
|
16138
16939
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomRendererComponent, never>;
|
|
16139
|
-
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>;
|
|
16940
|
+
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; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16140
16941
|
}
|
|
16141
16942
|
|
|
16142
16943
|
/** Inline style record as Angular's `[ngStyle]` consumes it. */
|
|
@@ -20630,7 +21431,7 @@ declare class AccountPageComponent {
|
|
|
20630
21431
|
readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
|
|
20631
21432
|
private readonly translate;
|
|
20632
21433
|
protected readonly swatches: readonly string[];
|
|
20633
|
-
protected readonly version = "3.
|
|
21434
|
+
protected readonly version = "3.19.0";
|
|
20634
21435
|
protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
|
|
20635
21436
|
protected readonly initial: _angular_core.Signal<string>;
|
|
20636
21437
|
protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
|
|
@@ -21764,87 +22565,6 @@ declare function newChartElement(chartKind?: InsertChartKind | PptxChartType): P
|
|
|
21764
22565
|
*/
|
|
21765
22566
|
declare function newPresetShapeElement(shapeType: ShapePresetType, name?: string): PptxElement;
|
|
21766
22567
|
|
|
21767
|
-
/**
|
|
21768
|
-
* selection-geometry.ts: Pure geometry helpers for `SlideCanvasComponent`'s
|
|
21769
|
-
* selection outline, resize/rotate/adjust handles, and the
|
|
21770
|
-
* pointer-target-to-interactive-element resolution. No Angular dependency, so
|
|
21771
|
-
* these are trivially unit-testable and reusable outside the component.
|
|
21772
|
-
*/
|
|
21773
|
-
|
|
21774
|
-
/** A selected element's bounding box (stage coords), keyed by id. */
|
|
21775
|
-
interface SelectionBox extends Box {
|
|
21776
|
-
id: string;
|
|
21777
|
-
}
|
|
21778
|
-
/** A resize-handle's render box (stage coords) plus its cursor style. */
|
|
21779
|
-
interface HandleBox {
|
|
21780
|
-
handle: ResizeHandle;
|
|
21781
|
-
left: number;
|
|
21782
|
-
top: number;
|
|
21783
|
-
size: number;
|
|
21784
|
-
cursor: string;
|
|
21785
|
-
}
|
|
21786
|
-
/** A rotate/adjust handle's render box (stage coords). */
|
|
21787
|
-
interface CornerHandleBox {
|
|
21788
|
-
left: number;
|
|
21789
|
-
top: number;
|
|
21790
|
-
size: number;
|
|
21791
|
-
}
|
|
21792
|
-
/** Bounding boxes (stage coords) for the given selected element ids. */
|
|
21793
|
-
declare function computeSelectionBoxes(elements: readonly PptxElement[], selectedIds: readonly string[]): SelectionBox[];
|
|
21794
|
-
/** The single selected element's box, or null when 0 or >1 are selected. */
|
|
21795
|
-
declare function computeSingleSelected(elements: readonly PptxElement[], selectedIds: readonly string[]): (Box & {
|
|
21796
|
-
id: string;
|
|
21797
|
-
}) | null;
|
|
21798
|
-
/** Resize-handle render boxes (stage coords) for the single selection. */
|
|
21799
|
-
declare function computeHandleBoxes(box: (Box & {
|
|
21800
|
-
id: string;
|
|
21801
|
-
}) | null, editable: boolean, handleScreenPx: number, zoom: number): HandleBox[];
|
|
21802
|
-
/**
|
|
21803
|
-
* Resize-handle boxes for the single selection, suppressed entirely when the
|
|
21804
|
-
* element's authored `a:spLocks` forbids resizing.
|
|
21805
|
-
*
|
|
21806
|
-
* The lock question is asked HERE rather than in the component so the rule is
|
|
21807
|
-
* unit-testable without Angular, and so the render gate and the pointer-down
|
|
21808
|
-
* gate ({@link canInteractWithElement}) can never disagree: a handle the user
|
|
21809
|
-
* cannot see is also a handle the pointer path refuses.
|
|
21810
|
-
*/
|
|
21811
|
-
declare function computeResizeHandleBoxes(element: PptxElement | null | undefined, box: (Box & {
|
|
21812
|
-
id: string;
|
|
21813
|
-
}) | null, editable: boolean, handleScreenPx: number, zoom: number): HandleBox[];
|
|
21814
|
-
/**
|
|
21815
|
-
* A corner handle box (rotate or shape-adjust) offset above/outside the
|
|
21816
|
-
* single selection's box by `offsetPx` (screen pixels, scaled by zoom).
|
|
21817
|
-
*/
|
|
21818
|
-
declare function computeCornerHandle(box: (Box & {
|
|
21819
|
-
id: string;
|
|
21820
|
-
}) | null, editable: boolean, handleScreenPx: number, offsetPx: number, zoom: number, corner: 'top-center' | 'top-left'): CornerHandleBox | null;
|
|
21821
|
-
/**
|
|
21822
|
-
* The rotate-knob box for the single selection, or null when the element's
|
|
21823
|
-
* authored `a:spLocks/@noRotation` forbids the gesture. Companion to
|
|
21824
|
-
* {@link computeResizeHandleBoxes}; see that function for why the lock check
|
|
21825
|
-
* lives in this module.
|
|
21826
|
-
*/
|
|
21827
|
-
declare function computeRotateHandleBox(element: PptxElement | null | undefined, box: (Box & {
|
|
21828
|
-
id: string;
|
|
21829
|
-
}) | null, editable: boolean, handleScreenPx: number, offsetPx: number, zoom: number): CornerHandleBox | null;
|
|
21830
|
-
/**
|
|
21831
|
-
* Resolve the id of the interactive element under a pointer target, or null.
|
|
21832
|
-
*
|
|
21833
|
-
* Resolution goes through the shared hit-test, which answers with the TOP-LEVEL
|
|
21834
|
-
* element rather than the innermost `data-element-id` node. That distinction is
|
|
21835
|
-
* the whole point here: a group renders its children's nodes inside its own, so
|
|
21836
|
-
* the innermost node under a click is usually a grouped CHILD, whose id is not
|
|
21837
|
-
* in `allElements`. This function used to look that child id up, find nothing,
|
|
21838
|
-
* and report "no element", which CLEARED the selection: Ungroup was then only
|
|
21839
|
-
* reachable by hitting a gap inside the group's box that missed every child.
|
|
21840
|
-
* PowerPoint (and React, Vanilla and Svelte) select the group instead.
|
|
21841
|
-
*
|
|
21842
|
-
* Template (master/layout) elements are only interactive while
|
|
21843
|
-
* `editTemplateMode` is on; when off they are reported as null so the canvas
|
|
21844
|
-
* treats them as background (no select/drag/context-menu/inline-edit).
|
|
21845
|
-
*/
|
|
21846
|
-
declare function resolveInteractiveElementId(target: EventTarget | null, allElements: readonly PptxElement[], editTemplateMode: boolean): string | null;
|
|
21847
|
-
|
|
21848
22568
|
/**
|
|
21849
22569
|
* chart-advanced-helpers.ts: Pure immutable wrappers around the remaining
|
|
21850
22570
|
* advanced chart-editing core ops that `chart-data-helpers.ts` does not already
|
|
@@ -22147,6 +22867,10 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
22147
22867
|
* SVG fallback branch is drawn into. Set only by the main interactive canvas.
|
|
22148
22868
|
*/
|
|
22149
22869
|
readonly markElement: _angular_core.InputSignal<boolean>;
|
|
22870
|
+
/** Whether inline editing (drag/resize) is enabled on this surface. */
|
|
22871
|
+
readonly editable: _angular_core.InputSignal<boolean>;
|
|
22872
|
+
/** True only on the live presentation stage; see `ElementRendererComponent.presenting`. */
|
|
22873
|
+
readonly presenting: _angular_core.InputSignal<boolean>;
|
|
22150
22874
|
/**
|
|
22151
22875
|
* Active font-style emphasis override (Bold Flash, Bold Reveal, Underline,
|
|
22152
22876
|
* Change Font Style/Size) for every node's caption, driven by native-
|
|
@@ -22175,6 +22899,11 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
22175
22899
|
private readonly slideContext;
|
|
22176
22900
|
private readonly injector;
|
|
22177
22901
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
22902
|
+
/**
|
|
22903
|
+
* Interaction-only hit target for a degenerate 3D SmartArt; see
|
|
22904
|
+
* `ElementRendererShapeComponent.hitTargetStyle`'s fuller doc (issue #285).
|
|
22905
|
+
*/
|
|
22906
|
+
readonly hitTargetStyle: _angular_core.Signal<CssStyleMap | undefined>;
|
|
22178
22907
|
private readonly smartArtData;
|
|
22179
22908
|
private readonly model;
|
|
22180
22909
|
constructor();
|
|
@@ -22195,7 +22924,7 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
22195
22924
|
private applyCommit;
|
|
22196
22925
|
ngOnDestroy(): void;
|
|
22197
22926
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DRendererComponent, never>;
|
|
22198
|
-
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; }; "textStyle": { "alias": "textStyle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
22927
|
+
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; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "textStyle": { "alias": "textStyle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
22199
22928
|
}
|
|
22200
22929
|
|
|
22201
22930
|
declare class SmartArtPreviewComponent {
|
|
@@ -22749,7 +23478,9 @@ declare class RibbonFileSectionComponent {
|
|
|
22749
23478
|
|
|
22750
23479
|
declare class RibbonFontControlsComponent {
|
|
22751
23480
|
private readonly editor;
|
|
23481
|
+
private readonly inlineEditing;
|
|
22752
23482
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
23483
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
22753
23484
|
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
22754
23485
|
private readonly loader;
|
|
22755
23486
|
private readonly customFonts;
|
|
@@ -22812,7 +23543,7 @@ declare class RibbonFontControlsComponent {
|
|
|
22812
23543
|
protected clearFormatting(): void;
|
|
22813
23544
|
private patch;
|
|
22814
23545
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonFontControlsComponent, never>;
|
|
22815
|
-
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>;
|
|
23546
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RibbonFontControlsComponent, "pptx-ribbon-font-controls", never, { "slideIndex": { "alias": "slideIndex"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "selectedElement": { "alias": "selectedElement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
22816
23547
|
}
|
|
22817
23548
|
|
|
22818
23549
|
/**
|
|
@@ -23003,6 +23734,7 @@ declare class RibbonInsertSectionComponent {
|
|
|
23003
23734
|
|
|
23004
23735
|
declare class RibbonParagraphControlsComponent {
|
|
23005
23736
|
private readonly editor;
|
|
23737
|
+
private readonly inlineEditing;
|
|
23006
23738
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
23007
23739
|
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
23008
23740
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
@@ -23190,12 +23922,15 @@ declare function textStyleOf(el: PptxElement | null): TextStyle | null;
|
|
|
23190
23922
|
/** Whether the given element can take text formatting. */
|
|
23191
23923
|
declare function isTextElement(el: PptxElement | null): boolean;
|
|
23192
23924
|
/** Merge `patch` into the selection's text style and commit via the editor. */
|
|
23193
|
-
declare function
|
|
23925
|
+
declare function formatInlineListStyle(el: PptxElement, patch: Partial<TextStyle>, draft: InlineTextEditSnapshot, formatSnapshot: (snapshot: InlineTextEditSnapshot) => boolean): (ElementBulletPatch & {
|
|
23926
|
+
text: string;
|
|
23927
|
+
}) | undefined;
|
|
23928
|
+
declare function patchTextStyle(editor: EditorStateService, slideIndex: number, el: PptxElement | null, patch: Partial<TextStyle>, snapshot?: InlineTextEditSnapshot, formatSnapshot?: (snapshot: InlineTextEditSnapshot) => boolean): void;
|
|
23194
23929
|
/**
|
|
23195
23930
|
* Rewrite the selection's text characters (ribbon Aa "Change Case" dropdown).
|
|
23196
23931
|
* Unlike {@link patchTextStyle}, this mutates content, not style.
|
|
23197
23932
|
*/
|
|
23198
|
-
declare function transformSelectedTextCase(editor: EditorStateService, slideIndex: number, el: PptxElement | null, mode: ChangeCaseMode): void;
|
|
23933
|
+
declare function transformSelectedTextCase(editor: EditorStateService, slideIndex: number, el: PptxElement | null, mode: ChangeCaseMode, snapshot?: InlineTextEditSnapshot, endSession?: () => void): void;
|
|
23199
23934
|
|
|
23200
23935
|
declare class RibbonTransitionsSectionComponent {
|
|
23201
23936
|
private readonly editor;
|
|
@@ -23576,6 +24311,12 @@ declare class MediaRendererComponent {
|
|
|
23576
24311
|
readonly interactive: _angular_core.InputSignal<boolean>;
|
|
23577
24312
|
/** Keep the data-pptx-element marker on interaction-locked template elements. */
|
|
23578
24313
|
readonly marked: _angular_core.InputSignal<boolean>;
|
|
24314
|
+
/**
|
|
24315
|
+
* Whether inline editing (drag/resize) is enabled on this surface. Distinct
|
|
24316
|
+
* from {@link interactive} above, which gates the transport/pointer-events
|
|
24317
|
+
* inertness and has its own, already-established semantics.
|
|
24318
|
+
*/
|
|
24319
|
+
readonly editable: _angular_core.InputSignal<boolean>;
|
|
23579
24320
|
/**
|
|
23580
24321
|
* When true (default), the rendered node carries `data-element-id`. The
|
|
23581
24322
|
* miniature surfaces that paint every slide at once turn it off so one
|
|
@@ -23636,6 +24377,11 @@ declare class MediaRendererComponent {
|
|
|
23636
24377
|
private readonly translate;
|
|
23637
24378
|
readonly fallbackLabel: _angular_core.Signal<string>;
|
|
23638
24379
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
24380
|
+
/**
|
|
24381
|
+
* Interaction-only hit target for a degenerate media element; see
|
|
24382
|
+
* `ElementRendererShapeComponent.hitTargetStyle`'s fuller doc (issue #285).
|
|
24383
|
+
*/
|
|
24384
|
+
readonly hitTargetStyle: _angular_core.Signal<CssStyleMap | undefined>;
|
|
23639
24385
|
/** Poster / preview frame data-URL (also used as the `<video poster>`). */
|
|
23640
24386
|
readonly poster: _angular_core.Signal<string | undefined>;
|
|
23641
24387
|
/** Playable source URL (inline data URL or resolved archive path). */
|
|
@@ -23646,7 +24392,7 @@ declare class MediaRendererComponent {
|
|
|
23646
24392
|
readonly captionTracks: _angular_core.Signal<ResolvedCaptionTrack[]>;
|
|
23647
24393
|
readonly clrChangeParams: _angular_core.Signal<ClrChangeParams | undefined>;
|
|
23648
24394
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MediaRendererComponent, never>;
|
|
23649
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaRendererComponent, "pptx-media-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "marked": { "alias": "marked"; "required": false; "isSignal": true; }; "exposeElementId": { "alias": "exposeElementId"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "placeholderLabel": { "alias": "placeholderLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
24395
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaRendererComponent, "pptx-media-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "marked": { "alias": "marked"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "exposeElementId": { "alias": "exposeElementId"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "placeholderLabel": { "alias": "placeholderLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
23650
24396
|
}
|
|
23651
24397
|
|
|
23652
24398
|
/**
|
|
@@ -24115,6 +24861,6 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
|
|
|
24115
24861
|
*/
|
|
24116
24862
|
declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
|
|
24117
24863
|
|
|
24118
|
-
export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EFFECT_SOUND_CATALOGUE, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, OutlineViewOverlayComponent, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldBlockClickAdvance, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
|
|
24119
|
-
export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, ActiveShow, AiCanvasHighlight, AiChatInitState, AiHistoryInitDeps, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AuthoredRange, AwarenessLike, BarRect, Box, BridgeDeps, BroadcastConfig, BroadcastDefaults, BubbleRadiusOptions, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartSvgDef, ChartSvgPatternDef, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectSoundState, EffectsState, EmbeddedFontStyles, EquationTemplate, EyedropperResult, FindOptions, FindResult, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InkStrokeView, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OutlineCommit, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentToolbarAction, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PresenterTimerProgress, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedFontVariant, ResolvedOleType, RulerUnit, SavedPresentationFormat, ScatterDot, ScatterXDomain, SelectionBox, SessionDeck, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, ToolbarActionId, TouchGestureCallbacks, TranslationKey, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, ZoomTranslate, ZoomViewModel };
|
|
24864
|
+
export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CINEMATIC_TRANSITION_KEYFRAMES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_MORPH_DURATION_MS, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EASE, EFFECT_SOUND_CATALOGUE, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, INSTANT, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, OutlineViewOverlayComponent, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RANDOM_ELIGIBLE_TYPES, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, DEFAULT_TRANSITION_DURATION_MS as SHARED_DEFAULT_TRANSITION_DURATION_MS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, 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, TRANSITION_SPEED_DURATION_MS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createImageElementFromFile, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatInlineListStyle, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getCinematicTransitionAnimations, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getP14TransitionAnimations, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveDirection, resolveDirection8, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveOrientation, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolveSlideTransition, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, resolveTransitionDurationMs, resolveWheelSpokeCount, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldBlockClickAdvance, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
|
|
24865
|
+
export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, ActiveShow, AiCanvasHighlight, AiChatInitState, AiHistoryInitDeps, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AuthoredRange, AwarenessLike, BarRect, Box, BridgeDeps, BroadcastConfig, BroadcastDefaults, BubbleRadiusOptions, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartSvgDef, ChartSvgPatternDef, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectSoundState, EffectsState, ElementUpdate, ElementUpdateOptions, EmbeddedFontStyles, EquationTemplate, EyedropperResult, FindOptions, FindResult, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InkStrokeView, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OutlineCommit, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentToolbarAction, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PresenterTimerProgress, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedDirection, ResolvedDirection8, ResolvedFontVariant, ResolvedOleType, RulerUnit, SavedPresentationFormat, ScatterDot, ScatterXDomain, SelectionBox, SessionDeck, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, ToolbarActionId, TouchGestureCallbacks, TranslationKey, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, ZoomTranslate, ZoomViewModel };
|
|
24120
24866
|
//# sourceMappingURL=pptx-angular-viewer.d.ts.map
|