pptx-angular-viewer 3.17.1 → 3.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +60 -23
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-B_pq-wB6.mjs → pptx-angular-viewer-chat-history-idb-lCsLrnG8.mjs} +2 -2
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-B_pq-wB6.mjs.map → pptx-angular-viewer-chat-history-idb-lCsLrnG8.mjs.map} +1 -1
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-CK_kxJxU.mjs → pptx-angular-viewer-pptx-angular-viewer-Dzj6J2s2.mjs} +9023 -5740
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-CK_kxJxU.mjs.map → pptx-angular-viewer-pptx-angular-viewer-Dzj6J2s2.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 +45 -5
- package/pptx-angular-viewer.css +1 -1
- package/types/pptx-angular-viewer.d.ts +863 -107
- 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. */
|
|
@@ -3510,6 +3587,377 @@ declare function bulletIndentPx(level: number | undefined): number;
|
|
|
3510
3587
|
*/
|
|
3511
3588
|
|
|
3512
3589
|
type ParagraphBulletKind = 'bullet' | 'numbered' | 'none';
|
|
3590
|
+
/** The list state of several paragraphs: `'mixed'` when they disagree. */
|
|
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
|
+
}
|
|
3513
3961
|
|
|
3514
3962
|
/**
|
|
3515
3963
|
* notes-utils.ts: framework-agnostic pure helpers for the rich speaker-notes
|
|
@@ -4587,6 +5035,60 @@ interface SlideTransitionAnimations {
|
|
|
4587
5035
|
/** Whether the outgoing layer should render above the incoming layer. */
|
|
4588
5036
|
outgoingOnTop: boolean;
|
|
4589
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;
|
|
4590
5092
|
|
|
4591
5093
|
/**
|
|
4592
5094
|
* `slide-transition-keyframes` — the full `@keyframes` block backing every
|
|
@@ -4617,6 +5119,11 @@ interface SlideTransitionAnimations {
|
|
|
4617
5119
|
* transitions animate wherever this single string is injected.
|
|
4618
5120
|
*/
|
|
4619
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;
|
|
4620
5127
|
|
|
4621
5128
|
/**
|
|
4622
5129
|
* `slide-transition-css` — pure mapping from a {@link PptxSlideTransition}
|
|
@@ -4659,6 +5166,18 @@ declare const SLIDE_TRANSITION_KEYFRAMES: string;
|
|
|
4659
5166
|
* Unknown types fall back to a symmetrical cross-fade.
|
|
4660
5167
|
*/
|
|
4661
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;
|
|
4662
5181
|
|
|
4663
5182
|
/**
|
|
4664
5183
|
* `slide-transition-fragment-types` - shared types and small pure helpers for
|
|
@@ -4872,6 +5391,35 @@ interface SlideShowOptionDescriptor {
|
|
|
4872
5391
|
unsupported: boolean;
|
|
4873
5392
|
}
|
|
4874
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
|
+
|
|
4875
5423
|
/**
|
|
4876
5424
|
* smartart-accessibility.ts: framework-agnostic accessibility metadata for the
|
|
4877
5425
|
* SmartArt renderer, shared across the React, Vue, and Angular bindings.
|
|
@@ -5172,11 +5720,16 @@ declare function textColorOf(el: PptxElement): string;
|
|
|
5172
5720
|
* `a:lvl1pPr/a:defRPr@sz="1800"` when neither is available).
|
|
5173
5721
|
*/
|
|
5174
5722
|
declare function fontSizeOf(el: PptxElement, presentationDefault?: PlaceholderDefaults): number;
|
|
5175
|
-
/**
|
|
5723
|
+
/**
|
|
5724
|
+
* Returns whether the element's text is bold: every content run effectively
|
|
5725
|
+
* bold (run style, else the body style), false when absent. Derived from the
|
|
5726
|
+
* runs, not the body alone, so a box whose runs are all bold at run level
|
|
5727
|
+
* reads as bold and a mixed box does not (see `selection-format-state`).
|
|
5728
|
+
*/
|
|
5176
5729
|
declare function isBold(el: PptxElement): boolean;
|
|
5177
|
-
/** Returns whether the element's text is italic (
|
|
5730
|
+
/** Returns whether the element's text is italic (see {@link isBold} for the run rule). */
|
|
5178
5731
|
declare function isItalic(el: PptxElement): boolean;
|
|
5179
|
-
/** Returns whether the element's text has underline (
|
|
5732
|
+
/** Returns whether the element's text has underline (see {@link isBold} for the run rule). */
|
|
5180
5733
|
declare function isUnderline(el: PptxElement): boolean;
|
|
5181
5734
|
/**
|
|
5182
5735
|
* Changes to apply to shapeStyle: a subset of ShapeStyle fields editable
|
|
@@ -7016,6 +7569,17 @@ interface SummaryZoomView {
|
|
|
7016
7569
|
ariaLabel: string;
|
|
7017
7570
|
}
|
|
7018
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
|
+
|
|
7019
7583
|
/** One editable row in the master/layout background card. */
|
|
7020
7584
|
interface TemplateBackgroundRow {
|
|
7021
7585
|
/** The layout or master part path, passed to `setTemplateBackground`/`getTemplateBackgroundColor`. */
|
|
@@ -8080,6 +8644,17 @@ interface OleIconShape {
|
|
|
8080
8644
|
*/
|
|
8081
8645
|
declare function registerCrossSlideAudio(element: MediaPptxElement, src: string | undefined): boolean;
|
|
8082
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
|
+
|
|
8083
8658
|
/**
|
|
8084
8659
|
* Grouping needs an editable deck, at least two selected elements, and (when
|
|
8085
8660
|
* the caller can supply it) none of those elements locked against grouping.
|
|
@@ -8219,6 +8794,27 @@ interface ViewportFitOptions {
|
|
|
8219
8794
|
maxFitScale?: number | null;
|
|
8220
8795
|
}
|
|
8221
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
|
+
|
|
8222
8818
|
/**
|
|
8223
8819
|
* Minimal GIF89a encoder (pure JS, no external dependency) plus pure
|
|
8224
8820
|
* frame-planning helpers — shared by the React, Vue, and Angular bindings.
|
|
@@ -8431,6 +9027,51 @@ interface RasterizeElementTilesResult {
|
|
|
8431
9027
|
tiles: RasterizedTile[];
|
|
8432
9028
|
}
|
|
8433
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
|
+
|
|
8434
9075
|
/**
|
|
8435
9076
|
* Thin re-export shim → vendored `pptx-viewer-shared` (`render/embedded-fonts`).
|
|
8436
9077
|
*
|
|
@@ -9815,7 +10456,10 @@ declare class EditorStateService {
|
|
|
9815
10456
|
applyConnectorEndpoint(slideIndex: number, id: string, element: PptxElement): void;
|
|
9816
10457
|
undo(): void;
|
|
9817
10458
|
redo(): void;
|
|
9818
|
-
/**
|
|
10459
|
+
/**
|
|
10460
|
+
* Align the selected elements (one history entry): two or more against their
|
|
10461
|
+
* shared bounds, a lone element against the slide, as in PowerPoint.
|
|
10462
|
+
*/
|
|
9819
10463
|
alignSelected(slideIndex: number, mode: AlignMode): void;
|
|
9820
10464
|
/** Evenly distribute the selected elements along an axis (one history entry). */
|
|
9821
10465
|
distributeSelected(slideIndex: number, mode: DistributeMode): void;
|
|
@@ -10011,6 +10655,9 @@ declare class IsMobileService {
|
|
|
10011
10655
|
* signatures, …) were added alongside the corresponding features.
|
|
10012
10656
|
*/
|
|
10013
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;
|
|
10014
10661
|
/** Parsed slides (with image Blob URLs patched in). */
|
|
10015
10662
|
readonly slides: _angular_core.WritableSignal<PptxSlide[]>;
|
|
10016
10663
|
/**
|
|
@@ -10934,6 +11581,15 @@ declare class ViewerCanvasEditingService {
|
|
|
10934
11581
|
private readonly viewerOpts;
|
|
10935
11582
|
/** Id of the element being inline text-edited, or null. */
|
|
10936
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;
|
|
10937
11593
|
/** Open editor context-menu position (client coords), or null. */
|
|
10938
11594
|
readonly contextMenuPos: _angular_core.WritableSignal<{
|
|
10939
11595
|
x: number;
|
|
@@ -10968,11 +11624,13 @@ declare class ViewerCanvasEditingService {
|
|
|
10968
11624
|
onTextInput(event: {
|
|
10969
11625
|
id: string;
|
|
10970
11626
|
text: string;
|
|
11627
|
+
snapshot?: InlineTextEditSnapshot;
|
|
10971
11628
|
}): void;
|
|
10972
11629
|
/** Commit an inline text edit without flattening its rich-text runs. */
|
|
10973
11630
|
onTextCommit(event: {
|
|
10974
11631
|
id: string;
|
|
10975
11632
|
text: string;
|
|
11633
|
+
snapshot?: InlineTextEditSnapshot;
|
|
10976
11634
|
height?: number;
|
|
10977
11635
|
autoFitFontScale?: number;
|
|
10978
11636
|
autoFitLineSpacingReduction?: number;
|
|
@@ -12434,6 +13092,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
|
|
|
12434
13092
|
private readonly destroyRef;
|
|
12435
13093
|
protected readonly dialogs: ViewerDialogsService;
|
|
12436
13094
|
protected readonly viewerOpts: ViewerOptionsService;
|
|
13095
|
+
private readonly masterInlineEditor;
|
|
12437
13096
|
private readonly compareSvc;
|
|
12438
13097
|
protected readonly xport: ViewerExportService;
|
|
12439
13098
|
protected readonly findReplace: ViewerFindReplaceService;
|
|
@@ -12466,8 +13125,10 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
|
|
|
12466
13125
|
private readonly extraDialogs;
|
|
12467
13126
|
/** Surface the encrypted-file notice dialog alongside the inline fallback. */
|
|
12468
13127
|
private readonly encryptedNotice;
|
|
13128
|
+
private readonly editorCanvas;
|
|
12469
13129
|
/** The `<main>` host; used to locate the live `.pptx-ng-canvas-stage`. */
|
|
12470
13130
|
private readonly mainEl;
|
|
13131
|
+
private readonly viewerRoot;
|
|
12471
13132
|
/**
|
|
12472
13133
|
* Whether the CURRENT document's Protected View lock was lifted via the
|
|
12473
13134
|
* banner's "Enable Editing" button this session. A document the host
|
|
@@ -12873,6 +13534,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
|
|
|
12873
13534
|
getElementById(elementId: string, slideIndex?: number): PptxElement | undefined;
|
|
12874
13535
|
/** Insert a defensive copy into the active ordinary editable slide. */
|
|
12875
13536
|
addElement(element: PptxElement): string | undefined;
|
|
13537
|
+
updateElements(updates: readonly ElementUpdate[], options?: ElementUpdateOptions): Promise<void>;
|
|
12876
13538
|
/** Update one or more properties of an element by ID. */
|
|
12877
13539
|
updateElement(elementId: string, updates: Partial<PptxElement>): void;
|
|
12878
13540
|
/** Delete elements by their IDs from the active slide. */
|
|
@@ -14194,6 +14856,110 @@ declare class RulerGuidesService {
|
|
|
14194
14856
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
14195
14857
|
}
|
|
14196
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
|
+
|
|
14197
14963
|
/**
|
|
14198
14964
|
* shape-adjust-handle.ts: the Angular view-mapping for the SHARED shape
|
|
14199
14965
|
* adjustment (`a:avLst`) affordance.
|
|
@@ -14472,6 +15238,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14472
15238
|
readonly textCommit: _angular_core.OutputEmitterRef<{
|
|
14473
15239
|
id: string;
|
|
14474
15240
|
text: string;
|
|
15241
|
+
snapshot?: InlineTextEditSnapshot;
|
|
14475
15242
|
height?: number;
|
|
14476
15243
|
autoFitFontScale?: number;
|
|
14477
15244
|
autoFitLineSpacingReduction?: number;
|
|
@@ -14484,6 +15251,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14484
15251
|
readonly textInput: _angular_core.OutputEmitterRef<{
|
|
14485
15252
|
id: string;
|
|
14486
15253
|
text: string;
|
|
15254
|
+
snapshot?: InlineTextEditSnapshot;
|
|
14487
15255
|
}>;
|
|
14488
15256
|
/** Emitted when an inline edit is cancelled (Escape). */
|
|
14489
15257
|
readonly textCancel: _angular_core.OutputEmitterRef<void>;
|
|
@@ -14492,6 +15260,10 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14492
15260
|
id: string;
|
|
14493
15261
|
updates: Partial<TextStyle>;
|
|
14494
15262
|
}>;
|
|
15263
|
+
readonly listSession: _angular_core.OutputEmitterRef<{
|
|
15264
|
+
controller: InlineListController;
|
|
15265
|
+
active: boolean;
|
|
15266
|
+
}>;
|
|
14495
15267
|
/** Emitted during a rotate gesture with the new rotation (degrees). */
|
|
14496
15268
|
readonly rotateUpdate: _angular_core.OutputEmitterRef<{
|
|
14497
15269
|
id: string;
|
|
@@ -14513,6 +15285,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14513
15285
|
id: string;
|
|
14514
15286
|
tableData: PptxTableData;
|
|
14515
15287
|
}>;
|
|
15288
|
+
hasActivePointerInteraction(): boolean;
|
|
14516
15289
|
private drag;
|
|
14517
15290
|
/** Live shape-adjustment gesture (amber diamond), or null when idle. */
|
|
14518
15291
|
private adjustDrag;
|
|
@@ -14539,6 +15312,13 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14539
15312
|
/** Per-instance user-created ruler-guide controller. */
|
|
14540
15313
|
protected readonly rulerGuidesSvc: RulerGuidesService;
|
|
14541
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;
|
|
14542
15322
|
private readonly stageRef;
|
|
14543
15323
|
private readonly viewportRef;
|
|
14544
15324
|
/** Per-instance auto-fit scale measurement (see {@link CanvasFitService}). */
|
|
@@ -14605,6 +15385,8 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14605
15385
|
* for an element whose authored `a:spLocks/@noResize` pins its size.
|
|
14606
15386
|
*/
|
|
14607
15387
|
readonly handleBoxes: _angular_core.Signal<pptx_angular_viewer.HandleBox[]>;
|
|
15388
|
+
readonly resizeHitAreaStyle: typeof getResizeHandleHitAreaStyle;
|
|
15389
|
+
readonly selectionControlArtwork: typeof selectionControlArtwork;
|
|
14608
15390
|
/**
|
|
14609
15391
|
* Rotation-handle box (stage coords) above the single selection, or null (also
|
|
14610
15392
|
* null when `a:spLocks/@noRotation` is authored on the element).
|
|
@@ -14673,6 +15455,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14673
15455
|
width: number;
|
|
14674
15456
|
height: number;
|
|
14675
15457
|
text: string;
|
|
15458
|
+
element: PptxElement;
|
|
14676
15459
|
} | null>;
|
|
14677
15460
|
/**
|
|
14678
15461
|
* May inline text editing begin on this element? Honours the authored
|
|
@@ -14775,7 +15558,7 @@ declare class SlideCanvasComponent implements SlideContext {
|
|
|
14775
15558
|
} | null>;
|
|
14776
15559
|
readonly stageStyle: _angular_core.Signal<StyleMap>;
|
|
14777
15560
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideCanvasComponent, never>;
|
|
14778
|
-
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>;
|
|
14779
15562
|
}
|
|
14780
15563
|
|
|
14781
15564
|
/** Injectable bevel lighting `<filter>` descriptor: id + sanitized markup. */
|
|
@@ -14993,6 +15776,8 @@ declare class ElementRendererComponent {
|
|
|
14993
15776
|
readonly isImageLike: _angular_core.Signal<boolean>;
|
|
14994
15777
|
/** Element kinds routed to `ElementRendererGraphicsComponent`; see `GRAPHICS_ELEMENT_TYPES`. */
|
|
14995
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>;
|
|
14996
15781
|
readonly placeholderLabel: _angular_core.Signal<any>;
|
|
14997
15782
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ElementRendererComponent, never>;
|
|
14998
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>;
|
|
@@ -15703,6 +16488,8 @@ declare class InkRendererComponent {
|
|
|
15703
16488
|
readonly zIndex: _angular_core.InputSignal<number>;
|
|
15704
16489
|
readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
|
|
15705
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>;
|
|
15706
16493
|
/**
|
|
15707
16494
|
* Emit the neutral element marker (`data-pptx-element="true"`) on this
|
|
15708
16495
|
* renderer's root, the node that also carries `data-element-id`.
|
|
@@ -15726,11 +16513,17 @@ declare class InkRendererComponent {
|
|
|
15726
16513
|
readonly elementIdAttr: _angular_core.Signal<string | null>;
|
|
15727
16514
|
readonly replayKeyframes = "@keyframes pptx-ink-replay {\n from { stroke-dashoffset: var(--ink-path-length); }\n to { stroke-dashoffset: 0; }\n}";
|
|
15728
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>;
|
|
15729
16522
|
readonly strokes: _angular_core.Signal<InkGroupStrokeView[]>;
|
|
15730
16523
|
readonly replayStyles: _angular_core.Signal<InkStrokeAnimationStyle[]>;
|
|
15731
16524
|
readonly viewBox: _angular_core.Signal<string>;
|
|
15732
16525
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InkRendererComponent, never>;
|
|
15733
|
-
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>;
|
|
15734
16527
|
}
|
|
15735
16528
|
|
|
15736
16529
|
/**
|
|
@@ -15962,8 +16755,17 @@ declare class Model3DRendererComponent implements OnDestroy {
|
|
|
15962
16755
|
* `ElementRendererComponent.exposeElementId`.
|
|
15963
16756
|
*/
|
|
15964
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>;
|
|
15965
16762
|
/** `data-element-id` for this element, or null on a miniature surface. */
|
|
15966
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>;
|
|
15967
16769
|
private readonly sceneRef;
|
|
15968
16770
|
readonly containerStyle: _angular_core.Signal<StyleMap>;
|
|
15969
16771
|
readonly vm: _angular_core.Signal<Model3DViewModel>;
|
|
@@ -15985,7 +16787,7 @@ declare class Model3DRendererComponent implements OnDestroy {
|
|
|
15985
16787
|
private teardownHandle;
|
|
15986
16788
|
ngOnDestroy(): void;
|
|
15987
16789
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Model3DRendererComponent, never>;
|
|
15988
|
-
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>;
|
|
15989
16791
|
}
|
|
15990
16792
|
|
|
15991
16793
|
/** Resolves a `pptx.*` key, interpolating `{{...}}` params when given. */
|
|
@@ -16097,7 +16899,16 @@ declare class ZoomRendererComponent {
|
|
|
16097
16899
|
* click-to-jump, which only happens inside a running presentation).
|
|
16098
16900
|
*/
|
|
16099
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>;
|
|
16100
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>;
|
|
16101
16912
|
/**
|
|
16102
16913
|
* Target-slide lookup, provided by the viewer. `null` in trees that do not
|
|
16103
16914
|
* provide it (e.g. isolated component tests), where the fallback thumbnail
|
|
@@ -16126,7 +16937,7 @@ declare class ZoomRendererComponent {
|
|
|
16126
16937
|
protected onClick(event: MouseEvent): void;
|
|
16127
16938
|
protected onKeydown(event: KeyboardEvent): void;
|
|
16128
16939
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZoomRendererComponent, never>;
|
|
16129
|
-
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>;
|
|
16130
16941
|
}
|
|
16131
16942
|
|
|
16132
16943
|
/** Inline style record as Angular's `[ngStyle]` consumes it. */
|
|
@@ -19091,7 +19902,7 @@ declare class EditorToolbarComponent {
|
|
|
19091
19902
|
/** Zero-based index of the slide being edited. */
|
|
19092
19903
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
19093
19904
|
protected readonly editor: EditorStateService;
|
|
19094
|
-
/** Align needs
|
|
19905
|
+
/** Align needs a selection (a lone element aligns to the slide); distribute needs ≥3. */
|
|
19095
19906
|
protected readonly canAlign: _angular_core.Signal<boolean>;
|
|
19096
19907
|
protected readonly canDistribute: _angular_core.Signal<boolean>;
|
|
19097
19908
|
/** Group/ungroup, including the `a:spLocks`/`a:grpSpLocks` `@noGrp` lock (`group-lock-guard.ts`). */
|
|
@@ -20620,7 +21431,7 @@ declare class AccountPageComponent {
|
|
|
20620
21431
|
readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
|
|
20621
21432
|
private readonly translate;
|
|
20622
21433
|
protected readonly swatches: readonly string[];
|
|
20623
|
-
protected readonly version = "3.
|
|
21434
|
+
protected readonly version = "3.18.0";
|
|
20624
21435
|
protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
|
|
20625
21436
|
protected readonly initial: _angular_core.Signal<string>;
|
|
20626
21437
|
protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
|
|
@@ -21754,87 +22565,6 @@ declare function newChartElement(chartKind?: InsertChartKind | PptxChartType): P
|
|
|
21754
22565
|
*/
|
|
21755
22566
|
declare function newPresetShapeElement(shapeType: ShapePresetType, name?: string): PptxElement;
|
|
21756
22567
|
|
|
21757
|
-
/**
|
|
21758
|
-
* selection-geometry.ts: Pure geometry helpers for `SlideCanvasComponent`'s
|
|
21759
|
-
* selection outline, resize/rotate/adjust handles, and the
|
|
21760
|
-
* pointer-target-to-interactive-element resolution. No Angular dependency, so
|
|
21761
|
-
* these are trivially unit-testable and reusable outside the component.
|
|
21762
|
-
*/
|
|
21763
|
-
|
|
21764
|
-
/** A selected element's bounding box (stage coords), keyed by id. */
|
|
21765
|
-
interface SelectionBox extends Box {
|
|
21766
|
-
id: string;
|
|
21767
|
-
}
|
|
21768
|
-
/** A resize-handle's render box (stage coords) plus its cursor style. */
|
|
21769
|
-
interface HandleBox {
|
|
21770
|
-
handle: ResizeHandle;
|
|
21771
|
-
left: number;
|
|
21772
|
-
top: number;
|
|
21773
|
-
size: number;
|
|
21774
|
-
cursor: string;
|
|
21775
|
-
}
|
|
21776
|
-
/** A rotate/adjust handle's render box (stage coords). */
|
|
21777
|
-
interface CornerHandleBox {
|
|
21778
|
-
left: number;
|
|
21779
|
-
top: number;
|
|
21780
|
-
size: number;
|
|
21781
|
-
}
|
|
21782
|
-
/** Bounding boxes (stage coords) for the given selected element ids. */
|
|
21783
|
-
declare function computeSelectionBoxes(elements: readonly PptxElement[], selectedIds: readonly string[]): SelectionBox[];
|
|
21784
|
-
/** The single selected element's box, or null when 0 or >1 are selected. */
|
|
21785
|
-
declare function computeSingleSelected(elements: readonly PptxElement[], selectedIds: readonly string[]): (Box & {
|
|
21786
|
-
id: string;
|
|
21787
|
-
}) | null;
|
|
21788
|
-
/** Resize-handle render boxes (stage coords) for the single selection. */
|
|
21789
|
-
declare function computeHandleBoxes(box: (Box & {
|
|
21790
|
-
id: string;
|
|
21791
|
-
}) | null, editable: boolean, handleScreenPx: number, zoom: number): HandleBox[];
|
|
21792
|
-
/**
|
|
21793
|
-
* Resize-handle boxes for the single selection, suppressed entirely when the
|
|
21794
|
-
* element's authored `a:spLocks` forbids resizing.
|
|
21795
|
-
*
|
|
21796
|
-
* The lock question is asked HERE rather than in the component so the rule is
|
|
21797
|
-
* unit-testable without Angular, and so the render gate and the pointer-down
|
|
21798
|
-
* gate ({@link canInteractWithElement}) can never disagree: a handle the user
|
|
21799
|
-
* cannot see is also a handle the pointer path refuses.
|
|
21800
|
-
*/
|
|
21801
|
-
declare function computeResizeHandleBoxes(element: PptxElement | null | undefined, box: (Box & {
|
|
21802
|
-
id: string;
|
|
21803
|
-
}) | null, editable: boolean, handleScreenPx: number, zoom: number): HandleBox[];
|
|
21804
|
-
/**
|
|
21805
|
-
* A corner handle box (rotate or shape-adjust) offset above/outside the
|
|
21806
|
-
* single selection's box by `offsetPx` (screen pixels, scaled by zoom).
|
|
21807
|
-
*/
|
|
21808
|
-
declare function computeCornerHandle(box: (Box & {
|
|
21809
|
-
id: string;
|
|
21810
|
-
}) | null, editable: boolean, handleScreenPx: number, offsetPx: number, zoom: number, corner: 'top-center' | 'top-left'): CornerHandleBox | null;
|
|
21811
|
-
/**
|
|
21812
|
-
* The rotate-knob box for the single selection, or null when the element's
|
|
21813
|
-
* authored `a:spLocks/@noRotation` forbids the gesture. Companion to
|
|
21814
|
-
* {@link computeResizeHandleBoxes}; see that function for why the lock check
|
|
21815
|
-
* lives in this module.
|
|
21816
|
-
*/
|
|
21817
|
-
declare function computeRotateHandleBox(element: PptxElement | null | undefined, box: (Box & {
|
|
21818
|
-
id: string;
|
|
21819
|
-
}) | null, editable: boolean, handleScreenPx: number, offsetPx: number, zoom: number): CornerHandleBox | null;
|
|
21820
|
-
/**
|
|
21821
|
-
* Resolve the id of the interactive element under a pointer target, or null.
|
|
21822
|
-
*
|
|
21823
|
-
* Resolution goes through the shared hit-test, which answers with the TOP-LEVEL
|
|
21824
|
-
* element rather than the innermost `data-element-id` node. That distinction is
|
|
21825
|
-
* the whole point here: a group renders its children's nodes inside its own, so
|
|
21826
|
-
* the innermost node under a click is usually a grouped CHILD, whose id is not
|
|
21827
|
-
* in `allElements`. This function used to look that child id up, find nothing,
|
|
21828
|
-
* and report "no element", which CLEARED the selection: Ungroup was then only
|
|
21829
|
-
* reachable by hitting a gap inside the group's box that missed every child.
|
|
21830
|
-
* PowerPoint (and React, Vanilla and Svelte) select the group instead.
|
|
21831
|
-
*
|
|
21832
|
-
* Template (master/layout) elements are only interactive while
|
|
21833
|
-
* `editTemplateMode` is on; when off they are reported as null so the canvas
|
|
21834
|
-
* treats them as background (no select/drag/context-menu/inline-edit).
|
|
21835
|
-
*/
|
|
21836
|
-
declare function resolveInteractiveElementId(target: EventTarget | null, allElements: readonly PptxElement[], editTemplateMode: boolean): string | null;
|
|
21837
|
-
|
|
21838
22568
|
/**
|
|
21839
22569
|
* chart-advanced-helpers.ts: Pure immutable wrappers around the remaining
|
|
21840
22570
|
* advanced chart-editing core ops that `chart-data-helpers.ts` does not already
|
|
@@ -22137,6 +22867,10 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
22137
22867
|
* SVG fallback branch is drawn into. Set only by the main interactive canvas.
|
|
22138
22868
|
*/
|
|
22139
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>;
|
|
22140
22874
|
/**
|
|
22141
22875
|
* Active font-style emphasis override (Bold Flash, Bold Reveal, Underline,
|
|
22142
22876
|
* Change Font Style/Size) for every node's caption, driven by native-
|
|
@@ -22165,6 +22899,11 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
22165
22899
|
private readonly slideContext;
|
|
22166
22900
|
private readonly injector;
|
|
22167
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>;
|
|
22168
22907
|
private readonly smartArtData;
|
|
22169
22908
|
private readonly model;
|
|
22170
22909
|
constructor();
|
|
@@ -22185,7 +22924,7 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
|
|
|
22185
22924
|
private applyCommit;
|
|
22186
22925
|
ngOnDestroy(): void;
|
|
22187
22926
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DRendererComponent, never>;
|
|
22188
|
-
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>;
|
|
22189
22928
|
}
|
|
22190
22929
|
|
|
22191
22930
|
declare class SmartArtPreviewComponent {
|
|
@@ -22739,7 +23478,9 @@ declare class RibbonFileSectionComponent {
|
|
|
22739
23478
|
|
|
22740
23479
|
declare class RibbonFontControlsComponent {
|
|
22741
23480
|
private readonly editor;
|
|
23481
|
+
private readonly inlineEditing;
|
|
22742
23482
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
23483
|
+
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
22743
23484
|
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
22744
23485
|
private readonly loader;
|
|
22745
23486
|
private readonly customFonts;
|
|
@@ -22802,7 +23543,7 @@ declare class RibbonFontControlsComponent {
|
|
|
22802
23543
|
protected clearFormatting(): void;
|
|
22803
23544
|
private patch;
|
|
22804
23545
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RibbonFontControlsComponent, never>;
|
|
22805
|
-
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>;
|
|
22806
23547
|
}
|
|
22807
23548
|
|
|
22808
23549
|
/**
|
|
@@ -22993,6 +23734,7 @@ declare class RibbonInsertSectionComponent {
|
|
|
22993
23734
|
|
|
22994
23735
|
declare class RibbonParagraphControlsComponent {
|
|
22995
23736
|
private readonly editor;
|
|
23737
|
+
private readonly inlineEditing;
|
|
22996
23738
|
readonly slideIndex: _angular_core.InputSignal<number>;
|
|
22997
23739
|
readonly selectedElement: _angular_core.InputSignal<PptxElement | null>;
|
|
22998
23740
|
readonly canEdit: _angular_core.InputSignal<boolean>;
|
|
@@ -23014,7 +23756,7 @@ declare class RibbonParagraphControlsComponent {
|
|
|
23014
23756
|
protected isText(): boolean;
|
|
23015
23757
|
/** Current text style of the selection (for active-state highlighting). */
|
|
23016
23758
|
protected readonly curStyle: _angular_core.Signal<pptx_viewer_core.TextStyle | null>;
|
|
23017
|
-
protected readonly listKind: _angular_core.Signal<
|
|
23759
|
+
protected readonly listKind: _angular_core.Signal<ElementBulletKind>;
|
|
23018
23760
|
/** Current line spacing multiplier. */
|
|
23019
23761
|
protected curLineSpacing(): number;
|
|
23020
23762
|
/** Current text direction. */
|
|
@@ -23180,12 +23922,15 @@ declare function textStyleOf(el: PptxElement | null): TextStyle | null;
|
|
|
23180
23922
|
/** Whether the given element can take text formatting. */
|
|
23181
23923
|
declare function isTextElement(el: PptxElement | null): boolean;
|
|
23182
23924
|
/** Merge `patch` into the selection's text style and commit via the editor. */
|
|
23183
|
-
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;
|
|
23184
23929
|
/**
|
|
23185
23930
|
* Rewrite the selection's text characters (ribbon Aa "Change Case" dropdown).
|
|
23186
23931
|
* Unlike {@link patchTextStyle}, this mutates content, not style.
|
|
23187
23932
|
*/
|
|
23188
|
-
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;
|
|
23189
23934
|
|
|
23190
23935
|
declare class RibbonTransitionsSectionComponent {
|
|
23191
23936
|
private readonly editor;
|
|
@@ -23566,6 +24311,12 @@ declare class MediaRendererComponent {
|
|
|
23566
24311
|
readonly interactive: _angular_core.InputSignal<boolean>;
|
|
23567
24312
|
/** Keep the data-pptx-element marker on interaction-locked template elements. */
|
|
23568
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>;
|
|
23569
24320
|
/**
|
|
23570
24321
|
* When true (default), the rendered node carries `data-element-id`. The
|
|
23571
24322
|
* miniature surfaces that paint every slide at once turn it off so one
|
|
@@ -23626,6 +24377,11 @@ declare class MediaRendererComponent {
|
|
|
23626
24377
|
private readonly translate;
|
|
23627
24378
|
readonly fallbackLabel: _angular_core.Signal<string>;
|
|
23628
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>;
|
|
23629
24385
|
/** Poster / preview frame data-URL (also used as the `<video poster>`). */
|
|
23630
24386
|
readonly poster: _angular_core.Signal<string | undefined>;
|
|
23631
24387
|
/** Playable source URL (inline data URL or resolved archive path). */
|
|
@@ -23636,7 +24392,7 @@ declare class MediaRendererComponent {
|
|
|
23636
24392
|
readonly captionTracks: _angular_core.Signal<ResolvedCaptionTrack[]>;
|
|
23637
24393
|
readonly clrChangeParams: _angular_core.Signal<ClrChangeParams | undefined>;
|
|
23638
24394
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MediaRendererComponent, never>;
|
|
23639
|
-
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>;
|
|
23640
24396
|
}
|
|
23641
24397
|
|
|
23642
24398
|
/**
|
|
@@ -24105,6 +24861,6 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
|
|
|
24105
24861
|
*/
|
|
24106
24862
|
declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
|
|
24107
24863
|
|
|
24108
|
-
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 };
|
|
24109
|
-
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 };
|
|
24110
24866
|
//# sourceMappingURL=pptx-angular-viewer.d.ts.map
|