@rtstic.dev/pulse 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- #spline-container canvas{width:100vw!important}#canvas3d{width:1920px!important;height:1080px!important}.block-canvas{display:flex;justify-content:center;align-items:flex-end;height:100vh;width:100vw;overflow:hidden}.gradient-blur{display:flex}.block_spline-3d{display:flex;position:sticky;top:0;z-index:10;height:100vh;pointer-events:none}.block_hero-text{position:absolute;inset:0%;z-index:20;overflow:hidden;height:100vh;pointer-events:auto}.block_music-player{position:absolute;bottom:0;left:0;width:100%;height:100vh;z-index:25;overflow:visible}.canvas-helper{display:none}.scroll-section{position:relative;height:350vh;pointer-events:none}.box{width:402px;height:482px;background:transparent;position:relative}.box svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}[pulse-animation-element=player-elements]{position:absolute;inset:0;z-index:20}[pulse-animation-element=line-art]{background:transparent}[pulse-animation-element=player-handle]{transform-origin:left center;transform:rotate(0);left:70px}[pulse-animation-element=player-handle-tail]{transform-origin:right center;transform:rotate(0)}
1
+ [pulse-animation-element=player-inner-elements]{z-index:105}[pulse-animation-element=hero-wrapper]{z-index:100}[pulse-animation-element=hero-blur-overlay]{z-index:95}[pulse-animation-element=hero-blur]{z-index:90}[pulse-animation-element=radial-gradient-wrapper]{z-index:81;opacity:0}[pulse-animation-element=canvas-wrapper]{z-index:85}[pulse-animation-element=player-wrapper]{z-index:80}#spline-container canvas{width:100vw!important}.spline-disc canvas{width:1920px!important;height:1080px!important}#canvas3d{width:100vw!important;height:100%;display:flex;justify-content:center;align-items:center}.block-canvas{display:flex;justify-content:center;align-items:flex-end;height:100vh;width:100vw;overflow:hidden}.block_spline-3d{display:flex;position:sticky;top:0;height:100vh;pointer-events:none}.block_hero-text{position:absolute;inset:0%;overflow:hidden;height:100vh;pointer-events:auto}.block_music-player{position:absolute;bottom:0;left:0;width:100%;height:100vh;overflow:visible}.canvas-helper{display:none}.scroll-section{position:relative;height:350vh;pointer-events:none}.box{width:402px;height:482px;background:#0b0b0b;position:relative}.box svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}[pulse-animation-element=player-elements]{position:absolute;inset:0}[pulse-animation-element=line-art]{background:transparent}[pulse-animation-element=player-handle]{transform-origin:left center;transform:rotate(0);left:70px}[pulse-animation-element=player-handle-tail]{transform-origin:right center;transform:rotate(0)}[pulse-animation-element=radial-gradient]{background:radial-gradient(circle,#141414 0%,rgba(20,20,20,.9) 70%,rgba(20,20,20,.6) 80%,transparent 100%);opacity:.8}.blur-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#000c,#0000);height:50%}.gradient-blur{position:absolute;inset:0;backdrop-filter:blur(25px) brightness(1.2);-webkit-backdrop-filter:blur(25px) brightness(1.2);mask-image:linear-gradient(to top,#0000 35%,#000 70%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,0) 35%,rgba(0,0,0,1) 70%)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtstic.dev/pulse",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "pulse website",
5
5
  "license": "license-of-your-project",
6
6
  "keywords": [],
