styled-components
Version:
**This is a work in progress** based off of [this demo](https://github.com/geelen/css-components-demo).
37 lines (25 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _hash = require('glamor/lib/hash');
var _hash2 = _interopRequireDefault(_hash);
var _css = require('./css');
var _css2 = _interopRequireDefault(_css);
var _GlobalStyle = require('../models/GlobalStyle');
var _GlobalStyle2 = _interopRequireDefault(_GlobalStyle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var replaceWhitespace = function replaceWhitespace(str) {
return str.replace(/\s|\\n/g, '');
};
exports.default = function (strings) {
for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
interpolations[_key - 1] = arguments[_key];
}
var rules = _css2.default.apply(undefined, [strings].concat(interpolations));
var name = 'k' + (0, _hash2.default)(replaceWhitespace(JSON.stringify(rules)));
var keyframes = new _GlobalStyle2.default(rules, '@keyframes ' + name);
keyframes.generateAndInject();
return name;
};
module.exports = exports['default'];