ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 10.6 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-avatar.mjs","sources":["../../components/avatar/avatar.component.ts","../../components/avatar/avatar-group.component.ts","../../components/avatar/avatar.module.ts","../../components/avatar/public-api.ts","../../components/avatar/ng-zorro-antd-avatar.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport {\n NgClassInterface,\n NgStyleInterface,\n NumberInput,\n NzShapeSCType,\n NzSizeLDSType\n} from 'ng-zorro-antd/core/types';\nimport { InputNumber } from 'ng-zorro-antd/core/util';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'avatar';\n\n@Component({\n selector: 'nz-avatar',\n exportAs: 'nzAvatar',\n template: `\n <i nz-icon *ngIf=\"nzIcon && hasIcon\" [nzType]=\"nzIcon\"></i>\n <img *ngIf=\"nzSrc && hasSrc\" [src]=\"nzSrc\" [attr.srcset]=\"nzSrcSet\" [attr.alt]=\"nzAlt\" (error)=\"imgError($event)\" />\n <span class=\"ant-avatar-string\" #textEl [ngStyle]=\"textStyles\" *ngIf=\"nzText && hasText\">{{ nzText }}</span>\n `,\n host: {\n class: 'ant-avatar',\n '[class.ant-avatar-lg]': `nzSize === 'large'`,\n '[class.ant-avatar-sm]': `nzSize === 'small'`,\n '[class.ant-avatar-square]': `nzShape === 'square'`,\n '[class.ant-avatar-circle]': `nzShape === 'circle'`,\n '[class.ant-avatar-icon]': `nzIcon`,\n '[class.ant-avatar-image]': `hasSrc `,\n '[style.width]': 'customSize',\n '[style.height]': 'customSize',\n '[style.line-height]': 'customSize',\n // nzSize type is number when customSize is true\n '[style.font-size.px]': '(hasIcon && customSize) ? $any(nzSize) / 2 : null'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NzAvatarComponent implements OnChanges {\n static ngAcceptInputType_nzGap: NumberInput;\n\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n @Input() @WithConfig() nzShape: NzShapeSCType = 'circle';\n @Input() @WithConfig() nzSize: NzSizeLDSType | number = 'default';\n @Input() @WithConfig() @InputNumber() nzGap = 4;\n @Input() nzText?: string;\n @Input() nzSrc?: string;\n @Input() nzSrcSet?: string;\n @Input() nzAlt?: string;\n @Input() nzIcon?: string;\n @Output() readonly nzError = new EventEmitter<Event>();\n\n hasText: boolean = false;\n hasSrc: boolean = true;\n hasIcon: boolean = false;\n textStyles: NgStyleInterface = {};\n classMap: NgClassInterface = {};\n customSize: string | null = null;\n\n @ViewChild('textEl', { static: false }) textEl?: ElementRef;\n\n private el: HTMLElement = this.elementRef.nativeElement;\n\n constructor(\n public nzConfigService: NzConfigService,\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n private platform: Platform\n ) {}\n\n imgError($event: Event): void {\n this.nzError.emit($event);\n if (!$event.defaultPrevented) {\n this.hasSrc = false;\n this.hasIcon = false;\n this.hasText = false;\n if (this.nzIcon) {\n this.hasIcon = true;\n } else if (this.nzText) {\n this.hasText = true;\n }\n this.cdr.detectChanges();\n this.setSizeStyle();\n this.notifyCalc();\n }\n }\n\n ngOnChanges(): void {\n this.hasText = !this.nzSrc && !!this.nzText;\n this.hasIcon = !this.nzSrc && !!this.nzIcon;\n this.hasSrc = !!this.nzSrc;\n\n this.setSizeStyle();\n this.notifyCalc();\n }\n\n private calcStringSize(): void {\n if (!this.hasText) {\n return;\n }\n\n const childrenWidth = this.textEl!.nativeElement.offsetWidth;\n const avatarWidth = this.el.getBoundingClientRect().width;\n const offset = this.nzGap * 2 < avatarWidth ? this.nzGap * 2 : 8;\n const scale = avatarWidth - offset < childrenWidth ? (avatarWidth - offset) / childrenWidth : 1;\n\n this.textStyles = {\n transform: `scale(${scale}) translateX(-50%)`\n };\n if (this.customSize) {\n Object.assign(this.textStyles, {\n lineHeight: this.customSize\n });\n }\n this.cdr.detectChanges();\n }\n\n private notifyCalc(): void {\n // If use ngAfterViewChecked, always demands more computations, so......\n if (this.platform.isBrowser) {\n setTimeout(() => {\n this.calcStringSize();\n });\n }\n }\n\n private setSizeStyle(): void {\n if (typeof this.nzSize === 'number') {\n this.customSize = `${this.nzSize}px`;\n } else {\n this.customSize = null;\n }\n this.cdr.markForCheck();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'nz-avatar-group',\n exportAs: 'nzAvatarGroup',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ant-avatar-group'\n }\n})\nexport class NzAvatarGroupComponent {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzAvatarGroupComponent } from './avatar-group.component';\nimport { NzAvatarComponent } from './avatar.component';\n\n@NgModule({\n declarations: [NzAvatarComponent, NzAvatarGroupComponent],\n exports: [NzAvatarComponent, NzAvatarGroupComponent],\n imports: [BidiModule, CommonModule, NzIconModule, PlatformModule]\n})\nexport class NzAvatarModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './avatar.component';\nexport * from './avatar-group.component';\nexport * from './avatar.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA6BA,MAAM,qBAAqB,GAAgB,QAAQ,CAAC;MA4BvC,iBAAiB;IAyB5B,YACS,eAAgC,EAC/B,UAAsB,EACtB,GAAsB,EACtB,QAAkB;QAHnB,oBAAe,GAAf,eAAe,CAAiB;QAC/B,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,aAAQ,GAAR,QAAQ,CAAU;QA1BnB,kBAAa,GAAgB,qBAAqB,CAAC;QACrC,YAAO,GAAkB,QAAQ,CAAC;QAClC,WAAM,GAA2B,SAAS,CAAC;QAC5B,UAAK,GAAG,CAAC,CAAC;QAM7B,YAAO,GAAG,IAAI,YAAY,EAAS,CAAC;QAEvD,YAAO,GAAY,KAAK,CAAC;QACzB,WAAM,GAAY,IAAI,CAAC;QACvB,YAAO,GAAY,KAAK,CAAC;QACzB,eAAU,GAAqB,EAAE,CAAC;QAClC,aAAQ,GAAqB,EAAE,CAAC;QAChC,eAAU,GAAkB,IAAI,CAAC;QAIzB,OAAE,GAAgB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KAOpD;IAEJ,QAAQ,CAAC,MAAa;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;YACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACR;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAO,CAAC,aAAa,CAAC,WAAW,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,CAAC,WAAW,GAAG,MAAM,IAAI,aAAa,GAAG,CAAC,CAAC;QAEhG,IAAI,CAAC,UAAU,GAAG;YAChB,SAAS,EAAE,SAAS,KAAK,oBAAoB;SAC9C,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,UAAU;;QAEhB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC3B,UAAU,CAAC;gBACT,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CAAC;SACJ;KACF;IAEO,YAAY;QAClB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YACnC,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;;8GA/FU,iBAAiB;kGAAjB,iBAAiB,s2BAvBlB;;;;GAIT;AAuBsB;IAAb,UAAU,EAAE;kDAAmC;AAClC;IAAb,UAAU,EAAE;iDAA4C;AAC5B;IAA5B,UAAU,EAAE;IAAE,WAAW,EAAE;gDAAW;2FANrC,iBAAiB;kBA1B7B,SAAS;mBAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE;;;;GAIT;oBACD,IAAI,EAAE;wBACJ,KAAK,EAAE,YAAY;wBACnB,uBAAuB,EAAE,oBAAoB;wBAC7C,uBAAuB,EAAE,oBAAoB;wBAC7C,2BAA2B,EAAE,sBAAsB;wBACnD,2BAA2B,EAAE,sBAAsB;wBACnD,yBAAyB,EAAE,QAAQ;wBACnC,0BAA0B,EAAE,SAAS;wBACrC,eAAe,EAAE,YAAY;wBAC7B,gBAAgB,EAAE,YAAY;wBAC9B,qBAAqB,EAAE,YAAY;;wBAEnC,sBAAsB,EAAE,mDAAmD;qBAC5E;oBACD,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;iBACtC;sLAKwB,OAAO;sBAA7B,KAAK;gBACiB,MAAM;sBAA5B,KAAK;gBACgC,KAAK;sBAA1C,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACa,OAAO;sBAAzB,MAAM;gBASiC,MAAM;sBAA7C,SAAS;uBAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;;AC9ExC;;;;MAgBa,sBAAsB;;mHAAtB,sBAAsB;uGAAtB,sBAAsB,kIANvB,6BAA6B;2FAM5B,sBAAsB;kBATlC,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,6BAA6B;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACJ,KAAK,EAAE,kBAAkB;qBAC1B;iBACF;;;ACfD;;;;MAoBa,cAAc;;2GAAd,cAAc;4GAAd,cAAc,iBAJV,iBAAiB,EAAE,sBAAsB,aAE9C,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,aADtD,iBAAiB,EAAE,sBAAsB;4GAGxC,cAAc,YAFhB,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC;2FAEtD,cAAc;kBAL1B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;oBACzD,OAAO,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;oBACpD,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC;iBAClE;;;ACnBD;;;;;ACAA;;;;;;"}