Socket
Socket
Sign inDemoInstall

@reecelucas/react-use-hotkeys

Package Overview
Dependencies
3
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.3.3 to 1.3.4

esm/vendor/shim-keyboard-event-key/index.d.ts

2

esm/helpers/arraysAreEqual.d.ts

@@ -1,2 +0,1 @@

declare const _default: (arr1: any[], arr2: any[]) => boolean;
/**

@@ -9,2 +8,3 @@ * Check if two arrays contain the same items.

*/
declare const _default: (arr1: any[], arr2: any[]) => boolean;
export default _default;

@@ -0,1 +1,10 @@

var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
export default (function (hotkeys) {

@@ -18,5 +27,5 @@ var hkeys = hotkeys.toLowerCase();

*/
return (hkeys.match(/[^\s"']+|"([^"]*)"|'([^']*)'/g) || []).slice().map(function (key) {
return __spreadArray([], (hkeys.match(/[^\s"']+|"([^"]*)"|'([^']*)'/g) || []), true).map(function (key) {
return key.replace(/("|').*?("|')/, ' ');
});
});

@@ -1,2 +0,1 @@

declare const _default: (arr1: any[], arr2: any[]) => boolean;
/**

@@ -8,2 +7,3 @@ * Check if two arrays contain the same items.

*/
declare const _default: (arr1: any[], arr2: any[]) => boolean;
export default _default;

@@ -1,3 +0,3 @@

import 'shim-keyboard-event-key';
declare const useHotkeys: (hotkeys: string | string[], callback: (event: KeyboardEvent) => void, eventListenerOptions?: boolean | AddEventListenerOptions | undefined) => void;
import './vendor/shim-keyboard-event-key';
declare const useHotkeys: (hotkeys: string | string[], callback: (event: KeyboardEvent) => void, eventListenerOptions?: boolean | AddEventListenerOptions) => void;
export default useHotkeys;

@@ -10,3 +10,3 @@ import { useEffect, useMemo } from 'react';

import takeUntilLast from './helpers/takeUntilLast';
import 'shim-keyboard-event-key';
import './vendor/shim-keyboard-event-key';
var KEY_SEQUENCE_TIMEOUT = 1000;

@@ -13,0 +13,0 @@ var ESCAPE_HATCH_KEY = '*';

@@ -1,2 +0,1 @@

declare const _default: (arr1: any[], arr2: any[]) => boolean;
/**

@@ -9,2 +8,3 @@ * Check if two arrays contain the same items.

*/
declare const _default: (arr1: any[], arr2: any[]) => boolean;
export default _default;
"use strict";
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -20,5 +29,5 @@ exports.default = (function (hotkeys) {

*/
return (hkeys.match(/[^\s"']+|"([^"]*)"|'([^']*)'/g) || []).slice().map(function (key) {
return __spreadArray([], (hkeys.match(/[^\s"']+|"([^"]*)"|'([^']*)'/g) || []), true).map(function (key) {
return key.replace(/("|').*?("|')/, ' ');
});
});

@@ -1,2 +0,1 @@

declare const _default: (arr1: any[], arr2: any[]) => boolean;
/**

@@ -8,2 +7,3 @@ * Check if two arrays contain the same items.

*/
declare const _default: (arr1: any[], arr2: any[]) => boolean;
export default _default;

@@ -1,3 +0,3 @@

import 'shim-keyboard-event-key';
declare const useHotkeys: (hotkeys: string | string[], callback: (event: KeyboardEvent) => void, eventListenerOptions?: boolean | AddEventListenerOptions | undefined) => void;
import './vendor/shim-keyboard-event-key';
declare const useHotkeys: (hotkeys: string | string[], callback: (event: KeyboardEvent) => void, eventListenerOptions?: boolean | AddEventListenerOptions) => void;
export default useHotkeys;

@@ -12,12 +12,12 @@ "use strict";

var takeUntilLast_1 = require("./helpers/takeUntilLast");
require("shim-keyboard-event-key");
require("./vendor/shim-keyboard-event-key");
var KEY_SEQUENCE_TIMEOUT = 1000;
var ESCAPE_HATCH_KEY = '*';
var useHotkeys = function (hotkeys, callback, eventListenerOptions) {
var hotkeysArray = react_1.useMemo(function () {
var hotkeysArray = (0, react_1.useMemo)(function () {
return Array.isArray(hotkeys)
? hotkeys.map(getHotkeysArray_1.default)
: [getHotkeysArray_1.default(hotkeys)];
: [(0, getHotkeysArray_1.default)(hotkeys)];
}, [hotkeys]);
react_1.useEffect(function () {
(0, react_1.useEffect)(function () {
var keySequences = {};

@@ -40,3 +40,3 @@ var sequenceTimers = {};

keySequence.push(event.key.toLowerCase());
if (arraysAreEqual_1.default(keySequence, keys)) {
if ((0, arraysAreEqual_1.default)(keySequence, keys)) {
resetKeySequence(index);

@@ -47,6 +47,6 @@ callback(event);

var handleModifierCombo = function (event, keys) {
var actionKey = tail_1.default(keys);
var modKeys = mapModifierKeys_1.default(takeUntilLast_1.default(keys));
var activeModKeys = getActiveModifierKeys_1.default(event);
var allModKeysPressed = isSameSet_1.default(modKeys, activeModKeys);
var actionKey = (0, tail_1.default)(keys);
var modKeys = (0, mapModifierKeys_1.default)((0, takeUntilLast_1.default)(keys));
var activeModKeys = (0, getActiveModifierKeys_1.default)(event);
var allModKeysPressed = (0, isSameSet_1.default)(modKeys, activeModKeys);
if (allModKeysPressed && event.key.toLowerCase() === actionKey) {

@@ -61,3 +61,3 @@ callback(event);

*/
if (!event.key && !modifierKeyPressed_1.default(event)) {
if (!event.key && !(0, modifierKeyPressed_1.default)(event)) {
return;

@@ -75,3 +75,3 @@ }

// Handle modifier key combos
if (modifierKeyPressed_1.default(event)) {
if ((0, modifierKeyPressed_1.default)(event)) {
handleModifierCombo(event, keysArray);

@@ -81,3 +81,3 @@ return;

// Handle key sequences
if (keysArray.length > 1 && !modifierKeyPressed_1.default(event)) {
if (keysArray.length > 1 && !(0, modifierKeyPressed_1.default)(event)) {
handleKeySequence(event, keysArray, i);

@@ -84,0 +84,0 @@ return;

{
"name": "@reecelucas/react-use-hotkeys",
"version": "1.3.3",
"version": "1.3.4",
"description": "React hook to create keyboard shortcuts",

@@ -69,7 +69,4 @@ "main": "lib/index.js",

"tslint-react": "^4.0.0",
"typescript": "^3.4.1"
"typescript": "^4.8.2"
},
"dependencies": {
"shim-keyboard-event-key": "^1.0.3"
},
"husky": {

@@ -76,0 +73,0 @@ "hooks": {

@@ -17,4 +17,2 @@ # react-use-hotkeys

This package has a single dependency, a tiny shim called [`shim-keyboard-event-key`](https://www.npmjs.com/package/shim-keyboard-event-key) that normalises the non-standard `KeyBoardEvent.key` [values](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/) implemented in Edge and IE.
## Example Usage

@@ -21,0 +19,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc