UNPKG

@cds/core

Version:

Clarity Design System - common components, themes, and utilties

32 lines (31 loc) 1.02 kB
import { ReactiveController, ReactiveElement } from 'lit'; export declare type Triggerable = ReactiveElement & { trigger?: HTMLElement; }; /** * The TriggerController will track the last known interacted element * when the host component was created or shown. This is used for when a component * needs to know the element that "triggered" the interaction. * * Examples include, popover types, closable types and draggable types. */ export declare function triggerable<T extends Triggerable>(config?: { focus: boolean; }): ClassDecorator; export declare class TriggerController<T extends Triggerable> implements ReactiveController { private host; private config; private observer; constructor(host: T, config?: { focus: boolean; }); private activeElement; private _current; get current(): HTMLElement; private _prev; get prev(): HTMLElement; hostConnected(): Promise<void>; hostUpdate(): void; hostDisconnected(): void; private focusCurrent; }