UNPKG

@amaury-tobias/v-avatar

Version:

Componente de avatar basado en Vue.js

1 lines 2.16 kB
var VAvatar=function(e){"use strict";function n(e,n,r,t,o,a){var i={display:e?"inline-flex":"flex",width:n+"px",height:n+"px",borderRadius:r?"50%":0,lineHeight:n+Math.floor(n/20)+"px",fontWeight:"bold",alignItems:"center",justifyContent:"center",textAlign:"center"},u={"background-image":"url("+t+")","background-position":"center","background-repeat":"no-repeat","background-size":"cover"},l={backgroundColor:o,font:Math.floor(n/2.5)+"px/"+n+"px Helvetica, Arial, sans-serif",color:a},s=t?u:l;return Object.assign(i,s),i}function r(e,n){return e||n}function t(e,n){return e||n}function o(e,n){var r=!1;"#"===n[0]&&(n=n.slice(1),r=!0);var t=parseInt(n,16),o=(t>>16)+e;o>255?o=255:o<0&&(o=0);var a=(t>>8&255)+e;a>255?a=255:a<0&&(a=0);var i=(255&t)+e;return i>255?i=255:i<0&&(i=0),(r?"#":"")+(i|a<<8|o<<16).toString(16)}function a(e,n){return n[(e.length||Math.floor(10*Math.random()+1))%n.length]}function i(e,n){if(n&&n.length>0)return n;for(var r=e.split(/[ -]/),t="",o=0;o<r.length;o++)t+=r[o].charAt(0);return t.length>3&&-1!==t.search(/[A-Z]/)&&(t=t.replace(/[a-z]+/g,"")),t=t.substr(0,3).toUpperCase()}var u={name:"VAvatar",functional:!0,props:{username:{type:String,default:"V-A"},initials:{type:String,default:void 0},backgroundColor:{type:String,default:void 0},color:{type:String,default:void 0},inline:{type:Boolean},size:{type:Number,default:50},src:{type:String,default:""},rounded:{type:Boolean},lighten:{type:Number,default:80},backgroundColors:{type:Array,default:function(){return["#F44336","#FF4081","#9C27B0","#673AB7","#3F51B5","#2196F3","#03A9F4","#00BCD4","#009688","#4CAF50","#8BC34A","#CDDC39","#FFC107","#FF9800","#FF5722","#795548","#9E9E9E","#607D8B"]}}},render:function(e,u){var l=u.props;return e("div",{style:n(l.inline,l.size,l.rounded,l.src,r(l.backgroundColor,a(l.username,l.backgroundColors)),t(l.color,o(l.lighten,r(l.backgroundColor,a(l.username,l.backgroundColors))))),attrs:{"aria-hidden":!0}},[l.src?e():e("span",i(l.username,l.initials))])}},l={install:function(e){this.installed||(this.installed=!0,e.component("v-avatar",u))}};return"undefined"!=typeof window&&window.Vue&&window.Vue.use(l),e.default=l,e.vAvatar=u,e}({});