1 | import _extends from "@babel/runtime/helpers/esm/extends";
|
2 | import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
3 | var _excluded = ["bsPrefix", "className", "bg", "text", "border", "body", "children", "as"];
|
4 | import classNames from 'classnames';
|
5 | import React, { useMemo } from 'react';
|
6 | import { useBootstrapPrefix } from './ThemeProvider';
|
7 | import createWithBsPrefix from './createWithBsPrefix';
|
8 | import divWithClassName from './divWithClassName';
|
9 | import CardContext from './CardContext';
|
10 | import CardImg from './CardImg';
|
11 | var DivStyledAsH5 = divWithClassName('h5');
|
12 | var DivStyledAsH6 = divWithClassName('h6');
|
13 | var CardBody = createWithBsPrefix('card-body');
|
14 | var CardTitle = createWithBsPrefix('card-title', {
|
15 | Component: DivStyledAsH5
|
16 | });
|
17 | var CardSubtitle = createWithBsPrefix('card-subtitle', {
|
18 | Component: DivStyledAsH6
|
19 | });
|
20 | var CardLink = createWithBsPrefix('card-link', {
|
21 | Component: 'a'
|
22 | });
|
23 | var CardText = createWithBsPrefix('card-text', {
|
24 | Component: 'p'
|
25 | });
|
26 | var CardHeader = createWithBsPrefix('card-header');
|
27 | var CardFooter = createWithBsPrefix('card-footer');
|
28 | var CardImgOverlay = createWithBsPrefix('card-img-overlay');
|
29 | var defaultProps = {
|
30 | body: false
|
31 | };
|
32 | var Card = React.forwardRef(function (_ref, ref) {
|
33 | var bsPrefix = _ref.bsPrefix,
|
34 | className = _ref.className,
|
35 | bg = _ref.bg,
|
36 | text = _ref.text,
|
37 | border = _ref.border,
|
38 | body = _ref.body,
|
39 | children = _ref.children,
|
40 | _ref$as = _ref.as,
|
41 | Component = _ref$as === void 0 ? 'div' : _ref$as,
|
42 | props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
43 |
|
44 | var prefix = useBootstrapPrefix(bsPrefix, 'card');
|
45 | var cardContext = useMemo(function () {
|
46 | return {
|
47 | cardHeaderBsPrefix: prefix + "-header"
|
48 | };
|
49 | }, [prefix]);
|
50 | return React.createElement(CardContext.Provider, {
|
51 | value: cardContext
|
52 | }, React.createElement(Component, _extends({
|
53 | ref: ref
|
54 | }, props, {
|
55 | className: classNames(className, prefix, bg && "bg-" + bg, text && "text-" + text, border && "border-" + border)
|
56 | }), body ?
|
57 |
|
58 |
|
59 | React.createElement(CardBody, null, children) : children));
|
60 | });
|
61 | Card.displayName = 'Card';
|
62 | Card.defaultProps = defaultProps;
|
63 | Card.Img = CardImg;
|
64 | Card.Title = CardTitle;
|
65 | Card.Subtitle = CardSubtitle;
|
66 | Card.Body = CardBody;
|
67 | Card.Link = CardLink;
|
68 | Card.Text = CardText;
|
69 | Card.Header = CardHeader;
|
70 | Card.Footer = CardFooter;
|
71 | Card.ImgOverlay = CardImgOverlay;
|
72 | export default Card; |
\ | No newline at end of file |