UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 1.29 kB
import*as a from"react";import{ObjectUtils as e,classNames as r,IconUtils as l}from"primereact/utils";function t(){return t=Object.assign?Object.assign.bind():function(a){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(a[l]=r[l])}return a},t.apply(this,arguments)}var n=a.forwardRef((function(i,s){var c=a.useRef(null);a.useImperativeHandle(s,(function(){return{props:i,getElement:function(){return c.current}}}));var o=e.findDiffKeys(i,n.defaultProps),p=r("p-avatar p-component",{"p-avatar-image":null!=i.image,"p-avatar-circle":"circle"===i.shape,"p-avatar-lg":"large"===i.size,"p-avatar-xl":"xlarge"===i.size,"p-avatar-clickable":!!i.onClick},i.className),m=i.template?e.getJSXElement(i.template,i):i.image?a.createElement("img",{src:i.image,alt:i.imageAlt,onError:i.onImageError}):i.label?a.createElement("span",{className:"p-avatar-text"},i.label):i.icon?l.getJSXIcon(i.icon,{className:"p-avatar-icon"},{props:i}):null;return a.createElement("div",t({ref:c,className:p,style:i.style},o),m,i.children)}));n.displayName="Avatar",n.defaultProps={__TYPE:"Avatar",label:null,icon:null,image:null,size:"normal",shape:"square",style:null,className:null,template:null,imageAlt:"avatar",onImageError:null};export{n as Avatar};