@ekz/formix 1.0.0 → 1.0.2
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/lib/form.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +3 -3
package/lib/form.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare function FormProvider(props: {
|
|
|
5
5
|
}): React.ReactElement;
|
|
6
6
|
export declare function useForm(): FormApi;
|
|
7
7
|
export declare function useFormWithFields<Deps extends unknown[], F extends GenericFieldRef>(fieldsCreator: (...deps: [...Deps]) => F, deps: [...Deps]): FormWithFields<F>;
|
|
8
|
-
export declare function withForm<Props
|
|
8
|
+
export declare function withForm<Props>(Component: React.ComponentType<Props>): React.ComponentType<Props>;
|
|
9
9
|
type UseFormProps = {
|
|
10
10
|
children: (form: FormApi) => React.ReactNode;
|
|
11
11
|
};
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("immutable"),require("react")):"function"==typeof define&&define.amd?define(["immutable","react"],t):"object"==typeof exports?exports.Formix=t(require("immutable"),require("react")):e.Formix=t(e.immutable,e.react)}(self,((e,t)=>(()=>{"use strict";var r={144:t=>{t.exports=e},155:e=>{e.exports=t}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var u=n[e]={exports:{}};return r[e](u,u.exports,i),u.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};i.r(u),i.d(u,{FormProvider:()=>V,UseArrayField:()=>U,UseField:()=>L,UseForm:()=>D,defineArrayField:()=>g,defineField:()=>b,isArrayFieldRef:()=>h,isFieldRef:()=>m,useArrayField:()=>_,useAsyncFieldStateValidation:()=>W,useAsyncFieldValidation:()=>K,useField:()=>A,useFieldStateValidation:()=>z,useFieldValidation:()=>B,useForm:()=>C,useFormWithFields:()=>k,withForm:()=>x});var o=i(155),a=i(144);function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const f=function(){function e(e,t,r,n){this.value=e,this.disabled=t,this.active=r,this.touched=n,this.value=e,this.disabled=t,this.active=r,this.touched=n}return e.prototype.updated=function(t){var r,n,i,u=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({value:this.value},t);return new e(u.value,null!==(r=t.disabled)&&void 0!==r?r:this.disabled,null!==(n=t.active)&&void 0!==n?n:this.active,null!==(i=t.touched)&&void 0!==i?i:this.touched)},e.prototype.equals=function(e){return null!=e&&(0,a.is)(this.value,e.value)&&this.disabled===e.disabled},e.prototype.hashCode=function(){return(0,a.hash)(this.value)&(0,a.hash)(this.disabled)},e}();var s,d=(s=function(e,t){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},s(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var v=function(e,t){p(this,"initialState",void 0),this.initialState=new f(e,t,!1,!1)};function b(e){return new v(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}function m(e){return e instanceof v}var y=function(e){function t(t,r,n){var i=e.call(this,t,n)||this;return i.itemTemplate=r,i.itemTemplate=r,i}return d(t,e),t}(v);function g(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return new y((0,a.Seq)(e).map(t).toList(),t,r)}function h(e){return e instanceof y}var O=Object.freeze({error:null,pending:!1}),j=["reset"];function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach((function(t){P(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function P(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function F(){var e=o.useState(a.Map),t=e[0],r=e[1],n=o.useCallback((function(e){return t.get(e,e.initialState)}),[t]),i=o.useCallback((function(e){return n(e).value}),[n]),u=o.useCallback((function(e,t){r((function(r){return"function"==typeof t?r.update(e,e.initialState,t):r.set(e,t)}))}),[]),l=o.useCallback((function(e,t){return function e(r){if(h(r))return n(r).value.map(e);if(m(r)){var i=n(r);return"value"===t?i.value:i}return a.Seq.Keyed(r).map((function(t){return e(t)})).toObject()}(e)}),[n]),c=o.useCallback((function(e){return l(e,"state")}),[l]),f=o.useCallback((function(e){return l(e,"value")}),[l]),s=o.useCallback((function(){return r((0,a.Map)())}),[r]),d=o.useMemo((function(){return t.some((function(e,t){return!e.equals(t.initialState)}))}),[t]),p=function(e){var t=o.useState(a.Map),r=t[0],n=t[1],i=o.useCallback((function(e){return n((function(t){return t.update(e.fieldRef,(0,a.OrderedSet)(),(function(t){return t.add(e)}))})),function(){return n((function(t){return t.update(e.fieldRef,(0,a.OrderedSet)(),(function(t){return t.remove(e)}))}))}}),[]),u=o.useCallback((function(e){return r.get(e,(0,a.OrderedSet)()).first(O)}),[r]),l=o.useCallback((function(t){var n=function t(r){return h(r)?e(r).value.flatMap(t):m(r)?a.List.of(r):a.Seq.Keyed(r).valueSeq().flatMap(t).toList()}(t).toSet();return r.filter((function(e,t){return n.has(t)})).valueSeq().flatMap((function(e){return e})).every((function(e){return null==e.error&&!e.pending}))}),[e,r]),c=o.useMemo((function(){return r.valueSeq().flatMap((function(e){return e})).some((function(e){return e.pending}))}),[r]);return{registerValidation:i,getValidationResult:u,isFieldValid:l,valid:o.useMemo((function(){return!c&&r.valueSeq().flatMap((function(e){return e})).every((function(e){return null==e.error}))}),[c,r]),pending:c}}(n);return o.useMemo((function(){return w({getFieldState:n,getFieldValue:i,setFieldState:u,getStates:c,getValues:f,reset:s,modified:d},p)}),[n,i,u,c,f,s,d,p])}function M(){throw new Error("Cannot call method on empty context. Did you forget <Form />?")}var E=o.createContext({getFieldState:M,getFieldValue:M,setFieldState:M,getStates:M,getValues:M,getValidationResult:M,registerValidation:M,isFieldValid:M,reset:M,pending:!1,valid:!1,modified:!1});function V(e){var t=F();return o.createElement(E.Provider,{value:t},e.children)}function C(){return o.useContext(E)}function k(e,t){var r=C(),n=r.reset,i=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.includes(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++)r=u[n],t.includes(r)||{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(r,j),u=o.useMemo((function(){return e.apply(void 0,t)}),t);return o.useLayoutEffect((function(){n()}),[n,u]),o.useMemo((function(){return w(w({},i),{},{reset:n,fields:u})}),[i,n,u])}function x(e){return function(t){return o.createElement(V,null,o.createElement(e,t))}}function D(e){var t=C();return o.createElement(o.Fragment,null,e.children(t))}function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){R(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function R(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function A(e){var t=C(),r=t.getFieldState,n=t.setFieldState,i=t.getValidationResult,u=r(e),a=i(e),l=o.useCallback((function(t){n(e,(function(e){var r="function"==typeof t?t(e.value):t;return e.value===r?e:e.updated({value:r,touched:!0})}))}),[e,n]),c=o.useCallback((function(t){return n(e,(function(e){return e.updated({disabled:t})}))}),[e,n]),f=o.useCallback((function(){return n(e,(function(e){return e.updated({active:!0,touched:!0})}))}),[e,n]),s=o.useCallback((function(){return n(e,(function(e){return e.updated({active:!1})}))}),[e,n]);return o.useMemo((function(){return q(q({value:u.value},a),{},{disabled:u.disabled,active:u.active,touched:u.touched,setValue:l,setDisabled:c,onFocus:f,onBlur:s})}),[u,a,l,c,f,s])}function _(e){var t=C().getValidationResult,r=A(e),n=r.value,i=r.setValue,u=r.disabled,a=r.active,l=r.touched,c=r.setDisabled,f=r.onBlur,s=r.onFocus,d=t(e),p=o.useCallback((function(t){var r=e.itemTemplate(t);return i((function(e){return e.unshift(r)})),r}),[i,e]),v=o.useCallback((function(t){var r=e.itemTemplate(t);return i((function(e){return e.push(r)})),r}),[i,e]),b=o.useCallback((function(t,r){var n=e.itemTemplate(r);return i((function(e){return e.insert(t,n)})),n}),[i,e]),m=o.useCallback((function(e){i((function(t){var r=t.indexOf(e);return-1!==r?t.remove(r):t}))}),[i]),y=o.useCallback((function(e,t){i((function(r){var n=r.get(e),i=r.get(t);if(null==n||null==i)throw new Error("Invalid element access");return r.remove(e).insert(e,i).remove(t).insert(t,n)}))}),[i]);return o.useMemo((function(){return q(q({items:n},d),{},{unshift:p,push:v,insert:b,remove:m,swap:y,disabled:u,active:a,touched:l,setDisabled:c,onBlur:f,onFocus:s})}),[n,d,p,v,b,m,y,u,a,l,c,f,s])}function L(e){var t=A(e.field);return o.createElement(o.Fragment,null,e.render(t))}function U(e){var t=_(e.field);return o.createElement(o.Fragment,null,e.render(t))}var N=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,u=t.length;i<u;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))};function B(e,t,r){var n=C(),i=n.getValues,u=n.registerValidation,a=i(e),l=o.useMemo((function(){return(null!=r?r:[]).map(i)}),N([i],null!=r?r:[],!0)),c=o.useMemo((function(){return t(a,l)}),N([a],l,!0)),f=o.useMemo((function(){return{fieldRef:e,error:c,pending:!1}}),[e,c]);o.useLayoutEffect((function(){return u(f)}),[u,f])}function I(e,t,r){var n=o.useState({pending:!1,error:null}),i=n[0],u=n[1];return o.useEffect((function(){var r=!0;u((function(e){return{pending:!0,error:e.error}}));var n=setTimeout((function(){e().then((function(e){r&&u({pending:!1,error:e})})).catch((function(e){r&&u({pending:!1,error:"Unexpected error"}),console.warn("[Unhandled Validation Error]",e),console.warn("An async validator should never throw, but it should resolve with the validation result.")}))}),t);return function(){r=!1,clearTimeout(n)}}),N([t],r,!0)),i}function K(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200,i=C(),u=i.getValues,a=i.registerValidation,l=u(e),c=o.useMemo((function(){return(null!=r?r:[]).map(u)}),N([u],null!=r?r:[],!0)),f=I((function(){return t(l,c)}),n,N([l],c,!0)),s=o.useMemo((function(){return{fieldRef:e,error:f.error,pending:f.pending}}),[e,f.error,f.pending]);o.useLayoutEffect((function(){return a(s)}),[a,s])}function z(e,t,r){var n=C(),i=n.getStates,u=n.registerValidation,a=i(e),l=o.useMemo((function(){return(null!=r?r:[]).map(i)}),N([i],null!=r?r:[],!0)),c=o.useMemo((function(){return t(a,l)}),N([a],l,!0)),f=o.useMemo((function(){return{fieldRef:e,error:c,pending:!1}}),[e,c]);o.useLayoutEffect((function(){return u(f)}),[u,f])}function W(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200,i=C(),u=i.getStates,a=i.registerValidation,l=u(e),c=o.useMemo((function(){return(null!=r?r:[]).map(u)}),N([u],null!=r?r:[],!0)),f=I((function(){return t(l,c)}),n,N([l],c,!0)),s=o.useMemo((function(){return{fieldRef:e,error:f.error,pending:f.pending}}),[e,f.error,f.pending]);o.useLayoutEffect((function(){return a(s)}),[a,s])}return u})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("immutable"),require("react")):"function"==typeof define&&define.amd?define(["immutable","react"],t):"object"==typeof exports?exports.Formix=t(require("immutable"),require("react")):e.Formix=t(e.immutable,e.react)}(self,((e,t)=>(()=>{"use strict";var r={144:t=>{t.exports=e},155:e=>{e.exports=t}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var u=n[e]={exports:{}};return r[e](u,u.exports,i),u.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};i.r(u),i.d(u,{FormProvider:()=>V,UseArrayField:()=>U,UseField:()=>L,UseForm:()=>D,defineArrayField:()=>g,defineField:()=>b,isArrayFieldRef:()=>h,isFieldRef:()=>m,useArrayField:()=>_,useAsyncFieldStateValidation:()=>W,useAsyncFieldValidation:()=>K,useField:()=>A,useFieldStateValidation:()=>z,useFieldValidation:()=>B,useForm:()=>C,useFormWithFields:()=>k,withForm:()=>x});var o=i(155),a=i(144);function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const f=function(){function e(e,t,r,n){this.value=e,this.disabled=t,this.active=r,this.touched=n,this.value=e,this.disabled=t,this.active=r,this.touched=n}return e.prototype.updated=function(t){var r,n,i,u=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({value:this.value},t);return new e(u.value,null!==(r=t.disabled)&&void 0!==r?r:this.disabled,null!==(n=t.active)&&void 0!==n?n:this.active,null!==(i=t.touched)&&void 0!==i?i:this.touched)},e.prototype.equals=function(e){return null!=e&&(0,a.is)(this.value,e.value)&&this.disabled===e.disabled},e.prototype.hashCode=function(){return(0,a.hash)(this.value)&(0,a.hash)(this.disabled)},e}();var s,d=(s=function(e,t){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},s(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var v=function(e,t){p(this,"initialState",void 0),this.initialState=new f(e,t,!1,!1)};function b(e){return new v(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}function m(e){return e instanceof v}var y=function(e){function t(t,r,n){var i=e.call(this,t,n)||this;return i.itemTemplate=r,i.itemTemplate=r,i}return d(t,e),t}(v);function g(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return new y((0,a.Seq)(e).map(t).toList(),t,r)}function h(e){return e instanceof y}var O=Object.freeze({error:null,pending:!1}),j=["reset"];function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach((function(t){P(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function P(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function F(){var e=o.useState(a.Map),t=e[0],r=e[1],n=o.useCallback((function(e){return t.get(e,e.initialState)}),[t]),i=o.useCallback((function(e){return n(e).value}),[n]),u=o.useCallback((function(e,t){r((function(r){return"function"==typeof t?r.update(e,e.initialState,t):r.set(e,t)}))}),[]),l=o.useCallback((function(e,t){return function e(r){if(h(r))return n(r).value.map(e);if(m(r)){var i=n(r);return"value"===t?i.value:i}return a.Seq.Keyed(r).map((function(t){return e(t)})).toObject()}(e)}),[n]),c=o.useCallback((function(e){return l(e,"state")}),[l]),f=o.useCallback((function(e){return l(e,"value")}),[l]),s=o.useCallback((function(){return r((0,a.Map)())}),[r]),d=o.useMemo((function(){return t.some((function(e,t){return!e.equals(t.initialState)}))}),[t]),p=function(e){var t=o.useState(a.Map),r=t[0],n=t[1],i=o.useCallback((function(e){return n((function(t){return t.update(e.fieldRef,(0,a.OrderedSet)(),(function(t){return t.add(e)}))})),function(){return n((function(t){return t.update(e.fieldRef,(0,a.OrderedSet)(),(function(t){return t.remove(e)}))}))}}),[]),u=o.useCallback((function(e){return r.get(e,(0,a.OrderedSet)()).reduce((function(e,t){return{error:e.error||t.error,pending:e.pending||t.pending}}),O)}),[r]),l=o.useCallback((function(t){var n=function t(r){return h(r)?e(r).value.flatMap(t):m(r)?a.List.of(r):a.Seq.Keyed(r).valueSeq().flatMap(t).toList()}(t).toSet();return r.filter((function(e,t){return n.has(t)})).valueSeq().flatMap((function(e){return e})).every((function(e){return null==e.error&&!e.pending}))}),[e,r]),c=o.useMemo((function(){return r.valueSeq().flatMap((function(e){return e})).some((function(e){return e.pending}))}),[r]);return{registerValidation:i,getValidationResult:u,isFieldValid:l,valid:o.useMemo((function(){return!c&&r.valueSeq().flatMap((function(e){return e})).every((function(e){return null==e.error}))}),[c,r]),pending:c}}(n);return o.useMemo((function(){return w({getFieldState:n,getFieldValue:i,setFieldState:u,getStates:c,getValues:f,reset:s,modified:d},p)}),[n,i,u,c,f,s,d,p])}function M(){throw new Error("Cannot call method on empty context. Did you forget <Form />?")}var E=o.createContext({getFieldState:M,getFieldValue:M,setFieldState:M,getStates:M,getValues:M,getValidationResult:M,registerValidation:M,isFieldValid:M,reset:M,pending:!1,valid:!1,modified:!1});function V(e){var t=F();return o.createElement(E.Provider,{value:t},e.children)}function C(){return o.useContext(E)}function k(e,t){var r=C(),n=r.reset,i=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.includes(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++)r=u[n],t.includes(r)||{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(r,j),u=o.useMemo((function(){return e.apply(void 0,t)}),t);return o.useLayoutEffect((function(){n()}),[n,u]),o.useMemo((function(){return w(w({},i),{},{reset:n,fields:u})}),[i,n,u])}function x(e){return function(t){return o.createElement(V,null,o.createElement(e,t))}}function D(e){var t=C();return o.createElement(o.Fragment,null,e.children(t))}function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){R(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function R(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function A(e){var t=C(),r=t.getFieldState,n=t.setFieldState,i=t.getValidationResult,u=r(e),a=i(e),l=o.useCallback((function(t){n(e,(function(e){var r="function"==typeof t?t(e.value):t;return e.value===r?e:e.updated({value:r,touched:!0})}))}),[e,n]),c=o.useCallback((function(t){return n(e,(function(e){return e.updated({disabled:t})}))}),[e,n]),f=o.useCallback((function(){return n(e,(function(e){return e.updated({active:!0,touched:!0})}))}),[e,n]),s=o.useCallback((function(){return n(e,(function(e){return e.updated({active:!1})}))}),[e,n]);return o.useMemo((function(){return q(q({value:u.value},a),{},{disabled:u.disabled,active:u.active,touched:u.touched,setValue:l,setDisabled:c,onFocus:f,onBlur:s})}),[u,a,l,c,f,s])}function _(e){var t=C().getValidationResult,r=A(e),n=r.value,i=r.setValue,u=r.disabled,a=r.active,l=r.touched,c=r.setDisabled,f=r.onBlur,s=r.onFocus,d=t(e),p=o.useCallback((function(t){var r=e.itemTemplate(t);return i((function(e){return e.unshift(r)})),r}),[i,e]),v=o.useCallback((function(t){var r=e.itemTemplate(t);return i((function(e){return e.push(r)})),r}),[i,e]),b=o.useCallback((function(t,r){var n=e.itemTemplate(r);return i((function(e){return e.insert(t,n)})),n}),[i,e]),m=o.useCallback((function(e){i((function(t){var r=t.indexOf(e);return-1!==r?t.remove(r):t}))}),[i]),y=o.useCallback((function(e,t){i((function(r){var n=r.get(e),i=r.get(t);if(null==n||null==i)throw new Error("Invalid element access");return r.remove(e).insert(e,i).remove(t).insert(t,n)}))}),[i]);return o.useMemo((function(){return q(q({items:n},d),{},{unshift:p,push:v,insert:b,remove:m,swap:y,disabled:u,active:a,touched:l,setDisabled:c,onBlur:f,onFocus:s})}),[n,d,p,v,b,m,y,u,a,l,c,f,s])}function L(e){var t=A(e.field);return o.createElement(o.Fragment,null,e.render(t))}function U(e){var t=_(e.field);return o.createElement(o.Fragment,null,e.render(t))}var N=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,u=t.length;i<u;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))};function B(e,t,r){var n=C(),i=n.getValues,u=n.registerValidation,a=i(e),l=o.useMemo((function(){return(null!=r?r:[]).map(i)}),N([i],null!=r?r:[],!0)),c=o.useMemo((function(){return t(a,l)}),N([a],l,!0)),f=o.useMemo((function(){return{fieldRef:e,error:c,pending:!1}}),[e,c]);o.useLayoutEffect((function(){return u(f)}),[u,f])}function I(e,t,r){var n=o.useState({pending:!1,error:null}),i=n[0],u=n[1];return o.useEffect((function(){var r=!0;u((function(e){return{pending:!0,error:e.error}}));var n=setTimeout((function(){e().then((function(e){r&&u({pending:!1,error:e})})).catch((function(e){r&&u({pending:!1,error:"Unexpected error"}),console.warn("[Unhandled Validation Error]",e),console.warn("An async validator should never throw, but it should resolve with the validation result.")}))}),t);return function(){r=!1,clearTimeout(n)}}),N([t],r,!0)),i}function K(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200,i=C(),u=i.getValues,a=i.registerValidation,l=u(e),c=o.useMemo((function(){return(null!=r?r:[]).map(u)}),N([u],null!=r?r:[],!0)),f=I((function(){return t(l,c)}),n,N([l],c,!0)),s=o.useMemo((function(){return{fieldRef:e,error:f.error,pending:f.pending}}),[e,f.error,f.pending]);o.useLayoutEffect((function(){return a(s)}),[a,s])}function z(e,t,r){var n=C(),i=n.getStates,u=n.registerValidation,a=i(e),l=o.useMemo((function(){return(null!=r?r:[]).map(i)}),N([i],null!=r?r:[],!0)),c=o.useMemo((function(){return t(a,l)}),N([a],l,!0)),f=o.useMemo((function(){return{fieldRef:e,error:c,pending:!1}}),[e,c]);o.useLayoutEffect((function(){return u(f)}),[u,f])}function W(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200,i=C(),u=i.getStates,a=i.registerValidation,l=u(e),c=o.useMemo((function(){return(null!=r?r:[]).map(u)}),N([u],null!=r?r:[],!0)),f=I((function(){return t(l,c)}),n,N([l],c,!0)),s=o.useMemo((function(){return{fieldRef:e,error:f.error,pending:f.pending}}),[e,f.error,f.pending]);o.useLayoutEffect((function(){return a(s)}),[a,s])}return u})()));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ekz/formix",
|
|
3
|
-
"packageManager": "yarn@4.
|
|
4
|
-
"version": "1.0.
|
|
3
|
+
"packageManager": "yarn@4.9.2",
|
|
4
|
+
"version": "1.0.2",
|
|
5
5
|
"description": "Type-safe React form to be used with Typescript",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"react",
|
|
@@ -62,4 +62,4 @@
|
|
|
62
62
|
"declarations:ts": "npx tsc -d --declarationDir lib --emitDeclarationOnly --jsx react src/index.ts",
|
|
63
63
|
"prepublish": "yarn test --ci --no-watchman && yarn lint && yarn build:prod && yarn declarations:ts"
|
|
64
64
|
}
|
|
65
|
-
}
|
|
65
|
+
}
|