Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/yme/wp-content/themes/oceanwp/assets/src/js/lib/ |
Upload File : |
export const wrap = (element, wrapper = document.createElement("div")) => { if (element.nextSibling) { element.parentNode.insertBefore(wrapper, element.nextSibling); } else { element.parentNode.appendChild(wrapper); } return wrapper.appendChild(element); }; export const slideDown = (element, duration = 300) => { let display = window.getComputedStyle(element).display; if (display === "none") { display = "block"; } element.style.transitionProperty = "height"; element.style.transitionDuration = `${duration}ms`; element.style.opacity = 0; element.style.display = display; let height = element.offsetHeight; element.style.height = 0; element.style.opacity = 1; element.style.overflow = "hidden"; setTimeout(() => { element.style.height = `${height}px`; }, 5); window.setTimeout(() => { element.style.removeProperty("height"); element.style.removeProperty("overflow"); element.style.removeProperty("transition-duration"); element.style.removeProperty("transition-property"); element.style.removeProperty("opacity"); }, duration + 50); }; export const slideUp = (element, duration = 300) => { element.style.boxSizing = "border-box"; element.style.transitionProperty = "height, margin"; element.style.transitionDuration = `${duration}ms`; element.style.height = `${element.offsetHeight}px`; element.style.marginTop = 0; element.style.marginBottom = 0; element.style.overflow = "hidden"; setTimeout(() => { element.style.height = 0; }, 5); window.setTimeout(() => { element.style.display = "none"; element.style.removeProperty("height"); element.style.removeProperty("margin-top"); element.style.removeProperty("margin-bottom"); element.style.removeProperty("overflow"); element.style.removeProperty("transition-duration"); element.style.removeProperty("transition-property"); }, duration + 50); }; export const slideToggle = (element, duration) => { window.getComputedStyle(element).display === "none" ? slideDown(element, duration) : slideUp(element, duration); }; export const fadeIn = (element, _options = {}) => { const options = { duration: 300, display: null, opacity: 1, callback: null, }; Object.assign(options, _options); element.style.opacity = 0; element.style.display = options.display || "block"; setTimeout(() => { element.style.transition = `${options.duration}ms opacity ease`; element.style.opacity = options.opacity; }, 5); setTimeout(() => { element.style.removeProperty("transition"); !!options.callback && options.callback(); }, options.duration + 50); }; export const fadeOut = (element, _options = {}) => { if (element.style.display === "none") { return; } const options = { duration: 300, display: null, opacity: 0, callback: null, }; Object.assign(options, _options); element.style.opacity = 1; element.style.display = options.display || "block"; setTimeout(() => { element.style.transition = `${options.duration}ms opacity ease`; element.style.opacity = options.opacity; }, 5); setTimeout(() => { element.style.display = "none"; element.style.removeProperty("transition"); !!options.callback && options.callback(); }, options.duration + 50); }; export const fadeToggle = (element, options) => { window.getComputedStyle(element).display === "none" ? fadeIn(element, options) : fadeOut(element, options); }; export const offset = (element) => { if (!element.getClientRects().length) { return { top: 0, left: 0 }; } // Get document-relative position by adding viewport scroll to viewport-relative gBCR const rect = element.getBoundingClientRect(); const win = element.ownerDocument.defaultView; return { top: rect.top + win.pageYOffset, left: rect.left + win.pageXOffset, }; }; export const visible = (element) => { if (!element) { return false; } return !!( element.offsetWidth || element.offsetHeight || element.getClientRects().length ); }; export const getSiblings = (e) => { // for collecting siblings const siblings = []; // if no parent, return no sibling if (!e.parentNode) { return siblings; } // first child of the parent node let sibling = e.parentNode.firstChild; // collecting siblings while (sibling) { if (sibling.nodeType === 1 && sibling !== e) { siblings.push(sibling); } sibling = sibling.nextSibling; } return siblings; }; // Returns true if it is a DOM element export const isElement = (o) => { return typeof HTMLElement === "object" ? o instanceof HTMLElement // DOM2 : o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string"; }; export const isSelectorValid = ((dummyElement) => (selector) => { try { dummyElement.querySelector(selector); } catch { return false; } return true; })(document.createDocumentFragment()); export const fadeInNav = (element, _options = {}) => { const options = { duration: 300, visibility: "visible", opacity: 1, callback: null, }; Object.assign(options, _options); element.style.opacity = 0; element.style.visibility = options.visibility || "visible"; setTimeout(() => { element.style.transition = `${options.duration}ms opacity ease`; element.style.opacity = options.opacity; }, 5); }; export const fadeOutNav = (element, _options = {}) => { if (element.style.visibility === "hidden") { return; } const options = { duration: 300, visibility: "hidden", opacity: 0, callback: null, }; Object.assign(options, _options); element.style.opacity = 1; element.style.visibility = options.visibility || "visible"; setTimeout(() => { element.style.transition = `${options.duration}ms opacity ease`; element.style.opacity = options.opacity; }, 5); setTimeout(() => { element.style.visibility = "hidden"; element.style.removeProperty("transition"); !!options.callback && options.callback(); }, options.duration + 50); };