ng-devui
Version:
DevUI components based on Angular
128 lines (120 loc) • 25.4 kB
JavaScript
import * as i0 from '@angular/core';
import { Injectable, InjectionToken, EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, Output, forwardRef, NgModule } from '@angular/core';
import * as i1 from '@angular/router';
import { RouterModule } from '@angular/router';
import * as i2 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i3 from 'ng-devui/dropdown';
import { DropDownModule } from 'ng-devui/dropdown';
import * as i4 from 'ng-devui/search';
import { SearchModule } from 'ng-devui/search';
class BreadCrumbService {
constructor(router) {
this.router = router;
}
// 与原生routerLink表现形式一致,navigateByUrl()可直接传入字符串类型的链接,并将链接解析为routerLink的urlTree的形式
navigateTo($event, item) {
// 兼容a标签与不同键的交互形式
if ($event.button !== 0 || $event.ctrlKey || $event.metaKey || $event.shiftKey) {
return;
}
if (typeof item.target === 'string' && item.target !== '_self') {
return;
}
$event.preventDefault();
this.router.navigateByUrl(item.link);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadCrumbService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadCrumbService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadCrumbService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.Router }] });
const BREADCRUMB = new InjectionToken('BreadCrumbComponent');
class BreadCrumbItemComponent {
constructor(breadCrumbComponent, breadCrumbService) {
this.breadCrumbComponent = breadCrumbComponent;
this.breadCrumbService = breadCrumbService;
this.showMenu = false;
this.isSearch = false;
this.toggleEvent = new EventEmitter();
}
ngOnInit() {
this.menuListDisplay = this.menuList;
}
onToggle($event) {
this.isOpen = $event;
this.toggleEvent.emit($event);
}
searchEvent($event) {
if (this.menuList) {
this.menuListDisplay = this.menuList.filter(item => item.name.toLowerCase().includes($event.toLowerCase()));
}
}
navigateTo($event, item) {
this.breadCrumbService.navigateTo($event, item);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadCrumbItemComponent, deps: [{ token: BREADCRUMB }, { token: BreadCrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BreadCrumbItemComponent, selector: "d-breadcrumb-item", inputs: { showMenu: "showMenu", customMenuTemplate: "customMenuTemplate", menuList: "menuList", isSearch: "isSearch" }, outputs: { toggleEvent: "toggleEvent" }, exportAs: ["dBreadcrumbItem"], ngImport: i0, template: "<ng-container *ngIf=\"showMenu; else breadcrumbContentTpl\">\n <span\n class=\"devui-breadcrumb-item-with-menu devui-dropdown-no-border devui-dropdown-origin devui-breadcrumb-dropdown-origin\"\n dDropDown\n dDropDownToggle\n appendToBody\n trigger=\"hover\"\n (toggleEvent)=\"onToggle($event)\"\n [ngClass]=\"{ 'devui-breadcrumb-item-active': isOpen }\"\n >\n <ng-template [ngTemplateOutlet]=\"breadcrumbContentTpl\"></ng-template>\n <i class=\"devui-breadcrumb-down-icon\">\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z\"\n ></path>\n </g>\n </svg>\n </i>\n <div dDropDownMenu class=\"devui-dropdown-menu\">\n <ng-template\n [ngTemplateOutlet]=\"customMenuTemplate ? customMenuTemplate : dropDownMenuTpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: this\n }\"\n >\n </ng-template>\n </div>\n </span>\n</ng-container>\n\n<ng-template #breadcrumbContentTpl>\n <span class=\"devui-breadcrumb-item\">\n <ng-content></ng-content>\n </span>\n</ng-template>\n\n<ng-template #dropDownMenuTpl>\n <div *ngIf=\"isSearch\" class=\"devui-search-container\">\n <d-search [size]=\"'sm'\" (searchFn)=\"searchEvent($event)\" [cssClass]=\"'devui-search-in-dropdown'\"></d-search>\n </div>\n <ul class=\"devui-breadcrumb-dropdown-menu\">\n <li *ngFor=\"let item of menuListDisplay\" title=\"{{ item.name }}\">\n <a\n *ngIf=\"!item.linkType || item.linkType === 'hrefLink'\"\n [href]=\"item.link\"\n rel=\"noopener\"\n [target]=\"item.target ? item.target : '_self'\"\n >{{ item.name }}</a\n >\n <a\n *ngIf=\"item.linkType === 'routerLink'\"\n rel=\"noopener\"\n [target]=\"item.target\"\n [href]=\"item.link\"\n (click)=\"navigateTo($event, item)\"\n >{{ item.name }}</a\n >\n </li>\n </ul>\n</ng-template>\n\n<span class=\"devui-breadcrumb-separator\">\n <ng-template\n [ngTemplateOutlet]=\"breadCrumbComponent.separatorIcon ? breadCrumbComponent.separatorIcon : defaultSeparator\"\n [ngTemplateOutletContext]=\"{\n $implicit: this\n }\"\n >\n </ng-template>\n</span>\n\n<ng-template #defaultSeparator>\n <span class=\"devui-breadcrumb-separator\">/</span>\n</ng-template>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}:host{display:inline-flex;align-items:center}.devui-breadcrumb-font-style,.devui-breadcrumb-separator,.devui-breadcrumb-item ::ng-deep a,.devui-breadcrumb-item{font-size:var(--devui-font-size, 12px);color:var(--devui-aide-text, #595959)}.devui-breadcrumb-item{cursor:auto}.devui-breadcrumb-item ::ng-deep a:hover{color:var(--devui-text, #191919);text-decoration:none}.devui-breadcrumb-item ::ng-deep a{cursor:pointer}.devui-breadcrumb-item ::ng-deep a:focus{text-decoration:none}.devui-breadcrumb-down-icon{vertical-align:middle;display:inline-block;cursor:pointer;width:16px;height:16px;margin-right:-8px;text-align:center;outline:none}.devui-breadcrumb-down-icon svg g path{fill:var(--devui-icon-fill, #595959)}.devui-breadcrumb-item-active{color:var(--devui-text, #191919)}.devui-breadcrumb-item-active ::ng-deep a{color:var(--devui-text, #191919);text-decoration:none}.devui-breadcrumb-item-active svg g path{fill:var(--devui-icon-text, #808080)}.devui-breadcrumb-item-active span{color:var(--devui-text, #191919)}.devui-breadcrumb-separator{margin:0 4px}.devui-breadcrumb-dropdown-menu{padding:8px 0;max-width:200px}.devui-breadcrumb-dropdown-menu li{padding:0 12px;font-size:var(--devui-font-size, 12px);line-height:36px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.devui-breadcrumb-dropdown-menu li a{color:var(--devui-text, #191919);line-height:36px;width:170px;display:inline-block;vertical-align:top}.devui-breadcrumb-dropdown-menu li a:focus{text-decoration:none}.devui-breadcrumb-dropdown-menu li:hover{background:var(--devui-list-item-hover-bg, #f2f2f3)}.devui-breadcrumb-dropdown-menu li:hover a{text-decoration:none}.devui-search-container{max-width:200px}span.devui-breadcrumb-dropdown-origin{min-width:unset;display:inline-flex;padding:0}d-search{width:100%}.devui-breadcrumb-item-with-menu .devui-breadcrumb-item{cursor:pointer}.devui-breadcrumb-item-with-menu:hover svg g path{fill:var(--devui-icon-fill-hover, #191919)}.devui-dropdown-open .devui-breadcrumb-down-icon{transform:rotate(180deg)}.devui-breadcrumb-item ::ng-deep a,.devui-breadcrumb-item ::ng-deep span{transition:color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1));display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:440px;vertical-align:top}.devui-breadcrumb-down-icon{transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1));transform-origin:center}.devui-breadcrumb-down-icon svg g path{transition:fill var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DropDownDirective, selector: "[dDropDown]", inputs: ["isOpen", "disabled", "showAnimation", "trigger", "closeScope", "closeOnMouseLeaveMenu", "autofocusToggleElement"], outputs: ["toggleEvent"], exportAs: ["d-dropdown"] }, { kind: "directive", type: i3.DropDownMenuDirective, selector: "[dDropDownMenu]", exportAs: ["d-dropdown-menu"] }, { kind: "directive", type: i3.DropDownToggleDirective, selector: "[dDropDownToggle]", inputs: ["toggleOnFocus", "autoFocus"], exportAs: ["d-dropdown-toggle"] }, { kind: "component", type: i3.DropDownAppendToBodyComponent, selector: "[dDropDown][appendToBody]", inputs: ["alignOrigin", "appendToBodyDirections", "appendToBodyScrollStrategy"], exportAs: ["d-dropdown-append-to-body"] }, { kind: "component", type: i4.SearchComponent, selector: "d-search", inputs: ["size", "placeholder", "maxLength", "isKeyupSearch", "delay", "disabled", "cssClass", "iconPosition", "noBorder", "autoFocus", "styleType", "showGlowStyle"], outputs: ["searchFn"], exportAs: ["search"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadCrumbItemComponent, decorators: [{
type: Component,
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'd-breadcrumb-item', exportAs: 'dBreadcrumbItem', preserveWhitespaces: false, template: "<ng-container *ngIf=\"showMenu; else breadcrumbContentTpl\">\n <span\n class=\"devui-breadcrumb-item-with-menu devui-dropdown-no-border devui-dropdown-origin devui-breadcrumb-dropdown-origin\"\n dDropDown\n dDropDownToggle\n appendToBody\n trigger=\"hover\"\n (toggleEvent)=\"onToggle($event)\"\n [ngClass]=\"{ 'devui-breadcrumb-item-active': isOpen }\"\n >\n <ng-template [ngTemplateOutlet]=\"breadcrumbContentTpl\"></ng-template>\n <i class=\"devui-breadcrumb-down-icon\">\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z\"\n ></path>\n </g>\n </svg>\n </i>\n <div dDropDownMenu class=\"devui-dropdown-menu\">\n <ng-template\n [ngTemplateOutlet]=\"customMenuTemplate ? customMenuTemplate : dropDownMenuTpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: this\n }\"\n >\n </ng-template>\n </div>\n </span>\n</ng-container>\n\n<ng-template #breadcrumbContentTpl>\n <span class=\"devui-breadcrumb-item\">\n <ng-content></ng-content>\n </span>\n</ng-template>\n\n<ng-template #dropDownMenuTpl>\n <div *ngIf=\"isSearch\" class=\"devui-search-container\">\n <d-search [size]=\"'sm'\" (searchFn)=\"searchEvent($event)\" [cssClass]=\"'devui-search-in-dropdown'\"></d-search>\n </div>\n <ul class=\"devui-breadcrumb-dropdown-menu\">\n <li *ngFor=\"let item of menuListDisplay\" title=\"{{ item.name }}\">\n <a\n *ngIf=\"!item.linkType || item.linkType === 'hrefLink'\"\n [href]=\"item.link\"\n rel=\"noopener\"\n [target]=\"item.target ? item.target : '_self'\"\n >{{ item.name }}</a\n >\n <a\n *ngIf=\"item.linkType === 'routerLink'\"\n rel=\"noopener\"\n [target]=\"item.target\"\n [href]=\"item.link\"\n (click)=\"navigateTo($event, item)\"\n >{{ item.name }}</a\n >\n </li>\n </ul>\n</ng-template>\n\n<span class=\"devui-breadcrumb-separator\">\n <ng-template\n [ngTemplateOutlet]=\"breadCrumbComponent.separatorIcon ? breadCrumbComponent.separatorIcon : defaultSeparator\"\n [ngTemplateOutletContext]=\"{\n $implicit: this\n }\"\n >\n </ng-template>\n</span>\n\n<ng-template #defaultSeparator>\n <span class=\"devui-breadcrumb-separator\">/</span>\n</ng-template>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}:host{display:inline-flex;align-items:center}.devui-breadcrumb-font-style,.devui-breadcrumb-separator,.devui-breadcrumb-item ::ng-deep a,.devui-breadcrumb-item{font-size:var(--devui-font-size, 12px);color:var(--devui-aide-text, #595959)}.devui-breadcrumb-item{cursor:auto}.devui-breadcrumb-item ::ng-deep a:hover{color:var(--devui-text, #191919);text-decoration:none}.devui-breadcrumb-item ::ng-deep a{cursor:pointer}.devui-breadcrumb-item ::ng-deep a:focus{text-decoration:none}.devui-breadcrumb-down-icon{vertical-align:middle;display:inline-block;cursor:pointer;width:16px;height:16px;margin-right:-8px;text-align:center;outline:none}.devui-breadcrumb-down-icon svg g path{fill:var(--devui-icon-fill, #595959)}.devui-breadcrumb-item-active{color:var(--devui-text, #191919)}.devui-breadcrumb-item-active ::ng-deep a{color:var(--devui-text, #191919);text-decoration:none}.devui-breadcrumb-item-active svg g path{fill:var(--devui-icon-text, #808080)}.devui-breadcrumb-item-active span{color:var(--devui-text, #191919)}.devui-breadcrumb-separator{margin:0 4px}.devui-breadcrumb-dropdown-menu{padding:8px 0;max-width:200px}.devui-breadcrumb-dropdown-menu li{padding:0 12px;font-size:var(--devui-font-size, 12px);line-height:36px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.devui-breadcrumb-dropdown-menu li a{color:var(--devui-text, #191919);line-height:36px;width:170px;display:inline-block;vertical-align:top}.devui-breadcrumb-dropdown-menu li a:focus{text-decoration:none}.devui-breadcrumb-dropdown-menu li:hover{background:var(--devui-list-item-hover-bg, #f2f2f3)}.devui-breadcrumb-dropdown-menu li:hover a{text-decoration:none}.devui-search-container{max-width:200px}span.devui-breadcrumb-dropdown-origin{min-width:unset;display:inline-flex;padding:0}d-search{width:100%}.devui-breadcrumb-item-with-menu .devui-breadcrumb-item{cursor:pointer}.devui-breadcrumb-item-with-menu:hover svg g path{fill:var(--devui-icon-fill-hover, #191919)}.devui-dropdown-open .devui-breadcrumb-down-icon{transform:rotate(180deg)}.devui-breadcrumb-item ::ng-deep a,.devui-breadcrumb-item ::ng-deep span{transition:color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1));display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:440px;vertical-align:top}.devui-breadcrumb-down-icon{transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1));transform-origin:center}.devui-breadcrumb-down-icon svg g path{transition:fill var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}\n"] }]
}], ctorParameters: () => [{ type: undefined, decorators: [{
type: Inject,
args: [BREADCRUMB]
}] }, { type: BreadCrumbService }], propDecorators: { showMenu: [{
type: Input
}], customMenuTemplate: [{
type: Input
}], menuList: [{
type: Input
}], isSearch: [{
type: Input
}], toggleEvent: [{
type: Output
}] } });
class BreadCrumbComponent {
constructor(breadCrumbService) {
this.breadCrumbService = breadCrumbService;
this.source = [];
}
navigateTo($event, item) {
this.breadCrumbService.navigateTo($event, item);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: BreadCrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BreadCrumbComponent, selector: "d-breadcrumb", inputs: { separatorIcon: "separatorIcon", source: "source" }, providers: [{
provide: BREADCRUMB,
useExisting: forwardRef(() => BreadCrumbComponent)
}], exportAs: ["dBreadcrumb"], ngImport: i0, template: "<ng-container *ngIf=\"source && source.length\">\n <d-breadcrumb-item\n *ngFor=\"let item of source\"\n [showMenu]=\"item.showMenu\"\n [isSearch]=\"item.isSearch\"\n [menuList]=\"item.menuList\"\n [customMenuTemplate]=\"item.customMenuTemplate\"\n >\n <a\n *ngIf=\"!item.noNavigation && (!item.linkType || item.linkType === 'hrefLink')\"\n rel=\"noopener\"\n [href]=\"item.link\"\n [target]=\"item.target ? item.target : '_self'\"\n >{{ item.title }}</a\n >\n <a\n *ngIf=\"!item.noNavigation && item.linkType === 'routerLink'\"\n rel=\"noopener\"\n [target]=\"item.target\"\n [href]=\"item.link\"\n (click)=\"navigateTo($event, item)\"\n >{{ item.title }}</a\n >\n <span *ngIf=\"item.noNavigation\">{{ item.title }}</span>\n </d-breadcrumb-item>\n</ng-container>\n<ng-container *ngIf=\"!(source && source.length)\">\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;min-height:28px}:host ::ng-deep d-breadcrumb-item:last-child .devui-breadcrumb-item{color:var(--devui-text, #191919)}:host ::ng-deep d-breadcrumb-item:last-child .devui-breadcrumb-item a{color:var(--devui-text, #191919)}:host ::ng-deep d-breadcrumb-item:last-child .devui-breadcrumb-separator{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BreadCrumbItemComponent, selector: "d-breadcrumb-item", inputs: ["showMenu", "customMenuTemplate", "menuList", "isSearch"], outputs: ["toggleEvent"], exportAs: ["dBreadcrumbItem"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadCrumbComponent, decorators: [{
type: Component,
args: [{ selector: 'd-breadcrumb', exportAs: 'dBreadcrumb', preserveWhitespaces: false, providers: [{
provide: BREADCRUMB,
useExisting: forwardRef(() => BreadCrumbComponent)
}], template: "<ng-container *ngIf=\"source && source.length\">\n <d-breadcrumb-item\n *ngFor=\"let item of source\"\n [showMenu]=\"item.showMenu\"\n [isSearch]=\"item.isSearch\"\n [menuList]=\"item.menuList\"\n [customMenuTemplate]=\"item.customMenuTemplate\"\n >\n <a\n *ngIf=\"!item.noNavigation && (!item.linkType || item.linkType === 'hrefLink')\"\n rel=\"noopener\"\n [href]=\"item.link\"\n [target]=\"item.target ? item.target : '_self'\"\n >{{ item.title }}</a\n >\n <a\n *ngIf=\"!item.noNavigation && item.linkType === 'routerLink'\"\n rel=\"noopener\"\n [target]=\"item.target\"\n [href]=\"item.link\"\n (click)=\"navigateTo($event, item)\"\n >{{ item.title }}</a\n >\n <span *ngIf=\"item.noNavigation\">{{ item.title }}</span>\n </d-breadcrumb-item>\n</ng-container>\n<ng-container *ngIf=\"!(source && source.length)\">\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;min-height:28px}:host ::ng-deep d-breadcrumb-item:last-child .devui-breadcrumb-item{color:var(--devui-text, #191919)}:host ::ng-deep d-breadcrumb-item:last-child .devui-breadcrumb-item a{color:var(--devui-text, #191919)}:host ::ng-deep d-breadcrumb-item:last-child .devui-breadcrumb-separator{display:none}\n"] }]
}], ctorParameters: () => [{ type: BreadCrumbService }], propDecorators: { separatorIcon: [{
type: Input
}], source: [{
type: Input
}] } });
class BreadcrumbModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbModule, declarations: [BreadCrumbComponent, BreadCrumbItemComponent], imports: [CommonModule, RouterModule, DropDownModule, SearchModule], exports: [BreadCrumbComponent, BreadCrumbItemComponent] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbModule, providers: [BreadCrumbService], imports: [CommonModule, RouterModule, DropDownModule, SearchModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbModule, decorators: [{
type: NgModule,
args: [{
imports: [CommonModule, RouterModule, DropDownModule, SearchModule],
exports: [BreadCrumbComponent, BreadCrumbItemComponent],
declarations: [BreadCrumbComponent, BreadCrumbItemComponent],
providers: [BreadCrumbService],
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { BREADCRUMB, BreadCrumbComponent, BreadCrumbItemComponent, BreadCrumbService, BreadcrumbModule };
//# sourceMappingURL=ng-devui-breadcrumb.mjs.map