UNPKG

3.26 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("./createWithBsPrefix"));
21
22var _divWithClassName = _interopRequireDefault(require("./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 CardTitle = (0, _createWithBsPrefix.default)('card-title', {
32 Component: DivStyledAsH5
33});
34var CardSubtitle = (0, _createWithBsPrefix.default)('card-subtitle', {
35 Component: DivStyledAsH6
36});
37var CardLink = (0, _createWithBsPrefix.default)('card-link', {
38 Component: 'a'
39});
40var CardText = (0, _createWithBsPrefix.default)('card-text', {
41 Component: 'p'
42});
43var CardHeader = (0, _createWithBsPrefix.default)('card-header');
44var CardFooter = (0, _createWithBsPrefix.default)('card-footer');
45var CardImgOverlay = (0, _createWithBsPrefix.default)('card-img-overlay');
46var defaultProps = {
47 body: false
48};
49
50var Card = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
51 var bsPrefix = _ref.bsPrefix,
52 className = _ref.className,
53 bg = _ref.bg,
54 text = _ref.text,
55 border = _ref.border,
56 body = _ref.body,
57 children = _ref.children,
58 _ref$as = _ref.as,
59 Component = _ref$as === void 0 ? 'div' : _ref$as,
60 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "bg", "text", "border", "body", "children", "as"]);
61 var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'card');
62 var cardContext = (0, _react.useMemo)(function () {
63 return {
64 cardHeaderBsPrefix: prefix + "-header"
65 };
66 }, [prefix]);
67 return /*#__PURE__*/_react.default.createElement(_CardContext.default.Provider, {
68 value: cardContext
69 }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
70 ref: ref
71 }, props, {
72 className: (0, _classnames.default)(className, prefix, bg && "bg-" + bg, text && "text-" + text, border && "border-" + border)
73 }), body ?
74 /*#__PURE__*/
75 // @ts-ignore
76 _react.default.createElement(CardBody, null, children) : children));
77});
78
79Card.displayName = 'Card';
80Card.defaultProps = defaultProps;
81Card.Img = _CardImg.default;
82Card.Title = CardTitle;
83Card.Subtitle = CardSubtitle;
84Card.Body = CardBody;
85Card.Link = CardLink;
86Card.Text = CardText;
87Card.Header = CardHeader;
88Card.Footer = CardFooter;
89Card.ImgOverlay = CardImgOverlay;
90var _default = Card;
91exports.default = _default;
92module.exports = exports["default"];
\No newline at end of file