@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
26 lines (25 loc) • 1.24 kB
TypeScript
import { ESLMixinElement } from '../../esl-mixin-element/core';
import { ESLToggleable } from '../../esl-toggleable/core/esl-toggleable';
import type { ESLToggleableActionParams } from '../../esl-toggleable/core/esl-toggleable';
export type ESLRelatedTargetActionType = 'all' | 'show' | 'hide';
/**
* ESLRelatedTarget mixin element
* @author Anastasia Lesun, Alexey Stsefanovich (ala'n)
*
* ESLRelatedTarget is a custom mixin element that can be used with {@link ESLToggleable}s to sync their states
*/
export declare class ESLRelatedTarget extends ESLMixinElement {
static is: string;
/** Selector/query ({@link ESLTraversingQuery}) to find related ESLToggleable element */
selector: string;
/** Action to synchronize between toggleables */
action: ESLRelatedTargetActionType;
/** @returns related toggleable instances */
get $targets(): ESLToggleable[];
/** Merges params that are used to initiate actions */
protected mergeParams(params: ESLToggleableActionParams): ESLToggleableActionParams;
/** Processes {@link ESLToggleable} show event */
protected onShow(e: CustomEvent): void;
/** Processes {@link ESLToggleable} hide event */
protected onHide(e: CustomEvent): void;
}