@rwh/keystrokes
Advanced tools
Comparing version 1.3.0 to 1.3.1
@@ -1,4 +0,5 @@ | ||
export type { KeyEvent, HandlerFn, HandlerObj, Handler } from './handler-state'; | ||
export type { KeyComboEvent } from './key-combo-state'; | ||
export type { OnActiveEventBinder, OnKeyEventBinder, KeystrokesOptions, } from './keystrokes'; | ||
export { BrowserKeyEventProps, BrowserKeyComboEventProps, MaybeBrowserKeyComboEventProps, browserOnActiveBinder, browserOnInactiveBinder, browserOnKeyPressedBinder, browserOnKeyReleasedBinder, } from './browser-bindings'; | ||
export { KeyEvent, HandlerFn, HandlerObj, Handler, HandlerState, } from './handler-state'; | ||
export { KeyComboEvent, KeyComboState } from './key-combo-state'; | ||
export { defaultSequenceTimeout, OnActiveEventBinder, OnKeyEventBinder, KeyComboEventMapper, KeyPress, KeystrokesOptions, BindEnvironmentOptions, Keystrokes, } from './keystrokes'; | ||
import { MaybeBrowserKeyComboEventProps, MaybeBrowserKeyEventProps } from './browser-bindings'; | ||
@@ -5,0 +6,0 @@ import { KeyEvent } from './handler-state'; |
var A = Object.defineProperty; | ||
var w = (i, e, t) => e in i ? A(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t; | ||
var o = (i, e, t) => (w(i, typeof e != "symbol" ? e + "" : e, t), t); | ||
class k { | ||
const E = { | ||
/* | ||
eslint-disable | ||
@typescript-eslint/no-empty-function, | ||
@typescript-eslint/no-unused-vars | ||
*/ | ||
addEventListener: (...i) => { | ||
}, | ||
removeEventListener: (...i) => { | ||
}, | ||
dispatchEvent: (...i) => { | ||
} | ||
/* | ||
eslint-enable | ||
@typescript-eslint/no-empty-function, | ||
@typescript-eslint/no-unused-vars | ||
*/ | ||
}, R = { | ||
userAgent: "" | ||
}, p = () => typeof document < "u" ? document : E, x = () => typeof navigator < "u" ? navigator : R, q = () => x().userAgent.toLocaleLowerCase().includes("mac"); | ||
let v = !1; | ||
const I = (i) => { | ||
!q() || i.key !== "Meta" || (v = !0); | ||
}, M = (i) => { | ||
!v || i.key !== "Meta" || (v = !1, k()); | ||
}, b = /* @__PURE__ */ new Map(), B = (i) => { | ||
b.set(i.key, i); | ||
}, L = (i) => { | ||
b.delete(i.key); | ||
}, k = () => { | ||
for (const i of b.values()) { | ||
const e = new KeyboardEvent("keyup", { | ||
key: i.key, | ||
code: i.code, | ||
bubbles: !0, | ||
cancelable: !0 | ||
}); | ||
p().dispatchEvent(e); | ||
} | ||
b.clear(); | ||
}, W = (i) => { | ||
try { | ||
const e = () => i(); | ||
return addEventListener("focus", e), () => { | ||
removeEventListener("focus", e); | ||
}; | ||
} catch { | ||
} | ||
}, O = (i) => { | ||
try { | ||
const e = () => { | ||
k(), i(); | ||
}; | ||
return addEventListener("blur", e), () => removeEventListener("blur", e); | ||
} catch { | ||
} | ||
}, z = (i) => { | ||
try { | ||
const e = (t) => (B(t), I(t), i({ | ||
key: t.key, | ||
originalEvent: t, | ||
composedPath: () => t.composedPath(), | ||
preventDefault: () => t.preventDefault() | ||
})); | ||
return p().addEventListener("keydown", e), () => p().removeEventListener("keydown", e); | ||
} catch { | ||
} | ||
}, T = (i) => { | ||
try { | ||
const e = (t) => (L(t), M(t), i({ | ||
key: t.key, | ||
originalEvent: t, | ||
composedPath: () => t.composedPath(), | ||
preventDefault: () => t.preventDefault() | ||
})); | ||
return p().addEventListener("keyup", e), () => p().removeEventListener("keyup", e); | ||
} catch { | ||
} | ||
}; | ||
class P { | ||
constructor(e) { | ||
@@ -40,3 +119,3 @@ o(this, "_onPressed"); | ||
o(this, "_isPressedWithFinalUnit"); | ||
this._normalizedKeyCombo = h.normalizeKeyCombo(e), this._parsedKeyCombo = h.parseKeyCombo(e), this._handlerState = new k(n), this._keyComboEventMapper = t, this._movingToNextSequenceAt = 0, this._sequenceIndex = 0, this._unitIndex = 0, this._lastActiveKeyPresses = [], this._lastActiveKeyCount = 0, this._isPressedWithFinalUnit = null; | ||
this._normalizedKeyCombo = h.normalizeKeyCombo(e), this._parsedKeyCombo = h.parseKeyCombo(e), this._handlerState = new P(n), this._keyComboEventMapper = t, this._movingToNextSequenceAt = 0, this._sequenceIndex = 0, this._unitIndex = 0, this._lastActiveKeyPresses = [], this._lastActiveKeyCount = 0, this._isPressedWithFinalUnit = null; | ||
} | ||
@@ -150,81 +229,3 @@ static parseKeyCombo(e) { | ||
let y = h; | ||
const E = { | ||
/* | ||
eslint-disable | ||
@typescript-eslint/no-empty-function, | ||
@typescript-eslint/no-unused-vars | ||
*/ | ||
addEventListener: (...i) => { | ||
}, | ||
removeEventListener: (...i) => { | ||
}, | ||
dispatchEvent: (...i) => { | ||
} | ||
/* | ||
eslint-enable | ||
@typescript-eslint/no-empty-function, | ||
@typescript-eslint/no-unused-vars | ||
*/ | ||
}, R = { | ||
userAgent: "" | ||
}, p = () => typeof document < "u" ? document : E, x = () => typeof navigator < "u" ? navigator : R, q = () => x().userAgent.toLocaleLowerCase().includes("mac"); | ||
let v = !1; | ||
const I = (i) => { | ||
!q() || i.key !== "Meta" || (v = !0); | ||
}, M = (i) => { | ||
!v || i.key !== "Meta" || (v = !1, P()); | ||
}, b = /* @__PURE__ */ new Map(), B = (i) => { | ||
b.set(i.key, i); | ||
}, L = (i) => { | ||
b.delete(i.key); | ||
}, P = () => { | ||
for (const i of b.values()) { | ||
const e = new KeyboardEvent("keyup", { | ||
key: i.key, | ||
code: i.code, | ||
bubbles: !0, | ||
cancelable: !0 | ||
}); | ||
p().dispatchEvent(e); | ||
} | ||
b.clear(); | ||
}, W = (i) => { | ||
try { | ||
const e = () => i(); | ||
return addEventListener("focus", e), () => { | ||
removeEventListener("focus", e); | ||
}; | ||
} catch { | ||
} | ||
}, O = (i) => { | ||
try { | ||
const e = () => { | ||
P(), i(); | ||
}; | ||
return addEventListener("blur", e), () => removeEventListener("blur", e); | ||
} catch { | ||
} | ||
}, z = (i) => { | ||
try { | ||
const e = (t) => (B(t), I(t), i({ | ||
key: t.key, | ||
originalEvent: t, | ||
composedPath: () => t.composedPath(), | ||
preventDefault: () => t.preventDefault() | ||
})); | ||
return p().addEventListener("keydown", e), () => p().removeEventListener("keydown", e); | ||
} catch { | ||
} | ||
}, T = (i) => { | ||
try { | ||
const e = (t) => (L(t), M(t), i({ | ||
key: t.key, | ||
originalEvent: t, | ||
composedPath: () => t.composedPath(), | ||
preventDefault: () => t.preventDefault() | ||
})); | ||
return p().addEventListener("keyup", e), () => p().removeEventListener("keyup", e); | ||
} catch { | ||
} | ||
}, U = 1e3; | ||
const U = 1e3; | ||
class S { | ||
@@ -265,3 +266,3 @@ constructor(e = {}) { | ||
e = e.toLowerCase(); | ||
const n = new k(t); | ||
const n = new P(t); | ||
(s = this._handlerStates)[e] ?? (s[e] = []), this._handlerStates[e].push(n); | ||
@@ -438,7 +439,15 @@ } | ||
export { | ||
P as HandlerState, | ||
y as KeyComboState, | ||
S as Keystrokes, | ||
N as bindKey, | ||
G as bindKeyCombo, | ||
W as browserOnActiveBinder, | ||
O as browserOnInactiveBinder, | ||
z as browserOnKeyPressedBinder, | ||
T as browserOnKeyReleasedBinder, | ||
Q as checkKey, | ||
V as checkKeyCombo, | ||
$ as createTestKeystrokes, | ||
U as defaultSequenceTimeout, | ||
f as getGlobalKeystrokes, | ||
@@ -445,0 +454,0 @@ X as normalizeKeyCombo, |
{ | ||
"name": "@rwh/keystrokes", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"description": "Keystrokes is an easy to use library for binding functions to keys and key combos. It can be used with any TypeScript or JavaScript project, even in non-browser environments.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
Sorry, the diff of this file is not supported yet
53601
662