Files
TaborgMain/public/assets/vendors/body-clip/liquidBodyClip.min.js
T
2024-09-06 13:32:15 -04:00

1 line
1.8 KiB
JavaScript

!function($){"use strict";const t="liquidBodyClip";let i={insetValue:40};class e{constructor(e,n){this._defaults=i,this._name=t,this.options={...i,...n},this.DOM={},this.DOM.element=e,this.DOM.$element=$(e),this.init()}async init(){this.DOM.$clipEl=await this.getClipEl(),this.initClipping()}async getClipEl(){const{insetValue:t}=this.options;let i;if(this.DOM.element.hasAttribute("data-liquid-bg")){const t=this.DOM.$element.data("plugin_liquidBgColor");if(t)return await t.liquidBgColorInitPromise,t.$bgEl?.addClass("lqd-site-content-bg-el")}return await fastdom.mutate((()=>{const e=$('<div class="lqd-site-content-bg-wrapper" />');i=$('<div class="lqd-site-content-bg-el" />'),e.css({width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:-1,pointerEvents:"none"}),i.css({width:"100vw",height:`calc(100vh + ${t}px)`,position:"sticky",top:`-${t}px`,left:0,background:this.DOM.$element.css("background"),pointerEvents:"none"}),i.appendTo(e),e.prependTo(this.DOM.element),this.DOM.$element.css("background","none")})),i}initClipping(){const{insetValue:t}=this.options,i=gsap.utils.mapRange(window.innerWidth,1,0,1,2*t),e=gsap.utils.mapRange(window.innerHeight,1,0,1,2*t);this.DOM.$element.liquidParallax({start:"bottom bottom",end:"max",skipWillChange:!0,parallaxTargets:".lqd-site-content-bg-el"},{scaleX:1,scaleY:1,borderRadius:0},{scaleX:i,scaleY:e,borderRadius:15}),$liquidMainFooter.liquidParallax({start:"bottom bottom",end:`+=${$liquidMainFooter.outerHeight()}`,startTrigger:this.DOM.element},{yPercent:30},{yPercent:0})}}$.fn[t]=function(i){return this.each((function(){const n={...$(this).data("bodyclip-options"),...i};$.data(this,"plugin_"+t)||$.data(this,"plugin_"+t,new e(this,n))}))}}(jQuery),jQuery(document).ready((function($){liquidIsMobile()||$("#lqd-site-content").liquidBodyClip()}));