desy-angular 3.0.0 → 5.0.2

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 (154) hide show
  1. package/README.md +3 -3
  2. package/bundles/desy-angular.umd.js +1740 -776
  3. package/bundles/desy-angular.umd.js.map +1 -1
  4. package/bundles/desy-angular.umd.min.js +2 -2
  5. package/bundles/desy-angular.umd.min.js.map +1 -1
  6. package/desy-angular.d.ts +28 -24
  7. package/desy-angular.metadata.json +1 -1
  8. package/esm2015/desy-angular.js +29 -25
  9. package/esm2015/lib/desy-angular.module.js +1 -3
  10. package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -16
  11. package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
  12. package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +70 -70
  13. package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +6 -15
  14. package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +67 -55
  15. package/esm2015/lib/desy-buttons/components/pill/pill.component.js +5 -3
  16. package/esm2015/lib/desy-commons/interfaces/title-data.js +1 -1
  17. package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +2 -2
  18. package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +36 -2
  19. package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +2 -2
  20. package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +46 -0
  21. package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +19 -0
  22. package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +13 -0
  23. package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +46 -0
  24. package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +44 -0
  25. package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +131 -25
  26. package/esm2015/lib/desy-forms/components/input/input.component.js +2 -3
  27. package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +20 -0
  28. package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +46 -0
  29. package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +13 -0
  30. package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +42 -0
  31. package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +115 -21
  32. package/esm2015/lib/desy-forms/components/radios/radios.component.js +2 -2
  33. package/esm2015/lib/desy-forms/components/select/option/option.component.js +7 -7
  34. package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +17 -0
  35. package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +14 -0
  36. package/esm2015/lib/desy-forms/components/select/select.component.js +19 -6
  37. package/esm2015/lib/desy-forms/desy-forms.module.js +31 -1
  38. package/esm2015/lib/desy-forms/interfaces/fieldset-data.js +1 -1
  39. package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
  40. package/esm2015/lib/desy-forms/interfaces/item-date-input-data.js +1 -1
  41. package/esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js +2 -0
  42. package/esm2015/lib/desy-forms/interfaces/item-input-group-data.js +1 -1
  43. package/esm2015/lib/desy-forms/interfaces/select-item-data.js +1 -1
  44. package/esm2015/lib/desy-modals/components/modal/modal.component.js +3 -3
  45. package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +2 -2
  46. package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +16 -0
  47. package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +23 -0
  48. package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +16 -0
  49. package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +16 -0
  50. package/esm2015/lib/desy-nav/components/footer/footer.component.js +31 -4
  51. package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +26 -36
  52. package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +19 -0
  53. package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +15 -4
  54. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +25 -0
  55. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +11 -0
  56. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +76 -13
  57. package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +26 -36
  58. package/esm2015/lib/desy-nav/components/header/header.component.js +39 -4
  59. package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +2 -2
  60. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +32 -0
  61. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +16 -0
  62. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +24 -0
  63. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +35 -23
  64. package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +3 -3
  65. package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +24 -5
  66. package/esm2015/lib/desy-nav/desy-nav.module.js +37 -4
  67. package/esm2015/lib/desy-nav/interfaces/footer-data.js +1 -1
  68. package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
  69. package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
  70. package/esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js +1 -1
  71. package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +2 -2
  72. package/esm2015/lib/desy-tables/components/table/table.component.js +3 -2
  73. package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +5 -3
  74. package/esm2015/lib/desy-tables/interfaces/index.js +2 -1
  75. package/esm2015/lib/desy-tables/interfaces/wrapper-data.js +2 -0
  76. package/esm2015/lib/desy-views/components/accordion/accordion.component.js +2 -2
  77. package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
  78. package/esm2015/lib/desy-views/components/item/item.component.js +11 -2
  79. package/esm2015/lib/desy-views/components/status-item/status-item.component.js +2 -2
  80. package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +15 -0
  81. package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +28 -0
  82. package/esm2015/lib/desy-views/components/tabs/tabs.component.js +57 -36
  83. package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +1 -1
  84. package/esm2015/lib/desy-views/desy-views.module.js +7 -1
  85. package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +1 -1
  86. package/esm2015/lib/desy-views/interfaces/tabs-panel-data.js +1 -1
  87. package/esm2015/public-api.js +20 -1
  88. package/fesm2015/desy-angular.js +1533 -677
  89. package/fesm2015/desy-angular.js.map +1 -1
  90. package/lib/desy-buttons/components/button/button.component.d.ts +6 -6
  91. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
  92. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +4 -7
  93. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +2 -6
  94. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +1 -2
  95. package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -0
  96. package/lib/desy-commons/interfaces/title-data.d.ts +2 -1
  97. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +5 -0
  98. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +22 -0
  99. package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +7 -0
  100. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +4 -0
  101. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +22 -0
  102. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +19 -0
  103. package/lib/desy-forms/components/date-input/date-input.component.d.ts +21 -4
  104. package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +8 -0
  105. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +20 -0
  106. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +4 -0
  107. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +16 -0
  108. package/lib/desy-forms/components/input-group/input-group.component.d.ts +24 -6
  109. package/lib/desy-forms/components/select/option/option.component.d.ts +6 -7
  110. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +7 -0
  111. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +4 -0
  112. package/lib/desy-forms/components/select/select.component.d.ts +6 -3
  113. package/lib/desy-forms/interfaces/fieldset-data.d.ts +1 -0
  114. package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
  115. package/lib/desy-forms/interfaces/item-date-input-data.d.ts +2 -0
  116. package/lib/desy-forms/interfaces/item-divider-date-input-data.d.ts +5 -0
  117. package/lib/desy-forms/interfaces/item-input-group-data.d.ts +1 -2
  118. package/lib/desy-forms/interfaces/select-item-data.d.ts +2 -1
  119. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +7 -0
  120. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +10 -0
  121. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +7 -0
  122. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +8 -0
  123. package/lib/desy-nav/components/footer/footer.component.d.ts +14 -2
  124. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +10 -6
  125. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +10 -0
  126. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +6 -1
  127. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +6 -0
  128. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
  129. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +30 -8
  130. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +11 -8
  131. package/lib/desy-nav/components/header/header.component.d.ts +12 -0
  132. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +18 -0
  133. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +8 -0
  134. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +15 -0
  135. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +11 -7
  136. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +9 -2
  137. package/lib/desy-nav/interfaces/footer-data.d.ts +7 -7
  138. package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
  139. package/lib/desy-nav/interfaces/header-subnav-data.d.ts +6 -1
  140. package/lib/desy-tables/components/table/table.component.d.ts +2 -1
  141. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +6 -4
  142. package/lib/desy-tables/interfaces/index.d.ts +1 -0
  143. package/lib/desy-tables/interfaces/wrapper-data.d.ts +4 -0
  144. package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
  145. package/lib/desy-views/components/item/item.component.d.ts +5 -2
  146. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +6 -0
  147. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +12 -0
  148. package/lib/desy-views/components/tabs/tabs.component.d.ts +14 -3
  149. package/lib/desy-views/interfaces/tabs-items-data.d.ts +5 -5
  150. package/lib/desy-views/interfaces/tabs-panel-data.d.ts +4 -4
  151. package/package.json +2 -2
  152. package/public-api.d.ts +19 -0
  153. package/esm2015/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.js +0 -58
  154. package/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -18
@@ -1,11 +1,29 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, Input } from '@angular/core';
2
3
  import { AccessibilityComponent } from '../../../shared/components';
4
+ import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
5
+ import { IconComponent } from '../../../desy-commons/components/icon/icon.component';
6
+ import { FooterNavigationComponent } from './footer-navigation/footer-navigation.component';
7
+ import { FooterMetaComponent } from './footer-meta/footer-meta.component';
3
8
  export class FooterComponent extends AccessibilityComponent {
9
+ getNavigationItems() {
10
+ const navItems = this.navigationComponent && this.navigationComponent.length > 0 ? this.navigationComponent.toArray() : this.navigation;
11
+ return navItems && navItems.length > 0 ? navItems : null;
12
+ }
13
+ getNavigationItemItems(navigation) {
14
+ return navigation instanceof FooterNavigationComponent ? navigation.itemComponents.toArray() : navigation.items;
15
+ }
16
+ getMetaItems(meta) {
17
+ return meta instanceof FooterMetaComponent ? meta.itemComponents.toArray() : meta.items;
18
+ }
19
+ getMetaContent(meta) {
20
+ return meta instanceof FooterMetaComponent ? meta.contentComponent : null;
21
+ }
4
22
  }
