UNPKG

3.66 kBJavaScriptView Raw
1"use strict";
2'use client';
3
4var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6Object.defineProperty(exports, "__esModule", {
7 value: true
8});
9exports.default = void 0;
10var React = _interopRequireWildcard(require("react"));
11var _propTypes = _interopRequireDefault(require("prop-types"));
12var _clsx = _interopRequireDefault(require("clsx"));
13var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14var _ListContext = _interopRequireDefault(require("../List/ListContext"));
15var _zeroStyled = require("../zero-styled");
16var _DefaultPropsProvider = require("../DefaultPropsProvider");
17var _listItemAvatarClasses = require("./listItemAvatarClasses");
18var _jsxRuntime = require("react/jsx-runtime");
19const useUtilityClasses = ownerState => {
20 const {
21 alignItems,
22 classes
23 } = ownerState;
24 const slots = {
25 root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart']
26 };
27 return (0, _composeClasses.default)(slots, _listItemAvatarClasses.getListItemAvatarUtilityClass, classes);
28};
29const ListItemAvatarRoot = (0, _zeroStyled.styled)('div', {
30 name: 'MuiListItemAvatar',
31 slot: 'Root',
32 overridesResolver: (props, styles) => {
33 const {
34 ownerState
35 } = props;
36 return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];
37 }
38})({
39 minWidth: 56,
40 flexShrink: 0,
41 variants: [{
42 props: {
43 alignItems: 'flex-start'
44 },
45 style: {
46 marginTop: 8
47 }
48 }]
49});
50
51/**
52 * A simple wrapper to apply `List` styles to an `Avatar`.
53 */
54const ListItemAvatar = /*#__PURE__*/React.forwardRef(function ListItemAvatar(inProps, ref) {
55 const props = (0, _DefaultPropsProvider.useDefaultProps)({
56 props: inProps,
57 name: 'MuiListItemAvatar'
58 });
59 const {
60 className,
61 ...other
62 } = props;
63 const context = React.useContext(_ListContext.default);
64 const ownerState = {
65 ...props,
66 alignItems: context.alignItems
67 };
68 const classes = useUtilityClasses(ownerState);
69 return /*#__PURE__*/(0, _jsxRuntime.jsx)(ListItemAvatarRoot, {
70 className: (0, _clsx.default)(classes.root, className),
71 ownerState: ownerState,
72 ref: ref,
73 ...other
74 });
75});
76process.env.NODE_ENV !== "production" ? ListItemAvatar.propTypes /* remove-proptypes */ = {
77 // ┌────────────────────────────── Warning ──────────────────────────────┐
78 // │ These PropTypes are generated from the TypeScript type definitions. │
79 // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
80 // └─────────────────────────────────────────────────────────────────────┘
81 /**
82 * The content of the component, normally an `Avatar`.
83 */
84 children: _propTypes.default.node,
85 /**
86 * Override or extend the styles applied to the component.
87 */
88 classes: _propTypes.default.object,
89 /**
90 * @ignore
91 */
92 className: _propTypes.default.string,
93 /**
94 * The system prop that allows defining system overrides as well as additional CSS styles.
95 */
96 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])
97} : void 0;
98var _default = exports.default = ListItemAvatar;
\No newline at end of file