PageSourceSearch

https://www.reserveafricainesigean.fr/content/themes/sigean-theme/build/menus-submenu-morph-9af1eb1f.js

js reserveafricainesigean.fr collected 2026-09-24 09:59:10 UTC 5,507 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunksigean_theme=self.webpackChunksigean_theme||[]).push([[8264],{8544:function(e,t,s){s.r(t);var i=s(9978);new class{constructor(){this._events=new Map,this._observer=null,this.init()}init(){const e=window.alpha,t=e.getConfig().desktopBreakpoint;e.addModuleEventListener("viewport","changed",(e=>{e.viewport.is(`>=${t}`)&&i.A.isDesktop()?this.switchMarkup():this.restoreMarkup()}))}getObserver(){const e=e=>{const t=e[0].target;null!==t.closest(".active")&&this.computeCollapsesHeight(t.closest(".submenu"))};return this._observer||(this._observer=new ResizeObserver(e)),this._observer}startObserving(e){this.getObserver().observe(e)}stopObserver(){this.getObserver().disconnect()}addEventListener(e,t,s){e.addEventListener(t,s),this._events.set(e,{eventType:t,callback:s})}removeAllEventListeners(){this._events.forEach(((e,t)=>{t.removeEventListener(e.eventType,e.callback)})),this._events.clear()}isSwitchedMarkup(){return this._getDropdownInnerElement().children.length>0}switchMarkup(){if(this.isSwitchedMarkup())return;const e=this._getRootElement(),t=this._getDropdownInnerElement();i.A.smartQuerySelectorAll(".nav-main-inner > .menu-item-has-children").forEach((s=>{const i=s.querySelector(":scope > .submenu");if(i){const r=i.cloneNode(!0);r.classList.remove("collapse"),this._replaceElementIds(r),this.addEventListener(s,"mouseenter",(()=>{e.classList.add("is-visible"),e.setAttribute("aria-hidden","false"),r.classList.add("active"),this.activateSubmenuElement(r,s,e)})),this.addEventListener(s,"mouseleave",(()=>{this.isHoveringDropdownList()||(e.classList.remove("is-visible"),e.setAttribute("aria-hidden","true"),r.classList.remove("active"))})),t.appendChild(r)}}));for(const e of t.children)this.handleDropdownsHover(e);this.addEventListener(e,"mouseleave",(()=>{e.classList.remove("is-visible"),e.setAttribute("aria-hidden","true");const t=e.querySelector(".submenu.active");t&&t.classList.remove("active")})),i.A.blockClicksOnParentMenus(".submenu-morph .menu-item-has-children");i.A.smartQuerySelectorAll("a",e).forEach((e=>{i.A.handleExternalLink(e)}))}restoreMarkup(){if(!this.isSwitchedMarkup())return;this.stopObserver(),this.removeAllEventListeners();this._getDropdownInnerElement().innerHTML=""}activateSubmenuElement(e,t){const s=this._getRootElement(),r=this.getInitialSubmenuElement(e);if(r){r.offsetWidth;const n=r.offsetHeight;i.A.setPropertyValue("--submenu-level-2-initial-height",`${n}px`,s),i.A.removeProperty("--submenu-level-3-initial-height",s),i.A.removeProperty("--submenu-level-3-collapse-height",s),this.computeSubmenuOffset(e,t)}}handleDropdownsHover(e){const t=e.getAttribute("data-id").replace("-parent-","-item-"),s=document.querySelector(`.${t}`),r=this._getRootElement();e.querySelectorAll(":scope > .menu-item-has-children").forEach((e=>{const t=e.querySelector(":scope > .submenu");if(t){const n=this.getInitialSubmenuElement(t);n&&(this.addEventListener(e,"mouseenter",(()=>{n.offsetWidth;const o=n.offsetHeight;i.A.setPropertyValue("--submenu-level-3-initial-height",`${o}px`,r),e.classList.add("active"),this.computeCollapsesHeight(t),this.computeSubmenuOffset(t,s,!0)})),this.addEventListener(e,"mouseleave",(()=>{i.A.removeProperty("--submenu-level-3-initial-height",r),i.A.removeProperty("--submenu-level-3-collapse-height",r),e.classList.remove("active"),this.computeSubmenuOffset(t,s,!0,!0)})))}this.handleCollapses(t)}))}handleCollapses(e){e.querySelectorAll("div.collapse").forEach((e=>this.startObserving(e)))}computeCollapsesHeight(e){const t=this._getRootElement();let s=0;e.querySelectorAll(".collapse").forEach((e=>{s+=e.offsetHeight})),i.A.setPropertyValue("--submenu-level-3-collapse-height",`${s}px`,t)}computeSubmenuOffset(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=this._getRootElement(),o=this.getInitialSubmenuElement(e),l=window.innerWidth;if(o){const e=t.getBoundingClientRect().x,a=o.offsetWidth;let u=e+t.offsetWidth/2-a/2,c=!0;if(s){c=!r;const e=l-this._getWidthDummyElement().offsetWidth-32;r||(c=u>e,c&&(u=e))}c&&i.A.setPropertyValue("--submenu-morph-dropdown-list-transform",`translateX(${u}px)`,n)}}isHoveringDropdownList(){return null!==this._getRootElement().querySelector(".submenu-morph-dropdown-list:hover")}getInitialSubmenuElement(e){const t=e.getAttribute("data-id");return t?document.getElementById(t):null}_getRootElement(){return document.querySelector(".submenu-morph")}_getDropdownInnerElement(){return document.querySelector(".submenu-morph-inner")}_getWidthDummyElement(){return document.querySelector(".submenu-morph-width-dummy")}_replaceElementIds(e){e.setAttribute("data-id",e.id),e.removeAttribute("id");i.A.smartQuerySelectorAll("[id]",e).forEach((e=>{e.setAttribute("data-id",e.id),e.removeAttribute("id")}));i.A.smartQuerySelectorAll('[data-bs-toggle="collapse"]',e).forEach((e=>{const t=e.getAttribute("data-bs-target").replace("#","");e.setAttribute("data-bs-target",`[data-id="${t}"]`)}));i.A.smartQuerySelectorAll(".collapse .collapse",e).forEach((e=>{const t=document.createElement("div");t.setAttribute("data-id",e.getAttribute("data-id")),t.setAttribute("data-bs-parent",e.getAttribute("data-bs-parent")),t.classList.add("collapse"),e.classList.remove("collapse"),e.removeAttribute("data-id"),e.removeAttribute("data-bs-target"),e.classList.add("collapse-content"),e.parentNode.insertBefore(t,e),t.appendChild(e)}))}}}}]);
2//# sourceMappingURL=menus-submenu-morph-9af1eb1f.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.