diff --git a/types/styled-system/index.d.ts b/types/styled-system/index.d.ts index c2867b27796d61..108d5b3c6e23bb 100644 --- a/types/styled-system/index.d.ts +++ b/types/styled-system/index.d.ts @@ -37,9 +37,10 @@ export type ResponsiveValue< ThemeType extends Theme = RequiredTheme, > = T | null | Array | { [key in ThemeValue<"breakpoints", ThemeType> & string | number]?: T }; -export type ThemeValue = ThemeType[K] extends TVal[] ? number - : ThemeType[K] extends Record ? E - : ThemeType[K] extends ObjectOrArray ? F +export type ThemeValue = NonNullable extends TVal[] + ? number + : NonNullable extends Record ? E + : NonNullable extends ObjectOrArray ? F : never; export interface SpaceProps> { diff --git a/types/styled-system/tsconfig.json b/types/styled-system/tsconfig.json index 04e6619e130f33..528d4dfd751278 100644 --- a/types/styled-system/tsconfig.json +++ b/types/styled-system/tsconfig.json @@ -11,7 +11,8 @@ "strictFunctionTypes": true, "types": [], "noEmit": true, - "forceConsistentCasingInFileNames": true + "forceConsistentCasingInFileNames": true, + "exactOptionalPropertyTypes": true }, "files": [ "index.d.ts",