@lluc_llull/ui-lib 0.1.2 → 0.1.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.
Files changed (34) hide show
  1. package/esm2022/lib/components/core/header-clear/header-clear.component.mjs +37 -0
  2. package/esm2022/lib/components/core/header-clear/header-clear.interface.mjs +2 -0
  3. package/esm2022/lib/components/core/header-clear/index.mjs +3 -0
  4. package/esm2022/lib/components/core/index.mjs +4 -1
  5. package/esm2022/lib/components/core/lang-modal/index.mjs +3 -0
  6. package/esm2022/lib/components/core/lang-modal/lang-modal.component.mjs +12 -0
  7. package/esm2022/lib/components/core/lang-modal/lang-modal.interface.mjs +2 -0
  8. package/esm2022/lib/components/core/nav-modal/index.mjs +3 -0
  9. package/esm2022/lib/components/core/nav-modal/nav-modal.component.mjs +17 -0
  10. package/esm2022/lib/components/core/nav-modal/nav-modal.interface.mjs +2 -0
  11. package/esm2022/lib/interfaces/page-config.interface.mjs +1 -1
  12. package/esm2022/lib/interfaces/ui-lib-nav-items.interface.mjs +2 -0
  13. package/esm2022/lib/services/mapper/component-mappers/header-clear.mapper.mjs +13 -0
  14. package/esm2022/lib/services/mapper/component-mappers/index.mjs +7 -2
  15. package/esm2022/lib/services/mapper/component-mappers/lang-modal.mapper.mjs +2 -0
  16. package/esm2022/lib/services/mapper/component-mappers/nav-modal.mapper.mjs +29 -0
  17. package/fesm2022/lluc_llull-ui-lib.mjs +101 -2
  18. package/fesm2022/lluc_llull-ui-lib.mjs.map +1 -1
  19. package/lib/components/core/header-clear/header-clear.component.d.ts +16 -0
  20. package/lib/components/core/header-clear/header-clear.interface.d.ts +2 -0
  21. package/lib/components/core/header-clear/index.d.ts +2 -0
  22. package/lib/components/core/index.d.ts +3 -0
  23. package/lib/components/core/lang-modal/index.d.ts +2 -0
  24. package/lib/components/core/lang-modal/lang-modal.component.d.ts +5 -0
  25. package/lib/components/core/lang-modal/lang-modal.interface.d.ts +2 -0
  26. package/lib/components/core/nav-modal/index.d.ts +2 -0
  27. package/lib/components/core/nav-modal/nav-modal.component.d.ts +8 -0
  28. package/lib/components/core/nav-modal/nav-modal.interface.d.ts +5 -0
  29. package/lib/interfaces/page-config.interface.d.ts +3 -0
  30. package/lib/interfaces/ui-lib-nav-items.interface.d.ts +10 -0
  31. package/lib/services/mapper/component-mappers/header-clear.mapper.d.ts +2 -0
  32. package/lib/services/mapper/component-mappers/lang-modal.mapper.d.ts +2 -0
  33. package/lib/services/mapper/component-mappers/nav-modal.mapper.d.ts +10 -0
  34. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { LangModalComponent } from "../lang-modal";
