GitHub - ChronicStone/vue-sweetforms: A Vue 3 package based on Naive UI that provides highly customizable promised-based popup forms, with features like form advanced validation, multiple-steps, cross-field dependency, nested object / arrays, and many more ! (original) (raw)
DEPRECATED PROJECT, NOW REFER TO https://github.com/ChronicStone/vue-sweettools/
A Vue 3 package based on Naive UI that provides highly customizable promised-based popup forms, with features like form advanced validation, optional http request handling, multiple-steps, and many more !
Key Features โขHow To Use โขDocumentation & Live Examples โขImprovements roadmap โขCredits
Key Features
- ๐ Schema-based form definition
- ๐ Supports function-based and component-based usage
- ๐ Auto grid-based templating, with breakpoint-based responsiveness control (Tailwind-like API)
- โ๏ธ Any type of field supported A lot of field types supported (
text
|textarea
|password
|number
|slider
|switch
|select
|radio
|checkbox
|checkboxGroup
|date
|time
|datetime
|datetimerange
|daterange
|month
|year
|file
|array
|object
|customComponent
) - ๐ Supports deeply nested data structures (objects & arrays)
- ๐ Advanced cross-fields dependency system (conditional rendering, validation, field options, ...)
- โ๏ธ Advanced validation based on Vuelidate
- ๐ Dark/Light mode
- ๐จ Highly customizable design
- โ๏ธ Supports multiple steps forms
- โ And many more !
Documentation and live examples
- DOCUMENTATION : https://sweetforms.netlify.app/
- LIVE EXAMPLES : https://sweetforms-demo.netlify.app/
How To Use
1. Install the package
npm i -s @chronicstone/vue-sweetforms
2. Import styles in main.js
import "vue-sweetforms/dist/style.css"
3. Wrap your app with the FormProvider component
// App.vue
4. Use the form API anywhere in your app :
OPEN FORMImprovements roadmap
- Improve / complete documentation
- Migrate documentation to VitePress or IlesJs
- Integrate documentation examples to docs app (w/ Vitepress or IlesJs)
- Make Sweetform work as standalone component (If user don't want to use the function-based API)
- Make optimizations to improve performance
- Add full WAI-ARIA support
- Improve styles customization API
Any PR is gladly welcomed and will be greatly appreciated.
Credits
This packages uses Naive UI component library internally to render most field types. Particular thanks to @TuSimple who was of a big help in how to immplement the underlying concepts behin
MIT
GitHub @ChronicStone ยท