From ea223e84d29bf8c214ce25fad38997611bf01efb Mon Sep 17 00:00:00 2001 From: Neo Nie Date: Sat, 21 Jun 2025 02:24:16 +0100 Subject: [PATCH] fix: update JSX type for old React support --- .changeset/early-mice-deliver.md | 5 +++++ packages/react/src/styled.ts | 22 +++++----------------- 2 files changed, 10 insertions(+), 17 deletions(-) create mode 100644 .changeset/early-mice-deliver.md diff --git a/.changeset/early-mice-deliver.md b/.changeset/early-mice-deliver.md new file mode 100644 index 000000000..067730691 --- /dev/null +++ b/.changeset/early-mice-deliver.md @@ -0,0 +1,5 @@ +--- +'@linaria/react': patch +--- + +Update types to support old React diff --git a/packages/react/src/styled.ts b/packages/react/src/styled.ts index 9e6e5781d..cc933f29b 100644 --- a/packages/react/src/styled.ts +++ b/packages/react/src/styled.ts @@ -107,25 +107,13 @@ interface IProps { style?: Record; } -// React <19 -declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace - namespace JSX { - interface IntrinsicElements {} - } -} - -// React >=19 -declare module 'react' { - // eslint-disable-next-line @typescript-eslint/no-namespace - namespace JSX { - interface IntrinsicElements {} - } -} - let idx = 0; -type IntrinsicElements = React.JSX.IntrinsicElements & JSX.IntrinsicElements; +interface IntrinsicElements + // in newer react types JSX is moved under React namespace + // @ts-expect-error ts 2694 + extends React.JSX.IntrinsicElements, + JSX.IntrinsicElements {} // Components with props are not allowed function styled(