UNPKG

@platform/react

Version:

React refs and helpers.

43 lines (42 loc) 1.33 kB
import { IKeypressEvent } from '../events/types'; import { Observable } from 'rxjs'; export { IKeypressEvent }; export declare type KeyCommand = string; export declare type KeyBindings<T extends KeyCommand> = KeyBinding<T>[]; export declare type KeyBinding<T extends KeyCommand> = { command: T; key: string; }; export declare type ModifierKey = 'ALT' | 'CTRL' | 'SHIFT' | 'META'; export declare type IKeyPattern = { keys: string[]; modifiers: ModifierKey[]; }; export declare type IKeyMatchEventArgs = { key: string; altKey: boolean; ctrlKey: boolean; shiftKey: boolean; metaKey: boolean; }; export declare type IKeyBindingEvent<T extends KeyCommand> = { command: T; key: string; preventDefault(): void; stopPropagation(): void; stopImmediatePropagation(): void; cancel(): void; }; export declare type IKeyboardArgs<T extends KeyCommand> = { bindings?: KeyBindings<T>; keyPress$?: Observable<IKeypressEvent>; dispose$?: Observable<void>; }; export declare type IKeyboard<T extends KeyCommand> = { isDisposed: boolean; dispose$: Observable<void>; dispose(): void; clone(options?: Partial<IKeyboardArgs<T>>): IKeyboard<T>; filter(fn: (e: IKeypressEvent) => boolean): IKeyboard<T>; takeUntil(dispose$: Observable<void>): IKeyboard<T>; };