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 _colorManipulator = require("@mui/system/colorManipulator");
|
15 | var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
16 | var _TableContext = _interopRequireDefault(require("../Table/TableContext"));
|
17 | var _Tablelvl2Context = _interopRequireDefault(require("../Table/Tablelvl2Context"));
|
18 | var _zeroStyled = require("../zero-styled");
|
19 | var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
|
20 | var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
21 | var _tableCellClasses = _interopRequireWildcard(require("./tableCellClasses"));
|
22 | var _jsxRuntime = require("react/jsx-runtime");
|
23 | const useUtilityClasses = ownerState => {
|
24 | const {
|
25 | classes,
|
26 | variant,
|
27 | align,
|
28 | padding,
|
29 | size,
|
30 | stickyHeader
|
31 | } = ownerState;
|
32 | const slots = {
|
33 | root: ['root', variant, stickyHeader && 'stickyHeader', align !== 'inherit' && `align${(0, _capitalize.default)(align)}`, padding !== 'normal' && `padding${(0, _capitalize.default)(padding)}`, `size${(0, _capitalize.default)(size)}`]
|
34 | };
|
35 | return (0, _composeClasses.default)(slots, _tableCellClasses.getTableCellUtilityClass, classes);
|
36 | };
|
37 | const TableCellRoot = (0, _zeroStyled.styled)('td', {
|
38 | name: 'MuiTableCell',
|
39 | slot: 'Root',
|
40 | overridesResolver: (props, styles) => {
|
41 | const {
|
42 | ownerState
|
43 | } = props;
|
44 | return [styles.root, styles[ownerState.variant], styles[`size${(0, _capitalize.default)(ownerState.size)}`], ownerState.padding !== 'normal' && styles[`padding${(0, _capitalize.default)(ownerState.padding)}`], ownerState.align !== 'inherit' && styles[`align${(0, _capitalize.default)(ownerState.align)}`], ownerState.stickyHeader && styles.stickyHeader];
|
45 | }
|
46 | })((0, _memoTheme.default)(({
|
47 | theme
|
48 | }) => ({
|
49 | ...theme.typography.body2,
|
50 | display: 'table-cell',
|
51 | verticalAlign: 'inherit',
|
52 |
|
53 |
|
54 | borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid
|
55 | ${theme.palette.mode === 'light' ? (0, _colorManipulator.lighten)((0, _colorManipulator.alpha)(theme.palette.divider, 1), 0.88) : (0, _colorManipulator.darken)((0, _colorManipulator.alpha)(theme.palette.divider, 1), 0.68)}`,
|
56 | textAlign: 'left',
|
57 | padding: 16,
|
58 | variants: [{
|
59 | props: {
|
60 | variant: 'head'
|
61 | },
|
62 | style: {
|
63 | color: (theme.vars || theme).palette.text.primary,
|
64 | lineHeight: theme.typography.pxToRem(24),
|
65 | fontWeight: theme.typography.fontWeightMedium
|
66 | }
|
67 | }, {
|
68 | props: {
|
69 | variant: 'body'
|
70 | },
|
71 | style: {
|
72 | color: (theme.vars || theme).palette.text.primary
|
73 | }
|
74 | }, {
|
75 | props: {
|
76 | variant: 'footer'
|
77 | },
|
78 | style: {
|
79 | color: (theme.vars || theme).palette.text.secondary,
|
80 | lineHeight: theme.typography.pxToRem(21),
|
81 | fontSize: theme.typography.pxToRem(12)
|
82 | }
|
83 | }, {
|
84 | props: {
|
85 | size: 'small'
|
86 | },
|
87 | style: {
|
88 | padding: '6px 16px',
|
89 | [`&.${_tableCellClasses.default.paddingCheckbox}`]: {
|
90 | width: 24,
|
91 |
|
92 | padding: '0 12px 0 16px',
|
93 | '& > *': {
|
94 | padding: 0
|
95 | }
|
96 | }
|
97 | }
|
98 | }, {
|
99 | props: {
|
100 | padding: 'checkbox'
|
101 | },
|
102 | style: {
|
103 | width: 48,
|
104 |
|
105 | padding: '0 0 0 4px'
|
106 | }
|
107 | }, {
|
108 | props: {
|
109 | padding: 'none'
|
110 | },
|
111 | style: {
|
112 | padding: 0
|
113 | }
|
114 | }, {
|
115 | props: {
|
116 | align: 'left'
|
117 | },
|
118 | style: {
|
119 | textAlign: 'left'
|
120 | }
|
121 | }, {
|
122 | props: {
|
123 | align: 'center'
|
124 | },
|
125 | style: {
|
126 | textAlign: 'center'
|
127 | }
|
128 | }, {
|
129 | props: {
|
130 | align: 'right'
|
131 | },
|
132 | style: {
|
133 | textAlign: 'right',
|
134 | flexDirection: 'row-reverse'
|
135 | }
|
136 | }, {
|
137 | props: {
|
138 | align: 'justify'
|
139 | },
|
140 | style: {
|
141 | textAlign: 'justify'
|
142 | }
|
143 | }, {
|
144 | props: ({
|
145 | ownerState
|
146 | }) => ownerState.stickyHeader,
|
147 | style: {
|
148 | position: 'sticky',
|
149 | top: 0,
|
150 | zIndex: 2,
|
151 | backgroundColor: (theme.vars || theme).palette.background.default
|
152 | }
|
153 | }]
|
154 | })));
|
155 |
|
156 |
|
157 |
|
158 |
|
159 |
|
160 | const TableCell = React.forwardRef(function TableCell(inProps, ref) {
|
161 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
162 | props: inProps,
|
163 | name: 'MuiTableCell'
|
164 | });
|
165 | const {
|
166 | align = 'inherit',
|
167 | className,
|
168 | component: componentProp,
|
169 | padding: paddingProp,
|
170 | scope: scopeProp,
|
171 | size: sizeProp,
|
172 | sortDirection,
|
173 | variant: variantProp,
|
174 | ...other
|
175 | } = props;
|
176 | const table = React.useContext(_TableContext.default);
|
177 | const tablelvl2 = React.useContext(_Tablelvl2Context.default);
|
178 | const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';
|
179 | let component;
|
180 | if (componentProp) {
|
181 | component = componentProp;
|
182 | } else {
|
183 | component = isHeadCell ? 'th' : 'td';
|
184 | }
|
185 | let scope = scopeProp;
|
186 |
|
187 |
|
188 | if (component === 'td') {
|
189 | scope = undefined;
|
190 | } else if (!scope && isHeadCell) {
|
191 | scope = 'col';
|
192 | }
|
193 | const variant = variantProp || tablelvl2 && tablelvl2.variant;
|
194 | const ownerState = {
|
195 | ...props,
|
196 | align,
|
197 | component,
|
198 | padding: paddingProp || (table && table.padding ? table.padding : 'normal'),
|
199 | size: sizeProp || (table && table.size ? table.size : 'medium'),
|
200 | sortDirection,
|
201 | stickyHeader: variant === 'head' && table && table.stickyHeader,
|
202 | variant
|
203 | };
|
204 | const classes = useUtilityClasses(ownerState);
|
205 | let ariaSort = null;
|
206 | if (sortDirection) {
|
207 | ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';
|
208 | }
|
209 | return (0, _jsxRuntime.jsx)(TableCellRoot, {
|
210 | as: component,
|
211 | ref: ref,
|
212 | className: (0, _clsx.default)(classes.root, className),
|
213 | "aria-sort": ariaSort,
|
214 | scope: scope,
|
215 | ownerState: ownerState,
|
216 | ...other
|
217 | });
|
218 | });
|
219 | process.env.NODE_ENV !== "production" ? TableCell.propTypes = {
|
220 |
|
221 |
|
222 |
|
223 |
|
224 | |
225 |
|
226 |
|
227 |
|
228 |
|
229 |
|
230 |
|
231 | align: _propTypes.default.oneOf(['center', 'inherit', 'justify', 'left', 'right']),
|
232 | |
233 |
|
234 |
|
235 | children: _propTypes.default.node,
|
236 | |
237 |
|
238 |
|
239 | classes: _propTypes.default.object,
|
240 | |
241 |
|
242 |
|
243 | className: _propTypes.default.string,
|
244 | |
245 |
|
246 |
|
247 |
|
248 | component: _propTypes.default.elementType,
|
249 | |
250 |
|
251 |
|
252 |
|
253 | padding: _propTypes.default.oneOf(['checkbox', 'none', 'normal']),
|
254 | |
255 |
|
256 |
|
257 | scope: _propTypes.default.string,
|
258 | |
259 |
|
260 |
|
261 |
|
262 | size: _propTypes.default .oneOfType([_propTypes.default.oneOf(['medium', 'small']), _propTypes.default.string]),
|
263 | |
264 |
|
265 |
|
266 | sortDirection: _propTypes.default.oneOf(['asc', 'desc', false]),
|
267 | |
268 |
|
269 |
|
270 | 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]),
|
271 | |
272 |
|
273 |
|
274 |
|
275 | variant: _propTypes.default .oneOfType([_propTypes.default.oneOf(['body', 'footer', 'head']), _propTypes.default.string])
|
276 | } : void 0;
|
277 | var _default = exports.default = TableCell; |
\ | No newline at end of file |