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.
- package/README.md +3 -3
- package/bundles/desy-angular.umd.js +1740 -776
- package/bundles/desy-angular.umd.js.map +1 -1
- package/bundles/desy-angular.umd.min.js +2 -2
- package/bundles/desy-angular.umd.min.js.map +1 -1
- package/desy-angular.d.ts +28 -24
- package/desy-angular.metadata.json +1 -1
- package/esm2015/desy-angular.js +29 -25
- package/esm2015/lib/desy-angular.module.js +1 -3
- package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -16
- package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
- package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +70 -70
- package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +6 -15
- package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +67 -55
- package/esm2015/lib/desy-buttons/components/pill/pill.component.js +5 -3
- package/esm2015/lib/desy-commons/interfaces/title-data.js +1 -1
- package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +2 -2
- package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +36 -2
- package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +2 -2
- package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +19 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +44 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +131 -25
- package/esm2015/lib/desy-forms/components/input/input.component.js +2 -3
- package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +20 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +46 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +42 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +115 -21
- package/esm2015/lib/desy-forms/components/radios/radios.component.js +2 -2
- package/esm2015/lib/desy-forms/components/select/option/option.component.js +7 -7
- package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +17 -0
- package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +14 -0
- package/esm2015/lib/desy-forms/components/select/select.component.js +19 -6
- package/esm2015/lib/desy-forms/desy-forms.module.js +31 -1
- package/esm2015/lib/desy-forms/interfaces/fieldset-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-date-input-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js +2 -0
- package/esm2015/lib/desy-forms/interfaces/item-input-group-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/select-item-data.js +1 -1
- package/esm2015/lib/desy-modals/components/modal/modal.component.js +3 -3
- package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +2 -2
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +23 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer.component.js +31 -4
- package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +26 -36
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +19 -0
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +15 -4
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +25 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +11 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +76 -13
- package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +26 -36
- package/esm2015/lib/desy-nav/components/header/header.component.js +39 -4
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +2 -2
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +32 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +16 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +24 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +35 -23
- package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +3 -3
- package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +24 -5
- package/esm2015/lib/desy-nav/desy-nav.module.js +37 -4
- package/esm2015/lib/desy-nav/interfaces/footer-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js +1 -1
- package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +2 -2
- package/esm2015/lib/desy-tables/components/table/table.component.js +3 -2
- package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +5 -3
- package/esm2015/lib/desy-tables/interfaces/index.js +2 -1
- package/esm2015/lib/desy-tables/interfaces/wrapper-data.js +2 -0
- package/esm2015/lib/desy-views/components/accordion/accordion.component.js +2 -2
- package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
- package/esm2015/lib/desy-views/components/item/item.component.js +11 -2
- package/esm2015/lib/desy-views/components/status-item/status-item.component.js +2 -2
- package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +15 -0
- package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +28 -0
- package/esm2015/lib/desy-views/components/tabs/tabs.component.js +57 -36
- package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +1 -1
- package/esm2015/lib/desy-views/desy-views.module.js +7 -1
- package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/tabs-panel-data.js +1 -1
- package/esm2015/public-api.js +20 -1
- package/fesm2015/desy-angular.js +1533 -677
- package/fesm2015/desy-angular.js.map +1 -1
- package/lib/desy-buttons/components/button/button.component.d.ts +6 -6
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
- package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +4 -7
- package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +2 -6
- package/lib/desy-buttons/components/listbox/listbox.component.d.ts +1 -2
- package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -0
- package/lib/desy-commons/interfaces/title-data.d.ts +2 -1
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +5 -0
- package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +7 -0
- package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +4 -0
- package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +19 -0
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +21 -4
- package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +8 -0
- package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +20 -0
- package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +4 -0
- package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +16 -0
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +24 -6
- package/lib/desy-forms/components/select/option/option.component.d.ts +6 -7
- package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +7 -0
- package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +4 -0
- package/lib/desy-forms/components/select/select.component.d.ts +6 -3
- package/lib/desy-forms/interfaces/fieldset-data.d.ts +1 -0
- package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
- package/lib/desy-forms/interfaces/item-date-input-data.d.ts +2 -0
- package/lib/desy-forms/interfaces/item-divider-date-input-data.d.ts +5 -0
- package/lib/desy-forms/interfaces/item-input-group-data.d.ts +1 -2
- package/lib/desy-forms/interfaces/select-item-data.d.ts +2 -1
- package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +10 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +8 -0
- package/lib/desy-nav/components/footer/footer.component.d.ts +14 -2
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +10 -6
- package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +10 -0
- package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +6 -1
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +6 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +30 -8
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +11 -8
- package/lib/desy-nav/components/header/header.component.d.ts +12 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +18 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +8 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +15 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +11 -7
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +9 -2
- package/lib/desy-nav/interfaces/footer-data.d.ts +7 -7
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +6 -1
- package/lib/desy-tables/components/table/table.component.d.ts +2 -1
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +6 -4
- package/lib/desy-tables/interfaces/index.d.ts +1 -0
- package/lib/desy-tables/interfaces/wrapper-data.d.ts +4 -0
- package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
- package/lib/desy-views/components/item/item.component.d.ts +5 -2
- package/lib/desy-views/components/tabs/panel/panel.component.d.ts +6 -0
- package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +12 -0
- package/lib/desy-views/components/tabs/tabs.component.d.ts +14 -3
- package/lib/desy-views/interfaces/tabs-items-data.d.ts +5 -5
- package/lib/desy-views/interfaces/tabs-panel-data.d.ts +4 -4
- package/package.json +2 -2
- package/public-api.d.ts +19 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.js +0 -58
- package/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -18
|
@@ -1,11 +1,29 @@
|
|
|
1
|
-
import {
|
|
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: "
|
|
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
|
-
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
11
|
-
|
|
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 <
|
|
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
|
-
|
|
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==
|
package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js
CHANGED
|
@@ -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
|
|
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,
|
|
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=
|
package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js
CHANGED
|
@@ -1,25 +1,88 @@
|
|
|
1
|
-
import {
|
|
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.
|
|
5
|
-
this.
|
|
10
|
+
constructor(dialogService) {
|
|
11
|
+
this.dialogService = dialogService;
|
|
12
|
+
this.hostClass = '-mr-2 flex lg:hidden';
|
|
6
13
|
}
|
|
7
|
-
|
|
8
|
-
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
if (this.isOpen()) {
|
|
16
|
+
this.close();
|
|
17
|
+
}
|
|
9
18
|
}
|
|
10
|
-
|
|
11
|
-
this
|
|
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
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
this.
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
15
|
-
|
|
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=\"
|
|
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
|
-
|
|
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
|
-
|
|
34
|
+
__decorate([
|
|
35
|
+
DesyContentChild({ onSetCallbackName: 'overrideNavParams' })
|
|
36
|
+
], HeaderSubnavComponent.prototype, "nav", void 0);
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXN1Ym5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXItc3VibmF2L2hlYWRlci1zdWJuYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBTXJFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUFVL0QsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQWlCO1FBQ2pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsd0JBQXdCLENBQUM7UUFDeEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDL0IsR0FBRyxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQixvRUFBb0U7SUFDdEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWU7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLE9BQU8sc0JBQXNCLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7WUE1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHlqRUFBNkM7YUFDOUM7Ozt5QkFHRSxLQUFLOytCQUNMLEtBQUs7NkJBQ0wsS0FBSztzQkFDTCxLQUFLO2tCQUdMLGVBQWUsU0FBQyxZQUFZOztBQUFFO0lBRDlCLGdCQUFnQixDQUFDLEVBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztrREFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOYXZDb21wb25lbnR9IGZyb20gJy4uLy4uL25hdi9uYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1oZWFkZXItc3VibmF2JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLXN1Ym5hdi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlclN1Ym5hdkNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBoaWRkZW5UZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlc0NvbnRhaW5lcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXNUb29sdGlwOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCh7b25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZU5hdlBhcmFtcyd9KVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTmF2Q29tcG9uZW50KSBuYXY6IE5hdkNvbXBvbmVudDtcclxuXHJcbiAgaGFzU3VibmF2SXRlbXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5uYXYgJiYgdGhpcy5uYXYuZ2V0SXRlbUxpc3QoKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGVOYXZQYXJhbXMobmF2OiBOYXZDb21wb25lbnQpOiB2b2lkIHtcclxuICAgIG5hdi5oYXNOYXYgPSB0cnVlO1xyXG4gICAgbmF2LmlkUHJlZml4ID0gJ2hlYWRlci1zdWJuYXYtbmF2LWl0ZW0nO1xyXG4gICAgbmF2LmFyaWFMYWJlbCA9ICdBcGxpY2FjaW9uZXMnO1xyXG4gICAgbmF2LmNsYXNzZXMgPSAndy1tYXggbWF4LXctNjQnO1xyXG4gICAgLy8gbmF2LmlkID0gJ2lkLXN1Ym5hdi1uYXYnOyAvLyBObyBleGlzdGUgY29tbyBwYXJhbSBkZSBuYXZDb21wb25lbnRcclxuICB9XHJcblxyXG4gIGhhbmRsZUVtcHR5Q29udGVudChlbGVtZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihgJHtlbGVtZW50fSBjb250ZW50IGlzIHJlcXVpcmVkYCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|