From 1fbd24855f90db4028bfa3244cfb2eb50d499883 Mon Sep 17 00:00:00 2001 From: Evan Jacobs Date: Mon, 24 Jun 2019 20:14:12 -0500 Subject: [PATCH] revise & simplify theme determination --- packages/styled-components/src/utils/determineTheme.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/styled-components/src/utils/determineTheme.js b/packages/styled-components/src/utils/determineTheme.js index 5f3afff3..5d242cf5 100644 --- a/packages/styled-components/src/utils/determineTheme.js +++ b/packages/styled-components/src/utils/determineTheme.js @@ -5,11 +5,6 @@ type Props = { theme?: any, }; -export default (props: Props, fallbackTheme: any, defaultProps: any = EMPTY_OBJECT) => { - // Props should take precedence over ThemeProvider, which should take precedence over - // defaultProps, but React automatically puts defaultProps on props. - const isDefaultTheme = defaultProps ? props.theme === defaultProps.theme : false; - const theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme || defaultProps.theme; - - return theme; +export default (props: Props, providedTheme: any, defaultProps: any = EMPTY_OBJECT) => { + return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme; };