diff --git a/.changeset/good-cars-roll.md b/.changeset/good-cars-roll.md new file mode 100644 index 000000000..4d0921056 --- /dev/null +++ b/.changeset/good-cars-roll.md @@ -0,0 +1,6 @@ +--- +'@emotion/native': patch +'@emotion/styled': patch +--- + +Change the argument of the `shouldForwardProp` option of `styled` from `PropertyKey` to `string` in the TypeScript definitions. diff --git a/.changeset/purple-ladybugs-think.md b/.changeset/purple-ladybugs-think.md new file mode 100644 index 000000000..b30341024 --- /dev/null +++ b/.changeset/purple-ladybugs-think.md @@ -0,0 +1,5 @@ +--- +'@emotion/is-prop-valid': patch +--- + +Change the type of the argument to `isPropValid` from `PropertyKey` to `string` in the TypeScript definitions. diff --git a/packages/is-prop-valid/types/index.d.ts b/packages/is-prop-valid/types/index.d.ts index 2ca137567..e7d00bfdb 100644 --- a/packages/is-prop-valid/types/index.d.ts +++ b/packages/is-prop-valid/types/index.d.ts @@ -1,5 +1,5 @@ // Definitions by: Junyoung Clare Jang // TypeScript Version: 2.1 -declare function isPropValid(string: PropertyKey): boolean +declare function isPropValid(prop: string): boolean export default isPropValid diff --git a/packages/native/types/base.d.ts b/packages/native/types/base.d.ts index 82aae23be..2afa5f427 100644 --- a/packages/native/types/base.d.ts +++ b/packages/native/types/base.d.ts @@ -61,13 +61,13 @@ export type Interpolation< /** Same as StyledOptions but shouldForwardProp must be a type guard */ export interface FilteringStyledOptions< Props, - ForwardedProps extends keyof Props = keyof Props + ForwardedProps extends keyof Props & string = keyof Props & string > { - shouldForwardProp?(propName: PropertyKey): propName is ForwardedProps + shouldForwardProp?(propName: string): propName is ForwardedProps } export interface StyledOptions { - shouldForwardProp?(propName: PropertyKey): boolean + shouldForwardProp?(propName: string): boolean } /** @@ -146,7 +146,8 @@ export interface CreateStyledComponent< export interface CreateStyled { < C extends React.ComponentClass>, - ForwardedProps extends keyof React.ComponentProps = keyof React.ComponentProps + ForwardedProps extends keyof React.ComponentProps & + string = keyof React.ComponentProps & string >( component: C, options: FilteringStyledOptions, ForwardedProps> @@ -175,7 +176,8 @@ export interface CreateStyled { < C extends React.ComponentType>, - ForwardedProps extends keyof React.ComponentProps = keyof React.ComponentProps + ForwardedProps extends keyof React.ComponentProps & + string = keyof React.ComponentProps & string >( component: C, options: FilteringStyledOptions, ForwardedProps> diff --git a/packages/styled/types/base.d.ts b/packages/styled/types/base.d.ts index c39200c75..4383b0caf 100644 --- a/packages/styled/types/base.d.ts +++ b/packages/styled/types/base.d.ts @@ -16,16 +16,16 @@ export { ComponentSelector, Interpolation } /** Same as StyledOptions but shouldForwardProp must be a type guard */ export interface FilteringStyledOptions< Props, - ForwardedProps extends keyof Props = keyof Props + ForwardedProps extends keyof Props & string = keyof Props & string > { label?: string - shouldForwardProp?(propName: PropertyKey): propName is ForwardedProps + shouldForwardProp?(propName: string): propName is ForwardedProps target?: string } export interface StyledOptions { label?: string - shouldForwardProp?(propName: PropertyKey): boolean + shouldForwardProp?(propName: string): boolean target?: string } @@ -118,7 +118,8 @@ export interface CreateStyledComponent< export interface CreateStyled { < C extends React.ComponentClass>, - ForwardedProps extends keyof React.ComponentProps = keyof React.ComponentProps + ForwardedProps extends keyof React.ComponentProps & + string = keyof React.ComponentProps & string >( component: C, options: FilteringStyledOptions, ForwardedProps> @@ -147,7 +148,8 @@ export interface CreateStyled { < C extends React.ComponentType>, - ForwardedProps extends keyof React.ComponentProps = keyof React.ComponentProps + ForwardedProps extends keyof React.ComponentProps & + string = keyof React.ComponentProps & string >( component: C, options: FilteringStyledOptions, ForwardedProps> @@ -168,7 +170,8 @@ export interface CreateStyled { < Tag extends keyof JSX.IntrinsicElements, - ForwardedProps extends keyof JSX.IntrinsicElements[Tag] = keyof JSX.IntrinsicElements[Tag] + ForwardedProps extends keyof JSX.IntrinsicElements[Tag] & + string = keyof JSX.IntrinsicElements[Tag] & string >( tag: Tag, options: FilteringStyledOptions