UNPKG

terra-card

Version:

Card is a basic container with some base styling to help seperate elements with different content

61 lines (60 loc) 3.45 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 _terraVisuallyHiddenText = _interopRequireDefault(require("terra-visually-hidden-text")); var _terraThemeContext = _interopRequireDefault(require("terra-theme-context")); var _CardModule = _interopRequireDefault(require("./Card.module.scss")); var _CardBody = _interopRequireDefault(require("./CardBody")); var _excluded = ["children", "variant", "visuallyHiddenText"]; 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(_CardModule.default); var CardVariants = { DEFAULT: 'default', RAISED: 'raised' }; var propTypes = { /** * Child Nodes */ children: _propTypes.default.node, /** * Sets the card variant to change the style for different use cases. One of `default`, `raised`. */ variant: _propTypes.default.oneOf(['default', 'raised']), /** * Text that describes the badge to a screen reader. Use this * if more information is needed to accurately describe * this card to screen reader users. */ visuallyHiddenText: _propTypes.default.string }; var defaultProps = { variant: CardVariants.DEFAULT }; var Card = function Card(_ref) { var children = _ref.children, variant = _ref.variant, visuallyHiddenText = _ref.visuallyHiddenText, customProps = _objectWithoutProperties(_ref, _excluded); var theme = _react.default.useContext(_terraThemeContext.default); var cardClassNames = (0, _classnames.default)(cx(['card', variant, theme.className]), customProps.className); var visuallyHiddenTextContent = visuallyHiddenText ? /*#__PURE__*/_react.default.createElement(_terraVisuallyHiddenText.default, { text: visuallyHiddenText }) : null; return /*#__PURE__*/_react.default.createElement("article", _extends({}, customProps, { className: cardClassNames }), visuallyHiddenTextContent, children); }; Card.propTypes = propTypes; Card.defaultProps = defaultProps; Card.Body = _CardBody.default; var _default = exports.default = Card;