@tempots/ui
Version:
Provides a higher level of renderables to help fast development with Tempo.
24 lines (23 loc) • 971 B
TypeScript
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;