@nex-ui/react
Version:
🎉 A beautiful, modern, and reliable React component library.
36 lines (30 loc) • 1.03 kB
JavaScript
;
var utils = require('@nex-ui/utils');
var clsx = require('clsx');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
function composeClasses(slots, getUtilityClass, classes) {
const output = {};
// @ts-expect-error
utils.forEach(slots, (slotClasses, slot)=>{
let className = undefined;
if (classes && slot in classes) {
className = classes?.[slot];
}
const result = utils.reduce(slotClasses, (acc, slotClass)=>{
if (slotClass && typeof slotClass === 'string') {
const utilityClass = getUtilityClass(slotClass);
if (utilityClass !== '') {
acc.push(utilityClass);
}
}
return acc;
}, []);
output[slot] = clsx__default.default([
className,
result
]);
});
return output;
}
exports.composeClasses = composeClasses;