wix-storybook-utils
Version:
Utilities for automated component documentation within Storybook
41 lines • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var prop_types_1 = tslib_1.__importDefault(require("prop-types"));
var react_collapse_1 = tslib_1.__importDefault(require("react-collapse"));
var heading_1 = tslib_1.__importDefault(require("../../../ui/heading"));
var styles_scss_1 = tslib_1.__importDefault(require("./styles.scss"));
var PropsCollapse = /** @class */ (function (_super) {
tslib_1.__extends(PropsCollapse, _super);
function PropsCollapse(props) {
var _this = _super.call(this, props) || this;
_this.toggleCollapse = function () { return _this.setState(function (_a) {
var isOpen = _a.isOpen;
return ({ isOpen: !isOpen });
}); };
_this.getNumChildren = function () { return Object.keys(_this.props.children).length; };
_this.state = {
isOpen: props.isOpen,
};
return _this;
}
PropsCollapse.prototype.render = function () {
return (react_1.default.createElement("div", null,
react_1.default.createElement("div", { onClick: this.toggleCollapse, className: styles_scss_1.default.head },
react_1.default.createElement(heading_1.default, null, this.props.title),
react_1.default.createElement("div", { className: styles_scss_1.default.subtitle }, this.state.isOpen ? 'Hide' : 'Expand')),
react_1.default.createElement(react_collapse_1.default, { isOpened: this.state.isOpen }, this.props.children)));
};
PropsCollapse.propTypes = {
title: prop_types_1.default.string.isRequired,
isOpen: prop_types_1.default.bool.isRequired,
children: prop_types_1.default.node.isRequired,
};
PropsCollapse.defaultProps = {
isOpen: false,
};
return PropsCollapse;
}(react_1.default.Component));
exports.default = PropsCollapse;
//# sourceMappingURL=index.js.map