PageSourceSearch

https://www.vachendorf.de/_assets/c773e2f4a6cea59566a5430c2759ac03…/MainNav/Nucleus/Init.js?1790319729

js vachendorf.de collected 2026-09-25 08:55:51 UTC 7,355 bytes, 1 lines download raw bytes

1(()=>{var e={5473:(e,t,o)=>{o(16720),e.exports=class{constructor(e){this.level1ItemCollection=Array.from(e).map((e=>e.querySelector(".mainNav__item1__link"))),this._init()}_init(){this.level1ItemCollection.forEach(((e,t,o)=>{e?.addEventListener("keydown",(i=>{this._handleKeydown(i,e,t,o)}))}))}_handleKeydown(e,t,o,i){if("Tab"!==e.key||e.shiftKey||(o<i.length-1?(e.preventDefault(),i[(o+1)%i.length]?.focus()):Array.from(t.parentElement.querySelectorAll('a, button, [tabindex]:not([tabindex="-1"])')).pop()?.focus()),"Tab"===e.key&&e.shiftKey&&o>0&&(e.preventDefault(),i[(o-1+i.length)%i.length]?.focus()),"ArrowDown"===e.key){e.preventDefault();const o=t.parentElement.querySelector(".mainNav__item__structure2");if(o){const e=o.querySelector(".mainNav__item2__link");e?.focus()}}}}},16720:e=>{e.exports=class{constructor(e,t){this.rowContainer=e,this.options=this._buildOptions(t),this._init()}_buildOptions(e){return this.activeRow=null,this.mouseLocs=[],this.lastDelayLoc=null,this.timeoutId=null,this.MOUSE_LOCS_TRACKED=3,this.DELAY=300,Object.assign({rowSelector:"> li",submenuSelector:"*",submenuDirection:"right",tolerance:75,enter:this.noop,exit:this.noop,activate:this.noop,deactivate:this.noop,exitMenu:this.noop},e)}_mousemoveDocument(e){this.mouseLocs.push({x:e.pageX,y:e.pageY}),this.mouseLocs.length>this.MOUSE_LOCS_TRACKED&&this.mouseLocs.shift()}_mouseleaveMenu(){this.clearPossibleTimeout(),this.activeRow&&(this.options.deactivate(this.activeRow),this.activeRow=null)}_mouseenterRow(e){this.clearPossibleTimeout(),this.options.enter(e),this.possiblyActivate(e)}_mouseleaveRow(e){this.options.exit(e)}_clickRow(e){this.activate(e)}activate(e){e!=this.activeRow&&(this.activeRow&&this.options.deactivate(this.activeRow),this.options.activate(e),this.activeRow=e)}possiblyActivate(e){const t=this._getActivationDelay();t?this.timeoutId=setTimeout((()=>{this.possiblyActivate(e)}),t):this.activate(e)}_init(){this.mouseleave(this.rowContainer,this._mouseleaveMenu.bind(this));const e=this.rowContainer.querySelectorAll(".mainNav__item2:has(.mainNav__item2__link)");Array.from(e).forEach(((t,o)=>{this.mouseenter(t,(()=>{this._mouseenterRow(t)})),this.mouseleave(t,(()=>{this._mouseleaveRow(t)})),this.click(t,(()=>{this._clickRow(t)})),this.keydown(t,(i=>{this._keydownRow(i,t,e,o)}));const i=t.querySelector(this.options.submenuSelector);i&&i.querySelectorAll(".mainNav__item3__link").forEach(((e,t,o)=>{this.keydown(e,(i=>{this._keydownSubmenu(i,e,o,t)}))}))})),document.addEventListener("mousemove",(e=>{this._mousemoveDocument(e)}))}_keydownRow(e,t,o,i){const n=t.querySelector(this.options.submenuSelector);switch(e.key){case"ArrowRight":if(n){this.activate(t);const e=n.querySelector(".mainNav__item3__link");e&&e.focus()}break;case"ArrowDown":e.preventDefault(),this._navigateToNextItem(t,o,1);break;case"ArrowUp":e.preventDefault(),1===i?t.closest(".mainNav__item1")?.querySelector(".mainNav__item1__link")?.focus():this._navigateToNextItem(t,o,-1)}}_keydownSubmenu(e,t,o,i){const n=o,s=i;switch(e.key){case"ArrowDown":e.preventDefault(),e.stopImmediatePropagation(),-1!==s&&n[(s+1)%n.length].focus();break;case"ArrowUp":e.preventDefault(),e.stopImmediatePropagation(),-1!==s&&n[(s-1+n.length)%n.length].focus();break;case"Escape":case"ArrowLeft":e.preventDefault(),e.stopImmediatePropagation();const o=t.closest(this.options.rowSelector);if(o){const e=o.querySelector(".mainNav__item2__link");e&&e.focus()}}}_navigateToNextItem(e,t,o){const i=Array.from(t),n=i.indexOf(e);if(-1!==n){const e=i[(n+o+i.length)%i.length],t=e.querySelector(".mainNav__item2__link");t&&(t.focus(),this.activate(e))}}_getActivationDelay(){const e=this.rowContainer.getBoundingClientRect(),t={x:e.left,y:e.top-this.options.tolerance},o={x:e.left+e.width,y:t.y},i={x:e.left,y:e.top+e.height+this.options.tolerance},n={x:o.x,y:i.y},s=(e,t)=>(t.y-e.y)/(t.x-e.x),a=this.mouseLocs[this.mouseLocs.length-1],r=this.mouseLocs[0]||a;if(!a)return 0;if(r.x<e.left||r.x>n.x||r.y<e.top||r.y>n.y)return 0;if(this.lastDelayLoc&&a.x==this.lastDelayLoc.x&&a.y==this.lastDelayLoc.y)return 0;let c=t,l=n;"left"==this.options.submenuDirection?(c=i,l=t):"below"==this.options.submenuDirection?(c=n,l=i):"above"==this.options.submenuDirection&&(c=t,l=o);
1const u=s(a,c),m=s(a,l),h=s(r,c),v=s(r,l);return u<h&&m>v?(this.lastDelayLoc=a,this.DELAY):(this.lastDelayLoc=null,0)}clearPossibleTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}noop(){}mouseleave(e,t){e.addEventListener("mouseleave",t)}mouseenter(e,t){e.addEventListener("mouseenter",t)}click(e,t){e.addEventListener("click",t)}keydown(e,t){e.addEventListener("keydown",t)}}},58611:e=>{e.exports={offsetTop:function(e){var t=document.querySelector("body");return e.getBoundingClientRect().top-t.getBoundingClientRect().top},offsetLeft:function(e){var t=document.querySelector("body");return e.getBoundingClientRect().left-t.getBoundingClientRect().left},scrollTo:function(e,t,o){var i=function(){return{x:window.pageXOffset,y:window.pageYOffset}},n=i(),s={x:(e-n.x)/(o/15),y:(t-n.y)/(o/15)},a=setInterval((function(){!function(){var o=i(),n={x:!1,y:!1};return s.x<0?o.x+s.x<=e&&(n.x=!0):o.x+s.x>=e&&(n.x=!0),s.y<0?o.y+s.y<=t&&(n.y=!0):o.y+s.y>=t&&(n.y=!0),!(!n.x||!n.y)}()?window.scrollBy(s.x,s.y):(clearInterval(a),window.scrollTo(e,t))}),15)},scrollElementTo:function(e,t,o,i){var n=function(){return{x:i.scrollLeft,y:i.scrollTop}},s=n(),a=(e-s.x)/(o/15),r=(t-s.y)/(o/15),c=setInterval((function(){!function(){var o=n(),i={x:!1,y:!1};return a<0?o.x+a<=e&&(i.x=!0):o.x+a>=e&&(i.x=!0),r<0?o.y+r<=t&&(i.y=!0):o.y+r>=t&&(i.y=!0),!(!i.x||!i.y)}()?(i.scrollLeft+=a,i.scrollTop+=r):(clearInterval(c),i.scrollLeft=e,i.scrollTop+=t)}),15)},accessDataset:function(e,t){return e.dataset?e.dataset[t]:e.getAttribute("data-"+t)},extendObject:function(e,t){for(var o in t)e.hasOwnProperty(o)||(e[o]=t[o]);return e},documentReady:function(e){let t=!1;"undefined"!=typeof less&&"object"==typeof less.pageLoadFinished&&(t=!0);var o=function(){t?less.pageLoadFinished.then((()=>{setTimeout(e)})):setTimeout(e)},i=function(){document.removeEventListener("DOMContentLoaded",i),window.removeEventListener("load",i),o()};"complete"===document.readyState?o():(document.addEventListener("DOMContentLoaded",i),window.addEventListener("load",i))}}}},t={};function o(i){var n=t[i];if(void 0!==n)return n.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,o),s.exports}(()=>{const e=o(58611);(()=>{const t=(e,t)=>{const o=e.parentElement,i=e.querySelector("a");e.querySelector(".mainNav__item__structure")&&i.addEventListener("click",(i=>{e.classList.toggle("-js-mainNav__item--open"),o.classList.toggle("-js-mainNav__item__structure--activeSub");const n=t.classList.contains("pageHeader--mobile");return n&&i.preventDefault(),!n}))};e.documentReady((()=>{const e=document.getElementsByClassName("mainNav__item"),o=document.getElementById("pageHeader");for(let i of e)t(i,o)}))})()})(),(()=>{const e=o(58611),t=o(16720),i=o(5473);(o=>{e.documentReady((()=>{const e=o.getElementsByClassName("mainNav__item1");new i(e);const n=o.getElementsByClassName("mainNav__item__structure2");for(let e of n)new t(e,{rowSelector:".mainNav__item2",submenuSelector:".mainNav__item__structure3",tolerance:200,activate:e=>{e.classList.add("mainNav__item2--active")},deactivate:e=>{e.classList.remove("mainNav__item2--active")}})}))})(document)})()})();

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.