react-formutil
Version:
Happy to build the forms in React ^_^
2 lines (1 loc) • 46.9 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:true});var e=require("react");var t=require("warning");var r=require("react-dom");var n=require("react-is");var a=require("hoist-non-react-statics");var i=require("react-fast-compare");function o(e){return e&&typeof e==="object"&&"default"in e?e:{default:e}}var u=o(e);var s=o(t);var l=o(n);var f=o(a);var c=o(i);function $(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}function d(e,t){return t={exports:{}},e(t,t.exports),t.exports}var p=d((function(e){function t(r){"@babel/helpers - typeof";return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=true,e.exports["default"]=e.exports,t(r)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(p);var v=d((function(e){var t=p["default"];function r(e,r){if(t(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==undefined){var a=n.call(e,r||"default");if(t(a)!=="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}e.exports=r,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(v);var h=d((function(e){var t=p["default"];function r(e){var r=v(e,"string");return t(r)==="symbol"?r:String(r)}e.exports=r,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(h);var m=d((function(e){function t(e,t,r){t=h(t);if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var g=$(m);var y=d((function(e){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 r(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?t(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}e.exports=r,e.exports.__esModule=true,e.exports["default"]=e.exports}));var b=$(y);var x=d((function(e){function t(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(x);var w=d((function(e){function t(e){if(Array.isArray(e))return x(e)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(w);var _=d((function(e){function t(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(_);var F=d((function(e){function t(e,t){if(!e)return;if(typeof e==="string")return x(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return x(e,t)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(F);var C=d((function(e){function t(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(C);var P=d((function(e){function t(e){return w(e)||_(e)||F(e)||C()}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var V=$(P);var S=d((function(e){function t(e){if(Array.isArray(e))return e}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(S);var k=d((function(e){function t(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,u=[],s=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=r["return"]&&(o=r["return"](),Object(o)!==o))return}finally{if(l)throw a}}return u}}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(k);var O=d((function(e){function t(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(O);var E=d((function(e){function t(e,t){return S(e)||k(e,t)||F(e,t)||O()}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var j=$(E);var R=d((function(e){function t(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var A=$(R);var M=d((function(e){function t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,h(n.key),n)}}function r(e,r,n){if(r)t(e.prototype,r);if(n)t(e,n);Object.defineProperty(e,"prototype",{writable:false});return e}e.exports=r,e.exports.__esModule=true,e.exports["default"]=e.exports}));var D=$(M);var N=d((function(e){function t(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var U=$(N);var T=d((function(e){function t(r,n){e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,r){t.__proto__=r;return t},e.exports.__esModule=true,e.exports["default"]=e.exports;return t(r,n)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(T);var I=d((function(e){function t(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});Object.defineProperty(e,"prototype",{writable:false});if(t)T(e,t)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var H=$(I);var L=d((function(e){function t(r){e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function e(t){return t.__proto__||Object.getPrototypeOf(t)},e.exports.__esModule=true,e.exports["default"]=e.exports;return t(r)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(L);var B=d((function(e){function t(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));return true}catch(e){return false}}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(B);var q=d((function(e){var t=p["default"];function r(e,r){if(r&&(t(r)==="object"||typeof r==="function")){return r}else if(r!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return N(e)}e.exports=r,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(q);var Y=d((function(e){function t(e){var t=B();return function r(){var n=L(e),a;if(t){var i=L(this).constructor;a=Reflect.construct(n,arguments,i)}else{a=n.apply(this,arguments)}return q(this,a)}}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var Q=$(Y);var G=e.createContext((function(){return{}}));var z=l["default"].isValidElementType;var K=Object.getPrototypeOf({});var W=/\s*(?:\]\s*\.|\]\s*\[|\.|\[|\])\s*/g;var J=typeof window==="undefined"?global:window;function X(e){return typeof e==="undefined"}function Z(e){return typeof e==="function"}function ee(e){return X(e)||e===null||e+""===""}function te(e){return!!e&&Z(e.then)}function re(e){return Object.prototype.toString.call(e)==="[object Object]"}function ne(e){if(!re(e))return false;if(null===Object.getPrototypeOf(e))return true;if(!Z(e.constructor))return false;return e.constructor.prototype===K}function ae(e){return z(e)&&typeof e!=="string"}function ie(e){if(Array.isArray(e)){var t=[];for(var r=0,n=e.length;r<n;r++){t[r]=ie(e[r])}return t}else if(ne(e)){var a={};for(var i in e){if(e.hasOwnProperty(i))a[i]=ie(e[i])}return a}return e}var oe=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a<r;a++){n[a-1]=arguments[a]}if(Z(t)){t.apply(void 0,n)}return n[0]};function ue(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++){r[n]=arguments[n]}if(ae(r[0])){return e.apply(void 0,r)}return function(t){return e(t,r[0])}}}var se=["minlength","maxlength","max","min","required","pattern","step"];function le(e){return se.indexOf(e.toLowerCase())>-1}var fe=function e(t){try{var r=new Function("origin","global","return typeof ".concat(t," === 'number' || (typeof ").concat(t," !== 'undefined' && !(origin in global)) ? ").concat(t," : origin"));return r(t,J)}catch(e){return t}};function ce(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n=t[0],a=t[1],i=t[2];s["default"](typeof a==="string","The second parameter(".concat(JSON.stringify(a),") of parsePath() must be a string."));var o=(a.match(W)||[]).map((function(e){return e.replace(/\s/g,"")}));var u=a.split(W).map((function(e){return e.trim()})).filter((function(e){return e!==""}));var l=n;try{if(t.length<3){for(var f=0,c=u.length;f<c;f++){var $=fe(u[f]);if(f+1===c){return l[$]}if(X(l[$])){break}l=l[$]}}else{for(var d=0,p=u.length;d<p;d++){var v=fe(u[d]);var h=u[d+1];var m=o[d];if(X(h)){l[v]=i;break}switch(m){case"].":case".":l=l[v]=X(l[v])?{}:b({},l[v]);break;case"][":case"[":var g=fe(h);l=l[v]=X(l[v])?typeof g==="number"&&g>=0?[]:{}:Array.isArray(l[v])?V(l[v]):b({},l[v]);break;default:l[v]=i;break}}}}catch(e){s["default"](false,"The name '%s' of Field seems is not a legal expression.",a)}if(t.length>2){return n}}function $e(e,t){var r=t.split(W).map((function(e){return e.trim()})).filter((function(e){return e!==""}));for(var n=0,a=r.length;n<a;n++){var i=fe(r[n]);if(!(i in e)){break}if(n+1===a){return{data:e[i]}}e=e[i]}}function de(e,t){if(e){if(Z(e)){e(t)}else if("current"in e){e.current=t}}}var pe=function e(t,r){for(var n=0,a=t.length;n<a;n++){if(r(t[n])===true){return t[n]}}};var ve=function e(t,r){return Object.keys(t).reduce((function(e,n){e[n]=r(t[n],n,t);return e}),{})};var he=function e(t,r){return Object.keys(t).forEach((function(e){return r(t[e],e,t)}))};var me=undefined;function ge(e,t,r){he(e,(function(t,r){if(t===me){delete e[r]}else if(ne(t)||Array.isArray(t)){ge(t,r,e)}}));if(r&&Object.keys(e).every((function(t){return e[t]===me}))){r[t]=me;ge(r)}}var ye=function e(t,r){if(!X(ce(t,r))){ce(t,r,me);ge(t)}};function be(e,t){if(e===t){return true}var r=Object.keys(e);if(r.length!==Object.keys(t).length){return false}for(var n=0;n<r.length;n++){if(e[r[n]]!==t[r[n]]){return false}}return true}var xe="FORM_VALIDATE_RESULT";var we,_e;if(typeof requestAnimationFrame==="function"){we=requestAnimationFrame;_e=cancelAnimationFrame}else{we=setTimeout;_e=clearTimeout}var Fe=function(t){H(a,t);var n=Q(a);function a(e){var t;A(this,a);t=n.call(this,e);t.$$formPending=void 0;t.$$formValidatePromise=void 0;t.$$registers={};t.$$deepRegisters={};t.getFormContext=function(){return{$$registers:t.$$registers,$$register:t.$$register,$$unregister:t.$$unregister,$$onChange:t.$$onChange,$$getDefault:t.$$getDefault,$formutil:t.$formutil}};t.$$regDuplications={};t.$$duplicateTimer=void 0;t.$$checkDuplication=function(){var e=U(t),r=e.$$regDuplications;var n;he(r,(function(e,a){var i=j(e,2),o=i[0],u=i[1];s["default"](o.$$reserved,"The Field with a name '".concat(a,"' has been registered!"));u.$$reset(o.$getState());n=delete r[a];t.$$formShouldUpdateFields[a]=true}));if(n){t.$render()}};t.$$register=function(e,n,a){t.$$unregister(a,n);if(e){var i=t.$$getRegister(e);if(i){_e(t.$$duplicateTimer);t.$$regDuplications[e]=[i,n];t.$$duplicateTimer=we((function(){return r.unstable_batchedUpdates(t.$$checkDuplication)}))}else{t.$$fieldChangedQueue.push({name:e,$newValue:n.$getState().$value});ye(t.$$defaultValues,e)}t.$$registers[n.$name=e]=n;t.$$formShouldUpdateFields[e]=true;t.createDeepRegisters();t.$render()}};t.$$unregister=function(e,r,n){if(e){if(n){r.$$reserved=true}else{if(e in t.$$regDuplications){var a=j(t.$$regDuplications[e],2),i=a[0],o=a[1];t.$$fieldChangedQueue.push({name:e,$newValue:o.$getState().$value,$prevValue:i.$getState().$value});delete t.$$regDuplications[e]}else if(t.$$registers[e]===r){delete t.$$registers[e];t.$$fieldChangedQueue.push({name:e,$prevValue:r.$getState().$value});ye(t.$$defaultValues,e)}}t.$$formShouldUpdateAll=true;t.createDeepRegisters();t.$render()}};t.$$defaultInitialize=function(){var e=t.props,r=e.$defaultValues,n=e.$defaultStates;t.$$defaultValues=t.$$deepParseObject(ie(Z(r)?r(t.props)||{}:r));t.$$defaultStates=t.$$deepParseObject(ie(Z(n)?n(t.props)||{}:n))};t.$$getDefault=function(){return{$$defaultStates:t.$$defaultStates,$$defaultValues:t.$$defaultValues}};t.$$formShouldUpdateFields={};t.$$formShouldUpdateAll=false;t.$$fieldChangedQueue=[];t.$$triggerFormChange=function(){if(t.$$fieldChangedQueue.length){var e=V(t.$$fieldChangedQueue);t.$$fieldChangedQueue.length=0;var r={};var n={};var a=t.$$registers;var i=false;e.forEach((function(e){if(!(e.name in a)){delete e.$newValue}if(e.$newValue!==e.$prevValue){if("$newValue"in e&&"$prevValue"in e){var o=t.$$getRegister(e.name);if(o){o.$$triggerChange(e)}}"$newValue"in e&&ce(r,e.name,e.$newValue);!e.$dirty&&"$prevValue"in e&&ce(n,e.name,e.$prevValue);i=true}}));if(i){if(Z(t.props.$validator)){t.$$formValidate()}if(Z(t.props.$onFormChange)){t.props.$onFormChange(t.$formutil,r,n)}}}};t.createDeepRegisters=function(){return t.$$deepRegisters=t.$$deepParseObject(t.$$registers)};t.$$getRegister=function(e){if(e){var r=t.$$registers[e]||ce(t.$$deepRegisters,e);if(r){return r}}};t.$$formValidate=function(){return t.$$formValidatePromise=new Promise((function(e){var r=t.props.$validator;var n;var a;var i;var o;var u=r(t.$formutil.$params,t.$formutil);var s=function t(r){return e(oe(i,r))};if(te(u)){if(!t.$$formPending){t.$$formPending=true;t.$render()}a=function e(t){return n=t(s)};o=u.then((function(){return void 0}),(function(e){return e})).then((function(e){if(n){return n}t.$shouldCancelPrevAsyncValidate=null;t.$$formPending=false;return t.$$setFormErrors(e,s)}))}else{if(t.$$formPending){t.$$formPending=false}o=t.$$setFormErrors(u,s)}if(t.$shouldCancelPrevAsyncValidate){t.$shouldCancelPrevAsyncValidate((function(e){i=e;return o}))}t.$shouldCancelPrevAsyncValidate=a}))};t.$$setFormErrors=function(e,r){if(e&&(e instanceof Error||typeof e!=="object")){s["default"](false,"The result of $validator in <Form /> should always return None(null,undefined) or an object contains error message of Field.");return t.$render(r)}return t.$$setStates(e||{},(function(e,t){var r=t.$getState(),n=r.$error,a=n===void 0?{}:n;if(e){return{$error:b(b({},a),{},g({},xe,e))}}if(a[xe]){delete a[xe];return{$error:a}}}),r,true)};t.$getField=function(e){var r=t.$$getRegister(e);s["default"](!e||r,"$getField('".concat(e,"') fail to find the matched Field. Maybe it has been unmounted."));s["default"](e,"You should pass a name of the mounted Field to $getField().");if(r){var n;return(n=r.$new)===null||n===void 0?void 0:n.call(r)}};t.$$onChange=function(e,r,n){return t.$setStates(g({},e,r),n)};t.$$setStates=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var n=arguments.length>1?arguments[1]:undefined;var a=arguments.length>2?arguments[2]:undefined;var i=arguments.length>3?arguments[3]:undefined;var o=t.$$deepParseObject(e);var u=[];he(t.$$registers,(function(e,r){var a=$e(o,r);if(i||a){var s=e.$getState();var l=n(a&&a.data,e);if(l){var f=e.$$merge(l),c=f.$value;u.push([e,l]);if("$value"in l||"$viewValue"in l){var $=pe(t.$$fieldChangedQueue,(function(e){return e.name===r}));if($){if(!("$prevValue"in $)){$.$dirty=true;$.$prevValue=$.$newValue}$.$newValue=c}else{t.$$fieldChangedQueue.push({name:r,$newValue:c,$prevValue:s.$value})}}t.$$formShouldUpdateFields[r]=true}}}));return r.unstable_batchedUpdates((function(){u.forEach((function(e){var t=j(e,2),r=t[0],n=t[1];return r.$$detectChange(n)}));return t.$render(a)}))};t.$render=function(e){return new Promise((function(r){return t.forceUpdate((function(){return r(oe(e,t.$formutil))}))}))};t.$validates=function(){var e;for(var r=arguments.length,n=new Array(r),a=0;a<r;a++){n[a]=arguments[a]}if(Z(n[n.length-1])){e=n.pop()}if(n.length){var i=function e(r){r.forEach((function(r){if(Array.isArray(r)){e(r)}else{var n=t.$getField(r);if(n){n.$validate()}}}))};i(n)}else{he(t.$$registers,(function(e){return e.$validate()}));if(Z(t.props.$validator)){t.$$formValidate()}}return t.$onValidates(e)};t.$onValidates=function(e){var r=Object.keys(t.$$registers).map((function(e){return t.$$registers[e].$onValidate()}));r.push(t.$$formValidatePromise);return Promise.all(r).then((function(){return oe(e,t.$formutil)}))};t.$validate=function(e,r){var n=t.$getField(e);if(n){return n.$validate(r)}return oe(r)};t.$reset=function(e,r){t.$$defaultInitialize();if(Z(e)){r=e;e={}}return t.$$setStates(e,(function(e,t){return t.$$reset(e)}),r,true)};t.$setStates=function(e,r){return t.$$setStates(e,(function(e){return e}),r)};t.$setValues=function(e,r){t.$$deepParseObject(ie(e),t.$$defaultValues);ge(t.$$defaultValues);return t.$$setStates(e,(function(e){return{$value:e}}),r)};t.$setFocuses=function(e,r){return t.$$setStates(e,(function(e){return{$focused:e}}),r)};t.$setDirts=function(e,r){return t.$$setStates(e,(function(e){return{$dirty:e}}),r)};t.$setTouches=function(e,r){return t.$$setStates(e,(function(e){return{$touched:e}}),r)};t.$setPendings=function(e,r){return t.$$setStates(e,(function(e){return{$pending:e}}),r)};t.$setErrors=function(e,r){return t.$$setStates(e,(function(e){return{$error:e}}),r)};t.$batchState=function(e,r){return t.$setStates(ve(t.$$registers,(function(){return e})),r)};t.$batchDirty=function(e,r){return t.$batchState({$dirty:e},r)};t.$batchTouched=function(e,r){return t.$batchState({$touched:e},r)};t.$batchFocused=function(e,r){return t.$batchState({$focused:e},r)};t.$batchPending=function(e,r){return t.$batchState({$pending:e},r)};t.$batchError=function(e,r){return t.$batchState({$error:e},r)};t.$getFirstError=function(e){var r=t.$formutil;if(e){var n=r.$getField(e);return n&&n.$getFirstError()}for(var a in r.$weakErrors){if(r.$weakErrors.hasOwnProperty(a)){var i=r.$weakErrors[a];for(var o in i){if(i.hasOwnProperty(o)){return i[o]instanceof Error?i[o].message:i[o]}}}}};t.$new=function(){return t.$formutil};t.$$defaultInitialize();return t}D(a,[{key:"$$deepParseObject",value:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};he(t,(function(e,t){return ce(r,t,e)}));return r}},{key:"$$resetFormUpdateFields",value:function e(){this.$$formShouldUpdateFields={};this.$$formShouldUpdateAll=false}},{key:"componentDidMount",value:function e(){de(this.props.$ref,this.$formutil)}},{key:"componentDidUpdate",value:function e(t){de(this.props.$ref,this.$formutil);this.$$triggerFormChange()}},{key:"componentWillUnmount",value:function e(){de(this.props.$ref,null)}},{key:"_render",value:function t(){var r=this.$formutil;var n=this.props,a=n.children,i=n.render,o=n.component;if(o){return e.createElement(o,{$formutil:r})}if(Z(i)){return i(r)}if(Z(a)){return a(r)}return e.Children.map(a,(function(t){return t&&ae(t.type)?e.cloneElement(t,{$formutil:r}):t}))}},{key:"render",value:function e(){var t=this;var r=this.props.$processer;var n=Object.keys(this.$$registers).map((function(e){return{path:e,$state:t.$$registers[e].$getState()}}));var a=this.$$formShouldUpdateAll;var i=this.$formutil||{};var o=n.some((function(e){var t=e.$state;return t.$invalid}));var s=n.some((function(e){var t=e.$state;return t.$dirty}));var l=n.some((function(e){var t=e.$state;return t.$touched}));var f=n.some((function(e){var t=e.$state;return t.$focused}));var c=this.$$formPending||n.some((function(e){var t=e.$state;return t.$pending}));var $=a?{}:b({},i.$pureParams);var d=a?{}:b({},i.$states);var p=a?{}:b({},i.$errors);var v=a?{}:b({},i.$dirts);var h=a?{}:b({},i.$touches);var m=a?{}:b({},i.$focuses);var g=a?{}:b({},i.$pendings);var y=a?{}:b({},i.$weakStates);var x=a?{}:b({},i.$weakParams);var w=a?{}:b({},i.$weakErrors);var _=a?{}:b({},i.$weakDirts);var F=a?{}:b({},i.$weakFocuses);var C=a?{}:b({},i.$weakTouches);var P=a?{}:b({},i.$weakPendings);for(var V=0,S=n.length;V<S;V++){var k=n[V],O=k.$state,E=k.path;if(!a){if(!this.$$formShouldUpdateFields[E]){continue}}if(r){r(O,E)}if(E in x&&O.$pristine&&X(O.$value)){delete x[E];ye($,E)}else if(x[E]!==O.$value){x[E]=O.$value;ce($,E,O.$value)}ce(d,E,O);y[E]=O;if(w[E]!==O.$error){if(O.$invalid){ce(p,E,O.$error);w[E]=O.$error}else if(E in w){ye(p,E);delete w[E]}}if(_[E]!==O.$dirty){ce(v,E,O.$dirty);_[E]=O.$dirty}if(C[E]!==O.$touched){ce(h,E,O.$touched);C[E]=O.$touched}if(F[E]!==O.$focused){ce(m,E,O.$focused);F[E]=O.$focused}if(P[E]!==O.$pending){ce(g,E,O.$pending);P[E]=O.$pending}}this.$formutil={$$registers:b({},this.$$registers),$$deepRegisters:this.$$deepRegisters,$states:d,$pureParams:$,$params:b(b({},this.$$defaultValues),$),$errors:p,$dirts:v,$touches:h,$focuses:m,$pendings:g,$weakStates:y,$weakParams:x,$weakErrors:w,$weakDirts:_,$weakTouches:C,$weakFocuses:F,$weakPendings:P,$getFirstError:this.$getFirstError,$render:this.$render,$getField:this.$getField,$onValidates:this.$onValidates,$new:this.$new,$setStates:this.$setStates,$setValues:this.$setValues,$setErrors:this.$setErrors,$setTouches:this.$setTouches,$setDirts:this.$setDirts,$setFocuses:this.$setFocuses,$setPendings:this.$setPendings,$batchState:this.$batchState,$batchTouched:this.$batchTouched,$batchDirty:this.$batchDirty,$batchFocused:this.$batchFocused,$batchPending:this.$batchPending,$reset:this.$reset,$validates:this.$validates,$validate:this.$validate,$valid:!o,$invalid:o,$dirty:s,$pristine:!s,$touched:l,$untouched:!l,$focused:f,$pending:c};this.$$resetFormUpdateFields();return u["default"].createElement(G.Provider,{value:this.getFormContext},this._render())}}]);return a}(e.Component);Fe.displayName="React.Formutil.Form";Fe.defaultProps={$defaultValues:{},$defaultStates:{}};var Ce=d((function(e){function t(e,t){if(e==null)return{};var r={};var n=Object.keys(e);var a,i;for(i=0;i<n.length;i++){a=n[i];if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));$(Ce);var Pe=d((function(e){function t(e,t){if(e==null)return{};var r=Ce(e,t);var n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++){n=i[a];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var Ve=$(Pe);var Se=["__forwardRef__"],ke=["component"];var Oe=["render","component","children","$defaultValues","$defaultStates","$onFormChange","$validator","$processer","$ref"];function Ee(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=function(e){H(a,e);var n=Q(a);function a(){var e;A(this,a);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++){i[o]=arguments[o]}e=n.call.apply(n,[this].concat(i));e.renderChildren=function(r){return u["default"].createElement(t,Object.assign({},e.othersProps,{$formutil:r,ref:e.props.__forwardRef__}))};return e}D(a,[{key:"render",value:function e(){var t=this.props,n=t.__forwardRef__,a=Ve(t,Se);var i=this.props,o=i.component,s=Ve(i,ke);Oe.forEach((function(e){if(e in a){if(e==="$defaultStates"||e==="$defaultValues"){s[e]=b(b({},r[e]),a[e])}delete a[e]}}));this.othersProps=a;return u["default"].createElement(Fe,Object.assign({},r,s,{render:this.renderChildren}))}}]);return a}(e.Component);n.displayName="React.Formutil.withForm."+(t.displayName||t.name||"Anonymous");var a=e.forwardRef((function(e,t){return u["default"].createElement(n,Object.assign({__forwardRef__:t},e))}));a.displayName="React.Formutil.withForm.ForwardRef."+(t.displayName||t.name||"Anonymous");return f["default"](a,t)}var je=ue(Ee);var Re=d((function(e){function t(e){if(e==null)throw new TypeError("Cannot destructure "+e)}e.exports=t,e.exports.__esModule=true,e.exports["default"]=e.exports}));var Ae=$(Re);var Me=0;var De={$valid:true,$invalid:false,$dirty:false,$pristine:true,$touched:false,$untouched:true,$focused:false,$pending:false,$error:{}};function Ne(e){return e!==true}function Ue(e,t,r){s["default"](!X(e),"You should return a string or Error when the validation('".concat(r&&r+": ").concat(t,"') failed, otherwise return true."))}var Te="React.Formutil.Field";function Ie(){return Me++}function He(t,r){var n=r.children,a=r.render,i=r.component;if(i){return e.createElement(i,{$fieldutil:t})}if(Z(a)){return a(t)}if(Z(n)){return n(t)}return e.Children.map(n,(function(r){return r&&ae(r.type)?e.cloneElement(r,{$fieldutil:t}):r}))}function Le(e,t){var r={$$FIELD_UUID:e.$$FIELD_UUID,$$reset:u,$$merge:y,$$detectChange:a,$$triggerChange:i,$onValidate:o,$new:function t(){return e.$fieldutil},$picker:s,$getState:s,$getComponent:function e(){return t},$reset:function t(r,n){return e.$setState(u(r),n)},$getFirstError:g,$validate:l,$setState:e.$setState,$render:f,$setValue:c,$setTouched:$,$setDirty:d,$setFocused:p,$setValidity:h,$setError:v,$setPending:m};var n;function a(e){if("$value"in e||"$viewValue"in e){l()}}function i(t){var r=t.$newValue,n=t.$prevValue;var a=e.props.$onFieldChange;if(Z(a)){a(r,n,e.$formContext.$formutil)}}function o(e){n.then(e);return n}function u(t){var r;var n=e.props,a=e.$formContext;if(a.$$getDefault){var i=n.name;var o=a.$$getDefault(),u=o.$$defaultStates,s=o.$$defaultValues;if(i&&s){var l=ce(s,i);r=ce(u,i)||{};if(!X(l)){r.$value=l}}}var f=n.$defaultValue,c=n.$defaultState;return y(b(b(b(b({},De),Z(c)?c(n):c),{},{$value:Z(f)?f(n):"$defaultValue"in n?f:""},r),t))}function s(){return b({},e.$state)}function l(t){return n=new Promise((function(r){var n=e.props,a=e.$formContext;var i=b(b({},n.$validators),n.$asyncValidators);var o=e.$state,u=o.$value,s=o.$pending,l=Object.assign({},(Ae(o.$error),o.$error));var f=a.$formutil;var c={};var $=false;var d;var p;var g;var y;delete l[xe];var x=Object.keys(i).reduce((function(t,r){delete l[r];if(!$&&n[r]!=null){var a=i[r](u,n[r],b(b({},n),{},{$formutil:f,$fieldutil:e.$fieldutil,$validError:c}));if(te(a)){t.push(a.catch((function(e){if(!d){h(r,e||r)}})))}else if(Ne(a)){c[r]=a||r;Ue(a,r,n.name);if(n.$validateLazy){$=true}}}return t}),[]);var w=function e(n){return r(oe(t,oe(g,n)))};if(x.length){if(!s){m(true)}p=function e(t){return d=t(w)};x.push(v(b(b({},l),c)));y=Promise.all(x).then((function(){if(d){return d}e.$shouldCancelPrevAsyncValidate=null;return m(false,w)}))}else{if(s){m(false)}y=v(b(b({},l),c),w)}if(e.$shouldCancelPrevAsyncValidate){e.$shouldCancelPrevAsyncValidate((function(e){g=e;return y}))}e.$shouldCancelPrevAsyncValidate=p}))}function f(t,r){return e.$setState({$viewValue:t,$dirty:true},r)}function c(t,r){return e.$setState({$value:t},r)}function $(t,r){return e.$setState({$touched:t},r)}function d(t,r){return e.$setState({$dirty:t},r)}function p(t,r){return e.$setState({$focused:t},r)}function v(t,r){return e.$setState({$error:t},r)}function h(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var n=arguments.length>2?arguments[2]:undefined;var a=Object.assign({},(Ae(e.$state.$error),e.$state.$error));if(Ne(r)){a[t]=r||t;Ue(r,t,e.props.name)}else{delete a[t]}return v(a,n)}function m(t,r){return e.$setState({$pending:t},r)}function g(){var t=e.$state.$error,r=t===void 0?{}:t;for(var n in r){if(r.hasOwnProperty(n)){return r[n]instanceof Error?r[n].message:r[n]}}}function y(t){var r=Object.assign({},(Ae(t),t));if("$error"in r){if(!r.$error){r.$error={}}r.$valid=Object.keys(r.$error).length===0}var n=e.props,a=n.$parser,i=n.$formatter;if("$viewValue"in r&&!("$value"in r)){var o=function e(t){return r.$viewValue=t};r.$value=a?a(r.$viewValue,o):r.$viewValue}else if("$value"in r&&!("$viewValue"in r)){var u=function e(t){return r.$value=t};r.$viewValue=i?i(r.$value,u):r.$value}if("$valid"in r){r.$invalid=!r.$valid}else if("$invalid"in r){r.$valid=!r.$invalid}if("$dirty"in r){r.$pristine=!r.$dirty}else if("$pristine"in r){r.$dirty=!r.$pristine}if("$touched"in r){r.$untouched=!r.$touched}else if("$untouched"in r){r.$touched=!r.$untouched}e.$state=b(b({},e.$state),r);return s()}return r}var Be=function(e){H(r,e);var t=Q(r);function r(){var e;A(this,r);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++){a[i]=arguments[i]}e=t.call.apply(t,[this].concat(a));e.$$FIELD_UUID=Ie();e.$formContext=void 0;e.$state=void 0;e.shouldRendered=false;e.$setState=function(t,r){return new Promise((function(n){var a=function t(){return n(oe(r,e.$fieldutil))};if(e.isMounting){var i=e.props.name;if(i in(e.$formContext.$$registers||{})){e.shouldRendered=false;e.$formContext.$$onChange(i,t,a);if(!e.shouldRendered){e.forceUpdate()}}else{e.$registered.$$merge(t);e.$registered.$$detectChange(t);e.forceUpdate(a)}}else{e.$registered.$$merge(t);a()}}))};return e}D(r,[{key:"componentDidMount",value:function e(){this.isMounting=true;var t=this.props.name,r=this.$formContext;s["default"](!t||r.$formutil,"You should enusre that the <Field /> with the name '".concat(t,"' must be used underneath a <Form /> component or withForm() HOC, otherwise it's isolated."));s["default"](t,"You should assign a name to <Field />, otherwise it will be isolated!");if(r.$$register){r.$$register(t,this.$fieldHandler)}this.$prevState=this.$state;de(this.props.$ref,this.$fieldutil)}},{key:"componentWillUnmount",value:function e(){if(this.$formContext.$$unregister){this.$formContext.$$unregister(this.props.name,this.$fieldHandler,this.props.$reserveOnUnmount)}this.isMounting=false;de(this.props.$ref,null)}},{key:"componentDidUpdate",value:function e(t){var r=this.props.name;if(r!==t.name){if(this.$formContext.$$register){this.$formContext.$$register(r,this.$fieldHandler,t.name)}}de(this.props.$ref,this.$fieldutil);if(this.$state.$value!==this.$prevState.$value){if(!(r in(this.$formContext.$$registers||{}))){this.$registered.$$triggerChange({$newValue:this.$state.$value,$prevValue:this.$prevState.$value})}}this.$prevState=this.$state}},{key:"shouldComponentUpdate",value:function e(t){var r=t.$memo;return!r||!be(this.$registered.$getState(),this.$prevState)||!(Array.isArray(r)?c["default"](r,this.props.$memo):c["default"](this.props,t))}},{key:"_render",value:function e(){var t=this.$fieldutil=b(b(b({$name:this.props.name},this.$registered.$getState()),this.$registered),{},{$$formutil:this.$formContext.$formutil});return He(t,this.props)}},{key:"render",value:function e(){var t=this;this.shouldRendered=true;return u["default"].createElement(G.Consumer,null,(function(e){var r=!t.$formContext;t.$formContext=e();if(!t.$fieldHandler){t.$fieldHandler=Le(t,t)}t.$registered=(t.$formContext.$$registers||{})[t.$fieldHandler.$name]||t.$fieldHandler;if(r){t.$fieldHandler.$$reset();t.$fieldHandler.$validate()}return t._render()}))}}]);return r}(e.Component);Be.displayName=Te;var qe=["__forwardRef__"],Ye=["component"];var Qe=["name","$defaultValue","$defaultState","$onFieldChange","$validators","$asyncValidators","$validateLazy","$memo","$reserveOnUnmount","$ref","$parser","$formatter","render","component","children"];function Ge(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=function(e){H(a,e);var n=Q(a);function a(){var e;A(this,a);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++){i[o]=arguments[o]}e=n.call.apply(n,[this].concat(i));e.renderChildren=function(r){return u["default"].createElement(t,Object.assign({},e.othersProps,{$fieldutil:r,ref:e.props.__forwardRef__}))};return e}D(a,[{key:"render",value:function e(){var t=this.props,n=t.__forwardRef__,a=Ve(t,qe);var i=this.props,o=i.component,s=Ve(i,Ye);Qe.concat(Object.keys(b(b(b(b({},r.$validators),r.$asyncValidators),a.$validators),a.$asyncValidators))).forEach((function(e){if(e in a){if(e==="$validators"||e==="$asyncValidators"||e==="$defaultState"){s[e]=b(b({},r[e]),a[e])}delete a[e]}}));this.othersProps=a;return u["default"].createElement(Be,Object.assign({},r,s,{render:this.renderChildren}))}}]);return a}(e.Component);n.displayName="React.Formutil.withField."+(t.displayName||t.name||"Anonymous");var a=e.forwardRef((function(e,t){return u["default"].createElement(n,Object.assign({__forwardRef__:t},e))}));a.displayName="React.Formutil.withField.ForwardRef."+(t.displayName||t.name||"Anonymous");return f["default"](a,t)}var ze=ue(Ge);var Ke=["$fieldutil","value","onChange","onFocus","onBlur","checked","unchecked"];var We=function(e){H(r,e);var t=Q(r);function r(){A(this,r);return t.apply(this,arguments)}D(r,[{key:"render",value:function e(){var t=this;var r=this.props,n=r.$fieldutil,a=r.value,i=r.onChange,o=r.onFocus,s=r.onBlur,l=r.checked,f=r.unchecked,c=Ve(r,Ke);var $=this.props.type;var d={value:"compositionValue"in this?this.compositionValue:a,onCompositionEnd:function e(r){t.isComposing=false;delete t.compositionValue;d.onChange(r)},onCompositionStart:function e(){return t.isComposing=true},onChange:function e(r){var n=r.target.value;if(t.isComposing){t.compositionValue=n;t.forceUpdate()}else{i(n,r)}},onFocus:o,onBlur:function e(r){if(t.isComposing){t.isComposing=false;delete t.compositionValue;d.onChange(r)}return s(r)}};var p="input";switch($){case"select":p=$;d.onChange=function(e){var t=e.target;var r=t.multiple?[].slice.call(t.options).filter((function(e){return e.selected})).map((function(e){return e.value})):t.value;i(r,e)};delete c.type;break;case"textarea":p=$;delete c.type;break;case"checkbox":case"radio":d={checked:a===l,onChange:function e(t){i(t.target.checked?l:f,t)},onFocus:o,onBlur:s};break}return u["default"].createElement(p,Object.assign({},c,d))}}]);return r}(e.Component);We.displayName="React.Formutil.EasyField.Native";We.defaultProps={value:"",type:"text",checked:true,unchecked:false};var Je=["$value","onChange","onFocus","onBlur"];var Xe=e.createContext((function(){return{}})),Ze=Xe.Provider,et=Xe.Consumer;var tt=function(t){H(n,t);var r=Q(n);function n(){var e;A(this,n);for(var t=arguments.length,a=new Array(t),i=0;i<t;i++){a[i]=arguments[i]}e=r.call.apply(r,[this].concat(a));e.getGroupContext=function(){return e.props};return e}D(n,[{key:"_render",value:function t(){var r=this.props,n=r.className,a=r.groupNode,i=r.children;var o={GroupOption:rt,Field:nt};var s=Z(i)?i(o):e.Children.map(i,(function(t){return e.cloneElement(t,o)}));if(a===null){return s}return u["default"].createElement(a,{className:n},s)}},{key:"render",value:function e(){return u["default"].createElement(Ze,{value:this.getGroupContext},this._render())}}]);return n}(e.Component);tt.displayName="React.Formutil.EasyField.Group";tt.defaultProps={type:"checkbox",groupNode:"div"};var rt=function(e){H(r,e);var t=Q(r);function r(){A(this,r);return t.apply(this,arguments)}D(r,[{key:"componentDidMount",value:function e(){s["default"]("$value"in this.props,"You should pass a $value to <GroupOption />.")}},{key:"render",value:function e(){var t=this.props,r=t.$value,n=t.onChange,a=t.onFocus,i=t.onBlur,o=Ve(t,Je);return u["default"].createElement(et,null,(function(e){var t=e();var s=t.type,l=t.name;var f=s==="radio"?{checked:t.value===r,onChange:function e(a){t.onChange(r,a);n&&n(a)}}:s==="checkbox"?{checked:t.value.indexOf(r)>-1,onChange:function e(a){t.onChange(a.target.checked?t.value.concat(r):t.value.filter((function(e){return e!==r})),a);n&&n(a)}}:{value:t.value,onChange:function e(r){t.onChange(r);n&&n(r)}};return u["default"].createElement("input",Object.assign({name:l},o,f,{type:s,onFocus:function e(r){t.onFocus(r);a&&a(r)},onBlur:function e(r){t.onBlur(r);i&&i(r)}}))}))}}]);return r}(e.Component);rt.displayName="React.Formutil.EasyField.Group.Option";var nt=function(e){H(r,e);var t=Q(r);function r(){A(this,r);return t.apply(this,arguments)}D(r,[{key:"componentDidMount",value:function e(){s["default"](false,'The "Field" property in EasyField\'s children-props has been deprecated. Please use "GroupOption" instead.')}},{key:"render",value:function e(){return u["default"].createElement(rt,this.props)}}]);return r}(e.Component);nt.displayName="React.Formutil.EasyField.Group.Option.Deprecated";var at=u["default"].Frament||"div";var it=function(e){H(r,e);var t=Q(r);function r(e){var n;A(this,r);n=t.call(this,e);n.id=0;n.latestValue=n.props.value;n.$formutil=void 0;n.FieldValidators={required:function e(t){return t!==null}};n.$onFormChange=function(e){e.$onValidates((function(e){var t=e.$invalid,r=e.$params;if(t){if(n.props.value.length){n.props.onChange(n.latestValue=[])}}else if(!c["default"](n.props.value,r.list)){n.props.onChange(n.latestValue=r.list)}}))};n.swap=function(e,t,r){return n.$setState((function(r){var n=r.items;var a=[n[e],n[t]];n[t]=a[0];n[e]=a[1];return n}),r)};n.insert=function(){var e,t,r;for(var a=arguments.length,i=new Array(a),o=0;o<a;o++){i[o]=arguments[o]}i.forEach((function(n){if(Z(n)){r=n}else if(typeof n==="number"){e=n}else if(typeof n==="object"){t=n}}));return n.$setState((function(r){var a=r.items;if(X(e)){a.push(n.getId(t))}else{a.splice(e,0,n.getId(t))}return{items:a}}),r)};n.remove=function(){var e,t;for(var r=arguments.length,a=new Array(r),i=0;i<r;i++){a[i]=arguments[i]}a.forEach((function(r){if(Z(r)){t=r}else if(typeof r==="number"){e=r}}));return n.$setState((function(t){var r=t.items;if(X(e)){r.pop()}else{r.splice(e,1)}if(!r.length){r=[n.getId()]}return{items:r}}),t)};n.$setState=function(e,t){return new Promise((function(r){return n.setState(e,(function(){return n.$formutil.$onValidates((function(e){return r(oe(t,e))}))}))}))};n.state={items:e.value.length?e.value.map((function(){return n.getId()})):[n.getId()],formKey:0};return n}D(r,[{key:"componentDidUpdate",value:function e(t){var r=this;if(this.props.value!==this.latestValue){this.setState({items:this.props.value.length?this.props.value.map((function(){return r.getId()})):[this.getId()],formKey:this.state.formKey+1});this.latestValue=this.props.value}}},{key:"getId",value:function e(t){return{id:this.id++,values:t}}},{key:"render",value:function e(){var t=this;var r=this.props,n=r.children,a=r.onFocus,i=r.onBlur,o=r.value;var s=this;if(!Z(n)){return null}var l={$insert:this.insert,$remove:this.remove,$swap:this.swap,$push:function e(r,n){return t.insert(r,n)},$pop:function e(r){return t.remove(r)},$shift:function e(r){return t.remove(0,r)},$unshift:function e(r,n){return t.insert(0,r,n)},onFocus:a,onBlur:i};return u["default"].createElement(Fe,{key:this.state.formKey,$defaultValues:{list:o},$onFormChange:this.$onFormChange,children:function e(r){t.$formutil=r;return u["default"].createElement(at,null,t.state.items.map((function(e,a){var i=e.id,o=e.values;return u["default"].createElement(Be,{key:i,required:true,$defaultValue:o||null,$validators:t.FieldValidators,name:"list[".concat(a,"]"),children:function e(i){return u["default"].createElement(Fe,{$defaultValues:i.$value||{},$onFormChange:function e(t){return t.$onValidates((function(e){var t=e.$invalid,r=e.$params;if(!c["default"](i.$viewValue,r)){i.$setState({$viewValue:r,$value:t?null:r})}}))},children:function e(i){return n(b(b({get $length(){return s.state.items.length},$index:a,$isLast:function e(){return a===t.state.items.length-1},$isFirst:function e(){return a===0}},l),i),r)}})}})})))}})}}]);return r}(e.Component);it.displayName="React.Formutil.EasyField.List";var ot=["children","component","render"],ut=["name","type","defaultValue","valuePropName","changePropName","focusPropName","blurPropName","getValueFromEvent","validMessage","checked","unchecked","__TYPE__","__DIFF__","passUtil","$defaultValue","$defaultState","$onFieldChange","$validators","$asyncValidators","$validateLazy","$memo","$reserveOnUnmount","$parser","$formatter","$ref"];var st="__TYPE__";var lt=[["required",function(e,t,r){var n=r.__TYPE__,a=r.checked,i=a===void 0?true:a;return t===false||(n==="checked"?e===i:!ee(e))}],["maxLength",function(e,t){return ee(e)||e.length<=t*1}],["minLength",function(e,t){return ee(e)||e.length>=t*1}],["max",function(e,t){return ee(e)||e*1<=t*1}],["min",function(e,t){return ee(e)||e*1>=t*1}],["pattern",function(e,t){return ee(e)||t.test(e)}],["enum",function(e,t){return ee(e)||t.indexOf(e)>-1}],["checker",function(e,t,r){return t(e,r)}]].reduce((function(e,t){var r=j(t,2),n=r[0],a=r[1];e[n]=function e(t,r,i){var o=i.validMessage,u=o===void 0?{}:o;return a.apply(void 0,arguments)||u[n]||"Error input: ".concat(n)};return e}),{});var ft="React.Formutil.EasyField";var ct={validMessage:{},valuePropName:"value",changePropName:"onChange",focusPropName:"onFocus",blurPropName:"onBlur",$parser:function e(t){return typeof t==="string"?t.trim():t}};function $t(e,t,r){var n;var a=t.valuePropName,i=t.changePropName,o=t.focusPropName,u=t.blurPropName,s=t.getValueFromEvent,l=t.passUtil;var f=function e(t){return t&&t.target?t.target[a]:t};var c=b(b({},r),{},(n={},g(n,a,e.$viewValue),g(n,i,(function(r){var n;for(var a=arguments.length,o=new Array(a>1?a-1:0),u=1;u<a;u++){o[u-1]=arguments[u]}if(((n=o[0])===null||n===void 0?void 0:n.nativeEvent)instanceof Event){o.push(r)}else{o.unshift(r)}var l=t[i];l&&l.apply(void 0,o);var c=s?s.apply(void 0,o):f(r);e.$render(c)})),g(n,o,(function(){var r=t[o];r&&r.apply(void 0,arguments);e.$setFocused(true)})),g(n,u,(function(){var r=t[u];r&&r.apply(void 0,arguments);if(e.$untouched){e.$setTouched(true)}e.$setFocused(false)})),n));if(l){c[l===true?"$fieldutil":String(l)]=e}return c}function dt(e){var t=e.children,r=e.component,n=e.render,a=Ve(e,ot);var i=a.name,o=a.type,u=a.defaultValue,s=a.valuePropName,l=a.changePropName,f=a.focusPropName,c=a.blurPropName,$=a.getValueFromEvent,d=a.validMessage,p=a.checked,v=a.unchecked,h=a.__TYPE__,m=a.__DIFF__,g=a.passUtil,y=a.$defaultValue,x=a.$defaultState,w=a.$onFieldChange,_=a.$validators,F=a.$asyncValidators,C=a.$validateLazy,P=a.$memo,V=a.$reserveOnUnmount,S=a.$parser,k=a.$formatter,O=a.$ref,E=Ve(a,ut);var R={children:t,component:r,render:n};if(P===true&&X(m)){a.__DIFF__=[t,r,n]}var A=!X(o)||X(t)&&X(r)&&X(n);Object.keys(b(b({},a.$validators=b(b({},lt),a.$validators)),a.$asyncValidators)).forEach((function(e){if(e in E){if(!A||!le(e)){delete E[e]}}}));if(A){var M=(o||"").split("."),D=j(M,2),N=D[0],U=N===void 0?"text":N,T=D[1];R.component=U==="group"?tt:U==="list"?it:We;if(i){E.name=i}if(o){E.type=U}if(t){E.children=t}E.checked=p;E.unchecked=v;switch(U){case"select":case"textarea":if(e.multiple){a[st]="array"}break;case"group":if(T==="checkbox"){a[st]="array"}E.type=T;break;case"checkbox":case"radio":a[st]="checked";break;case"list":a[st]="array";break}}if(!("$defaultValue"in a)&&"defaultValue"in e){a.$defaultValue=u}if(!("$defaultValue"in a)&&st in a){var I;switch(a[st]){case"checked":var H=a.unchecked,L=H===void 0?false:H;I=L;break;case"array":I=[];break;case"object":I={};break;case"number":I=0;break}a.$defaultValue=I}return{fieldProps:a,childProps:E,renderProps:R}}function pt(t,r){var n=r.component,a=r.render,i=r.children;if(n){return e.createElement(n,t)}if(Z(a)){return a(t)}if(Z(i)){return i(t)}return e.Children.map(i,(function(r){return e.cloneElement(r,t)}))}var vt=function(e){H(r,e);var t=Q(r);function r(){var e;A(this,r);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++){a[i]=arguments[i]}e=t.call.apply(t,[this].concat(a));e.renderChildren=function(t){var r=e.parsedProps,n=r.fieldProps,a=r.childProps,i=r.renderProps;return pt($t(t,n,a),i)};e.parsedProps={};return e}D(r,[{key:"render",value:function e(){var t=this.parsedProps=dt(this.props),r=t.fieldProps;return u["default"].createElement(Be,Object.assign({},r,{children:this.renderChildren}))}}]);return r}(e.Component);vt.displayName=ft;vt.defaultProps=ct;function ht(t){var r=e.forwardRef((function(e,r){return u["default"].createElement(G.Consumer,null,(function(n){return u["default"].createElement(t,Object.assign({},e,{$formutil:n().$formutil,ref:r}))}))}));r.displayName="React.Formutil.connect."+(t.displayName||t.name||"Anonymous");return f["default"](r,t)}function mt(){if(!u["default"].useState){throw new Error("Hooks api need react@>=16.8, Please upgrade your reactjs.")}var e=u["default"].useContext;var t=e(G);return t()}function gt(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!u["default"].useState){throw new Error("Hooks api need react@>=16.8, Please upgrade your reactjs.")}var r=u["default"].useState,n=u["default"].useLayoutEffect,a=u["default"].useEffect,i=u["default"].useRef;var o=typeof window==="undefined"?a:n;var l;if(e){if(typeof e==="string"){l=e;t.name=l}else{t=e;l=t.name}}var f=mt();var c=i({}).current;var $=i([]);var d;c.$formContext=f;c.props=t;c.$setState=m;c.shouldRendered=true;var p=r((function(){c.$$FIELD_UUID=Ie();c.$fieldHandler=d=Le(c);c.$fieldHandler.$$reset();c.$fieldHandler.$validate()})),v=j(p,2),h=v[1];if(!d){d=(f.$$registers||{})[c.$fieldHandler.$name]||c.$fieldHandler}o((function(){var e=c.$state;if(c.isMounting){if(!(l in(f.$$registers||{}))){d.$$triggerChange({$newValue:e.$value,$prevValue:c.$prevState.$value})}}c.$prevState=e}),[c.$state.$value]);o((function(){c.isMounting=true;s["default"](!l||f.$formutil,"You should enusre that the useField() with the name '".concat(l,"' must be used underneath a <Form /> component or withForm() HOC, otherwise it's isolated."));s["default"](l,"You should pass a name argument to useField(), otherwise it will be isolated!");return function(){c.isMounting=false;de(t.$ref,null)}}),[]);o((function(){if(f.$$register){f.$$register(l,c.$fieldHandler)}return function(){if(f.$$unregister){f.$$unregister(l,c.$fieldHandler,!c.isMounting&&t.$reserveOnUnmount)}}}),[l]);o((function(){de(t.$ref,c.$fieldutil)}));o((function(){if($.current.length>0){var e=V($.current);$.current.length=0;while(e.length){e.pop()(c.$fieldutil)}}}));function m(e,t){return new Promise((function(r){var n=function e(){return r(oe(t,c.$fieldutil))};if(c.isMounting){if(l in(f.$$registers||{})){c.shouldRendered=false;f.$$onChange(l,e,n);if(!c.shouldRendered){h({})}}else{d.$$merge(e);d.$$detectChange(e);h({});$.current.push(n)}}else{d.$$merge(e);n()}}))}return c.$fieldutil=b(b(b({$name:l},d.$getState()),d),{},{$$formutil:f.$formutil})}function yt(){var e=mt(),t=e.$formutil;return t}function bt(e){e=b(b(b({},ct),e),{},{children:null});var t=dt(e),r=t.fieldProps,n=t.childProps;var a=gt(r);return $t(a,r,n)}exports.EasyField=vt;exports.Field=Be;exports.Form=Fe;exports.connect=ht;exports.formContext=G;exports.useField=gt;exports.useForm=yt;exports.useHandler=bt;exports.withField=ze;exports.withForm=je;