react-view-pager
Advanced tools
Comparing version 0.5.0-prerelease to 0.5.0-prerelease.1
## CHANGELOG | ||
### 0.5.0 | ||
### 0.5.0-prerelease.1 | ||
General cleanup | ||
Fixes Avoid call to window in window-less environment [#28](https://github.com/souporserious/react-view-pager/pull/28) | ||
Fixes `beforeViewChange` being called twice | ||
Fixes `onScroll` callback to allow use of `setState` | ||
Moved main props to the `Track` component | ||
Added `ViewPager` wrapper component. It was a hard decision to add another component, but this will allow some cool animations and other features. | ||
Added `AnimatedView` component to allow animations that are relative to the pager. | ||
Updated `animation-bus` to `0.2.0` | ||
### 0.5.0-prerelease | ||
Major Update again, sorry for the big changes. This has been a rough road, but I feel it has finally smoothed out and I'm very happy with where everything is at. | ||
@@ -9,18 +26,33 @@ | ||
**Breaking Changes** | ||
*Props changed* | ||
`currentIndex` && `currentKey` -> `currentView` | ||
`slidesToShow` -> `viewsToShow` | ||
`slidesToMove` -> `viewsToMove` | ||
`vertical` -> `axis` | ||
`autoHeight` -> `autoSize` | ||
*Props added* | ||
`contain` | ||
`animations` | ||
`accessibility` | ||
`onSwipeStart` | ||
`onSwipeMove` | ||
`onSwipeEnd` | ||
`onScroll` | ||
`beforeViewChange` | ||
`afterViewChange` | ||
@@ -27,0 +59,0 @@ |
/*! | ||
* React View Pager 0.5.0-prerelease | ||
* React View Pager 0.5.0-prerelease.1 | ||
* https://github.com/souporserious/react-view-pager | ||
* Copyright (c) 2016 React View Pager Authors | ||
*/ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom"),require("react-motion"),require("get-prefix")):"function"==typeof define&&define.amd?define(["react","react-dom","react-motion","get-prefix"],t):"object"==typeof exports?exports.ReactViewPager=t(require("react"),require("react-dom"),require("react-motion"),require("get-prefix")):e.ReactViewPager=t(e.React,e.ReactDOM,e.ReactMotion,e.getPrefix)}(this,function(e,t,n,i){return function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return e[i].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.utils=t.ImageView=t.Track=t.Frame=void 0;var r=n(1),o=i(r),a=n(13),s=i(a),u=n(18),c=i(u),f=n(10),l=i(f);t.Frame=o.default,t.Track=s.default,t.ImageView=c.default,t.utils=l.default},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),f=n(2),l=i(f),p=n(3),h=(i(p),n(4)),v=n(5),d=i(v),w=n(11),y=i(w),g=n(12),m=i(g),b=n(13),_=(i(b),n(14)),P=(i(_),n(17)),S=i(P),x=function(){return null},O={tag:f.PropTypes.string,currentView:f.PropTypes.any,viewsToShow:f.PropTypes.any,viewsToMove:f.PropTypes.number,align:f.PropTypes.number,contain:f.PropTypes.bool,axis:f.PropTypes.oneOf(["x","y"]),autoSize:f.PropTypes.bool,animations:f.PropTypes.array,infinite:f.PropTypes.bool,instant:f.PropTypes.bool,swipe:f.PropTypes.oneOf([!0,!1,"mouse","touch"]),swipeThreshold:f.PropTypes.number,flickTimeout:f.PropTypes.number,accessibility:f.PropTypes.bool,springConfig:l.default.PropTypes.objectOf(l.default.PropTypes.number),onSwipeStart:f.PropTypes.func,onSwipeMove:f.PropTypes.func,onSwipeEnd:f.PropTypes.func,onScroll:f.PropTypes.func,beforeViewChange:f.PropTypes.func,afterViewChange:f.PropTypes.func},k=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._setFrameSize=function(){var e=n._viewPager.getFrameSize(!0,!0);e.width&&e.height&&n.setState(e,function(){n.state.instant&&n.setState({instant:!1})})},n._viewPager=new d.default(e),n._swipe=new y.default(n._viewPager),n._keyboard=new m.default(n._viewPager),n.state={width:0,height:0,instant:!0},n}return a(t,e),c(t,[{key:"getChildContext",value:function(){return{viewPager:this._viewPager}}},{key:"componentDidMount",value:function(){var e=this;this._viewPager.addFrame((0,p.findDOMNode)(this)),this._setFrameSize(),this._viewPager.on("viewAdded",this._setFrameSize),this._viewPager.on("hydrated",function(){e.forceUpdate()}),this._viewPager.on("viewChange",function(t){e.props.beforeViewChange(t),e._setFrameSize()}),this._viewPager.on("swipeStart",this.props.onSwipeStart),this._viewPager.on("swipeMove",this.props.onSwipeMove),this._viewPager.on("swipeEnd",this.props.onSwipeEnd),this._viewPager.on("scroll",this.props.onScroll),this._viewPager.on("rest",this.props.afterViewChange)}},{key:"componentWillReceiveProps",value:function(e){var t=e.currentView;e.children;void 0!==("undefined"==typeof t?"undefined":u(t))&&this.props.currentView!==t&&this.scrollTo(t)}},{key:"componentWillUnmount",value:function(){this._viewPager.destroy()}},{key:"getInstance",value:function(){return this._viewPager}},{key:"prev",value:function(){this._viewPager.prev()}},{key:"next",value:function(){this._viewPager.next()}},{key:"scrollTo",value:function(e){this._viewPager.emit("updateView",e)}},{key:"_getFrameStyle",value:function(){var e=this.state,t=e.width,n=e.height,i=e.instant;return{maxWidth:i?t:(0,h.spring)(t),height:i?n:(0,h.spring)(n)}}},{key:"_renderFrame",value:function(e){var t=this.props,n=t.tag,i=(t.axis,t.autoSize,t.accessibility),r=(0,S.default)(s({},this._swipe.getEvents(),this._keyboard.getEvents(),{tabIndex:i?0:null}),this.props,O);return(0,f.createElement)(n,s({},r,{style:s({},e,r.style)}))}},{key:"render",value:function(){var e=this,t=(this.state.height,{position:"relative",overflow:"hidden"});return this.props.autoSize?l.default.createElement(h.Motion,{style:this._getFrameStyle()},function(n){return n.maxWidth&&(t.maxWidth=n.maxWidth),n.height&&(t.height=n.height),e._renderFrame(t)}):this._renderFrame(t)}}]),t}(f.Component);k.propTypes=O,k.defaultProps={tag:"div",currentView:0,viewsToShow:1,viewsToMove:1,align:0,contain:!1,axis:"x",autoSize:!1,infinite:!1,instant:!1,swipe:!0,swipeThreshold:.5,flickTimeout:300,accessibility:!0,springConfig:h.presets.noWobble,onSwipeStart:x,onSwipeMove:x,onSwipeEnd:x,onScroll:x,beforeViewChange:x,afterViewChange:x},k.childContextTypes={viewPager:f.PropTypes.instanceOf(d.default)},t.default=k,e.exports=t.default},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),f=n(6),l=i(f),p=n(7),h=i(p),v=n(9),d=i(v),w=n(10),y=function(e){function t(e){var n=e.index,i=r(e,["index"]);o(this,t);var s=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,i));return s.index=n,s.isCurrent=!1,s.setTarget(),s.setOrigin(),s}return s(t,e),c(t,[{key:"setTarget",value:function(){var e=this.pager.getStartCoords(this.index);this.pager.options.align&&(e+=this.pager.getAlignOffset(this)),this.target=e}},{key:"setOrigin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.pager.trackPosition;this.origin=this.target-e}}]),t}(d.default),g=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.resize=function(){n.hydrate(),n.emit("resize")},n.hydrate=function(){n.frame&&n.frame.setSize(),n.track&&n.track.setSize(),n.views.forEach(function(e){e.setSize(),e.setTarget()}),n.setPositionValue(),n.setViewStyles(),n.emit("hydrated")},n.options=u({viewsToShow:"auto",viewsToMove:1,align:0,contain:!1,axis:"x",autoSize:!1,animations:[],infinite:!1,instant:!1,swipe:!0,swipeThreshold:.5,flickTimeout:300,accessibility:!0},e),n.views=[],n.currentIndex=0,n.currentView=null,n.currentTween=0,n.trackPosition=0,n.isSwiping=!1,n.animationBus=new h.default(n.options.animations,function(e){return e.origin}),window.addEventListener("resize",n.resize),n}return s(t,e),c(t,[{key:"destroy",value:function(){window.removeEventListener("resize",this.resize)}},{key:"addFrame",value:function(e){this.frame=new d.default({node:e,pager:this}),this.hydrate()}},{key:"addTrack",value:function(e){this.track=new d.default({node:e,pager:this}),this.hydrate()}},{key:"addView",value:function(e){var t=this.views.length,n=new y({node:e,index:t,pager:this});return this.views.push(n),this.currentView||this.setCurrentView(0,t,!0),this.emit("viewAdded"),this.hydrate(),n}},{key:"removeView",value:function(e){this.views=this.views.filter(function(t){return e!==t}),this.emit("viewRemoved"),this.hydrate()}},{key:"prev",value:function(){this.setCurrentView(-1)}},{key:"next",value:function(){this.setCurrentView(1)}},{key:"setCurrentView",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.currentIndex,n=arguments[2],i=this.options,r=i.viewsToMove,o=i.infinite,a=t+e*r,s=this.currentIndex,u=o?a:(0,w.clamp)(a,0,this.views.length-1),c=this.getView(s),f=this.getView(u);if(this.currentIndex=u,this.currentView=f,c.isCurrent=!1,f.isCurrent=!0,this.setPositionValue(),!n){var l=this.getNumericViewsToShow(),p=this.views.length;this.emit("viewChange",{from:(0,w.range)(s,s+l,p),to:(0,w.range)(u,u+l,p)})}}},{key:"setPositionValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentView?this.currentView.target:0;if(!this.isSwiping){var t=this.options,n=t.viewsToShow,i=t.autoSize,r=t.infinite,o=t.contain,a=this.getTrackSize();if(r&&(e-=(Math.floor(this.currentIndex/this.views.length)||0)*a),o){var s="auto"===n&&i||n<=1?0:this.getFrameSize(!1);e=(0,w.clamp)(e,s-a,0)}}this.trackPosition=e}},{key:"setViewStyles",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=this.options,n=t.infinite,i=t.align,r=this.getFrameSize(),o=this.getTrackSize(),a=(0,w.modulo)(e,-o);this.views.reduce(function(t,s,u){var c=s.getSize(),f=t+c,l=t;return n&&(f+c*i<Math.abs(a)?l+=o:t>r-a&&(l-=o)),s.setPosition(l),s.setOrigin(e),f},0)}},{key:"getNumericViewsToShow",value:function(){return isNaN(this.options.viewsToShow)?1:this.options.viewsToShow}},{key:"getMaxDimensions",value:function(e){var t=this.options.axis,n=e.map(function(e){return e.getSize("width")}),i=e.map(function(e){return e.getSize("height")});return{width:"x"===t?(0,w.sum)(n):(0,w.max)(n),height:"y"===t?(0,w.sum)(i):(0,w.max)(i)}}},{key:"getFrameSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.autoSize,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.options,i=n.infinite,r=n.contain,o=n.axis,a={width:0,height:0};if(this.views.length)if(e){var s=[],u=isNaN(this.options.viewsToShow)?1:this.options.viewsToShow,c=this.currentIndex,f=this.currentIndex+(u-1);if(r){c=(0,w.clamp)(c,0,this.views.length-u),f=(0,w.clamp)(f,0,this.views.length-1);for(var l=c;l<=f;l++)s.push(this.getView(l))}else for(var p=c;p<=f;p++){var h=i?(0,w.modulo)(p,this.views.length):(0,w.clamp)(p,0,this.views.length-1);s.push(this.getView(h))}a=this.getMaxDimensions(s)}else this.frame&&(a={width:this.frame.getSize("width"),height:this.frame.getSize("height")});return t?a:a["x"===o?"width":"height"]}},{key:"getTrackSize",value:function(){var e=0;return this.views.forEach(function(t){e+=t.getSize()}),e}},{key:"getView",value:function(e){return this.views[(0,w.modulo)(e,this.views.length)]}},{key:"getStartCoords",value:function(e){var t=0;return this.views.slice(0,e).forEach(function(e){t-=e.getSize()}),t}},{key:"getAlignOffset",value:function(e){var t=this.getFrameSize(!1),n=e.getSize();return(t-n)*this.options.align}},{key:"getPositionValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.trackPosition,t=this.options,n=t.infinite,i=(t.contain,{x:0,y:0});if(this.currentTween=e,n){var r=this.getTrackSize();e=(0,w.modulo)(e,-r)||0}return this.emit("scroll",e),i[this.options.axis]=e,i}},{key:"resetViews",value:function(){this.setCurrentView(0,(0,w.modulo)(this.currentIndex,this.views.length),!0)}}]),t}(l.default);t.default=g,e.exports=t.default},function(e,t){"use strict";e.exports=function(e){var t={},n=[];e=e||this,e.on=function(e,n,i){(t[e]=t[e]||[]).push([n,i])},e.off=function(e,i){e||(t={});for(var r=t[e]||n,o=r.length=i?r.length:0;o--;)i==r[o][0]&&r.splice(o,1)},e.emit=function(e){for(var i,r=t[e]||n,o=r.length>0?r.slice(0,r.length):r,a=0;i=o[a++];)i[0].apply(i[1],n.slice.call(arguments,1))}}},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=n(8),s=i(a),u={perspective:"px",rotate:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scaleX:"",scaleY:"",scaleZ:"",skew:"deg",skewX:"deg",skewY:"deg",translateX:"px",translateY:"px",translateZ:"px"},c=Object.keys(u),f=function(){function e(t,n){r(this,e),this.animations=t,this.origin=n,this.createScaleFunctions()}return o(e,[{key:"createScaleFunctions",value:function(){this.animations.forEach(function(e){var t=[],n=[];e.stops.forEach(function(e){t.push(e[0]),n.push(e[1])}),e.scale=function(e){return(0,s.default)(t,n,!0)(e)}})}},{key:"getStyles",value:function(e){var t=this.origin(e),n=[],i={};return this.animations.forEach(function(e){var r=e.name,o=e.unit||u[r]||"",a=e.scale(t);c.indexOf(r)>-1?n.push(r+"("+a+o+")"):i[r]=""+a+o}),n.length&&(i.transform=n.join(" ")),i}},{key:"applyStyles",value:function(e){var t=this.getStyles(e);Object.keys(t).forEach(function(n){return e.style[n]=t[n]})}}]),e}();t.default=f,e.exports=t.default},function(e,t){"use strict";function n(e,t,n){if(e=e||[0,1],t=t||[0,1],n=n||!1,e.length!==t.length)throw new Error("polylinearScale requires domain and range to have an equivalent number of values");return i.domain=e,i.range=t,i.clamp=n,r}var i={},r=function(e){for(var t,n,r,o,a,s,u=i.domain,c=i.range,f=0;f<u.length-1;){if(e>=u[f]&&e<=u[f+1]){r=[u[f],u[f+1]],o=[c[f],c[f+1]];break}f++}return void 0===r&&(e<u[0]?(r=[u[0],u[1]],o=[c[0],c[1]]):(r=[u[u.length-2],u[u.length-1]],o=[c[c.length-2],c[c.length-1]])),a=(o[1]-o[0])/(r[1]-r[0]),s=o[0]+a*(e-r[0]),i.clamp&&(t=Math.min(o[0],o[1]),n=Math.max(o[0],o[1]),s=Math.min(n,Math.max(t,s))),s};e.exports=n},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=function(){function e(t){var i=t.node,r=t.pager,o=t.width,a=t.height;n(this,e),this.node=i,this.pager=r,this.x=this.y=0,this.setSize(o,a)}return i(e,[{key:"setSize",value:function(e,t){this.width=e||this.node.offsetWidth,this.height=t||this.node.offsetHeight}},{key:"setPosition",value:function(e){this[this.pager.options.axis]=e}},{key:"getSize",value:function(e){if("width"===e||"height"===e)return this[e];var t=this.pager.options.axis;return this["x"===t?"width":"height"]}},{key:"getPosition",value:function(){return this[this.pager.options.axis]}}]),e}();t.default=r,e.exports=t.default},function(e,t){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t){return(e%t+t)%t}function r(e,t,n){return Math.min(Math.max(t,e),n)}function o(e){return e.reduce(function(e,t){return e+t},0)}function a(e){return Math.max.apply(null,e)}function s(e,t,r){return[].concat(n(Array(t-e))).map(function(t,n){return i(e+n,r)})}Object.defineProperty(t,"__esModule",{value:!0}),t.modulo=i,t.clamp=r,t.sum=o,t.max=a,t.range=s},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return e.touches&&e.touches[0]||e}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=function(){function e(t){var r=this;n(this,e),this._onSwipeStart=function(e){var t=i(e),n=t.pageX,o=t.pageY;r.pager.isSwiping=!0,r._swipeStart={x:n,y:o},r._swipeDiff={x:0,y:0},r._isFlick=!0,setTimeout(function(){r._isFlick=!1},r.pager.options.flickTimeout),r.pager.emit("swipeStart")},this._onSwipeMove=function(e){if(r.pager.isSwiping){var t=r.pager.options,n=t.swipeThreshold,o=t.axis,a=i(e),s=a.pageX,u=a.pageY;if(r._trackStart||(r._trackStart=r.pager.currentTween),r._swipeDiff={x:r._swipeStart.x-s,y:r._swipeStart.y-u},r._isSwipe(n)){e.preventDefault(),e.stopPropagation();var c=r._swipeDiff[o],f=r._trackStart-c;r.pager.setPositionValue(f),r.pager.emit("swipeMove")}}},this._onSwipeEnd=function(){var e=r.pager,t=(e.frame,e.currentView),n=(e.trackPosition,r.pager.options),i=n.swipeThreshold,o=n.viewsToMove,a=n.axis,s=(n.infinite,r._isFlick?i:t.getSize()*o*i);r.pager.isSwiping=!1,r._trackStart=!1,(r._swipeDiff.x||r._swipeDiff.y)&&(r._isSwipe(s)?r._swipeDiff[a]<0?r.pager.prev():r.pager.next():r.pager.setPositionValue()),r.pager.emit("swipeEnd")},this._onSwipePast=function(){r.pager.isSwiping&&r._onSwipeEnd()},this.pager=t,this._trackStart=!1,this._swipeStart=this._swipeDiff={x:0,y:0}}return r(e,[{key:"_isSwipe",value:function(e){var t=this._swipeDiff,n=t.x,i=t.y;return"x"===this.pager.options.axis?Math.abs(n)>Math.max(e,Math.abs(i)):Math.abs(n)<Math.max(e,Math.abs(i))}},{key:"getEvents",value:function(){var e=this.pager.options.swipe,t={};return e!==!0&&"mouse"!==e||(t.onMouseDown=this._onSwipeStart,t.onMouseMove=this._onSwipeMove,t.onMouseUp=this._onSwipeEnd,t.onMouseLeave=this._onSwipePast),e!==!0&&"touch"!==e||(t.onTouchStart=this._onSwipeStart,t.onTouchMove=this._onSwipeMove,t.onTouchEnd=this._onSwipeEnd),t}}]),e}();t.default=o,e.exports=t.default},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=n(10),a=function(){function e(t){var n=this;i(this,e),this._handleKeyDown=function(e){switch(e.key){case"ArrowUp":case"ArrowLeft":return void n.pager.prev();case"ArrowDown":case"ArrowRight":case" ":return void n.pager.next();case"Home":return void n.pager.setCurrentView(0,0);case"End":return void n.pager.setCurrentView(0,n.pager.views.length-1)}for(var t=(0,o.clamp)(n.pager.views.length,0,9),i=1;i<=t;i++)+e.key===i&&n.pager.setCurrentView(0,i-1)},this.pager=t}return r(e,[{key:"getEvents",value:function(){var e={};return this.pager.options.accessibility&&(e.onKeyDown=this._handleKeyDown),e}}]),e}();t.default=a,e.exports=t.default},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},f=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=n(2),p=i(l),h=n(3),v=(i(h),n(4)),d=n(5),w=i(d),y=n(14),g=i(y),m=n(15),b=i(m),_=n(16)("transform"),P=function(e){function t(){var e,n,i,r;a(this,t);for(var o=arguments.length,u=Array(o),c=0;c<o;c++)u[c]=arguments[c];return n=i=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),i.state={instant:!1},i._currentTween=0,i._handleOnRest=function(){var e=i.context.viewPager;e.options.infinite&&!i.state.instant&&(e.resetViews(),i._setValueInstantly(!0,!0)),e.emit("rest")},r=n,s(i,r)}return u(t,e),f(t,[{key:"componentDidMount",value:function(){var e=this,t=this.context.viewPager;t.addTrack((0,h.findDOMNode)(this)),this._setValueInstantly(!0,!0),t.on("hydrated",function(){return e._setValueInstantly(!0,!0)}),t.on("swipeMove",function(){return e._setValueInstantly(!0)}),t.on("swipeEnd",function(){return e._setValueInstantly(!1)}),this.setCurrentView(t.options.currentView),t.on("updateView",function(t){e.setCurrentView(t)})}},{key:"setCurrentView",value:function(e){this.context.viewPager.setCurrentView(0,(0,b.default)(e,this.props.children))}},{key:"componentWillReceiveProps",value:function(e){var t=e.instant;this.props.instant!==t&&this.setState({instant:t})}},{key:"_setValueInstantly",value:function(e,t){var n=this;this.setState({instant:e},function(){t&&n.setState({instant:!1})})}},{key:"_getTrackStyle",value:function(){var e=this.context.viewPager.trackPosition;return this.state.instant||(e=(0,v.spring)(e,this.props.springConfig)),{trackPosition:e}}},{key:"_renderViews",value:function(){return l.Children.map(this.props.children,function(e){return p.default.createElement(g.default,{children:e})})}},{key:"render",value:function(){var e=this,t=this.context.viewPager,n=this.props,i=n.tag,a=(n.springConfig,o(n,["tag","springConfig"]));return p.default.createElement(v.Motion,{style:this._getTrackStyle(),onRest:this._handleOnRest},function(n){var o=n.trackPosition,s=t.getPositionValue(o),u=s.x,f=s.y,p=c({},a.style,r({},_,"translate3d("+u+"px, "+f+"px, 0)"));return t.setViewStyles(o),(0,l.createElement)(i,c({},a,{style:p}),e._renderViews())})}}]),t}(l.Component);P.propTypes={springConfig:l.PropTypes.objectOf(l.PropTypes.number)},P.defaultProps={tag:"div",springConfig:v.presets.noWobble},P.contextTypes={viewPager:l.PropTypes.instanceOf(w.default)},t.default=P,e.exports=t.default},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},f=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=n(2),p=(i(l),n(3)),h=(i(p),n(5)),v=i(h),d=function(e){function t(){return a(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,e),f(t,[{key:"componentDidMount",value:function(){this._viewInstance=this.context.viewPager.addView((0,p.findDOMNode)(this)),this.forceUpdate()}},{key:"componentWillUnmount",value:function(){this.context.viewPager.removeView(this._viewInstance)}},{key:"render",value:function(){var e=this.context.viewPager,t=e.options,n=t.viewsToShow,i=t.axis,a=this.props,s=a.children,u=o(a,["children"]),f=l.Children.only(s),p=c({},f.props.style,{position:"relative",top:0,left:0});if("auto"!==n&&(p["x"===i?"width":"height"]=100/n+"%"),this._viewInstance){this._viewInstance.isCurrent||(p.position="absolute");var h="y"===i?"top":"left";p=c({},p,r({},h,this._viewInstance.getPosition()),e.animationBus.getStyles(this._viewInstance))}return(0,l.cloneElement)(f,c({},u,{style:p}))}}]),t}(l.Component);d.contextTypes={viewPager:l.PropTypes.instanceOf(v.default)},t.default=d,e.exports=t.default},function(e,t,n){"use strict";function i(e,t){var n=null;return r.Children.forEach(t,function(t,i){if(t.key===e||i===e)return void(n=i)}),n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var r=n(2);e.exports=t.default},function(e,t){e.exports=i},function(e,t){"use strict";function n(e,t,n){for(var i in t)t.hasOwnProperty(i)&&!n[i]&&(e[i]=t[i]);return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),c=n(2),f=(i(c),n(5)),l=i(f),p=function(e){function t(){var e,n,i,a;r(this,t);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return n=i=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),i._handleLoaded=function(e){i.context.viewPager.hydrate(),"function"==typeof i.props.onLoad&&i.props.onLoad(e)},a=n,o(i,a)}return a(t,e),u(t,[{key:"render",value:function(){return(0,c.createElement)("img",s({},this.props,{onLoad:this._handleLoaded}))}}]),t}(c.Component);p.contextTypes={viewPager:c.PropTypes.instanceOf(l.default)},t.default=p,e.exports=t.default}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom"),require("react-motion"),require("get-prefix")):"function"==typeof define&&define.amd?define(["react","react-dom","react-motion","get-prefix"],t):"object"==typeof exports?exports.ReactViewPager=t(require("react"),require("react-dom"),require("react-motion"),require("get-prefix")):e.ReactViewPager=t(e.React,e.ReactDOM,e.ReactMotion,e.getPrefix)}(this,function(e,t,n,r){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.utils=t.AnimatedView=t.ImageView=t.Track=t.Frame=t.ViewPager=void 0;var i=n(1),o=r(i),a=n(10),s=r(a),u=n(16),c=r(u),f=n(20),p=r(f),l=n(21),h=r(l),y=n(9),d=r(y);t.ViewPager=o.default,t.Frame=s.default,t.Track=c.default,t.ImageView=p.default,t.AnimatedView=h.default,t.utils=d.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(2),f=(r(c),n(3)),p=r(f),l=function(e){function t(e){o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=new p.default,i=function(){return n.forceUpdate()};return r.on("viewChange",i),r.on("hydrated",i),n._pager=r,n}return s(t,e),u(t,[{key:"getChildContext",value:function(){return{pager:this._pager}}},{key:"componentWillUnmount",value:function(){this._pager.destroy()}},{key:"getInstance",value:function(){return this._pager}},{key:"render",value:function(){var e=this.props,t=e.tag,n=i(e,["tag"]);return(0,c.createElement)(t,n)}}]),t}(c.Component);l.childContextTypes={pager:c.PropTypes.instanceOf(p.default)},l.propTypes={tag:c.PropTypes.string},l.defaultProps={tag:"div"},t.default=l,e.exports=t.default},function(t,n){t.exports=e},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=n(4),p=r(f),l=n(5),h=r(l),y=n(8),d=r(y),v=n(9),g=function(e){function t(e){var n=e.index,r=i(e,["index"]);o(this,t);var s=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,r));return s.index=n,s.isCurrent=!1,s.setTarget(),s.setOrigin(),s}return s(t,e),c(t,[{key:"setTarget",value:function(){var e=this.pager.getStartCoords(this.index);this.pager.options.align&&(e+=this.pager.getAlignOffset(this)),this.target=e}},{key:"setOrigin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.pager.trackPosition;this.origin=this.target-e}}]),t}(d.default),w=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.resize=function(){n.hydrate(),n.emit("resize")},n.hydrate=function(){n.frame&&n.frame.setSize(),n.track&&n.track.setSize(),n.views.forEach(function(e){e.setSize(),e.setTarget()}),n.setPositionValue(),n.setViewStyles(),n.emit("hydrated")},n.options=u({viewsToShow:"auto",viewsToMove:1,align:0,contain:!1,axis:"x",autoSize:!1,animations:[],infinite:!1,instant:!1,swipe:!0,swipeThreshold:.5,flickTimeout:300,accessibility:!0},e),n.views=[],n.currentIndex=0,n.currentView=null,n.currentTween=0,n.trackPosition=0,n.isSwiping=!1,n.animationBus=new h.default({animations:n.options.animations,origin:function(e){return e.origin}}),"undefined"==typeof window?a(n):(window.addEventListener("resize",n.resize),n)}return s(t,e),c(t,[{key:"setOptions",value:function(e){this.options=u({},this.options,e),this.animationBus.animations=this.options.animations}},{key:"destroy",value:function(){window.removeEventListener("resize",this.resize)}},{key:"addFrame",value:function(e){this.frame=new d.default({node:e,pager:this}),this.hydrate()}},{key:"addTrack",value:function(e){this.track=new d.default({node:e,pager:this}),this.hydrate()}},{key:"addView",value:function(e){var t=this.views.length,n=new g({node:e,index:t,pager:this});return this.views.push(n),this.currentView||this.setCurrentView(0,t,!0),this.emit("viewAdded"),this.hydrate(),n}},{key:"removeView",value:function(e){this.views=this.views.filter(function(t){return e!==t}),this.emit("viewRemoved"),this.hydrate()}},{key:"prev",value:function(){this.setCurrentView(-1)}},{key:"next",value:function(){this.setCurrentView(1)}},{key:"setCurrentView",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.currentIndex,n=arguments[2],r=this.options,i=r.viewsToMove,o=r.infinite,a=t+e*i,s=this.currentIndex,u=o?a:(0,v.clamp)(a,0,this.views.length-1),c=this.getView(s),f=this.getView(u);if(this.currentIndex=u,this.currentView=f,c.isCurrent=!1,f.isCurrent=!0,this.setPositionValue(),!n){var p=this.getNumericViewsToShow(),l=this.views.length;this.emit("viewChange",{from:(0,v.range)(s,s+p,l),to:(0,v.range)(u,u+p,l)})}}},{key:"setPositionValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentView?this.currentView.target:0;if(!this.isSwiping){var t=this.options,n=t.viewsToShow,r=t.autoSize,i=t.infinite,o=t.contain,a=this.getTrackSize();if(i&&(e-=(Math.floor(this.currentIndex/this.views.length)||0)*a),o){var s="auto"===n&&r||n<=1?0:this.getFrameSize(!1);e=(0,v.clamp)(e,s-a,0)}}this.trackPosition=e}},{key:"setViewStyles",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=this.options,n=t.infinite,r=t.align,i=this.getFrameSize(),o=this.getTrackSize(),a=(0,v.modulo)(e,-o);this.views.reduce(function(t,s,u){var c=s.getSize(),f=t+c,p=t;return n&&(f+c*r<Math.abs(a)?p+=o:t>i-a&&(p-=o)),s.setPosition(p),s.setOrigin(e),f},0)}},{key:"getNumericViewsToShow",value:function(){return isNaN(this.options.viewsToShow)?1:this.options.viewsToShow}},{key:"getMaxDimensions",value:function(e){var t=this.options.axis,n=e.map(function(e){return e.getSize("width")}),r=e.map(function(e){return e.getSize("height")});return{width:"x"===t?(0,v.sum)(n):(0,v.max)(n),height:"y"===t?(0,v.sum)(r):(0,v.max)(r)}}},{key:"getFrameSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.autoSize,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.options,r=n.infinite,i=n.contain,o=n.axis,a={width:0,height:0};if(this.views.length)if(e){var s=[],u=isNaN(this.options.viewsToShow)?1:this.options.viewsToShow,c=this.currentIndex,f=this.currentIndex+(u-1);if(i){c=(0,v.clamp)(c,0,this.views.length-u),f=(0,v.clamp)(f,0,this.views.length-1);for(var p=c;p<=f;p++)s.push(this.getView(p))}else for(var l=c;l<=f;l++){var h=r?(0,v.modulo)(l,this.views.length):(0,v.clamp)(l,0,this.views.length-1);s.push(this.getView(h))}a=this.getMaxDimensions(s)}else this.frame&&(a={width:this.frame.getSize("width"),height:this.frame.getSize("height")});return t?a:a["x"===o?"width":"height"]}},{key:"getTrackSize",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=e?this.views.length:this.views.length-1,n=0;return this.views.slice(0,t).forEach(function(e){n+=e.getSize()}),n}},{key:"getView",value:function(e){return this.views[(0,v.modulo)(e,this.views.length)]}},{key:"getStartCoords",value:function(e){var t=0;return this.views.slice(0,e).forEach(function(e){t-=e.getSize()}),t}},{key:"getAlignOffset",value:function(e){var t=this.getFrameSize(!1),n=e.getSize();return(t-n)*this.options.align}},{key:"getPositionValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.trackPosition,t=this.options,n=t.infinite,r=(t.contain,{x:0,y:0});if(this.currentTween=e,n){var i=this.getTrackSize();e=(0,v.modulo)(e,-i)||0}return this.emit("scroll",{progress:e/this.getTrackSize(!1),position:e}),r[this.options.axis]=e,r}},{key:"resetViews",value:function(){this.setCurrentView(0,(0,v.modulo)(this.currentIndex,this.views.length),!0)}}]),t}(p.default);t.default=w,e.exports=t.default},function(e,t){"use strict";e.exports=function(e){var t={},n=[];e=e||this,e.on=function(e,n,r){(t[e]=t[e]||[]).push([n,r])},e.off=function(e,r){e||(t={});for(var i=t[e]||n,o=i.length=r?i.length:0;o--;)r==i[o][0]&&i.splice(o,1)},e.emit=function(e){for(var r,i=t[e]||n,o=i.length>0?i.slice(0,i.length):i,a=0;r=o[a++];)r[0].apply(r[1],n.slice.call(arguments,1))}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(6),s=r(a),u={perspective:"px",rotate:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scaleX:"",scaleY:"",scaleZ:"",skew:"deg",skewX:"deg",skewY:"deg",translateX:"px",translateY:"px",translateZ:"px"},c=Object.keys(u),f=function(){function e(t){var n=t.animations,r=t.element,o=t.origin;i(this,e),this.animations=n,this.element=r,this.origin=o}return o(e,[{key:"getStyles",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.element,t=this.origin(e),n=[],r={};return this.animations.forEach(function(e){var i=e.prop,o=e.unit||u[i]||"",a=(0,s.default)(e.stops)(t);c.indexOf(i)>-1?n.push(i+"("+a+o+")"):r[i]=""+a+o}),n.length&&(r.transform=n.join(" ")),r}},{key:"applyStyles",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.element,t=this.getStyles(e);Object.keys(t).forEach(function(n){return e.style[n]=t[n]})}}]),e}();t.default=f,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=[],n=[],r=[],i=[];e.forEach(function(e){var o=s(e,2),a=o[0],u=o[1];t.push(a),isNaN(u)?(n.push(parseInt(u.substr(1,2),16)),r.push(parseInt(u.substr(3,2),16)),i.push(parseInt(u.substr(5,2),16))):n.push(u)});var o=(0,c.default)(t,n);if(!r.length||!i.length)return function(e){return o(e)};var u=function(){var e=(0,c.default)(t,r),n=(0,c.default)(t,i);return{v:function(t){return"rgb("+Math.round(o(t))+", "+Math.round(e(t))+", "+Math.round(n(t))+")"}}}();return"object"===("undefined"==typeof u?"undefined":a(u))?u.v:void 0}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return"undefined"==typeof e?"undefined":o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":"undefined"==typeof e?"undefined":o(e)},s=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.default=i;var u=n(7),c=r(u);e.exports=t.default},function(e,t){"use strict";function n(e,t){return function(n){if(n<=e[0])return t[0];if(n>=e[e.length-1])return t[e.length-1];for(var r=0,i=e.length-1;i-r>1;){var o=r+i>>1;n<e[o]?i=o:r=o}return t[r]+(t[i]-t[r])/(e[i]-e[r])*(n-e[r])}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,e.exports=t.default},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){var r=t.node,i=t.pager,o=t.width,a=t.height;n(this,e),this.node=r,this.pager=i,this.x=this.y=0,this.setSize(o,a)}return r(e,[{key:"setSize",value:function(e,t){this.width=e||this.node.offsetWidth,this.height=t||this.node.offsetHeight}},{key:"setPosition",value:function(e){this[this.pager.options.axis]=e}},{key:"getSize",value:function(e){if("width"===e||"height"===e)return this[e];var t=this.pager.options.axis;return this["x"===t?"width":"height"]}},{key:"getPosition",value:function(){return this[this.pager.options.axis]}}]),e}();t.default=i,e.exports=t.default},function(e,t){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function r(e,t){return(e%t+t)%t}function i(e,t,n){return Math.min(Math.max(t,e),n)}function o(e){return e.reduce(function(e,t){return e+t},0)}function a(e){return Math.max.apply(null,e)}function s(e,t,i){return[].concat(n(Array(t-e))).map(function(t,n){return r(e+n,i)})}Object.defineProperty(t,"__esModule",{value:!0}),t.modulo=r,t.clamp=i,t.sum=o,t.max=a,t.range=s},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(2),f=r(c),p=n(11),l=(r(p),n(12)),h=n(3),y=r(h),d=n(13),v=r(d),g=n(14),w=r(g),b=n(15),m=r(b),_={tag:c.PropTypes.any,autoSize:c.PropTypes.bool,accessibility:c.PropTypes.bool,springConfig:c.PropTypes.objectOf(c.PropTypes.number)},O=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._setFrameSize=function(){var e=n.context.pager.getFrameSize(!0,!0);e.width&&e.height&&n.setState(e,function(){n.state.instant&&n.setState({instant:!1})})},n.state={width:0,height:0,instant:!0},n}return a(t,e),u(t,[{key:"componentWillMount",value:function(){var e=this.context.pager;e.setOptions(this.props),this._swipe=new v.default(e),this._keyboard=new w.default(e)}},{key:"componentDidMount",value:function(){var e=this.context.pager;e.addFrame((0,p.findDOMNode)(this)),this._setFrameSize(),e.on("viewAdded",this._setFrameSize),e.on("viewChange",this._setFrameSize)}},{key:"_getFrameStyle",value:function(){var e=this.state,t=e.width,n=e.height,r=e.instant;return{maxWidth:r?t:(0,l.spring)(t),height:r?n:(0,l.spring)(n)}}},{key:"_renderFrame",value:function(e){var t=this.props,n=t.tag,r=t.accessibility,i=(0,m.default)(s({},this._swipe.getEvents(),this._keyboard.getEvents(),{tabIndex:r?0:null}),this.props,_);return(0,c.createElement)(n,s({},i,{style:s({},e,i.style)}))}},{key:"render",value:function(){var e=this,t=(this.state.height,{position:"relative",overflow:"hidden"});return this.props.autoSize?f.default.createElement(l.Motion,{style:this._getFrameStyle()},function(n){return n.maxWidth&&(t.maxWidth=n.maxWidth),n.height&&(t.height=n.height),e._renderFrame(t)}):this._renderFrame(t)}}]),t}(c.Component);O.contextTypes={pager:c.PropTypes.instanceOf(y.default)},O.propTypes=_,O.defaultProps={tag:"div",autoSize:!1,accessibility:!0,springConfig:l.presets.noWobble},t.default=O,e.exports=t.default},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e){return e.touches&&e.touches[0]||e}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(t){var i=this;n(this,e),this._onSwipeStart=function(e){var t=r(e),n=t.pageX,o=t.pageY;i.pager.isSwiping=!0,i._swipeStart={x:n,y:o},i._swipeDiff={x:0,y:0},i._isFlick=!0,setTimeout(function(){i._isFlick=!1},i.pager.options.flickTimeout),i.pager.emit("swipeStart")},this._onSwipeMove=function(e){if(i.pager.isSwiping){var t=i.pager.options,n=t.swipeThreshold,o=t.axis,a=r(e),s=a.pageX,u=a.pageY;if(i._trackStart||(i._trackStart=i.pager.currentTween),i._swipeDiff={x:i._swipeStart.x-s,y:i._swipeStart.y-u},i._isSwipe(n)){e.preventDefault(),e.stopPropagation();var c=i._swipeDiff[o],f=i._trackStart-c;i.pager.setPositionValue(f),i.pager.emit("swipeMove")}}},this._onSwipeEnd=function(){var e=i.pager,t=(e.frame,e.currentView),n=(e.trackPosition,i.pager.options),r=n.swipeThreshold,o=n.viewsToMove,a=n.axis,s=(n.infinite,i._isFlick?r:t.getSize()*o*r);i.pager.isSwiping=!1,i._trackStart=!1,(i._swipeDiff.x||i._swipeDiff.y)&&(i._isSwipe(s)?i._swipeDiff[a]<0?i.pager.prev():i.pager.next():i.pager.setPositionValue()),i.pager.emit("swipeEnd")},this._onSwipePast=function(){i.pager.isSwiping&&i._onSwipeEnd()},this.pager=t,this._trackStart=!1,this._swipeStart=this._swipeDiff={x:0,y:0}}return i(e,[{key:"_isSwipe",value:function(e){var t=this._swipeDiff,n=t.x,r=t.y;return"x"===this.pager.options.axis?Math.abs(n)>Math.max(e,Math.abs(r)):Math.abs(n)<Math.max(e,Math.abs(r))}},{key:"getEvents",value:function(){var e=this.pager.options.swipe,t={};return e!==!0&&"mouse"!==e||(t.onMouseDown=this._onSwipeStart,t.onMouseMove=this._onSwipeMove,t.onMouseUp=this._onSwipeEnd,t.onMouseLeave=this._onSwipePast),e!==!0&&"touch"!==e||(t.onTouchStart=this._onSwipeStart,t.onTouchMove=this._onSwipeMove,t.onTouchEnd=this._onSwipeEnd),t}}]),e}();t.default=o,e.exports=t.default},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(9),a=function(){function e(t){var n=this;r(this,e),this._handleKeyDown=function(e){switch(e.key){case"ArrowUp":case"ArrowLeft":return void n.pager.prev();case"ArrowDown":case"ArrowRight":case" ":return void n.pager.next();case"Home":return void n.pager.setCurrentView(0,0);case"End":return void n.pager.setCurrentView(0,n.pager.views.length-1)}for(var t=(0,o.clamp)(n.pager.views.length,0,9),r=1;r<=t;r++)+e.key===r&&n.pager.setCurrentView(0,r-1)},this.pager=t}return i(e,[{key:"getEvents",value:function(){var e={};return this.pager.options.accessibility&&(e.onKeyDown=this._handleKeyDown),e}}]),e}();t.default=a,e.exports=t.default},function(e,t){"use strict";function n(e,t,n){for(var r in t)t.hasOwnProperty(r)&&!n[r]&&(e[r]=t[r]);return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(2),h=r(l),y=n(11),d=(r(y),n(12)),v=n(3),g=r(v),w=n(17),b=r(w),m=n(18),_=r(m),O=n(15),x=r(O),P=n(19)("transform"),S=function(e){function t(){var e,n,r,i;a(this,t);for(var o=arguments.length,u=Array(o),c=0;c<o;c++)u[c]=arguments[c];return n=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.state={x:0,y:0},i=n,s(r,i)}return u(t,e),p(t,[{key:"componentWillReceiveProps",value:function(e){var t=this,n=e.trackPosition,r=this.context.pager;r.setViewStyles(n),this.setState(r.getPositionValue(n)),this.props.trackPosition!==n&&requestAnimationFrame(function(){return t.props.onScroll(n/r.getTrackSize(!1)*-1,n)})}},{key:"_renderViews",value:function(){return l.Children.map(this.props.children,function(e){return h.default.createElement(b.default,{children:e})})}},{key:"render",value:function(){var e=this.props,t=e.tag,n=(e.trackPosition,o(e,["tag","trackPosition"])),r=this.state,a=r.x,s=r.y,u=f({},n.style,i({},P,"translate3d("+a+"px, "+s+"px, 0)"));return(0,l.createElement)(t,f({},n,{style:u}),this._renderViews())}}]),t}(l.Component);S.propTypes=k,S.contextTypes={pager:l.PropTypes.instanceOf(g.default)};var T=function(){return null},k={tag:l.PropTypes.any,currentView:l.PropTypes.any,viewsToShow:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.oneOf(["auto"])]),viewsToMove:l.PropTypes.number,align:l.PropTypes.number,contain:l.PropTypes.bool,axis:l.PropTypes.oneOf(["x","y"]),animations:l.PropTypes.array,infinite:l.PropTypes.bool,instant:l.PropTypes.bool,swipe:l.PropTypes.oneOf([!0,!1,"mouse","touch"]),swipeThreshold:l.PropTypes.number,flickTimeout:l.PropTypes.number,springConfig:l.PropTypes.objectOf(l.PropTypes.number),onSwipeStart:l.PropTypes.func,onSwipeMove:l.PropTypes.func,onSwipeEnd:l.PropTypes.func,onScroll:l.PropTypes.func,beforeViewChange:l.PropTypes.func,afterViewChange:l.PropTypes.func},j=function(e){function t(){var e,n,r,i;a(this,t);for(var o=arguments.length,u=Array(o),c=0;c<o;c++)u[c]=arguments[c];return n=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.state={instant:!1},r._currentTween=0,r._handleOnRest=function(){r.props.infinite&&!r.state.instant&&(r.context.pager.resetViews(),r._setValueInstantly(!0,!0)),r.props.afterViewChange()},i=n,s(r,i)}return u(t,e),p(t,[{key:"componentWillMount",value:function(){this.context.pager.setOptions(this.props)}},{key:"componentDidMount",value:function(){var e=this,t=this.context.pager;t.addTrack((0,y.findDOMNode)(this)),t.on("hydrated",function(){return e._setValueInstantly(!0,!0)}),t.on("swipeMove",function(){return e._setValueInstantly(!0)}),t.on("swipeEnd",function(){return e._setValueInstantly(!1)}),t.on("swipeStart",this.props.onSwipeStart),t.on("swipeMove",this.props.onSwipeMove),t.on("swipeEnd",this.props.onSwipeEnd),t.on("viewChange",this.props.beforeViewChange)}},{key:"componentWillReceiveProps",value:function(e){var t=e.currentView,n=e.instant,r=e.children;this.props.instant!==n&&this._setValueInstantly(n),void 0!==("undefined"==typeof t?"undefined":c(t))&&this.props.currentView!==t&&this.scrollTo((0,_.default)(t,r))}},{key:"prev",value:function(){this.context.pager.prev()}},{key:"next",value:function(){this.context.pager.next()}},{key:"scrollTo",value:function(e){this.context.pager.setCurrentView(0,e)}},{key:"_setValueInstantly",value:function(e,t){var n=this;this.setState({instant:e},function(){t&&n.setState({instant:!1})})}},{key:"_getTrackStyle",value:function(){var e=this.context.pager.trackPosition;return this.state.instant||(e=(0,d.spring)(e,this.props.springConfig)),{trackPosition:e}}},{key:"render",value:function(){var e=this.props,t=e.tag,n=e.onScroll,r=o(e,["tag","onScroll"]);return h.default.createElement(d.Motion,{style:this._getTrackStyle(),onRest:this._handleOnRest},function(e){var i=e.trackPosition;return(0,l.createElement)(S,(0,x.default)({trackPosition:i,tag:t,onScroll:n},r,k))})}}]),t}(l.Component);j.propTypes=k,j.defaultProps={tag:"div",currentView:0,viewsToShow:1,viewsToMove:1,align:0,contain:!1,axis:"x",infinite:!1,instant:!1,swipe:!0,swipeThreshold:.5,flickTimeout:300,springConfig:d.presets.noWobble,onSwipeStart:T,onSwipeMove:T,onSwipeEnd:T,onScroll:T,beforeViewChange:T,afterViewChange:T},j.contextTypes={pager:l.PropTypes.instanceOf(g.default)},t.default=j,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),p=n(2),l=(r(p),n(11)),h=(r(l),n(3)),y=r(h),d=function(e){function t(){var e,n,r,i;a(this,t);for(var o=arguments.length,u=Array(o),c=0;c<o;c++)u[c]=arguments[c];return n=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r._viewInstance=null,i=n,s(r,i)}return u(t,e),f(t,[{key:"getChildContext",value:function(){return{view:this._viewInstance}}},{key:"componentDidMount",value:function(){this._viewInstance=this.context.pager.addView((0,l.findDOMNode)(this)),this.forceUpdate()}},{key:"componentWillUnmount",value:function(){this.context.pager.removeView(this._viewInstance)}},{key:"render",value:function(){var e=this.context.pager,t=e.options,n=t.viewsToShow,r=t.axis,a=this.props,s=a.children,u=o(a,["children"]),f=p.Children.only(s),l=c({},f.props.style,{position:"relative",top:0,left:0});if("auto"!==n&&(l["x"===r?"width":"height"]=100/n+"%"),this._viewInstance){this._viewInstance.isCurrent||(l.position="absolute");var h="y"===r?"top":"left";l=c({},l,i({},h,this._viewInstance.getPosition()),e.animationBus.getStyles(this._viewInstance))}return(0,p.cloneElement)(f,c({},u,{style:l}))}}]),t}(p.Component);d.contextTypes={pager:p.PropTypes.instanceOf(y.default)},d.childContextTypes={view:p.PropTypes.any},t.default=d,e.exports=t.default},function(e,t,n){"use strict";function r(e,t){var n=null;return i.Children.forEach(t,function(t,r){if(t.key===e||r===e)return void(n=r)}),n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var i=n(2);e.exports=t.default},function(e,t){e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(2),f=(r(c),n(3)),p=r(f),l=function(e){function t(){var e,n,r,a;i(this,t);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return n=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r._handleLoaded=function(e){r.context.pager.hydrate(), | ||
"function"==typeof r.props.onLoad&&r.props.onLoad(e)},a=n,o(r,a)}return a(t,e),u(t,[{key:"render",value:function(){return(0,c.createElement)("img",s({},this.props,{onLoad:this._handleLoaded}))}}]),t}(c.Component);l.contextTypes={pager:c.PropTypes.instanceOf(p.default)},t.default=l,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=n(2),p=(r(f),n(5)),l=r(p),h=n(3),y=r(h),d=n(15),v=r(d),g={tag:f.PropTypes.string,index:f.PropTypes.number,animations:f.PropTypes.array},w=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),c(t,[{key:"componentWillMount",value:function(){var e=this.props.animations;e.length&&(this._animationBus=new l.default({animations:e,origin:function(e){return e.origin}}))}},{key:"render",value:function(){var e=this.props,t=e.tag,n=e.index,r=i(e,["tag","index"]),o=u({},r.style);if(this._animationBus){var a=this.context.view||this.context.pager.getView(n);a&&(o=u({},r.style,this._animationBus.getStyles(a)))}return(0,f.createElement)(t,(0,v.default)({style:o},this.props,g))}}]),t}(f.Component);w.contextTypes={pager:f.PropTypes.instanceOf(y.default),view:f.PropTypes.any},w.propTypes=g,w.defaultProps={tag:"div",animations:[]},t.default=w,e.exports=t.default}])}); |
177
lib/Frame.js
@@ -9,4 +9,2 @@ 'use strict'; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
@@ -36,10 +34,2 @@ | ||
var _Track = require('./Track'); | ||
var _Track2 = _interopRequireDefault(_Track); | ||
var _View = require('./View'); | ||
var _View2 = _interopRequireDefault(_View); | ||
var _specialAssign = require('./special-assign'); | ||
@@ -57,46 +47,23 @@ | ||
var noop = function noop() { | ||
return null; | ||
}; | ||
var checkedProps = { | ||
tag: _react.PropTypes.string, | ||
currentView: _react.PropTypes.any, | ||
viewsToShow: _react.PropTypes.any, | ||
viewsToMove: _react.PropTypes.number, | ||
align: _react.PropTypes.number, | ||
contain: _react.PropTypes.bool, | ||
axis: _react.PropTypes.oneOf(['x', 'y']), | ||
tag: _react.PropTypes.any, | ||
autoSize: _react.PropTypes.bool, | ||
animations: _react.PropTypes.array, | ||
infinite: _react.PropTypes.bool, | ||
instant: _react.PropTypes.bool, | ||
swipe: _react.PropTypes.oneOf([true, false, 'mouse', 'touch']), | ||
swipeThreshold: _react.PropTypes.number, | ||
flickTimeout: _react.PropTypes.number, | ||
accessibility: _react.PropTypes.bool, | ||
springConfig: _react2.default.PropTypes.objectOf(_react2.default.PropTypes.number), | ||
// rightToLeft: PropTypes.bool, | ||
// lazyLoad: PropTypes.bool, | ||
onSwipeStart: _react.PropTypes.func, | ||
onSwipeMove: _react.PropTypes.func, | ||
onSwipeEnd: _react.PropTypes.func, | ||
onScroll: _react.PropTypes.func, | ||
beforeViewChange: _react.PropTypes.func, | ||
afterViewChange: _react.PropTypes.func | ||
springConfig: _react.PropTypes.objectOf(_react.PropTypes.number) | ||
}; | ||
var ViewPager = function (_Component) { | ||
_inherits(ViewPager, _Component); | ||
var Frame = function (_Component) { | ||
_inherits(Frame, _Component); | ||
function ViewPager(props) { | ||
_classCallCheck(this, ViewPager); | ||
function Frame(props) { | ||
_classCallCheck(this, Frame); | ||
var _this = _possibleConstructorReturn(this, (ViewPager.__proto__ || Object.getPrototypeOf(ViewPager)).call(this, props)); | ||
var _this = _possibleConstructorReturn(this, (Frame.__proto__ || Object.getPrototypeOf(Frame)).call(this, props)); | ||
_this._setFrameSize = function () { | ||
var frameSize = _this._viewPager.getFrameSize(true, true); | ||
var frameSize = _this.context.pager.getFrameSize(true, true); | ||
if (frameSize.width && frameSize.height) { | ||
_this.setState(frameSize, function () { | ||
// we need to unset instant flag now that React Motion has dimensions to animate to | ||
// we need to unset the instant flag now that React Motion has dimensions to animate to | ||
if (_this.state.instant) { | ||
@@ -109,6 +76,2 @@ _this.setState({ instant: false }); | ||
_this._viewPager = new _Pager2.default(props); | ||
_this._swipe = new _Swipe2.default(_this._viewPager); | ||
_this._keyboard = new _Keyboard2.default(_this._viewPager); | ||
_this.state = { | ||
@@ -122,8 +85,12 @@ width: 0, | ||
_createClass(ViewPager, [{ | ||
key: 'getChildContext', | ||
value: function getChildContext() { | ||
return { | ||
viewPager: this._viewPager | ||
}; | ||
_createClass(Frame, [{ | ||
key: 'componentWillMount', | ||
value: function componentWillMount() { | ||
var pager = this.context.pager; | ||
pager.setOptions(this.props); | ||
this._swipe = new _Swipe2.default(pager); | ||
this._keyboard = new _Keyboard2.default(pager); | ||
} | ||
@@ -133,68 +100,13 @@ }, { | ||
value: function componentDidMount() { | ||
var _this2 = this; | ||
var pager = this.context.pager; | ||
this._viewPager.addFrame((0, _reactDom.findDOMNode)(this)); | ||
pager.addFrame((0, _reactDom.findDOMNode)(this)); | ||
// set frame size initially and then based on certain view events | ||
this._setFrameSize(); | ||
this._viewPager.on('viewAdded', this._setFrameSize); | ||
// update the whole tree on hydration so children update with any new values | ||
this._viewPager.on('hydrated', function () { | ||
_this2.forceUpdate(); | ||
}); | ||
// fire before view callback and set frame size on view change | ||
this._viewPager.on('viewChange', function (indicies) { | ||
_this2.props.beforeViewChange(indicies); | ||
_this2._setFrameSize(); | ||
}); | ||
// prop callbacks | ||
this._viewPager.on('swipeStart', this.props.onSwipeStart); | ||
this._viewPager.on('swipeMove', this.props.onSwipeMove); | ||
this._viewPager.on('swipeEnd', this.props.onSwipeEnd); | ||
this._viewPager.on('scroll', this.props.onScroll); | ||
this._viewPager.on('rest', this.props.afterViewChange); | ||
pager.on('viewAdded', this._setFrameSize); | ||
pager.on('viewChange', this._setFrameSize); | ||
} | ||
}, { | ||
key: 'componentWillReceiveProps', | ||
value: function componentWillReceiveProps(_ref) { | ||
var currentView = _ref.currentView, | ||
children = _ref.children; | ||
// update state with new index if necessary | ||
if ((typeof currentView === 'undefined' ? 'undefined' : _typeof(currentView)) !== undefined && this.props.currentView !== currentView) { | ||
this.scrollTo(currentView); | ||
} | ||
} | ||
}, { | ||
key: 'componentWillUnmount', | ||
value: function componentWillUnmount() { | ||
this._viewPager.destroy(); | ||
} | ||
}, { | ||
key: 'getInstance', | ||
value: function getInstance() { | ||
return this._viewPager; | ||
} | ||
}, { | ||
key: 'prev', | ||
value: function prev() { | ||
this._viewPager.prev(); | ||
} | ||
}, { | ||
key: 'next', | ||
value: function next() { | ||
this._viewPager.next(); | ||
} | ||
}, { | ||
key: 'scrollTo', | ||
value: function scrollTo(view) { | ||
// this is pretty anti-react, but since we might not know the children we need | ||
// to listen for this event in Track and update it there to allow people the ability | ||
// to move to a view by it's key | ||
this._viewPager.emit('updateView', view); | ||
} | ||
}, { | ||
key: '_getFrameStyle', | ||
@@ -217,4 +129,2 @@ value: function _getFrameStyle() { | ||
tag = _props.tag, | ||
axis = _props.axis, | ||
autoSize = _props.autoSize, | ||
accessibility = _props.accessibility; | ||
@@ -233,3 +143,3 @@ | ||
value: function render() { | ||
var _this3 = this; | ||
var _this2 = this; | ||
@@ -254,3 +164,3 @@ var height = this.state.height; | ||
} | ||
return _this3._renderFrame(style); | ||
return _this2._renderFrame(style); | ||
} | ||
@@ -264,35 +174,16 @@ ); | ||
return ViewPager; | ||
return Frame; | ||
}(_react.Component); | ||
ViewPager.propTypes = checkedProps; | ||
ViewPager.defaultProps = { | ||
Frame.contextTypes = { | ||
pager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
Frame.propTypes = checkedProps; | ||
Frame.defaultProps = { | ||
tag: 'div', | ||
currentView: 0, | ||
viewsToShow: 1, | ||
viewsToMove: 1, | ||
align: 0, | ||
contain: false, | ||
axis: 'x', | ||
autoSize: false, | ||
infinite: false, | ||
instant: false, | ||
swipe: true, | ||
swipeThreshold: 0.5, | ||
flickTimeout: 300, | ||
accessibility: true, | ||
springConfig: _reactMotion.presets.noWobble, | ||
// rightToLeft: false, | ||
// lazyLoad: false, | ||
onSwipeStart: noop, | ||
onSwipeMove: noop, | ||
onSwipeEnd: noop, | ||
onScroll: noop, | ||
beforeViewChange: noop, | ||
afterViewChange: noop | ||
springConfig: _reactMotion.presets.noWobble | ||
}; | ||
ViewPager.childContextTypes = { | ||
viewPager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
exports.default = ViewPager; | ||
exports.default = Frame; | ||
module.exports = exports['default']; |
@@ -43,3 +43,3 @@ 'use strict'; | ||
// hydrate the pager now that the image has loaded | ||
_this.context.viewPager.hydrate(); | ||
_this.context.pager.hydrate(); | ||
@@ -65,5 +65,5 @@ if (typeof _this.props.onLoad === 'function') { | ||
ImageView.contextTypes = { | ||
viewPager: _react.PropTypes.instanceOf(_Pager2.default) | ||
pager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
exports.default = ImageView; | ||
module.exports = exports['default']; |
@@ -125,7 +125,14 @@ 'use strict'; | ||
_this2.isSwiping = false; | ||
_this2.animationBus = new _animationBus2.default(_this2.options.animations, function (view) { | ||
return view.origin; | ||
_this2.animationBus = new _animationBus2.default({ | ||
animations: _this2.options.animations, | ||
origin: function origin(view) { | ||
return view.origin; | ||
} | ||
}); | ||
window.addEventListener('resize', _this2.resize); | ||
if (typeof window === 'undefined') { | ||
return _possibleConstructorReturn(_this2); | ||
} else { | ||
window.addEventListener('resize', _this2.resize); | ||
} | ||
return _this2; | ||
@@ -135,2 +142,11 @@ } | ||
_createClass(Pager, [{ | ||
key: 'setOptions', | ||
value: function setOptions(options) { | ||
// spread new options over the old ones | ||
this.options = _extends({}, this.options, options); | ||
// merge animations into animation bus | ||
this.animationBus.animations = this.options.animations; | ||
} | ||
}, { | ||
key: 'destroy', | ||
@@ -377,4 +393,7 @@ value: function destroy() { | ||
value: function getTrackSize() { | ||
var includeLastSlide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; | ||
var lastIndex = includeLastSlide ? this.views.length : this.views.length - 1; | ||
var size = 0; | ||
this.views.forEach(function (view) { | ||
this.views.slice(0, lastIndex).forEach(function (view) { | ||
size += view.getSize(); | ||
@@ -431,3 +450,6 @@ }); | ||
// emit a "scroll" event so we can do things based on the progress of the track | ||
this.emit('scroll', trackPosition); | ||
this.emit('scroll', { | ||
progress: trackPosition / this.getTrackSize(false), | ||
position: trackPosition | ||
}); | ||
@@ -434,0 +456,0 @@ // set the proper transform axis based on our options |
@@ -6,4 +6,8 @@ 'use strict'; | ||
}); | ||
exports.utils = exports.ImageView = exports.Track = exports.Frame = undefined; | ||
exports.utils = exports.AnimatedView = exports.ImageView = exports.Track = exports.Frame = exports.ViewPager = undefined; | ||
var _ViewPager2 = require('./ViewPager'); | ||
var _ViewPager3 = _interopRequireDefault(_ViewPager2); | ||
var _Frame2 = require('./Frame'); | ||
@@ -21,2 +25,6 @@ | ||
var _AnimatedView2 = require('./AnimatedView'); | ||
var _AnimatedView3 = _interopRequireDefault(_AnimatedView2); | ||
var _utils2 = require('./utils'); | ||
@@ -28,5 +36,7 @@ | ||
exports.ViewPager = _ViewPager3.default; | ||
exports.Frame = _Frame3.default; | ||
exports.Track = _Track3.default; | ||
exports.ImageView = _ImageView3.default; | ||
exports.AnimatedView = _AnimatedView3.default; | ||
exports.utils = _utils3.default; |
288
lib/Track.js
@@ -7,2 +7,4 @@ 'use strict'; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
@@ -34,2 +36,6 @@ | ||
var _specialAssign = require('./special-assign'); | ||
var _specialAssign2 = _interopRequireDefault(_specialAssign); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -49,6 +55,9 @@ | ||
var Track = function (_Component) { | ||
_inherits(Track, _Component); | ||
// Track scroller is an intermediate component that allows us to provide the | ||
// React Motion value to onScroll and lets any user of onScroll use setState | ||
function Track() { | ||
var TrackScroller = function (_Component) { | ||
_inherits(TrackScroller, _Component); | ||
function TrackScroller() { | ||
var _ref; | ||
@@ -58,3 +67,3 @@ | ||
_classCallCheck(this, Track); | ||
_classCallCheck(this, TrackScroller); | ||
@@ -65,77 +74,207 @@ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { | ||
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Track.__proto__ || Object.getPrototypeOf(Track)).call.apply(_ref, [this].concat(args))), _this), _this.state = { | ||
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = TrackScroller.__proto__ || Object.getPrototypeOf(TrackScroller)).call.apply(_ref, [this].concat(args))), _this), _this.state = { | ||
x: 0, | ||
y: 0 | ||
}, _temp), _possibleConstructorReturn(_this, _ret); | ||
} | ||
_createClass(TrackScroller, [{ | ||
key: 'componentWillReceiveProps', | ||
value: function componentWillReceiveProps(_ref2) { | ||
var _this2 = this; | ||
var trackPosition = _ref2.trackPosition; | ||
var pager = this.context.pager; | ||
// update view styles with current position tween | ||
// this method can get called hundreds of times, let's make sure to optimize as much as we can | ||
pager.setViewStyles(trackPosition); | ||
// get the x & y values to position the track | ||
this.setState(pager.getPositionValue(trackPosition)); | ||
// update onScroll callback, we use requestAnimationFrame to avoid bouncing | ||
// back from updates from onScroll while React Motion is trying to update it's own tree | ||
// https://github.com/chenglou/react-motion/issues/357#issuecomment-262393424 | ||
if (this.props.trackPosition !== trackPosition) { | ||
requestAnimationFrame(function () { | ||
return _this2.props.onScroll(trackPosition / pager.getTrackSize(false) * -1, trackPosition); | ||
}); | ||
} | ||
} | ||
}, { | ||
key: '_renderViews', | ||
value: function _renderViews() { | ||
return _react.Children.map(this.props.children, function (child) { | ||
return _react2.default.createElement(_View2.default, { children: child }); | ||
}); | ||
} | ||
}, { | ||
key: 'render', | ||
value: function render() { | ||
var _props = this.props, | ||
tag = _props.tag, | ||
trackPosition = _props.trackPosition, | ||
restProps = _objectWithoutProperties(_props, ['tag', 'trackPosition']); | ||
var _state = this.state, | ||
x = _state.x, | ||
y = _state.y; | ||
var style = _extends({}, restProps.style, _defineProperty({}, TRANSFORM, 'translate3d(' + x + 'px, ' + y + 'px, 0)')); | ||
return (0, _react.createElement)(tag, _extends({}, restProps, { | ||
style: style | ||
}), this._renderViews()); | ||
} | ||
}]); | ||
return TrackScroller; | ||
}(_react.Component); | ||
TrackScroller.propTypes = checkedProps; | ||
TrackScroller.contextTypes = { | ||
pager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
var noop = function noop() { | ||
return null; | ||
}; | ||
var checkedProps = { | ||
tag: _react.PropTypes.any, | ||
currentView: _react.PropTypes.any, | ||
viewsToShow: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.oneOf(['auto'])]), | ||
viewsToMove: _react.PropTypes.number, | ||
align: _react.PropTypes.number, | ||
contain: _react.PropTypes.bool, | ||
axis: _react.PropTypes.oneOf(['x', 'y']), | ||
animations: _react.PropTypes.array, | ||
infinite: _react.PropTypes.bool, | ||
instant: _react.PropTypes.bool, | ||
swipe: _react.PropTypes.oneOf([true, false, 'mouse', 'touch']), | ||
swipeThreshold: _react.PropTypes.number, | ||
flickTimeout: _react.PropTypes.number, | ||
springConfig: _react.PropTypes.objectOf(_react.PropTypes.number), | ||
onSwipeStart: _react.PropTypes.func, | ||
onSwipeMove: _react.PropTypes.func, | ||
onSwipeEnd: _react.PropTypes.func, | ||
onScroll: _react.PropTypes.func, | ||
// rightToLeft: PropTypes.bool, | ||
// lazyLoad: PropTypes.bool, | ||
beforeViewChange: _react.PropTypes.func, | ||
afterViewChange: _react.PropTypes.func | ||
// beforeAnimation: PropTypes.func, | ||
// afterAnimation: PropTypes.func | ||
}; | ||
var Track = function (_Component2) { | ||
_inherits(Track, _Component2); | ||
function Track() { | ||
var _ref3; | ||
var _temp2, _this3, _ret2; | ||
_classCallCheck(this, Track); | ||
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
args[_key2] = arguments[_key2]; | ||
} | ||
return _ret2 = (_temp2 = (_this3 = _possibleConstructorReturn(this, (_ref3 = Track.__proto__ || Object.getPrototypeOf(Track)).call.apply(_ref3, [this].concat(args))), _this3), _this3.state = { | ||
instant: false | ||
}, _this._currentTween = 0, _this._handleOnRest = function () { | ||
var viewPager = _this.context.viewPager; | ||
if (viewPager.options.infinite && !_this.state.instant) { | ||
}, _this3._currentTween = 0, _this3._handleOnRest = function () { | ||
if (_this3.props.infinite && !_this3.state.instant) { | ||
// reset back to a normal index | ||
viewPager.resetViews(); | ||
_this3.context.pager.resetViews(); | ||
// set instant flag so we can prime track for next move | ||
_this._setValueInstantly(true, true); | ||
_this3._setValueInstantly(true, true); | ||
} | ||
// fire event for prop callback on Frame component | ||
viewPager.emit('rest'); | ||
}, _temp), _possibleConstructorReturn(_this, _ret); | ||
_this3.props.afterViewChange(); | ||
}, _temp2), _possibleConstructorReturn(_this3, _ret2); | ||
} | ||
_createClass(Track, [{ | ||
key: 'componentWillMount', | ||
value: function componentWillMount() { | ||
this.context.pager.setOptions(this.props); | ||
} | ||
}, { | ||
key: 'componentDidMount', | ||
value: function componentDidMount() { | ||
var _this2 = this; | ||
var _this4 = this; | ||
var viewPager = this.context.viewPager; | ||
var pager = this.context.pager; | ||
// add track to pager | ||
viewPager.addTrack((0, _reactDom.findDOMNode)(this)); | ||
pager.addTrack((0, _reactDom.findDOMNode)(this)); | ||
// refresh instantly to set first track position | ||
this._setValueInstantly(true, true); | ||
// this._setValueInstantly(true, true) | ||
// set initial view index and listen for any incoming view index changes | ||
// this.setCurrentView(this.props.currentView) | ||
// set values instantly on respective events | ||
viewPager.on('hydrated', function () { | ||
return _this2._setValueInstantly(true, true); | ||
pager.on('hydrated', function () { | ||
return _this4._setValueInstantly(true, true); | ||
}); | ||
viewPager.on('swipeMove', function () { | ||
return _this2._setValueInstantly(true); | ||
pager.on('swipeMove', function () { | ||
return _this4._setValueInstantly(true); | ||
}); | ||
viewPager.on('swipeEnd', function () { | ||
return _this2._setValueInstantly(false); | ||
pager.on('swipeEnd', function () { | ||
return _this4._setValueInstantly(false); | ||
}); | ||
// set initial view index and listen for any incoming view index changes | ||
this.setCurrentView(viewPager.options.currentView); | ||
// updateView event comes from Frame component props | ||
// this is a little weird, probably should handle this through context | ||
viewPager.on('updateView', function (index) { | ||
_this2.setCurrentView(index); | ||
}); | ||
// prop callbacks | ||
pager.on('swipeStart', this.props.onSwipeStart); | ||
pager.on('swipeMove', this.props.onSwipeMove); | ||
pager.on('swipeEnd', this.props.onSwipeEnd); | ||
pager.on('viewChange', this.props.beforeViewChange); | ||
} | ||
}, { | ||
key: 'setCurrentView', | ||
value: function setCurrentView(index) { | ||
this.context.viewPager.setCurrentView(0, (0, _getIndex2.default)(index, this.props.children)); | ||
} | ||
}, { | ||
key: 'componentWillReceiveProps', | ||
value: function componentWillReceiveProps(_ref2) { | ||
var instant = _ref2.instant; | ||
value: function componentWillReceiveProps(_ref4) { | ||
var currentView = _ref4.currentView, | ||
instant = _ref4.instant, | ||
children = _ref4.children; | ||
// update instant state from props | ||
if (this.props.instant !== instant) { | ||
this.setState({ instant: instant }); | ||
this._setValueInstantly(instant); | ||
} | ||
// update state with new index if necessary | ||
if ((typeof currentView === 'undefined' ? 'undefined' : _typeof(currentView)) !== undefined && this.props.currentView !== currentView) { | ||
this.scrollTo((0, _getIndex2.default)(currentView, children)); | ||
} | ||
} | ||
}, { | ||
key: 'prev', | ||
value: function prev() { | ||
this.context.pager.prev(); | ||
} | ||
}, { | ||
key: 'next', | ||
value: function next() { | ||
this.context.pager.next(); | ||
} | ||
}, { | ||
key: 'scrollTo', | ||
value: function scrollTo(index) { | ||
this.context.pager.setCurrentView(0, index); | ||
} | ||
}, { | ||
key: '_setValueInstantly', | ||
value: function _setValueInstantly(instant, reset) { | ||
var _this3 = this; | ||
var _this5 = this; | ||
this.setState({ instant: instant }, function () { | ||
if (reset) { | ||
_this3.setState({ instant: false }); | ||
_this5.setState({ instant: false }); | ||
} | ||
@@ -147,3 +286,3 @@ }); | ||
value: function _getTrackStyle() { | ||
var trackPosition = this.context.viewPager.trackPosition; | ||
var trackPosition = this.context.pager.trackPosition; | ||
@@ -156,20 +295,9 @@ if (!this.state.instant) { | ||
}, { | ||
key: '_renderViews', | ||
value: function _renderViews() { | ||
return _react.Children.map(this.props.children, function (child) { | ||
return _react2.default.createElement(_View2.default, { children: child }); | ||
}); | ||
} | ||
}, { | ||
key: 'render', | ||
value: function render() { | ||
var _this4 = this; | ||
var _props2 = this.props, | ||
tag = _props2.tag, | ||
onScroll = _props2.onScroll, | ||
restProps = _objectWithoutProperties(_props2, ['tag', 'onScroll']); | ||
var viewPager = this.context.viewPager; | ||
var _props = this.props, | ||
tag = _props.tag, | ||
springConfig = _props.springConfig, | ||
restProps = _objectWithoutProperties(_props, ['tag', 'springConfig']); | ||
return _react2.default.createElement( | ||
@@ -181,18 +309,5 @@ _reactMotion.Motion, | ||
}, | ||
function (_ref3) { | ||
var trackPosition = _ref3.trackPosition; | ||
var _viewPager$getPositio = viewPager.getPositionValue(trackPosition), | ||
x = _viewPager$getPositio.x, | ||
y = _viewPager$getPositio.y; | ||
var style = _extends({}, restProps.style, _defineProperty({}, TRANSFORM, 'translate3d(' + x + 'px, ' + y + 'px, 0)')); | ||
// update view styles with current position tween | ||
// this method can get called hundreds of times, let's make sure to optimize as much as we can | ||
viewPager.setViewStyles(trackPosition); | ||
return (0, _react.createElement)(tag, _extends({}, restProps, { | ||
style: style | ||
}), _this4._renderViews()); | ||
function (_ref5) { | ||
var trackPosition = _ref5.trackPosition; | ||
return (0, _react.createElement)(TrackScroller, (0, _specialAssign2.default)({ trackPosition: trackPosition, tag: tag, onScroll: onScroll }, restProps, checkedProps)); | ||
} | ||
@@ -206,13 +321,28 @@ ); | ||
Track.propTypes = { | ||
springConfig: _react.PropTypes.objectOf(_react.PropTypes.number) | ||
}; | ||
Track.propTypes = checkedProps; | ||
Track.defaultProps = { | ||
tag: 'div', | ||
springConfig: _reactMotion.presets.noWobble | ||
currentView: 0, | ||
viewsToShow: 1, | ||
viewsToMove: 1, | ||
align: 0, | ||
contain: false, | ||
axis: 'x', | ||
infinite: false, | ||
instant: false, | ||
swipe: true, | ||
swipeThreshold: 0.5, | ||
flickTimeout: 300, | ||
springConfig: _reactMotion.presets.noWobble, | ||
onSwipeStart: noop, | ||
onSwipeMove: noop, | ||
onSwipeEnd: noop, | ||
onScroll: noop, | ||
beforeViewChange: noop, | ||
afterViewChange: noop | ||
}; | ||
Track.contextTypes = { | ||
viewPager: _react.PropTypes.instanceOf(_Pager2.default) | ||
pager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
exports.default = Track; | ||
module.exports = exports['default']; |
@@ -39,11 +39,26 @@ 'use strict'; | ||
function View() { | ||
var _ref; | ||
var _temp, _this, _ret; | ||
_classCallCheck(this, View); | ||
return _possibleConstructorReturn(this, (View.__proto__ || Object.getPrototypeOf(View)).apply(this, arguments)); | ||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = View.__proto__ || Object.getPrototypeOf(View)).call.apply(_ref, [this].concat(args))), _this), _this._viewInstance = null, _temp), _possibleConstructorReturn(_this, _ret); | ||
} | ||
_createClass(View, [{ | ||
key: 'getChildContext', | ||
value: function getChildContext() { | ||
return { | ||
view: this._viewInstance | ||
}; | ||
} | ||
}, { | ||
key: 'componentDidMount', | ||
value: function componentDidMount() { | ||
this._viewInstance = this.context.viewPager.addView((0, _reactDom.findDOMNode)(this)); | ||
this._viewInstance = this.context.pager.addView((0, _reactDom.findDOMNode)(this)); | ||
this.forceUpdate(); | ||
@@ -54,3 +69,3 @@ } | ||
value: function componentWillUnmount() { | ||
this.context.viewPager.removeView(this._viewInstance); | ||
this.context.pager.removeView(this._viewInstance); | ||
} | ||
@@ -60,6 +75,6 @@ }, { | ||
value: function render() { | ||
var viewPager = this.context.viewPager; | ||
var _viewPager$options = viewPager.options, | ||
viewsToShow = _viewPager$options.viewsToShow, | ||
axis = _viewPager$options.axis; | ||
var pager = this.context.pager; | ||
var _pager$options = pager.options, | ||
viewsToShow = _pager$options.viewsToShow, | ||
axis = _pager$options.axis; | ||
@@ -90,3 +105,4 @@ var _props = this.props, | ||
var edge = axis === 'y' ? 'top' : 'left'; | ||
style = _extends({}, style, _defineProperty({}, edge, this._viewInstance.getPosition()), viewPager.animationBus.getStyles(this._viewInstance)); | ||
style = _extends({}, style, _defineProperty({}, edge, this._viewInstance.getPosition()), pager.animationBus.getStyles(this._viewInstance)); | ||
} | ||
@@ -102,5 +118,8 @@ | ||
View.contextTypes = { | ||
viewPager: _react.PropTypes.instanceOf(_Pager2.default) | ||
pager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
View.childContextTypes = { | ||
view: _react.PropTypes.any | ||
}; | ||
exports.default = View; | ||
module.exports = exports['default']; |
@@ -7,4 +7,2 @@ 'use strict'; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
@@ -16,8 +14,2 @@ | ||
var _reactDom = require('react-dom'); | ||
var _reactDom2 = _interopRequireDefault(_reactDom); | ||
var _reactMotion = require('react-motion'); | ||
var _Pager = require('./Pager'); | ||
@@ -27,20 +19,6 @@ | ||
var _Frame = require('./Frame'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _Frame2 = _interopRequireDefault(_Frame); | ||
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } | ||
var _Track = require('./Track'); | ||
var _Track2 = _interopRequireDefault(_Track); | ||
var _View = require('./View'); | ||
var _View2 = _interopRequireDefault(_View); | ||
var _getIndex = require('./get-index'); | ||
var _getIndex2 = _interopRequireDefault(_getIndex); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
@@ -60,21 +38,12 @@ | ||
_this._handleOnRest = function () { | ||
if (_this.props.infinite && !_this.state.instant) { | ||
// reset back to a normal index | ||
_this._viewPager.resetViews(); | ||
// set instant flag so we can prime track for next move | ||
_this.setState({ instant: true }, function () { | ||
_this.setState({ instant: false }); | ||
}); | ||
} | ||
var pager = new _Pager2.default(); | ||
var forceUpdate = function forceUpdate() { | ||
return _this.forceUpdate(); | ||
}; | ||
_this._viewPager = new _Pager2.default(props); | ||
// re-render the whole tree to update components on certain events | ||
pager.on('viewChange', forceUpdate); | ||
pager.on('hydrated', forceUpdate); | ||
_this.state = { | ||
currentView: (0, _getIndex2.default)(props.currentView, props.children), | ||
instant: false, | ||
isMounted: false | ||
}; | ||
_this._pager = pager; | ||
return _this; | ||
@@ -87,119 +56,23 @@ } | ||
return { | ||
viewPager: this._viewPager | ||
pager: this._pager | ||
}; | ||
} | ||
}, { | ||
key: 'componentDidMount', | ||
value: function componentDidMount() { | ||
var _this2 = this; | ||
// we need to mount the frame and track before we can gather the proper info | ||
// for views, we use this flag to determine when we can mount the views | ||
this.setState({ isMounted: true }, function () { | ||
_this2._viewPager.setPositionValue(); | ||
// now that we have slides, run an instant render to finish setting everything up | ||
_this2.setState({ instant: true }, function () { | ||
_this2.setState({ instant: false }); | ||
}); | ||
}); | ||
this._viewPager.on('viewChange', function (index) { | ||
_this2.setState({ | ||
currentView: index | ||
}); | ||
}); | ||
this._viewPager.on('swipeMove', function () { | ||
_this2.setState({ | ||
instant: true | ||
}); | ||
}); | ||
this._viewPager.on('swipeEnd', function () { | ||
_this2.setState({ | ||
instant: false | ||
}); | ||
}); | ||
this._viewPager.on('resize', function () { | ||
_this2.forceUpdate(); | ||
}); | ||
key: 'componentWillUnmount', | ||
value: function componentWillUnmount() { | ||
this._pager.destroy(); | ||
} | ||
}, { | ||
key: 'componentWillReceiveProps', | ||
value: function componentWillReceiveProps(_ref) { | ||
var currentView = _ref.currentView, | ||
children = _ref.children, | ||
instant = _ref.instant; | ||
// update state with new index if necessary | ||
if ((typeof currentView === 'undefined' ? 'undefined' : _typeof(currentView)) !== undefined && this.props.currentView !== currentView) { | ||
var newIndex = (0, _getIndex2.default)(currentView, children); | ||
// set the new view index | ||
this._viewPager.setCurrentView(0, newIndex); | ||
} | ||
// update instant state from props | ||
if (this.props.instant !== instant) { | ||
this.setState({ | ||
instant: instant | ||
}); | ||
} | ||
key: 'getInstance', | ||
value: function getInstance() { | ||
return this._pager; | ||
} | ||
}, { | ||
key: 'prev', | ||
value: function prev() { | ||
this._viewPager.prev(); | ||
} | ||
}, { | ||
key: 'next', | ||
value: function next() { | ||
this._viewPager.next(); | ||
} | ||
}, { | ||
key: '_getTrackStyle', | ||
value: function _getTrackStyle() { | ||
var trackPosition = this._viewPager.trackPosition; | ||
if (!this.state.instant) { | ||
trackPosition = (0, _reactMotion.spring)(trackPosition, this.props.springConfig); | ||
} | ||
return { trackPosition: trackPosition }; | ||
} | ||
}, { | ||
key: '_renderViews', | ||
value: function _renderViews() { | ||
return this.state.isMounted && _react.Children.map(this.props.children, function (child, index) { | ||
return _react2.default.createElement(_View2.default, { children: child }); | ||
}); | ||
} | ||
}, { | ||
key: 'render', | ||
value: function render() { | ||
var _this3 = this; | ||
var _props = this.props, | ||
tag = _props.tag, | ||
restProps = _objectWithoutProperties(_props, ['tag']); | ||
return _react2.default.createElement( | ||
_Frame2.default, | ||
{ className: 'frame' }, | ||
_react2.default.createElement( | ||
_reactMotion.Motion, | ||
{ | ||
style: this._getTrackStyle(), | ||
onRest: this._handleOnRest | ||
}, | ||
function (_ref2) { | ||
var trackPosition = _ref2.trackPosition; | ||
return _react2.default.createElement( | ||
_Track2.default, | ||
{ | ||
position: trackPosition, | ||
className: 'track' | ||
}, | ||
_this3._renderViews() | ||
); | ||
} | ||
) | ||
); | ||
return (0, _react.createElement)(tag, restProps); | ||
} | ||
@@ -211,49 +84,12 @@ }]); | ||
ViewPager.childContextTypes = { | ||
pager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
ViewPager.propTypes = { | ||
currentView: _react.PropTypes.any, | ||
viewsToShow: _react.PropTypes.any, | ||
viewsToMove: _react.PropTypes.number, | ||
align: _react.PropTypes.number, | ||
contain: _react.PropTypes.bool, | ||
axis: _react.PropTypes.oneOf(['x', 'y']), | ||
autoSize: _react.PropTypes.bool, | ||
infinite: _react.PropTypes.bool, | ||
instant: _react.PropTypes.bool, | ||
swipe: _react.PropTypes.oneOf([true, false, 'mouse', 'touch']), | ||
swipeThreshold: _react.PropTypes.number, | ||
flickTimeout: _react.PropTypes.number, | ||
// rightToLeft: PropTypes.bool, | ||
// lazyLoad: PropTypes.bool, | ||
springConfig: _react2.default.PropTypes.objectOf(_react2.default.PropTypes.number) | ||
tag: _react.PropTypes.string | ||
}; | ||
ViewPager.defaultProps = { | ||
currentView: 0, | ||
viewsToShow: 'auto', | ||
viewsToMove: 1, | ||
align: 0, | ||
contain: false, | ||
axis: 'x', | ||
autoSize: false, | ||
infinite: false, | ||
instant: false, | ||
swipe: true, | ||
swipeThreshold: 0.5, | ||
flickTimeout: 300, | ||
rightToLeft: false, | ||
lazyLoad: false, | ||
springConfig: _reactMotion.presets.noWobble, | ||
onViewChange: function onViewChange() { | ||
return null; | ||
}, | ||
beforeAnimation: function beforeAnimation() { | ||
return null; | ||
}, | ||
afterAnimation: function afterAnimation() { | ||
return null; | ||
} | ||
tag: 'div' | ||
}; | ||
ViewPager.childContextTypes = { | ||
viewPager: _react.PropTypes.instanceOf(_Pager2.default) | ||
}; | ||
exports.default = ViewPager; | ||
module.exports = exports['default']; |
{ | ||
"name": "react-view-pager", | ||
"version": "0.5.0-prerelease", | ||
"version": "0.5.0-prerelease.1", | ||
"description": "View-Pager/Slider/Carousel powered by React Motion.", | ||
@@ -41,3 +41,3 @@ "main": "lib/react-view-pager.js", | ||
"dependencies": { | ||
"animation-bus": "^0.1.0", | ||
"animation-bus": "^0.2.0", | ||
"get-prefix": "^1.0.0", | ||
@@ -44,0 +44,0 @@ "minivents": "^2.0.2", |
@@ -1,2 +0,2 @@ | ||
## React View Pager | ||
## React View Pager (Prerelease) | ||
@@ -15,2 +15,7 @@ [![Dependency Status](https://david-dm.org/souporserious/react-view-pager.svg)](https://david-dm.org/souporserious/react-view-pager) | ||
```html | ||
<script src="https://unpkg.com/react-view-pager/dist/react-view-pager.js"></script> | ||
(UMD library exposed as `Reactpager`) | ||
``` | ||
## Example Usage | ||
@@ -51,2 +56,6 @@ ```js | ||
## `ViewPager` Props | ||
Mandatory wrapper component that connects child components together. | ||
## `Frame` Props | ||
@@ -57,2 +66,19 @@ | ||
### `autoSize`: PropTypes.bool | ||
Animates the wrapper's width and height to fit the current view. Defaults to `false`. | ||
### `accessibility`: PropTypes.bool | ||
Enable tabbing and keyboard navigation. | ||
### `springConfig`: React.PropTypes.objectOf(React.PropTypes.number) | ||
Accepts a [React Motion spring config](https://github.com/chenglou/react-motion#--spring-val-number-config-springhelperconfig--opaqueconfig). | ||
## `Track` Props | ||
### `tag`: PropTypes.string | ||
The HTML tag for this element. Defaults to `div`. | ||
### `currentView`: PropTypes.any | ||
@@ -62,5 +88,5 @@ | ||
### `viewsToShow`: PropTypes.number | ||
### `viewsToShow`: PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf(['auto'])]) | ||
The number of views visible in the frame at one time. Defaults to `auto` which will respect the views's natural or defined dimensions. | ||
The number of views visible in the frame at one time. Defaults to `1`. Use `auto` to respect the views's natural or defined dimensions. | ||
@@ -71,5 +97,5 @@ ### `viewsToMove`: PropTypes.number | ||
### `align`: PropTypes.oneOf(['left', 'center', 'right']) | ||
### `align`: PropTypes.number | ||
Offsets the slide to align either `left` (default), `center`, or `right`. | ||
Pass any number to offset the view from the start of the track. For example, `0` aligns to the start of the track, `0.5` to the center, and `1` aligns to the end. | ||
@@ -92,9 +118,5 @@ ### `contain`: PropTypes.bool | ||
### `autoSize`: PropTypes.bool | ||
Animates the wrapper's width and height to fit the current view. Defaults to `false`. | ||
### `animations`: PropTypes.array | ||
Define a limitless array of animation stops. Each object in the array requires a `name` and `stops` property along with an optional `unit` property. | ||
Define a limitless array of animation stops. Each object in the array requires a `prop` and `stops` property along with an optional `unit` property. | ||
@@ -104,3 +126,3 @@ ```js | ||
const animations = [{ | ||
name: 'scale', | ||
prop: 'scale', | ||
stops: [ | ||
@@ -112,3 +134,3 @@ [-200, 0.85], | ||
}, { | ||
name: 'opacity', | ||
prop: 'opacity', | ||
stops: [ | ||
@@ -134,5 +156,5 @@ [-200, 0.15], | ||
### `accessibility`: PropTypes.bool | ||
### `rightToLeft`: PropTypes.bool (Coming Soon) | ||
Enable tabbing and keyboard navigation. | ||
### `lazyLoad`: PropTypes.bool (Coming Soon) | ||
@@ -143,6 +165,2 @@ ### `springConfig`: React.PropTypes.objectOf(React.PropTypes.number) | ||
### `rightToLeft`: PropTypes.bool (Coming Soon) | ||
### `lazyLoad`: PropTypes.bool (Coming Soon) | ||
### `onSwipeStart`: PropTypes.func | ||
@@ -185,11 +203,2 @@ | ||
## `Track` Props | ||
### `tag`: PropTypes.string | ||
The HTML tag for this element. Defaults to `div`. | ||
### `springConfig`: React.PropTypes.objectOf(React.PropTypes.number) | ||
Accepts a [React Motion spring config](https://github.com/chenglou/react-motion#--spring-val-number-config-springhelperconfig--opaqueconfig). | ||
## Running Locally | ||
@@ -196,0 +205,0 @@ |
Sorry, the diff of this file is too big to display
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
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
247922
34
5011
212
0
+ Addedanimation-bus@0.2.0(transitive)
- Removedanimation-bus@0.1.0(transitive)
- Removedpolylinear-scale@1.1.6(transitive)
Updatedanimation-bus@^0.2.0