54 lines
2.0 KiB
JavaScript
54 lines
2.0 KiB
JavaScript
import "./chunk-4MBMRILA.js";
|
|
|
|
// node_modules/tinykeys/dist/tinykeys.module.js
|
|
var t = ["Shift", "Meta", "Alt", "Control"];
|
|
var e = "object" == typeof navigator ? navigator.platform : "";
|
|
var n = /Mac|iPod|iPhone|iPad/.test(e);
|
|
var o = n ? "Meta" : "Control";
|
|
var r = "Win32" === e ? ["Control", "Alt"] : n ? ["Alt"] : [];
|
|
function i(t2, e2) {
|
|
return "function" == typeof t2.getModifierState && (t2.getModifierState(e2) || r.includes(e2) && t2.getModifierState("AltGraph"));
|
|
}
|
|
function a(t2) {
|
|
return t2.trim().split(" ").map(function(t3) {
|
|
var e2 = t3.split(/\b\+/), n2 = e2.pop(), r2 = n2.match(/^\((.+)\)$/);
|
|
return r2 && (n2 = new RegExp("^" + r2[1] + "$")), [e2 = e2.map(function(t4) {
|
|
return "$mod" === t4 ? o : t4;
|
|
}), n2];
|
|
});
|
|
}
|
|
function u(e2, n2) {
|
|
var o2 = n2[0], r2 = n2[1];
|
|
return !((r2 instanceof RegExp ? !r2.test(e2.key) && !r2.test(e2.code) : r2.toUpperCase() !== e2.key.toUpperCase() && r2 !== e2.code) || o2.find(function(t2) {
|
|
return !i(e2, t2);
|
|
}) || t.find(function(t2) {
|
|
return !o2.includes(t2) && r2 !== t2 && i(e2, t2);
|
|
}));
|
|
}
|
|
function c(t2, e2) {
|
|
var n2;
|
|
void 0 === e2 && (e2 = {});
|
|
var o2 = null != (n2 = e2.timeout) ? n2 : 1e3, r2 = Object.keys(t2).map(function(e3) {
|
|
return [a(e3), t2[e3]];
|
|
}), c2 = /* @__PURE__ */ new Map(), f2 = null;
|
|
return function(t3) {
|
|
t3 instanceof KeyboardEvent && (r2.forEach(function(e3) {
|
|
var n3 = e3[0], o3 = e3[1], r3 = c2.get(n3) || n3;
|
|
u(t3, r3[0]) ? r3.length > 1 ? c2.set(n3, r3.slice(1)) : (c2.delete(n3), o3(t3)) : i(t3, t3.key) || c2.delete(n3);
|
|
}), f2 && clearTimeout(f2), f2 = setTimeout(c2.clear.bind(c2), o2));
|
|
};
|
|
}
|
|
function f(t2, e2, n2) {
|
|
var o2 = void 0 === n2 ? {} : n2, r2 = o2.event, i2 = void 0 === r2 ? "keydown" : r2, a2 = o2.capture, u2 = c(e2, { timeout: o2.timeout });
|
|
return t2.addEventListener(i2, u2, a2), function() {
|
|
t2.removeEventListener(i2, u2, a2);
|
|
};
|
|
}
|
|
export {
|
|
c as createKeybindingsHandler,
|
|
u as matchKeyBindingPress,
|
|
a as parseKeybinding,
|
|
f as tinykeys
|
|
};
|
|
//# sourceMappingURL=tinykeys.js.map
|