UNPKG

carbon-components-angular

Version:
89 lines 8.66 kB
import { Component, HostBinding, Input, Output, EventEmitter, Optional } from "@angular/core"; import * as i0 from "@angular/core"; import * as i1 from "@angular/platform-browser"; import * as i2 from "@angular/router"; import * as i3 from "@angular/common"; export class BreadcrumbItemComponent { constructor(domSanitizer, router) { this.domSanitizer = domSanitizer; this.router = router; /** * Emits the navigation status promise when the link is activated */ this.navigation = new EventEmitter(); this.skeleton = false; this.ariaCurrent = "page"; this.current = false; this.itemClass = true; } set href(v) { this._href = v; } get href() { return this.domSanitizer.bypassSecurityTrustUrl(this._href); } useTemplate() { return this.skeleton || this._href || this.route; } navigate(event) { if (this.router && this.route) { event.preventDefault(); const status = this.router.navigate(this.route, this.routeExtras); this.navigation.emit(status); } } } BreadcrumbItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbItemComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component }); BreadcrumbItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BreadcrumbItemComponent, selector: "cds-breadcrumb-item, ibm-breadcrumb-item", inputs: { href: "href", route: "route", routeExtras: "routeExtras", skeleton: "skeleton", ariaCurrent: "ariaCurrent", current: "current" }, outputs: { navigation: "navigation" }, host: { properties: { "class.cds--breadcrumb-item--current": "this.current", "class.cds--breadcrumb-item": "this.itemClass" } }, ngImport: i0, template: ` <a class="cds--link" [href]="(skeleton ? '/#' : href)" (click)="navigate($event)" [attr.aria-current]="(current ? ariaCurrent : null)" *ngIf="useTemplate(); else content"> <ng-container *ngTemplateOutlet="content"></ng-container> </a> <ng-template #content> <ng-content></ng-content> </ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadcrumbItemComponent, decorators: [{ type: Component, args: [{ selector: "cds-breadcrumb-item, ibm-breadcrumb-item", template: ` <a class="cds--link" [href]="(skeleton ? '/#' : href)" (click)="navigate($event)" [attr.aria-current]="(current ? ariaCurrent : null)" *ngIf="useTemplate(); else content"> <ng-container *ngTemplateOutlet="content"></ng-container> </a> <ng-template #content> <ng-content></ng-content> </ng-template>` }] }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i2.Router, decorators: [{ type: Optional }] }]; }, propDecorators: { href: [{ type: Input }], route: [{ type: Input }], routeExtras: [{ type: Input }], navigation: [{ type: Output }], skeleton: [{ type: Input }], ariaCurrent: [{ type: Input }], current: [{ type: HostBinding, args: ["class.cds--breadcrumb-item--current"] }, { type: Input }], itemClass: [{ type: HostBinding, args: ["class.cds--breadcrumb-item"] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osUUFBUSxFQUNSLE1BQU0sZUFBZSxDQUFDOzs7OztBQW1CdkIsTUFBTSxPQUFPLHVCQUF1QjtJQW9DbkMsWUFBc0IsWUFBMEIsRUFBd0IsTUFBYztRQUFoRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUF3QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZnRGOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRW5ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFFK0IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVsQyxjQUFTLEdBQUcsSUFBSSxDQUFDO0lBSThCLENBQUM7SUFuQzNGLElBQWEsSUFBSSxDQUFDLENBQVM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFXLENBQUM7SUFDdkUsQ0FBQztJQStCRCxXQUFXO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQUs7UUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM5QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7SUFDRixDQUFDOztvSEFoRFcsdUJBQXVCO3dHQUF2Qix1QkFBdUIsb1lBYnpCOzs7Ozs7Ozs7OztnQkFXSzsyRkFFSCx1QkFBdUI7a0JBZm5DLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsUUFBUSxFQUFFOzs7Ozs7Ozs7OztnQkFXSztpQkFDZjs7MEJBcUNtRCxRQUFROzRDQW5DOUMsSUFBSTtzQkFBaEIsS0FBSztnQkFZRyxLQUFLO3NCQUFiLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFdUQsT0FBTztzQkFBbkUsV0FBVzt1QkFBQyxxQ0FBcUM7O3NCQUFHLEtBQUs7Z0JBRWYsU0FBUztzQkFBbkQsV0FBVzt1QkFBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdEhvc3RCaW5kaW5nLFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRFdmVudEVtaXR0ZXIsXG5cdE9wdGlvbmFsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLWJyZWFkY3J1bWItaXRlbSwgaWJtLWJyZWFkY3J1bWItaXRlbVwiLFxuXHR0ZW1wbGF0ZTogYFxuXHQ8YVxuXHRcdGNsYXNzPVwiY2RzLS1saW5rXCJcblx0XHRbaHJlZl09XCIoc2tlbGV0b24gPyAnLyMnIDogaHJlZilcIlxuXHRcdChjbGljayk9XCJuYXZpZ2F0ZSgkZXZlbnQpXCJcblx0XHRbYXR0ci5hcmlhLWN1cnJlbnRdPVwiKGN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGwpXCJcblx0XHQqbmdJZj1cInVzZVRlbXBsYXRlKCk7IGVsc2UgY29udGVudFwiPlxuXHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG5cdDwvYT5cblx0PG5nLXRlbXBsYXRlICNjb250ZW50PlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9uZy10ZW1wbGF0ZT5gXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50IHtcblx0QElucHV0KCkgc2V0IGhyZWYodjogc3RyaW5nKSB7XG5cdFx0dGhpcy5faHJlZiA9IHY7XG5cdH1cblxuXHRnZXQgaHJlZigpIHtcblx0XHRyZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh0aGlzLl9ocmVmKSBhcyBzdHJpbmc7XG5cdH1cblxuXHQvKipcblx0ICogQXJyYXkgb2YgY29tbWFuZHMgdG8gc2VuZCB0byB0aGUgcm91dGVyIHdoZW4gdGhlIGxpbmsgaXMgYWN0aXZhdGVkXG5cdCAqIFNlZTogaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9yb3V0ZXIvUm91dGVyI25hdmlnYXRlXG5cdCAqL1xuXHRASW5wdXQoKSByb3V0ZTogYW55W107XG5cblx0LyoqXG5cdCAqIFJvdXRlciBvcHRpb25zLiBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYHJvdXRlYFxuXHQgKiBTZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvcm91dGVyL1JvdXRlciNuYXZpZ2F0ZVxuXHQgKi9cblx0QElucHV0KCkgcm91dGVFeHRyYXM6IGFueTtcblxuXHQvKipcblx0ICogRW1pdHMgdGhlIG5hdmlnYXRpb24gc3RhdHVzIHByb21pc2Ugd2hlbiB0aGUgbGluayBpcyBhY3RpdmF0ZWRcblx0ICovXG5cdEBPdXRwdXQoKSBuYXZpZ2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9taXNlPGJvb2xlYW4+PigpO1xuXG5cdEBJbnB1dCgpIHNrZWxldG9uID0gZmFsc2U7XG5cblx0QElucHV0KCkgYXJpYUN1cnJlbnQgPSBcInBhZ2VcIjtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWJyZWFkY3J1bWItaXRlbS0tY3VycmVudFwiKSBASW5wdXQoKSBjdXJyZW50ID0gZmFsc2U7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1icmVhZGNydW1iLWl0ZW1cIikgaXRlbUNsYXNzID0gdHJ1ZTtcblxuXHRwcm90ZWN0ZWQgX2hyZWY6IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIEBPcHRpb25hbCgpIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikgeyB9XG5cblx0dXNlVGVtcGxhdGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuc2tlbGV0b24gfHwgdGhpcy5faHJlZiB8fCB0aGlzLnJvdXRlO1xuXHR9XG5cblx0bmF2aWdhdGUoZXZlbnQpIHtcblx0XHRpZiAodGhpcy5yb3V0ZXIgJiYgdGhpcy5yb3V0ZSkge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGNvbnN0IHN0YXR1cyA9IHRoaXMucm91dGVyLm5hdmlnYXRlKHRoaXMucm91dGUsIHRoaXMucm91dGVFeHRyYXMpO1xuXHRcdFx0dGhpcy5uYXZpZ2F0aW9uLmVtaXQoc3RhdHVzKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==