ctt-puro 0.36.5 → 0.36.7
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/esm2022/lib/components/puro-submenu-mobile/puro-submenu-mobile.component.mjs +23 -11
- package/esm2022/lib/services/mapper/mapper.service.mjs +55 -59
- package/fesm2022/ctt-puro.mjs +74 -68
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/puro-submenu-mobile/puro-submenu-mobile.component.d.ts +3 -4
- package/package.json +1 -1
|
@@ -1,36 +1,48 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, inject, Input, PLATFORM_ID, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import { Router, NavigationEnd } from '@angular/router';
|
|
4
|
+
import { filter } from 'rxjs';
|
|
3
5
|
import { PuroLinkTypeDirective } from '../../directives/puro-link-type/puro-link-type.directive';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
export class PuroSubmenuMobileComponent {
|
|
6
8
|
constructor() {
|
|
7
|
-
this.headerFixed = false;
|
|
8
|
-
this.navSticky = false;
|
|
9
|
-
this.menuReady = false;
|
|
10
|
-
this.isDropdownOpen = false;
|
|
11
9
|
this.filteredItems = [];
|
|
12
10
|
this.platformId = inject(PLATFORM_ID);
|
|
11
|
+
this.router = inject(Router);
|
|
13
12
|
}
|
|
14
13
|
ngOnInit() {
|
|
15
|
-
if (isPlatformBrowser(this.platformId))
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.filteredItems = this.items?.filter(item => item.mobile) || [];
|
|
14
|
+
if (!isPlatformBrowser(this.platformId))
|
|
15
|
+
return;
|
|
16
|
+
// Filtro items visibles en móvil
|
|
17
|
+
this.filteredItems = this.items?.filter((item) => item.mobile) || [];
|
|
18
|
+
this.sub = this.router.events
|
|
19
|
+
.pipe(filter((e) => e instanceof NavigationEnd))
|
|
20
|
+
.subscribe(() => {
|
|
21
|
+
this.updateBodyClasses();
|
|
22
|
+
});
|
|
23
|
+
// Estado inicial
|
|
24
|
+
this.updateBodyClasses();
|
|
19
25
|
}
|
|
20
26
|
ngOnDestroy() {
|
|
27
|
+
this.sub?.unsubscribe();
|
|
21
28
|
if (isPlatformBrowser(this.platformId)) {
|
|
22
29
|
document.body.classList.remove('hotels');
|
|
23
30
|
}
|
|
24
31
|
}
|
|
32
|
+
updateBodyClasses() {
|
|
33
|
+
if (!isPlatformBrowser(this.platformId))
|
|
34
|
+
return;
|
|
35
|
+
document.body.classList.add('hotels');
|
|
36
|
+
}
|
|
25
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSubmenuMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSubmenuMobileComponent, isStandalone: true, selector: "lib-puro-submenu-mobile", inputs: { items: "items", selected: "selected" }, ngImport: i0, template: "@if (items) {\n <div class=\"header__nav\">\n @for (item of filteredItems; track $index) {\n <div class=\"header__navLinks\" role=\"button\">\n <a\n [attr.aria-label]=\"item?.label\"\n [href]=\"item?.url\"\n [linkType]=\"item?.linkType\"\n >\n <div class=\"header__navLinks--inner\">\n @if (item?.icon) {\n <span class=\"header__navLinks--icon\"\n ><i class=\"{{ item.icon }}\"></i\n ></span>\n }\n @if (item?.label) {\n <span class=\"header__navLinks--name\">{{\n item.label\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSubmenuMobileComponent, isStandalone: true, selector: "lib-puro-submenu-mobile", inputs: { items: "items", selected: "selected" }, ngImport: i0, template: "@if (items) {\n <div class=\"header__nav\">\n @for (item of filteredItems; track $index) {\n <div class=\"header__navLinks\" role=\"button\">\n <a\n [attr.aria-label]=\"item?.label\"\n [href]=\"item?.url\"\n [linkType]=\"item?.linkType\"\n >\n <div class=\"header__navLinks--inner\">\n @if (item?.icon) {\n <span class=\"header__navLinks--icon\"\n ><i class=\"icon-{{ item.icon }}\"></i\n ></span>\n }\n @if (item?.label) {\n <span class=\"header__navLinks--name\">{{\n item.label\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
27
39
|
}
|
|
28
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSubmenuMobileComponent, decorators: [{
|
|
29
41
|
type: Component,
|
|
30
|
-
args: [{ selector: 'lib-puro-submenu-mobile', standalone: true, imports: [CommonModule, PuroLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (items) {\n <div class=\"header__nav\">\n @for (item of filteredItems; track $index) {\n <div class=\"header__navLinks\" role=\"button\">\n <a\n [attr.aria-label]=\"item?.label\"\n [href]=\"item?.url\"\n [linkType]=\"item?.linkType\"\n >\n <div class=\"header__navLinks--inner\">\n @if (item?.icon) {\n <span class=\"header__navLinks--icon\"\n ><i class=\"{{ item.icon }}\"></i\n ></span>\n }\n @if (item?.label) {\n <span class=\"header__navLinks--name\">{{\n item.label\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n </div>\n}\n" }]
|
|
42
|
+
args: [{ selector: 'lib-puro-submenu-mobile', standalone: true, imports: [CommonModule, PuroLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (items) {\n <div class=\"header__nav\">\n @for (item of filteredItems; track $index) {\n <div class=\"header__navLinks\" role=\"button\">\n <a\n [attr.aria-label]=\"item?.label\"\n [href]=\"item?.url\"\n [linkType]=\"item?.linkType\"\n >\n <div class=\"header__navLinks--inner\">\n @if (item?.icon) {\n <span class=\"header__navLinks--icon\"\n ><i class=\"icon-{{ item.icon }}\"></i\n ></span>\n }\n @if (item?.label) {\n <span class=\"header__navLinks--name\">{{\n item.label\n }}</span>\n }\n </div>\n </a>\n </div>\n }\n </div>\n}\n" }]
|
|
31
43
|
}], propDecorators: { items: [{
|
|
32
44
|
type: Input
|
|
33
45
|
}], selected: [{
|
|
34
46
|
type: Input
|
|
35
47
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1zdWJtZW51LW1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLXN1Ym1lbnUtbW9iaWxlL3B1cm8tc3VibWVudS1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1zdWJtZW51LW1vYmlsZS9wdXJvLXN1Ym1lbnUtbW9iaWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBR0wsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7QUFZakcsTUFBTSxPQUFPLDBCQUEwQjtJQVR2QztRQWFFLGtCQUFhLEdBQTZCLEVBQUUsQ0FBQztRQUVyQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0ErQmpDO0lBNUJDLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFFaEQsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFckUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBc0IsRUFBRSxDQUFDLENBQUMsWUFBWSxhQUFhLENBQUMsQ0FBQzthQUNuRSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFTCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBRWhELFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQXJDVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixxSUN6QnZDLHk5QkEwQkEseUREUFksWUFBWSwrQkFBRSxxQkFBcUI7OzRGQU1sQywwQkFBMEI7a0JBVHRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxtQkFHN0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3B1cm8tbGluay10eXBlL3B1cm8tbGluay10eXBlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQdXJvQnV0dG9uSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcHVyby1zdWJtZW51LW1vYmlsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFB1cm9MaW5rVHlwZURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wdXJvLXN1Ym1lbnUtbW9iaWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3B1cm8tc3VibWVudS1tb2JpbGUuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb1N1Ym1lbnVNb2JpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGl0ZW1zPzogUHVyb1N1Ym1lbnVNb2JpbGVJdGVtSVtdO1xuICBASW5wdXQoKSBzZWxlY3RlZD86IFB1cm9CdXR0b25JO1xuXG4gIGZpbHRlcmVkSXRlbXM6IFB1cm9TdWJtZW51TW9iaWxlSXRlbUlbXSA9IFtdO1xuXG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgc3ViPzogU3Vic2NyaXB0aW9uO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgLy8gRmlsdHJvIGl0ZW1zIHZpc2libGVzIGVuIG3Ds3ZpbFxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM/LmZpbHRlcigoaXRlbSkgPT4gaXRlbS5tb2JpbGUpIHx8IFtdO1xuXG4gICAgdGhpcy5zdWIgPSB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKGZpbHRlcigoZSk6IGUgaXMgTmF2aWdhdGlvbkVuZCA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVCb2R5Q2xhc3NlcygpO1xuICAgICAgfSk7XG5cbiAgICAvLyBFc3RhZG8gaW5pY2lhbFxuICAgIHRoaXMudXBkYXRlQm9keUNsYXNzZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2hvdGVscycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQm9keUNsYXNzZXMoKTogdm9pZCB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2hvdGVscycpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1N1Ym1lbnVNb2JpbGVJdGVtSSB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG4gIGxpbmtUeXBlPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBtb2JpbGU/OiBib29sZWFuO1xufVxuIiwiQGlmIChpdGVtcykge1xuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX25hdlwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIGZpbHRlcmVkSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fbmF2TGlua3NcIiByb2xlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtPy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0/LnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpdGVtPy5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX19uYXZMaW5rcy0taW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbT8uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyX19uYXZMaW5rcy0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImljb24te3sgaXRlbS5pY29uIH19XCI+PC9pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbT8ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlcl9fbmF2TGlua3MtLW5hbWVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG59XG4iXX0=
|