{ "version": 3, "sources": ["libs/galaxy/avatar/src/avatar.component.ts", "libs/galaxy/avatar/src/avatar.component.html", "libs/galaxy/avatar/src/avatar.module.ts", "libs/galaxy/avatar/public_api.ts", "libs/galaxy/avatar/index.ts"], "sourcesContent": ["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n inject,\n} from '@angular/core';\n\nexport const defaultBackgroundColor = '#BDBDBD';\n\n@Component({\n selector: 'glxy-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AvatarComponent implements OnInit, OnChanges {\n @HostBinding('class') class = 'glxy-avatar';\n\n @Input() src?: string;\n @Input() svgIcon?: string;\n @Input() name?: string;\n @Input() width = 40;\n @Input() shape?: 'circle' | 'square' = 'circle';\n @Input() icon?: string;\n @Input() abbreviation?: string;\n @Input() backgroundColor?: string;\n @Input() gravatarEmailMD5?: string;\n\n @HostBinding('style.color')\n @Input()\n textColor?: string;\n\n @HostBinding('style.width')\n @HostBinding('style.height')\n get getWidth(): string {\n return this.width + `px`;\n }\n\n @HostBinding('class.shape-circle')\n get isShapeCircle(): boolean {\n return this.shape === 'circle';\n }\n\n @HostBinding('class.shape-square')\n get isShapesquare(): boolean {\n return this.shape === 'square';\n }\n\n changeDetector = inject(ChangeDetectorRef);\n\n imageExists = true;\n computedBackgroundColor?: string;\n computerAbbreviation?: string;\n\n ngOnInit(): void {\n this.getAbbreviationForName();\n this.generateBackgroundColorFromName();\n this.checkIfImageUrlExists();\n }\n\n ngOnChanges(): void {\n // rereun init scripts if inputs changes\n this.ngOnInit();\n }\n\n getGravatarUrl(): void {\n if (this.gravatarEmailMD5) {\n this.src = `https://www.gravatar.com/avatar/${this.gravatarEmailMD5}?d=404`;\n }\n }\n\n getAbbreviationForName(): void {\n if (this.abbreviation) {\n this.computerAbbreviation = this.abbreviation;\n } else if (this.name) {\n const names = this.name.trim().split(/\\s+/);\n this.computerAbbreviation = names.length > 1 ? names[0][0] + names[1][0] : names[0][0];\n } else {\n this.computerAbbreviation = 'UNKNOWN'; // for unknown use mat-icon\n }\n }\n\n checkIfImageUrlExists(): void {\n if (!this.src) {\n this.imageExists = false;\n } else {\n const image = new Image();\n image.src = this.src;\n image.onload = () => {\n this.imageExists = true;\n this.changeDetector.markForCheck();\n };\n image.onerror = () => {\n this.imageExists = false;\n this.changeDetector.markForCheck();\n };\n }\n }\n\n generateBackgroundColorFromName(): void {\n if (this.backgroundColor) {\n this.computedBackgroundColor = this.backgroundColor;\n } else if (!this.name) {\n this.computedBackgroundColor = defaultBackgroundColor;\n } else {\n let nameSum = 0;\n const COLOR_CODES = [\n '#EF5350',\n '#42A5F5',\n '#66BB6A',\n '#FFA726',\n '#AB47BC',\n '#FFCA28',\n '#EC407A',\n '#26C6DA',\n '#FF7B57',\n ];\n for (let i = 0; i < this.name.length; i++) {\n nameSum += this.name[i].charCodeAt(0);\n }\n const index = nameSum % COLOR_CODES.length;\n this.computedBackgroundColor = COLOR_CODES[index];\n }\n }\n}\n", "\n \n \n \n\n \n \n \n\n \n {{ computerAbbreviation }}\n \n\n\n\n \n\n\n\n {{ icon }}\n\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { AvatarComponent, defaultBackgroundColor } from './avatar.component';\nexport { AvatarComponent, defaultBackgroundColor };\n\nimport { AvatarGroupComponent, AvatarGroupItem } from './avatar-group/avatar-group.component';\nexport { AvatarGroupComponent, AvatarGroupItem };\n\nexport const MODULE_IMPORTS = [CommonModule, MatIconModule, MatMenuModule, MatTooltipModule];\n\nexport const MODULE_DECLARATIONS = [AvatarComponent, AvatarGroupComponent];\n\n@NgModule({\n declarations: MODULE_DECLARATIONS,\n imports: MODULE_IMPORTS,\n exports: MODULE_DECLARATIONS,\n})\nexport class GalaxyAvatarModule {}\n", "export * from './src/avatar.module';\n", "// Export things like public API, and interfaces from here.\nexport * from './public_api';\n"], "mappings": "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", "names": ["\u0275\u0275elementContainer", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "AvatarComponent_ng_container_1_ng_container_1_Template", "\u0275\u0275advance", "\u0275\u0275property", "avatarMatIcon_r2", "\u0275\u0275pureFunction1", "_c0", "ctx_r0", "icon", "\u0275\u0275element", "svgIcon", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275textInterpolate", "computerAbbreviation", "AvatarComponent_ng_container_3_span_1_Template", "fallbackIcon_r3", "AvatarComponent_ng_template_4_ng_container_0_Template", "\u0275\u0275pureFunction0", "_c1", "icon_r4", "defaultBackgroundColor", "AvatarComponent", "init_avatar_component", "__esmMin", "init_core", "constructor", "class", "width", "shape", "changeDetector", "inject", "ChangeDetectorRef", "imageExists", "getWidth", "isShapeCircle", "isShapesquare", "ngOnInit", "getAbbreviationForName", "generateBackgroundColorFromName", "checkIfImageUrlExists", "ngOnChanges", "getGravatarUrl", "gravatarEmailMD5", "src", "abbreviation", "name", "names", "trim", "split", "length", "image", "Image", "onload", "markForCheck", "onerror", "backgroundColor", "computedBackgroundColor", "nameSum", "COLOR_CODES", "i", "charCodeAt", "index", "selectors", "hostVars", "hostBindings", "rf", "ctx", "\u0275\u0275classMap", "\u0275\u0275styleProp", "textColor", "\u0275\u0275classProp", "AvatarComponent_ng_container_1_Template", "AvatarComponent_ng_container_2_Template", "AvatarComponent_ng_container_3_Template", "AvatarComponent_ng_template_4_Template", "\u0275\u0275templateRefExtractor", "AvatarComponent_ng_template_6_Template", "_AvatarComponent", "MODULE_IMPORTS", "GalaxyAvatarModule", "init_avatar_module", "__esmMin", "init_common", "init_icon", "init_menu", "init_tooltip", "init_avatar_component", "CommonModule", "MatIconModule", "MatMenuModule", "MatTooltipModule", "_GalaxyAvatarModule", "init_public_api", "__esmMin", "init_avatar_module", "init_avatar", "__esmMin", "init_public_api"] }