@cds/core
Version:
Clarity Design System - common components, themes, and utilties
32 lines (31 loc) • 1.02 kB
TypeScript
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;
}