@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
31 lines (30 loc) • 1.52 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 ESLMixinElement {
/** Config key to be used if passed non object value */
protected static DEFAULT_CONFIG_KEY: string;
/** {@link ESLCarousel} host instance */
$host: ESLCarousel;
/** 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(): boolean | void;
protected attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
/** Callback to be executed on plugin configuration query change (attribute change) */
protected onConfigChange(): void;
/** Register mixin-plugin in ESLMixinRegistry */
static register(): void;
}