react-smooth
Advanced tools
Comparing version 0.1.5 to 0.1.6
@@ -0,1 +1,5 @@ | ||
### 0.1.6 / 2016-04-15 | ||
=== | ||
- fix: fix Animate not pipe props when Animate not active | ||
### 0.1.5 / 2016-04-13 | ||
@@ -2,0 +6,0 @@ === |
@@ -22,3 +22,3 @@ import Animate, { configSpring, configBezier } from 'react-smooth'; | ||
</button> | ||
<Animate easing={configSpring()} from={{ y: 0 }} to={{ y: this.state.to }}> | ||
<Animate easing="spring" from={{ y: 0 }} to={{ y: this.state.to }}> | ||
{({ y }) => ( | ||
@@ -25,0 +25,0 @@ <div style={{ |
@@ -124,6 +124,12 @@ 'use strict'; | ||
if (!isActive || !canBegin) { | ||
if (!canBegin) { | ||
return; | ||
} | ||
if (!isActive) { | ||
this.setState({ | ||
style: attributeName ? _defineProperty({}, attributeName, nextProps.to) : nextProps.to | ||
}); | ||
} | ||
var animateProps = ['to', 'canBegin', 'isActive']; | ||
@@ -276,4 +282,3 @@ | ||
key: 'handleStyleChange', | ||
value: function handleStyleChange() { | ||
var style = this.manager.getStyle(); | ||
value: function handleStyleChange(style) { | ||
this.changeStyle(style); | ||
@@ -280,0 +285,0 @@ } |
@@ -7,168 +7,78 @@ 'use strict'; | ||
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; }; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; | ||
var _util = require('./util'); | ||
exports.default = createAnimateManager; | ||
var _raf = require('raf'); | ||
var _setRafTimeout = require('./setRafTimeout'); | ||
var _raf2 = _interopRequireDefault(_raf); | ||
var _setRafTimeout2 = _interopRequireDefault(_setRafTimeout); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); } | ||
var createAnimateManager = function createAnimateManager(initialStyle) { | ||
var currStyle = initialStyle; | ||
var handleChange = function handleChange() {}; | ||
function createAnimateManager() { | ||
var currStyle = {}; | ||
var handleChange = function handleChange() { | ||
return null; | ||
}; | ||
var shouldStop = false; | ||
return { | ||
subscribe: function subscribe(listener) { | ||
handleChange = listener; | ||
return function () { | ||
handleChange = function handleChange() { | ||
return null; | ||
}; | ||
}; | ||
}, | ||
setStyle: function setStyle(style) { | ||
currStyle = style; | ||
handleChange(); | ||
}, | ||
start: function start() { | ||
shouldStop = false; | ||
}, | ||
getShouldStop: function getShouldStop() { | ||
return shouldStop; | ||
}, | ||
getStyle: function getStyle() { | ||
return currStyle; | ||
}, | ||
stop: function stop() { | ||
shouldStop = true; | ||
var setStyle = function setStyle(_style) { | ||
if (shouldStop) { | ||
return; | ||
} | ||
}; | ||
}; | ||
var applyMiddleware = function applyMiddleware() { | ||
for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) { | ||
middlewares[_key] = arguments[_key]; | ||
} | ||
if (Array.isArray(_style)) { | ||
if (!_style.length) { | ||
return; | ||
} | ||
return function (next) { | ||
return function (style) { | ||
var manager = next(style); | ||
var _setStyle = manager.setStyle; | ||
var chain = []; | ||
var styles = _style; | ||
var middlewareAPI = _extends({}, manager, { | ||
setStyle: function setStyle(_style) { | ||
return _setStyle(_style); | ||
} | ||
}); | ||
chain = middlewares.map(function (middleware) { | ||
return middleware(middlewareAPI); | ||
}); | ||
_setStyle = _util.compose.apply(undefined, _toConsumableArray(chain))(manager.setStyle); | ||
var _styles = _toArray(styles); | ||
return _extends({}, manager, { | ||
setStyle: _setStyle, | ||
start: function start(_style) { | ||
manager.start(); | ||
return _setStyle(_style); | ||
} | ||
}); | ||
}; | ||
}; | ||
}; | ||
var curr = _styles[0]; | ||
var setStyleAsync = function setStyleAsync(_ref) { | ||
var setStyle = _ref.setStyle; | ||
var getShouldStop = _ref.getShouldStop; | ||
return function (next) { | ||
var timeout = null; | ||
var restStyles = _styles.slice(1); | ||
return function (style) { | ||
if (getShouldStop()) { | ||
clearTimeout(timeout); | ||
if (typeof curr === 'number') { | ||
(0, _setRafTimeout2.default)(setStyle.bind(null, restStyles), curr); | ||
return new Promise(function (resolve, reject) { | ||
reject(); | ||
}); | ||
return; | ||
} | ||
if (typeof style === 'function' || Array.isArray(style)) { | ||
return next(style); | ||
} | ||
setStyle(curr); | ||
(0, _setRafTimeout2.default)(setStyle.bind(null, restStyles)); | ||
return; | ||
} | ||
return new Promise(function (resolve, reject) { | ||
var delay = 0; | ||
var callback = next; | ||
if ((typeof _style === 'undefined' ? 'undefined' : _typeof(_style)) === 'object') { | ||
currStyle = _style; | ||
handleChange(currStyle); | ||
} | ||
if (typeof style === 'number') { | ||
delay = style; | ||
callback = function callback() {}; | ||
} | ||
timeout = setTimeout(function () { | ||
// set style in next frame to avoid batch set style | ||
var res = null; | ||
(0, _raf2.default)(function () { | ||
(0, _raf2.default)(function () { | ||
res = callback(style); | ||
resolve(); | ||
return res; | ||
}); | ||
}); | ||
}, delay); | ||
}); | ||
}; | ||
if (typeof _style === 'function') { | ||
_style(); | ||
} | ||
}; | ||
}; | ||
var sequenceMiddleware = function sequenceMiddleware(_ref2) { | ||
var setStyle = _ref2.setStyle; | ||
return function (next) { | ||
return function (style) { | ||
if (Array.isArray(style)) { | ||
var styles = style; | ||
return { | ||
stop: function stop() { | ||
shouldStop = true; | ||
}, | ||
start: function start(style) { | ||
shouldStop = false; | ||
setStyle(style); | ||
}, | ||
subscribe: function subscribe(_handleChange) { | ||
handleChange = _handleChange; | ||
return styles.reduce(function (result, currStyle) { | ||
return result.then(function () { | ||
return setStyle(currStyle); | ||
}).catch(function () {}); | ||
}, Promise.resolve()); | ||
} | ||
return next(style); | ||
}; | ||
return function () { | ||
handleChange = function handleChange() { | ||
return null; | ||
}; | ||
}; | ||
} | ||
}; | ||
}; | ||
var thunkMiddeware = function thunkMiddeware(_ref3) { | ||
var setStyle = _ref3.setStyle; | ||
var getStyle = _ref3.getStyle; | ||
return function (next) { | ||
return function (style) { | ||
if (typeof style === 'function') { | ||
return style(setStyle, getStyle); | ||
} | ||
return next(style); | ||
}; | ||
}; | ||
}; | ||
/* | ||
* manager.setStyle: | ||
* if style is an object, manager will set a new style. | ||
* if style is a number, manager will wait time of style microsecond. | ||
* if style is a function, manager will run this function bind arguments of | ||
* getStyle and setStyle. | ||
* if style is an array, manager will run setStyle of every element in order. | ||
*/ | ||
var finalCreateAniamteManager = (0, _util.compose)(applyMiddleware(setStyleAsync, sequenceMiddleware, thunkMiddeware))(createAnimateManager); | ||
exports.default = finalCreateAniamteManager; | ||
} |
@@ -30,7 +30,5 @@ 'use strict'; | ||
}; | ||
var needContinue = function needContinue(_ref) { | ||
var from = _ref.from; | ||
var to = _ref.to; | ||
return from !== to; | ||
@@ -96,2 +94,5 @@ }; | ||
var beginTime = void 0; | ||
var update = function update() { | ||
return null; | ||
}; | ||
@@ -145,3 +146,3 @@ var getCurrStyle = function getCurrStyle() { | ||
var update = easing.isStepper ? stepperUpdate : timingUpdate; | ||
update = easing.isStepper ? stepperUpdate : timingUpdate; | ||
@@ -148,0 +149,0 @@ // return start animation method |
@@ -10,2 +10,8 @@ 'use strict'; | ||
var _invariant = require('invariant'); | ||
var _invariant2 = _interopRequireDefault(_invariant); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
@@ -186,3 +192,3 @@ | ||
default: | ||
invariant(false, '[configEasing]: first argument should be one of \'ease\', \'ease-in\', ' + '\'ease-out\', \'ease-in-out\', \'linear\' and \'spring\', instead received %s', args); | ||
(0, _invariant2.default)(false, '[configEasing]: first argument should be one of \'ease\', \'ease-in\', ' + '\'ease-out\', \'ease-in-out\', \'linear\' and \'spring\', instead received %s', args); | ||
} | ||
@@ -195,3 +201,5 @@ } | ||
invariant(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args); | ||
(0, _invariant2.default)(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args); | ||
return null; | ||
}; |
@@ -115,4 +115,2 @@ 'use strict'; | ||
return _extends({}, res, generatePrefixStyle(key, res[key])); | ||
return res; | ||
}, style); | ||
@@ -119,0 +117,0 @@ }; |
@@ -124,6 +124,12 @@ 'use strict'; | ||
if (!isActive || !canBegin) { | ||
if (!canBegin) { | ||
return; | ||
} | ||
if (!isActive) { | ||
this.setState({ | ||
style: attributeName ? _defineProperty({}, attributeName, nextProps.to) : nextProps.to | ||
}); | ||
} | ||
var animateProps = ['to', 'canBegin', 'isActive']; | ||
@@ -276,4 +282,3 @@ | ||
key: 'handleStyleChange', | ||
value: function handleStyleChange() { | ||
var style = this.manager.getStyle(); | ||
value: function handleStyleChange(style) { | ||
this.changeStyle(style); | ||
@@ -280,0 +285,0 @@ } |
@@ -7,168 +7,78 @@ 'use strict'; | ||
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; }; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; | ||
var _util = require('./util'); | ||
exports.default = createAnimateManager; | ||
var _raf = require('raf'); | ||
var _setRafTimeout = require('./setRafTimeout'); | ||
var _raf2 = _interopRequireDefault(_raf); | ||
var _setRafTimeout2 = _interopRequireDefault(_setRafTimeout); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); } | ||
var createAnimateManager = function createAnimateManager(initialStyle) { | ||
var currStyle = initialStyle; | ||
var handleChange = function handleChange() {}; | ||
function createAnimateManager() { | ||
var currStyle = {}; | ||
var handleChange = function handleChange() { | ||
return null; | ||
}; | ||
var shouldStop = false; | ||
return { | ||
subscribe: function subscribe(listener) { | ||
handleChange = listener; | ||
return function () { | ||
handleChange = function handleChange() { | ||
return null; | ||
}; | ||
}; | ||
}, | ||
setStyle: function setStyle(style) { | ||
currStyle = style; | ||
handleChange(); | ||
}, | ||
start: function start() { | ||
shouldStop = false; | ||
}, | ||
getShouldStop: function getShouldStop() { | ||
return shouldStop; | ||
}, | ||
getStyle: function getStyle() { | ||
return currStyle; | ||
}, | ||
stop: function stop() { | ||
shouldStop = true; | ||
var setStyle = function setStyle(_style) { | ||
if (shouldStop) { | ||
return; | ||
} | ||
}; | ||
}; | ||
var applyMiddleware = function applyMiddleware() { | ||
for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) { | ||
middlewares[_key] = arguments[_key]; | ||
} | ||
if (Array.isArray(_style)) { | ||
if (!_style.length) { | ||
return; | ||
} | ||
return function (next) { | ||
return function (style) { | ||
var manager = next(style); | ||
var _setStyle = manager.setStyle; | ||
var chain = []; | ||
var styles = _style; | ||
var middlewareAPI = _extends({}, manager, { | ||
setStyle: function setStyle(_style) { | ||
return _setStyle(_style); | ||
} | ||
}); | ||
chain = middlewares.map(function (middleware) { | ||
return middleware(middlewareAPI); | ||
}); | ||
_setStyle = _util.compose.apply(undefined, _toConsumableArray(chain))(manager.setStyle); | ||
var _styles = _toArray(styles); | ||
return _extends({}, manager, { | ||
setStyle: _setStyle, | ||
start: function start(_style) { | ||
manager.start(); | ||
return _setStyle(_style); | ||
} | ||
}); | ||
}; | ||
}; | ||
}; | ||
var curr = _styles[0]; | ||
var setStyleAsync = function setStyleAsync(_ref) { | ||
var setStyle = _ref.setStyle; | ||
var getShouldStop = _ref.getShouldStop; | ||
return function (next) { | ||
var timeout = null; | ||
var restStyles = _styles.slice(1); | ||
return function (style) { | ||
if (getShouldStop()) { | ||
clearTimeout(timeout); | ||
if (typeof curr === 'number') { | ||
(0, _setRafTimeout2.default)(setStyle.bind(null, restStyles), curr); | ||
return new Promise(function (resolve, reject) { | ||
reject(); | ||
}); | ||
return; | ||
} | ||
if (typeof style === 'function' || Array.isArray(style)) { | ||
return next(style); | ||
} | ||
setStyle(curr); | ||
(0, _setRafTimeout2.default)(setStyle.bind(null, restStyles)); | ||
return; | ||
} | ||
return new Promise(function (resolve, reject) { | ||
var delay = 0; | ||
var callback = next; | ||
if ((typeof _style === 'undefined' ? 'undefined' : _typeof(_style)) === 'object') { | ||
currStyle = _style; | ||
handleChange(currStyle); | ||
} | ||
if (typeof style === 'number') { | ||
delay = style; | ||
callback = function callback() {}; | ||
} | ||
timeout = setTimeout(function () { | ||
// set style in next frame to avoid batch set style | ||
var res = null; | ||
(0, _raf2.default)(function () { | ||
(0, _raf2.default)(function () { | ||
res = callback(style); | ||
resolve(); | ||
return res; | ||
}); | ||
}); | ||
}, delay); | ||
}); | ||
}; | ||
if (typeof _style === 'function') { | ||
_style(); | ||
} | ||
}; | ||
}; | ||
var sequenceMiddleware = function sequenceMiddleware(_ref2) { | ||
var setStyle = _ref2.setStyle; | ||
return function (next) { | ||
return function (style) { | ||
if (Array.isArray(style)) { | ||
var styles = style; | ||
return { | ||
stop: function stop() { | ||
shouldStop = true; | ||
}, | ||
start: function start(style) { | ||
shouldStop = false; | ||
setStyle(style); | ||
}, | ||
subscribe: function subscribe(_handleChange) { | ||
handleChange = _handleChange; | ||
return styles.reduce(function (result, currStyle) { | ||
return result.then(function () { | ||
return setStyle(currStyle); | ||
}).catch(function () {}); | ||
}, Promise.resolve()); | ||
} | ||
return next(style); | ||
}; | ||
return function () { | ||
handleChange = function handleChange() { | ||
return null; | ||
}; | ||
}; | ||
} | ||
}; | ||
}; | ||
var thunkMiddeware = function thunkMiddeware(_ref3) { | ||
var setStyle = _ref3.setStyle; | ||
var getStyle = _ref3.getStyle; | ||
return function (next) { | ||
return function (style) { | ||
if (typeof style === 'function') { | ||
return style(setStyle, getStyle); | ||
} | ||
return next(style); | ||
}; | ||
}; | ||
}; | ||
/* | ||
* manager.setStyle: | ||
* if style is an object, manager will set a new style. | ||
* if style is a number, manager will wait time of style microsecond. | ||
* if style is a function, manager will run this function bind arguments of | ||
* getStyle and setStyle. | ||
* if style is an array, manager will run setStyle of every element in order. | ||
*/ | ||
var finalCreateAniamteManager = (0, _util.compose)(applyMiddleware(setStyleAsync, sequenceMiddleware, thunkMiddeware))(createAnimateManager); | ||
exports.default = finalCreateAniamteManager; | ||
} |
@@ -30,7 +30,5 @@ 'use strict'; | ||
}; | ||
var needContinue = function needContinue(_ref) { | ||
var from = _ref.from; | ||
var to = _ref.to; | ||
return from !== to; | ||
@@ -96,2 +94,5 @@ }; | ||
var beginTime = void 0; | ||
var update = function update() { | ||
return null; | ||
}; | ||
@@ -145,3 +146,3 @@ var getCurrStyle = function getCurrStyle() { | ||
var update = easing.isStepper ? stepperUpdate : timingUpdate; | ||
update = easing.isStepper ? stepperUpdate : timingUpdate; | ||
@@ -148,0 +149,0 @@ // return start animation method |
@@ -10,2 +10,8 @@ 'use strict'; | ||
var _invariant = require('invariant'); | ||
var _invariant2 = _interopRequireDefault(_invariant); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
@@ -186,3 +192,3 @@ | ||
default: | ||
invariant(false, '[configEasing]: first argument should be one of \'ease\', \'ease-in\', ' + '\'ease-out\', \'ease-in-out\', \'linear\' and \'spring\', instead received %s', args); | ||
(0, _invariant2.default)(false, '[configEasing]: first argument should be one of \'ease\', \'ease-in\', ' + '\'ease-out\', \'ease-in-out\', \'linear\' and \'spring\', instead received %s', args); | ||
} | ||
@@ -195,3 +201,5 @@ } | ||
invariant(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args); | ||
(0, _invariant2.default)(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args); | ||
return null; | ||
}; |
@@ -115,4 +115,2 @@ 'use strict'; | ||
return _extends({}, res, generatePrefixStyle(key, res[key])); | ||
return res; | ||
}, style); | ||
@@ -119,0 +117,0 @@ }; |
{ | ||
"name": "react-smooth", | ||
"version": "0.1.5", | ||
"version": "0.1.6", | ||
"description": "react animation library", | ||
@@ -30,3 +30,3 @@ "main": "lib/index", | ||
"test-browser": "./node_modules/.bin/karma start", | ||
"demo": "webpack-dev-server --progress --port 3000 --colors --content-base demo --hot --inline --config demo/webpack.config.js", | ||
"demo": "webpack-dev-server --progress --port 4000 --colors --content-base demo --hot --inline --config demo/webpack.config.js", | ||
"lint": "eslint src" | ||
@@ -33,0 +33,0 @@ }, |
@@ -103,6 +103,12 @@ import React, { Component, PropTypes, cloneElement, Children } from 'react'; | ||
if (!isActive || !canBegin) { | ||
if (!canBegin) { | ||
return; | ||
} | ||
if (!isActive) { | ||
this.setState({ | ||
style: attributeName ? { [attributeName]: nextProps.to } : nextProps.to, | ||
}); | ||
} | ||
const animateProps = ['to', 'canBegin', 'isActive']; | ||
@@ -109,0 +115,0 @@ |
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
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
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
45
1
1
262637
7094