1"use strict"; 2 3document.addEventListener("DOMContentLoaded", function () { 4 function playAnimation(element, frame = false) { 5 if (frame) { 6 element.style.visibility = 'visible'; 7 element.style.opacity = '1'; 8 element.style.transform = 'none'; 9 } 10 if (element.getBoundingClientRect().top > 0 && element.getBoundingClientRect().top <= (window.innerHeight * 0.75)) { 11 element.classList.add('unibiz-animate-init'); 12 } 13 } 14 15 function prepareAnimation(doc, frame = false) { 16 var elements = doc.getElementsByClassName('unibiz-animate'); 17 18 for (let element of elements) { 19 if ( frame ) { 20 playAnimation(element, true); 21 } else { 22 window.addEventListener('load', function () { 23 playAnimation(element); 24 }); 25 window.addEventListener('scroll', function () { 26 playAnimation(element); 27 }); 28 } 29 } 30 } 31 32 prepareAnimation(document); 33 34 setTimeout(function() { 35 var iframe = document.getElementsByClassName('edit-site-visual-editor__editor-canvas'); 36 var innerDoc = iframe.length > 0 ? iframe[0].contentDocument || iframe[0].contentWindow.document : null; 37 innerDoc ? prepareAnimation(innerDoc, true) : null; 38 }, 3000); 39 40 function submenuDynamicPosition(item, submenu) { 41 if (item.classList.contains('left')) { 42 item.classList.remove('left'); 43 } 44 45 const screenWidth = window.innerWidth; 46 47 const updatedRect = submenu.getBoundingClientRect(); 48 if (updatedRect.right > screenWidth) { 49 item.classList.add('left'); 50 } else if (updatedRect.right < 0) { 51 if (item.classList.contains('left')) { 52 item.classList.remove('left'); 53 } 54 item.classList.add('right'); 55 } 56 57 submenu.querySelectorAll('.wp-block-navigation-item.has-child').forEach(itemsub => { 58 const sub_submenu = itemsub.querySelector('.wp-block-navigation__submenu-container'); 59 if (!sub_submenu) return; 60 const rect = itemsub.getBoundingClientRect(); 61 62 if (rect.right > screenWidth) { 63 itemsub.classList.add('left'); 64 } else if (rect.right < 0) { 65 if (itemsub.classList.contains('left')) { 66 itemsub.classList.remove('left'); 67 } 68 itemsub.classList.add('right'); 69 } 70 }); 71 } 72 73 document.querySelectorAll('.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item.has-child').forEach(item => { 74 const submenu = item.querySelector('.wp-block-navigation__submenu-container'); 75 if (!submenu) return; 76 77 submenuDynamicPosition(item, submenu); 78 79 item.addEventListener('mouseenter', () => { 80 submenuDynamicPosition(item, submenu); 81 }); 82 83 window.addEventListener('resize', () => { 84 submenuDynamicPosition(item, submenu); 85 }); 86 }); 87});
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.