react-hotkeys
Version:
A declarative library for handling hotkeys and focus within a React application
51 lines (39 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactsGetEventKey = _interopRequireDefault(require("../../vendor/react-dom/reactsGetEventKey"));
var _Configuration = _interopRequireDefault(require("../../lib/config/Configuration"));
var _hasKey = _interopRequireDefault(require("../../utils/object/hasKey"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Lowercased string representing a particular keyboard key
* @typedef {string} NormalizedKeyName
*/
/**
* Returns key name from native or React keyboard event
* @param {KeyboardEvent} event - Event containing the key name
* @returns {NormalizedKeyName} Normalized name of the key
*/
function getKeyName(event) {
var keyName = function () {
var customKeyCodes = _Configuration.default.option('customKeyCodes');
var keyCode = event.keyCode || event.charCode;
if ((0, _hasKey.default)(customKeyCodes, keyCode)) {
return customKeyCodes[keyCode];
}
if (event.nativeEvent) {
return event.key;
} else {
return (0, _reactsGetEventKey.default)(event);
}
}();
if (keyName === '+') {
return 'plus';
} else {
return keyName;
}
}
var _default = getKeyName;
exports.default = _default;