UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

28 lines (25 loc) 797 B
'use client'; import cx from 'clsx'; const EMPTY_CLASS_NAMES = {}; function mergeClassNames(objects) { const merged = {}; objects.forEach((obj) => { Object.entries(obj).forEach(([key, value]) => { if (merged[key]) { merged[key] = cx(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); } export { resolveClassNames }; //# sourceMappingURL=resolve-class-names.mjs.map