1var HaufeNavDisclosureElement=class extends HTMLElement{static get observedAttributes(){return["open"]}constructor(){super();this.isInitialized=false;this.buttonElement=null;this.contentElement=null}get open(){return this.hasAttribute("open")}set open(value){if(value){this.setAttribute("open","")}else{this.removeAttribute("open")}}handleMouseEvent(event){if(this.buttonElement&&event.currentTarget===this.buttonElement){event.preventDefault();this.buttonElement.focus();this.open=!this.open}if(this.open&&event.currentTarget instanceof Document){if(event.target instanceof HTMLElement){this.open=this.contains(event.target)}}}handleKeyboardEvent(event){if(!["Escape","Esc"].includes(event.key))return;event.stopPropagation();this.open=false;if(this.buttonElement){this.buttonElement.focus()}}handleEvent(event){if(event instanceof MouseEvent){this.handleMouseEvent(event)}if(event instanceof KeyboardEvent){this.handleKeyboardEvent(event)}}closeSiblingDisclosureElements(){if(!this.parentElement)return;const disclosureElements=this.parentElement.querySelectorAll(":scope > haufe-nav-disclosure");disclosureElements.forEach(disclosureElement=>{if(disclosureElement!==this){disclosureElement.open=false}})}hideContent(){if(!this.contentElement||!this.buttonElement){return}this.contentElement.setAttribute("hidden","");this.buttonElement.setAttribute("aria-expanded","false");const navTabGroupElement=this.querySelector("haufe-nav-tab-group");if(navTabGroupElement){navTabGroupElement.selectedIndex=null;navTabGroupElement.focusIndex=0}}showContent(){if(!this.contentElement||!this.buttonElement){return}this.contentElement.removeAttribute("hidden");this.buttonElement.setAttribute("aria-expanded","true");this.closeSiblingDisclosureElements();const navTabGroupElement=this.querySelector("haufe-nav-tab-group");if(navTabGroupElement){navTabGroupElement.selectedIndex=0;navTabGroupElement.focusIndex=0}}attributeChangedCallback(name,oldValue,newValue){if(oldValue===newValue)return;switch(name){case"open":{if(typeof newValue==="string"){this.showContent()}else{this.hideContent()}break}}}initialize(){if(this.isInitialized)return;this.buttonElement=this.querySelector(":scope > button");this.contentElement=this.querySelector(":scope > div");this.isInitialized=true}connectedCallback(){this.initialize();if(this.buttonElement){this.buttonElement.addEventListener("click",this)}document.addEventListener("click",this);this.addEventListener("keydown",this)}disconnectedCallback(){if(this.buttonElement){this.buttonElement.removeEventListener("click",this)}document.removeEventListener("click",this);this.removeEventListener("keydown",this)}};var HaufeNavPageListElement=class extends HTMLElement{setTrackingAttributes(element,{action,label,type,style}){element.dataset.trackAction=action;element.dataset.trackStyle=style;if(label){element.dataset.trackLabel=label}if(type){element.dataset.trackType=type}}createNavIconElement({iconName,iconUrl,fallback=false}){const navIconElement=document.createElement("haufe-nav-icon");navIconElement.classList.add("h-nav-icon");if(iconUrl){navIconElement.style.setProperty("--h-nav-icon-url",`url('${iconUrl}')`);navIconElement.classList.add("h-nav-icon--url");return navIconElement}if(iconName){const iconElement=document.createElement("i");const classNames=iconName.split(/\s+/).filter(Boolean);if(classNames.length===1){classNames.push("fa-solid")}iconElement.classList.add(...classNames);navIconElement.classList.add("h-nav-icon--name");navIconElement.appendChild(iconElement);return navIconElement}if(fallback){const iconElement=document.createElement("i");iconElement.classList.add("fa-solid","fa-arrow-right");navIconElement.classList.add("h-nav-icon--fallback");navIconElement.appendChild(iconElement);return navIconElement}return null}createNavLinkListElement({navPageElements,childrenGridType=null}){const navLinkListElement=document.createElement("haufe-nav-link-list");navLinkListElement.classList.add("h-nav-link-list");const listElement=document.createElement("ul");listElement.classList.add("h-nav-link-list__list");if(childrenGridType){listElement.classList.add(`h-nav-link-list__list--${childrenGridType}`)}
1navPageElements.forEach(navPageElement=>{const listItemElement=document.createElement("li");listItemElement.classList.add("h-nav-link-list__item");const anchorElement=navPageElement.getElementClone("anchor");if(!anchorElement)return;const divElement=document.createElement("div");divElement.classList.add("h-nav-link-list__content");const textContent=anchorElement.textContent;const paragraphElement=document.createElement("p");paragraphElement.classList.add("h-nav-link-list__title");paragraphElement.textContent=textContent;divElement.appendChild(paragraphElement);anchorElement.replaceChildren();const navIconElement=this.createNavIconElement({iconName:navPageElement.iconName,iconUrl:navPageElement.iconUrl,fallback:true});if(navIconElement){anchorElement.appendChild(navIconElement)}const teaserElement=navPageElement.getElementClone("teaser");if(teaserElement){teaserElement.classList.add("h-nav-link-list__teaser");divElement.appendChild(teaserElement)}anchorElement.classList.add("h-nav-link-list__anchor");let label=textContent;const{parentPageId}=navPageElement;const parentPageElement=this.navPageElements.find(({pageId})=>pageId===parentPageId);if(parentPageElement){const parentTitleElement=parentPageElement.getElementClone("title");if(parentTitleElement&&parentTitleElement.textContent){label=`${parentTitleElement.textContent}/${textContent}`}}this.setTrackingAttributes(anchorElement,{action:"mainhoversecondary",label,style:"clicknav",type:"link"});anchorElement.appendChild(divElement);listItemElement.appendChild(anchorElement);listElement.appendChild(listItemElement)});if(!listElement.childElementCount){return null}navLinkListElement.appendChild(listElement);return navLinkListElement}createNavLinkGroupElement({navPageElements}){const uniqueClusters=new Set(navPageElements.map(({cluster})=>cluster));const filteredClusters=Array.from(uniqueClusters).filter(cluster=>cluster!==null);if(!filteredClusters.length){return null}const initialGroupedNavPageElements={};const groupedNavPageElements=navPageElements.reduce((accumulator,navPageElement)=>{const cluster=navPageElement.cluster||"";if(!accumulator[cluster]){accumulator[cluster]=[]}accumulator[cluster].push(navPageElement);return accumulator},initialGroupedNavPageElements);const listItemElements=Object.entries(groupedNavPageElements).map(([cluster,navPageElements2])=>{const listItemElement=document.createElement("li");listItemElement.classList.add("h-nav-link-group__item");const headingElement=document.createElement("p");headingElement.classList.add("h-nav-link-group__heading");headingElement.textContent=cluster;const navLinkListElement=this.createNavLinkListElement({navPageElements:navPageElements2});if(navLinkListElement){listItemElement.appendChild(headingElement);listItemElement.appendChild(navLinkListElement)}return listItemElement});const navLinkGroupElement=document.createElement("haufe-nav-link-group");navLinkGroupElement.classList.add("h-nav-link-group");const listElement=document.createElement("ul");listElement.classList.add("h-nav-link-group__list");listElement.append(...listItemElements);navLinkGroupElement.appendChild(listElement);return navLinkGroupElement}createNavHeaderElement({navPageElement}){const navHeaderElement=document.createElement("haufe-nav-header");navHeaderElement.classList.add("h-nav-header");const headerElement=document.createElement("header");const titleElement=navPageElement.getElementClone("title");let headingElement=navPageElement.getElementClone("headline");const descriptionElement=navPageElement.getElementClone("description");if(!headingElement&&titleElement){headingElement=document.createElement("p");headingElement.textContent=titleElement.textContent}if(headingElement){const innerHTML=headingElement.innerHTML;headingElement=document.createElement("p");headingElement.innerHTML=innerHTML;headingElement.classList.add("h-nav-header__heading");const navIconElement=this.createNavIconElement({iconName:navPageElement.iconName,iconUrl:navPageElement.iconUrl});if(navIconElement){headingElement.prepend(navIconElement)}headerElement.appendChild(headingElement)}if(descriptionElement){descriptionElement.classList.add("h-nav-header__description");headerElement.appendChild(descriptionElement)}const anchorElement=navPageElement.getElementClone("anchor");if(anchorElement){const navIconElement=this.createNavIconElement({iconName:"fa-solid fa-arrow-right",iconUrl:null});if(navIconElement){anchorElement.append(navIconElement)}anchorElement.classList.add("h-nav-header__anchor");this.setTrackingAttributes(anchorElement,{action:"mainhovercta",label:anchorElement.textContent,style:"clicknav",type:"link"});headerElement.appendChild(anchorElement)}navHeaderElement.appendChild(headerElement);return navHeaderElement}createNavTabHideElement(params){const navTabHideElement=document.createElement("haufe-nav-tab-hide");navTabHideElement.classList.add("h-nav-tab-hide");const buttonElement=document.createElement("button");const germanSpanElement=document.createElement("span");const englishSpanElement=document.createElement("span");buttonElement.setAttribute("type","button");buttonElement.classList.add("h-nav-tab-hide__button");germanSpanElement.setAttribute("lang","de");germanSpanElement.textContent="Zur\xFCck";englishSpanElement.setAttribute("lang","en");englishSpanElement.textContent="Back";buttonElement.appendChild(germanSpanElement);buttonElement.appendChild(englishSpanElement);navTabHideElement.appendChild(buttonElement);const parentPageElement=this.navPageElements.find(({pageId})=>pageId===params.navPageElement.parentPageId);if(parentPageElement){const parentTitleElement=parentPageElement.getElementClone("title");if(parentTitleElement&&parentTitleElement.textContent){buttonElement.textContent=parentTitleElement.textContent}}const navIconElement=this.createNavIconElement({iconName:"fa-solid fa-arrow-right",iconUrl:null});
1if(navIconElement){buttonElement.prepend(navIconElement)}return navTabHideElement}createTabListElement({tabElements}){const tabListElement=document.createElement("div");tabListElement.setAttribute("role","tablist");tabListElement.setAttribute("aria-orientation","vertical");tabListElement.classList.add("h-nav-tab-group__tab-list");tabListElement.append(...tabElements);return tabListElement}createTabElement({navPageElement,index}){const{pageId,parentPageId}=navPageElement;const tabElement=navPageElement.getElementClone("button");const titleElement=navPageElement.getElementClone("title");if(!pageId||!tabElement||!titleElement){return null}const teaserElement=navPageElement.getElementClone("teaser");const navIconElement=this.createNavIconElement({iconName:"fa-solid fa-chevron-right",iconUrl:null});if(navIconElement){titleElement.appendChild(navIconElement)}tabElement.replaceChildren(titleElement);if(teaserElement&&teaserElement.textContent){const spanElement=document.createElement("span");spanElement.textContent=teaserElement.textContent;tabElement.appendChild(spanElement)}tabElement.setAttribute("aria-controls",`h-tab-panel-${pageId}`);tabElement.setAttribute("aria-selected","false");tabElement.setAttribute("id",`h-tab-${pageId}`);tabElement.setAttribute("role","tab");tabElement.setAttribute("tabindex",index?"-1":"0");tabElement.setAttribute("type","button");tabElement.classList.add("h-nav-tab-group__tab");this.setTrackingAttributes(tabElement,{action:!parentPageId?"main":"mainhoverprimary",label:titleElement.textContent,style:"clicknav",type:!parentPageId?"link":void 0});return tabElement}createNavTabContentElement({navPageElement}){const navTabContent=document.createElement("div");navTabContent.classList.add("h-nav-tab-content");const navTabHideElement=this.createNavTabHideElement({navPageElement});navTabContent.appendChild(navTabHideElement);const navHeaderElement=this.createNavHeaderElement({navPageElement});if(navHeaderElement){navTabContent.appendChild(navHeaderElement)}const navTabGroupElement=this.createNavTabGroupElement({parentPageId:navPageElement.pageId});if(navTabGroupElement){navTabContent.appendChild(navTabGroupElement)}if(navTabGroupElement){return navTabContent}const navPageElements=this.navPageElements.filter(({parentPageId})=>parentPageId===navPageElement.pageId);if(!navPageElements.length){return navTabContent}const navLinkGroupElement=this.createNavLinkGroupElement({navPageElements});if(navLinkGroupElement){navTabContent.appendChild(navLinkGroupElement);return navTabContent}const navLinkListElement=this.createNavLinkListElement({navPageElements,childrenGridType:navPageElement.childrenGridType});if(navLinkListElement){navTabContent.appendChild(navLinkListElement)}return navTabContent}createTabPanelElement({navPageElement}){const{pageId}=navPageElement;const tabPanelElement=document.createElement("div");tabPanelElement.setAttribute("aria-labelledby",`h-tab-${pageId}`);tabPanelElement.setAttribute("hidden","");tabPanelElement.setAttribute("id",`h-tab-panel-${pageId}`);tabPanelElement.setAttribute("role","tabpanel");tabPanelElement.classList.add("h-nav-tab-group__tab-panel");return tabPanelElement}createNavTabGroupElement({parentPageId}){const navTabGroupElement=document.createElement("haufe-nav-tab-group");navTabGroupElement.classList.add("h-nav-tab-group");const tabElements=[];const tabPanelElements=[];const navPageElements=this.navPageElements.filter(navPageElement=>navPageElement.parentPageId===parentPageId);navPageElements.forEach((navPageElement,index)=>{const tabElement=this.createTabElement({navPageElement,index});if(!tabElement){return}const tabPanelElement=this.createTabPanelElement({navPageElement});const navTabContentElement=this.createNavTabContentElement({navPageElement});tabPanelElement.appendChild(navTabContentElement);tabElements.push(tabElement);tabPanelElements.push(tabPanelElement)});if(!tabElements.length){return null}const tabListElement=this.createTabListElement({tabElements});navTabGroupElement.appendChild(tabListElement);const parentNavPageElement=this.navPageElements.find(navPageElement=>{return navPageElement.pageId===parentPageId});navTabGroupElement.append(...tabPanelElements);const anchorElement=parentNavPageElement?parentNavPageElement.getElementClone("anchor"):null;if(anchorElement){const navIconElement=this.createNavIconElement({iconName:"fa-solid fa-arrow-right",iconUrl:null});if(navIconElement){anchorElement.append(navIconElement)}
1anchorElement.classList.add("h-nav-tab-group__anchor");this.setTrackingAttributes(anchorElement,{action:"mainhovercta",label:anchorElement.textContent,style:"clicktext",type:"link"});navTabGroupElement.appendChild(anchorElement)}return navTabGroupElement}createNavDisclosureElement({navPageElement}){const{pageId}=navPageElement;const navDisclosureElement=document.createElement("haufe-nav-disclosure");navDisclosureElement.classList.add("h-nav-disclosure");const buttonElement=navPageElement.getElementClone("button");if(buttonElement){buttonElement.setAttribute("aria-controls",`h-nav-disclosure-content-${pageId}`);buttonElement.setAttribute("aria-expanded","false");buttonElement.setAttribute("type","button");buttonElement.classList.add("h-nav-disclosure__button");const navIconElement=this.createNavIconElement({iconName:"fa-solid fa-angle-down",iconUrl:null});if(navIconElement){buttonElement.append(navIconElement)}this.setTrackingAttributes(buttonElement,{action:"main",label:buttonElement.textContent,style:"clicknav",type:"link"});navDisclosureElement.appendChild(buttonElement)}const navTabGroupElement=this.createNavTabGroupElement({parentPageId:pageId});if(navTabGroupElement){const contentElement=document.createElement("div");contentElement.setAttribute("hidden","");contentElement.setAttribute("id",`h-nav-disclosure-content-${pageId}`);contentElement.classList.add("h-nav-disclosure__content");contentElement.appendChild(navTabGroupElement);navDisclosureElement.appendChild(contentElement)}if(!navDisclosureElement.childElementCount){return null}return navDisclosureElement}createNavDisclosureElements({parentPageId}){const navPageElements=this.navPageElements.filter(navPageElement=>navPageElement.parentPageId===parentPageId);const disclosureElements=[];navPageElements.forEach(navPageElement=>{const disclosureElement=this.createNavDisclosureElement({navPageElement});if(disclosureElement){disclosureElements.push(disclosureElement)}});return disclosureElements}render(media){switch(media){case"(min-width: 1280px)":{const disclosureElements=this.createNavDisclosureElements({parentPageId:null});if(disclosureElements.length){this.replaceChildren(...disclosureElements)}break}default:{const navTabGroupElement=this.createNavTabGroupElement({parentPageId:null});if(navTabGroupElement){this.replaceChildren(navTabGroupElement)}break}}}constructor(){super();this.isInitialized=false;this.navPageElements=[];this.mediaQueryArray=["not screen and (min-width: 1280px)","(min-width: 1280px)"]}handleMediaQueryListEvent(event){if(event.matches){this.render(event.media)}}handleEvent(event){if(event instanceof MediaQueryListEvent){this.handleMediaQueryListEvent(event)}}initialize(){if(this.isInitialized)return;this.classList.add("h-nav-page-list");this.navPageElements=Array.from(this.querySelectorAll("haufe-nav-page"));this.replaceChildren();this.isInitialized=true}connectedCallback(){this.initialize();this.mediaQueryArray.forEach(media2=>{window.matchMedia(media2).addEventListener("change",this)});const media=this.mediaQueryArray.find(media2=>{return window.matchMedia(media2).matches});this.render(media)}disconnectedCallback(){this.mediaQueryArray.forEach(media=>{window.matchMedia(media).removeEventListener("change",this)})}};var HaufeNavPageElement=class extends HTMLElement{get pageId(){return this.getAttribute("page-id")||null}get parentPageId(){return this.getAttribute("parent-page-id")||null}get childrenGridType(){const childrenGridType=this.getAttribute("children-grid-type")||null;if(childrenGridType){return childrenGridType.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}return null}get cluster(){return this.getAttribute("cluster")||null}get iconName(){return this.getAttribute("icon-name")||null}get iconUrl(){return this.getAttribute("icon-url")||null}getElementClone(slot){const element=this.querySelector(`[slot="${slot}"]`);if(!element){return null}const elementClone=element.cloneNode(true);if(!(elementClone instanceof HTMLElement)){return null}elementClone.removeAttribute("slot");if(!elementClone.childElementCount&&elementClone.textContent){elementClone.innerHTML=elementClone.textContent}return elementClone}};var HaufeNavTabHideElement=class extends HTMLElement{constructor(){super();this.isInitialized=false;this.buttonElement=null}handleMouseEvent(){this.dispatchEvent(new CustomEvent("h-nav-tab-hide",{bubbles:true}))}handleEvent(event){if(event instanceof MouseEvent){this.handleMouseEvent()}}initialize(){if(this.isInitialized)return;this.buttonElement=this.querySelector(":scope > button");this.isInitialized=true}connectedCallback(){this.initialize();if(this.buttonElement){this.buttonElement.addEventListener("click",this)}}disconnectedCallback(){if(this.buttonElement){this.buttonElement.removeEventListener("click",this)}}};var HaufeNavTabGroupElement=class extends HTMLElement{static get observedAttributes(){return["focu
1s-index","selected-index"]}constructor(){super();this.isInitialized=false;this.tabListElement=null;this.tabPanelElements=[];this.tabElements=[]}get focusIndex(){return Number(this.getAttribute("focus-index"))}set focusIndex(value){this.setAttribute("focus-index",String(value))}get selectedIndex(){const value=this.getAttribute("selected-index");if(typeof value!=="string"){return null}return Number(value)}set selectedIndex(value){if(typeof value==="number"){this.setAttribute("selected-index",String(value))}else{this.removeAttribute("selected-index")}}handleKeyboardEvent(event){if(!["ArrowDown","ArrowUp"].includes(event.key))return;event.stopPropagation();switch(event.key){case"ArrowUp":{if(this.focusIndex===0){this.focusIndex=this.tabElements.length-1}else{this.focusIndex-=1}break}case"ArrowDown":{if(this.focusIndex===this.tabElements.length-1){this.focusIndex=0}else{this.focusIndex+=1}break}}}handleMouseEvent({currentTarget}){if(currentTarget instanceof HTMLButtonElement){const index=this.tabElements.indexOf(currentTarget);this.focusIndex=index;this.selectedIndex=index}}handleFocusEvent({currentTarget}){if(currentTarget instanceof HTMLButtonElement&&!this.hasAttribute("focus-index")){this.focusIndex=this.tabElements.indexOf(currentTarget)}}handleCustomEvent(event){switch(event.type){case"h-nav-tab-hide":{event.stopPropagation();this.selectedIndex=null;this.focusIndex=this.focusIndex;break}}}handleEvent(event){if(event instanceof KeyboardEvent){this.handleKeyboardEvent(event)}if(event instanceof MouseEvent){this.handleMouseEvent(event)}if(event instanceof FocusEvent){this.handleFocusEvent(event)}if(event instanceof CustomEvent){this.handleCustomEvent(event)}}showTab(index){this.tabElements[index].setAttribute("aria-selected","true");const ariaControls=this.tabElements[index].getAttribute("aria-controls");const tabPanelElement=this.tabPanelElements.find(({id})=>{return id===ariaControls});if(tabPanelElement){tabPanelElement.removeAttribute("hidden")}}hideTab(index){this.tabElements[index].setAttribute("aria-selected","false");const ariaControls=this.tabElements[index].getAttribute("aria-controls");const tabPanelElement=this.tabPanelElements.find(({id})=>{return id===ariaControls});if(tabPanelElement){tabPanelElement.setAttribute("hidden","")}const descendantTabGroupElements=this.querySelectorAll("haufe-nav-tab-group");descendantTabGroupElements.forEach(descendantTabGroupElement=>{descendantTabGroupElement.selectedIndex=null;descendantTabGroupElement.focusIndex=0})}attributeChangedCallback(name,oldValue,newValue){switch(name){case"focus-index":{const oldFocusIndex=Number(oldValue);const newFocusIndex=Number(newValue);this.tabElements[oldFocusIndex].setAttribute("tabindex","-1");this.tabElements[newFocusIndex].setAttribute("tabindex","0");this.tabElements[newFocusIndex].focus();break}case"selected-index":{if(oldValue){const oldIndex=Number(oldValue);this.hideTab(oldIndex)}if(newValue){const newIndex=Number(newValue);this.showTab(newIndex)}break}}}initialize(){if(this.isInitialized)return;this.tabListElement=this.querySelector(':scope > [role="tablist"]');this.tabPanelElements=Array.from(this.querySelectorAll(':scope > [role="tabpanel"]'));if(this.tabListElement){this.tabElements=Array.from(this.tabListElement.querySelectorAll(':scope > [role="tab"]'))}this.isInitialized=true}connectedCallback(){this.initialize();this.tabElements.forEach(tabElement=>{tabElement.addEventListener("click",this);tabElement.addEventListener("focus",this)});if(this.tabListElement){this.tabListElement.addEventListener("keydown",this)}this.addEventListener("h-nav-tab-hide",this)}disconnectedCallback(){this.tabElements.forEach(tabElement=>{tabElement.removeEventListener("click",this);tabElement.removeEventListener("focus",this)});if(this.tabListElement){this.tabListElement.removeEventListener("keydown",this)}this.removeEventListener("h-nav-tab-hide",this)}};window.customElements.define("haufe-nav-page",HaufeNavPageElement);window.customElements.define("haufe-nav-page-list",HaufeNavPageListElement);window.customElements.define("haufe-nav-disclosure",HaufeNavDisclosureElement);window.customElements.define("haufe-nav-tab-hide",HaufeNavTabHideElement);window.customElements.define("haufe-nav-tab-group",HaufeNavTabGroupElement);
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.