PageSourceSearch

https://www.3bmeteo.com/ass/js/async-modal-487db0c5f8.js

js 3bmeteo.com collected 2026-09-24 08:35:56 UTC 3,541 bytes, 1 lines download raw bytes

1window.app=window.app||{};var FOCUSABLE_SELECTOR='button:not([disabled]), a[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',getFocusableElements=function(e){return Array.from(e.querySelectorAll(FOCUSABLE_SELECTOR)).filter(function(e){if(e.hasAttribute("hidden")||"true"===e.getAttribute("aria-hidden"))return!1;var t=window.getComputedStyle(e);return"none"!==t.display&&"hidden"!==t.visibility})},focusModal=function(e){e&&document.contains(e)&&(e.setAttribute("tabindex","-1"),e.focus(),document.activeElement!==e&&requestAnimationFrame(function(){e.focus(),document.activeElement!==e&&setTimeout(function(){return e.focus()},50)}))},createFocusTrap=function(e){return function(t){if("Tab"===t.key&&e.classList.contains("open")){var n=getFocusableElements(e);if(0!==n.length){var o=n[0],a=n[n.length-1];t.shiftKey?document.activeElement===o&&(t.preventDefault(),a.focus()):document.activeElement===a&&(t.preventDefault(),o.focus())}}}},openModal=function(e){if(e){e._previousActiveElement=document.activeElement,e.hidden=!1,document.body.style.overflow="hidden";var t=createFocusTrap(e);e._focusTrapHandler=t,document.addEventListener("keydown",t),setTimeout(function(){e.classList.add("open");var t=new CustomEvent("modal-opened",{bubbles:!0,detail:{modal:e}});e.dispatchEvent(t),requestAnimationFrame(function(){requestAnimationFrame(function(){return focusModal(e)})})},10)}},closeModal=function(e){e&&(e._focusTrapHandler&&(document.removeEventListener("keydown",e._focusTrapHandler),delete e._focusTrapHandler),e.classList.remove("open"),e.addEventListener("transitionend",function(){e.hidden=!0;var t=e.querySelector(".modal-panel");t&&(t.style.transform=""),0===document.querySelectorAll(".modal-overlay.open").length&&(document.body.style.overflow="");var n=e._previousActiveElement;n&&n.focus&&document.contains(n)&&n.focus(),delete e._previousActiveElement},{once:!0}))},initModalContent=function(e){if(e&&!e._modalContentInitialized&&e.matches('[data-modal-mobile="bottom-sheet"]')){e._modalContentInitialized=!0;var t=e.querySelector(".modal-panel"),n=e.querySelector(".modal-content"),o=e.querySelector(".handle-header");if(!t||!n||!o)return;var a,i,d=!1,l=function(e){if(d){e.preventDefault();var n=e.touches[0].clientY-a;n>0&&(t.style.transform="translateY(".concat(n,"px)"))}},c=function(n){d&&(d=!1,t.classList.remove("swiping"),document.removeEventListener("touchmove",l),document.removeEventListener("touchend",c),n.changedTouches[0].clientY-a>i/3?closeModal(e):t.style.transform="")};o.addEventListener("touchstart",function(e){n.scrollTop>0||(d=!0,a=e.touches[0].clientY,i=t.offsetHeight,t.classList.add("swiping"),document.addEventListener("touchmove",l,{passive:!1}),document.addEventListener("touchend",c))},{passive:!0})}};document.addEventListener("click",function(e){var t=e.target,n=t.closest("[data-modal-target]");if(n){var o=document.querySelector(n.dataset.modalTarget);o&&o.classList.contains("modal-overlay")&&(e.preventDefault(),initModalContent(o),openModal(o))}else t.closest(".modal-close-btn, .btn-cancel")?closeModal(t.closest(".modal-overlay")):t.classList.contains("modal-overlay")&&t.classList.contains("open")&&closeModal(t)}),document.addEventListener("keydown",function(e){if("Escape"===e.key){var t=document.querySelector(".modal-overlay.open");t&&closeModal(t)}}),window.app.openModal=openModal,window.app.initModalContent=initModalContent,window.app.closeModal=closeModal,window.app.focusModal=focusModal;

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.