{"version":3,"file":"primeng-breadcrumb.mjs","sources":["../../src/breadcrumb/style/breadcrumbstyle.ts","../../src/breadcrumb/breadcrumb.ts","../../src/breadcrumb/primeng-breadcrumb.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/breadcrumb';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: () => ['p-breadcrumb p-component'],\n    list: 'p-breadcrumb-list',\n    homeItem: 'p-breadcrumb-home-item',\n    separator: 'p-breadcrumb-separator',\n    item: ({ menuitem }) => ['p-breadcrumb-item', { 'p-disabled': menuitem.disabled }],\n    itemLink: 'p-breadcrumb-item-link',\n    itemIcon: 'p-breadcrumb-item-icon',\n    itemLabel: 'p-breadcrumb-item-label'\n};\n\n@Injectable()\nexport class BreadCrumbStyle extends BaseStyle {\n    name = 'breadcrumb';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Breadcrumb provides contextual information about page hierarchy.\n *\n * [Live Demo](https://www.primeng.org/breadcrumb/)\n *\n * @module breadcrumbstyle\n *\n */\nexport enum BreadcrumbClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-breadcrumb',\n    /**\n     * Class name of the list element\n     */\n    list = 'p-breadcrumb-list',\n    /**\n     * Class name of the home item element\n     */\n    homeItem = 'p-breadcrumb-home-item',\n    /**\n     * Class name of the separator element\n     */\n    separator = 'p-breadcrumb-separator',\n    /**\n     * Class name of the item element\n     */\n    item = 'p-breadcrumb-item',\n    /**\n     * Class name of the item link element\n     */\n    itemLink = 'p-breadcrumb-item-link',\n    /**\n     * Class name of the item icon element\n     */\n    itemIcon = 'p-breadcrumb-item-icon',\n    /**\n     * Class name of the item label element\n     */\n    itemLabel = 'p-breadcrumb-item-label'\n}\n\nexport interface BreadcrumbStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, InjectionToken, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Router, RouterLink, RouterLinkActive, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { Badge } from 'primeng/badge';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ChevronRightIcon, HomeIcon } from 'primeng/icons';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { BreadcrumbItemClickEvent, BreadcrumbItemTemplateContext, BreadcrumbPassThrough } from 'primeng/types/breadcrumb';\nimport { BreadCrumbStyle } from './style/breadcrumbstyle';\n\nconst BREADCRUMB_INSTANCE = new InjectionToken<Breadcrumb>('BREADCRUMB_INSTANCE');\n\n/**\n * Breadcrumb provides contextual information about page hierarchy.\n * @group Components\n */\n@Component({\n    selector: 'p-breadcrumb',\n    standalone: true,\n    imports: [CommonModule, RouterModule, RouterLink, RouterLinkActive, TooltipModule, ChevronRightIcon, HomeIcon, SharedModule, Bind, Badge],\n    template: `\n        <nav [pBind]=\"ptm('root')\" [class]=\"cn(cx('root'), styleClass)\" [style]=\"style\">\n            <ol [class]=\"cx('list')\" [pBind]=\"ptm('list')\">\n                <li [attr.id]=\"home.id\" [class]=\"cn(cx('homeItem'), home.styleClass)\" [ngStyle]=\"home.style\" *ngIf=\"home && home.visible !== false\" pTooltip [tooltipOptions]=\"home.tooltipOptions\" [pBind]=\"ptm('homeItem')\" [unstyled]=\"unstyled()\">\n                    @if (itemTemplate || _itemTemplate) {\n                        <ng-template *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: home }\"></ng-template>\n                    } @else {\n                        <a\n                            [href]=\"home.url ? home.url : null\"\n                            *ngIf=\"!home.routerLink\"\n                            [attr.aria-label]=\"homeAriaLabel\"\n                            [class]=\"cn(cx('itemLink'), home.linkClass)\"\n                            [ngStyle]=\"home.linkStyle\"\n                            (click)=\"onClick($event, home)\"\n                            [target]=\"home.target\"\n                            [attr.title]=\"home.title\"\n                            [attr.tabindex]=\"home.disabled ? null : home.tabindex || '0'\"\n                            [attr.data-automationid]=\"home.automationId\"\n                            [pBind]=\"ptm('itemLink')\"\n                        >\n                            <span *ngIf=\"home.icon\" [class]=\"cn(cx('itemIcon'), home.icon, home.iconClass)\" [ngStyle]=\"home.iconStyle\" [pBind]=\"ptm('itemIcon')\"></span>\n                            <svg data-p-icon=\"home\" *ngIf=\"!home.icon\" [class]=\"cx('itemIcon')\" [pBind]=\"ptm('itemIcon')\" />\n                            <ng-container *ngIf=\"home.label\">\n                                <span *ngIf=\"home.escape !== false; else htmlHomeLabel\" [class]=\"cn(cx('itemLabel'), home.labelClass)\" [ngStyle]=\"home.labelStyle\" [pBind]=\"ptm('itemLabel')\">{{ home.label }}</span>\n                                <ng-template #htmlHomeLabel><span [class]=\"cn(cx('itemLabel'), home.labelClass)\" [ngStyle]=\"home.labelStyle\" [innerHTML]=\"home.label\" [pBind]=\"ptm('itemLabel')\"></span></ng-template>\n                            </ng-container>\n                            <p-badge *ngIf=\"home.badge\" [styleClass]=\"home.badgeStyleClass\" [value]=\"home.badge\" [pt]=\"ptm('pcBadge')\" [unstyled]=\"unstyled()\" />\n                        </a>\n                        <a\n                            *ngIf=\"home.routerLink\"\n                            [routerLink]=\"home.routerLink\"\n                            routerLinkActive=\"p-menuitem-link-active\"\n                            [attr.aria-label]=\"homeAriaLabel\"\n                            [queryParams]=\"home.queryParams\"\n                            [routerLinkActiveOptions]=\"home.routerLinkActiveOptions || { exact: false }\"\n                            [class]=\"cn(cx('itemLink'), home.linkClass)\"\n                            [ngStyle]=\"home.linkStyle\"\n                            (click)=\"onClick($event, home)\"\n                            [target]=\"home.target\"\n                            [attr.title]=\"home.title\"\n                            [attr.tabindex]=\"home.disabled ? null : home.tabindex || '0'\"\n                            [attr.data-automationid]=\"home.automationId\"\n                            [fragment]=\"home.fragment\"\n                            [queryParamsHandling]=\"home.queryParamsHandling\"\n                            [preserveFragment]=\"home.preserveFragment\"\n                            [skipLocationChange]=\"home.skipLocationChange\"\n                            [replaceUrl]=\"home.replaceUrl\"\n                            [state]=\"home.state\"\n                            [pBind]=\"ptm('itemLink')\"\n                        >\n                            <span *ngIf=\"home.icon\" [class]=\"cn(cx('itemIcon'), home.icon, home.iconClass)\" [ngStyle]=\"home.iconStyle\" [pBind]=\"ptm('itemIcon')\"></span>\n                            <svg data-p-icon=\"home\" *ngIf=\"!home.icon\" [class]=\"cx('itemIcon')\" [pBind]=\"ptm('itemIcon')\" />\n                            <ng-container *ngIf=\"home.label\">\n                                <span *ngIf=\"home.escape !== false; else htmlHomeRouteLabel\" [class]=\"cn(cx('itemLabel'), home.labelClass)\" [ngStyle]=\"home.labelStyle\" [pBind]=\"ptm('itemLabel')\">{{ home.label }}</span>\n                                <ng-template #htmlHomeRouteLabel><span [class]=\"cn(cx('itemLabel'), home.labelClass)\" [ngStyle]=\"home.labelStyle\" [innerHTML]=\"home.label\" [pBind]=\"ptm('itemLabel')\"></span></ng-template>\n                            </ng-container>\n                            <p-badge *ngIf=\"home.badge\" [styleClass]=\"home.badgeStyleClass\" [value]=\"home.badge\" [pt]=\"ptm('pcBadge')\" [unstyled]=\"unstyled()\" />\n                        </a>\n                    }\n                </li>\n                <li *ngIf=\"model && home\" [class]=\"cx('separator')\" [pBind]=\"ptm('separator')\">\n                    <svg data-p-icon=\"chevron-right\" *ngIf=\"!separatorTemplate && !_separatorTemplate\" [pBind]=\"ptm('separatorIcon')\" />\n                    <ng-template *ngTemplateOutlet=\"separatorTemplate || _separatorTemplate\"></ng-template>\n                </li>\n                <ng-template ngFor let-menuitem let-end=\"last\" let-i=\"index\" [ngForOf]=\"model\">\n                    <li\n                        *ngIf=\"menuitem.visible !== false\"\n                        [class]=\"cn(cx('item', { menuitem }), menuitem.styleClass)\"\n                        [attr.id]=\"menuitem.id\"\n                        [style]=\"menuitem.style\"\n                        pTooltip\n                        [tooltipOptions]=\"menuitem.tooltipOptions\"\n                        [pBind]=\"getPTOptions(menuitem, i, 'item')\"\n                        [pTooltipUnstyled]=\"unstyled()\"\n                    >\n                        @if (itemTemplate || _itemTemplate) {\n                            <ng-template *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: menuitem }\"></ng-template>\n                        } @else {\n                            <a\n                                *ngIf=\"!menuitem?.routerLink\"\n                                [attr.href]=\"menuitem?.url ? menuitem?.url : null\"\n                                [class]=\"cn(cx('itemLink'), menuitem?.linkClass)\"\n                                [ngStyle]=\"menuitem?.linkStyle\"\n                                (click)=\"onClick($event, menuitem)\"\n                                [target]=\"menuitem?.target\"\n                                [attr.title]=\"menuitem?.title\"\n                                [attr.tabindex]=\"menuitem?.disabled ? null : menuitem?.tabindex || '0'\"\n                                [attr.data-automationid]=\"menuitem?.automationId\"\n                                [pBind]=\"getPTOptions(menuitem, i, 'itemLink')\"\n                            >\n                                <ng-container *ngIf=\"!itemTemplate && !_itemTemplate\">\n                                    <span *ngIf=\"menuitem?.icon\" [class]=\"cn(cx('itemIcon'), menuitem?.icon, menuitem?.iconClass)\" [ngStyle]=\"menuitem?.iconStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemIcon')\"></span>\n                                    <ng-container *ngIf=\"menuitem?.label\">\n                                        <span *ngIf=\"menuitem?.escape !== false; else htmlLabel\" [class]=\"cn(cx('itemLabel'), menuitem?.labelClass)\" [ngStyle]=\"menuitem?.labelStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\">{{\n                                            menuitem?.label\n                                        }}</span>\n                                        <ng-template #htmlLabel\n                                            ><span [class]=\"cn(cx('itemLabel'), menuitem?.labelClass)\" [ngStyle]=\"menuitem?.labelStyle\" [innerHTML]=\"menuitem?.label\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\"></span\n                                        ></ng-template>\n                                    </ng-container>\n                                    <p-badge *ngIf=\"menuitem?.badge\" [styleClass]=\"menuitem?.badgeStyleClass\" [value]=\"menuitem?.badge\" [pt]=\"getPTOptions(menuitem, i, 'pcBadge')\" [unstyled]=\"unstyled()\" />\n                                </ng-container>\n                            </a>\n                            <a\n                                *ngIf=\"menuitem?.routerLink\"\n                                [routerLink]=\"menuitem?.routerLink\"\n                                routerLinkActive=\"p-menuitem-link-active\"\n                                [queryParams]=\"menuitem?.queryParams\"\n                                [routerLinkActiveOptions]=\"menuitem?.routerLinkActiveOptions || { exact: false }\"\n                                [class]=\"cn(cx('itemLink'), menuitem?.linkClass)\"\n                                [ngStyle]=\"menuitem?.linkStyle\"\n                                (click)=\"onClick($event, menuitem)\"\n                                [target]=\"menuitem?.target\"\n                                [attr.title]=\"menuitem?.title\"\n                                [attr.tabindex]=\"menuitem?.disabled ? null : menuitem?.tabindex || '0'\"\n                                [attr.data-automationid]=\"menuitem?.automationId\"\n                                [fragment]=\"menuitem?.fragment\"\n                                [queryParamsHandling]=\"menuitem?.queryParamsHandling\"\n                                [preserveFragment]=\"menuitem?.preserveFragment\"\n                                [skipLocationChange]=\"menuitem?.skipLocationChange\"\n                                [replaceUrl]=\"menuitem?.replaceUrl\"\n                                [state]=\"menuitem?.state\"\n                                [pBind]=\"getPTOptions(menuitem, i, 'itemLink')\"\n                            >\n                                <span *ngIf=\"menuitem?.icon\" [class]=\"cn(cx('itemIcon'), menuitem?.icon, menuitem?.iconClass)\" [ngStyle]=\"menuitem?.iconStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemIcon')\"></span>\n                                <ng-container *ngIf=\"menuitem?.label\">\n                                    <span *ngIf=\"menuitem?.escape !== false; else htmlRouteLabel\" [class]=\"cn(cx('itemLabel'), menuitem?.labelClass)\" [ngStyle]=\"menuitem?.labelStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\">{{\n                                        menuitem?.label\n                                    }}</span>\n                                    <ng-template #htmlRouteLabel\n                                        ><span [class]=\"cn(cx('itemLabel'), menuitem?.labelClass)\" [ngStyle]=\"menuitem?.labelStyle\" [innerHTML]=\"menuitem?.label\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\"></span\n                                    ></ng-template>\n                                </ng-container>\n                                <p-badge *ngIf=\"menuitem?.badge\" [styleClass]=\"menuitem?.badgeStyleClass\" [value]=\"menuitem?.badge\" [pt]=\"getPTOptions(menuitem, i, 'pcBadge')\" [unstyled]=\"unstyled()\" />\n                            </a>\n                        }\n                    </li>\n                    <li *ngIf=\"!end && menuitem.visible !== false\" [class]=\"cx('separator')\" [pBind]=\"ptm('separator')\">\n                        <svg data-p-icon=\"chevron-right\" *ngIf=\"!separatorTemplate && !_separatorTemplate\" [pBind]=\"ptm('separatorIcon')\" />\n                        <ng-template *ngTemplateOutlet=\"separatorTemplate || _separatorTemplate\"></ng-template>\n                    </li>\n                </ng-template>\n            </ol>\n        </nav>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [BreadCrumbStyle, { provide: BREADCRUMB_INSTANCE, useExisting: Breadcrumb }, { provide: PARENT_INSTANCE, useExisting: Breadcrumb }],\n    hostDirectives: [Bind]\n})\nexport class Breadcrumb extends BaseComponent<BreadcrumbPassThrough> {\n    componentName = 'Breadcrumb';\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n    /**\n     * An array of menuitems.\n     * @group Props\n     */\n    @Input() model: MenuItem[] | undefined;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * MenuItem configuration for the home icon.\n     * @group Props\n     */\n    @Input() home: MenuItem | undefined;\n    /**\n     * Defines a string that labels the home icon for accessibility.\n     * @group Props\n     */\n    @Input() homeAriaLabel: string | undefined;\n    /**\n     * Fired when an item is selected.\n     * @param {BreadcrumbItemClickEvent} event - custom click event.\n     * @group Emits\n     */\n    @Output() onItemClick: EventEmitter<BreadcrumbItemClickEvent> = new EventEmitter<BreadcrumbItemClickEvent>();\n\n    _componentStyle = inject(BreadCrumbStyle);\n\n    router = inject(Router);\n\n    onClick(event: MouseEvent, item: MenuItem) {\n        if (item.disabled) {\n            event.preventDefault();\n            return;\n        }\n\n        if (!item.url && !item.routerLink) {\n            event.preventDefault();\n        }\n\n        if (item.command) {\n            item.command({\n                originalEvent: event,\n                item: item\n            });\n        }\n\n        this.onItemClick.emit({\n            originalEvent: event,\n            item: item\n        });\n    }\n\n    /**\n     * Custom item template.\n     * @group Templates\n     */\n    @ContentChild('item') itemTemplate: TemplateRef<BreadcrumbItemTemplateContext> | undefined;\n\n    /**\n     * Custom separator template.\n     * @group Templates\n     */\n    @ContentChild('separator') separatorTemplate: TemplateRef<void> | undefined;\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n    _separatorTemplate: TemplateRef<void> | undefined;\n\n    _itemTemplate: TemplateRef<BreadcrumbItemTemplateContext> | undefined;\n\n    onAfterContentInit() {\n        this.templates?.forEach((item) => {\n            switch (item.getType()) {\n                case 'separator':\n                    this._separatorTemplate = item.template;\n                    break;\n\n                case 'item':\n                    this._itemTemplate = item.template;\n                    break;\n\n                default:\n                    this._itemTemplate = item.template;\n                    break;\n            }\n        });\n    }\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n    }\n\n    getPTOptions(item: MenuItem, index: number, key: string) {\n        return this.ptm(key, {\n            context: {\n                item,\n                index\n            }\n        });\n    }\n}\n\n@NgModule({\n    imports: [Breadcrumb, SharedModule],\n    exports: [Breadcrumb, SharedModule]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}