rsuite
Version:
A suite of react components
33 lines (30 loc) • 1.14 kB
JavaScript
'use client';
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.globalKey = exports.getClassNamePrefix = exports.defaultClassPrefix = exports.default = void 0;
exports.prefix = prefix;
var _classnames = _interopRequireDefault(require("classnames"));
var _curry = _interopRequireDefault(require("lodash/curry"));
const globalKey = exports.globalKey = 'rs-';
const getClassNamePrefix = () => {
// TODO: A prefix that can be replaced at runtime.
return globalKey;
};
exports.getClassNamePrefix = getClassNamePrefix;
const defaultClassPrefix = name => `${getClassNamePrefix()}${name}`;
exports.defaultClassPrefix = defaultClassPrefix;
function prefix(pre, className) {
if (!pre || !className) {
return '';
}
if (Array.isArray(className)) {
return (0, _classnames.default)(className.filter(name => !!name).map(name => `${pre}-${name}`));
}
// TODO Compatible with V4
if (pre[pre.length - 1] === '-') {
return `${pre}${className}`;
}
return `${pre}-${className}`;
}
var _default = exports.default = (0, _curry.default)(prefix);