diff --git a/packages/@mantine/core/src/core/factory/create-polymorphic-component.ts b/packages/@mantine/core/src/core/factory/create-polymorphic-component.ts index 5bc066e577..cdaa15e327 100644 --- a/packages/@mantine/core/src/core/factory/create-polymorphic-component.ts +++ b/packages/@mantine/core/src/core/factory/create-polymorphic-component.ts @@ -18,12 +18,19 @@ export type PolymorphicRef = C extends React.ElementType ? React.ComponentPropsWithRef['ref'] : never; -export type PolymorphicComponentProps = C extends React.ElementType - ? InheritedProps> & { +export type PolymorphicComponentProps = C extends React.ElementType + ? InheritedProps> & { ref?: PolymorphicRef; renderRoot?: (props: any) => any; } - : Props & { component: React.ElementType; renderRoot?: (props: Record) => any }; + : Props extends Record + ? Props & FallbackProps + : FallbackProps; + +type FallbackProps = { + component: React.ElementType; + renderRoot?: (props: Record) => any; +}; export function createPolymorphicComponent< ComponentDefaultType,