Skip to content

Commit 0bd61ff

Browse files
committed
Fix broken build
1 parent eb4c6be commit 0bd61ff

1 file changed

Lines changed: 17 additions & 7 deletions

File tree

packages/cx/src/ui/keyboardShortcuts.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ interface KeyDescriptor {
1010

1111
export type KeyboardShortcut = number | KeyDescriptor;
1212

13-
let subscribers: any, eventBan = 0;
13+
let subscribers: any,
14+
eventBan = 0;
1415

1516
export function executeKeyboardShortcuts(e: KeyboardEvent) {
1617
if (Date.now() < eventBan) return;
@@ -19,22 +20,31 @@ export function executeKeyboardShortcuts(e: KeyboardEvent) {
1920
subscribers && subscribers.notify(e);
2021
}
2122

22-
export function registerKeyboardShortcut(key: number | KeyDescriptor, callback: (e: KeyboardEvent) => void) {
23+
export function registerKeyboardShortcut(
24+
key: number | KeyDescriptor,
25+
callback: (e: KeyboardEvent) => void,
26+
) {
2327
const keyCode = isObject(key) ? (key as KeyDescriptor).keyCode : key;
2428
const shiftKey = isObject(key) ? (key as KeyDescriptor).shiftKey : false;
2529
const ctrlKey = isObject(key) ? (key as KeyDescriptor).ctrlKey : false;
2630
const altKey = isObject(key) ? (key as KeyDescriptor).altKey : false;
2731

2832
if (!subscribers) {
2933
subscribers = new SubscriberList();
30-
document.addEventListener("keydown", (e: any) => {
31-
if (e.target == document.body)
32-
executeKeyboardShortcuts(e);
33-
});
34+
if (typeof document !== "undefined") {
35+
document.addEventListener("keydown", (e: any) => {
36+
if (e.target == document.body) executeKeyboardShortcuts(e);
37+
});
38+
}
3439
}
3540

3641
return subscribers.subscribe((e: any) => {
37-
if (e.keyCode == keyCode && (!shiftKey || e.shiftKey) && (!ctrlKey || e.ctrlKey) && (!altKey || e.altKey))
42+
if (
43+
e.keyCode == keyCode &&
44+
(!shiftKey || e.shiftKey) &&
45+
(!ctrlKey || e.ctrlKey) &&
46+
(!altKey || e.altKey)
47+
)
3848
callback(e);
3949
});
4050
}

0 commit comments

Comments
 (0)