File size: 944 Bytes
56fda74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
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) {
  var variant = props.variant,
    other = _objectWithoutProperties(props, ["variant"]);
  var classKey = variant || '';
  Object.keys(other).sort().forEach(function (key) {
    if (key === 'color') {
      classKey += isEmpty(classKey) ? props[key] : capitalize(props[key]);
    } else {
      classKey += "".concat(isEmpty(classKey) ? key : capitalize(key)).concat(capitalize(props[key].toString()));
    }
  });
  return classKey;
}