Skip to content
This repository was archived by the owner on Jun 27, 2023. It is now read-only.

Commit 6b6992a

Browse files
committed
feat: updated readme and cleanup
2 parents ce97da3 + 4ffd8c0 commit 6b6992a

File tree

14 files changed

+973
-1785
lines changed

14 files changed

+973
-1785
lines changed

.npmignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
.vuegenerator
33
.eslintrc.js
44
.eslintignore
5+
.nyc_output
56
.husky
67
netlify.toml
78
jest.config.js
@@ -25,3 +26,4 @@ yarn.lock
2526
/.vscode
2627
/tests
2728
/temp
29+
/templates

README.md

Lines changed: 99 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
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

2626
That'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

3434
Complete 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

4646
or 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

5656
To create a new `Dynamic Form` instance, use the `createDynamicForms` function;
5757

5858
```js
5959
import { createApp } from 'vue';
6060
import { createDynamicForms } from '@asigloo/vue-dynamic-forms';
6161

62-
const VueDynamicForms = createDynamicForms({});
62+
const VueDynamicForms = createDynamicForms();
6363

6464
export const app = createApp(App);
6565

6666
app.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
92176
yarn 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

Comments
 (0)