Socket
Socket
Sign inDemoInstall

react-smooth

Package Overview
Dependencies
Maintainers
3
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-smooth - npm Package Compare versions

Comparing version 0.1.5 to 0.1.6

es6/setRafTimeout.js

4

CHANGELOG.md

@@ -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 @@ ===

2

demo/SimpleAnimation/app.js

@@ -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 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc