File "bricksforge_scrollsmoother.js"

Full path: /home/dora/public_html/wp-content/plugins/bricksforge/assets/js/bricksforge_scrollsmoother.js
File size: 2.79 KB
MIME-type: --
Charset: utf-8

class BrfScrollSmoother{settings;smoother;constructor(){this.init()}async init(){this.prepare()}prepare(){switch(this.settings=BRFSCROLLSMOOTHER.toolSettings.find((t=>7==t.id)),this.settings?(this.settings=this.settings.settings,this.settings.provider||(this.settings.provider="gsap")):this.settings={settings:{provider:"gsap",smooth:1,smoothTouch:!1,effects:!1}},this.settings.provider){case"gsap":if(document.body.classList.contains("brf-scroll-smoother-disabled"))return;gsap.registerPlugin(ScrollTrigger,ScrollSmoother),ScrollTrigger.config({ignoreMobileResize:!0}),window.bricksSmoothScroll=()=>!1,document.querySelectorAll("[data-brf-fixed]").forEach((t=>{document.body.append(t)}));!!this.settings.adjustFixedElements&&this.settings.adjustFixedElements&&this.adjustFixedPositions(),this.run(this.settings.provider);break;case"lenis":this.run(this.settings.provider)}}run(t){switch(t){case"gsap":const e=document.querySelector("#smooth-content"),s=this.settings.smooth?this.settings.smooth:1,i=!!this.settings.smoothTouch&&this.settings.smoothTouch,n=!!this.settings.effects&&this.settings.effects;let o=ScrollSmoother.create({smooth:s,effects:n,smoothTouch:i,normalizeScroll:!0,ignoreMobileResize:!0});new ResizeObserver((t=>{gsap.delayedCall(.2,(()=>{o.refresh()}))})).observe(e),document.querySelectorAll('a[href^="#"]:not([href="#"])').forEach((t=>{t.addEventListener("click",(function(t){t.preventDefault(),o.scrollTo(this.getAttribute("href"),!0,"top 50px")}))}));break;case"lenis":document.documentElement.style.scrollBehavior="initial";let r=this.settings.lenisDuration?this.settings.lenisDuration:1.2,l=this.settings.lenisEase?this.settings.lenisEase:"Math.min(1, 1.001 - Math.pow(2, -10 * x))",h=new Function("return (x) => { return  "+l+" }")(),c=this.settings.lenisDirection?this.settings.lenisDirection:"vertical",a=this.settings.lenisGestureDirection?this.settings.lenisGestureDirection:"vertical",u=!this.settings.lenisSmooth||this.settings.lenisSmooth,g=this.settings.lenisMouseMultiplier?this.settings.lenisMouseMultiplier:1,d=!!this.settings.lenisSmoothTouch&&this.settings.lenisSmoothTouch,m=this.settings.lenisTouchMultiplier?this.settings.lenisTouchMultiplier:2,f=!!this.settings.lenisInfinite&&this.settings.lenisInfinite;const p=new Lenis({duration:r,easing:t=>h(t),direction:c,gestureDirection:a,smooth:u,mouseMultiplier:g,smoothTouch:d,touchMultiplier:m,infinite:f});function S(t){p.raf(t),requestAnimationFrame(S)}requestAnimationFrame(S)}}adjustFixedPositions(){[].filter.call(document.querySelectorAll("*"),(t=>"fixed"==getComputedStyle(t).position)).forEach((t=>{t.classList.contains("bricks-mobile-menu-wrapper")||document.body.append(t)}))}}var brfScrollSmoother;document.addEventListener("DOMContentLoaded",(()=>{bricksIsFrontend&&"undefined"!=typeof BRFSCROLLSMOOTHER&&(brfScrollSmoother=new BrfScrollSmoother)}));