primeng
Version:
PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,
1 lines • 10.9 kB
Source Map (JSON)
{"version":3,"file":"primeng-avatar.mjs","sources":["../../src/avatar/style/avatarstyle.ts","../../src/avatar/avatar.ts","../../src/avatar/primeng-avatar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/avatar';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => {\n const image = instance.image();\n const shape = instance.shape();\n const size = instance.size();\n return [\n 'p-avatar p-component',\n {\n 'p-avatar-image': image != null,\n 'p-avatar-circle': shape === 'circle',\n 'p-avatar-lg': size === 'large',\n 'p-avatar-xl': size === 'xlarge'\n }\n ];\n },\n label: 'p-avatar-label',\n icon: 'p-avatar-icon'\n};\n\n@Injectable()\nexport class AvatarStyle extends BaseStyle {\n name = 'avatar';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Avatar represents people using icons, labels and images.\n *\n * - [Live Demo](https://primeng.dev/avatar)\n *\n * @module avatarstyle\n *\n */\nexport enum AvatarClasses {\n /**\n * Class name of the root element\n */\n root = 'p-avatar',\n /**\n * Class name of the label element\n */\n label = 'p-avatar-label',\n /**\n * Class name of the icon element\n */\n icon = 'p-avatar-icon',\n /**\n * Container element in image mode\n */\n image = 'p-avatar-image',\n /**\n * Container element with a circle shape\n */\n circle = 'p-avatar-circle',\n /**\n * Container element with a large size\n */\n large = 'p-avatar-lg',\n /**\n * Container element with an xlarge size\n */\n xlarge = 'p-avatar-xl'\n}\n\nexport interface AvatarStyle extends BaseStyle {}\n","import { ChangeDetectionStrategy, Component, computed, inject, InjectionToken, input, NgModule, output, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport type { AvatarPassThrough, AvatarShape, AvatarSize } from 'primeng/types/avatar';\nimport { AvatarStyle } from './style/avatarstyle';\n\nconst AVATAR_INSTANCE = new InjectionToken<Avatar>('AVATAR_INSTANCE');\n\n/**\n * Avatar represents people using icons, labels and images.\n * @group Components\n */\n@Component({\n selector: 'p-avatar',\n standalone: true,\n imports: [SharedModule, Bind],\n template: `\n <ng-content></ng-content>\n @if (label()) {\n <span [pBind]=\"ptm('label')\" [class]=\"cx('label')\" [attr.data-p]=\"dataP()\">{{ label() }}</span>\n } @else if (icon()) {\n <span [pBind]=\"ptm('icon')\" [class]=\"cn(cx('icon'), icon())\" [attr.data-p]=\"dataP()\"></span>\n } @else if (image()) {\n <img [pBind]=\"ptm('image')\" [src]=\"image()\" (error)=\"imageError($event)\" [attr.aria-label]=\"ariaLabel()\" [attr.data-p]=\"dataP()\" />\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-labelledby]': 'ariaLabelledBy()',\n '[attr.data-p]': 'dataP()'\n },\n providers: [AvatarStyle, { provide: AVATAR_INSTANCE, useExisting: Avatar }, { provide: PARENT_INSTANCE, useExisting: Avatar }],\n hostDirectives: [Bind]\n})\nexport class Avatar extends BaseComponent<AvatarPassThrough> {\n componentName = 'Avatar';\n\n $pcAvatar: Avatar | undefined = inject(AVATAR_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * Defines the text to display.\n * @group Props\n */\n label = input<string>();\n\n /**\n * Defines the icon to display.\n * @group Props\n */\n icon = input<string>();\n\n /**\n * Defines the image to display.\n * @group Props\n */\n image = input<string>();\n\n /**\n * Size of the element.\n * @group Props\n */\n size = input<AvatarSize>('normal');\n\n /**\n * Shape of the element.\n * @group Props\n */\n shape = input<AvatarShape>('square');\n\n /**\n * Establishes a string value that labels the component.\n * @group Props\n */\n ariaLabel = input<string>();\n\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n\n /**\n * This event is triggered if an error occurs while loading an image file.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onImageError = output<Event>();\n\n _componentStyle = inject(AvatarStyle);\n\n dataP = computed(() => {\n const shape = this.shape();\n const size = this.size();\n return this.cn({\n [shape as string]: shape,\n [size as string]: size\n });\n });\n\n imageError(event: Event) {\n this.onImageError.emit(event);\n }\n}\n\n@NgModule({\n imports: [Avatar, SharedModule],\n exports: [Avatar, SharedModule]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}