FrontPastel/node_modules/@mui/system/esm/propsToClassKey.js

27 lines
976 B
JavaScript
Raw Normal View History

2024-04-17 13:55:11 +00:00
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["variant"];
import capitalize from '@mui/utils/capitalize';
function isEmpty(string) {
return string.length === 0;
}
/**
* Generates string classKey based on the properties provided. It starts with the
* variant if defined, and then it appends all other properties in alphabetical order.
* @param {object} props - the properties for which the classKey should be created.
*/
export default function propsToClassKey(props) {
const {
variant
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded);
let classKey = variant || '';
Object.keys(other).sort().forEach(key => {
if (key === 'color') {
classKey += isEmpty(classKey) ? props[key] : capitalize(props[key]);
} else {
classKey += `${isEmpty(classKey) ? key : capitalize(key)}${capitalize(props[key].toString())}`;
}
});
return classKey;
}