PageSourceSearch

https://www.fieldmann.sk/-f104141---MWYSZeOS/dialogpopover.js?_linka=e49323

js fieldmann.sk collected 2026-10-08 02:06:47 UTC 2,693 bytes, 6 lines download raw bytes

1export default class DialogPopover{constructor(popoverElement){this.popover=popoverElement;this.focusableSelector='button, [href], input, select, textarea, [tabindex]:not([tabindex\x3d"-1"])';this.previouslyFocused=null;this.inertedSiblings=[];this.isInitialized=false;this.handleToggle=this.handleToggle.bind(this);this.handleClick=this.handleClick.bind(this);this.handleKeydown=this.handleKeydown.bind(this)}init(){if(this.isInitialized)return;this.isInitialized=true;this.popover.setAttribute("data-dialog-popover-initialized",
2"true");this.popover.addEventListener("toggle",this.handleToggle);this.popover.addEventListener("click",this.handleClick);this.popover.addEventListener("keydown",this.handleKeydown)}applyInertToSiblings(){this.inertedSiblings=[];Array.from(document.body.children).forEach(child=>{if(child===this.popover||child.contains(this.popover))return;if(child.hasAttribute("inert"))return;child.setAttribute("inert","");this.inertedSiblings.push(child)})}removeInertFromSiblings(){this.inertedSiblings.forEach(child=>
3child.removeAttribute("inert"));this.inertedSiblings=[]}focusFirstElement(){const focusable=Array.from(this.popover.querySelectorAll(this.focusableSelector)).find(el=>!el.hasAttribute("disabled"));if(focusable)focusable.focus()}trapFocus(event){const focusables=Array.from(this.popover.querySelectorAll(this.focusableSelector)).filter(el=>!el.hasAttribute("disabled"));if(focusables.length===0)return;const first=focusables[0];const last=focusables[focusables.length-1];if(event.shiftKey&&document.activeElement===
4first){event.preventDefault();last.focus()}else if(!event.shiftKey&&document.activeElement===last){event.preventDefault();first.focus()}}handleToggle(event){if(event.newState==="open"){this.previouslyFocused=document.activeElement;this.applyInertToSiblings();document.body.classList.add("fd-dialog-popover-is-open");this.focusFirstElement()}else{this.removeInertFromSiblings();document.body.classList.remove("fd-dialog-popover-is-open");if(this.previouslyFocused&&document.contains(this.previouslyFocused)&&
5typeof this.previouslyFocused.focus==="function")this.previouslyFocused.focus()}}handleClick(event){if(!this.popover.matches(":popover-open"))return;if(event.target.closest(`[popovertarget="${this.popover.id}"]`))return;if(this.popover.contains(event.target))return;const rect=this.popover.getBoundingClientRect();const clickedInside=rect.top<=event.clientY&&event.clientY<=rect.bottom&&rect.left<=event.clientX&&event.clientX<=rect.right;if(!clickedInside)this.popover.hidePopover()}handleKeydown(event){if(event.key===
6"Escape"){event.preventDefault();this.popover.hidePopover()}else if(event.key==="Tab")this.trapFocus(event)}};

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.