5
23
  FooterComponent.decorators = [
6
24
  { type: Component, args: [{
7
25
  selector: 'desy-footer',
8
- template: "<!-- footer -->\r\n<footer [class]=\"['py-base bg-neutral-lighter border-t border-neutral-base text-xs lg:text-sm text-neutral-dark', classes] | makeHtmlList\"\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 [class]=\"['container mx-auto px-base', containerClasses] | makeHtmlList\">\r\n <ng-container *ngIf=\"navigation && navigation.length != 0\">\r\n <div class=\"flex flex-wrap\">\r\n <div class=\"flex-1 mr-base\" *ngFor=\"let nav of navigation\">\r\n <h3 class=\"mb-base font-bold text-xl\">{{nav.title}}</h3>\r\n <ul [class]=\"'grid grid-cols-1 gap-base lg:grid-cols-' + nav.columns\">\r\n <li class=\"mb-xs\" *ngFor=\"let item of nav.items\">\r\n <ng-container *ngTemplateOutlet=\"item.href != null ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <hr class=\"my-base border-t border-neutral-base\">\r\n </ng-container>\r\n <div class=\"flex flex-wrap flex-col lg:flex-row justify-between\">\r\n <div class=\"mb-base\">\r\n <ng-container *ngIf=\"meta\">\r\n <h2 class=\"sr-only\">{{(meta.visuallyHiddenTitle ? meta.visuallyHiddenTitle : 'Enlaces de pie de p\u00E1gina')}}</h2>\r\n <ul class=\"flex flex-col lg:flex-row lg:flex-wrap\" *ngIf=\"meta\">\r\n <li class=\"mb-sm mr-base\" *ngFor=\"let item of meta.items\">\r\n <ng-container *ngTemplateOutlet=\"item.href != null ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n <div class=\"mb-sm\" *ngIf=\"meta.html || meta.text\">\r\n <p [desyInnerContent]=\"meta.html ? meta.html : meta.text\" [isHtml]=\"meta.html\"></p>\r\n </div>\r\n </ng-container>\r\n <div class=\"leading-tight\">\r\n <p>\r\n Todo el contenido bajo\r\n <a\r\n class=\"c-link c-link--neutral\"\r\n href=\"https://creativecommons.org/licenses/by/4.0/legalcode.es\"\r\n rel=\"license\"\r\n >licencia CC BY 4.0</a>\r\n </p>\r\n </div>\r\n <div class=\"leading-tight\">\r\n <p>\r\n <a\r\n class=\"c-link c-link--neutral\"\r\n href=\"https://www.aragon.es/\"\r\n >Gobierno de Arag\u00F3n</a>. Edificio Pignatelli. <abbr title=\u201DPaseo\u201D>P\u00BA</abbr> Mar\u00EDa Agust\u00EDn, 36. 50004 - Zaragoza - <abbr title=\"Tel\u00E9fono\" class=\"no-underline\">Tel.</abbr> <a href=\"tel:+976714000\" class=\"c-link c-link--neutral\">976 714 000</a>\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"mb-base lg:pl-base overflow-hidden\">\r\n <p *ngIf=\"icon && icon.html\" [desyInnerContent]=\"icon.html\" [isHtml]=\"true\"></p>\r\n <p>\r\n <a href=\"http://www.aragon.es/Fondos_Europeos\" class=\"inline-block text-sm c-link no-underline\" title=\"M\u00E1s informaci\u00F3n sobre los Fondos Estructurales y de Inversi\u00F3n Europeos (Fondos EIE)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 575 96\" width=\"288\" height=\"48\" class=\"w-auto h-12\" role=\"img\" aria-label=\"Logotipo Uni\u00F3n Europea. Fondo Europeo de Desarrollo Regional (FEDER). Construyendo Europa desde Arag\u00F3n.\"><text transform=\"translate(126 33)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\" font-weight=\"700\"><tspan x=\"0\" y=\"0\">UNI\u00D3N EUROPEA</tspan></text><text transform=\"translate(126 56)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">Fondo Europeo de Desarrollo Regional (FEDER)</tspan></text><text transform=\"translate(126 79)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">\u201CConstruyendo Europa desde Arag\u00F3n\u201D</tspan></text><path fill=\"#039\" stroke=\"#fff\" stroke-width=\"1%\" d=\"M14.086 13.02h104.282v69.522H14.086z\"/><g fill=\"#fc0\"><path d=\"M64.004 28.167l2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606h-2.755l-.843-2.628-.843 2.631h-2.753l2.233 1.606zM52.617 31.229l2.2-1.606 2.2 1.606-.836-2.6 2.233-1.606h-2.755l-.843-2.631-.843 2.634H51.22l2.234 1.606zM46.486 32.743l-.843 2.634H42.89l2.234 1.606-.837 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.234-1.606h-2.752zM43.429 49.345l2.2 1.606-.836-2.6 2.234-1.606h-2.753l-.843-2.631-.843 2.637-2.755-.006 2.235 1.606-.837 2.6zM47.332 58.156l-.843-2.631-.843 2.634h-2.753l2.234 1.606-.837 2.6 2.2-1.609 2.2 1.609-.837-2.6 2.234-1.606zM55.677 66.504l-.843-2.628-.842 2.631h-2.755l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.836-2.6 2.234-1.606zM67.05 69.528l-.843-2.631-.842 2.634H62.61l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606zM78.422 66.504l-.842-2.628-.845 2.631h-2.752l2.232 1.606-.836 2.6 2.2-1.606 2.2 1.606-.839-2.6 2.235-1.606zM86.774 58.156l-.845-2.631-.845 2.634h-2.752l2.235 1.606-.839 2.6 2.2-1.609 2.2 1.609-.839-2.6 2.235-1.606zM92.551 46.716h-2.755l-.845-2.631-.842 2.634h-2.755l2.235 1.606-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6zM83.728 39.544l2.2-1.606 2.2 1.606-.839-2.6 2.235-1.6h-2.752l-.845-2.631-.845 2.634H82.33l2.235 1.6zM77.613 24.395l-.842 2.634-2.755-.006 2.232 1.609-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6 2.235-1.609h-2.758z\"/></g></svg>\r\n </a>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>\r\n<!-- /footer -->\r\n\r\n<ng-template #itemHref let-item=\"item\">\r\n <a class=\"c-link font-semibold\" [href]=\"item.href | externalHref\"\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-disabled]=\"item.ariaDisabled ? item.ariaDisabled : 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.tabindex]=\"item.tabindex ? item.tabindex : null\">\r\n {{item.text}}\r\n </a>\r\n</ng-template>\r\n\r\n<ng-template #itemRouterLink let-item=\"item\">\r\n <a class=\"c-link font-semibold\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\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-disabled]=\"item.ariaDisabled ? item.ariaDisabled : 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.tabindex]=\"item.tabindex ? item.tabindex : null\">\r\n {{item.text}}\r\n </a>\r\n</ng-template>\r\n"
26
+ template: "<footer [class]=\"['py-base bg-neutral-lighter border-t border-neutral-base text-xs lg:text-sm text-neutral-dark', classes] | makeHtmlList\"\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 [class]=\"['container mx-auto px-base', containerClasses] | makeHtmlList\">\r\n <ng-container *ngIf=\"getNavigationItems()\">\r\n <div class=\"flex flex-wrap\">\r\n <div class=\"flex-1 mr-base\" *ngFor=\"let nav of getNavigationItems()\">\r\n <h3 class=\"mb-base font-bold text-xl\">{{nav.title}}</h3>\r\n <ul [class]=\"'grid grid-cols-1 gap-base lg:grid-cols-' + nav.columns\">\r\n <li class=\"mb-xs\" *ngFor=\"let item of getNavigationItemItems(nav)\">\r\n <ng-container *ngTemplateOutlet=\"item.href != null ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <hr class=\"my-base border-t border-neutral-base\">\r\n </ng-container>\r\n\r\n <div class=\"flex flex-wrap flex-col lg:flex-row justify-between\">\r\n <div class=\"mb-base\">\r\n <ng-template #metaTemplate let-metaElement=\"metaElement\">\r\n <ng-container *ngIf=\"metaElement\">\r\n <h2 class=\"sr-only\">{{(metaElement.visuallyHiddenTitle ? metaElement.visuallyHiddenTitle : 'Enlaces de pie de p\u00E1gina')}}</h2>\r\n <ul class=\"flex flex-col lg:flex-row lg:flex-wrap\" *ngIf=\"getMetaItems(metaElement)\">\r\n <li class=\"mb-sm mr-base\" *ngFor=\"let item of getMetaItems(metaElement)\">\r\n <ng-container *ngTemplateOutlet=\"item.href != null ? itemHref : itemRouterLink; context: {item: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n <div class=\"mb-sm\" *ngIf=\"getMetaContent(metaElement) || metaElement.html || metaElement.text\">\r\n <p>\r\n <ng-container *desyCustomInnerContent=\"{ component: getMetaContent(metaElement), html: metaElement.html, text: metaElement.text }\"></ng-container>\r\n </p>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"metaTemplate; context: { metaElement: metaComponent ? metaComponent : meta }\"></ng-container>\r\n <div class=\"leading-tight\">\r\n <p>\r\n Todo el contenido bajo\r\n <a\r\n class=\"c-link c-link--neutral\"\r\n href=\"https://creativecommons.org/licenses/by/4.0/legalcode.es\"\r\n rel=\"license\"\r\n >licencia CC BY 4.0</a>\r\n </p>\r\n </div>\r\n <div class=\"leading-tight\">\r\n <p>\r\n <a\r\n class=\"c-link c-link--neutral\"\r\n href=\"https://www.aragon.es/\"\r\n >Gobierno de Arag\u00F3n</a>. Edificio Pignatelli. <abbr title=\u201DPaseo\u201D>P\u00BA</abbr> Mar\u00EDa Agust\u00EDn, 36. 50004 - Zaragoza - <abbr title=\"Tel\u00E9fono\" class=\"no-underline\">Tel.</abbr> <a href=\"tel:+976714000\" class=\"c-link c-link--neutral\">976 714 000</a>\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"mb-base lg:pl-base overflow-hidden\">\r\n <p *ngIf=\"iconComponent || icon?.html\">\r\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon?.html }\"></ng-container>\r\n </p>\r\n <p>\r\n <a href=\"http://www.aragon.es/Fondos_Europeos\" class=\"inline-block text-sm c-link no-underline\" title=\"M\u00E1s informaci\u00F3n sobre los Fondos Estructurales y de Inversi\u00F3n Europeos (Fondos EIE)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 575 96\" width=\"288\" height=\"48\" class=\"w-auto h-12\" role=\"img\" aria-label=\"Logotipo Uni\u00F3n Europea. Fondo Europeo de Desarrollo Regional (FEDER). Construyendo Europa desde Arag\u00F3n.\"><text transform=\"translate(126 33)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\" font-weight=\"700\"><tspan x=\"0\" y=\"0\">UNI\u00D3N EUROPEA</tspan></text><text transform=\"translate(126 56)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">Fondo Europeo de Desarrollo Regional (FEDER)</tspan></text><text transform=\"translate(126 79)\" fill=\"#039\" font-size=\"20\" font-family=\"Arial, Tahoma, Verdana, Calibri, Garamond, Trebuchet, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, HelveticaNeue-Bold, Helvetica Neue, Helvetica, sans\"><tspan x=\"0\" y=\"0\">\u201CConstruyendo Europa desde Arag\u00F3n\u201D</tspan></text><path fill=\"#039\" stroke=\"#fff\" stroke-width=\"1%\" d=\"M14.086 13.02h104.282v69.522H14.086z\"/><g fill=\"#fc0\"><path d=\"M64.004 28.167l2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606h-2.755l-.843-2.628-.843 2.631h-2.753l2.233 1.606zM52.617 31.229l2.2-1.606 2.2 1.606-.836-2.6 2.233-1.606h-2.755l-.843-2.631-.843 2.634H51.22l2.234 1.606zM46.486 32.743l-.843 2.634H42.89l2.234 1.606-.837 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.234-1.606h-2.752zM43.429 49.345l2.2 1.606-.836-2.6 2.234-1.606h-2.753l-.843-2.631-.843 2.637-2.755-.006 2.235 1.606-.837 2.6zM47.332 58.156l-.843-2.631-.843 2.634h-2.753l2.234 1.606-.837 2.6 2.2-1.609 2.2 1.609-.837-2.6 2.234-1.606zM55.677 66.504l-.843-2.628-.842 2.631h-2.755l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.836-2.6 2.234-1.606zM67.05 69.528l-.843-2.631-.842 2.634H62.61l2.234 1.606-.836 2.6 2.2-1.606 2.2 1.606-.837-2.6 2.235-1.606zM78.422 66.504l-.842-2.628-.845 2.631h-2.752l2.232 1.606-.836 2.6 2.2-1.606 2.2 1.606-.839-2.6 2.235-1.606zM86.774 58.156l-.845-2.631-.845 2.634h-2.752l2.235 1.606-.839 2.6 2.2-1.609 2.2 1.609-.839-2.6 2.235-1.606zM92.551 46.716h-2.755l-.845-2.631-.842 2.634h-2.755l2.235 1.606-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6zM83.728 39.544l2.2-1.606 2.2 1.606-.839-2.6 2.235-1.6h-2.752l-.845-2.631-.845 2.634H82.33l2.235 1.6zM77.613 24.395l-.842 2.634-2.755-.006 2.232 1.609-.836 2.6 2.2-1.609 2.2 1.609-.836-2.6 2.235-1.609h-2.758z\"/></g></svg>\r\n </a>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>\r\n\r\n<ng-template #itemHref let-item=\"item\">\r\n <a class=\"c-link font-semibold\" [href]=\"item.href | externalHref\"\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-disabled]=\"item.ariaDisabled ? item.ariaDisabled : 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.tabindex]=\"item.tabindex ? item.tabindex : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\r\n </a>\r\n</ng-template>\r\n\r\n<ng-template #itemRouterLink let-item=\"item\">\r\n <a class=\"c-link font-semibold\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\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-disabled]=\"item.ariaDisabled ? item.ariaDisabled : 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.tabindex]=\"item.tabindex ? item.tabindex : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\r\n </a>\r\n</ng-template>\r\n"
9
27
  },] }
10
28
  ];
