diff --git a/types/styled-system/index.d.ts b/types/styled-system/index.d.ts index 4ba8a04be8..aa94ab2aed 100644 --- a/types/styled-system/index.d.ts +++ b/types/styled-system/index.d.ts @@ -97,13 +97,32 @@ export interface VariantArgs { export function variant(props: VariantArgs): (...args: any[]) => any; +export type ObjectOrArray = T[] | { [K: string]: T }; + export interface BaseTheme { breakpoints?: number[]; - space?: number[]; + colors?: ObjectOrArray; fontSizes?: number[]; - colors?: { - [name: string]: string; - }; + space?: number[]; +} + +export interface Theme extends BaseTheme { + borders?: ObjectOrArray>; + buttons?: ObjectOrArray; + colorStyles?: ObjectOrArray; + fontWeights?: ObjectOrArray; + fonts?: ObjectOrArray; + heights?: ObjectOrArray>; + letterSpacings?: ObjectOrArray>; + lineHeights?: ObjectOrArray>; + maxHeights?: ObjectOrArray>; + maxWidths?: ObjectOrArray>; + minHeights?: ObjectOrArray>; + minWidths?: ObjectOrArray>; + opacity?: ObjectOrArray; + radii?: ObjectOrArray>; + shadows?: ObjectOrArray; + textStyles?: ObjectOrArray; } /**