UNPKG

universal-transition

Version:
93 lines (76 loc) 2.25 kB
"use strict"; exports.__esModule = true; exports.default = transition; var _process = require("../../process"); var __read = void 0 && (void 0).__read || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) { ar.push(r.value); } } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = void 0 && (void 0).__spread || function () { for (var ar = [], i = 0; i < arguments.length; i++) { ar = ar.concat(__read(arguments[i])); } return ar; }; function parseTransform(transformValue) { var keyValueMap = {}; if (!transformValue || transformValue.length < 1) { return keyValueMap; } var functionList = transformValue.match(/\w+\(.+?\)/g); if (functionList) { functionList.forEach(function (functionString) { var functionArray = functionString.match(/(\w+)\((.+?)\)/); if (functionArray && functionArray.length === 3) { keyValueMap[functionArray[1]] = functionArray[2].replace('deg', '').split(','); } }); } return keyValueMap; } function transition(node, styles, options, callback) { var _a; _a = __read((0, _process.processParams)(options, callback), 2), options = _a[0], callback = _a[1]; // eslint-disable-next-line no-undef var animation = my.createAnimation(Object.assign({}, options, { timeFunction: options.timingFunction || 'ease' })); var properties = Object.keys(styles); properties.map(function (property) { if (animation[property]) { animation = animation[property](styles[property]); } if (property === 'transform') { var transformList_1 = parseTransform(styles[property]); Object.keys(transformList_1).forEach(function (key) { if (animation[key]) { animation = animation[key].apply(animation, __spread(transformList_1[key])); } }); } }); return { export: function _export() { return animation.step().export(); } }; }