@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
35 lines (34 loc) • 1.52 kB
TypeScript
import { ESLBaseTrigger } from './esl-base-trigger';
import type { ESLToggleable } from '../../esl-toggleable/core/esl-toggleable';
export declare class ESLTrigger extends ESLBaseTrigger {
static is: string;
static observedAttributes: string[];
/** Selector for ignored inner elements */
ignore: string;
/** Target Toggleable {@link ESLTraversingQuery} selector */
target: string;
/** Action to pass to the Toggleable. Supports `show`, `hide` and `toggle` values. `toggle` by default */
mode: 'toggle' | 'show' | 'hide';
/** Selector of inner target element to place aria attributes. Uses trigger itself if blank */
a11yTarget: string;
protected _$target: ESLToggleable | null;
/** Target observable Toggleable */
get $target(): ESLToggleable | null;
set $target(newPopupInstance: ESLToggleable | null);
/** Element target to setup aria attributes */
get $a11yTarget(): HTMLElement | null;
protected connectedCallback(): void;
protected attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
/** Update `$target` Toggleable from `target` selector */
updateTargetFromSelector(): void;
/** Check if the event target should be ignored */
protected isTargetIgnored(target: EventTarget | null): boolean;
}
declare global {
export interface ESLLibrary {
Trigger: typeof ESLTrigger;
}
export interface HTMLElementTagNameMap {
'esl-trigger': ESLTrigger;
}
}