"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=