@@ -18,22 +18,24 @@ import getSheetClasses from './utils/getSheetClasses'
1818
1919const useEffectOrLayoutEffect = isInBrowser ? React . useLayoutEffect : React . useEffect
2020
21- const noTheme = { }
21+ const noTheme : { } = { }
2222
23- type CreateUseStyles = < Theme : { } > (Styles< Theme > , HookOptions< Theme > | void) => any => Classes
23+ type CreateUseStyles = < Theme : typeof noTheme > (
24+ Styles< Theme > ,
25+ HookOptions< Theme > | void
26+ ) => any => Classes
2427
25- const createUseStyles : CreateUseStyles = < Theme : { } > (styles, options = { } ) => {
28+ const createUseStyles : CreateUseStyles = < Theme : typeof noTheme > (styles, options = { } ) => {
2629 const { index = getSheetIndex ( ) , theming, name, ...sheetOptions } = options
2730 const ThemeContext = ( theming && theming . context ) || DefaultThemeContext
2831
29- /* eslint-disable no-unused-vars */
30- const useTheme =
31- typeof styles === 'function'
32- ? // $FlowFixMe[incompatible-return]
33- ( propsTheme ? : Theme ) : Theme => propsTheme || React . useContext ( ThemeContext ) || noTheme
34- : // $FlowFixMe[incompatible-return]
35- ( _ ? : Theme ) : Theme => noTheme
36- /* eslint-enable no-unused-vars */
32+ const useTheme = ( theme ? : Theme ) : Theme | typeof noTheme => {
33+ if ( typeof styles === 'function' ) {
34+ return theme || React . useContext ( ThemeContext ) || noTheme
35+ }
36+
37+ return noTheme
38+ }
3739
3840 return function useStyles ( data : any ) {
3941 const isFirstMount = React . useRef ( true )
0 commit comments