ngx-letters-avatar-14
Version:
Angular package that generates avatar with the initial letters of the provided name
1 lines • 8.85 kB
Source Map (JSON)
{"version":3,"file":"ngx-letters-avatar-14.mjs","sources":["../../src/app/modules/letters-avatar/letters-avatar.component.ts","../../src/app/modules/letters-avatar/letters-avatar.component.html","../../index.ts","../../ngx-letters-avatar-14.ts"],"sourcesContent":["import { Component, OnInit, Input, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'ngx-letters-avatar',\n templateUrl: './letters-avatar.component.html',\n styleUrls: ['./letters-avatar.component.css']\n})\nexport class LettersAvatarComponent implements OnInit, AfterViewInit {\n @Input('width') width: number;\n @Input('height') height: number;\n @Input('avatarName') avatarName = \"\";\n @Input('src') src: string;\n @Input('className') className = \"\";\n @Input('fontFamily') fontFamily = \"arial\";\n @Input('circular') circular = false;\n @Input('borderRadius') borderRadius: number;\n @Input('id') id: string;\n\n constructor() { }\n\n ngOnInit() {\n if (!this.width && !this.height) this.width = 60;\n }\n\n ngAfterViewInit() {\n this.drawAvatar();\n }\n\n drawAvatar() {\n let image = document.getElementById(\"avatar-img\"),\n name = this.avatarName;\n\n image.id = this.id ? this.id : this.avatarName.replace(/\\s/g, \"\") + \"Avatar\";\n image.setAttribute('alt', `${name} avatar`);\n image.setAttribute('width', `${this.width ? this.width : this.height}px`);\n image.setAttribute('height', `${this.height ? this.height : this.width}px`);\n image.setAttribute('class', this.className);\n if (this.circular) image.style.borderRadius = \"50%\";\n if (this.borderRadius) image.style.borderRadius = `${this.borderRadius}px`;\n if (this.src) image.setAttribute('src', this.src);\n else image.setAttribute('src', this.createCanvasURI(name));\n }\n\n createCanvasURI(name = \"\") {\n let colours = [\n \"#1abc9c\", \"#2ecc71\", \"#3498db\", \"#9b59b6\", \"#34495e\",\n \"#f7ca18\", \"#f15a22\", \"#1ba39c\", \"#2abb9b\", \"#1f3a93\",\n \"#96281b\", \"#e67e22\", \"#e74c3c\", \"#ecf0f1\", \"#95a5a6\",\n \"#f39c12\", \"#d35400\", \"#c0392b\", \"#22a7f0\", \"#2c3e50\"\n ],\n nameSplit = String(name).toUpperCase().split(' '),\n size = this.width, initials, charIndex, colourIndex, canvas, context, dataURI;\n\n\n if (nameSplit.length < 2) initials = nameSplit[0] ? nameSplit[0].charAt(0) : '?';\n else initials = nameSplit[0].charAt(0) + nameSplit[1].charAt(0);\n\n if (window.devicePixelRatio) size = size * window.devicePixelRatio;\n\n charIndex = (initials == '?' ? 72 : initials.charCodeAt(0)) - 64;\n colourIndex = charIndex % 20;\n canvas = document.createElement('canvas');\n canvas.width = size;\n canvas.height = size;\n context = canvas.getContext(\"2d\");\n\n context.fillStyle = colours[colourIndex - 1];\n context.fillRect(0, 0, canvas.width, canvas.height);\n context.font = `${Math.round(canvas.width / 2.7)}px ${this.fontFamily}`;\n context.textAlign = \"center\";\n context.fillStyle = \"#FFF\";\n context.textBaseline = \"middle\";\n\n initials = initials.split(\"\").join(String.fromCharCode(8202))\n context.fillText(initials, size / 2, size / 1.85);\n\n dataURI = canvas.toDataURL();\n canvas = null;\n\n return dataURI;\n }\n\n}\n","<img id=\"avatar-img\">","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LettersAvatarComponent } from './src/app/modules/letters-avatar/letters-avatar.component';\n\nexport * from './src/app/modules/letters-avatar/letters-avatar.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n LettersAvatarComponent\n ],\n exports: [\n LettersAvatarComponent\n ]\n})\nexport class LettersAvatarModule {\n static forRoot(): ModuleWithProviders<LettersAvatarModule> {\n return {\n ngModule: LettersAvatarModule\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}