chayns-components
Version:
A set of beautiful React components for developing chayns® applications.
72 lines (69 loc) • 2.55 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _AbstractExpandableListItem = _interopRequireDefault(require("../ExpandableList/AbstractExpandableListItem"));
var _ExpandableListHeader = _interopRequireDefault(require("./ExpandableListHeader"));
var _ExpandableList = _interopRequireDefault(require("../ExpandableList/ExpandableList"));
var _is = require("../../../utils/is");
/* eslint-disable react/forbid-prop-types */
const ExpandableListItem = _ref => {
let {
children,
onClick,
...props
} = _ref;
const {
noContentClass = false,
className,
headerClassName,
open,
style,
onOpen,
onClose,
defaultOpen = false
} = props;
return /*#__PURE__*/_react.default.createElement(_AbstractExpandableListItem.default, {
noContentClass: noContentClass,
className: className,
header: /*#__PURE__*/_react.default.createElement(_ExpandableList.default.Context.Consumer, null, c => /*#__PURE__*/_react.default.createElement(_ExpandableListHeader.default, (0, _extends2.default)({
onClick: function () {
if ((0, _is.isFunction)(onClick)) {
onClick(...arguments);
}
if (c && (0, _is.isFunction)(c.onToggle)) {
c.onToggle(...arguments);
}
}
}, props, {
open: open === null ? c.open : open,
className: headerClassName
}))),
clickable: true,
openProp: open,
style: style,
onOpenProp: onOpen,
onCloseProp: onClose,
defaultOpen: defaultOpen
}, children);
};
ExpandableListItem.propTypes = {
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.arrayOf(_propTypes.default.node)]).isRequired,
noContentClass: _propTypes.default.bool,
className: _propTypes.default.string,
headerClassName: _propTypes.default.string,
open: _propTypes.default.bool,
style: _propTypes.default.object,
onOpen: _propTypes.default.func,
onClose: _propTypes.default.func,
onClick: _propTypes.default.func,
defaultOpen: _propTypes.default.bool,
headMultiline: _propTypes.default.bool
};
ExpandableListItem.displayName = 'ExpandableListItem';
var _default = ExpandableListItem;
exports.default = _default;
//# sourceMappingURL=ExpandableListItem.js.map