UNPKG

@yandex/ui

Version:

Yandex UI components

29 lines (28 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.withTogglable = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); /** * ХОК позволяющий управлять состоянием открытия и закрытия. */ var withTogglable = function (WrappedComponent) { return /** @class */ (function (_super) { tslib_1.__extends(WithTogglable, _super); function WithTogglable() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.state = { opened: false, }; _this.setOpened = function (opened) { _this.setState({ opened: opened }); }; return _this; } WithTogglable.prototype.render = function () { return react_1.default.createElement(WrappedComponent, tslib_1.__assign({}, this.props, { opened: this.state.opened, setOpened: this.setOpened })); }; return WithTogglable; }(react_1.PureComponent)); }; exports.withTogglable = withTogglable;