UNPKG

styled-components

Version:

Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅

40 lines (28 loc) • 1.17 kB
'use strict'; 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 (nameGenerator) { return 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 hash = (0, _hash2.default)(replaceWhitespace(JSON.stringify(rules))); var name = nameGenerator(hash); var keyframes = new _GlobalStyle2.default(rules, '@keyframes ' + name); keyframes.generateAndInject(); return name; }; }; module.exports = exports['default'];