terra-card
Version:
Card is a basic container with some base styling to help seperate elements with different content
62 lines (61 loc) • 3.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _bind = _interopRequireDefault(require("classnames/bind"));
var _terraThemeContext = _interopRequireDefault(require("terra-theme-context"));
var _CardBodyModule = _interopRequireDefault(require("./CardBody.module.scss"));
var _excluded = ["children", "hasPaddingVertical", "hasPaddingHorizontal", "isContentCentered"];
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
var cx = _bind.default.bind(_CardBodyModule.default);
var propTypes = {
/**
* Child Nodes
*/
children: _propTypes.default.node,
/**
* Provides themeable padding vertical
*/
hasPaddingVertical: _propTypes.default.bool,
/**
* Provides themeable padding horizontal
*/
hasPaddingHorizontal: _propTypes.default.bool,
/**
* Sets the content of the card to be centered
*/
isContentCentered: _propTypes.default.bool
};
var defaultProps = {
hasPaddingHorizontal: true,
hasPaddingVertical: true,
isContentCentered: false
};
var CardBody = function CardBody(_ref) {
var children = _ref.children,
hasPaddingVertical = _ref.hasPaddingVertical,
hasPaddingHorizontal = _ref.hasPaddingHorizontal,
isContentCentered = _ref.isContentCentered,
customProps = _objectWithoutProperties(_ref, _excluded);
var theme = _react.default.useContext(_terraThemeContext.default);
var cardBodyClasses = (0, _classnames.default)(cx([{
'vertical-padding': hasPaddingVertical
}, {
'horizontal-padding': hasPaddingHorizontal
}, {
'center-content': isContentCentered
}, theme.className]), customProps.className);
return /*#__PURE__*/_react.default.createElement("div", _extends({}, customProps, {
className: cardBodyClasses
}), children);
};
CardBody.propTypes = propTypes;
CardBody.defaultProps = defaultProps;
var _default = exports.default = CardBody;