11
29
  FooterComponent.propDecorators = {
@@ -13,6 +31,15 @@ FooterComponent.propDecorators = {
13
31
  navigation: [{ type: Input }],
14
32
  icon: [{ type: Input }],
15
33
  containerClasses: [{ type: Input }],
16
- classes: [{ type: Input }]
34
+ classes: [{ type: Input }],
35
+ iconComponent: [{ type: ContentChildren, args: [IconComponent,] }],
36
+ metaComponent: [{ type: ContentChildren, args: [FooterMetaComponent,] }],
37
+ navigationComponent: [{ type: ContentChildren, args: [FooterNavigationComponent,] }]
17
38
  };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFTbEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsc0JBQXNCOzs7WUFKMUQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixpMVJBQXNDO2FBQ3ZDOzs7bUJBR0UsS0FBSzt5QkFDTCxLQUFLO21CQUNMLEtBQUs7K0JBQ0wsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7TWV0YURhdGEsIE5hdmlnYXRpb25EYXRhfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtJY29uRGF0YX0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2ludGVyZmFjZXMvaWNvbi1kYXRhJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktZm9vdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIG1ldGE6IE1ldGFEYXRhO1xyXG4gIEBJbnB1dCgpIG5hdmlnYXRpb246IE5hdmlnYXRpb25EYXRhW107XHJcbiAgQElucHV0KCkgaWNvbjogSWNvbkRhdGE7XHJcbiAgQElucHV0KCkgY29udGFpbmVyQ2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbn1cclxuIl19
39
+ __decorate([
40
+ DesyContentChild()
41
+ ], FooterComponent.prototype, "iconComponent", void 0);
42
+ __decorate([
43
+ DesyContentChild()
44
+ ], FooterComponent.prototype, "metaComponent", void 0);
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUdsRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDbkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFReEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsc0JBQXNCO0lBaUJ6RCxrQkFBa0I7UUFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDeEksT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxVQUEwQjtRQUMvQyxPQUFPLFVBQVUsWUFBWSx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNsSCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWM7UUFDekIsT0FBTyxJQUFJLFlBQVksbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUYsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFjO1FBQzNCLE9BQU8sSUFBSSxZQUFZLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1RSxDQUFDOzs7WUFwQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2Qix3Z1RBQXNDO2FBQ3ZDOzs7bUJBR0UsS0FBSzt5QkFDTCxLQUFLO21CQUNMLEtBQUs7K0JBQ0wsS0FBSztzQkFDTCxLQUFLOzRCQUdMLGVBQWUsU0FBQyxhQUFhOzRCQUc3QixlQUFlLFNBQUMsbUJBQW1CO2tDQUVuQyxlQUFlLFNBQUMseUJBQXlCOztBQUxWO0lBRC9CLGdCQUFnQixFQUFFO3NEQUMwQztBQUd2QjtJQURyQyxnQkFBZ0IsRUFBRTtzREFDc0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7TWV0YURhdGEsIE1ldGFJdGVtRGF0YSwgTmF2aWdhdGlvbkRhdGEsIE5hdmlnYXRpb25JdGVtRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7SWNvbkRhdGF9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuaW1wb3J0IHtJY29uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtGb290ZXJOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL2Zvb3Rlci1uYXZpZ2F0aW9uL2Zvb3Rlci1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9vdGVyTWV0YUNvbXBvbmVudH0gZnJvbSAnLi9mb290ZXItbWV0YS9mb290ZXItbWV0YS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1mb290ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb290ZXJDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgbWV0YTogTWV0YURhdGE7XHJcbiAgQElucHV0KCkgbmF2aWdhdGlvbjogTmF2aWdhdGlvbkRhdGFbXTtcclxuICBASW5wdXQoKSBpY29uOiBJY29uRGF0YTtcclxuICBASW5wdXQoKSBjb250YWluZXJDbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihJY29uQ29tcG9uZW50KSBpY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihGb290ZXJNZXRhQ29tcG9uZW50KSBtZXRhQ29tcG9uZW50OiBGb290ZXJNZXRhQ29tcG9uZW50O1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKEZvb3Rlck5hdmlnYXRpb25Db21wb25lbnQpIG5hdmlnYXRpb25Db21wb25lbnQ6IFF1ZXJ5TGlzdDxGb290ZXJOYXZpZ2F0aW9uQ29tcG9uZW50PjtcclxuXHJcblxyXG4gIGdldE5hdmlnYXRpb25JdGVtcygpOiBOYXZpZ2F0aW9uRGF0YVtdIHtcclxuICAgIGNvbnN0IG5hdkl0ZW1zID0gdGhpcy5uYXZpZ2F0aW9uQ29tcG9uZW50ICYmIHRoaXMubmF2aWdhdGlvbkNvbXBvbmVudC5sZW5ndGggPiAwID8gdGhpcy5uYXZpZ2F0aW9uQ29tcG9uZW50LnRvQXJyYXkoKSA6IHRoaXMubmF2aWdhdGlvbjtcclxuICAgIHJldHVybiBuYXZJdGVtcyAmJiBuYXZJdGVtcy5sZW5ndGggPiAwID8gbmF2SXRlbXMgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmF2aWdhdGlvbkl0ZW1JdGVtcyhuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uRGF0YSk6IE5hdmlnYXRpb25JdGVtRGF0YVtdIHtcclxuICAgIHJldHVybiBuYXZpZ2F0aW9uIGluc3RhbmNlb2YgRm9vdGVyTmF2aWdhdGlvbkNvbXBvbmVudCA/IG5hdmlnYXRpb24uaXRlbUNvbXBvbmVudHMudG9BcnJheSgpIDogbmF2aWdhdGlvbi5pdGVtcztcclxuICB9XHJcblxyXG4gIGdldE1ldGFJdGVtcyhtZXRhOiBNZXRhRGF0YSk6IE1ldGFJdGVtRGF0YVtdIHtcclxuICAgIHJldHVybiBtZXRhIGluc3RhbmNlb2YgRm9vdGVyTWV0YUNvbXBvbmVudCA/IG1ldGEuaXRlbUNvbXBvbmVudHMudG9BcnJheSgpIDogbWV0YS5pdGVtcztcclxuICB9XHJcblxyXG4gIGdldE1ldGFDb250ZW50KG1ldGE6IE1ldGFEYXRhKTogQ29udGVudENvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gbWV0YSBpbnN0YW5jZW9mIEZvb3Rlck1ldGFDb21wb25lbnQgPyBtZXRhLmNvbnRlbnRDb21wb25lbnQgOiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,44 +1,34 @@
1
- import { Component } from '@angular/core';
2
- import { animate, state, style, transition, trigger } from '@angular/animations';
3
- import { TextOrHtmlRequiredComponent } from '../../../../shared/components';
4
- export class HeaderDropdownComponent extends TextOrHtmlRequiredComponent {
5
- constructor() {
6
- super(...arguments);
7
- this.isOpen = false;
8
- this.clickOutsideEnabled = false;
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, Input } from '@angular/core';
3
+ import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
4
+ import { NavComponent } from '../../nav/nav.component';
5
+ import { AccessibilityComponent } from "../../../../shared/components";
6
+ export class HeaderDropdownComponent extends AccessibilityComponent {
7
+ overrideNavParams(nav) {
8
+ nav.hasNav = true;
9
+ nav.idPrefix = 'header-dropdown-nav-item';
10
+ nav.ariaLabel = 'Menú de usuario';
11
+ nav.classes = 'w-max max-w-64';
12
+ // nav.id = 'id-dropdown-nav'; // No existe como param de navComponent
9
13
  }
10
- toggleOpen() {
11
- this.isOpen = !this.isOpen;
12
- setTimeout(() => this.clickOutsideEnabled = this.isOpen);
13
- }
14
- onKeydownEscape() {
15
- this.isOpen = false;
16
- this.clickOutsideEnabled = false;
17
- document.getElementById('header-dropdown-button').focus();
14
+ handleEmptyContent(element) {
15
+ throw new Error(`${element} content is required`);
18
16
  }
19
17
  }
20
18
  HeaderDropdownComponent.decorators = [
21
19
  { type: Component, args: [{
22
20
  selector: 'desy-header-dropdown',
23
- 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\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\"></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-w-64 max-h-64 mt-2 border border-neutral-base overflow-y-auto shadow-md\">\r\n <div class=\"bg-white shadow-xs\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
24
- animations: [
25
- trigger('toggleDropdown', [
26
- state('void', style({
27
- opacity: '0.0',
28
- transform: 'scale(0.95)'
29
- })),
30
- state('*', style({
31
- opacity: '1.0',
32
- transform: 'scale(1.0)'
33
- })),
34
- transition(':enter', [
35
- animate('100ms ease-out')
36
- ]),
37
- transition(':leave', [
38
- animate('75ms ease-in')
39
- ])
40
- ])
41
- ]
21
+ 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"
42
22
  },] }
43
23
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci1kcm9wZG93bi9oZWFkZXItZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQXdCNUUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDJCQUEyQjtJQXRCeEU7O1FBd0JFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZix3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFZOUIsQ0FBQztJQVZDLFVBQVU7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsUUFBUSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVELENBQUM7OztZQXBDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsd3pDQUErQztnQkFDL0MsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTt3QkFDeEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7NEJBQ2xCLE9BQU8sRUFBRSxLQUFLOzRCQUNkLFNBQVMsRUFBRSxhQUFhO3lCQUN6QixDQUFDLENBQUM7d0JBQ0gsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7NEJBQ2YsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsU0FBUyxFQUFFLFlBQVk7eUJBQ3hCLENBQUMsQ0FBQzt3QkFDSCxVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsZ0JBQWdCLENBQUM7eUJBQzFCLENBQUM7d0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsT0FBTyxDQUFDLGNBQWMsQ0FBQzt5QkFDeEIsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLWRyb3Bkb3duJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCd0b2dnbGVEcm9wZG93bicsIFtcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7XHJcbiAgICAgICAgb3BhY2l0eTogJzAuMCcsXHJcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoMC45NSknXHJcbiAgICAgIH0pKSxcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XHJcbiAgICAgICAgb3BhY2l0eTogJzEuMCcsXHJcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoMS4wKSdcclxuICAgICAgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKVxyXG4gICAgICBdKSxcclxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzc1bXMgZWFzZS1pbicpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckRyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50IHtcclxuXHJcbiAgaXNPcGVuID0gZmFsc2U7XHJcbiAgY2xpY2tPdXRzaWRlRW5hYmxlZCA9IGZhbHNlO1xyXG5cclxuICB0b2dnbGVPcGVuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCA9IHRoaXMuaXNPcGVuKTtcclxuICB9XHJcblxyXG4gIG9uS2V5ZG93bkVzY2FwZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsaWNrT3V0c2lkZUVuYWJsZWQgPSBmYWxzZTtcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZWFkZXItZHJvcGRvd24tYnV0dG9uJykuZm9jdXMoKTtcclxuICB9XHJcbn1cclxuIl19
24
+ HeaderDropdownComponent.propDecorators = {
25
+ hiddenText: [{ type: Input }],
26
+ classesContainer: [{ type: Input }],
27
+ classesTooltip: [{ type: Input }],
28
+ classes: [{ type: Input }],
29
+ nav: [{ type: ContentChildren, args: [NavComponent,] }]
30
+ };
31
+ __decorate([
32
+ DesyContentChild({ onSetCallbackName: 'overrideNavParams' })
33
+ ], HeaderDropdownComponent.prototype, "nav", void 0);
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci1kcm9wZG93bi9oZWFkZXItZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDNUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBTXJFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxzQkFBc0I7SUFVakUsaUJBQWlCLENBQUMsR0FBaUI7UUFDakMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsR0FBRyxDQUFDLFFBQVEsR0FBRywwQkFBMEIsQ0FBQztRQUMxQyxHQUFHLENBQUMsU0FBUyxHQUFHLGlCQUFpQixDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUM7UUFDL0Isc0VBQXNFO0lBQ3hFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxPQUFPLHNCQUFzQixDQUFDLENBQUM7SUFDcEQsQ0FBQzs7O1lBeEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyw2d0NBQStDO2FBQ2hEOzs7eUJBR0UsS0FBSzsrQkFDTCxLQUFLOzZCQUNMLEtBQUs7c0JBQ0wsS0FBSztrQkFHTCxlQUFlLFNBQUMsWUFBWTs7QUFBRTtJQUQ5QixnQkFBZ0IsQ0FBQyxFQUFDLGlCQUFpQixFQUFFLG1CQUFtQixFQUFDLENBQUM7b0RBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XHJcbmltcG9ydCB7TmF2Q29tcG9uZW50fSBmcm9tICcuLi8uLi9uYXYvbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QWNjZXNzaWJpbGl0eUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLWRyb3Bkb3duJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckRyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGhpZGRlblRleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzQ29udGFpbmVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlc1Rvb2x0aXA6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKHtvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlTmF2UGFyYW1zJ30pXHJcbiAgQENvbnRlbnRDaGlsZHJlbihOYXZDb21wb25lbnQpIG5hdjogTmF2Q29tcG9uZW50O1xyXG5cclxuICBvdmVycmlkZU5hdlBhcmFtcyhuYXY6IE5hdkNvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgbmF2Lmhhc05hdiA9IHRydWU7XHJcbiAgICBuYXYuaWRQcmVmaXggPSAnaGVhZGVyLWRyb3Bkb3duLW5hdi1pdGVtJztcclxuICAgIG5hdi5hcmlhTGFiZWwgPSAnTWVuw7ogZGUgdXN1YXJpbyc7XHJcbiAgICBuYXYuY2xhc3NlcyA9ICd3LW1heCBtYXgtdy02NCc7XHJcbiAgICAvLyBuYXYuaWQgPSAnaWQtZHJvcGRvd24tbmF2JzsgLy8gTm8gZXhpc3RlIGNvbW8gcGFyYW0gZGUgbmF2Q29tcG9uZW50XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFbXB0eUNvbnRlbnQoZWxlbWVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZWxlbWVudH0gY29udGVudCBpcyByZXF1aXJlZGApO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,19 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../../shared/components';
3
+ export class HeaderNavigationItemComponent extends ContentBaseComponent {
4
+ }
5
+ HeaderNavigationItemComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-header-navigation-item',
8
+ template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
9
+ },] }
10
+ ];
11
+ HeaderNavigationItemComponent.propDecorators = {
12
+ href: [{ type: Input }],
13
+ routerLink: [{ type: Input }],
14
+ fragment: [{ type: Input }],
15
+ id: [{ type: Input }],
16
+ active: [{ type: Input }],
17
+ disabled: [{ type: Input }]
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItbmF2aWdhdGlvbi9oZWFkZXItbmF2aWdhdGlvbi1pdGVtL2hlYWRlci1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBTXRFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxvQkFBb0I7OztZQUp0RSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsUUFBUSxFQUFFLHVFQUF1RTthQUNsRjs7O21CQUVFLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxLQUFLO2lCQUNMLEtBQUs7cUJBQ0wsS0FBSzt1QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGF9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaGVhZGVyLW5hdmlnYXRpb24taXRlbS1kYXRhJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LWhlYWRlci1uYXZpZ2F0aW9uLWl0ZW0nLFxyXG4gIHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEhlYWRlck5hdmlnYXRpb25JdGVtRGF0YSB7XHJcbiAgQElucHV0KCkgaHJlZjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IHN0cmluZztcclxuICBASW5wdXQoKSBmcmFnbWVudDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,21 +1,32 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, ContentChildren, Input } from '@angular/core';
2
2
  import { AccessibilityComponent } from '../../../../shared/components';
