ctt-babylon 0.1.76 → 0.1.77

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.
@@ -3,12 +3,19 @@ import { CommonModule } from '@angular/common';
3
3
  import { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BabylonFooterLogosComponent {
6
+ get filteredButtons() {
7
+ return (this.buttons || []).filter(b => !!b);
8
+ }
9
+ hasContent() {
10
+ return ((this.texts && (this.texts.title || this.texts.subtitle || this.texts.description)) ||
11
+ this.filteredButtons.length);
12
+ }
6
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonFooterLogosComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonFooterLogosComponent, isStandalone: true, selector: "lib-babylon-footer-logos", inputs: { logos: "logos", texts: "texts", buttons: "buttons" }, ngImport: i0, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (texts) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts.title) {\n <h1 class=\"title--small mb--10\">{{ texts.title }}</h1>\n }\n @if (texts.subtitle) {\n <h2 class=\"title\">{{ texts.subtitle }}</h2>\n }\n @if (texts.description) {\n <p class=\"text mb--10\">\n {{ texts.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonFooterLogosComponent, isStandalone: true, selector: "lib-babylon-footer-logos", inputs: { logos: "logos", texts: "texts", buttons: "buttons" }, ngImport: i0, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (hasContent()) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts?.title) {\n <h1 class=\"title--small mb--10\">{{ texts?.title }}</h1>\n }\n @if (texts?.subtitle) {\n <h2 class=\"title\">{{ texts?.subtitle }}</h2>\n }\n @if (texts?.description) {\n <p class=\"text mb--10\">\n {{ texts?.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
15
  }
9
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonFooterLogosComponent, decorators: [{
10
17
  type: Component,
11
- args: [{ selector: 'lib-babylon-footer-logos', standalone: true, imports: [CommonModule, BabylonLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (texts) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts.title) {\n <h1 class=\"title--small mb--10\">{{ texts.title }}</h1>\n }\n @if (texts.subtitle) {\n <h2 class=\"title\">{{ texts.subtitle }}</h2>\n }\n @if (texts.description) {\n <p class=\"text mb--10\">\n {{ texts.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"] }]
18
+ args: [{ selector: 'lib-babylon-footer-logos', standalone: true, imports: [CommonModule, BabylonLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (hasContent()) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts?.title) {\n <h1 class=\"title--small mb--10\">{{ texts?.title }}</h1>\n }\n @if (texts?.subtitle) {\n <h2 class=\"title\">{{ texts?.subtitle }}</h2>\n }\n @if (texts?.description) {\n <p class=\"text mb--10\">\n {{ texts?.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"] }]
12
19
  }], propDecorators: { logos: [{
13
20
  type: Input
14
21
  }], texts: [{
@@ -16,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
16
23
  }], buttons: [{
17
24
  type: Input
18
25
  }] } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1mb290ZXItbG9nb3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWZvb3Rlci1sb2dvcy9iYWJ5bG9uLWZvb3Rlci1sb2dvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZm9vdGVyLWxvZ29zL2JhYnlsb24tZm9vdGVyLWxvZ29zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFVN0YsTUFBTSxPQUFPLDJCQUEyQjsrR0FBM0IsMkJBQTJCO21HQUEzQiwyQkFBMkIsb0pDYnhDLHNrREE0Q1UsdVREcENFLFlBQVksK0JBQUUsd0JBQXdCOzs0RkFLckMsMkJBQTJCO2tCQVJ2QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUMsbUJBRzlCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhYnlsb25JbWFnZUksIEJhYnlsb25UZXh0cywgQmFieWxvbkJ1dHRvbkkgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS9saW5rLXR5cGUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tZm9vdGVyLWxvZ29zJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhYnlsb24tZm9vdGVyLWxvZ29zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JhYnlsb24tZm9vdGVyLWxvZ29zLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvbkZvb3RlckxvZ29zQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBsb2dvcz86IEJhYnlsb25Gb290ZXJMb2dvSXRlbUlbXTtcbiAgICBASW5wdXQoKSB0ZXh0cz86IEJhYnlsb25UZXh0cztcbiAgICBASW5wdXQoKSBidXR0b25zPzogQmFieWxvbkJ1dHRvbklbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uRm9vdGVyTG9nb0l0ZW1JIHtcbiAgaW1nPzogQmFieWxvbkltYWdlSTtcbiAgbGluaz86IEJhYnlsb25CdXR0b25JO1xufSIsIjxzZWN0aW9uIGNsYXNzPVwiYmFieWxvbl9fZm9vdGVyLWxvZ29zXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICBAaWYgKHRleHRzKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnRyb19pbmZvIGFsaWduLS1jZW50ZXIgbm8tYWxpZ24gcHQtLTMwXCI+XG4gICAgICAgICAgICBAaWYgKHRleHRzLnRpdGxlKSB7XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0aXRsZS0tc21hbGwgbWItLTEwXCI+e3sgdGV4dHMudGl0bGUgfX08L2gxPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0ZXh0cy5zdWJ0aXRsZSkge1xuICAgICAgICAgICAgPGgyIGNsYXNzPVwidGl0bGVcIj57eyB0ZXh0cy5zdWJ0aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRleHRzLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQgbWItLTEwXCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dHMuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoYnV0dG9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuc19fYm94IGFsaWduLS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJidXR0b24/LnVybFwiIFtsaW5rVHlwZV09XCJidXR0b24/LmxpbmtUeXBlXCIgY2xhc3M9XCJidG4gYnRuX3ByaW1hcnlcIj48Yj57eyBidXR0b24/LmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2I+PHNwYW4gY2xhc3M9XCJiYWJ5bG9uLWFycm93LXJpZ2h0LWJpZ1wiPjwvc3Bhbj48L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGxvZ29zKSB7XG4gICAgICAgIDx1bD5cbiAgICAgICAgICAgIEBmb3IgKGxvZ28gb2YgbG9nb3M7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgIEBpZiAobG9nby5saW5rKSB7XG4gICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibG9nby5saW5rLnVybFwiIFtsaW5rVHlwZV09XCJsb2dvLmxpbmsubGlua1R5cGVcIiBhcmlhLWxhYmVsPVwibGlua1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwibG9nby5pbWc/LnNyY1wiIFthbHRdPVwibG9nby5pbWc/LmFsdFwiIC8+PC9hPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJsb2dvLmltZz8uc3JjXCIgW2FsdF09XCJsb2dvLmltZz8uYWx0XCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+Il19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1mb290ZXItbG9nb3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWZvb3Rlci1sb2dvcy9iYWJ5bG9uLWZvb3Rlci1sb2dvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZm9vdGVyLWxvZ29zL2JhYnlsb24tZm9vdGVyLWxvZ29zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFVN0YsTUFBTSxPQUFPLDJCQUEyQjtJQUtwQyxJQUFJLGVBQWU7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzVCLENBQUM7SUFDSixDQUFDOytHQWRRLDJCQUEyQjttR0FBM0IsMkJBQTJCLG9KQ2J4QywrbURBNENVLHVURHBDRSxZQUFZLCtCQUFFLHdCQUF3Qjs7NEZBS3JDLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHdCQUF3QixDQUFDLG1CQUc5Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYWJ5bG9uSW1hZ2VJLCBCYWJ5bG9uVGV4dHMsIEJhYnlsb25CdXR0b25JIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9saW5rLXR5cGUvbGluay10eXBlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWZvb3Rlci1sb2dvcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWJ5bG9uLWZvb3Rlci1sb2dvcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iYWJ5bG9uLWZvb3Rlci1sb2dvcy5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25Gb290ZXJMb2dvc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbG9nb3M/OiBCYWJ5bG9uRm9vdGVyTG9nb0l0ZW1JW107XG4gICAgQElucHV0KCkgdGV4dHM/OiBCYWJ5bG9uVGV4dHM7XG4gICAgQElucHV0KCkgYnV0dG9ucz86IEJhYnlsb25CdXR0b25JW107XG4gICAgXG4gICAgZ2V0IGZpbHRlcmVkQnV0dG9ucygpIHtcbiAgICAgIHJldHVybiAodGhpcy5idXR0b25zIHx8IFtdKS5maWx0ZXIoYiA9PiAhIWIpO1xuICAgIH1cbiAgICBcbiAgICBoYXNDb250ZW50KCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgKHRoaXMudGV4dHMgJiYgKHRoaXMudGV4dHMudGl0bGUgfHwgdGhpcy50ZXh0cy5zdWJ0aXRsZSB8fCB0aGlzLnRleHRzLmRlc2NyaXB0aW9uKSkgfHxcbiAgICAgICAgdGhpcy5maWx0ZXJlZEJ1dHRvbnMubGVuZ3RoXG4gICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uRm9vdGVyTG9nb0l0ZW1JIHtcbiAgaW1nPzogQmFieWxvbkltYWdlSTtcbiAgbGluaz86IEJhYnlsb25CdXR0b25JO1xufSIsIjxzZWN0aW9uIGNsYXNzPVwiYmFieWxvbl9fZm9vdGVyLWxvZ29zXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICBAaWYgKGhhc0NvbnRlbnQoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludHJvX2luZm8gYWxpZ24tLWNlbnRlciBuby1hbGlnbiBwdC0tMzBcIj5cbiAgICAgICAgICAgIEBpZiAodGV4dHM/LnRpdGxlKSB7XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0aXRsZS0tc21hbGwgbWItLTEwXCI+e3sgdGV4dHM/LnRpdGxlIH19PC9oMT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAodGV4dHM/LnN1YnRpdGxlKSB7XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJ0aXRsZVwiPnt7IHRleHRzPy5zdWJ0aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRleHRzPy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0IG1iLS0xMFwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzPy5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChidXR0b25zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5zX19ib3ggYWxpZ24tLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBidXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImJ1dHRvbj8udXJsXCIgW2xpbmtUeXBlXT1cImJ1dHRvbj8ubGlua1R5cGVcIiBjbGFzcz1cImJ0biBidG5fcHJpbWFyeVwiPjxiPnt7IGJ1dHRvbj8ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2I+PHNwYW4gY2xhc3M9XCJiYWJ5bG9uLWFycm93LXJpZ2h0LWJpZ1wiPjwvc3Bhbj48L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobG9nb3MpIHtcbiAgICAgICAgPHVsPlxuICAgICAgICAgICAgQGZvciAobG9nbyBvZiBsb2dvczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgQGlmIChsb2dvLmxpbmspIHtcbiAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJsb2dvLmxpbmsudXJsXCIgW2xpbmtUeXBlXT1cImxvZ28ubGluay5saW5rVHlwZVwiIGFyaWEtbGFiZWw9XCJsaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJsb2dvLmltZz8uc3JjXCIgW2FsdF09XCJsb2dvLmltZz8uYWx0XCIgLz48L2E+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImxvZ28uaW1nPy5zcmNcIiBbYWx0XT1cImxvZ28uaW1nPy5hbHRcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=
@@ -44,38 +44,40 @@ export class Utils {
44
44
  }
45
45
  static mapButtons(button, buttonType) {
46
46
  if (Array.isArray(button)) {
47
- return button?.map((btn) => ({
48
- type: buttonType ?? undefined,
49
- label: btn?.label ?? undefined,
50
- linkType: Utils.formatLinkType(btn?.linkType),
51
- url: (() => {
52
- if (btn.linkValue &&
53
- typeof btn.linkValue === 'string') {
54
- const trimmedValue = btn.linkValue?.charAt(btn.linkValue?.length - 1) === '/'
55
- ? btn.linkValue?.slice(0, -1)
56
- : btn.linkValue;
57
- if (/^\+?[0-9]+$/.test(trimmedValue)) {
58
- // Es un teléfono
59
- return trimmedValue.startsWith('tel:')
60
- ? trimmedValue
61
- : `tel:${trimmedValue}`;
47
+ return button?.map((btn) => btn.label?.length
48
+ ? {
49
+ type: buttonType ?? undefined,
50
+ label: btn?.label ?? undefined,
51
+ linkType: Utils.formatLinkType(btn?.linkType),
52
+ url: (() => {
53
+ if (btn.linkValue &&
54
+ typeof btn.linkValue === 'string') {
55
+ const trimmedValue = btn.linkValue?.charAt(btn.linkValue?.length - 1) === '/'
56
+ ? btn.linkValue?.slice(0, -1)
57
+ : btn.linkValue;
58
+ if (/^\+?[0-9]+$/.test(trimmedValue)) {
59
+ // Es un teléfono
60
+ return trimmedValue.startsWith('tel:')
61
+ ? trimmedValue
62
+ : `tel:${trimmedValue}`;
63
+ }
64
+ else if (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmedValue)) {
65
+ // Es un correo
66
+ return trimmedValue.startsWith('mailto:')
67
+ ? trimmedValue
68
+ : `mailto:${trimmedValue}`;
69
+ }
70
+ return trimmedValue;
62
71
  }
63
- else if (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmedValue)) {
64
- // Es un correo
65
- return trimmedValue.startsWith('mailto:')
66
- ? trimmedValue
67
- : `mailto:${trimmedValue}`;
68
- }
69
- return trimmedValue;
70
- }
71
- return undefined;
72
- })(),
73
- icon: btn.icon ? btn?.icon : undefined,
74
- }));
72
+ return undefined;
73
+ })(),
74
+ icon: btn.icon ? btn?.icon : undefined,
75
+ }
76
+ : undefined);
75
77
  }
76
78
  else {
77
79
  return [];
78
80
  }
79
81
  }
