{"version":3,"file":"ngx-avatar-letters.mjs","sources":["../../../projects/ngx-avatar-letters/src/lib/ngx-avatar-letters.component.ts","../../../projects/ngx-avatar-letters/src/lib/ngx-avatar-letters.component.html","../../../projects/ngx-avatar-letters/src/lib/ngx-avatar-letters.interface.ts","../../../projects/ngx-avatar-letters/src/public-api.ts","../../../projects/ngx-avatar-letters/src/ngx-avatar-letters.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { AvatarConfig } from './ngx-avatar-letters.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n  selector: 'ngx-avatar-letters',\n  standalone: true,\n  imports: [CommonModule],\n  templateUrl: 'ngx-avatar-letters.component.html',\n  styleUrl: 'ngx-avatar-letters.component.html',\n})\nexport class NgxAvatarLettersComponent {\n  @Input() config!: AvatarConfig;\n\n  initials = '';\n  finalConfig!: Required<AvatarConfig>;\n\n  readonly DEFAULTS: Partial<AvatarConfig> = {\n    size: 40,\n    textColor: '#fff',\n    shape: 'circle',\n  };\n\n  ngOnInit(): void {\n    this.finalConfig = {\n      ...this.DEFAULTS,\n      ...this.config,\n      bgColor: this.config.bgColor || this.getRandomColor(),\n    } as Required<AvatarConfig>;\n\n    this.initials = this.getInitials(this.finalConfig.name);\n  }\n\n  getInitials(name: string): string {\n    if (!name) return '';\n    const parts = name.trim().split(' ');\n    if (parts.length === 1) return parts[0][0].toUpperCase();\n    return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n  }\n\n  getRandomColor(): string {\n    const colors = [\n      '#F44336',\n      '#E91E63',\n      '#9C27B0',\n      '#3F51B5',\n      '#03A9F4',\n      '#009688',\n      '#4CAF50',\n      '#FF9800',\n      '#795548',\n    ];\n    return colors[Math.floor(Math.random() * colors.length)];\n  }\n}\n","<div\n  *ngIf=\"!finalConfig.imageUrl; else image\"\n  [ngStyle]=\"{\n    'width.px': finalConfig.size,\n    'height.px': finalConfig.size,\n    'background-color': finalConfig.bgColor,\n    'color': finalConfig.textColor,\n    'border-radius': finalConfig.shape === 'circle' ? '50%' : '4px',\n    'display': 'flex',\n    'align-items': 'center',\n    'justify-content': 'center',\n    'font-size.px': finalConfig.size * 0.4,\n    'font-weight': 600,\n    'text-transform': 'uppercase'\n  }\"\n>\n  {{ initials }}\n</div>\n\n<ng-template #image>\n  <img\n    [src]=\"finalConfig.imageUrl\"\n    [alt]=\"finalConfig.name\"\n    [ngStyle]=\"{\n      'width.px': finalConfig.size,\n      'height.px': finalConfig.size,\n      'border-radius': finalConfig.shape === 'circle' ? '50%' : '4px',\n      'object-fit': 'cover'\n    }\"\n  />\n</ng-template>","\nexport const AVATAR_SHAPES = ['circle', 'square', 'rounded'] as const;\nexport type AvatarShape = typeof AVATAR_SHAPES[number];\n \nexport interface AvatarConfig {\n  name: string;\n  size?: number;\n  bgColor?: string;\n  textColor?: string;\n  shape?: AvatarShape;\n  imageUrl?: string;\n}\n","/*\n * Public API Surface of ngx-avatar-letters\n */\nexport * from './lib/ngx-avatar-letters.component';\nexport * from './lib/ngx-avatar-letters.interface';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAWa,yBAAyB,CAAA;AAPtC,IAAA,WAAA,GAAA;QAUE,IAAA,CAAA,QAAQ,GAAG,EAAE;AAGJ,QAAA,IAAA,CAAA,QAAQ,GAA0B;AACzC,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,KAAK,EAAE,QAAQ;SAChB;AAiCF,IAAA;IA/BC,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,GAAG;YACjB,GAAG,IAAI,CAAC,QAAQ;YAChB,GAAG,IAAI,CAAC,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE;SAC5B;AAE3B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACzD;AAEA,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,EAAE;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AACpC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACxD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;IACjE;IAEA,cAAc,GAAA;AACZ,QAAA,MAAM,MAAM,GAAG;YACb,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;SACV;AACD,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D;+GA1CW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXtC,i1BA8Bc,EAAA,MAAA,EAAA,CAAA,i1BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvBF,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,UAAA,EAClB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,i1BAAA,EAAA,MAAA,EAAA,CAAA,i1BAAA,CAAA,EAAA;8BAKd,MAAM,EAAA,CAAA;sBAAd;;;AEXI,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;;ACD3D;;AAEG;;ACFH;;AAEG;;;;"}