From 6d6708bcf8ad426f66c74a763ccba646ce21a7d7 Mon Sep 17 00:00:00 2001 From: Lauri Luotola Date: Wed, 28 Oct 2026 12:27:46 +0200 Subject: [PATCH] fix(react): resolve plain props before the polymorphic as overload Spreading the result of a generic function call into a styled component fails with TS2698 since #1479 added the generic `as` overload. TypeScript does not infer such a spread against that overload, so add a non-generic overload without `as` first. The `as` overloads are unchanged. --- .changeset/polymorphic-as-generic-spread.md | 5 +++++ packages/react/__dtslint__/styled-jsx.tsx | 9 +++++++++ packages/react/src/styled.ts | 5 +++++ 3 files changed, 19 insertions(+) create mode 100644 .changeset/polymorphic-as-generic-spread.md diff --git a/.changeset/polymorphic-as-generic-spread.md b/.changeset/polymorphic-as-generic-spread.md new file mode 100644 index 000000000..820ee0beb --- /dev/null +++ b/.changeset/polymorphic-as-generic-spread.md @@ -0,0 +1,5 @@ +--- +'@linaria/react': patch +--- + +Fix TypeScript inference for generic spread props on styled components (TS2698). diff --git a/packages/react/__dtslint__/styled-jsx.tsx b/packages/react/__dtslint__/styled-jsx.tsx index d4b73f7e6..9e61adbe1 100644 --- a/packages/react/__dtslint__/styled-jsx.tsx +++ b/packages/react/__dtslint__/styled-jsx.tsx @@ -9,3 +9,12 @@ const Button = styled.button``;