download
raw
1.27 kB
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = propsToClassKey;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _capitalize = _interopRequireDefault(require("@mui/utils/capitalize"));
const _excluded = ["variant"];
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.
*/
function propsToClassKey(props) {
const {
variant
} = props,
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
let classKey = variant || '';
Object.keys(other).sort().forEach(key => {
if (key === 'color') {
classKey += isEmpty(classKey) ? props[key] : (0, _capitalize.default)(props[key]);
} else {
classKey += `${isEmpty(classKey) ? key : (0, _capitalize.default)(key)}${(0, _capitalize.default)(props[key].toString())}`;
}
});
return classKey;
}

Xet Storage Details

Size:
1.27 kB
·
Xet hash:
e54a341300e8be5ac7675366cb92f41ee501021036467611946352cdddae38df

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.