UNPKG

@yandex/ui

Version:

Yandex UI components

43 lines (42 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.withPseudo = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var core_1 = require("@bem-react/core"); var keyboard_1 = require("../../lib/keyboard"); var Link_1 = require("../Link"); /** * Модификатор, делающий из ссылки псевдоссылку. * @param {ILinkPseudoProps} props */ exports.withPseudo = core_1.withBemMod(Link_1.cnLink(), { pseudo: true }, function (Link) { var WithPseudo = /** @class */ (function (_super) { tslib_1.__extends(WithPseudo, _super); function WithPseudo() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.onClick = function (event) { event.preventDefault(); if (_this.props.onClick !== undefined) { _this.props.onClick(event); } }; _this.onKeyDown = function (event) { if (event.keyCode === keyboard_1.Keys.SPACE) { // Отменяем scroll. event.preventDefault(); } if (_this.props.onKeyDown !== undefined) { _this.props.onKeyDown(event); } }; return _this; } WithPseudo.prototype.render = function () { var _a = this.props, pseudo = _a.pseudo, props = tslib_1.__rest(_a, ["pseudo"]); return react_1.default.createElement(Link, tslib_1.__assign({}, props, { onClick: this.onClick, onKeyDown: this.onKeyDown })); }; return WithPseudo; }(react_1.PureComponent)); return WithPseudo; });