80
82
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLEtBQUs7SUFDZCw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFhO1FBQzdCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsTUFBTSxDQUFDLDRCQUE0QixDQUFDLEdBQVE7UUFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDckU7YUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsS0FBSyxNQUFNLEVBQUU7WUFDbkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQs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QyxDQUFDLFVBQVUsWUFBWSxFQUFFLENBQUM7eUJBQ2xDO3dCQUVELE9BQU8sWUFBWSxDQUFDO3FCQUN2QjtvQkFDRCxPQUFPLFNBQVMsQ0FBQztnQkFDckIsQ0FBQyxDQUFDLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDekMsQ0FBbUIsQ0FDM0IsQ0FBQztTQUNMO2FBQU07WUFDSCxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkksIEJvZHlDb21wb25lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcbiAgICAvLyBGdW5jacOzbiBwYXJhIGNvbnZlcnRpciB1bmEgY2FkZW5hIGRlIHNuYWtlX2Nhc2UgYSBjYW1lbENhc2VcbiAgICBzdGF0aWMgc25ha2VUb0NhbWVsKHNuYWtlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc25ha2UucmVwbGFjZSgvKF9cXHcpL2csIChtYXRjaGVzKSA9PiBtYXRjaGVzWzFdLnRvVXBwZXJDYXNlKCkpO1xuICAgIH1cblxuICAgIC8vIEZ1bmNpw7NuIHBhcmEgY29udmVydGlyIGxhcyBwcm9waWVkYWRlcyBkZSB1biBvYmpldG8gZGUgc25ha2VfY2FzZSBhIGNhbWVsQ2FzZVxuICAgIHN0YXRpYyBjb252ZXJ0T2JqZWN0S2V5c1RvQ2FtZWxDYXNlKG9iajogYW55KTogYW55IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9iai5tYXAoKGl0ZW0pID0+IHRoaXMuY29udmVydE9iamVjdEtleXNUb0NhbWVsQ2FzZShpdGVtKSk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqICE9PSBudWxsICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FtZWxLZXkgPSB0aGlzLnNuYWtlVG9DYW1lbChrZXkpO1xuICAgICAgICAgICAgICAgIHJlc3VsdFtjYW1lbEtleV0gPSB0aGlzLmNvbnZlcnRPYmplY3RLZXlzVG9DYW1lbENhc2Uob2JqW2tleV0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LCB7fSBhcyBhbnkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgc3RhdGljIGZvcm1hdExpbmtUeXBlKGxpbmtUeXBlOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gbGlua1R5cGUgPT09ICdleHRlcm5hbF9saW5rJyB8fCBsaW5rVHlwZSA9PT0gJ2V4dGVybmFsJ1xuICAgICAgICAgICAgPyAnZXh0ZXJuYWwnXG4gICAgICAgICAgICA6IGxpbmtUeXBlID09PSAnaW50ZXJuYWxfbGluaycgfHwgbGlua1R5cGUgPT09ICdpbnRlcm5hbCdcbiAgICAgICAgICAgICAgPyAnaW50ZXJuYWwnXG4gICAgICAgICAgICAgIDogbGlua1R5cGU7XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbmRDb21wb25lbnQ8VD4oXG4gICAgICAgIGJvZHk6IEJvZHlDb21wb25lbnQ8VD5bXSxcbiAgICAgICAgbmFtZTogc3RyaW5nXG4gICAgKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBib2R5LmZpbmQoKGNvbXBvbmVudCkgPT4gY29tcG9uZW50Py5uYW1lPy50b0xvd2VyQ2FzZSgpID09PSBuYW1lKVxuICAgICAgICAgICAgPy5wcm9wcztcbiAgICB9XG5cbiAgICBzdGF0aWMgY29udmVydFRvQmFzZTY0KGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgICByZWFkZXIub25lcnJvciA9IChlcnJvcikgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIG5vcm1hbGl6ZVRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRleHRcbiAgICAgICAgICAgID8ubm9ybWFsaXplKCdORkQnKSAvLyBEZXNjb21wb25lIGxvcyBjYXJhY3RlcmVzIGNvbiBhY2VudG9zXG4gICAgICAgICAgICA/LnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyBFbGltaW5hIGxvcyBhY2VudG9zXG4gICAgICAgICAgICA/LnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgc3RhdGljIG1hcEJ1dHRvbnMoXG4gICAgICAgIGJ1dHRvbjogYW55IHwgYW55W10gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgICAgICBidXR0b25UeXBlPzogc3RyaW5nXG4gICAgKTogKEJhYnlsb25CdXR0b25JIHwgdW5kZWZpbmVkKVtdIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYnV0dG9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGJ1dHRvbj8ubWFwKFxuICAgICAgICAgICAgICAgIChidG4pID0+XG4gICAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBidXR0b25UeXBlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBidG4/LmxhYmVsID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtUeXBlOiBVdGlscy5mb3JtYXRMaW5rVHlwZShidG4/LmxpbmtUeXBlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bi5saW5rVmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGJ0bi5saW5rVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG4ubGlua1ZhbHVlPy5jaGFyQXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuLmxpbmtWYWx1ZT8ubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA9PT0gJy8nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBidG4ubGlua1ZhbHVlPy5zbGljZSgwLCAtMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGJ0bi5saW5rVmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9eXFwrP1swLTldKyQvLnRlc3QodHJpbW1lZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRXMgdW4gdGVsw6lmb25vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJpbW1lZFZhbHVlLnN0YXJ0c1dpdGgoJ3RlbDonKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdHJpbW1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBgdGVsOiR7dHJpbW1lZFZhbHVlfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLy50ZXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaW1tZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVzIHVuIGNvcnJlb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaW1tZWRWYWx1ZS5zdGFydHNXaXRoKCdtYWlsdG86JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRyaW1tZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYG1haWx0bzoke3RyaW1tZWRWYWx1ZX1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaW1tZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiBidG4uaWNvbiA/IGJ0bj8uaWNvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgfSkgYXMgQmFieWxvbkJ1dHRvbklcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLEtBQUs7SUFDZCw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFhO1FBQzdCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsTUFBTSxDQUFDLDRCQUE0QixDQUFDLEdBQVE7UUFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDckU7YUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsS0FBSyxNQUFNLEVBQUU7WUFDbkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQs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LENBQUM7b0NBQ3JDLENBQUMsQ0FBQyxZQUFZO29DQUNkLENBQUMsQ0FBQyxVQUFVLFlBQVksRUFBRSxDQUFDOzZCQUNsQzs0QkFFRCxPQUFPLFlBQVksQ0FBQzt5QkFDdkI7d0JBQ0QsT0FBTyxTQUFTLENBQUM7b0JBQ3JCLENBQUMsQ0FBQyxFQUFFO29CQUNKLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO2lCQUN0QjtnQkFDeEIsQ0FBQyxDQUFDLFNBQVMsQ0FDZCxDQUFDO1NBQ0w7YUFBTTtZQUNILE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYWJ5bG9uQnV0dG9uSSwgQm9keUNvbXBvbmVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuICAgIC8vIEZ1bmNpw7NuIHBhcmEgY29udmVydGlyIHVuYSBjYWRlbmEgZGUgc25ha2VfY2FzZSBhIGNhbWVsQ2FzZVxuICAgIHN0YXRpYyBzbmFrZVRvQ2FtZWwoc25ha2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzbmFrZS5yZXBsYWNlKC8oX1xcdykvZywgKG1hdGNoZXMpID0+IG1hdGNoZXNbMV0udG9VcHBlckNhc2UoKSk7XG4gICAgfVxuXG4gICAgLy8gRnVuY2nDs24gcGFyYSBjb252ZXJ0aXIgbGFzIHByb3BpZWRhZGVzIGRlIHVuIG9iamV0byBkZSBzbmFrZV9jYXNlIGEgY2FtZWxDYXNlXG4gICAgc3RhdGljIGNvbnZlcnRPYmplY3RLZXlzVG9DYW1lbENhc2Uob2JqOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqLm1hcCgoaXRlbSkgPT4gdGhpcy5jb252ZXJ0T2JqZWN0S2V5c1RvQ2FtZWxDYXNlKGl0ZW0pKTtcbiAgICAgICAgfSBlbHNlIGlmIChvYmogIT09IG51bGwgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBPYmplY3QpIHtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYW1lbEtleSA9IHRoaXMuc25ha2VUb0NhbWVsKGtleSk7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2NhbWVsS2V5XSA9IHRoaXMuY29udmVydE9iamVjdEtleXNUb0NhbWVsQ2FzZShvYmpba2V5XSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0sIHt9IGFzIGFueSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG5cbiAgICBzdGF0aWMgZm9ybWF0TGlua1R5cGUobGlua1R5cGU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBsaW5rVHlwZSA9PT0gJ2V4dGVybmFsX2xpbmsnIHx8IGxpbmtUeXBlID09PSAnZXh0ZXJuYWwnXG4gICAgICAgICAgICA/ICdleHRlcm5hbCdcbiAgICAgICAgICAgIDogbGlua1R5cGUgPT09ICdpbnRlcm5hbF9saW5rJyB8fCBsaW5rVHlwZSA9PT0gJ2ludGVybmFsJ1xuICAgICAgICAgICAgICA/ICdpbnRlcm5hbCdcbiAgICAgICAgICAgICAgOiBsaW5rVHlwZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZmluZENvbXBvbmVudDxUPihcbiAgICAgICAgYm9keTogQm9keUNvbXBvbmVudDxUPltdLFxuICAgICAgICBuYW1lOiBzdHJpbmdcbiAgICApOiBUIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIGJvZHkuZmluZCgoY29tcG9uZW50KSA9PiBjb21wb25lbnQ/Lm5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWUpXG4gICAgICAgICAgICA/LnByb3BzO1xuICAgIH1cblxuICAgIHN0YXRpYyBjb252ZXJ0VG9CYXNlNjQoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbm9ybWFsaXplVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGV4dFxuICAgICAgICAgICAgPy5ub3JtYWxpemUoJ05GRCcpIC8vIERlc2NvbXBvbmUgbG9zIGNhcmFjdGVyZXMgY29uIGFjZW50b3NcbiAgICAgICAgICAgID8ucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpIC8vIEVsaW1pbmEgbG9zIGFjZW50b3NcbiAgICAgICAgICAgID8udG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbWFwQnV0dG9ucyhcbiAgICAgICAgYnV0dG9uOiBhbnkgfCBhbnlbXSB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgICAgIGJ1dHRvblR5cGU/OiBzdHJpbmdcbiAgICApOiAoQmFieWxvbkJ1dHRvbkkgfCB1bmRlZmluZWQpW10ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShidXR0b24pKSB7XG4gICAgICAgICAgICByZXR1cm4gYnV0dG9uPy5tYXAoKGJ0bikgPT5cbiAgICAgICAgICAgICAgICBidG4ubGFiZWw/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICA/ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBidXR0b25UeXBlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBidG4/LmxhYmVsID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtUeXBlOiBVdGlscy5mb3JtYXRMaW5rVHlwZShidG4/LmxpbmtUeXBlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bi5saW5rVmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGJ0bi5saW5rVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG4ubGlua1ZhbHVlPy5jaGFyQXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuLmxpbmtWYWx1ZT8ubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA9PT0gJy8nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBidG4ubGlua1ZhbHVlPy5zbGljZSgwLCAtMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGJ0bi5saW5rVmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9eXFwrP1swLTldKyQvLnRlc3QodHJpbW1lZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRXMgdW4gdGVsw6lmb25vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJpbW1lZFZhbHVlLnN0YXJ0c1dpdGgoJ3RlbDonKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdHJpbW1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBgdGVsOiR7dHJpbW1lZFZhbHVlfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLy50ZXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaW1tZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVzIHVuIGNvcnJlb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaW1tZWRWYWx1ZS5zdGFydHNXaXRoKCdtYWlsdG86JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRyaW1tZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYG1haWx0bzoke3RyaW1tZWRWYWx1ZX1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaW1tZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiBidG4uaWNvbiA/IGJ0bj8uaWNvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBCYWJ5bG9uQnV0dG9uSSlcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1592,12 +1592,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1592
1592
  }] } });
