3 lines
15 KiB
JavaScript
3 lines
15 KiB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self)["final-form"]={})}(this,function(e){"use strict";function w(){return(w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e}).apply(this,arguments)}function u(e){if(null==e||!e.length)return[];if("string"!=typeof e)throw new Error("toPath() expects a string");return e.split(/[.[\]]+/).filter(Boolean)}var N=function(e,t){for(var i=u(t),r=e,n=0;n<i.length;n++){var a=i[n];if(null==r||"object"!=typeof r||Array.isArray(r)&&isNaN(a))return;r=r[a]}return r};function S(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"==typeof t?t:String(t)}function h(e,t,i,r,n){if(t>=i.length)return r;var a=i[t];if(isNaN(a)){var u;if(null==e){var o,s=h(void 0,t+1,i,r,n);return void 0===s?void 0:((o={})[a]=s,o)}if(Array.isArray(e))throw new Error("Cannot set a non-numeric property on an array");var l=h(e[a],t+1,i,r,n);if(void 0!==l)return w({},e,((u={})[a]=l,u));var f=Object.keys(e).length;if(void 0===e[a]&&0===f)return;if(void 0!==e[a]&&f<=1)return isNaN(i[t-1])||n?void 0:{};e[a];return function(e,t){if(null==e)return{};var i,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)i=a[r],0<=t.indexOf(i)||(n[i]=e[i]);return n}(e,[a].map(S))}var d=Number(a);if(null==e){var c=h(void 0,t+1,i,r,n);if(void 0===c)return;var v=[];return v[d]=c,v}if(!Array.isArray(e))throw new Error("Cannot set a numeric property on an object");var b=h(e[d],t+1,i,r,n),m=[].concat(e);if(n&&void 0===b){if(m.splice(d,1),0===m.length)return}else m[d]=b;return m}function R(e,t,i,r){if(void 0===r&&(r=!1),null==e)throw new Error("Cannot call setIn() with "+String(e)+" state");if(null==t)throw new Error("Cannot call setIn() with "+String(t)+" key");return h(e,0,u(t),i,r)}var A="FINAL_FORM/form-error",L="FINAL_FORM/array-error";function x(e,t){var i=e.errors,r=e.initialValues,n=e.lastSubmittedValues,a=e.submitErrors,u=e.submitFailed,o=e.submitSucceeded,s=e.submitting,l=e.values,f=t.active,d=t.blur,c=t.change,v=t.data,b=t.focus,m=t.modified,S=t.name,h=t.touched,g=t.validating,y=t.visited,p=N(l,S),E=N(i,S);E&&E[L]&&(E=E[L]);var F=a&&N(a,S),O=r&&N(r,S),V=t.isEqual(O,p),j=!E&&!F;return{active:f,blur:d,change:c,data:v,dirty:!V,dirtySinceLastSubmit:!(!n||t.isEqual(N(n,S),p)),error:E,focus:b,initial:O,invalid:!j,length:Array.isArray(p)?p.length:void 0,modified:m,name:S,pristine:V,submitError:F,submitFailed:u,submitSucceeded:o,submitting:s,touched:h,valid:j,value:p,visited:y,validating:g}}var a=["active","data","dirty","dirtySinceLastSubmit","error","initial","invalid","length","modified","pristine","submitError","submitFailed","submitSucceeded","submitting","touched","valid","value","visited","validating"],I=function(e,t){if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),r=Object.keys(t);if(i.length!==r.length)return!1;for(var n=Object.prototype.hasOwnProperty.bind(t),a=0;a<i.length;a++){var u=i[a];if(!n(u)||e[u]!==t[u])return!1}return!0};function o(t,i,r,n,e,a){var u=!1;return e.forEach(function(e){n[e]&&(t[e]=i[e],r&&(~a.indexOf(e)?I(i[e],r[e]):i[e]===r[e])||(u=!0))}),u}function P(e,t,i,r){var n={blur:e.blur,change:e.change,focus:e.focus,name:e.name};return o(n,e,t,i,a,s)||!t||r?n:void 0}var s=["data"],l=["active","dirty","dirtyFields","dirtyFieldsSinceLastSubmit","dirtySinceLastSubmit","error","errors","hasSubmitErrors","hasValidationErrors","initialValues","invalid","modified","pristine","submitting","submitError","submitErrors","submitFailed","submitSucceeded","touched","valid","validating","values","visited"],f=["touched","visited"];function q(e,t,i,r){var n={};return o(n,e,t,i,l,f)||!t||r?n:void 0}function z(r){var n,a;return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return n&&t.length===n.length&&!t.some(function(e,t){return!I(n[t],e)})||(n=t,a=r.apply(void 0,t)),a}}function C(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}function _(e,t){return e===t}var U=function i(r){return Object.keys(r).some(function(e){var t=r[e];return!t||"object"!=typeof t||t instanceof Error?void 0!==t:i(t)})};function B(e,t,i,r,n,a){var u=n(i,r,t,a);return!!u&&(e(u),!0)}function M(e,a,u,o,s){var l=e.entries;Object.keys(l).forEach(function(e){var t=l[Number(e)];if(t){var i=t.subscription,r=t.subscriber,n=t.notified;B(r,i,a,u,o,s||!n)&&(t.notified=!0)}})}e.ARRAY_ERROR=L,e.FORM_ERROR=A,e.configOptions=["debug","initialValues","keepDirtyOnReinitialize","mutators","onSubmit","validate","validateOnBlur"],e.createForm=function(e){if(!e)throw new Error("No config specified");e.debug;var u=e.destroyOnUnregister,a=e.keepDirtyOnReinitialize,t=e.initialValues,o=e.mutators,s=e.onSubmit,h=e.validate,l=e.validateOnBlur;if(!s)throw new Error("No onSubmit function specified");function f(e,t,i){var r=i(N(e.formState.values,t));e.formState.values=R(e.formState.values,t,r)||{}}function d(e,t,i){if(e.fields[t]){var r,n;e.fields=w({},e.fields,((r={})[i]=w({},e.fields[t],{name:i,blur:function(){return k.blur(i)},change:function(e){return k.change(i,e)},focus:function(){return k.focus(i)},lastFieldState:void 0}),r)),delete e.fields[t],e.fieldSubscribers=w({},e.fieldSubscribers,((n={})[i]=e.fieldSubscribers[t],n)),delete e.fieldSubscribers[t];var a=N(e.formState.values,t);e.formState.values=R(e.formState.values,t,void 0)||{},e.formState.values=R(e.formState.values,i,a),delete e.lastFormState}}function i(a){return function(){if(o){for(var e={formState:y.formState,fields:y.fields,fieldSubscribers:y.fieldSubscribers,lastFormState:y.lastFormState},t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];var n=o[a](i,e,{changeValue:f,getIn:N,renameField:d,resetFieldState:k.resetFieldState,setIn:R,shallowEqual:I});return y.formState=e.formState,y.fields=e.fields,y.fieldSubscribers=e.fieldSubscribers,y.lastFormState=e.lastFormState,b(void 0,function(){m(),j()}),n}}}function g(r){return Object.keys(r.validators).reduce(function(e,t){var i=r.validators[Number(t)]();return i&&e.push(i),e},[])}function c(){Object.keys(y.fields).forEach(function(e){y.fields[e].touched=!0})}function v(){var e=y.fields,r=y.formState,t=y.lastFormState,n=w({},e),i=Object.keys(n),a=!1,u=i.reduce(function(e,t){return!n[t].isEqual(N(r.values,t),N(r.initialValues||{},t))&&(a=!0,e[t]=!0),e},{}),o=i.reduce(function(e,t){var i=r.lastSubmittedValues||{};return n[t].isEqual(N(r.values,t),N(i,t))||(e[t]=!0),e},{});r.pristine=!a,r.dirtySinceLastSubmit=!(!r.lastSubmittedValues||!Object.values(o).some(function(e){return e})),r.valid=!(r.error||r.submitError||U(r.errors)||r.submitErrors&&U(r.submitErrors));var s=function(e){var t=e.active,i=e.dirtySinceLastSubmit,r=e.error,n=e.errors,a=e.initialValues,u=e.pristine,o=e.submitting,s=e.submitFailed,l=e.submitSucceeded,f=e.submitError,d=e.submitErrors,c=e.valid,v=e.validating,b=e.values;return{active:t,dirty:!u,dirtySinceLastSubmit:i,error:r,errors:n,hasSubmitErrors:!!(f||d&&U(d)),hasValidationErrors:!(!r&&!U(n)),invalid:!c,initialValues:a,pristine:u,submitting:o,submitFailed:s,submitSucceeded:l,submitError:f,submitErrors:d,valid:c,validating:0<v,values:b}}(r),l=i.reduce(function(e,t){return e.modified[t]=n[t].modified,e.touched[t]=n[t].touched,e.visited[t]=n[t].visited,e},{modified:{},touched:{},visited:{}}),f=l.modified,d=l.touched,c=l.visited;return s.dirtyFields=t&&I(t.dirtyFields,u)?t.dirtyFields:u,s.dirtyFieldsSinceLastSubmit=t&&I(t.dirtyFieldsSinceLastSubmit,o)?t.dirtyFieldsSinceLastSubmit:o,s.modified=t&&I(t.modified,f)?t.modified:f,s.touched=t&&I(t.touched,d)?t.touched:d,s.visited=t&&I(t.visited,c)?t.visited:c,t&&I(t,s)?t:s}var y={subscribers:{index:0,entries:{}},fieldSubscribers:{},fields:{},formState:{dirtySinceLastSubmit:!1,errors:{},initialValues:t&&w({},t),invalid:!1,pristine:!0,submitting:!1,submitFailed:!1,submitSucceeded:!1,valid:!0,validating:0,values:t?w({},t):{}},lastFormState:void 0},r=0,p=!1,E=!1,F=0,O={},n=o?Object.keys(o).reduce(function(e,t){return e[t]=i(t),e},{}):{},b=function(e,t){if(p)return E=!0,void t();var o=y.fields,i=y.formState,s=w({},o),r=Object.keys(s);if(h||r.some(function(e){return g(s[e]).length})){var l=!1;if(e){var n=s[e];if(n){var a=n.validateFields;a&&(l=!0,r=a.length?a.concat(e):[e])}}var f={},d={},u=[].concat(function(e){var t=[];if(h){var i=h(w({},y.formState.values));C(i)?t.push(i.then(e)):e(i)}return t}(function(e){f=e||{}}),r.reduce(function(e,t){return e.concat(function(r,n){var a,u=[],e=g(r);e.length&&(e.forEach(function(e){var t=e(N(y.formState.values,r.name),y.formState.values,3===e.length?x(y.formState,y.fields[r.name]):void 0);if(t&&C(t)){r.validating=!0;var i=t.then(function(e){r.validating=!1,n(e)});u.push(i)}else a||(a=t)}),n(a));return u}(o[t],function(e){d[t]=e}))},[])),c=0<u.length,v=++F,b=Promise.all(u).then(function(t){return function(e){return delete O[t],e}}(v));c&&(O[v]=b);var m=function(){function e(a){r.forEach(function(e){if(o[e]){var t=N(f,e),i=N(u,e),r=g(s[e]).length,n=d[e];a(e,r&&n||h&&t||(t||l?void 0:i))}})}var u=w({},l?i.errors:{},f);e(function(e,t){u=R(u,e,t)||{}}),e(function(e,t){if(t&&t[L]){var i=N(u,e),r=[].concat(i);r[L]=t[L],u=R(u,e,r)}}),I(i.errors,u)||(i.errors=u),i.error=f[A]};if(m(),t(),c){y.formState.validating++,t();var S=function(){y.formState.validating--,t()};b.then(function(){v<F||m()}).then(S,S)}}else t()},m=function(e){if(!r){var t=y.fields,a=y.fieldSubscribers,u=y.formState,o=w({},t),i=function(e){var t=o[e],i=x(u,t),r=t.lastFieldState;t.lastFieldState=i;var n=a[e];n&&M(n,i,r,P,void 0===r)};e?i(e):Object.keys(o).forEach(i)}},S=!1,V=!1,j=function e(){if(S)V=!0;else{if(S=!0,!r&&!p){var t=y.lastFormState,i=v();i!==t&&(y.lastFormState=i,M(y.subscribers,i,t,q))}S=!1,V&&(V=!1,e())}};b(void 0,function(){j()});var k={batch:function(e){r++,e(),r--,m(),j()},blur:function(e){var t=y.fields,i=y.formState,r=t[e];r&&(delete i.active,t[e]=w({},r,{active:!1,touched:!0}),l?b(e,function(){m(),j()}):(m(),j()))},change:function(e,t){var i=y.fields,r=y.formState;if(N(r.values,e)!==t){f(y,e,function(){return t});var n=i[e];n&&(i[e]=w({},n,{modified:!0})),l?(m(),j()):b(e,function(){m(),j()})}},get destroyOnUnregister(){return!!u},set destroyOnUnregister(e){u=e},focus:function(e){var t=y.fields[e];t&&!t.active&&(y.formState.active=e,t.active=!0,t.visited=!0,m(),j())},mutators:n,getFieldState:function(e){var t=y.fields[e];return t&&t.lastFieldState},getRegisteredFields:function(){return Object.keys(y.fields)},getState:function(){return v()},initialize:function(e){var t=y.fields,i=y.formState,r=w({},t),n="function"==typeof e?e(i.values):e;a||(i.values=n),Object.keys(r).forEach(function(e){var t=r[e];t.modified=!1,t.touched=!1,t.visited=!1,!a||t.isEqual(N(i.values,e),N(i.initialValues||{},e))&&(i.values=R(i.values,e,N(n,e)))}),i.initialValues=n,b(void 0,function(){m(),j()})},isValidationPaused:function(){return p},pauseValidation:function(){p=!0},registerField:function(i,e,t,r){void 0===t&&(t={}),y.fieldSubscribers[i]||(y.fieldSubscribers[i]={index:0,entries:{}});var n=y.fieldSubscribers[i].index++;y.fieldSubscribers[i].entries[n]={subscriber:z(e),subscription:t,notified:!1},y.fields[i]||(y.fields[i]={active:!1,afterSubmit:r&&r.afterSubmit,beforeSubmit:r&&r.beforeSubmit,blur:function(){return k.blur(i)},change:function(e){return k.change(i,e)},data:r&&r.data||{},focus:function(){return k.focus(i)},isEqual:r&&r.isEqual||_,lastFieldState:void 0,modified:!1,name:i,touched:!1,valid:!0,validateFields:r&&r.validateFields,validators:{},validating:!1,visited:!1});var a=!1;return r&&(a=!(!r.getValidator||!r.getValidator()),r.getValidator&&(y.fields[i].validators[n]=r.getValidator),void 0!==r.initialValue&&void 0===N(y.formState.values,i)&&(y.formState.initialValues=R(y.formState.initialValues||{},i,r.initialValue),y.formState.values=R(y.formState.values,i,r.initialValue)),void 0!==r.defaultValue&&void 0===r.initialValue&&void 0===N(y.formState.initialValues,i)&&(y.formState.values=R(y.formState.values,i,r.defaultValue))),a?b(void 0,function(){j(),m()}):(j(),m(i)),function(){var e=!1;y.fields[i]&&(e=!(!y.fields[i].validators[n]||!y.fields[i].validators[n]()),delete y.fields[i].validators[n]),delete y.fieldSubscribers[i].entries[n];var t=!Object.keys(y.fieldSubscribers[i].entries).length;t&&(delete y.fieldSubscribers[i],delete y.fields[i],e&&(y.formState.errors=R(y.formState.errors,i,void 0)||{}),u&&(y.formState.values=R(y.formState.values,i,void 0,!0)||{})),e?b(void 0,function(){j(),m()}):t&&j()}},reset:function(e){if(void 0===e&&(e=y.formState.initialValues),y.formState.submitting)throw Error("Cannot reset() in onSubmit(), use setTimeout(form.reset)");y.formState.submitFailed=!1,y.formState.submitSucceeded=!1,delete y.formState.submitError,delete y.formState.submitErrors,delete y.formState.lastSubmittedValues,k.initialize(e||{})},resetFieldState:function(e){y.fields[e]=w({},y.fields[e],{active:!1,lastFieldState:void 0,modified:!1,touched:!1,valid:!0,validating:!1,visited:!1}),b(void 0,function(){m(),j()})},resumeValidation:function(){p=!1,E&&b(void 0,function(){m(),j()}),E=!1},setConfig:function(e,t){switch(e){case"debug":t;break;case"destroyOnUnregister":u=t;break;case"initialValues":k.initialize(t);break;case"keepDirtyOnReinitialize":a=t;break;case"mutators":(o=t)?(Object.keys(n).forEach(function(e){e in t||delete n[e]}),Object.keys(t).forEach(function(e){n[e]=i(e)})):Object.keys(n).forEach(function(e){delete n[e]});break;case"onSubmit":s=t;break;case"validate":h=t,b(void 0,function(){m(),j()});break;case"validateOnBlur":l=t;break;default:throw new Error("Unrecognised option "+e)}},submit:function(){var t=y.formState;if(!t.submitting){if(y.formState.error||U(y.formState.errors))return c(),y.formState.submitFailed=!0,j(),void m();var e=Object.keys(O);if(e.length)Promise.all(e.map(function(e){return O[Number(e)]})).then(k.submit,k.submit);else if(!Object.keys(y.fields).some(function(e){return y.fields[e].beforeSubmit&&!1===y.fields[e].beforeSubmit()})){var i,r=!1,n=function(e){return t.submitting=!1,e&&U(e)?(t.submitFailed=!0,t.submitSucceeded=!1,t.submitErrors=e,t.submitError=e[A],c()):(t.submitFailed=!1,t.submitSucceeded=!0,Object.keys(y.fields).forEach(function(e){return y.fields[e].afterSubmit&&y.fields[e].afterSubmit()})),j(),m(),r=!0,i&&i(e),e};delete t.submitErrors,delete t.submitError,t.submitting=!0,t.submitFailed=!1,t.submitSucceeded=!1,t.lastSubmittedValues=w({},t.values);var a=s(t.values,k,n);if(!r){if(a&&C(a))return j(),m(),a.then(n,function(e){throw n(),e});if(3<=s.length)return j(),m(),new Promise(function(e){i=e});n(a)}}}},subscribe:function(e,t){if(!e)throw new Error("No callback given.");if(!t)throw new Error("No subscription provided. What values do you want to listen to?");var i=z(e),r=y.subscribers,n=r.index++;r.entries[n]={subscriber:i,subscription:t,notified:!1};var a=v();return B(i,t,a,a,q,!0),function(){delete r.entries[n]}}};return k},e.fieldSubscriptionItems=a,e.formSubscriptionItems=l,e.getIn=N,e.setIn=R,e.version="4.18.6",Object.defineProperty(e,"__esModule",{value:!0})});
|
|
//# sourceMappingURL=final-form.umd.min.js.map
|