{"version":3,"file":"UserAvatar.mjs","names":["Avatar","makeStyles","clsx","React","useDevicePixelRatio","useGravatar","useStyles","theme","root","default","toolbar","width","height","large","name","UserAvatar","props","$","_c","classes","className","email","other","t0","size","undefined","dppx","t1","dimension","t2","t3","avatar","t4","t5","t6","t7","trim","charAt","t8"],"sources":["../../../../src/shell/ui/profile/UserAvatar.jsx"],"sourcesContent":["import { Avatar, makeStyles } from '@material-ui/core'\nimport clsx from 'clsx'\nimport React from 'react'\nimport useDevicePixelRatio from '../../../utilities/useDevicePixelRatio.ts'\nimport useGravatar from '../../../utilities/useGravatar.ts'\n\nconst useStyles = makeStyles(\n  (theme) => ({\n    root: {},\n    default: {},\n    toolbar: {\n      width: 32,\n      height: 32\n    },\n    large: {\n      width: 80,\n      height: 80\n    }\n  }),\n  { name: 'UserAvatar' }\n)\n\n/**\n * Inteligent user Avatar element\n *\n * - Loads a Gravatar based on the email if one exists\n * - Falls back to a text avatar while loading and when a Gravatar does not exist\n * - Automatically chooses image size based on size prop and device pixel density (and updates if device pixel density changes)\n */\nconst UserAvatar = (props) => {\n  const classes = useStyles(props)\n  const { name, email, size = 'default', className, ...other } = props\n  const dppx = useDevicePixelRatio()\n  const dimension = { toolbar: 32, large: 80 }[size] || 40\n  const avatar = useGravatar(email, { size: dimension * dppx })\n\n  return (\n    <Avatar\n      alt={name}\n      aria-label={`${name}'s avatar`}\n      {...other}\n      className={clsx(className, classes[size])}\n      src={avatar}\n    >\n      {name?.trim()?.charAt(0) || '?'}\n    </Avatar>\n  )\n}\n\nexport default UserAvatar\n"],"mappings":";;;;;;;AAMA,MAAMM,YAAYL,YACfM,WAAW;CACVC,MAAM,EAAE;CACRC,SAAS,EAAE;CACXC,SAAS;EACPC,OAAO;EACPC,QAAQ;EACT;CACDC,OAAO;EACLF,OAAO;EACPC,QAAQ;EACV;CACD,GACD,EAAEE,MAAM,cACV,CAAC;;;;;;;;AASD,MAAMC,cAAaC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACjB,MAAAC,UAAgBb,UAAUU,MAAM;CAAA,IAAAI;CAAA,IAAAC;CAAA,IAAAP;CAAA,IAAAQ;CAAA,IAAAC;AAAA,KAAAN,EAAA,OAAAD,OAAA;AAChC,GAAA,CAAAF,MAAAO,OAAAG,MAAAD,IAAAH,cAAAE,SAA+DN;AAAKC,IAAA,KAAAD;AAAAC,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAH;AAAAG,IAAA,KAAAK;AAAAL,IAAA,KAAAM;QAAA;AAAAH,cAAAH,EAAA;AAAAI,UAAAJ,EAAA;AAAAH,SAAAG,EAAA;AAAAK,UAAAL,EAAA;AAAAM,OAAAN,EAAA;;CAA/C,MAAAO,OAAAD,OAAAE,KAAAA,IAAA,YAAAF;CACrB,MAAAG,OAAatB,qBAAqB;CAAA,IAAAuB;AAAA,KAAAV,EAAA,OAAAO,MAAA;AAChBG,OAAA;GAAAjB,SAAW;GAAEG,OAAS;GAAI,CAACW,SAA3B;AAAsCP,IAAA,KAAAO;AAAAP,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CACd,MAAAY,KADxBF,KACoCD;CAAI,IAAAI;AAAA,KAAAb,EAAA,OAAAY,IAAA;AAAxBC,OAAA,EAAAN,MAAQK,IAAkB;AAAAZ,IAAA,KAAAY;AAAAZ,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAA5D,MAAAc,SAAe1B,YAAYgB,OAAOS,GAA2B;CAK7C,MAAAE,KAAA,GAAGlB,KAAI;CAEQ,MAAAmB,KAAAd,QAAQK;CAAK,IAAAU;AAAA,KAAAjB,EAAA,QAAAG,aAAAH,EAAA,QAAAgB,IAAA;AAA7BC,OAAAhC,KAAKkB,WAAWa,GAAc;AAAAhB,IAAA,MAAAG;AAAAH,IAAA,MAAAgB;AAAAhB,IAAA,MAAAiB;OAAAA,MAAAjB,EAAA;CAAA,IAAAkB;AAAA,KAAAlB,EAAA,QAAAH,MAAA;AAGxCqB,OAAArB,MAAIsB,MAAgB,EAAAC,OAAC,EAAS,IAA9B;AAA8BpB,IAAA,MAAAH;AAAAG,IAAA,MAAAkB;OAAAA,MAAAlB,EAAA;CAAA,IAAAqB;AAAA,KAAArB,EAAA,QAAAc,UAAAd,EAAA,QAAAH,QAAAG,EAAA,QAAAK,SAAAL,EAAA,QAAAe,MAAAf,EAAA,QAAAiB,MAAAjB,EAAA,QAAAkB,IAAA;AAPjCG,OAAA,sBAAA,cAAC,QAAD;GACOxB,KAAAA;GACO,cAAAkB;GAAkB,GAC1BV;GACO,WAAAY;GACNH,KAAAA;GAGE,EADNI,GACM;AAAAlB,IAAA,MAAAc;AAAAd,IAAA,MAAAH;AAAAG,IAAA,MAAAK;AAAAL,IAAA,MAAAe;AAAAf,IAAA,MAAAiB;AAAAjB,IAAA,MAAAkB;AAAAlB,IAAA,MAAAqB;OAAAA,MAAArB,EAAA;AAAA,QARTqB"}