desy-angular 4.0.0 → 5.0.0

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 (39) hide show
  1. package/bundles/desy-angular.umd.js +115 -137
  2. package/bundles/desy-angular.umd.js.map +1 -1
  3. package/bundles/desy-angular.umd.min.js +2 -2
  4. package/bundles/desy-angular.umd.min.js.map +1 -1
  5. package/desy-angular.d.ts +2 -2
  6. package/desy-angular.metadata.json +1 -1
  7. package/esm2015/desy-angular.js +3 -3
  8. package/esm2015/lib/desy-angular.module.js +1 -3
  9. package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -16
  10. package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
  11. package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +2 -2
  12. package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +1 -1
  13. package/esm2015/lib/desy-buttons/components/pill/pill.component.js +5 -3
  14. package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +36 -2
  15. package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +2 -2
  16. package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
  17. package/esm2015/lib/desy-modals/components/modal/modal.component.js +2 -2
  18. package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +8 -48
  19. package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +9 -37
  20. package/esm2015/lib/desy-nav/components/header/header.component.js +2 -2
  21. package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +2 -2
  22. package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +3 -3
  23. package/esm2015/lib/desy-nav/desy-nav.module.js +4 -2
  24. package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
  25. package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
  26. package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
  27. package/fesm2015/desy-angular.js +98 -129
  28. package/fesm2015/desy-angular.js.map +1 -1
  29. package/lib/desy-buttons/components/button/button.component.d.ts +6 -6
  30. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
  31. package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -0
  32. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +5 -0
  33. package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
  34. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +5 -10
  35. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +5 -5
  36. package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
  37. package/lib/desy-nav/interfaces/header-subnav-data.d.ts +5 -1
  38. package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
  39. package/package.json +2 -2
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@angular/animations'), require('@angular/cdk/a11y'), require('@angular/common'), require('@angular/router'), require('@angular/platform-browser'), require('ngx-tippy-wrapper'), require('@angular/platform-browser/animations')) :
3
- typeof define === 'function' && define.amd ? define('desy-angular', ['exports', '@angular/core', '@angular/forms', '@angular/animations', '@angular/cdk/a11y', '@angular/common', '@angular/router', '@angular/platform-browser', 'ngx-tippy-wrapper', '@angular/platform-browser/animations'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['desy-angular'] = {}, global.ng.core, global.ng.forms, global.ng.animations, global.ng.cdk.a11y, global.ng.common, global.ng.router, global.ng.platformBrowser, global.ngxTippyWrapper, global.ng.platformBrowser.animations));
5
- }(this, (function (exports, i0, forms, animations, a11y, common, router, platformBrowser, ngxTippyWrapper, animations$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@angular/animations'), require('@angular/cdk/a11y'), require('@angular/common'), require('@angular/router'), require('@angular/platform-browser'), require('ngx-tippy-wrapper')) :
3
+ typeof define === 'function' && define.amd ? define('desy-angular', ['exports', '@angular/core', '@angular/forms', '@angular/animations', '@angular/cdk/a11y', '@angular/common', '@angular/router', '@angular/platform-browser', 'ngx-tippy-wrapper'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['desy-angular'] = {}, global.ng.core, global.ng.forms, global.ng.animations, global.ng.cdk.a11y, global.ng.common, global.ng.router, global.ng.platformBrowser, global.ngxTippyWrapper));
5
+ }(this, (function (exports, i0, forms, animations, a11y, common, router, platformBrowser, ngxTippyWrapper) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -488,21 +488,11 @@
488
488
  __extends(ButtonComponent, _super);
489
489
  function ButtonComponent() {
490
490
  var _this = _super.apply(this, __spread(arguments)) || this;
491
+ _this.hostTabIndex = null; // Fix para evitar el tab-index agregado por routerLink en el host
491
492
  _this.clickEvent = new i0.EventEmitter();
492
493
  _this.avoidingDoubleClick = false;
493
494
  return _this;
494
495
  }
495
- ButtonComponent.prototype.ngOnInit = function () {
496
- //this.required();
497
- };
498
- ButtonComponent.prototype.ngOnChanges = function (changes) {
499
- //this.required();
500
- };
501
- ButtonComponent.prototype.required = function () {
502
- if (this.getElement() !== this.staticElementTypeInput) {
503
- //textOrHtmlRequiredFunction(this.text, this.html);
504
- }
505
- };
506
496
  ButtonComponent.prototype.onClick = function (event) {
507
497
  var _this = this;
508
498
  if (this.preventDoubleClick) {
@@ -571,19 +561,22 @@
571
561
  configurable: true
572
562
  });
573
563
  return ButtonComponent;
574
- }(AccessibilityAndContentRequiredComponent));
564
+ }(AccessibilityComponent));
575
565
  ButtonComponent.ELEMENT_A = 'a';
576
566
  ButtonComponent.ELEMENT_BUTTON = 'button';
577
567
  ButtonComponent.ELEMENT_INPUT = 'input';
578
568
  ButtonComponent.decorators = [
579
569
  { type: i0.Component, args: [{
580
570
  selector: 'desy-button',
581
- template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n<!-- button -->\r\n<ng-container [ngSwitch]=\"getElement()\">\r\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\r\n <!-- routerLink modifica href, por eso se duplica para que no convivan en un mismo html -->\r\n <a *ngIf=\"routerLink\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.tabindex]=\"isDisabled() ? -1 : null\"\r\n [attr.role]=\"role ? role : 'button'\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></a>\r\n\r\n <a *ngIf=\"!routerLink\" data-module=\"c-button\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [href]=\"href | externalHref\"\r\n [attr.target]=\"target ? target : null\"\r\n [attr.tabindex]=\"isDisabled() ? -1 : null\"\r\n [attr.role]=\"role ? role : 'button'\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></a>\r\n\r\n </ng-container>\r\n\r\n <button *ngSwitchCase=\"staticElementTypeButton\" data-module=\"c-button\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.name]=\"name ? name : null\"\r\n [attr.value]=\"value ? value : null\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\r\n [attr.type]=\"type ? type : null\"\r\n [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></button>\r\n\r\n <input *ngSwitchCase=\"staticElementTypeInput\" data-module=\"c-button\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.name]=\"name ? name : null\"\r\n [value]=\"text ? text : null\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\r\n [attr.type]=\"type ? type : 'submit'\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n</ng-container>\r\n\r\n<!-- /button -->\r\n"
571
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<ng-container [ngSwitch]=\"getElement()\">\r\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\r\n <!-- routerLink modifica href, por eso se duplica para que no convivan en un mismo html -->\r\n <a *ngIf=\"routerLink\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.tabindex]=\"tabindex ? tabindex : (isDisabled() ? -1 : null)\"\r\n [attr.role]=\"role ? role : 'button'\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </a>\r\n\r\n <a *ngIf=\"!routerLink\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [href]=\"href | externalHref\"\r\n [attr.target]=\"target ? target : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : (isDisabled() ? -1 : null)\"\r\n [attr.role]=\"role ? role : 'button'\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </a>\r\n\r\n </ng-container>\r\n\r\n <button *ngSwitchCase=\"staticElementTypeButton\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.name]=\"name ? name : null\"\r\n [attr.value]=\"value ? value : null\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\r\n [attr.type]=\"type ? type : null\"\r\n [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </button>\r\n\r\n <input *ngSwitchCase=\"staticElementTypeInput\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.name]=\"name ? name : null\"\r\n [value]=\"text ? text : null\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\r\n [attr.type]=\"type ? type : 'submit'\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n</ng-container>\r\n"
582
572
  },] }
583
573
  ];
