@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
42 lines (41 loc) • 1.84 kB
TypeScript
import type { ESLBaseElementShape } from '../../esl-base-element/core/esl-base-element.shape';
import type { ESLTrigger } from './esl-trigger';
import type { ESLBaseTrigger } from './esl-base-trigger';
/**
* Tag declaration interface of {@link ESLTrigger} element
* Used for TSX declaration
*/
export interface ESLTriggerTagShape<T extends ESLBaseTrigger = ESLTrigger> extends ESLBaseElementShape<T> {
/** Define target Toggleable {@link ESLTraversingQuery} selector. `next` by default */
'target'?: string;
/** Define an action to pass to the Toggleable */
'mode'?: 'show' | 'hide' | 'toggle';
/** Define CSS classes to set on active state */
'active-class'?: string;
/** Define target element {@link ESLTraversingQuery} selector to set `active-class` */
'active-class-target'?: string;
/** Define selector for ignored inner elements */
'ignore'?: string;
/** Define click event tracking media query */
'track-click'?: boolean | string;
/** Define hover event tracking media query */
'track-hover'?: boolean | string;
/** Disallow handle ESC keyboard event to hide target element */
'ignore-esc'?: boolean;
/** Define selector of inner target element to place aria attributes */
'a11y-target'?: string;
/** Define value of aria-label for active state */
'a11y-label-active'?: string;
/** Define value of aria-label for inactive state */
'a11y-label-inactive'?: string;
/** Define show delay value */
'show-delay'?: string | number;
/** Define hide delay value */
'hide-delay'?: string | number;
/** Define show delay value override for hover */
'hover-show-delay'?: string | number;
/** Define hide delay value override for hover */
'hover-hide-delay'?: string | number;
/** Allowed children */
children?: any;
}