UNPKG

@platform/react

Version:

React refs and helpers.

29 lines (28 loc) 1.45 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"); var 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.toKeypress = toKeypress; exports.keyDown$ = (0, util_1.fromDocumentEvent)('keydown').pipe((0, operators_1.map)(function (e) { return (0, exports.toKeypress)(e, true); }), (0, operators_1.share)()); exports.keyUp$ = (0, util_1.fromDocumentEvent)('keyup').pipe((0, operators_1.map)(function (e) { return (0, exports.toKeypress)(e, false); }), (0, operators_1.share)()); exports.keyPress$ = exports.keyDown$.pipe((0, operators_1.mergeWith)(exports.keyUp$));