UNPKG

backpack-ui

Version:
45 lines (35 loc) 1.51 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); exports.default = function (configs) { var styles = {}; (0, _keys2.default)(configs).map(function (key) { var isTransform = TRANSFORMS.indexOf(key) > -1; var value = Math.round(+configs[key] * 10000) / 10000; if (isTransform) { var transformProps = styles[TRANSFORM] || ''; if (UNIT_TRANSFORMS.indexOf(key) > -1) { transformProps += key + '(' + value + 'px) '; } else if (DEGREE_TRANFORMS.indexOf(key) > -1) { transformProps += key + '(' + value + 'deg) '; } else if (UNITLESS_TRANSFORMS.indexOf(key) > -1) { transformProps += key + '(' + value + ') '; } styles[TRANSFORM] = transformProps; } else { styles[key] = value; } }); return styles; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* eslint-disable */ // https://github.com/souporserious/react-motion-ui-pack/blob/master/src/config-to-style.js var TRANSFORM = require('./get-prefix')('transform'); var UNIT_TRANSFORMS = ['translateX', 'translateY', 'translateZ', 'transformPerspective']; var DEGREE_TRANFORMS = ['rotate', 'rotateX', 'rotateY', 'rotateZ', 'skewX', 'skewY', 'scaleZ']; var UNITLESS_TRANSFORMS = ['scale', 'scaleX', 'scaleY']; var TRANSFORMS = UNIT_TRANSFORMS.concat(DEGREE_TRANFORMS, UNITLESS_TRANSFORMS);