@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
23 lines (22 loc) • 1.08 kB
TypeScript
import type { ESLMixinElement } from './esl-mixin-element';
/**
* Internal {@link ESLMixinElement}s observedAttributes mutation listener.
* Creates a single instance per mixin type
* Ignores mixin primary attribute changes (they are observed by {@link ESLMixinRegistry} ootb)
*/
export declare class ESLMixinAttributesObserver {
protected readonly type: string;
protected observer: MutationObserver;
private constructor();
/** Processes single mutation record */
protected handleRecord(record: MutationRecord): void;
/** Subscribes to the {@link ESLMixinElement} host instance mutations */
observe(mixin: ESLMixinElement): void;
/** Unsubscribes from the {@link ESLMixinElement} host instance mutations */
unobserve(mixin: ESLMixinElement): void;
private static instanceFor;
/** Subscribes to the {@link ESLMixinElement} host instance mutations */
static observe(mixin: ESLMixinElement): void;
/** Unsubscribes from the {@link ESLMixinElement} host instance mutations */
static unobserve(mixin: ESLMixinElement): void;
}