PageSourceSearch

https://www.parcum.be/frontend/flyout.component-qDLneVt9.js

js parcum.be collected 2026-10-02 06:41:21 UTC 4,253 bytes, 1 lines download raw bytes

1import{A as n}from"./a11y-furJA6xF.js";import{D as d}from"./site-B0IjnxmE.js";class m{constructor(){const e=document.querySelectorAll("button[data-flyout]");e.length&&e.forEach(s=>{new i(s)}),d.onDynamicContent(document.documentElement,"button[data-flyout]",s=>{s.forEach(t=>{new i(t)})})}}class i{constructor(e){this.flyoutToggleButtonElement=e,this.modalElement=document.getElementById(e.getAttribute("data-flyout")),this.modalElement&&this.flyoutToggleButtonElement?(this.flyoutToggleButtonElement.setAttribute("aria-expanded","false"),this.flyoutToggleButtonElement.setAttribute("aria-controls",this.modalElement.id),this.flyoutCloseButtons=document.querySelectorAll(`[data-flyout-close="${e.getAttribute("data-flyout")}"]`),Array.from(this.flyoutCloseButtons).forEach(t=>{t.setAttribute("aria-expanded","true"),t.setAttribute("aria-controls",this.modalElement.id),t.addEventListener("click",l=>{l.preventDefault(),this.closeFlyout()}),t.style.transition="none",t.hasAttribute("data-flyout-close-inactive-class")&&t.classList.add(...t.getAttribute("data-flyout-close-inactive-class").split(" "))}),Array.from(this.modalElement.querySelectorAll(".hidden")).forEach(t=>{t.nodeName==="A"?t.classList.add("disabled"):t.setAttribute("disabled",""),t.removeAttribute("tabindex")}),this.flyoutToggleButtonElement.addEventListener("click",t=>{t.preventDefault();const l=this.flyoutToggleButtonElement.getAttribute("aria-expanded")==="true";if(this.flyoutToggleButtonElement.setAttribute("aria-expanded",String(!l)),l){this.closeFlyout();return}this.modalElement.classList.remove("invisible"),this.modalElement.querySelector("button[data-flyout-close]").focus(),this.keyDownListener=this.onKeyDown.bind(this),document.addEventListener("keydown",this.keyDownListener),this.modalElement.hasAttribute("data-flyout-inactive-class")&&this.modalElement.classList.remove(...this.modalElement.getAttribute("data-flyout-inactive-class").split(" ")),this.modalElement.hasAttribute("data-flyout-active-class")&&this.modalElement.classList.add(...this.modalElement.getAttribute("data-flyout-active-class").split(" ")),this.modalElement.hasAttribute("data-flyout-body-active-class")&&document.body.classList.add(...this.modalElement.getAttribute("data-flyout-body-active-class").split(" ")),Array.from(this.flyoutCloseButtons).forEach(a=>{a.style.transition="",a.hasAttribute("data-flyout-close-inactive-class")&&a.classList.remove(...a.getAttribute("data-flyout-close-inactive-class").split(" ")),a.hasAttribute("data-flyout-close-active-class")&&a.classList.add(...a.getAttribute("data-flyout-close-active-class").split(" ")),a.setAttribute("aria-expanded","false")})}),this.modalElement.hasAttribute("data-flyout-inactive-class")&&this.modalElement.classList.add(...this.modalElement.getAttribute("data-flyout-inactive-class").split(" ")),n.keepFocus(this.modalElement,!0)):console.warn("Flyout modal element not found for trigger:",e)}onKeyDown(e){switch(e.key){case"Escape":e.preventDefault(),this.closeFlyout();break}}closeFlyout(){this.flyoutToggleButtonElement.focus(),this.flyoutToggleButtonElement.setAttribute("aria-expanded","false");const e=()=>{this.modalElement.classList.add("invisible"),this.modalElement.removeEventListener("transitionend",e)};this.modalElement.addEventListener("transitionend",e),document.removeEventListener("keydown",this.keyDownListener),Array.from(this.flyoutCloseButtons).forEach(s=>{s.hasAttribute("data-flyout-close-inactive-class")&&s.classList.add(...s.getAttribute("data-flyout-close-inactive-class").split(" ")),s.hasAttribute("data-flyout-close-active-class")&&s.classList.remove(...s.getAttribute("data-flyout-close-active-class").split(" ")),s.setAttribute("aria-expanded","false")}),this.modalElement.hasAttribute("data-flyout-active-class")&&this.modalElement.classList.remove(...this.modalElement.getAttribute("data-flyout-active-class").split(" ")),this.modalElement.hasAttribute("data-flyout-inactive-class")&&this.modalElement.classList.add(...this.modalElement.getAttribute("data-flyout-inactive-class").split(" ")),this.modalElement.hasAttribute("data-flyout-body-active-class")&&document.body.classList.remove(...this.modalElement.getAttribute("data-flyout-body-active-class").split(" "))}}export{m as default};

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.