shineout
Version:
A components library for React
32 lines (31 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classnames = _interopRequireDefault(require("classnames"));
var _base = require("@sheinx/base");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* create a new className generate function, add namespace, handle css module
* @param style - object; for css module
* @param module - string
* @param prefix - string, default value is 'shineout'
* * */
var _default = exports.default = function _default(style, module) {
var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _base.config.prefix;
return function () {
var className = _classnames.default.apply(void 0, arguments);
if (!className) return '';
var ns = "".concat(prefix).concat(module ? "-".concat(module) : '-');
var list = className.split(' ').map(function (c) {
return c === '_' ? ns : "".concat(ns, "-").concat(c);
});
if (_base.config.cssModule) {
list = list.map(function (c) {
return style[c] || c;
});
}
return list.join(' ');
};
};