@nex-ui/react
Version:
🎉 A beautiful, modern, and reliable React component library.
26 lines (23 loc) • 725 B
JavaScript
import { forEach, reduce } from '@nex-ui/utils';
function composeClasses(slots, getUtilityClass, classes) {
const output = {};
// @ts-expect-error
forEach(slots, (slotClasses, slot)=>{
const className = classes?.[slot];
const result = reduce(slotClasses, (acc, slotClass)=>{
if (slotClass && typeof slotClass === 'string') {
const utilityClass = getUtilityClass(slotClass);
if (utilityClass !== '') {
acc.push(utilityClass);
}
}
return acc;
}, []);
output[slot] = [
className,
result
];
});
return output;
}
export { composeClasses };