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 };