UNPKG

@nekobird/controls

Version:

A collection of opinionated user-interface controls.

32 lines (31 loc) 1.56 kB
import { AfterActionCallback, BeforeActionCallback, ConditionHook, Hook } from '../index'; import { MonoAction, MonoActionName } from './action-manager'; import { MonoController } from './mono-controller'; export interface MonoTriggerMap { trigger: HTMLElement; action: MonoActionName; payload?: string; } export interface MonoConfig { cooldown: number; listenToKeydown: boolean; deactivateOnOutsideAction: boolean; items: NodeListOf<HTMLElement> | HTMLElement[]; isTrigger: (element: HTMLElement) => boolean; mapTriggerToAction: (trigger: HTMLElement) => MonoTriggerMap | false; getItemId: (item: HTMLElement) => string | false; conditionActivate: ConditionHook<MonoAction, MonoController>; conditionDeactivate: ConditionHook<MonoAction, MonoController>; beforeActivate: Hook<MonoAction, MonoController>; beforeDeactivate: Hook<MonoAction, MonoController>; itemIsActive: (item: HTMLElement, context: MonoController) => boolean; activateItem: (item: HTMLElement, context: MonoController) => void; deactivateItem: (item: HTMLElement, context: MonoController) => void; afterActivate: Hook<MonoAction, MonoController>; afterDeactivate: Hook<MonoAction, MonoController>; beforeAction: BeforeActionCallback<MonoAction, MonoController>; afterAction: AfterActionCallback<MonoAction, MonoController>; onKeydown: (event: KeyboardEvent, context: MonoController) => void; onOutsideAction: (context: MonoController) => void; } export declare const DEFAULT_CONFIG: MonoConfig;