{"version":3,"file":"Avatar-DvzrpjGB.js","sources":["../../../node_modules/@mui/material/internal/svg-icons/Person.js","../../../node_modules/@mui/material/Avatar/avatarClasses.js","../../../node_modules/@mui/material/Avatar/Avatar.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiAvatar', slot);\n}\nconst avatarClasses = generateUtilityClasses('MuiAvatar', ['root', 'colorDefault', 'circular', 'rounded', 'square', 'img', 'fallback']);\nexport default avatarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alt\", \"children\", \"className\", \"component\", \"slots\", \"slotProps\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from '../zero-styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Person from '../internal/svg-icons/Person';\nimport { getAvatarUtilityClass } from './avatarClasses';\nimport useSlot from '../utils/useSlot';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n colorDefault\n } = ownerState;\n const slots = {\n root: ['root', variant, colorDefault && 'colorDefault'],\n img: ['img'],\n fallback: ['fallback']\n };\n return composeClasses(slots, getAvatarUtilityClass, classes);\n};\nconst AvatarRoot = styled('div', {\n name: 'MuiAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.colorDefault && styles.colorDefault];\n }\n})(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none',\n variants: [{\n props: {\n variant: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: {\n variant: 'square'\n },\n style: {\n borderRadius: 0\n }\n }, {\n props: {\n colorDefault: true\n },\n style: _extends({\n color: (theme.vars || theme).palette.background.default\n }, theme.vars ? {\n backgroundColor: theme.vars.palette.Avatar.defaultBg\n } : _extends({\n backgroundColor: theme.palette.grey[400]\n }, theme.applyStyles('dark', {\n backgroundColor: theme.palette.grey[600]\n })))\n }]\n}));\nconst AvatarImg = styled('img', {\n name: 'MuiAvatar',\n slot: 'Img',\n overridesResolver: (props, styles) => styles.img\n})({\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n});\nconst AvatarFallback = styled(Person, {\n name: 'MuiAvatar',\n slot: 'Fallback',\n overridesResolver: (props, styles) => styles.fallback\n})({\n width: '75%',\n height: '75%'\n});\nfunction useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet\n}) {\n const [loaded, setLoaded] = React.useState(false);\n React.useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n image.crossOrigin = crossOrigin;\n image.referrerPolicy = referrerPolicy;\n image.src = src;\n if (srcSet) {\n image.srcset = srcSet;\n }\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n return loaded;\n}\nconst Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAvatar'\n });\n const {\n alt,\n children: childrenProp,\n className,\n component = 'div',\n slots = {},\n slotProps = {},\n imgProps,\n sizes,\n src,\n srcSet,\n variant = 'circular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n let children = null;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const loaded = useLoaded(_extends({}, imgProps, {\n src,\n srcSet\n }));\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== 'error';\n const ownerState = _extends({}, props, {\n colorDefault: !hasImgNotFailing,\n component,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [ImgSlot, imgSlotProps] = useSlot('img', {\n className: classes.img,\n elementType: AvatarImg,\n externalForwardedProps: {\n slots,\n slotProps: {\n img: _extends({}, imgProps, slotProps.img)\n }\n },\n additionalProps: {\n alt,\n src,\n srcSet,\n sizes\n },\n ownerState\n });\n if (hasImgNotFailing) {\n children = /*#__PURE__*/_jsx(ImgSlot, _extends({}, imgSlotProps));\n // We only render valid children, non valid children are rendered with a fallback\n // We consider that invalid children are all falsy values, except 0, which is valid.\n } else if (!!childrenProp || childrenProp === 0) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/_jsx(AvatarFallback, {\n ownerState: ownerState,\n className: classes.fallback\n });\n }\n return /*#__PURE__*/_jsx(AvatarRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n */\n imgProps: PropTypes.object,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n img: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n img: PropTypes.elementType\n }),\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The shape of the avatar.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rounded', 'square']), PropTypes.string])\n} : void 0;\nexport default Avatar;"],"names":["Person","createSvgIcon","_jsx","getAvatarUtilityClass","slot","generateUtilityClass","avatarClasses","generateUtilityClasses","avatarClasses$1","_excluded","useUtilityClasses","ownerState","classes","variant","colorDefault","composeClasses","AvatarRoot","styled","props","styles","theme","_extends","AvatarImg","AvatarFallback","useLoaded","crossOrigin","referrerPolicy","src","srcSet","loaded","setLoaded","React.useState","React.useEffect","active","image","Avatar","React.forwardRef","inProps","ref","useDefaultProps","alt","childrenProp","className","component","slots","slotProps","imgProps","sizes","other","_objectWithoutPropertiesLoose","children","hasImg","hasImgNotFailing","ImgSlot","imgSlotProps","useSlot","clsx"],"mappings":"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","x_google_ignoreList":[0,1,2]}