UNPKG

backpack-ui

Version:
115 lines (93 loc) 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _radium = require("radium"); var _radium2 = _interopRequireDefault(_radium); var _colors = require("../../styles/colors"); var _colors2 = _interopRequireDefault(_colors); var _timing = require("../../styles/timing"); var _timing2 = _interopRequireDefault(_timing); var _icon = require("../../utils/icon"); var _icon2 = _interopRequireDefault(_icon); var _settingBlock = require("../settingBlock"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var styles = { flexContainer: { alignItems: "center", display: "flex", justifyContent: "space-between" }, icon: { fill: _colors2.default.textPrimary, height: "16px", width: "16px" }, accordion: { maxHeight: 0, overflow: "hidden", transition: "max-height " + _timing2.default.default + " ease,\n padding-bottom " + _timing2.default.default + " ease" }, accordionOpen: { maxHeight: "100vh", paddingBottom: "16px" } }; var SettingBlockAccordion = function SettingBlockAccordion(_ref) { var children = _ref.children, description = _ref.description, expanded = _ref.expanded, error = _ref.error, title = _ref.title, subtitle = _ref.subtitle, onClick = _ref.onClick; return _react2.default.createElement( _settingBlock.SettingBlockWrapper, { error: error }, _react2.default.createElement( _settingBlock.SettingBlockButtonWrapper, { onClick: onClick }, _react2.default.createElement( "div", { style: styles.flexContainer }, _react2.default.createElement( _settingBlock.SettingBlockButtonDescription, null, _react2.default.createElement( _settingBlock.SettingBlockHeader, { subtitle: subtitle }, title ), description && _react2.default.createElement( _settingBlock.SettingBlockDescription, null, description ) ), expanded ? (0, _icon2.default)("ChevronUp", styles.icon) : (0, _icon2.default)("ChevronDown", styles.icon) ) ), _react2.default.createElement( "div", { className: "AccordionContent", style: [styles.accordion, expanded && styles.accordionOpen] }, children ) ); }; SettingBlockAccordion.propTypes = { children: _propTypes2.default.element, description: _propTypes2.default.string, expanded: _propTypes2.default.bool, error: _propTypes2.default.bool, title: _propTypes2.default.string, subtitle: _propTypes2.default.string, onClick: _propTypes2.default.func }; exports.default = (0, _radium2.default)(SettingBlockAccordion);