|
1 |
| -'use strict';var _extends=Object.assign||function(target){for(var source,i=1;i<arguments.length;i++)for(var key in source=arguments[i],source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);return target};var _react=require('react'),_react2=_interopRequireDefault(_react),_stylis=require('stylis'),_stylis2=_interopRequireDefault(_stylis);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var css=function(a){return function(b,c,d){return _extends({},d,{value:function value(){var e=void 0,g=d.value.apply(function f(m){return e=m.props,m}(this),arguments),h=fillProps(a,e),j=g.props.className||'',k=j+' '+insertRules(h),l=_extends({},e,{className:k});return _react2.default.cloneElement(g,l,g.props.children)}})}},fillProps=function(a,b){a=a[0];var c=/{this.props.*}/g,d=a.match(c);if(d&&d.length){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=d[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var e=_step.value,f=e,g=void 0,h=void 0;f=f.replace('{this.props.',''),f=f.substring(0,f.length-1),f=f.trim(),g=b,h=f.split('.');for(var j=0;j<h.length;j++)g=g[h[j]];a=a.replace(e,g)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}return a},insertRules=function(a){var b=getStyleElement(),c=getHash(a);console.log(c);var d=(0,_stylis2.default)('.'+c,a);return b.innerHTML+=d,c},getHash=function(a){var b=0;if(0==a.length)return b;for(var d,c=0;c<a.length;c++)d=a.charCodeAt(c),b=(b<<5)-b+d;return'c'+b.toString(36)},getStyleElement=function(){var a=document.querySelector('[title=css-constructor]');return a||(a=document.createElement('style'),a.setAttribute('title','css-constructor'),document.head.appendChild(a)),a},camelCase=function(a){return a.replace(/(\-[a-z])/g,function(b){return b.toUpperCase().replace('-','')})};module.exports=css; |
| 1 | +'use strict' |
| 2 | +var _extends = |
| 3 | + Object.assign || |
| 4 | + function(target) { |
| 5 | + for (var source, i = 1; i < arguments.length; i++) |
| 6 | + for (var key in ((source = arguments[i]), source)) |
| 7 | + Object.prototype.hasOwnProperty.call(source, key) && |
| 8 | + (target[key] = source[key]) |
| 9 | + return target |
| 10 | + } |
| 11 | +var _react = require('react'), |
| 12 | + _react2 = _interopRequireDefault(_react), |
| 13 | + _stylis = require('stylis'), |
| 14 | + _stylis2 = _interopRequireDefault(_stylis) |
| 15 | +function _interopRequireDefault(obj) { |
| 16 | + return obj && obj.__esModule ? obj : { default: obj } |
| 17 | +} |
| 18 | +var css = function(a) { |
| 19 | + return function(b, c, d) { |
| 20 | + return _extends({}, d, { |
| 21 | + value: function value() { |
| 22 | + var e = void 0, |
| 23 | + g = d.value.apply( |
| 24 | + (function f(m) { |
| 25 | + return (e = m.props), m |
| 26 | + })(this), |
| 27 | + arguments |
| 28 | + ), |
| 29 | + h = fillProps(a, e), |
| 30 | + j = g.props.className || '', |
| 31 | + k = j + ' ' + insertRules(h), |
| 32 | + l = _extends({}, e, { className: k }) |
| 33 | + return _react2.default.cloneElement(g, l, g.props.children) |
| 34 | + } |
| 35 | + }) |
| 36 | + } |
| 37 | +}, |
| 38 | + fillProps = function(a, b) { |
| 39 | + a = a[0] |
| 40 | + var c = /{this.props.*}/g, d = a.match(c) |
| 41 | + if (d && d.length) { |
| 42 | + var _iteratorNormalCompletion = !0, |
| 43 | + _didIteratorError = !1, |
| 44 | + _iteratorError = void 0 |
| 45 | + try { |
| 46 | + for ( |
| 47 | + var _step, _iterator = d[Symbol.iterator](); |
| 48 | + !(_iteratorNormalCompletion = (_step = _iterator.next()).done); |
| 49 | + _iteratorNormalCompletion = !0 |
| 50 | + ) { |
| 51 | + var e = _step.value, f = e, g = void 0, h = void 0 |
| 52 | + ;(f = f.replace('{this.props.', '')), (f = f.substring( |
| 53 | + 0, |
| 54 | + f.length - 1 |
| 55 | + )), (f = f.trim()), (g = b), (h = f.split('.')) |
| 56 | + for (var j = 0; j < h.length; j++) |
| 57 | + g = g[h[j]] |
| 58 | + a = a.replace(e, g) |
| 59 | + } |
| 60 | + } catch (err) { |
| 61 | + ;(_didIteratorError = !0), (_iteratorError = err) |
| 62 | + } finally { |
| 63 | + try { |
| 64 | + !_iteratorNormalCompletion && _iterator.return && _iterator.return() |
| 65 | + } finally { |
| 66 | + if (_didIteratorError) throw _iteratorError |
| 67 | + } |
| 68 | + } |
| 69 | + } |
| 70 | + return a |
| 71 | + }, |
| 72 | + insertRules = function(a) { |
| 73 | + var b = getStyleElement(), c = getHash(a) |
| 74 | + console.log(c) |
| 75 | + var d = (0, _stylis2.default)('.' + c, a) |
| 76 | + return (b.innerHTML += d), c |
| 77 | + }, |
| 78 | + getHash = function(a) { |
| 79 | + var b = 0 |
| 80 | + for (var d, c = 0; c < a.length; c++) |
| 81 | + (d = a.charCodeAt(c)), (b = (b << 5) - b + d) |
| 82 | + return 'c' + b.toString(36) |
| 83 | + }, |
| 84 | + getStyleElement = function() { |
| 85 | + var a = document.querySelector('[title=css-constructor]') |
| 86 | + return a || |
| 87 | + ((a = document.createElement('style')), a.setAttribute( |
| 88 | + 'title', |
| 89 | + 'css-constructor' |
| 90 | + ), document.head.appendChild(a)), a |
| 91 | + }, |
| 92 | + camelCase = function(a) { |
| 93 | + return a.replace(/(\-[a-z])/g, function(b) { |
| 94 | + return b.toUpperCase().replace('-', '') |
| 95 | + }) |
| 96 | + } |
| 97 | +module.exports = css |
0 commit comments