3
+ import { HeaderNavigationItemComponent } from './header-navigation-item/header-navigation-item.component';
3
4
  export class HeaderNavigationComponent extends AccessibilityComponent {
5
+ ngAfterContentInit() {
6
+ const items = this.getItems();
7
+ if (!items || items.length === 0) {
8
+ throw new Error('Header-navigation items are required');
9
+ }
10
+ }
4
11
  getItemId(item, index) {
5
12
  const prefix = this.idPrefix ? this.idPrefix : 'header-nav-item';
6
13
  const suffix = index > 0 ? '-' + index : '';
7
14
  return item.id ? item.id : prefix + suffix;
8
15
  }
16
+ getItems() {
17
+ return this.itemComponents && this.itemComponents.length > 0 ? this.itemComponents.toArray() : this.items;
18
+ }
9
19
  }
10
20
  HeaderNavigationComponent.decorators = [
11
21
  { type: Component, args: [{
12
22
  selector: 'desy-header-navigation',
13
- template: "<nav [class]=\"classes ? classes : 'hidden lg:block'\"\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=\"ml-sm flex flex-wrap items-baseline uppercase\">\r\n <ng-container *ngFor=\"let item of items; index as i\">\r\n <li *ngIf=\"item\">\r\n\r\n <!-- Active + routerlink -->\r\n <a *ngIf=\"item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\" aria-current=\"page\">\r\n <strong [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"></strong>\r\n </a>\r\n\r\n <!-- Active + href -->\r\n <a *ngIf=\"item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\" aria-current=\"page\">\r\n <strong [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"></strong>\r\n </a>\r\n\r\n <!-- Not active + routerlink -->\r\n <a *ngIf=\"!item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"></a>\r\n\r\n <!-- Not active + href -->\r\n <a *ngIf=\"!item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"></a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</nav>\r\n"
23
+ template: "<nav [class]=\"classes ? classes : 'hidden lg:block'\"\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=\"ml-sm flex flex-wrap items-baseline uppercase\">\r\n <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n <li *ngIf=\"item\">\r\n\r\n <!-- Active + routerlink -->\r\n <a *ngIf=\"item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\" aria-current=\"page\">\r\n <strong>\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </strong>\r\n </a>\r\n\r\n <!-- Active + href -->\r\n <a *ngIf=\"item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 font-bold text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\" aria-current=\"page\">\r\n <strong>\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </strong>\r\n </a>\r\n\r\n <!-- Not active + routerlink -->\r\n <a *ngIf=\"!item.active && (item.routerLink || !item.href)\" [id]=\"getItemId(item, i)\" [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </a>\r\n\r\n <!-- Not active + href -->\r\n <a *ngIf=\"!item.active && !item.routerLink && item.href\" [id]=\"getItemId(item, i)\" [href]=\"item.href\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n class=\"max-w-40 lg:max-w-xs px-3 py-4 text-sm text-white truncate focus:outline-none focus:ring-4 focus:ring-inset focus:ring-warning-base\"\r\n [attr.disabled]=\"item.disabled ? item.disabled : null\" [attr.aria-disabled]=\"item.disabled ? item.disabled : null\" [attr.tabindex]=\"item.disabled ? -1 : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</nav>\r\n"
14
24
  },] }
15
25
  ];
