@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
34 lines (28 loc) • 983 B
JavaScript
'use client';
;
var cx = require('clsx');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var cx__default = /*#__PURE__*/_interopDefault(cx);
const EMPTY_CLASS_NAMES = {};
function mergeClassNames(objects) {
const merged = {};
objects.forEach((obj) => {
Object.entries(obj).forEach(([key, value]) => {
if (merged[key]) {
merged[key] = cx__default.default(merged[key], value);
} else {
merged[key] = value;
}
});
});
return merged;
}
function resolveClassNames({ theme, classNames, props, stylesCtx }) {
const arrayClassNames = Array.isArray(classNames) ? classNames : [classNames];
const resolvedClassNames = arrayClassNames.map(
(item) => typeof item === "function" ? item(theme, props, stylesCtx) : item || EMPTY_CLASS_NAMES
);
return mergeClassNames(resolvedClassNames);
}
exports.resolveClassNames = resolveClassNames;
//# sourceMappingURL=resolve-class-names.cjs.map