66 <a href =" https://www.npmjs.com/package/@asigloo/vue-dynamic-forms " >
77 <img src="https://badgen.net/npm/v/@asigloo/vue-dynamic-forms/next" alt="Current npm version">
88 </a >
9- <a href =" https://bundlephobia.com/result?p=@asigloo/vue-dynamic-forms " >
10- <img src="https://flat.badgen.net/bundlephobia/min/@asigloo/vue-dynamic-forms@next " alt="Minified size">
9+ <a href =" https://bundlephobia.com/result?p=@asigloo/vue-dynamic-forms@latest " >
10+ <img src="https://flat.badgen.net/bundlephobia/min/@asigloo/vue-dynamic-forms" alt="Minified size">
1111 </a >
1212 <a href =" https://vuejs.org " >
1313 <img src="https://flat.badgen.net/badge/vue.js/3.x.x/4fc08d?icon=github" alt="Vue.js version">
@@ -25,47 +25,131 @@ So, wouldn't it be more economical to create the forms dynamically? Based on met
2525
2626That's ** Vue Dynamic Forms** .
2727
28- ## Status: Beta
28+ ## Status: Stable
2929
30- This is the Vue ` 3.x.x ` compatible version. The focus right now is out of the box ` Typescript ` support, three shakeable, improve accesiility and be lighter in size. For Vue ` 2.x.x ` please use the library tags [ 2.x] ( https://github.com/alvarosaburido/vue-dynamic-forms/tree/2.x ) .
30+ This is the Vue ` 3.x.x ` compatible version. Out of the box ` Typescript ` support, three shakeable, improved accesiility and be lighter in size. For Vue ` 2.x.x ` please use the library tags [ 2.x] ( https://github.com/alvarosaburido/vue-dynamic-forms/tree/2.x ) .
3131
3232## Documentation
3333
3434Complete documentation and examples available at
3535
3636- ** [ Documentation] ( https://vue-dynamic-forms.netlify.app ) **
37- - ** [ Sandbox Demo ] ( https://codesandbox.io/s/vue-dynamic-forms-ftzes ) **
37+ - ** [ Demos ] ( #demos ) **
3838- ** Migration Guide** (soon)
3939
4040## Installation
4141
4242``` bash
43- $ npm install @asigloo/vue-dynamic-forms@next
43+ $ npm install @asigloo/vue-dynamic-forms
4444```
4545
4646or if you prefer yarn
4747
4848``` bash
49- $ yarn add @asigloo/vue-dynamic-forms@next
49+ $ yarn add @asigloo/vue-dynamic-forms
5050```
5151
5252## Usage
5353
54- The installation and usage has change to align with new Vue 3 initialization process.
54+ The installation and usage has change to align with new Vue 3 plugin process.
5555
5656To create a new ` Dynamic Form ` instance, use the ` createDynamicForms ` function;
5757
5858``` js
5959import { createApp } from ' vue' ;
6060import { createDynamicForms } from ' @asigloo/vue-dynamic-forms' ;
6161
62- const VueDynamicForms = createDynamicForms ({} );
62+ const VueDynamicForms = createDynamicForms ();
6363
6464export const app = createApp (App);
6565
6666app .use (VueDynamicForms);
6767```
6868
69+ In your component:
70+
71+ ``` vue
72+ <template>
73+ <dynamic-form :form="form" @change="valueChanged" />
74+ </template>
75+
76+ <script lang="ts">
77+ import { computed, defineComponent, reactive } from 'vue';
78+
79+ import {
80+ CheckboxField,
81+ TextField,
82+ SelectField,
83+ } from '@asigloo/vue-dynamic-forms';
84+
85+ export default defineComponent({
86+ name: 'BasicDemo',
87+ setup() {
88+ const form = computed(() => ({
89+ id: 'basic-demo',
90+ fields: {
91+ username: TextField({
92+ label: 'Username',
93+ }),
94+ games: SelectField({
95+ label: 'Games',
96+ options: [
97+ {
98+ value: 'the-last-of-us',
99+ label: 'The Last of Us II',
100+ },
101+ {
102+ value: 'death-stranding',
103+ label: 'Death Stranding',
104+ },
105+ {
106+ value: 'nier-automata',
107+ label: 'Nier Automata',
108+ },
109+ ],
110+ }),
111+ checkIfAwesome: CheckboxField({
112+ label: 'Remember Me',
113+ }),
114+ },
115+ }));
116+
117+ function valueChanged(values) {
118+ console.log('Values', values);
119+ }
120+
121+ return {
122+ form,
123+ valueChanged,
124+ };
125+ },
126+ });
127+ </script>
128+ ```
129+
130+ ## Demos
131+
132+ ![ Vue Dynamic Forms Demo] ( https://res.cloudinary.com/alvarosaburido/image/upload/v1610265908/vue-dynamic-forms-demo.png )
133+
134+ We've prepared some demos to show different use cases of the library and how to use each type of input field.
135+
136+ To check them just run the command bellow which run the app at ` http://localhost:6044/ `
137+
138+ ```
139+ yarn run serve
140+ ```
141+
142+ - [x] General Form
143+ - [x] Text Fields
144+ - [x] Number Fields
145+ - [x] Select Fields
146+ - [x] Textarea Fields
147+ - [x] Radio Fields
148+ - [x] Login
149+ - [x] Custom Fields
150+ - [ ] Axios form (Retrieve form structure from an API)
151+ - [ ] TailwindCSS styling
152+
69153## Development
70154
71155### Project setup
@@ -92,22 +176,22 @@ yarn run build
92176yarn run build:dts
93177```
94178
95- ### Run your tests
179+ ### Lints and fixes files
96180
97181```
98- yarn run test
182+ yarn run lint
99183```
100184
101- ### Lints and fixes files
185+ ### Run your unit tests
102186
103187```
104- yarn run lint
188+ yarn run test
105189```
106190
107- ### Run your unit tests
191+ ### Run your e2e tests
108192
109193```
110- yarn run test:unit
194+ yarn run test
111195```
112196
113197## Contributing
0 commit comments