ng-hub-ui-breadcrumbs 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/fesm2022/ng-hub-ui-breadcrumbs.mjs +15 -15
- package/fesm2022/ng-hub-ui-breadcrumbs.mjs.map +1 -1
- package/ng-hub-ui-breadcrumbs-1.0.3.tgz +0 -0
- package/package.json +1 -3
- package/esm2022/lib/components/hub-breadcrumbs/hub-breadcrumbs.component.mjs +0 -25
- package/esm2022/lib/directives/hub-breadcrumb-item.directive.mjs +0 -17
- package/esm2022/lib/hub-breadcrumbs.module.mjs +0 -18
- package/esm2022/lib/services/hub-breadcrumbs.service.mjs +0 -72
- package/esm2022/lib/types/breadcrumb-item.mjs +0 -2
- package/esm2022/lib/types/breadcrumb-template-context.mjs +0 -2
- package/esm2022/ng-hub-ui-breadcrumbs.mjs +0 -5
- package/esm2022/public-api.mjs +0 -8
- package/ng-hub-ui-breadcrumbs-1.0.2.tgz +0 -0
package/README.md
CHANGED
|
@@ -27,8 +27,8 @@ You can use this component in two ways:
|
|
|
27
27
|
Import the required artifacts in your component:
|
|
28
28
|
|
|
29
29
|
```typescript
|
|
30
|
-
import { HubBreadcrumbComponent } from '
|
|
31
|
-
import { HubBreadcrumbItemDirective } from '
|
|
30
|
+
import { HubBreadcrumbComponent } from 'ng-hub-ui-breadcrumbs';
|
|
31
|
+
import { HubBreadcrumbItemDirective } from 'ng-hub-ui-breadcrumbs';
|
|
32
32
|
|
|
33
33
|
@Component({
|
|
34
34
|
// ...
|
|
@@ -41,7 +41,7 @@ import { HubBreadcrumbItemDirective } from '@hub/breadcrumb';
|
|
|
41
41
|
If you prefer using NgModules, import the HubBreadcrumbModule:
|
|
42
42
|
|
|
43
43
|
```typescript
|
|
44
|
-
import { HubBreadcrumbModule } from '
|
|
44
|
+
import { HubBreadcrumbModule } from 'ng-hub-ui-breadcrumbs';
|
|
45
45
|
|
|
46
46
|
@NgModule({
|
|
47
47
|
imports: [HubBreadcrumbModule]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, TemplateRef, Directive, Injectable, Component, ContentChild, NgModule } from '@angular/core';
|
|
3
|
-
import { AsyncPipe, NgTemplateOutlet
|
|
3
|
+
import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|
4
4
|
import { Router, ActivatedRoute, NavigationEnd, RouterLink } from '@angular/router';
|
|
5
5
|
import { filter, startWith, map } from 'rxjs';
|
|
6
6
|
|
|
@@ -8,10 +8,10 @@ class HubBreadcrumbItemDirective {
|
|
|
8
8
|
constructor() {
|
|
9
9
|
this.template = inject((TemplateRef));
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.4", type: HubBreadcrumbItemDirective, isStandalone: true, selector: "[hubBreadcrumbItem]", ngImport: i0 }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbItemDirective, decorators: [{
|
|
15
15
|
type: Directive,
|
|
16
16
|
args: [{
|
|
17
17
|
selector: '[hubBreadcrumbItem]',
|
|
@@ -77,10 +77,10 @@ class HubBreadcrumbsService {
|
|
|
77
77
|
return data[key] || match;
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
81
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsService, providedIn: 'root' }); }
|
|
82
82
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsService, decorators: [{
|
|
84
84
|
type: Injectable,
|
|
85
85
|
args: [{
|
|
86
86
|
providedIn: 'root'
|
|
@@ -93,12 +93,12 @@ class HubBreadcrumbsComponent {
|
|
|
93
93
|
this.breadcrumbs$ = this.#breadcrumbsSvc.breadcrumbs$;
|
|
94
94
|
}
|
|
95
95
|
#breadcrumbsSvc;
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: HubBreadcrumbsComponent, isStandalone: true, selector: "hub-breadcrumbs", host: { classAttribute: "hub-breadcrumb" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: HubBreadcrumbItemDirective, descendants: true }], ngImport: i0, template: "<nav aria-label=\"breadcrumb\" class=\"hub-breadcrumb__nav\">\n\t<ol class=\"hub-breadcrumb__list\">\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t<li\n\t\t\tclass=\"hub-breadcrumb__item\"\n\t\t\t[class.hub-breadcrumb__item--active]=\"last\"\n\t\t>\n\t\t\t@if (itemTemplate) {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"itemTemplate.template\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, isLast: last }\"\n\t\t\t/>\n\t\t\t} @else { @if (!last) {\n\t\t\t<a [routerLink]=\"item.url\" class=\"hub-breadcrumb__link\">\n\t\t\t\t{{ item.label }}\n\t\t\t</a>\n\t\t\t} @else {\n\t\t\t<span class=\"hub-breadcrumb__text\">{{ item.label }}</span>\n\t\t\t} }\n\t\t</li>\n\t\t}\n\t</ol>\n</nav>\n", styles: [".hub-breadcrumb__list{--hub-breadcrumb-padding-x: 1rem;--hub-breadcrumb-padding-y: .25rem;--hub-breadcrumb-margin-bottom: 0;--hub-breadcrumb-bg: white;--hub-breadcrumb-border-radius: 50rem;--hub-breadcrumb-divider-color: black;--hub-breadcrumb-item-padding-x: .5rem;--hub-breadcrumb-item-active-color: black;display:flex;flex-wrap:wrap;padding:var(--hub-breadcrumb-padding-y) var(--hub-breadcrumb-padding-x);margin-bottom:var(--hub-breadcrumb-margin-bottom);list-style:none;background-color:var(--hub-breadcrumb-bg)}.hub-breadcrumb__item+.hub-breadcrumb__item{padding-left:var(--hub-breadcrumb-item-padding-x)}.hub-breadcrumb__item+.hub-breadcrumb__item:before{float:left;padding-right:var(--hub-breadcrumb-item-padding-x);color:var(--hub-breadcrumb-divider-color);content:var(--hub-breadcrumb-divider, \">\")}.hub-breadcrumb__item--active{color:var(--hub-breadcrumb-item-active-color)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
|
-
args: [{ selector: 'hub-breadcrumbs', standalone: true, imports: [AsyncPipe,
|
|
101
|
+
args: [{ selector: 'hub-breadcrumbs', standalone: true, imports: [AsyncPipe, RouterLink, NgTemplateOutlet], host: {
|
|
102
102
|
class: 'hub-breadcrumb'
|
|
103
103
|
}, template: "<nav aria-label=\"breadcrumb\" class=\"hub-breadcrumb__nav\">\n\t<ol class=\"hub-breadcrumb__list\">\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t<li\n\t\t\tclass=\"hub-breadcrumb__item\"\n\t\t\t[class.hub-breadcrumb__item--active]=\"last\"\n\t\t>\n\t\t\t@if (itemTemplate) {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"itemTemplate.template\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, isLast: last }\"\n\t\t\t/>\n\t\t\t} @else { @if (!last) {\n\t\t\t<a [routerLink]=\"item.url\" class=\"hub-breadcrumb__link\">\n\t\t\t\t{{ item.label }}\n\t\t\t</a>\n\t\t\t} @else {\n\t\t\t<span class=\"hub-breadcrumb__text\">{{ item.label }}</span>\n\t\t\t} }\n\t\t</li>\n\t\t}\n\t</ol>\n</nav>\n", styles: [".hub-breadcrumb__list{--hub-breadcrumb-padding-x: 1rem;--hub-breadcrumb-padding-y: .25rem;--hub-breadcrumb-margin-bottom: 0;--hub-breadcrumb-bg: white;--hub-breadcrumb-border-radius: 50rem;--hub-breadcrumb-divider-color: black;--hub-breadcrumb-item-padding-x: .5rem;--hub-breadcrumb-item-active-color: black;display:flex;flex-wrap:wrap;padding:var(--hub-breadcrumb-padding-y) var(--hub-breadcrumb-padding-x);margin-bottom:var(--hub-breadcrumb-margin-bottom);list-style:none;background-color:var(--hub-breadcrumb-bg)}.hub-breadcrumb__item+.hub-breadcrumb__item{padding-left:var(--hub-breadcrumb-item-padding-x)}.hub-breadcrumb__item+.hub-breadcrumb__item:before{float:left;padding-right:var(--hub-breadcrumb-item-padding-x);color:var(--hub-breadcrumb-divider-color);content:var(--hub-breadcrumb-divider, \">\")}.hub-breadcrumb__item--active{color:var(--hub-breadcrumb-item-active-color)}\n"] }]
|
|
104
104
|
}], propDecorators: { itemTemplate: [{
|
|
@@ -107,11 +107,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
107
107
|
}] } });
|
|
108
108
|
|
|
109
109
|
class HubBreadcrumbsModule {
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
111
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
112
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
111
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsModule, imports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective], exports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective] }); }
|
|
112
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsModule }); }
|
|
113
113
|
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: HubBreadcrumbsModule, decorators: [{
|
|
115
115
|
type: NgModule,
|
|
116
116
|
args: [{
|
|
117
117
|
declarations: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-hub-ui-breadcrumbs.mjs","sources":["../../../projects/breadcrumbs/src/lib/directives/hub-breadcrumb-item.directive.ts","../../../projects/breadcrumbs/src/lib/services/hub-breadcrumbs.service.ts","../../../projects/breadcrumbs/src/lib/components/hub-breadcrumbs/hub-breadcrumbs.component.ts","../../../projects/breadcrumbs/src/lib/components/hub-breadcrumbs/hub-breadcrumbs.component.html","../../../projects/breadcrumbs/src/lib/hub-breadcrumbs.module.ts","../../../projects/breadcrumbs/src/public-api.ts","../../../projects/breadcrumbs/src/ng-hub-ui-breadcrumbs.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BreadcrumbTemplateContext } from '../types/breadcrumb-template-context';\n\n@Directive({\n\tselector: '[hubBreadcrumbItem]',\n\tstandalone: true\n})\nexport class HubBreadcrumbItemDirective {\n\ttemplate = inject(TemplateRef<BreadcrumbTemplateContext>);\n}\n","import { inject, Injectable } from '@angular/core';\nimport { BreadcrumbItem } from '../types/breadcrumb-item';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { filter, startWith, map } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class HubBreadcrumbsService {\n\t#router = inject(Router);\n\t#activatedRoute = inject(ActivatedRoute);\n\n\tbreadcrumbs$ = this.#router.events.pipe(\n\t\tfilter((event) => event instanceof NavigationEnd),\n\t\tstartWith(undefined),\n\t\tmap(() => this.createBreadcrumbs(this.#activatedRoute.root))\n\t);\n\n\tprivate createBreadcrumbs(\n\t\troute: ActivatedRoute,\n\t\turl: string = '',\n\t\tbreadcrumbs: BreadcrumbItem[] = []\n\t): BreadcrumbItem[] {\n\t\tconst children: ActivatedRoute[] = route.children;\n\n\t\tif (children.length === 0) {\n\t\t\treturn breadcrumbs;\n\t\t}\n\n\t\tfor (const child of children) {\n\t\t\tconst routeSegments = child.snapshot.url;\n\n\t\t\t// Construir la URL para este nivel\n\t\t\tconst routeURL: string = routeSegments\n\t\t\t\t.map((segment) => segment.path)\n\t\t\t\t.join('/');\n\n\t\t\tconst nextUrl = routeURL ? `${url}/${routeURL}` : url;\n\n\t\t\t// Verificar si esta ruta específica tiene datos de breadcrumb\n\t\t\tconst hasBreadcrumbData = this.hasOwnBreadcrumbData(child);\n\n\t\t\tif (hasBreadcrumbData) {\n\t\t\t\tconst label = this.getBreadcrumbLabel(child);\n\t\t\t\tbreadcrumbs.push({\n\t\t\t\t\tlabel,\n\t\t\t\t\turl: nextUrl,\n\t\t\t\t\tdata: child.snapshot.data\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Continuar con los hijos\n\t\t\treturn this.createBreadcrumbs(child, nextUrl, breadcrumbs);\n\t\t}\n\n\t\treturn breadcrumbs;\n\t}\n\n\tprivate hasOwnBreadcrumbData(route: ActivatedRoute): boolean {\n\t\t// Verificar si la ruta tiene su propia configuración de breadcrumb\n\t\tconst routeConfig = route.routeConfig;\n\t\treturn !!(\n\t\t\trouteConfig &&\n\t\t\trouteConfig.data &&\n\t\t\trouteConfig.data['breadcrumb']\n\t\t);\n\t}\n\n\tprivate getBreadcrumbLabel(route: ActivatedRoute): string {\n\t\tconst data = route.snapshot.data;\n\t\tlet label = data['breadcrumb'];\n\n\t\tif (typeof label === 'function') {\n\t\t\tlabel = label(data);\n\t\t}\n\n\t\tif (data['resolvedData']) {\n\t\t\tlabel = this.getResolvedBreadcrumb(label, data['resolvedData']);\n\t\t}\n\n\t\treturn label;\n\t}\n\n\tprivate getResolvedBreadcrumb(template: string, data: any): string {\n\t\treturn template.replace(/\\{([^}]+)\\}/g, (match, key) => {\n\t\t\treturn data[key] || match;\n\t\t});\n\t}\n}\n","import { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { Component, ContentChild, inject } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { HubBreadcrumbItemDirective } from '../../directives/hub-breadcrumb-item.directive';\nimport { HubBreadcrumbsService } from '../../services/hub-breadcrumbs.service';\n\n@Component({\n\tselector: 'hub-breadcrumbs',\n\tstandalone: true,\n\timports: [AsyncPipe, NgIf, RouterLink, NgTemplateOutlet],\n\ttemplateUrl: './hub-breadcrumbs.component.html',\n\tstyleUrl: './hub-breadcrumbs.component.scss',\n\thost: {\n\t\tclass: 'hub-breadcrumb'\n\t}\n})\nexport class HubBreadcrumbsComponent {\n\t#breadcrumbsSvc = inject(HubBreadcrumbsService);\n\n\t@ContentChild(HubBreadcrumbItemDirective)\n\titemTemplate?: HubBreadcrumbItemDirective;\n\n\tbreadcrumbs$ = this.#breadcrumbsSvc.breadcrumbs$;\n}\n","<nav aria-label=\"breadcrumb\" class=\"hub-breadcrumb__nav\">\n\t<ol class=\"hub-breadcrumb__list\">\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t<li\n\t\t\tclass=\"hub-breadcrumb__item\"\n\t\t\t[class.hub-breadcrumb__item--active]=\"last\"\n\t\t>\n\t\t\t@if (itemTemplate) {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"itemTemplate.template\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, isLast: last }\"\n\t\t\t/>\n\t\t\t} @else { @if (!last) {\n\t\t\t<a [routerLink]=\"item.url\" class=\"hub-breadcrumb__link\">\n\t\t\t\t{{ item.label }}\n\t\t\t</a>\n\t\t\t} @else {\n\t\t\t<span class=\"hub-breadcrumb__text\">{{ item.label }}</span>\n\t\t\t} }\n\t\t</li>\n\t\t}\n\t</ol>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { HubBreadcrumbsComponent } from './components/hub-breadcrumbs/hub-breadcrumbs.component';\nimport { HubBreadcrumbItemDirective } from './directives/hub-breadcrumb-item.directive';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective],\n\texports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective]\n})\nexport class HubBreadcrumbsModule {}\n","/*\n * Public API Surface of breadcrumbs\n */\nexport * from './lib/hub-breadcrumbs.module';\nexport * from './lib/services/hub-breadcrumbs.service';\nexport * from './lib/components/hub-breadcrumbs/hub-breadcrumbs.component';\nexport * from './lib/directives/hub-breadcrumb-item.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-hub-ui-breadcrumbs.mjs","sources":["../../../projects/breadcrumbs/src/lib/directives/hub-breadcrumb-item.directive.ts","../../../projects/breadcrumbs/src/lib/services/hub-breadcrumbs.service.ts","../../../projects/breadcrumbs/src/lib/components/hub-breadcrumbs/hub-breadcrumbs.component.ts","../../../projects/breadcrumbs/src/lib/components/hub-breadcrumbs/hub-breadcrumbs.component.html","../../../projects/breadcrumbs/src/lib/hub-breadcrumbs.module.ts","../../../projects/breadcrumbs/src/public-api.ts","../../../projects/breadcrumbs/src/ng-hub-ui-breadcrumbs.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BreadcrumbTemplateContext } from '../types/breadcrumb-template-context';\n\n@Directive({\n\tselector: '[hubBreadcrumbItem]',\n\tstandalone: true\n})\nexport class HubBreadcrumbItemDirective {\n\ttemplate = inject(TemplateRef<BreadcrumbTemplateContext>);\n}\n","import { inject, Injectable } from '@angular/core';\nimport { BreadcrumbItem } from '../types/breadcrumb-item';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { filter, startWith, map } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class HubBreadcrumbsService {\n\t#router = inject(Router);\n\t#activatedRoute = inject(ActivatedRoute);\n\n\tbreadcrumbs$ = this.#router.events.pipe(\n\t\tfilter((event) => event instanceof NavigationEnd),\n\t\tstartWith(undefined),\n\t\tmap(() => this.createBreadcrumbs(this.#activatedRoute.root))\n\t);\n\n\tprivate createBreadcrumbs(\n\t\troute: ActivatedRoute,\n\t\turl: string = '',\n\t\tbreadcrumbs: BreadcrumbItem[] = []\n\t): BreadcrumbItem[] {\n\t\tconst children: ActivatedRoute[] = route.children;\n\n\t\tif (children.length === 0) {\n\t\t\treturn breadcrumbs;\n\t\t}\n\n\t\tfor (const child of children) {\n\t\t\tconst routeSegments = child.snapshot.url;\n\n\t\t\t// Construir la URL para este nivel\n\t\t\tconst routeURL: string = routeSegments\n\t\t\t\t.map((segment) => segment.path)\n\t\t\t\t.join('/');\n\n\t\t\tconst nextUrl = routeURL ? `${url}/${routeURL}` : url;\n\n\t\t\t// Verificar si esta ruta específica tiene datos de breadcrumb\n\t\t\tconst hasBreadcrumbData = this.hasOwnBreadcrumbData(child);\n\n\t\t\tif (hasBreadcrumbData) {\n\t\t\t\tconst label = this.getBreadcrumbLabel(child);\n\t\t\t\tbreadcrumbs.push({\n\t\t\t\t\tlabel,\n\t\t\t\t\turl: nextUrl,\n\t\t\t\t\tdata: child.snapshot.data\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Continuar con los hijos\n\t\t\treturn this.createBreadcrumbs(child, nextUrl, breadcrumbs);\n\t\t}\n\n\t\treturn breadcrumbs;\n\t}\n\n\tprivate hasOwnBreadcrumbData(route: ActivatedRoute): boolean {\n\t\t// Verificar si la ruta tiene su propia configuración de breadcrumb\n\t\tconst routeConfig = route.routeConfig;\n\t\treturn !!(\n\t\t\trouteConfig &&\n\t\t\trouteConfig.data &&\n\t\t\trouteConfig.data['breadcrumb']\n\t\t);\n\t}\n\n\tprivate getBreadcrumbLabel(route: ActivatedRoute): string {\n\t\tconst data = route.snapshot.data;\n\t\tlet label = data['breadcrumb'];\n\n\t\tif (typeof label === 'function') {\n\t\t\tlabel = label(data);\n\t\t}\n\n\t\tif (data['resolvedData']) {\n\t\t\tlabel = this.getResolvedBreadcrumb(label, data['resolvedData']);\n\t\t}\n\n\t\treturn label;\n\t}\n\n\tprivate getResolvedBreadcrumb(template: string, data: any): string {\n\t\treturn template.replace(/\\{([^}]+)\\}/g, (match, key) => {\n\t\t\treturn data[key] || match;\n\t\t});\n\t}\n}\n","import { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { Component, ContentChild, inject } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { HubBreadcrumbItemDirective } from '../../directives/hub-breadcrumb-item.directive';\nimport { HubBreadcrumbsService } from '../../services/hub-breadcrumbs.service';\n\n@Component({\n\tselector: 'hub-breadcrumbs',\n\tstandalone: true,\n\timports: [AsyncPipe, RouterLink, NgTemplateOutlet],\n\ttemplateUrl: './hub-breadcrumbs.component.html',\n\tstyleUrl: './hub-breadcrumbs.component.scss',\n\thost: {\n\t\tclass: 'hub-breadcrumb'\n\t}\n})\nexport class HubBreadcrumbsComponent {\n\t#breadcrumbsSvc = inject(HubBreadcrumbsService);\n\n\t@ContentChild(HubBreadcrumbItemDirective)\n\titemTemplate?: HubBreadcrumbItemDirective;\n\n\tbreadcrumbs$ = this.#breadcrumbsSvc.breadcrumbs$;\n}\n","<nav aria-label=\"breadcrumb\" class=\"hub-breadcrumb__nav\">\n\t<ol class=\"hub-breadcrumb__list\">\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t<li\n\t\t\tclass=\"hub-breadcrumb__item\"\n\t\t\t[class.hub-breadcrumb__item--active]=\"last\"\n\t\t>\n\t\t\t@if (itemTemplate) {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"itemTemplate.template\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, isLast: last }\"\n\t\t\t/>\n\t\t\t} @else { @if (!last) {\n\t\t\t<a [routerLink]=\"item.url\" class=\"hub-breadcrumb__link\">\n\t\t\t\t{{ item.label }}\n\t\t\t</a>\n\t\t\t} @else {\n\t\t\t<span class=\"hub-breadcrumb__text\">{{ item.label }}</span>\n\t\t\t} }\n\t\t</li>\n\t\t}\n\t</ol>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { HubBreadcrumbsComponent } from './components/hub-breadcrumbs/hub-breadcrumbs.component';\nimport { HubBreadcrumbItemDirective } from './directives/hub-breadcrumb-item.directive';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective],\n\texports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective]\n})\nexport class HubBreadcrumbsModule {}\n","/*\n * Public API Surface of breadcrumbs\n */\nexport * from './lib/hub-breadcrumbs.module';\nexport * from './lib/services/hub-breadcrumbs.service';\nexport * from './lib/components/hub-breadcrumbs/hub-breadcrumbs.component';\nexport * from './lib/directives/hub-breadcrumb-item.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ng-hub-ui-breadcrumbs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "A flexible and reusable breadcrumb component for Angular applications that automatically generates breadcrumbs based on routing configuration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -39,8 +39,6 @@
|
|
|
39
39
|
},
|
|
40
40
|
".": {
|
|
41
41
|
"types": "./index.d.ts",
|
|
42
|
-
"esm2022": "./esm2022/ng-hub-ui-breadcrumbs.mjs",
|
|
43
|
-
"esm": "./esm2022/ng-hub-ui-breadcrumbs.mjs",
|
|
44
42
|
"default": "./fesm2022/ng-hub-ui-breadcrumbs.mjs"
|
|
45
43
|
}
|
|
46
44
|
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { Component, ContentChild, inject } from '@angular/core';
|
|
3
|
-
import { RouterLink } from '@angular/router';
|
|
4
|
-
import { HubBreadcrumbItemDirective } from '../../directives/hub-breadcrumb-item.directive';
|
|
5
|
-
import { HubBreadcrumbsService } from '../../services/hub-breadcrumbs.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class HubBreadcrumbsComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.#breadcrumbsSvc = inject(HubBreadcrumbsService);
|
|
10
|
-
this.breadcrumbs$ = this.#breadcrumbsSvc.breadcrumbs$;
|
|
11
|
-
}
|
|
12
|
-
#breadcrumbsSvc;
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: HubBreadcrumbsComponent, isStandalone: true, selector: "hub-breadcrumbs", host: { classAttribute: "hub-breadcrumb" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: HubBreadcrumbItemDirective, descendants: true }], ngImport: i0, template: "<nav aria-label=\"breadcrumb\" class=\"hub-breadcrumb__nav\">\n\t<ol class=\"hub-breadcrumb__list\">\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t<li\n\t\t\tclass=\"hub-breadcrumb__item\"\n\t\t\t[class.hub-breadcrumb__item--active]=\"last\"\n\t\t>\n\t\t\t@if (itemTemplate) {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"itemTemplate.template\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, isLast: last }\"\n\t\t\t/>\n\t\t\t} @else { @if (!last) {\n\t\t\t<a [routerLink]=\"item.url\" class=\"hub-breadcrumb__link\">\n\t\t\t\t{{ item.label }}\n\t\t\t</a>\n\t\t\t} @else {\n\t\t\t<span class=\"hub-breadcrumb__text\">{{ item.label }}</span>\n\t\t\t} }\n\t\t</li>\n\t\t}\n\t</ol>\n</nav>\n", styles: [".hub-breadcrumb__list{--hub-breadcrumb-padding-x: 1rem;--hub-breadcrumb-padding-y: .25rem;--hub-breadcrumb-margin-bottom: 0;--hub-breadcrumb-bg: white;--hub-breadcrumb-border-radius: 50rem;--hub-breadcrumb-divider-color: black;--hub-breadcrumb-item-padding-x: .5rem;--hub-breadcrumb-item-active-color: black;display:flex;flex-wrap:wrap;padding:var(--hub-breadcrumb-padding-y) var(--hub-breadcrumb-padding-x);margin-bottom:var(--hub-breadcrumb-margin-bottom);list-style:none;background-color:var(--hub-breadcrumb-bg)}.hub-breadcrumb__item+.hub-breadcrumb__item{padding-left:var(--hub-breadcrumb-item-padding-x)}.hub-breadcrumb__item+.hub-breadcrumb__item:before{float:left;padding-right:var(--hub-breadcrumb-item-padding-x);color:var(--hub-breadcrumb-divider-color);content:var(--hub-breadcrumb-divider, \">\")}.hub-breadcrumb__item--active{color:var(--hub-breadcrumb-item-active-color)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsComponent, decorators: [{
|
|
17
|
-
type: Component,
|
|
18
|
-
args: [{ selector: 'hub-breadcrumbs', standalone: true, imports: [AsyncPipe, NgIf, RouterLink, NgTemplateOutlet], host: {
|
|
19
|
-
class: 'hub-breadcrumb'
|
|
20
|
-
}, template: "<nav aria-label=\"breadcrumb\" class=\"hub-breadcrumb__nav\">\n\t<ol class=\"hub-breadcrumb__list\">\n\t\t@for (item of breadcrumbs$ | async; track item; let last = $last) {\n\t\t<li\n\t\t\tclass=\"hub-breadcrumb__item\"\n\t\t\t[class.hub-breadcrumb__item--active]=\"last\"\n\t\t>\n\t\t\t@if (itemTemplate) {\n\t\t\t<ng-container\n\t\t\t\t[ngTemplateOutlet]=\"itemTemplate.template\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, isLast: last }\"\n\t\t\t/>\n\t\t\t} @else { @if (!last) {\n\t\t\t<a [routerLink]=\"item.url\" class=\"hub-breadcrumb__link\">\n\t\t\t\t{{ item.label }}\n\t\t\t</a>\n\t\t\t} @else {\n\t\t\t<span class=\"hub-breadcrumb__text\">{{ item.label }}</span>\n\t\t\t} }\n\t\t</li>\n\t\t}\n\t</ol>\n</nav>\n", styles: [".hub-breadcrumb__list{--hub-breadcrumb-padding-x: 1rem;--hub-breadcrumb-padding-y: .25rem;--hub-breadcrumb-margin-bottom: 0;--hub-breadcrumb-bg: white;--hub-breadcrumb-border-radius: 50rem;--hub-breadcrumb-divider-color: black;--hub-breadcrumb-item-padding-x: .5rem;--hub-breadcrumb-item-active-color: black;display:flex;flex-wrap:wrap;padding:var(--hub-breadcrumb-padding-y) var(--hub-breadcrumb-padding-x);margin-bottom:var(--hub-breadcrumb-margin-bottom);list-style:none;background-color:var(--hub-breadcrumb-bg)}.hub-breadcrumb__item+.hub-breadcrumb__item{padding-left:var(--hub-breadcrumb-item-padding-x)}.hub-breadcrumb__item+.hub-breadcrumb__item:before{float:left;padding-right:var(--hub-breadcrumb-item-padding-x);color:var(--hub-breadcrumb-divider-color);content:var(--hub-breadcrumb-divider, \">\")}.hub-breadcrumb__item--active{color:var(--hub-breadcrumb-item-active-color)}\n"] }]
|
|
21
|
-
}], propDecorators: { itemTemplate: [{
|
|
22
|
-
type: ContentChild,
|
|
23
|
-
args: [HubBreadcrumbItemDirective]
|
|
24
|
-
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHViLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JyZWFkY3J1bWJzL3NyYy9saWIvY29tcG9uZW50cy9odWItYnJlYWRjcnVtYnMvaHViLWJyZWFkY3J1bWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JyZWFkY3J1bWJzL3NyYy9saWIvY29tcG9uZW50cy9odWItYnJlYWRjcnVtYnMvaHViLWJyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFZL0UsTUFBTSxPQUFPLHVCQUF1QjtJQVZwQztRQVdDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFLaEQsaUJBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztLQUNqRDtJQU5BLGVBQWUsQ0FBaUM7OEdBRHBDLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlLQUdyQiwwQkFBMEIsZ0RDbkJ6QyxrdUJBdUJBLDY2QkRkVyxTQUFTLDhDQUFRLFVBQVUsb09BQUUsZ0JBQWdCOzsyRkFPM0MsdUJBQXVCO2tCQVZuQyxTQUFTOytCQUNDLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFFBR2xEO3dCQUNMLEtBQUssRUFBRSxnQkFBZ0I7cUJBQ3ZCOzhCQU1ELFlBQVk7c0JBRFgsWUFBWTt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBIdWJCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvaHViLWJyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSHViQnJlYWRjcnVtYnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHViLWJyZWFkY3J1bWJzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdodWItYnJlYWRjcnVtYnMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBSb3V0ZXJMaW5rLCBOZ1RlbXBsYXRlT3V0bGV0XSxcblx0dGVtcGxhdGVVcmw6ICcuL2h1Yi1icmVhZGNydW1icy5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsOiAnLi9odWItYnJlYWRjcnVtYnMuY29tcG9uZW50LnNjc3MnLFxuXHRob3N0OiB7XG5cdFx0Y2xhc3M6ICdodWItYnJlYWRjcnVtYidcblx0fVxufSlcbmV4cG9ydCBjbGFzcyBIdWJCcmVhZGNydW1ic0NvbXBvbmVudCB7XG5cdCNicmVhZGNydW1ic1N2YyA9IGluamVjdChIdWJCcmVhZGNydW1ic1NlcnZpY2UpO1xuXG5cdEBDb250ZW50Q2hpbGQoSHViQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUpXG5cdGl0ZW1UZW1wbGF0ZT86IEh1YkJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlO1xuXG5cdGJyZWFkY3J1bWJzJCA9IHRoaXMuI2JyZWFkY3J1bWJzU3ZjLmJyZWFkY3J1bWJzJDtcbn1cbiIsIjxuYXYgYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJcIiBjbGFzcz1cImh1Yi1icmVhZGNydW1iX19uYXZcIj5cblx0PG9sIGNsYXNzPVwiaHViLWJyZWFkY3J1bWJfX2xpc3RcIj5cblx0XHRAZm9yIChpdGVtIG9mIGJyZWFkY3J1bWJzJCB8IGFzeW5jOyB0cmFjayBpdGVtOyBsZXQgbGFzdCA9ICRsYXN0KSB7XG5cdFx0PGxpXG5cdFx0XHRjbGFzcz1cImh1Yi1icmVhZGNydW1iX19pdGVtXCJcblx0XHRcdFtjbGFzcy5odWItYnJlYWRjcnVtYl9faXRlbS0tYWN0aXZlXT1cImxhc3RcIlxuXHRcdD5cblx0XHRcdEBpZiAoaXRlbVRlbXBsYXRlKSB7XG5cdFx0XHQ8bmctY29udGFpbmVyXG5cdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZS50ZW1wbGF0ZVwiXG5cdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaXNMYXN0OiBsYXN0IH1cIlxuXHRcdFx0Lz5cblx0XHRcdH0gQGVsc2UgeyBAaWYgKCFsYXN0KSB7XG5cdFx0XHQ8YSBbcm91dGVyTGlua109XCJpdGVtLnVybFwiIGNsYXNzPVwiaHViLWJyZWFkY3J1bWJfX2xpbmtcIj5cblx0XHRcdFx0e3sgaXRlbS5sYWJlbCB9fVxuXHRcdFx0PC9hPlxuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImh1Yi1icmVhZGNydW1iX190ZXh0XCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cblx0XHRcdH0gfVxuXHRcdDwvbGk+XG5cdFx0fVxuXHQ8L29sPlxuPC9uYXY+XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class HubBreadcrumbItemDirective {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.template = inject((TemplateRef));
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: HubBreadcrumbItemDirective, isStandalone: true, selector: "[hubBreadcrumbItem]", ngImport: i0 }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbItemDirective, decorators: [{
|
|
11
|
-
type: Directive,
|
|
12
|
-
args: [{
|
|
13
|
-
selector: '[hubBreadcrumbItem]',
|
|
14
|
-
standalone: true
|
|
15
|
-
}]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHViLWJyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icmVhZGNydW1icy9zcmMvbGliL2RpcmVjdGl2ZXMvaHViLWJyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8vRCxNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBS0MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFdBQXNDLENBQUEsQ0FBQyxDQUFDO0tBQzFEOzhHQUZZLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYlRlbXBsYXRlQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzL2JyZWFkY3J1bWItdGVtcGxhdGUtY29udGV4dCc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1todWJCcmVhZGNydW1iSXRlbV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEh1YkJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIHtcblx0dGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWY8QnJlYWRjcnVtYlRlbXBsYXRlQ29udGV4dD4pO1xufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { HubBreadcrumbsComponent } from './components/hub-breadcrumbs/hub-breadcrumbs.component';
|
|
3
|
-
import { HubBreadcrumbItemDirective } from './directives/hub-breadcrumb-item.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class HubBreadcrumbsModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsModule, imports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective], exports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsModule }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [],
|
|
14
|
-
imports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective],
|
|
15
|
-
exports: [HubBreadcrumbsComponent, HubBreadcrumbItemDirective]
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHViLWJyZWFkY3J1bWJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JyZWFkY3J1bWJzL3NyYy9saWIvaHViLWJyZWFkY3J1bWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQU94RixNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQUh0Qix1QkFBdUIsRUFBRSwwQkFBMEIsYUFDbkQsdUJBQXVCLEVBQUUsMEJBQTBCOytHQUVqRCxvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDO29CQUM5RCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztpQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHViQnJlYWRjcnVtYnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaHViLWJyZWFkY3J1bWJzL2h1Yi1icmVhZGNydW1icy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHViQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaHViLWJyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtdLFxuXHRpbXBvcnRzOiBbSHViQnJlYWRjcnVtYnNDb21wb25lbnQsIEh1YkJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlXSxcblx0ZXhwb3J0czogW0h1YkJyZWFkY3J1bWJzQ29tcG9uZW50LCBIdWJCcmVhZGNydW1iSXRlbURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgSHViQnJlYWRjcnVtYnNNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
|
3
|
-
import { filter, startWith, map } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class HubBreadcrumbsService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.#router = inject(Router);
|
|
8
|
-
this.#activatedRoute = inject(ActivatedRoute);
|
|
9
|
-
this.breadcrumbs$ = this.#router.events.pipe(filter((event) => event instanceof NavigationEnd), startWith(undefined), map(() => this.createBreadcrumbs(this.#activatedRoute.root)));
|
|
10
|
-
}
|
|
11
|
-
#router;
|
|
12
|
-
#activatedRoute;
|
|
13
|
-
createBreadcrumbs(route, url = '', breadcrumbs = []) {
|
|
14
|
-
const children = route.children;
|
|
15
|
-
if (children.length === 0) {
|
|
16
|
-
return breadcrumbs;
|
|
17
|
-
}
|
|
18
|
-
for (const child of children) {
|
|
19
|
-
const routeSegments = child.snapshot.url;
|
|
20
|
-
// Construir la URL para este nivel
|
|
21
|
-
const routeURL = routeSegments
|
|
22
|
-
.map((segment) => segment.path)
|
|
23
|
-
.join('/');
|
|
24
|
-
const nextUrl = routeURL ? `${url}/${routeURL}` : url;
|
|
25
|
-
// Verificar si esta ruta específica tiene datos de breadcrumb
|
|
26
|
-
const hasBreadcrumbData = this.hasOwnBreadcrumbData(child);
|
|
27
|
-
if (hasBreadcrumbData) {
|
|
28
|
-
const label = this.getBreadcrumbLabel(child);
|
|
29
|
-
breadcrumbs.push({
|
|
30
|
-
label,
|
|
31
|
-
url: nextUrl,
|
|
32
|
-
data: child.snapshot.data
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
// Continuar con los hijos
|
|
36
|
-
return this.createBreadcrumbs(child, nextUrl, breadcrumbs);
|
|
37
|
-
}
|
|
38
|
-
return breadcrumbs;
|
|
39
|
-
}
|
|
40
|
-
hasOwnBreadcrumbData(route) {
|
|
41
|
-
// Verificar si la ruta tiene su propia configuración de breadcrumb
|
|
42
|
-
const routeConfig = route.routeConfig;
|
|
43
|
-
return !!(routeConfig &&
|
|
44
|
-
routeConfig.data &&
|
|
45
|
-
routeConfig.data['breadcrumb']);
|
|
46
|
-
}
|
|
47
|
-
getBreadcrumbLabel(route) {
|
|
48
|
-
const data = route.snapshot.data;
|
|
49
|
-
let label = data['breadcrumb'];
|
|
50
|
-
if (typeof label === 'function') {
|
|
51
|
-
label = label(data);
|
|
52
|
-
}
|
|
53
|
-
if (data['resolvedData']) {
|
|
54
|
-
label = this.getResolvedBreadcrumb(label, data['resolvedData']);
|
|
55
|
-
}
|
|
56
|
-
return label;
|
|
57
|
-
}
|
|
58
|
-
getResolvedBreadcrumb(template, data) {
|
|
59
|
-
return template.replace(/\{([^}]+)\}/g, (match, key) => {
|
|
60
|
-
return data[key] || match;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsService, providedIn: 'root' }); }
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HubBreadcrumbsService, decorators: [{
|
|
67
|
-
type: Injectable,
|
|
68
|
-
args: [{
|
|
69
|
-
providedIn: 'root'
|
|
70
|
-
}]
|
|
71
|
-
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHViLWJyZWFkY3J1bWJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icmVhZGNydW1icy9zcmMvbGliL3NlcnZpY2VzL2h1Yi1icmVhZGNydW1icy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLOUMsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlDLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsb0JBQWUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFekMsaUJBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3RDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUNqRCxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM1RCxDQUFDO0tBd0VGO0lBL0VBLE9BQU8sQ0FBa0I7SUFDekIsZUFBZSxDQUEwQjtJQVFqQyxpQkFBaUIsQ0FDeEIsS0FBcUIsRUFDckIsTUFBYyxFQUFFLEVBQ2hCLGNBQWdDLEVBQUU7UUFFbEMsTUFBTSxRQUFRLEdBQXFCLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFbEQsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQixPQUFPLFdBQVcsQ0FBQztTQUNuQjtRQUVELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBRXpDLG1DQUFtQztZQUNuQyxNQUFNLFFBQVEsR0FBVyxhQUFhO2lCQUNwQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7aUJBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVaLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUV0RCw4REFBOEQ7WUFDOUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFM0QsSUFBSSxpQkFBaUIsRUFBRTtnQkFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNoQixLQUFLO29CQUNMLEdBQUcsRUFBRSxPQUFPO29CQUNaLElBQUksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7aUJBQ3pCLENBQUMsQ0FBQzthQUNIO1lBRUQsMEJBQTBCO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNwQixDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBcUI7UUFDakQsbUVBQW1FO1FBQ25FLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDdEMsT0FBTyxDQUFDLENBQUMsQ0FDUixXQUFXO1lBQ1gsV0FBVyxDQUFDLElBQUk7WUFDaEIsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDOUIsQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFxQjtRQUMvQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDaEMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQjtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRU8scUJBQXFCLENBQUMsUUFBZ0IsRUFBRSxJQUFTO1FBQ3hELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0EvRVcscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGckIsTUFBTTs7MkZBRU4scUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuLi90eXBlcy9icmVhZGNydW1iLWl0ZW0nO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIHN0YXJ0V2l0aCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEh1YkJyZWFkY3J1bWJzU2VydmljZSB7XG5cdCNyb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblx0I2FjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcblxuXHRicmVhZGNydW1icyQgPSB0aGlzLiNyb3V0ZXIuZXZlbnRzLnBpcGUoXG5cdFx0ZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcblx0XHRzdGFydFdpdGgodW5kZWZpbmVkKSxcblx0XHRtYXAoKCkgPT4gdGhpcy5jcmVhdGVCcmVhZGNydW1icyh0aGlzLiNhY3RpdmF0ZWRSb3V0ZS5yb290KSlcblx0KTtcblxuXHRwcml2YXRlIGNyZWF0ZUJyZWFkY3J1bWJzKFxuXHRcdHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcblx0XHR1cmw6IHN0cmluZyA9ICcnLFxuXHRcdGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iSXRlbVtdID0gW11cblx0KTogQnJlYWRjcnVtYkl0ZW1bXSB7XG5cdFx0Y29uc3QgY2hpbGRyZW46IEFjdGl2YXRlZFJvdXRlW10gPSByb3V0ZS5jaGlsZHJlbjtcblxuXHRcdGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcblx0XHRcdHJldHVybiBicmVhZGNydW1icztcblx0XHR9XG5cblx0XHRmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG5cdFx0XHRjb25zdCByb3V0ZVNlZ21lbnRzID0gY2hpbGQuc25hcHNob3QudXJsO1xuXG5cdFx0XHQvLyBDb25zdHJ1aXIgbGEgVVJMIHBhcmEgZXN0ZSBuaXZlbFxuXHRcdFx0Y29uc3Qgcm91dGVVUkw6IHN0cmluZyA9IHJvdXRlU2VnbWVudHNcblx0XHRcdFx0Lm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC5wYXRoKVxuXHRcdFx0XHQuam9pbignLycpO1xuXG5cdFx0XHRjb25zdCBuZXh0VXJsID0gcm91dGVVUkwgPyBgJHt1cmx9LyR7cm91dGVVUkx9YCA6IHVybDtcblxuXHRcdFx0Ly8gVmVyaWZpY2FyIHNpIGVzdGEgcnV0YSBlc3BlY8OtZmljYSB0aWVuZSBkYXRvcyBkZSBicmVhZGNydW1iXG5cdFx0XHRjb25zdCBoYXNCcmVhZGNydW1iRGF0YSA9IHRoaXMuaGFzT3duQnJlYWRjcnVtYkRhdGEoY2hpbGQpO1xuXG5cdFx0XHRpZiAoaGFzQnJlYWRjcnVtYkRhdGEpIHtcblx0XHRcdFx0Y29uc3QgbGFiZWwgPSB0aGlzLmdldEJyZWFkY3J1bWJMYWJlbChjaGlsZCk7XG5cdFx0XHRcdGJyZWFkY3J1bWJzLnB1c2goe1xuXHRcdFx0XHRcdGxhYmVsLFxuXHRcdFx0XHRcdHVybDogbmV4dFVybCxcblx0XHRcdFx0XHRkYXRhOiBjaGlsZC5zbmFwc2hvdC5kYXRhXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBDb250aW51YXIgY29uIGxvcyBoaWpvc1xuXHRcdFx0cmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnMoY2hpbGQsIG5leHRVcmwsIGJyZWFkY3J1bWJzKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gYnJlYWRjcnVtYnM7XG5cdH1cblxuXHRwcml2YXRlIGhhc093bkJyZWFkY3J1bWJEYXRhKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IGJvb2xlYW4ge1xuXHRcdC8vIFZlcmlmaWNhciBzaSBsYSBydXRhIHRpZW5lIHN1IHByb3BpYSBjb25maWd1cmFjacOzbiBkZSBicmVhZGNydW1iXG5cdFx0Y29uc3Qgcm91dGVDb25maWcgPSByb3V0ZS5yb3V0ZUNvbmZpZztcblx0XHRyZXR1cm4gISEoXG5cdFx0XHRyb3V0ZUNvbmZpZyAmJlxuXHRcdFx0cm91dGVDb25maWcuZGF0YSAmJlxuXHRcdFx0cm91dGVDb25maWcuZGF0YVsnYnJlYWRjcnVtYiddXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QnJlYWRjcnVtYkxhYmVsKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IHN0cmluZyB7XG5cdFx0Y29uc3QgZGF0YSA9IHJvdXRlLnNuYXBzaG90LmRhdGE7XG5cdFx0bGV0IGxhYmVsID0gZGF0YVsnYnJlYWRjcnVtYiddO1xuXG5cdFx0aWYgKHR5cGVvZiBsYWJlbCA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0bGFiZWwgPSBsYWJlbChkYXRhKTtcblx0XHR9XG5cblx0XHRpZiAoZGF0YVsncmVzb2x2ZWREYXRhJ10pIHtcblx0XHRcdGxhYmVsID0gdGhpcy5nZXRSZXNvbHZlZEJyZWFkY3J1bWIobGFiZWwsIGRhdGFbJ3Jlc29sdmVkRGF0YSddKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbGFiZWw7XG5cdH1cblxuXHRwcml2YXRlIGdldFJlc29sdmVkQnJlYWRjcnVtYih0ZW1wbGF0ZTogc3RyaW5nLCBkYXRhOiBhbnkpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKC9cXHsoW159XSspXFx9L2csIChtYXRjaCwga2V5KSA9PiB7XG5cdFx0XHRyZXR1cm4gZGF0YVtrZXldIHx8IG1hdGNoO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnJlYWRjcnVtYnMvc3JjL2xpYi90eXBlcy9icmVhZGNydW1iLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQnJlYWRjcnVtYkl0ZW0ge1xuXHRsYWJlbDogc3RyaW5nO1xuXHR1cmw6IHN0cmluZztcblx0ZGF0YTogYW55O1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi10ZW1wbGF0ZS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnJlYWRjcnVtYnMvc3JjL2xpYi90eXBlcy9icmVhZGNydW1iLXRlbXBsYXRlLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFkY3J1bWJUZW1wbGF0ZUNvbnRleHQge1xuXHQkaW1wbGljaXQ6IEJyZWFkY3J1bWJJdGVtO1xuXHRpc0xhc3Q6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaHViLXVpLWJyZWFkY3J1bWJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYnJlYWRjcnVtYnMvc3JjL25nLWh1Yi11aS1icmVhZGNydW1icy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of breadcrumbs
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/hub-breadcrumbs.module';
|
|
5
|
-
export * from './lib/services/hub-breadcrumbs.service';
|
|
6
|
-
export * from './lib/components/hub-breadcrumbs/hub-breadcrumbs.component';
|
|
7
|
-
export * from './lib/directives/hub-breadcrumb-item.directive';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JyZWFkY3J1bWJzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYnJlYWRjcnVtYnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaHViLWJyZWFkY3J1bWJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odWItYnJlYWRjcnVtYnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2h1Yi1icmVhZGNydW1icy9odWItYnJlYWRjcnVtYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvaHViLWJyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmUnO1xuIl19
|
|
Binary file
|