diff --git a/.changeset/tasty-goats-crash.md b/.changeset/tasty-goats-crash.md new file mode 100644 index 000000000..dcfafff57 --- /dev/null +++ b/.changeset/tasty-goats-crash.md @@ -0,0 +1,5 @@ +--- +'@emotion/styled': patch +--- + +Fix `props.theme` type in styled component interpolation being optional (`Theme | undefined`) for components without `AdditionalProps` being specified. diff --git a/packages/styled/types/base.d.ts b/packages/styled/types/base.d.ts index ec158e806..51ece5732 100644 --- a/packages/styled/types/base.d.ts +++ b/packages/styled/types/base.d.ts @@ -68,7 +68,9 @@ export interface CreateStyledComponent< ( template: TemplateStringsArray, - ...styles: Array> + ...styles: Array< + Interpolation + > ): StyledComponent /** diff --git a/packages/styled/types/tests.tsx b/packages/styled/types/tests.tsx index 1a10a715f..e3f13c99c 100644 --- a/packages/styled/types/tests.tsx +++ b/packages/styled/types/tests.tsx @@ -112,6 +112,9 @@ const Input4 = styled.input` marginLeft: props.left })} ` +const Input5 = styled.input` + color: ${props => props.theme.primary}; +` ;) => console.log(evt.target.value)