@mui/core
Version:
Unstyled React components with which to implement custom design systems.
26 lines (22 loc) • 683 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = composeClasses;
function composeClasses(slots, getUtilityClass, classes) {
const output = {};
Object.keys(slots).forEach( // `Objet.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.
// @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208
slot => {
output[slot] = slots[slot].reduce((acc, key) => {
if (key) {
if (classes && classes[key]) {
acc.push(classes[key]);
}
acc.push(getUtilityClass(key));
}
return acc;
}, []).join(' ');
});
return output;
}