{"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        'p-avatar p-component',\n        {\n            'p-avatar-image': instance.image != null,\n            'p-avatar-circle': instance.shape === 'circle',\n            'p-avatar-lg': instance.size === 'large',\n            'p-avatar-xl': instance.size === 'xlarge'\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    theme = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Avatar represents people using icons, labels and images.\n *\n * - [Live Demo](https://primeng.org/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\nexport interface AvatarStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, NgModule, Output, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { AvatarStyle } from './style/avatarstyle';\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: [CommonModule, SharedModule],\n    template: `\n        <ng-content></ng-content>\n        <span [class]=\"cx('label')\" *ngIf=\"label; else iconTemplate\">{{ label }}</span>\n        <ng-template #iconTemplate><span [class]=\"icon\" [ngClass]=\"cx('icon')\" *ngIf=\"icon; else imageTemplate\"></span></ng-template>\n        <ng-template #imageTemplate> <img [src]=\"image\" *ngIf=\"image\" (error)=\"imageError($event)\" [attr.aria-label]=\"ariaLabel\" /></ng-template>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class]': \"cn(cx('root'), styleClass)\",\n        '[attr.data-pc-name]': '\"avatar\"',\n        '[attr.aria-label]': 'ariaLabel',\n        '[attr.aria-labelledby]': 'ariaLabelledBy'\n    },\n    providers: [AvatarStyle]\n})\nexport class Avatar extends BaseComponent {\n    /**\n     * Defines the text to display.\n     * @group Props\n     */\n    @Input() label: string | undefined;\n    /**\n     * Defines the icon to display.\n     * @group Props\n     */\n    @Input() icon: string | undefined;\n    /**\n     * Defines the image to display.\n     * @group Props\n     */\n    @Input() image: string | undefined;\n    /**\n     * Size of the element.\n     * @group Props\n     */\n    @Input() size: 'normal' | 'large' | 'xlarge' | undefined = 'normal';\n    /**\n     * Shape of the element.\n     * @group Props\n     */\n    @Input() shape: 'square' | 'circle' | undefined = 'square';\n    /**\n     * Class of the element.\n     * @deprecated since v20.0.0, use `class` instead.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Establishes a string value that labels the component.\n     * @group Props\n     */\n    @Input() ariaLabel: string | undefined;\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    @Input() ariaLabelledBy: string | undefined;\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    @Output() onImageError: EventEmitter<Event> = new EventEmitter<Event>();\n\n    _componentStyle = inject(AvatarStyle);\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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"}