diff --git a/.changeset/good-cars-roll.md b/.changeset/good-cars-roll.md new file mode 100644 index 000000000..6707f28e2 --- /dev/null +++ b/.changeset/good-cars-roll.md @@ -0,0 +1,10 @@ +--- +'@emotion/native': patch +'@emotion/styled': patch +--- + +pr: #2759 +author: @srmagura +author: @Andarist + +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..148f64d7e --- /dev/null +++ b/.changeset/purple-ladybugs-think.md @@ -0,0 +1,8 @@ +--- +'@emotion/is-prop-valid': patch +--- + +pr: #2759 +author: @srmagura + +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 f0fee1095..bd7d4d479 100644 --- a/packages/native/types/base.d.ts +++ b/packages/native/types/base.d.ts @@ -64,9 +64,9 @@ export type Interpolation< */ export interface FilteringStyledOptions< Props = Record, - ForwardedProps extends keyof Props = keyof Props + ForwardedProps extends keyof Props & string = keyof Props & string > { - shouldForwardProp?: (propName: string) => propName is ForwardedProps & string + shouldForwardProp?: (propName: string) => propName is ForwardedProps } export interface StyledOptions> { @@ -149,7 +149,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> @@ -178,7 +179,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 5680fb56f..59646dee8 100644 --- a/packages/styled/types/base.d.ts +++ b/packages/styled/types/base.d.ts @@ -19,10 +19,10 @@ export { ComponentSelector, Interpolation } */ export interface FilteringStyledOptions< Props = Record, - ForwardedProps extends keyof Props = keyof Props + ForwardedProps extends keyof Props & string = keyof Props & string > { label?: string - shouldForwardProp?: (propName: string) => propName is ForwardedProps & string + shouldForwardProp?: (propName: string) => propName is ForwardedProps target?: string } @@ -121,7 +121,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> @@ -150,7 +151,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> @@ -171,7 +173,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