@gravity-ui/uikit
Version:
Gravity UI base styling and components
43 lines (42 loc) • 1.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseClass = parseClass;
exports.formatClass = formatClass;
function parseClass(strClass) {
const split = strClass.split('_').filter((str) => str);
if (strClass.includes('__')) {
return {
block: split[0],
element: split[1],
mod: split[2]
? {
key: split[2],
value: split[3] ? split[3] : true,
}
: undefined,
};
}
return {
block: split[0],
mod: split[1]
? {
key: split[1],
value: split[2] ? split[2] : true,
}
: undefined,
};
}
function formatClass(objClass) {
let result = objClass.block;
if (objClass.element) {
result = `${result}__${objClass.element}`;
}
if (objClass.mod?.value) {
result = `${result}_${objClass.mod.key}`;
if (typeof objClass.mod.value === 'string') {
result = `${result}_${objClass.mod.value}`;
}
}
return result;
}
//# sourceMappingURL=class-transform.js.map
;