16
26
  HeaderNavigationComponent.propDecorators = {
17
27
  idPrefix: [{ type: Input }],
18
28
  classes: [{ type: Input }],
19
- items: [{ type: Input }]
29
+ items: [{ type: Input }],
30
+ itemComponents: [{ type: ContentChildren, args: [HeaderNavigationItemComponent,] }]
20
31
  };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW5hdmlnYXRpb24vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBTXZFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBc0I7SUFNbkUsU0FBUyxDQUFDLElBQThCLEVBQUUsS0FBYTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQzdDLENBQUM7OztZQWRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQywrN0dBQWlEO2FBQ2xEOzs7dUJBR0UsS0FBSztzQkFDTCxLQUFLO29CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhlYWRlck5hdmlnYXRpb25JdGVtRGF0YSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaGVhZGVyLW5hdmlnYXRpb24taXRlbS1kYXRhJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1oZWFkZXItbmF2aWdhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBpdGVtczogSGVhZGVyTmF2aWdhdGlvbkl0ZW1EYXRhW107XHJcblxyXG4gIGdldEl0ZW1JZChpdGVtOiBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiAnaGVhZGVyLW5hdi1pdGVtJztcclxuICAgIGNvbnN0IHN1ZmZpeCA9IGluZGV4ID4gMCA/ICctJyArIGluZGV4IDogJyc7XHJcbiAgICByZXR1cm4gaXRlbS5pZCA/IGl0ZW0uaWQgOiBwcmVmaXggKyBzdWZmaXg7XHJcbiAgfVxyXG59XHJcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW5hdmlnYXRpb24vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFNeEcsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHNCQUFzQjtJQVFuRSxrQkFBa0I7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUE4QixFQUFFLEtBQWE7UUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDakUsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDNUcsQ0FBQzs7O1lBM0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxvcEhBQWlEO2FBQ2xEOzs7dUJBR0UsS0FBSztzQkFDTCxLQUFLO29CQUNMLEtBQUs7NkJBRUwsZUFBZSxTQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0LCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGEgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2hlYWRlci1uYXZpZ2F0aW9uLWl0ZW0tZGF0YSc7XHJcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7SGVhZGVyTmF2aWdhdGlvbkl0ZW1Db21wb25lbnR9IGZyb20gJy4vaGVhZGVyLW5hdmlnYXRpb24taXRlbS9oZWFkZXItbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLW5hdmlnYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXItbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlck5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGFbXTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxIZWFkZXJOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudD47XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xyXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdIZWFkZXItbmF2aWdhdGlvbiBpdGVtcyBhcmUgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEl0ZW1JZChpdGVtOiBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiAnaGVhZGVyLW5hdi1pdGVtJztcclxuICAgIGNvbnN0IHN1ZmZpeCA9IGluZGV4ID4gMCA/ICctJyArIGluZGV4IDogJyc7XHJcbiAgICByZXR1cm4gaXRlbS5pZCA/IGl0ZW0uaWQgOiBwcmVmaXggKyBzdWZmaXg7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtcygpOiBIZWFkZXJOYXZpZ2F0aW9uSXRlbURhdGFbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtQ29tcG9uZW50cyAmJiB0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb25lbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component } from '@angular/core';
