feature-form 0.0.8 → 0.0.10
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 +29 -9
- package/dist/cjs/create-form.js +1 -1
- package/dist/cjs/form-field/create-form-field.js +1 -1
- package/dist/cjs/form-field/create-status.js +1 -1
- package/dist/cjs/form-field/create-validate-context.js +1 -0
- package/dist/cjs/form-field/create-validator.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/create-form.js +1 -1
- package/dist/esm/form-field/create-form-field.js +1 -1
- package/dist/esm/form-field/create-status.js +1 -1
- package/dist/esm/form-field/create-validate-context.js +1 -0
- package/dist/esm/form-field/create-validator.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/types/create-form.d.ts +3 -3
- package/dist/types/create-form.d.ts.map +1 -1
- package/dist/types/form-field/create-form-field.d.ts +2 -2
- package/dist/types/form-field/create-form-field.d.ts.map +1 -1
- package/dist/types/form-field/create-validate-context.d.ts +3 -0
- package/dist/types/form-field/create-validate-context.d.ts.map +1 -0
- package/dist/types/form-field/create-validator.d.ts +2 -2
- package/dist/types/form-field/create-validator.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/features.d.ts +1 -1
- package/dist/types/types/features.d.ts.map +1 -1
- package/dist/types/types/form-field.d.ts +4 -11
- package/dist/types/types/form-field.d.ts.map +1 -1
- package/dist/types/types/form.d.ts +1 -1
- package/dist/types/types/form.d.ts.map +1 -1
- package/package.json +7 -10
package/README.md
CHANGED
|
@@ -40,40 +40,60 @@ Provide a typesafe, straightforward, and lightweight form library designed to be
|
|
|
40
40
|
## 📖 Usage
|
|
41
41
|
|
|
42
42
|
```tsx
|
|
43
|
-
import { createForm
|
|
43
|
+
import { createForm } from 'feature-form';
|
|
44
|
+
import { zodValidator } from 'feature-form-validators/zod';
|
|
45
|
+
import { valibotValidator } from 'feature-form-validators/valibot';
|
|
44
46
|
import { useForm } from 'feature-react/form';
|
|
45
47
|
import * as z from 'zod';
|
|
48
|
+
import * as v from 'valibot';
|
|
46
49
|
|
|
47
|
-
|
|
50
|
+
interface TFormData {
|
|
51
|
+
name: string;
|
|
52
|
+
email: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const $form = createForm<TFormData>({
|
|
48
56
|
fields: {
|
|
49
|
-
|
|
57
|
+
name: {
|
|
50
58
|
validator: zodValidator(z.string().min(2).max(10)),
|
|
51
59
|
defaultValue: ''
|
|
60
|
+
},
|
|
61
|
+
email: {
|
|
62
|
+
validator: valibotValidator(v.pipe(v.string(), v.email())),
|
|
63
|
+
defaultValue: ''
|
|
52
64
|
}
|
|
53
65
|
},
|
|
54
66
|
onValidSubmit: (data) => console.log('ValidSubmit', data),
|
|
55
67
|
onInvalidSubmit: (errors) => console.log('InvalidSubmit', errors)
|
|
56
68
|
});
|
|
57
69
|
|
|
58
|
-
export const
|
|
70
|
+
export const MyFormComponent: React.FC = () => {
|
|
59
71
|
const { handleSubmit, register, status } = useForm($form);
|
|
60
72
|
|
|
61
73
|
return (
|
|
62
74
|
<form onSubmit={handleSubmit()}>
|
|
63
|
-
<
|
|
64
|
-
|
|
75
|
+
<div>
|
|
76
|
+
<label>Name</label>
|
|
77
|
+
<input {...register('name')} />
|
|
78
|
+
{status('name').error && <span>{status('name').error}</span>}
|
|
79
|
+
</div>
|
|
80
|
+
<div>
|
|
81
|
+
<label>Email</label>
|
|
82
|
+
<input {...register('email')} />
|
|
83
|
+
{status('email').error && <span>{status('email').error}</span>}
|
|
84
|
+
</div>
|
|
65
85
|
<button type="submit">Submit</button>
|
|
66
86
|
</form>
|
|
67
87
|
);
|
|
68
88
|
}
|
|
69
89
|
```
|
|
70
90
|
|
|
71
|
-
### Validators
|
|
91
|
+
### Validators ([`feature-form-validators`](https://github.com/inbeta-group/monorepo/tree/develop/packages/feature-form-validators))
|
|
72
92
|
|
|
73
|
-
|
|
93
|
+
`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.
|
|
74
94
|
|
|
75
95
|
```ts
|
|
76
|
-
import { zodValidator
|
|
96
|
+
import { zodValidator } from 'feature-form-validators/zod';
|
|
77
97
|
import { valibotValidator } from 'feature-form-validators/valibot';
|
|
78
98
|
import * as z from 'zod';
|
|
79
99
|
import * as v from 'valibot';
|
package/dist/cjs/create-form.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var S=require("@ibg/utils"),_=require("./form-field/create-form-field.js");require("feature-state");var u=require("./types/form-field.js"),j=Object.defineProperty,O=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,F=(s,a,i)=>a in s?j(s,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):s[a]=i,P=(s,a)=>{for(var i in a||(a={}))w.call(a,i)&&F(s,i,a[i]);if(O)for(var i of O(a))E.call(a,i)&&F(s,i,a[i]);return s},v=(s,a,i)=>new Promise((y,p)=>{var V=o=>{try{c(i.next(o))}catch(d){p(d)}},g=o=>{try{c(i.throw(o))}catch(d){p(d)}},c=o=>o.done?y(o.value):Promise.resolve(o.value).then(V,g);c((i=i.apply(s,a)).next())});function k(s){const{fields:a,collectErrorMode:i="firstError",disabled:y=!1,validateMode:p=S.bitwiseFlag(u.FormFieldValidateMode.OnSubmit),reValidateMode:V=S.bitwiseFlag(u.FormFieldReValidateMode.OnBlur),onValidSubmit:g,onInvalidSubmit:c,notifyOnStatusChange:o=!0}=s,d={_:null,_features:["base"],_config:{collectErrorMode:i,disabled:y},_validSubmitCallbacks:g!=null?[g]:[],_invalidSubmitCallbacks:c!=null?[c]:[],fields:Object.fromEntries(Object.entries(a).map(([e,t])=>{var l,b,f,h;return[e,_.createFormField(t.defaultValue,{key:e,validationAdapter:t.validationAdapter,collectErrorMode:(l=t.collectErrorMode)!=null?l:i,validateMode:(b=t.validateMode)!=null?b:p,reValidateMode:(f=t.reValidateMode)!=null?f:V,editable:(h=t.editable)!=null?h:!0,notifyOnStatusChange:o})]})),isValid:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,_revalidate(e=!1){return v(this,null,function*(){const t=Object.values(this.fields);return e||(this.isValidating=!0,yield Promise.all(t.map(l=>l.validate())),this.isValidating=!1),this.isValid=t.every(l=>l.isValid()),this.isValid})},submit(){return v(this,arguments,function*(e={}){const{additionalData:t,assignToInitial:l=!1,onInvalidSubmit:b,onValidSubmit:f}=e;this.isSubmitting=!0;const h=[];for(const r of Object.values(this.fields))(r.isSubmitted&&r._config.reValidateMode.has(u.FormFieldReValidateMode.OnSubmit)||!r.isSubmitted&&r._config.validateMode.has(u.FormFieldValidateMode.OnSubmit))&&h.push(r.validate()),this.isSubmitting=!0;yield Promise.all(h);const m=this.getData();if(m!=null){const r=this._validSubmitCallbacks.map(n=>n(m,t));typeof f=="function"&&r.push(f(m,t)),yield Promise.all(r)}else{const r=this.getErrors(),n=this._invalidSubmitCallbacks.map(M=>M(r,t));typeof b=="function"&&n.push(b(r,t)),yield Promise.all(n)}for(const[r,n]of Object.entries(this.fields))m!=null&&Object.prototype.hasOwnProperty.call(m,r)&&l&&(n._intialValue=S.deepCopy(m[r])),n.isSubmitted=!0,n.isSubmitting=!1;return this.isSubmitted=!0,this.isSubmitting=!1,this.isValid})},validate(){return v(this,null,function*(){return this._revalidate(!1)})},getField(e){return this.fields[e]},getData(){if(!this.isValid)return null;const e={};for(const[t,l]of Object.entries(this.fields))e[t]=l.get();return e},getErrors(){const e={};for(const[t,l]of Object.entries(this.fields))switch(l.status._value.type){case"INVALID":e[t]=l.status._value.errors;break;case"UNVALIDATED":e[t]=[{code:"unvalidated",message:`${t.toString()} was not yet validated!`,path:t}];break}return e},reset(){for(const e of Object.values(this.fields))e.reset();this.isSubmitted=!1}};for(const e of Object.values(d.fields))e.listen(t=>v(this,[t],function*({source:l}){l==="set"&&(e.isSubmitted&&e._config.reValidateMode.has(u.FormFieldReValidateMode.OnChange)||!e.isSubmitted&&e._config.validateMode.has(u.FormFieldValidateMode.OnChange)||e._config.validateMode.has(u.FormFieldValidateMode.OnTouched)&&e.isTouched)&&(yield e.validate())}),{key:"form"}),e.status.listen(()=>v(this,null,function*(){yield d._revalidate(!0)}),{key:"form"});return d}function C(s,a){return P({validationAdapter:s},a)}exports.createForm=k,exports.fromValidationAdapter=C;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var f=require("feature-state"),F=require("validation-adapter"),c=require("@ibg/utils"),r=require("../types/form-field.js"),V=require("./create-status.js"),M=require("./create-validator.js"),b=(s,l,i)=>new Promise((o,d)=>{var u=e=>{try{a(i.next(e))}catch(t){d(t)}},n=e=>{try{a(i.throw(e))}catch(t){d(t)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(u,n);a((i=i.apply(s,l)).next())});function y(s,l){const{key:i,validationAdapter:o=F.createValidationAdapter([]),editable:d=!0,reValidateMode:u=c.bitwiseFlag(r.FormFieldReValidateMode.OnBlur),validateMode:n=c.bitwiseFlag(r.FormFieldValidateMode.OnSubmit),collectErrorMode:a="firstError",notifyOnStatusChange:e=!0}=l,t=f.createState(s,{deferred:!1}),h=V.createStatus({type:"UNVALIDATED"});e&&h.listen(()=>{t._notify({additionalData:{source:"status"}})},{key:"form-field"});const m={_config:{editable:d,validateMode:n,reValidateMode:u,collectErrorMode:a},_intialValue:c.deepCopy(t._value),key:i,isTouched:!1,isSubmitted:!1,isSubmitting:!1,validator:M.createValidator(o),status:h,validate(){return b(this,null,function*(){return this.validator.validate(this)})},isValid(){return this.status.get().type==="VALID"},blur(){(this.isSubmitted&&this._config.reValidateMode.has(r.FormFieldReValidateMode.OnBlur)||!this.isSubmitted&&(this._config.validateMode.has(r.FormFieldValidateMode.OnBlur)||this._config.validateMode.has(r.FormFieldValidateMode.OnTouched)&&!this.isTouched))&&this.validate(),this.isTouched=!0},reset(){this.set(this._intialValue),this.isTouched=!1,this.isSubmitted=!1,this.isSubmitting=!1,this.status.set({type:"UNVALIDATED"})}},v=Object.assign(t,m);return v._features.push("form-field"),v}exports.createFormField=y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var u=require("feature-state");function i(
|
|
1
|
+
"use strict";var u=require("feature-state");function i(a){const s=u.createState(a,{deferred:!1}),e=Object.assign(s,{_nextValue:void 0,registerNextError(t){var r;((r=this._nextValue)==null?void 0:r.type)==="INVALID"?this._nextValue.errors.push(t):this._nextValue={type:"INVALID",errors:[t]}}});return e._features.push("form-field-status"),e}exports.createStatus=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function t(r){return{config:{collectErrorMode:r._config.collectErrorMode,name:r.key},value:r.get(),hasError:()=>{var e;return((e=r.status._nextValue)==null?void 0:e.type)==="INVALID"},registerError(e){r.status.registerNextError({code:e.code,message:e.message,path:e.path})}}}exports.createValidateContext=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var o=require("./create-validate-context.js"),V=(i,t,a)=>new Promise((n,l)=>{var u=e=>{try{s(a.next(e))}catch(r){l(r)}},d=e=>{try{s(a.throw(e))}catch(r){l(r)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(u,d);s((a=a.apply(i,t)).next())});function c(i){return{_validationAdapter:i,isValidating:!1,validate(t){return V(this,null,function*(){const a=o.createValidateContext(t);return this.isValidating=!0,yield this._validationAdapter.validate(a),this.isValidating=!1,t.status._nextValue==null?t.status.set({type:"VALID"}):t.status.set(t.status._nextValue),t.status._nextValue=void 0,t.status.get().type==="VALID"})}}}exports.createValidator=c;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@ibg/utils"),r=require("./create-form.js"),
|
|
1
|
+
"use strict";var e=require("@ibg/utils"),a=require("validation-adapter"),r=require("./create-form.js"),i=require("./form-field/create-form-field.js"),d=require("./form-field/create-status.js"),o=require("./form-field/create-validator.js"),l=require("./form-field/is-form-field.js"),t=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,"createValidationAdapter",{enumerable:!0,get:function(){return a.createValidationAdapter}}),exports.createForm=r.createForm,exports.fromValidationAdapter=r.fromValidationAdapter,exports.createFormField=i.createFormField,exports.createStatus=d.createStatus,exports.createValidator=o.createValidator,exports.isFormField=l.isFormField,exports.FormFieldReValidateMode=t.FormFieldReValidateMode,exports.FormFieldValidateMode=t.FormFieldValidateMode;
|
package/dist/esm/create-form.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bitwiseFlag as V,deepCopy as E}from"@ibg/utils";import{createFormField as F}from"./form-field/create-form-field.js";import"feature-state";import{FormFieldValidateMode as g,FormFieldReValidateMode as O}from"./types/form-field.js";var P=Object.defineProperty,_=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,M=(r,a,i)=>a in r?P(r,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[a]=i,C=(r,a)=>{for(var i in a||(a={}))k.call(a,i)&&M(r,i,a[i]);if(_)for(var i of _(a))w.call(a,i)&&M(r,i,a[i]);return r},h=(r,a,i)=>new Promise((y,v)=>{var S=o=>{try{u(i.next(o))}catch(d){v(d)}},p=o=>{try{u(i.throw(o))}catch(d){v(d)}},u=o=>o.done?y(o.value):Promise.resolve(o.value).then(S,p);u((i=i.apply(r,a)).next())});function D(r){const{fields:a,collectErrorMode:i="firstError",disabled:y=!1,validateMode:v=V(g.OnSubmit),reValidateMode:S=V(O.OnBlur),onValidSubmit:p,onInvalidSubmit:u,notifyOnStatusChange:o=!0}=r,d={_:null,_features:["base"],_config:{collectErrorMode:i,disabled:y},_validSubmitCallbacks:p!=null?[p]:[],_invalidSubmitCallbacks:u!=null?[u]:[],fields:Object.fromEntries(Object.entries(a).map(([t,e])=>{var l,f,b,m;return[t,F(e.defaultValue,{key:t,
|
|
1
|
+
import{bitwiseFlag as V,deepCopy as E}from"@ibg/utils";import{createFormField as F}from"./form-field/create-form-field.js";import"feature-state";import{FormFieldValidateMode as g,FormFieldReValidateMode as O}from"./types/form-field.js";var P=Object.defineProperty,_=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,M=(r,a,i)=>a in r?P(r,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[a]=i,C=(r,a)=>{for(var i in a||(a={}))k.call(a,i)&&M(r,i,a[i]);if(_)for(var i of _(a))w.call(a,i)&&M(r,i,a[i]);return r},h=(r,a,i)=>new Promise((y,v)=>{var S=o=>{try{u(i.next(o))}catch(d){v(d)}},p=o=>{try{u(i.throw(o))}catch(d){v(d)}},u=o=>o.done?y(o.value):Promise.resolve(o.value).then(S,p);u((i=i.apply(r,a)).next())});function D(r){const{fields:a,collectErrorMode:i="firstError",disabled:y=!1,validateMode:v=V(g.OnSubmit),reValidateMode:S=V(O.OnBlur),onValidSubmit:p,onInvalidSubmit:u,notifyOnStatusChange:o=!0}=r,d={_:null,_features:["base"],_config:{collectErrorMode:i,disabled:y},_validSubmitCallbacks:p!=null?[p]:[],_invalidSubmitCallbacks:u!=null?[u]:[],fields:Object.fromEntries(Object.entries(a).map(([t,e])=>{var l,f,b,m;return[t,F(e.defaultValue,{key:t,validationAdapter:e.validationAdapter,collectErrorMode:(l=e.collectErrorMode)!=null?l:i,validateMode:(f=e.validateMode)!=null?f:v,reValidateMode:(b=e.reValidateMode)!=null?b:S,editable:(m=e.editable)!=null?m:!0,notifyOnStatusChange:o})]})),isValid:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,_revalidate(t=!1){return h(this,null,function*(){const e=Object.values(this.fields);return t||(this.isValidating=!0,yield Promise.all(e.map(l=>l.validate())),this.isValidating=!1),this.isValid=e.every(l=>l.isValid()),this.isValid})},submit(){return h(this,arguments,function*(t={}){const{additionalData:e,assignToInitial:l=!1,onInvalidSubmit:f,onValidSubmit:b}=t;this.isSubmitting=!0;const m=[];for(const s of Object.values(this.fields))(s.isSubmitted&&s._config.reValidateMode.has(O.OnSubmit)||!s.isSubmitted&&s._config.validateMode.has(g.OnSubmit))&&m.push(s.validate()),this.isSubmitting=!0;yield Promise.all(m);const c=this.getData();if(c!=null){const s=this._validSubmitCallbacks.map(n=>n(c,e));typeof b=="function"&&s.push(b(c,e)),yield Promise.all(s)}else{const s=this.getErrors(),n=this._invalidSubmitCallbacks.map(j=>j(s,e));typeof f=="function"&&n.push(f(s,e)),yield Promise.all(n)}for(const[s,n]of Object.entries(this.fields))c!=null&&Object.prototype.hasOwnProperty.call(c,s)&&l&&(n._intialValue=E(c[s])),n.isSubmitted=!0,n.isSubmitting=!1;return this.isSubmitted=!0,this.isSubmitting=!1,this.isValid})},validate(){return h(this,null,function*(){return this._revalidate(!1)})},getField(t){return this.fields[t]},getData(){if(!this.isValid)return null;const t={};for(const[e,l]of Object.entries(this.fields))t[e]=l.get();return t},getErrors(){const t={};for(const[e,l]of Object.entries(this.fields))switch(l.status._value.type){case"INVALID":t[e]=l.status._value.errors;break;case"UNVALIDATED":t[e]=[{code:"unvalidated",message:`${e.toString()} was not yet validated!`,path:e}];break}return t},reset(){for(const t of Object.values(this.fields))t.reset();this.isSubmitted=!1}};for(const t of Object.values(d.fields))t.listen(e=>h(this,[e],function*({source:l}){l==="set"&&(t.isSubmitted&&t._config.reValidateMode.has(O.OnChange)||!t.isSubmitted&&t._config.validateMode.has(g.OnChange)||t._config.validateMode.has(g.OnTouched)&&t.isTouched)&&(yield t.validate())}),{key:"form"}),t.status.listen(()=>h(this,null,function*(){yield d._revalidate(!0)}),{key:"form"});return d}function A(r,a){return C({validationAdapter:r},a)}export{D as createForm,A as fromValidationAdapter};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createState as
|
|
1
|
+
import{createState as v}from"feature-state";import{createValidationAdapter as V}from"validation-adapter";import{bitwiseFlag as m,deepCopy as b}from"@ibg/utils";import{FormFieldReValidateMode as f,FormFieldValidateMode as n}from"../types/form-field.js";import{createStatus as y}from"./create-status.js";import{createValidator as M}from"./create-validator.js";var g=(o,s,i)=>new Promise((d,r)=>{var l=t=>{try{a(i.next(t))}catch(e){r(e)}},u=t=>{try{a(i.throw(t))}catch(e){r(e)}},a=t=>t.done?d(t.value):Promise.resolve(t.value).then(l,u);a((i=i.apply(o,s)).next())});function S(o,s){const{key:i,validationAdapter:d=V([]),editable:r=!0,reValidateMode:l=m(f.OnBlur),validateMode:u=m(n.OnSubmit),collectErrorMode:a="firstError",notifyOnStatusChange:t=!0}=s,e=v(o,{deferred:!1}),h=y({type:"UNVALIDATED"});t&&h.listen(()=>{e._notify({additionalData:{source:"status"}})},{key:"form-field"});const p={_config:{editable:r,validateMode:u,reValidateMode:l,collectErrorMode:a},_intialValue:b(e._value),key:i,isTouched:!1,isSubmitted:!1,isSubmitting:!1,validator:M(d),status:h,validate(){return g(this,null,function*(){return this.validator.validate(this)})},isValid(){return this.status.get().type==="VALID"},blur(){(this.isSubmitted&&this._config.reValidateMode.has(f.OnBlur)||!this.isSubmitted&&(this._config.validateMode.has(n.OnBlur)||this._config.validateMode.has(n.OnTouched)&&!this.isTouched))&&this.validate(),this.isTouched=!0},reset(){this.set(this._intialValue),this.isTouched=!1,this.isSubmitted=!1,this.isSubmitting=!1,this.status.set({type:"UNVALIDATED"})}},c=Object.assign(e,p);return c._features.push("form-field"),c}export{S as createFormField};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createState as u}from"feature-state";function o(s){const a=u(s),
|
|
1
|
+
import{createState as u}from"feature-state";function o(s){const a=u(s,{deferred:!1}),e=Object.assign(a,{_nextValue:void 0,registerNextError(t){var r;((r=this._nextValue)==null?void 0:r.type)==="INVALID"?this._nextValue.errors.push(t):this._nextValue={type:"INVALID",errors:[t]}}});return e._features.push("form-field-status"),e}export{o as createStatus};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(r){return{config:{collectErrorMode:r._config.collectErrorMode,name:r.key},value:r.get(),hasError:()=>{var e;return((e=r.status._nextValue)==null?void 0:e.type)==="INVALID"},registerError(e){r.status.registerNextError({code:e.code,message:e.message,path:e.path})}}}export{t as createValidateContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{createValidateContext as d}from"./create-validate-context.js";var V=(i,t,a)=>new Promise((r,n)=>{var u=e=>{try{s(a.next(e))}catch(l){n(l)}},o=e=>{try{s(a.throw(e))}catch(l){n(l)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(u,o);s((a=a.apply(i,t)).next())});function v(i){return{_validationAdapter:i,isValidating:!1,validate(t){return V(this,null,function*(){const a=d(t);return this.isValidating=!0,yield this._validationAdapter.validate(a),this.isValidating=!1,t.status._nextValue==null?t.status.set({type:"VALID"}):t.status.set(t.status._nextValue),t.status._nextValue=void 0,t.status.get().type==="VALID"})}}}export{v as createValidator};
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BitwiseFlag as o,bitwiseFlag as t}from"@ibg/utils";import{createForm as
|
|
1
|
+
import{BitwiseFlag as o,bitwiseFlag as t}from"@ibg/utils";import{createValidationAdapter as i}from"validation-adapter";import{createForm as d,fromValidationAdapter as l}from"./create-form.js";import{createFormField as p}from"./form-field/create-form-field.js";import{createStatus as x}from"./form-field/create-status.js";import{createValidator as V}from"./form-field/create-validator.js";import{isFormField as g}from"./form-field/is-form-field.js";import{FormFieldReValidateMode as w,FormFieldValidateMode as A}from"./types/form-field.js";export{o as BitwiseFlag,w as FormFieldReValidateMode,A as FormFieldValidateMode,t as bitwiseFlag,d as createForm,p as createFormField,x as createStatus,i as createValidationAdapter,V as createValidator,l as fromValidationAdapter,g as isFormField};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type BitwiseFlag } from '@ibg/utils';
|
|
2
|
-
import { FormFieldReValidateMode, FormFieldValidateMode, type TForm, type TFormConfig, type TFormData, type TFormFieldStateConfig, type
|
|
2
|
+
import { FormFieldReValidateMode, FormFieldValidateMode, type TForm, type TFormConfig, type TFormData, type TFormFieldStateConfig, type TFormFieldValidationAdapter, type TInvalidSubmitCallback, type TValidSubmitCallback } from './types';
|
|
3
3
|
export declare function createForm<GFormData extends TFormData>(config: TCreateFormConfig<GFormData>): TForm<GFormData, ['base']>;
|
|
4
4
|
export interface TCreateFormConfig<GFormData extends TFormData> extends Partial<TFormConfig> {
|
|
5
5
|
/**
|
|
@@ -26,7 +26,7 @@ export type TCreateFormConfigFormFields<GFormData extends TFormData> = {
|
|
|
26
26
|
};
|
|
27
27
|
export interface TCreateFormConfigFormField<GValue> extends Partial<TFormFieldStateConfig> {
|
|
28
28
|
defaultValue?: GValue;
|
|
29
|
-
|
|
29
|
+
validationAdapter?: TFormFieldValidationAdapter<GValue>;
|
|
30
30
|
}
|
|
31
|
-
export declare function
|
|
31
|
+
export declare function fromValidationAdapter<GValue>(validationAdapter: TFormFieldValidationAdapter<GValue>, config: Omit<TCreateFormConfigFormField<GValue>, 'validator'>): TCreateFormConfigFormField<GValue>;
|
|
32
32
|
//# sourceMappingURL=create-form.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-form.d.ts","sourceRoot":"","sources":["../../src/create-form.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-form.d.ts","sourceRoot":"","sources":["../../src/create-form.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAGrE,OAAO,EACN,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGhC,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,UAAU,CAAC,SAAS,SAAS,SAAS,EACrD,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,GAClC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAwM5B;AAED,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,SAAS,CAAE,SAAQ,OAAO,CAAC,WAAW,CAAC;IAC3F;;OAEG;IACH,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC/C;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAClD;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC;IACtD;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,eAAe,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,2BAA2B,CAAC,SAAS,SAAS,SAAS,IAAI;KACrE,GAAG,IAAI,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,WAAW,0BAA0B,CAAC,MAAM,CAAE,SAAQ,OAAO,CAAC,qBAAqB,CAAC;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC;CACxD;AAID,wBAAgB,qBAAqB,CAAC,MAAM,EAC3C,iBAAiB,EAAE,2BAA2B,CAAC,MAAM,CAAC,EACtD,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAC3D,0BAA0B,CAAC,MAAM,CAAC,CAEpC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type TFormField, type TFormFieldStateConfig, type
|
|
1
|
+
import { type TFormField, type TFormFieldStateConfig, type TFormFieldValidationAdapter } from '../types';
|
|
2
2
|
export declare function createFormField<GValue>(initialValue: GValue | undefined, config: TCreateFormFieldConfig<GValue>): TFormField<GValue>;
|
|
3
3
|
export interface TCreateFormFieldConfig<GValue> extends Partial<TFormFieldStateConfig> {
|
|
4
4
|
key: string;
|
|
5
|
-
|
|
5
|
+
validationAdapter?: TFormFieldValidationAdapter<GValue>;
|
|
6
6
|
notifyOnStatusChange?: boolean;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=create-form-field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-form-field.d.ts","sourceRoot":"","sources":["../../../src/form-field/create-form-field.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-form-field.d.ts","sourceRoot":"","sources":["../../../src/form-field/create-form-field.ts"],"names":[],"mappings":"AAIA,OAAO,EAGN,KAAK,UAAU,EACf,KAAK,qBAAqB,EAE1B,KAAK,2BAA2B,EAChC,MAAM,UAAU,CAAC;AAIlB,wBAAgB,eAAe,CAAC,MAAM,EACrC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,GACpC,UAAU,CAAC,MAAM,CAAC,CAyEpB;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,CAAE,SAAQ,OAAO,CAAC,qBAAqB,CAAC;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-validate-context.d.ts","sourceRoot":"","sources":["../../../src/form-field/create-validate-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE3E,wBAAgB,qBAAqB,CAAC,MAAM,EAC3C,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,GAC3B,yBAAyB,CAAC,MAAM,CAAC,CAkBnC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export declare function createValidator<GValue>(
|
|
1
|
+
import { type TFormFieldValidationAdapter, type TFormFieldValidator } from '../types';
|
|
2
|
+
export declare function createValidator<GValue>(validationAdapter: TFormFieldValidationAdapter<GValue>): TFormFieldValidator<GValue>;
|
|
3
3
|
//# sourceMappingURL=create-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-validator.d.ts","sourceRoot":"","sources":["../../../src/form-field/create-validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-validator.d.ts","sourceRoot":"","sources":["../../../src/form-field/create-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGtF,wBAAgB,eAAe,CAAC,MAAM,EACrC,iBAAiB,EAAE,2BAA2B,CAAC,MAAM,CAAC,GACpD,mBAAmB,CAAC,MAAM,CAAC,CAuB7B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TFormFieldStateFeature, TFormFielStatusStateFeature } from './types';
|
|
2
2
|
export { BitwiseFlag, bitwiseFlag } from '@ibg/utils';
|
|
3
|
+
export { createValidationAdapter } from 'validation-adapter';
|
|
3
4
|
export * from './create-form';
|
|
4
5
|
export * from './form-field';
|
|
5
6
|
export * from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,OAAO,QAAQ,eAAe,CAAC;IAC9B,UAAU,mBAAmB,CAAC,MAAM;QACnC,YAAY,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC7C,mBAAmB,EAAE,2BAA2B,CAAC;KACjD;CACD"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,OAAO,QAAQ,eAAe,CAAC;IAC9B,UAAU,mBAAmB,CAAC,MAAM;QACnC,YAAY,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC7C,mBAAmB,EAAE,2BAA2B,CAAC;KACjD;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/types/features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/types/features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,SAAS,CAAC,SAAS,SAAS,SAAS,GAAG,SAAS,IAAI;IAChE,IAAI,EAAE;QAAE,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;CAClB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAInC,MAAM,WAAW,mBAAmB,CAAC,SAAS;CAAI;AAElD,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;AAE/F,MAAM,MAAM,qBAAqB,CAChC,SAAS,SAAS,SAAS,EAC3B,oBAAoB,SAAS,YAAY,EAAE,IACxC;KACF,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,eAAe,CAC1B,SAAS,SAAS,SAAS,EAC3B,oBAAoB,SAAS,YAAY,EAAE,EAC3C,uBAAuB,SAAS,qBAAqB,CACpD,SAAS,EACT,oBAAoB,CACpB,GAAG,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,CAAC,IACvD,oBAAoB,CAAC,uBAAuB,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC;AAEjF,MAAM,MAAM,gBAAgB,CAC3B,YAAY,SAAS,YAAY,EAAE,EACnC,qBAAqB,SAAS,YAAY,EAAE,IAE5C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GACvE,YAAY,GACZ,YAAY,GAAG,qBAAqB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type TState } from 'feature-state';
|
|
2
|
+
import { type TBaseValidateContext, type TCollectErrorMode, type TValidationAdapter } from 'validation-adapter';
|
|
2
3
|
import { type BitwiseFlag } from '@ibg/utils';
|
|
3
|
-
import { type TCollectErrorMode } from './form';
|
|
4
4
|
export type TFormField<GValue> = TState<GValue | undefined, ['base', 'form-field']>;
|
|
5
5
|
export interface TFormFieldStateFeature<GValue> {
|
|
6
6
|
_config: TFormFieldStateConfig;
|
|
@@ -60,18 +60,11 @@ export interface TInvalidFormFieldError {
|
|
|
60
60
|
message?: string;
|
|
61
61
|
path?: string;
|
|
62
62
|
}
|
|
63
|
-
export type TValidateFormFieldFunction<GValue> = (formField: TFormField<GValue>) => Promise<void> | void;
|
|
64
|
-
export interface TFormFieldValidationLink<GValue> {
|
|
65
|
-
key: string;
|
|
66
|
-
validate: TValidateFormFieldFunction<GValue>;
|
|
67
|
-
}
|
|
68
|
-
export type TFormFieldValidationChain<GValue> = TFormFieldValidationLink<GValue>[];
|
|
69
63
|
export interface TFormFieldValidator<GValue> {
|
|
70
|
-
|
|
64
|
+
_validationAdapter: TFormFieldValidationAdapter<GValue>;
|
|
71
65
|
isValidating: boolean;
|
|
72
66
|
validate: (formField: TFormField<GValue>) => Promise<boolean>;
|
|
73
|
-
append: (validator: TFormFieldValidator<GValue>) => TFormFieldValidator<GValue>;
|
|
74
|
-
clone: () => TFormFieldValidator<GValue>;
|
|
75
|
-
push: (...validateFunctions: TFormFieldValidationLink<GValue>[]) => void;
|
|
76
67
|
}
|
|
68
|
+
export type TFormFieldValidationAdapter<GValue> = TValidationAdapter<GValue, TFormFieldValidateContext<GValue>>;
|
|
69
|
+
export type TFormFieldValidateContext<GValue> = TBaseValidateContext<GValue>;
|
|
77
70
|
//# sourceMappingURL=form-field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../src/types/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../src/types/form-field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type TCollectErrorMode } from 'validation-adapter';
|
|
1
2
|
import { type TFeatureKeys, type TSelectFeatures } from './features';
|
|
2
3
|
import { type TFormField, type TFormFieldValidator, type TInvalidFormFieldError } from './form-field';
|
|
3
4
|
export type TForm<GFormData extends TFormData, GSelectedFeatureKeys extends TFeatureKeys[]> = {
|
|
@@ -50,5 +51,4 @@ export interface TFormConfig {
|
|
|
50
51
|
*/
|
|
51
52
|
collectErrorMode: TCollectErrorMode;
|
|
52
53
|
}
|
|
53
|
-
export type TCollectErrorMode = 'firstError' | 'all';
|
|
54
54
|
//# sourceMappingURL=form.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/types/form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EACN,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,MAAM,cAAc,CAAC;AAKtB,MAAM,MAAM,KAAK,CAAC,SAAS,SAAS,SAAS,EAAE,oBAAoB,SAAS,YAAY,EAAE,IAAI;IAC7F,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,qBAAqB,EAAE,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;IACzD,uBAAuB,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC7D,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,SAAS,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IACjG,OAAO,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACpD,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB,GAAG,eAAe,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAErD,MAAM,MAAM,WAAW,CAAC,SAAS,SAAS,SAAS,IAAI;KACrD,GAAG,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,SAAS,IAAI;KACzD,GAAG,IAAI,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5C,MAAM,WAAW,cAAc,CAAC,SAAS,SAAS,SAAS;IAC1D,aAAa,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,SAAS,IAAI,CAC/D,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC7B,cAAc,CAAC,EAAE,6BAA6B,KAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,MAAM,MAAM,sBAAsB,CAAC,SAAS,SAAS,SAAS,IAAI,CACjE,MAAM,EAAE,uBAAuB,CAAC,SAAS,CAAC,EAC1C,cAAc,CAAC,EAAE,6BAA6B,KAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,MAAM,WAAW,6BAA6B;IAC7C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,SAAS,IAAI;KACjE,GAAG,IAAI,MAAM,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;CAC7D,CAAC;AAEF,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,gBAAgB,EAAE,iBAAiB,CAAC;CACpC
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/types/form.ts"],"names":[],"mappings":"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"}
|
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.10",
|
|
5
5
|
"private": false,
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
7
|
"main": "./dist/cjs/index.js",
|
|
@@ -19,12 +19,14 @@
|
|
|
19
19
|
},
|
|
20
20
|
"homepage": "https://inbeta.group/?source=github",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@ibg/utils": "0.0.
|
|
23
|
-
"feature-state": "0.0.
|
|
22
|
+
"@ibg/utils": "0.0.10",
|
|
23
|
+
"feature-state": "0.0.15",
|
|
24
|
+
"validation-adapter": "0.0.3"
|
|
24
25
|
},
|
|
25
26
|
"devDependencies": {
|
|
26
27
|
"@types/node": "^20.14.1",
|
|
27
|
-
"@ibg/config": "0.0.
|
|
28
|
+
"@ibg/config": "0.0.13",
|
|
29
|
+
"@ibg/types": "0.0.2"
|
|
28
30
|
},
|
|
29
31
|
"files": [
|
|
30
32
|
"dist",
|
|
@@ -32,12 +34,7 @@
|
|
|
32
34
|
],
|
|
33
35
|
"size-limit": [
|
|
34
36
|
{
|
|
35
|
-
"path": "dist/esm/index.js"
|
|
36
|
-
"ignore": [
|
|
37
|
-
"zod",
|
|
38
|
-
"yup",
|
|
39
|
-
"valibot"
|
|
40
|
-
]
|
|
37
|
+
"path": "dist/esm/index.js"
|
|
41
38
|
}
|
|
42
39
|
],
|
|
43
40
|
"scripts": {
|