UNPKG

kitchensink

Version:

Dispatch's awesome components and style guide

40 lines (35 loc) 1.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = visited; function visited(_ref) { var addCSS = _ref.addCSS; var appendImportantToEachValue = _ref.appendImportantToEachValue; var config = _ref.config; var cssRuleSetToString = _ref.cssRuleSetToString; var hash = _ref.hash; var props = _ref.props; var style = _ref.style; // eslint-disable-line no-shadow var className = props.className; var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) { var value = style[key]; if (key === ':visited') { value = appendImportantToEachValue(value); var ruleCSS = cssRuleSetToString('', value, config.userAgent); var visitedClassName = 'rad-' + hash(ruleCSS); var css = '.' + visitedClassName + ':visited' + ruleCSS; addCSS(css); className = (className ? className + ' ' : '') + visitedClassName; } else { newStyleInProgress[key] = value; } return newStyleInProgress; }, {}); return { props: className === props.className ? null : { className: className }, style: newStyle }; } module.exports = exports['default'];