feature-form 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -12
- package/dist/cjs/helper/from-validator.js +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/esm/helper/{from-validation-adapter.js → from-validator.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/types/helper/from-validator.d.ts +4 -0
- package/dist/types/helper/from-validator.d.ts.map +1 -0
- package/dist/types/helper/index.d.ts +1 -1
- package/dist/types/helper/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/helper/from-validation-adapter.js +0 -1
- package/dist/types/helper/from-validation-adapter.d.ts +0 -4
- package/dist/types/helper/from-validation-adapter.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -27,22 +27,23 @@
|
|
|
27
27
|
- **Typesafe**: Build with TypeScript for strong type safety
|
|
28
28
|
- **Standalone**: Zero external dependencies, ensuring ease of use in various environments
|
|
29
29
|
|
|
30
|
-
###
|
|
31
|
-
- [ReactJs Basic](https://codesandbox.io/p/sandbox/basic-c4gd3t)
|
|
30
|
+
### 📚 Examples
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
- [ReactJs Basic](https://github.com/inbeta-group/monorepo/tree/develop/examples/feature-form/react/basic) ([Code Sandbox](https://codesandbox.io/p/sandbox/basic-c4gd3t))
|
|
33
|
+
|
|
34
|
+
### 🌟 Motivation
|
|
34
35
|
|
|
35
36
|
Provide a typesafe, straightforward, and lightweight form library designed to be modular and extendable with features.
|
|
36
37
|
|
|
37
|
-
### Alternatives
|
|
38
|
+
### ⚖️ Alternatives
|
|
38
39
|
- [react-hook-form](https://github.com/react-hook-form/react-hook-form)
|
|
39
40
|
|
|
40
41
|
## 📖 Usage
|
|
41
42
|
|
|
42
43
|
```tsx
|
|
43
44
|
import { createForm } from 'feature-form';
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
45
|
+
import { zValidator } from 'validation-adapters/zod';
|
|
46
|
+
import { vValidator } from 'validation-adapters/valibot';
|
|
46
47
|
import { useForm } from 'feature-react/form';
|
|
47
48
|
import * as z from 'zod';
|
|
48
49
|
import * as v from 'valibot';
|
|
@@ -55,11 +56,11 @@ interface TFormData {
|
|
|
55
56
|
const $form = createForm<TFormData>({
|
|
56
57
|
fields: {
|
|
57
58
|
name: {
|
|
58
|
-
validator:
|
|
59
|
+
validator: zValidator(z.string().min(2).max(10)),
|
|
59
60
|
defaultValue: ''
|
|
60
61
|
},
|
|
61
62
|
email: {
|
|
62
|
-
validator:
|
|
63
|
+
validator: vValidator(v.pipe(v.string(), v.email())),
|
|
63
64
|
defaultValue: ''
|
|
64
65
|
}
|
|
65
66
|
},
|
|
@@ -93,16 +94,16 @@ export const MyFormComponent: React.FC = () => {
|
|
|
93
94
|
`feature-form` supports various validators such as [Zod](https://github.com/colinhacks/zod), [Yup](https://github.com/jquense/yup), [Valibot](https://github.com/fabian-hiller/valibot) and more.
|
|
94
95
|
|
|
95
96
|
```ts
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
97
|
+
import { zValidator } from 'validation-adapters/zod';
|
|
98
|
+
import { vValidator } from 'validation-adapters/valibot';
|
|
98
99
|
import * as z from 'zod';
|
|
99
100
|
import * as v from 'valibot';
|
|
100
101
|
|
|
101
|
-
const zodNameValidator =
|
|
102
|
+
const zodNameValidator = zValidator(
|
|
102
103
|
z.string().min(2).max(10).regex(/^([^0-9]*)$/)
|
|
103
104
|
);
|
|
104
105
|
|
|
105
|
-
const valibotNameValidator =
|
|
106
|
+
const valibotNameValidator = vValidator(
|
|
106
107
|
v.pipe(v.string(), v.minLength(2), v.maxLength(10), v.regex(/^([^0-9]*)$/))
|
|
107
108
|
);
|
|
108
109
|
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var l=Object.defineProperty,e=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(a,r,t)=>r in a?l(a,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[r]=t,b=(a,r)=>{for(var t in r||(r={}))i.call(r,t)&&o(a,t,r[t]);if(e)for(var t of e(r))n.call(r,t)&&o(a,t,r[t]);return a};function c(a,r){return b({validator:a},r)}exports.fromValidator=c;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@ibg/utils"),t=require("validation-adapter"),a=require("./create-form.js"),i=require("./form-field/create-form-field.js"),o=require("./form-field/create-status.js"),d=require("./form-field/is-form-field.js"),l=require("./helper/from-
|
|
1
|
+
"use strict";var e=require("@ibg/utils"),t=require("validation-adapter"),a=require("./create-form.js"),i=require("./form-field/create-form-field.js"),o=require("./form-field/create-status.js"),d=require("./form-field/is-form-field.js"),l=require("./helper/from-validator.js"),r=require("./types/form-field.js");Object.defineProperty(exports,"BitwiseFlag",{enumerable:!0,get:function(){return e.BitwiseFlag}}),Object.defineProperty(exports,"bitwiseFlag",{enumerable:!0,get:function(){return e.bitwiseFlag}}),Object.defineProperty(exports,"createValidator",{enumerable:!0,get:function(){return t.createValidator}}),exports.createForm=a.createForm,exports.createFormField=i.createFormField,exports.createStatus=o.createStatus,exports.isFormField=d.isFormField,exports.fromValidator=l.fromValidator,exports.FormFieldReValidateMode=r.FormFieldReValidateMode,exports.FormFieldValidateMode=r.FormFieldValidateMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var l=Object.defineProperty,a=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,o=(e,r,t)=>r in e?l(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))n.call(r,t)&&o(e,t,r[t]);if(a)for(var t of a(r))i.call(r,t)&&o(e,t,r[t]);return e};function b(e,r){return p({validator:e},r)}export{b as
|
|
1
|
+
var l=Object.defineProperty,a=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,o=(e,r,t)=>r in e?l(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))n.call(r,t)&&o(e,t,r[t]);if(a)for(var t of a(r))i.call(r,t)&&o(e,t,r[t]);return e};function b(e,r){return p({validator:e},r)}export{b as fromValidator};
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BitwiseFlag as o,bitwiseFlag as t}from"@ibg/utils";import{createValidator as
|
|
1
|
+
import{BitwiseFlag as o,bitwiseFlag as t}from"@ibg/utils";import{createValidator as m}from"validation-adapter";import{createForm as F}from"./create-form.js";import{createFormField as l}from"./form-field/create-form-field.js";import{createStatus as p}from"./form-field/create-status.js";import{isFormField as c}from"./form-field/is-form-field.js";import{fromValidator as V}from"./helper/from-validator.js";import{FormFieldReValidateMode as w,FormFieldValidateMode as M}from"./types/form-field.js";export{o as BitwiseFlag,w as FormFieldReValidateMode,M as FormFieldValidateMode,t as bitwiseFlag,F as createForm,l as createFormField,p as createStatus,m as createValidator,V as fromValidator,c as isFormField};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type TCreateFormConfigFormField } from '../create-form';
|
|
2
|
+
import { type TFormFieldValidator } from '../types';
|
|
3
|
+
export declare function fromValidator<GValue>(validator: TFormFieldValidator<GValue>, config: Omit<TCreateFormConfigFormField<GValue>, 'validator'>): TCreateFormConfigFormField<GValue>;
|
|
4
|
+
//# sourceMappingURL=from-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"from-validator.d.ts","sourceRoot":"","sources":["../../../src/helper/from-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIpD,wBAAgB,aAAa,CAAC,MAAM,EACnC,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACtC,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAC3D,0BAA0B,CAAC,MAAM,CAAC,CAEpC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './from-
|
|
1
|
+
export * from './from-validator';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helper/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helper/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "feature-form",
|
|
3
3
|
"description": "Straightforward, typesafe, and feature-based form library for ReactJs",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.14",
|
|
5
5
|
"private": false,
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
7
|
"main": "./dist/cjs/index.js",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
},
|
|
20
20
|
"homepage": "https://inbeta.group/?source=github",
|
|
21
21
|
"dependencies": {
|
|
22
|
+
"@ibg/types": "0.0.4",
|
|
22
23
|
"@ibg/utils": "0.0.11",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"validation-adapter": "0.0.5"
|
|
24
|
+
"feature-state": "0.0.18",
|
|
25
|
+
"validation-adapter": "0.0.6"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^20.14.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var i=Object.defineProperty,e=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(a,t,r)=>t in a?i(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,p=(a,t)=>{for(var r in t||(t={}))l.call(t,r)&&o(a,r,t[r]);if(e)for(var r of e(t))n.call(t,r)&&o(a,r,t[r]);return a};function b(a,t){return p({validator:a},t)}exports.fromValidationAdapter=b;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { type TCreateFormConfigFormField } from '../create-form';
|
|
2
|
-
import { type TFormFieldValidator } from '../types';
|
|
3
|
-
export declare function fromValidationAdapter<GValue>(validator: TFormFieldValidator<GValue>, config: Omit<TCreateFormConfigFormField<GValue>, 'validator'>): TCreateFormConfigFormField<GValue>;
|
|
4
|
-
//# sourceMappingURL=from-validation-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"from-validation-adapter.d.ts","sourceRoot":"","sources":["../../../src/helper/from-validation-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAIpD,wBAAgB,qBAAqB,CAAC,MAAM,EAC3C,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACtC,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAC3D,0BAA0B,CAAC,MAAM,CAAC,CAEpC"}
|