package/dist/blur.css DELETED
@@ -1 +0,0 @@
1
- .gradient_blur{opacity:1;position:absolute;inset:0;height:80%}.gradient_blur>div,.gradient_blur:before,.gradient_blur:after{position:absolute;inset:0}.gradient_blur:before{content:"";z-index:1;backdrop-filter:blur(6px);mask:linear-gradient(to top,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,0) 37.5%)}.gradient_blur>div:nth-of-type(1){z-index:2;backdrop-filter:blur(12px);mask:linear-gradient(to top,rgba(0,0,0,0) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,0) 50%)}.gradient_blur>div:nth-of-type(2){z-index:3;backdrop-filter:blur(24px);mask:linear-gradient(to top,rgba(0,0,0,0) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 62.5%)}.gradient_blur>div:nth-of-type(3){z-index:4;backdrop-filter:blur(48px);mask:linear-gradient(to top,rgba(0,0,0,0) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,0) 75%)}.gradient_blur>div:nth-of-type(4){z-index:5;backdrop-filter:blur(96px);mask:linear-gradient(to top,rgba(0,0,0,0) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,0) 87.5%)}.gradient_blur>div:nth-of-type(5){z-index:6;backdrop-filter:blur(192px);mask:linear-gradient(to top,rgba(0,0,0,0) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,0) 100%)}.gradient_blur>div:nth-of-type(6){z-index:7;backdrop-filter:blur(384px);mask:linear-gradient(to top,rgba(0,0,0,0) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,1) 100%)}.gradient_blur:after{content:"";z-index:8;backdrop-filter:blur(768px);mask:linear-gradient(to top,rgba(0,0,0,0) 87.5%,rgba(0,0,0,1) 100%)}.blur-overlay{position:absolute;inset:0;z-index:16;background:linear-gradient(to bottom,#000c,#0000)}
package/dist/blur.css.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/home/hero-animation/blur.css"],
4
- "sourcesContent": [".gradient_blur {\n opacity: 1;\n position: absolute;\n inset: 0;\n height: 80%;\n}\n.gradient_blur > div,\n.gradient_blur::before,\n.gradient_blur::after {\n position: absolute;\n inset: 0;\n}\n.gradient_blur::before {\n content: \"\";\n z-index: 1;\n backdrop-filter: blur(6px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 0%,\n rgba(0, 0, 0, 1) 12.5%,\n rgba(0, 0, 0, 1) 25%,\n rgba(0, 0, 0, 0) 37.5%\n );\n}\n.gradient_blur > div:nth-of-type(1) {\n z-index: 2;\n backdrop-filter: blur(12px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 12.5%,\n rgba(0, 0, 0, 1) 25%,\n rgba(0, 0, 0, 1) 37.5%,\n rgba(0, 0, 0, 0) 50%\n );\n}\n.gradient_blur > div:nth-of-type(2) {\n z-index: 3;\n backdrop-filter: blur(24px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 25%,\n rgba(0, 0, 0, 1) 37.5%,\n rgba(0, 0, 0, 1) 50%,\n rgba(0, 0, 0, 0) 62.5%\n );\n}\n.gradient_blur > div:nth-of-type(3) {\n z-index: 4;\n backdrop-filter: blur(48px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 37.5%,\n rgba(0, 0, 0, 1) 50%,\n rgba(0, 0, 0, 1) 62.5%,\n rgba(0, 0, 0, 0) 75%\n );\n}\n.gradient_blur > div:nth-of-type(4) {\n z-index: 5;\n backdrop-filter: blur(96px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 50%,\n rgba(0, 0, 0, 1) 62.5%,\n rgba(0, 0, 0, 1) 75%,\n rgba(0, 0, 0, 0) 87.5%\n );\n}\n.gradient_blur > div:nth-of-type(5) {\n z-index: 6;\n backdrop-filter: blur(192px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 62.5%,\n rgba(0, 0, 0, 1) 75%,\n rgba(0, 0, 0, 1) 87.5%,\n rgba(0, 0, 0, 0) 100%\n );\n}\n.gradient_blur > div:nth-of-type(6) {\n z-index: 7;\n backdrop-filter: blur(384px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 75%,\n rgba(0, 0, 0, 1) 87.5%,\n rgba(0, 0, 0, 1) 100%\n );\n}\n.gradient_blur::after {\n content: \"\";\n z-index: 8;\n backdrop-filter: blur(768px);\n mask: linear-gradient(\n to top,\n rgba(0, 0, 0, 0) 87.5%,\n rgba(0, 0, 0, 1) 100%\n );\n}\n\n.blur-overlay {\n position: absolute;\n inset: 0;\n z-index: 16;\n background: linear-gradient(\n to bottom,\n rgba(0, 0, 0, 0.8) 0%,\n rgba(0, 0, 0, 0) 100%\n );\n}"],
5
- "mappings": "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",
6
- "names": []
7
- }
package/dist/lenis.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(()=>{var j=Object.defineProperty;var P=(s,t,e)=>t in s?j(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var p=(s,t,e)=>P(s,typeof t!="symbol"?t+"":t,e);function K(s,t,e){return Math.max(s,Math.min(t,e))}var H=class{advance(t){if(!this.isRunning)return;let e=!1;if(this.lerp)this.value=(i=this.value,o=this.to,n=60*this.lerp,h=t,function(l,r,c){return(1-c)*l+c*r}(i,o,1-Math.exp(-n*h))),Math.round(this.value)===this.to&&(this.value=this.to,e=!0);else{this.currentTime+=t;let l=K(0,this.currentTime/this.duration,1);e=l>=1;let r=e?1:this.easing(l);this.value=this.from+(this.to-this.from)*r}var i,o,n,h;this.onUpdate?.(this.value,e),e&&this.stop()}stop(){this.isRunning=!1}fromTo(t,e,{lerp:i=.1,duration:o=1,easing:n=r=>r,onStart:h,onUpdate:l}){this.from=this.value=t,this.to=e,this.lerp=i,this.duration=o,this.easing=n,this.currentTime=0,this.isRunning=!0,h?.(),this.onUpdate=l}},k=class{constructor({wrapper:t,content:e,autoResize:i=!0,debounce:o=250}={}){p(this,"resize",()=>{this.onWrapperResize(),this.onContentResize()});p(this,"onWrapperResize",()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)});p(this,"onContentResize",()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)});this.wrapper=t,this.content=e,i&&(this.debouncedResize=function(n,h){let l;return function(){let r=arguments,c=this;clearTimeout(l),l=setTimeout(function(){n.apply(c,r)},h)}}(this.resize,o),this.wrapper===window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),window.removeEventListener("resize",this.debouncedResize,!1)}get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},z=class{constructor(){this.events={}}emit(t,...e){let i=this.events[t]||[];for(let o=0,n=i.length;o<n;o++)i[o](...e)}on(t,e){return this.events[t]?.push(e)||(this.events[t]=[e]),()=>{this.events[t]=this.events[t]?.filter(i=>e!==i)}}off(t,e){this.events[t]=this.events[t]?.filter(i=>e!==i)}destroy(){this.events={}}},q=100/6,x=class{constructor(t,{wheelMultiplier:e=1,touchMultiplier:i=1}){p(this,"onTouchStart",t=>{let{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:t})});p(this,"onTouchMove",t=>{let{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t,o=-(e-this.touchStart.x)*this.touchMultiplier,n=-(i-this.touchStart.y)*this.touchMultiplier;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:o,y:n},this.emitter.emit("scroll",{deltaX:o,deltaY:n,event:t})});p(this,"onTouchEnd",t=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})});p(this,"onWheel",t=>{let{deltaX:e,deltaY:i,deltaMode:o}=t;e*=o===1?q:o===2?this.windowWidth:1,i*=o===1?q:o===2?this.windowHeight:1,e*=this.wheelMultiplier,i*=this.wheelMultiplier,this.emitter.emit("scroll",{deltaX:e,deltaY:i,event:t})});p(this,"onWindowResize",()=>{this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight});this.element=t,this.wheelMultiplier=e,this.touchMultiplier=i,this.touchStart={x:null,y:null},this.emitter=new z,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,{passive:!1}),this.element.addEventListener("touchstart",this.onTouchStart,{passive:!1}),this.element.addEventListener("touchmove",this.onTouchMove,{passive:!1}),this.element.addEventListener("touchend",this.onTouchEnd,{passive:!1})}on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel,{passive:!1}),this.element.removeEventListener("touchstart",this.onTouchStart,{passive:!1}),this.element.removeEventListener("touchmove",this.onTouchMove,{passive:!1}),this.element.removeEventListener("touchend",this.onTouchEnd,{passive:!1})}},L=class{constructor({wrapper:t=window,content:e=document.documentElement,wheelEventsTarget:i=t,eventsTarget:o=i,smoothWheel:n=!0,syncTouch:h=!1,syncTouchLerp:l=.075,touchInertiaMultiplier:r=35,duration:c,easing:g=d=>Math.min(1,1.001-Math.pow(2,-10*d)),lerp:a=!c&&.1,infinite:v=!1,orientation:E="vertical",gestureOrientation:F="vertical",touchMultiplier:C=1,wheelMultiplier:D=1,autoResize:X=!0,__experimental__naiveDimensions:I=!1}={}){this.__isSmooth=!1,this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.onVirtualScroll=({deltaX:d,deltaY:w,event:u})=>{if(u.ctrlKey)return;let S=u.type.includes("touch"),Y=u.type.includes("wheel");if(this.options.syncTouch&&S&&u.type==="touchstart"&&!this.isStopped&&!this.isLocked)return void this.reset();let B=d===0&&w===0,V=this.options.gestureOrientation==="vertical"&&w===0||this.options.gestureOrientation==="horizontal"&&d===0;if(B||V)return;let y=u.composedPath();if(y=y.slice(0,y.indexOf(this.rootElement)),y.find(m=>{var T,M,R,b,W;return((T=m.hasAttribute)===null||T===void 0?void 0:T.call(m,"data-lenis-prevent"))||S&&((M=m.hasAttribute)===null||M===void 0?void 0:M.call(m,"data-lenis-prevent-touch"))||Y&&((R=m.hasAttribute)===null||R===void 0?void 0:R.call(m,"data-lenis-prevent-wheel"))||((b=m.classList)===null||b===void 0?void 0:b.contains("lenis"))&&!(!((W=m.classList)===null||W===void 0)&&W.contains("lenis-stopped"))}))return;if(this.isStopped||this.isLocked)return void u.preventDefault();if(this.isSmooth=this.options.syncTouch&&S||this.options.smoothWheel&&Y,!this.isSmooth)return this.isScrolling=!1,void this.animate.stop();u.preventDefault();let f=w;this.options.gestureOrientation==="both"?f=Math.abs(w)>Math.abs(d)?w:d:this.options.gestureOrientation==="horizontal"&&(f=d);let $=S&&this.options.syncTouch,A=S&&u.type==="touchend"&&Math.abs(f)>5;A&&(f=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+f,Object.assign({programmatic:!1},$?{lerp:A?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}))},this.onNativeScroll=()=>{if(!this.__preventNextScrollEvent&&!this.isScrolling){let d=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.velocity=0,this.direction=Math.sign(this.animatedScroll-d),this.emit()}},window.lenisVersion="1.0.42",t!==document.documentElement&&t!==document.body||(t=window),this.options={wrapper:t,content:e,wheelEventsTarget:i,eventsTarget:o,smoothWheel:n,syncTouch:h,syncTouchLerp:l,touchInertiaMultiplier:r,duration:c,easing:g,lerp:a,infinite:v,gestureOrientation:F,orientation:E,touchMultiplier:C,wheelMultiplier:D,autoResize:X,__experimental__naiveDimensions:I},this.animate=new H,this.emitter=new z,this.dimensions=new k({wrapper:t,content:e,autoResize:X}),this.toggleClassName("lenis",!0),this.velocity=0,this.isLocked=!1,this.isStopped=!1,this.isSmooth=h||n,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.virtualScroll=new x(o,{touchMultiplier:C,wheelMultiplier:D}),this.virtualScroll.on("scroll",this.onVirtualScroll)}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.toggleClassName("lenis",!1),this.toggleClassName("lenis-smooth",!1),this.toggleClassName("lenis-scrolling",!1),this.toggleClassName("lenis-stopped",!1),this.toggleClassName("lenis-locked",!1)}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.off(t,e)}setScroll(t){this.isHorizontal?this.rootElement.scrollLeft=t:this.rootElement.scrollTop=t}resize(){this.dimensions.resize()}emit(){this.emitter.emit("scroll",this)}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.isStopped=!1,this.reset())}stop(){this.isStopped||(this.isStopped=!0,this.animate.stop(),this.reset())}raf(t){let e=t-(this.time||t);this.time=t,this.animate.advance(.001*e)}scrollTo(t,{offset:e=0,immediate:i=!1,lock:o=!1,duration:n=this.options.duration,easing:h=this.options.easing,lerp:l=!n&&this.options.lerp,onComplete:r,force:c=!1,programmatic:g=!0}={}){if(!this.isStopped&&!this.isLocked||c){if(["top","left","start"].includes(t))t=0;else if(["bottom","right","end"].includes(t))t=this.limit;else{let a;if(typeof t=="string"?a=document.querySelector(t):t?.nodeType&&(a=t),a){if(this.options.wrapper!==window){let E=this.options.wrapper.getBoundingClientRect();e-=this.isHorizontal?E.left:E.top}let v=a.getBoundingClientRect();t=(this.isHorizontal?v.left:v.top)+this.animatedScroll}}if(typeof t=="number"){if(t+=e,t=Math.round(t),this.options.infinite?g&&(this.targetScroll=this.animatedScroll=this.scroll):t=K(0,t,this.limit),i)return this.animatedScroll=this.targetScroll=t,this.setScroll(this.scroll),this.reset(),void(r==null||r(this));if(!g){if(t===this.targetScroll)return;this.targetScroll=t}this.animate.fromTo(this.animatedScroll,t,{duration:n,easing:h,lerp:l,onStart:()=>{o&&(this.isLocked=!0),this.isScrolling=!0},onUpdate:(a,v)=>{this.isScrolling=!0,this.velocity=a-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=a,this.setScroll(this.scroll),g&&(this.targetScroll=a),v||this.emit(),v&&(this.reset(),this.emit(),r?.(this),this.__preventNextScrollEvent=!0,requestAnimationFrame(()=>{delete this.__preventNextScrollEvent}))}})}}}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return this.options.orientation==="horizontal"}get actualScroll(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop}get scroll(){return this.options.infinite?(t=this.animatedScroll,e=this.limit,(t%e+e)%e):this.animatedScroll;var t,e}get progress(){return this.limit===0?1:this.scroll/this.limit}get isSmooth(){return this.__isSmooth}set isSmooth(t){this.__isSmooth!==t&&(this.__isSmooth=t,this.toggleClassName("lenis-smooth",t))}get isScrolling(){return this.__isScrolling}set isScrolling(t){this.__isScrolling!==t&&(this.__isScrolling=t,this.toggleClassName("lenis-scrolling",t))}get isStopped(){return this.__isStopped}set isStopped(t){this.__isStopped!==t&&(this.__isStopped=t,this.toggleClassName("lenis-stopped",t))}get isLocked(){return this.__isLocked}set isLocked(t){this.__isLocked!==t&&(this.__isLocked=t,this.toggleClassName("lenis-locked",t))}get className(){let t="lenis";return this.isStopped&&(t+=" lenis-stopped"),this.isLocked&&(t+=" lenis-locked"),this.isScrolling&&(t+=" lenis-scrolling"),this.isSmooth&&(t+=" lenis-smooth"),t}toggleClassName(t,e){this.rootElement.classList.toggle(t,e),this.emitter.emit("className change",this)}};var _=new L({lerp:.05,wheelMultiplier:.7,gestureOrientation:"vertical"});function U(s){_.raf(s),requestAnimationFrame(U)}requestAnimationFrame(U);var N=(s,t,e)=>s.addEventListener(t,e),O=(s,t=document)=>Array.from(t.querySelectorAll(s));O("[data-lenis-start]").forEach(s=>{N(s,"click",()=>_.start())});O("[data-lenis-stop]").forEach(s=>{N(s,"click",()=>_.stop())});O("[data-lenis-toggle]").forEach(s=>{N(s,"click",function(){this.classList.toggle("stop-scroll"),this.classList.contains("stop-scroll")?_.stop():_.start()})});})();
package/dist/lenis.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/maths.js", "../node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/animate.js", "../node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/dimensions.js", "../node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/debounce.js", "../node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/emitter.js", "../node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/lenis/src/virtual-scroll.js", "../node_modules/.pnpm/@studio-freight+lenis@1.0.42/node_modules/@studio-freight/src/index.ts", "../src/home/hero-animation/lenis.ts"],
4
- "sourcesContent": ["// Clamp a value between a minimum and maximum value\r\nexport function clamp(min, input, max) {\r\n return Math.max(min, Math.min(input, max))\r\n}\r\n\r\n// Truncate a floating-point number to a specified number of decimal places\r\nexport function truncate(value, decimals = 0) {\r\n return parseFloat(value.toFixed(decimals))\r\n}\r\n\r\n// Linearly interpolate between two values using an amount (0 <= t <= 1)\r\nexport function lerp(x, y, t) {\r\n return (1 - t) * x + t * y\r\n}\r\n\r\n// http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/\r\nexport function damp(x, y, lambda, dt) {\r\n return lerp(x, y, 1 - Math.exp(-lambda * dt))\r\n}\r\n\r\n// Calculate the modulo of the dividend and divisor while keeping the result within the same sign as the divisor\r\n// https://anguscroll.com/just/just-modulo\r\nexport function modulo(n, d) {\r\n return ((n % d) + d) % d\r\n}\r\n", "import { clamp, damp } from './maths'\r\n\r\n// Animate class to handle value animations with lerping or easing\r\nexport class Animate {\r\n // Advance the animation by the given delta time\r\n advance(deltaTime) {\r\n if (!this.isRunning) return\r\n\r\n let completed = false\r\n\r\n if (this.lerp) {\r\n this.value = damp(this.value, this.to, this.lerp * 60, deltaTime)\r\n if (Math.round(this.value) === this.to) {\r\n this.value = this.to\r\n completed = true\r\n }\r\n } else {\r\n this.currentTime += deltaTime\r\n const linearProgress = clamp(0, this.currentTime / this.duration, 1)\r\n\r\n completed = linearProgress >= 1\r\n const easedProgress = completed ? 1 : this.easing(linearProgress)\r\n this.value = this.from + (this.to - this.from) * easedProgress\r\n }\r\n\r\n // Call the onUpdate callback with the current value and completed status\r\n this.onUpdate?.(this.value, completed)\r\n\r\n if (completed) {\r\n this.stop()\r\n }\r\n }\r\n\r\n // Stop the animation\r\n stop() {\r\n this.isRunning = false\r\n }\r\n\r\n // Set up the animation from a starting value to an ending value\r\n // with optional parameters for lerping, duration, easing, and onUpdate callback\r\n fromTo(\r\n from,\r\n to,\r\n { lerp = 0.1, duration = 1, easing = (t) => t, onStart, onUpdate }\r\n ) {\r\n this.from = this.value = from\r\n this.to = to\r\n this.lerp = lerp\r\n this.duration = duration\r\n this.easing = easing\r\n this.currentTime = 0\r\n this.isRunning = true\r\n\r\n onStart?.()\r\n this.onUpdate = onUpdate\r\n }\r\n}\r\n", "import { debounce } from './debounce'\r\n\r\nexport class Dimensions {\r\n constructor({\r\n wrapper,\r\n content,\r\n autoResize = true,\r\n debounce: debounceValue = 250,\r\n } = {}) {\r\n this.wrapper = wrapper\r\n this.content = content\r\n\r\n if (autoResize) {\r\n this.debouncedResize = debounce(this.resize, debounceValue)\r\n\r\n if (this.wrapper === window) {\r\n window.addEventListener('resize', this.debouncedResize, false)\r\n } else {\r\n this.wrapperResizeObserver = new ResizeObserver(this.debouncedResize)\r\n this.wrapperResizeObserver.observe(this.wrapper)\r\n }\r\n\r\n this.contentResizeObserver = new ResizeObserver(this.debouncedResize)\r\n this.contentResizeObserver.observe(this.content)\r\n }\r\n\r\n this.resize()\r\n }\r\n\r\n destroy() {\r\n this.wrapperResizeObserver?.disconnect()\r\n this.contentResizeObserver?.disconnect()\r\n window.removeEventListener('resize', this.debouncedResize, false)\r\n }\r\n\r\n resize = () => {\r\n this.onWrapperResize()\r\n this.onContentResize()\r\n }\r\n\r\n onWrapperResize = () => {\r\n if (this.wrapper === window) {\r\n this.width = window.innerWidth\r\n this.height = window.innerHeight\r\n } else {\r\n this.width = this.wrapper.clientWidth\r\n this.height = this.wrapper.clientHeight\r\n }\r\n }\r\n\r\n onContentResize = () => {\r\n if (this.wrapper === window) {\r\n this.scrollHeight = this.content.scrollHeight\r\n this.scrollWidth = this.content.scrollWidth\r\n } else {\r\n this.scrollHeight = this.wrapper.scrollHeight\r\n this.scrollWidth = this.wrapper.scrollWidth\r\n }\r\n }\r\n\r\n get limit() {\r\n return {\r\n x: this.scrollWidth - this.width,\r\n y: this.scrollHeight - this.height,\r\n }\r\n }\r\n}\r\n", "export function debounce(callback, delay) {\r\n let timer\r\n return function () {\r\n let args = arguments\r\n let context = this\r\n clearTimeout(timer)\r\n timer = setTimeout(function () {\r\n callback.apply(context, args)\r\n }, delay)\r\n }\r\n}\r\n", "export class Emitter {\r\n constructor() {\r\n this.events = {}\r\n }\r\n\r\n emit(event, ...args) {\r\n let callbacks = this.events[event] || []\r\n for (let i = 0, length = callbacks.length; i < length; i++) {\r\n callbacks[i](...args)\r\n }\r\n }\r\n\r\n on(event, cb) {\r\n // Add the callback to the event's callback list, or create a new list with the callback\r\n this.events[event]?.push(cb) || (this.events[event] = [cb])\r\n\r\n // Return an unsubscribe function\r\n return () => {\r\n this.events[event] = this.events[event]?.filter((i) => cb !== i)\r\n }\r\n }\r\n\r\n off(event, callback) {\r\n this.events[event] = this.events[event]?.filter((i) => callback !== i)\r\n }\r\n\r\n destroy() {\r\n this.events = {}\r\n }\r\n}\r\n", "import { Emitter } from './emitter'\r\n\r\nconst LINE_HEIGHT = 100 / 6\r\n\r\nexport class VirtualScroll {\r\n constructor(element, { wheelMultiplier = 1, touchMultiplier = 1 }) {\r\n this.element = element\r\n this.wheelMultiplier = wheelMultiplier\r\n this.touchMultiplier = touchMultiplier\r\n\r\n this.touchStart = {\r\n x: null,\r\n y: null,\r\n }\r\n\r\n this.emitter = new Emitter()\r\n window.addEventListener('resize', this.onWindowResize, false)\r\n this.onWindowResize()\r\n\r\n this.element.addEventListener('wheel', this.onWheel, { passive: false })\r\n this.element.addEventListener('touchstart', this.onTouchStart, {\r\n passive: false,\r\n })\r\n this.element.addEventListener('touchmove', this.onTouchMove, {\r\n passive: false,\r\n })\r\n this.element.addEventListener('touchend', this.onTouchEnd, {\r\n passive: false,\r\n })\r\n }\r\n\r\n // Add an event listener for the given event and callback\r\n on(event, callback) {\r\n return this.emitter.on(event, callback)\r\n }\r\n\r\n // Remove all event listeners and clean up\r\n destroy() {\r\n this.emitter.destroy()\r\n\r\n window.removeEventListener('resize', this.onWindowResize, false)\r\n\r\n this.element.removeEventListener('wheel', this.onWheel, {\r\n passive: false,\r\n })\r\n this.element.removeEventListener('touchstart', this.onTouchStart, {\r\n passive: false,\r\n })\r\n this.element.removeEventListener('touchmove', this.onTouchMove, {\r\n passive: false,\r\n })\r\n this.element.removeEventListener('touchend', this.onTouchEnd, {\r\n passive: false,\r\n })\r\n }\r\n\r\n // Event handler for 'touchstart' event\r\n onTouchStart = (event) => {\r\n const { clientX, clientY } = event.targetTouches\r\n ? event.targetTouches[0]\r\n : event\r\n\r\n this.touchStart.x = clientX\r\n this.touchStart.y = clientY\r\n\r\n this.lastDelta = {\r\n x: 0,\r\n y: 0,\r\n }\r\n\r\n this.emitter.emit('scroll', {\r\n deltaX: 0,\r\n deltaY: 0,\r\n event,\r\n })\r\n }\r\n\r\n // Event handler for 'touchmove' event\r\n onTouchMove = (event) => {\r\n const { clientX, clientY } = event.targetTouches\r\n ? event.targetTouches[0]\r\n : event\r\n\r\n const deltaX = -(clientX - this.touchStart.x) * this.touchMultiplier\r\n const deltaY = -(clientY - this.touchStart.y) * this.touchMultiplier\r\n\r\n this.touchStart.x = clientX\r\n this.touchStart.y = clientY\r\n\r\n this.lastDelta = {\r\n x: deltaX,\r\n y: deltaY,\r\n }\r\n\r\n this.emitter.emit('scroll', {\r\n deltaX,\r\n deltaY,\r\n event,\r\n })\r\n }\r\n\r\n onTouchEnd = (event) => {\r\n this.emitter.emit('scroll', {\r\n deltaX: this.lastDelta.x,\r\n deltaY: this.lastDelta.y,\r\n event,\r\n })\r\n }\r\n\r\n // Event handler for 'wheel' event\r\n onWheel = (event) => {\r\n let { deltaX, deltaY, deltaMode } = event\r\n\r\n const multiplierX =\r\n deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.windowWidth : 1\r\n const multiplierY =\r\n deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.windowHeight : 1\r\n\r\n deltaX *= multiplierX\r\n deltaY *= multiplierY\r\n\r\n deltaX *= this.wheelMultiplier\r\n deltaY *= this.wheelMultiplier\r\n\r\n this.emitter.emit('scroll', { deltaX, deltaY, event })\r\n }\r\n\r\n onWindowResize = () => {\r\n this.windowWidth = window.innerWidth\r\n this.windowHeight = window.innerHeight\r\n }\r\n}\r\n", "import { version } from '../package.json'\r\nimport { Animate } from './animate'\r\nimport { Dimensions } from './dimensions'\r\nimport { Emitter } from './emitter'\r\nimport { clamp, modulo } from './maths'\r\nimport { VirtualScroll } from './virtual-scroll'\r\n\r\n// Technical explanation\r\n// - listen to 'wheel' events\r\n// - prevent 'wheel' event to prevent scroll\r\n// - normalize wheel delta\r\n// - add delta to targetScroll\r\n// - animate scroll to targetScroll (smooth context)\r\n// - if animation is not running, listen to 'scroll' events (native context)\r\n\r\ntype EasingFunction = (t: number) => number\r\ntype Orientation = 'vertical' | 'horizontal'\r\ntype GestureOrientation = 'vertical' | 'horizontal' | 'both'\r\n\r\nexport type LenisOptions = {\r\n wrapper?: Window | HTMLElement\r\n content?: HTMLElement\r\n wheelEventsTarget?: Window | HTMLElement\r\n eventsTarget?: Window | HTMLElement\r\n smoothWheel?: boolean\r\n syncTouch?: boolean\r\n syncTouchLerp?: number\r\n touchInertiaMultiplier?: number\r\n duration?: number\r\n easing?: EasingFunction\r\n lerp?: number\r\n infinite?: boolean\r\n orientation?: Orientation\r\n gestureOrientation?: GestureOrientation\r\n touchMultiplier?: number\r\n wheelMultiplier?: number\r\n autoResize?: boolean\r\n __experimental__naiveDimensions?: boolean\r\n}\r\n\r\nexport default class Lenis {\r\n __isSmooth: boolean = false // true if scroll should be animated\r\n __isScrolling: boolean = false // true when scroll is animating\r\n __isStopped: boolean = false // true if user should not be able to scroll - enable/disable programmatically\r\n __isLocked: boolean = false // same as isStopped but enabled/disabled when scroll reaches target\r\n\r\n constructor({\r\n wrapper = window,\r\n content = document.documentElement,\r\n wheelEventsTarget = wrapper, // deprecated\r\n eventsTarget = wheelEventsTarget,\r\n smoothWheel = true,\r\n syncTouch = false,\r\n syncTouchLerp = 0.075,\r\n touchInertiaMultiplier = 35,\r\n duration, // in seconds\r\n easing = (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),\r\n lerp = !duration && 0.1,\r\n infinite = false,\r\n orientation = 'vertical', // vertical, horizontal\r\n gestureOrientation = 'vertical', // vertical, horizontal, both\r\n touchMultiplier = 1,\r\n wheelMultiplier = 1,\r\n autoResize = true,\r\n __experimental__naiveDimensions = false,\r\n }: LenisOptions = {}) {\r\n window.lenisVersion = version\r\n\r\n // if wrapper is html or body, fallback to window\r\n if (wrapper === document.documentElement || wrapper === document.body) {\r\n wrapper = window\r\n }\r\n\r\n this.options = {\r\n wrapper,\r\n content,\r\n wheelEventsTarget,\r\n eventsTarget,\r\n smoothWheel,\r\n syncTouch,\r\n syncTouchLerp,\r\n touchInertiaMultiplier,\r\n duration,\r\n easing,\r\n lerp,\r\n infinite,\r\n gestureOrientation,\r\n orientation,\r\n touchMultiplier,\r\n wheelMultiplier,\r\n autoResize,\r\n __experimental__naiveDimensions,\r\n }\r\n\r\n this.animate = new Animate()\r\n this.emitter = new Emitter()\r\n this.dimensions = new Dimensions({ wrapper, content, autoResize })\r\n this.toggleClassName('lenis', true)\r\n\r\n this.velocity = 0\r\n this.isLocked = false\r\n this.isStopped = false\r\n this.isSmooth = syncTouch || smoothWheel\r\n this.isScrolling = false\r\n this.targetScroll = this.animatedScroll = this.actualScroll\r\n\r\n this.options.wrapper.addEventListener('scroll', this.onNativeScroll, false)\r\n\r\n this.virtualScroll = new VirtualScroll(eventsTarget, {\r\n touchMultiplier,\r\n wheelMultiplier,\r\n })\r\n this.virtualScroll.on('scroll', this.onVirtualScroll)\r\n }\r\n\r\n destroy() {\r\n this.emitter.destroy()\r\n\r\n this.options.wrapper.removeEventListener(\r\n 'scroll',\r\n this.onNativeScroll,\r\n false\r\n )\r\n\r\n this.virtualScroll.destroy()\r\n this.dimensions.destroy()\r\n\r\n this.toggleClassName('lenis', false)\r\n this.toggleClassName('lenis-smooth', false)\r\n this.toggleClassName('lenis-scrolling', false)\r\n this.toggleClassName('lenis-stopped', false)\r\n this.toggleClassName('lenis-locked', false)\r\n }\r\n\r\n on(event: string, callback: Function) {\r\n return this.emitter.on(event, callback)\r\n }\r\n\r\n off(event: string, callback: Function) {\r\n return this.emitter.off(event, callback)\r\n }\r\n\r\n private setScroll(scroll) {\r\n // apply scroll value immediately\r\n if (this.isHorizontal) {\r\n this.rootElement.scrollLeft = scroll\r\n } else {\r\n this.rootElement.scrollTop = scroll\r\n }\r\n }\r\n\r\n private onVirtualScroll = ({ deltaX, deltaY, event }) => {\r\n // keep zoom feature\r\n if (event.ctrlKey) return\r\n\r\n const isTouch = event.type.includes('touch')\r\n const isWheel = event.type.includes('wheel')\r\n\r\n const isTapToStop =\r\n this.options.syncTouch &&\r\n isTouch &&\r\n event.type === 'touchstart' &&\r\n !this.isStopped &&\r\n !this.isLocked\r\n\r\n if (isTapToStop) {\r\n this.reset()\r\n return\r\n }\r\n\r\n const isClick = deltaX === 0 && deltaY === 0 // click event\r\n\r\n // const isPullToRefresh =\r\n // this.options.gestureOrientation === 'vertical' &&\r\n // this.scroll === 0 &&\r\n // !this.options.infinite &&\r\n // deltaY <= 5 // touch pull to refresh, not reliable yet\r\n\r\n const isUnknownGesture =\r\n (this.options.gestureOrientation === 'vertical' && deltaY === 0) ||\r\n (this.options.gestureOrientation === 'horizontal' && deltaX === 0)\r\n\r\n if (isClick || isUnknownGesture) {\r\n // console.log('prevent')\r\n return\r\n }\r\n\r\n // catch if scrolling on nested scroll elements\r\n let composedPath = event.composedPath()\r\n composedPath = composedPath.slice(0, composedPath.indexOf(this.rootElement)) // remove parents elements\r\n\r\n if (\r\n !!composedPath.find(\r\n (node) =>\r\n node.hasAttribute?.('data-lenis-prevent') ||\r\n (isTouch && node.hasAttribute?.('data-lenis-prevent-touch')) ||\r\n (isWheel && node.hasAttribute?.('data-lenis-prevent-wheel')) ||\r\n (node.classList?.contains('lenis') &&\r\n !node.classList?.contains('lenis-stopped')) // nested lenis instance\r\n )\r\n )\r\n return\r\n\r\n if (this.isStopped || this.isLocked) {\r\n event.preventDefault() // this will stop forwarding the event to the parent, this is problematic\r\n return\r\n }\r\n\r\n this.isSmooth =\r\n (this.options.syncTouch && isTouch) ||\r\n (this.options.smoothWheel && isWheel)\r\n\r\n if (!this.isSmooth) {\r\n this.isScrolling = false\r\n this.animate.stop()\r\n return\r\n }\r\n\r\n event.preventDefault()\r\n\r\n let delta = deltaY\r\n if (this.options.gestureOrientation === 'both') {\r\n delta = Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX\r\n } else if (this.options.gestureOrientation === 'horizontal') {\r\n delta = deltaX\r\n }\r\n\r\n const syncTouch = isTouch && this.options.syncTouch\r\n const isTouchEnd = isTouch && event.type === 'touchend'\r\n\r\n const hasTouchInertia = isTouchEnd && Math.abs(delta) > 5\r\n\r\n if (hasTouchInertia) {\r\n delta = this.velocity * this.options.touchInertiaMultiplier\r\n }\r\n\r\n this.scrollTo(this.targetScroll + delta, {\r\n programmatic: false,\r\n ...(syncTouch\r\n ? {\r\n lerp: hasTouchInertia ? this.options.syncTouchLerp : 1,\r\n }\r\n : {\r\n lerp: this.options.lerp,\r\n duration: this.options.duration,\r\n easing: this.options.easing,\r\n }),\r\n })\r\n }\r\n\r\n resize() {\r\n this.dimensions.resize()\r\n }\r\n\r\n private emit() {\r\n this.emitter.emit('scroll', this)\r\n }\r\n\r\n private onNativeScroll = () => {\r\n if (this.__preventNextScrollEvent) return\r\n\r\n if (!this.isScrolling) {\r\n const lastScroll = this.animatedScroll\r\n this.animatedScroll = this.targetScroll = this.actualScroll\r\n this.velocity = 0\r\n this.direction = Math.sign(this.animatedScroll - lastScroll)\r\n this.emit()\r\n }\r\n }\r\n\r\n private reset() {\r\n this.isLocked = false\r\n this.isScrolling = false\r\n this.animatedScroll = this.targetScroll = this.actualScroll\r\n this.velocity = 0\r\n this.animate.stop()\r\n }\r\n\r\n start() {\r\n if (!this.isStopped) return\r\n this.isStopped = false\r\n\r\n this.reset()\r\n }\r\n\r\n stop() {\r\n if (this.isStopped) return\r\n this.isStopped = true\r\n this.animate.stop()\r\n\r\n this.reset()\r\n }\r\n\r\n raf(time: number) {\r\n const deltaTime = time - (this.time || time)\r\n this.time = time\r\n\r\n this.animate.advance(deltaTime * 0.001)\r\n }\r\n\r\n scrollTo(\r\n target: number | string | HTMLElement,\r\n {\r\n offset = 0,\r\n immediate = false,\r\n lock = false,\r\n duration = this.options.duration,\r\n easing = this.options.easing,\r\n lerp = !duration && this.options.lerp,\r\n onComplete,\r\n force = false, // scroll even if stopped\r\n programmatic = true, // called from outside of the class\r\n }: {\r\n offset?: number\r\n immediate?: boolean\r\n lock?: boolean\r\n duration?: number\r\n easing?: EasingFunction\r\n lerp?: number\r\n onComplete?: (lenis: Lenis) => void\r\n force?: boolean\r\n programmatic?: boolean\r\n } = {}\r\n ) {\r\n if ((this.isStopped || this.isLocked) && !force) return\r\n\r\n // keywords\r\n if (['top', 'left', 'start'].includes(target)) {\r\n target = 0\r\n } else if (['bottom', 'right', 'end'].includes(target)) {\r\n target = this.limit\r\n } else {\r\n let node\r\n\r\n if (typeof target === 'string') {\r\n // CSS selector\r\n node = document.querySelector(target)\r\n } else if (target?.nodeType) {\r\n // Node element\r\n node = target\r\n }\r\n\r\n if (node) {\r\n if (this.options.wrapper !== window) {\r\n // nested scroll offset correction\r\n const wrapperRect = this.options.wrapper.getBoundingClientRect()\r\n offset -= this.isHorizontal ? wrapperRect.left : wrapperRect.top\r\n }\r\n\r\n const rect = node.getBoundingClientRect()\r\n\r\n target =\r\n (this.isHorizontal ? rect.left : rect.top) + this.animatedScroll\r\n }\r\n }\r\n\r\n if (typeof target !== 'number') return\r\n\r\n target += offset\r\n target = Math.round(target)\r\n\r\n if (this.options.infinite) {\r\n if (programmatic) {\r\n this.targetScroll = this.animatedScroll = this.scroll\r\n }\r\n } else {\r\n target = clamp(0, target, this.limit)\r\n }\r\n\r\n if (immediate) {\r\n this.animatedScroll = this.targetScroll = target\r\n this.setScroll(this.scroll)\r\n this.reset()\r\n onComplete?.(this)\r\n return\r\n }\r\n\r\n if (!programmatic) {\r\n if (target === this.targetScroll) return\r\n\r\n this.targetScroll = target\r\n }\r\n\r\n this.animate.fromTo(this.animatedScroll, target, {\r\n duration,\r\n easing,\r\n lerp,\r\n onStart: () => {\r\n // started\r\n if (lock) this.isLocked = true\r\n this.isScrolling = true\r\n },\r\n onUpdate: (value: number, completed: boolean) => {\r\n this.isScrolling = true\r\n\r\n // updated\r\n this.velocity = value - this.animatedScroll\r\n this.direction = Math.sign(this.velocity)\r\n\r\n this.animatedScroll = value\r\n this.setScroll(this.scroll)\r\n\r\n if (programmatic) {\r\n // wheel during programmatic should stop it\r\n this.targetScroll = value\r\n }\r\n\r\n if (!completed) this.emit()\r\n\r\n if (completed) {\r\n this.reset()\r\n this.emit()\r\n onComplete?.(this)\r\n\r\n // avoid emitting event twice\r\n this.__preventNextScrollEvent = true\r\n requestAnimationFrame(() => {\r\n delete this.__preventNextScrollEvent\r\n })\r\n }\r\n },\r\n })\r\n }\r\n\r\n get rootElement() {\r\n return this.options.wrapper === window\r\n ? document.documentElement\r\n : this.options.wrapper\r\n }\r\n\r\n get limit() {\r\n if (this.options.__experimental__naiveDimensions) {\r\n if (this.isHorizontal) {\r\n return this.rootElement.scrollWidth - this.rootElement.clientWidth\r\n } else {\r\n return this.rootElement.scrollHeight - this.rootElement.clientHeight\r\n }\r\n } else {\r\n return this.dimensions.limit[this.isHorizontal ? 'x' : 'y']\r\n }\r\n }\r\n\r\n get isHorizontal() {\r\n return this.options.orientation === 'horizontal'\r\n }\r\n\r\n get actualScroll() {\r\n // value browser takes into account\r\n return this.isHorizontal\r\n ? this.rootElement.scrollLeft\r\n : this.rootElement.scrollTop\r\n }\r\n\r\n get scroll() {\r\n return this.options.infinite\r\n ? modulo(this.animatedScroll, this.limit)\r\n : this.animatedScroll\r\n }\r\n\r\n get progress() {\r\n // avoid progress to be NaN\r\n return this.limit === 0 ? 1 : this.scroll / this.limit\r\n }\r\n\r\n get isSmooth() {\r\n return this.__isSmooth\r\n }\r\n\r\n private set isSmooth(value: boolean) {\r\n if (this.__isSmooth !== value) {\r\n this.__isSmooth = value\r\n this.toggleClassName('lenis-smooth', value)\r\n }\r\n }\r\n\r\n get isScrolling() {\r\n return this.__isScrolling\r\n }\r\n\r\n private set isScrolling(value: boolean) {\r\n if (this.__isScrolling !== value) {\r\n this.__isScrolling = value\r\n this.toggleClassName('lenis-scrolling', value)\r\n }\r\n }\r\n\r\n get isStopped() {\r\n return this.__isStopped\r\n }\r\n\r\n private set isStopped(value: boolean) {\r\n if (this.__isStopped !== value) {\r\n this.__isStopped = value\r\n this.toggleClassName('lenis-stopped', value)\r\n }\r\n }\r\n\r\n get isLocked() {\r\n return this.__isLocked\r\n }\r\n\r\n private set isLocked(value: boolean) {\r\n if (this.__isLocked !== value) {\r\n this.__isLocked = value\r\n this.toggleClassName('lenis-locked', value)\r\n }\r\n }\r\n\r\n get className() {\r\n let className = 'lenis'\r\n if (this.isStopped) className += ' lenis-stopped'\r\n if (this.isLocked) className += ' lenis-locked'\r\n if (this.isScrolling) className += ' lenis-scrolling'\r\n if (this.isSmooth) className += ' lenis-smooth'\r\n return className\r\n }\r\n\r\n private toggleClassName(name: string, value: boolean) {\r\n this.rootElement.classList.toggle(name, value)\r\n this.emitter.emit('className change', this)\r\n }\r\n}\r\n", "// npm i @studio-freight/lenis\nimport Lenis from '@studio-freight/lenis';\n\n\nconst lenis = new Lenis({\n lerp: 0.05,\n wheelMultiplier: 0.7,\n gestureOrientation: 'vertical',\n});\n\nfunction raf(time: number): void {\n lenis.raf(time);\n requestAnimationFrame(raf);\n}\nrequestAnimationFrame(raf);\n\n// Helpers\nconst on = <K extends keyof HTMLElementEventMap>(\n el: Element | Document | Window,\n type: K,\n handler: (this: Element, ev: HTMLElementEventMap[K]) => any\n) => el.addEventListener(type, handler as EventListener);\n\nconst $$ = (selector: string, root: Document | Element = document) =>\n Array.from(root.querySelectorAll<HTMLElement>(selector));\n\n// Start\n$$('[data-lenis-start]').forEach((btn) => {\n on(btn, 'click', () => lenis.start());\n});\n\n// Stop\n$$('[data-lenis-stop]').forEach((btn) => {\n on(btn, 'click', () => lenis.stop());\n});\n\n// Toggle\n$$('[data-lenis-toggle]').forEach((btn) => {\n on(btn, 'click', function () {\n this.classList.toggle('stop-scroll');\n if (this.classList.contains('stop-scroll')) {\n lenis.stop();\n } else {\n lenis.start();\n }\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["clamp", "min", "input", "max", "Math", "Animate", "deltaTime", "this", "isRunning", "completed", "lerp", "value", "x", "y", "to", "lambda", "dt", "t", "exp", "round", "currentTime", "linearProgress", "duration", "easedProgress", "easing", "from", "onUpdate", "stop", "onStart", "Dimensions", "constructor", "wrapper", "content", "autoResize", "debounce", "debounceValue", "debouncedResize", "callback", "delay", "timer", "args", "arguments", "context", "clearTimeout", "setTimeout", "apply", "resize", "window", "addEventListener", "wrapperResizeObserver", "ResizeObserver", "observe", "contentResizeObserver", "destroy", "disconnect", "removeEventListener", "onWrapperResize", "onContentResize", "width", "innerWidth", "height", "innerHeight", "clientWidth", "clientHeight", "scrollHeight", "scrollWidth", "limit", "Emitter", "events", "event", "callbacks", "i", "length", "cb", "push", "filter", "LINE_HEIGHT", "VirtualScroll", "element", "wheelMultiplier", "touchMultiplier", "touchStart", "emitter", "onWindowResize", "onWheel", "passive", "onTouchStart", "onTouchMove", "onTouchEnd", "on", "clientX", "clientY", "targetTouches", "lastDelta", "emit", "deltaX", "deltaY", "deltaMode", "windowWidth", "windowHeight", "Lenis", "document", "documentElement", "wheelEventsTarget", "eventsTarget", "smoothWheel", "syncTouch", "syncTouchLerp", "touchInertiaMultiplier", "pow", "infinite", "orientation", "gestureOrientation", "__experimental__naiveDimensions", "__isSmooth", "__isScrolling", "__isStopped", "__isLocked", "onVirtualScroll", "ctrlKey", "isTouch", "type", "includes", "isWheel", "options", "isStopped", "isLocked", "reset", "isClick", "isUnknownGesture", "composedPath", "slice", "indexOf", "rootElement", "find", "node", "_a", "hasAttribute", "call", "_b", "_c", "r", "classList", "_d", "contains", "_e", "preventDefault", "isSmooth", "isScrolling", "animate", "delta", "abs", "hasTouchInertia", "velocity", "scrollTo", "targetScroll", "Object", "assign", "programmatic", "onNativeScroll", "__preventNextScrollEvent", "lastScroll", "animatedScroll", "actualScroll", "direction", "sign", "lenisVersion", "body", "dimensions", "toggleClassName", "virtualScroll", "off", "scroll", "isHorizontal", "scrollLeft", "scrollTop", "start", "time", "advance", "target", "offset", "immediate", "lock", "onComplete", "force", "querySelector", "nodeType", "wrapperRect", "getBoundingClientRect", "left", "top", "rect", "setScroll", "fromTo", "requestAnimationFrame", "n", "d", "progress", "className", "name", "toggle"]
7
- }