"use strict";
class Avatar extends Component {
on_ready() {
// Set src from args
if (this.args.src) {
this.$.attr('src', this.args.src);
}
// Set size (xs, sm, md, lg, xl)
const size = this.args.size || 'md';
const size_map = {
'xs': '24px',
'sm': '32px',
'md': '48px',
'lg': '64px',
'xl': '96px'
};
this.$.css({
'width': size_map[size],
'height': size_map[size],
'object-fit': 'cover'
});
// Alternative rendering: show initials when no image source provided
if (!this.args.src && this.args.name) {
this.show_initials(this.args.name);
}
}
show_initials(name) {
// Convert img to div with initials
const initials = name.split(' ').map(n => n[0]).join('').toUpperCase().slice(0, 2);
const $div = $('
').addClass('rounded-circle d-flex align-items-center justify-content-center bg-primary text-white fw-bold').css({
'width': this.$.css('width'),
'height': this.$.css('height')
}).text(initials);
this.$.replaceWith($div);
this.$ = $div;
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdmF0YXIiLCJKcWh0bWxfQ29tcG9uZW50Iiwib25fcmVhZHkiLCJhcmdzIiwic3JjIiwiJCIsImF0dHIiLCJzaXplIiwic2l6ZV9tYXAiLCJjc3MiLCJuYW1lIiwic2hvd19pbml0aWFscyIsImluaXRpYWxzIiwic3BsaXQiLCJtYXAiLCJuIiwiam9pbiIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCIkZGl2IiwiYWRkQ2xhc3MiLCJ0ZXh0IiwicmVwbGFjZVdpdGgiXSwic291cmNlcyI6WyJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9BdmF0YXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgQXZhdGFyIGV4dGVuZHMgSnFodG1sX0NvbXBvbmVudCB7XG4gICAgb25fcmVhZHkoKSB7XG4gICAgICAgIC8vIFNldCBzcmMgZnJvbSBhcmdzXG4gICAgICAgIGlmICh0aGlzLmFyZ3Muc3JjKSB7XG4gICAgICAgICAgICB0aGlzLiQuYXR0cignc3JjJywgdGhpcy5hcmdzLnNyYyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgc2l6ZSAoeHMsIHNtLCBtZCwgbGcsIHhsKVxuICAgICAgICBjb25zdCBzaXplID0gdGhpcy5hcmdzLnNpemUgfHwgJ21kJztcbiAgICAgICAgY29uc3Qgc2l6ZV9tYXAgPSB7XG4gICAgICAgICAgICAneHMnOiAnMjRweCcsXG4gICAgICAgICAgICAnc20nOiAnMzJweCcsXG4gICAgICAgICAgICAnbWQnOiAnNDhweCcsXG4gICAgICAgICAgICAnbGcnOiAnNjRweCcsXG4gICAgICAgICAgICAneGwnOiAnOTZweCdcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLiQuY3NzKHtcbiAgICAgICAgICAgICd3aWR0aCc6IHNpemVfbWFwW3NpemVdLFxuICAgICAgICAgICAgJ2hlaWdodCc6IHNpemVfbWFwW3NpemVdLFxuICAgICAgICAgICAgJ29iamVjdC1maXQnOiAnY292ZXInXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEFsdGVybmF0aXZlIHJlbmRlcmluZzogc2hvdyBpbml0aWFscyB3aGVuIG5vIGltYWdlIHNvdXJjZSBwcm92aWRlZFxuICAgICAgICBpZiAoIXRoaXMuYXJncy5zcmMgJiYgdGhpcy5hcmdzLm5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd19pbml0aWFscyh0aGlzLmFyZ3MubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93X2luaXRpYWxzKG5hbWUpIHtcbiAgICAgICAgLy8gQ29udmVydCBpbWcgdG8gZGl2IHdpdGggaW5pdGlhbHNcbiAgICAgICAgY29uc3QgaW5pdGlhbHMgPSBuYW1lLnNwbGl0KCcgJykubWFwKG4gPT4gblswXSkuam9pbignJykudG9VcHBlckNhc2UoKS5zbGljZSgwLCAyKTtcbiAgICAgICAgY29uc3QgJGRpdiA9ICQoJzxkaXY+JylcbiAgICAgICAgICAgIC5hZGRDbGFzcygncm91bmRlZC1jaXJjbGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGJnLXByaW1hcnkgdGV4dC13aGl0ZSBmdy1ib2xkJylcbiAgICAgICAgICAgIC5jc3Moe1xuICAgICAgICAgICAgICAgICd3aWR0aCc6IHRoaXMuJC5jc3MoJ3dpZHRoJyksXG4gICAgICAgICAgICAgICAgJ2hlaWdodCc6IHRoaXMuJC5jc3MoJ2hlaWdodCcpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRleHQoaW5pdGlhbHMpO1xuXG4gICAgICAgIHRoaXMuJC5yZXBsYWNlV2l0aCgkZGl2KTtcbiAgICAgICAgdGhpcy4kID0gJGRpdjtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTUEsTUFBTSxTQUFTQyxnQkFBZ0IsQ0FBQztFQUNsQ0MsUUFBUUEsQ0FBQSxFQUFHO0lBQ1A7SUFDQSxJQUFJLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxHQUFHLEVBQUU7TUFDZixJQUFJLENBQUNDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUNILElBQUksQ0FBQ0MsR0FBRyxDQUFDO0lBQ3JDOztJQUVBO0lBQ0EsTUFBTUcsSUFBSSxHQUFHLElBQUksQ0FBQ0osSUFBSSxDQUFDSSxJQUFJLElBQUksSUFBSTtJQUNuQyxNQUFNQyxRQUFRLEdBQUc7TUFDYixJQUFJLEVBQUUsTUFBTTtNQUNaLElBQUksRUFBRSxNQUFNO01BQ1osSUFBSSxFQUFFLE1BQU07TUFDWixJQUFJLEVBQUUsTUFBTTtNQUNaLElBQUksRUFBRTtJQUNWLENBQUM7SUFFRCxJQUFJLENBQUNILENBQUMsQ0FBQ0ksR0FBRyxDQUFDO01BQ1AsT0FBTyxFQUFFRCxRQUFRLENBQUNELElBQUksQ0FBQztNQUN2QixRQUFRLEVBQUVDLFFBQVEsQ0FBQ0QsSUFBSSxDQUFDO01BQ3hCLFlBQVksRUFBRTtJQUNsQixDQUFDLENBQUM7O0lBRUY7SUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDSixJQUFJLENBQUNDLEdBQUcsSUFBSSxJQUFJLENBQUNELElBQUksQ0FBQ08sSUFBSSxFQUFFO01BQ2xDLElBQUksQ0FBQ0MsYUFBYSxDQUFDLElBQUksQ0FBQ1IsSUFBSSxDQUFDTyxJQUFJLENBQUM7SUFDdEM7RUFDSjtFQUVBQyxhQUFhQSxDQUFDRCxJQUFJLEVBQUU7SUFDaEI7SUFDQSxNQUFNRSxRQUFRLEdBQUdGLElBQUksQ0FBQ0csS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxHQUFHLENBQUNDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEYsTUFBTUMsSUFBSSxHQUFHZCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ2xCZSxRQUFRLENBQUMsK0ZBQStGLENBQUMsQ0FDekdYLEdBQUcsQ0FBQztNQUNELE9BQU8sRUFBRSxJQUFJLENBQUNKLENBQUMsQ0FBQ0ksR0FBRyxDQUFDLE9BQU8sQ0FBQztNQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDSixDQUFDLENBQUNJLEdBQUcsQ0FBQyxRQUFRO0lBQ2pDLENBQUMsQ0FBQyxDQUNEWSxJQUFJLENBQUNULFFBQVEsQ0FBQztJQUVuQixJQUFJLENBQUNQLENBQUMsQ0FBQ2lCLFdBQVcsQ0FBQ0gsSUFBSSxDQUFDO0lBQ3hCLElBQUksQ0FBQ2QsQ0FBQyxHQUFHYyxJQUFJO0VBQ2pCO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=