@ozen-ui/kit
Version:
React component library
36 lines (35 loc) • 1.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useGenerateGridModsCn = void 0;
var tslib_1 = require("tslib");
var classnames_1 = require("@bem-react/classnames");
var object_1 = require("../../utils/object");
var generateGridModCn = function (cn, key, mod) {
var _a;
var res;
if (typeof mod === 'string' || typeof mod === 'number') {
res = (_a = {},
_a[key] = mod,
_a);
}
if (typeof mod === 'object') {
res = Object.keys(mod).reduce(function (acc, current) {
var _a;
return (tslib_1.__assign(tslib_1.__assign({}, acc), (_a = {}, _a["".concat(key, "_").concat(current)] = mod[current], _a)));
}, {});
}
return cn(res);
};
var useGenerateGridModsCn = function (cn, mods) {
if (!mods && (0, object_1.isEmpty)(mods)) {
return '';
}
return Object.keys(mods).reduce(function (acc, current) {
var mod = mods[current];
if (mod) {
return (0, classnames_1.classnames)(acc, generateGridModCn(cn, current, mod));
}
return acc;
}, '');
};
exports.useGenerateGridModsCn = useGenerateGridModsCn;
;