Skip to main content

InputField

A customizable input component integrated with react-hook-form that supports error states, labels, and Tailwind CSS class overrides.

๐Ÿ“ฆ Importโ€‹

import { InputField } from "@sahilphondekar/react-component-library";

๐Ÿงฑ Propsโ€‹

NameTypeDefaultDescription
labelstringundefinedLabel text shown above the input
idstringโ€” (required)Unique ID for the input and associated label
typestring"text"Input type (e.g., "text", "email", "password")
registeranyโ€”react-hook-form register prop for form validation
errorMessagestringundefinedDisplays error message below input
outerContainerClassNamestring""Additional classes for outer wrapper div
inputClassNamestring""Additional classes for the input element
labelClassNamestring""Additional classes for the label element
errorClassNamestring""Additional classes for the error message

๐Ÿ’… Styling Notesโ€‹

  • Default border: gray-300
  • Error border: red-500
  • Focus ring: blue-500 (normal), red-500 (on error)
  • Uses Tailwind CSS for styling.

๐Ÿงช Exampleโ€‹

<InputField
id="email"
label="Email Address"
type="email"
register={register("email", { required: "Email is required" })}
errorMessage={errors.email?.message}
/>

๐Ÿง  Tipsโ€‹

  • Use with react-hook-form for easy validation integration.
  • Add aria-invalid or similar props for advanced accessibility needs if desired.
  • Combine with components like FormGroup, FormLabel, etc., if building extended form patterns.