{"version":3,"file":"primeng-badge.mjs","sources":["../../src/app/components/badge/badge.ts","../../src/app/components/badge/primeng-badge.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, Directive, ElementRef, Inject, Input, NgModule, OnDestroy, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { UniqueComponentId } from 'primeng/utils';\n/**\n * Badge Directive is directive usage of badge component.\n * @group Components\n */\n@Directive({\n    selector: '[pBadge]',\n    host: {\n        class: 'p-element'\n    }\n})\nexport class BadgeDirective implements AfterViewInit, OnDestroy {\n    /**\n     * Icon position of the component.\n     * @group Props\n     */\n    @Input() iconPos: 'left' | 'right' | 'top' | 'bottom' = 'left';\n    /**\n     * When specified, disables the component.\n     * @group Props\n     */\n    @Input('badgeDisabled') get disabled(): boolean {\n        return this._disabled;\n    }\n    set disabled(val: boolean) {\n        this._disabled = val;\n    }\n    /**\n     * Size of the badge, valid options are \"large\" and \"xlarge\".\n     * @group Props\n     */\n    @Input() public get size(): 'large' | 'xlarge' {\n        return this._size;\n    }\n    set size(val: 'large' | 'xlarge') {\n        this._size = val;\n\n        if (this.initialized) {\n            this.setSizeClasses();\n        }\n    }\n    /**\n     * Value to display inside the badge.\n     * @group Props\n     */\n    @Input() get value(): string {\n        return this._value;\n    }\n    set value(val: string) {\n        if (val !== this._value) {\n            this._value = val;\n\n            if (this.initialized) {\n                let badge: HTMLElement = document.getElementById(this.id) as HTMLElement;\n\n                if (this._value) {\n                    if (DomHandler.hasClass(badge, 'p-badge-dot')) DomHandler.removeClass(badge, 'p-badge-dot');\n\n                    if (String(this._value).length === 1) {\n                        DomHandler.addClass(badge, 'p-badge-no-gutter');\n                    } else {\n                        DomHandler.removeClass(badge, 'p-badge-no-gutter');\n                    }\n                } else if (!this._value && !DomHandler.hasClass(badge, 'p-badge-dot')) {\n                    DomHandler.addClass(badge, 'p-badge-dot');\n                }\n\n                badge.innerHTML = '';\n                this.renderer.appendChild(badge, document.createTextNode(this._value));\n            }\n        }\n    }\n    /**\n     * Severity type of the badge.\n     * @group Props\n     */\n    @Input() severity: 'success' | 'info' | 'warning' | 'danger' | null | undefined;\n\n    public _value!: string;\n\n    public initialized: boolean = false;\n\n    private id!: string;\n\n    private _disabled: boolean = false;\n\n    private _size!: 'large' | 'xlarge';\n\n    constructor(@Inject(DOCUMENT) private document: Document, public el: ElementRef, private renderer: Renderer2) {}\n\n    ngAfterViewInit() {\n        this.id = UniqueComponentId() + '_badge';\n        let el = this.el.nativeElement.nodeName.indexOf('-') != -1 ? this.el.nativeElement.firstChild : this.el.nativeElement;\n\n        if (this._disabled) {\n            return null;\n        }\n\n        let badge = this.document.createElement('span');\n        badge.id = this.id;\n        badge.className = 'p-badge p-component';\n\n        if (this.severity) {\n            DomHandler.addClass(badge, 'p-badge-' + this.severity);\n        }\n\n        this.setSizeClasses(badge);\n\n        if (this.value != null) {\n            this.renderer.appendChild(badge, this.document.createTextNode(this.value));\n\n            if (String(this.value).length === 1) {\n                DomHandler.addClass(badge, 'p-badge-no-gutter');\n            }\n        } else {\n            DomHandler.addClass(badge, 'p-badge-dot');\n        }\n\n        DomHandler.addClass(el, 'p-overlay-badge');\n        this.renderer.appendChild(el, badge);\n\n        this.initialized = true;\n    }\n\n    private setSizeClasses(element?: HTMLElement): void {\n        const badge = element ?? this.document.getElementById(this.id);\n\n        if (!badge) {\n            return;\n        }\n\n        if (this._size) {\n            if (this._size === 'large') {\n                DomHandler.addClass(badge, 'p-badge-lg');\n                DomHandler.removeClass(badge, 'p-badge-xl');\n            }\n\n            if (this._size === 'xlarge') {\n                DomHandler.addClass(badge, 'p-badge-xl');\n                DomHandler.removeClass(badge, 'p-badge-lg');\n            }\n        } else {\n            DomHandler.removeClass(badge, 'p-badge-lg');\n            DomHandler.removeClass(badge, 'p-badge-xl');\n        }\n    }\n\n    ngOnDestroy() {\n        this.initialized = false;\n    }\n}\n/**\n * Badge is a small status indicator for another element.\n * @group Components\n */\n@Component({\n    selector: 'p-badge',\n    template: ` <span *ngIf=\"!badgeDisabled\" [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">{{ value }}</span> `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    styleUrls: ['./badge.css'],\n    host: {\n        class: 'p-element'\n    }\n})\nexport class Badge {\n    /**\n     * Class of the element.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Inline style of the element.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Size of the badge, valid options are \"large\" and \"xlarge\".\n     * @group Props\n     */\n    @Input() size: 'large' | 'xlarge' | undefined;\n    /**\n     * Severity type of the badge.\n     * @group Props\n     */\n    @Input() severity: 'success' | 'info' | 'warning' | 'danger' | null | undefined;\n    /**\n     * Value to display inside the badge.\n     * @group Props\n     */\n    @Input() value: string | null | undefined;\n    /**\n     * When specified, disables the component.\n     * @group Props\n     */\n    @Input() badgeDisabled: boolean = false;\n\n    containerClass() {\n        return {\n            'p-badge p-component': true,\n            'p-badge-no-gutter': this.value != undefined && String(this.value).length === 1,\n            'p-badge-lg': this.size === 'large',\n            'p-badge-xl': this.size === 'xlarge',\n            'p-badge-info': this.severity === 'info',\n            'p-badge-success': this.severity === 'success',\n            'p-badge-warning': this.severity === 'warning',\n            'p-badge-danger': this.severity === 'danger'\n        };\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [Badge, BadgeDirective, SharedModule],\n    declarations: [Badge, BadgeDirective]\n})\nexport class BadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}