UNPKG

@nekobird/controls

Version:

A collection of opinionated user-interface controls.

36 lines (35 loc) 1.89 kB
import { AfterActionCallback, BeforeActionCallback, ConditionHook } from '../index'; import { PolyController } from './poly-controller'; import { PolyAction, PolyActionName } from './action-manager'; export interface PolyTriggerMap { trigger: HTMLElement; action: PolyActionName; payload?: string; } export interface PolyConfig { cooldown: number; deactivateAllOnOutsideAction: boolean; listenToKeydown: boolean; items: NodeListOf<HTMLElement> | HTMLElement[]; isTrigger: (element: HTMLElement) => boolean; mapTriggerToAction: (trigger: HTMLElement) => PolyTriggerMap | false; getItemId: (item: HTMLElement) => string | false; conditionActivate: ConditionHook<PolyAction, PolyController>; conditionDeactivate: ConditionHook<PolyAction, PolyController>; conditionToggle: ConditionHook<PolyAction, PolyController>; conditionActivateAll: ConditionHook<PolyAction, PolyController>; conditionDeactivateAll: ConditionHook<PolyAction, PolyController>; conditionToggleAll: ConditionHook<PolyAction, PolyController>; beforeDeactivate: BeforeActionCallback<PolyAction, PolyController>; afterDeactivate: AfterActionCallback<PolyAction, PolyController>; itemIsActive: (item: HTMLElement, context: PolyController) => boolean; activateItem: (item: HTMLElement, context: PolyController) => void; deactivateItem: (item: HTMLElement, context: PolyController) => void; beforeActivate: BeforeActionCallback<PolyAction, PolyController>; afterActivate: AfterActionCallback<PolyAction, PolyController>; beforeAction: BeforeActionCallback<PolyAction, PolyController>; afterAction: AfterActionCallback<PolyAction, PolyController>; onOutsideAction: (context: PolyController) => void; onKeydown: (event: KeyboardEvent, context: PolyController) => void; } export declare const DEFAULT_CONFIG: PolyConfig;