primeng
Version:
PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB
1 lines • 23 kB
Source Map (JSON)
{"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 { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-breadcrumb {\n background: ${dt('breadcrumb.background')};\n padding: ${dt('breadcrumb.padding')};\n overflow-x: auto;\n}\n\n.p-breadcrumb-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: ${dt('breadcrumb.gap')};\n}\n\n.p-breadcrumb-separator {\n display: flex;\n align-items: center;\n color: ${dt('breadcrumb.separator.color')};\n}\n\n.p-breadcrumb-separator .p-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-breadcrumb::-webkit-scrollbar {\n display: none;\n}\n\n.p-breadcrumb-item-link {\n text-decoration: none;\n display: flex;\n align-items: center;\n gap: ${dt('breadcrumb.item.gap')};\n transition: background ${dt('breadcrumb.transition.duration')}, color ${dt('breadcrumb.transition.duration')}, outline-color ${dt('breadcrumb.transition.duration')}, box-shadow ${dt('breadcrumb.transition.duration')};\n border-radius: ${dt('breadcrumb.item.border.radius')};\n outline-color: transparent;\n color: ${dt('breadcrumb.item.color')};\n}\n\n.p-breadcrumb-item-link:focus-visible {\n box-shadow: ${dt('breadcrumb.item.focus.ring.shadow')};\n outline: ${dt('breadcrumb.item.focus.ring.width')} ${dt('breadcrumb.item.focus.ring.style')} ${dt('breadcrumb.item.focus.ring.color')};\n outline-offset: ${dt('breadcrumb.item.focus.ring.offset')};\n}\n\n.p-breadcrumb-item-link:hover .p-breadcrumb-item-label {\n color: ${dt('breadcrumb.item.hover.color')};\n}\n\n.p-breadcrumb-item-label {\n transition: inherit;\n}\n\n.p-breadcrumb-item-icon {\n color: ${dt('breadcrumb.item.icon.color')};\n transition: inherit;\n}\n\n.p-breadcrumb-item-link:hover .p-breadcrumb-item-icon {\n color: ${dt('breadcrumb.item.icon.hover.color')};\n}\n`;\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: ({ instance }) => ['p-breadcrumb-item', { 'p-disabled': instance.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 theme = theme;\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 { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ChevronRightIcon, HomeIcon } from 'primeng/icons';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { BreadcrumbItemClickEvent } from './breadcrumb.interface';\nimport { BreadCrumbStyle } from './style/breadcrumbstyle';\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, TooltipModule, ChevronRightIcon, HomeIcon, SharedModule],\n template: `\n <nav [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-breadcrumb p-component'\" [attr.data-pc-name]=\"'breadcrumb'\" [attr.data-pc-section]=\"'root'\">\n <ol [attr.data-pc-section]=\"'menu'\" class=\"p-breadcrumb-list\">\n <li\n [class]=\"home.styleClass\"\n [attr.id]=\"home.id\"\n [ngClass]=\"{ 'p-breadcrumb-home-item': true, 'p-disabled': home.disabled }\"\n [ngStyle]=\"home.style\"\n *ngIf=\"home && home.visible !== false\"\n pTooltip\n [tooltipOptions]=\"home.tooltipOptions\"\n [attr.data-pc-section]=\"'home'\"\n >\n <a\n [href]=\"home.url ? home.url : null\"\n *ngIf=\"!home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n class=\"p-breadcrumb-item-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n >\n <span *ngIf=\"home.icon\" class=\"p-breadcrumb-item-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home?.style\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-breadcrumb-item-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeLabel\" class=\"p-breadcrumb-item-label\">{{ home.label }}</span>\n <ng-template #htmlHomeLabel><span class=\"p-breadcrumb-item-label\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"home.routerLink\"\n [routerLink]=\"home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n [queryParams]=\"home.queryParams\"\n [routerLinkActiveOptions]=\"home.routerLinkActiveOptions || { exact: false }\"\n class=\"p-breadcrumb-item-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\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 >\n <span *ngIf=\"home.icon\" class=\"p-breadcrumb-item-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iconStyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-breadcrumb-item-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeRouteLabel\" class=\"p-breadcrumb-item-label\">{{ home.label }}</span>\n <ng-template #htmlHomeRouteLabel><span class=\"p-breadcrumb-item-label\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"model && home\" class=\"p-breadcrumb-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate && !_separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate || _separatorTemplate\"></ng-template>\n </li>\n <ng-template ngFor let-menuitem let-end=\"last\" [ngForOf]=\"model\">\n <li\n *ngIf=\"menuitem.visible !== false\"\n [class]=\"menuitem.styleClass\"\n [attr.id]=\"menuitem.id\"\n [ngStyle]=\"menuitem.style\"\n [ngClass]=\"{ 'p-breadcrumb-item': true, 'p-disabled': menuitem.disabled }\"\n pTooltip\n [tooltipOptions]=\"menuitem.tooltipOptions\"\n [attr.data-pc-section]=\"'menuitem'\"\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=\"p-breadcrumb-item-link\"\n (click)=\"onClick($event, menuitem)\"\n [target]=\"menuitem?.target\"\n [attr.title]=\"menuitem?.title\"\n [attr.tabindex]=\"menuitem?.disabled ? null : '0'\"\n >\n <ng-container *ngIf=\"!itemTemplate && !_itemTemplate\">\n <span *ngIf=\"menuitem?.icon\" class=\"p-breadcrumb-item-icon\" [ngClass]=\"menuitem?.icon\" [ngStyle]=\"menuitem?.iconStyle\"></span>\n <ng-container *ngIf=\"menuitem?.label\">\n <span *ngIf=\"menuitem?.escape !== false; else htmlLabel\" class=\"p-breadcrumb-item-label\">{{ menuitem?.label }}</span>\n <ng-template #htmlLabel><span class=\"p-breadcrumb-item-label\" [innerHTML]=\"menuitem?.label\"></span></ng-template>\n </ng-container>\n </ng-container>\n </a>\n <a\n *ngIf=\"menuitem?.routerLink\"\n [routerLink]=\"menuitem?.routerLink\"\n [queryParams]=\"menuitem?.queryParams\"\n [routerLinkActiveOptions]=\"menuitem?.routerLinkActiveOptions || { exact: false }\"\n class=\"p-breadcrumb-item-link\"\n (click)=\"onClick($event, menuitem)\"\n [target]=\"menuitem?.target\"\n [attr.title]=\"menuitem?.title\"\n [attr.tabindex]=\"menuitem?.disabled ? null : '0'\"\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 >\n <span *ngIf=\"menuitem?.icon\" class=\"p-breadcrumb-item-icon\" [ngClass]=\"menuitem?.icon\" [ngStyle]=\"menuitem?.iconStyle\"></span>\n <ng-container *ngIf=\"menuitem?.label\">\n <span *ngIf=\"menuitem?.escape !== false; else htmlRouteLabel\" class=\"p-breadcrumb-item-label\">{{ menuitem?.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-breadcrumb-item-label\" [innerHTML]=\"menuitem?.label\"></span></ng-template>\n </ng-container>\n </a>\n }\n </li>\n <li *ngIf=\"!end && menuitem.visible !== false\" class=\"p-breadcrumb-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate && !_separatorTemplate\" />\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]\n})\nexport class Breadcrumb extends BaseComponent implements AfterContentInit {\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 constructor(private router: Router) {\n super();\n }\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 * Defines template option for item.\n * @group Templates\n */\n @ContentChild('item') itemTemplate: TemplateRef<any> | undefined;\n\n /**\n * Defines template option for separator.\n * @group Templates\n */\n @ContentChild('separator') separatorTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _separatorTemplate: TemplateRef<any> | undefined;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\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\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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"}