3
+ import { ContentBaseComponent } from '../../../../../shared/components';
4
+ export class HeaderOffcanvasButtonComponent extends ContentBaseComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.openOffcanvas = () => __awaiter(this, void 0, void 0, function* () { });
8
+ }
9
+ handleClick(event) {
10
+ return __awaiter(this, void 0, void 0, function* () {
11
+ event.stopPropagation();
12
+ yield this.openOffcanvas();
13
+ });
14
+ }
15
+ handleEmptyContent(element) {
16
+ throw new Error(`${element} content is required`);
17
+ }
18
+ }
19
+ HeaderOffcanvasButtonComponent.decorators = [
20
+ { type: Component, args: [{
21
+ selector: 'desy-header-offcanvas-button',
22
+ template: "<ng-template #contentTemplate>\r\n <button id=\"header-offcanvas-button\" tabindex=\"0\" aria-haspopup=\"true\"\r\n class=\"inline-flex items-center px-3 py-4 text-sm text-white focus:outline-none focus:shadow-outline-warning\"\r\n (click)=\"handleClick($event)\">\r\n <span id=\"header-offcanvas-button-text\" class=\"inline-block align-middle text-right\"\r\n (desyContentEmpty)=\"handleEmptyContent('Header-offcanvas button')\">\r\n <ng-content></ng-content>\r\n </span>\r\n <svg role=\"img\" aria-label=\"Cerrado\" class=\"inline-block align-middle\" viewBox=\"0 0 96 96\" fill=\"currentColor\" 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</ng-template>\r\n\r\n"
23
+ },] }
24
+ ];
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW9mZmNhbnZhcy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW9mZmNhbnZhcy9oZWFkZXItb2ZmY2FudmFzLWJ1dHRvbi9oZWFkZXItb2ZmY2FudmFzLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFNdEUsTUFBTSxPQUFPLDhCQUErQixTQUFRLG9CQUFvQjtJQUp4RTs7UUFNRSxrQkFBYSxHQUFHLEdBQVMsRUFBRSxnREFBRSxDQUFDLENBQUEsQ0FBQztJQVdqQyxDQUFDO0lBVE8sV0FBVyxDQUFDLEtBQVk7O1lBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDO0tBQUE7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxPQUFPLHNCQUFzQixDQUFDLENBQUM7SUFDcEQsQ0FBQzs7O1lBZkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLHEyQkFBdUQ7YUFDeEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LWhlYWRlci1vZmZjYW52YXMtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW9mZmNhbnZhcy1idXR0b24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJPZmZjYW52YXNCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIG9wZW5PZmZjYW52YXMgPSBhc3luYyAoKSA9PiB7fTtcclxuXHJcbiAgYXN5bmMgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGF3YWl0IHRoaXMub3Blbk9mZmNhbnZhcygpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRW1wdHlDb250ZW50KGVsZW1lbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKGAke2VsZW1lbnR9IGNvbnRlbnQgaXMgcmVxdWlyZWRgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../../shared/components';
3
+ export class HeaderOffcanvasCloseButtonComponent extends ContentBaseComponent {
4
+ }
5
+ HeaderOffcanvasCloseButtonComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-header-offcanvas-close-button',
8
+ template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
9
+ },] }
10
+ ];
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW9mZmNhbnZhcy1jbG9zZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW9mZmNhbnZhcy9oZWFkZXItb2ZmY2FudmFzLWNsb3NlLWJ1dHRvbi9oZWFkZXItb2ZmY2FudmFzLWNsb3NlLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQU10RSxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsb0JBQW9COzs7WUFKNUUsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFFBQVEsRUFBRSx1RUFBdUU7YUFDbEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LWhlYWRlci1vZmZjYW52YXMtY2xvc2UtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlck9mZmNhbnZhc0Nsb3NlQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQge1xyXG5cclxufVxyXG4iXX0=
@@ -1,25 +1,88 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Component, ContentChildren, HostBinding, Input, ViewChild } from '@angular/core';
3
+ import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
4
+ import { ContentComponent } from '../../../../desy-commons/components/content/content.component';
5
+ import { HeaderOffcanvasCloseButtonComponent } from './header-offcanvas-close-button/header-offcanvas-close-button.component';
6
+ import { DialogService } from '../../../../desy-modals/services/dialog.service';
7
+ import { HeaderOffcanvasButtonComponent } from './header-offcanvas-button/header-offcanvas-button.component';
8
+ import { DesyOnInputChange } from '../../../../shared/decorators/desy-on-input-change.decorator';
2
9
  export class HeaderOffcanvasComponent {
3
- constructor() {
4
- this.closeDialog = new EventEmitter();
5
- this.clickOutsideEnabled = false;
10
+ constructor(dialogService) {
11
+ this.dialogService = dialogService;
12
+ this.hostClass = '-mr-2 flex lg:hidden';
6
13
  }
7
- ngOnInit() {
8
- setTimeout(() => this.clickOutsideEnabled = true);
14
+ ngOnDestroy() {
15
+ if (this.isOpen()) {
16
+ this.close();
17
+ }
9
18
  }
10
- onCloseDialog() {
11
- this.closeDialog.emit();
19
+ open() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ if (!this.isOpen()) {
22
+ this.dialog = (yield this.dialogService.openDialog(this.offcanvasContent, HeaderOffcanvasComponent.dialogOptions)).dialog;
23
+ this.dialogService.onCloseDialog(this.dialog).then(() => this.dialog = null);
24
+ }
25
+ });
26
+ }
27
+ close() {
28
+ if (this.isOpen()) {
29
+ this.dialogService.closeDialog(this.dialog);
30
+ this.dialog = null;
31
+ }
32
+ }
33
+ isOpen() {
34
+ return !!this.dialog;
35
+ }
36
+ /**
37
+ * Estable las clases del elemento html del componente
38
+ */
39
+ setHostClass() {
40
+ this.hostClass = this.classes ? this.classes : '-mr-2 flex lg:hidden';
41
+ }
42
+ /**
43
+ * Enlaza el botón del componente hijo con la acción de abrir de este componente
44
+ * @param button componente botón pasado como contenido
45
+ */
46
+ bindButton(button) {
47
+ button.openOffcanvas = this.open.bind(this);
48
+ }
49
+ handleEmptyContent(element) {
50
+ throw new Error(`${element} content is required`);
12
51
  }
13
52
  }
53
+ HeaderOffcanvasComponent.dialogOptions = {
54
+ id: 'header-offcanvas-dialog',
55
+ focusOnClose: 'header-offcanvas',
56
+ ariaModal: 'true',
57
+ ariaLabelledBy: 'header-offcanvas-button-text'
58
+ };
14
59
  HeaderOffcanvasComponent.decorators = [
15
60
  { type: Component, args: [{
16
61
  selector: 'desy-header-offcanvas',
17
- template: "<div class=\"origin-top-left left-0 fixed inset-0 h-screen\">\r\n <div class=\"h-full overflow-auto relative w-offcanvas h-screen ml-offcanvas-negative bg-white z-10\"\r\n [desyClickOutside]=\"clickOutsideEnabled\" (clickOutside)=\"onCloseDialog()\">\r\n <div class=\"text-right p-sm\">\r\n <button (click)=\"onCloseDialog()\" id=\"header-offcanvas-button-close\"\r\n class=\"c-button c-button--sm c-button--transparent m-sm\">{{ text }} <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 14\" width=\"14\" height=\"14\" class=\"self-center ml-2\"><path fill=\"currentColor\" d=\"M8.591 7.177a.25.25 0 010-.354l4.616-4.616A1 1 0 1011.793.793L7.177 5.409a.25.25 0 01-.354 0L2.207.793A1 1 0 00.793 2.207l4.616 4.616a.25.25 0 010 .354L.793 11.793a1 1 0 001.414 1.414l4.616-4.616a.25.25 0 01.354 0l4.616 4.616a1 1 0 001.414-1.414z\"/></svg></button>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"contentHtml\"></ng-container>\r\n </div>\r\n</div>\r\n"
62
+ template: "\r\n<ng-template #offcanvasContent>\r\n <div class=\"origin-top-left left-0 fixed inset-0 h-screen\">\r\n <div class=\"h-full overflow-auto relative w-offcanvas h-screen ml-offcanvas-negative bg-white z-10\"\r\n [desyClickOutside]=\"isOpen()\" (clickOutside)=\"close()\">\r\n <div class=\"text-right p-sm\">\r\n <button (click)=\"close()\" id=\"header-offcanvas-button-close\" class=\"c-button c-button--sm c-button--transparent m-sm\"\r\n (desyContentEmpty)=\"handleEmptyContent('Header-offcanvas close button')\">\r\n <ng-container *desyCustomInnerContent=\"{ component: closeButton }\"></ng-container> <svg #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 14\" width=\"14\" height=\"14\" class=\"self-center ml-2\"><path fill=\"currentColor\" d=\"M8.591 7.177a.25.25 0 010-.354l4.616-4.616A1 1 0 1011.793.793L7.177 5.409a.25.25 0 01-.354 0L2.207.793A1 1 0 00.793 2.207l4.616 4.616a.25.25 0 010 .354L.793 11.793a1 1 0 001.414 1.414l4.616-4.616a.25.25 0 01.354 0l4.616 4.616a1 1 0 001.414-1.414z\"/></svg>\r\n </button>\r\n </div>\r\n <ng-container *desyCustomInnerContent=\"{ component: content }\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-container *desyCustomInnerContent=\"{ component: button }\"></ng-container>\r\n"
18
63
  },] }
19
64
  ];
