react-themable-hoc
Version:
React higher-order-components that allow for css-in-js-style themes.
49 lines (42 loc) • 1.48 kB
JavaScript
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(['exports', 'aphrodite'], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require('aphrodite'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.aphrodite);
global.AphroditeInterface = mod.exports;
}
})(this, function (exports, _aphrodite) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _aphrodite2 = _interopRequireDefault(_aphrodite);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
exports.default = function () {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _aphrodite2.default,
StyleSheet = _ref.StyleSheet,
_css = _ref.css;
return {
css: function css(styles) {
var createdStyles = StyleSheet.create(styles);
var classNames = {};
var styleKeys = Object.keys(createdStyles);
// Use regular for-loop for performance
for (var i = 0; i < styleKeys.length; i++) {
var key = styleKeys[i];
classNames[key] = _css(createdStyles[key]);
}
return classNames;
}
};
};
});