UNPKG

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
"use strict"; 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;