@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
20 lines (17 loc) • 791 B
JavaScript
import { useMemo } from 'react';
import { createUseStyles } from 'react-jss';
import { mergeClassNames } from './utils/merge-class-names/merge-class-names.js';
function createMemoStyles(styles) {
const useStyles = createUseStyles(styles);
return function useMemoStyles(args, classNames, name) {
const validArgs = typeof args === "object" && args !== null;
const dependencies = validArgs ? Object.keys(args).filter((key) => key !== "theme").map((key) => args[key]) : [];
if (validArgs && "theme" in args) {
dependencies.push(args.theme.colorScheme);
}
const stylesProps = useMemo(() => args, dependencies);
return mergeClassNames(useStyles(stylesProps), classNames, name);
};
}
export { createMemoStyles };
//# sourceMappingURL=create-memo-styles.js.map