@lanaco/lnc-react-ui
Version:
React component library
17 lines (16 loc) • 2 kB
JavaScript
;const n=require("react/jsx-runtime"),T=require("react"),i=require("./index-BPVoEhTF.cjs"),P=require("./emotion-styled.browser.esm-Cle7tAM9.cjs"),s=require("./utils-NZLCh-J5.cjs"),I=require("./Icon.cjs"),f=require("./emotion-element-f0de968e.browser.esm-B7k6i6lC.cjs"),w=P.newStyled.div`
border-radius: ${e=>s.getBorderRadiusValueWithUnits(e.theme,e.borderRadius)};
color: white;
display: inline-flex;
justify-content: center;
align-items: center;
height: ${e=>e.sizeInUnits?e.sizeInUnits:s.getSizeValueWithUnits(e.theme,e.size)};
width: ${e=>e.sizeInUnits?e.sizeInUnits:s.getSizeValueWithUnits(e.theme,e.size)};
${e=>e.disabled===!0&&s.getDisabledStateCss(e.theme)};
background-color: ${e=>!e.disabled&&s.getColorRgbaValue(e.theme,"Chip",e.color,"enabled","text")};
overflow: hidden;
& img {
height: ${e=>e.sizeInUnits?e.sizeInUnits:s.getSizeValueWithUnits(e.theme,e.size)};
width: ${e=>e.sizeInUnits?e.sizeInUnits:s.getSizeValueWithUnits(e.theme,e.size)};
}
`,a=T.forwardRef((e,l)=>{const{image:r,icon:c="user",sizeInUnits:t,borderRadius:u="curved",onFocus:d=()=>{},onBlur:m=()=>{},onClick:g=()=>{},size:o="small",color:h="primary",className:y="",style:z={},...b}=e,U={theme:f.useTheme(),color:h,style:z,size:o,sizeInUnits:t,className:"lnc-ui-avatar "+y};return n.jsx(w,{ref:l,...U,borderRadius:u,onClick:g,onFocus:d,onBlur:m,...b,children:r?n.jsx("img",{src:r}):n.jsx(I,{icon:c,size:o,sizeInUnits:t?`calc(${t} / 2)`:null})})});a.propTypes={image:i.PropTypes.string,icon:i.PropTypes.string,tabIndex:i.PropTypes.number,sizeInUnits:i.PropTypes.string,disabled:i.PropTypes.bool,borderRadius:i.PropTypes.oneOf(["slight","regular","edged","curved","none"]),onBlur:i.PropTypes.func,onFocus:i.PropTypes.func,onClick:i.PropTypes.func,className:i.PropTypes.string,style:i.PropTypes.object,size:i.PropTypes.oneOf(["small","medium","large"]),color:i.PropTypes.oneOf(["primary","secondary","success","warning","danger","information","neutral","gray"])};module.exports=a;