@trellixio/roaster-coffee
Version:
Beans' product component library
13 lines (12 loc) • 669 B
JavaScript
import * as React from 'react';
export const Avatar = React.forwardRef(({ src, alt, name, size }, ref) => {
const [error, setError] = React.useState(!src);
React.useEffect(() => {
if (!src)
setError(true);
else
setError(false);
}, [src]);
return (React.createElement("div", { ref: ref, className: "avatar", style: Object.assign({}, (size && { width: size, height: size })) }, error ? (React.createElement("span", { title: alt || name }, name.charAt(0).toUpperCase())) : (React.createElement("img", { src: src, alt: alt || name, title: name, onError: () => setError(true) }))));
});
Avatar.displayName = 'Avatar';