@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
37 lines (36 loc) • 1.82 kB
TypeScript
import { ESLMixinElement } from '../../esl-mixin-element/core';
import { ESLMediaRuleList } from '../../esl-media-query/core';
import { ESLCarousel } from '../core/esl-carousel';
/** Base mixin plugin of {@link ESLCarousel} */
export declare abstract class ESLCarouselPlugin<Config extends Record<string, any>> extends ESLMixinElement {
/** Default configuration */
protected static DEFAULT_CONFIG: Record<string, any>;
/** Config key to be used if passed non object value */
protected static DEFAULT_CONFIG_KEY: string;
/** {@link ESLCarousel} host instance */
$host: ESLCarousel;
/** Plugin name, also an attribute name in the carousel configuration */
get name(): string;
/** Plugin configuration attribute value */
get configValue(): string;
set configValue(value: string);
/** Plugin configuration query */
get configQuery(): ESLMediaRuleList<Config | null>;
/** Active plugin configuration object */
get config(): Config;
/**
* Parses plugin media query value term to the config object.
* Provides the capability to pass a config a stringified non-strict JSON or as a string (mapped to single option configuration).
*
* Uses {@link ESLCarouselPlugin.DEFAULT_CONFIG_KEY} to map string value to the config object.
*/
protected parseConfig(value: string): Config | null;
protected connectedCallback(): void;
protected attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
/** Callback to be executed on plugin initialization */
protected onInit(): void;
/** Callback to be executed on plugin configuration query change (attribute change) */
protected onConfigChange(): void;
/** Register mixin-plugin in ESLMixinRegistry */
static register(): void;
}