1593
1593
 
1594
1594
  class BabylonFooterLogosComponent {
1595
+ get filteredButtons() {
1596
+ return (this.buttons || []).filter(b => !!b);
1597
+ }
1598
+ hasContent() {
1599
+ return ((this.texts && (this.texts.title || this.texts.subtitle || this.texts.description)) ||
1600
+ this.filteredButtons.length);
1601
+ }
1595
1602
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonFooterLogosComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1596
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonFooterLogosComponent, isStandalone: true, selector: "lib-babylon-footer-logos", inputs: { logos: "logos", texts: "texts", buttons: "buttons" }, ngImport: i0, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (texts) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts.title) {\n <h1 class=\"title--small mb--10\">{{ texts.title }}</h1>\n }\n @if (texts.subtitle) {\n <h2 class=\"title\">{{ texts.subtitle }}</h2>\n }\n @if (texts.description) {\n <p class=\"text mb--10\">\n {{ texts.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1603
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonFooterLogosComponent, isStandalone: true, selector: "lib-babylon-footer-logos", inputs: { logos: "logos", texts: "texts", buttons: "buttons" }, ngImport: i0, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (hasContent()) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts?.title) {\n <h1 class=\"title--small mb--10\">{{ texts?.title }}</h1>\n }\n @if (texts?.subtitle) {\n <h2 class=\"title\">{{ texts?.subtitle }}</h2>\n }\n @if (texts?.description) {\n <p class=\"text mb--10\">\n {{ texts?.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1597
1604
  }
