diff --git a/packages/react/src/styled.ts b/packages/react/src/styled.ts index 1bcbe02c9..81fed84d2 100644 --- a/packages/react/src/styled.ts +++ b/packages/react/src/styled.ts @@ -63,13 +63,15 @@ interface IProps { // If styled wraps custom component, that component should have className property function styled>( tag: TConstructor extends React.FunctionComponent - ? T extends { className?: string } + ? T extends { className?: string | undefined } ? TConstructor : never : never ): ComponentStyledTag; function styled( - tag: T extends { className?: string } ? React.ComponentType : never + tag: T extends { className?: string | undefined } + ? React.ComponentType + : never ): ComponentStyledTag; function styled( tag: TName @@ -197,7 +199,7 @@ type ComponentStyledTag = < >( strings: TemplateStringsArray, // Expressions can contain functions only if wrapped component has style property - ...exprs: TrgProps extends { style?: React.CSSProperties } + ...exprs: TrgProps extends { style?: React.CSSProperties | undefined } ? Array< | StaticPlaceholder | ((props: NoInfer) => string | number)