Packages
moon
2.90.5
2.90.5
retired
2.90.4
2.90.3
2.90.2
2.90.1
2.90.0
2.89.4
2.89.1
2.89.0
2.88.0
2.87.11
2.87.10
2.87.9
2.87.8
2.87.7
2.87.6
2.87.5
2.87.4
2.87.3
2.87.2
2.87.1
2.87.0
2.86.1
2.86.0
2.85.1
2.85.0
2.84.0
2.83.0
2.82.0
2.81.4
2.81.3
2.81.2
2.81.1
2.81.0
2.80.2
2.80.1
2.80.0
2.79.13
2.79.12
2.79.11
2.79.10
2.79.9
2.79.8
2.79.7
2.79.6
2.79.5
2.79.4
2.79.3
2.79.2
2.79.1
2.79.0
2.78.4
2.78.3
2.78.2
2.78.1
2.78.0
2.77.0
2.76.5
2.76.4
2.76.3
2.76.2
2.76.1
2.76.0
2.75.0
2.74.1
2.74.0
2.73.8
2.73.7
2.73.6
2.73.5
2.73.4
2.73.3
2.73.2
2.73.1
2.73.0
2.72.5
2.72.4
2.72.3
2.72.2
2.72.1
2.72.0
2.71.1
2.71.0
2.70.0
2.69.2
2.69.1
2.69.0
2.68.11
2.68.10
Components-based design system written in elixir
Retired package: Deprecated - Package no longer supported. Use moon_live_view package instead
Current section
Files
Jump to
Current section
Files
assets/node_modules/smooth-scroll-into-view-if-needed/dist/index.js
import e from"scroll-into-view-if-needed";let o;const t=()=>(o||(o="performance"in window?performance.now.bind(performance):Date.now),o());function l(e){const o=t(),n=Math.min((o-e.startTime)/e.duration,1),r=e.ease(n),s=e.startX+(e.x-e.startX)*r,i=e.startY+(e.y-e.startY)*r;e.method(s,i,n,r),s!==e.x||i!==e.y?requestAnimationFrame((()=>l(e))):e.cb()}function n(e,o,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:e=>1+--e*e*e*e*e,i=arguments.length>5?arguments[5]:void 0,a=arguments.length>6?arguments[6]:void 0;const c=e,d=e.scrollLeft,m=e.scrollTop;l({scrollable:c,method:(o,t,l,n)=>{const r=Math.ceil(o),s=Math.ceil(t);e.scrollLeft=r,e.scrollTop=s,null==a||a({target:e,elapsed:l,value:n,left:r,top:s})},startTime:t(),startX:d,startY:m,x:o,y:n,duration:r,ease:s,cb:i})}const r=e=>e&&!e.behavior||"smooth"===e.behavior;const s=function(o,t){const l=t||{};return r(l)?e(o,{block:l.block,inline:l.inline,scrollMode:l.scrollMode,boundary:l.boundary,skipOverflowHiddenElements:l.skipOverflowHiddenElements,behavior:e=>Promise.all(e.reduce(((e,o)=>{let{el:t,left:r,top:s}=o;const i=t.scrollLeft,a=t.scrollTop;return i===r&&a===s?e:[...e,new Promise((e=>n(t,r,s,l.duration,l.ease,(()=>e({el:t,left:[i,r],top:[a,s]})),l.onScrollChange)))]}),[]))}):Promise.resolve(e(o,t))};export{s as default};//# sourceMappingURL=index.js.map