@egjs/flicking
Version:
Everyday 30 million people experience. It's reliable, flexible and extendable carousel.
57 lines (56 loc) • 2.08 kB
TypeScript
import Viewport from "./Viewport";
import { OriginalStyle, FlickingPanel, ElementLike, DestroyOption, BoundingBox } from "../types";
declare class Panel implements FlickingPanel {
viewport: Viewport;
prevSibling: Panel | null;
nextSibling: Panel | null;
protected state: {
index: number;
position: number;
relativeAnchorPosition: number;
size: number;
isClone: boolean;
isVirtual: boolean;
cloneIndex: number;
originalStyle: OriginalStyle;
cachedBbox: BoundingBox | null;
};
private element;
private original?;
private clonedPanels;
constructor(element?: HTMLElement | null, index?: number, viewport?: Viewport);
resize(givenBbox?: BoundingBox): void;
unCacheBbox(): void;
getProgress(): number;
getOutsetProgress(): number;
getVisibleRatio(): number;
focus(duration?: number): void;
update(updateFunction?: ((element: HTMLElement) => any) | null, shouldResize?: boolean): void;
prev(): FlickingPanel | null;
next(): FlickingPanel | null;
insertBefore(element: ElementLike | ElementLike[]): FlickingPanel[];
insertAfter(element: ElementLike | ElementLike[]): FlickingPanel[];
remove(): FlickingPanel;
destroy(option: Partial<DestroyOption>): void;
getElement(): HTMLElement;
getAnchorPosition(): number;
getRelativeAnchorPosition(): number;
getIndex(): number;
getPosition(): number;
getSize(): number;
getBbox(): BoundingBox;
isClone(): boolean;
getOverlappedClass(classes: string[]): string | undefined;
getCloneIndex(): number;
getClonedPanels(): Panel[];
getIdenticalPanels(): Panel[];
getOriginalPanel(): Panel;
setIndex(index: number): void;
setPosition(pos: number): this;
setPositionCSS(offset?: number): void;
clone(cloneIndex: number, isVirtual?: boolean, element?: HTMLElement | null): Panel;
removeElement(): void;
removeClonedPanelsAfter(start: number): void;
setElement(element?: HTMLElement | null): void;
}
export default Panel;