65
+ HeaderOffcanvasComponent.ctorParameters = () => [
66
+ { type: DialogService }
67
+ ];
20
68
  HeaderOffcanvasComponent.propDecorators = {
21
- text: [{ type: Input }],
22
- contentHtml: [{ type: Input }],
23
- closeDialog: [{ type: Output }]
69
+ classes: [{ type: Input }],
70
+ hostClass: [{ type: HostBinding, args: ['class',] }],
71
+ offcanvasContent: [{ type: ViewChild, args: ['offcanvasContent',] }],
72
+ button: [{ type: ContentChildren, args: [HeaderOffcanvasButtonComponent,] }],
73
+ content: [{ type: ContentChildren, args: [ContentComponent,] }],
74
+ closeButton: [{ type: ContentChildren, args: [HeaderOffcanvasCloseButtonComponent,] }]
24
75
  };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW9mZmNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItb2ZmY2FudmFzL2hlYWRlci1vZmZjYW52YXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFNNUYsTUFBTSxPQUFPLHdCQUF3QjtJQUpyQztRQVNZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFTOUIsQ0FBQztJQVBDLFFBQVE7UUFDTixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUFuQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLHMrQkFBZ0Q7YUFDakQ7OzttQkFHRSxLQUFLOzBCQUNMLEtBQUs7MEJBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLW9mZmNhbnZhcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci1vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJPZmZjYW52YXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29udGVudEh0bWw6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBPdXRwdXQoKSBjbG9zZURpYWxvZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY2xpY2tPdXRzaWRlRW5hYmxlZCA9IGZhbHNlO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbGlja091dHNpZGVFbmFibGVkID0gdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zZURpYWxvZy5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
