diff --git a/src/components/TextInput/TextInput.tsx b/src/components/TextInput/TextInput.tsx index a70d4f0a..d5f2d2b9 100644 --- a/src/components/TextInput/TextInput.tsx +++ b/src/components/TextInput/TextInput.tsx @@ -1,5 +1,5 @@ import classnames from 'classnames'; -import type { Ref } from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { forwardRef, type ReactNode } from 'react'; import type { TextInputStatusType } from './TextInputStatus'; import { getTextInputStatusClass } from './TextInputStatus'; @@ -20,7 +20,7 @@ interface RequiredTextInputProperties { name: string; } -interface CustomTextInputProperties { +interface CustomTextInputProperties extends ComponentPropsWithoutRef<'input'> { className?: string; inputProps?: JSX.IntrinsicElements['input']; inputRef?: TextInputReference; @@ -30,8 +30,7 @@ interface CustomTextInputProperties { isFullWidth?: boolean; } -export type OptionalTextInputProperties = CustomTextInputProperties & - JSX.IntrinsicElements['input']; +export type OptionalTextInputProperties = CustomTextInputProperties; export type TextInputProperties = OptionalTextInputProperties & RequiredTextInputProperties; @@ -39,7 +38,7 @@ export type TextInputProperties = OptionalTextInputProperties & /** * Source: https://cfpb.github.io/design-system/components/text-inputs */ -export const TextInput = forwardRef( +export const TextInput = forwardRef( ( { className, @@ -51,8 +50,8 @@ export const TextInput = forwardRef( type = 'text', isFullWidth = false, ...otherInputProperties - }: JSX.IntrinsicElements['input'] & TextInputProperties, - reference: Ref + }, + reference ) => { const classes = [ 'a-text-input',