import React, { useEffect, useState } from 'react';
import { addGlobalCss } from '../';
export interface WithClassesProps
{
classes: P;
}
function withClasses(defaultClassesWithoutNames: C, componentName: string) {
return function(
Component: React.ComponentType,
) {
return function(props: Omit): JSX.Element {
const [defaultClasses, setDefaultClasses] = useState(null);
useEffect(() => {
setDefaultClasses(
addGlobalCss({
seedStyleMap: defaultClassesWithoutNames,
componentName,
}),
);
}, []);
const newProps = { ...props, defaultClasses } as T;
return ;
};
};
}
export { withClasses };