| Server IP : 54.36.91.62 / Your IP : 216.73.217.117 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/vesoul/media/mod_menu/js/ |
Upload File : |
function _extends(){return _extends=Object.assign?Object.assign.bind():function(o){for(var d=1;d<arguments.length;d++){var e=arguments[d];for(var t in e)({}).hasOwnProperty.call(e,t)&&(o[t]=e[t])}return o},_extends.apply(null,arguments)}/**
* @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/(()=>{class o{constructor(e,t={}){var r,a,n;this.nav=e;const u=document.documentElement.getAttribute("dir")||getComputedStyle(document.documentElement).direction||o.defaultSettings.dir;this.settings=_extends({},o.defaultSettings,t),this.settings=_extends({},o.defaultSettings,{dir:(r=t.dir)!=null?r:u},t),this.idPrefix=(a=(n=this.nav)==null?void 0:n.id)!=null?a:`nav-${Math.floor(Math.random()*1e5)}`,this.topLevelNodes=this.nav.querySelectorAll(":scope > li"),this.topLevelNodes.forEach(l=>{const c=l.querySelectorAll("ul"),s=[];if(c.forEach(i=>{i.setAttribute("aria-hidden","true"),i.classList.remove(this.settings.menuHoverClass),i.id=`${this.idPrefix}-submenu${o.idCounter}`,o.idCounter+=1,s.push(i.id)}),c.length>0){const i=l.querySelector("[aria-expanded]");i?.setAttribute("aria-controls",s.join(" "))}}),e.addEventListener("keydown",this.onMenuKeyDown.bind(this)),e.addEventListener("click",this.onClick.bind(this)),this.nav.classList.contains(this.settings.preventSubmenuOpenOnload)&&this.toggleAllForCurrentActive()}onMenuKeyDown(e){const t=e.target.closest("li");if(!t)return;const r=t.querySelectorAll("ul");switch(e.key){case"ArrowUp":e.preventDefault(),this.tabPrev();break;case"ArrowLeft":e.preventDefault(),this.settings.dir==="rtl"?this.tabNext():this.tabPrev();break;case"ArrowDown":e.preventDefault(),this.tabNext();break;case"ArrowRight":e.preventDefault(),this.settings.dir==="rtl"?this.tabPrev():this.tabNext();break;case"Enter":if(e.target.nodeName==="SPAN"&&e.target.parentNode.nodeName!=="A"&&r.length>0){var a;e.preventDefault(),this.toggleSubMenu(t,r,((a=r[0])==null?void 0:a.getAttribute("aria-hidden"))==="true")}break;case" ":case"Spacebar":if(r.length>0){var n;e.preventDefault(),this.toggleSubMenu(t,r,((n=r[0])==null?void 0:n.getAttribute("aria-hidden"))==="true")}break;case"Escape":{e.preventDefault();const s=this.getTopLevelParentLi(e.target);if(!s)break;const i=s.querySelectorAll("ul");i.length>0&&this.toggleSubMenu(s,i,!1),s.querySelectorAll(':scope > [tabindex]:not([tabindex="-1"]), a, button').forEach(b=>{b.hasAttribute(["aria-expanded"])&&b.focus()});break}case"End":{var u;e.preventDefault();const s=(u=t.closest("ul"))==null?void 0:u.querySelectorAll(":scope > li");for(let i=s.length-1;i>=0;i-=1){const b=s[i].querySelector(':scope > [tabindex]:not([tabindex="-1"]), a, button');if(b){b.focus();return}}break}case"Home":{var l;e.preventDefault();const s=(l=t.closest("ul"))==null?void 0:l.querySelector(":scope > li:first-child");if(s){var c;(c=s.querySelector(':scope > [tabindex]:not([tabindex="-1"]), a, button'))==null||c.focus()}break}}}onClick(e){var t,r,a,n;if(!((t=e.target)!=null&&t.hasAttribute("aria-expanded"))&&!((r=e.target)!=null&&r.closest("[aria-expanded"))||((a=e.target)==null?void 0:a.nodeName)==="A"||((n=e.target)==null?void 0:n.nodeName)==="SPAN"&&e.target.parentNode.nodeName==="A")return;const u=e.target.closest("li"),l=u?.querySelectorAll("ul");if(l&&l.length>0){var c;e.preventDefault(),this.toggleSubMenu(u,l,((c=l[0])==null?void 0:c.getAttribute("aria-hidden"))==="true")}}toggleSubMenu(e,t,r=!1){var a;r&&this.nav.querySelectorAll('ul[aria-hidden="false"]').forEach(u=>{var l;u.setAttribute("aria-hidden","true"),u.classList.remove(this.settings.menuHoverClass),(l=this.getTopLevelParentLi(u))==null||(l=l.querySelector(":scope > [aria-expanded]"))==null||l.setAttribute("aria-expanded","false")}),t.forEach(n=>{n.setAttribute("aria-hidden",r?"false":"true"),n.classList.toggle(this.settings.menuHoverClass,r)}),(a=e.querySelector(":scope > [aria-expanded]"))==null||a.setAttribute("aria-expanded",r?"true":"false")}focusTabbable(e=1){const t=Array.from(this.nav.querySelectorAll('[tabindex]:not([tabindex="-1"]), a, button')).filter(n=>!n.disabled&&n.tabIndex>=0&&n.offsetParent!==null),r=t.indexOf(document.activeElement);if(t.length===0)return;const a=(r+e+t.length)%t.length;t[a].focus()}tabNext(){this.focusTabbable(1)}tabPrev(){this.focusTabbable(-1)}getTopLevelParentLi(e){let t=e.closest("li");for(;t&&!Array.from(this.topLevelNodes).includes(t);){const r=t.parentElement.closest("ul");t=r?r.closest("li"):null}return t}toggleAllForCurrentActive(){const e=this.nav.querySelector(".current.active");if(e){this.getTopLevelParentLi(e);let r=e;for(;r&&!Array.from(this.topLevelNodes).includes(r);){const a=r.parentElement.closest("ul");if(r=a?a.closest("li"):null,r){var t;const n=r.querySelectorAll("ul");this.toggleSubMenu(r,n,((t=n[0])==null?void 0:t.getAttribute("aria-hidden"))==="true")}}}}}o.defaultSettings={menuHoverClass:"show-menu",dir:"ltr",preventSubmenuOpenOnload:"nav-active-open"},o.idCounter=0,document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".nav").forEach(d=>new o(d))})})();