{"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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"}