@alilc/lowcode-editor-core
Version:
Core Api for Ali lowCode engine
37 lines (36 loc) • 1.1 kB
TypeScript
export declare class FocusTracker {
private actives;
private modals;
mount(win: Window): () => void;
get first(): Focusable;
addModal(checkDown: (e: MouseEvent) => boolean, checkOpen: () => boolean): void;
private checkModalOpen;
private checkModalDown;
execSave(): void;
execEsc(): void;
create(config: FocusableConfig): Focusable;
internalActiveItem(item: Focusable): void;
internalSuspenseItem(item: Focusable): void;
}
export interface FocusableConfig {
range: HTMLElement | ((e: MouseEvent) => boolean);
modal?: boolean;
onEsc?: () => void;
onBlur?: () => void;
onSave?: () => void;
onActive?: () => void;
}
export declare class Focusable {
private tracker;
private config;
readonly isModal: boolean;
constructor(tracker: FocusTracker, config: FocusableConfig);
active(): void;
suspense(): void;
purge(): void;
internalCheckInRange(e: MouseEvent): boolean;
internalTriggerBlur(): void;
internalTriggerSave(): boolean;
internalTriggerEsc(): void;
internalTriggerActive(): void;
}