UNPKG

3 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7exports.__esModule = true;
8exports.default = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
14var _classnames = _interopRequireDefault(require("classnames"));
15
16var _react = _interopRequireWildcard(require("react"));
17
18var _ThemeProvider = require("./ThemeProvider");
19
20var _createWithBsPrefix = _interopRequireDefault(require("./utils/createWithBsPrefix"));
21
22var _divWithClassName = _interopRequireDefault(require("./utils/divWithClassName"));
23
24var _CardContext = _interopRequireDefault(require("./CardContext"));
25
26var _CardImg = _interopRequireDefault(require("./CardImg"));
27
28var DivStyledAsH5 = (0, _divWithClassName.default)('h5');
29var DivStyledAsH6 = (0, _divWithClassName.default)('h6');
30var CardBody = (0, _createWithBsPrefix.default)('card-body');
31var defaultProps = {
32 body: false
33};
34
35var Card = _react.default.forwardRef(function (_ref, ref) {
36 var bsPrefix = _ref.bsPrefix,
37 className = _ref.className,
38 bg = _ref.bg,
39 text = _ref.text,
40 border = _ref.border,
41 body = _ref.body,
42 children = _ref.children,
43 _ref$as = _ref.as,
44 Component = _ref$as === void 0 ? 'div' : _ref$as,
45 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "bg", "text", "border", "body", "children", "as"]);
46 var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'card');
47 var cardContext = (0, _react.useMemo)(function () {
48 return {
49 cardHeaderBsPrefix: prefix + "-header"
50 };
51 }, [prefix]);
52 return _react.default.createElement(_CardContext.default.Provider, {
53 value: cardContext
54 }, _react.default.createElement(Component, (0, _extends2.default)({
55 ref: ref
56 }, props, {
57 className: (0, _classnames.default)(className, prefix, bg && "bg-" + bg, text && "text-" + text, border && "border-" + border)
58 }), body ? _react.default.createElement(CardBody, null, children) : children));
59});
60
61Card.displayName = 'Card';
62Card.defaultProps = defaultProps;
63Card.Img = _CardImg.default;
64Card.Title = (0, _createWithBsPrefix.default)('card-title', {
65 Component: DivStyledAsH5
66});
67Card.Subtitle = (0, _createWithBsPrefix.default)('card-subtitle', {
68 Component: DivStyledAsH6
69});
70Card.Body = CardBody;
71Card.Link = (0, _createWithBsPrefix.default)('card-link', {
72 Component: 'a'
73});
74Card.Text = (0, _createWithBsPrefix.default)('card-text', {
75 Component: 'p'
76});
77Card.Header = (0, _createWithBsPrefix.default)('card-header');
78Card.Footer = (0, _createWithBsPrefix.default)('card-footer');
79Card.ImgOverlay = (0, _createWithBsPrefix.default)('card-img-overlay');
80var _default = Card;
81exports.default = _default;
82module.exports = exports["default"];
\No newline at end of file