@nekobird/controls
Version:
A collection of opinionated user-interface controls.
27 lines (26 loc) • 989 B
TypeScript
import { MonoTriggerMap } from './config';
import { MonoController } from './mono-controller';
export declare type MonoActionName = 'activate' | 'deactivate' | 'toggle';
export interface MonoAction {
name: MonoActionName;
currentItem?: HTMLElement;
currentItemId?: string;
nextItem?: HTMLElement;
nextItemId?: string;
targetId?: string;
trigger?: HTMLElement;
}
export declare class ActionManager {
private controller;
isRunning: boolean;
isNested: boolean;
constructor(controller: MonoController);
private activate;
private deactivate;
private completeAction;
createAction(actionName: MonoActionName): MonoAction;
composeAction(actionName: MonoActionName, id?: string): MonoAction;
composeActionFromTrigger(trigger: HTMLElement, triggerMap: MonoTriggerMap): MonoAction;
actionHub(action: MonoAction, isNestedAction?: boolean, callback?: Function): Promise<void>;
endAction(callback?: Function): Promise<void>;
}