vevet
Version:
Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.
85 lines • 3.2 kB
TypeScript
import { TRequiredProps } from '../../internal/requiredProps';
import { IProgressPreloaderCallbacksMap, IProgressPreloaderResource, IProgressPreloaderMutableProps, IProgressPreloaderStaticProps } from './types';
import { Preloader } from '../Preloader';
import { Raf } from '../Raf';
export * from './types';
/**
* Page preloader for calculating and displaying the loading progress of resources (images, videos, custom elements).
* Provides smooth progress transitions.
*
* [Documentation](https://vevetjs.com/docs/ProgressPreloader)
*
* @group Components
*/
export declare class ProgressPreloader<CallbacksMap extends IProgressPreloaderCallbacksMap = IProgressPreloaderCallbacksMap, StaticProps extends IProgressPreloaderStaticProps = IProgressPreloaderStaticProps, MutableProps extends IProgressPreloaderMutableProps = IProgressPreloaderMutableProps> extends Preloader<CallbacksMap, StaticProps, MutableProps> {
/**
* Retrieves the default static properties.
*/
_getStatic(): TRequiredProps<StaticProps>;
/**
* Retrieves the default mutable properties.
*/
_getMutable(): TRequiredProps<MutableProps>;
/**
* List of custom resources to preload based on selectors.
*/
protected _resources: IProgressPreloaderResource[];
/**
* The list of custom resources to preload.
*/
get resources(): IProgressPreloaderResource[];
/**
* Calculates the total number of resources to preload, including their weight.
*/
get totalWeight(): number;
/**
* Loaded weight
*/
get loadedWeight(): number;
/**
* Current loading progress (0 to 1).
*/
get loadProgress(): number;
/**
* Current interpolated progress value for smooth transitions.
*/
protected _progress: number;
/**
* Gets the current progress value.
*/
get progress(): number;
/** Animation frame instance for managing smooth progress updates. */
protected _raf: Raf;
constructor(props?: StaticProps & MutableProps);
/** Preload images */
protected _fetchImages(): void;
/** Preload videos */
protected _fetchVideos(): void;
/** Preload custom resources */
protected _fetchResources(): void;
/**
* Adds a custom resource
* @param id - The custom resource element or identifier to preload.
* @param weight - The resource weight
*/
addResource(id: Element | string, weight?: number): void;
/**
* Emits a resource load event and updates the count of loaded resources.
* @param id - The resource element or identifier being loaded.
*/
resolveResource(id: Element | string, loadedWeight?: number): void;
/**
* Handles updates to the preloader's progress, triggering events and animations as needed.
* @param newProgress - The updated progress value.
*/
protected _handleUpdate(newProgress: number): void;
/**
* Resolves when the page and all resources are fully loaded.
*/
protected _onLoaded(callback: () => void): void;
/**
* Cleans up resources and destroys the preloader instance.
*/
protected _destroy(): void;
}
//# sourceMappingURL=index.d.ts.map