UNPKG

@platform/react

Version:

React refs and helpers.

28 lines (27 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.keyPress$ = exports.keyUp$ = exports.keyDown$ = exports.toKeypress = void 0; var operators_1 = require("rxjs/operators"); var util_1 = require("./util"); exports.toKeypress = function (e, isPressed) { var key = e.key, code = e.code, altKey = e.altKey, ctrlKey = e.ctrlKey, shiftKey = e.shiftKey, metaKey = e.metaKey; var isModifier = key === 'Meta' || key === 'Control' || key === 'Alt' || key === 'Shift'; var event = { event: e, isPressed: isPressed, key: key, code: code, altKey: altKey, ctrlKey: ctrlKey, shiftKey: shiftKey, metaKey: metaKey, isModifier: isModifier, preventDefault: function () { return e.preventDefault(); }, stopPropagation: function () { return e.stopPropagation(); }, stopImmediatePropagation: function () { return e.stopImmediatePropagation(); }, }; return event; }; exports.keyDown$ = util_1.fromDocumentEvent('keydown').pipe(operators_1.map(function (e) { return exports.toKeypress(e, true); }), operators_1.share()); exports.keyUp$ = util_1.fromDocumentEvent('keyup').pipe(operators_1.map(function (e) { return exports.toKeypress(e, false); }), operators_1.share()); exports.keyPress$ = exports.keyDown$.pipe(operators_1.merge(exports.keyUp$));