1 | "use strict";
|
2 | 'use client';
|
3 |
|
4 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
5 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
6 | Object.defineProperty(exports, "__esModule", {
|
7 | value: true
|
8 | });
|
9 | exports.default = void 0;
|
10 | var React = _interopRequireWildcard(require("react"));
|
11 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
12 | var _clsx = _interopRequireDefault(require("clsx"));
|
13 | var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
14 | var _Typography = _interopRequireWildcard(require("../Typography"));
|
15 | var _zeroStyled = require("../zero-styled");
|
16 | var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
17 | var _cardHeaderClasses = _interopRequireWildcard(require("./cardHeaderClasses"));
|
18 | var _jsxRuntime = require("react/jsx-runtime");
|
19 | const useUtilityClasses = ownerState => {
|
20 | const {
|
21 | classes
|
22 | } = ownerState;
|
23 | const slots = {
|
24 | root: ['root'],
|
25 | avatar: ['avatar'],
|
26 | action: ['action'],
|
27 | content: ['content'],
|
28 | title: ['title'],
|
29 | subheader: ['subheader']
|
30 | };
|
31 | return (0, _composeClasses.default)(slots, _cardHeaderClasses.getCardHeaderUtilityClass, classes);
|
32 | };
|
33 | const CardHeaderRoot = (0, _zeroStyled.styled)('div', {
|
34 | name: 'MuiCardHeader',
|
35 | slot: 'Root',
|
36 | overridesResolver: (props, styles) => ({
|
37 | [`& .${_cardHeaderClasses.default.title}`]: styles.title,
|
38 | [`& .${_cardHeaderClasses.default.subheader}`]: styles.subheader,
|
39 | ...styles.root
|
40 | })
|
41 | })({
|
42 | display: 'flex',
|
43 | alignItems: 'center',
|
44 | padding: 16
|
45 | });
|
46 | const CardHeaderAvatar = (0, _zeroStyled.styled)('div', {
|
47 | name: 'MuiCardHeader',
|
48 | slot: 'Avatar',
|
49 | overridesResolver: (props, styles) => styles.avatar
|
50 | })({
|
51 | display: 'flex',
|
52 | flex: '0 0 auto',
|
53 | marginRight: 16
|
54 | });
|
55 | const CardHeaderAction = (0, _zeroStyled.styled)('div', {
|
56 | name: 'MuiCardHeader',
|
57 | slot: 'Action',
|
58 | overridesResolver: (props, styles) => styles.action
|
59 | })({
|
60 | flex: '0 0 auto',
|
61 | alignSelf: 'flex-start',
|
62 | marginTop: -4,
|
63 | marginRight: -8,
|
64 | marginBottom: -4
|
65 | });
|
66 | const CardHeaderContent = (0, _zeroStyled.styled)('div', {
|
67 | name: 'MuiCardHeader',
|
68 | slot: 'Content',
|
69 | overridesResolver: (props, styles) => styles.content
|
70 | })({
|
71 | flex: '1 1 auto',
|
72 | [`.${_Typography.typographyClasses.root}:where(& .${_cardHeaderClasses.default.title})`]: {
|
73 | display: 'block'
|
74 | },
|
75 | [`.${_Typography.typographyClasses.root}:where(& .${_cardHeaderClasses.default.subheader})`]: {
|
76 | display: 'block'
|
77 | }
|
78 | });
|
79 | const CardHeader = React.forwardRef(function CardHeader(inProps, ref) {
|
80 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
81 | props: inProps,
|
82 | name: 'MuiCardHeader'
|
83 | });
|
84 | const {
|
85 | action,
|
86 | avatar,
|
87 | className,
|
88 | component = 'div',
|
89 | disableTypography = false,
|
90 | subheader: subheaderProp,
|
91 | subheaderTypographyProps,
|
92 | title: titleProp,
|
93 | titleTypographyProps,
|
94 | ...other
|
95 | } = props;
|
96 | const ownerState = {
|
97 | ...props,
|
98 | component,
|
99 | disableTypography
|
100 | };
|
101 | const classes = useUtilityClasses(ownerState);
|
102 | let title = titleProp;
|
103 | if (title != null && title.type !== _Typography.default && !disableTypography) {
|
104 | title = (0, _jsxRuntime.jsx)(_Typography.default, {
|
105 | variant: avatar ? 'body2' : 'h5',
|
106 | className: classes.title,
|
107 | component: "span",
|
108 | ...titleTypographyProps,
|
109 | children: title
|
110 | });
|
111 | }
|
112 | let subheader = subheaderProp;
|
113 | if (subheader != null && subheader.type !== _Typography.default && !disableTypography) {
|
114 | subheader = (0, _jsxRuntime.jsx)(_Typography.default, {
|
115 | variant: avatar ? 'body2' : 'body1',
|
116 | className: classes.subheader,
|
117 | color: "textSecondary",
|
118 | component: "span",
|
119 | ...subheaderTypographyProps,
|
120 | children: subheader
|
121 | });
|
122 | }
|
123 | return (0, _jsxRuntime.jsxs)(CardHeaderRoot, {
|
124 | className: (0, _clsx.default)(classes.root, className),
|
125 | as: component,
|
126 | ref: ref,
|
127 | ownerState: ownerState,
|
128 | ...other,
|
129 | children: [avatar && (0, _jsxRuntime.jsx)(CardHeaderAvatar, {
|
130 | className: classes.avatar,
|
131 | ownerState: ownerState,
|
132 | children: avatar
|
133 | }), (0, _jsxRuntime.jsxs)(CardHeaderContent, {
|
134 | className: classes.content,
|
135 | ownerState: ownerState,
|
136 | children: [title, subheader]
|
137 | }), action && (0, _jsxRuntime.jsx)(CardHeaderAction, {
|
138 | className: classes.action,
|
139 | ownerState: ownerState,
|
140 | children: action
|
141 | })]
|
142 | });
|
143 | });
|
144 | process.env.NODE_ENV !== "production" ? CardHeader.propTypes = {
|
145 |
|
146 |
|
147 |
|
148 |
|
149 | |
150 |
|
151 |
|
152 | action: _propTypes.default.node,
|
153 | |
154 |
|
155 |
|
156 | avatar: _propTypes.default.node,
|
157 | |
158 |
|
159 |
|
160 | children: _propTypes.default.node,
|
161 | |
162 |
|
163 |
|
164 | classes: _propTypes.default.object,
|
165 | |
166 |
|
167 |
|
168 | className: _propTypes.default.string,
|
169 | |
170 |
|
171 |
|
172 |
|
173 | component: _propTypes.default.elementType,
|
174 | |
175 |
|
176 |
|
177 |
|
178 |
|
179 |
|
180 |
|
181 | disableTypography: _propTypes.default.bool,
|
182 | |
183 |
|
184 |
|
185 | subheader: _propTypes.default.node,
|
186 | |
187 |
|
188 |
|
189 |
|
190 | subheaderTypographyProps: _propTypes.default.object,
|
191 | |
192 |
|
193 |
|
194 | sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
195 | |
196 |
|
197 |
|
198 | title: _propTypes.default.node,
|
199 | |
200 |
|
201 |
|
202 |
|
203 | titleTypographyProps: _propTypes.default.object
|
204 | } : void 0;
|
205 | var _default = exports.default = CardHeader; |
\ | No newline at end of file |