view-transitions-polyfill
Version:
A polyfill for the View Transitions API.
67 lines (66 loc) • 2.6 kB
TypeScript
import { default as CaptureElement } from '../capture-element';
export declare class ViewTransitionImagePair extends HTMLElement {
constructor();
name: string;
captureElement: CaptureElement;
oldImage: ViewTransitionOld | undefined;
newImage: ViewTransitionNew | undefined;
setupForOldImage(name: string, captureElement: CaptureElement): ViewTransitionOld | undefined;
setupForNewImage(name: string, captureElement: CaptureElement): ViewTransitionNew | undefined;
addNewImage(): ViewTransitionNew | undefined;
}
declare class ViewTransitionImage extends HTMLElement {
constructor();
protected innerElement: HTMLDivElement;
name: string;
captureElement: CaptureElement;
protected image: Element | undefined;
protected element: Element | undefined;
setup(name: string, captureElement: CaptureElement): void;
connectedCallback(): void;
getScaleFactor(objectFit: string, fromWidth: number, toWidth: number, fromHeight: number, toHeight: number): [number, number, string];
getObjectPositionValues(objectPosition: string, oldWidth: number, newWidth: number, oldHeight: number, newHeight: number): {
old: {
top: string;
left: string;
};
new: {
top: string;
left: string;
};
};
animateImage(animationDuration: number, CSSeasing: string, fromTransform: string, toTransform: string): void;
}
export declare class ViewTransitionOld extends ViewTransitionImage {
setup(name: string, captureElement: CaptureElement): void;
getAnimateImageFunctions(): string[];
getScaleFactor(objectFit: string): [number, number, string];
getObjectPositionValues(objectPosition: string, scaleFactorX: number, scaleFactorY: number): {
old: {
top: string;
left: string;
};
new: {
top: string;
left: string;
};
};
animateImage(animationDuration: number, CSSeasing: string): void;
}
export declare class ViewTransitionNew extends ViewTransitionImage {
setup(name: string, captureElement: CaptureElement): void;
getAnimateImageFunctions(): string[];
getScaleFactor(objectFit: string): [number, number, string];
getObjectPositionValues(objectPosition: string, scaleFactorX: number, scaleFactorY: number): {
old: {
top: string;
left: string;
};
new: {
top: string;
left: string;
};
};
animateImage(animationDuration: number, CSSeasing: string): void;
}
export {};