wix-storybook-utils
Version:
Utilities for automated component documentation within Storybook
39 lines • 1.6 kB
JavaScript
import { __extends } from "tslib";
import React from 'react';
import PropTypes from 'prop-types';
import Collapse from 'react-collapse';
import Heading from '../../../ui/heading';
import styles from './styles.scss';
var PropsCollapse = /** @class */ (function (_super) {
__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.createElement("div", null,
React.createElement("div", { onClick: this.toggleCollapse, className: styles.head },
React.createElement(Heading, null, this.props.title),
React.createElement("div", { className: styles.subtitle }, this.state.isOpen ? 'Hide' : 'Expand')),
React.createElement(Collapse, { isOpened: this.state.isOpen }, this.props.children)));
};
PropsCollapse.propTypes = {
title: PropTypes.string.isRequired,
isOpen: PropTypes.bool.isRequired,
children: PropTypes.node.isRequired,
};
PropsCollapse.defaultProps = {
isOpen: false,
};
return PropsCollapse;
}(React.Component));
export default PropsCollapse;
//# sourceMappingURL=index.js.map