jcyl-menu-portal
Version:
Esta librería está basada en la [guía de estilos de la Junta de Castilla y León](https://www.jcyl.es/junta/guia/guia-estilos.html) para implementar los estilos mediante un componente Angular.
2 lines • 5.41 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/cdk/a11y"),require("@angular/cdk/keycodes"),require("@angular/core"),require("@angular/platform-browser"),require("@angular/router")):"function"==typeof define&&define.amd?define("jcyl-menu-portal",["exports","@angular/cdk/a11y","@angular/cdk/keycodes","@angular/core","@angular/platform-browser","@angular/router"],n):n(e["jcyl-menu-portal"]={},e.ng.cdk.a11y,e.ng.cdk.keycodes,e.ng.core,e.ng.platformBrowser,e.ng.router)}(this,function(e,n,t,r,o,i){"use strict";var a=function(){function e(){}return e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),s=function(){function e(e,n,t){this.focusMonitor=e,this.cdr=n,this.ngZone=t}return e.prototype.onResize=function(e){document.body.style.width="100%",document.getElementById("main-menu").style.width="100%"},e.prototype.ngOnInit=function(){$(document).ready(function(){$("#main-menu-sticky-wrapper").sticky({zIndex:1})})},e.prototype.isSticky=function(){var e;e=!1;var n=document.getElementById("main-menu-sticky-wrapper-sticky-wrapper");return n&&n.classList.contains("is-sticky")&&(e=!0),e},e.prototype.showSubmenu=function(e,n){t.ENTER===e.keyCode&&(document.getElementById(n).classList.contains("activo")?(document.getElementById(n).classList.remove("activo"),document.getElementById(n).classList.add("activo-focus")):(document.getElementById(n).classList.remove("activo-focus"),document.getElementById(n).classList.add("activo")))},e.prototype.ngOnDestroy=function(){var r=this;this.config.forEach(function(e,n){var t=document.getElementById("submenu"+n);r.focusMonitor.stopMonitoring(t)})},e.decorators=[{type:r.Component,args:[{selector:"jcyl-menu-portal",template:'<div id="main-menu-sticky-wrapper" class="sticky-wrapper">\r\n <div id="main-menu" [class]="\'items-\' + config.length">\r\n\r\n <div class="contenedor">\r\n <h2 class="elemento-invisible">Menú principal</h2>\r\n <button class="hamburger hamburger--spin" type="button" ara-label="Menú" aria-controls="menu"\r\n aria-haspopup="true" aria-expanded="false">\r\n <span class="hamburger-box">\r\n <span class="hamburger-inner"></span>\r\n </span>\r\n <span class="hamburger-text">Menú</span>\r\n </button>\r\n <div id="sidr">\r\n <ul id="menu" role="menu">\r\n <ng-container *ngFor="let item of config; let i = index">\r\n <li tabindex="-1" role="menuitem" *ngIf="!item.hijos || item.hijos.length === 0" [class]="\'items-\' + config.length"\r\n class="handy" [routerLink]="[item.enlace]">\r\n <a tabindex="0" [routerLink]="[item.enlace]">{{item.etiqueta}}</a>\r\n </li>\r\n <li *ngIf="item.hijos && item.hijos.length >= 0" [class]="\'items-\' + config.length"\r\n class="handy" tabindex="-1" [id]="\'submenu\' + i">\r\n <a>{{item.etiqueta}}</a>\r\n\r\n <a class="menu-focus con-submenu" tabindex="0" \r\n (keydown)="showSubmenu($event, \'submenu\' + i)">\r\n <img src="assets/img/sidr-mernu-cerrado.png" alt="menu cerrado" />\r\n </a>\r\n <div class="submenu">\r\n <ul role="menu">\r\n <ng-container *ngFor="let hijo of item.hijos">\r\n <li tabindex="-1" *ngIf="!hijo.esExterno" [routerLink]="[hijo.enlace]" class="handy">\r\n <a role="menuitem" [routerLink]="[hijo.enlace]">{{hijo.etiqueta}}</a>\r\n </li>\r\n <li tabindex="-1" *ngIf="hijo.esExterno" class="handy">\r\n <a role="menuitem" [href]="hijo.enlace" target="_blank">{{hijo.etiqueta}}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>',styles:[".handy{cursor:pointer}a.menu-focus:focus{opacity:1}#main-menu ul li a.con-submenu{width:100%}"]}]}],e.ctorParameters=function(){return[{type:n.FocusMonitor},{type:r.ChangeDetectorRef},{type:r.NgZone}]},e.propDecorators={config:[{type:r.Input}],onResize:[{type:r.HostListener,args:["window:resize",["$event"]]}]},e}(),u=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{declarations:[s],imports:[o.BrowserModule,i.RouterModule],exports:[s],schemas:[r.CUSTOM_ELEMENTS_SCHEMA]}]}],e}(),c=function d(e){Object.assign(this,e)},l=function m(e){Object.assign(this,e)};e.MenuPortalService=a,e.MenuPortalComponent=s,e.MenuPortalModule=u,e.MenuItem=c,e.SubMenuItem=l,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=jcyl-menu-portal.umd.min.js.map