@nekobird/controls
Version:
A collection of opinionated user-interface controls.
29 lines (28 loc) • 1.08 kB
TypeScript
import { SequenceTriggerMap } from './config';
import { SequenceController } from './sequence-controller';
export declare type SequenceActionName = 'previous' | 'next' | 'jump';
export interface SequenceAction {
name: SequenceActionName;
currentItem?: HTMLElement;
nextItem?: HTMLElement;
nextItemIndex?: number;
nextItemId?: string;
trigger?: HTMLElement;
}
export declare class ActionManager {
private controller;
isRunning: boolean;
isNested: boolean;
constructor(controller: SequenceController);
private completeAction;
private deactivate;
private activate;
private setActionTargetPrevious;
private setActionTargetNext;
private setActionTargetJump;
createAction(actionName: SequenceActionName): SequenceAction;
composeAction(actionName: SequenceActionName, id?: string): SequenceAction;
composeActionFromTrigger(trigger: HTMLElement, triggerMap: SequenceTriggerMap): SequenceAction;
actionHub(action: SequenceAction, isNestedAction?: boolean): Promise<void>;
endAction(): Promise<void>;
}