@taiga-ui/kit
Version:
Taiga UI Angular main components kit
1 lines • 12.9 kB
Source Map (JSON)
{"version":3,"file":"taiga-ui-kit-components-avatar.mjs","sources":["../../../projects/kit/components/avatar/avatar.options.ts","../../../projects/kit/components/avatar/avatar.component.ts","../../../projects/kit/components/avatar/avatar.template.html","../../../projects/kit/components/avatar/avatar-labeled.component.ts","../../../projects/kit/components/avatar/avatar-outline.directive.ts","../../../projects/kit/components/avatar/avatar-stack.component.ts","../../../projects/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core/types';\n\nexport interface TuiAvatarOptions extends TuiAppearanceOptions {\n readonly appearance: string;\n readonly round: boolean;\n readonly size: TuiSizeXS | TuiSizeXXL;\n}\n\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n appearance: '',\n round: true,\n size: 'l',\n};\n\nexport const TUI_AVATAR_OPTIONS = tuiCreateToken(TUI_AVATAR_DEFAULT_OPTIONS);\n\nexport function tuiAvatarOptionsProvider(options: Partial<TuiAvatarOptions>): Provider {\n return tuiProvideOptions(TUI_AVATAR_OPTIONS, options, TUI_AVATAR_DEFAULT_OPTIONS);\n}\n","import {NgSwitch, NgSwitchCase, NgSwitchDefault} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport type {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\n\nimport {TUI_AVATAR_OPTIONS} from './avatar.options';\n\n@Component({\n standalone: true,\n selector: 'tui-avatar,button[tuiAvatar],a[tuiAvatar]',\n imports: [NgSwitch, NgSwitchCase, NgSwitchDefault, TuiIcon],\n templateUrl: './avatar.template.html',\n styleUrls: ['./avatar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAppearanceOptionsProvider(TUI_AVATAR_OPTIONS)],\n hostDirectives: [TuiWithAppearance],\n host: {\n '[attr.data-size]': 'size',\n '[attr.data-type]': 'type',\n '[class._round]': 'round',\n '[class._svg]': 'svg',\n },\n})\nexport class TuiAvatar {\n private readonly options = inject(TUI_AVATAR_OPTIONS);\n\n @Input()\n public size = this.options.size;\n\n @Input()\n public round = this.options.round;\n\n @Input()\n public src?: SafeResourceUrl | string | null;\n\n protected get value(): SafeResourceUrl | string {\n return this.src || '';\n }\n\n protected get svg(): boolean {\n return tuiIsString(this.value) && this.value.endsWith('.svg');\n }\n\n protected get type(): 'content' | 'icon' | 'img' | 'text' {\n if (this.value && !tuiIsString(this.value)) {\n return 'img';\n }\n\n if (this.value.startsWith('@tui.')) {\n return 'icon';\n }\n\n if (this.value.length > 0 && this.value.length < 3) {\n return 'text';\n }\n\n return this.value.length ? 'img' : 'content';\n }\n}\n","<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <tui-icon\n *ngSwitchCase=\"'icon'\"\n [icon]=\"value.toString()\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content />\n </ng-container>\n</ng-container>\n","import {NgForOf, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiFade} from '@taiga-ui/kit/directives/fade';\n\n@Component({\n standalone: true,\n selector: 'tui-avatar-labeled',\n imports: [NgForOf, NgIf, TuiFade],\n template: `\n <ng-content></ng-content>\n <ng-container *ngIf=\"label.length\">\n <span\n *ngFor=\"let item of split(label)\"\n tuiFade\n >\n {{ item }}\n </span>\n </ng-container>\n `,\n styleUrls: ['./avatar-labeled.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiAvatarLabeled {\n @Input()\n public label = '';\n\n @tuiPure\n protected split(label: string): readonly string[] {\n return label.split(' ');\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./avatar-outline.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-avatar-outline',\n },\n})\nclass TuiAvatarOutlineStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiAvatarOutline]',\n host: {\n '[style.--t-fill]': 'value',\n '[class._outline]': 'value',\n },\n})\nexport class TuiAvatarOutline {\n protected readonly nothing = tuiWithStyles(TuiAvatarOutlineStyles);\n\n @Input()\n public tuiAvatarOutline: string | null = '';\n\n protected get value(): string | null {\n return this.tuiAvatarOutline === ''\n ? 'var(--tui-background-accent-1)'\n : this.tuiAvatarOutline;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\n@Component({\n standalone: true,\n selector: 'tui-avatar-stack',\n template: '<ng-content></ng-content>',\n styleUrls: ['./avatar-stack.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-direction]': 'direction',\n },\n})\nexport class TuiAvatarStack {\n @Input()\n public direction: TuiHorizontalDirection = 'right';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAWa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,IAAI,EAAE,GAAG;EACX;MAEW,kBAAkB,GAAG,cAAc,CAAC,0BAA0B,EAAE;AAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtF;;ACTA,MAgBa,SAAS,CAAA;AAhBtB,IAAA,WAAA,GAAA;AAiBqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAG/C,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAGzB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AA4BrC,KAAA;AAvBG,IAAA,IAAc,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;KACzB;AAED,IAAA,IAAc,GAAG,GAAA;AACb,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACjE;AAED,IAAA,IAAc,IAAI,GAAA;QACd,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxC,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAChC,YAAA,OAAO,MAAM,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAChD,YAAA,OAAO,MAAM,CAAC;AACjB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;KAChD;+GAlCQ,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,0QATP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBjE,saAgBA,EAAA,MAAA,EAAA,CAAA,omEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDDc,QAAQ,EAAE,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,YAAY,EAAE,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,8DAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAajD,SAAS,EAAA,UAAA,EAAA,CAAA;kBAhBrB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,2CAA2C,EAAA,OAAA,EAC5C,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,EAAA,eAAA,EAG1C,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAC7C,cAAA,EAAA,CAAC,iBAAiB,CAAC,EAC7B,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,gBAAgB,EAAE,OAAO;AACzB,wBAAA,cAAc,EAAE,KAAK;AACxB,qBAAA,EAAA,QAAA,EAAA,saAAA,EAAA,MAAA,EAAA,CAAA,omEAAA,CAAA,EAAA,CAAA;8BAMM,IAAI,EAAA,CAAA;sBADV,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAIC,GAAG,EAAA,CAAA;sBADT,KAAK;;;AE3BV,MAmBa,gBAAgB,CAAA;AAnB7B,IAAA,WAAA,GAAA;QAqBW,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAMrB,KAAA;AAHa,IAAA,KAAK,CAAC,KAAa,EAAA;AACzB,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC3B;+GAPQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAff,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAXS,OAAO,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAqBtB,UAAA,CAAA;IADT,OAAO;AAGP,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,IAAA,CAAA,CAAA;4FAPQ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAnB5B,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,oBAAoB,EAAA,OAAA,EACrB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EACvB,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,IAAA,CAAA,EAAA,aAAA,EAEc,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,gUAAA,CAAA,EAAA,CAAA;8BAIxC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAII,KAAK,EAAA,EAAA,EAAA,EAAA,CAAA;;ACzBnB,MAUM,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,wHARd,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4lCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,oBAAoB;AAC9B,qBAAA,EAAA,MAAA,EAAA,CAAA,4lCAAA,CAAA,EAAA,CAAA;;AAIL,MAQa,gBAAgB,CAAA;AAR7B,IAAA,WAAA,GAAA;AASuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAG5D,IAAgB,CAAA,gBAAA,GAAkB,EAAE,CAAC;AAO/C,KAAA;AALG,IAAA,IAAc,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,gBAAgB,KAAK,EAAE;AAC/B,cAAE,gCAAgC;AAClC,cAAE,IAAI,CAAC,gBAAgB,CAAC;KAC/B;+GAVQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,OAAO;AAC3B,wBAAA,kBAAkB,EAAE,OAAO;AAC9B,qBAAA;AACJ,iBAAA,CAAA;8BAKU,gBAAgB,EAAA,CAAA;sBADtB,KAAK;;;ACxBV,MAWa,cAAc,CAAA;AAX3B,IAAA,WAAA,GAAA;QAaW,IAAS,CAAA,SAAA,GAA2B,OAAO,CAAC;AACtD,KAAA;+GAHY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,8KARb,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,k7GAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQ5B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAX1B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,uBAAuB,EAAE,WAAW;AACvC,qBAAA,EAAA,MAAA,EAAA,CAAA,k7GAAA,CAAA,EAAA,CAAA;8BAIM,SAAS,EAAA,CAAA;sBADf,KAAK;;;ACpBV;;AAEG;;;;"}