UNPKG

@tempots/ui

Version:

Provides a higher level of renderables to help fast development with Tempo.

24 lines (23 loc) 971 B
export type KeyCombo = { /** The key value (e.g., 'Enter', 'a', 'ArrowUp') */ key?: string; /** The physical key code (e.g., 'KeyA', 'Enter', 'ArrowUp') - more reliable than key */ code?: string; /** Control key modifier */ ctrlKey?: boolean; /** Alt key modifier (Option key on Mac) */ altKey?: boolean; /** Shift key modifier */ shiftKey?: boolean; /** Meta key modifier (Cmd on Mac, Windows key on PC) */ metaKey?: boolean; /** Whether the key is being held down (auto-repeat) */ repeat?: boolean; /** Cross-platform shortcut: true if either Cmd (Mac) or Ctrl (PC) is pressed */ commandOrControlKey?: boolean; }; export declare function matchesKeyCombo(keyCombo: KeyCombo | string, event: KeyboardEvent): boolean; export declare function OnKeyPressed({ allowedKeys, handler, }: { allowedKeys: (KeyCombo | string)[]; handler: (event: KeyboardEvent) => void; }): import('@tempots/dom').Renderable;