@lottiefiles/dotlottie-web
Advanced tools
Comparing version
@@ -1,280 +0,12 @@ | ||
interface Marker { | ||
duration: number; | ||
name: string; | ||
time: number; | ||
} | ||
import { D as DotLottieCommon, C as Config, L as Layout, M as Manifest, a as Marker, b as Mode, R as RenderConfig, E as EventType, c as EventListener } from './dotlottie-BfDGpudA.js'; | ||
export { B as BaseEvent, j as CompleteEvent, o as Data, e as DestroyEvent, m as Event, n as EventManager, p as Fit, g as FrameEvent, F as FreezeEvent, i as LoadErrorEvent, h as LoadEvent, f as LoopEvent, P as PauseEvent, k as PlayEvent, l as ReadyEvent, d as RenderEvent, S as StopEvent, U as UnfreezeEvent, W as WasmLoaderType } from './dotlottie-BfDGpudA.js'; | ||
/** | ||
* Represents the different types of events that can be dispatched. | ||
*/ | ||
type EventType = 'complete' | 'frame' | 'load' | 'loadError' | 'loop' | 'pause' | 'play' | 'stop' | 'destroy' | 'freeze' | 'unfreeze' | 'render' | 'ready'; | ||
/** | ||
* Maps an event type string to its respective event interface. | ||
*/ | ||
type EventByType<T> = T extends 'complete' ? CompleteEvent : T extends 'frame' ? FrameEvent : T extends 'load' ? LoadEvent : T extends 'loadError' ? LoadErrorEvent : T extends 'loop' ? LoopEvent : T extends 'pause' ? PauseEvent : T extends 'play' ? PlayEvent : T extends 'stop' ? StopEvent : T extends 'destroy' ? DestroyEvent : T extends 'freeze' ? FreezeEvent : T extends 'unfreeze' ? UnfreezeEvent : T extends 'render' ? RenderEvent : T extends 'ready' ? ReadyEvent : never; | ||
/** | ||
* Base interface for all events. | ||
*/ | ||
interface BaseEvent { | ||
type: EventType; | ||
} | ||
interface RenderEvent extends BaseEvent { | ||
currentFrame: number; | ||
type: 'render'; | ||
} | ||
interface FreezeEvent extends BaseEvent { | ||
type: 'freeze'; | ||
} | ||
interface UnfreezeEvent extends BaseEvent { | ||
type: 'unfreeze'; | ||
} | ||
interface DestroyEvent extends BaseEvent { | ||
type: 'destroy'; | ||
} | ||
/** | ||
* Event fired when a loop action occurs. | ||
*/ | ||
interface LoopEvent extends BaseEvent { | ||
loopCount: number; | ||
type: 'loop'; | ||
} | ||
/** | ||
* Event fired during frame changes. | ||
*/ | ||
interface FrameEvent extends BaseEvent { | ||
currentFrame: number; | ||
type: 'frame'; | ||
} | ||
/** | ||
* Event fired when a load action occurs. | ||
*/ | ||
interface LoadEvent extends BaseEvent { | ||
type: 'load'; | ||
} | ||
/** | ||
* Event fired when a loading error occurs. | ||
*/ | ||
interface LoadErrorEvent extends BaseEvent { | ||
error: Error; | ||
type: 'loadError'; | ||
} | ||
/** | ||
* Event fired when a completion action occurs. | ||
*/ | ||
interface CompleteEvent extends BaseEvent { | ||
type: 'complete'; | ||
} | ||
/** | ||
* Event fired when a pause action occurs. | ||
*/ | ||
interface PauseEvent extends BaseEvent { | ||
type: 'pause'; | ||
} | ||
/** | ||
* Event fired when a play action occurs. | ||
*/ | ||
interface PlayEvent extends BaseEvent { | ||
type: 'play'; | ||
} | ||
/** | ||
* Event fired when a stop action occurs. | ||
*/ | ||
interface StopEvent extends BaseEvent { | ||
type: 'stop'; | ||
} | ||
/** | ||
* Event fired when a WASM module is initialized and ready. | ||
*/ | ||
interface ReadyEvent extends BaseEvent { | ||
type: 'ready'; | ||
} | ||
/** | ||
* Type representing all possible event types. | ||
*/ | ||
type Event = LoopEvent | FrameEvent | LoadEvent | LoadErrorEvent | CompleteEvent | PauseEvent | PlayEvent | StopEvent | DestroyEvent | FreezeEvent | UnfreezeEvent | RenderEvent | ReadyEvent; | ||
interface EventListener<T extends EventType> { | ||
(event: EventByType<T>): void; | ||
} | ||
/** | ||
* Manages registration and dispatching of event listeners. | ||
*/ | ||
declare class EventManager { | ||
private readonly _eventListeners; | ||
addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void; | ||
removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void; | ||
dispatch<T extends EventType>(event: EventByType<T>): void; | ||
removeAllEventListeners(): void; | ||
} | ||
interface RenderConfig { | ||
autoResize?: boolean; | ||
devicePixelRatio?: number; | ||
freezeOnOffscreen?: boolean; | ||
} | ||
type Mode = 'forward' | 'reverse' | 'bounce' | 'reverse-bounce'; | ||
type Data = string | ArrayBuffer | Record<string, unknown>; | ||
type Fit = 'contain' | 'cover' | 'fill' | 'none' | 'fit-width' | 'fit-height'; | ||
interface Layout { | ||
align: [number, number]; | ||
fit: Fit; | ||
} | ||
interface Config { | ||
autoplay?: boolean; | ||
backgroundColor?: string; | ||
canvas: HTMLCanvasElement; | ||
data?: Data; | ||
layout?: Layout; | ||
loop?: boolean; | ||
marker?: string; | ||
mode?: Mode; | ||
renderConfig?: RenderConfig; | ||
segment?: [number, number]; | ||
speed?: number; | ||
src?: string; | ||
themeId?: string; | ||
useFrameInterpolation?: boolean; | ||
} | ||
interface Manifest { | ||
animations: Array<{ | ||
background?: string; | ||
id: string; | ||
initialTheme?: string; | ||
themes?: string[]; | ||
}>; | ||
generator?: string; | ||
stateMachines?: Array<{ | ||
id: string; | ||
}>; | ||
themes?: Array<{ | ||
id: string; | ||
}>; | ||
version?: string; | ||
} | ||
declare class DotLottie { | ||
private readonly _canvas; | ||
private _context; | ||
private readonly _eventManager; | ||
private _animationFrameId; | ||
private readonly _frameManager; | ||
private _dotLottieCore; | ||
private static _wasmModule; | ||
private _renderConfig; | ||
private _isFrozen; | ||
private _backgroundColor; | ||
private readonly _pointerUpMethod; | ||
private readonly _pointerDownMethod; | ||
private readonly _pointerMoveMethod; | ||
private readonly _pointerEnterMethod; | ||
private readonly _pointerExitMethod; | ||
declare class DotLottie extends DotLottieCommon { | ||
constructor(config: Config); | ||
private _dispatchError; | ||
private _fetchData; | ||
private _loadFromData; | ||
private _loadFromSrc; | ||
get activeAnimationId(): string | undefined; | ||
get activeThemeId(): string | undefined; | ||
get layout(): Layout | undefined; | ||
get marker(): string | undefined; | ||
get manifest(): Manifest | null; | ||
get renderConfig(): RenderConfig; | ||
get segment(): [number, number] | undefined; | ||
get loop(): boolean; | ||
get mode(): Mode; | ||
get isFrozen(): boolean; | ||
get backgroundColor(): string; | ||
get autoplay(): boolean; | ||
get useFrameInterpolation(): boolean; | ||
get speed(): number; | ||
get isReady(): boolean; | ||
get isLoaded(): boolean; | ||
get isPlaying(): boolean; | ||
get isPaused(): boolean; | ||
get isStopped(): boolean; | ||
get currentFrame(): number; | ||
get loopCount(): number; | ||
get totalFrames(): number; | ||
get duration(): number; | ||
get segmentDuration(): number; | ||
get canvas(): HTMLCanvasElement | OffscreenCanvas; | ||
load(config: Omit<Config, 'canvas'>): void; | ||
private _render; | ||
private _draw; | ||
play(): void; | ||
pause(): void; | ||
stop(): void; | ||
setFrame(frame: number): void; | ||
setSpeed(speed: number): void; | ||
setBackgroundColor(color: string): void; | ||
setLoop(loop: boolean): void; | ||
setUseFrameInterpolation(useFrameInterpolation: boolean): void; | ||
addEventListener<T extends EventType>(type: T, listener: EventListener<T>): void; | ||
removeEventListener<T extends EventType>(type: T, listener?: EventListener<T>): void; | ||
destroy(): void; | ||
freeze(): void; | ||
unfreeze(): void; | ||
resize(): void; | ||
setSegment(startFrame: number, endFrame: number): void; | ||
setMode(mode: Mode): void; | ||
setRenderConfig(config: RenderConfig): void; | ||
loadAnimation(animationId: string): void; | ||
setMarker(marker: string): void; | ||
markers(): Marker[]; | ||
setTheme(themeId: string): boolean; | ||
resetTheme(): boolean; | ||
setThemeData(themeData: string): boolean; | ||
setSlots(slots: string): void; | ||
setLayout(layout: Layout): void; | ||
setViewport(x: number, y: number, width: number, height: number): boolean; | ||
static setWasmUrl(url: string): void; | ||
loadStateMachine(stateMachineId: string): boolean; | ||
startStateMachine(): boolean; | ||
stopStateMachine(): boolean; | ||
private _getPointerPosition; | ||
private _onPointerUp; | ||
private _onPointerDown; | ||
private _onPointerMove; | ||
private _onPointerEnter; | ||
private _onPointerLeave; | ||
postPointerUpEvent(x: number, y: number): number | undefined; | ||
postPointerDownEvent(x: number, y: number): number | undefined; | ||
postPointerMoveEvent(x: number, y: number): number | undefined; | ||
postPointerEnterEvent(x: number, y: number): number | undefined; | ||
postPointerExitEvent(x: number, y: number): number | undefined; | ||
getStateMachineListeners(): string[]; | ||
private _setupStateMachineListeners; | ||
private _cleanupStateMachineListeners; | ||
loadStateMachineData(stateMachineData: string): boolean; | ||
animationSize(): { | ||
height: number; | ||
width: number; | ||
}; | ||
setStateMachineBooleanContext(name: string, value: boolean): boolean; | ||
setStateMachineNumericContext(name: string, value: number): boolean; | ||
setStateMachineStringContext(name: string, value: string): boolean; | ||
/** | ||
* Get the bounds of a layer by its name | ||
* @param layerName - The name of the layer | ||
* @returns The bounds of the layer | ||
* | ||
* @example | ||
* ```typescript | ||
* // Draw a rectangle around the layer 'Layer 1' | ||
* dotLottie.addEventListener('render', () => { | ||
* const boundingBox = dotLottie.getLayerBoundingBox('Layer 1'); | ||
* | ||
* if (boundingBox) { | ||
* const { x, y, width, height } = boundingBox; | ||
* context.strokeRect(x, y, width, height); | ||
* } | ||
* }); | ||
* ``` | ||
* Sets a new URL for the WASM file. | ||
* @param url - The new URL for the WASM file. | ||
* @override | ||
*/ | ||
getLayerBoundingBox(layerName: string): { | ||
height: number; | ||
width: number; | ||
x: number; | ||
y: number; | ||
} | undefined; | ||
static transformThemeToLottieSlots(theme: string, slots: string): string; | ||
static setWasmUrl(url: string): void; | ||
} | ||
@@ -394,2 +126,2 @@ | ||
export { type BaseEvent, type CompleteEvent, type Config, type Data, type DestroyEvent, DotLottie, type DotLottieInstanceState, DotLottieWorker, type Event, type EventListener, EventManager, type EventType, type Fit, type FrameEvent, type FreezeEvent, type Layout, type LoadErrorEvent, type LoadEvent, type LoopEvent, type Manifest, type Mode, type PauseEvent, type PlayEvent, type ReadyEvent, type RenderConfig, type RenderEvent, type StopEvent, type UnfreezeEvent }; | ||
export { Config, DotLottie, DotLottieCommon, type DotLottieInstanceState, DotLottieWorker, EventListener, EventType, Layout, Manifest, Mode, RenderConfig }; |
{ | ||
"name": "@lottiefiles/dotlottie-web", | ||
"version": "0.40.1", | ||
"version": "0.41.0-pre.0", | ||
"type": "module", | ||
@@ -20,2 +20,19 @@ "description": "Lottie and DotLottie player for the web", | ||
"module": "dist/index.js", | ||
"exports": { | ||
".": { | ||
"types": "./dist/index.d.ts", | ||
"import": "./dist/index.js", | ||
"require": "./dist/index.cjs" | ||
}, | ||
"./webgl": { | ||
"types": "./dist/webgl/index.d.ts", | ||
"import": "./dist/webgl/index.js", | ||
"require": "./dist/webgl/index.cjs" | ||
}, | ||
"./webgpu": { | ||
"types": "./dist/webgpu/index.d.ts", | ||
"import": "./dist/webgpu/index.js", | ||
"require": "./dist/webgpu/index.cjs" | ||
} | ||
}, | ||
"types": "dist/index.d.ts", | ||
@@ -39,2 +56,3 @@ "files": [ | ||
"@vitest/coverage-istanbul": "2.1.0-beta.5", | ||
"@webgpu/types": "^0.1.53", | ||
"cross-env": "7.0.3", | ||
@@ -44,3 +62,3 @@ "esbuild": "^0.23.0", | ||
"playwright": "^1.45.2", | ||
"tsup": "8.2.0", | ||
"tsup": "8.4.0", | ||
"typescript": "5.0.4", | ||
@@ -47,0 +65,0 @@ "vitest": "2.1.0-beta.5" |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
13886094
165.8%26
160%5533
48.54%11
10%24
200%