@keerthanask/page-flip
Version:
Powerful, simple and flexible JS Library for creating realistic and beautiful page turning effect
68 lines (67 loc) • 1.84 kB
TypeScript
import { PageFlip } from '../PageFlip';
import { FlipSetting } from '../Settings';
import { Orientation } from '../Render/Render';
/**
* UI Class, represents work with DOM
*/
export declare abstract class UI {
protected readonly parentElement: HTMLElement;
protected readonly app: PageFlip;
protected readonly wrapper: HTMLElement;
protected distElement: HTMLElement;
private touchPoint;
private readonly swipeTimeout;
private readonly swipeDistance;
private onResize;
/**
* @constructor
*
* @param {HTMLElement} inBlock - Root HTML Element
* @param {PageFlip} app - PageFlip instanse
* @param {FlipSetting} setting - Configuration object
*/
protected constructor(inBlock: HTMLElement, app: PageFlip, setting: FlipSetting);
/**
* Destructor. Remove all HTML elements and all event handlers
*/
destroy(): void;
/**
* Updating child components when resizing
*/
abstract update(): void;
/**
* Get parent element for book
*
* @returns {HTMLElement}
*/
getDistElement(): HTMLElement;
/**
* Get wrapper element
*
* @returns {HTMLElement}
*/
getWrapper(): HTMLElement;
/**
* Updates styles and sizes based on book orientation
*
* @param {Orientation} orientation - New book orientation
*/
setOrientationStyle(orientation: Orientation): void;
protected removeHandlers(): void;
protected setHandlers(): void;
/**
* Convert global coordinates to relative book coordinates
*
* @param x
* @param y
*/
private getMousePos;
private checkTarget;
private onMouseEnter;
private onMouseDown;
private onTouchStart;
private onMouseUp;
private onMouseMove;
private onTouchMove;
private onTouchEnd;
}