4
+ import { NavModalComponent } from "../nav-modal";
5
+ import * as i0 from "@angular/core";
6
+ export class HeaderClearComponent {
7
+ constructor() {
8
+ this.langModal = new EventEmitter();
9
+ this.theme = new EventEmitter();
10
+ }
11
+ openLanguagesModal() {
12
+ this.langModal.emit();
13
+ }
14
+ toggleTheme() {
15
+ this.theme.emit();
16
+ }
17
+ toggleMenu() {
18
+ console.log('menu open');
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderClearComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HeaderClearComponent, isStandalone: true, selector: "lib-header-clear", inputs: { logo: "logo", lang: "lang", navItems: "navItems" }, outputs: { langModal: "langModal", theme: "theme" }, ngImport: i0, template: "<header>\n <div>\n <!-- Logo -->\n <span>\u2605</span>\n <span>LLUC LLULL</span>\n </div>\n\n <div>\n <!-- Idioma -->\n <button (click)=\"openLanguagesModal()\">\n <span>ES</span>\n </button>\n\n <!-- Icono de recarga -->\n <button (click)=\"toggleTheme()\">\n <span>\uD83C\uDF19</span>\n </button>\n\n <!-- Icono de men\u00FA -->\n <button (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</header>\n\n@if(navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n ></lib-nav-modal>\n}\n<lib-lang-modal></lib-lang-modal>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LangModalComponent, selector: "lib-lang-modal" }, { kind: "component", type: NavModalComponent, selector: "lib-nav-modal", inputs: ["navItems", "socialItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderClearComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'lib-header-clear', standalone: true, imports: [CommonModule, LangModalComponent, NavModalComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header>\n <div>\n <!-- Logo -->\n <span>\u2605</span>\n <span>LLUC LLULL</span>\n </div>\n\n <div>\n <!-- Idioma -->\n <button (click)=\"openLanguagesModal()\">\n <span>ES</span>\n </button>\n\n <!-- Icono de recarga -->\n <button (click)=\"toggleTheme()\">\n <span>\uD83C\uDF19</span>\n </button>\n\n <!-- Icono de men\u00FA -->\n <button (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</header>\n\n@if(navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n ></lib-nav-modal>\n}\n<lib-lang-modal></lib-lang-modal>\n" }]
26
+ }], propDecorators: { logo: [{
27
+ type: Input
28
+ }], lang: [{
29
+ type: Input
30
+ }], navItems: [{
31
+ type: Input
32
+ }], langModal: [{
33
+ type: Output
34
+ }], theme: [{
35
+ type: Output
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNsZWFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9oZWFkZXItY2xlYXIvaGVhZGVyLWNsZWFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9oZWFkZXItY2xlYXIvaGVhZGVyLWNsZWFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBWWpELE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFhWSxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNyQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWE1QztJQVhDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FsQlUsb0JBQW9CO21HQUFwQixvQkFBb0IsK0xDZmpDLG1uQkErQkEseUREckJZLFlBQVksK0JBQUUsa0JBQWtCLDJEQUFFLGlCQUFpQjs7NEZBS2xELG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLG1CQUc3Qyx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYW5nTW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi4vbGFuZy1tb2RhbFwiO1xuaW1wb3J0IHsgTmF2TW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi4vbmF2LW1vZGFsXCI7XG5pbXBvcnQgeyBVaUxpYkltYWdlSSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvdWktbGliLWltYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVaUxpYk5hdkl0ZW1zSSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvdWktbGliLW5hdi1pdGVtcy5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItaGVhZGVyLWNsZWFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTGFuZ01vZGFsQ29tcG9uZW50LCBOYXZNb2RhbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXItY2xlYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaGVhZGVyLWNsZWFyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNsZWFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbG9nbz86IFVpTGliSW1hZ2VJO1xuICBASW5wdXQoKSBsYW5nPzogc3RyaW5nO1xuICBASW5wdXQoKSBuYXZJdGVtcz86IFVpTGliTmF2SXRlbXNJW107XG5cbiAgQE91dHB1dCgpIGxhbmdNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHRoZW1lID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIG9wZW5MYW5ndWFnZXNNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmxhbmdNb2RhbC5lbWl0KCk7XG4gIH1cblxuICB0b2dnbGVUaGVtZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRoZW1lLmVtaXQoKTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ21lbnUgb3BlbicpO1xuICB9XG59XG4iLCI8aGVhZGVyPlxuICA8ZGl2PlxuICAgIDwhLS0gTG9nbyAtLT5cbiAgICA8c3Bhbj7imIU8L3NwYW4+XG4gICAgPHNwYW4+TExVQyBMTFVMTDwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdj5cbiAgICA8IS0tIElkaW9tYSAtLT5cbiAgICA8YnV0dG9uIChjbGljayk9XCJvcGVuTGFuZ3VhZ2VzTW9kYWwoKVwiPlxuICAgICAgPHNwYW4+RVM8L3NwYW4+XG4gICAgPC9idXR0b24+XG5cbiAgICA8IS0tIEljb25vIGRlIHJlY2FyZ2EgLS0+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlVGhlbWUoKVwiPlxuICAgICAgPHNwYW4+8J+MmTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDwhLS0gSWNvbm8gZGUgbWVuw7ogLS0+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCI+XG4gICAgICA8c3Bhbj7imLA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9oZWFkZXI+XG5cbkBpZihuYXZJdGVtcyAmJiBuYXZJdGVtcy5sZW5ndGggPiAwKSB7XG4gIDxsaWItbmF2LW1vZGFsXG4gICAgW25hdkl0ZW1zXT1cIm5hdkl0ZW1zXCJcbiAgPjwvbGliLW5hdi1tb2RhbD5cbn1cbjxsaWItbGFuZy1tb2RhbD48L2xpYi1sYW5nLW1vZGFsPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNsZWFyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9oZWFkZXItY2xlYXIvaGVhZGVyLWNsZWFyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBIZWFkZXJDbGVhckkge1xuICBcbn0iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './header-clear.component';
2
+ export * from './header-clear.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaGVhZGVyLWNsZWFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVhZGVyLWNsZWFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRlci1jbGVhci5pbnRlcmZhY2UnOyJdfQ==
@@ -1,2 +1,5 @@
1
1
  export * from './hero-section';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVyby1zZWN0aW9uJztcbiJdfQ==
2
+ export * from './header-clear';
3
+ export * from './nav-modal';
4
+ export * from './lang-modal';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oZXJvLXNlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItY2xlYXInO1xuZXhwb3J0ICogZnJvbSAnLi9uYXYtbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW5nLW1vZGFsJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './lang-modal.component';
2
+ export * from './lang-modal.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGFuZy1tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xhbmctbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGFuZy1tb2RhbC5pbnRlcmZhY2UnOyJdfQ==
@@ -0,0 +1,12 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class LangModalComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LangModalComponent, isStandalone: true, selector: "lib-lang-modal", ngImport: i0, template: "<p>lang-modal works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangModalComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'lib-lang-modal', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>lang-modal works!</p>\n" }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGFuZy1tb2RhbC9sYW5nLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9sYW5nLW1vZGFsL2xhbmctbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVW5FLE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjttR0FBbEIsa0JBQWtCLDBFQ1gvQiw0QkFDQSx5RERLWSxZQUFZOzs0RkFLWCxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbGFuZy1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbGFuZy1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9sYW5nLW1vZGFsLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExhbmdNb2RhbENvbXBvbmVudCB7XG5cbn1cbiIsIjxwPmxhbmctbW9kYWwgd29ya3MhPC9wPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1tb2RhbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGFuZy1tb2RhbC9sYW5nLW1vZGFsLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMYW5nTW9kYWxJIHtcbn0iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './nav-modal.component';
2
+ export * from './nav-modal.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbmF2LW1vZGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmF2LW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25hdi1tb2RhbC5pbnRlcmZhY2UnOyJdfQ==
@@ -0,0 +1,17 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
+ import { LinkTypeDirective } from '../../../directives/link-type.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class NavModalComponent {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: NavModalComponent, isStandalone: true, selector: "lib-nav-modal", inputs: { navItems: "navItems", socialItems: "socialItems" }, ngImport: i0, template: "@if (navItems && navItems.length > 0) {\n <ol>\n @for (item of navItems; track $index) {\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">\n <li>\n <span>{{ item.label }}</span>\n </li>\n </a>\n }\n </ol>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavModalComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'lib-nav-modal', standalone: true, imports: [CommonModule, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (navItems && navItems.length > 0) {\n <ol>\n @for (item of navItems; track $index) {\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">\n <li>\n <span>{{ item.label }}</span>\n </li>\n </a>\n }\n </ol>\n}\n" }]
12
+ }], propDecorators: { navItems: [{
13
+ type: Input
14
+ }], socialItems: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9uYXYtbW9kYWwvbmF2LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9uYXYtbW9kYWwvbmF2LW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFVNUUsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO21HQUFqQixpQkFBaUIsdUlDYjlCLGlRQVdBLHlEREhZLFlBQVksK0JBQUUsaUJBQWlCOzs0RkFLOUIsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsbUJBR3pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWlMaWJOYXZJdGVtc0kgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL3VpLWxpYi1uYXYtaXRlbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9saW5rLXR5cGUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW5hdi1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIExpbmtUeXBlRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9uYXYtbW9kYWwuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmF2TW9kYWxDb21wb25lbnQge1xuICBASW5wdXQoKSBuYXZJdGVtcz86IFVpTGliTmF2SXRlbXNJW107XG4gIEBJbnB1dCgpIHNvY2lhbEl0ZW1zPzogVWlMaWJOYXZJdGVtc0lbXTtcbn1cbiIsIkBpZiAobmF2SXRlbXMgJiYgbmF2SXRlbXMubGVuZ3RoID4gMCkge1xuICA8b2w+XG4gICAgQGZvciAoaXRlbSBvZiBuYXZJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8YSBbaHJlZl09XCJpdGVtLnVybFwiIFtsaW5rVHlwZV09XCJpdGVtLmxpbmtUeXBlXCI+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8c3Bhbj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9hPlxuICAgIH1cbiAgPC9vbD5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1vZGFsLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9uYXYtbW9kYWwvbmF2LW1vZGFsLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVWlMaWJOYXZJdGVtc0kgfSBmcm9tIFwiLi4vLi4vLi4vaW50ZXJmYWNlcy91aS1saWItbmF2LWl0ZW1zLmludGVyZmFjZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdk1vZGFsSSB7XG4gIG5hdkl0ZW1zPzogVWlMaWJOYXZJdGVtc0lbXTtcbiAgc29jaWFsSXRlbXM/OiBVaUxpYk5hdkl0ZW1zSVtdO1xufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvaW50ZXJmYWNlcy9wYWdlLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQm9keUNvbXBvbmVudDxUPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIHByb3BzOiBUO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlQ29tcG9uZW50IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHBhZ2VfaWQ6IG51bWJlcjtcbiAgICBjb21wb25lbnRfaWQ6IG51bWJlcjtcbiAgICBvcmRlcjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VDb21wb25lbnRUcmFuc2xhdGlvbiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBwYWdlX2NvbXBvbmVudF9pZDogbnVtYmVyO1xuICAgIGxhbmdfaWQ6IG51bWJlcjtcbiAgICBwcm9wczogYW55O1xuICAgIHBhZ2VfY29tcG9uZW50PzogUGFnZUNvbXBvbmVudDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvaW50ZXJmYWNlcy9wYWdlLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQm9keUNvbXBvbmVudDxUPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIHByb3BzOiBUO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlQ29tcG9uZW50IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHBhZ2VfaWQ6IG51bWJlcjtcbiAgICBjb21wb25lbnRfaWQ6IG51bWJlcjtcbiAgICBvcmRlcjogbnVtYmVyO1xuICAgIGNvbXBvbmVudD86IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUNvbXBvbmVudFRyYW5zbGF0aW9uIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHBhZ2VfY29tcG9uZW50X2lkOiBudW1iZXI7XG4gICAgbGFuZ19pZDogbnVtYmVyO1xuICAgIHByb3BzOiBhbnk7XG4gICAgcGFnZV9jb21wb25lbnQ/OiBQYWdlQ29tcG9uZW50O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGliLW5hdi1pdGVtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9pbnRlcmZhY2VzL3VpLWxpYi1uYXYtaXRlbXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5rVHlwZSB9IGZyb20gXCIuLi9FbnVtL2xpbmstdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBVaUxpYkJ1dHRvbkkgfSBmcm9tIFwiLi91aS1saWItYnV0dG9uLmludGVyZmFjZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVpTGliTmF2SXRlbXNJIHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgbGlua1R5cGU/OiBMaW5rVHlwZTtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgY2hpbGRyZW4/OiBVaUxpYkJ1dHRvbklbXTtcbn0iXX0=
@@ -0,0 +1,13 @@
1
+ import { mapNavModalWithLang } from "./nav-modal.mapper";
2
+ export const mapHeaderClear = (props) => {
3
+ // Obtener el idioma de las props
4
+ const currentLang = props?.lang || 'es';
5
+ // Mapear solo los navLinks del nav-modal con el idioma correcto
6
+ const navItems = mapNavModalWithLang(props?.['nav-modal']?.navLinks || [], currentLang);
7
+ return {
8
+ logo: props?.logo,
9
+ lang: currentLang,
10
+ navItems: navItems
11
+ };
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNsZWFyLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL3NlcnZpY2VzL21hcHBlci9jb21wb25lbnQtbWFwcGVycy9oZWFkZXItY2xlYXIubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBc0IsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUN6RCxpQ0FBaUM7SUFDakMsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFFeEMsZ0VBQWdFO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFeEYsT0FBTztRQUNMLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtRQUNqQixJQUFJLEVBQUUsV0FBVztRQUNqQixRQUFRLEVBQUUsUUFBUTtLQUNuQixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwTmF2TW9kYWxXaXRoTGFuZyB9IGZyb20gXCIuL25hdi1tb2RhbC5tYXBwZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckZuIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IG1hcEhlYWRlckNsZWFyOiBDb21wb25lbnRNYXBwZXJGbiA9IChwcm9wcykgPT4ge1xuICAvLyBPYnRlbmVyIGVsIGlkaW9tYSBkZSBsYXMgcHJvcHNcbiAgY29uc3QgY3VycmVudExhbmcgPSBwcm9wcz8ubGFuZyB8fCAnZXMnO1xuICBcbiAgLy8gTWFwZWFyIHNvbG8gbG9zIG5hdkxpbmtzIGRlbCBuYXYtbW9kYWwgY29uIGVsIGlkaW9tYSBjb3JyZWN0b1xuICBjb25zdCBuYXZJdGVtcyA9IG1hcE5hdk1vZGFsV2l0aExhbmcocHJvcHM/LlsnbmF2LW1vZGFsJ10/Lm5hdkxpbmtzIHx8IFtdLCBjdXJyZW50TGFuZyk7XG4gIFxuICByZXR1cm4geyBcbiAgICBsb2dvOiBwcm9wcz8ubG9nbyxcbiAgICBsYW5nOiBjdXJyZW50TGFuZyxcbiAgICBuYXZJdGVtczogbmF2SXRlbXNcbiAgfTtcbn07Il19
@@ -1,6 +1,11 @@
1
+ import { mapHeaderClear } from './header-clear.mapper';
1
2
  import { mapHeroSection } from './hero-section.mapper';
2
- // importa más mappers aquí...
3
+ import { mapLangModal } from './lang-modal.mapper';
4
+ import { mapNavModal } from './nav-modal.mapper';
3
5
  export const componentMappers = {
4
6
  'hero-section': mapHeroSection,
7
+ 'header-clear': mapHeaderClear,
8
+ 'nav-modal': mapNavModal,
9
+ 'lang-modal': mapLangModal,
5
10
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvY29tcG9uZW50LW1hcHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELDhCQUE4QjtBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBd0M7SUFDakUsY0FBYyxFQUFFLGNBQWM7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcEhlcm9TZWN0aW9uIH0gZnJvbSAnLi9oZXJvLXNlY3Rpb24ubWFwcGVyJztcbi8vIGltcG9ydGEgbcOhcyBtYXBwZXJzIGFxdcOtLi4uXG5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRNYXBwZXJzOiBSZWNvcmQ8c3RyaW5nLCAocHJvcHM6IGFueSkgPT4gYW55PiA9IHtcbiAgICAnaGVyby1zZWN0aW9uJzogbWFwSGVyb1NlY3Rpb24sXG59O1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvY29tcG9uZW50LW1hcHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUF3QztJQUNqRSxjQUFjLEVBQUUsY0FBYztJQUM5QixjQUFjLEVBQUUsY0FBYztJQUM5QixXQUFXLEVBQUUsV0FBVztJQUN4QixZQUFZLEVBQUUsWUFBWTtDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwSGVhZGVyQ2xlYXIgfSBmcm9tICcuL2hlYWRlci1jbGVhci5tYXBwZXInO1xuaW1wb3J0IHsgbWFwSGVyb1NlY3Rpb24gfSBmcm9tICcuL2hlcm8tc2VjdGlvbi5tYXBwZXInO1xuaW1wb3J0IHsgbWFwTGFuZ01vZGFsIH0gZnJvbSAnLi9sYW5nLW1vZGFsLm1hcHBlcic7XG5pbXBvcnQgeyBtYXBOYXZNb2RhbCB9IGZyb20gJy4vbmF2LW1vZGFsLm1hcHBlcic7XG5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRNYXBwZXJzOiBSZWNvcmQ8c3RyaW5nLCAocHJvcHM6IGFueSkgPT4gYW55PiA9IHtcbiAgICAnaGVyby1zZWN0aW9uJzogbWFwSGVyb1NlY3Rpb24sXG4gICAgJ2hlYWRlci1jbGVhcic6IG1hcEhlYWRlckNsZWFyLFxuICAgICduYXYtbW9kYWwnOiBtYXBOYXZNb2RhbCxcbiAgICAnbGFuZy1tb2RhbCc6IG1hcExhbmdNb2RhbCxcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export const mapLangModal = (props) => ({});
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1tb2RhbC5tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvY29tcG9uZW50LW1hcHBlcnMvbGFuZy1tb2RhbC5tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFzQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUUxRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRNYXBwZXJGbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBtYXBMYW5nTW9kYWw6IENvbXBvbmVudE1hcHBlckZuID0gKHByb3BzKSA9PiAoeyBcbiAgXG59KTsiXX0=
@@ -0,0 +1,29 @@
1
+ export const mapNavModalWithLang = (props, langCode) => {
2
+ if (!Array.isArray(props))
3
+ return [];
4
+ return props.map(item => {
5
+ // Usar directamente la URL que ya viene en nav_link.url
6
+ const url = item.nav_link?.url ?? item.nav_link?.external_url;
7
+ return {
8
+ label: item.label,
9
+ url: url,
10
+ linkType: item.nav_link?.linktype,
11
+ children: item.nav_link?.children || [],
12
+ active: item.nav_link?.active,
13
+ order: item.nav_link?.order,
14
+ };
15
+ });
16
+ };
17
+ export const mapNavModal = (props) => {
18
+ if (!Array.isArray(props))
19
+ return [];
20
+ return props.map(item => ({
21
+ label: item.label,
22
+ url: item.nav_link?.url ?? item.nav_link?.external_url,
23
+ linkType: item.nav_link?.linktype,
24
+ children: item.nav_link?.children || [],
25
+ active: item.nav_link?.active,
26
+ order: item.nav_link?.order,
27
+ }));
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1vZGFsLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL3NlcnZpY2VzL21hcHBlci9jb21wb25lbnQtbWFwcGVycy9uYXYtbW9kYWwubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBWSxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUNwRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUVyQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsd0RBQXdEO1FBQ3hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBRTlELE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsSUFBSSxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU07WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSztTQUM1QixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXNCLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFFckMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsWUFBWTtRQUN0RCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRO1FBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsSUFBSSxFQUFFO1FBQ3ZDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU07UUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSztLQUM1QixDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudE1hcHBlckZuIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IG1hcE5hdk1vZGFsV2l0aExhbmcgPSAocHJvcHM6IGFueVtdLCBsYW5nQ29kZTogc3RyaW5nKSA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheShwcm9wcykpIHJldHVybiBbXTtcbiAgXG4gIHJldHVybiBwcm9wcy5tYXAoaXRlbSA9PiB7XG4gICAgLy8gVXNhciBkaXJlY3RhbWVudGUgbGEgVVJMIHF1ZSB5YSB2aWVuZSBlbiBuYXZfbGluay51cmxcbiAgICBjb25zdCB1cmwgPSBpdGVtLm5hdl9saW5rPy51cmwgPz8gaXRlbS5uYXZfbGluaz8uZXh0ZXJuYWxfdXJsO1xuICAgIFxuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogaXRlbS5sYWJlbCxcbiAgICAgIHVybDogdXJsLFxuICAgICAgbGlua1R5cGU6IGl0ZW0ubmF2X2xpbms/Lmxpbmt0eXBlLFxuICAgICAgY2hpbGRyZW46IGl0ZW0ubmF2X2xpbms/LmNoaWxkcmVuIHx8IFtdLFxuICAgICAgYWN0aXZlOiBpdGVtLm5hdl9saW5rPy5hY3RpdmUsXG4gICAgICBvcmRlcjogaXRlbS5uYXZfbGluaz8ub3JkZXIsXG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFwTmF2TW9kYWw6IENvbXBvbmVudE1hcHBlckZuID0gKHByb3BzKSA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheShwcm9wcykpIHJldHVybiBbXTtcbiAgXG4gIHJldHVybiBwcm9wcy5tYXAoaXRlbSA9PiAoe1xuICAgIGxhYmVsOiBpdGVtLmxhYmVsLFxuICAgIHVybDogaXRlbS5uYXZfbGluaz8udXJsID8/IGl0ZW0ubmF2X2xpbms/LmV4dGVybmFsX3VybCxcbiAgICBsaW5rVHlwZTogaXRlbS5uYXZfbGluaz8ubGlua3R5cGUsXG4gICAgY2hpbGRyZW46IGl0ZW0ubmF2X2xpbms/LmNoaWxkcmVuIHx8IFtdLFxuICAgIGFjdGl2ZTogaXRlbS5uYXZfbGluaz8uYWN0aXZlLFxuICAgIG9yZGVyOiBpdGVtLm5hdl9saW5rPy5vcmRlcixcbiAgfSkpO1xufTsiXX0=
@@ -129,6 +129,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
129
129
  type: Input
130
130
  }] } });
