@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
27 lines (26 loc) • 1.45 kB
TypeScript
import { ESLMixinElement } from '../../../esl-mixin-element/core';
import { ESLCarouselAutoplayEvent } from './esl-carousel.autoplay.event';
/**
* A mixin (custom attribute) element that manages the progress animation for the autoplay functionality
* of an ESL Carousel. It listens for `ESLCarouselAutoplayEvent` events and updates
* the animation state and autoplay status accordingly.
* Uses three markers to represent the autoplay progress:
* - `animate` attribute - appears on each cycle of active autoplay;
* drops one frame before the next cycle to activate CSS animation
* - `autoplay-enabled` attribute - indicates whether the autoplay plugin is enabled
* - `--esl-autoplay-timeout` CSS variable - indicates the current autoplay cycle duration
*/
export declare class ESLCarouselAutoplayProgressMixin extends ESLMixinElement {
static is: string;
/**
* {@link ESLTraversingQuery} string to find {@link ESLCarousel} instance with autoplay plugin.
* Searching for the carousel in bounds of the `.esl-carousel-nav-container` element by default.
*/
carousel: string;
/** Attribute to start animation representing autoplay cycle */
animate: boolean;
/** Autoplay enabled status marker attribute */
autoplayEnabled: boolean;
protected attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
protected _onChange(e: ESLCarouselAutoplayEvent): void;
}