styledot
Version:
23andMe Design System
52 lines (42 loc) • 4.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getKeypress = getKeypress;
exports.isDownArrowKeypress = isDownArrowKeypress;
exports.isEnterKeypress = isEnterKeypress;
exports.isEscapeKeypress = isEscapeKeypress;
exports.isLeftArrowKeypress = isLeftArrowKeypress;
exports.isRightArrowKeypress = isRightArrowKeypress;
exports.isSpaceKeypress = isSpaceKeypress;
exports.isUpArrowKeypress = isUpArrowKeypress;
/* a11y keyboard utils */
function getKeypress(event) {
// note: React synthetic keyboard events only define key, not code
return event.code || event.key;
}
function _doesKeyMatch(event, toMatch) {
return getKeypress(event) === toMatch;
}
function isEnterKeypress(event) {
return _doesKeyMatch(event, 'Enter');
}
function isEscapeKeypress(event) {
return _doesKeyMatch(event, 'Escape');
}
function isSpaceKeypress(event) {
return _doesKeyMatch(event, 'Space');
}
function isLeftArrowKeypress(event) {
return _doesKeyMatch(event, 'ArrowLeft');
}
function isRightArrowKeypress(event) {
return _doesKeyMatch(event, 'ArrowRight');
}
function isUpArrowKeypress(event) {
return _doesKeyMatch(event, 'ArrowUp');
}
function isDownArrowKeypress(event) {
return _doesKeyMatch(event, 'ArrowDown');
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRLZXlwcmVzcyIsImV2ZW50IiwiY29kZSIsImtleSIsIl9kb2VzS2V5TWF0Y2giLCJ0b01hdGNoIiwiaXNFbnRlcktleXByZXNzIiwiaXNFc2NhcGVLZXlwcmVzcyIsImlzU3BhY2VLZXlwcmVzcyIsImlzTGVmdEFycm93S2V5cHJlc3MiLCJpc1JpZ2h0QXJyb3dLZXlwcmVzcyIsImlzVXBBcnJvd0tleXByZXNzIiwiaXNEb3duQXJyb3dLZXlwcmVzcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbGl0aWVzL2tleWJvYXJkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGExMXkga2V5Ym9hcmQgdXRpbHMgKi9cbmZ1bmN0aW9uIGdldEtleXByZXNzKGV2ZW50KSB7XG4gICAgLy8gbm90ZTogUmVhY3Qgc3ludGhldGljIGtleWJvYXJkIGV2ZW50cyBvbmx5IGRlZmluZSBrZXksIG5vdCBjb2RlXG4gICAgcmV0dXJuIGV2ZW50LmNvZGUgfHwgZXZlbnQua2V5O1xufVxuXG5mdW5jdGlvbiBfZG9lc0tleU1hdGNoKGV2ZW50LCB0b01hdGNoKSB7XG4gICAgcmV0dXJuIGdldEtleXByZXNzKGV2ZW50KSA9PT0gdG9NYXRjaDtcbn1cblxuZnVuY3Rpb24gaXNFbnRlcktleXByZXNzKGV2ZW50KSB7XG4gICAgcmV0dXJuIF9kb2VzS2V5TWF0Y2goZXZlbnQsICdFbnRlcicpO1xufVxuXG5mdW5jdGlvbiBpc0VzY2FwZUtleXByZXNzKGV2ZW50KSB7XG4gICAgcmV0dXJuIF9kb2VzS2V5TWF0Y2goZXZlbnQsICdFc2NhcGUnKTtcbn1cblxuZnVuY3Rpb24gaXNTcGFjZUtleXByZXNzKGV2ZW50KSB7XG4gICAgcmV0dXJuIF9kb2VzS2V5TWF0Y2goZXZlbnQsICdTcGFjZScpO1xufVxuXG5mdW5jdGlvbiBpc0xlZnRBcnJvd0tleXByZXNzKGV2ZW50KSB7XG4gICAgcmV0dXJuIF9kb2VzS2V5TWF0Y2goZXZlbnQsICdBcnJvd0xlZnQnKTtcbn1cblxuZnVuY3Rpb24gaXNSaWdodEFycm93S2V5cHJlc3MoZXZlbnQpIHtcbiAgICByZXR1cm4gX2RvZXNLZXlNYXRjaChldmVudCwgJ0Fycm93UmlnaHQnKTtcbn1cblxuZnVuY3Rpb24gaXNVcEFycm93S2V5cHJlc3MoZXZlbnQpIHtcbiAgICByZXR1cm4gX2RvZXNLZXlNYXRjaChldmVudCwgJ0Fycm93VXAnKTtcbn1cblxuZnVuY3Rpb24gaXNEb3duQXJyb3dLZXlwcmVzcyhldmVudCkge1xuICAgIHJldHVybiBfZG9lc0tleU1hdGNoKGV2ZW50LCAnQXJyb3dEb3duJyk7XG59XG5cbmV4cG9ydCB7XG4gICAgZ2V0S2V5cHJlc3MsXG4gICAgaXNFbnRlcktleXByZXNzLFxuICAgIGlzRXNjYXBlS2V5cHJlc3MsXG4gICAgaXNTcGFjZUtleXByZXNzLFxuICAgIGlzTGVmdEFycm93S2V5cHJlc3MsXG4gICAgaXNSaWdodEFycm93S2V5cHJlc3MsXG4gICAgaXNVcEFycm93S2V5cHJlc3MsXG4gICAgaXNEb3duQXJyb3dLZXlwcmVzcyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQSxTQUFTQSxXQUFULENBQXFCQyxLQUFyQixFQUE0QjtFQUN4QjtFQUNBLE9BQU9BLEtBQUssQ0FBQ0MsSUFBTixJQUFjRCxLQUFLLENBQUNFLEdBQTNCO0FBQ0g7O0FBRUQsU0FBU0MsYUFBVCxDQUF1QkgsS0FBdkIsRUFBOEJJLE9BQTlCLEVBQXVDO0VBQ25DLE9BQU9MLFdBQVcsQ0FBQ0MsS0FBRCxDQUFYLEtBQXVCSSxPQUE5QjtBQUNIOztBQUVELFNBQVNDLGVBQVQsQ0FBeUJMLEtBQXpCLEVBQWdDO0VBQzVCLE9BQU9HLGFBQWEsQ0FBQ0gsS0FBRCxFQUFRLE9BQVIsQ0FBcEI7QUFDSDs7QUFFRCxTQUFTTSxnQkFBVCxDQUEwQk4sS0FBMUIsRUFBaUM7RUFDN0IsT0FBT0csYUFBYSxDQUFDSCxLQUFELEVBQVEsUUFBUixDQUFwQjtBQUNIOztBQUVELFNBQVNPLGVBQVQsQ0FBeUJQLEtBQXpCLEVBQWdDO0VBQzVCLE9BQU9HLGFBQWEsQ0FBQ0gsS0FBRCxFQUFRLE9BQVIsQ0FBcEI7QUFDSDs7QUFFRCxTQUFTUSxtQkFBVCxDQUE2QlIsS0FBN0IsRUFBb0M7RUFDaEMsT0FBT0csYUFBYSxDQUFDSCxLQUFELEVBQVEsV0FBUixDQUFwQjtBQUNIOztBQUVELFNBQVNTLG9CQUFULENBQThCVCxLQUE5QixFQUFxQztFQUNqQyxPQUFPRyxhQUFhLENBQUNILEtBQUQsRUFBUSxZQUFSLENBQXBCO0FBQ0g7O0FBRUQsU0FBU1UsaUJBQVQsQ0FBMkJWLEtBQTNCLEVBQWtDO0VBQzlCLE9BQU9HLGFBQWEsQ0FBQ0gsS0FBRCxFQUFRLFNBQVIsQ0FBcEI7QUFDSDs7QUFFRCxTQUFTVyxtQkFBVCxDQUE2QlgsS0FBN0IsRUFBb0M7RUFDaEMsT0FBT0csYUFBYSxDQUFDSCxLQUFELEVBQVEsV0FBUixDQUFwQjtBQUNIIn0=