@lordicon/element
Version:
This package offers developers a convenient method for embedding, controlling, and customizing animated icons from Lordicon within web projects.
56 lines (55 loc) • 1.92 kB
TypeScript
import { Trigger } from '../interfaces';
import { Player } from '@lordicon/web';
type FrameSegment = [number, number];
/**
* The __Boomerang__ trigger plays the animation forward when you hover over the element,
* and after reaching the end, it automatically plays in reverse.
*/
export declare class Boomerang implements Trigger {
protected player: Player;
protected element: HTMLElement;
protected targetElement: HTMLElement;
/**
* Animation segments for mouse enter and leave actions.
* segments[0] - segment for mouse enter
* segments[1] - segment for mouse leave
*/
protected segments?: [FrameSegment, FrameSegment];
/**
* Queue to manage playback requests.
*/
protected queue: number[];
protected connected: boolean;
protected targetState?: string;
protected delayTimer: any;
protected intersectionObserver: IntersectionObserver | undefined;
constructor(player: Player, element: HTMLElement, targetElement: HTMLElement);
onConnected(): void;
onDisconnected(): void;
onMouseEnter(): void;
onComplete(): void;
onState(): void;
onClick(): void;
play(handleDelay?: boolean): void;
replay(): void;
protected scheduleDelayedPlay(): void;
/**
* Processes the segment queue and plays the next segment if the player is not currently playing.
*/
protected handleQueue(): void;
/**
* Updates the animation segments based on the current player state and parameters.
*/
protected handleState(): void;
protected initIntersectionObserver(): void;
protected resetIntersectionObserver(): void;
protected resetDelayTimer(): void;
protected resetState(): boolean;
protected resetPlayer(): void;
protected cleanup(): void;
get intro(): string | null;
get delay(): number;
get loading(): boolean;
get clickToReplay(): boolean;
}
export {};