@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
34 lines (33 loc) • 1.38 kB
TypeScript
import { ESLMixinElement } from '../../../esl-mixin-element/core';
import { ESLCarouselAutoplayMixin } from './esl-carousel.autoplay.mixin';
import type { ESLCarousel } from '../../core/esl-carousel';
import type { ESLCarouselAutoplayHostState } from './esl-carousel.autoplay.types';
/**
* Read-only autoplay state mixin.
* Resolves the target carousel, subscribes to autoplay invalidation events and reflects current autoplay state on host.
*/
export declare class ESLCarouselAutoplayStateMixin extends ESLMixinElement {
static is: string;
static DEFAULT_TARGET: string;
/** Selector to find target carousel */
target: string;
/** Target carousel instance */
get $carousel(): ESLCarousel | null;
/** Target autoplay plugin instance */
get autoplay(): ESLCarouselAutoplayMixin | null;
/** Controlled carousel id for a11y */
get targetID(): string | null;
/** Exclusive summary state for the controlled autoplay instance */
get state(): ESLCarouselAutoplayHostState;
connectedCallback(): void;
disconnectedCallback(): void;
/** Synchronize host state markers */
protected syncState(): void;
/** Handles autoplay state changes on target carousel */
protected _onStateChange(): void;
}
declare global {
export interface ESLCarouselNS {
AutoplayState: typeof ESLCarouselAutoplayStateMixin;
}
}