131
131
 
132
+ class LangModalComponent {
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LangModalComponent, isStandalone: true, selector: "lib-lang-modal", ngImport: i0, template: "<p>lang-modal works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
135
+ }
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangModalComponent, decorators: [{
137
+ type: Component,
138
+ args: [{ selector: 'lib-lang-modal', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>lang-modal works!</p>\n" }]
139
+ }] });
140
+
141
+ class NavModalComponent {
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: NavModalComponent, isStandalone: true, selector: "lib-nav-modal", inputs: { navItems: "navItems", socialItems: "socialItems" }, ngImport: i0, template: "@if (navItems && navItems.length > 0) {\n <ol>\n @for (item of navItems; track $index) {\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">\n <li>\n <span>{{ item.label }}</span>\n </li>\n </a>\n }\n </ol>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
144
+ }
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavModalComponent, decorators: [{
146
+ type: Component,
147
+ args: [{ selector: 'lib-nav-modal', standalone: true, imports: [CommonModule, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (navItems && navItems.length > 0) {\n <ol>\n @for (item of navItems; track $index) {\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">\n <li>\n <span>{{ item.label }}</span>\n </li>\n </a>\n }\n </ol>\n}\n" }]
148
+ }], propDecorators: { navItems: [{
149
+ type: Input
150
+ }], socialItems: [{
151
+ type: Input
152
+ }] } });
153
+
154
+ class HeaderClearComponent {
155
+ constructor() {
156
+ this.langModal = new EventEmitter();
157
+ this.theme = new EventEmitter();
158
+ }
159
+ openLanguagesModal() {
160
+ this.langModal.emit();
161
+ }
162
+ toggleTheme() {
163
+ this.theme.emit();
164
+ }
165
+ toggleMenu() {
166
+ console.log('menu open');
167
+ }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderClearComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HeaderClearComponent, isStandalone: true, selector: "lib-header-clear", inputs: { logo: "logo", lang: "lang", navItems: "navItems" }, outputs: { langModal: "langModal", theme: "theme" }, ngImport: i0, template: "<header>\n <div>\n <!-- Logo -->\n <span>\u2605</span>\n <span>LLUC LLULL</span>\n </div>\n\n <div>\n <!-- Idioma -->\n <button (click)=\"openLanguagesModal()\">\n <span>ES</span>\n </button>\n\n <!-- Icono de recarga -->\n <button (click)=\"toggleTheme()\">\n <span>\uD83C\uDF19</span>\n </button>\n\n <!-- Icono de men\u00FA -->\n <button (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</header>\n\n@if(navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n ></lib-nav-modal>\n}\n<lib-lang-modal></lib-lang-modal>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LangModalComponent, selector: "lib-lang-modal" }, { kind: "component", type: NavModalComponent, selector: "lib-nav-modal", inputs: ["navItems", "socialItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
170
+ }
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderClearComponent, decorators: [{
172
+ type: Component,
173
+ args: [{ selector: 'lib-header-clear', standalone: true, imports: [CommonModule, LangModalComponent, NavModalComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header>\n <div>\n <!-- Logo -->\n <span>\u2605</span>\n <span>LLUC LLULL</span>\n </div>\n\n <div>\n <!-- Idioma -->\n <button (click)=\"openLanguagesModal()\">\n <span>ES</span>\n </button>\n\n <!-- Icono de recarga -->\n <button (click)=\"toggleTheme()\">\n <span>\uD83C\uDF19</span>\n </button>\n\n <!-- Icono de men\u00FA -->\n <button (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</header>\n\n@if(navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n ></lib-nav-modal>\n}\n<lib-lang-modal></lib-lang-modal>\n" }]
174
+ }], propDecorators: { logo: [{
175
+ type: Input
176
+ }], lang: [{
177
+ type: Input
178
+ }], navItems: [{
179
+ type: Input
180
+ }], langModal: [{
181
+ type: Output
182
+ }], theme: [{
183
+ type: Output
184
+ }] } });
185
+
186
+ const mapNavModalWithLang = (props, langCode) => {
187
+ if (!Array.isArray(props))
188
+ return [];
189
+ return props.map(item => {
190
+ // Usar directamente la URL que ya viene en nav_link.url
191
+ const url = item.nav_link?.url ?? item.nav_link?.external_url;
192
+ return {
193
+ label: item.label,
194
+ url: url,
195
+ linkType: item.nav_link?.linktype,
196
+ children: item.nav_link?.children || [],
197
+ active: item.nav_link?.active,
198
+ order: item.nav_link?.order,
199
+ };
200
+ });
201
+ };
202
+ const mapNavModal = (props) => {
203
+ if (!Array.isArray(props))
204
+ return [];
205
+ return props.map(item => ({
206
+ label: item.label,
207
+ url: item.nav_link?.url ?? item.nav_link?.external_url,
208
+ linkType: item.nav_link?.linktype,
209
+ children: item.nav_link?.children || [],
210
+ active: item.nav_link?.active,
211
+ order: item.nav_link?.order,
212
+ }));
213
+ };
214
+
215
+ const mapHeaderClear = (props) => {
216
+ // Obtener el idioma de las props
217
+ const currentLang = props?.lang || 'es';
218
+ // Mapear solo los navLinks del nav-modal con el idioma correcto
219
+ const navItems = mapNavModalWithLang(props?.['nav-modal']?.navLinks || [], currentLang);
220
+ return {
221
+ logo: props?.logo,
222
+ lang: currentLang,
223
+ navItems: navItems
224
+ };
225
+ };
226
+
132
227
  function mapButtons(data) {
133
228
  if (!Array.isArray(data))
134
229
  return [];
@@ -174,9 +269,13 @@ const mapHeroSection = (props) => ({
174
269
  buttons: mapButtons(props?.buttons),
175
270
  });
176
271
 
177
- // importa más mappers aquí...
272
+ const mapLangModal = (props) => ({});
273
+
178
274
  const componentMappers = {
179
275
  'hero-section': mapHeroSection,
276
+ 'header-clear': mapHeaderClear,
277
+ 'nav-modal': mapNavModal,
278
+ 'lang-modal': mapLangModal,
180
279
  };
181
280
 
182
281
  class MapperService {
@@ -233,5 +332,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
233
332
  * Generated bundle index. Do not edit.
234
333
  */
235
334
 
236
- export { HeroSectionComponent, MapperService, componentMappers, mapButtons, mapImage, mapImageOrGallery };
335
+ export { HeaderClearComponent, HeroSectionComponent, LangModalComponent, MapperService, NavModalComponent, componentMappers, mapButtons, mapImage, mapImageOrGallery };
237
336
  //# sourceMappingURL=lluc_llull-ui-lib.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lluc_llull-ui-lib.mjs","sources":["../../../projects/ui-lib/src/lib/Enum/link-type.enum.ts","../../../projects/ui-lib/src/lib/directives/link-type.directive.ts","../../../projects/ui-lib/src/lib/components/core/hero-section/hero-section.component.ts","../../../projects/ui-lib/src/lib/components/core/hero-section/hero-section.component.html","../../../projects/ui-lib/src/lib/utils/utils.ts","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/hero-section.mapper.ts","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/index.ts","../../../projects/ui-lib/src/lib/services/mapper/mapper.service.ts","../../../projects/ui-lib/src/public-api.ts","../../../projects/ui-lib/src/lluc_llull-ui-lib.ts"],"sourcesContent":["export enum LinkType {\n Internal = 'internal',\n External = 'external',\n Anchor = 'anchor',\n Pdf = 'pdf',\n NoLink = 'nolink',\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, EventEmitter, HostListener, inject, Input, OnInit, Output, PLATFORM_ID } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LinkType } from '../Enum/link-type.enum';\n\n@Directive({\n selector: '[linkType]',\n standalone: true,\n})\nexport class LinkTypeDirective implements OnInit {\n @Input() linkType?: LinkType;\n @Input() href?: string;\n @Output() anchorClicked = new EventEmitter<void>();\n\n private readonly platformId = inject(PLATFORM_ID);\n\n constructor(private readonly router: Router, private readonly elRef: ElementRef) {}\n\n ngOnInit(): void {\n this.setupLinkAttributes();\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (!this.linkType || !this.href) {\n this.disableLink();\n return;\n }\n\n event.preventDefault();\n\n switch (this.linkType) {\n case 'internal':\n this.navigateInternal(this.href);\n break;\n case 'external':\n case 'pdf':\n this.openExternal(this.href);\n break;\n case 'anchor':\n this.scrollToAnchor(this.href);\n break;\n case 'nolink':\n this.disableLink();\n break;\n default:\n console.warn(`Unsupported linkType: ${this.linkType}`);\n }\n }\n\n private setupLinkAttributes() {\n if (!this.linkType || !this.href) {\n this.disableLink();\n return;\n }\n\n this.elRef.nativeElement.setAttribute('href', this.href);\n\n if (this.linkType === 'external') {\n this.elRef.nativeElement.setAttribute('rel', 'nofollow');\n }\n }\n\n private navigateInternal(url: string) {\n const cleanedUrl = url.trim().replace(/\\/+$/, '');\n this.anchorClicked.emit();\n this.router.navigateByUrl('/' + cleanedUrl);\n }\n\n private openExternal(url: string) {\n if (isPlatformBrowser(this.platformId)) {\n window.open(url, '_blank');\n }\n }\n\n private scrollToAnchor(id: string) {\n if (isPlatformBrowser(this.platformId)) {\n const el = document.getElementById(id);\n if (el) {\n const yOffset = -160;\n const y = el.getBoundingClientRect().top + window.scrollY + yOffset;\n window.scrollTo({ top: y, behavior: 'smooth' });\n this.anchorClicked.emit();\n } else {\n console.warn(`Anchor \"${id}\" not found`);\n }\n }\n }\n\n private disableLink() {\n const element = this.elRef.nativeElement;\n const parentLi = element.closest('li');\n const isInMenu = parentLi?.classList.contains('menu-item-has-children');\n\n if (!isInMenu) {\n element.removeAttribute('href');\n element.setAttribute('aria-disabled', 'true');\n element.setAttribute('tabindex', '-1');\n element.style.cursor = 'default';\n element.style.pointerEvents = 'none';\n }\n }\n}\nexport { LinkType };\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibButtonI } from '../../../interfaces';\nimport { LinkTypeDirective } from '../../../directives/link-type.directive';\n\n@Component({\n selector: 'lib-hero-section',\n standalone: true,\n imports: [CommonModule, LinkTypeDirective],\n templateUrl: './hero-section.component.html',\n styleUrl: './hero-section.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeroSectionComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() text?: string;\n @Input() buttons?: UiLibButtonI[];\n}\n","<div class=\"hero-section\">\n @if (title) {\n <h1>{{ title }}</h1>\n }\n @if (text) {\n <p>{{ text }}</p>\n }\n @if (buttons && buttons.length > 0) {\n <div class=\"buttons\">\n @for (button of buttons; track $index) {\n <ng-container>\n <a class=\"btn\" [href]=\"button.url\" [linkType]=\"button.linkType\">\n {{ button.label }}\n </a>\n </ng-container>\n }\n </div>\n }\n</div>\n","import { UiLibButtonI } from '../interfaces/ui-lib-button.interface';\nimport { UiLibImageI } from '../interfaces/ui-lib-image.interface';\n\nexport function mapButtons(data: any): UiLibButtonI[] {\n if (!Array.isArray(data)) return [];\n\n return data\n .filter((item) => item && typeof item === 'object')\n .map(\n (item): UiLibButtonI => ({\n label: item.label ?? '',\n url: item.url ?? '#',\n linkType: item.link_type ?? 'none',\n icon: item.icon,\n })\n );\n}\n\nexport function mapImage(data: any): UiLibImageI | null {\n if (!data || typeof data !== 'object') return null;\n\n return {\n url: data.url ?? '',\n alt: data.alt ?? '',\n width: data.width,\n height: data.height,\n format: data.format,\n };\n}\n\nexport function mapImageOrGallery(data: any): UiLibImageI[] {\n if (!data) return [];\n\n // Si es array → galería\n if (Array.isArray(data)) {\n return data\n .filter((img) => img && typeof img === 'object')\n .map((img) => mapImage(img)!)\n .filter(Boolean);\n }\n\n // Si es objeto → imagen única\n const single = mapImage(data);\n return single ? [single] : [];\n}\n","import { mapButtons } from '../../../utils/utils';\nimport { ComponentMapperFn } from './types';\n\nexport const mapHeroSection: ComponentMapperFn = (props) => ({\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n text: props?.texts?.text,\n buttons: mapButtons(props?.buttons),\n});\n","import { mapHeroSection } from './hero-section.mapper';\n// importa más mappers aquí...\n\nexport const componentMappers: Record<string, (props: any) => any> = {\n 'hero-section': mapHeroSection,\n};\n","import { inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { BodyComponent } from '../../interfaces/page-config.interface';\nimport { componentMappers } from './component-mappers';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapperService {\n private platformId = inject(PLATFORM_ID);\n\n mapComponents<T>(body: any[]): BodyComponent<T>[] {\n if (!body || body.length === 0) {\n return [];\n }\n\n return body\n .filter(\n (component) => component && component.name && component.props\n )\n .map((component) => {\n const name = component.name.toLowerCase();\n const mapper = componentMappers[name];\n\n const mapped: BodyComponent<T> = {\n name,\n order: component.order,\n props: {} as T,\n };\n\n if (mapper) {\n try {\n mapped.props = mapper(component.props) as T;\n } catch (e) {\n console.error(\n `Error mapping props for component \"${name}\"`,\n e\n );\n }\n } else {\n console.warn(`No mapper found for component \"${name}\"`);\n }\n\n return mapped;\n });\n }\n}\n","/*\n * Public API Surface of ui-lib\n */\n\n/* COMPONENTS */\nexport * from './lib/components/core/index';\n// export * from './lib/components/shared/index';\n\n// /* SERVICES */\nexport * from './lib/services';\n\n// /* INTERFACES */\nexport * from './lib/interfaces/index';\n\n// /* UTILS */\nexport * from './lib/utils';\n\n// /* ENUMS */\n// export * from './lib/Enum';\n\n// export * from './lib/ui-lib.component';\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":"lluc_llull-ui-lib.mjs","sources":["../../../projects/ui-lib/src/lib/Enum/link-type.enum.ts","../../../projects/ui-lib/src/lib/directives/link-type.directive.ts","../../../projects/ui-lib/src/lib/components/core/hero-section/hero-section.component.ts","../../../projects/ui-lib/src/lib/components/core/hero-section/hero-section.component.html","../../../projects/ui-lib/src/lib/components/core/lang-modal/lang-modal.component.ts","../../../projects/ui-lib/src/lib/components/core/lang-modal/lang-modal.component.html","../../../projects/ui-lib/src/lib/components/core/nav-modal/nav-modal.component.ts","../../../projects/ui-lib/src/lib/components/core/nav-modal/nav-modal.component.html","../../../projects/ui-lib/src/lib/components/core/header-clear/header-clear.component.ts","../../../projects/ui-lib/src/lib/components/core/header-clear/header-clear.component.html","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/nav-modal.mapper.ts","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/header-clear.mapper.ts","../../../projects/ui-lib/src/lib/utils/utils.ts","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/hero-section.mapper.ts","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/lang-modal.mapper.ts","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/index.ts","../../../projects/ui-lib/src/lib/services/mapper/mapper.service.ts","../../../projects/ui-lib/src/public-api.ts","../../../projects/ui-lib/src/lluc_llull-ui-lib.ts"],"sourcesContent":["export enum LinkType {\n Internal = 'internal',\n External = 'external',\n Anchor = 'anchor',\n Pdf = 'pdf',\n NoLink = 'nolink',\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, EventEmitter, HostListener, inject, Input, OnInit, Output, PLATFORM_ID } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LinkType } from '../Enum/link-type.enum';\n\n@Directive({\n selector: '[linkType]',\n standalone: true,\n})\nexport class LinkTypeDirective implements OnInit {\n @Input() linkType?: LinkType;\n @Input() href?: string;\n @Output() anchorClicked = new EventEmitter<void>();\n\n private readonly platformId = inject(PLATFORM_ID);\n\n constructor(private readonly router: Router, private readonly elRef: ElementRef) {}\n\n ngOnInit(): void {\n this.setupLinkAttributes();\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (!this.linkType || !this.href) {\n this.disableLink();\n return;\n }\n\n event.preventDefault();\n\n switch (this.linkType) {\n case 'internal':\n this.navigateInternal(this.href);\n break;\n case 'external':\n case 'pdf':\n this.openExternal(this.href);\n break;\n case 'anchor':\n this.scrollToAnchor(this.href);\n break;\n case 'nolink':\n this.disableLink();\n break;\n default:\n console.warn(`Unsupported linkType: ${this.linkType}`);\n }\n }\n\n private setupLinkAttributes() {\n if (!this.linkType || !this.href) {\n this.disableLink();\n return;\n }\n\n this.elRef.nativeElement.setAttribute('href', this.href);\n\n if (this.linkType === 'external') {\n this.elRef.nativeElement.setAttribute('rel', 'nofollow');\n }\n }\n\n private navigateInternal(url: string) {\n const cleanedUrl = url.trim().replace(/\\/+$/, '');\n this.anchorClicked.emit();\n this.router.navigateByUrl('/' + cleanedUrl);\n }\n\n private openExternal(url: string) {\n if (isPlatformBrowser(this.platformId)) {\n window.open(url, '_blank');\n }\n }\n\n private scrollToAnchor(id: string) {\n if (isPlatformBrowser(this.platformId)) {\n const el = document.getElementById(id);\n if (el) {\n const yOffset = -160;\n const y = el.getBoundingClientRect().top + window.scrollY + yOffset;\n window.scrollTo({ top: y, behavior: 'smooth' });\n this.anchorClicked.emit();\n } else {\n console.warn(`Anchor \"${id}\" not found`);\n }\n }\n }\n\n private disableLink() {\n const element = this.elRef.nativeElement;\n const parentLi = element.closest('li');\n const isInMenu = parentLi?.classList.contains('menu-item-has-children');\n\n if (!isInMenu) {\n element.removeAttribute('href');\n element.setAttribute('aria-disabled', 'true');\n element.setAttribute('tabindex', '-1');\n element.style.cursor = 'default';\n element.style.pointerEvents = 'none';\n }\n }\n}\nexport { LinkType };\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibButtonI } from '../../../interfaces';\nimport { LinkTypeDirective } from '../../../directives/link-type.directive';\n\n@Component({\n selector: 'lib-hero-section',\n standalone: true,\n imports: [CommonModule, LinkTypeDirective],\n templateUrl: './hero-section.component.html',\n styleUrl: './hero-section.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeroSectionComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() text?: string;\n @Input() buttons?: UiLibButtonI[];\n}\n","<div class=\"hero-section\">\n @if (title) {\n <h1>{{ title }}</h1>\n }\n @if (text) {\n <p>{{ text }}</p>\n }\n @if (buttons && buttons.length > 0) {\n <div class=\"buttons\">\n @for (button of buttons; track $index) {\n <ng-container>\n <a class=\"btn\" [href]=\"button.url\" [linkType]=\"button.linkType\">\n {{ button.label }}\n </a>\n </ng-container>\n }\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'lib-lang-modal',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './lang-modal.component.html',\n styleUrl: './lang-modal.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LangModalComponent {\n\n}\n","<p>lang-modal works!</p>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibNavItemsI } from '../../../interfaces/ui-lib-nav-items.interface';\nimport { LinkTypeDirective } from '../../../directives/link-type.directive';\n\n@Component({\n selector: 'lib-nav-modal',\n standalone: true,\n imports: [CommonModule, LinkTypeDirective],\n templateUrl: './nav-modal.component.html',\n styleUrl: './nav-modal.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavModalComponent {\n @Input() navItems?: UiLibNavItemsI[];\n @Input() socialItems?: UiLibNavItemsI[];\n}\n","@if (navItems && navItems.length > 0) {\n <ol>\n @for (item of navItems; track $index) {\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">\n <li>\n <span>{{ item.label }}</span>\n </li>\n </a>\n }\n </ol>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { LangModalComponent } from \"../lang-modal\";\nimport { NavModalComponent } from \"../nav-modal\";\nimport { UiLibImageI } from '../../../interfaces/ui-lib-image.interface';\nimport { UiLibNavItemsI } from '../../../interfaces/ui-lib-nav-items.interface';\n\n@Component({\n selector: 'lib-header-clear',\n standalone: true,\n imports: [CommonModule, LangModalComponent, NavModalComponent],\n templateUrl: './header-clear.component.html',\n styleUrl: './header-clear.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderClearComponent {\n @Input() logo?: UiLibImageI;\n @Input() lang?: string;\n @Input() navItems?: UiLibNavItemsI[];\n\n @Output() langModal = new EventEmitter<void>();\n @Output() theme = new EventEmitter<void>();\n\n openLanguagesModal(): void {\n this.langModal.emit();\n }\n\n toggleTheme(): void {\n this.theme.emit();\n }\n\n toggleMenu(): void {\n console.log('menu open');\n }\n}\n","<header>\n <div>\n <!-- Logo -->\n <span>★</span>\n <span>LLUC LLULL</span>\n </div>\n\n <div>\n <!-- Idioma -->\n <button (click)=\"openLanguagesModal()\">\n <span>ES</span>\n </button>\n\n <!-- Icono de recarga -->\n <button (click)=\"toggleTheme()\">\n <span>🌙</span>\n </button>\n\n <!-- Icono de menú -->\n <button (click)=\"toggleMenu()\">\n <span>☰</span>\n </button>\n </div>\n</header>\n\n@if(navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n ></lib-nav-modal>\n}\n<lib-lang-modal></lib-lang-modal>\n","import { ComponentMapperFn } from \"./types\";\n\nexport const mapNavModalWithLang = (props: any[], langCode: string) => {\n if (!Array.isArray(props)) return [];\n \n return props.map(item => {\n // Usar directamente la URL que ya viene en nav_link.url\n const url = item.nav_link?.url ?? item.nav_link?.external_url;\n \n return {\n label: item.label,\n url: url,\n linkType: item.nav_link?.linktype,\n children: item.nav_link?.children || [],\n active: item.nav_link?.active,\n order: item.nav_link?.order,\n };\n });\n};\n\nexport const mapNavModal: ComponentMapperFn = (props) => {\n if (!Array.isArray(props)) return [];\n \n return props.map(item => ({\n label: item.label,\n url: item.nav_link?.url ?? item.nav_link?.external_url,\n linkType: item.nav_link?.linktype,\n children: item.nav_link?.children || [],\n active: item.nav_link?.active,\n order: item.nav_link?.order,\n }));\n};","import { mapNavModalWithLang } from \"./nav-modal.mapper\";\nimport { ComponentMapperFn } from \"./types\";\n\nexport const mapHeaderClear: ComponentMapperFn = (props) => {\n // Obtener el idioma de las props\n const currentLang = props?.lang || 'es';\n \n // Mapear solo los navLinks del nav-modal con el idioma correcto\n const navItems = mapNavModalWithLang(props?.['nav-modal']?.navLinks || [], currentLang);\n \n return { \n logo: props?.logo,\n lang: currentLang,\n navItems: navItems\n };\n};","import { UiLibButtonI } from '../interfaces/ui-lib-button.interface';\nimport { UiLibImageI } from '../interfaces/ui-lib-image.interface';\n\nexport function mapButtons(data: any): UiLibButtonI[] {\n if (!Array.isArray(data)) return [];\n\n return data\n .filter((item) => item && typeof item === 'object')\n .map(\n (item): UiLibButtonI => ({\n label: item.label ?? '',\n url: item.url ?? '#',\n linkType: item.link_type ?? 'none',\n icon: item.icon,\n })\n );\n}\n\nexport function mapImage(data: any): UiLibImageI | null {\n if (!data || typeof data !== 'object') return null;\n\n return {\n url: data.url ?? '',\n alt: data.alt ?? '',\n width: data.width,\n height: data.height,\n format: data.format,\n };\n}\n\nexport function mapImageOrGallery(data: any): UiLibImageI[] {\n if (!data) return [];\n\n // Si es array → galería\n if (Array.isArray(data)) {\n return data\n .filter((img) => img && typeof img === 'object')\n .map((img) => mapImage(img)!)\n .filter(Boolean);\n }\n\n // Si es objeto → imagen única\n const single = mapImage(data);\n return single ? [single] : [];\n}\n","import { mapButtons } from '../../../utils/utils';\nimport { ComponentMapperFn } from './types';\n\nexport const mapHeroSection: ComponentMapperFn = (props) => ({\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n text: props?.texts?.text,\n buttons: mapButtons(props?.buttons),\n});\n","import { ComponentMapperFn } from \"./types\";\n\nexport const mapLangModal: ComponentMapperFn = (props) => ({ \n \n});","import { mapHeaderClear } from './header-clear.mapper';\nimport { mapHeroSection } from './hero-section.mapper';\nimport { mapLangModal } from './lang-modal.mapper';\nimport { mapNavModal } from './nav-modal.mapper';\n\nexport const componentMappers: Record<string, (props: any) => any> = {\n 'hero-section': mapHeroSection,\n 'header-clear': mapHeaderClear,\n 'nav-modal': mapNavModal,\n 'lang-modal': mapLangModal,\n};\n","import { inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { BodyComponent } from '../../interfaces/page-config.interface';\nimport { componentMappers } from './component-mappers';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapperService {\n private platformId = inject(PLATFORM_ID);\n\n mapComponents<T>(body: any[]): BodyComponent<T>[] {\n if (!body || body.length === 0) {\n return [];\n }\n\n return body\n .filter(\n (component) => component && component.name && component.props\n )\n .map((component) => {\n const name = component.name.toLowerCase();\n const mapper = componentMappers[name];\n\n const mapped: BodyComponent<T> = {\n name,\n order: component.order,\n props: {} as T,\n };\n\n if (mapper) {\n try {\n mapped.props = mapper(component.props) as T;\n } catch (e) {\n console.error(\n `Error mapping props for component \"${name}\"`,\n e\n );\n }\n } else {\n console.warn(`No mapper found for component \"${name}\"`);\n }\n\n return mapped;\n });\n }\n}\n","/*\n * Public API Surface of ui-lib\n */\n\n/* COMPONENTS */\nexport * from './lib/components/core/index';\n// export * from './lib/components/shared/index';\n\n// /* SERVICES */\nexport * from './lib/services';\n\n// /* INTERFACES */\nexport * from './lib/interfaces/index';\n\n// /* UTILS */\nexport * from './lib/utils';\n\n// /* ENUMS */\n// export * from './lib/Enum';\n\n// export * from './lib/ui-lib.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { UiLibImageI } from '../../../interfaces/ui-lib-image.interface';
3
+ import { UiLibNavItemsI } from '../../../interfaces/ui-lib-nav-items.interface';
4
+ import * as i0 from "@angular/core";
5
+ export declare class HeaderClearComponent {
6
+ logo?: UiLibImageI;
7
+ lang?: string;
8
+ navItems?: UiLibNavItemsI[];
9
+ langModal: EventEmitter<void>;
10
+ theme: EventEmitter<void>;
11
+ openLanguagesModal(): void;
12
+ toggleTheme(): void;
13
+ toggleMenu(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderClearComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeaderClearComponent, "lib-header-clear", never, { "logo": { "alias": "logo"; "required": false; }; "lang": { "alias": "lang"; "required": false; }; "navItems": { "alias": "navItems"; "required": false; }; }, { "langModal": "langModal"; "theme": "theme"; }, never, never, true, never>;
16
+ }
@@ -0,0 +1,2 @@
1
+ export interface HeaderClearI {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './header-clear.component';
2
+ export * from './header-clear.interface';
@@ -1 +1,4 @@
1
1
  export * from './hero-section';
2
+ export * from './header-clear';
3
+ export * from './nav-modal';
4
+ export * from './lang-modal';
@@ -0,0 +1,2 @@
1
+ export * from './lang-modal.component';
2
+ export * from './lang-modal.interface';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class LangModalComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<LangModalComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<LangModalComponent, "lib-lang-modal", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,2 @@
1
+ export interface LangModalI {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './nav-modal.component';
2
+ export * from './nav-modal.interface';
@@ -0,0 +1,8 @@
1
+ import { UiLibNavItemsI } from '../../../interfaces/ui-lib-nav-items.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NavModalComponent {
4
+ navItems?: UiLibNavItemsI[];
5
+ socialItems?: UiLibNavItemsI[];
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavModalComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavModalComponent, "lib-nav-modal", never, { "navItems": { "alias": "navItems"; "required": false; }; "socialItems": { "alias": "socialItems"; "required": false; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,5 @@
1
+ import { UiLibNavItemsI } from "../../../interfaces/ui-lib-nav-items.interface";
2
+ export interface NavModalI {
3
+ navItems?: UiLibNavItemsI[];
4
+ socialItems?: UiLibNavItemsI[];
5
+ }
@@ -8,6 +8,9 @@ export interface PageComponent {
8
8
  page_id: number;
9
9
  component_id: number;
10
10
  order: number;
11
+ component?: {
12
+ name: string;
13
+ };
11
14
  }
12
15
  export interface PageComponentTranslation {
13
16
  id: number;
@@ -0,0 +1,10 @@
1
+ import { LinkType } from "../Enum/link-type.enum";
2
+ import { UiLibButtonI } from "./ui-lib-button.interface";
3
+ export interface UiLibNavItemsI {
4
+ label?: string;
5
+ url?: string;
6
+ linkType?: LinkType;
7
+ name?: string;
8
+ active?: boolean;
9
+ children?: UiLibButtonI[];
10
+ }
@@ -0,0 +1,2 @@
1
+ import { ComponentMapperFn } from "./types";
2
+ export declare const mapHeaderClear: ComponentMapperFn;
@@ -0,0 +1,2 @@
1
+ import { ComponentMapperFn } from "./types";
2
+ export declare const mapLangModal: ComponentMapperFn;
@@ -0,0 +1,10 @@
1
+ import { ComponentMapperFn } from "./types";
2
+ export declare const mapNavModalWithLang: (props: any[], langCode: string) => {
3
+ label: any;
4
+ url: any;
5
+ linkType: any;
6
+ children: any;
7
+ active: any;
8
+ order: any;
9
+ }[];
10
+ export declare const mapNavModal: ComponentMapperFn;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lluc_llull/ui-lib",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0"