UNPKG

@madeja-studio/telar

Version:

UI component library by Madeja Studio

2 lines 1.7 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useAnimation=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _native=require("@react-spring/native");var _react=require("react");var _smob=require("smob");var useAnimation=exports.useAnimation=function useAnimation(animations){var config=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var from=_smob.merge.apply(void 0,(0,_toConsumableArray2.default)(animations.map(function(a){return a.from;})));var to=_smob.merge.apply(void 0,(0,_toConsumableArray2.default)(animations.map(function(a){return a.to;})));var _useSpring=(0,_native.useSpring)(function(){var _config$springConfig;return{config:(_config$springConfig=config.springConfig)!=null?_config$springConfig:{friction:30,tension:500},from:from,to:config!=null&&config.hasEnterTransition?to:undefined};}),_useSpring2=(0,_slicedToArray2.default)(_useSpring,2),style=_useSpring2[0],api=_useSpring2[1];var animatedStyle=animations.reduce(function(acc,animation){if(!animation.style){return acc;}return(0,_smob.merge)(acc,animation.style(acc));},style);var animationStart=(0,_react.useCallback)(function(props){api.start(Object.assign({to:to},props));},[api,to]);var animationStop=(0,_react.useCallback)(function(props){api.start(Object.assign({to:from},props));},[api,from]);return{animatedStyle:animatedStyle,animationStart:animationStart,animationStop:animationStop,api:api};}; //# sourceMappingURL=useAnimation.js.map