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