scroll-rise
Advanced tools
Comparing version 1.6.3 to 1.7.0-deprecation
import { TimeFrame } from '../time-frame'; | ||
import { Scene } from '../scenes/scene'; | ||
import { RenderingActorStrategy } from '../strategies/rendering-actor.strategy'; | ||
export declare abstract class Actor { | ||
@@ -9,9 +10,9 @@ element?: HTMLElement; | ||
afterBindElement(): void; | ||
beforeRender?: () => void; | ||
afterRender?: () => void; | ||
private groupFramesByMotion; | ||
render(scrollPos: number, scene: Scene<any>): void; | ||
renderActorStrategy: RenderingActorStrategy; | ||
beforeRender: () => void; | ||
afterRender: () => void; | ||
render(scrollPosOnScene: number, scene: Scene<any>): void; | ||
addFrame(frame: TimeFrame): void; | ||
addFrames(frames: TimeFrame[]): void; | ||
initElement(scrollPosOnFrame: number, scene: Scene<any>): void; | ||
initElement(scrollPosOnScene: number, scene: Scene<any>): void; | ||
} |
@@ -11,3 +11,3 @@ import { Actor } from './actor'; | ||
calcStartOpacity(): Value; | ||
bindElement(scrollPosOnFrame: number, scene: Scene<any>): HTMLElement | undefined; | ||
bindElement(scrollPosOnScene: number, scene: Scene<any>): HTMLElement | undefined; | ||
} |
@@ -12,3 +12,3 @@ import { InitiableActor } from './initiable.actor'; | ||
constructor(element: HTMLElement | undefined, options?: StaticActorOptions | undefined); | ||
bindElement(scrollPosOnFrame: number, scene: Scene<any>): HTMLElement | undefined; | ||
bindElement(scrollPosOnScene: number, scene: Scene<any>): HTMLElement | undefined; | ||
} |
export { ScrollRise } from './scroll-rise'; | ||
export { ScrollRiseSpeed } from './scroll-rise-speed'; | ||
export { Value } from './models/value.model'; | ||
export { MotionParams } from './models/motion-params.model'; | ||
export { Util } from './util'; | ||
@@ -13,2 +14,3 @@ export { StickyPlatformScene } from './scenes/sticky-platform.scene'; | ||
export { Motion } from './motions/motion'; | ||
export { FramedMotion } from './motions/framed-motion'; | ||
export { MoveMotion } from './motions/move.motion'; | ||
@@ -15,0 +17,0 @@ export { SizeMotion } from './motions/size.motion'; |
@@ -1,2 +0,2 @@ | ||
var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{FK:()=>j,xy:()=>p,y_:()=>W,yz:()=>E,Jj:()=>x,Vi:()=>P,xs:()=>l,sP:()=>o,vJ:()=>r,XC:()=>L,Rp:()=>b,jL:()=>u,nv:()=>f,Zr:()=>n});var i,n=function(){function t(){}return t.castToInt=function(t){return Math.round(t)},t.clientWidth=function(){return document.documentElement.clientWidth},t.clientHeight=function(){return document.documentElement.clientHeight},t.innerWidth=function(){return window.innerWidth},t.innerHeight=function(){return window.innerHeight},t.documentHeight=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},t.windowSizes=function(){return{clientWidth:this.clientWidth(),clientHeight:this.clientHeight(),innerWidth:this.innerWidth(),innerHeight:this.innerHeight(),documentHeight:this.documentHeight()}},t.logWindowSizes=function(){console.log("Window size:"),"undefined"!=typeof document?(console.log("document.documentElement.clientWidth, clientHeight",document.documentElement.clientWidth,document.documentElement.clientHeight),console.log("document.documentElement.scrollWidth, scrollHeight",document.documentElement.scrollWidth,document.documentElement.scrollHeight),console.log("document.body.scrollWidth, scrollHeight",document.body.scrollWidth,document.body.scrollHeight),console.log("document.body.offsetWidth, offsetHeight",document.body.offsetWidth,document.body.offsetHeight),console.log("document.documentElement.offsetWidth, offsetHeight",document.documentElement.offsetWidth,document.documentElement.offsetHeight),console.log("document.body.clientWidth, clientHeight",document.body.clientWidth,document.body.clientHeight)):console.log("document is not defined"),"undefined"!=typeof window?console.log("window.innerWidth, innerHeight",window.innerWidth,window.innerHeight):console.log("window is not defined")},t}(),o=function(){function t(t){this.scene=t,this.initialized=!1,this.ticking=!1,this.saveDisplaySize(),this.init(),this.tick()}return t.prototype.saveDisplaySize=function(){this.displayWidth=n.clientWidth(),this.displayHeight=n.clientHeight()},t.prototype.isNeedResize=function(){return!0},t.prototype.tick=function(){var t=this;this.ticking||(null===window||void 0===window||window.requestAnimationFrame((function(){t.render(t.scene.elementY()),t.ticking=!1})),this.ticking=!0)},t.prototype.pos=function(t){return-(t+this.scene.offset())},t.prototype.scroll=function(){this.tick()},t.prototype.resize=function(){this.isNeedResize()&&(this.scene.resizeHeight(),this.scene.redrawMeasuringGrid(),this.tick())},t.prototype.init=function(){if(this.initialized)throw new Error("Scroll-Rise has already been initialized");this.initialized=!0,this.scrollListener=this.scroll.bind(this),null===window||void 0===window||window.addEventListener("scroll",this.scrollListener),this.resizeListener=this.resize.bind(this),null===window||void 0===window||window.addEventListener("resize",this.resizeListener),this.tick()},t.prototype.stop=function(){if(!this.initialized)throw new Error("Scroll-Rise hasn't yet been initialized");this.initialized=!1,void 0!==this.scrollListener&&(null===window||void 0===window||window.removeEventListener("scroll",this.scrollListener)),void 0!==this.resizeListener&&(null===window||void 0===window||window.removeEventListener("resize",this.resizeListener))},t.prototype.render=function(t){for(var e=0,i=this.scene.actors;e<i.length;e++)i[e].render(this.pos(t),this.scene)},t.version=function(){return"1.6.3"},t}(),r=function(){function t(t,e){this.container=t,this.options=e}return t.prototype.handleScrollReset=function(){scrollY=this.container.scrollTop},t.prototype.exclude=function(t){var e,i,n=this;if(null===(i=null===(e=this.options)||void 0===e?void 0:e.excludeIds)||void 0===i?void 0:i.length)return document.elementsFromPoint(t.clientX,t.clientY).find((function(t){var e,i;return null===(i=null===(e=n.options)||void 0===e?void 0:e.excludeIds)||void 0===i?void 0:i.includes(t.id)}))},t.prototype.handleMouseWheel=function(t){var e,i;if(!this.exclude(t)){t.preventDefault();var n=t.deltaY;if(n=(null===(e=this.options)||void 0===e?void 0:e.deltaY)?n*this.options.deltaY:n,(null===(i=this.options)||void 0===i?void 0:i.limitY)&&Math.abs(n)>this.options.limitY&&(n=n>0?this.options.limitY:-this.options.limitY),scrollY+=n,scrollY>0){var o=this.container.scrollHeight-this.container.clientHeight;scrollY>o&&(scrollY=o)}else scrollY=0;null===window||void 0===window||window.scrollTo(0,scrollY)}},t.prototype.init=function(){this.mouseupListener=this.handleScrollReset.bind(this),this.mousedownListener=this.handleScrollReset.bind(this),this.mousewheelListener=this.handleMouseWheel.bind(this),this.container.addEventListener("mouseup",this.mouseupListener,!1),this.container.addEventListener("mousedown",this.mousedownListener,!1),this.container.addEventListener("mousewheel",this.mousewheelListener,{passive:!1}),this.container.addEventListener("DOMMouseScroll",this.mousewheelListener,{passive:!1}),this.container.addEventListener("wheel",this.mousewheelListener,{passive:!1})},t.prototype.stop=function(){this.mouseupListener&&this.container.removeEventListener("mouseup",this.mouseupListener),this.mousedownListener&&this.container.removeEventListener("mousedown",this.mousedownListener),this.mousewheelListener&&(this.container.removeEventListener("mousewheel",this.mousewheelListener),this.container.removeEventListener("DOMMouseScroll",this.mousewheelListener),this.container.removeEventListener("wheel",this.mousewheelListener))},t}(),s=function(){function t(t,e){this.element=t,this.grid=e,this.elements=[]}return t.prototype.createLabel=function(t,e,i){if(this.grid.label){var n=document.createElement("span");return n.style.position="absolute",n.style.top="".concat(e+this.grid.label.top,"px"),n.style.left="".concat(this.grid.label.left,"px"),n.style.color=i,n.style.fontSize=this.grid.label.fontSize,n.innerText=t.toString(),n}},t.prototype.appendToMeasuringGrid=function(t){this.elements.push(t),this.element.append(t)},t.prototype.createHorizontalLine=function(t,e,i){var n=document.createElement("hr");return n.style.position="absolute",n.style.width="100%",n.style.top="".concat(t,"px"),n.style.margin="0",n.style.border="none",n.style.borderBottom="1px ".concat(e," ").concat(i),n},t.prototype.appendHorizontalGridLines=function(t){for(var e,i,o,r=t.height(n.clientWidth(),n.clientHeight(),this.element.getBoundingClientRect().height),s=this.element.getBoundingClientRect().height/r,c=null!==(i=null===(e=t.label)||void 0===e?void 0:e.startWith)&&void 0!==i?i:0,l=0;l<=s;l++){var h=l*r;if(this.appendToMeasuringGrid(this.createHorizontalLine(h,"solid",t.color)),t.label&&(d=this.createLabel(c,h,t.color))&&(this.appendToMeasuringGrid(d),c+=1),(null===(o=t.subgrid)||void 0===o?void 0:o.height)&&l+1<=s)for(var a=t.subgrid.height(r),u=h+a;u<h+r;){var d;this.appendToMeasuringGrid(this.createHorizontalLine(u,t.subgrid.borderStyle,t.subgrid.color)),t.label&&(d=this.createLabel(c,u,t.color))&&(this.appendToMeasuringGrid(d),c+=1),u+=a}}},t.prototype.createVerticalLine=function(t,e,i){var n=document.createElement("div");return n.style.position="absolute",n.style.left="".concat(t,"px"),n.style.width="0px",n.style.height="100%",n.style.borderLeft="1px ".concat(e," ").concat(i),n.style.top="0",n},t.prototype.appendVerticalSubgridLined=function(t,e,i){for(var n=i.width(e),o=t+n;o<t+e;)this.appendToMeasuringGrid(this.createVerticalLine(o,i.borderStyle,i.color)),o+=n},t.prototype.appendVerticalGridLines=function(t){var e,i,o=t.width(n.clientWidth(),n.clientHeight());(null===(e=t.subgrid)||void 0===e?void 0:e.width)&&this.appendVerticalSubgridLined(0,o,t.subgrid);for(var r=o;r<this.element.getBoundingClientRect().width;)this.appendToMeasuringGrid(this.createVerticalLine(r,"solid",t.color)),(null===(i=t.subgrid)||void 0===i?void 0:i.width)&&this.appendVerticalSubgridLined(r,o,t.subgrid),r+=o},t.prototype.clearMeasuringGrid=function(){this.elements.forEach((function(t){return t.remove()})),this.elements=[]},t.prototype.redrawMeasuringGrid=function(){this.clearMeasuringGrid(),this.grid.height&&this.appendHorizontalGridLines(this.grid),this.grid.width&&this.appendVerticalGridLines(this.grid)},t}(),c=function(){return c=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},c.apply(this,arguments)},l=function(){function t(t,e,i){this.element=t,this.height=e,this.options=i,this._actors=[],this.setDefaults(),this.init(),this.resizeHeight(),this.initMeasuringGrid(),this.redrawMeasuringGrid()}return t.prototype.setDefaults=function(){this.options=c(c({},this.defaults()),this.options)},t.prototype.defaults=function(){return{offset:function(){return 0}}},t.prototype.offset=function(){return this.options.offset(n.clientWidth(),n.clientHeight(),this.elementHeight())},t.prototype.initMeasuringGrid=function(){var t;(null===(t=this.options)||void 0===t?void 0:t.measuringGrid)&&(this.grid=new s(this.element,this.options.measuringGrid))},t.prototype.elementY=function(){return this.element.getBoundingClientRect().y},t.prototype.elementHeight=function(){return this.height(n.clientWidth(),n.clientHeight())},t.prototype.add=function(t){this._actors.push(t)},Object.defineProperty(t.prototype,"actors",{get:function(){return this._actors},enumerable:!1,configurable:!0}),t.prototype.interceptY=function(t,e,i,n){},t.prototype.redrawMeasuringGrid=function(){this.grid&&this.grid.redrawMeasuringGrid()},t}(),h=(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),a=function(){return a=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},a.apply(this,arguments)},u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="StickyPlatformScene",e}return h(e,t),e.prototype.defaults=function(){return a(a({},t.prototype.defaults.call(this)),{stickyPlatformHeight:function(t,e){return e}})},e.prototype.resizeHeight=function(){this.element.style.height="".concat(this.height(n.clientWidth(),n.clientHeight()),"px"),this.resizePlatform()},e.prototype.resizePlatform=function(){this.platform.style.height="".concat(this.options.stickyPlatformHeight(n.clientWidth(),n.clientHeight()),"px")},e.prototype.init=function(){this.element.style.position="relative",this.element.style.overflow="visible",this.platform=document.createElement("div"),this.platform.style.position="sticky",this.platform.style.top="0",this.platform.style.left="0",this.platform.style.width="100%",this.element.appendChild(this.platform)},e.prototype.add=function(e){var i;t.prototype.add.call(this,e),this.element===(null===(i=e.element)||void 0===i?void 0:i.parentElement)&&(this.platform.appendChild(e.element),e.element.style.position="absolute"),e.initElement(this.elementY(),this)},e.prototype.interceptY=function(e,i,n,o){return e<i.getStartPos()?n():e>i.getEndPos()?o():t.prototype.interceptY.call(this,e,i,n,o)},e}(l),d=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="FixedActorsScene",e.platformHeight=n.clientHeight,e}return d(e,t),e.prototype.resizeHeight=function(){this.element.style.height="".concat(this.height(n.clientWidth(),n.clientHeight()),"px")},e.prototype.init=function(){this.element.style.position="relative"},e.prototype.add=function(e){t.prototype.add.call(this,e),e.element.style.position="fixed",e.initElement(this.elementY(),this)},e.prototype.interceptY=function(e,i,n,o){if(e<i.getStartPos())return this.elementY()<0?n():this.elementY()+n();if(e>i.getEndPos()){var r=this.elementHeight()+this.elementY();return r<this.platformHeight()?o()-(this.platformHeight()-r):o()}return t.prototype.interceptY.call(this,e,i,n,o)},e}(l),f=function(){function t(t,e,i){if(void 0===i&&(i=e),this.motion=t,this.start=e,this.end=i,void 0===i)this.end=e;else if(this.getStartPos()>this.getEndPos())throw new SyntaxError('"Start" later than "End" in the frame')}return t.prototype.getStartPos=function(){return this.start(n.clientWidth(),n.clientHeight())},t.prototype.getEndPos=function(){return this.end(n.clientWidth(),n.clientHeight())},t.prototype.length=function(){return this.getEndPos()-this.getStartPos()},t}(),y=function(t,e,i){if(i||2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},g=function(){function t(){this.frames=[]}return t.prototype.afterBindElement=function(){},t.prototype.groupFramesByMotion=function(t){return t.reduce((function(t,e){var i=e.motion.name;return t[i]=t[i]?y(y([],t[i],!0),[e],!1):[e],t}),{})},t.prototype.render=function(t,e){var i;this.beforeRender&&this.beforeRender();for(var o=this.groupFramesByMotion(this.frames),r=0,s=Object.keys(o);r<s.length;r++)if(o[a=s[r]].length>1){var c=o[a].filter((function(e){return t<e.getStartPos()&&t+n.clientHeight()>=e.getStartPos()||t>=e.getStartPos()&&t+n.clientHeight()<=e.getEndPos()||t>=e.getStartPos()&&t<=e.getEndPos()}));1===c.length?o[a]=c:0===c.length&&o[a].length?(o[a].sort((function(t,e){return t.getStartPos()-e.getStartPos()})),t+n.clientHeight()<o[a][0].getStartPos()?o[a]=[o[a][0]]:(o[a].sort((function(t,e){return t.getEndPos()>e.getEndPos()?-1:t.getEndPos()>e.getEndPos()?0:1})),t>o[a][0].getEndPos()&&(o[a]=[o[a][0]]))):(c.sort((function(t,e){return t.getStartPos()-e.getStartPos()})),o[a]=[c[c.length-1]])}if(this.element)for(var l=0,h=Object.keys(o);l<h.length;l++){var a;(null===(i=o[a=h[l]])||void 0===i?void 0:i.length)&&o[a][0].motion.make(t,o[a][0],this.element,e)}this.afterRender&&this.afterRender()},t.prototype.addFrame=function(t){this.frames.push(t)},t.prototype.addFrames=function(t){this.frames=this.frames.concat(t)},t.prototype.initElement=function(t,e){this.element=this.bindElement(t,e),this.afterBindElement()},t}(),m=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return m(e,t),e.prototype.findFirstFrame=function(t){return this.frames.reduce((function(e,i){return i.motion.name===t?e?i.getStartPos()<(null==e?void 0:e.getStartPos())?i:e:i:e||void 0}),void 0)},e.prototype.findFirstMoveMotionFrame=function(){var t=this.findFirstFrame("MoveMotion");if(t)return t;throw new Error('First "MoveMotion" frame wasn\'t found')},e.prototype.calcStartSize=function(){var t=this.findFirstFrame("SizeMotion");if(t){var e=t.motion;return{width:e.startWidth,height:e.startHeight}}throw new Error('First "SizeMotion" frame wasn\'t found')},e.prototype.calcStartOpacity=function(){var t=this.findFirstFrame("OpacityMotion");if(t)return t.motion.start;throw new Error('First "OpacityMotion" frame wasn\'t found')},e.prototype.bindElement=function(t,e){return this.element},e}(g),w=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),H=function(){return H=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},H.apply(this,arguments)},b=function(t){function e(e,i){var n=t.call(this)||this;return n.element=e,n.options=i,n.options=H({initPosition:!0,initSize:!0,initOpacity:!0},n.options),n}return w(e,t),e.prototype.bindElement=function(t,e){var i,o,r;if(this.element){if(null===(i=this.options)||void 0===i?void 0:i.initPosition){var s=this.findFirstMoveMotionFrame();s.motion.make(t,s,this.element,e)}if(null===(o=this.options)||void 0===o?void 0:o.initSize){var c=this.calcStartSize();this.element.style.width="".concat(c.width(n.clientWidth(),n.clientHeight()),"px"),this.element.style.height="".concat(c.height(n.clientWidth(),n.clientHeight()),"px")}if(null===(r=this.options)||void 0===r?void 0:r.initOpacity){var l=this.calcStartOpacity();this.element.style.opacity="".concat(l(n.clientWidth(),n.clientHeight()))}}return this.element},e}(v),S=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),P=function(t){function e(e){var i=t.call(this)||this;return i.element=e,i}return S(e,t),e.prototype.bindElement=function(){return this.element},e}(v),W=function(){function t(){}return t.prototype.motionName=function(){return this.name},t}(),_=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),E=function(t){function e(e){var i=t.call(this)||this;return i.name="MoveMotion",i.startX=e.startX,i.endX=e.endX,i.startY=e.startY,i.endY=e.endY,i}return _(e,t),e.prototype.renderX=function(t,e,i){if(i){if(t<e.getStartPos())return void(i.style.left="".concat(this.startX(n.clientWidth(),n.clientHeight()),"px"));if(t>e.getEndPos())return void(i.style.left="".concat(this.endX(n.clientWidth(),n.clientHeight()),"px"));var o=(this.endX(n.clientWidth(),n.clientHeight())-this.startX(n.clientWidth(),n.clientHeight()))/e.length(),r=n.castToInt(this.startX(n.clientWidth(),n.clientHeight())+o*(t-e.getStartPos()));i.style.left="".concat(r,"px")}},e.prototype.renderY=function(t,e,i,o){var r=this,s=function(){return r.startY(n.clientWidth(),n.clientHeight())},c=function(){return r.endY(n.clientWidth(),n.clientHeight())};if(i){var l=(c()-s())/e.length(),h=n.castToInt(s()+l*(t-e.getStartPos())),a=o.interceptY(t,e,s,c);void 0!==a&&(h=a),i.style.top="".concat(h,"px")}},e.prototype.make=function(t,e,i,n){this.renderX(t,e,i),this.renderY(t,e,i,n)},e}(W),O=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),L=function(t){function e(e){var i=t.call(this)||this;return i.name="SizeMotion",i.startWidth=e.startWidth,i.endWidth=e.endWidth,i.startHeight=e.startHeight,i.endHeight=e.endHeight,i}return O(e,t),e.prototype.renderWidth=function(t,e,i){if(i){if(t<e.getStartPos())return void(i.style.width="".concat(this.startWidth(n.clientWidth(),n.clientHeight()),"px"));if(t>e.getEndPos())return void(i.style.width="".concat(this.endWidth(n.clientWidth(),n.clientHeight()),"px"));var o=(this.endWidth(n.clientWidth(),n.clientHeight())-this.startWidth(n.clientWidth(),n.clientHeight()))/e.length(),r=this.startWidth(n.clientWidth(),n.clientHeight())+o*(t-e.getStartPos());i.style.width="".concat(r,"px")}},e.prototype.renderHeight=function(t,e,i){if(i){if(t<e.getStartPos())return void(i.style.height="".concat(this.startHeight(n.clientWidth(),n.clientHeight()),"px"));if(t>e.getEndPos())return void(i.style.height="".concat(this.endHeight(n.clientWidth(),n.clientHeight()),"px"));var o=(this.endHeight(n.clientWidth(),n.clientHeight())-this.startHeight(n.clientWidth(),n.clientHeight()))/e.length(),r=this.startHeight(n.clientWidth(),n.clientHeight())+o*(t-e.getStartPos());i.style.height="".concat(r,"px")}},e.prototype.make=function(t,e,i){this.renderWidth(t,e,i),this.renderHeight(t,e,i)},e}(W),M=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),x=function(t){function e(e){var i=t.call(this)||this;return i.name="OpacityMotion",i.start=e.start,i.end=e.end,i}return M(e,t),e.prototype.renderOpacity=function(t,e,i){if(i){if(t<e.getStartPos())return void(i.style.opacity=this.start(n.clientWidth(),n.clientHeight()).toString());if(t>e.getEndPos())return void(i.style.opacity=this.end(n.clientWidth(),n.clientHeight()).toString());var o=(this.end(n.clientWidth(),n.clientHeight())-this.start(n.clientWidth(),n.clientHeight()))/e.length(),r=this.start(n.clientWidth(),n.clientHeight())+o*(t-e.getStartPos());i.style.opacity=r.toString()}},e.prototype.make=function(t,e,i){this.renderOpacity(t,e,i)},e}(W),z=function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};return function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),j=function(t){function e(e){var i=t.call(this)||this;return i.name="BoundMotion",i.before=e.before,i.after=e.after,i}return z(e,t),e.prototype.applyProperties=function(t,e){for(var i=0,n=Object.keys(e);i<n.length;i++){var o=n[i];t.style[o]=e[o]}},e.prototype.make=function(t,e,i){i&&(t<e.getStartPos()?this.applyProperties(i,this.before(n.clientWidth(),n.clientHeight())):this.applyProperties(i,this.after(n.clientWidth(),n.clientHeight())))},e}(W),Y=e.FK,F=e.xy,k=e.y_,T=e.yz,G=e.Jj,R=e.Vi,C=e.xs,A=e.sP,X=e.vJ,B=e.XC,V=e.Rp,D=e.jL,I=e.nv,J=e.Zr;export{Y as BoundMotion,F as FixedActorsScene,k as Motion,T as MoveMotion,G as OpacityMotion,R as RefActor,C as Scene,A as ScrollRise,X as ScrollRiseSpeed,B as SizeMotion,V as StaticActor,D as StickyPlatformScene,I as TimeFrame,J as Util}; | ||
var t={d:(e,n)=>{for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{FK:()=>Y,xy:()=>y,B6:()=>L,y_:()=>P,yz:()=>M,Jj:()=>k,Vi:()=>W,xs:()=>h,sP:()=>s,vJ:()=>l,XC:()=>F,Rp:()=>S,jL:()=>d,nv:()=>m,Zr:()=>n});var n=function(){function t(){}return t.castToInt=function(t){return Math.round(t)},t.clientWidth=function(){return document.documentElement.clientWidth},t.clientHeight=function(){return document.documentElement.clientHeight},t.innerWidth=function(){return window.innerWidth},t.innerHeight=function(){return window.innerHeight},t.documentHeight=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},t.prepareMotionParams=function(t,e,n,i){var o=t-n.getStartPos();return{scrollPosOnScene:t,scrollPosOnFrame:o,delta:(o-i.offset())/n.length(),element:e,frame:n,scene:i}},t.windowSizes=function(){return{clientWidth:this.clientWidth(),clientHeight:this.clientHeight(),innerWidth:this.innerWidth(),innerHeight:this.innerHeight(),documentHeight:this.documentHeight()}},t.logWindowSizes=function(){console.log("Window size:"),"undefined"!=typeof document?(console.log("document.documentElement.clientWidth, clientHeight",document.documentElement.clientWidth,document.documentElement.clientHeight),console.log("document.documentElement.scrollWidth, scrollHeight",document.documentElement.scrollWidth,document.documentElement.scrollHeight),console.log("document.body.scrollWidth, scrollHeight",document.body.scrollWidth,document.body.scrollHeight),console.log("document.body.offsetWidth, offsetHeight",document.body.offsetWidth,document.body.offsetHeight),console.log("document.documentElement.offsetWidth, offsetHeight",document.documentElement.offsetWidth,document.documentElement.offsetHeight),console.log("document.body.clientWidth, clientHeight",document.body.clientWidth,document.body.clientHeight)):console.log("document is not defined"),"undefined"!=typeof window?console.log("window.innerWidth, innerHeight",window.innerWidth,window.innerHeight):console.log("window is not defined")},t}();function i(t){return function(e,n,i){var o=i.value;return i.value=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];(null==t?void 0:t.before)&&this[t.before]&&this[t.before]();var i=o.apply(this,e);return(null==t?void 0:t.after)&&this[t.after]&&this[t.after](),i},i}}var o,r=function(){return r=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},r.apply(this,arguments)},s=function(){function t(t,e){this.scene=t,this.options=e,this.initialized=!1,this.ticking=!1,this.setDefaults(),this.saveDisplaySize(),this.init(),this.tick()}return t.prototype.setDefaults=function(){this.options=r(r({},this.defaults()),this.options)},t.prototype.defaults=function(){return{optimizeResizing:!1}},t.prototype.saveDisplaySize=function(){this.clientWidth=n.clientWidth(),this.clientHeight=n.clientHeight()},t.prototype.isNeedResize=function(){var t;return!(null===(t=this.options)||void 0===t?void 0:t.optimizeResizing)||(n.clientWidth()!==this.clientWidth||n.clientHeight()!==this.clientHeight)&&(this.saveDisplaySize(),!0)},t.prototype.tick=function(){var t=this;this.ticking||(null===window||void 0===window||window.requestAnimationFrame((function(){t.render(),t.ticking=!1})),this.ticking=!0)},t.prototype.scroll=function(){this.tick()},t.prototype.resize=function(){this.isNeedResize()&&(this.scene.resizeHeight(),this.scene.redrawMeasuringGrid(),this.tick())},t.prototype.init=function(){if(this.initialized)throw new Error("Scroll-Rise has already been initialized");this.initialized=!0,this.scrollListener=this.scroll.bind(this),null===window||void 0===window||window.addEventListener("scroll",this.scrollListener),this.resizeListener=this.resize.bind(this),null===window||void 0===window||window.addEventListener("resize",this.resizeListener),this.tick()},t.prototype.stop=function(){if(!this.initialized)throw new Error("Scroll-Rise hasn't yet been initialized");this.initialized=!1,void 0!==this.scrollListener&&(null===window||void 0===window||window.removeEventListener("scroll",this.scrollListener)),void 0!==this.resizeListener&&(null===window||void 0===window||window.removeEventListener("resize",this.resizeListener))},t.prototype.render=function(){this.scene.render()},t.version=function(){return"1.7.0-deprecation"},function(t,e,n,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(s=(r<3?o(s):r>3?o(e,n,s):o(e,n))||s);r>3&&s&&Object.defineProperty(e,n,s)}([i({before:"beforeRender",after:"afterRender"})],t.prototype,"render",null),t}(),l=function(){function t(t,e){this.container=t,this.options=e}return t.prototype.handleScrollReset=function(){scrollY=this.container.scrollTop},t.prototype.exclude=function(t){var e,n,i=this;if(null===(n=null===(e=this.options)||void 0===e?void 0:e.excludeIds)||void 0===n?void 0:n.length)return document.elementsFromPoint(t.clientX,t.clientY).find((function(t){var e,n;return null===(n=null===(e=i.options)||void 0===e?void 0:e.excludeIds)||void 0===n?void 0:n.includes(t.id)}))},t.prototype.handleMouseWheel=function(t){var e,n;if(!this.exclude(t)){t.preventDefault();var i=t.deltaY;if(i=(null===(e=this.options)||void 0===e?void 0:e.deltaY)?i*this.options.deltaY:i,(null===(n=this.options)||void 0===n?void 0:n.limitY)&&Math.abs(i)>this.options.limitY&&(i=i>0?this.options.limitY:-this.options.limitY),scrollY+=i,scrollY>0){var o=this.container.scrollHeight-this.container.clientHeight;scrollY>o&&(scrollY=o)}else scrollY=0;null===window||void 0===window||window.scrollTo(0,scrollY)}},t.prototype.init=function(){this.mouseupListener=this.handleScrollReset.bind(this),this.mousedownListener=this.handleScrollReset.bind(this),this.mousewheelListener=this.handleMouseWheel.bind(this),this.container.addEventListener("mouseup",this.mouseupListener,!1),this.container.addEventListener("mousedown",this.mousedownListener,!1),this.container.addEventListener("mousewheel",this.mousewheelListener,{passive:!1}),this.container.addEventListener("DOMMouseScroll",this.mousewheelListener,{passive:!1}),this.container.addEventListener("wheel",this.mousewheelListener,{passive:!1})},t.prototype.stop=function(){this.mouseupListener&&this.container.removeEventListener("mouseup",this.mouseupListener),this.mousedownListener&&this.container.removeEventListener("mousedown",this.mousedownListener),this.mousewheelListener&&(this.container.removeEventListener("mousewheel",this.mousewheelListener),this.container.removeEventListener("DOMMouseScroll",this.mousewheelListener),this.container.removeEventListener("wheel",this.mousewheelListener))},t}(),c=function(){function t(t,e){this.element=t,this.grid=e,this.elements=[]}return t.prototype.createLabel=function(t,e,n){if(this.grid.label){var i=document.createElement("span");return i.style.position="absolute",i.style.top="".concat(e+this.grid.label.top,"px"),i.style.left="".concat(this.grid.label.left,"px"),i.style.color=n,i.style.fontSize=this.grid.label.fontSize,i.innerText=t.toString(),i}},t.prototype.appendToMeasuringGrid=function(t){this.elements.push(t),this.element.append(t)},t.prototype.createHorizontalLine=function(t,e,n){var i=document.createElement("hr");return i.style.position="absolute",i.style.width="100%",i.style.top="".concat(t,"px"),i.style.margin="0",i.style.border="none",i.style.borderBottom="1px ".concat(e," ").concat(n),i},t.prototype.appendHorizontalGridLines=function(t){for(var e,i,o,r=t.height(n.clientWidth(),n.clientHeight(),this.element.getBoundingClientRect().height),s=this.element.getBoundingClientRect().height/r,l=null!==(i=null===(e=t.label)||void 0===e?void 0:e.startWith)&&void 0!==i?i:0,c=0;c<=s;c++){var a=c*r;if(this.appendToMeasuringGrid(this.createHorizontalLine(a,"solid",t.color)),t.label&&(p=this.createLabel(l,a,t.color))&&(this.appendToMeasuringGrid(p),l+=1),(null===(o=t.subgrid)||void 0===o?void 0:o.height)&&c+1<=s)for(var h=t.subgrid.height(r),u=a+h;u<a+r;){var p;this.appendToMeasuringGrid(this.createHorizontalLine(u,t.subgrid.borderStyle,t.subgrid.color)),t.label&&(p=this.createLabel(l,u,t.color))&&(this.appendToMeasuringGrid(p),l+=1),u+=h}}},t.prototype.createVerticalLine=function(t,e,n){var i=document.createElement("div");return i.style.position="absolute",i.style.left="".concat(t,"px"),i.style.width="0px",i.style.height="100%",i.style.borderLeft="1px ".concat(e," ").concat(n),i.style.top="0",i},t.prototype.appendVerticalSubgridLined=function(t,e,n){for(var i=n.width(e),o=t+i;o<t+e;)this.appendToMeasuringGrid(this.createVerticalLine(o,n.borderStyle,n.color)),o+=i},t.prototype.appendVerticalGridLines=function(t){var e,i,o=t.width(n.clientWidth(),n.clientHeight());(null===(e=t.subgrid)||void 0===e?void 0:e.width)&&this.appendVerticalSubgridLined(0,o,t.subgrid);for(var r=o;r<this.element.getBoundingClientRect().width;)this.appendToMeasuringGrid(this.createVerticalLine(r,"solid",t.color)),(null===(i=t.subgrid)||void 0===i?void 0:i.width)&&this.appendVerticalSubgridLined(r,o,t.subgrid),r+=o},t.prototype.clearMeasuringGrid=function(){this.elements.forEach((function(t){return t.remove()})),this.elements=[]},t.prototype.redrawMeasuringGrid=function(){this.clearMeasuringGrid(),this.grid.height&&this.appendHorizontalGridLines(this.grid),this.grid.width&&this.appendVerticalGridLines(this.grid)},t}(),a=function(){return a=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},a.apply(this,arguments)},h=function(){function t(t,e,n){this.element=t,this.height=e,this.options=n,this._actors=[],this.setDefaults(),this.init(),this.resizeHeight(),this.initMeasuringGrid(),this.redrawMeasuringGrid()}return t.prototype.setDefaults=function(){this.options=a(a({},this.defaults()),this.options)},t.prototype.defaults=function(){return{offset:function(){return 0}}},t.prototype.offset=function(){return this.options.offset(n.clientWidth(),n.clientHeight(),this.elementHeight())},t.prototype.initMeasuringGrid=function(){var t;(null===(t=this.options)||void 0===t?void 0:t.measuringGrid)&&(this.grid=new c(this.element,this.options.measuringGrid))},t.prototype.elementY=function(){return this.element.getBoundingClientRect().y},t.prototype.platformHeightValue=function(){return this.platformHeight(n.clientWidth(),n.clientHeight())},t.prototype.scrollPos=function(){return-this.elementY()},t.prototype.elementHeight=function(){return this.height(n.clientWidth(),n.clientHeight())},t.prototype.add=function(t){this._actors.push(t)},Object.defineProperty(t.prototype,"actors",{get:function(){return this._actors},enumerable:!1,configurable:!0}),t.prototype.interceptY=function(t,e){return t},t.prototype.redrawMeasuringGrid=function(){this.grid&&this.grid.redrawMeasuringGrid()},t.prototype.render=function(){for(var t=0,e=this.actors;t<e.length;t++)e[t].render(this.scrollPos(),this)},function(t,e,n,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(s=(r<3?o(s):r>3?o(e,n,s):o(e,n))||s);r>3&&s&&Object.defineProperty(e,n,s)}([i({before:"beforeRender",after:"afterRender"})],t.prototype,"render",null),t}(),u=(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},o(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),p=function(){return p=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},p.apply(this,arguments)},d=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="StickyPlatformScene",e}return u(e,t),e.prototype.platformHeight=function(t,e){return this.options.stickyPlatformHeight(t,e)},e.prototype.defaults=function(){return p(p({},t.prototype.defaults.call(this)),{stickyPlatformHeight:function(t,e){return e}})},e.prototype.resizeHeight=function(){this.element.style.height="".concat(this.height(n.clientWidth(),n.clientHeight()),"px"),this.resizePlatform()},e.prototype.resizePlatform=function(){this.platform.style.height="".concat(this.platformHeightValue(),"px")},e.prototype.init=function(){this.element.style.position="relative",this.element.style.overflow="visible",this.platform=document.createElement("div"),this.platform.style.position="sticky",this.platform.style.top="0",this.platform.style.left="0",this.platform.style.width="100%",this.element.appendChild(this.platform)},e.prototype.add=function(e){var n;t.prototype.add.call(this,e),this.element===(null===(n=e.element)||void 0===n?void 0:n.parentElement)&&(this.platform.appendChild(e.element),e.element.style.position="absolute"),e.initElement(this.elementY(),this)},e}(h),f=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),y=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="FixedActorsScene",e}return f(e,t),e.prototype.platformHeight=function(t,e){return e},e.prototype.resizeHeight=function(){this.element.style.height="".concat(this.height(n.clientWidth(),n.clientHeight()),"px")},e.prototype.init=function(){this.element.style.position="relative"},e.prototype.add=function(e){t.prototype.add.call(this,e),e.element.style.position="fixed",e.initElement(this.elementY(),this)},e.prototype.interceptY=function(e,n){return n.scrollPosOnScene<0?e-n.scrollPosOnScene:n.scrollPosOnScene>this.elementHeight()-this.platformHeightValue()?e-this.platformHeightValue()+this.elementHeight()+this.elementY():t.prototype.interceptY.call(this,e,n)},e}(h),m=function(){function t(t,e,n){if(void 0===n&&(n=e),this.motion=t,this.start=e,this.end=n,void 0===n)this.end=e;else if(this.getStartPos()>this.getEndPos())throw new SyntaxError('"Start" later than "End" in the frame')}return t.prototype.getStartPos=function(){return this.start(n.clientWidth(),n.clientHeight())},t.prototype.getEndPos=function(){return this.end(n.clientWidth(),n.clientHeight())},t.prototype.length=function(){return this.getEndPos()-this.getStartPos()},t}(),g=function(){function t(){this.frameGroups={},this.startFrame={},this.endFrame={}}return t.prototype.groupFramesByMotion=function(t){return t.reduce((function(t,e){var n=e.motion.motionName();return t[n]=t[n]?function(t,e,n){if(n||2===arguments.length)for(var i,o=0,r=e.length;o<r;o++)!i&&o in e||(i||(i=Array.prototype.slice.call(e,0,o)),i[o]=e[o]);return t.concat(i||Array.prototype.slice.call(e))}([e],t[n],!0):[e],t}),{})},t.prototype.prerender=function(t){this.frameGroups=this.groupFramesByMotion(t);for(var e=0,n=Object.keys(this.frameGroups);e<n.length;e++){var i=n[e],o=this.frameGroups[i];if(o.length){this.startFrame[i]=o[0],this.endFrame[i]=o[0];for(var r=0,s=o;r<s.length;r++){var l=s[r];l.getStartPos()<this.startFrame[i].getStartPos()&&(this.startFrame[i]=l),l.getEndPos()>this.endFrame[i].getEndPos()&&(this.endFrame[i]=l)}}}},t.prototype.findFirstHit=function(t,e){return t.find((function(t){return e>=t.getStartPos()&&e<=t.getEndPos()}))},t.prototype.findNearestFrameForHole=function(t,e){var n=t.filter((function(t){return t.getEndPos()<=e}));if(n.length){for(var i=n[0],o=0,r=n;o<r.length;o++){var s=r[o];s.getEndPos()>i.getEndPos()&&(i=s)}return i}},t.prototype.lookIntoHoles=function(t,e,n){return e<=this.startFrame[n].getStartPos()?this.startFrame[n]:e>=this.endFrame[n].getEndPos()?this.endFrame[n]:this.findNearestFrameForHole(t,e)},t.prototype.takeRenderFrame=function(t){for(var e,n=[],i=0,o=Object.keys(this.frameGroups);i<o.length;i++){var r=o[i],s=this.frameGroups[r];if(null==s?void 0:s.length){var l=null!==(e=this.findFirstHit(s,t))&&void 0!==e?e:this.lookIntoHoles(s,t,r);l&&n.push(l)}}return n},t}(),v=function(){function t(){this.frames=[],this.renderActorStrategy=new g}return t.prototype.afterBindElement=function(){},t.prototype.render=function(t,e){var i=this;if(!this.element)throw new Error("Here isn't an element");this.renderActorStrategy.takeRenderFrame(t).forEach((function(o){return o.motion.make(n.prepareMotionParams(t,i.element,o,e))}))},t.prototype.addFrame=function(t){this.addFrames([t])},t.prototype.addFrames=function(t){this.frames=this.frames.concat(t),this.renderActorStrategy.prerender(this.frames)},t.prototype.initElement=function(t,e){this.element=this.bindElement(t,e),this.afterBindElement()},function(t,e,n,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(s=(r<3?o(s):r>3?o(e,n,s):o(e,n))||s);r>3&&s&&Object.defineProperty(e,n,s)}([i({before:"beforeRender",after:"afterRender"})],t.prototype,"render",null),t}(),w=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return w(e,t),e.prototype.findFirstFrame=function(t){return this.frames.reduce((function(e,n){return n.motion.motionName()===t?e?n.getStartPos()<(null==e?void 0:e.getStartPos())?n:e:n:e||void 0}),void 0)},e.prototype.findFirstMoveMotionFrame=function(){var t=this.findFirstFrame("MoveMotion");if(t)return t;throw new Error('First "MoveMotion" frame wasn\'t found')},e.prototype.calcStartSize=function(){var t=this.findFirstFrame("SizeMotion");if(t){var e=t.motion;return{width:e.startWidth,height:e.startHeight}}throw new Error('First "SizeMotion" frame wasn\'t found')},e.prototype.calcStartOpacity=function(){var t=this.findFirstFrame("OpacityMotion");if(t)return t.motion.start;throw new Error('First "OpacityMotion" frame wasn\'t found')},e.prototype.bindElement=function(t,e){return this.element},e}(v),H=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),O=function(){return O=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},O.apply(this,arguments)},S=function(t){function e(e,n){var i=t.call(this)||this;return i.element=e,i.options=n,i.options=O({initPosition:!0,initSize:!0,initOpacity:!0},i.options),i}return H(e,t),e.prototype.bindElement=function(t,e){var i,o,r;if(this.element){if(null===(i=this.options)||void 0===i?void 0:i.initPosition){var s=this.findFirstMoveMotionFrame();s.motion.make(n.prepareMotionParams(t,this.element,s,e))}if(null===(o=this.options)||void 0===o?void 0:o.initSize){var l=this.calcStartSize();this.element.style.width="".concat(l.width(n.clientWidth(),n.clientHeight()),"px"),this.element.style.height="".concat(l.height(n.clientWidth(),n.clientHeight()),"px")}if(null===(r=this.options)||void 0===r?void 0:r.initOpacity){var c=this.calcStartOpacity();this.element.style.opacity="".concat(c(n.clientWidth(),n.clientHeight()))}}return this.element},e}(b),_=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),W=function(t){function e(e){var n=t.call(this)||this;return n.element=e,n}return _(e,t),e.prototype.bindElement=function(){return this.element},e}(b),P=function(){function t(){}return t.prototype.motionName=function(){return this.name},t}(),E=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),L=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E(e,t),e.prototype.make=function(t){if(!t.element)throw new Error("There is no element");t.delta<=0?this.makeStartStep(t):t.delta>=1?this.makeEndStep(t):this.makeUsualStep(t)},e}(P),j=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),M=function(t){function e(e){var n=t.call(this)||this;return n.name="MoveMotion",n.startX=e.startX,n.endX=e.endX,n.startY=e.startY,n.endY=e.endY,n}return j(e,t),e.prototype.setLeft=function(t,e){t.style.left="".concat(e,"px")},e.prototype.setTop=function(t,e){var n=t.scene.interceptY(e,t);t.element.style.top="".concat(n,"px")},e.prototype.makeStartStep=function(t){var e=this.startX(n.clientWidth(),n.clientHeight());this.setLeft(t.element,e);var i=this.startY(n.clientWidth(),n.clientHeight());this.setTop(t,i)},e.prototype.makeEndStep=function(t){var e=this.endX(n.clientWidth(),n.clientHeight());this.setLeft(t.element,e);var i=this.endY(n.clientWidth(),n.clientHeight());this.setTop(t,i)},e.prototype.makeUsualStep=function(t){var e=this.endX(n.clientWidth(),n.clientHeight())-this.startX(n.clientWidth(),n.clientHeight()),i=n.castToInt(this.startX(n.clientWidth(),n.clientHeight())+e*t.delta);this.setLeft(t.element,i);var o=this.endY(n.clientWidth(),n.clientHeight())-this.startY(n.clientWidth(),n.clientHeight()),r=n.castToInt(this.startY(n.clientWidth(),n.clientHeight())+o*t.delta);this.setTop(t,r)},e}(L),z=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),F=function(t){function e(e){var n=t.call(this)||this;return n.name="SizeMotion",n.startWidth=e.startWidth,n.endWidth=e.endWidth,n.startHeight=e.startHeight,n.endHeight=e.endHeight,n}return z(e,t),e.prototype.setWidth=function(t,e){t.element.style.width="".concat(e,"px")},e.prototype.setHeight=function(t,e){t.element.style.height="".concat(e,"px")},e.prototype.makeStartStep=function(t){var e=this.startWidth(n.clientWidth(),n.clientHeight());this.setWidth(t,e);var i=this.startHeight(n.clientWidth(),n.clientHeight());this.setHeight(t,i)},e.prototype.makeEndStep=function(t){var e=this.endWidth(n.clientWidth(),n.clientHeight());this.setWidth(t,e);var i=this.endHeight(n.clientWidth(),n.clientHeight());this.setHeight(t,i)},e.prototype.makeUsualStep=function(t){var e=this.endWidth(n.clientWidth(),n.clientHeight())-this.startWidth(n.clientWidth(),n.clientHeight()),i=n.castToInt(this.startWidth(n.clientWidth(),n.clientHeight())+e*t.delta);this.setWidth(t,i);var o=this.endHeight(n.clientWidth(),n.clientHeight())-this.startHeight(n.clientWidth(),n.clientHeight()),r=n.castToInt(this.startHeight(n.clientWidth(),n.clientHeight())+o*t.delta);this.setHeight(t,r)},e}(L),x=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),k=function(t){function e(e){var n=t.call(this)||this;return n.name="OpacityMotion",n.start=e.start,n.end=e.end,n}return x(e,t),e.prototype.setOpacity=function(t,e){t.element.style.opacity=e.toString()},e.prototype.makeStartStep=function(t){var e=this.start(n.clientWidth(),n.clientHeight());this.setOpacity(t,e)},e.prototype.makeEndStep=function(t){var e=this.end(n.clientWidth(),n.clientHeight());this.setOpacity(t,e)},e.prototype.makeUsualStep=function(t){var e=this.end(n.clientWidth(),n.clientHeight())-this.start(n.clientWidth(),n.clientHeight()),i=this.start(n.clientWidth(),n.clientHeight())+e*t.delta;this.setOpacity(t,i)},e}(L),R=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Y=function(t){function e(e){var n=t.call(this)||this;return n.name="BoundMotion",n.before=e.before,n.after=e.after,n}return R(e,t),e.prototype.applyProperties=function(t,e){for(var n=0,i=Object.keys(e);n<i.length;n++){var o=i[n];t.style[o]=e[o]}},e.prototype.make=function(t){if(!t.element)throw new Error("There is no element");t.scrollPosOnScene<t.frame.getStartPos()?this.applyProperties(t.element,this.before(n.clientWidth(),n.clientHeight())):this.applyProperties(t.element,this.after(n.clientWidth(),n.clientHeight()))},e}(P),T=e.FK,G=e.xy,A=e.B6,C=e.y_,V=e.yz,B=e.Jj,D=e.Vi,X=e.xs,I=e.sP,N=e.vJ,U=e.XC,J=e.Rp,K=e.jL,Z=e.nv,q=e.Zr;export{T as BoundMotion,G as FixedActorsScene,A as FramedMotion,C as Motion,V as MoveMotion,B as OpacityMotion,D as RefActor,X as Scene,I as ScrollRise,N as ScrollRiseSpeed,U as SizeMotion,J as StaticActor,K as StickyPlatformScene,Z as TimeFrame,q as Util}; | ||
//# sourceMappingURL=index.es.js.map |
import { Motion } from './motion'; | ||
import { TimeFrame } from '../time-frame'; | ||
import { MotionParams } from '../models/motion-params.model'; | ||
export declare type BoundValue = (deviceWidth: number, deviceHeight: number) => Partial<CSSStyleDeclaration>; | ||
@@ -14,3 +14,3 @@ export interface IBoundMotion { | ||
applyProperties(element: HTMLElement, properties: Partial<CSSStyleDeclaration>): void; | ||
make(scrollPosForFrame: number, frame: TimeFrame, element: HTMLElement): void; | ||
make(params: MotionParams): void; | ||
} |
@@ -1,7 +0,6 @@ | ||
import { TimeFrame } from '../time-frame'; | ||
import { Scene } from '../scenes/scene'; | ||
import { MotionParams } from '../models/motion-params.model'; | ||
export declare abstract class Motion { | ||
abstract readonly name: string; | ||
protected abstract readonly name: string; | ||
motionName(): string; | ||
abstract make(scrollPosForFrame: number, frame: TimeFrame, element: HTMLElement, scene: Scene<any>): void; | ||
abstract make(params: MotionParams): void; | ||
} |
import { Value } from '../models/value.model'; | ||
import { Motion } from './motion'; | ||
import { TimeFrame } from '../time-frame'; | ||
import { Scene } from '../scenes/scene'; | ||
import { MotionParams } from '../models/motion-params.model'; | ||
import { FramedMotion } from './framed-motion'; | ||
export interface IMoveMotion { | ||
@@ -11,3 +10,3 @@ startX: Value; | ||
} | ||
export declare class MoveMotion extends Motion { | ||
export declare class MoveMotion extends FramedMotion { | ||
name: string; | ||
@@ -19,5 +18,7 @@ startX: Value; | ||
constructor(data: IMoveMotion); | ||
renderX(scrollPos: number, frame: TimeFrame, element: HTMLElement): void; | ||
renderY(scrollPos: number, frame: TimeFrame, element: HTMLElement, scene: Scene<any>): void; | ||
make(scrollPosOnFrame: number, frame: TimeFrame, element: HTMLElement, scene: Scene<any>): void; | ||
protected setLeft(element: HTMLElement, left: number): void; | ||
protected setTop(params: MotionParams, y: number): void; | ||
protected makeStartStep(params: MotionParams): void; | ||
protected makeEndStep(params: MotionParams): void; | ||
protected makeUsualStep(params: MotionParams): void; | ||
} |
import { Value } from '../models/value.model'; | ||
import { Motion } from './motion'; | ||
import { TimeFrame } from '../time-frame'; | ||
import { MotionParams } from '../models/motion-params.model'; | ||
import { FramedMotion } from './framed-motion'; | ||
export interface IOpacityMotion { | ||
@@ -8,3 +8,3 @@ start: Value; | ||
} | ||
export declare class OpacityMotion extends Motion { | ||
export declare class OpacityMotion extends FramedMotion { | ||
name: string; | ||
@@ -14,4 +14,6 @@ start: Value; | ||
constructor(data: IOpacityMotion); | ||
renderOpacity(scrollPos: number, frame: TimeFrame, element: HTMLElement): void; | ||
make(scrollPosForFrame: number, frame: TimeFrame, element: HTMLElement): void; | ||
protected setOpacity(params: MotionParams, opacity: number): void; | ||
protected makeStartStep(params: MotionParams): void; | ||
protected makeEndStep(params: MotionParams): void; | ||
protected makeUsualStep(params: MotionParams): void; | ||
} |
import { Value } from '../models/value.model'; | ||
import { Motion } from './motion'; | ||
import { TimeFrame } from '../time-frame'; | ||
import { MotionParams } from '../models/motion-params.model'; | ||
import { FramedMotion } from './framed-motion'; | ||
export interface ISizeMotion { | ||
@@ -10,3 +10,3 @@ startWidth: Value; | ||
} | ||
export declare class SizeMotion extends Motion { | ||
export declare class SizeMotion extends FramedMotion { | ||
name: string; | ||
@@ -18,5 +18,7 @@ startWidth: Value; | ||
constructor(data: ISizeMotion); | ||
renderWidth(scrollPos: number, frame: TimeFrame, element: HTMLElement): void; | ||
renderHeight(scrollPos: number, frame: TimeFrame, element: HTMLElement): void; | ||
make(scrollPosForFrame: number, frame: TimeFrame, element: HTMLElement): void; | ||
protected setWidth(params: MotionParams, width: number): void; | ||
protected setHeight(params: MotionParams, height: number): void; | ||
protected makeStartStep(params: MotionParams): void; | ||
protected makeEndStep(params: MotionParams): void; | ||
protected makeUsualStep(params: MotionParams): void; | ||
} |
import { Actor } from '../actors/actor'; | ||
import { Util } from '../util'; | ||
import { Scene, SceneOptions } from './scene'; | ||
import { TimeFrame } from '../time-frame'; | ||
import { MotionParams } from '../models/motion-params.model'; | ||
export declare class FixedActorsScene extends Scene<SceneOptions> { | ||
name: string; | ||
protected platformHeight: typeof Util.clientHeight; | ||
protected platformHeight(deviceWidth: number, deviceHeight: number): number; | ||
resizeHeight(): void; | ||
protected init(): void; | ||
add(actor: Actor): void; | ||
interceptY(scrollPos: number, frame: TimeFrame, startY: () => number, endY: () => number): number | undefined; | ||
interceptY(y: number, params: MotionParams): number; | ||
} |
import { Actor } from '../actors/actor'; | ||
import { TimeFrame } from '../time-frame'; | ||
import { MeasuringGrid } from '../measuring-grid'; | ||
import { MeasuringGridModel } from '../models/measuring-grid.model'; | ||
import { MotionParams } from '../models/motion-params.model'; | ||
export interface SceneOptions { | ||
@@ -17,2 +17,3 @@ offset?: (deviceWidth: number, deviceHeight: number, sceneHeight: number) => number; | ||
abstract resizeHeight(): void; | ||
protected abstract platformHeight(deviceWidth: number, deviceHeight: number): number; | ||
protected grid: MeasuringGrid; | ||
@@ -25,7 +26,12 @@ constructor(element: HTMLElement, height: (deviceWidth: number, deviceHeight: number) => number, options?: Options | undefined); | ||
elementY(): number; | ||
platformHeightValue(): number; | ||
scrollPos(): number; | ||
elementHeight(): number; | ||
add(actor: Actor): void; | ||
get actors(): Actor[]; | ||
interceptY(scrollPos: number, frame: TimeFrame, startY: () => number, endY: () => number): number | undefined; | ||
interceptY(y: number, params: MotionParams): number; | ||
redrawMeasuringGrid(): void; | ||
afterRender: () => void; | ||
beforeRender: () => void; | ||
render(): void; | ||
} |
import { Actor } from '../actors/actor'; | ||
import { Scene, SceneOptions } from './scene'; | ||
import { TimeFrame } from '../time-frame'; | ||
export interface StickyPlatformSceneOptions extends SceneOptions { | ||
@@ -10,2 +9,3 @@ stickyPlatformHeight?: (deviceWidth: number, deviceHeight: number) => number; | ||
platform: HTMLElement; | ||
protected platformHeight(deviceWidth: number, deviceHeight: number): number; | ||
defaults(): StickyPlatformSceneOptions; | ||
@@ -16,3 +16,2 @@ resizeHeight(): void; | ||
add(actor: Actor): void; | ||
interceptY(scrollPos: number, frame: TimeFrame, startY: () => number, endY: () => number): number | undefined; | ||
} |
import { Scene, SceneOptions } from './scenes/scene'; | ||
export interface ScrollRiseOptions { | ||
optimizeResizing: boolean; | ||
} | ||
export declare class ScrollRise { | ||
scene: Scene<SceneOptions>; | ||
protected options?: ScrollRiseOptions | undefined; | ||
private initialized; | ||
@@ -8,9 +12,10 @@ private ticking; | ||
private resizeListener?; | ||
private displayWidth; | ||
private displayHeight; | ||
constructor(scene: Scene<SceneOptions>); | ||
private clientWidth; | ||
private clientHeight; | ||
constructor(scene: Scene<SceneOptions>, options?: ScrollRiseOptions | undefined); | ||
protected setDefaults(): void; | ||
protected defaults(): ScrollRiseOptions; | ||
saveDisplaySize(): void; | ||
isNeedResize(): boolean; | ||
tick(): void; | ||
pos(scrollPos: number): number; | ||
scroll(): void; | ||
@@ -20,4 +25,6 @@ resize(): void; | ||
stop(): void; | ||
render(scrollPos: number): void; | ||
afterRender: () => void; | ||
beforeRender: () => void; | ||
render(): void; | ||
static version(): string; | ||
} |
import { WindowSizesModel } from './models/window-sizes.model'; | ||
import { MotionParams } from './models/motion-params.model'; | ||
import { TimeFrame } from './time-frame'; | ||
import { Scene } from './scenes/scene'; | ||
export declare class Util { | ||
@@ -24,4 +27,5 @@ static castToInt(num: number): number; | ||
static documentHeight(): number; | ||
static prepareMotionParams(scrollPosOnScene: number, element: HTMLElement, frame: TimeFrame, scene: Scene<any>): MotionParams; | ||
static windowSizes(): WindowSizesModel; | ||
static logWindowSizes(): void; | ||
} |
{ | ||
"name": "scroll-rise", | ||
"version": "1.6.3", | ||
"version": "1.7.0-deprecation", | ||
"private": false, | ||
"description": "The typescript library for scroll animation", | ||
"description": "[DEPRECATED] The typescript library for scroll animation", | ||
"main": "lib/index.umd.js", | ||
@@ -7,0 +7,0 @@ "module": "lib/index.es.js", |
@@ -1,2 +0,5 @@ | ||
# Scroll Rise | ||
# DEPRECATED | ||
This package has been move to https://www.npmjs.com/package/ballet | ||
## Scroll Rise | ||
The typescript library for scroll animation. | ||
@@ -3,0 +6,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
109116
35
503
65
1