# @nish1896/rhf-mui-components

![NPM Version](https://img.shields.io/npm/v/%40nish1896%2Frhf-mui-components)
![NPM Downloads](https://img.shields.io/npm/dt/%40nish1896%2Frhf-mui-components)
![NPM Downloads Per Month](https://img.shields.io/npm/dm/%40nish1896%2Frhf-mui-components?color=%23e0e063)
![GitHub Release Date - Published_At](https://img.shields.io/github/release-date/nishkohli96/rhf-mui-components)
[![Netlify Status](https://api.netlify.com/api/v1/badges/0c4fc578-ed19-4a5a-a3cd-e59fedcdb689/deploy-status)](https://app.netlify.com/sites/rhf-mui-components/deploys)

**A suite of 20+ reusable Material UI and other third-party components for [react-hook-form](https://react-hook-form.com/) to minimize your time and effort in creating beautiful forms.**

## Features ✨

- Each component is fully functional with just 3-4 props — core logic handled internally.
- Style individual components or apply global styles via [ConfigProvider](https://rhf-mui-components.netlify.app/customization#configprovider).
- Includes well-configured unique components like [RichTextEditor](https://rhf-mui-components.netlify.app/components/misc/RHFRichTextEditor), [Country Select](https://rhf-mui-components.netlify.app/components/mui/RHFCountrySelect) and [File Uploader](https://rhf-mui-components.netlify.app/components/mui/RHFFileUploader), saving development time.
- Comprehensive docs showcasing multiple variations for each component.


## Explore and Get Started 🚀

### Documentation 📖
Access the full documentation for rhf-mui-components, including setup instructions, API references, and examples:

👉 [Documentation Site](https://rhf-mui-components.netlify.app/)

### Interactive Demos 🎮
Try out and experiment with the form components in a live environment:

👉 [Live Demo Examples](https://rhf-mui-components-examples.netlify.app/)


## Form Components List

Below is a comprehensive list of all components included in this package, categorized by module:

- mui
  - [TextField](https://rhf-mui-components.netlify.app/components/mui/RHFTextField)
  - [NumberInput](https://rhf-mui-components.netlify.app/components/mui/RHFNumberInput)
  - [PasswordInput](https://rhf-mui-components.netlify.app/components/mui/RHFPasswordInput)
  - [Tags Input](https://rhf-mui-components.netlify.app/components/mui/RHFTagsInput)
  - [File Uploader](https://rhf-mui-components.netlify.app/components/mui/RHFFileUploader)
  - [Select](https://rhf-mui-components.netlify.app/components/mui/RHFSelect)
  - [Native Select](https://rhf-mui-components.netlify.app/components/mui/RHFNativeSelect)
  - [Autocomplete](https://rhf-mui-components.netlify.app/components/mui/RHFAutocomplete)
  - [Country Select](https://rhf-mui-components.netlify.app/components/mui/RHFCountrySelect)
  - [Multi Autocomplete](https://rhf-mui-components.netlify.app/components/mui/RHFMultiAutocomplete)
  - [Checkbox](https://rhf-mui-components.netlify.app/components/mui/RHFCheckbox)
  - [Checkbox Group](https://rhf-mui-components.netlify.app/components/mui/RHFCheckboxGroup)
  - [Radio Group](https://rhf-mui-components.netlify.app/components/mui/RHFRadioGroup)
  - [Slider](https://rhf-mui-components.netlify.app/components/mui/RHFSlider)
  - [Switch](https://rhf-mui-components.netlify.app/components/mui/RHFSwitch)
  - [Rating](https://rhf-mui-components.netlify.app/components/mui/RHFRating)

- mui-pickers
  - [Date](https://rhf-mui-components.netlify.app/components/mui-pickers/RHFDatePicker)
  - [Time](https://rhf-mui-components.netlify.app/components/mui-pickers/RHFTimePicker)
  - [DateTime](https://rhf-mui-components.netlify.app/components/mui-pickers/RHFDateTimePicker)
- misc
  - [Color Picker](https://rhf-mui-components.netlify.app/components/misc/RHFColorPicker)
  - [Rich Text Editor](https://rhf-mui-components.netlify.app/components/misc/RHFRichTextEditor)
  - [Phone Input](https://rhf-mui-components.netlify.app/components/misc/RHFPhoneInput)

**This project has been an individual effort so far, and I’d love to invite collaborators to contribute by adding new components or improving the documentation and examples for existing ones. If you're interested, feel free to reach out at [nishantkohli96@gmail.com](mailto:nishantkohli96@gmail.com).**

You can also check out my [eslint config](https://www.npmjs.com/package/@nish1896/eslint-config), to format and prettify your javascript code.
