blob: 36e5889150f24e6f0331a586ed50d5fded23abd3 [file] [log] [blame]
/**
* @license Angular v11.2.14
* (c) 2010-2021 Google LLC. https://angular.io/
* License: MIT
*/
import { AnimationMetadata } from '@angular/animations';
import { AnimationOptions } from '@angular/animations';
import { AnimationPlayer } from '@angular/animations';
import { AnimationTriggerMetadata } from '@angular/animations';
import { ɵStyleData } from '@angular/animations';
/**
* @publicApi
*/
export declare abstract class AnimationDriver {
static NOOP: AnimationDriver;
abstract validateStyleProperty(prop: string): boolean;
abstract matchesElement(element: any, selector: string): boolean;
abstract containsElement(elm1: any, elm2: any): boolean;
abstract query(element: any, selector: string, multi: boolean): any[];
abstract computeStyle(element: any, prop: string, defaultValue?: string): string;
abstract animate(element: any, keyframes: {
[key: string]: string | number;
}[], duration: number, delay: number, easing?: string | null, previousPlayers?: any[], scrubberAccessRequested?: boolean): any;
}
declare interface AnimationEngineInstruction {
type: AnimationTransitionInstructionType;
}
declare interface AnimationTimelineInstruction extends AnimationEngineInstruction {
element: any;
keyframes: ɵStyleData[];
preStyleProps: string[];
postStyleProps: string[];
duration: number;
delay: number;
totalTime: number;
easing: string | null;
stretchStartingKeyframe?: boolean;
subTimeline: boolean;
}
declare const enum AnimationTransitionInstructionType {
TransitionAnimation = 0,
TimelineAnimation = 1
}
/**
* DOMAnimation represents the Animation Web API.
*
* It is an external API by the browser, and must thus use "declare interface",
* to prevent renaming by Closure Compiler.
*
* @see https://developer.mozilla.org/de/docs/Web/API/Animation
*/
declare interface DOMAnimation {
cancel(): void;
play(): void;
pause(): void;
finish(): void;
onfinish: Function;
position: number;
currentTime: number;
addEventListener(eventName: string, handler: (event: any) => any): any;
dispatchEvent(eventName: string): any;
}
declare class ElementInstructionMap {
private _map;
consume(element: any): AnimationTimelineInstruction[];
append(element: any, instructions: AnimationTimelineInstruction[]): void;
has(element: any): boolean;
clear(): void;
}
export declare function ɵallowPreviousPlayerStylesMerge(duration: number, delay: number): boolean;
/**
* Designed to be executed during a keyframe-based animation to apply any special-cased styles.
*
* When started (when the `start()` method is run) then the provided `startStyles`
* will be applied. When finished (when the `finish()` method is called) the
* `endStyles` will be applied as well any any starting styles. Finally when
* `destroy()` is called then all styles will be removed.
*/
export declare class ɵangular_packages_animations_browser_browser_a {
private _element;
private _startStyles;
private _endStyles;
static initialStylesByElement: WeakMap<any, {
[key: string]: any;
}>;
private _state;
private _initialStyles;
constructor(_element: any, _startStyles: {
[key: string]: any;
} | null, _endStyles: {
[key: string]: any;
} | null);
start(): void;
finish(): void;
destroy(): void;
}
export declare class ɵAnimation {
private _driver;
private _animationAst;
constructor(_driver: AnimationDriver, input: AnimationMetadata | AnimationMetadata[]);
buildTimelines(element: any, startingStyles: ɵStyleData | ɵStyleData[], destinationStyles: ɵStyleData | ɵStyleData[], options: AnimationOptions, subInstructions?: ElementInstructionMap): AnimationTimelineInstruction[];
}
export declare class ɵAnimationEngine {
private bodyNode;
private _driver;
private _transitionEngine;
private _timelineEngine;
private _triggerCache;
onRemovalComplete: (element: any, context: any) => void;
constructor(bodyNode: any, _driver: AnimationDriver, normalizer: ɵAnimationStyleNormalizer);
registerTrigger(componentId: string, namespaceId: string, hostElement: any, name: string, metadata: AnimationTriggerMetadata): void;
register(namespaceId: string, hostElement: any): void;
destroy(namespaceId: string, context: any): void;
onInsert(namespaceId: string, element: any, parent: any, insertBefore: boolean): void;
onRemove(namespaceId: string, element: any, context: any, isHostElement?: boolean): void;
disableAnimations(element: any, disable: boolean): void;
process(namespaceId: string, element: any, property: string, value: any): void;
listen(namespaceId: string, element: any, eventName: string, eventPhase: string, callback: (event: any) => any): () => any;
flush(microtaskId?: number): void;
get players(): AnimationPlayer[];
whenRenderingDone(): Promise<any>;
}
/**
* @publicApi
*/
export declare abstract class ɵAnimationStyleNormalizer {
abstract normalizePropertyName(propertyName: string, errors: string[]): string;
abstract normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: string[]): string;
}
export declare const ɵcontainsElement: (elm1: any, elm2: any) => boolean;
export declare class ɵCssKeyframesDriver implements AnimationDriver {
private _count;
private readonly _head;
validateStyleProperty(prop: string): boolean;
matchesElement(element: any, selector: string): boolean;
containsElement(elm1: any, elm2: any): boolean;
query(element: any, selector: string, multi: boolean): any[];
computeStyle(element: any, prop: string, defaultValue?: string): string;
buildKeyframeElement(element: any, name: string, keyframes: {
[key: string]: any;
}[]): any;
animate(element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[], scrubberAccessRequested?: boolean): AnimationPlayer;
}
export declare class ɵCssKeyframesPlayer implements AnimationPlayer {
readonly element: any;
readonly keyframes: {
[key: string]: string | number;
}[];
readonly animationName: string;
private readonly _duration;
private readonly _delay;
private readonly _finalStyles;
private readonly _specialStyles?;
private _onDoneFns;
private _onStartFns;
private _onDestroyFns;
private _started;
private _styler;
parentPlayer: AnimationPlayer;
readonly totalTime: number;
readonly easing: string;
currentSnapshot: {
[key: string]: string;
};
private _state;
constructor(element: any, keyframes: {
[key: string]: string | number;
}[], animationName: string, _duration: number, _delay: number, easing: string, _finalStyles: {
[key: string]: any;
}, _specialStyles?: ɵangular_packages_animations_browser_browser_a | null | undefined);
onStart(fn: () => void): void;
onDone(fn: () => void): void;
onDestroy(fn: () => void): void;
destroy(): void;
private _flushDoneFns;
private _flushStartFns;
finish(): void;
setPosition(value: number): void;
getPosition(): number;
hasStarted(): boolean;
init(): void;
play(): void;
pause(): void;
restart(): void;
reset(): void;
private _buildStyler;
beforeDestroy(): void;
}
export declare const ɵinvokeQuery: (element: any, selector: string, multi: boolean) => any[];
export declare const ɵmatchesElement: (element: any, selector: string) => boolean;
/**
* @publicApi
*/
export declare class ɵNoopAnimationDriver implements AnimationDriver {
validateStyleProperty(prop: string): boolean;
matchesElement(element: any, selector: string): boolean;
containsElement(elm1: any, elm2: any): boolean;
query(element: any, selector: string, multi: boolean): any[];
computeStyle(element: any, prop: string, defaultValue?: string): string;
animate(element: any, keyframes: {
[key: string]: string | number;
}[], duration: number, delay: number, easing: string, previousPlayers?: any[], scrubberAccessRequested?: boolean): AnimationPlayer;
}
/**
* @publicApi
*/
export declare class ɵNoopAnimationStyleNormalizer {
normalizePropertyName(propertyName: string, errors: string[]): string;
normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: string[]): string;
}
export declare function ɵsupportsWebAnimations(): boolean;
export declare function ɵvalidateStyleProperty(prop: string): boolean;
export declare class ɵWebAnimationsDriver implements AnimationDriver {
private _isNativeImpl;
private _cssKeyframesDriver;
validateStyleProperty(prop: string): boolean;
matchesElement(element: any, selector: string): boolean;
containsElement(elm1: any, elm2: any): boolean;
query(element: any, selector: string, multi: boolean): any[];
computeStyle(element: any, prop: string, defaultValue?: string): string;
overrideWebAnimationsSupport(supported: boolean): void;
animate(element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[], scrubberAccessRequested?: boolean): AnimationPlayer;
}
export declare class ɵWebAnimationsPlayer implements AnimationPlayer {
element: any;
keyframes: {
[key: string]: string | number;
}[];
options: {
[key: string]: string | number;
};
private _specialStyles?;
private _onDoneFns;
private _onStartFns;
private _onDestroyFns;
private _duration;
private _delay;
private _initialized;
private _finished;
private _started;
private _destroyed;
private _finalKeyframe;
readonly domPlayer: DOMAnimation;
time: number;
parentPlayer: AnimationPlayer | null;
currentSnapshot: {
[styleName: string]: string | number;
};
constructor(element: any, keyframes: {
[key: string]: string | number;
}[], options: {
[key: string]: string | number;
}, _specialStyles?: ɵangular_packages_animations_browser_browser_a | null | undefined);
private _onFinish;
init(): void;
private _buildPlayer;
private _preparePlayerBeforeStart;
onStart(fn: () => void): void;
onDone(fn: () => void): void;
onDestroy(fn: () => void): void;
play(): void;
pause(): void;
finish(): void;
reset(): void;
private _resetDomPlayerState;
restart(): void;
hasStarted(): boolean;
destroy(): void;
setPosition(p: number): void;
getPosition(): number;
get totalTime(): number;
beforeDestroy(): void;
}
export declare class ɵWebAnimationsStyleNormalizer extends ɵAnimationStyleNormalizer {
normalizePropertyName(propertyName: string, errors: string[]): string;
normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: string[]): string;
}
export { }