76
+ __decorate([
77
+ DesyOnInputChange('setHostClass')
78
+ ], HeaderOffcanvasComponent.prototype, "classes", void 0);
79
+ __decorate([
80
+ DesyContentChild({ onSetCallbackName: 'bindButton' })
81
+ ], HeaderOffcanvasComponent.prototype, "button", void 0);
82
+ __decorate([
83
+ DesyContentChild()
84
+ ], HeaderOffcanvasComponent.prototype, "content", void 0);
85
+ __decorate([
86
+ DesyContentChild()
87
+ ], HeaderOffcanvasComponent.prototype, "closeButton", void 0);
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW9mZmNhbnZhcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItb2ZmY2FudmFzL2hlYWRlci1vZmZjYW52YXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM1RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMvRixPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUU1SCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFOUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDM0csT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFNL0YsTUFBTSxPQUFPLHdCQUF3QjtJQTJCbkMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFmMUIsY0FBUyxHQUFHLHNCQUFzQixDQUFDO0lBZ0J6RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVLLElBQUk7O1lBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUMxSCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDOUU7UUFDSCxDQUFDO0tBQUE7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBQ3hFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsTUFBc0M7UUFDL0MsTUFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBZTtRQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O0FBckVjLHNDQUFhLEdBQWtCO0lBQzVDLEVBQUUsRUFBRSx5QkFBeUI7SUFDN0IsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxTQUFTLEVBQUUsTUFBTTtJQUNqQixjQUFjLEVBQUUsOEJBQThCO0NBQy9DLENBQUM7O1lBWEgsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDYwQ0FBZ0Q7YUFDakQ7OztZQVJPLGFBQWE7OztzQkFtQmxCLEtBQUs7d0JBRUwsV0FBVyxTQUFDLE9BQU87K0JBRW5CLFNBQVMsU0FBQyxrQkFBa0I7cUJBRzVCLGVBQWUsU0FBQyw4QkFBOEI7c0JBRzlDLGVBQWUsU0FBQyxnQkFBZ0I7MEJBR2hDLGVBQWUsU0FBQyxtQ0FBbUM7O0FBYjNDO0lBRFIsaUJBQWlCLENBQUMsY0FBYyxDQUFDO3lEQUNUO0FBT3dCO0lBRGhELGdCQUFnQixDQUFDLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFDLENBQUM7d0RBQ29DO0FBR3JEO0lBRGxDLGdCQUFnQixFQUFFO3lEQUMwQztBQUdQO0lBRHJELGdCQUFnQixFQUFFOzZEQUNvRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudFJlZixcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0NvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0hlYWRlck9mZmNhbnZhc0Nsb3NlQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2hlYWRlci1vZmZjYW52YXMtY2xvc2UtYnV0dG9uL2hlYWRlci1vZmZjYW52YXMtY2xvc2UtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9kZXN5LW1vZGFscy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9kZXN5LW1vZGFscy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7RGlhbG9nT3B0aW9uc30gZnJvbSAnLi4vLi4vLi4vLi4vZGVzeS1tb2RhbHMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7SGVhZGVyT2ZmY2FudmFzQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2hlYWRlci1vZmZjYW52YXMtYnV0dG9uL2hlYWRlci1vZmZjYW52YXMtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGVzeU9uSW5wdXRDaGFuZ2V9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktb24taW5wdXQtY2hhbmdlLmRlY29yYXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktaGVhZGVyLW9mZmNhbnZhcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci1vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJPZmZjYW52YXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBkaWFsb2dPcHRpb25zOiBEaWFsb2dPcHRpb25zID0ge1xyXG4gICAgaWQ6ICdoZWFkZXItb2ZmY2FudmFzLWRpYWxvZycsXHJcbiAgICBmb2N1c09uQ2xvc2U6ICdoZWFkZXItb2ZmY2FudmFzJyxcclxuICAgIGFyaWFNb2RhbDogJ3RydWUnLFxyXG4gICAgYXJpYUxhYmVsbGVkQnk6ICdoZWFkZXItb2ZmY2FudmFzLWJ1dHRvbi10ZXh0J1xyXG4gIH07XHJcblxyXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnc2V0SG9zdENsYXNzJylcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBob3N0Q2xhc3MgPSAnLW1yLTIgZmxleCBsZzpoaWRkZW4nO1xyXG5cclxuICBAVmlld0NoaWxkKCdvZmZjYW52YXNDb250ZW50Jykgb2ZmY2FudmFzQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoe29uU2V0Q2FsbGJhY2tOYW1lOiAnYmluZEJ1dHRvbid9KVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oSGVhZGVyT2ZmY2FudmFzQnV0dG9uQ29tcG9uZW50KSBidXR0b246IEhlYWRlck9mZmNhbnZhc0J1dHRvbkNvbXBvbmVudDtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oQ29udGVudENvbXBvbmVudCkgY29udGVudDogQ29udGVudENvbXBvbmVudDtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oSGVhZGVyT2ZmY2FudmFzQ2xvc2VCdXR0b25Db21wb25lbnQpIGNsb3NlQnV0dG9uOiBIZWFkZXJPZmZjYW52YXNDbG9zZUJ1dHRvbkNvbXBvbmVudDtcclxuXHJcbiAgcHJpdmF0ZSBkaWFsb2c6IENvbXBvbmVudFJlZjxEaWFsb2dDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgb3BlbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xyXG4gICAgICB0aGlzLmRpYWxvZyA9IChhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyh0aGlzLm9mZmNhbnZhc0NvbnRlbnQsIEhlYWRlck9mZmNhbnZhc0NvbXBvbmVudC5kaWFsb2dPcHRpb25zKSkuZGlhbG9nO1xyXG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub25DbG9zZURpYWxvZyh0aGlzLmRpYWxvZykudGhlbigoKSA9PiB0aGlzLmRpYWxvZyA9IG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc09wZW4oKSkge1xyXG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xvc2VEaWFsb2codGhpcy5kaWFsb2cpO1xyXG4gICAgICB0aGlzLmRpYWxvZyA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc09wZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmRpYWxvZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVzdGFibGUgbGFzIGNsYXNlcyBkZWwgZWxlbWVudG8gaHRtbCBkZWwgY29tcG9uZW50ZVxyXG4gICAqL1xyXG4gIHNldEhvc3RDbGFzcygpOiB2b2lkIHtcclxuICAgIHRoaXMuaG9zdENsYXNzID0gdGhpcy5jbGFzc2VzID8gdGhpcy5jbGFzc2VzIDogJy1tci0yIGZsZXggbGc6aGlkZGVuJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVubGF6YSBlbCBib3TDs24gZGVsIGNvbXBvbmVudGUgaGlqbyBjb24gbGEgYWNjacOzbiBkZSBhYnJpciBkZSBlc3RlIGNvbXBvbmVudGVcclxuICAgKiBAcGFyYW0gYnV0dG9uIGNvbXBvbmVudGUgYm90w7NuIHBhc2FkbyBjb21vIGNvbnRlbmlkb1xyXG4gICAqL1xyXG4gIGJpbmRCdXR0b24oYnV0dG9uOiBIZWFkZXJPZmZjYW52YXNCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcclxuICAgIGJ1dHRvbi5vcGVuT2ZmY2FudmFzID0gdGhpcy5vcGVuLmJpbmQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFbXB0eUNvbnRlbnQoZWxlbWVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZWxlbWVudH0gY29udGVudCBpcyByZXF1aXJlZGApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,47 +1,37 @@
1
- import { Component, Input } from '@angular/core';
2
- import { animate, state, style, transition, trigger } from '@angular/animations';
3
- import { TextOrHtmlRequiredComponent } from '../../../../shared/components';
4
- export class HeaderSubnavComponent extends TextOrHtmlRequiredComponent {
5
- constructor() {
6
- super(...arguments);
7
- this.isOpen = false;
8
- this.clickOutsideEnabled = false;
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, Input } from '@angular/core';
3
+ import { NavComponent } from '../../nav/nav.component';
4
+ import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
5
+ import { AccessibilityComponent } from "../../../../shared/components";
6
+ export class HeaderSubnavComponent extends AccessibilityComponent {
7
+ hasSubnavItems() {
8
+ return this.nav && this.nav.getItemList().length > 0;
9
9
  }
10
- toggleOpen() {
11
- this.isOpen = !this.isOpen;
12
- setTimeout(() => this.clickOutsideEnabled = this.isOpen);
10
+ overrideNavParams(nav) {
11
+ nav.hasNav = true;
12
+ nav.idPrefix = 'header-subnav-nav-item';
13
+ nav.ariaLabel = 'Aplicaciones';
14
+ nav.classes = 'w-max max-w-64';
15
+ // nav.id = 'id-subnav-nav'; // No existe como param de navComponent
13
16
  }
14
- onKeydownEscape() {
15
- this.isOpen = false;
16
- this.clickOutsideEnabled = false;
17
- document.getElementById('header-subnav-button').focus();
17
+ handleEmptyContent(element) {
18
+ throw new Error(`${element} content is required`);
18
19
  }
19
20
  }
20
21
  HeaderSubnavComponent.decorators = [
21
22
  { type: Component, args: [{
22
23
  selector: 'desy-header-subnav',
23
- template: "<div class=\"hidden lg:flex items-center\" *ngIf=\"items; 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\" [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\"></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 w-64 max-h-64 mt-2 border border-neutral-base overflow-y-auto shadow-md\">\r\n <div class=\"bg-white shadow-xs\">\r\n <ng-content></ng-content>\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 <span class=\"sr-only\">Aplicaci\u00F3n actual: </span>\r\n {{ text }}\r\n </p>\r\n</ng-template>\r\n",
24
- animations: [
25
- trigger('toggleDropdown', [
26
- state('void', style({
27
- opacity: '0.0',
28
- transform: 'scale(0.95)'
29
- })),
30
- state('*', style({
31
- opacity: '1.0',
32
- transform: 'scale(1.0)'
33
- })),
34
- transition(':enter', [
35
- animate('100ms ease-out')
36
- ]),
37
- transition(':leave', [
38
- animate('75ms ease-in')
39
- ])
40
- ])
41
- ]
24
+ 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"
42
25
  },] }
43
26
  ];
44
27
  HeaderSubnavComponent.propDecorators = {
45
- items: [{ type: Input }]
28
+ hiddenText: [{ type: Input }],
29
+ classesContainer: [{ type: Input }],
30
+ classesTooltip: [{ type: Input }],
31
+ classes: [{ type: Input }],
32
+ nav: [{ type: ContentChildren, args: [NavComponent,] }]
46
33
  };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXN1Ym5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItc3VibmF2L2hlYWRlci1zdWJuYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUF3QjVFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwyQkFBMkI7SUF0QnRFOztRQTBCRSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2Ysd0JBQW1CLEdBQUcsS0FBSyxDQUFDO0lBYTlCLENBQUM7SUFYQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLFFBQVEsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxRCxDQUFDOzs7WUF0Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHVxREFBNkM7Z0JBQzdDLFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsZ0JBQWdCLEVBQUU7d0JBQ3hCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDOzRCQUNsQixPQUFPLEVBQUUsS0FBSzs0QkFDZCxTQUFTLEVBQUUsYUFBYTt5QkFDekIsQ0FBQyxDQUFDO3dCQUNILEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDOzRCQUNmLE9BQU8sRUFBRSxLQUFLOzRCQUNkLFNBQVMsRUFBRSxZQUFZO3lCQUN4QixDQUFDLENBQUM7d0JBQ0gsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsT0FBTyxDQUFDLGdCQUFnQixDQUFDO3lCQUMxQixDQUFDO3dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLE9BQU8sQ0FBQyxjQUFjLENBQUM7eUJBQ3hCLENBQUM7cUJBQ0gsQ0FBQztpQkFDSDthQUNGOzs7b0JBR0UsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE5hdkl0ZW1EYXRhIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFRleHRPckh0bWxSZXF1aXJlZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1oZWFkZXItc3VibmF2JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLXN1Ym5hdi5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcigndG9nZ2xlRHJvcGRvd24nLCBbXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe1xyXG4gICAgICAgIG9wYWNpdHk6ICcwLjAnLFxyXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDAuOTUpJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe1xyXG4gICAgICAgIG9wYWNpdHk6ICcxLjAnLFxyXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDEuMCknXHJcbiAgICAgIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzEwMG1zIGVhc2Utb3V0JylcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICBhbmltYXRlKCc3NW1zIGVhc2UtaW4nKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJTdWJuYXZDb21wb25lbnQgZXh0ZW5kcyBUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnR7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zOiBOYXZJdGVtRGF0YVtdO1xyXG5cclxuICBpc09wZW4gPSBmYWxzZTtcclxuICBjbGlja091dHNpZGVFbmFibGVkID0gZmFsc2U7XHJcblxyXG4gIHRvZ2dsZU9wZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbGlja091dHNpZGVFbmFibGVkID0gdGhpcy5pc09wZW4pO1xyXG4gIH1cclxuXHJcbiAgb25LZXlkb3duRXNjYXBlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hlYWRlci1zdWJuYXYtYnV0dG9uJykuZm9jdXMoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
34
+ __decorate([
35
+ DesyContentChild({ onSetCallbackName: 'overrideNavParams' })
36
+ ], HeaderSubnavComponent.prototype, "nav", void 0);
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXN1Ym5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItc3VibmF2L2hlYWRlci1zdWJuYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBTXJFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUFVL0QsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQWlCO1FBQ2pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsd0JBQXdCLENBQUM7UUFDeEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDL0IsR0FBRyxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQixvRUFBb0U7SUFDdEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWU7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLE9BQU8sc0JBQXNCLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7WUE1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHlqRUFBNkM7YUFDOUM7Ozt5QkFHRSxLQUFLOytCQUNMLEtBQUs7NkJBQ0wsS0FBSztzQkFDTCxLQUFLO2tCQUdMLGVBQWUsU0FBQyxZQUFZOztBQUFFO0lBRDlCLGdCQUFnQixDQUFDLEVBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztrREFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOYXZDb21wb25lbnR9IGZyb20gJy4uLy4uL25hdi9uYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1oZWFkZXItc3VibmF2JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLXN1Ym5hdi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlclN1Ym5hdkNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBoaWRkZW5UZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlc0NvbnRhaW5lcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXNUb29sdGlwOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCh7b25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZU5hdlBhcmFtcyd9KVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTmF2Q29tcG9uZW50KSBuYXY6IE5hdkNvbXBvbmVudDtcclxuXHJcbiAgaGFzU3VibmF2SXRlbXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5uYXYgJiYgdGhpcy5uYXYuZ2V0SXRlbUxpc3QoKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGVOYXZQYXJhbXMobmF2OiBOYXZDb21wb25lbnQpOiB2b2lkIHtcclxuICAgIG5hdi5oYXNOYXYgPSB0cnVlO1xyXG4gICAgbmF2LmlkUHJlZml4ID0gJ2hlYWRlci1zdWJuYXYtbmF2LWl0ZW0nO1xyXG4gICAgbmF2LmFyaWFMYWJlbCA9ICdBcGxpY2FjaW9uZXMnO1xyXG4gICAgbmF2LmNsYXNzZXMgPSAndy1tYXggbWF4LXctNjQnO1xyXG4gICAgLy8gbmF2LmlkID0gJ2lkLXN1Ym5hdi1uYXYnOyAvLyBObyBleGlzdGUgY29tbyBwYXJhbSBkZSBuYXZDb21wb25lbnRcclxuICB9XHJcblxyXG4gIGhhbmRsZUVtcHR5Q29udGVudChlbGVtZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihgJHtlbGVtZW50fSBjb250ZW50IGlzIHJlcXVpcmVkYCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=