@yandex/ui
Version:
Yandex UI components
25 lines (24 loc) • 963 B
JavaScript
import { __assign, __extends } from "tslib";
import React, { PureComponent } from 'react';
/**
* ХОК позволяющий управлять состоянием открытия и закрытия.
*/
export var withTogglable = function (WrappedComponent) {
return /** @class */ (function (_super) {
__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.createElement(WrappedComponent, __assign({}, this.props, { opened: this.state.opened, setOpened: this.setOpened }));
};
return WithTogglable;
}(PureComponent));
};