UNPKG

@braid/vue-formulate

Version:

The easiest way to build forms in Vue.

102 lines (81 loc) β€’ 6.1 kB
<p align="center"><a href="https://vueformulate.com" target="_blank" rel="noopener noreferrer"><img width="100" src="https://assets.wearebraid.com/vue-formulate/logo.png" alt="VueFormulate"></a></p> <p align="center"> <a href="https://travis-ci.org/wearebraid/vue-formulate"><img src="https://travis-ci.org/wearebraid/vue-formulate.svg?branch=master"></a> <a href="https://www.npmjs.com/package/@braid/vue-formulate"><img alt="npm" src="https://img.shields.io/npm/v/@braid/vue-formulate"></a> <a href="https://github.com/wearebraid/vue-formulate"><img alt="GitHub" src="https://img.shields.io/github/license/wearebraid/vue-formulate"></a> <a href=""><img src="https://img.badgesize.io/wearebraid/vue-formulate/master/dist/formulate.esm.js.svg?compression=gzip&label=gzip"></a> </p> <p align="center"> <a href="https://vueformulate.com">Documentation Website</a> </p> ## What is Vue Formulate? Vue Formulate is the easiest way to build forms with Vue. Please read the [comprehensive documentation](https://vueformulate.com) for live code examples and guidance on using Vue Formulate in your own projects. <p align="center"><a href="https://vueformulate.com"><img src="https://assets.wearebraid.com/vue-formulate/read-the-docs.png" /></a></p> <table style="width: 100%;"> <tr> <th colspan="2"> <h3>Key features</h3> </th> <tr> <tr> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em">😎 Developer happiness</h4> <p>Forms are everywhere, yet surprisingly tedious to author β€” well, not anymore. Vue Formulate provides a <a href="https://vueformulate.com/guide/inputs/#all-options">powerful and flexible API</a> to developers that makes complex form creation a breeze.</p> </td> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em;">☝️ A single input element</h4> <p>With Vue Formulate you don't need to remember the names of a dozen components β€” all form elements are created with a <a href="https://vueformulate.com/guide/#inputs">single component</a>. Easy!</p> </td> </tr> <tr> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em">πŸ’ͺ Grouped fields</h4> <p>Vue Formulate ships with <a href="https://vueformulate.com/guide/inputs/types/group/#repeatable-groups">repeatable field groups</a> out of the box. Create complex UIs such as multi-person booking forms with ease.</p> </td> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em;">🎯 Built-in validation</h4> <p>Ridiculously easy <a href="https://vueformulate.com/guide/validation">validation</a> out-of-the-box to handle 95% of use-cases. Help text, validation rules, and validation messages are simple props. Need more? You can add custom validations too.</p> </td> </tr> <tr> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em">πŸ”Œ Plugin system</h4> <p>Extend Vue Formulate's functionality or reuse custom inputs, validation rules, and messages across projects by tapping into the <a href="https://vueformulate.com/guide/plugins/#creating-a-new-plugin">plugin system</a>. Make your plugin open source to share with others!</p> </td> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em;">✨ Generate forms</h4> <p><a href="https://vueformulate.com/guide/forms/#generating-forms">Generate an entire form</a> from JSON. Vue Formulate includes a schema to allow you to render complex forms from JSON with groups, wrappers, and custom components.</p> </td> </tr> <tr> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em">🎨 Styling Control</h4> <p>With provided <a href="https://vueformulate.com/guide/theming/customizing-classes/">class props</a> you can add your own set of style classes globally or on a case-by-case basis. Tailwind? No problem. Bootstrap? You're covered. Roll your own? Right on, it’s supported.</p> </td> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em;">πŸ” Scoped Slots</h4> <p>Need even more control over your form’s markup? Vue Formulate ships with full <a href="https://vueformulate.com/guide/inputs/slots/">scoped slots</a> support so that you can globally or selectively provide your own markup.</p> </td> </tr> <tr> <td style="width: 50%; vertical-align: top;"> <h4 style="margin-top: 0.25em">🌐 Internationalization</h4> <p>Thanks to the wonderfully collaborative Vue community, Vue Formulate ships with support for <a href="https://vueformulate.com/guide/internationalization/">over a dozen languages</a> which are selectively importable to keep bundle size light.</p> </td> <td style="width: 50%; vertical-align: top;"> </td> </tr> </table> These features and many more are covered thoroughly at the [documentation website](https://vueformulate.com). <p align="center"><a href="https://vueformulate.com"><img src="https://assets.wearebraid.com/vue-formulate/read-the-docs.png" /></a></p> ## Contributing Vue Formulate is and always will be _free_ and _open source_. There are many ways available for you to [contribute to Vue Formulate](https://vueformulate.com/guide/contributing/). #### Core Codebase Contributors This project exists thanks to all the people who volunteer their time to [contribute](https://vueformulate.com/guide/contributing/) <a href="https://github.com/wearebraid/vue-formulate/graphs/contributors"><img src="https://contributors-img.web.app/image?repo=wearebraid/vue-formulate" /></a> #### Localization Contributors Vue Formulate is translated into different languages by volunteer native language speakers. Localizations are located in the [Vue Formulate Internationalization repo](https://github.com/wearebraid/vue-formulate-i18n). <a href="https://github.com/wearebraid/vue-formulate-i18n/graphs/contributors"><img src="https://contributors-img.web.app/image?repo=wearebraid/vue-formulate-i18n" /></a> ## License [MIT](https://opensource.org/licenses/MIT) Copyright (c) 2020-present, [Braid LLC](https://www.wearebraid.com/)