1import r from"woody_library_woody_component";class o extends r{#e={};constructor(){super()}init(e){super.init(e),this.overlay=document.createElement("div"),this.overlay.classList.add("reveal-overlay"),this.overlay.setAttribute("role","dialog"),this.overlay.setAttribute("aria-modal","true"),this.overlay.setAttribute("tabindex","-1"),this.container=document.createElement("div"),this.container.classList.add("reveal-container"),this.container.setAttribute("role","document"),this.overlay.appendChild(this.container),this.closeButton=document.createElement("button"),this.closeButton.classList.add("reveal-close"),this.closeButton.setAttribute("aria-label","Fermer la fen\xEAtre modale"),this.closeButton.innerHTML="×",this.container.appendChild(this.closeButton),this.loader=document.createElement("div"),this.loader.classList.add("loader"),this.container.appendChild(this.loader),this.contentWrapper=document.createElement("div"),this.contentWrapper.classList.add("reveal-content"),this.contentWrapper.setAttribute("hidden",!0),this.container.appendChild(this.contentWrapper),this.overlay.addEventListener("click",t=>{t.target===this.overlay&&this.close()}),this.closeButton.addEventListener("click",()=>this.close()),document.addEventListener("keydown",t=>{t.key==="Escape"&&this.isOpen&&this.close()}),this.focusableElementsString='a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])'}setContent(e){if(!e||e===void 0||e===null||e===""){this.loader.hidden=!1,this.contentWrapper.hidden=!0;return}this.loader.hidden=!0,this.contentWrapper.hidden=!1,typeof e=="string"?this.contentWrapper.innerHTML=e:e instanceof Node&&(this.contentWrapper.innerHTML="",this.contentWrapper.appendChild(e))}open(e){e&&this.setContent(e),!this.isOpen&&(this.isOpen=!0,this.appendChild(this.overlay),document.body.style.overflow="hidden",this._trapFocus())}close(){this.isOpen&&(this.isOpen=!1,this.removeChild(this.overlay),document.body.style.overflow="",this._releaseFocus())}_trapFocus(){const e=this.overlay.querySelectorAll(this.focusableElementsString);e.length&&e[0].focus(),this._focusTrapHandler=t=>{const s=Array.from(this.overlay.querySelectorAll(this.focusableElementsString)),i=s[0],n=s[s.length-1];t.key==="Tab"&&(t.shiftKey&&document.activeElement===i?(t.preventDefault(),n.focus()):!t.shiftKey&&document.activeElement===n&&(t.preventDefault(),i.focus()))},document.addEventListener("keydown",this._focusTrapHandler)}_releaseFocus(){document.removeEventListener("keydown",this._focusTrapHandler)}}export{o 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.