view-transitions-polyfill
Version:
A polyfill for the View Transitions API.
32 lines (31 loc) • 1.42 kB
TypeScript
import { default as ViewTransitionManager } from './view-transition-manager';
type PromiseResolve = (value?: PromiseLike<undefined> | undefined) => void;
type PromiseReject = (reason?: unknown) => void;
export type DeferredPromise = Promise<undefined> & {
resolve: PromiseResolve;
reject: PromiseReject;
};
export declare function defer(): DeferredPromise;
export type Callback = () => unknown;
export declare class ViewTransition {
private viewTransitionElement;
finished: DeferredPromise;
ready: DeferredPromise;
updateCallbackDone: DeferredPromise;
constructor(viewTransitionElement: ViewTransitionManager);
skipTransition(): void;
}
export type StylableElement = Element & {
style: CSSStyleDeclaration;
};
export declare function isStylableElement(element: unknown): element is StylableElement;
export declare function cloneElementWithStyles(element: StylableElement, live?: boolean): Element | undefined;
type CSSTransformProperty = 'translate' | 'rotate' | 'scale';
export declare function CSSTransformPropertyToFunction(transformProperty: CSSTransformProperty, transformString: string): string;
export declare function getElementPosition(element: HTMLElement): {
top: number;
left: number;
};
export declare function setElementVisibility(element: StylableElement, value: boolean): void;
export declare function setDocumentVisibility(value: boolean): void;
export {};