584
574
  ButtonComponent.propDecorators = {
575
+ hostTabIndex: [{ type: i0.HostBinding, args: ['attr.tabindex',] }],
585
576
  id: [{ type: i0.Input }],
586
577
  classes: [{ type: i0.Input }],
578
+ html: [{ type: i0.Input }],
579
+ text: [{ type: i0.Input }],
587
580
  element: [{ type: i0.Input }],
588
581
  name: [{ type: i0.Input }],
589
582
  type: [{ type: i0.Input }],
@@ -600,7 +593,9 @@
600
593
  var ButtonLoaderComponent = /** @class */ (function (_super) {
601
594
  __extends(ButtonLoaderComponent, _super);
602
595
  function ButtonLoaderComponent() {
603
- return _super !== null && _super.apply(this, arguments) || this;
596
+ var _this = _super.apply(this, __spread(arguments)) || this;
597
+ _this.hostTabIndex = null; // Fix para evitar el tab-index agregado por routerLink en el host
598
+ return _this;
604
599
  }
605
600
  ButtonLoaderComponent.prototype.getClassNames = function () {
606
601
  var classNames = 'c-button-loader relative';
@@ -635,10 +630,11 @@
635
630
  ButtonLoaderComponent.decorators = [
636
631
  { type: i0.Component, args: [{
637
632
  selector: 'desy-button-loader',
638
- template: "<ng-template #spinnerTemplate>\r\n <span class=\"c-button-loader__spinner flex items-center justify-center absolute inset-0\">\r\n <desy-spinner [text]=\"getSpinnerText()\" [classes]=\"loaderClasses\" ></desy-spinner>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #successTemplate>\r\n <span class=\"c-button-loader__success flex items-center justify-center absolute inset-0\">\r\n <p class=\"sr-only\" role=\"alert\" aria-live=\"assertive\">{{ getSuccessText() }}</p>\r\n <span aria-hidden=\"true\">\u2713</span>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n<!-- button-loader -->\r\n<ng-container [ngSwitch]=\"getElement()\">\r\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\r\n <a *ngIf=\"routerLink\" data-module=\"c-button\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.tabindex]=\"isDisabled() ? -1 : null\"\r\n role=\"button\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"\r\n [class]=\"getClassNames()\">\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n <span class=\"c-button-loader__content inline-flex align-baseline\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\r\n </a>\r\n\r\n <a *ngIf=\"!routerLink\" data-module=\"c-button\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [href]=\"href | externalHref\" [attr.target]=\"target ? target : null\"\r\n [attr.tabindex]=\"isDisabled() ? -1 : null\"\r\n role=\"button\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"\r\n [class]=\"getClassNames()\">\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n <span class=\"c-button-loader__content inline-flex align-baseline\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\r\n </a>\r\n </ng-container>\r\n\r\n <button *ngSwitchCase=\"staticElementTypeButton\" data-module=\"c-button\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.name]=\"name ? name : null\"\r\n [attr.value]=\"value ? value : null\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.role]=\"(role ? role : null)\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"\r\n [attr.type]=\"type ? type : null\"\r\n [class]=\"getClassNames()\">\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n <span class=\"c-button-loader__content inline-flex align-baseline\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"> <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\r\n </button>\r\n\r\n <div *ngSwitchCase=\"staticElementTypeInput\" data-module=\"c-button\" (click)=\"onClick($event)\"\r\n [attr.name]=\"name ? name : null\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.role]=\"(role ? role : null)\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"\r\n [class]=\"getClassNames()\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\">\r\n <span class=\"c-button-loader__content inline-flex align-baseline\">\r\n <input [value]=\"text ? text : null\" [type]=\"type ? type : 'submit'\" class=\"bg-transparent font-semibold\">\r\n </span>\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n </div>\r\n</ng-container>\r\n<!-- /button-loader -->\r\n"
633
+ template: "<ng-template #spinnerTemplate>\r\n <span class=\"c-button-loader__spinner flex items-center justify-center absolute inset-0\">\r\n <desy-spinner [text]=\"getSpinnerText()\" [classes]=\"loaderClasses\" ></desy-spinner>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #successTemplate>\r\n <span class=\"c-button-loader__success flex items-center justify-center absolute inset-0\">\r\n <p class=\"sr-only\" role=\"alert\" aria-live=\"assertive\">{{ getSuccessText() }}</p>\r\n <span aria-hidden=\"true\">\u2713</span>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<ng-container [ngSwitch]=\"getElement()\">\r\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\r\n <a *ngIf=\"routerLink\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n role=\"button\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : (isDisabled() ? -1 : null)\"\r\n [class]=\"getClassNames()\">\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n <span class=\"c-button-loader__content inline-flex align-baseline\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\r\n </a>\r\n\r\n <a *ngIf=\"!routerLink\" draggable=\"false\" (click)=\"onClick($event)\"\r\n [href]=\"href | externalHref\" [attr.target]=\"target ? target : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : (isDisabled() ? -1 : null)\"\r\n role=\"button\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [class]=\"getClassNames()\">\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n <span class=\"c-button-loader__content inline-flex align-baseline\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"><ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\r\n </a>\r\n </ng-container>\r\n\r\n <button *ngSwitchCase=\"staticElementTypeButton\" (click)=\"onClick($event)\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.name]=\"name ? name : null\"\r\n [attr.value]=\"value ? value : null\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.role]=\"(role ? role : null)\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"\r\n [attr.type]=\"type ? type : null\"\r\n [class]=\"getClassNames()\">\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n <span class=\"c-button-loader__content inline-flex align-baseline\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"> <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container></span>\r\n </button>\r\n\r\n <div *ngSwitchCase=\"staticElementTypeInput\" (click)=\"onClick($event)\"\r\n [attr.name]=\"name ? name : null\"\r\n [routerLink]=\"routerLink ? routerLink : null\" [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\r\n [attr.disabled]=\"isDisabled()\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.role]=\"(role ? role : null)\"\r\n [attr.id]=\"id ? id : null\" [attr.aria-label]=\"ariaLabel ? ariaLabel : null\" [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\" [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\" [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\" [attr.aria-controls]=\"ariaControls ? ariaControls : null\" [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" [attr.aria-live]=\"ariaLive ? ariaLive : null\" [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" [attr.tabindex]=\"tabindex ? tabindex : null\"\r\n [class]=\"getClassNames()\"\r\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\">\r\n <span class=\"c-button-loader__content inline-flex align-baseline\">\r\n <input [value]=\"text ? text : null\" [type]=\"type ? type : 'submit'\" class=\"bg-transparent font-semibold\">\r\n </span>\r\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\r\n </div>\r\n</ng-container>\r\n"
639
634
  },] }
640
635
  ];
641
636
  ButtonLoaderComponent.propDecorators = {
637
+ hostTabIndex: [{ type: i0.HostBinding, args: ['attr.tabindex',] }],
642
638
  loaderText: [{ type: i0.Input }],
643
639
  loaderClasses: [{ type: i0.Input }],
644
640
  state: [{ type: i0.Input }],
@@ -794,7 +790,7 @@
794
790
  DropdownComponent.decorators = [
795
791
  { type: i0.Component, args: [{
796
792
  selector: 'desy-dropdown',
797
- template: "<!-- dropdown -->\r\n<div [class]=\"classesContainer ? classesContainer : 'relative'\">\r\n <button *ngIf=\"tippyProperties\" aria-haspopup=\"true\" (click)=\"onClick($event)\" ngxTippy [tippyProps]=\"tippyProperties\"\r\n [class]=\"['c-dropdown', classes] | makeHtmlList\"\r\n [attr.disabled]=\"isDisabled() ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.aria-expanded]=\"show\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.tabIndex]=\"isDisabled() ? '-1' : tabindex\">\r\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\"><ng-content></ng-content></span> \r\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\r\n </button>\r\n <span *ngIf=\"hiddenText\" class=\"sr-only\">{{ hiddenText }}</span>\r\n <div #dropdownContent style=\"display: none;\"\r\n [class]=\"['-ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\"\r\n [desyClickOutside]=\"clickOutsideEnabled\" (clickOutside)=\"closeDropdown()\">\r\n <ng-container *ngTemplateOutlet=\"caller\"></ng-container>\r\n </div>\r\n</div>\r\n<!-- /dropdown -->\r\n"
793
+ template: "<!-- dropdown -->\r\n<div [class]=\"classesContainer ? classesContainer : 'relative'\">\r\n <button *ngIf=\"tippyProperties\" aria-haspopup=\"true\" (click)=\"onClick($event)\" ngxTippy [tippyProps]=\"tippyProperties\"\r\n [class]=\"['c-dropdown', classes] | makeHtmlList\"\r\n [attr.disabled]=\"isDisabled() ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.aria-expanded]=\"show\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.tabIndex]=\"isDisabled() ? '-1' : tabindex\">\r\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\" [deleteContentIfEmpty]=\"false\">\r\n <ng-content></ng-content>\r\n </span> \r\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\r\n </button>\r\n <span *ngIf=\"hiddenText\" class=\"sr-only\">{{ hiddenText }}</span>\r\n <div #dropdownContent style=\"display: none;\"\r\n [class]=\"['-ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\"\r\n [desyClickOutside]=\"clickOutsideEnabled\" (clickOutside)=\"closeDropdown()\">\r\n <ng-container *ngTemplateOutlet=\"caller\"></ng-container>\r\n </div>\r\n</div>\r\n<!-- /dropdown -->\r\n"
798
794
  },] }
799
795
  ];
800
796
  DropdownComponent.propDecorators = {
@@ -1229,6 +1225,7 @@
1229
1225
  function PillComponent() {
1230
1226
  var _this = _super.apply(this, __spread(arguments)) || this;
1231
1227
  _this.clickEvent = new i0.EventEmitter();
1228
+ _this.hostTabIndex = null; // Fix para evitar el tab-index agregado por routerLink en el host
1232
1229
  return _this;
1233
1230
  }
1234
1231
  PillComponent.prototype.onClick = function (event) {
@@ -1296,7 +1293,8 @@
1296
1293
  routerLinkActiveClasses: [{ type: i0.Input }],
1297
1294
  classes: [{ type: i0.Input }],
1298
1295
  id: [{ type: i0.Input }],
1299
- clickEvent: [{ type: i0.Output }]
1296
+ clickEvent: [{ type: i0.Output }],
1297
+ hostTabIndex: [{ type: i0.HostBinding, args: ['attr.tabindex',] }]
1300
1298
  };
1301
1299
 
1302
1300
  var ContentComponent = /** @class */ (function (_super) {
@@ -2791,6 +2789,7 @@
2791
2789
  _this.checkboxes = checkboxes;
2792
2790
  _this.changeDetectorRef = changeDetectorRef;
2793
2791
  _this.checkedChange = new i0.EventEmitter();
2792
+ _this.indeterminateChange = new i0.EventEmitter();
2794
2793
  if (!_this.checkboxes) {
2795
2794
  throw Error('Checkbox items must be inside of CheckboxesComponent');
2796
2795
  }
@@ -2813,6 +2812,10 @@
2813
2812
  else if (this.lastValue !== undefined && this.lastValue !== this.value) {
2814
2813
  this.checkboxes.updateValueFromCheckboxItems();
2815
2814
  }
2815
+ if (this.indeterminateChecked !== this.lastIndeterminate && this.isInit()) {
2816
+ this.setIndeterminateChecked(this.indeterminateChecked);
2817
+ this.checkboxes.updateValueFromCheckboxItems();
2818
+ }
2816
2819
  this.lastValue = this.value;
2817
2820
  if (this.id !== this.checkboxId) {
2818
2821
  this.checkboxes.markForUpdateCheckboxIds();
@@ -2820,6 +2823,7 @@
2820
2823
  };
2821
2824
  CheckboxItemComponent.prototype.ngAfterViewInit = function () {
2822
2825
  this.setChecked(this.checked);
2826
+ this.setIndeterminateChecked(this.indeterminateChecked);
2823
2827
  this.checkboxes.updateValueFromCheckboxItems();
2824
2828
  };
2825
2829
  CheckboxItemComponent.prototype.getItemHintId = function () {
@@ -2839,6 +2843,7 @@
2839
2843
  }
2840
2844
  }
2841
2845
  this.setChecked(input.checked);
2846
+ this.setIndeterminateChecked(input.indeterminate);
2842
2847
  this.checkboxes.updateValueFromCheckboxItems();
2843
2848
  };
2844
2849
  CheckboxItemComponent.prototype.setChecked = function (checked) {
@@ -2847,6 +2852,26 @@
2847
2852
  this.checkedChange.emit(checked);
2848
2853
  this.changeDetectorRef.detectChanges(); // Avisa al elemento input para que actualice su estado
2849
2854
  };
2855
+ CheckboxItemComponent.prototype.setIndeterminateChecked = function (indeterminateChecked) {
2856
+ this.indeterminateChecked = indeterminateChecked;
2857
+ this.lastIndeterminate = indeterminateChecked;
2858
+ this.indeterminateChange.emit(indeterminateChecked);
2859
+ this.changeDetectorRef.detectChanges(); // Avisa al elemento input para que actualice su estado
2860
+ };
2861
+ CheckboxItemComponent.prototype.setIndeterminateStatus = function () {
2862
+ var _a;
2863
+ var input = (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.nativeElement;
2864
+ if (input) {
2865
+ if (this.indeterminateChecked) {
2866
+ input.readOnly = true;
2867
+ input.indeterminate = true;
2868
+ }
2869
+ else if (input.readOnly) {
2870
+ input.readOnly = false;
2871
+ input.indeterminate = false;
2872
+ }
2873
+ }
2874
+ };
2850
2875
  CheckboxItemComponent.prototype.isInit = function () {
2851
2876
  return !!this.inputElement;
2852
2877
  };
@@ -2928,13 +2953,18 @@
2928
2953
  conditional: [{ type: i0.Input }],
2929
2954
  disabled: [{ type: i0.Input }],
2930
2955
  isIndeterminate: [{ type: i0.Input }],
2956
+ indeterminateChecked: [{ type: i0.Input }],
2931
2957
  classes: [{ type: i0.Input }],
2932
2958
  labelComponentList: [{ type: i0.ContentChildren, args: [LabelComponent,] }],
2933
2959
  hintComponentList: [{ type: i0.ContentChildren, args: [HintComponent,] }],
2934
2960
  conditionalContentList: [{ type: i0.ContentChildren, args: [ContentComponent,] }],
2935
2961
  checked: [{ type: i0.Input }],
2936
- checkedChange: [{ type: i0.Output }]
2937
- };
2962
+ checkedChange: [{ type: i0.Output }],
2963
+ indeterminateChange: [{ type: i0.Output }]
2964
+ };
2965
+ __decorate([
2966
+ DesyOnInputChange('setIndeterminateStatus')
2967
+ ], CheckboxItemComponent.prototype, "indeterminateChecked", void 0);
2938
2968
 
2939
2969
  var CheckboxesComponent = /** @class */ (function (_super) {
2940
2970
  __extends(CheckboxesComponent, _super);
@@ -3124,7 +3154,7 @@
3124
3154
  CheckboxesComponent.decorators = [
3125
3155
  { type: i0.Component, args: [{
3126
3156
  selector: 'desy-checkboxes',
3127
- template: "<div [class]=\"['c-form-group', formGroupClasses] | makeHtmlList\"\r\n [ngClass]=\"{'c-form-group--error': (hasErrorsMessage() || formGroupClasses == 'c-form-group--error') }\">\r\n\r\n <ng-container *ngIf=\"hasFieldsetComponent()\">\r\n <ng-content select=\"desy-fieldset\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasFieldsetComponent()\">\r\n <desy-fieldset *ngIf=\"fieldsetData\"\r\n [classes]=\"fieldsetData.classes\"\r\n [id]=\"fieldsetData.id\"\r\n [legendData]=\"fieldsetData.legend\"\r\n [headingLevel]=\"fieldsetData.headingLevel\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\r\n [role]=\"fieldsetData.role\"\r\n [ariaLabel]=\"fieldsetData.ariaLabel\"\r\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\r\n [ariaHidden]=\"fieldsetData.ariaHidden\"\r\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\r\n [ariaControls]=\"fieldsetData.ariaControls\"\r\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\r\n [ariaLive]=\"fieldsetData.ariaLive\"\r\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\r\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\r\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !!legendComponent\"\r\n [legendRef]=\"legendTemplate\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\">\r\n <ng-template #legendTemplate>\r\n <ng-content select=\"desy-legend\"></ng-content>\r\n </ng-template>\r\n </desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendComponent && legendRef\"\r\n [legendRef]=\"legendRef\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendComponent && !legendRef && legendData\"\r\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendComponent && !legendRef && !legendData && legendText\"\r\n [legendText]=\"legendText\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!hasFieldset()\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n\r\n<ng-template #innerHtml>\r\n <ng-container *ngIf=\"hasHintComponent()\">\r\n <ng-content select=\"desy-hint\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasHintComponent()\">\r\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\r\n <desy-hint *ngIf=\"!hintRef && hintData\"\r\n [id]=\"getHintId()\"\r\n [text]=\"hintData.text\"\r\n [html]=\"hintData.html\"\r\n [classes]=\"hintData.classes\"\r\n [role]=\"hintData.role\"\r\n [ariaLabel]=\"hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"hintData.ariaHidden\"\r\n [ariaDisabled]=\"hintData.ariaDisabled\"\r\n [ariaControls]=\"hintData.ariaControls\"\r\n [ariaCurrent]=\"hintData.ariaCurrent\"\r\n [ariaLive]=\"hintData.ariaLive\"\r\n [ariaExpanded]=\"hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\r\n [tabindex]=\"hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\r\n <ng-content select=\"desy-error-message\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\r\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\r\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\r\n [id]=\"getErrorId()\"\r\n [text]=\"errorMessageData.text\"\r\n [html]=\"errorMessageData.html\"\r\n [classes]=\"errorMessageData.classes\"\r\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\r\n [role]=\"errorMessageData.role\"\r\n [ariaLabel]=\"errorMessageData.ariaLabel\"\r\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\r\n [ariaHidden]=\"errorMessageData.ariaHidden\"\r\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\r\n [ariaControls]=\"errorMessageData.ariaControls\"\r\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\r\n [ariaLive]=\"errorMessageData.ariaLive\"\r\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\r\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\r\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\r\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\r\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\r\n </ng-container>\r\n\r\n <div [class]=\"['c-checkboxes', classes] | makeHtmlList\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngIf=\"checkboxComponentItems && checkboxComponentItems.length > 0\">\r\n <ng-content select=\"desy-checkbox-item\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!(checkboxComponentItems && checkboxComponentItems.length > 0) && items\">\r\n <desy-checkbox-item *ngFor=\"let item of items; index as i\"\r\n [id]=\"item.id\"\r\n [disabled]=\"item.disabled\"\r\n [name]=\"item.name\"\r\n [classes]=\"item.classes\"\r\n [value]=\"item.value\"\r\n [(checked)]=\"item.checked\"\r\n [conditional]=\"item.conditional\"\r\n [isIndeterminate]=\"item.isIndeterminate\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\">\r\n <desy-label [text]=\"item.text\" [html]=\"item.html\"\r\n [classes]=\"item.labelData ? item.labelData.classes : null\"\r\n [role]=\"item.labelData ? item.labelData.role : null\"\r\n [ariaLabel]=\"item.labelData ? item.labelData.ariaLabel : null\"\r\n [ariaDescribedBy]=\"item.labelData ? item.labelData.ariaDescribedBy: null\"\r\n [ariaLabelledBy]=\"item.labelData ? item.labelData.ariaLabelledBy : null\"\r\n [ariaHidden]=\"item.labelData ? item.labelData.ariaHidden : null\"\r\n [ariaDisabled]=\"item.labelData ? item.labelData.ariaDisabled : null\"\r\n [ariaControls]=\"item.labelData ? item.labelData.ariaControls : null\"\r\n [ariaCurrent]=\"item.labelData ? item.labelData.ariaCurrent : null\"\r\n [ariaLive]=\"item.labelData ? item.labelData.ariaLive : null\"\r\n [ariaExpanded]=\"item.labelData ? item.labelData.ariaExpanded : null\"\r\n [ariaErrorMessage]=\"item.labelData ? item.labelData.ariaErrorMessage : null\"\r\n [ariaHasPopup]=\"item.labelData ? item.labelData.ariaHasPopup : null\"\r\n [tabindex]=\"tabindex ? item.labelData.tabindex : null\"></desy-label>\r\n <desy-hint *ngIf=\"item.hintData && (item.hintData.text || item.hintData.html)\"\r\n [text]=\"item.hintData.text\"\r\n [html]=\"item.hintData.html\"\r\n [classes]=\"item.hintData.classes\"\r\n [role]=\"item.hintData.role\"\r\n [ariaLabel]=\"item.hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"item.hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"item.hintData.ariaHidden\"\r\n [ariaDisabled]=\"item.hintData.ariaDisabled\"\r\n [ariaControls]=\"item.hintData.ariaControls\"\r\n [ariaCurrent]=\"item.hintData.ariaCurrent\"\r\n [ariaLive]=\"item.hintData.ariaLive\"\r\n [ariaExpanded]=\"item.hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.hintData.ariaHasPopup\"\r\n [tabindex]=\"item.hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!item.hintData && item.hintText\" [text]=\"item.hintText\"></desy-hint>\r\n <desy-content *ngIf=\"item.conditionalHtml\">\r\n <ng-container *ngTemplateOutlet=\"item.conditionalHtml\"></ng-container>\r\n </desy-content>\r\n </desy-checkbox-item>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n",
3157
+ template: "<div [class]=\"['c-form-group', formGroupClasses] | makeHtmlList\"\r\n [ngClass]=\"{'c-form-group--error': (hasErrorsMessage() || formGroupClasses == 'c-form-group--error') }\">\r\n\r\n <ng-container *ngIf=\"hasFieldsetComponent()\">\r\n <ng-content select=\"desy-fieldset\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasFieldsetComponent()\">\r\n <desy-fieldset *ngIf=\"fieldsetData\"\r\n [classes]=\"fieldsetData.classes\"\r\n [id]=\"fieldsetData.id\"\r\n [legendData]=\"fieldsetData.legend\"\r\n [headingLevel]=\"fieldsetData.headingLevel\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\r\n [role]=\"fieldsetData.role\"\r\n [ariaLabel]=\"fieldsetData.ariaLabel\"\r\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\r\n [ariaHidden]=\"fieldsetData.ariaHidden\"\r\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\r\n [ariaControls]=\"fieldsetData.ariaControls\"\r\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\r\n [ariaLive]=\"fieldsetData.ariaLive\"\r\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\r\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\r\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !!legendComponent\"\r\n [legendRef]=\"legendTemplate\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\">\r\n <ng-template #legendTemplate>\r\n <ng-content select=\"desy-legend\"></ng-content>\r\n </ng-template>\r\n </desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendComponent && legendRef\"\r\n [legendRef]=\"legendRef\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendComponent && !legendRef && legendData\"\r\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendComponent && !legendRef && !legendData && legendText\"\r\n [legendText]=\"legendText\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!hasFieldset()\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n\r\n<ng-template #innerHtml>\r\n <ng-container *ngIf=\"hasHintComponent()\">\r\n <ng-content select=\"desy-hint\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasHintComponent()\">\r\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\r\n <desy-hint *ngIf=\"!hintRef && hintData\"\r\n [id]=\"getHintId()\"\r\n [text]=\"hintData.text\"\r\n [html]=\"hintData.html\"\r\n [classes]=\"hintData.classes\"\r\n [role]=\"hintData.role\"\r\n [ariaLabel]=\"hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"hintData.ariaHidden\"\r\n [ariaDisabled]=\"hintData.ariaDisabled\"\r\n [ariaControls]=\"hintData.ariaControls\"\r\n [ariaCurrent]=\"hintData.ariaCurrent\"\r\n [ariaLive]=\"hintData.ariaLive\"\r\n [ariaExpanded]=\"hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\r\n [tabindex]=\"hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\r\n <ng-content select=\"desy-error-message\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\r\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\r\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\r\n [id]=\"getErrorId()\"\r\n [text]=\"errorMessageData.text\"\r\n [html]=\"errorMessageData.html\"\r\n [classes]=\"errorMessageData.classes\"\r\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\r\n [role]=\"errorMessageData.role\"\r\n [ariaLabel]=\"errorMessageData.ariaLabel\"\r\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\r\n [ariaHidden]=\"errorMessageData.ariaHidden\"\r\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\r\n [ariaControls]=\"errorMessageData.ariaControls\"\r\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\r\n [ariaLive]=\"errorMessageData.ariaLive\"\r\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\r\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\r\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\r\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\r\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\r\n </ng-container>\r\n\r\n <div [class]=\"['c-checkboxes', classes] | makeHtmlList\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngIf=\"checkboxComponentItems && checkboxComponentItems.length > 0\">\r\n <ng-content select=\"desy-checkbox-item\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!(checkboxComponentItems && checkboxComponentItems.length > 0) && items\">\r\n <desy-checkbox-item *ngFor=\"let item of items; index as i\"\r\n [id]=\"item.id\"\r\n [disabled]=\"item.disabled\"\r\n [name]=\"item.name\"\r\n [classes]=\"item.classes\"\r\n [value]=\"item.value\"\r\n [(checked)]=\"item.checked\"\r\n [conditional]=\"item.conditional\"\r\n [isIndeterminate]=\"item.isIndeterminate\"\r\n [indeterminateChecked]=\"item.indeterminateChecked\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\">\r\n <desy-label [text]=\"item.text\" [html]=\"item.html\"\r\n [classes]=\"item.labelData ? item.labelData.classes : null\"\r\n [role]=\"item.labelData ? item.labelData.role : null\"\r\n [ariaLabel]=\"item.labelData ? item.labelData.ariaLabel : null\"\r\n [ariaDescribedBy]=\"item.labelData ? item.labelData.ariaDescribedBy: null\"\r\n [ariaLabelledBy]=\"item.labelData ? item.labelData.ariaLabelledBy : null\"\r\n [ariaHidden]=\"item.labelData ? item.labelData.ariaHidden : null\"\r\n [ariaDisabled]=\"item.labelData ? item.labelData.ariaDisabled : null\"\r\n [ariaControls]=\"item.labelData ? item.labelData.ariaControls : null\"\r\n [ariaCurrent]=\"item.labelData ? item.labelData.ariaCurrent : null\"\r\n [ariaLive]=\"item.labelData ? item.labelData.ariaLive : null\"\r\n [ariaExpanded]=\"item.labelData ? item.labelData.ariaExpanded : null\"\r\n [ariaErrorMessage]=\"item.labelData ? item.labelData.ariaErrorMessage : null\"\r\n [ariaHasPopup]=\"item.labelData ? item.labelData.ariaHasPopup : null\"\r\n [tabindex]=\"tabindex ? item.labelData.tabindex : null\"></desy-label>\r\n <desy-hint *ngIf=\"item.hintData && (item.hintData.text || item.hintData.html)\"\r\n [text]=\"item.hintData.text\"\r\n [html]=\"item.hintData.html\"\r\n [classes]=\"item.hintData.classes\"\r\n [role]=\"item.hintData.role\"\r\n [ariaLabel]=\"item.hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"item.hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"item.hintData.ariaHidden\"\r\n [ariaDisabled]=\"item.hintData.ariaDisabled\"\r\n [ariaControls]=\"item.hintData.ariaControls\"\r\n [ariaCurrent]=\"item.hintData.ariaCurrent\"\r\n [ariaLive]=\"item.hintData.ariaLive\"\r\n [ariaExpanded]=\"item.hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.hintData.ariaHasPopup\"\r\n [tabindex]=\"item.hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!item.hintData && item.hintText\" [text]=\"item.hintText\"></desy-hint>\r\n <desy-content *ngIf=\"item.conditionalHtml\">\r\n <ng-container *ngTemplateOutlet=\"item.conditionalHtml\"></ng-container>\r\n </desy-content>\r\n </desy-checkbox-item>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n",
3128
3158
  providers: [
3129
3159
  {
3130
3160
  provide: forms.NG_VALUE_ACCESSOR,
@@ -3790,7 +3820,7 @@
3790
3820
  ModalComponent.decorators = [
3791
3821
  { type: i0.Component, args: [{
3792
3822
  selector: 'desy-modal',
3793
- template: "<div [class]=\"[ 'relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes] | makeHtmlList\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.aria-disabled]=\"ariaDisabled\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-current]=\"ariaCurrent\"\r\n [attr.aria-live]=\"ariaLive\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.tabindex]=\"tabindex\">\r\n <div *ngIf=\"iconComponent || icon\" class=\"flex justify-center p-base\"\r\n (desyContentEmpty)=\"handleIconContentEmpty(true)\"\r\n (desyContentNotEmpty)=\"handleIconContentEmpty(false)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\r\n <ng-container *ngIf=\"!hasIconContent\">\r\n <ng-container [ngSwitch]=\"getType()\">\r\n <svg *ngSwitchCase=\"'discard'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M4.375 70a65.625 65.625 0 10131.25 0 65.625 65.625 0 10-131.25 0zM23.596 116.404l92.808-92.808\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'delete'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M100.625 122.5h-61.25a8.75 8.75 0 01-8.75-8.75V35h78.75v78.75a8.75 8.75 0 01-8.75 8.75zM56.875 96.25v-35M83.125 96.25v-35M13.125 35h113.75M83.125 17.5h-26.25a8.75 8.75 0 00-8.75 8.75V35h43.75v-8.75a8.75 8.75 0 00-8.75-8.75z\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'edit'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M73.89 82.46l-21.652 3.098 3.091-21.66 55.685-55.685a13.125 13.125 0 0118.562 18.562z\" stroke-width=\"8.749995\"/><path d=\"M111.545 83.125v43.75a8.75 8.75 0 01-8.75 8.75h-87.5a8.75 8.75 0 01-8.75-8.75v-87.5a8.75 8.75 0 018.75-8.75h43.75\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'changes'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M107.112 40.833a48.125 48.125 0 00-85.237 30.608v13.142M35 104.463a48.125 48.125 0 0083.125-33.022v-8.75\" stroke-width=\"8.749995\"/><path d=\"M4.375 67.066l17.5 17.5 17.5-17.5M135.625 80.19l-17.5-17.5-17.5 17.5\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'publish'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M16.094 91.17a9.707 9.707 0 01-5.145-17.938L118.767 5.833a9.7 9.7 0 0114.676 10.034l-21 111.842a9.707 9.707 0 01-17.301 4.031L64.75 91.17z\" stroke-width=\"8.749995\"/><path d=\"M64.75 91.17H50.167v30.163a9.7 9.7 0 0015.166 8.015l18.539-12.635zM64.744 91.17l64.633-85.11\" stroke-width=\"8.749995\"/></g></svg>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h1 *ngSwitchCase=\"1\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h1>\r\n <h2 *ngSwitchCase=\"2\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h2>\r\n <h3 *ngSwitchCase=\"3\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h3>\r\n <h4 *ngSwitchCase=\"4\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h4>\r\n <h5 *ngSwitchCase=\"5\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h5>\r\n </ng-container>\r\n\r\n <div *ngIf=\"descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </div>\r\n <p *ngIf=\"!descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </p>\r\n\r\n <div *ngIf=\"contentComponent || caller\" class=\"p-base\">\r\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\r\n </div>\r\n\r\n <div class=\"flex flex-wrap gap-sm w-full\" [ngClass]=\"(itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) && (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\r\n <ng-template #buttons let-items=\"items\">\r\n <ng-container *ngIf=\"items\">\r\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\r\n <desy-button (clickEvent)=\"clickButtonEmit(items[0], $event)\" [classes]=\"items[0].classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\r\n </desy-button>\r\n </div>\r\n\r\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-frontend.\r\n Eliminar al adaptar a una versi\u00F3n de desy-frontend que lo contemple -->\r\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li>\r\n <desy-button (clickEvent)=\"clickButtonEmit(item, $event)\" [classes]=\"item.classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\r\n </desy-button>\r\n </li>&nbsp;\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isDismissible\">\r\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\r\n <button (click)=\"closeDialog()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar la ventana emergente\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n"
3823
+ template: "<div [class]=\"[ 'relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes] | makeHtmlList\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.aria-disabled]=\"ariaDisabled\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-current]=\"ariaCurrent\"\r\n [attr.aria-live]=\"ariaLive\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.tabindex]=\"tabindex\">\r\n <div *ngIf=\"iconComponent || icon\" class=\"flex justify-center p-base\"\r\n (desyContentEmpty)=\"handleIconContentEmpty(true)\"\r\n (desyContentNotEmpty)=\"handleIconContentEmpty(false)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\r\n <ng-container *ngIf=\"!hasIconContent\">\r\n <ng-container [ngSwitch]=\"getType()\">\r\n <svg *ngSwitchCase=\"'discard'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M4.375 70a65.625 65.625 0 10131.25 0 65.625 65.625 0 10-131.25 0zM23.596 116.404l92.808-92.808\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'delete'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M100.625 122.5h-61.25a8.75 8.75 0 01-8.75-8.75V35h78.75v78.75a8.75 8.75 0 01-8.75 8.75zM56.875 96.25v-35M83.125 96.25v-35M13.125 35h113.75M83.125 17.5h-26.25a8.75 8.75 0 00-8.75 8.75V35h43.75v-8.75a8.75 8.75 0 00-8.75-8.75z\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'edit'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M73.89 82.46l-21.652 3.098 3.091-21.66 55.685-55.685a13.125 13.125 0 0118.562 18.562z\" stroke-width=\"8.749995\"/><path d=\"M111.545 83.125v43.75a8.75 8.75 0 01-8.75 8.75h-87.5a8.75 8.75 0 01-8.75-8.75v-87.5a8.75 8.75 0 018.75-8.75h43.75\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'changes'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M107.112 40.833a48.125 48.125 0 00-85.237 30.608v13.142M35 104.463a48.125 48.125 0 0083.125-33.022v-8.75\" stroke-width=\"8.749995\"/><path d=\"M4.375 67.066l17.5 17.5 17.5-17.5M135.625 80.19l-17.5-17.5-17.5 17.5\" stroke-width=\"8.749995\"/></g></svg>\r\n <svg *ngSwitchCase=\"'publish'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><path d=\"M16.094 91.17a9.707 9.707 0 01-5.145-17.938L118.767 5.833a9.7 9.7 0 0114.676 10.034l-21 111.842a9.707 9.707 0 01-17.301 4.031L64.75 91.17z\" stroke-width=\"8.749995\"/><path d=\"M64.75 91.17H50.167v30.163a9.7 9.7 0 0015.166 8.015l18.539-12.635zM64.744 91.17l64.633-85.11\" stroke-width=\"8.749995\"/></g></svg>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h1 *ngSwitchCase=\"1\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h1>\r\n <h2 *ngSwitchCase=\"2\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h2>\r\n <h3 *ngSwitchCase=\"3\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h3>\r\n <h4 *ngSwitchCase=\"4\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h4>\r\n <h5 *ngSwitchCase=\"5\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: this.titleComponent,\r\n html: this.title ? this.title.html : null,\r\n text: this.title ? this.title.text : null\r\n }\"></ng-container>\r\n </h5>\r\n </ng-container>\r\n\r\n <div *ngIf=\"descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </div>\r\n <p *ngIf=\"!descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\r\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </p>\r\n\r\n <div *ngIf=\"contentComponent || caller\" class=\"p-base\">\r\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\r\n </div>\r\n\r\n <div class=\"flex flex-wrap gap-sm w-full\" [ngClass]=\"(itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) && (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\r\n <ng-template #buttons let-items=\"items\">\r\n <ng-container *ngIf=\"items\">\r\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\r\n <desy-button (clickEvent)=\"clickButtonEmit(items[0], $event)\" [classes]=\"items[0].classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\r\n </desy-button>\r\n </div>\r\n\r\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-html.\r\n Eliminar al adaptar a una versi\u00F3n de desy-html que lo contemple -->\r\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li>\r\n <desy-button (clickEvent)=\"clickButtonEmit(item, $event)\" [classes]=\"item.classes\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\r\n </desy-button>\r\n </li>&nbsp;\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"isDismissible\">\r\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\r\n <button (click)=\"closeDialog()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar la ventana emergente\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n"
3794
3824
  },] }
3795
3825
  ];
3796
3826
  ModalComponent.ctorParameters = function () { return [
@@ -4451,21 +4481,11 @@
4451
4481
  itemComponentList: [{ type: i0.ContentChildren, args: [NavItemComponent,] }]
4452
4482
  };
4453
4483
 
4454
- var HeaderSubnavComponent = /** @class */ (function () {
4484
+ var HeaderSubnavComponent = /** @class */ (function (_super) {
4485
+ __extends(HeaderSubnavComponent, _super);
4455
4486
  function HeaderSubnavComponent() {
4456
- this.isOpen = false;
4457
- this.clickOutsideEnabled = false;
4487
+ return _super !== null && _super.apply(this, arguments) || this;
4458
4488
  }
4459
- HeaderSubnavComponent.prototype.toggleOpen = function () {
4460
- var _this = this;
4461
- this.isOpen = !this.isOpen;
4462
- setTimeout(function () { return _this.clickOutsideEnabled = _this.isOpen; });
4463
- };
4464
- HeaderSubnavComponent.prototype.onKeydownEscape = function () {
4465
- this.isOpen = false;
4466
- this.clickOutsideEnabled = false;
4467
- document.getElementById('header-subnav-button').focus();
4468
- };
4469
4489
  HeaderSubnavComponent.prototype.hasSubnavItems = function () {
4470
4490
  return this.nav && this.nav.getItemList().length > 0;
4471
4491
  };
@@ -4480,55 +4500,29 @@
4480
4500
  throw new Error(element + " content is required");
4481
4501
  };
4482
4502
  return HeaderSubnavComponent;
4483
- }());
4503
+ }(AccessibilityComponent));
4484
4504
  HeaderSubnavComponent.decorators = [
4485
4505
  { type: i0.Component, args: [{
4486
4506
  selector: 'desy-header-subnav',
4487
- template: "\r\n<ng-template #templateNav>\r\n <ng-content select=\"desy-nav\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #temlpateContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<div class=\"hidden lg:flex items-center\" *ngIf=\"hasSubnavItems(); else noItems\">\r\n <div class=\"ml-3 relative\">\r\n <h2 id=\"subnav-title\">\r\n <button id=\"header-subnav-button\" (click)=\"toggleOpen()\" class=\"pr-2 pl-3 py-4 border-r border-l border-neutral-base text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\"\r\n aria-haspopup=\"true\" [attr.aria-expanded]=\"isOpen\" (keydown.escape)=\"onKeydownEscape()\">\r\n <span class=\"inline-block align-middle\" (desyContentEmpty)=\"handleEmptyContent('Header-subnav')\">\r\n <ng-container *ngTemplateOutlet=\"temlpateContent\"></ng-container>\r\n </span>\r\n <svg class=\"inline-block align-middle\" viewBox=\"0 0 96 96\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\">\r\n <g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g>\r\n </svg>\r\n </button>\r\n </h2>\r\n <div *ngIf=\"isOpen\" @toggleDropdown\r\n [desyClickOutside]=\"clickOutsideEnabled\" (clickOutside)=\"toggleOpen()\"\r\n (keydown.escape)=\"onKeydownEscape()\"\r\n class=\"origin-top-left absolute left-0 max-h-64 mt-2 border border-neutral-base overflow-y-auto shadow-md\">\r\n <div class=\"bg-white shadow-xs\" (desyContentEmpty)=\"handleEmptyContent('Header-subnav nav')\">\r\n <ng-container *ngTemplateOutlet=\"templateNav\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #noItems>\r\n <p class=\"hidden lg:inline-block align-middle ml-4 px-3 py-4 border-r border-l border-neutral-base text-sm text-white\"\r\n (desyContentEmpty)=\"handleEmptyContent('Header-subnav')\">\r\n <span #desyContentEmptyIgnore class=\"sr-only\">Aplicaci\u00F3n actual: </span>\r\n <ng-container *ngTemplateOutlet=\"temlpateContent\"></ng-container>\r\n </p>\r\n</ng-template>\r\n\r\n",
4488
- animations: [
4489
- animations.trigger('toggleDropdown', [
4490
- animations.state('void', animations.style({
4491
- opacity: '0.0',
4492
- transform: 'scale(0.95)'
4493
- })),
4494
- animations.state('*', animations.style({
4495
- opacity: '1.0',
4496
- transform: 'scale(1.0)'
4497
- })),
4498
- animations.transition(':enter', [
4499
- animations.animate('100ms ease-out')
4500
- ]),
4501
- animations.transition(':leave', [
4502
- animations.animate('75ms ease-in')
4503
- ])
4504
- ])
4505
- ]
4507
+ template: "<ng-template #templateNav>\r\n <ng-content select=\"desy-nav\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #templateContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<div class=\"hidden lg:flex items-center\" *ngIf=\"hasSubnavItems(); else noItems\">\r\n <div class=\"ml-3 py-2 relative border-r border-l border-neutral-base\">\r\n <h2 id=\"subnav-title\" class=\"\">\r\n <desy-dropdown [hiddenText]=\"hiddenText\"\r\n [classesContainer]=\"classesContainer\"\r\n [classesTooltip]=\"classesTooltip\"\r\n [classes]=\"classes ? classes : 'c-dropdown--header'\"\r\n [caller]=\"caller\"\r\n\r\n [role]=\"role\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [ariaDescribedBy]=\"ariaDescribedBy\"\r\n [ariaLabelledBy]=\"ariaLabelledBy\"\r\n [ariaHidden]=\"ariaHidden\"\r\n [ariaDisabled]=\"ariaDisabled\"\r\n [ariaControls]=\"ariaControls\"\r\n [ariaCurrent]=\"ariaCurrent\"\r\n [ariaLive]=\"ariaLive\"\r\n [ariaExpanded]=\"ariaExpanded\"\r\n [ariaErrorMessage]=\"ariaErrorMessage\"\r\n [ariaHasPopup]=\"ariaHasPopup\"\r\n [tabindex]=\"tabindex\">\r\n <ng-container *ngTemplateOutlet=\"templateContent\"></ng-container>\r\n </desy-dropdown>\r\n <ng-template #caller>\r\n <ng-container *ngTemplateOutlet=\"templateNav\"></ng-container>\r\n </ng-template>\r\n </h2>\r\n </div>\r\n</div>\r\n<ng-template #noItems>\r\n <p class=\"hidden lg:inline-block align-middle ml-4 px-3 py-4 border-r border-l border-neutral-base text-sm text-white\"\r\n (desyContentEmpty)=\"handleEmptyContent('Header-subnav')\">\r\n <span #desyContentEmptyIgnore class=\"sr-only\">Aplicaci\u00F3n actual: </span>\r\n <ng-container *ngTemplateOutlet=\"templateContent\"></ng-container>\r\n </p>\r\n</ng-template>\r\n\r\n\r\n"
4506
4508
  },] }
4507
4509
  ];
4508
4510
  HeaderSubnavComponent.propDecorators = {
4509
- classes: [{ type: i0.HostBinding, args: ['class',] }, { type: i0.Input }],
4511
+ hiddenText: [{ type: i0.Input }],
4512
+ classesContainer: [{ type: i0.Input }],
4513
+ classesTooltip: [{ type: i0.Input }],
4514
+ classes: [{ type: i0.Input }],
4510
4515
  nav: [{ type: i0.ContentChildren, args: [NavComponent,] }]
4511
4516
  };
4512
4517
  __decorate([
4513
4518
  DesyContentChild({ onSetCallbackName: 'overrideNavParams' })
4514
4519
  ], HeaderSubnavComponent.prototype, "nav", void 0);
4515
4520
 
4516
- var HeaderDropdownComponent = /** @class */ (function () {
4521
+ var HeaderDropdownComponent = /** @class */ (function (_super) {
4522
+ __extends(HeaderDropdownComponent, _super);
4517
4523
  function HeaderDropdownComponent() {
4518
- this.hostClass = 'hidden lg:block';
4519
- this.isOpen = false;
4520
- this.clickOutsideEnabled = false;
4524
+ return _super !== null && _super.apply(this, arguments) || this;
4521
4525
  }
4522
- HeaderDropdownComponent.prototype.toggleOpen = function () {
4523
- var _this = this;
4524
- this.isOpen = !this.isOpen;
4525
- setTimeout(function () { return _this.clickOutsideEnabled = _this.isOpen; });
4526
- };
4527
- HeaderDropdownComponent.prototype.onKeydownEscape = function () {
4528
- this.isOpen = false;
4529
- this.clickOutsideEnabled = false;
4530
- document.getElementById('header-dropdown-button').focus();
4531
- };
4532
4526
  HeaderDropdownComponent.prototype.overrideNavParams = function (nav) {
4533
4527
  nav.hasNav = true;
4534
4528
  nav.idPrefix = 'header-dropdown-nav-item';
@@ -4536,49 +4530,24 @@
4536
4530
  nav.classes = 'w-max max-w-64';
4537
4531
  // nav.id = 'id-dropdown-nav'; // No existe como param de navComponent
4538
4532
  };
4539
- /**
4540
- * Estable las clases del elemento html del componente
4541
- */
4542
- HeaderDropdownComponent.prototype.setHostClass = function () {
4543
- this.hostClass = this.classes ? this.classes : 'hidden lg:block';
4544
- };
4545
4533
  HeaderDropdownComponent.prototype.handleEmptyContent = function (element) {
4546
4534
  throw new Error(element + " content is required");
4547
4535
  };
4548
4536
  return HeaderDropdownComponent;
4549
- }());
4537
+ }(AccessibilityComponent));
4550
4538
  HeaderDropdownComponent.decorators = [
4551
4539
  { type: i0.Component, args: [{
4552
4540
  selector: 'desy-header-dropdown',
4553
- template: "<div class=\"ml-4 flex items-center lg:ml-6\">\r\n <div class=\"ml-3 relative\">\r\n <div>\r\n <button id=\"header-dropdown-button\" (click)=\"toggleOpen()\" class=\"inline-flex items-center px-3 py-4 text-sm text-white focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\"\r\n aria-haspopup=\"true\" [attr.aria-expanded]=\"isOpen\" (keydown.escape)=\"onKeydownEscape()\">\r\n <span class=\"inline-block align-middle text-right\" (desyContentEmpty)=\"handleEmptyContent('Header-dropdown')\">\r\n <ng-content></ng-content>\r\n </span> <svg class=\"inline-block align-middle\" viewBox=\"0 0 96 96\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\r\n </button>\r\n </div>\r\n <div *ngIf=\"isOpen\" @toggleDropdown (keydown.escape)=\"onKeydownEscape()\"\r\n [desyClickOutside]=\"clickOutsideEnabled\" (clickOutside)=\"toggleOpen()\"\r\n class=\"origin-top-right absolute right-0 max-h-64 mt-2 border border-neutral-base overflow-y-auto shadow-md\">\r\n <div class=\"bg-white shadow-xs\" (desyContentEmpty)=\"handleEmptyContent('Header-dropdown nav')\">\r\n <ng-content select=\"desy-nav\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
4554
- animations: [
4555
- animations.trigger('toggleDropdown', [
4556
- animations.state('void', animations.style({
4557
- opacity: '0.0',
4558
- transform: 'scale(0.95)'
4559
- })),
4560
- animations.state('*', animations.style({
4561
- opacity: '1.0',
4562
- transform: 'scale(1.0)'
4563
- })),
4564
- animations.transition(':enter', [
4565
- animations.animate('100ms ease-out')
4566
- ]),
4567
- animations.transition(':leave', [
4568
- animations.animate('75ms ease-in')
4569
- ])
4570
- ])
4571
- ]
4541
+ template: "<div class=\"ml-4 flex items-center lg:ml-6\">\r\n <div class=\"ml-3 relative\">\r\n <desy-dropdown [hiddenText]=\"hiddenText\"\r\n [classesContainer]=\"classesContainer ? classesContainer : 'hidden lg:block'\"\r\n [classesTooltip]=\"classesTooltip\"\r\n [classes]=\"classes ? classes : 'c-dropdown--header'\"\r\n [caller]=\"caller\"\r\n\r\n [role]=\"role\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [ariaDescribedBy]=\"ariaDescribedBy\"\r\n [ariaLabelledBy]=\"ariaLabelledBy\"\r\n [ariaHidden]=\"ariaHidden\"\r\n [ariaDisabled]=\"ariaDisabled\"\r\n [ariaControls]=\"ariaControls\"\r\n [ariaCurrent]=\"ariaCurrent\"\r\n [ariaLive]=\"ariaLive\"\r\n [ariaExpanded]=\"ariaExpanded\"\r\n [ariaErrorMessage]=\"ariaErrorMessage\"\r\n [ariaHasPopup]=\"ariaHasPopup\"\r\n [tabindex]=\"tabindex\">\r\n <ng-content></ng-content>\r\n </desy-dropdown>\r\n <ng-template #caller>\r\n <ng-content select=\"desy-nav\"></ng-content>\r\n </ng-template>\r\n </div>\r\n</div>\r\n"
4572
4542
  },] }
4573
4543
  ];
4574
4544
  HeaderDropdownComponent.propDecorators = {
4545
+ hiddenText: [{ type: i0.Input }],
4546
+ classesContainer: [{ type: i0.Input }],
4547
+ classesTooltip: [{ type: i0.Input }],
4575
4548
  classes: [{ type: i0.Input }],
4576
- hostClass: [{ type: i0.HostBinding, args: ['class',] }],
4577
4549
  nav: [{ type: i0.ContentChildren, args: [NavComponent,] }]
4578
4550
  };
4579
- __decorate([
4580
- DesyOnInputChange('setHostClass')
4581
- ], HeaderDropdownComponent.prototype, "classes", void 0);
4582
4551
  __decorate([
4583
4552
  DesyContentChild({ onSetCallbackName: 'overrideNavParams' })
4584
4553
  ], HeaderDropdownComponent.prototype, "nav", void 0);
@@ -4644,7 +4613,7 @@
4644
4613
  HeaderComponent.decorators = [
4645
4614
  { type: i0.Component, args: [{
4646
4615
  selector: 'desy-header',
4647
- template: "<header [ngClass]=\"classes\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <div [ngClass]=\"containerClasses\">\r\n <nav [attr.aria-labelledby]=\"skiplinkComponent ? skiplinkComponent.id : 'skip-link'\">\r\n <ng-content select=\"desy-skip-link\"></ng-content>\r\n <desy-skip-link *ngIf=\"!skiplinkComponent\" text=\"Saltar al contenido principal\" [id]=\"'skip-link'\"></desy-skip-link>\r\n </nav>\r\n <div class=\"flex h-1 bg-red-700\">\r\n <div class=\"flex-auto bg-yellow-300 h-full\"></div>\r\n <div class=\"flex-auto bg-red-500 h-full\"></div>\r\n <div class=\"flex-auto bg-red-800 h-full\"></div>\r\n </div>\r\n <div class=\"bg-black\">\r\n <div class=\"container mx-auto px-base\">\r\n <div class=\"flex items-center justify-between min-h-14\">\r\n <div class=\"flex flex-wrap items-center\">\r\n <div class=\"flex items-center flex-shrink-0\">\r\n <a *ngIf=\"homepageRouterLink || !homepageUrl\" [routerLink]=\"homepageRouterLink\" [fragment]=\"homepageFragment\" class=\"text-white focus:outline-none focus:shadow-outline-warning\" title=\"Ir a la p\u00E1gina de inicio\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 216.878 51.894\" width=\"144\" height=\"32\" [ngClass]=\"{'sm:block': expandedLogo}\" class=\"fill-current hidden\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/><path data-name=\"typo\" d=\"M59.352 45.091V32.36h2.074c4.307 0 6.668 2.266 6.668 6.382 0 4.212-2.265 6.349-6.7 6.349zm15.489-16.974v21.281h14.1v-4.307h-9.348v-4.85h9.253v-4.308h-9.253v-3.542h9.348v-4.275zm32.389 0l-7.757 21.282h5.041l2.3-6.477h6.509l2.265 6.477h5.138l-7.912-21.281zm2.807 4.4l-1.978 6.287h3.989zm63.051 6h-4.754v6.7a6.262 6.262 0 01-2.042.288c-3.638 0-6.317-2.84-6.317-6.7 0-4.147 2.84-6.923 7.051-6.923a11.142 11.142 0 016.062 1.851v-4.849a17.388 17.388 0 00-6.477-1.276c-6.891 0-11.677 4.626-11.677 11.262 0 6.54 4.689 10.976 11.677 10.976a19.329 19.329 0 006.477-1.117zm24.023.192c0-6.35-4.722-10.976-11.167-10.976a11.024 11.024 0 00.16 22.047c6.445.001 11.007-4.593 11.007-11.07zm-11.1-6.637c-3.573 0-5.966 2.713-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.681 5.934-6.7s-2.428-6.699-6.033-6.699zm12.94-3.956v21.281h4.85v-13.56l8.58 13.56h4.5V28.116h-4.849l.006 13.235-8.237-13.235zm-126.6-15h-4.754v6.7a6.266 6.266 0 01-2.042.287c-3.637 0-6.317-2.84-6.317-6.7 0-4.148 2.84-6.923 7.051-6.923a11.152 11.152 0 016.062 1.85V3.481a17.386 17.386 0 00-6.477-1.277c-6.891 0-11.677 4.626-11.677 11.263 0 6.54 4.69 10.974 11.677 10.974a19.342 19.342 0 006.477-1.116zm24 .191c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.159 22.046c6.437-.002 11-4.597 11-11.074zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.457 6.7 6.062 6.7c3.573 0 5.935-2.68 5.935-6.7s-2.437-6.702-6.042-6.702zm12.695-3.956v21.281h8.806c4.69 0 7.433-2.33 7.433-6.318 0-2.743-1.563-4.721-4.435-5.551a4.665 4.665 0 002.9-4.371c.032-3.382-2.265-5.041-6.859-5.041zm7.083 7.944c2.074 0 2.9-.575 2.9-2.01 0-1.372-.8-1.882-3.062-1.882h-2.074v3.892zm.638 9c2.36 0 3.381-.734 3.381-2.457 0-1.786-1.053-2.489-3.573-2.489h-2.679v4.946zm14.274-16.942h-4.768v21.281h4.754zm2.07 0v21.281h14.1v-4.307h-9.349v-4.85h9.253v-4.307h-9.253V6.993h9.349V2.718zm75.145 10.592c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.16 22.046c6.435-.004 10.997-4.599 10.997-11.076zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.68 5.934-6.7s-2.438-6.704-6.043-6.704zm-37.783 32.132l-2.01-6.287-1.978 6.287zM126.43 49.398v-8.743h.606c3.063 0 3.382.319 5.423 5.583a10.7 10.7 0 00.447 1.085l.415.989a9.523 9.523 0 00.51 1.085h6.911l2.3-6.477h6.509l2.265 6.477h5.137l-7.912-21.281h-5.583l-6.288 17.258a89.817 89.817 0 01-1.549-3.411c-.83-1.819-1.308-2.362-2.84-3a5.086 5.086 0 003.892-5.106c0-3.828-2.52-5.743-7.593-5.743h-7.53v21.281zm0-12.763h2.105c2.042 0 3.063-.734 3.063-2.265s-.926-2.2-3-2.2h-2.17zm16.613-12.643V15.25h.605c3.063 0 3.382.319 5.424 5.583a10.427 10.427 0 00.447 1.085l.415.989a9.465 9.465 0 00.51 1.085h9.578l.027-13.652 8.555 13.652h4.5V2.711h-4.849l.021 13.056-8.252-13.056h-4.851v19.812a44.3 44.3 0 01-2.942-5.962c-.829-1.818-1.307-2.36-2.839-3a5.085 5.085 0 003.892-5.1c0-3.829-2.521-5.743-7.594-5.743h-7.529v21.281zm0-12.762h2.106c2.041 0 3.062-.734 3.062-2.265s-.924-2.2-3-2.2h-2.169zM54.53 28.117v21.281h7.114c7.21 0 11.454-3.956 11.454-10.657 0-6.669-4.339-10.625-11.709-10.625z\" fill-rule=\"evenodd\"/></svg>\r\n <svg class=\"w-8 h-8 fill-current\" [ngClass]=\"{'sm:hidden': expandedLogo}\" viewBox=\"0 0 51.894 51.894\" width=\"32\" height=\"32\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/></svg>\r\n </a>\r\n <a *ngIf=\"!homepageRouterLink && homepageUrl\" [href]=\"homepageUrl | externalHref\" class=\"text-white focus:outline-none focus:shadow-outline-warning\" title=\"Ir a la p\u00E1gina de inicio\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 216.878 51.894\" width=\"144\" height=\"32\" [ngClass]=\"{'sm:block': expandedLogo}\" class=\"fill-current hidden\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/><path data-name=\"typo\" d=\"M59.352 45.091V32.36h2.074c4.307 0 6.668 2.266 6.668 6.382 0 4.212-2.265 6.349-6.7 6.349zm15.489-16.974v21.281h14.1v-4.307h-9.348v-4.85h9.253v-4.308h-9.253v-3.542h9.348v-4.275zm32.389 0l-7.757 21.282h5.041l2.3-6.477h6.509l2.265 6.477h5.138l-7.912-21.281zm2.807 4.4l-1.978 6.287h3.989zm63.051 6h-4.754v6.7a6.262 6.262 0 01-2.042.288c-3.638 0-6.317-2.84-6.317-6.7 0-4.147 2.84-6.923 7.051-6.923a11.142 11.142 0 016.062 1.851v-4.849a17.388 17.388 0 00-6.477-1.276c-6.891 0-11.677 4.626-11.677 11.262 0 6.54 4.689 10.976 11.677 10.976a19.329 19.329 0 006.477-1.117zm24.023.192c0-6.35-4.722-10.976-11.167-10.976a11.024 11.024 0 00.16 22.047c6.445.001 11.007-4.593 11.007-11.07zm-11.1-6.637c-3.573 0-5.966 2.713-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.681 5.934-6.7s-2.428-6.699-6.033-6.699zm12.94-3.956v21.281h4.85v-13.56l8.58 13.56h4.5V28.116h-4.849l.006 13.235-8.237-13.235zm-126.6-15h-4.754v6.7a6.266 6.266 0 01-2.042.287c-3.637 0-6.317-2.84-6.317-6.7 0-4.148 2.84-6.923 7.051-6.923a11.152 11.152 0 016.062 1.85V3.481a17.386 17.386 0 00-6.477-1.277c-6.891 0-11.677 4.626-11.677 11.263 0 6.54 4.69 10.974 11.677 10.974a19.342 19.342 0 006.477-1.116zm24 .191c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.159 22.046c6.437-.002 11-4.597 11-11.074zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.457 6.7 6.062 6.7c3.573 0 5.935-2.68 5.935-6.7s-2.437-6.702-6.042-6.702zm12.695-3.956v21.281h8.806c4.69 0 7.433-2.33 7.433-6.318 0-2.743-1.563-4.721-4.435-5.551a4.665 4.665 0 002.9-4.371c.032-3.382-2.265-5.041-6.859-5.041zm7.083 7.944c2.074 0 2.9-.575 2.9-2.01 0-1.372-.8-1.882-3.062-1.882h-2.074v3.892zm.638 9c2.36 0 3.381-.734 3.381-2.457 0-1.786-1.053-2.489-3.573-2.489h-2.679v4.946zm14.274-16.942h-4.768v21.281h4.754zm2.07 0v21.281h14.1v-4.307h-9.349v-4.85h9.253v-4.307h-9.253V6.993h9.349V2.718zm75.145 10.592c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.16 22.046c6.435-.004 10.997-4.599 10.997-11.076zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.68 5.934-6.7s-2.438-6.704-6.043-6.704zm-37.783 32.132l-2.01-6.287-1.978 6.287zM126.43 49.398v-8.743h.606c3.063 0 3.382.319 5.423 5.583a10.7 10.7 0 00.447 1.085l.415.989a9.523 9.523 0 00.51 1.085h6.911l2.3-6.477h6.509l2.265 6.477h5.137l-7.912-21.281h-5.583l-6.288 17.258a89.817 89.817 0 01-1.549-3.411c-.83-1.819-1.308-2.362-2.84-3a5.086 5.086 0 003.892-5.106c0-3.828-2.52-5.743-7.593-5.743h-7.53v21.281zm0-12.763h2.105c2.042 0 3.063-.734 3.063-2.265s-.926-2.2-3-2.2h-2.17zm16.613-12.643V15.25h.605c3.063 0 3.382.319 5.424 5.583a10.427 10.427 0 00.447 1.085l.415.989a9.465 9.465 0 00.51 1.085h9.578l.027-13.652 8.555 13.652h4.5V2.711h-4.849l.021 13.056-8.252-13.056h-4.851v19.812a44.3 44.3 0 01-2.942-5.962c-.829-1.818-1.307-2.36-2.839-3a5.085 5.085 0 003.892-5.1c0-3.829-2.521-5.743-7.594-5.743h-7.529v21.281zm0-12.762h2.106c2.041 0 3.062-.734 3.062-2.265s-.924-2.2-3-2.2h-2.169zM54.53 28.117v21.281h7.114c7.21 0 11.454-3.956 11.454-10.657 0-6.669-4.339-10.625-11.709-10.625z\" fill-rule=\"evenodd\"/></svg>\r\n <svg class=\"w-8 h-8 fill-current\" [ngClass]=\"{'sm:hidden': expandedLogo}\" viewBox=\"0 0 51.894 51.894\" width=\"32\" height=\"32\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/></svg>\r\n </a>\r\n\r\n <ng-content select=\"desy-header-subnav\"></ng-content>\r\n <desy-header-subnav *ngIf=\"!subnavComponent && subnavData && (subnavData.text || subnavData.html)\" [classes]=\"subnavData.classes\">\r\n <ng-container *desyCustomInnerContent=\"{ html: subnavData.html, text: subnavData.text }\"></ng-container>\r\n <desy-nav *ngIf=\"subnavData && subnavData.items && subnavData.items.length > 0\"\r\n [hasNav]=\"true\"\r\n [idPrefix]=\"'header-subnav-nav-item'\"\r\n [classes]=\"'w-max max-w-64'\"\r\n [items]=\"subnavData.items\"\r\n [id]=\"'id-subnav-nav'\"\r\n [ariaLabel]=\"'Aplicaciones'\"></desy-nav>\r\n </desy-header-subnav>\r\n </div>\r\n\r\n <ng-content select=\"desy-header-navigation\"></ng-content>\r\n <desy-header-navigation *ngIf=\"!navigationComponent && navigationData && navigationData.items && navigationData.items.length > 0\"\r\n [idPrefix]=\"'header-nav-item'\"\r\n [classes]=\"navigationData.classes\"\r\n [items]=\"navigationData.items\"\r\n [ariaLabel]=\"'Men\u00FA principal'\"></desy-header-navigation>\r\n </div>\r\n\r\n <ng-content select=\"desy-header-dropdown\"></ng-content>\r\n <ng-container *ngIf=\"!dropdownComponent && dropdownData && dropdownData.items && dropdownData.items.length > 0\">\r\n <desy-header-dropdown [classes]=\"dropdownData.classes\">\r\n <ng-container *desyCustomInnerContent=\"{ html: dropdownData.html, text: dropdownData.text }\"></ng-container>\r\n <desy-nav [hasNav]=\"true\"\r\n [idPrefix]=\"'header-dropdown-nav-item'\"\r\n [classes]=\"'w-max max-w-64'\"\r\n [items]=\"dropdownData.items\"\r\n [id]=\"'id-dropdown-nav'\"\r\n [ariaLabel]=\"'Men\u00FA de usuario'\"></desy-nav>\r\n </desy-header-dropdown>\r\n </ng-container>\r\n\r\n <ng-content select=\"desy-header-offcanvas\"></ng-content>\r\n <ng-container *ngIf=\"!offcanvasComponent && offcanvasData\">\r\n <desy-header-offcanvas [classes]=\"offcanvasData.classes\">\r\n <desy-header-offcanvas-button>\r\n <ng-container *desyCustomInnerContent=\"{ html: offcanvasData.html, text: offcanvasData.text }\"></ng-container>\r\n </desy-header-offcanvas-button>\r\n <desy-header-offcanvas-close-button>{{ offcanvasData.textClose }}</desy-header-offcanvas-close-button>\r\n <desy-content>\r\n <ng-container *desyCustomInnerContent=\"{ template: offcanvasData.contentHtml }\"></ng-container>\r\n </desy-content>\r\n </desy-header-offcanvas>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
4616
+ template: "<header [ngClass]=\"classes\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <div [ngClass]=\"containerClasses\">\r\n <nav [attr.aria-labelledby]=\"skiplinkComponent ? skiplinkComponent.id : 'skip-link'\">\r\n <ng-content select=\"desy-skip-link\"></ng-content>\r\n <desy-skip-link *ngIf=\"!skiplinkComponent\" text=\"Saltar al contenido principal\" [id]=\"'skip-link'\"></desy-skip-link>\r\n </nav>\r\n <div class=\"flex h-1 bg-red-700\">\r\n <div class=\"flex-auto bg-yellow-300 h-full\"></div>\r\n <div class=\"flex-auto bg-red-500 h-full\"></div>\r\n <div class=\"flex-auto bg-red-800 h-full\"></div>\r\n </div>\r\n <div class=\"bg-black\">\r\n <div class=\"container mx-auto px-base\">\r\n <div class=\"flex items-center justify-between min-h-14\">\r\n <div class=\"flex flex-wrap items-center\">\r\n <div class=\"flex items-center flex-shrink-0\">\r\n <a *ngIf=\"homepageRouterLink || !homepageUrl\" [routerLink]=\"homepageRouterLink\" [fragment]=\"homepageFragment\" class=\"text-white focus:outline-none focus:shadow-outline-warning\" title=\"Ir a la p\u00E1gina de inicio\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 216.878 51.894\" width=\"144\" height=\"32\" [ngClass]=\"{'sm:block': expandedLogo}\" class=\"fill-current hidden\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/><path data-name=\"typo\" d=\"M59.352 45.091V32.36h2.074c4.307 0 6.668 2.266 6.668 6.382 0 4.212-2.265 6.349-6.7 6.349zm15.489-16.974v21.281h14.1v-4.307h-9.348v-4.85h9.253v-4.308h-9.253v-3.542h9.348v-4.275zm32.389 0l-7.757 21.282h5.041l2.3-6.477h6.509l2.265 6.477h5.138l-7.912-21.281zm2.807 4.4l-1.978 6.287h3.989zm63.051 6h-4.754v6.7a6.262 6.262 0 01-2.042.288c-3.638 0-6.317-2.84-6.317-6.7 0-4.147 2.84-6.923 7.051-6.923a11.142 11.142 0 016.062 1.851v-4.849a17.388 17.388 0 00-6.477-1.276c-6.891 0-11.677 4.626-11.677 11.262 0 6.54 4.689 10.976 11.677 10.976a19.329 19.329 0 006.477-1.117zm24.023.192c0-6.35-4.722-10.976-11.167-10.976a11.024 11.024 0 00.16 22.047c6.445.001 11.007-4.593 11.007-11.07zm-11.1-6.637c-3.573 0-5.966 2.713-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.681 5.934-6.7s-2.428-6.699-6.033-6.699zm12.94-3.956v21.281h4.85v-13.56l8.58 13.56h4.5V28.116h-4.849l.006 13.235-8.237-13.235zm-126.6-15h-4.754v6.7a6.266 6.266 0 01-2.042.287c-3.637 0-6.317-2.84-6.317-6.7 0-4.148 2.84-6.923 7.051-6.923a11.152 11.152 0 016.062 1.85V3.481a17.386 17.386 0 00-6.477-1.277c-6.891 0-11.677 4.626-11.677 11.263 0 6.54 4.69 10.974 11.677 10.974a19.342 19.342 0 006.477-1.116zm24 .191c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.159 22.046c6.437-.002 11-4.597 11-11.074zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.457 6.7 6.062 6.7c3.573 0 5.935-2.68 5.935-6.7s-2.437-6.702-6.042-6.702zm12.695-3.956v21.281h8.806c4.69 0 7.433-2.33 7.433-6.318 0-2.743-1.563-4.721-4.435-5.551a4.665 4.665 0 002.9-4.371c.032-3.382-2.265-5.041-6.859-5.041zm7.083 7.944c2.074 0 2.9-.575 2.9-2.01 0-1.372-.8-1.882-3.062-1.882h-2.074v3.892zm.638 9c2.36 0 3.381-.734 3.381-2.457 0-1.786-1.053-2.489-3.573-2.489h-2.679v4.946zm14.274-16.942h-4.768v21.281h4.754zm2.07 0v21.281h14.1v-4.307h-9.349v-4.85h9.253v-4.307h-9.253V6.993h9.349V2.718zm75.145 10.592c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.16 22.046c6.435-.004 10.997-4.599 10.997-11.076zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.68 5.934-6.7s-2.438-6.704-6.043-6.704zm-37.783 32.132l-2.01-6.287-1.978 6.287zM126.43 49.398v-8.743h.606c3.063 0 3.382.319 5.423 5.583a10.7 10.7 0 00.447 1.085l.415.989a9.523 9.523 0 00.51 1.085h6.911l2.3-6.477h6.509l2.265 6.477h5.137l-7.912-21.281h-5.583l-6.288 17.258a89.817 89.817 0 01-1.549-3.411c-.83-1.819-1.308-2.362-2.84-3a5.086 5.086 0 003.892-5.106c0-3.828-2.52-5.743-7.593-5.743h-7.53v21.281zm0-12.763h2.105c2.042 0 3.063-.734 3.063-2.265s-.926-2.2-3-2.2h-2.17zm16.613-12.643V15.25h.605c3.063 0 3.382.319 5.424 5.583a10.427 10.427 0 00.447 1.085l.415.989a9.465 9.465 0 00.51 1.085h9.578l.027-13.652 8.555 13.652h4.5V2.711h-4.849l.021 13.056-8.252-13.056h-4.851v19.812a44.3 44.3 0 01-2.942-5.962c-.829-1.818-1.307-2.36-2.839-3a5.085 5.085 0 003.892-5.1c0-3.829-2.521-5.743-7.594-5.743h-7.529v21.281zm0-12.762h2.106c2.041 0 3.062-.734 3.062-2.265s-.924-2.2-3-2.2h-2.169zM54.53 28.117v21.281h7.114c7.21 0 11.454-3.956 11.454-10.657 0-6.669-4.339-10.625-11.709-10.625z\" fill-rule=\"evenodd\"/></svg>\r\n <svg class=\"w-8 h-8 fill-current\" [ngClass]=\"{'sm:hidden': expandedLogo}\" viewBox=\"0 0 51.894 51.894\" width=\"32\" height=\"32\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/></svg>\r\n </a>\r\n <a *ngIf=\"!homepageRouterLink && homepageUrl\" [href]=\"homepageUrl | externalHref\" class=\"text-white focus:outline-none focus:shadow-outline-warning\" title=\"Ir a la p\u00E1gina de inicio\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 216.878 51.894\" width=\"144\" height=\"32\" [ngClass]=\"{'sm:block': expandedLogo}\" class=\"fill-current hidden\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/><path data-name=\"typo\" d=\"M59.352 45.091V32.36h2.074c4.307 0 6.668 2.266 6.668 6.382 0 4.212-2.265 6.349-6.7 6.349zm15.489-16.974v21.281h14.1v-4.307h-9.348v-4.85h9.253v-4.308h-9.253v-3.542h9.348v-4.275zm32.389 0l-7.757 21.282h5.041l2.3-6.477h6.509l2.265 6.477h5.138l-7.912-21.281zm2.807 4.4l-1.978 6.287h3.989zm63.051 6h-4.754v6.7a6.262 6.262 0 01-2.042.288c-3.638 0-6.317-2.84-6.317-6.7 0-4.147 2.84-6.923 7.051-6.923a11.142 11.142 0 016.062 1.851v-4.849a17.388 17.388 0 00-6.477-1.276c-6.891 0-11.677 4.626-11.677 11.262 0 6.54 4.689 10.976 11.677 10.976a19.329 19.329 0 006.477-1.117zm24.023.192c0-6.35-4.722-10.976-11.167-10.976a11.024 11.024 0 00.16 22.047c6.445.001 11.007-4.593 11.007-11.07zm-11.1-6.637c-3.573 0-5.966 2.713-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.681 5.934-6.7s-2.428-6.699-6.033-6.699zm12.94-3.956v21.281h4.85v-13.56l8.58 13.56h4.5V28.116h-4.849l.006 13.235-8.237-13.235zm-126.6-15h-4.754v6.7a6.266 6.266 0 01-2.042.287c-3.637 0-6.317-2.84-6.317-6.7 0-4.148 2.84-6.923 7.051-6.923a11.152 11.152 0 016.062 1.85V3.481a17.386 17.386 0 00-6.477-1.277c-6.891 0-11.677 4.626-11.677 11.263 0 6.54 4.69 10.974 11.677 10.974a19.342 19.342 0 006.477-1.116zm24 .191c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.159 22.046c6.437-.002 11-4.597 11-11.074zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.457 6.7 6.062 6.7c3.573 0 5.935-2.68 5.935-6.7s-2.437-6.702-6.042-6.702zm12.695-3.956v21.281h8.806c4.69 0 7.433-2.33 7.433-6.318 0-2.743-1.563-4.721-4.435-5.551a4.665 4.665 0 002.9-4.371c.032-3.382-2.265-5.041-6.859-5.041zm7.083 7.944c2.074 0 2.9-.575 2.9-2.01 0-1.372-.8-1.882-3.062-1.882h-2.074v3.892zm.638 9c2.36 0 3.381-.734 3.381-2.457 0-1.786-1.053-2.489-3.573-2.489h-2.679v4.946zm14.274-16.942h-4.768v21.281h4.754zm2.07 0v21.281h14.1v-4.307h-9.349v-4.85h9.253v-4.307h-9.253V6.993h9.349V2.718zm75.145 10.592c0-6.349-4.722-10.975-11.167-10.975a11.023 11.023 0 00.16 22.046c6.435-.004 10.997-4.599 10.997-11.076zm-11.1-6.636c-3.573 0-5.966 2.711-5.966 6.7s2.456 6.7 6.062 6.7c3.573 0 5.934-2.68 5.934-6.7s-2.438-6.704-6.043-6.704zm-37.783 32.132l-2.01-6.287-1.978 6.287zM126.43 49.398v-8.743h.606c3.063 0 3.382.319 5.423 5.583a10.7 10.7 0 00.447 1.085l.415.989a9.523 9.523 0 00.51 1.085h6.911l2.3-6.477h6.509l2.265 6.477h5.137l-7.912-21.281h-5.583l-6.288 17.258a89.817 89.817 0 01-1.549-3.411c-.83-1.819-1.308-2.362-2.84-3a5.086 5.086 0 003.892-5.106c0-3.828-2.52-5.743-7.593-5.743h-7.53v21.281zm0-12.763h2.105c2.042 0 3.063-.734 3.063-2.265s-.926-2.2-3-2.2h-2.17zm16.613-12.643V15.25h.605c3.063 0 3.382.319 5.424 5.583a10.427 10.427 0 00.447 1.085l.415.989a9.465 9.465 0 00.51 1.085h9.578l.027-13.652 8.555 13.652h4.5V2.711h-4.849l.021 13.056-8.252-13.056h-4.851v19.812a44.3 44.3 0 01-2.942-5.962c-.829-1.818-1.307-2.36-2.839-3a5.085 5.085 0 003.892-5.1c0-3.829-2.521-5.743-7.594-5.743h-7.529v21.281zm0-12.762h2.106c2.041 0 3.062-.734 3.062-2.265s-.924-2.2-3-2.2h-2.169zM54.53 28.117v21.281h7.114c7.21 0 11.454-3.956 11.454-10.657 0-6.669-4.339-10.625-11.709-10.625z\" fill-rule=\"evenodd\"/></svg>\r\n <svg class=\"w-8 h-8 fill-current\" [ngClass]=\"{'sm:hidden': expandedLogo}\" viewBox=\"0 0 51.894 51.894\" width=\"32\" height=\"32\" aria-label=\"Gobierno de Arag\u00F3n\" role=\"img\"><title>Ir a la p\u00E1gina de inicio</title><path data-name=\"img\" d=\"M51.89 51.892H0V0h51.89zm-2.5-2.494v-8.96L38.906 42.33a17.743 17.743 0 01-3.136.278 18.211 18.211 0 01-9.225-2.517 21.42 21.42 0 00-9.317-2.082 20.786 20.786 0 00-4.9.571c-.743.15-1.526.292-2.282.429l-.125.023-.613.112-4.928.913-1.875.382V48.934l1.527-.247 22.517-4.133a17.458 17.458 0 013.236-.3 18.06 18.06 0 017.317 1.527l5.442 2.854a9.431 9.431 0 002.372.679 7.837 7.837 0 001.147.083h.029a16 16 0 003.3-.464zm0 0zm0-8.96V27.195a8.1 8.1 0 00-4.062-1.2 7.451 7.451 0 00-1.162.094l-10.852 2.009c-.026 0-2.878.518-4.281.779L17.12 31.048a18.266 18.266 0 01-2.5.173 18.246 18.246 0 01-7.67-1.683l-4.447-2.34V33.636l1.511-.281a19.009 19.009 0 014.442-.517 17.882 17.882 0 018.168 1.894 23.042 23.042 0 0010.673 2.617 23.64 23.64 0 002.884-.178l19.21-3.535zm0-13.243v-8.778l-1.341.282a19.092 19.092 0 01-4.442.516 17.873 17.873 0 01-8.169-1.894 23.049 23.049 0 00-10.672-2.618 23.464 23.464 0 00-2.884.179L2.5 18.417v6.538a7.558 7.558 0 003.968 1.128 9.406 9.406 0 001.426-.116l10.852-2.008c.027-.005 2.876-.518 4.28-.78l11.914-2.174a18.122 18.122 0 012.5-.173 18.236 18.236 0 017.67 1.683l4.277 2.441v-4.427zm0-8.778V2.981l-7.4 1.524-7.35 1.328-7.035 1.277a23.976 23.976 0 01-5.306.62 16.834 16.834 0 01-4.517-.57 19.322 19.322 0 01-5.084-2.209 95.551 95.551 0 00-1.3-.712c-.285-.139-.571-.291-.846-.437h-.005a9.085 9.085 0 00-2.252-.954 7.331 7.331 0 00-1.918-.341H2.5v9c1.433-.237 2.593-.442 3.651-.647l7.517-1.345a19.656 19.656 0 012.63-.178 17.162 17.162 0 012.63.2 22.628 22.628 0 017.434 2.705 21.654 21.654 0 008.584 1.768h.006a20.746 20.746 0 003.173-.242l11.264-2.256v6.907zM2.5 2.98v-.472h2.95a14.929 14.929 0 00-2.949.473z\"/></svg>\r\n </a>\r\n\r\n <ng-content select=\"desy-header-subnav\"></ng-content>\r\n <desy-header-subnav *ngIf=\"!subnavComponent && subnavData && (subnavData.text || subnavData.html)\"\r\n [classes]=\"subnavData.classes\"\r\n [hiddenText]=\"subnavData.hiddenText\"\r\n [classesContainer]=\"subnavData.classesContainer\"\r\n [classesTooltip]=\"subnavData.classesTooltip\"\r\n [role]=\"subnavData.role\"\r\n [ariaLabel]=\"subnavData.ariaLabel\"\r\n [ariaDescribedBy]=\"subnavData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"subnavData.ariaLabelledBy\"\r\n [ariaHidden]=\"subnavData.ariaHidden\"\r\n [ariaDisabled]=\"subnavData.ariaDisabled\"\r\n [ariaControls]=\"subnavData.ariaControls\"\r\n [ariaCurrent]=\"subnavData.ariaCurrent\"\r\n [ariaLive]=\"subnavData.ariaLive\"\r\n [ariaExpanded]=\"subnavData.ariaExpanded\"\r\n [ariaErrorMessage]=\"subnavData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"subnavData.ariaHasPopup\"\r\n [tabindex]=\"subnavData.tabindex\">\r\n <ng-container *desyCustomInnerContent=\"{ html: subnavData.html, text: subnavData.text }\"></ng-container>\r\n <desy-nav *ngIf=\"subnavData && subnavData.items && subnavData.items.length > 0\"\r\n [hasNav]=\"true\"\r\n [idPrefix]=\"'header-subnav-nav-item'\"\r\n [classes]=\"'w-max max-w-64'\"\r\n [items]=\"subnavData.items\"\r\n [id]=\"'id-subnav-nav'\"\r\n [ariaLabel]=\"'Aplicaciones'\"></desy-nav>\r\n </desy-header-subnav>\r\n </div>\r\n\r\n <ng-content select=\"desy-header-navigation\"></ng-content>\r\n <desy-header-navigation *ngIf=\"!navigationComponent && navigationData && navigationData.items && navigationData.items.length > 0\"\r\n [idPrefix]=\"'header-nav-item'\"\r\n [classes]=\"navigationData.classes\"\r\n [items]=\"navigationData.items\"\r\n [ariaLabel]=\"'Men\u00FA principal'\"></desy-header-navigation>\r\n </div>\r\n\r\n <ng-content select=\"desy-header-dropdown\"></ng-content>\r\n <ng-container *ngIf=\"!dropdownComponent && dropdownData && dropdownData.items && dropdownData.items.length > 0\">\r\n <desy-header-dropdown [classes]=\"dropdownData.classes\"\r\n [hiddenText]=\"dropdownData.hiddenText\"\r\n [classesContainer]=\"dropdownData.classesContainer\"\r\n [classesTooltip]=\"dropdownData.classesTooltip\"\r\n [role]=\"dropdownData.role\"\r\n [ariaLabel]=\"dropdownData.ariaLabel\"\r\n [ariaDescribedBy]=\"dropdownData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"dropdownData.ariaLabelledBy\"\r\n [ariaHidden]=\"dropdownData.ariaHidden\"\r\n [ariaDisabled]=\"dropdownData.ariaDisabled\"\r\n [ariaControls]=\"dropdownData.ariaControls\"\r\n [ariaCurrent]=\"dropdownData.ariaCurrent\"\r\n [ariaLive]=\"dropdownData.ariaLive\"\r\n [ariaExpanded]=\"dropdownData.ariaExpanded\"\r\n [ariaErrorMessage]=\"dropdownData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"dropdownData.ariaHasPopup\"\r\n [tabindex]=\"dropdownData.tabindex\">\r\n <ng-container *desyCustomInnerContent=\"{ html: dropdownData.html, text: dropdownData.text }\"></ng-container>\r\n <desy-nav [hasNav]=\"true\"\r\n [idPrefix]=\"'header-dropdown-nav-item'\"\r\n [classes]=\"'w-max max-w-64'\"\r\n [items]=\"dropdownData.items\"\r\n [id]=\"'id-dropdown-nav'\"\r\n [ariaLabel]=\"'Men\u00FA de usuario'\"></desy-nav>\r\n </desy-header-dropdown>\r\n </ng-container>\r\n\r\n <ng-content select=\"desy-header-offcanvas\"></ng-content>\r\n <ng-container *ngIf=\"!offcanvasComponent && offcanvasData\">\r\n <desy-header-offcanvas [classes]=\"offcanvasData.classes\">\r\n <desy-header-offcanvas-button>\r\n <ng-container *desyCustomInnerContent=\"{ html: offcanvasData.html, text: offcanvasData.text }\"></ng-container>\r\n </desy-header-offcanvas-button>\r\n <desy-header-offcanvas-close-button>{{ offcanvasData.textClose }}</desy-header-offcanvas-close-button>\r\n <desy-content>\r\n <ng-container *desyCustomInnerContent=\"{ template: offcanvasData.contentHtml }\"></ng-container>\r\n </desy-content>\r\n </desy-header-offcanvas>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
4648
4617
  },] }
4649
4618
  ];
4650
4619
  HeaderComponent.propDecorators = {
@@ -4966,7 +4935,7 @@
4966
4935
  MenuHorizontalComponent.decorators = [
4967
4936
  { type: i0.Component, args: [{
4968
4937
  selector: 'desy-menu-horizontal',
4969
- template: "<!-- menu-horizontal -->\r\n<nav [class]=\"['c-menu-horizontal', classes] | makeHtmlList\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ul class=\"c-menu-horizontal__list lg:flex lg:flex-wrap\">\r\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\r\n <li *ngIf=\"item\">\r\n <span *ngIf=\"item.active; else elseBlock\" [attr.id]=\"getItemId(item, i)\"\r\n [class]=\"['c-menu-horizontal__active flex items-center relative py-sm lg:px-lg lg:py-base border border-transparent truncate font-semibold', item.classes] | makeHtmlList\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n aria-current=\"page\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\r\n <strong (desyContentEmpty)=\"handleEmptyItem(i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </strong>\r\n </span>\r\n <ng-template #elseBlock>\r\n <a *ngIf=\"item.routerLink && !item.href\" (click)=\"onClick($event, item)\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [routerLink]=\"item.routerLink\"\r\n [fragment]=\"item.fragment\"\r\n [class]=\"['c-menu-horizontal__link relative flex items-center py-sm lg:px-lg lg:py-base border border-transparent text-black hover:text-primary-base underline truncate focus:outline-none', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n [attr.disabled]=\"item.disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\">\r\n <span class=\"flex items-center pointer-events-none\" (desyContentEmpty)=\"handleEmptyItem(i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </span>\r\n </a>\r\n <a *ngIf=\"!item.routerLink && item.href\" (click)=\"onClick($event, item)\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [href]=\"item.href | externalHref\"\r\n [target]=\"item.target\"\r\n [class]=\"['c-menu-horizontal__link relative flex items-center py-sm lg:px-lg lg:py-base border border-transparent text-black hover:text-primary-base underline truncate focus:outline-none', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n [attr.disabled]=\"item.disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\">\r\n <span class=\"flex items-center pointer-events-none\" (desyContentEmpty)=\"handleEmptyItem(i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </span>\r\n </a>\r\n </ng-template>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</nav>\r\n<!-- /menu-horizontal -->\r\n"
4938
+ template: "<!-- menu-horizontal -->\r\n<nav [class]=\"['c-menu-horizontal', classes] | makeHtmlList\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ul class=\"c-menu-horizontal__list lg:flex lg:flex-wrap\">\r\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\r\n <li *ngIf=\"item\">\r\n <span *ngIf=\"item.active; else elseBlock\" [attr.id]=\"getItemId(item, i)\"\r\n [class]=\"['c-menu-horizontal__active flex items-center relative py-sm lg:px-lg lg:py-base border border-transparent truncate font-semibold', item.classes] | makeHtmlList\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n aria-current=\"page\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-disabled]=\"item.ariaDisabled ? item.ariaDisabled : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.tabindex]=\"item.tabindex ? item.tabindex : null\">\r\n <strong (desyContentEmpty)=\"handleEmptyItem(i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </strong>\r\n </span>\r\n <ng-template #elseBlock>\r\n <a *ngIf=\"item.routerLink && !item.href\" (click)=\"onClick($event, item)\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [routerLink]=\"item.routerLink\"\r\n [fragment]=\"item.fragment\"\r\n [class]=\"['c-menu-horizontal__link relative flex items-center py-sm lg:px-lg lg:py-base border border-transparent text-black hover:text-primary-base underline truncate focus:outline-none', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'no-underline pointer-events-none': item.disabled}\"\r\n [attr.disabled]=\"item.disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\">\r\n <span class=\"flex items-center pointer-events-none\" (desyContentEmpty)=\"handleEmptyItem(i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </span>\r\n </a>\r\n <a *ngIf=\"!item.routerLink && item.href\" (click)=\"onClick($event, item)\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [href]=\"item.href | externalHref\"\r\n [target]=\"item.target\"\r\n [class]=\"['c-menu-horizontal__link relative flex items-center py-sm lg:px-lg lg:py-base border border-transparent text-black hover:text-primary-base underline truncate focus:outline-none', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'no-underline pointer-events-none': item.disabled}\"\r\n [attr.disabled]=\"item.disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\">\r\n <span class=\"flex items-center pointer-events-none\" (desyContentEmpty)=\"handleEmptyItem(i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </span>\r\n </a>\r\n </ng-template>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</nav>\r\n<!-- /menu-horizontal -->\r\n"
4970
4939
  },] }
4971
4940
  ];
4972
4941
  MenuHorizontalComponent.propDecorators = {
@@ -5536,7 +5505,7 @@
5536
5505
  if (!items || items.length === 0) {
5537
5506
  throw Error('Items are required');
5538
5507
  }
5539
- // No se ha puesto label required porque en algunos ejemplos de desy-frontend no aparece
5508
+ // No se ha puesto label required porque en algunos ejemplos de desy-html no aparece
5540
5509
  };
5541
5510
  MenubarComponent.prototype.handleEmptyItem = function (text) {
5542
5511
  throw Error(text);
@@ -5918,7 +5887,7 @@
5918
5887
  MenubarComponent.decorators = [
5919
5888
  { type: i0.Component, args: [{
5920
5889
  selector: 'desy-menubar',
5921
- template: "<div [attr.id]=\"id\" [class]=\"['c-menubar', classes] | makeHtmlList\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ng-container *ngIf=\"getLabelRef()\">\r\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent ? labelComponent.classes : (labelData ? labelData.classes : null)] | makeHtmlList\">\r\n <ng-container *ngTemplateOutlet=\"getLabelRef()\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getLabelRef() && (labelData || labelText)\">\r\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelData ? labelData.classes : null] | makeHtmlList\">\r\n <ng-container *desyCustomInnerContent=\"{ html: getLabelContent() }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ul #menubar [id]=\"id + '-menubar'\" class=\"lg:flex lg:flex-wrap\" role=\"menubar\"\r\n (focusin)=\"handleMenuFocusIn()\"\r\n (focusout)=\"handleMenuFocusOut($event)\"\r\n [ngClass]=\"{ 'focus': isFocused }\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"getLabelRef() || labelData || labelText ? id + '-label' : null\">\r\n <ng-container *ngFor=\"let item of getItems(); index as itemIndex\">\r\n <li class=\"relative\" role=\"none\" desyMenubaritem (contentChanged)=\"checkChanges()\">\r\n <a *ngIf=\"item.sub\" #link\r\n role=\"menuitem\" aria-haspopup=\"true\" aria-expanded=\"false\"\r\n (click)=\"handleMenuItemClick($event, itemIndex)\"\r\n (keydown)=\"handleMenuItemKeydown($event, itemIndex)\"\r\n (mouseover)=\"handleMenuItemMouseOver(itemIndex)\"\r\n (desyAttributeChange)=\"checkChanges()\" [attributesToCheck]=\"'disabled'\"\r\n [id]=\"getItemId(item, itemIndex)\"\r\n [class]=\"['c-menubar__button', item.classes] | makeHtmlList\"\r\n\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : (item.ariaDisabled ? item.ariaDisabled : null)\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-modal]=\"item.ariaModal ? item.ariaModal : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : (itemIndex === currentFocusItemIndex ? 0 : -1)\">\r\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\" #itemContentWrapper\r\n (desyContentEmpty)=\"handleEmptyItem('item content, html or text is required at position ' + itemIndex)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text}\"></ng-container>\r\n </span>\r\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\r\n </a>\r\n <a *ngIf=\"item.routerLink && !item.sub\" #link #itemContentWrapper\r\n role=\"menuitem\"\r\n (click)=\"handleMenuItemClick($event, itemIndex)\"\r\n (keydown)=\"handleMenuItemKeydown($event, itemIndex)\"\r\n (mouseover)=\"handleMenuItemMouseOver(itemIndex)\"\r\n (desyContentEmpty)=\"handleEmptyItem('item content, html or text is required at position ' + itemIndex)\"\r\n (desyAttributeChange)=\"checkChanges()\" [attributesToCheck]=\"'disabled'\"\r\n [id]=\"getItemId(item, itemIndex)\"\r\n [routerLink]=\"item.routerLink\"\r\n [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : ''\"\r\n [fragment]=\"item.fragment\"\r\n [class]=\"['c-menubar__button', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'c-menubar__button--disabled': item.disabled, 'c-menubar__button--primary': item.active}\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : (item.ariaDisabled ? item.ariaDisabled : null)\"\r\n [attr.tabindex]=\"item.disabled ? -1 : (itemIndex === currentFocusItemIndex ? 0 : -1)\"\r\n [attr.target]=\"item.target ? item.target : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledBy]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.aria-modal]=\"item.ariaModal ? item.ariaModal : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text}\"></ng-container>\r\n </a>\r\n <a *ngIf=\"!item.routerLink && item.href && !item.sub\" #link #itemContentWrapper\r\n role=\"menuitem\"\r\n (click)=\"handleMenuItemClick($event, itemIndex)\"\r\n (keydown)=\"handleMenuItemKeydown($event, itemIndex)\"\r\n (mouseover)=\"handleMenuItemMouseOver(itemIndex)\"\r\n (desyContentEmpty)=\"handleEmptyItem('item content, html or text is required at position ' + itemIndex)\"\r\n (desyAttributeChange)=\"checkChanges()\" [attributesToCheck]=\"'disabled'\"\r\n [id]=\"getItemId(item, itemIndex)\"\r\n [href]=\"item.href | externalHref\"\r\n [class]=\"['c-menubar__button', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'c-menubar__button--disabled': item.disabled, 'c-menubar__button--primary': item.active}\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : (item.ariaDisabled ? item.ariaDisabled : null)\"\r\n [attr.tabindex]=\"item.disabled ? -1 : (itemIndex === currentFocusItemIndex ? 0 : -1)\"\r\n [attr.target]=\"item.target ? item.target : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledBy]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.aria-modal]=\"item.ariaModal ? item.ariaModal : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text}\"></ng-container>\r\n </a>\r\n\r\n <ul *ngIf=\"item.sub && getItemSubitems(item)\" #popupMenu role=\"menu\" tabindex=\"-1\"\r\n [ngStyle]=\"getPopupStyle(itemIndex)\"\r\n [class]=\"['c-menubar__tooltip w-max max-w-64 hidden border border-neutral-base shadow-md bg-white text-sm', item.sub.classes] | makeHtmlList\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : (item.sub.ariaLabel ? item.sub.ariaLabel : null)\"\r\n [attr.aria-describedby]=\"item.sub.ariaDescribedBy ? item.sub.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.sub.ariaLabelledBy ? item.sub.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.sub.ariaHidden ? item.sub.ariaHidden : null\"\r\n [attr.aria-disabled]=\"item.sub.ariaDisabled ? item.sub.ariaDisabled : null\"\r\n [attr.aria-controls]=\"item.sub.ariaControls ? item.sub.ariaControls : null\"\r\n [attr.aria-current]=\"item.sub.ariaCurrent ? item.sub.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.sub.ariaLive ? item.sub.ariaLive : null\"\r\n [attr.aria-expanded]=\"!!(menuData && menuData[itemIndex].open)\"\r\n [attr.aria-errormessage]=\"item.sub.ariaErrorMessage ? item.sub.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.sub.ariaHasPopup ? item.sub.ariaHasPopup : null\"\r\n [attr.aria-modal]=\"item.sub.ariaModal ? item.sub.ariaModal : null\">\r\n <ng-container *ngFor=\"let subItem of getItemSubitems(item); index as subItemIndex\">\r\n <ng-container [ngSwitch]=\"subItem.role\">\r\n <li #popupMenuItem *ngSwitchCase=\"'none'\" role=\"none\" tabindex=\"-1\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n (desyContentEmpty)=\"handleEmptyItem('subitem content, html or text is required at position ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subItem, html: subItem.html, text: subItem.text}\"></ng-container>\r\n </li>\r\n <li *ngSwitchCase=\"'group'\">\r\n <ul role=\"group\" [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n [attr.aria-label]=\"subItem.ariaLabel ? subItem.ariaLabel : null\">\r\n <ng-container *ngFor=\"let subsubitem of getSubItemSubitems(subItem); index as subsubIndex\">\r\n <ng-container *ngIf=\"subsubitem\">\r\n <li #popupMenuItem [attr.role]=\"subsubitem.role ? subsubitem.role : null\" tabindex=\"-1\"\r\n [id]=\"getSubItemId(subsubitem, subsubIndex, getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex)))\"\r\n (desyContentEmpty)=\"handleEmptyItem('subsubitem content, html or text is required at position ' + subsubIndex + ' of subItem ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex, subsubIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex, subsubIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex, subsubIndex)\"\r\n [attr.aria-checked]=\"getSubSubItemAriaChecked(subsubitem)\"\r\n class=\"flex items-center pr-base pl-lg py-sm cursor-pointer hover:bg-primary-base hover:text-white\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subsubitem, html: subsubitem.html, text: subsubitem.text}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li #popupMenuItem *ngSwitchCase=\"'menuitem'\" role=\"menuitem\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleEmptyItem('subitem content, html or text is required at position ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex)\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n class=\"flex items-center pr-base pl-lg py-sm cursor-pointer hover:bg-primary-base hover:text-white focus:bg-primary-base focus:text-white focus:outline-none\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subItem, html: subItem.html, text: subItem.text}\"></ng-container>\r\n </li>\r\n <li #popupMenuItem *ngSwitchCase=\"'menuitemcheckbox'\" role=\"menuitemcheckbox\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleEmptyItem('subitem content, html or text is required at position ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex)\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n [attr.aria-checked]=\"!!subItem.checked\"\r\n class=\"flex items-center pr-base pl-lg py-sm cursor-pointer hover:bg-primary-base hover:text-white\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subItem, html: subItem.html, text: subItem.text}\"></ng-container>\r\n </li>\r\n <li #popupMenuItem *ngSwitchCase=\"'separator'\" role=\"separator\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n class=\"my-sm border-b border-neutral-base\">\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n"
5890
+ template: "<div [attr.id]=\"id\" [class]=\"['c-menubar', classes] | makeHtmlList\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ng-container *ngIf=\"getLabelRef()\">\r\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent ? labelComponent.classes : (labelData ? labelData.classes : null)] | makeHtmlList\">\r\n <ng-container *ngTemplateOutlet=\"getLabelRef()\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getLabelRef() && (labelData || labelText)\">\r\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelData ? labelData.classes : null] | makeHtmlList\">\r\n <ng-container *desyCustomInnerContent=\"{ html: getLabelContent() }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ul #menubar [id]=\"id + '-menubar'\" class=\"lg:flex lg:flex-wrap\" role=\"menubar\"\r\n (focusin)=\"handleMenuFocusIn()\"\r\n (focusout)=\"handleMenuFocusOut($event)\"\r\n [ngClass]=\"{ 'focus': isFocused }\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"getLabelRef() || labelData || labelText ? id + '-label' : null\">\r\n <ng-container *ngFor=\"let item of getItems(); index as itemIndex\">\r\n <li class=\"relative\" role=\"none\" desyMenubaritem (contentChanged)=\"checkChanges()\">\r\n <a *ngIf=\"item.sub\" #link\r\n role=\"menuitem\" aria-haspopup=\"true\" aria-expanded=\"false\"\r\n (click)=\"handleMenuItemClick($event, itemIndex)\"\r\n (keydown)=\"handleMenuItemKeydown($event, itemIndex)\"\r\n (mouseover)=\"handleMenuItemMouseOver(itemIndex)\"\r\n (desyAttributeChange)=\"checkChanges()\" [attributesToCheck]=\"'disabled'\"\r\n [id]=\"getItemId(item, itemIndex)\"\r\n [class]=\"['c-menubar__button', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'c-menubar__button--disabled': item.disabled, 'c-menubar__button--primary': item.active}\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : (item.ariaDisabled ? item.ariaDisabled : null)\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-modal]=\"item.ariaModal ? item.ariaModal : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : (itemIndex === currentFocusItemIndex ? 0 : -1)\">\r\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\" #itemContentWrapper\r\n (desyContentEmpty)=\"handleEmptyItem('item content, html or text is required at position ' + itemIndex)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text}\"></ng-container>\r\n </span>\r\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\r\n </a>\r\n <a *ngIf=\"item.routerLink && !item.sub\" #link #itemContentWrapper\r\n role=\"menuitem\"\r\n (click)=\"handleMenuItemClick($event, itemIndex)\"\r\n (keydown)=\"handleMenuItemKeydown($event, itemIndex)\"\r\n (mouseover)=\"handleMenuItemMouseOver(itemIndex)\"\r\n (desyContentEmpty)=\"handleEmptyItem('item content, html or text is required at position ' + itemIndex)\"\r\n (desyAttributeChange)=\"checkChanges()\" [attributesToCheck]=\"'disabled'\"\r\n [id]=\"getItemId(item, itemIndex)\"\r\n [routerLink]=\"item.routerLink\"\r\n [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : ''\"\r\n [fragment]=\"item.fragment\"\r\n [class]=\"['c-menubar__button', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'c-menubar__button--disabled': item.disabled, 'c-menubar__button--primary': item.active}\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : (item.ariaDisabled ? item.ariaDisabled : null)\"\r\n [attr.tabindex]=\"item.disabled ? -1 : (itemIndex === currentFocusItemIndex ? 0 : -1)\"\r\n [attr.target]=\"item.target ? item.target : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledBy]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.aria-modal]=\"item.ariaModal ? item.ariaModal : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text}\"></ng-container>\r\n </a>\r\n <a *ngIf=\"!item.routerLink && item.href && !item.sub\" #link #itemContentWrapper\r\n role=\"menuitem\"\r\n (click)=\"handleMenuItemClick($event, itemIndex)\"\r\n (keydown)=\"handleMenuItemKeydown($event, itemIndex)\"\r\n (mouseover)=\"handleMenuItemMouseOver(itemIndex)\"\r\n (desyContentEmpty)=\"handleEmptyItem('item content, html or text is required at position ' + itemIndex)\"\r\n (desyAttributeChange)=\"checkChanges()\" [attributesToCheck]=\"'disabled'\"\r\n [id]=\"getItemId(item, itemIndex)\"\r\n [href]=\"item.href | externalHref\"\r\n [class]=\"['c-menubar__button', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'c-menubar__button--disabled': item.disabled, 'c-menubar__button--primary': item.active}\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : (item.ariaDisabled ? item.ariaDisabled : null)\"\r\n [attr.tabindex]=\"item.disabled ? -1 : (itemIndex === currentFocusItemIndex ? 0 : -1)\"\r\n [attr.target]=\"item.target ? item.target : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledBy]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.aria-modal]=\"item.ariaModal ? item.ariaModal : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text}\"></ng-container>\r\n </a>\r\n\r\n <ul *ngIf=\"item.sub && getItemSubitems(item)\" #popupMenu role=\"menu\" tabindex=\"-1\"\r\n [ngStyle]=\"getPopupStyle(itemIndex)\"\r\n [class]=\"['c-menubar__tooltip w-max max-w-64 hidden border border-neutral-base shadow-md bg-white text-sm', item.sub.classes] | makeHtmlList\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : (item.sub.ariaLabel ? item.sub.ariaLabel : null)\"\r\n [attr.aria-describedby]=\"item.sub.ariaDescribedBy ? item.sub.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.sub.ariaLabelledBy ? item.sub.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.sub.ariaHidden ? item.sub.ariaHidden : null\"\r\n [attr.aria-disabled]=\"item.sub.ariaDisabled ? item.sub.ariaDisabled : null\"\r\n [attr.aria-controls]=\"item.sub.ariaControls ? item.sub.ariaControls : null\"\r\n [attr.aria-current]=\"item.sub.ariaCurrent ? item.sub.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.sub.ariaLive ? item.sub.ariaLive : null\"\r\n [attr.aria-expanded]=\"!!(menuData && menuData[itemIndex].open)\"\r\n [attr.aria-errormessage]=\"item.sub.ariaErrorMessage ? item.sub.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.sub.ariaHasPopup ? item.sub.ariaHasPopup : null\"\r\n [attr.aria-modal]=\"item.sub.ariaModal ? item.sub.ariaModal : null\">\r\n <ng-container *ngFor=\"let subItem of getItemSubitems(item); index as subItemIndex\">\r\n <ng-container [ngSwitch]=\"subItem.role\">\r\n <li #popupMenuItem *ngSwitchCase=\"'none'\" role=\"none\" tabindex=\"-1\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n (desyContentEmpty)=\"handleEmptyItem('subitem content, html or text is required at position ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subItem, html: subItem.html, text: subItem.text}\"></ng-container>\r\n </li>\r\n <li *ngSwitchCase=\"'group'\" role=\"none\">\r\n <ul role=\"group\" [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n [attr.aria-label]=\"subItem.ariaLabel ? subItem.ariaLabel : null\">\r\n <ng-container *ngFor=\"let subsubitem of getSubItemSubitems(subItem); index as subsubIndex\">\r\n <ng-container *ngIf=\"subsubitem\">\r\n <li #popupMenuItem [attr.role]=\"subsubitem.role ? subsubitem.role : null\" tabindex=\"-1\"\r\n [id]=\"getSubItemId(subsubitem, subsubIndex, getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex)))\"\r\n (desyContentEmpty)=\"handleEmptyItem('subsubitem content, html or text is required at position ' + subsubIndex + ' of subItem ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex, subsubIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex, subsubIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex, subsubIndex)\"\r\n [attr.aria-checked]=\"getSubSubItemAriaChecked(subsubitem)\"\r\n class=\"flex items-center pr-base pl-lg py-sm cursor-pointer hover:bg-primary-base hover:text-white\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subsubitem, html: subsubitem.html, text: subsubitem.text}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li #popupMenuItem *ngSwitchCase=\"'menuitem'\" role=\"menuitem\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleEmptyItem('subitem content, html or text is required at position ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex)\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n class=\"flex items-center pr-base pl-lg py-sm cursor-pointer hover:bg-primary-base hover:text-white focus:bg-primary-base focus:text-white focus:outline-none\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subItem, html: subItem.html, text: subItem.text}\"></ng-container>\r\n </li>\r\n <li #popupMenuItem *ngSwitchCase=\"'menuitemcheckbox'\" role=\"menuitemcheckbox\" tabindex=\"-1\"\r\n (desyContentEmpty)=\"handleEmptyItem('subitem content, html or text is required at position ' + subItemIndex + ' of item ' + itemIndex)\"\r\n (click)=\"handlePopupMenuItemClick(itemIndex, subItemIndex)\"\r\n (mouseover)=\"handlePopupMenuItemMouseOver(itemIndex, subItemIndex)\"\r\n (keydown)=\"handlePopupMenuItemKeydown($event, itemIndex, subItemIndex)\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n [attr.aria-checked]=\"!!subItem.checked\"\r\n class=\"flex items-center pr-base pl-lg py-sm cursor-pointer hover:bg-primary-base hover:text-white\">\r\n <ng-container *desyCustomInnerContent=\"{ component: subItem, html: subItem.html, text: subItem.text}\"></ng-container>\r\n </li>\r\n <li #popupMenuItem *ngSwitchCase=\"'separator'\" role=\"separator\"\r\n [id]=\"getSubItemId(subItem, subItemIndex, getItemId(item, itemIndex))\"\r\n class=\"my-sm border-b border-neutral-base\">\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n"
5922
5891
  },] }
5923
5892
  ];
5924
5893
  MenubarComponent.ctorParameters = function () { return [
@@ -6688,14 +6657,26 @@
6688
6657
  _this.activeChange = new i0.EventEmitter();
6689
6658
  _this.lastActiveState = undefined;
6690
6659
  _this.hasViewinit = false;
6660
+ _this.createdCallerFromType = false;
6691
6661
  return _this;
6692
6662
  }
6693
- AlertComponent.prototype.ngOnChanges = function () {
6694
- this.handleActiveState();
6695
- };
6663
+ Object.defineProperty(AlertComponent.prototype, "active", {
6664
+ get: function () {
6665
+ return this._active;
6666
+ },
6667
+ set: function (value) {
6668
+ var _this = this;
6669
+ setTimeout(function () {
6670
+ _this._active = value;
6671
+ _this.cdRef.detectChanges();
6672
+ _this.handleActiveState();
6673
+ });
6674
+ },
6675
+ enumerable: false,
6676
+ configurable: true
6677
+ });
6696
6678
  AlertComponent.prototype.ngOnDestroy = function () {
6697
6679
  this.active = false;
6698
- this.handleActiveState();
6699
6680
  };
6700
6681
  AlertComponent.prototype.ngAfterViewInit = function () {
6701
6682
  if (!this.id) {
@@ -6705,31 +6686,28 @@
6705
6686
  throw Error('caller is required');
6706
6687
  }
6707
6688
  this.hasViewinit = true;
6708
- this.cdRef.detectChanges();
6709
- if (this.callerType) {
6710
- var factory = this.factoryResolver.resolveComponentFactory(this.callerType);
6711
- var component = this.container.createComponent(factory);
6712
- if (this.onCallerCreationCallback) {
6713
- this.onCallerCreationCallback(this, component);
6714
- }
6715
- }
6716
6689
  this.handleActiveState();
6717
- this.cdRef.detectChanges();
6718
6690
  };
6719
6691
  AlertComponent.prototype.dismiss = function () {
6720
6692
  this.activeChange.emit(false);
6721
6693
  };
6722
6694
  AlertComponent.prototype.handleActiveState = function () {
6723
- var _this = this;
6724
- if (this.active !== this.lastActiveState && this.hasViewinit) {
6725
- this.lastActiveState = this.active;
6726
- if (this.active && this.focusFirst) {
6727
- setTimeout(function () {
6728
- var focusElem = FocusUtils.getFirstFocusableElement(_this.alertWrapper.nativeElement);
6729
- if (focusElem) {
6730
- setTimeout(function () { return focusElem.focus(); });
6731
- }
6732
- });
6695
+ if (this._active && this.callerType && !this.createdCallerFromType) {
6696
+ var factory = this.factoryResolver.resolveComponentFactory(this.callerType);
6697
+ var component = this.container.createComponent(factory);
6698
+ if (this.onCallerCreationCallback) {
6699
+ this.onCallerCreationCallback(this, component);
6700
+ }
6701
+ this.createdCallerFromType = true;
6702
+ }
6703
+ if (this._active !== this.lastActiveState && this.hasViewinit) {
6704
+ this.lastActiveState = this._active;
6705
+ if (this._active && this.focusFirst) {
6706
+ this.cdRef.detectChanges();
6707
+ var focusElem = FocusUtils.getFirstFocusableElement(this.alertWrapper.nativeElement);
6708
+ if (focusElem) {
6709
+ focusElem.focus();
6710
+ }
6733
6711
  }
6734
6712
  }
6735
6713
  };
@@ -6738,7 +6716,7 @@
6738
6716
  AlertComponent.decorators = [
6739
6717
  { type: i0.Component, args: [{
6740
6718
  selector: 'desy-alert',
6741
- template: "<div #alertWrapper\r\n [id]=\"id\" [class]=\"classes ? classes : null\" *ngIf=\"active\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\">\r\n <ng-template #container></ng-template>\r\n <ng-container *ngTemplateOutlet=\"caller; context:callerContext\"></ng-container>\r\n</div>\r\n\r\n"
6719
+ template: "<div #alertWrapper\r\n [id]=\"id\" [class]=\"classes ? classes : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\">\r\n <ng-container *ngIf=\"active\">\r\n <ng-template #container></ng-template>\r\n <ng-container *ngTemplateOutlet=\"caller; context:callerContext\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n"
6742
6720
  },] }
6743
6721
  ];
6744
6722
  AlertComponent.ctorParameters = function () { return [
@@ -8603,7 +8581,8 @@
8603
8581
  imports: [
8604
8582
  common.CommonModule,
8605
8583
  SharedModule,
8606
- DesyCommonsModule
8584
+ DesyCommonsModule,
8585
+ DesyButtonsModule
8607
8586
  ],
8608
8587
  exports: [
8609
8588
  BreadcrumbsComponent,
@@ -8807,7 +8786,6 @@
8807
8786
  DesyAngularModule.decorators = [
8808
8787
  { type: i0.NgModule, args: [{
8809
8788
  imports: [
8810
- animations$1.BrowserAnimationsModule,
8811
8789
  DesyButtonsModule,
8812
8790
  DesyCommonsModule,
8813
8791
  DesyFormsModule,
@@ -8953,8 +8931,8 @@
8953
8931
  exports.TitleComponent = TitleComponent;
8954
8932
  exports.TooltipContentComponent = TooltipContentComponent;
8955
8933
  exports.summaryTextOrSummaryHtmlRequiredFunction = summaryTextOrSummaryHtmlRequiredFunction;
8956
- exports.ɵa = AccessibilityAndContentRequiredComponent;
8957
- exports.ɵb = AccessibilityAndTextOrHtmlRequiredComponent;
8934
+ exports.ɵa = AccessibilityComponent;
8935
+ exports.ɵb = AccessibilityAndContentRequiredComponent;
8958
8936
  exports.ɵba = CustomInnerContentDirective;
8959
8937
  exports.ɵbb = TooltipComponent;
8960
8938
  exports.ɵbc = TemplateDrivenWrapperComponent;
@@ -8963,8 +8941,8 @@
8963
8941
  exports.ɵbf = DateInputMonthComponent;
8964
8942
  exports.ɵbg = DateInputYearComponent;
8965
8943
  exports.ɵbh = FocusClickedCellDirective;
8966
- exports.ɵc = DesyContentChild;
8967
- exports.ɵd = AccessibilityComponent;
8944
+ exports.ɵc = AccessibilityAndTextOrHtmlRequiredComponent;
8945
+ exports.ɵd = DesyContentChild;
8968
8946
  exports.ɵe = ContentBaseComponent;
8969
8947
  exports.ɵf = FormFieldComponent;
8970
8948
  exports.ɵg = SelectItemComponent;