@thecb/components 9.0.0-beta.11 → 9.0.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -38595,44 +38595,52 @@ var TableHeading_styled = styled__default.th.withConfig({
38595
38595
  return extraStyles;
38596
38596
  });
38597
38597
 
38598
- const validatorToPredicate = (validatorFn, emptyCase) => (
38599
- value,
38600
- ...rest
38601
- ) => (value === "" ? emptyCase : validatorFn(value, ...rest));
38598
+ const validatorToPredicate =
38599
+ (validatorFn, emptyCase) =>
38600
+ (value, ...rest) =>
38601
+ value === '' ? emptyCase : validatorFn(value, ...rest);
38602
38602
 
38603
38603
  var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
38604
38604
 
38605
+ function getDefaultExportFromCjs (x) {
38606
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
38607
+ }
38608
+
38605
38609
  var dayjs_min = {exports: {}};
38606
38610
 
38607
38611
  (function (module, exports) {
38608
- !function(t,e){module.exports=e();}(commonjsGlobal$1,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},D="en",v={};v[D]=M;var p=function(t){return t instanceof _},S=function(t,e,n){var r;if(!t)return D;if("string"==typeof t)v[t]&&(r=t),e&&(v[t]=e,r=t);else {var i=t.name;v[i]=t,r=i;}return !n&&r&&(D=r),r||!n&&D},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var D=this.$locale().weekStart||0,v=(y<D?y+7:y)-D;return $(r?m-v:m+(6-v),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,D=O.m(this,M);return D=(l={},l[c]=D/12,l[f]=D,l[h]=D/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?D:O.a(D)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return v[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),b=_.prototype;return w.prototype=b,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=v[D],w.Ls=v,w.p={},w}));
38609
- }(dayjs_min));
38612
+ !function(t,e){module.exports=e();}(commonjsGlobal$1,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),l=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(h){case c:return r?l(1,0):l(31,11);case f:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),l=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,l=this;r=Number(r);var $=O.p(h),y=function(t){var e=w(l);return O.w(e.date(e.date()+Math.round(t*r)),l)};if($===f)return this.set(f,this.$M+r);if($===c)return this.set(c,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},$={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||$[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,v=this-M,g=O.m(this,M);return g=($={},$[c]=g/12,$[f]=g,$[h]=g/3,$[o]=(v-m)/6048e5,$[a]=(v-m)/864e5,$[u]=v/n,$[s]=v/e,$[i]=v/t,$)[y]||v,l?g:O.a(g)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[g],w.Ls=D,w.p={},w}));
38613
+ } (dayjs_min));
38610
38614
 
38611
- var dayjs = dayjs_min.exports;
38615
+ var dayjs_minExports = dayjs_min.exports;
38616
+ var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
38612
38617
 
38613
38618
  var customParseFormat$1 = {exports: {}};
38614
38619
 
38615
38620
  (function (module, exports) {
38616
- !function(t,e){module.exports=e();}(commonjsGlobal$1,(function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-:/.()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,r=/\d\d?/,i=/\d*[^\s\d-_:/()]+/,o={},s=function(t){return (t=+t)+(t>68?1900:2e3)};var a=function(t){return function(e){this[t]=+e;}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t);}],u=function(t){var e=o[t];return e&&(e.indexOf?e:e.s.concat(e.f))},h=function(t,e){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(t.indexOf(r(i,0,e))>-1){n=i>12;break}}else n=t===(e?"pm":"PM");return n},d={A:[i,function(t){this.afternoon=h(t,!1);}],a:[i,function(t){this.afternoon=h(t,!0);}],S:[/\d/,function(t){this.milliseconds=100*+t;}],SS:[n,function(t){this.milliseconds=10*+t;}],SSS:[/\d{3}/,function(t){this.milliseconds=+t;}],s:[r,a("seconds")],ss:[r,a("seconds")],m:[r,a("minutes")],mm:[r,a("minutes")],H:[r,a("hours")],h:[r,a("hours")],HH:[r,a("hours")],hh:[r,a("hours")],D:[r,a("day")],DD:[n,a("day")],Do:[i,function(t){var e=o.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var r=1;r<=31;r+=1)e(r).replace(/\[|\]/g,"")===t&&(this.day=r);}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(t){var e=u("months"),n=(u("monthsShort")||e.map((function(t){return t.substr(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n;}],MMMM:[i,function(t){var e=u("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e;}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(t){this.year=s(t);}],YYYY:[/\d{4}/,a("year")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,r){var o=r&&r.toUpperCase();return n||i[r]||t[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),a=s.length,f=0;f<a;f+=1){var u=s[f],h=d[u],c=h&&h[0],l=h&&h[1];s[f]=l?{regex:c,parser:l}:u.replace(/^\[|\]$/g,"");}return function(t){for(var e={},n=0,r=0;n<a;n+=1){var i=s[n];if("string"==typeof i)r+=i.length;else {var o=i.regex,f=i.parser,u=t.substr(r),h=o.exec(u)[0];f.call(e,h),t=t.replace(h,"");}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon;}}(e),e}}return function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(s=t.parseTwoDigitYear);var r=e.prototype,i=r.parse;r.parse=function(t){var e=t.date,r=t.utc,s=t.args;this.$u=r;var a=s[1];if("string"==typeof a){var f=!0===s[2],u=!0===s[3],h=f||u,d=s[2];u&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(t,e,n){try{if(["x","X"].indexOf(e)>-1)return new Date(("X"===e?1e3:1)*t);var r=c(e)(t),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,u=r.seconds,h=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=u||0,g=h||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(t){return new Date("")}}(e,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),h&&e!=this.format(a)&&(this.$d=new Date("")),o={};}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(""));}else i.call(this,t);};}}));
38617
- }(customParseFormat$1));
38621
+ !function(e,t){module.exports=t();}(commonjsGlobal$1,(function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,r=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return (e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t;}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e);}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[i,function(e){this.afternoon=u(e,!1);}],a:[i,function(e){this.afternoon=u(e,!0);}],S:[/\d/,function(e){this.milliseconds=100*+e;}],SS:[n,function(e){this.milliseconds=10*+e;}],SSS:[/\d{3}/,function(e){this.milliseconds=+e;}],s:[r,a("seconds")],ss:[r,a("seconds")],m:[r,a("minutes")],mm:[r,a("minutes")],H:[r,a("hours")],h:[r,a("hours")],HH:[r,a("hours")],hh:[r,a("hours")],D:[r,a("day")],DD:[n,a("day")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r);}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(e){var t=h("months"),n=(h("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n;}],MMMM:[i,function(e){var t=h("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t;}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(e){this.year=s(e);}],YYYY:[/\d{4}/,a("year")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f<a;f+=1){var h=s[f],u=d[h],c=u&&u[0],l=u&&u[1];s[f]=l?{regex:c,parser:l}:h.replace(/^\[|\]$/g,"");}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=s[n];if("string"==typeof i)r+=i.length;else {var o=i.regex,f=i.parser,h=e.slice(r),u=o.exec(h)[0];f.call(t,u),e=e.replace(u,"");}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon;}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,s=e.args;this.$u=r;var a=s[1];if("string"==typeof a){var f=!0===s[2],h=!0===s[3],u=f||h,d=s[2];h&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(e,t,n){try{if(["x","X"].indexOf(t)>-1)return new Date(("X"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date("")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),o={};}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(""));}else i.call(this,e);};}}));
38622
+ } (customParseFormat$1));
38618
38623
 
38619
- var customParseFormat = customParseFormat$1.exports;
38624
+ var customParseFormatExports = customParseFormat$1.exports;
38625
+ var customParseFormat = /*@__PURE__*/getDefaultExportFromCjs(customParseFormatExports);
38620
38626
 
38621
38627
  var isSameOrBefore$1 = {exports: {}};
38622
38628
 
38623
38629
  (function (module, exports) {
38624
- !function(e,i){module.exports=i();}(commonjsGlobal$1,(function(){return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)};}}));
38625
- }(isSameOrBefore$1));
38630
+ !function(e,i){module.exports=i();}(commonjsGlobal$1,(function(){return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)};}}));
38631
+ } (isSameOrBefore$1));
38626
38632
 
38627
- var isSameOrBefore = isSameOrBefore$1.exports;
38633
+ var isSameOrBeforeExports = isSameOrBefore$1.exports;
38634
+ var isSameOrBefore = /*@__PURE__*/getDefaultExportFromCjs(isSameOrBeforeExports);
38628
38635
 
38629
38636
  var isSameOrAfter$1 = {exports: {}};
38630
38637
 
38631
38638
  (function (module, exports) {
38632
- !function(e,t){module.exports=t();}(commonjsGlobal$1,(function(){return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)};}}));
38633
- }(isSameOrAfter$1));
38639
+ !function(e,t){module.exports=t();}(commonjsGlobal$1,(function(){return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)};}}));
38640
+ } (isSameOrAfter$1));
38634
38641
 
38635
- var isSameOrAfter = isSameOrAfter$1.exports;
38642
+ var isSameOrAfterExports = isSameOrAfter$1.exports;
38643
+ var isSameOrAfter = /*@__PURE__*/getDefaultExportFromCjs(isSameOrAfterExports);
38636
38644
 
38637
38645
  /* eslint-disable no-unused-vars */
38638
38646
 
@@ -38648,24 +38656,24 @@ dayjs.extend(isSameOrAfter);
38648
38656
 
38649
38657
  let validatorFns = {};
38650
38658
 
38651
- const INCLUDED_IN = "validator/INCLUDED_IN";
38652
- const INCLUDED_IN_ERROR = "error/INCLUDED_IN";
38659
+ const INCLUDED_IN = 'validator/INCLUDED_IN';
38660
+ const INCLUDED_IN_ERROR = 'error/INCLUDED_IN';
38653
38661
  const includedIn = createValidator(INCLUDED_IN, INCLUDED_IN_ERROR);
38654
38662
  validatorFns[INCLUDED_IN] = (value, args, form) =>
38655
38663
  Array.isArray(args[0]) ? args[0].includes(value) : args[0] === value;
38656
38664
 
38657
- const REQUIRED = "validator/REQUIRED";
38658
- const REQUIRED_ERROR = "error/REQUIRED";
38665
+ const REQUIRED = 'validator/REQUIRED';
38666
+ const REQUIRED_ERROR = 'error/REQUIRED';
38659
38667
  const required = createValidator(REQUIRED, REQUIRED_ERROR);
38660
- validatorFns[REQUIRED] = (value, args, form) => value !== "";
38668
+ validatorFns[REQUIRED] = (value, args, form) => value !== '';
38661
38669
 
38662
- const ONLY_INTEGERS = "validator/ONLY_INTEGERS";
38663
- const ONLY_INTEGERS_ERROR = "error/ONLY_INTEGERS";
38670
+ const ONLY_INTEGERS = 'validator/ONLY_INTEGERS';
38671
+ const ONLY_INTEGERS_ERROR = 'error/ONLY_INTEGERS';
38664
38672
  const onlyIntegers = createValidator(ONLY_INTEGERS, ONLY_INTEGERS_ERROR);
38665
38673
  validatorFns[ONLY_INTEGERS] = (value, args, form) => /^(-?\d+)?$/.test(value);
38666
38674
 
38667
- const ONLY_NATURALS = "validator/ONLY_NATURALS";
38668
- const ONLY_NATURALS_ERROR = "error/ONLY_NATURALS";
38675
+ const ONLY_NATURALS = 'validator/ONLY_NATURALS';
38676
+ const ONLY_NATURALS_ERROR = 'error/ONLY_NATURALS';
38669
38677
  const onlyNaturals = createValidator(ONLY_NATURALS, ONLY_NATURALS_ERROR);
38670
38678
  validatorFns[ONLY_NATURALS] = (value, args, form) => /^(\d+)?$/.test(value);
38671
38679
 
@@ -38678,8 +38686,8 @@ not tested as validation function
38678
38686
  to validate exp date instead use combo of:
38679
38687
  required(), hasLength(), isValidMonth(), dateAfterToday()
38680
38688
  */
