/
react-formutil.umd.production.js
1 lines (1 loc) · 43.1 KB
/
react-formutil.umd.production.js
1
(function(e,t){typeof exports==="object"&&typeof module!=="undefined"?t(exports,require("react")):typeof define==="function"&&define.amd?define(["exports","react"],t):(e=e||self,t(e.ReactFormutil={},e.React))})(this,function(e,t){"use strict";var r="default"in t?t["default"]:t;function n(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t)n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable});r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){a(Object(r),true).forEach(function(t){n(e,t,r[t])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{a(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}}return e}function o(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++){r[t]=e[t]}return r}}function u(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function f(e){return o(e)||u(e)||s()}function l(e){if(Array.isArray(e))return e}function c(e,t){if(!(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")){return}var r=[];var n=true;var a=false;var i=undefined;try{for(var o=e[Symbol.iterator](),u;!(n=(u=o.next()).done);n=true){r.push(u.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!n&&o["return"]!=null)o["return"]()}finally{if(a)throw i}}return r}function $(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function d(e,t){return l(e)||c(e,t)||$()}function v(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function p(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,n.key,n)}}function h(e,t,r){if(t)p(e.prototype,t);if(r)p(e,r);return e}function m(e){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){m=function e(t){return typeof t}}else{m=function e(t){return t&&typeof Symbol==="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t}}return m(e)}function g(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function y(e,t){if(t&&(m(t)==="object"||typeof t==="function")){return t}return g(e)}function b(e){b=Object.setPrototypeOf?Object.getPrototypeOf:function e(t){return t.__proto__||Object.getPrototypeOf(t)};return b(e)}function w(e,t){w=Object.setPrototypeOf||function e(t,r){t.__proto__=r;return t};return w(e,t)}function S(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}});if(t)w(e,t)}var P=t.createContext(function(){return{}});function C(e,t){return t={exports:{}},e(t,t.exports),t.exports}var F="function"===typeof Symbol&&Symbol.for,V=F?Symbol.for("react.element"):60103,k=F?Symbol.for("react.portal"):60106,O=F?Symbol.for("react.fragment"):60107,E=F?Symbol.for("react.strict_mode"):60108,j=F?Symbol.for("react.profiler"):60114,_=F?Symbol.for("react.provider"):60109,x=F?Symbol.for("react.context"):60110,D=F?Symbol.for("react.async_mode"):60111,A=F?Symbol.for("react.concurrent_mode"):60111,R=F?Symbol.for("react.forward_ref"):60112,N=F?Symbol.for("react.suspense"):60113,T=F?Symbol.for("react.suspense_list"):60120,U=F?Symbol.for("react.memo"):60115,M=F?Symbol.for("react.lazy"):60116,I=F?Symbol.for("react.block"):60121,H=F?Symbol.for("react.fundamental"):60117,L=F?Symbol.for("react.responder"):60118,B=F?Symbol.for("react.scope"):60119;function z(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case V:switch(e=e.type,e){case D:case A:case O:case j:case E:case N:return e;default:switch(e=e&&e.$$typeof,e){case x:case R:case M:case U:case _:return e;default:return t}}case k:return t}}}function Q(e){return z(e)===A}var q=D;var G=A;var K=x;var Y=_;var W=V;var J=R;var X=O;var Z=M;var ee=U;var te=k;var re=j;var ne=E;var ae=N;var ie=function(e){return Q(e)||z(e)===D};var oe=Q;var ue=function(e){return z(e)===x};var se=function(e){return z(e)===_};var fe=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===V};var le=function(e){return z(e)===R};var ce=function(e){return z(e)===O};var $e=function(e){return z(e)===M};var de=function(e){return z(e)===U};var ve=function(e){return z(e)===k};var pe=function(e){return z(e)===j};var he=function(e){return z(e)===E};var me=function(e){return z(e)===N};var ge=function(e){return"string"===typeof e||"function"===typeof e||e===O||e===A||e===j||e===E||e===N||e===T||"object"===typeof e&&null!==e&&(e.$$typeof===M||e.$$typeof===U||e.$$typeof===_||e.$$typeof===x||e.$$typeof===R||e.$$typeof===H||e.$$typeof===L||e.$$typeof===B||e.$$typeof===I)};var ye=z;var be={AsyncMode:q,ConcurrentMode:G,ContextConsumer:K,ContextProvider:Y,Element:W,ForwardRef:J,Fragment:X,Lazy:Z,Memo:ee,Portal:te,Profiler:re,StrictMode:ne,Suspense:ae,isAsyncMode:ie,isConcurrentMode:oe,isContextConsumer:ue,isContextProvider:se,isElement:fe,isForwardRef:le,isFragment:ce,isLazy:$e,isMemo:de,isPortal:ve,isProfiler:pe,isStrictMode:he,isSuspense:me,isValidElementType:ge,typeOf:ye};var we=C(function(e){{e.exports=be}});var Se=we.isValidElementType;var Pe=function(){};var Ce=Pe;var Fe=Object.getPrototypeOf({});var Ve=/\s*(?:\]\s*\.|\]\s*\[|\.|\[|\])\s*/g;var ke=Oe(window)?global:window;function Oe(e){return typeof e==="undefined"}function Ee(e){return typeof e==="function"}function je(e){return Oe(e)||e===null||e+""===""}function _e(e){return!!e&&Ee(e.then)}function xe(e){return Object.prototype.toString.call(e)==="[object Object]"}function De(e){if(!xe(e))return false;if(null===Object.getPrototypeOf(e))return true;if(!Ee(e.constructor))return false;return e.constructor.prototype===Fe}function Ae(e){return Se(e)&&typeof e!=="string"}function Re(e){if(Array.isArray(e)){var t=[];for(var r=0,n=e.length;r<n;r++){t[r]=Re(e[r])}return t}else if(De(e)){var a={};for(var i in e){if(e.hasOwnProperty(i))a[i]=Re(e[i])}return a}return e}var Ne=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(Ee(t)){t.apply(void 0,n)}return n[0]};function Te(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 Ue=["minlength","maxlength","max","min","required","pattern","step"];function Me(e){return Ue.indexOf(e.toLowerCase())>-1}var Ie=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,ke)}catch(e){return t}};function He(){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];Ce(typeof a==="string","The second parameter(".concat(JSON.stringify(a),") of parsePath() must be a string."));var o=(a.match(Ve)||[]).map(function(e){return e.replace(/\s/g,"")});var u=a.split(Ve).map(function(e){return e.trim()}).filter(function(e){return e!==""});var s=n;try{if(t.length<3){for(var f=0,l=u.length;f<l;f++){var c=Ie(u[f]);if(f+1===l){return s[c]}if(Oe(s[c])){break}s=s[c]}}else{for(var $=0,d=u.length;$<d;$++){var v=Ie(u[$]);var p=u[$+1];var h=o[$];if(Oe(p)){s[v]=i;break}switch(h){case"].":case".":s=Oe(s[v])?s[v]={}:s[v];break;case"][":case"[":var m=Ie(p);s=Oe(s[v])?s[v]=typeof m==="number"&&m>=0?[]:{}:s[v];break;default:s[v]=i;break}}}}catch(e){}if(t.length>2){return n}}function Le(e,t){var r=t.split(Ve).map(function(e){return e.trim()}).filter(function(e){return e!==""});for(var n=0,a=r.length;n<a;n++){var i=Ie(r[n]);if(!(i in e)){break}if(n+1===a){return{data:e[i]}}e=e[i]}}function Be(e,t){if(e){if(Ee(e)){e(t)}else if("current"in e){e.current=t}}}var ze=function e(t,r){for(var n=0,a=t.length;n<a;n++){if(r(t[n])===true){return t[n]}}};var Qe=function e(t,r){return Object.keys(t).reduce(function(e,n){e[n]=r(t[n],n,t);return e},{})};var qe=function e(t,r){return Object.keys(t).forEach(function(e){return r(t[e],e,t)})};var Ge=undefined;function Ke(e,t,r){qe(e,function(t,r){if(t===Ge){delete e[r]}else if(De(t)||Array.isArray(t)){Ke(t,r,e)}});if(r&&Object.keys(e).every(function(t){return e[t]===Ge})){r[t]=Ge;Ke(r)}}var Ye=function e(t,r){if(!Oe(He(t,r))){He(t,r,Ge);Ke(t)}};function We(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 Je="FORM_VALIDATE_RESULT";var Xe,Ze;if(typeof requestAnimationFrame==="function"){Xe=requestAnimationFrame;Ze=cancelAnimationFrame}else{Xe=setTimeout;Ze=clearTimeout}var et=function(e){S(a,e);function a(e){var t;v(this,a);t=y(this,b(a).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=g(t),r=e.$$regDuplications;var n;qe(r,function(e,t){var a=d(e,2),i=a[0],o=a[1];Ce(i.$$reserved);o.$$reset(i.$getState());n=delete r[t]});if(n){t.$render()}};t.$$register=function(e,r,n){t.$$unregister(n,r);if(e){var a=t.$$getRegister(e);if(a){Ze(t.$$duplicateTimer);t.$$regDuplications[e]=[a,r];t.$$duplicateTimer=Xe(t.$$checkDuplication)}else{t.$$fieldChangedQueue.push({name:e,$newValue:r.$getState().$value});Ye(t.$$defaultValues,e)}t.$$registers[r.$name=e]=r;t.$$formShouldUpdateFields[e]=true;t.createDeepRegisters();t.$render()}};t.$$unregister=function(e,r,n){if(e){if(e in t.$$regDuplications){var a=d(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){if(n){r.$$reserved=true}else{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(Re(Ee(r)?r(t.props)||{}:r));t.$$defaultStates=t.$$deepParseObject(Re(Ee(n)?n(t.props)||{}:n))};t.$$getDefault=function(){return{$$defaultStates:t.$$defaultStates,$$defaultValues:t.$$defaultValues}};t.$$formShouldUpdateFields={};t.$$formShouldUpdateAll=false;t.$$triggerChangeTimer=void 0;t.$$fieldChangedQueue=[];t.$$triggerFormChange=function(){if(t.$$fieldChangedQueue.length){var e=f(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&&He(r,e.name,e.$newValue);"$prevValue"in e&&He(n,e.name,e.$prevValue);i=true}});if(i){if(Ee(t.props.$validator)){t.$$formValidate()}if(Ee(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]||He(t.$$deepRegisters,e);if(r){return r}}};t.$$formValidate=function(e){return t.$$formValidatePromise=new Promise(function(r){var n=t.props.$validator;var a;var i;var o;var u;var s=n(t.$formutil.$params,t.formtutil);var f=function t(n){return r(Ne(e,Ne(o,n)))};if(_e(s)){if(!t.$$formPending){t.$$formPending=true;t.$render()}i=function e(t){return a=t(f)};u=s.then(function(){return void 0},function(e){return e}).then(function(e){if(a){return a}t.$shouldCancelPrevAsyncValidate=null;t.$$formPending=false;return t.$$setFormErrors(e,f)})}else{if(t.$$formPending){t.$$formPending=false}u=t.$$setFormErrors(s,f)}if(t.$shouldCancelPrevAsyncValidate){t.$shouldCancelPrevAsyncValidate(function(e){o=e;return u})}t.$shouldCancelPrevAsyncValidate=i})};t.$$setFormErrors=function(e,r){if(e&&(e instanceof Error||typeof e!=="object")){return t.$render(r)}return t.$$setStates(e||{},function(e,t){var r=t.$getState(),a=r.$error,o=a===void 0?{}:a;if(e){return{$error:i({},o,n({},Je,e))}}if(o[Je]){delete o[Je];return{$error:o}}return},r,true)};t.$getField=function(e){var r=t.$$getRegister(e);if(r){return r.$new()}};t.$$onChange=function(e,r,a){return t.$setStates(n({},e,r),a)};t.$$setStates=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var r=arguments.length>1?arguments[1]:undefined;var n=arguments.length>2?arguments[2]:undefined;var a=arguments.length>3?arguments[3]:undefined;var i=t.$$deepParseObject(e);qe(t.$$registers,function(e,n){var o;if(a||(o=Le(i,n))){var u=r(o&&o.data,e);if(u){var s=t.$formutil.$weakParams[n];var f=e.$$merge(u),l=f.$value;e.$$detectChange(u);if("$value"in u||"$viewValue"in u){var c=ze(t.$$fieldChangedQueue,function(e){return e.name===n});if(c){if(!("$prevValue"in c)){c.$prevValue=c.$newValue}c.$newValue=l}else{t.$$fieldChangedQueue.push({name:n,$newValue:l,$prevValue:s})}}t.$$formShouldUpdateFields[n]=true}}});return t.$render(n)};t.$render=function(e){return new Promise(function(r){return t.forceUpdate(function(){return r(Ne(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(Ee(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{qe(t.$$registers,function(e){return e.$validate()});if(Ee(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 Ne(e,t.$formutil)})};t.$validate=function(e,r){var n=t.$getField(e);if(n){return n.$validate(r)}return Ne(r)};t.$reset=function(e,r){t.$$defaultInitialize();if(Ee(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(Re(e),t.$$defaultValues);Ke(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(Qe(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.$new=function(){return t.$formutil};t.$$defaultInitialize();return t}h(a,[{key:"$$deepParseObject",value:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};qe(t,function(e,t){return He(r,t,e)});return r}},{key:"$$resetFormUpdateFields",value:function e(){this.$$formShouldUpdateFields={};this.$$formShouldUpdateAll=false}},{key:"componentDidMount",value:function e(){Be(this.props.$ref,this.$formutil)}},{key:"componentDidUpdate",value:function e(t){var r=this;Be(this.props.$ref,this.$formutil);Ze(this.$$triggerChangeTimer);this.$$triggerChangeTimer=Xe(function(){r.$$triggerFormChange()})}},{key:"componentWillUnmount",value:function e(){Be(this.props.$ref,null)}},{key:"_render",value:function e(){var r=this.$formutil;var n=this.props,a=n.children,i=n.render,o=n.component;if(o){return t.createElement(o,{$formutil:r})}if(Ee(i)){return i(r)}if(Ee(a)){return a(r)}return t.Children.map(a,function(e){return e&&Ae(e.type)?t.cloneElement(e,{$formutil:r}):e})}},{key:"render",value:function e(){var t=this;var n=this.props.$processer;var a=Object.keys(this.$$registers).map(function(e){return{path:e,$state:t.$$registers[e].$getState()}});var o=this.$$formShouldUpdateAll;var u=this.$formutil||{};var s=a.some(function(e){var t=e.$state;return t.$invalid});var f=a.some(function(e){var t=e.$state;return t.$dirty});var l=a.some(function(e){var t=e.$state;return t.$touched});var c=a.some(function(e){var t=e.$state;return t.$focused});var $=this.$$formPending||a.some(function(e){var t=e.$state;return t.$pending});var d=o?{}:i({},u.$pureParams);var v=o?{}:i({},u.$states);var p=o?{}:i({},u.$errors);var h=o?{}:i({},u.$dirts);var m=o?{}:i({},u.$touches);var g=o?{}:i({},u.$focuses);var y=o?{}:i({},u.$pendings);var b=o?{}:i({},u.$weakStates);var w=o?{}:i({},u.$weakParams);var S=o?{}:i({},u.$weakErrors);var C=o?{}:i({},u.$weakDirts);var F=o?{}:i({},u.$weakFocuses);var V=o?{}:i({},u.$weakTouches);var k=o?{}:i({},u.$weakPendings);for(var O=0,E=a.length;O<E;O++){var j=a[O],_=j.$state,x=j.path;if(!o){if(!this.$$formShouldUpdateFields[x]){continue}}if(n){n(_,x)}if("$value"in _&&(!(x in w)||w[x]!==_.$value)&&(_.$dirty||!Oe(_.$value))){w[x]=_.$value;He(d,x,_.$value)}He(v,x,_);b[x]=_;if(S[x]!==_.$error){if(_.$invalid){He(p,x,_.$error);S[x]=_.$error}else if(x in S){Ye(p,x);delete S[x]}}if(C[x]!==_.$dirty){He(h,x,_.$dirty);C[x]=_.$dirty}if(V[x]!==_.$touched){He(m,x,_.$touched);V[x]=_.$touched}if(F[x]!==_.$focused){He(g,x,_.$focused);F[x]=_.$focused}if(k[x]!==_.$pending){He(y,x,_.$pending);k[x]=_.$pending}}var D=this.$formutil={$$registers:i({},this.$$registers),$$deepRegisters:this.$$deepRegisters,$states:v,$pureParams:d,$params:i({},this.$$defaultValues,{},d),$errors:p,$dirts:h,$touches:m,$focuses:g,$pendings:y,$weakStates:b,$weakParams:w,$weakErrors:S,$weakDirts:C,$weakTouches:V,$weakFocuses:F,$weakPendings:k,$getFirstError:function e(t){if(t){var r=D.$getField(t);return r&&r.$getFirstError()}for(var n in D.$weakErrors){if(D.$weakErrors.hasOwnProperty(n)){var a=D.$weakErrors[n];for(var i in a){if(a.hasOwnProperty(i)){return a[i]instanceof Error?a[i].message:a[i]}}}}},$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,$batchState:this.$batchState,$batchTouched:this.$batchTouched,$batchDirty:this.$batchDirty,$batchFocused:this.$batchFocused,$reset:this.$reset,$validates:this.$validates,$validate:this.$validate,$valid:!s,$invalid:s,$dirty:f,$pristine:!f,$touched:l,$untouched:!l,$focused:c,$pending:$};this.$$resetFormUpdateFields();return r.createElement(P.Provider,{value:this.getFormContext},this._render())}}]);return a}(t.Component);et.displayName="React.Formutil.Form";et.defaultProps={$defaultValues:{},$defaultStates:{}};function tt(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}function rt(e,t){if(e==null)return{};var r=tt(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}var nt={childContextTypes:true,contextType:true,contextTypes:true,defaultProps:true,displayName:true,getDefaultProps:true,getDerivedStateFromError:true,getDerivedStateFromProps:true,mixins:true,propTypes:true,type:true};var at={name:true,length:true,prototype:true,caller:true,callee:true,arguments:true,arity:true};var it={$$typeof:true,render:true,defaultProps:true,displayName:true,propTypes:true};var ot={$$typeof:true,compare:true,defaultProps:true,displayName:true,propTypes:true,type:true};var ut={};ut[we.ForwardRef]=it;ut[we.Memo]=ot;function st(e){if(we.isMemo(e)){return ot}return ut[e["$$typeof"]]||nt}var ft=Object.defineProperty;var lt=Object.getOwnPropertyNames;var ct=Object.getOwnPropertySymbols;var $t=Object.getOwnPropertyDescriptor;var dt=Object.getPrototypeOf;var vt=Object.prototype;function pt(e,t,r){if(typeof t!=="string"){if(vt){var n=dt(t);if(n&&n!==vt){pt(e,n,r)}}var a=lt(t);if(ct){a=a.concat(ct(t))}var i=st(e);var o=st(t);for(var u=0;u<a.length;++u){var s=a[u];if(!at[s]&&!(r&&r[s])&&!(o&&o[s])&&!(i&&i[s])){var f=$t(t,s);try{ft(e,s,f)}catch(e){}}}}return e}var ht=pt;var mt=["render","component","children","$defaultValues","$defaultStates","$onFormChange","$validator","$processer","$ref"];function gt(e){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var a=function(t){S(a,t);function a(){var t;var n;v(this,a);for(var i=arguments.length,o=new Array(i),u=0;u<i;u++){o[u]=arguments[u]}n=y(this,(t=b(a)).call.apply(t,[this].concat(o)));n.renderChildren=function(t){return r.createElement(e,Object.assign({},n.othersProps,{$formutil:t,ref:n.props.__forwardRef__}))};return n}h(a,[{key:"render",value:function e(){var t=Object.assign({},this.props);var a=this.props,o=a.component,u=rt(a,["component"]);mt.forEach(function(e){if(e in t){if(e==="$defaultStates"||e==="$defaultValues"){u[e]=i({},n[e],{},t[e])}delete t[e]}});this.othersProps=t;return r.createElement(et,Object.assign({},n,u,{render:this.renderChildren}))}}]);return a}(t.Component);a.displayName="React.Formutil.withForm."+(e.displayName||e.name||"Anonymous");var o=t.forwardRef(function(e,t){return r.createElement(a,Object.assign({__forwardRef__:t},e))});o.displayName="React.Formutil.withForm.ForwardRef."+(e.displayName||e.name||"Anonymous");return ht(o,e)}var yt=Te(gt);var bt=0;var wt={$valid:true,$invalid:false,$dirty:false,$pristine:true,$touched:false,$untouched:true,$focused:false,$pending:false,$error:{}};function St(e){return e!==true}function Pt(e,t,r){}var Ct="React.Formutil.Field";function Ft(){return bt++}function Vt(e,r){var n=r.children,a=r.render,i=r.component;if(i){return t.createElement(i,{$fieldutil:e})}if(Ee(a)){return a(e)}if(Ee(n)){return n(e)}return t.Children.map(n,function(r){return r&&Ae(r.type)?t.cloneElement(r,{$fieldutil:e}):r})}function kt(e,t){var r={$$FIELD_UUID:e.$$FIELD_UUID,$$reset:s,$$merge:b,$$detectChange:a,$$triggerChange:o,$onValidate:u,$new:function t(){return e.$fieldutil},$picker:f,$getState:f,$getComponent:function e(){return t},$reset:function t(r,n){return e.$setState(s(r),n)},$getFirstError:y,$validate:l,$setState:e.$setState,$render:c,$setValue:$,$setTouched:d,$setDirty:v,$setFocused:p,$setValidity:m,$setError:h,$setPending:g};var n;function a(e){if("$value"in e||"$viewValue"in e){l()}}function o(t){var r=t.$newValue,n=t.$prevValue;var a=e.props.$onFieldChange;if(Ee(a)){a(r,n,e.$formContext.$formutil)}}function u(e){n.then(e);return n}function s(t){var r;var n=e.props,a=e.$formContext;if(a.$$getDefault){var o=n.name;var u=a.$$getDefault(),s=u.$$defaultStates,f=u.$$defaultValues;if(o&&f){var l=He(f,o);r=He(s,o)||{};if(!Oe(l)){r.$value=l}}}var c=n.$defaultValue,$=n.$defaultState;return b(i({},wt,{},Ee($)?$(n):$,{$value:Ee(c)?c(n):"$defaultValue"in n?c:""},r,{},t))}function f(){return i({},e.$state)}function l(t){return n=new Promise(function(r){var n=e.props,a=e.$formContext;var o=i({},n.$validators,{},n.$asyncValidators);var u=e.$state,s=u.$value,f=u.$pending,l=Object.assign({},u.$error);var c=a.$formutil;var $={};var d=false;var v;var p;var y;var b;delete l[Je];var w=Object.keys(o).reduce(function(t,r){delete l[r];if(!d&&n[r]!=null){var a=o[r](s,n[r],i({},n,{$formutil:c,$fieldutil:e.$fieldutil,$validError:$}));if(_e(a)){t.push(a["catch"](function(e){if(!v){m(r,e||r)}}))}else if(St(a)){$[r]=a||r;Pt(a,r,n.name);if(n.$validateLazy){d=true}}}return t},[]);var S=function e(n){return r(Ne(t,Ne(y,n)))};if(w.length){if(!f){g(true)}p=function e(t){return v=t(S)};w.push(h(i({},l,{},$)));b=Promise.all(w).then(function(){if(v){return v}e.$shouldCancelPrevAsyncValidate=null;return g(false,S)})}else{if(f){g(false)}b=h(i({},l,{},$),S)}if(e.$shouldCancelPrevAsyncValidate){e.$shouldCancelPrevAsyncValidate(function(e){y=e;return b})}e.$shouldCancelPrevAsyncValidate=p})}function c(t,r){return e.$setState({$viewValue:t,$dirty:true},r)}function $(t,r){return e.$setState({$value:t},r)}function d(t,r){return e.$setState({$touched:t},r)}function v(t,r){return e.$setState({$dirty:t},r)}function p(t,r){return e.$setState({$focused:t},r)}function h(t,r){return e.$setState({$error:t},r)}function m(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var n=arguments.length>2?arguments[2]:undefined;var a=Object.assign({},e.$state.$error);if(St(r)){a[t]=r||t;Pt(r,t,e.props.name)}else{delete a[t]}return h(a,n)}function g(t,r){return e.$setState({$pending:t},r)}function y(){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 b(t){var r=Object.assign({},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,o=n.$formatter;if("$viewValue"in r&&!("$value"in r)){var u=function e(t){return r.$viewValue=t};r.$value=a?a(r.$viewValue,u):r.$viewValue}else if("$value"in r&&!("$viewValue"in r)){var s=function e(t){return r.$value=t};r.$viewValue=o?o(r.$value,s):r.$value}if("$valid"in r){r.$invalid=!r.$valid}else if("$invalid"in r){r.$dirty=!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=i({},e.$state,{},r);return f()}return r}var Ot=Array.isArray;var Et=Object.keys;var jt=Object.prototype.hasOwnProperty;var _t=typeof Element!=="undefined";function xt(e,t){if(e===t)return true;if(e&&t&&typeof e=="object"&&typeof t=="object"){var r=Ot(e),n=Ot(t),a,i,o;if(r&&n){i=e.length;if(i!=t.length)return false;for(a=i;a--!==0;)if(!xt(e[a],t[a]))return false;return true}if(r!=n)return false;var u=e instanceof Date,s=t instanceof Date;if(u!=s)return false;if(u&&s)return e.getTime()==t.getTime();var f=e instanceof RegExp,l=t instanceof RegExp;if(f!=l)return false;if(f&&l)return e.toString()==t.toString();var c=Et(e);i=c.length;if(i!==Et(t).length)return false;for(a=i;a--!==0;)if(!jt.call(t,c[a]))return false;if(_t&&e instanceof Element&&t instanceof Element)return e===t;for(a=i;a--!==0;){o=c[a];if(o==="_owner"&&e.$$typeof){continue}else{if(!xt(e[o],t[o]))return false}}return true}return e!==e&&t!==t}var Dt=function e(t,r){try{return xt(t,r)}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||e.number===-2146828260){console.warn("Warning: react-fast-compare does not handle circular references.",e.name,e.message);return false}throw e}};var At=function(e){S(t,e);function t(){var e;var r;v(this,t);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++){a[i]=arguments[i]}r=y(this,(e=b(t)).call.apply(e,[this].concat(a)));r.$$FIELD_UUID=Ft();r.$formContext=void 0;r.$state=void 0;r.$setState=function(e,t){return new Promise(function(n){var a=function e(){return n(Ne(t,r.$fieldutil))};if(r.isMounting){var i=r.props.name;if(i in(r.$formContext.$$registers||{})){r.$formContext.$$onChange(i,e,a)}else{r.$registered.$$merge(e);r.$registered.$$detectChange(e);r.forceUpdate(a)}}else{r.$registered.$$merge(e);a()}})};return r}h(t,[{key:"componentDidMount",value:function e(){this.isMounting=true;var t=this.props.name,r=this.$formContext;Ce(!t||r.$formutil);if(r.$$register){r.$$register(t,this.$fieldHandler)}this.$prevState=this.$state;Be(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;Be(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)}}Be(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||!We(this.$registered.$getState(),this.$prevState)||!(Array.isArray(r)?Dt(r,this.props.$memo):Dt(this.props,t))}},{key:"_render",value:function e(){var t=this.$fieldutil=i({$name:this.props.name},this.$registered.$getState(),{},this.$registered,{$$formutil:this.$formContext.$formutil});return Vt(t,this.props)}},{key:"render",value:function e(){var t=this;return r.createElement(P.Consumer,null,function(e){var r=!t.$formContext;t.$formContext=e();if(!t.$fieldHandler){t.$fieldHandler=kt(t,t)}t.$registered=(t.$formContext.$$registers||{})[t.$fieldHandler.$name]||t.$fieldHandler;if(r){t.$fieldHandler.$$reset();t.$fieldHandler.$validate()}return t._render()})}}]);return t}(t.Component);At.displayName=Ct;var Rt=["name","$defaultValue","$defaultState","$onFieldChange","$validators","$asyncValidators","$validateLazy","$memo","$reserveOnUnmount","$ref","$parser","$formatter","render","component","children"];function Nt(e){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var a=function(t){S(a,t);function a(){var t;var n;v(this,a);for(var i=arguments.length,o=new Array(i),u=0;u<i;u++){o[u]=arguments[u]}n=y(this,(t=b(a)).call.apply(t,[this].concat(o)));n.renderChildren=function(t){return r.createElement(e,Object.assign({},n.othersProps,{$fieldutil:t,ref:n.props.__forwardRef__}))};return n}h(a,[{key:"render",value:function e(){var t=Object.assign({},this.props);var a=this.props,o=a.component,u=rt(a,["component"]);Rt.concat(Object.keys(i({},n.$validators,{},n.$asyncValidators,{},t.$validators,{},t.$asyncValidators))).forEach(function(e){if(e in t){if(e==="$validators"||e==="$asyncValidators"||e==="$defaultState"){u[e]=i({},n[e],{},t[e])}delete t[e]}});this.othersProps=t;return r.createElement(At,Object.assign({},n,u,{render:this.renderChildren}))}}]);return a}(t.Component);a.displayName="React.Formutil.withField."+(e.displayName||e.name||"Anonymous");var o=t.forwardRef(function(e,t){return r.createElement(a,Object.assign({__forwardRef__:t},e))});o.displayName="React.Formutil.withField.ForwardRef."+(e.displayName||e.name||"Anonymous");return ht(o,e)}var Tt=Te(Nt);var Ut=function(e){S(t,e);function t(){v(this,t);return y(this,b(t).apply(this,arguments))}h(t,[{key:"render",value:function e(){var t=this;var n=this.props,a=n.$fieldutil,i=n.value,o=n.onChange,u=n.onFocus,s=n.onBlur,f=n.checked,l=n.unchecked,c=rt(n,["$fieldutil","value","onChange","onFocus","onBlur","checked","unchecked"]);var $=this.props.type;var d={value:"compositionValue"in this?this.compositionValue:i,onCompositionEnd:function e(r){t.composition=false;delete t.compositionValue;d.onChange(r)},onCompositionStart:function e(){return t.composition=true},onChange:function e(r){var n=r.target.value;if(t.composition){t.compositionValue=n;t.forceUpdate()}else{o(n,r)}},onFocus:u,onBlur:s};var v="input";switch($){case"select":v=$;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;o(r,e)};delete c.type;break;case"textarea":v=$;delete c.type;break;case"checkbox":case"radio":d={checked:i===f,onChange:function e(t){o(t.target.checked?f:l,t)},onFocus:u,onBlur:s};break}return r.createElement(v,Object.assign({},c,d))}}]);return t}(t.Component);Ut.displayName="React.Formutil.EasyField.Native";Ut.defaultProps={value:"",type:"text",checked:true,unchecked:false};var Mt=t.createContext(function(){return{}}),It=Mt.Provider,Ht=Mt.Consumer;var Lt=function(e){S(n,e);function n(){var e;var t;v(this,n);for(var r=arguments.length,a=new Array(r),i=0;i<r;i++){a[i]=arguments[i]}t=y(this,(e=b(n)).call.apply(e,[this].concat(a)));t.getGroupContext=function(){return t.props};return t}h(n,[{key:"_render",value:function e(){var n=this.props,a=n.className,i=n.groupNode,o=n.children;var u={GroupOption:Bt,Field:zt};var s=Ee(o)?o(u):t.Children.map(o,function(e){return t.cloneElement(e,u)});if(i===null){return s}return r.createElement(i,{className:a},s)}},{key:"render",value:function e(){return r.createElement(It,{value:this.getGroupContext},this._render())}}]);return n}(t.Component);Lt.displayName="React.Formutil.EasyField.Group";Lt.defaultProps={type:"checkbox",groupNode:"div"};var Bt=function(e){S(t,e);function t(){v(this,t);return y(this,b(t).apply(this,arguments))}h(t,[{key:"componentDidMount",value:function e(){Ce("$value"in this.props)}},{key:"render",value:function e(){var t=this.props,n=t.$value,a=t.onChange,i=t.onFocus,o=t.onBlur,u=rt(t,["$value","onChange","onFocus","onBlur"]);return r.createElement(Ht,null,function(e){var t=e();var s=t.type,f=t.name;var l=s==="radio"?{checked:t.value===n,onChange:function e(r){t.onChange(n,r);a&&a(r)}}:s==="checkbox"?{checked:t.value.indexOf(n)>-1,onChange:function e(r){t.onChange(r.target.checked?t.value.concat(n):t.value.filter(function(e){return e!==n}),r);a&&a(r)}}:{value:t.value,onChange:function e(r){t.onChange(r);a&&a(r)}};return r.createElement("input",Object.assign({name:f},u,l,{type:s,onFocus:function e(r){t.onFocus(r);i&&i(r)},onBlur:function e(r){t.onBlur(r);o&&o(r)}}))})}}]);return t}(t.Component);Bt.displayName="React.Formutil.EasyField.Group.Option";var zt=function(e){S(t,e);function t(){v(this,t);return y(this,b(t).apply(this,arguments))}h(t,[{key:"componentDidMount",value:function e(){}},{key:"render",value:function e(){return r.createElement(Bt,this.props)}}]);return t}(t.Component);zt.displayName="React.Formutil.EasyField.Group.Option.Deprecated";var Qt=r.Frament||"div";var qt=function(e){S(t,e);function t(e){var r;v(this,t);r=y(this,b(t).call(this,e));r.id=0;r.latestValue=r.props.value;r.$formutil=void 0;r.FieldValidators={required:function e(t){return t!==null}};r.$onFormChange=function(e){e.$onValidates(function(e){var t=e.$invalid,n=e.$params;if(t){if(r.props.value.length){r.props.onChange(r.latestValue=[])}}else if(!Dt(r.props.value,n.list)){r.props.onChange(r.latestValue=n.list)}})};r.swap=function(e,t,n){return r.$setState(function(r){var n=r.items;var a=[n[e],n[t]];n[t]=a[0];n[e]=a[1];return n},n)};r.insert=function(){var e,t,n;for(var a=arguments.length,i=new Array(a),o=0;o<a;o++){i[o]=arguments[o]}i.forEach(function(r){if(Ee(r)){n=r}else if(typeof r==="number"){e=r}else if(typeof r==="object"){t=r}});return r.$setState(function(n){var a=n.items;if(Oe(e)){a.push(r.getId(t))}else{a.splice(e,0,r.getId(t))}return{items:a}},n)};r.remove=function(){var e,t;for(var n=arguments.length,a=new Array(n),i=0;i<n;i++){a[i]=arguments[i]}a.forEach(function(r){if(Ee(r)){t=r}else if(typeof r==="number"){e=r}});return r.$setState(function(t){var n=t.items;if(Oe(e)){n.pop()}else{n.splice(e,1)}if(!n.length){n=[r.getId()]}return{items:n}},t)};r.$setState=function(e,t){return new Promise(function(n){return r.setState(e,function(){return r.$formutil.$onValidates(function(e){return n(Ne(t,e))})})})};r.state={items:e.value.length?e.value.map(function(){return r.getId()}):[r.getId()],formKey:0};return r}h(t,[{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 n=this.props,a=n.children,o=n.onFocus,u=n.onBlur,s=n.value;var f=this;if(!Ee(a)){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:o,onBlur:u};return r.createElement(et,{key:this.state.formKey,$defaultValues:{list:s},$onFormChange:this.$onFormChange,children:function e(n){t.$formutil=n;return r.createElement(Qt,null,t.state.items.map(function(e,o){var u=e.id,s=e.values;return r.createElement(At,{key:u,required:true,$defaultValue:s||null,$validators:t.FieldValidators,name:"list[".concat(o,"]"),children:function e(u){return r.createElement(et,{$defaultValues:u.$value||{},$onFormChange:function e(t){return t.$onValidates(function(e){var t=e.$invalid,r=e.$params;if(t){if(u.$viewValue!==null){u.$render(null)}}else if(!Dt(u.$viewValue,r)){u.$render(r)}})},children:function e(r){return a(i({get $length(){return f.state.items.length},$index:o,$isLast:function e(){return o===t.state.items.length-1},$isFirst:function e(){return o===0}},l,{},r),n)}})}})}))}})}}]);return t}(t.Component);qt.displayName="React.Formutil.EasyField.List";var Gt="__TYPE__";var Kt=[["required",function(e,t,r){var n=r.__TYPE__,a=r.checked,i=a===void 0?true:a;return n==="checked"?e===i:!je(e)}],["maxLength",function(e,t){return je(e)||e.length<=t}],["minLength",function(e,t){return je(e)||e.length>=t}],["max",function(e,t){return je(e)||e*1<=t}],["min",function(e,t){return je(e)||e*1>=t}],["pattern",function(e,t){return je(e)||t.test(e)}],["enum",function(e,t){return je(e)||t.indexOf(e)>-1}],["checker",function(e,t,r){return t(e,r)}]].reduce(function(e,t){var r=d(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 Yt="React.Formutil.EasyField";var Wt={validMessage:{},valuePropName:"value",changePropName:"onChange",focusPropName:"onFocus",blurPropName:"onBlur",$parser:function e(t){return typeof t==="string"?t.trim():t}};function Jt(e,t,r){var a;var o=t.valuePropName,u=t.changePropName,s=t.focusPropName,f=t.blurPropName,l=t.getValueFromEvent,c=t.passUtil;var $=function e(t){return t&&t.target?t.target[o]:t};var d=i({},r,(a={},n(a,o,e.$viewValue),n(a,u,function(r){var n;for(var a=arguments.length,i=new Array(a>1?a-1:0),o=1;o<a;o++){i[o-1]=arguments[o]}if(((n=i[0])===null||n===void 0?void 0:n.nativeEvent)instanceof Event){i.push(r)}else{i.unshift(r)}var s=t[u];s&&s.apply(void 0,i);var f=l?l.apply(void 0,i):$(r);e.$render(f)}),n(a,s,function(){var r=t[s];r&&r.apply(void 0,arguments);e.$setFocused(true)}),n(a,f,function(){var r=t[f];r&&r.apply(void 0,arguments);if(e.$untouched){e.$setTouched(true)}e.$setFocused(false)}),a));if(c){d[c===true?"$fieldutil":String(c)]=e}return d}function Xt(e){var t=e.children,r=e.component,n=e.render,a=rt(e,["children","component","render"]);var o=a.name,u=a.type,s=a.defaultValue,f=a.valuePropName,l=a.changePropName,c=a.focusPropName,$=a.blurPropName,v=a.getValueFromEvent,p=a.validMessage,h=a.checked,m=a.unchecked,g=a.__TYPE__,y=a.__DIFF__,b=a.passUtil,w=a.$defaultValue,S=a.$defaultState,P=a.$onFieldChange,C=a.$validators,F=a.$asyncValidators,V=a.$validateLazy,k=a.$memo,O=a.$reserveOnUnmount,E=a.$parser,j=a.$formatter,_=a.$ref,x=rt(a,["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 D={children:t,component:r,render:n};if(k===true&&Oe(y)){a.__DIFF__=[t,r,n]}var A=!Oe(u)||Oe(t)&&Oe(r)&&Oe(n);Object.keys(i({},a.$validators=i({},Kt,{},a.$validators),{},a.$asyncValidators)).forEach(function(e){if(e in x){if(!A||!Me(e)){delete x[e]}}});if(A){var R=(u||"").split("."),N=d(R,2),T=N[0],U=T===void 0?"text":T,M=N[1];D.component=U==="group"?Lt:U==="list"?qt:Ut;if(o){x.name=o}if(u){x.type=U}if(t){x.children=t}x.checked=h;x.unchecked=m;switch(U){case"select":case"textarea":if(e.multiple){a[Gt]="array"}break;case"group":if(M==="checkbox"){a[Gt]="array"}x.type=M;break;case"checkbox":case"radio":a[Gt]="checked";break;case"list":a[Gt]="array";break}}if(!("$defaultValue"in a)&&"defaultValue"in e){a.$defaultValue=s}if(!("$defaultValue"in a)&&Gt in a){var I;switch(a[Gt]){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:x,renderProps:D}}function Zt(e,r){var n=r.component,a=r.render,i=r.children;if(n){return t.createElement(n,e)}if(Ee(a)){return a(e)}if(Ee(i)){return i(e)}return t.Children.map(i,function(r){return t.cloneElement(r,e)})}var er=function(e){S(t,e);function t(){var e;var r;v(this,t);for(var n=arguments.length,a=new Array(n),i=0;i<n;i++){a[i]=arguments[i]}r=y(this,(e=b(t)).call.apply(e,[this].concat(a)));r.renderChildren=function(e){var t=r.parsedProps,n=t.fieldProps,a=t.childProps,i=t.renderProps;return Zt(Jt(e,n,a),i)};r.parsedProps={};return r}h(t,[{key:"render",value:function e(){var t=this.parsedProps=Xt(this.props),n=t.fieldProps;return r.createElement(At,Object.assign({},n,{children:this.renderChildren}))}}]);return t}(t.Component);er.displayName=Yt;er.defaultProps=Wt;function tr(e){var n=t.forwardRef(function(t,n){return r.createElement(P.Consumer,null,function(a){return r.createElement(e,Object.assign({},t,{$formutil:a().$formutil,ref:n}))})});n.displayName="React.Formutil.connect."+(e.displayName||e.name||"Anonymous");return ht(n,e)}function rr(){if(!r.useState){throw new Error("Hooks api need react@>=16.8, Please upgrade your reactjs.")}var e=r.useContext;var t=e(P);return t()}function nr(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!r.useState){throw new Error("Hooks api need react@>=16.8, Please upgrade your reactjs.")}var n=r.useState,a=r.useLayoutEffect,o=r.useRef;var u;if(e){if(typeof e==="string"){u=e;t.name=u}else{t=e;u=t.name}}var s=rr();var l=o({}).current;var c=o([]);var $;l.$formContext=s;l.props=t;l.$setState=m;var v=n(function(){l.$$FIELD_UUID=Ft();l.$fieldHandler=$=kt(l);var e=l.$fieldHandler.$$reset();l.$fieldHandler.$validate();return e}),p=d(v,2),h=p[1];if(!$){$=(s.$$registers||{})[l.$fieldHandler.$name]||l.$fieldHandler}a(function(){var e=l.$state;if(l.isMounting){if(!(u in(s.$$registers||{}))){$.$$triggerChange({$newValue:e.$value,$prevValue:l.$prevState.$value})}}l.$prevState=e},[l.$state.$value]);a(function(){l.isMounting=true;Ce(!u||s.$formutil);return function(){l.isMounting=false;Be(t.$ref,null)}},[]);a(function(){if(s.$$register){s.$$register(u,l.$fieldHandler)}return function(){if(s.$$unregister){s.$$unregister(u,l.$fieldHandler,!l.isMounting&&t.$reserveOnUnmount)}}},[u]);a(function(){Be(t.$ref,l.$fieldutil)});a(function(){if(c.current.length>0){var e=f(c.current);c.current.length=0;while(e.length){e.pop()(l.$fieldutil)}}});function m(e,t){return new Promise(function(r){var n=function e(){return r(Ne(t,l.$fieldutil))};if(l.isMounting){if(u in(s.$$registers||{})){s.$$onChange(u,e,n)}else{h($.$$merge(e));$.$$detectChange(e);c.current.push(n)}}else{$.$$merge(e);n()}})}return l.$fieldutil=i({$name:u},$.$getState(),{},$,{$$formutil:s.$formutil})}function ar(){var e=rr(),t=e.$formutil;return t}function ir(e){e=i({},Wt,{},e,{children:null});var t=Xt(e),r=t.fieldProps,n=t.childProps;var a=nr(r);return Jt(a,r,n)}e.EasyField=er;e.Field=At;e.Form=et;e.connect=tr;e.formContext=P;e.useField=nr;e.useForm=ar;e.useHandler=ir;e.withField=Tt;e.withForm=yt;Object.defineProperty(e,"__esModule",{value:true})});