primeng
Version:
PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,
1 lines • 29.3 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 { style as breadcrumb_style } from '@primeuix/styles/breadcrumb';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n${breadcrumb_style}\n\n/* For PrimeNG */\np-breadcrumb {\n max-width: 100%;\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: ({ 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 { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, inject, InjectionToken, input, NgModule, output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { RouterLink, RouterLinkActive, RouterModule } from '@angular/router';\nimport { MenuItem, SharedModule } from 'primeng/api';\nimport { Badge } from 'primeng/badge';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport { Home as HomeIcon } from '@primeicons/angular/home';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { BreadcrumbItemClickEvent, BreadcrumbItemTemplateContext, BreadcrumbPassThrough } from 'primeng/types/breadcrumb';\nimport type { CSSProperties } from 'primeng/types/shared';\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: [NgTemplateOutlet, 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 @if (showHome()) {\n @let homeItem = home()!;\n <li [attr.id]=\"homeItem.id\" [class]=\"cn(cx('homeItem'), homeItem.styleClass)\" [style]=\"homeItem.style\" pTooltip [tooltipOptions]=\"homeItem.tooltipOptions\" [pBind]=\"ptm('homeItem')\" [unstyled]=\"unstyled()\">\n @if (itemTemplate()) {\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: homeContext()\"></ng-container>\n } @else {\n @if (!homeItem.routerLink) {\n <a\n [href]=\"homeHref()\"\n [attr.aria-label]=\"homeAriaLabel()\"\n [class]=\"cn(cx('itemLink'), homeItem.linkClass)\"\n [style]=\"homeItem.linkStyle\"\n (click)=\"onClick($event, homeItem)\"\n [target]=\"homeItem.target\"\n [attr.title]=\"homeItem.title\"\n [attr.tabindex]=\"homeTabindex()\"\n [attr.data-automationid]=\"homeItem.automationId\"\n [pBind]=\"ptm('itemLink')\"\n >\n @if (homeItem.icon) {\n <span [class]=\"cn(cx('itemIcon'), homeItem.icon, homeItem.iconClass)\" [style]=\"homeItem.iconStyle\" [pBind]=\"ptm('itemIcon')\"></span>\n } @else {\n <svg data-p-icon=\"home\" [class]=\"cx('itemIcon')\" [pBind]=\"ptm('itemIcon')\" />\n }\n @if (homeItem.label) {\n @if (homeItem.escape !== false) {\n <span [class]=\"cn(cx('itemLabel'), homeItem.labelClass)\" [style]=\"homeItem.labelStyle\" [pBind]=\"ptm('itemLabel')\">{{ homeItem.label }}</span>\n } @else {\n <span [class]=\"cn(cx('itemLabel'), homeItem.labelClass)\" [style]=\"homeItem.labelStyle\" [innerHTML]=\"homeItem.label\" [pBind]=\"ptm('itemLabel')\"></span>\n }\n }\n @if (homeItem.badge) {\n <p-badge [class]=\"homeItem.badgeStyleClass\" [value]=\"homeItem.badge\" [pt]=\"ptm('pcBadge')\" [unstyled]=\"unstyled()\" />\n }\n </a>\n } @else {\n <a\n [routerLink]=\"homeItem.routerLink\"\n routerLinkActive=\"p-menuitem-link-active\"\n [attr.aria-label]=\"homeAriaLabel()\"\n [queryParams]=\"homeItem.queryParams\"\n [routerLinkActiveOptions]=\"getRouterLinkActiveOptions(homeItem)\"\n [class]=\"cn(cx('itemLink'), homeItem.linkClass)\"\n [style]=\"homeItem.linkStyle\"\n (click)=\"onClick($event, homeItem)\"\n [target]=\"homeItem.target\"\n [attr.title]=\"homeItem.title\"\n [attr.tabindex]=\"homeTabindex()\"\n [attr.data-automationid]=\"homeItem.automationId\"\n [fragment]=\"homeItem.fragment\"\n [queryParamsHandling]=\"homeItem.queryParamsHandling\"\n [preserveFragment]=\"homeItem.preserveFragment\"\n [skipLocationChange]=\"homeItem.skipLocationChange\"\n [replaceUrl]=\"homeItem.replaceUrl\"\n [state]=\"homeItem.state\"\n [pBind]=\"ptm('itemLink')\"\n >\n @if (homeItem.icon) {\n <span [class]=\"cn(cx('itemIcon'), homeItem.icon, homeItem.iconClass)\" [style]=\"homeItem.iconStyle\" [pBind]=\"ptm('itemIcon')\"></span>\n } @else {\n <svg data-p-icon=\"home\" [class]=\"cx('itemIcon')\" [pBind]=\"ptm('itemIcon')\" />\n }\n @if (homeItem.label) {\n @if (homeItem.escape !== false) {\n <span [class]=\"cn(cx('itemLabel'), homeItem.labelClass)\" [style]=\"homeItem.labelStyle\" [pBind]=\"ptm('itemLabel')\">{{ homeItem.label }}</span>\n } @else {\n <span [class]=\"cn(cx('itemLabel'), homeItem.labelClass)\" [style]=\"homeItem.labelStyle\" [innerHTML]=\"homeItem.label\" [pBind]=\"ptm('itemLabel')\"></span>\n }\n }\n @if (homeItem.badge) {\n <p-badge [class]=\"homeItem.badgeStyleClass\" [value]=\"homeItem.badge\" [pt]=\"ptm('pcBadge')\" [unstyled]=\"unstyled()\" />\n }\n </a>\n }\n }\n </li>\n }\n @if (showSeparator()) {\n <li [class]=\"cx('separator')\" [pBind]=\"ptm('separator')\">\n @if (!separatorTemplate()) {\n <svg data-p-icon=\"chevron-right\" [pBind]=\"ptm('separatorIcon')\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"separatorTemplate()\"></ng-container>\n }\n </li>\n }\n @for (menuitem of model(); track menuitem.id || $index; let end = $last, i = $index) {\n @if (menuitem.visible !== false) {\n <li\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()) {\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: menuitem }\"></ng-container>\n } @else {\n @if (!menuitem.routerLink) {\n <a\n [attr.href]=\"getItemHref(menuitem)\"\n [class]=\"cn(cx('itemLink'), menuitem.linkClass)\"\n [style]=\"menuitem.linkStyle\"\n (click)=\"onClick($event, menuitem)\"\n [target]=\"menuitem.target\"\n [attr.title]=\"menuitem.title\"\n [attr.tabindex]=\"getItemTabindex(menuitem)\"\n [attr.data-automationid]=\"menuitem.automationId\"\n [pBind]=\"getPTOptions(menuitem, i, 'itemLink')\"\n >\n @if (menuitem.icon) {\n <span [class]=\"cn(cx('itemIcon'), menuitem.icon, menuitem.iconClass)\" [style]=\"menuitem.iconStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemIcon')\"></span>\n }\n @if (menuitem.label) {\n @if (menuitem.escape !== false) {\n <span [class]=\"cn(cx('itemLabel'), menuitem.labelClass)\" [style]=\"menuitem.labelStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\">{{ menuitem.label }}</span>\n } @else {\n <span [class]=\"cn(cx('itemLabel'), menuitem.labelClass)\" [style]=\"menuitem.labelStyle\" [innerHTML]=\"menuitem.label\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\"></span>\n }\n }\n @if (menuitem.badge) {\n <p-badge [class]=\"menuitem.badgeStyleClass\" [value]=\"menuitem.badge\" [pt]=\"getPTOptions(menuitem, i, 'pcBadge')\" [unstyled]=\"unstyled()\" />\n }\n </a>\n } @else {\n <a\n [routerLink]=\"menuitem.routerLink\"\n routerLinkActive=\"p-menuitem-link-active\"\n [queryParams]=\"menuitem.queryParams\"\n [routerLinkActiveOptions]=\"getRouterLinkActiveOptions(menuitem)\"\n [class]=\"cn(cx('itemLink'), menuitem.linkClass)\"\n [style]=\"menuitem.linkStyle\"\n (click)=\"onClick($event, menuitem)\"\n [target]=\"menuitem.target\"\n [attr.title]=\"menuitem.title\"\n [attr.tabindex]=\"getItemTabindex(menuitem)\"\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 @if (menuitem.icon) {\n <span [class]=\"cn(cx('itemIcon'), menuitem.icon, menuitem.iconClass)\" [style]=\"menuitem.iconStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemIcon')\"></span>\n }\n @if (menuitem.label) {\n @if (menuitem.escape !== false) {\n <span [class]=\"cn(cx('itemLabel'), menuitem.labelClass)\" [style]=\"menuitem.labelStyle\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\">{{ menuitem.label }}</span>\n } @else {\n <span [class]=\"cn(cx('itemLabel'), menuitem.labelClass)\" [style]=\"menuitem.labelStyle\" [innerHTML]=\"menuitem.label\" [pBind]=\"getPTOptions(menuitem, i, 'itemLabel')\"></span>\n }\n }\n @if (menuitem.badge) {\n <p-badge [class]=\"menuitem.badgeStyleClass\" [value]=\"menuitem.badge\" [pt]=\"getPTOptions(menuitem, i, 'pcBadge')\" [unstyled]=\"unstyled()\" />\n }\n </a>\n }\n }\n </li>\n @if (!end) {\n <li [class]=\"cx('separator')\" [pBind]=\"ptm('separator')\">\n @if (!separatorTemplate()) {\n <svg data-p-icon=\"chevron-right\" [pBind]=\"ptm('separatorIcon')\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"separatorTemplate()\"></ng-container>\n }\n </li>\n }\n }\n }\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 /**\n * An array of menuitems.\n * @group Props\n */\n model = input<MenuItem[]>();\n\n /**\n * Inline style of the component.\n * @group Props\n */\n style = input<CSSProperties>();\n\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n\n /**\n * MenuItem configuration for the home icon.\n * @group Props\n */\n home = input<MenuItem>();\n\n /**\n * Defines a string that labels the home icon for accessibility.\n * @group Props\n */\n homeAriaLabel = input<string>();\n\n /**\n * Fired when an item is selected.\n * @param {BreadcrumbItemClickEvent} event - custom click event.\n * @group Emits\n */\n onItemClick = output<BreadcrumbItemClickEvent>();\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<BreadcrumbItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom separator template.\n * @group Templates\n */\n separatorTemplate = contentChild<TemplateRef<void>>('separator', { descendants: false });\n\n showHome = computed(() => this.home() && this.home()!.visible !== false);\n\n homeContext = computed<BreadcrumbItemTemplateContext>(() => ({ $implicit: this.home()! }));\n\n homeHref = computed(() => this.home()?.url ?? null);\n\n homeTabindex = computed(() => (this.home()?.disabled ? null : this.home()?.tabindex || '0'));\n\n showSeparator = computed(() => this.model() && this.home());\n\n _componentStyle = inject(BreadCrumbStyle);\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 onAfterViewChecked() {\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 getItemHref(item: MenuItem) {\n return item.url ?? null;\n }\n\n getItemTabindex(item: MenuItem) {\n return item.disabled ? null : item.tabindex || '0';\n }\n\n getRouterLinkActiveOptions(item: MenuItem) {\n return item.routerLinkActiveOptions || { exact: false };\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":["breadcrumb_style","ChevronRightIcon","HomeIcon"],"mappings":"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"}