38681
- const ONLY_EXPIRATION_DATE = "validator/ONLY_EXPIRATION_DATE";
38682
- const ONLY_EXPIRATION_DATE_ERROR = "error/ONLY_EXPIRATION_DATE";
38689
+ const ONLY_EXPIRATION_DATE = 'validator/ONLY_EXPIRATION_DATE';
38690
+ const ONLY_EXPIRATION_DATE_ERROR = 'error/ONLY_EXPIRATION_DATE';
38683
38691
  const onlyExpirationDate = createValidator(
38684
38692
  ONLY_EXPIRATION_DATE,
38685
38693
  ONLY_EXPIRATION_DATE_ERROR
@@ -38687,64 +38695,63 @@ const onlyExpirationDate = createValidator(
38687
38695
  validatorFns[ONLY_EXPIRATION_DATE] = (value, args, form) =>
38688
38696
  /^(\d?\d?\/?\d?\d?)?$/.test(value);
38689
38697
 
38690
- const NUMBER_LESS_THAN = "validator/NUMBER_LESS_THAN";
38691
- const NUMBER_LESS_THAN_ERROR = "error/NUMBER_LESS_THAN";
38698
+ const NUMBER_LESS_THAN = 'validator/NUMBER_LESS_THAN';
38699
+ const NUMBER_LESS_THAN_ERROR = 'error/NUMBER_LESS_THAN';
38692
38700
  const numberLessThan = createValidator(
38693
38701
  NUMBER_LESS_THAN,
38694
38702
  NUMBER_LESS_THAN_ERROR
38695
38703
  );
38696
38704
  validatorFns[NUMBER_LESS_THAN] = (value, args, form) => {
38697
- if (value === "") {
38705
+ if (value === '') {
38698
38706
  return true;
38699
38707
  }
38700
38708
  return Number(value) < args[0];
38701
38709
  };
38702
38710
 
38703
- const NUMBER_LESS_THAN_OR_EQUAL_TO =
38704
- "validator/NUMBER_LESS_THAN_OR_EQUAL_TO";
38711
+ const NUMBER_LESS_THAN_OR_EQUAL_TO = 'validator/NUMBER_LESS_THAN_OR_EQUAL_TO';
38705
38712
  const NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR =
38706
- "error/NUMBER_LESS_THAN_OR_EQUAL_TO";
38713
+ 'error/NUMBER_LESS_THAN_OR_EQUAL_TO';
38707
38714
  const numberLessThanOrEqualTo = createValidator(
38708
38715
  NUMBER_LESS_THAN_OR_EQUAL_TO,
38709
38716
  NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR
38710
38717
  );
38711
38718
  validatorFns[NUMBER_LESS_THAN_OR_EQUAL_TO] = (value, args, form) => {
38712
- if (value === "") {
38719
+ if (value === '') {
38713
38720
  return true;
38714
38721
  }
38715
38722
  return Number(value) <= args[0];
38716
38723
  };
38717
38724
 
38718
- const NUMBER_GREATER_THAN = "validator/NUMBER_GREATER_THAN";
38719
- const NUMBER_GREATER_THAN_ERROR = "error/NUMBER_GREATER_THAN";
38725
+ const NUMBER_GREATER_THAN = 'validator/NUMBER_GREATER_THAN';
38726
+ const NUMBER_GREATER_THAN_ERROR = 'error/NUMBER_GREATER_THAN';
38720
38727
  const numberGreaterThan = createValidator(
38721
38728
  NUMBER_GREATER_THAN,
38722
38729
  NUMBER_GREATER_THAN_ERROR
38723
38730
  );
38724
38731
  validatorFns[NUMBER_GREATER_THAN] = (value, args, form) => {
38725
- if (value === "") {
38732
+ if (value === '') {
38726
38733
  return true;
38727
38734
  }
38728
38735
  return Number(value) > args[0];
38729
38736
  };
38730
38737
 
38731
38738
  const NUMBER_GREATER_THAN_OR_EQUAL_TO =
38732
- "validator/NUMBER_GREATER_THAN_OR_EQUAL_TO";
38739
+ 'validator/NUMBER_GREATER_THAN_OR_EQUAL_TO';
38733
38740
  const NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR =
38734
- "error/NUMBER_GREATER_THAN_OR_EQUAL_TO";
38741
+ 'error/NUMBER_GREATER_THAN_OR_EQUAL_TO';
38735
38742
  const numberGreaterThanOrEqualTo = createValidator(
38736
38743
  NUMBER_GREATER_THAN_OR_EQUAL_TO,
38737
38744
  NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR
38738
38745
  );
38739
38746
  validatorFns[NUMBER_GREATER_THAN_OR_EQUAL_TO] = (value, args, form) => {
38740
- if (value === "") {
38747
+ if (value === '') {
38741
38748
  return true;
38742
38749
  }
38743
38750
  return Number(value) >= args[0];
38744
38751
  };
38745
38752
 
38746
- const MATCHES_FIELD = "validator/MATCHES_FIELD";
38747
- const MATCHES_FIELD_ERROR$1 = "error/MATCHES_FIELD";
38753
+ const MATCHES_FIELD = 'validator/MATCHES_FIELD';
38754
+ const MATCHES_FIELD_ERROR$1 = 'error/MATCHES_FIELD';
38748
38755
  const matchesField = createValidator(MATCHES_FIELD, MATCHES_FIELD_ERROR$1);
38749
38756
  validatorFns[MATCHES_FIELD] = (value, args, form) => {
38750
38757
  const dependentField = form[args[0]];
@@ -38757,7 +38764,7 @@ validatorFns[MATCHES_FIELD] = (value, args, form) => {
38757
38764
  return value === dependentFieldValue;
38758
38765
  };
38759
38766
 
38760
- const validateWhenErrorMessage = type =>
38767
+ const validateWhenErrorMessage = (type) =>
38761
38768
  `${type} was passed to validateWhen, but that validator type does not exist.
38762
38769
  Please check that you are only calling validator creator functions exported from
38763
38770
  redux-freeform in your form config and that you didn't forget to
@@ -38765,25 +38772,21 @@ const validateWhenErrorMessage = type =>
38765
38772
  createFormState). Also make sure you aren't passing validateWhen() to validateWhen
38766
38773
  as the primary validator.`;
38767
38774
 
38768
- const VALIDATE_WHEN = "validator/VALIDATE_WHEN";
38769
- const VALIDATE_WHEN_ERROR = "error/VALIDATE_WHEN";
38770
- const validateWhen = (
38771
- dependentValidator,
38772
- primaryValidator,
38773
- optionalFieldName
38774
- ) => ({
38775
+ const VALIDATE_WHEN = 'validator/VALIDATE_WHEN';
38776
+ const VALIDATE_WHEN_ERROR = 'error/VALIDATE_WHEN';
38777
+ const validateWhen = (dependentValidator, primaryValidator, optionalFieldName) => ({
38775
38778
  type: VALIDATE_WHEN,
38776
38779
  args: [dependentValidator, primaryValidator, optionalFieldName],
38777
- error: dependentValidator.error
38780
+ error: dependentValidator.error,
38778
38781
  });
38779
38782
  validateWhen.error = VALIDATE_WHEN_ERROR;
38780
38783
  validatorFns[VALIDATE_WHEN] = (value, args, form) => {
38781
38784
  const [dependentValidator, primaryValidator, optionalFieldName] = args;
38782
- const dependsOnOtherField = typeof optionalFieldName === "string";
38785
+ const dependsOnOtherField = typeof optionalFieldName === 'string';
38783
38786
 
38784
38787
  if (
38785
38788
  primaryValidator.type === undefined ||
38786
- typeof validatorFns[primaryValidator.type] !== "function"
38789
+ typeof validatorFns[primaryValidator.type] !== 'function'
38787
38790
  ) {
38788
38791
  throw new Error(validateWhenErrorMessage(primaryValidator.type));
38789
38792
  }
@@ -38807,26 +38810,22 @@ validatorFns[VALIDATE_WHEN] = (value, args, form) => {
38807
38810
  );
38808
38811
 
38809
38812
  return primaryPredicatePassed
38810
- ? validatorFns[dependentValidator.type](
38811
- value,
38812
- dependentValidator.args,
38813
- form
38814
- )
38813
+ ? validatorFns[dependentValidator.type](value, dependentValidator.args, form)
38815
38814
  : true;
38816
38815
  };
38817
38816
 
38818
- const validateSumErrorMessage = type =>
38817
+ const validateSumErrorMessage = (type) =>
38819
38818
  `${type} was passed to validateSum, but that validator type does not exist.
38820
38819
  Please check that you are only calling validator creator functions exported from
38821
38820
  redux-freeform in your form config and that you didn't forget to
38822
38821
  invoke the validator creator (you cannot pass the functions themselves to
38823
38822
  createFormState).`;
38824
- const VALIDATE_SUM = "validator/VALIDATE_SUM";
38825
- const VALIDATE_SUM_ERROR = "error/VALIDATE_SUM";
38823
+ const VALIDATE_SUM = 'validator/VALIDATE_SUM';
38824
+ const VALIDATE_SUM_ERROR = 'error/VALIDATE_SUM';
38826
38825
  const validateSum = (validator, fieldNamesArray) => ({
38827
38826
  type: VALIDATE_SUM,
38828
38827
  args: [validator, fieldNamesArray],
38829
- error: validator.error
38828
+ error: validator.error,
38830
38829
  });
38831
38830
  validateSum.error = VALIDATE_SUM_ERROR;
38832
38831
  validatorFns[VALIDATE_SUM] = (value, args, form) => {
@@ -38834,7 +38833,7 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
38834
38833
 
38835
38834
  if (
38836
38835
  validator.type === undefined ||
38837
- typeof validatorFns[validator.type] !== "function"
38836
+ typeof validatorFns[validator.type] !== 'function'
38838
38837
  ) {
38839
38838
  throw new Error(validateSumErrorMessage(validator.type));
38840
38839
  }
@@ -38855,37 +38854,35 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
38855
38854
  return validatorFns[validator.type](sum, validator.args, form);
38856
38855
  };
38857
38856
 
38858
- const HAS_LENGTH = "validator/HAS_LENGTH";
38859
- const HAS_LENGTH_ERROR = "error/HAS_LENGTH";
38857
+ const HAS_LENGTH = 'validator/HAS_LENGTH';
38858
+ const HAS_LENGTH_ERROR = 'error/HAS_LENGTH';
38860
38859
  const hasLength = createValidator(HAS_LENGTH, HAS_LENGTH_ERROR);
38861
38860
  validatorFns[HAS_LENGTH] = (value, args, form) => {
38862
- if (value === "") {
38861
+ if (value === '') {
38863
38862
  return true;
38864
38863
  }
38865
38864
  const min = args[0];
38866
38865
  const max = args[1];
38867
38866
  if (max == undefined || min == undefined) {
38868
38867
  throw new Error(
38869
- "Max and min need to be defined for hasLength, both or one of them is undefined"
38868
+ 'Max and min need to be defined for hasLength, both or one of them is undefined'
38870
38869
  );
38871
38870
  }
38872
38871
  if (max < min) {
38873
- throw new Error(
38874
- "hasLength validator was passed a min greater than the max"
38875
- );
38872
+ throw new Error('hasLength validator was passed a min greater than the max');
38876
38873
  }
38877
38874
  const valueLength = value.length;
38878
38875
  return max >= valueLength && valueLength >= min;
38879
38876
  };
38880
38877
 
38881
- const DATE_BEFORE_TODAY = "validator/DATE_BEFORE_TODAY";
38882
- const DATE_BEFORE_TODAY_ERROR = "error/DATE_BEFORE_TODAY";
38878
+ const DATE_BEFORE_TODAY = 'validator/DATE_BEFORE_TODAY';
38879
+ const DATE_BEFORE_TODAY_ERROR = 'error/DATE_BEFORE_TODAY';
38883
38880
  const dateBeforeToday = createValidator(
38884
38881
  DATE_BEFORE_TODAY,
38885
38882
  DATE_BEFORE_TODAY_ERROR
38886
38883
  );
38887
38884
  validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
38888
- if (value === "") {
38885
+ if (value === '') {
38889
38886
  return true;
38890
38887
  }
38891
38888
  const dateFormat = args[0];
@@ -38894,7 +38891,7 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
38894
38891
 
38895
38892
  if (dateFormat == undefined || unit == undefined) {
38896
38893
  throw new Error(
38897
- "Date format and unit need to be defined for dateBeforeToday, one or both are undefined"
38894
+ 'Date format and unit need to be defined for dateBeforeToday, one or both are undefined'
38898
38895
  );
38899
38896
  }
38900
38897
  const now = dayjs();
@@ -38906,14 +38903,14 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
38906
38903
  return dateValue.isBefore(now, unit);
38907
38904
  };
38908
38905
 
38909
- const DATE_AFTER_TODAY = "validator/DATE_AFTER_TODAY";
38910
- const DATE_AFTER_TODAY_ERROR = "error/DATE_AFTER_TODAY";
38906
+ const DATE_AFTER_TODAY = 'validator/DATE_AFTER_TODAY';
38907
+ const DATE_AFTER_TODAY_ERROR = 'error/DATE_AFTER_TODAY';
38911
38908
  const dateAfterToday = createValidator(
38912
38909
  DATE_AFTER_TODAY,
38913
38910
  DATE_AFTER_TODAY_ERROR
38914
38911
  );
38915
38912
  validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
38916
- if (value === "") {
38913
+ if (value === '') {
38917
38914
  return true;
38918
38915
  }
38919
38916
  const dateFormat = args[0];
@@ -38922,7 +38919,7 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
38922
38919
 
38923
38920
  if (dateFormat == undefined || unit == undefined) {
38924
38921
  throw new Error(
38925
- "Date format and unit need to be defined for dateAfterToday, one or both are undefined"
38922
+ 'Date format and unit need to be defined for dateAfterToday, one or both are undefined'
38926
38923
  );
38927
38924
  }
38928
38925
  const now = dayjs();
@@ -38934,14 +38931,11 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
38934
38931
  return dateValue.isAfter(now, unit);
38935
38932
  };
38936
38933
 
38937
- const IS_VALID_MONTH = "validator/IS_VALID_MONTH";
38938
- const IS_VALID_MONTH_ERROR = "error/IS_VALID_MONTH";
38939
- const isValidMonth = createValidator(
38940
- IS_VALID_MONTH,
38941
- IS_VALID_MONTH_ERROR
38942
- );
38934
+ const IS_VALID_MONTH = 'validator/IS_VALID_MONTH';
38935
+ const IS_VALID_MONTH_ERROR = 'error/IS_VALID_MONTH';
38936
+ const isValidMonth = createValidator(IS_VALID_MONTH, IS_VALID_MONTH_ERROR);
38943
38937
  validatorFns[IS_VALID_MONTH] = (value, args, form) => {
38944
- if (value === "") {
38938
+ if (value === '') {
38945
38939
  return true;
38946
38940
  }
38947
38941
  // Function takes one argument representing the character position
@@ -38951,43 +38945,43 @@ validatorFns[IS_VALID_MONTH] = (value, args, form) => {
38951
38945
  // Only works with two digit months (01, 02, 03, etc)
38952
38946
  const monthStartPosition = parseInt(args[0]);
38953
38947
  const monthEndPosition = monthStartPosition + 2;
38954
- if (monthStartPosition === NaN) {
38955
- throw new Error("Month start position has to be a valid integer string");
38948
+ if (isNaN(monthStartPosition)) {
38949
+ throw new Error('Month start position has to be a valid integer string');
38956
38950
  }
38957
38951
  const month = parseInt(value.slice(monthStartPosition, monthEndPosition));
38958
- if (month === NaN) {
38952
+ if (isNaN(month)) {
38959
38953
  return false;
38960
38954
  }
38961
38955
  return month >= 1 && month <= 12;
38962
38956
  };
38963
38957
 
38964
- const MATCHES_REGEX = "validator/MATCHES_REGEX";
38965
- const MATCHES_REGEX_ERROR = "error/MATCHES_REGEX";
38958
+ const MATCHES_REGEX = 'validator/MATCHES_REGEX';
38959
+ const MATCHES_REGEX_ERROR = 'error/MATCHES_REGEX';
38966
38960
  const matchesRegex = createValidator(MATCHES_REGEX, MATCHES_REGEX_ERROR);
38967
38961
  validatorFns[MATCHES_REGEX] = (value, args, form) => {
38968
- if (value === "") {
38962
+ if (value === '') {
38969
38963
  return true;
38970
38964
  }
38971
38965
  return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
38972
38966
  };
38973
38967
 
38974
38968
  // based on http://www.brainjar.com/js/validation/
38975
- const IS_ROUTING_NUMBER = "validator/IS_ROUTING_NUMBER";
38976
- const IS_ROUTING_NUMBER_ERROR = "error/IS_ROUTING_NUMBER";
38969
+ const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
38970
+ const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
38977
38971
  const isRoutingNumber = createValidator(
38978
38972
  IS_ROUTING_NUMBER,
38979
38973
  IS_ROUTING_NUMBER_ERROR
38980
38974
  );
38981
38975
  validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
38982
- if (value === "") {
38976
+ if (value === '') {
38983
38977
  return true;
38984
38978
  }
38985
38979
  if (value.length != 9) {
38986
38980
  return false;
38987
38981
  }
38988
38982
  const sum = value
38989
- .split("")
38990
- .map(ch => parseInt(ch))
38983
+ .split('')
38984
+ .map((ch) => parseInt(ch))
38991
38985
  .reduce((acc, cur, idx) => {
38992
38986
  switch (idx % 3) {
38993
38987
  case 0:
@@ -39001,69 +38995,69 @@ validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
39001
38995
  return sum != 0 && sum % 10 == 0;
39002
38996
  };
39003
38997
 
39004
- const HAS_NUMBER = "validator/HAS_NUMBER";
39005
- const HAS_NUMBER_ERROR$1 = "error/HAS_NUMBER";
38998
+ const HAS_NUMBER = 'validator/HAS_NUMBER';
38999
+ const HAS_NUMBER_ERROR$1 = 'error/HAS_NUMBER';
39006
39000
  const hasNumber = createValidator(HAS_NUMBER, HAS_NUMBER_ERROR$1);
39007
39001
  validatorFns[HAS_NUMBER] = (value, args, form) => {
39008
- if (value === "") {
39002
+ if (value === '') {
39009
39003
  return true;
39010
39004
  }
39011
39005
  return new RegExp(/[0-9]/).test(value);
39012
39006
  };
39013
39007
 
39014
- const HAS_LOWERCASE_LETTER = "validator/HAS_LOWERCASE_LETTER";
39015
- const HAS_LOWERCASE_LETTER_ERROR$1 = "error/HAS_LOWERCASE_LETTER";
39008
+ const HAS_LOWERCASE_LETTER = 'validator/HAS_LOWERCASE_LETTER';
39009
+ const HAS_LOWERCASE_LETTER_ERROR$1 = 'error/HAS_LOWERCASE_LETTER';
39016
39010
  const hasLowercaseLetter = createValidator(
39017
39011
  HAS_LOWERCASE_LETTER,
39018
39012
  HAS_LOWERCASE_LETTER_ERROR$1
39019
39013
  );
39020
39014
  validatorFns[HAS_LOWERCASE_LETTER] = (value, args, form) => {
39021
- if (value === "") {
39015
+ if (value === '') {
39022
39016
  return true;
39023
39017
  }
39024
39018
  return new RegExp(/[a-z]/).test(value);
39025
39019
  };
39026
39020
 
39027
- const HAS_UPPERCASE_LETTER = "validator/HAS_UPPERCASE_LETTER";
39028
- const HAS_UPPERCASE_LETTER_ERROR$1 = "error/HAS_UPPERCASE_LETTER";
39021
+ const HAS_UPPERCASE_LETTER = 'validator/HAS_UPPERCASE_LETTER';
39022
+ const HAS_UPPERCASE_LETTER_ERROR$1 = 'error/HAS_UPPERCASE_LETTER';
39029
39023
  const hasUppercaseLetter = createValidator(
39030
39024
  HAS_UPPERCASE_LETTER,
39031
39025
  HAS_UPPERCASE_LETTER_ERROR$1
39032
39026
  );
39033
39027
  validatorFns[HAS_UPPERCASE_LETTER] = (value, args, form) => {
39034
- if (value === "") {
39028
+ if (value === '') {
39035
39029
  return true;
39036
39030
  }
39037
39031
  return new RegExp(/[A-Z]/).test(value);
39038
39032
  };
39039
39033
 
39040
- const HAS_SPECIAL_CHARACTER = "validator/HAS_SPECIAL_CHARACTER";
39041
- const HAS_SPECIAL_CHARACTER_ERROR$1 = "error/HAS_SPECIAL_CHARACTER";
39034
+ const HAS_SPECIAL_CHARACTER = 'validator/HAS_SPECIAL_CHARACTER';
39035
+ const HAS_SPECIAL_CHARACTER_ERROR$1 = 'error/HAS_SPECIAL_CHARACTER';
39042
39036
  const hasSpecialCharacter = createValidator(
39043
39037
  HAS_SPECIAL_CHARACTER,
39044
39038
  HAS_SPECIAL_CHARACTER_ERROR$1
39045
39039
  );
39046
39040
  validatorFns[HAS_SPECIAL_CHARACTER] = (value, args, form) => {
39047
- if (value === "") {
39041
+ if (value === '') {
39048
39042
  return true;
39049
39043
  }
39050
39044
  return new RegExp(/[!@#$%^&*.?]/).test(value);
39051
39045
  };
39052
39046
 
39053
- const IS_PROBABLY_EMAIL = "validator/IS_PROBABLY_EMAIL";
39054
- const IS_PROBABLY_EMAIL_ERROR = "error/IS_PROBABLY_EMAIL";
39047
+ const IS_PROBABLY_EMAIL = 'validator/IS_PROBABLY_EMAIL';
39048
+ const IS_PROBABLY_EMAIL_ERROR = 'error/IS_PROBABLY_EMAIL';
39055
39049
  const isProbablyEmail = createValidator(
39056
39050
  IS_PROBABLY_EMAIL,
39057
39051
  IS_PROBABLY_EMAIL_ERROR
39058
39052
  );
39059
39053
  validatorFns[IS_PROBABLY_EMAIL] = (value, args, form) => {
39060
- if (value === "") {
39054
+ if (value === '') {
39061
39055
  return true;
39062
39056
  }
39063
39057
  return new RegExp(/^\S+@\S+\.\S+$/).test(value);
39064
39058
  };
39065
39059
 
39066
- const runValidatorErrorMessage = type =>
39060
+ const runValidatorErrorMessage = (type) =>
39067
39061
  `${type} was passed to runValidator, but that validator type does not exist.
39068
39062
  Please check that you are only calling validator creator functions exported from
39069
39063
  redux-freeform in your form config and that you didn't forget to
@@ -39078,1165 +39072,53 @@ const runValidator = (validator, value, form) => {
39078
39072
  return validatorFn(value, validator.args, form) ? null : validator.error;
39079
39073
  };
39080
39074
 
39081
- const _computeErrors = (fieldName, form, validators) => {
39075
+ const runFormValidators = (fieldName, form, validators) => {
39082
39076
  return validators
39083
- .map(v => runValidator(v, form[fieldName].rawValue, form))
39084
- .filter(x => x !== null);
39077
+ .map((v) => runValidator(v, form[fieldName].rawValue, form))
39078
+ .filter((x) => x !== null);
39085
39079
  };
39086
39080
 
39087
39081
  const computeConstraints = (fieldName, form) => {
39088
39082
  const constraints = form[fieldName].constraints;
39089
- return _computeErrors(fieldName, form, constraints);
39083
+ return runFormValidators(fieldName, form, constraints);
39090
39084
  };
39091
39085
 
39092
39086
  const computeErrors = (fieldName, form) => {
39093
39087
  const validators = form[fieldName].validators;
39094
- return _computeErrors(fieldName, form, validators);
39095
- };
39096
-
39097
- var obj;
39098
- var NOTHING = typeof Symbol !== "undefined" ? Symbol("immer-nothing") : ( obj = {}, obj["immer-nothing"] = true, obj );
39099
- var DRAFTABLE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-draftable") : "__$immer_draftable";
39100
- var DRAFT_STATE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-state") : "__$immer_state";
39101
- function isDraft(value) {
39102
- return !!value && !!value[DRAFT_STATE];
39103
- }
39104
- function isDraftable(value) {
39105
- if (!value) { return false; }
39106
- return isPlainObject(value) || !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE];
39107
- }
39108
- function isPlainObject(value) {
39109
- if (!value || typeof value !== "object") { return false; }
39110
- if (Array.isArray(value)) { return true; }
39111
- var proto = Object.getPrototypeOf(value);
39112
- return !proto || proto === Object.prototype;
39113
- }
39114
- var assign = Object.assign || function assign(target, value) {
39115
- for (var key in value) {
39116
- if (has$1(value, key)) {
39117
- target[key] = value[key];
39118
- }
39119
- }
39120
-
39121
- return target;
39122
- };
39123
- var ownKeys$2 = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownKeys : typeof Object.getOwnPropertySymbols !== "undefined" ? function (obj) { return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj)); } : Object.getOwnPropertyNames;
39124
- function shallowCopy(base, invokeGetters) {
39125
- if ( invokeGetters === void 0 ) invokeGetters = false;
39126
-
39127
- if (Array.isArray(base)) { return base.slice(); }
39128
- var clone = Object.create(Object.getPrototypeOf(base));
39129
- ownKeys$2(base).forEach(function (key) {
39130
- if (key === DRAFT_STATE) {
39131
- return; // Never copy over draft state.
39132
- }
39133
-
39134
- var desc = Object.getOwnPropertyDescriptor(base, key);
39135
- var value = desc.value;
39136
-
39137
- if (desc.get) {
39138
- if (!invokeGetters) {
39139
- throw new Error("Immer drafts cannot have computed properties");
39140
- }
39141
-
39142
- value = desc.get.call(base);
39143
- }
39144
-
39145
- if (desc.enumerable) {
39146
- clone[key] = value;
39147
- } else {
39148
- Object.defineProperty(clone, key, {
39149
- value: value,
39150
- writable: true,
39151
- configurable: true
39152
- });
39153
- }
39154
- });
39155
- return clone;
39156
- }
39157
- function each(value, cb) {
39158
- if (Array.isArray(value)) {
39159
- for (var i = 0; i < value.length; i++) { cb(i, value[i], value); }
39160
- } else {
39161
- ownKeys$2(value).forEach(function (key) { return cb(key, value[key], value); });
39162
- }
39163
- }
39164
- function isEnumerable(base, prop) {
39165
- var desc = Object.getOwnPropertyDescriptor(base, prop);
39166
- return !!desc && desc.enumerable;
39167
- }
39168
- function has$1(thing, prop) {
39169
- return Object.prototype.hasOwnProperty.call(thing, prop);
39170
- }
39171
- function is(x, y) {
39172
- // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js
39173
- if (x === y) {
39174
- return x !== 0 || 1 / x === 1 / y;
39175
- } else {
39176
- return x !== x && y !== y;
39177
- }
39178
- }
39179
- function clone(obj) {
39180
- if (!isDraftable(obj)) { return obj; }
39181
- if (Array.isArray(obj)) { return obj.map(clone); }
39182
- var cloned = Object.create(Object.getPrototypeOf(obj));
39183
-
39184
- for (var key in obj) { cloned[key] = clone(obj[key]); }
39185
-
39186
- return cloned;
39187
- }
39188
-
39189
- /** Each scope represents a `produce` call. */
39190
-
39191
- var ImmerScope = function ImmerScope(parent) {
39192
- this.drafts = [];
39193
- this.parent = parent; // Whenever the modified draft contains a draft from another scope, we
39194
- // need to prevent auto-freezing so the unowned draft can be finalized.
39195
-
39196
- this.canAutoFreeze = true; // To avoid prototype lookups:
39197
-
39198
- this.patches = null;
39088
+ return runFormValidators(fieldName, form, validators);
39199
39089
  };
39200
39090
 
39201
- ImmerScope.prototype.usePatches = function usePatches (patchListener) {
39202
- if (patchListener) {
39203
- this.patches = [];
39204
- this.inversePatches = [];
39205
- this.patchListener = patchListener;
39206
- }
39207
- };
39208
-
39209
- ImmerScope.prototype.revoke = function revoke$1 () {
39210
- this.leave();
39211
- this.drafts.forEach(revoke);
39212
- this.drafts = null; // Make draft-related methods throw.
39213
- };
39214
-
39215
- ImmerScope.prototype.leave = function leave () {
39216
- if (this === ImmerScope.current) {
39217
- ImmerScope.current = this.parent;
39218
- }
39219
- };
39220
- ImmerScope.current = null;
39221
-
39222
- ImmerScope.enter = function () {
39223
- return this.current = new ImmerScope(this.current);
39224
- };
39225
-
39226
- function revoke(draft) {
39227
- draft[DRAFT_STATE].revoke();
39228
- }
39229
-
39230
- // but share them all instead
39231
-
39232
- var descriptors$1 = {};
39233
- function willFinalize(scope, result, isReplaced) {
39234
- scope.drafts.forEach(function (draft) {
39235
- draft[DRAFT_STATE].finalizing = true;
39236
- });
39237
-
39238
- if (!isReplaced) {
39239
- if (scope.patches) {
39240
- markChangesRecursively(scope.drafts[0]);
39241
- } // This is faster when we don't care about which attributes changed.
39242
-
39243
-
39244
- markChangesSweep(scope.drafts);
39245
- } // When a child draft is returned, look for changes.
39246
- else if (isDraft(result) && result[DRAFT_STATE].scope === scope) {
39247
- markChangesSweep(scope.drafts);
39248
- }
39249
- }
39250
- function createProxy(base, parent) {
39251
- var isArray = Array.isArray(base);
39252
- var draft = clonePotentialDraft(base);
39253
- each(draft, function (prop) {
39254
- proxyProperty(draft, prop, isArray || isEnumerable(base, prop));
39255
- }); // See "proxy.js" for property documentation.
39256
-
39257
- var scope = parent ? parent.scope : ImmerScope.current;
39258
- var state = {
39259
- scope: scope,
39260
- modified: false,
39261
- finalizing: false,
39262
- // es5 only
39263
- finalized: false,
39264
- assigned: {},
39265
- parent: parent,
39266
- base: base,
39267
- draft: draft,
39268
- copy: null,
39269
- revoke: revoke$1,
39270
- revoked: false // es5 only
39271
-
39272
- };
39273
- createHiddenProperty(draft, DRAFT_STATE, state);
39274
- scope.drafts.push(draft);
39275
- return draft;
39276
- }
39277
-
39278
- function revoke$1() {
39279
- this.revoked = true;
39280
- }
39281
-
39282
- function source(state) {
39283
- return state.copy || state.base;
39284
- } // Access a property without creating an Immer draft.
39285
-
39286
-
39287
- function peek(draft, prop) {
39288
- var state = draft[DRAFT_STATE];
39289
-
39290
- if (state && !state.finalizing) {
39291
- state.finalizing = true;
39292
- var value = draft[prop];
39293
- state.finalizing = false;
39294
- return value;
39295
- }
39296
-
39297
- return draft[prop];
39298
- }
39299
-
39300
- function get$1(state, prop) {
39301
- assertUnrevoked(state);
39302
- var value = peek(source(state), prop);
39303
- if (state.finalizing) { return value; } // Create a draft if the value is unmodified.
39304
-
39305
- if (value === peek(state.base, prop) && isDraftable(value)) {
39306
- prepareCopy(state);
39307
- return state.copy[prop] = createProxy(value, state);
39308
- }
39309
-
39310
- return value;
39311
- }
39312
-
39313
- function set$1(state, prop, value) {
39314
- assertUnrevoked(state);
39315
- state.assigned[prop] = true;
39316
-
39317
- if (!state.modified) {
39318
- if (is(value, peek(source(state), prop))) { return; }
39319
- markChanged(state);
39320
- prepareCopy(state);
39321
- }
39322
-
39323
- state.copy[prop] = value;
39324
- }
39325
-
39326
- function markChanged(state) {
39327
- if (!state.modified) {
39328
- state.modified = true;
39329
- if (state.parent) { markChanged(state.parent); }
39330
- }
39331
- }
39332
-
39333
- function prepareCopy(state) {
39334
- if (!state.copy) { state.copy = clonePotentialDraft(state.base); }
39335
- }
39336
-
39337
- function clonePotentialDraft(base) {
39338
- var state = base && base[DRAFT_STATE];
39339
-
39340
- if (state) {
39341
- state.finalizing = true;
39342
- var draft = shallowCopy(state.draft, true);
39343
- state.finalizing = false;
39344
- return draft;
39345
- }
39346
-
39347
- return shallowCopy(base);
39348
- }
39349
-
39350
- function proxyProperty(draft, prop, enumerable) {
39351
- var desc = descriptors$1[prop];
39352
-
39353
- if (desc) {
39354
- desc.enumerable = enumerable;
39355
- } else {
39356
- descriptors$1[prop] = desc = {
39357
- configurable: true,
39358
- enumerable: enumerable,
39359
-
39360
- get: function get$1$1() {
39361
- return get$1(this[DRAFT_STATE], prop);
39362
- },
39363
-
39364
- set: function set$1$1(value) {
39365
- set$1(this[DRAFT_STATE], prop, value);
39366
- }
39367
-
39368
- };
39369
- }
39370
-
39371
- Object.defineProperty(draft, prop, desc);
39372
- }
39373
-
39374
- function assertUnrevoked(state) {
39375
- if (state.revoked === true) { throw new Error("Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + JSON.stringify(source(state))); }
39376
- } // This looks expensive, but only proxies are visited, and only objects without known changes are scanned.
39377
-
39378
-
39379
- function markChangesSweep(drafts) {
39380
- // The natural order of drafts in the `scope` array is based on when they
39381
- // were accessed. By processing drafts in reverse natural order, we have a
39382
- // better chance of processing leaf nodes first. When a leaf node is known to
39383
- // have changed, we can avoid any traversal of its ancestor nodes.
39384
- for (var i = drafts.length - 1; i >= 0; i--) {
39385
- var state = drafts[i][DRAFT_STATE];
39386
-
39387
- if (!state.modified) {
39388
- if (Array.isArray(state.base)) {
39389
- if (hasArrayChanges(state)) { markChanged(state); }
39390
- } else if (hasObjectChanges(state)) { markChanged(state); }
39391
- }
39392
- }
39393
- }
39394
-
39395
- function markChangesRecursively(object) {
39396
- if (!object || typeof object !== "object") { return; }
39397
- var state = object[DRAFT_STATE];
39398
- if (!state) { return; }
39399
- var base = state.base;
39400
- var draft = state.draft;
39401
- var assigned = state.assigned;
39402
-
39403
- if (!Array.isArray(object)) {
39404
- // Look for added keys.
39405
- Object.keys(draft).forEach(function (key) {
39406
- // The `undefined` check is a fast path for pre-existing keys.
39407
- if (base[key] === undefined && !has$1(base, key)) {
39408
- assigned[key] = true;
39409
- markChanged(state);
39410
- } else if (!assigned[key]) {
39411
- // Only untouched properties trigger recursion.
39412
- markChangesRecursively(draft[key]);
39413
- }
39414
- }); // Look for removed keys.
39415
-
39416
- Object.keys(base).forEach(function (key) {
39417
- // The `undefined` check is a fast path for pre-existing keys.
39418
- if (draft[key] === undefined && !has$1(draft, key)) {
39419
- assigned[key] = false;
39420
- markChanged(state);
39421
- }
39422
- });
39423
- } else if (hasArrayChanges(state)) {
39424
- markChanged(state);
39425
- assigned.length = true;
39426
-
39427
- if (draft.length < base.length) {
39428
- for (var i = draft.length; i < base.length; i++) { assigned[i] = false; }
39429
- } else {
39430
- for (var i$1 = base.length; i$1 < draft.length; i$1++) { assigned[i$1] = true; }
39431
- }
39432
-
39433
- for (var i$2 = 0; i$2 < draft.length; i$2++) {
39434
- // Only untouched indices trigger recursion.
39435
- if (assigned[i$2] === undefined) { markChangesRecursively(draft[i$2]); }
39436
- }
39437
- }
39438
- }
39439
-
39440
- function hasObjectChanges(state) {
39441
- var base = state.base;
39442
- var draft = state.draft; // Search for added keys and changed keys. Start at the back, because
39443
- // non-numeric keys are ordered by time of definition on the object.
39444
-
39445
- var keys = Object.keys(draft);
39446
-
39447
- for (var i = keys.length - 1; i >= 0; i--) {
39448
- var key = keys[i];
39449
- var baseValue = base[key]; // The `undefined` check is a fast path for pre-existing keys.
39450
-
39451
- if (baseValue === undefined && !has$1(base, key)) {
39452
- return true;
39453
- } // Once a base key is deleted, future changes go undetected, because its
39454
- // descriptor is erased. This branch detects any missed changes.
39455
- else {
39456
- var value = draft[key];
39457
- var state$1 = value && value[DRAFT_STATE];
39458
-
39459
- if (state$1 ? state$1.base !== baseValue : !is(value, baseValue)) {
39460
- return true;
39461
- }
39462
- }
39463
- } // At this point, no keys were added or changed.
39464
- // Compare key count to determine if keys were deleted.
39465
-
39466
-
39467
- return keys.length !== Object.keys(base).length;
39468
- }
39469
-
39470
- function hasArrayChanges(state) {
39471
- var draft = state.draft;
39472
- if (draft.length !== state.base.length) { return true; } // See #116
39473
- // If we first shorten the length, our array interceptors will be removed.
39474
- // If after that new items are added, result in the same original length,
39475
- // those last items will have no intercepting property.
39476
- // So if there is no own descriptor on the last position, we know that items were removed and added
39477
- // N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check
39478
- // the last one
39479
-
39480
- var descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)
39481
-
39482
- if (descriptor && !descriptor.get) { return true; } // For all other cases, we don't have to compare, as they would have been picked up by the index setters
39483
-
39484
- return false;
39485
- }
39486
-
39487
- function createHiddenProperty(target, prop, value) {
39488
- Object.defineProperty(target, prop, {
39489
- value: value,
39490
- enumerable: false,
39491
- writable: true
39492
- });
39493
- }
39494
-
39495
- var legacyProxy = /*#__PURE__*/Object.freeze({
39496
- willFinalize: willFinalize,
39497
- createProxy: createProxy
39498
- });
39499
-
39500
- function willFinalize$1() {}
39501
- function createProxy$1(base, parent) {
39502
- var scope = parent ? parent.scope : ImmerScope.current;
39503
- var state = {
39504
- // Track which produce call this is associated with.
39505
- scope: scope,
39506
- // True for both shallow and deep changes.
39507
- modified: false,
39508
- // Used during finalization.
39509
- finalized: false,
39510
- // Track which properties have been assigned (true) or deleted (false).
39511
- assigned: {},
39512
- // The parent draft state.
39513
- parent: parent,
39514
- // The base state.
39515
- base: base,
39516
- // The base proxy.
39517
- draft: null,
39518
- // Any property proxies.
39519
- drafts: {},
39520
- // The base copy with any updated values.
39521
- copy: null,
39522
- // Called by the `produce` function.
39523
- revoke: null
39524
- };
39525
- var ref = Array.isArray(base) ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants,
39526
- // although state itself is an object
39527
- Proxy.revocable([state], arrayTraps) : Proxy.revocable(state, objectTraps);
39528
- var revoke = ref.revoke;
39529
- var proxy = ref.proxy;
39530
- state.draft = proxy;
39531
- state.revoke = revoke;
39532
- scope.drafts.push(proxy);
39533
- return proxy;
39534
- }
39535
- var objectTraps = {
39536
- get: get$1$1,
39537
-
39538
- has: function has(target, prop) {
39539
- return prop in source$1(target);
39540
- },
39541
-
39542
- ownKeys: function ownKeys(target) {
39543
- return Reflect.ownKeys(source$1(target));
39544
- },
39545
-
39546
- set: set$1$1,
39547
- deleteProperty: deleteProperty,
39548
- getOwnPropertyDescriptor: getOwnPropertyDescriptor$2,
39549
-
39550
- defineProperty: function defineProperty() {
39551
- throw new Error("Object.defineProperty() cannot be used on an Immer draft"); // prettier-ignore
39552
- },
39553
-
39554
- getPrototypeOf: function getPrototypeOf(target) {
39555
- return Object.getPrototypeOf(target.base);
39556
- },
39557
-
39558
- setPrototypeOf: function setPrototypeOf() {
39559
- throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft"); // prettier-ignore
39091
+ const computeErrorEntries = (formState) => {
39092
+ const fields = Object.entries(formState);
39093
+ for (let entry of fields) {
39094
+ let fieldName = entry[0];
39095
+ let errors = computeErrors(fieldName, formState);
39096
+ formState[fieldName].errors = errors;
39097
+ formState[fieldName].hasErrors = errors.length > 0;
39560
39098
  }
39561
-
39562
39099
  };
39563
- var arrayTraps = {};
39564
- each(objectTraps, function (key, fn) {
39565
- arrayTraps[key] = function () {
39566
- arguments[0] = arguments[0][0];
39567
- return fn.apply(this, arguments);
39568
- };
39569
- });
39570
39100
 
39571
- arrayTraps.deleteProperty = function (state, prop) {
39572
- if (isNaN(parseInt(prop))) {
39573
- throw new Error("Immer only supports deleting array indices"); // prettier-ignore
39101
+ const computeDirtyEntries = (formState, changedFieldName) => {
39102
+ const fields = Object.entries(formState);
39103
+ for (let entry of fields) {
39104
+ let fieldName = entry[0];
39105
+ let field = entry[1];
39106
+ let dirty = fieldName === changedFieldName ? true : field.dirty;
39107
+ formState[fieldName].dirty = dirty;
39574
39108
  }
39575
-
39576
- return objectTraps.deleteProperty.call(this, state[0], prop);
39577
39109
  };
39578
39110
 
39579
- arrayTraps.set = function (state, prop, value) {
39580
- if (prop !== "length" && isNaN(parseInt(prop))) {
39581
- throw new Error("Immer only supports setting array indices and the 'length' property"); // prettier-ignore
39582
- }
39583
-
39584
- return objectTraps.set.call(this, state[0], prop, value);
39585
- }; // returns the object we should be reading the current value from, which is base, until some change has been made
39586
-
39587
-
39588
- function source$1(state) {
39589
- return state.copy || state.base;
39590
- } // Access a property without creating an Immer draft.
39591
-
39111
+ function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r(n){return !!n&&!!n[Q]}function t(n){var r;return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a$1(n,r){return 2===o(n)?n.get(r):n[r]}function f$6(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t;}function c$1(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)||(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b$1(r){var t=tn[r];return t||n(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b$1("Patches"),n.u=[],n.s=[],n.v=r);}function g(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b$1("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b$1("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b$1("Patches").N(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s,v){if("production"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f$6(o,a,p),!r(p))return;e.m=!1;}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function N(n,r,t){var e=s(r)?b$1("MapSet").F(r,t):v(r)?b$1("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b$1("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b$1("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1;}else e=D(r,c);return i(e,(function(r,t){u&&a$1(u.t,r)===t||f$6(e,r,n(t));})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c$1(t,i)&&(void 0!==t||u(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n(6),void 0!==o&&"function"!=typeof o&&n(7),t(r)){var c=w(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?g(c):O(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d(f,!0),o){var p=[],l=[];b$1("Patches").M(r,f,p,l),o(p,l);}return f}n(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=R(e));var i=w(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n;},i.setUseProxies=function(r){r&&!B&&n(20),this.O=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b$1("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);var produce = fn;
39592
39112
 
39593
- function peek$1(draft, prop) {
39594
- var state = draft[DRAFT_STATE];
39595
- var desc = Reflect.getOwnPropertyDescriptor(state ? source$1(state) : draft, prop);
39596
- return desc && desc.value;
39597
- }
39598
-
39599
- function get$1$1(state, prop) {
39600
- if (prop === DRAFT_STATE) { return state; }
39601
- var drafts = state.drafts; // Check for existing draft in unmodified state.
39602
-
39603
- if (!state.modified && has$1(drafts, prop)) {
39604
- return drafts[prop];
39605
- }
39606
-
39607
- var value = source$1(state)[prop];
39608
-
39609
- if (state.finalized || !isDraftable(value)) {
39610
- return value;
39611
- } // Check for existing draft in modified state.
39612
-
39613
-
39614
- if (state.modified) {
39615
- // Assigned values are never drafted. This catches any drafts we created, too.
39616
- if (value !== peek$1(state.base, prop)) { return value; } // Store drafts on the copy (when one exists).
39617
-
39618
- drafts = state.copy;
39619
- }
39620
-
39621
- return drafts[prop] = createProxy$1(value, state);
39622
- }
39623
-
39624
- function set$1$1(state, prop, value) {
39625
- if (!state.modified) {
39626
- var baseValue = peek$1(state.base, prop); // Optimize based on value's truthiness. Truthy values are guaranteed to
39627
- // never be undefined, so we can avoid the `in` operator. Lastly, truthy
39628
- // values may be drafts, but falsy values are never drafts.
39629
-
39630
- var isUnchanged = value ? is(baseValue, value) || value === state.drafts[prop] : is(baseValue, value) && prop in state.base;
39631
- if (isUnchanged) { return true; }
39632
- markChanged$1(state);
39633
- }
39634
-
39635
- state.assigned[prop] = true;
39636
- state.copy[prop] = value;
39637
- return true;
39638
- }
39639
-
39640
- function deleteProperty(state, prop) {
39641
- // The `undefined` check is a fast path for pre-existing keys.
39642
- if (peek$1(state.base, prop) !== undefined || prop in state.base) {
39643
- state.assigned[prop] = false;
39644
- markChanged$1(state);
39645
- } else if (state.assigned[prop]) {
39646
- // if an originally not assigned property was deleted
39647
- delete state.assigned[prop];
39648
- }
39649
-
39650
- if (state.copy) { delete state.copy[prop]; }
39651
- return true;
39652
- } // Note: We never coerce `desc.value` into an Immer draft, because we can't make
39653
- // the same guarantee in ES5 mode.
39654
-
39655
-
39656
- function getOwnPropertyDescriptor$2(state, prop) {
39657
- var owner = source$1(state);
39658
- var desc = Reflect.getOwnPropertyDescriptor(owner, prop);
39659
-
39660
- if (desc) {
39661
- desc.writable = true;
39662
- desc.configurable = !Array.isArray(owner) || prop !== "length";
39663
- }
39664
-
39665
- return desc;
39666
- }
39667
-
39668
- function markChanged$1(state) {
39669
- if (!state.modified) {
39670
- state.modified = true;
39671
- state.copy = assign(shallowCopy(state.base), state.drafts);
39672
- state.drafts = null;
39673
- if (state.parent) { markChanged$1(state.parent); }
39674
- }
39675
- }
39676
-
39677
- var modernProxy = /*#__PURE__*/Object.freeze({
39678
- willFinalize: willFinalize$1,
39679
- createProxy: createProxy$1
39680
- });
39681
-
39682
- function generatePatches(state, basePath, patches, inversePatches) {
39683
- Array.isArray(state.base) ? generateArrayPatches(state, basePath, patches, inversePatches) : generateObjectPatches(state, basePath, patches, inversePatches);
39684
- }
39685
-
39686
- function generateArrayPatches(state, basePath, patches, inversePatches) {
39687
- var assign, assign$1;
39688
-
39689
- var base = state.base;
39690
- var copy = state.copy;
39691
- var assigned = state.assigned; // Reduce complexity by ensuring `base` is never longer.
39692
-
39693
- if (copy.length < base.length) {
39694
- (assign = [copy, base], base = assign[0], copy = assign[1]);
39695
- (assign$1 = [inversePatches, patches], patches = assign$1[0], inversePatches = assign$1[1]);
39696
- }
39697
-
39698
- var delta = copy.length - base.length; // Find the first replaced index.
39699
-
39700
- var start = 0;
39701
-
39702
- while (base[start] === copy[start] && start < base.length) {
39703
- ++start;
39704
- } // Find the last replaced index. Search from the end to optimize splice patches.
39705
-
39706
-
39707
- var end = base.length;
39708
-
39709
- while (end > start && base[end - 1] === copy[end + delta - 1]) {
39710
- --end;
39711
- } // Process replaced indices.
39712
-
39713
-
39714
- for (var i = start; i < end; ++i) {
39715
- if (assigned[i] && copy[i] !== base[i]) {
39716
- var path = basePath.concat([i]);
39717
- patches.push({
39718
- op: "replace",
39719
- path: path,
39720
- value: copy[i]
39721
- });
39722
- inversePatches.push({
39723
- op: "replace",
39724
- path: path,
39725
- value: base[i]
39726
- });
39727
- }
39728
- }
39729
-
39730
- var replaceCount = patches.length; // Process added indices.
39731
-
39732
- for (var i$1 = end + delta - 1; i$1 >= end; --i$1) {
39733
- var path$1 = basePath.concat([i$1]);
39734
- patches[replaceCount + i$1 - end] = {
39735
- op: "add",
39736
- path: path$1,
39737
- value: copy[i$1]
39738
- };
39739
- inversePatches.push({
39740
- op: "remove",
39741
- path: path$1
39742
- });
39743
- }
39744
- }
39745
-
39746
- function generateObjectPatches(state, basePath, patches, inversePatches) {
39747
- var base = state.base;
39748
- var copy = state.copy;
39749
- each(state.assigned, function (key, assignedValue) {
39750
- var origValue = base[key];
39751
- var value = copy[key];
39752
- var op = !assignedValue ? "remove" : key in base ? "replace" : "add";
39753
- if (origValue === value && op === "replace") { return; }
39754
- var path = basePath.concat(key);
39755
- patches.push(op === "remove" ? {
39756
- op: op,
39757
- path: path
39758
- } : {
39759
- op: op,
39760
- path: path,
39761
- value: value
39762
- });
39763
- inversePatches.push(op === "add" ? {
39764
- op: "remove",
39765
- path: path
39766
- } : op === "remove" ? {
39767
- op: "add",
39768
- path: path,
39769
- value: origValue
39770
- } : {
39771
- op: "replace",
39772
- path: path,
39773
- value: origValue
39774
- });
39775
- });
39776
- }
39777
-
39778
- var applyPatches = function (draft, patches) {
39779
- for (var i$1 = 0, list = patches; i$1 < list.length; i$1 += 1) {
39780
- var patch = list[i$1];
39781
-
39782
- var path = patch.path;
39783
- var op = patch.op;
39784
- var value = clone(patch.value); // used to clone patch to ensure original patch is not modified, see #411
39785
-
39786
- if (!path.length) { throw new Error("Illegal state"); }
39787
- var base = draft;
39788
-
39789
- for (var i = 0; i < path.length - 1; i++) {
39790
- base = base[path[i]];
39791
- if (!base || typeof base !== "object") { throw new Error("Cannot apply patch, path doesn't resolve: " + path.join("/")); } // prettier-ignore
39792
- }
39793
-
39794
- var key = path[path.length - 1];
39795
-
39796
- switch (op) {
39797
- case "replace":
39798
- // if value is an object, then it's assigned by reference
39799
- // in the following add or remove ops, the value field inside the patch will also be modifyed
39800
- // so we use value from the cloned patch
39801
- base[key] = value;
39802
- break;
39803
-
39804
- case "add":
39805
- if (Array.isArray(base)) {
39806
- // TODO: support "foo/-" paths for appending to an array
39807
- base.splice(key, 0, value);
39808
- } else {
39809
- base[key] = value;
39810
- }
39811
-
39812
- break;
39813
-
39814
- case "remove":
39815
- if (Array.isArray(base)) {
39816
- base.splice(key, 1);
39817
- } else {
39818
- delete base[key];
39819
- }
39820
-
39821
- break;
39822
-
39823
- default:
39824
- throw new Error("Unsupported patch operation: " + op);
39825
- }
39826
- }
39827
-
39828
- return draft;
39829
- };
39830
-
39831
- function verifyMinified() {}
39832
-
39833
- var configDefaults = {
39834
- useProxies: typeof Proxy !== "undefined" && typeof Reflect !== "undefined",
39835
- autoFreeze: typeof process !== "undefined" ? process.env.NODE_ENV !== "production" : verifyMinified.name === "verifyMinified",
39836
- onAssign: null,
39837
- onDelete: null,
39838
- onCopy: null
39839
- };
39840
- var Immer = function Immer(config) {
39841
- assign(this, configDefaults, config);
39842
- this.setUseProxies(this.useProxies);
39843
- this.produce = this.produce.bind(this);
39844
- };
39845
-
39846
- Immer.prototype.produce = function produce (base, recipe, patchListener) {
39847
- var this$1$1 = this;
39848
-
39849
- // curried invocation
39850
- if (typeof base === "function" && typeof recipe !== "function") {
39851
- var defaultBase = recipe;
39852
- recipe = base;
39853
- var self = this;
39854
- return function curriedProduce(base) {
39855
- var this$1$1 = this;
39856
- if ( base === void 0 ) base = defaultBase;
39857
- var args = [], len = arguments.length - 1;
39858
- while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
39859
-
39860
- return self.produce(base, function (draft) { return recipe.call.apply(recipe, [ this$1$1, draft ].concat( args )); }); // prettier-ignore
39861
- };
39862
- } // prettier-ignore
39863
-
39864
-
39865
- {
39866
- if (typeof recipe !== "function") {
39867
- throw new Error("The first or second argument to `produce` must be a function");
39868
- }
39869
-
39870
- if (patchListener !== undefined && typeof patchListener !== "function") {
39871
- throw new Error("The third argument to `produce` must be a function or undefined");
39872
- }
39873
- }
39874
- var result; // Only plain objects, arrays, and "immerable classes" are drafted.
39875
-
39876
- if (isDraftable(base)) {
39877
- var scope = ImmerScope.enter();
39878
- var proxy = this.createProxy(base);
39879
- var hasError = true;
39880
-
39881
- try {
39882
- result = recipe(proxy);
39883
- hasError = false;
39884
- } finally {
39885
- // finally instead of catch + rethrow better preserves original stack
39886
- if (hasError) { scope.revoke(); }else { scope.leave(); }
39887
- }
39888
-
39889
- if (result instanceof Promise) {
39890
- return result.then(function (result) {
39891
- scope.usePatches(patchListener);
39892
- return this$1$1.processResult(result, scope);
39893
- }, function (error) {
39894
- scope.revoke();
39895
- throw error;
39896
- });
39897
- }
39898
-
39899
- scope.usePatches(patchListener);
39900
- return this.processResult(result, scope);
39901
- } else {
39902
- result = recipe(base);
39903
- if (result === undefined) { return base; }
39904
- return result !== NOTHING ? result : undefined;
39905
- }
39906
- };
39907
-
39908
- Immer.prototype.produceWithPatches = function produceWithPatches (arg1, arg2, arg3) {
39909
- var this$1$1 = this;
39910
-
39911
- if (typeof arg1 === "function") {
39912
- return function (state) {
39913
- var args = [], len = arguments.length - 1;
39914
- while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
39915
-
39916
- return this$1$1.produceWithPatches(state, function (draft) { return arg1.apply(void 0, [ draft ].concat( args )); });
39917
- };
39918
- } // non-curried form
39919
-
39920
-
39921
- if (arg3) { throw new Error("A patch listener cannot be passed to produceWithPatches"); }
39922
- var patches, inversePatches;
39923
- var nextState = this.produce(arg1, arg2, function (p, ip) {
39924
- patches = p;
39925
- inversePatches = ip;
39926
- });
39927
- return [nextState, patches, inversePatches];
39928
- };
39929
-
39930
- Immer.prototype.createDraft = function createDraft (base) {
39931
- if (!isDraftable(base)) {
39932
- throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object"); // prettier-ignore
39933
- }
39934
-
39935
- var scope = ImmerScope.enter();
39936
- var proxy = this.createProxy(base);
39937
- proxy[DRAFT_STATE].isManual = true;
39938
- scope.leave();
39939
- return proxy;
39940
- };
39941
-
39942
- Immer.prototype.finishDraft = function finishDraft (draft, patchListener) {
39943
- var state = draft && draft[DRAFT_STATE];
39944
-
39945
- if (!state || !state.isManual) {
39946
- throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`"); // prettier-ignore
39947
- }
39948
-
39949
- if (state.finalized) {
39950
- throw new Error("The given draft is already finalized"); // prettier-ignore
39951
- }
39952
-
39953
- var scope = state.scope;
39954
- scope.usePatches(patchListener);
39955
- return this.processResult(undefined, scope);
39956
- };
39957
-
39958
- Immer.prototype.setAutoFreeze = function setAutoFreeze (value) {
39959
- this.autoFreeze = value;
39960
- };
39961
-
39962
- Immer.prototype.setUseProxies = function setUseProxies (value) {
39963
- this.useProxies = value;
39964
- assign(this, value ? modernProxy : legacyProxy);
39965
- };
39966
-
39967
- Immer.prototype.applyPatches = function applyPatches$1 (base, patches) {
39968
- // If a patch replaces the entire state, take that replacement as base
39969
- // before applying patches
39970
- var i;
39971
-
39972
- for (i = patches.length - 1; i >= 0; i--) {
39973
- var patch = patches[i];
39974
-
39975
- if (patch.path.length === 0 && patch.op === "replace") {
39976
- base = patch.value;
39977
- break;
39978
- }
39979
- }
39980
-
39981
- if (isDraft(base)) {
39982
- // N.B: never hits if some patch a replacement, patches are never drafts
39983
- return applyPatches(base, patches);
39984
- } // Otherwise, produce a copy of the base state.
39985
-
39986
-
39987
- return this.produce(base, function (draft) { return applyPatches(draft, patches.slice(i + 1)); });
39988
- };
39989
- /** @internal */
39990
-
39991
-
39992
- Immer.prototype.processResult = function processResult (result, scope) {
39993
- var baseDraft = scope.drafts[0];
39994
- var isReplaced = result !== undefined && result !== baseDraft;
39995
- this.willFinalize(scope, result, isReplaced);
39996
-
39997
- if (isReplaced) {
39998
- if (baseDraft[DRAFT_STATE].modified) {
39999
- scope.revoke();
40000
- throw new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft."); // prettier-ignore
40001
- }
40002
-
40003
- if (isDraftable(result)) {
40004
- // Finalize the result in case it contains (or is) a subset of the draft.
40005
- result = this.finalize(result, null, scope);
40006
- }
40007
-
40008
- if (scope.patches) {
40009
- scope.patches.push({
40010
- op: "replace",
40011
- path: [],
40012
- value: result
40013
- });
40014
- scope.inversePatches.push({
40015
- op: "replace",
40016
- path: [],
40017
- value: baseDraft[DRAFT_STATE].base
40018
- });
40019
- }
40020
- } else {
40021
- // Finalize the base draft.
40022
- result = this.finalize(baseDraft, [], scope);
40023
- }
40024
-
40025
- scope.revoke();
40026
-
40027
- if (scope.patches) {
40028
- scope.patchListener(scope.patches, scope.inversePatches);
40029
- }
40030
-
40031
- return result !== NOTHING ? result : undefined;
40032
- };
40033
- /**
40034
- * @internal
40035
- * Finalize a draft, returning either the unmodified base state or a modified
40036
- * copy of the base state.
40037
- */
40038
-
40039
-
40040
- Immer.prototype.finalize = function finalize (draft, path, scope) {
40041
- var this$1$1 = this;
40042
-
40043
- var state = draft[DRAFT_STATE];
40044
-
40045
- if (!state) {
40046
- if (Object.isFrozen(draft)) { return draft; }
40047
- return this.finalizeTree(draft, null, scope);
40048
- } // Never finalize drafts owned by another scope.
40049
-
40050
-
40051
- if (state.scope !== scope) {
40052
- return draft;
40053
- }
40054
-
40055
- if (!state.modified) {
40056
- return state.base;
40057
- }
40058
-
40059
- if (!state.finalized) {
40060
- state.finalized = true;
40061
- this.finalizeTree(state.draft, path, scope);
40062
-
40063
- if (this.onDelete) {
40064
- // The `assigned` object is unreliable with ES5 drafts.
40065
- if (this.useProxies) {
40066
- var assigned = state.assigned;
40067
-
40068
- for (var prop in assigned) {
40069
- if (!assigned[prop]) { this.onDelete(state, prop); }
40070
- }
40071
- } else {
40072
- var base = state.base;
40073
- var copy = state.copy;
40074
- each(base, function (prop) {
40075
- if (!has$1(copy, prop)) { this$1$1.onDelete(state, prop); }
40076
- });
40077
- }
40078
- }
40079
-
40080
- if (this.onCopy) {
40081
- this.onCopy(state);
40082
- } // At this point, all descendants of `state.copy` have been finalized,
40083
- // so we can be sure that `scope.canAutoFreeze` is accurate.
40084
-
40085
-
40086
- if (this.autoFreeze && scope.canAutoFreeze) {
40087
- Object.freeze(state.copy);
40088
- }
40089
-
40090
- if (path && scope.patches) {
40091
- generatePatches(state, path, scope.patches, scope.inversePatches);
40092
- }
40093
- }
40094
-
40095
- return state.copy;
40096
- };
40097
- /**
40098
- * @internal
40099
- * Finalize all drafts in the given state tree.
40100
- */
40101
-
40102
-
40103
- Immer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) {
40104
- var this$1$1 = this;
40105
-
40106
- var state = root[DRAFT_STATE];
40107
-
40108
- if (state) {
40109
- if (!this.useProxies) {
40110
- // Create the final copy, with added keys and without deleted keys.
40111
- state.copy = shallowCopy(state.draft, true);
40112
- }
40113
-
40114
- root = state.copy;
40115
- }
40116
-
40117
- var needPatches = !!rootPath && !!scope.patches;
40118
-
40119
- var finalizeProperty = function (prop, value, parent) {
40120
- if (value === parent) {
40121
- throw Error("Immer forbids circular references");
40122
- } // In the `finalizeTree` method, only the `root` object may be a draft.
40123
-
40124
-
40125
- var isDraftProp = !!state && parent === root;
40126
-
40127
- if (isDraft(value)) {
40128
- var path = isDraftProp && needPatches && !state.assigned[prop] ? rootPath.concat(prop) : null; // Drafts owned by `scope` are finalized here.
40129
-
40130
- value = this$1$1.finalize(value, path, scope); // Drafts from another scope must prevent auto-freezing.
40131
-
40132
- if (isDraft(value)) {
40133
- scope.canAutoFreeze = false;
40134
- } // Preserve non-enumerable properties.
40135
-
40136
-
40137
- if (Array.isArray(parent) || isEnumerable(parent, prop)) {
40138
- parent[prop] = value;
40139
- } else {
40140
- Object.defineProperty(parent, prop, {
40141
- value: value
40142
- });
40143
- } // Unchanged drafts are never passed to the `onAssign` hook.
40144
-
40145
-
40146
- if (isDraftProp && value === state.base[prop]) { return; }
40147
- } // Unchanged draft properties are ignored.
40148
- else if (isDraftProp && is(value, state.base[prop])) {
40149
- return;
40150
- } // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.
40151
- else if (isDraftable(value) && !Object.isFrozen(value)) {
40152
- each(value, finalizeProperty);
40153
- }
40154
-
40155
- if (isDraftProp && this$1$1.onAssign) {
40156
- this$1$1.onAssign(state, prop, value);
40157
- }
40158
- };
40159
-
40160
- each(root, finalizeProperty);
40161
- return root;
40162
- };
40163
-
40164
- var immer = new Immer();
40165
- /**
40166
- * The `produce` function takes a value and a "recipe function" (whose
40167
- * return value often depends on the base state). The recipe function is
40168
- * free to mutate its first argument however it wants. All mutations are
40169
- * only ever applied to a __copy__ of the base state.
40170
- *
40171
- * Pass only a function to create a "curried producer" which relieves you
40172
- * from passing the recipe function every time.
40173
- *
40174
- * Only plain objects and arrays are made mutable. All other objects are
40175
- * considered uncopyable.
40176
- *
40177
- * Note: This function is __bound__ to its `Immer` instance.
40178
- *
40179
- * @param {any} base - the initial state
40180
- * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified
40181
- * @param {Function} patchListener - optional function that will be called with all the patches produced here
40182
- * @returns {any} a new state, or the initial state if nothing was modified
40183
- */
40184
-
40185
- var produce = immer.produce;
40186
- /**
40187
- * Like `produce`, but `produceWithPatches` always returns a tuple
40188
- * [nextState, patches, inversePatches] (instead of just the next state)
40189
- */
40190
-
40191
- immer.produceWithPatches.bind(immer);
40192
- /**
40193
- * Pass true to automatically freeze all copies created by Immer.
40194
- *
40195
- * By default, auto-freezing is disabled in production.
40196
- */
40197
-
40198
- immer.setAutoFreeze.bind(immer);
40199
- /**
40200
- * Pass true to use the ES2015 `Proxy` class when creating drafts, which is
40201
- * always faster than using ES5 proxies.
40202
- *
40203
- * By default, feature detection is used, so calling this is rarely necessary.
40204
- */
40205
-
40206
- immer.setUseProxies.bind(immer);
40207
- /**
40208
- * Apply an array of Immer patches to the first argument.
40209
- *
40210
- * This function is a producer, which means copy-on-write is in effect.
40211
- */
40212
-
40213
- immer.applyPatches.bind(immer);
40214
- /**
40215
- * Create an Immer draft from the given base state, which may be a draft itself.
40216
- * The draft can be modified until you finalize it with the `finishDraft` function.
40217
- */
40218
-
40219
- immer.createDraft.bind(immer);
40220
- /**
40221
- * Finalize an Immer draft from a `createDraft` call, returning the base state
40222
- * (if no changes were made) or a modified copy. The draft must *not* be
40223
- * mutated afterwards.
40224
- *
40225
- * Pass a function as the 2nd argument to generate Immer patches based on the
40226
- * changes that were made.
40227
- */
40228
-
40229
- immer.finishDraft.bind(immer);
40230
-
40231
- const createInitialState = formConfig => {
39113
+ const createInitialState = (formConfig) => {
40232
39114
  let initialForm = {};
40233
39115
  const formConfigKeys = Object.keys(formConfig);
40234
39116
  for (let formKey of formConfigKeys) {
40235
39117
  initialForm[formKey] = {
40236
39118
  dirty: false,
40237
- rawValue: formConfig[formKey].defaultValue || "",
39119
+ rawValue: formConfig[formKey].defaultValue || '',
40238
39120
  validators: formConfig[formKey].validators || [],
40239
- constraints: formConfig[formKey].constraints || []
39121
+ constraints: formConfig[formKey].constraints || [],
40240
39122
  };
40241
39123
  }
40242
39124
  // Because validators require the entire form we have to do a
@@ -40247,82 +39129,99 @@ const createInitialState = formConfig => {
40247
39129
  initialForm[formKey].errors = errors;
40248
39130
  initialForm[formKey].hasErrors = errors.length > 0;
40249
39131
  }
39132
+
40250
39133
  return initialForm;
40251
39134
  };
40252
39135
 
40253
- const SET = "field/SET";
40254
- const set$2 = fieldName => value => ({
39136
+ const SET = 'field/SET';
39137
+ const set$1 = (fieldName) => (value) => ({
40255
39138
  type: SET,
40256
- payload: { fieldName, value }
39139
+ payload: { fieldName, value },
40257
39140
  });
40258
39141
 
40259
- const CLEAR = "form/CLEAR";
39142
+ const CLEAR = 'form/CLEAR';
40260
39143
  const clear = () => ({ type: CLEAR });
40261
39144
 
40262
- const ADD_VALIDATOR = "field/ADD_VALIDATOR";
40263
- const addValidator = fieldName => validator => ({
39145
+ const ADD_VALIDATOR = 'field/ADD_VALIDATOR';
39146
+ const addValidator = (fieldName) => (validator) => ({
40264
39147
  type: ADD_VALIDATOR,
40265
- payload: { fieldName, validator }
39148
+ payload: { fieldName, validator },
40266
39149
  });
40267
39150
 
40268
- const createFormReducer = formConfig => (
40269
- state = createInitialState(formConfig),
40270
- action
40271
- ) => {
40272
- switch (action.type) {
40273
- case SET:
40274
- const changedFieldName = action.payload.fieldName;
40275
- const newRawValue = action.payload.value;
40276
-
40277
- return produce(state, draftState => {
40278
- let originalValue = draftState[changedFieldName].rawValue;
40279
- draftState[changedFieldName].rawValue = newRawValue;
40280
- if (computeConstraints(changedFieldName, draftState).length > 0) {
40281
- // If the change violates constraints, revert the change
40282
- draftState[changedFieldName].rawValue = originalValue;
40283
- return draftState;
40284
- }
39151
+ const REMOVE_VALIDATOR = 'field/REMOVE_VALIDATOR';
39152
+ const removeValidator = (fieldName) => (validator) => ({
39153
+ type: REMOVE_VALIDATOR,
39154
+ payload: { fieldName, validator },
39155
+ });
40285
39156
 
40286
- const fields = Object.entries(draftState);
40287
- for (let entry of fields) {
40288
- let fieldName = entry[0];
40289
- let field = entry[1];
40290
- let errors = computeErrors(fieldName, draftState);
40291
- let dirty = fieldName === changedFieldName ? true : field.dirty;
40292
- draftState[fieldName].errors = errors;
40293
- draftState[fieldName].dirty = dirty;
40294
- draftState[fieldName].hasErrors = errors.length > 0;
40295
- }
40296
- });
40297
- case CLEAR:
40298
- return createInitialState(formConfig);
40299
- case ADD_VALIDATOR:
40300
- const fieldWithOverride = action.payload.fieldName;
40301
- const newValidator = action.payload.validator;
40302
-
40303
- return produce(state, draftState => {
40304
- draftState[fieldWithOverride].validators.push(newValidator);
40305
- const fields = Object.entries(draftState);
40306
- for (let entry of fields) {
40307
- let fieldName = entry[0];
40308
- let field = entry[1];
40309
- let errors = computeErrors(fieldName, draftState);
40310
- let dirty = field.dirty;
40311
- draftState[fieldName].errors = errors;
40312
- draftState[fieldName].dirty = dirty;
40313
- draftState[fieldName].hasErrors = errors.length > 0;
40314
- }
40315
- });
40316
- default:
40317
- return state;
40318
- }
40319
- };
39157
+ const CLEAR_FIELD_VALIDATORS = 'field/CLEAR_FIELD_VALIDATORS';
39158
+ const clearFieldValidators = (fieldName) => () => ({
39159
+ type: CLEAR_FIELD_VALIDATORS,
39160
+ payload: { fieldName },
39161
+ });
40320
39162
 
40321
- const createMapDispatchToProps = formConfig => {
39163
+ const createFormReducer =
39164
+ (formConfig) =>
39165
+ (state = createInitialState(formConfig), action) => {
39166
+ switch (action.type) {
39167
+ case SET: {
39168
+ const changedFieldName = action.payload.fieldName;
39169
+ const newRawValue = action.payload.value;
39170
+
39171
+ return produce(state, (draftState) => {
39172
+ let originalValue = draftState[changedFieldName].rawValue;
39173
+ draftState[changedFieldName].rawValue = newRawValue;
39174
+ if (computeConstraints(changedFieldName, draftState).length > 0) {
39175
+ // If the change violates constraints, revert the change
39176
+ draftState[changedFieldName].rawValue = originalValue;
39177
+ return draftState;
39178
+ }
39179
+
39180
+ computeDirtyEntries(draftState, changedFieldName);
39181
+ computeErrorEntries(draftState);
39182
+ });
39183
+ }
39184
+ case CLEAR:
39185
+ return createInitialState(formConfig);
39186
+ case ADD_VALIDATOR: {
39187
+ const fieldWithOverride = action.payload.fieldName;
39188
+ const newValidator = action.payload.validator;
39189
+
39190
+ return produce(state, (draftState) => {
39191
+ draftState[fieldWithOverride].validators.push(newValidator);
39192
+ computeErrorEntries(draftState);
39193
+ });
39194
+ }
39195
+ case REMOVE_VALIDATOR: {
39196
+ const fieldToOverride = action.payload.fieldName;
39197
+ const targetValidator = action.payload.validator;
39198
+
39199
+ return produce(state, (draftState) => {
39200
+ let fieldValidators = draftState[fieldToOverride].validators;
39201
+ draftState[fieldToOverride].validators = fieldValidators.filter(
39202
+ (validator) => validator.type !== targetValidator.type
39203
+ );
39204
+ computeErrorEntries(draftState);
39205
+ });
39206
+ }
39207
+ case CLEAR_FIELD_VALIDATORS: {
39208
+ const fieldToClear = action.payload.fieldName;
39209
+
39210
+ return produce(state, (draftState) => {
39211
+ draftState[fieldToClear].validators = [];
39212
+ computeErrorEntries(draftState);
39213
+ });
39214
+ }
39215
+ default:
39216
+ return state;
39217
+ }
39218
+ };
39219
+
39220
+ const createMapDispatchToProps = (formConfig) => {
40322
39221
  // Do memo-ization
40323
39222
  let cachedDispatch;
40324
39223
  let cacheValue;
40325
- return dispatch => {
39224
+ return (dispatch) => {
40326
39225
  if (dispatch == cachedDispatch) {
40327
39226
  return cacheValue;
40328
39227
  }
@@ -40331,8 +39230,11 @@ const createMapDispatchToProps = formConfig => {
40331
39230
  const keys = Object.keys(formConfig);
40332
39231
  for (let fieldName of keys) {
40333
39232
  dispatchObj.fields[fieldName] = {
40334
- set: value => dispatch(set$2(fieldName)(value)),
40335
- addValidator: validator => dispatch(addValidator(fieldName)(validator))
39233
+ set: (value) => dispatch(set$1(fieldName)(value)),
39234
+ addValidator: (validator) => dispatch(addValidator(fieldName)(validator)),
39235
+ removeValidator: (validator) =>
39236
+ dispatch(removeValidator(fieldName)(validator)),
39237
+ clear: () => dispatch(clearFieldValidators(fieldName)()),
40336
39238
  };
40337
39239
  }
40338
39240
  dispatchObj.form = { clear: () => dispatch(clear()) };
@@ -40342,12 +39244,12 @@ const createMapDispatchToProps = formConfig => {
40342
39244
  };
40343
39245
  };
40344
39246
 
40345
- const mapStateToProps = state => ({ fields: state });
39247
+ const mapStateToProps = (state) => ({ fields: state });
40346
39248
 
40347
- const createFormState = formConfig => ({
39249
+ const createFormState = (formConfig) => ({
40348
39250
  reducer: createFormReducer(formConfig),
40349
39251
  mapDispatchToProps: createMapDispatchToProps(formConfig),
40350
- mapStateToProps: mapStateToProps
39252
+ mapStateToProps: mapStateToProps,
40351
39253
  });
40352
39254
 
40353
39255
  var AddressForm = function AddressForm(_ref) {
@@ -43213,12 +42115,12 @@ LoginForm.mapDispatchToProps = mapDispatchToProps$5;
43213
42115
  * This source code is licensed under the MIT license found in the
43214
42116
  * LICENSE file in the root directory of this source tree.
43215
42117
  */
43216
- var b$1="function"===typeof Symbol&&Symbol.for,c$1=b$1?Symbol.for("react.element"):60103,d=b$1?Symbol.for("react.portal"):60106,e=b$1?Symbol.for("react.fragment"):60107,f$6=b$1?Symbol.for("react.strict_mode"):60108,g=b$1?Symbol.for("react.profiler"):60114,h=b$1?Symbol.for("react.provider"):60109,k=b$1?Symbol.for("react.context"):60110,l=b$1?Symbol.for("react.async_mode"):60111,m=b$1?Symbol.for("react.concurrent_mode"):60111,n=b$1?Symbol.for("react.forward_ref"):60112,p=b$1?Symbol.for("react.suspense"):60113,q=b$1?
43217
- Symbol.for("react.suspense_list"):60120,r=b$1?Symbol.for("react.memo"):60115,t=b$1?Symbol.for("react.lazy"):60116,v=b$1?Symbol.for("react.block"):60121,w=b$1?Symbol.for("react.fundamental"):60117,x=b$1?Symbol.for("react.responder"):60118,y=b$1?Symbol.for("react.scope"):60119;
43218
- function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$1:switch(a=a.type,a){case l:case m:case e:case g:case f$6:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}var AsyncMode=l;var ConcurrentMode=m;var ContextConsumer=k;var ContextProvider=h;var Element$1=c$1;var ForwardRef=n;var Fragment=e;var Lazy=t;var Memo=r;var Portal=d;
43219
- var Profiler=g;var StrictMode=f$6;var Suspense=p;var isAsyncMode=function(a){return A(a)||z(a)===l};var isConcurrentMode=A;var isContextConsumer=function(a){return z(a)===k};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c$1};var isForwardRef=function(a){return z(a)===n};var isFragment=function(a){return z(a)===e};var isLazy=function(a){return z(a)===t};
43220
- var isMemo=function(a){return z(a)===r};var isPortal=function(a){return z(a)===d};var isProfiler=function(a){return z(a)===g};var isStrictMode=function(a){return z(a)===f$6};var isSuspense=function(a){return z(a)===p};
43221
- var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f$6||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};var typeOf=z;
42118
+ var b$2="function"===typeof Symbol&&Symbol.for,c$2=b$2?Symbol.for("react.element"):60103,d$1=b$2?Symbol.for("react.portal"):60106,e=b$2?Symbol.for("react.fragment"):60107,f$7=b$2?Symbol.for("react.strict_mode"):60108,g$1=b$2?Symbol.for("react.profiler"):60114,h$1=b$2?Symbol.for("react.provider"):60109,k$1=b$2?Symbol.for("react.context"):60110,l$1=b$2?Symbol.for("react.async_mode"):60111,m=b$2?Symbol.for("react.concurrent_mode"):60111,n$1=b$2?Symbol.for("react.forward_ref"):60112,p$1=b$2?Symbol.for("react.suspense"):60113,q$1=b$2?
42119
+ Symbol.for("react.suspense_list"):60120,r$1=b$2?Symbol.for("react.memo"):60115,t$1=b$2?Symbol.for("react.lazy"):60116,v$1=b$2?Symbol.for("react.block"):60121,w$1=b$2?Symbol.for("react.fundamental"):60117,x$1=b$2?Symbol.for("react.responder"):60118,y$1=b$2?Symbol.for("react.scope"):60119;
42120
+ function z$1(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$2:switch(a=a.type,a){case l$1:case m:case e:case g$1:case f$7:case p$1:return a;default:switch(a=a&&a.$$typeof,a){case k$1:case n$1:case t$1:case r$1:case h$1:return a;default:return u}}case d$1:return u}}}function A$1(a){return z$1(a)===m}var AsyncMode=l$1;var ConcurrentMode=m;var ContextConsumer=k$1;var ContextProvider=h$1;var Element$1=c$2;var ForwardRef=n$1;var Fragment=e;var Lazy=t$1;var Memo=r$1;var Portal=d$1;
42121
+ var Profiler=g$1;var StrictMode=f$7;var Suspense=p$1;var isAsyncMode=function(a){return A$1(a)||z$1(a)===l$1};var isConcurrentMode=A$1;var isContextConsumer=function(a){return z$1(a)===k$1};var isContextProvider=function(a){return z$1(a)===h$1};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c$2};var isForwardRef=function(a){return z$1(a)===n$1};var isFragment=function(a){return z$1(a)===e};var isLazy=function(a){return z$1(a)===t$1};
42122
+ var isMemo=function(a){return z$1(a)===r$1};var isPortal=function(a){return z$1(a)===d$1};var isProfiler=function(a){return z$1(a)===g$1};var isStrictMode=function(a){return z$1(a)===f$7};var isSuspense=function(a){return z$1(a)===p$1};
42123
+ var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g$1||a===f$7||a===p$1||a===q$1||"object"===typeof a&&null!==a&&(a.$$typeof===t$1||a.$$typeof===r$1||a.$$typeof===h$1||a.$$typeof===k$1||a.$$typeof===n$1||a.$$typeof===w$1||a.$$typeof===x$1||a.$$typeof===y$1||a.$$typeof===v$1)};var typeOf=z$1;
43222
42124
 
43223
42125
  var reactIs_production_min = {
43224
42126
  AsyncMode: AsyncMode,
@@ -43589,14 +42491,14 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
43589
42491
 
43590
42492
  var ReactPropTypesSecret_1 = ReactPropTypesSecret;
43591
42493
 
43592
- var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
42494
+ var has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
43593
42495
 
43594
42496
  var printWarning = function() {};
43595
42497
 
43596
42498
  if (process.env.NODE_ENV !== 'production') {
43597
42499
  var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
43598
42500
  var loggedTypeFailures = {};
43599
- var has$3 = has$2;
42501
+ var has$2 = has$1;
43600
42502
 
43601
42503
  printWarning = function(text) {
43602
42504
  var message = 'Warning: ' + text;
@@ -43626,7 +42528,7 @@ if (process.env.NODE_ENV !== 'production') {
43626
42528
  function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
43627
42529
  if (process.env.NODE_ENV !== 'production') {
43628
42530
  for (var typeSpecName in typeSpecs) {
43629
- if (has$3(typeSpecs, typeSpecName)) {
42531
+ if (has$2(typeSpecs, typeSpecName)) {
43630
42532
  var error;
43631
42533
  // Prop type validation may throw. In case they do, we don't want to
43632
42534
  // fail the render phase where it didn't fail before. So we log it.
@@ -44025,7 +42927,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
44025
42927
  return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
44026
42928
  }
44027
42929
  for (var key in propValue) {
44028
- if (has$2(propValue, key)) {
42930
+ if (has$1(propValue, key)) {
44029
42931
  var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
44030
42932
  if (error instanceof Error) {
44031
42933
  return error;
@@ -44062,7 +42964,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
44062
42964
  if (checkerResult == null) {
44063
42965
  return null;
44064
42966
  }
44065
- if (checkerResult.data && has$2(checkerResult.data, 'expectedType')) {
42967
+ if (checkerResult.data && has$1(checkerResult.data, 'expectedType')) {
44066
42968
  expectedTypes.push(checkerResult.data.expectedType);
44067
42969
  }
44068
42970
  }
@@ -44122,7 +43024,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
44122
43024
  var allKeys = objectAssign({}, props[propName], shapeTypes);
44123
43025
  for (var key in allKeys) {
44124
43026
  var checker = shapeTypes[key];
44125
- if (has$2(shapeTypes, key) && typeof checker !== 'function') {
43027
+ if (has$1(shapeTypes, key) && typeof checker !== 'function') {
44126
43028
  return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
44127
43029
  }
44128
43030
  if (!checker) {
@@ -44860,7 +43762,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
44860
43762
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
44861
43763
  */
44862
43764
 
44863
- function ownKeys$3(object, enumerableOnly) {
43765
+ function ownKeys$2(object, enumerableOnly) {
44864
43766
  var keys = Object.keys(object);
44865
43767
 
44866
43768
  if (Object.getOwnPropertySymbols) {
@@ -44876,9 +43778,9 @@ function ownKeys$3(object, enumerableOnly) {
44876
43778
  function _objectSpread2$1(target) {
44877
43779
  for (var i = 1; i < arguments.length; i++) {
44878
43780
  var source = null != arguments[i] ? arguments[i] : {};
44879
- i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) {
43781
+ i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {
44880
43782
  _defineProperty$1(target, key, source[key]);
44881
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) {
43783
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {
44882
43784
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
44883
43785
  });
44884
43786
  }
@@ -47849,24 +46751,7 @@ var createPartialAmountFormState = function createPartialAmountFormState(lineIte
47849
46751
  var minimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
47850
46752
  var blockPartialPaymentOverpay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
47851
46753
  var formConfig = lineItems.reduce(function (acc, item) {
47852
- var validators = [required(), validateSum(numberGreaterThanOrEqualTo(minimum), lineItems.filter(function (lineItem) {
47853
- return lineItem != item;
47854
- }).reduce(function (acc, curr) {
47855
- return [].concat(_toConsumableArray(acc), [curr.id]);
47856
- }, []))];
47857
-
47858
- if (!!maximum) {
47859
- validators.push(validateSum(numberLessThanOrEqualTo(maximum), lineItems.filter(function (lineItem) {
47860
- return lineItem != item;
47861
- }).reduce(function (acc, curr) {
47862
- return [].concat(_toConsumableArray(acc), [curr.id]);
47863
- }, [])));
47864
- }
47865
-
47866
- if (blockPartialPaymentOverpay) {
47867
- validators.push(numberLessThanOrEqualTo(item.amount));
47868
- }
47869
-
46754
+ var validators = createPartialAmountFormValidators(item, lineItems, maximum, minimum, blockPartialPaymentOverpay);
47870
46755
  return _objectSpread2(_objectSpread2({}, acc), {}, _defineProperty({}, item.id, {
47871
46756
  validators: validators,
47872
46757
  constraints: [onlyNaturals()],
@@ -47885,6 +46770,29 @@ var createPartialAmountFormState = function createPartialAmountFormState(lineIte
47885
46770
  partialAmountFormMapDispatchToProps: mapDispatchToProps
47886
46771
  };
47887
46772
  };
46773
+ var createPartialAmountFormValidators = function createPartialAmountFormValidators(item, lineItems, maximum) {
46774
+ var minimum = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
46775
+ var blockPartialPaymentOverpay = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
46776
+ var validators = [required(), validateSum(numberGreaterThanOrEqualTo(minimum), lineItems.filter(function (lineItem) {
46777
+ return lineItem != item;
46778
+ }).reduce(function (acc, curr) {
46779
+ return [].concat(_toConsumableArray(acc), [curr.id]);
46780
+ }, []))];
46781
+
46782
+ if (!!maximum) {
46783
+ validators.push(validateSum(numberLessThanOrEqualTo(maximum), lineItems.filter(function (lineItem) {
46784
+ return lineItem != item;
46785
+ }).reduce(function (acc, curr) {
46786
+ return [].concat(_toConsumableArray(acc), [curr.id]);
46787
+ }, [])));
46788
+ }
46789
+
46790
+ if (blockPartialPaymentOverpay) {
46791
+ validators.push(numberLessThanOrEqualTo(item.amount));
46792
+ }
46793
+
46794
+ return validators;
46795
+ };
47888
46796
 
47889
46797
  var arrowColor = WHITE;
47890
46798
  var numberColor = MATISSE_BLUE;
@@ -50788,6 +49696,7 @@ exports.XCircleIconSmall = XCircleIconSmall;
50788
49696
  exports.cardRegistry = cardRegistry;
50789
49697
  exports.constants = index$5;
50790
49698
  exports.createPartialAmountFormState = createPartialAmountFormState;
49699
+ exports.createPartialAmountFormValidators = createPartialAmountFormValidators;
50791
49700
  exports.util = index$4;
50792
49701
  exports.withWindowSize = withWindowSize;
50793
49702
  //# sourceMappingURL=index.cjs.js.map