@nekobird/controls
Version:
A collection of opinionated user-interface controls.
30 lines (29 loc) • 1.15 kB
TypeScript
import { PolyTriggerMap } from './config';
import { PolyController } from './poly-controller';
export declare type PolyActionName = 'activate' | 'activate-all' | 'deactivate' | 'deactivate-all' | 'toggle' | 'toggle-all';
export interface PolyAction {
name: PolyActionName;
targetItem?: HTMLElement;
targetId?: string;
trigger?: HTMLElement;
}
export declare class ActionManager {
private controller;
isRunning: boolean;
isNested: boolean;
constructor(controller: PolyController);
private activateItem;
private deactivateItem;
private handleActionActivate;
private handleActionDeactivate;
private handleActionToggle;
private handleActionActivateAll;
private handleActionDeactivateAll;
private handleActionToggleAll;
private handleAction;
private createAction;
composeAction(actionName: PolyActionName, id?: string): PolyAction;
composeActionFromTrigger(trigger: HTMLElement, triggerMap: PolyTriggerMap): PolyAction;
actionHub(action: PolyAction, isNestedAction?: boolean, callback?: Function): Promise<void>;
endAction(callback?: Function): Promise<void>;
}