UNPKG

@kushki/ng-suka

Version:

<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>

102 lines 10.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ViewEncapsulation, Optional } from '@angular/core'; import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; import { distinctUntilChanged, filter, map } from 'rxjs/operators'; var Breadcrumb = /** @class */ (function () { // Build your breadcrumb starting with the root route of your current activated route function Breadcrumb(activatedRoute, router) { this.activatedRoute = activatedRoute; this.router = router; } /** * @return {?} */ Breadcrumb.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; if (this.router) { this.breadcrumbs$ = this.router.events.pipe(filter((/** * @param {?} event * @return {?} */ function (event) { return event instanceof NavigationEnd; })), distinctUntilChanged(), map((/** * @param {?} event * @return {?} */ function (event) { return _this.buildBreadcrumb(_this.activatedRoute.root); }))); } }; /** * @param {?} route * @param {?=} url * @param {?=} breadcrumbs * @return {?} */ Breadcrumb.prototype.buildBreadcrumb = /** * @param {?} route * @param {?=} url * @param {?=} breadcrumbs * @return {?} */ function (route, url, breadcrumbs) { if (url === void 0) { url = ''; } if (breadcrumbs === void 0) { breadcrumbs = []; } // If no routeConfig is avalailable we are on the root path /** @type {?} */ var label = route.routeConfig ? route.routeConfig.data['breadcrumb'] : 'Inicio'; /** @type {?} */ var path = route.routeConfig ? route.routeConfig.path : ''; // In the routeConfig the complete path is not available, // so we rebuild it each time /** @type {?} */ var nextUrl = "" + url + path + "/"; /** @type {?} */ var breadcrumb = { label: label, url: nextUrl, }; /** @type {?} */ var newBreadcrumbs = tslib_1.__spread(breadcrumbs, [breadcrumb]); if (route.firstChild) { // If we are not on our current path yet, // there will be more children to look after, to build our breadcumb return this.buildBreadcrumb(route.firstChild, nextUrl, newBreadcrumbs); } return newBreadcrumbs; }; Breadcrumb.decorators = [ { type: Component, args: [{ selector: 'suka-breadcrumb', template: "\n <ol class=\"breadcrumb\" *ngIf=\"router\">\n <li\n *ngFor=\"let breadcrumb of breadcrumbs$ | async; last as isLast;\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{'active': isLast}\" aria-current=\"page\"\n >\n <a\n *ngIf=\"!isLast; else lastRoute\"\n [routerLink]=\"[breadcrumb.url]\"\n routerLinkActive=\"active\"\n >\n <suka-icon icon=\"home\" *ngIf=\"breadcrumb.label === 'Inicio'\"></suka-icon> {{ breadcrumb.label }}\n <suka-icon icon=\"chevron-right\"></suka-icon>\n </a>\n <ng-template #lastRoute>\n <suka-icon icon=\"home\" *ngIf=\"breadcrumb.label === 'Inicio'\"></suka-icon> {{ breadcrumb.label }}\n </ng-template>\n </li>\n </ol>\n ", encapsulation: ViewEncapsulation.None }] } ]; /** @nocollapse */ Breadcrumb.ctorParameters = function () { return [ { type: ActivatedRoute, decorators: [{ type: Optional }] }, { type: Router, decorators: [{ type: Optional }] } ]; }; return Breadcrumb; }()); export { Breadcrumb }; if (false) { /** * @ignore * @type {?} */ Breadcrumb.prototype.breadcrumbs$; /** * @type {?} * @private */ Breadcrumb.prototype.activatedRoute; /** @type {?} */ Breadcrumb.prototype.router; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkU7SUErQkUscUZBQXFGO0lBRXJGLG9CQUNzQixjQUE4QixFQUMvQixNQUFjO1FBRGIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDL0IsQ0FBQzs7OztJQUVMLDZCQUFROzs7SUFBUjtRQUFBLGlCQVFDO1FBUEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3pDLE1BQU07Ozs7WUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssWUFBWSxhQUFhLEVBQTlCLENBQThCLEVBQUMsRUFDL0Msb0JBQW9CLEVBQUUsRUFDdEIsR0FBRzs7OztZQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSSxDQUFDLGVBQWUsQ0FBQyxLQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUE5QyxDQUE4QyxFQUFDLENBQzdELENBQUM7U0FDSDtJQUNILENBQUM7Ozs7Ozs7SUFFRCxvQ0FBZTs7Ozs7O0lBQWYsVUFDRSxLQUFxQixFQUNyQixHQUFnQixFQUNoQixXQUFvQztRQURwQyxvQkFBQSxFQUFBLFFBQWdCO1FBQ2hCLDRCQUFBLEVBQUEsZ0JBQW9DOzs7WUFHOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFROztZQUMzRSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Ozs7WUFHdEQsT0FBTyxHQUFHLEtBQUcsR0FBRyxHQUFHLElBQUksTUFBRzs7WUFDMUIsVUFBVSxHQUFHO1lBQ2pCLEtBQUssT0FBQTtZQUNMLEdBQUcsRUFBRSxPQUFPO1NBQ2I7O1lBQ0ssY0FBYyxvQkFBTyxXQUFXLEdBQUUsVUFBVSxFQUFDO1FBQ25ELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQix5Q0FBeUM7WUFDekMsb0VBQW9FO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztTQUN4RTtRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7O2dCQXRFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLHF3QkFvQlQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzs7O2dCQTdCUSxjQUFjLHVCQXVDbEIsUUFBUTtnQkF2QzJCLE1BQU0sdUJBd0N6QyxRQUFROztJQW9DYixpQkFBQztDQUFBLEFBdkVELElBdUVDO1NBOUNZLFVBQVU7Ozs7OztJQUlyQixrQ0FBd0M7Ozs7O0lBS3RDLG9DQUFrRDs7SUFDbEQsNEJBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJQnJlYWRjcnVtYiB9IGZyb20gJy4vYnJlYWRjcnVtYi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdWthLWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxvbCBjbGFzcz1cImJyZWFkY3J1bWJcIiAqbmdJZj1cInJvdXRlclwiPlxuICAgICAgPGxpXG4gICAgICAqbmdGb3I9XCJsZXQgYnJlYWRjcnVtYiBvZiBicmVhZGNydW1icyQgfCBhc3luYzsgbGFzdCBhcyBpc0xhc3Q7XCJcbiAgICAgIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogaXNMYXN0fVwiIGFyaWEtY3VycmVudD1cInBhZ2VcIlxuICAgICAgPlxuICAgICAgICA8YVxuICAgICAgICAgICpuZ0lmPVwiIWlzTGFzdDsgZWxzZSBsYXN0Um91dGVcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlticmVhZGNydW1iLnVybF1cIlxuICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHN1a2EtaWNvbiBpY29uPVwiaG9tZVwiICpuZ0lmPVwiYnJlYWRjcnVtYi5sYWJlbCA9PT0gJ0luaWNpbydcIj48L3N1a2EtaWNvbj4ge3sgYnJlYWRjcnVtYi5sYWJlbCB9fVxuICAgICAgICAgIDxzdWthLWljb24gaWNvbj1cImNoZXZyb24tcmlnaHRcIj48L3N1a2EtaWNvbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xhc3RSb3V0ZT5cbiAgICAgICAgICA8c3VrYS1pY29uIGljb249XCJob21lXCIgKm5nSWY9XCJicmVhZGNydW1iLmxhYmVsID09PSAnSW5pY2lvJ1wiPjwvc3VrYS1pY29uPiB7eyBicmVhZGNydW1iLmxhYmVsIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2xpPlxuICAgIDwvb2w+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBicmVhZGNydW1icyQ6IE9ic2VydmFibGU8SUJyZWFkY3J1bWJbXT47XG5cbiAgLy8gQnVpbGQgeW91ciBicmVhZGNydW1iIHN0YXJ0aW5nIHdpdGggdGhlIHJvb3Qgcm91dGUgb2YgeW91ciBjdXJyZW50IGFjdGl2YXRlZCByb3V0ZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5yb3V0ZXIpIHtcbiAgICAgIHRoaXMuYnJlYWRjcnVtYnMkID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBtYXAoZXZlbnQgPT4gdGhpcy5idWlsZEJyZWFkY3J1bWIodGhpcy5hY3RpdmF0ZWRSb3V0ZS5yb290KSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYnVpbGRCcmVhZGNydW1iKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICB1cmw6IHN0cmluZyA9ICcnLFxuICAgIGJyZWFkY3J1bWJzOiBBcnJheTxJQnJlYWRjcnVtYj4gPSBbXVxuICApOiBBcnJheTxJQnJlYWRjcnVtYj4ge1xuICAgIC8vIElmIG5vIHJvdXRlQ29uZmlnIGlzIGF2YWxhaWxhYmxlIHdlIGFyZSBvbiB0aGUgcm9vdCBwYXRoXG4gICAgY29uc3QgbGFiZWwgPSByb3V0ZS5yb3V0ZUNvbmZpZyA/IHJvdXRlLnJvdXRlQ29uZmlnLmRhdGFbJ2JyZWFkY3J1bWInXSA6ICdJbmljaW8nO1xuICAgIGNvbnN0IHBhdGggPSByb3V0ZS5yb3V0ZUNvbmZpZyA/IHJvdXRlLnJvdXRlQ29uZmlnLnBhdGggOiAnJztcbiAgICAvLyBJbiB0aGUgcm91dGVDb25maWcgdGhlIGNvbXBsZXRlIHBhdGggaXMgbm90IGF2YWlsYWJsZSxcbiAgICAvLyBzbyB3ZSByZWJ1aWxkIGl0IGVhY2ggdGltZVxuICAgIGNvbnN0IG5leHRVcmwgPSBgJHt1cmx9JHtwYXRofS9gO1xuICAgIGNvbnN0IGJyZWFkY3J1bWIgPSB7XG4gICAgICBsYWJlbCxcbiAgICAgIHVybDogbmV4dFVybCxcbiAgICB9O1xuICAgIGNvbnN0IG5ld0JyZWFkY3J1bWJzID0gWy4uLmJyZWFkY3J1bWJzLCBicmVhZGNydW1iXTtcbiAgICBpZiAocm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgLy8gSWYgd2UgYXJlIG5vdCBvbiBvdXIgY3VycmVudCBwYXRoIHlldCxcbiAgICAgIC8vIHRoZXJlIHdpbGwgYmUgbW9yZSBjaGlsZHJlbiB0byBsb29rIGFmdGVyLCB0byBidWlsZCBvdXIgYnJlYWRjdW1iXG4gICAgICByZXR1cm4gdGhpcy5idWlsZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgbmV4dFVybCwgbmV3QnJlYWRjcnVtYnMpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3QnJlYWRjcnVtYnM7XG4gIH1cbn1cbiJdfQ==