UNPKG

@cds/core

Version:

Clarity Design System - common components, themes, and utilties

24 lines (23 loc) 859 B
import { ReactiveController, ReactiveElement } from 'lit'; export declare type CloseChangeType = 'focusout' | 'backdrop-click' | 'escape-keypress' | 'close-button-click' | 'custom'; export declare type Closable = ReactiveElement & { trigger?: HTMLElement; }; export interface ClosableControllerConfig { escape: boolean; focusout: boolean; } /** * Given a closable component provides the following * - close on escape * - close on focusout * - close on custom event */ export declare function closable<T extends Closable>(config?: Partial<ClosableControllerConfig>): ClassDecorator; export declare class ClosableController<T extends Closable> implements ReactiveController { private host; private config; constructor(host: T, config?: Partial<ClosableControllerConfig>); hostConnected(): void; close(detail?: any): void; }