1598
1605
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonFooterLogosComponent, decorators: [{
1599
1606
  type: Component,
1600
- args: [{ selector: 'lib-babylon-footer-logos', standalone: true, imports: [CommonModule, BabylonLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (texts) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts.title) {\n <h1 class=\"title--small mb--10\">{{ texts.title }}</h1>\n }\n @if (texts.subtitle) {\n <h2 class=\"title\">{{ texts.subtitle }}</h2>\n }\n @if (texts.description) {\n <p class=\"text mb--10\">\n {{ texts.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"] }]
1607
+ args: [{ selector: 'lib-babylon-footer-logos', standalone: true, imports: [CommonModule, BabylonLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (hasContent()) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts?.title) {\n <h1 class=\"title--small mb--10\">{{ texts?.title }}</h1>\n }\n @if (texts?.subtitle) {\n <h2 class=\"title\">{{ texts?.subtitle }}</h2>\n }\n @if (texts?.description) {\n <p class=\"text mb--10\">\n {{ texts?.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>", styles: [".babylon__footer-logos{background-color:var(--cl_footer-bg-logos)}.babylon__footer-logos ul{display:flex;gap:30px 20px;padding-block:30px;align-items:center;justify-content:space-around;flex-wrap:wrap}.babylon__footer-logos img{width:200px;height:auto}\n"] }]
1601
1608
  }], propDecorators: { logos: [{
1602
1609
  type: Input
1603
1610
  }], texts: [{
@@ -1937,34 +1944,36 @@ class Utils {
1937
1944
  }
1938
1945
  static mapButtons(button, buttonType) {
1939
1946
  if (Array.isArray(button)) {
1940
- return button?.map((btn) => ({
1941
- type: buttonType ?? undefined,
1942
- label: btn?.label ?? undefined,
1943
- linkType: Utils.formatLinkType(btn?.linkType),
1944
- url: (() => {
1945
- if (btn.linkValue &&
1946
- typeof btn.linkValue === 'string') {
1947
- const trimmedValue = btn.linkValue?.charAt(btn.linkValue?.length - 1) === '/'
1948
- ? btn.linkValue?.slice(0, -1)
1949
- : btn.linkValue;
1950
- if (/^\+?[0-9]+$/.test(trimmedValue)) {
1951
- // Es un teléfono
1952
- return trimmedValue.startsWith('tel:')
1953
- ? trimmedValue
1954
- : `tel:${trimmedValue}`;
1955
- }
1956
- else if (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmedValue)) {
1957
- // Es un correo
1958
- return trimmedValue.startsWith('mailto:')
1959
- ? trimmedValue
1960
- : `mailto:${trimmedValue}`;
1947
+ return button?.map((btn) => btn.label?.length
1948
+ ? {
1949
+ type: buttonType ?? undefined,
1950
+ label: btn?.label ?? undefined,
1951
+ linkType: Utils.formatLinkType(btn?.linkType),
1952
+ url: (() => {
1953
+ if (btn.linkValue &&
1954
+ typeof btn.linkValue === 'string') {
1955
+ const trimmedValue = btn.linkValue?.charAt(btn.linkValue?.length - 1) === '/'
1956
+ ? btn.linkValue?.slice(0, -1)
1957
+ : btn.linkValue;
1958
+ if (/^\+?[0-9]+$/.test(trimmedValue)) {
1959
+ // Es un teléfono
1960
+ return trimmedValue.startsWith('tel:')
1961
+ ? trimmedValue
1962
+ : `tel:${trimmedValue}`;
1963
+ }
1964
+ else if (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmedValue)) {
1965
+ // Es un correo
1966
+ return trimmedValue.startsWith('mailto:')
1967
+ ? trimmedValue
1968
+ : `mailto:${trimmedValue}`;
1969
+ }
1970
+ return trimmedValue;
1961
1971
  }
1962
- return trimmedValue;
1963
- }
1964
- return undefined;
1965
- })(),
1966
- icon: btn.icon ? btn?.icon : undefined,
1967
- }));
1972
+ return undefined;
1973
+ })(),
1974
+ icon: btn.icon ? btn?.icon : undefined,
1975
+ }
1976
+ : undefined);
1968
1977
  }
1969
1978
  else {
1970
1979
  return [];