material-ui-forms
v2.0.3
Published
A library that makes using material ui components easier and quick to use. Contains common use cases.
Downloads
61
Maintainers
Readme
material-ui-forms
Peer Dependencies
Dependencies
About The Project
This projects goal is to make using material-ui to create webforms easy, fast, and fully featured. The features include:
- The ability to add locks to the form without much effort. Use case being role management, content management or similar.
- The ability to save user progress, using local storage, allowing for a quick return.
- The ability to print the forms with automatic page breaks conveniencing both the developer and end user.
- Generic typeing to reduce coupling between form logic and controllers (api calls).
- Simplification of complex components such as AutoComplete to reduce the amount of configuration is basic use cases.
- Compiling helper functions, option lists, and hooks commonly used in material UI forms.
- ...more descriptions in future releases
Recent Changes
There are not 2 new ways to use material-ui forms making it more simple with much less configuration.
- FormViewAuto -> Check out the code in the examples project inside the repo. It's located at http://localhost:3000/views/form-view-auto (view), /src/pages/views/form-view-auto.tsx (code)
- Added Helper functions for Simple Forms. See http://localhost:3000/simple-form (view), //src/components/SimpleForm.tsx (code)
- Removed all Bootstrap from the application
- Decouple react-to-print as a peer dependency. Thinking about using a PDF Generator instead.
Upcoming Changes
- Continuing the simplification and decoupling of parts of this project (as always)
- More Examples, full hosting of material-ui-forms of the example application, and documentation
- More Customization, Adding more ways to customize the FormView and FormViewAuto through overloading the props with some default templates
- Decouple nextJs router from material-ui-forms allowing for e.g. React Router Dom or no default
Built With
Getting Started
To get started you'll need to Create a New React App. I recommend using TypeScript to take full advantage of the types and interfaces defined in material-ui-forms but, it's not neccessary. For TypeScript create a project --template typescript.
Prerequisites
This project is still in development and requires the following peer dependencies to use.
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "^4.0.0-alpha.56",
"react": "^16.13.1",
"react-dom": "^17.0.1",
"react-to-print": "^2.11.0",
"next": "^9.5.5"
The next (NextJs) dependency will be removed in a future release to allow developers to specify their router.
Installation
npm install material-ui-forms
Usage
For more examples, please refer to the Documentation
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/HelpfulFeature
) - Commit your Changes (
git commit -m 'Add a HelpfulFeature'
) - Push to the Branch (
git push origin feature/HelpfulFeature
) - Open a Pull Request
License
Distributed under the MIT License. See License for more information.
Contact
- Name: Nicholas Jones
- Github
- StackOverFlow