@thecb/components 9.2.0 → 9.2.2-beta.0
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 +230 -1328
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +230 -1328
- package/dist/index.esm.js.map +1 -1
- package/dist/src/apps/checkout/pages/payment/sub-pages/payment-amount/PaymentAmount_old.js +49322 -0
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/components/.DS_Store +0 -0
- package/src/components/atoms/.DS_Store +0 -0
- package/src/components/atoms/dropdown/Dropdown.js +2 -4
- package/src/components/atoms/icons/.DS_Store +0 -0
package/dist/index.esm.js
CHANGED
|
@@ -23988,7 +23988,7 @@ var Dropdown = function Dropdown(_ref13) {
|
|
|
23988
23988
|
}
|
|
23989
23989
|
|
|
23990
23990
|
setFilteredOptions(options.filter(function (option) {
|
|
23991
|
-
return option.value.toLowerCase().
|
|
23991
|
+
return option.value.toLowerCase().match(inputValue.toLowerCase());
|
|
23992
23992
|
}));
|
|
23993
23993
|
}, [inputValue]);
|
|
23994
23994
|
useEffect$1(function () {
|
|
@@ -38739,44 +38739,52 @@ var TableHeading_styled = styled.th.withConfig({
|
|
|
38739
38739
|
return extraStyles;
|
|
38740
38740
|
});
|
|
38741
38741
|
|
|
38742
|
-
const validatorToPredicate =
|
|
38743
|
-
|
|
38744
|
-
...rest
|
|
38745
|
-
|
|
38742
|
+
const validatorToPredicate =
|
|
38743
|
+
(validatorFn, emptyCase) =>
|
|
38744
|
+
(value, ...rest) =>
|
|
38745
|
+
value === '' ? emptyCase : validatorFn(value, ...rest);
|
|
38746
38746
|
|
|
38747
38747
|
var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
38748
38748
|
|
|
38749
|
+
function getDefaultExportFromCjs (x) {
|
|
38750
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
38751
|
+
}
|
|
38752
|
+
|
|
38749
38753
|
var dayjs_min = {exports: {}};
|
|
38750
38754
|
|
|
38751
38755
|
(function (module, exports) {
|
|
38752
|
-
!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"
|
|
38753
|
-
}(dayjs_min));
|
|
38756
|
+
!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}));
|
|
38757
|
+
} (dayjs_min));
|
|
38754
38758
|
|
|
38755
|
-
var
|
|
38759
|
+
var dayjs_minExports = dayjs_min.exports;
|
|
38760
|
+
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
|
|
38756
38761
|
|
|
38757
38762
|
var customParseFormat$1 = {exports: {}};
|
|
38758
38763
|
|
|
38759
38764
|
(function (module, exports) {
|
|
38760
|
-
!function(t
|
|
38761
|
-
}(customParseFormat$1));
|
|
38765
|
+
!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);};}}));
|
|
38766
|
+
} (customParseFormat$1));
|
|
38762
38767
|
|
|
38763
|
-
var
|
|
38768
|
+
var customParseFormatExports = customParseFormat$1.exports;
|
|
38769
|
+
var customParseFormat = /*@__PURE__*/getDefaultExportFromCjs(customParseFormatExports);
|
|
38764
38770
|
|
|
38765
38771
|
var isSameOrBefore$1 = {exports: {}};
|
|
38766
38772
|
|
|
38767
38773
|
(function (module, exports) {
|
|
38768
|
-
!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)};}}));
|
|
38769
|
-
}(isSameOrBefore$1));
|
|
38774
|
+
!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)};}}));
|
|
38775
|
+
} (isSameOrBefore$1));
|
|
38770
38776
|
|
|
38771
|
-
var
|
|
38777
|
+
var isSameOrBeforeExports = isSameOrBefore$1.exports;
|
|
38778
|
+
var isSameOrBefore = /*@__PURE__*/getDefaultExportFromCjs(isSameOrBeforeExports);
|
|
38772
38779
|
|
|
38773
38780
|
var isSameOrAfter$1 = {exports: {}};
|
|
38774
38781
|
|
|
38775
38782
|
(function (module, exports) {
|
|
38776
|
-
!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)};}}));
|
|
38777
|
-
}(isSameOrAfter$1));
|
|
38783
|
+
!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)};}}));
|
|
38784
|
+
} (isSameOrAfter$1));
|
|
38778
38785
|
|
|
38779
|
-
var
|
|
38786
|
+
var isSameOrAfterExports = isSameOrAfter$1.exports;
|
|
38787
|
+
var isSameOrAfter = /*@__PURE__*/getDefaultExportFromCjs(isSameOrAfterExports);
|
|
38780
38788
|
|
|
38781
38789
|
/* eslint-disable no-unused-vars */
|
|
38782
38790
|
|
|
@@ -38792,24 +38800,24 @@ dayjs.extend(isSameOrAfter);
|
|
|
38792
38800
|
|
|
38793
38801
|
let validatorFns = {};
|
|
38794
38802
|
|
|
38795
|
-
const INCLUDED_IN =
|
|
38796
|
-
const INCLUDED_IN_ERROR =
|
|
38803
|
+
const INCLUDED_IN = 'validator/INCLUDED_IN';
|
|
38804
|
+
const INCLUDED_IN_ERROR = 'error/INCLUDED_IN';
|
|
38797
38805
|
const includedIn = createValidator(INCLUDED_IN, INCLUDED_IN_ERROR);
|
|
38798
38806
|
validatorFns[INCLUDED_IN] = (value, args, form) =>
|
|
38799
38807
|
Array.isArray(args[0]) ? args[0].includes(value) : args[0] === value;
|
|
38800
38808
|
|
|
38801
|
-
const REQUIRED =
|
|
38802
|
-
const REQUIRED_ERROR =
|
|
38809
|
+
const REQUIRED = 'validator/REQUIRED';
|
|
38810
|
+
const REQUIRED_ERROR = 'error/REQUIRED';
|
|
38803
38811
|
const required = createValidator(REQUIRED, REQUIRED_ERROR);
|
|
38804
|
-
validatorFns[REQUIRED] = (value, args, form) => value !==
|
|
38812
|
+
validatorFns[REQUIRED] = (value, args, form) => value !== '';
|
|
38805
38813
|
|
|
38806
|
-
const ONLY_INTEGERS =
|
|
38807
|
-
const ONLY_INTEGERS_ERROR =
|
|
38814
|
+
const ONLY_INTEGERS = 'validator/ONLY_INTEGERS';
|
|
38815
|
+
const ONLY_INTEGERS_ERROR = 'error/ONLY_INTEGERS';
|
|
38808
38816
|
const onlyIntegers = createValidator(ONLY_INTEGERS, ONLY_INTEGERS_ERROR);
|
|
38809
38817
|
validatorFns[ONLY_INTEGERS] = (value, args, form) => /^(-?\d+)?$/.test(value);
|
|
38810
38818
|
|
|
38811
|
-
const ONLY_NATURALS =
|
|
38812
|
-
const ONLY_NATURALS_ERROR =
|
|
38819
|
+
const ONLY_NATURALS = 'validator/ONLY_NATURALS';
|
|
38820
|
+
const ONLY_NATURALS_ERROR = 'error/ONLY_NATURALS';
|
|
38813
38821
|
const onlyNaturals = createValidator(ONLY_NATURALS, ONLY_NATURALS_ERROR);
|
|
38814
38822
|
validatorFns[ONLY_NATURALS] = (value, args, form) => /^(\d+)?$/.test(value);
|
|
38815
38823
|
|
|
@@ -38822,8 +38830,8 @@ not tested as validation function
|
|
|
38822
38830
|
to validate exp date instead use combo of:
|
|
38823
38831
|
required(), hasLength(), isValidMonth(), dateAfterToday()
|
|
38824
38832
|
*/
|
|
38825
|
-
const ONLY_EXPIRATION_DATE =
|
|
38826
|
-
const ONLY_EXPIRATION_DATE_ERROR =
|
|
38833
|
+
const ONLY_EXPIRATION_DATE = 'validator/ONLY_EXPIRATION_DATE';
|
|
38834
|
+
const ONLY_EXPIRATION_DATE_ERROR = 'error/ONLY_EXPIRATION_DATE';
|
|
38827
38835
|
const onlyExpirationDate = createValidator(
|
|
38828
38836
|
ONLY_EXPIRATION_DATE,
|
|
38829
38837
|
ONLY_EXPIRATION_DATE_ERROR
|
|
@@ -38831,64 +38839,63 @@ const onlyExpirationDate = createValidator(
|
|
|
38831
38839
|
validatorFns[ONLY_EXPIRATION_DATE] = (value, args, form) =>
|
|
38832
38840
|
/^(\d?\d?\/?\d?\d?)?$/.test(value);
|
|
38833
38841
|
|
|
38834
|
-
const NUMBER_LESS_THAN =
|
|
38835
|
-
const NUMBER_LESS_THAN_ERROR =
|
|
38842
|
+
const NUMBER_LESS_THAN = 'validator/NUMBER_LESS_THAN';
|
|
38843
|
+
const NUMBER_LESS_THAN_ERROR = 'error/NUMBER_LESS_THAN';
|
|
38836
38844
|
const numberLessThan = createValidator(
|
|
38837
38845
|
NUMBER_LESS_THAN,
|
|
38838
38846
|
NUMBER_LESS_THAN_ERROR
|
|
38839
38847
|
);
|
|
38840
38848
|
validatorFns[NUMBER_LESS_THAN] = (value, args, form) => {
|
|
38841
|
-
if (value ===
|
|
38849
|
+
if (value === '') {
|
|
38842
38850
|
return true;
|
|
38843
38851
|
}
|
|
38844
38852
|
return Number(value) < args[0];
|
|
38845
38853
|
};
|
|
38846
38854
|
|
|
38847
|
-
const NUMBER_LESS_THAN_OR_EQUAL_TO =
|
|
38848
|
-
"validator/NUMBER_LESS_THAN_OR_EQUAL_TO";
|
|
38855
|
+
const NUMBER_LESS_THAN_OR_EQUAL_TO = 'validator/NUMBER_LESS_THAN_OR_EQUAL_TO';
|
|
38849
38856
|
const NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR =
|
|
38850
|
-
|
|
38857
|
+
'error/NUMBER_LESS_THAN_OR_EQUAL_TO';
|
|
38851
38858
|
const numberLessThanOrEqualTo = createValidator(
|
|
38852
38859
|
NUMBER_LESS_THAN_OR_EQUAL_TO,
|
|
38853
38860
|
NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR
|
|
38854
38861
|
);
|
|
38855
38862
|
validatorFns[NUMBER_LESS_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
38856
|
-
if (value ===
|
|
38863
|
+
if (value === '') {
|
|
38857
38864
|
return true;
|
|
38858
38865
|
}
|
|
38859
38866
|
return Number(value) <= args[0];
|
|
38860
38867
|
};
|
|
38861
38868
|
|
|
38862
|
-
const NUMBER_GREATER_THAN =
|
|
38863
|
-
const NUMBER_GREATER_THAN_ERROR =
|
|
38869
|
+
const NUMBER_GREATER_THAN = 'validator/NUMBER_GREATER_THAN';
|
|
38870
|
+
const NUMBER_GREATER_THAN_ERROR = 'error/NUMBER_GREATER_THAN';
|
|
38864
38871
|
const numberGreaterThan = createValidator(
|
|
38865
38872
|
NUMBER_GREATER_THAN,
|
|
38866
38873
|
NUMBER_GREATER_THAN_ERROR
|
|
38867
38874
|
);
|
|
38868
38875
|
validatorFns[NUMBER_GREATER_THAN] = (value, args, form) => {
|
|
38869
|
-
if (value ===
|
|
38876
|
+
if (value === '') {
|
|
38870
38877
|
return true;
|
|
38871
38878
|
}
|
|
38872
38879
|
return Number(value) > args[0];
|
|
38873
38880
|
};
|
|
38874
38881
|
|
|
38875
38882
|
const NUMBER_GREATER_THAN_OR_EQUAL_TO =
|
|
38876
|
-
|
|
38883
|
+
'validator/NUMBER_GREATER_THAN_OR_EQUAL_TO';
|
|
38877
38884
|
const NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR =
|
|
38878
|
-
|
|
38885
|
+
'error/NUMBER_GREATER_THAN_OR_EQUAL_TO';
|
|
38879
38886
|
const numberGreaterThanOrEqualTo = createValidator(
|
|
38880
38887
|
NUMBER_GREATER_THAN_OR_EQUAL_TO,
|
|
38881
38888
|
NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR
|
|
38882
38889
|
);
|
|
38883
38890
|
validatorFns[NUMBER_GREATER_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
38884
|
-
if (value ===
|
|
38891
|
+
if (value === '') {
|
|
38885
38892
|
return true;
|
|
38886
38893
|
}
|
|
38887
38894
|
return Number(value) >= args[0];
|
|
38888
38895
|
};
|
|
38889
38896
|
|
|
38890
|
-
const MATCHES_FIELD =
|
|
38891
|
-
const MATCHES_FIELD_ERROR$1 =
|
|
38897
|
+
const MATCHES_FIELD = 'validator/MATCHES_FIELD';
|
|
38898
|
+
const MATCHES_FIELD_ERROR$1 = 'error/MATCHES_FIELD';
|
|
38892
38899
|
const matchesField = createValidator(MATCHES_FIELD, MATCHES_FIELD_ERROR$1);
|
|
38893
38900
|
validatorFns[MATCHES_FIELD] = (value, args, form) => {
|
|
38894
38901
|
const dependentField = form[args[0]];
|
|
@@ -38901,7 +38908,7 @@ validatorFns[MATCHES_FIELD] = (value, args, form) => {
|
|
|
38901
38908
|
return value === dependentFieldValue;
|
|
38902
38909
|
};
|
|
38903
38910
|
|
|
38904
|
-
const validateWhenErrorMessage = type =>
|
|
38911
|
+
const validateWhenErrorMessage = (type) =>
|
|
38905
38912
|
`${type} was passed to validateWhen, but that validator type does not exist.
|
|
38906
38913
|
Please check that you are only calling validator creator functions exported from
|
|
38907
38914
|
redux-freeform in your form config and that you didn't forget to
|
|
@@ -38909,25 +38916,21 @@ const validateWhenErrorMessage = type =>
|
|
|
38909
38916
|
createFormState). Also make sure you aren't passing validateWhen() to validateWhen
|
|
38910
38917
|
as the primary validator.`;
|
|
38911
38918
|
|
|
38912
|
-
const VALIDATE_WHEN =
|
|
38913
|
-
const VALIDATE_WHEN_ERROR =
|
|
38914
|
-
const validateWhen = (
|
|
38915
|
-
dependentValidator,
|
|
38916
|
-
primaryValidator,
|
|
38917
|
-
optionalFieldName
|
|
38918
|
-
) => ({
|
|
38919
|
+
const VALIDATE_WHEN = 'validator/VALIDATE_WHEN';
|
|
38920
|
+
const VALIDATE_WHEN_ERROR = 'error/VALIDATE_WHEN';
|
|
38921
|
+
const validateWhen = (dependentValidator, primaryValidator, optionalFieldName) => ({
|
|
38919
38922
|
type: VALIDATE_WHEN,
|
|
38920
38923
|
args: [dependentValidator, primaryValidator, optionalFieldName],
|
|
38921
|
-
error: dependentValidator.error
|
|
38924
|
+
error: dependentValidator.error,
|
|
38922
38925
|
});
|
|
38923
38926
|
validateWhen.error = VALIDATE_WHEN_ERROR;
|
|
38924
38927
|
validatorFns[VALIDATE_WHEN] = (value, args, form) => {
|
|
38925
38928
|
const [dependentValidator, primaryValidator, optionalFieldName] = args;
|
|
38926
|
-
const dependsOnOtherField = typeof optionalFieldName ===
|
|
38929
|
+
const dependsOnOtherField = typeof optionalFieldName === 'string';
|
|
38927
38930
|
|
|
38928
38931
|
if (
|
|
38929
38932
|
primaryValidator.type === undefined ||
|
|
38930
|
-
typeof validatorFns[primaryValidator.type] !==
|
|
38933
|
+
typeof validatorFns[primaryValidator.type] !== 'function'
|
|
38931
38934
|
) {
|
|
38932
38935
|
throw new Error(validateWhenErrorMessage(primaryValidator.type));
|
|
38933
38936
|
}
|
|
@@ -38951,26 +38954,22 @@ validatorFns[VALIDATE_WHEN] = (value, args, form) => {
|
|
|
38951
38954
|
);
|
|
38952
38955
|
|
|
38953
38956
|
return primaryPredicatePassed
|
|
38954
|
-
? validatorFns[dependentValidator.type](
|
|
38955
|
-
value,
|
|
38956
|
-
dependentValidator.args,
|
|
38957
|
-
form
|
|
38958
|
-
)
|
|
38957
|
+
? validatorFns[dependentValidator.type](value, dependentValidator.args, form)
|
|
38959
38958
|
: true;
|
|
38960
38959
|
};
|
|
38961
38960
|
|
|
38962
|
-
const validateSumErrorMessage = type =>
|
|
38961
|
+
const validateSumErrorMessage = (type) =>
|
|
38963
38962
|
`${type} was passed to validateSum, but that validator type does not exist.
|
|
38964
38963
|
Please check that you are only calling validator creator functions exported from
|
|
38965
38964
|
redux-freeform in your form config and that you didn't forget to
|
|
38966
38965
|
invoke the validator creator (you cannot pass the functions themselves to
|
|
38967
38966
|
createFormState).`;
|
|
38968
|
-
const VALIDATE_SUM =
|
|
38969
|
-
const VALIDATE_SUM_ERROR =
|
|
38967
|
+
const VALIDATE_SUM = 'validator/VALIDATE_SUM';
|
|
38968
|
+
const VALIDATE_SUM_ERROR = 'error/VALIDATE_SUM';
|
|
38970
38969
|
const validateSum = (validator, fieldNamesArray) => ({
|
|
38971
38970
|
type: VALIDATE_SUM,
|
|
38972
38971
|
args: [validator, fieldNamesArray],
|
|
38973
|
-
error: validator.error
|
|
38972
|
+
error: validator.error,
|
|
38974
38973
|
});
|
|
38975
38974
|
validateSum.error = VALIDATE_SUM_ERROR;
|
|
38976
38975
|
validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
@@ -38978,7 +38977,7 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
|
38978
38977
|
|
|
38979
38978
|
if (
|
|
38980
38979
|
validator.type === undefined ||
|
|
38981
|
-
typeof validatorFns[validator.type] !==
|
|
38980
|
+
typeof validatorFns[validator.type] !== 'function'
|
|
38982
38981
|
) {
|
|
38983
38982
|
throw new Error(validateSumErrorMessage(validator.type));
|
|
38984
38983
|
}
|
|
@@ -38999,37 +38998,35 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
|
38999
38998
|
return validatorFns[validator.type](sum, validator.args, form);
|
|
39000
38999
|
};
|
|
39001
39000
|
|
|
39002
|
-
const HAS_LENGTH =
|
|
39003
|
-
const HAS_LENGTH_ERROR =
|
|
39001
|
+
const HAS_LENGTH = 'validator/HAS_LENGTH';
|
|
39002
|
+
const HAS_LENGTH_ERROR = 'error/HAS_LENGTH';
|
|
39004
39003
|
const hasLength = createValidator(HAS_LENGTH, HAS_LENGTH_ERROR);
|
|
39005
39004
|
validatorFns[HAS_LENGTH] = (value, args, form) => {
|
|
39006
|
-
if (value ===
|
|
39005
|
+
if (value === '') {
|
|
39007
39006
|
return true;
|
|
39008
39007
|
}
|
|
39009
39008
|
const min = args[0];
|
|
39010
39009
|
const max = args[1];
|
|
39011
39010
|
if (max == undefined || min == undefined) {
|
|
39012
39011
|
throw new Error(
|
|
39013
|
-
|
|
39012
|
+
'Max and min need to be defined for hasLength, both or one of them is undefined'
|
|
39014
39013
|
);
|
|
39015
39014
|
}
|
|
39016
39015
|
if (max < min) {
|
|
39017
|
-
throw new Error(
|
|
39018
|
-
"hasLength validator was passed a min greater than the max"
|
|
39019
|
-
);
|
|
39016
|
+
throw new Error('hasLength validator was passed a min greater than the max');
|
|
39020
39017
|
}
|
|
39021
39018
|
const valueLength = value.length;
|
|
39022
39019
|
return max >= valueLength && valueLength >= min;
|
|
39023
39020
|
};
|
|
39024
39021
|
|
|
39025
|
-
const DATE_BEFORE_TODAY =
|
|
39026
|
-
const DATE_BEFORE_TODAY_ERROR =
|
|
39022
|
+
const DATE_BEFORE_TODAY = 'validator/DATE_BEFORE_TODAY';
|
|
39023
|
+
const DATE_BEFORE_TODAY_ERROR = 'error/DATE_BEFORE_TODAY';
|
|
39027
39024
|
const dateBeforeToday = createValidator(
|
|
39028
39025
|
DATE_BEFORE_TODAY,
|
|
39029
39026
|
DATE_BEFORE_TODAY_ERROR
|
|
39030
39027
|
);
|
|
39031
39028
|
validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
39032
|
-
if (value ===
|
|
39029
|
+
if (value === '') {
|
|
39033
39030
|
return true;
|
|
39034
39031
|
}
|
|
39035
39032
|
const dateFormat = args[0];
|
|
@@ -39038,7 +39035,7 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
|
39038
39035
|
|
|
39039
39036
|
if (dateFormat == undefined || unit == undefined) {
|
|
39040
39037
|
throw new Error(
|
|
39041
|
-
|
|
39038
|
+
'Date format and unit need to be defined for dateBeforeToday, one or both are undefined'
|
|
39042
39039
|
);
|
|
39043
39040
|
}
|
|
39044
39041
|
const now = dayjs();
|
|
@@ -39050,14 +39047,14 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
|
39050
39047
|
return dateValue.isBefore(now, unit);
|
|
39051
39048
|
};
|
|
39052
39049
|
|
|
39053
|
-
const DATE_AFTER_TODAY =
|
|
39054
|
-
const DATE_AFTER_TODAY_ERROR =
|
|
39050
|
+
const DATE_AFTER_TODAY = 'validator/DATE_AFTER_TODAY';
|
|
39051
|
+
const DATE_AFTER_TODAY_ERROR = 'error/DATE_AFTER_TODAY';
|
|
39055
39052
|
const dateAfterToday = createValidator(
|
|
39056
39053
|
DATE_AFTER_TODAY,
|
|
39057
39054
|
DATE_AFTER_TODAY_ERROR
|
|
39058
39055
|
);
|
|
39059
39056
|
validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
39060
|
-
if (value ===
|
|
39057
|
+
if (value === '') {
|
|
39061
39058
|
return true;
|
|
39062
39059
|
}
|
|
39063
39060
|
const dateFormat = args[0];
|
|
@@ -39066,7 +39063,7 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
|
39066
39063
|
|
|
39067
39064
|
if (dateFormat == undefined || unit == undefined) {
|
|
39068
39065
|
throw new Error(
|
|
39069
|
-
|
|
39066
|
+
'Date format and unit need to be defined for dateAfterToday, one or both are undefined'
|
|
39070
39067
|
);
|
|
39071
39068
|
}
|
|
39072
39069
|
const now = dayjs();
|
|
@@ -39078,14 +39075,11 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
|
39078
39075
|
return dateValue.isAfter(now, unit);
|
|
39079
39076
|
};
|
|
39080
39077
|
|
|
39081
|
-
const IS_VALID_MONTH =
|
|
39082
|
-
const IS_VALID_MONTH_ERROR =
|
|
39083
|
-
const isValidMonth = createValidator(
|
|
39084
|
-
IS_VALID_MONTH,
|
|
39085
|
-
IS_VALID_MONTH_ERROR
|
|
39086
|
-
);
|
|
39078
|
+
const IS_VALID_MONTH = 'validator/IS_VALID_MONTH';
|
|
39079
|
+
const IS_VALID_MONTH_ERROR = 'error/IS_VALID_MONTH';
|
|
39080
|
+
const isValidMonth = createValidator(IS_VALID_MONTH, IS_VALID_MONTH_ERROR);
|
|
39087
39081
|
validatorFns[IS_VALID_MONTH] = (value, args, form) => {
|
|
39088
|
-
if (value ===
|
|
39082
|
+
if (value === '') {
|
|
39089
39083
|
return true;
|
|
39090
39084
|
}
|
|
39091
39085
|
// Function takes one argument representing the character position
|
|
@@ -39095,43 +39089,43 @@ validatorFns[IS_VALID_MONTH] = (value, args, form) => {
|
|
|
39095
39089
|
// Only works with two digit months (01, 02, 03, etc)
|
|
39096
39090
|
const monthStartPosition = parseInt(args[0]);
|
|
39097
39091
|
const monthEndPosition = monthStartPosition + 2;
|
|
39098
|
-
if (monthStartPosition
|
|
39099
|
-
throw new Error(
|
|
39092
|
+
if (isNaN(monthStartPosition)) {
|
|
39093
|
+
throw new Error('Month start position has to be a valid integer string');
|
|
39100
39094
|
}
|
|
39101
39095
|
const month = parseInt(value.slice(monthStartPosition, monthEndPosition));
|
|
39102
|
-
if (month
|
|
39096
|
+
if (isNaN(month)) {
|
|
39103
39097
|
return false;
|
|
39104
39098
|
}
|
|
39105
39099
|
return month >= 1 && month <= 12;
|
|
39106
39100
|
};
|
|
39107
39101
|
|
|
39108
|
-
const MATCHES_REGEX =
|
|
39109
|
-
const MATCHES_REGEX_ERROR =
|
|
39102
|
+
const MATCHES_REGEX = 'validator/MATCHES_REGEX';
|
|
39103
|
+
const MATCHES_REGEX_ERROR = 'error/MATCHES_REGEX';
|
|
39110
39104
|
const matchesRegex = createValidator(MATCHES_REGEX, MATCHES_REGEX_ERROR);
|
|
39111
39105
|
validatorFns[MATCHES_REGEX] = (value, args, form) => {
|
|
39112
|
-
if (value ===
|
|
39106
|
+
if (value === '') {
|
|
39113
39107
|
return true;
|
|
39114
39108
|
}
|
|
39115
39109
|
return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
|
|
39116
39110
|
};
|
|
39117
39111
|
|
|
39118
39112
|
// based on http://www.brainjar.com/js/validation/
|
|
39119
|
-
const IS_ROUTING_NUMBER =
|
|
39120
|
-
const IS_ROUTING_NUMBER_ERROR =
|
|
39113
|
+
const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
|
|
39114
|
+
const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
|
|
39121
39115
|
const isRoutingNumber = createValidator(
|
|
39122
39116
|
IS_ROUTING_NUMBER,
|
|
39123
39117
|
IS_ROUTING_NUMBER_ERROR
|
|
39124
39118
|
);
|
|
39125
39119
|
validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
|
|
39126
|
-
if (value ===
|
|
39120
|
+
if (value === '') {
|
|
39127
39121
|
return true;
|
|
39128
39122
|
}
|
|
39129
39123
|
if (value.length != 9) {
|
|
39130
39124
|
return false;
|
|
39131
39125
|
}
|
|
39132
39126
|
const sum = value
|
|
39133
|
-
.split(
|
|
39134
|
-
.map(ch => parseInt(ch))
|
|
39127
|
+
.split('')
|
|
39128
|
+
.map((ch) => parseInt(ch))
|
|
39135
39129
|
.reduce((acc, cur, idx) => {
|
|
39136
39130
|
switch (idx % 3) {
|
|
39137
39131
|
case 0:
|
|
@@ -39145,69 +39139,69 @@ validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
|
|
|
39145
39139
|
return sum != 0 && sum % 10 == 0;
|
|
39146
39140
|
};
|
|
39147
39141
|
|
|
39148
|
-
const HAS_NUMBER =
|
|
39149
|
-
const HAS_NUMBER_ERROR$1 =
|
|
39142
|
+
const HAS_NUMBER = 'validator/HAS_NUMBER';
|
|
39143
|
+
const HAS_NUMBER_ERROR$1 = 'error/HAS_NUMBER';
|
|
39150
39144
|
const hasNumber = createValidator(HAS_NUMBER, HAS_NUMBER_ERROR$1);
|
|
39151
39145
|
validatorFns[HAS_NUMBER] = (value, args, form) => {
|
|
39152
|
-
if (value ===
|
|
39146
|
+
if (value === '') {
|
|
39153
39147
|
return true;
|
|
39154
39148
|
}
|
|
39155
39149
|
return new RegExp(/[0-9]/).test(value);
|
|
39156
39150
|
};
|
|
39157
39151
|
|
|
39158
|
-
const HAS_LOWERCASE_LETTER =
|
|
39159
|
-
const HAS_LOWERCASE_LETTER_ERROR$1 =
|
|
39152
|
+
const HAS_LOWERCASE_LETTER = 'validator/HAS_LOWERCASE_LETTER';
|
|
39153
|
+
const HAS_LOWERCASE_LETTER_ERROR$1 = 'error/HAS_LOWERCASE_LETTER';
|
|
39160
39154
|
const hasLowercaseLetter = createValidator(
|
|
39161
39155
|
HAS_LOWERCASE_LETTER,
|
|
39162
39156
|
HAS_LOWERCASE_LETTER_ERROR$1
|
|
39163
39157
|
);
|
|
39164
39158
|
validatorFns[HAS_LOWERCASE_LETTER] = (value, args, form) => {
|
|
39165
|
-
if (value ===
|
|
39159
|
+
if (value === '') {
|
|
39166
39160
|
return true;
|
|
39167
39161
|
}
|
|
39168
39162
|
return new RegExp(/[a-z]/).test(value);
|
|
39169
39163
|
};
|
|
39170
39164
|
|
|
39171
|
-
const HAS_UPPERCASE_LETTER =
|
|
39172
|
-
const HAS_UPPERCASE_LETTER_ERROR$1 =
|
|
39165
|
+
const HAS_UPPERCASE_LETTER = 'validator/HAS_UPPERCASE_LETTER';
|
|
39166
|
+
const HAS_UPPERCASE_LETTER_ERROR$1 = 'error/HAS_UPPERCASE_LETTER';
|
|
39173
39167
|
const hasUppercaseLetter = createValidator(
|
|
39174
39168
|
HAS_UPPERCASE_LETTER,
|
|
39175
39169
|
HAS_UPPERCASE_LETTER_ERROR$1
|
|
39176
39170
|
);
|
|
39177
39171
|
validatorFns[HAS_UPPERCASE_LETTER] = (value, args, form) => {
|
|
39178
|
-
if (value ===
|
|
39172
|
+
if (value === '') {
|
|
39179
39173
|
return true;
|
|
39180
39174
|
}
|
|
39181
39175
|
return new RegExp(/[A-Z]/).test(value);
|
|
39182
39176
|
};
|
|
39183
39177
|
|
|
39184
|
-
const HAS_SPECIAL_CHARACTER =
|
|
39185
|
-
const HAS_SPECIAL_CHARACTER_ERROR$1 =
|
|
39178
|
+
const HAS_SPECIAL_CHARACTER = 'validator/HAS_SPECIAL_CHARACTER';
|
|
39179
|
+
const HAS_SPECIAL_CHARACTER_ERROR$1 = 'error/HAS_SPECIAL_CHARACTER';
|
|
39186
39180
|
const hasSpecialCharacter = createValidator(
|
|
39187
39181
|
HAS_SPECIAL_CHARACTER,
|
|
39188
39182
|
HAS_SPECIAL_CHARACTER_ERROR$1
|
|
39189
39183
|
);
|
|
39190
39184
|
validatorFns[HAS_SPECIAL_CHARACTER] = (value, args, form) => {
|
|
39191
|
-
if (value ===
|
|
39185
|
+
if (value === '') {
|
|
39192
39186
|
return true;
|
|
39193
39187
|
}
|
|
39194
39188
|
return new RegExp(/[!@#$%^&*.?]/).test(value);
|
|
39195
39189
|
};
|
|
39196
39190
|
|
|
39197
|
-
const IS_PROBABLY_EMAIL =
|
|
39198
|
-
const IS_PROBABLY_EMAIL_ERROR =
|
|
39191
|
+
const IS_PROBABLY_EMAIL = 'validator/IS_PROBABLY_EMAIL';
|
|
39192
|
+
const IS_PROBABLY_EMAIL_ERROR = 'error/IS_PROBABLY_EMAIL';
|
|
39199
39193
|
const isProbablyEmail = createValidator(
|
|
39200
39194
|
IS_PROBABLY_EMAIL,
|
|
39201
39195
|
IS_PROBABLY_EMAIL_ERROR
|
|
39202
39196
|
);
|
|
39203
39197
|
validatorFns[IS_PROBABLY_EMAIL] = (value, args, form) => {
|
|
39204
|
-
if (value ===
|
|
39198
|
+
if (value === '') {
|
|
39205
39199
|
return true;
|
|
39206
39200
|
}
|
|
39207
39201
|
return new RegExp(/^\S+@\S+\.\S+$/).test(value);
|
|
39208
39202
|
};
|
|
39209
39203
|
|
|
39210
|
-
const runValidatorErrorMessage = type =>
|
|
39204
|
+
const runValidatorErrorMessage = (type) =>
|
|
39211
39205
|
`${type} was passed to runValidator, but that validator type does not exist.
|
|
39212
39206
|
Please check that you are only calling validator creator functions exported from
|
|
39213
39207
|
redux-freeform in your form config and that you didn't forget to
|
|
@@ -39222,1165 +39216,53 @@ const runValidator = (validator, value, form) => {
|
|
|
39222
39216
|
return validatorFn(value, validator.args, form) ? null : validator.error;
|
|
39223
39217
|
};
|
|
39224
39218
|
|
|
39225
|
-
const
|
|
39219
|
+
const runFormValidators = (fieldName, form, validators) => {
|
|
39226
39220
|
return validators
|
|
39227
|
-
.map(v => runValidator(v, form[fieldName].rawValue, form))
|
|
39228
|
-
.filter(x => x !== null);
|
|
39221
|
+
.map((v) => runValidator(v, form[fieldName].rawValue, form))
|
|
39222
|
+
.filter((x) => x !== null);
|
|
39229
39223
|
};
|
|
39230
39224
|
|
|
39231
39225
|
const computeConstraints = (fieldName, form) => {
|
|
39232
39226
|
const constraints = form[fieldName].constraints;
|
|
39233
|
-
return
|
|
39227
|
+
return runFormValidators(fieldName, form, constraints);
|
|
39234
39228
|
};
|
|
39235
39229
|
|
|
39236
39230
|
const computeErrors = (fieldName, form) => {
|
|
39237
39231
|
const validators = form[fieldName].validators;
|
|
39238
|
-
return
|
|
39239
|
-
};
|
|
39240
|
-
|
|
39241
|
-
var obj;
|
|
39242
|
-
var NOTHING = typeof Symbol !== "undefined" ? Symbol("immer-nothing") : ( obj = {}, obj["immer-nothing"] = true, obj );
|
|
39243
|
-
var DRAFTABLE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-draftable") : "__$immer_draftable";
|
|
39244
|
-
var DRAFT_STATE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-state") : "__$immer_state";
|
|
39245
|
-
function isDraft(value) {
|
|
39246
|
-
return !!value && !!value[DRAFT_STATE];
|
|
39247
|
-
}
|
|
39248
|
-
function isDraftable(value) {
|
|
39249
|
-
if (!value) { return false; }
|
|
39250
|
-
return isPlainObject(value) || !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE];
|
|
39251
|
-
}
|
|
39252
|
-
function isPlainObject(value) {
|
|
39253
|
-
if (!value || typeof value !== "object") { return false; }
|
|
39254
|
-
if (Array.isArray(value)) { return true; }
|
|
39255
|
-
var proto = Object.getPrototypeOf(value);
|
|
39256
|
-
return !proto || proto === Object.prototype;
|
|
39257
|
-
}
|
|
39258
|
-
var assign = Object.assign || function assign(target, value) {
|
|
39259
|
-
for (var key in value) {
|
|
39260
|
-
if (has$1(value, key)) {
|
|
39261
|
-
target[key] = value[key];
|
|
39262
|
-
}
|
|
39263
|
-
}
|
|
39264
|
-
|
|
39265
|
-
return target;
|
|
39266
|
-
};
|
|
39267
|
-
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;
|
|
39268
|
-
function shallowCopy(base, invokeGetters) {
|
|
39269
|
-
if ( invokeGetters === void 0 ) invokeGetters = false;
|
|
39270
|
-
|
|
39271
|
-
if (Array.isArray(base)) { return base.slice(); }
|
|
39272
|
-
var clone = Object.create(Object.getPrototypeOf(base));
|
|
39273
|
-
ownKeys$2(base).forEach(function (key) {
|
|
39274
|
-
if (key === DRAFT_STATE) {
|
|
39275
|
-
return; // Never copy over draft state.
|
|
39276
|
-
}
|
|
39277
|
-
|
|
39278
|
-
var desc = Object.getOwnPropertyDescriptor(base, key);
|
|
39279
|
-
var value = desc.value;
|
|
39280
|
-
|
|
39281
|
-
if (desc.get) {
|
|
39282
|
-
if (!invokeGetters) {
|
|
39283
|
-
throw new Error("Immer drafts cannot have computed properties");
|
|
39284
|
-
}
|
|
39285
|
-
|
|
39286
|
-
value = desc.get.call(base);
|
|
39287
|
-
}
|
|
39288
|
-
|
|
39289
|
-
if (desc.enumerable) {
|
|
39290
|
-
clone[key] = value;
|
|
39291
|
-
} else {
|
|
39292
|
-
Object.defineProperty(clone, key, {
|
|
39293
|
-
value: value,
|
|
39294
|
-
writable: true,
|
|
39295
|
-
configurable: true
|
|
39296
|
-
});
|
|
39297
|
-
}
|
|
39298
|
-
});
|
|
39299
|
-
return clone;
|
|
39300
|
-
}
|
|
39301
|
-
function each(value, cb) {
|
|
39302
|
-
if (Array.isArray(value)) {
|
|
39303
|
-
for (var i = 0; i < value.length; i++) { cb(i, value[i], value); }
|
|
39304
|
-
} else {
|
|
39305
|
-
ownKeys$2(value).forEach(function (key) { return cb(key, value[key], value); });
|
|
39306
|
-
}
|
|
39307
|
-
}
|
|
39308
|
-
function isEnumerable(base, prop) {
|
|
39309
|
-
var desc = Object.getOwnPropertyDescriptor(base, prop);
|
|
39310
|
-
return !!desc && desc.enumerable;
|
|
39311
|
-
}
|
|
39312
|
-
function has$1(thing, prop) {
|
|
39313
|
-
return Object.prototype.hasOwnProperty.call(thing, prop);
|
|
39314
|
-
}
|
|
39315
|
-
function is(x, y) {
|
|
39316
|
-
// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js
|
|
39317
|
-
if (x === y) {
|
|
39318
|
-
return x !== 0 || 1 / x === 1 / y;
|
|
39319
|
-
} else {
|
|
39320
|
-
return x !== x && y !== y;
|
|
39321
|
-
}
|
|
39322
|
-
}
|
|
39323
|
-
function clone(obj) {
|
|
39324
|
-
if (!isDraftable(obj)) { return obj; }
|
|
39325
|
-
if (Array.isArray(obj)) { return obj.map(clone); }
|
|
39326
|
-
var cloned = Object.create(Object.getPrototypeOf(obj));
|
|
39327
|
-
|
|
39328
|
-
for (var key in obj) { cloned[key] = clone(obj[key]); }
|
|
39329
|
-
|
|
39330
|
-
return cloned;
|
|
39331
|
-
}
|
|
39332
|
-
|
|
39333
|
-
/** Each scope represents a `produce` call. */
|
|
39334
|
-
|
|
39335
|
-
var ImmerScope = function ImmerScope(parent) {
|
|
39336
|
-
this.drafts = [];
|
|
39337
|
-
this.parent = parent; // Whenever the modified draft contains a draft from another scope, we
|
|
39338
|
-
// need to prevent auto-freezing so the unowned draft can be finalized.
|
|
39339
|
-
|
|
39340
|
-
this.canAutoFreeze = true; // To avoid prototype lookups:
|
|
39341
|
-
|
|
39342
|
-
this.patches = null;
|
|
39343
|
-
};
|
|
39344
|
-
|
|
39345
|
-
ImmerScope.prototype.usePatches = function usePatches (patchListener) {
|
|
39346
|
-
if (patchListener) {
|
|
39347
|
-
this.patches = [];
|
|
39348
|
-
this.inversePatches = [];
|
|
39349
|
-
this.patchListener = patchListener;
|
|
39350
|
-
}
|
|
39351
|
-
};
|
|
39352
|
-
|
|
39353
|
-
ImmerScope.prototype.revoke = function revoke$1 () {
|
|
39354
|
-
this.leave();
|
|
39355
|
-
this.drafts.forEach(revoke);
|
|
39356
|
-
this.drafts = null; // Make draft-related methods throw.
|
|
39357
|
-
};
|
|
39358
|
-
|
|
39359
|
-
ImmerScope.prototype.leave = function leave () {
|
|
39360
|
-
if (this === ImmerScope.current) {
|
|
39361
|
-
ImmerScope.current = this.parent;
|
|
39362
|
-
}
|
|
39363
|
-
};
|
|
39364
|
-
ImmerScope.current = null;
|
|
39365
|
-
|
|
39366
|
-
ImmerScope.enter = function () {
|
|
39367
|
-
return this.current = new ImmerScope(this.current);
|
|
39368
|
-
};
|
|
39369
|
-
|
|
39370
|
-
function revoke(draft) {
|
|
39371
|
-
draft[DRAFT_STATE].revoke();
|
|
39372
|
-
}
|
|
39373
|
-
|
|
39374
|
-
// but share them all instead
|
|
39375
|
-
|
|
39376
|
-
var descriptors$1 = {};
|
|
39377
|
-
function willFinalize(scope, result, isReplaced) {
|
|
39378
|
-
scope.drafts.forEach(function (draft) {
|
|
39379
|
-
draft[DRAFT_STATE].finalizing = true;
|
|
39380
|
-
});
|
|
39381
|
-
|
|
39382
|
-
if (!isReplaced) {
|
|
39383
|
-
if (scope.patches) {
|
|
39384
|
-
markChangesRecursively(scope.drafts[0]);
|
|
39385
|
-
} // This is faster when we don't care about which attributes changed.
|
|
39386
|
-
|
|
39387
|
-
|
|
39388
|
-
markChangesSweep(scope.drafts);
|
|
39389
|
-
} // When a child draft is returned, look for changes.
|
|
39390
|
-
else if (isDraft(result) && result[DRAFT_STATE].scope === scope) {
|
|
39391
|
-
markChangesSweep(scope.drafts);
|
|
39392
|
-
}
|
|
39393
|
-
}
|
|
39394
|
-
function createProxy(base, parent) {
|
|
39395
|
-
var isArray = Array.isArray(base);
|
|
39396
|
-
var draft = clonePotentialDraft(base);
|
|
39397
|
-
each(draft, function (prop) {
|
|
39398
|
-
proxyProperty(draft, prop, isArray || isEnumerable(base, prop));
|
|
39399
|
-
}); // See "proxy.js" for property documentation.
|
|
39400
|
-
|
|
39401
|
-
var scope = parent ? parent.scope : ImmerScope.current;
|
|
39402
|
-
var state = {
|
|
39403
|
-
scope: scope,
|
|
39404
|
-
modified: false,
|
|
39405
|
-
finalizing: false,
|
|
39406
|
-
// es5 only
|
|
39407
|
-
finalized: false,
|
|
39408
|
-
assigned: {},
|
|
39409
|
-
parent: parent,
|
|
39410
|
-
base: base,
|
|
39411
|
-
draft: draft,
|
|
39412
|
-
copy: null,
|
|
39413
|
-
revoke: revoke$1,
|
|
39414
|
-
revoked: false // es5 only
|
|
39415
|
-
|
|
39416
|
-
};
|
|
39417
|
-
createHiddenProperty(draft, DRAFT_STATE, state);
|
|
39418
|
-
scope.drafts.push(draft);
|
|
39419
|
-
return draft;
|
|
39420
|
-
}
|
|
39421
|
-
|
|
39422
|
-
function revoke$1() {
|
|
39423
|
-
this.revoked = true;
|
|
39424
|
-
}
|
|
39425
|
-
|
|
39426
|
-
function source(state) {
|
|
39427
|
-
return state.copy || state.base;
|
|
39428
|
-
} // Access a property without creating an Immer draft.
|
|
39429
|
-
|
|
39430
|
-
|
|
39431
|
-
function peek(draft, prop) {
|
|
39432
|
-
var state = draft[DRAFT_STATE];
|
|
39433
|
-
|
|
39434
|
-
if (state && !state.finalizing) {
|
|
39435
|
-
state.finalizing = true;
|
|
39436
|
-
var value = draft[prop];
|
|
39437
|
-
state.finalizing = false;
|
|
39438
|
-
return value;
|
|
39439
|
-
}
|
|
39440
|
-
|
|
39441
|
-
return draft[prop];
|
|
39442
|
-
}
|
|
39443
|
-
|
|
39444
|
-
function get$1(state, prop) {
|
|
39445
|
-
assertUnrevoked(state);
|
|
39446
|
-
var value = peek(source(state), prop);
|
|
39447
|
-
if (state.finalizing) { return value; } // Create a draft if the value is unmodified.
|
|
39448
|
-
|
|
39449
|
-
if (value === peek(state.base, prop) && isDraftable(value)) {
|
|
39450
|
-
prepareCopy(state);
|
|
39451
|
-
return state.copy[prop] = createProxy(value, state);
|
|
39452
|
-
}
|
|
39453
|
-
|
|
39454
|
-
return value;
|
|
39455
|
-
}
|
|
39456
|
-
|
|
39457
|
-
function set$1(state, prop, value) {
|
|
39458
|
-
assertUnrevoked(state);
|
|
39459
|
-
state.assigned[prop] = true;
|
|
39460
|
-
|
|
39461
|
-
if (!state.modified) {
|
|
39462
|
-
if (is(value, peek(source(state), prop))) { return; }
|
|
39463
|
-
markChanged(state);
|
|
39464
|
-
prepareCopy(state);
|
|
39465
|
-
}
|
|
39466
|
-
|
|
39467
|
-
state.copy[prop] = value;
|
|
39468
|
-
}
|
|
39469
|
-
|
|
39470
|
-
function markChanged(state) {
|
|
39471
|
-
if (!state.modified) {
|
|
39472
|
-
state.modified = true;
|
|
39473
|
-
if (state.parent) { markChanged(state.parent); }
|
|
39474
|
-
}
|
|
39475
|
-
}
|
|
39476
|
-
|
|
39477
|
-
function prepareCopy(state) {
|
|
39478
|
-
if (!state.copy) { state.copy = clonePotentialDraft(state.base); }
|
|
39479
|
-
}
|
|
39480
|
-
|
|
39481
|
-
function clonePotentialDraft(base) {
|
|
39482
|
-
var state = base && base[DRAFT_STATE];
|
|
39483
|
-
|
|
39484
|
-
if (state) {
|
|
39485
|
-
state.finalizing = true;
|
|
39486
|
-
var draft = shallowCopy(state.draft, true);
|
|
39487
|
-
state.finalizing = false;
|
|
39488
|
-
return draft;
|
|
39489
|
-
}
|
|
39490
|
-
|
|
39491
|
-
return shallowCopy(base);
|
|
39492
|
-
}
|
|
39493
|
-
|
|
39494
|
-
function proxyProperty(draft, prop, enumerable) {
|
|
39495
|
-
var desc = descriptors$1[prop];
|
|
39496
|
-
|
|
39497
|
-
if (desc) {
|
|
39498
|
-
desc.enumerable = enumerable;
|
|
39499
|
-
} else {
|
|
39500
|
-
descriptors$1[prop] = desc = {
|
|
39501
|
-
configurable: true,
|
|
39502
|
-
enumerable: enumerable,
|
|
39503
|
-
|
|
39504
|
-
get: function get$1$1() {
|
|
39505
|
-
return get$1(this[DRAFT_STATE], prop);
|
|
39506
|
-
},
|
|
39507
|
-
|
|
39508
|
-
set: function set$1$1(value) {
|
|
39509
|
-
set$1(this[DRAFT_STATE], prop, value);
|
|
39510
|
-
}
|
|
39511
|
-
|
|
39512
|
-
};
|
|
39513
|
-
}
|
|
39514
|
-
|
|
39515
|
-
Object.defineProperty(draft, prop, desc);
|
|
39516
|
-
}
|
|
39517
|
-
|
|
39518
|
-
function assertUnrevoked(state) {
|
|
39519
|
-
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))); }
|
|
39520
|
-
} // This looks expensive, but only proxies are visited, and only objects without known changes are scanned.
|
|
39521
|
-
|
|
39522
|
-
|
|
39523
|
-
function markChangesSweep(drafts) {
|
|
39524
|
-
// The natural order of drafts in the `scope` array is based on when they
|
|
39525
|
-
// were accessed. By processing drafts in reverse natural order, we have a
|
|
39526
|
-
// better chance of processing leaf nodes first. When a leaf node is known to
|
|
39527
|
-
// have changed, we can avoid any traversal of its ancestor nodes.
|
|
39528
|
-
for (var i = drafts.length - 1; i >= 0; i--) {
|
|
39529
|
-
var state = drafts[i][DRAFT_STATE];
|
|
39530
|
-
|
|
39531
|
-
if (!state.modified) {
|
|
39532
|
-
if (Array.isArray(state.base)) {
|
|
39533
|
-
if (hasArrayChanges(state)) { markChanged(state); }
|
|
39534
|
-
} else if (hasObjectChanges(state)) { markChanged(state); }
|
|
39535
|
-
}
|
|
39536
|
-
}
|
|
39537
|
-
}
|
|
39538
|
-
|
|
39539
|
-
function markChangesRecursively(object) {
|
|
39540
|
-
if (!object || typeof object !== "object") { return; }
|
|
39541
|
-
var state = object[DRAFT_STATE];
|
|
39542
|
-
if (!state) { return; }
|
|
39543
|
-
var base = state.base;
|
|
39544
|
-
var draft = state.draft;
|
|
39545
|
-
var assigned = state.assigned;
|
|
39546
|
-
|
|
39547
|
-
if (!Array.isArray(object)) {
|
|
39548
|
-
// Look for added keys.
|
|
39549
|
-
Object.keys(draft).forEach(function (key) {
|
|
39550
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39551
|
-
if (base[key] === undefined && !has$1(base, key)) {
|
|
39552
|
-
assigned[key] = true;
|
|
39553
|
-
markChanged(state);
|
|
39554
|
-
} else if (!assigned[key]) {
|
|
39555
|
-
// Only untouched properties trigger recursion.
|
|
39556
|
-
markChangesRecursively(draft[key]);
|
|
39557
|
-
}
|
|
39558
|
-
}); // Look for removed keys.
|
|
39559
|
-
|
|
39560
|
-
Object.keys(base).forEach(function (key) {
|
|
39561
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39562
|
-
if (draft[key] === undefined && !has$1(draft, key)) {
|
|
39563
|
-
assigned[key] = false;
|
|
39564
|
-
markChanged(state);
|
|
39565
|
-
}
|
|
39566
|
-
});
|
|
39567
|
-
} else if (hasArrayChanges(state)) {
|
|
39568
|
-
markChanged(state);
|
|
39569
|
-
assigned.length = true;
|
|
39570
|
-
|
|
39571
|
-
if (draft.length < base.length) {
|
|
39572
|
-
for (var i = draft.length; i < base.length; i++) { assigned[i] = false; }
|
|
39573
|
-
} else {
|
|
39574
|
-
for (var i$1 = base.length; i$1 < draft.length; i$1++) { assigned[i$1] = true; }
|
|
39575
|
-
}
|
|
39576
|
-
|
|
39577
|
-
for (var i$2 = 0; i$2 < draft.length; i$2++) {
|
|
39578
|
-
// Only untouched indices trigger recursion.
|
|
39579
|
-
if (assigned[i$2] === undefined) { markChangesRecursively(draft[i$2]); }
|
|
39580
|
-
}
|
|
39581
|
-
}
|
|
39582
|
-
}
|
|
39583
|
-
|
|
39584
|
-
function hasObjectChanges(state) {
|
|
39585
|
-
var base = state.base;
|
|
39586
|
-
var draft = state.draft; // Search for added keys and changed keys. Start at the back, because
|
|
39587
|
-
// non-numeric keys are ordered by time of definition on the object.
|
|
39588
|
-
|
|
39589
|
-
var keys = Object.keys(draft);
|
|
39590
|
-
|
|
39591
|
-
for (var i = keys.length - 1; i >= 0; i--) {
|
|
39592
|
-
var key = keys[i];
|
|
39593
|
-
var baseValue = base[key]; // The `undefined` check is a fast path for pre-existing keys.
|
|
39594
|
-
|
|
39595
|
-
if (baseValue === undefined && !has$1(base, key)) {
|
|
39596
|
-
return true;
|
|
39597
|
-
} // Once a base key is deleted, future changes go undetected, because its
|
|
39598
|
-
// descriptor is erased. This branch detects any missed changes.
|
|
39599
|
-
else {
|
|
39600
|
-
var value = draft[key];
|
|
39601
|
-
var state$1 = value && value[DRAFT_STATE];
|
|
39602
|
-
|
|
39603
|
-
if (state$1 ? state$1.base !== baseValue : !is(value, baseValue)) {
|
|
39604
|
-
return true;
|
|
39605
|
-
}
|
|
39606
|
-
}
|
|
39607
|
-
} // At this point, no keys were added or changed.
|
|
39608
|
-
// Compare key count to determine if keys were deleted.
|
|
39609
|
-
|
|
39610
|
-
|
|
39611
|
-
return keys.length !== Object.keys(base).length;
|
|
39612
|
-
}
|
|
39613
|
-
|
|
39614
|
-
function hasArrayChanges(state) {
|
|
39615
|
-
var draft = state.draft;
|
|
39616
|
-
if (draft.length !== state.base.length) { return true; } // See #116
|
|
39617
|
-
// If we first shorten the length, our array interceptors will be removed.
|
|
39618
|
-
// If after that new items are added, result in the same original length,
|
|
39619
|
-
// those last items will have no intercepting property.
|
|
39620
|
-
// So if there is no own descriptor on the last position, we know that items were removed and added
|
|
39621
|
-
// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check
|
|
39622
|
-
// the last one
|
|
39623
|
-
|
|
39624
|
-
var descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)
|
|
39625
|
-
|
|
39626
|
-
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
|
|
39627
|
-
|
|
39628
|
-
return false;
|
|
39629
|
-
}
|
|
39630
|
-
|
|
39631
|
-
function createHiddenProperty(target, prop, value) {
|
|
39632
|
-
Object.defineProperty(target, prop, {
|
|
39633
|
-
value: value,
|
|
39634
|
-
enumerable: false,
|
|
39635
|
-
writable: true
|
|
39636
|
-
});
|
|
39637
|
-
}
|
|
39638
|
-
|
|
39639
|
-
var legacyProxy = /*#__PURE__*/Object.freeze({
|
|
39640
|
-
willFinalize: willFinalize,
|
|
39641
|
-
createProxy: createProxy
|
|
39642
|
-
});
|
|
39643
|
-
|
|
39644
|
-
function willFinalize$1() {}
|
|
39645
|
-
function createProxy$1(base, parent) {
|
|
39646
|
-
var scope = parent ? parent.scope : ImmerScope.current;
|
|
39647
|
-
var state = {
|
|
39648
|
-
// Track which produce call this is associated with.
|
|
39649
|
-
scope: scope,
|
|
39650
|
-
// True for both shallow and deep changes.
|
|
39651
|
-
modified: false,
|
|
39652
|
-
// Used during finalization.
|
|
39653
|
-
finalized: false,
|
|
39654
|
-
// Track which properties have been assigned (true) or deleted (false).
|
|
39655
|
-
assigned: {},
|
|
39656
|
-
// The parent draft state.
|
|
39657
|
-
parent: parent,
|
|
39658
|
-
// The base state.
|
|
39659
|
-
base: base,
|
|
39660
|
-
// The base proxy.
|
|
39661
|
-
draft: null,
|
|
39662
|
-
// Any property proxies.
|
|
39663
|
-
drafts: {},
|
|
39664
|
-
// The base copy with any updated values.
|
|
39665
|
-
copy: null,
|
|
39666
|
-
// Called by the `produce` function.
|
|
39667
|
-
revoke: null
|
|
39668
|
-
};
|
|
39669
|
-
var ref = Array.isArray(base) ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants,
|
|
39670
|
-
// although state itself is an object
|
|
39671
|
-
Proxy.revocable([state], arrayTraps) : Proxy.revocable(state, objectTraps);
|
|
39672
|
-
var revoke = ref.revoke;
|
|
39673
|
-
var proxy = ref.proxy;
|
|
39674
|
-
state.draft = proxy;
|
|
39675
|
-
state.revoke = revoke;
|
|
39676
|
-
scope.drafts.push(proxy);
|
|
39677
|
-
return proxy;
|
|
39678
|
-
}
|
|
39679
|
-
var objectTraps = {
|
|
39680
|
-
get: get$1$1,
|
|
39681
|
-
|
|
39682
|
-
has: function has(target, prop) {
|
|
39683
|
-
return prop in source$1(target);
|
|
39684
|
-
},
|
|
39685
|
-
|
|
39686
|
-
ownKeys: function ownKeys(target) {
|
|
39687
|
-
return Reflect.ownKeys(source$1(target));
|
|
39688
|
-
},
|
|
39689
|
-
|
|
39690
|
-
set: set$1$1,
|
|
39691
|
-
deleteProperty: deleteProperty,
|
|
39692
|
-
getOwnPropertyDescriptor: getOwnPropertyDescriptor$2,
|
|
39693
|
-
|
|
39694
|
-
defineProperty: function defineProperty() {
|
|
39695
|
-
throw new Error("Object.defineProperty() cannot be used on an Immer draft"); // prettier-ignore
|
|
39696
|
-
},
|
|
39697
|
-
|
|
39698
|
-
getPrototypeOf: function getPrototypeOf(target) {
|
|
39699
|
-
return Object.getPrototypeOf(target.base);
|
|
39700
|
-
},
|
|
39701
|
-
|
|
39702
|
-
setPrototypeOf: function setPrototypeOf() {
|
|
39703
|
-
throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft"); // prettier-ignore
|
|
39704
|
-
}
|
|
39705
|
-
|
|
39706
|
-
};
|
|
39707
|
-
var arrayTraps = {};
|
|
39708
|
-
each(objectTraps, function (key, fn) {
|
|
39709
|
-
arrayTraps[key] = function () {
|
|
39710
|
-
arguments[0] = arguments[0][0];
|
|
39711
|
-
return fn.apply(this, arguments);
|
|
39712
|
-
};
|
|
39713
|
-
});
|
|
39714
|
-
|
|
39715
|
-
arrayTraps.deleteProperty = function (state, prop) {
|
|
39716
|
-
if (isNaN(parseInt(prop))) {
|
|
39717
|
-
throw new Error("Immer only supports deleting array indices"); // prettier-ignore
|
|
39718
|
-
}
|
|
39719
|
-
|
|
39720
|
-
return objectTraps.deleteProperty.call(this, state[0], prop);
|
|
39721
|
-
};
|
|
39722
|
-
|
|
39723
|
-
arrayTraps.set = function (state, prop, value) {
|
|
39724
|
-
if (prop !== "length" && isNaN(parseInt(prop))) {
|
|
39725
|
-
throw new Error("Immer only supports setting array indices and the 'length' property"); // prettier-ignore
|
|
39726
|
-
}
|
|
39727
|
-
|
|
39728
|
-
return objectTraps.set.call(this, state[0], prop, value);
|
|
39729
|
-
}; // returns the object we should be reading the current value from, which is base, until some change has been made
|
|
39730
|
-
|
|
39731
|
-
|
|
39732
|
-
function source$1(state) {
|
|
39733
|
-
return state.copy || state.base;
|
|
39734
|
-
} // Access a property without creating an Immer draft.
|
|
39735
|
-
|
|
39736
|
-
|
|
39737
|
-
function peek$1(draft, prop) {
|
|
39738
|
-
var state = draft[DRAFT_STATE];
|
|
39739
|
-
var desc = Reflect.getOwnPropertyDescriptor(state ? source$1(state) : draft, prop);
|
|
39740
|
-
return desc && desc.value;
|
|
39741
|
-
}
|
|
39742
|
-
|
|
39743
|
-
function get$1$1(state, prop) {
|
|
39744
|
-
if (prop === DRAFT_STATE) { return state; }
|
|
39745
|
-
var drafts = state.drafts; // Check for existing draft in unmodified state.
|
|
39746
|
-
|
|
39747
|
-
if (!state.modified && has$1(drafts, prop)) {
|
|
39748
|
-
return drafts[prop];
|
|
39749
|
-
}
|
|
39750
|
-
|
|
39751
|
-
var value = source$1(state)[prop];
|
|
39752
|
-
|
|
39753
|
-
if (state.finalized || !isDraftable(value)) {
|
|
39754
|
-
return value;
|
|
39755
|
-
} // Check for existing draft in modified state.
|
|
39756
|
-
|
|
39757
|
-
|
|
39758
|
-
if (state.modified) {
|
|
39759
|
-
// Assigned values are never drafted. This catches any drafts we created, too.
|
|
39760
|
-
if (value !== peek$1(state.base, prop)) { return value; } // Store drafts on the copy (when one exists).
|
|
39761
|
-
|
|
39762
|
-
drafts = state.copy;
|
|
39763
|
-
}
|
|
39764
|
-
|
|
39765
|
-
return drafts[prop] = createProxy$1(value, state);
|
|
39766
|
-
}
|
|
39767
|
-
|
|
39768
|
-
function set$1$1(state, prop, value) {
|
|
39769
|
-
if (!state.modified) {
|
|
39770
|
-
var baseValue = peek$1(state.base, prop); // Optimize based on value's truthiness. Truthy values are guaranteed to
|
|
39771
|
-
// never be undefined, so we can avoid the `in` operator. Lastly, truthy
|
|
39772
|
-
// values may be drafts, but falsy values are never drafts.
|
|
39773
|
-
|
|
39774
|
-
var isUnchanged = value ? is(baseValue, value) || value === state.drafts[prop] : is(baseValue, value) && prop in state.base;
|
|
39775
|
-
if (isUnchanged) { return true; }
|
|
39776
|
-
markChanged$1(state);
|
|
39777
|
-
}
|
|
39778
|
-
|
|
39779
|
-
state.assigned[prop] = true;
|
|
39780
|
-
state.copy[prop] = value;
|
|
39781
|
-
return true;
|
|
39782
|
-
}
|
|
39783
|
-
|
|
39784
|
-
function deleteProperty(state, prop) {
|
|
39785
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39786
|
-
if (peek$1(state.base, prop) !== undefined || prop in state.base) {
|
|
39787
|
-
state.assigned[prop] = false;
|
|
39788
|
-
markChanged$1(state);
|
|
39789
|
-
} else if (state.assigned[prop]) {
|
|
39790
|
-
// if an originally not assigned property was deleted
|
|
39791
|
-
delete state.assigned[prop];
|
|
39792
|
-
}
|
|
39793
|
-
|
|
39794
|
-
if (state.copy) { delete state.copy[prop]; }
|
|
39795
|
-
return true;
|
|
39796
|
-
} // Note: We never coerce `desc.value` into an Immer draft, because we can't make
|
|
39797
|
-
// the same guarantee in ES5 mode.
|
|
39798
|
-
|
|
39799
|
-
|
|
39800
|
-
function getOwnPropertyDescriptor$2(state, prop) {
|
|
39801
|
-
var owner = source$1(state);
|
|
39802
|
-
var desc = Reflect.getOwnPropertyDescriptor(owner, prop);
|
|
39803
|
-
|
|
39804
|
-
if (desc) {
|
|
39805
|
-
desc.writable = true;
|
|
39806
|
-
desc.configurable = !Array.isArray(owner) || prop !== "length";
|
|
39807
|
-
}
|
|
39808
|
-
|
|
39809
|
-
return desc;
|
|
39810
|
-
}
|
|
39811
|
-
|
|
39812
|
-
function markChanged$1(state) {
|
|
39813
|
-
if (!state.modified) {
|
|
39814
|
-
state.modified = true;
|
|
39815
|
-
state.copy = assign(shallowCopy(state.base), state.drafts);
|
|
39816
|
-
state.drafts = null;
|
|
39817
|
-
if (state.parent) { markChanged$1(state.parent); }
|
|
39818
|
-
}
|
|
39819
|
-
}
|
|
39820
|
-
|
|
39821
|
-
var modernProxy = /*#__PURE__*/Object.freeze({
|
|
39822
|
-
willFinalize: willFinalize$1,
|
|
39823
|
-
createProxy: createProxy$1
|
|
39824
|
-
});
|
|
39825
|
-
|
|
39826
|
-
function generatePatches(state, basePath, patches, inversePatches) {
|
|
39827
|
-
Array.isArray(state.base) ? generateArrayPatches(state, basePath, patches, inversePatches) : generateObjectPatches(state, basePath, patches, inversePatches);
|
|
39828
|
-
}
|
|
39829
|
-
|
|
39830
|
-
function generateArrayPatches(state, basePath, patches, inversePatches) {
|
|
39831
|
-
var assign, assign$1;
|
|
39832
|
-
|
|
39833
|
-
var base = state.base;
|
|
39834
|
-
var copy = state.copy;
|
|
39835
|
-
var assigned = state.assigned; // Reduce complexity by ensuring `base` is never longer.
|
|
39836
|
-
|
|
39837
|
-
if (copy.length < base.length) {
|
|
39838
|
-
(assign = [copy, base], base = assign[0], copy = assign[1]);
|
|
39839
|
-
(assign$1 = [inversePatches, patches], patches = assign$1[0], inversePatches = assign$1[1]);
|
|
39840
|
-
}
|
|
39841
|
-
|
|
39842
|
-
var delta = copy.length - base.length; // Find the first replaced index.
|
|
39843
|
-
|
|
39844
|
-
var start = 0;
|
|
39845
|
-
|
|
39846
|
-
while (base[start] === copy[start] && start < base.length) {
|
|
39847
|
-
++start;
|
|
39848
|
-
} // Find the last replaced index. Search from the end to optimize splice patches.
|
|
39849
|
-
|
|
39850
|
-
|
|
39851
|
-
var end = base.length;
|
|
39852
|
-
|
|
39853
|
-
while (end > start && base[end - 1] === copy[end + delta - 1]) {
|
|
39854
|
-
--end;
|
|
39855
|
-
} // Process replaced indices.
|
|
39856
|
-
|
|
39857
|
-
|
|
39858
|
-
for (var i = start; i < end; ++i) {
|
|
39859
|
-
if (assigned[i] && copy[i] !== base[i]) {
|
|
39860
|
-
var path = basePath.concat([i]);
|
|
39861
|
-
patches.push({
|
|
39862
|
-
op: "replace",
|
|
39863
|
-
path: path,
|
|
39864
|
-
value: copy[i]
|
|
39865
|
-
});
|
|
39866
|
-
inversePatches.push({
|
|
39867
|
-
op: "replace",
|
|
39868
|
-
path: path,
|
|
39869
|
-
value: base[i]
|
|
39870
|
-
});
|
|
39871
|
-
}
|
|
39872
|
-
}
|
|
39873
|
-
|
|
39874
|
-
var replaceCount = patches.length; // Process added indices.
|
|
39875
|
-
|
|
39876
|
-
for (var i$1 = end + delta - 1; i$1 >= end; --i$1) {
|
|
39877
|
-
var path$1 = basePath.concat([i$1]);
|
|
39878
|
-
patches[replaceCount + i$1 - end] = {
|
|
39879
|
-
op: "add",
|
|
39880
|
-
path: path$1,
|
|
39881
|
-
value: copy[i$1]
|
|
39882
|
-
};
|
|
39883
|
-
inversePatches.push({
|
|
39884
|
-
op: "remove",
|
|
39885
|
-
path: path$1
|
|
39886
|
-
});
|
|
39887
|
-
}
|
|
39888
|
-
}
|
|
39889
|
-
|
|
39890
|
-
function generateObjectPatches(state, basePath, patches, inversePatches) {
|
|
39891
|
-
var base = state.base;
|
|
39892
|
-
var copy = state.copy;
|
|
39893
|
-
each(state.assigned, function (key, assignedValue) {
|
|
39894
|
-
var origValue = base[key];
|
|
39895
|
-
var value = copy[key];
|
|
39896
|
-
var op = !assignedValue ? "remove" : key in base ? "replace" : "add";
|
|
39897
|
-
if (origValue === value && op === "replace") { return; }
|
|
39898
|
-
var path = basePath.concat(key);
|
|
39899
|
-
patches.push(op === "remove" ? {
|
|
39900
|
-
op: op,
|
|
39901
|
-
path: path
|
|
39902
|
-
} : {
|
|
39903
|
-
op: op,
|
|
39904
|
-
path: path,
|
|
39905
|
-
value: value
|
|
39906
|
-
});
|
|
39907
|
-
inversePatches.push(op === "add" ? {
|
|
39908
|
-
op: "remove",
|
|
39909
|
-
path: path
|
|
39910
|
-
} : op === "remove" ? {
|
|
39911
|
-
op: "add",
|
|
39912
|
-
path: path,
|
|
39913
|
-
value: origValue
|
|
39914
|
-
} : {
|
|
39915
|
-
op: "replace",
|
|
39916
|
-
path: path,
|
|
39917
|
-
value: origValue
|
|
39918
|
-
});
|
|
39919
|
-
});
|
|
39920
|
-
}
|
|
39921
|
-
|
|
39922
|
-
var applyPatches = function (draft, patches) {
|
|
39923
|
-
for (var i$1 = 0, list = patches; i$1 < list.length; i$1 += 1) {
|
|
39924
|
-
var patch = list[i$1];
|
|
39925
|
-
|
|
39926
|
-
var path = patch.path;
|
|
39927
|
-
var op = patch.op;
|
|
39928
|
-
var value = clone(patch.value); // used to clone patch to ensure original patch is not modified, see #411
|
|
39929
|
-
|
|
39930
|
-
if (!path.length) { throw new Error("Illegal state"); }
|
|
39931
|
-
var base = draft;
|
|
39932
|
-
|
|
39933
|
-
for (var i = 0; i < path.length - 1; i++) {
|
|
39934
|
-
base = base[path[i]];
|
|
39935
|
-
if (!base || typeof base !== "object") { throw new Error("Cannot apply patch, path doesn't resolve: " + path.join("/")); } // prettier-ignore
|
|
39936
|
-
}
|
|
39937
|
-
|
|
39938
|
-
var key = path[path.length - 1];
|
|
39939
|
-
|
|
39940
|
-
switch (op) {
|
|
39941
|
-
case "replace":
|
|
39942
|
-
// if value is an object, then it's assigned by reference
|
|
39943
|
-
// in the following add or remove ops, the value field inside the patch will also be modifyed
|
|
39944
|
-
// so we use value from the cloned patch
|
|
39945
|
-
base[key] = value;
|
|
39946
|
-
break;
|
|
39947
|
-
|
|
39948
|
-
case "add":
|
|
39949
|
-
if (Array.isArray(base)) {
|
|
39950
|
-
// TODO: support "foo/-" paths for appending to an array
|
|
39951
|
-
base.splice(key, 0, value);
|
|
39952
|
-
} else {
|
|
39953
|
-
base[key] = value;
|
|
39954
|
-
}
|
|
39955
|
-
|
|
39956
|
-
break;
|
|
39957
|
-
|
|
39958
|
-
case "remove":
|
|
39959
|
-
if (Array.isArray(base)) {
|
|
39960
|
-
base.splice(key, 1);
|
|
39961
|
-
} else {
|
|
39962
|
-
delete base[key];
|
|
39963
|
-
}
|
|
39964
|
-
|
|
39965
|
-
break;
|
|
39966
|
-
|
|
39967
|
-
default:
|
|
39968
|
-
throw new Error("Unsupported patch operation: " + op);
|
|
39969
|
-
}
|
|
39970
|
-
}
|
|
39971
|
-
|
|
39972
|
-
return draft;
|
|
39232
|
+
return runFormValidators(fieldName, form, validators);
|
|
39973
39233
|
};
|
|
39974
39234
|
|
|
39975
|
-
|
|
39976
|
-
|
|
39977
|
-
|
|
39978
|
-
|
|
39979
|
-
|
|
39980
|
-
|
|
39981
|
-
|
|
39982
|
-
onCopy: null
|
|
39983
|
-
};
|
|
39984
|
-
var Immer = function Immer(config) {
|
|
39985
|
-
assign(this, configDefaults, config);
|
|
39986
|
-
this.setUseProxies(this.useProxies);
|
|
39987
|
-
this.produce = this.produce.bind(this);
|
|
39988
|
-
};
|
|
39989
|
-
|
|
39990
|
-
Immer.prototype.produce = function produce (base, recipe, patchListener) {
|
|
39991
|
-
var this$1$1 = this;
|
|
39992
|
-
|
|
39993
|
-
// curried invocation
|
|
39994
|
-
if (typeof base === "function" && typeof recipe !== "function") {
|
|
39995
|
-
var defaultBase = recipe;
|
|
39996
|
-
recipe = base;
|
|
39997
|
-
var self = this;
|
|
39998
|
-
return function curriedProduce(base) {
|
|
39999
|
-
var this$1$1 = this;
|
|
40000
|
-
if ( base === void 0 ) base = defaultBase;
|
|
40001
|
-
var args = [], len = arguments.length - 1;
|
|
40002
|
-
while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
|
|
40003
|
-
|
|
40004
|
-
return self.produce(base, function (draft) { return recipe.call.apply(recipe, [ this$1$1, draft ].concat( args )); }); // prettier-ignore
|
|
40005
|
-
};
|
|
40006
|
-
} // prettier-ignore
|
|
40007
|
-
|
|
40008
|
-
|
|
40009
|
-
{
|
|
40010
|
-
if (typeof recipe !== "function") {
|
|
40011
|
-
throw new Error("The first or second argument to `produce` must be a function");
|
|
40012
|
-
}
|
|
40013
|
-
|
|
40014
|
-
if (patchListener !== undefined && typeof patchListener !== "function") {
|
|
40015
|
-
throw new Error("The third argument to `produce` must be a function or undefined");
|
|
40016
|
-
}
|
|
40017
|
-
}
|
|
40018
|
-
var result; // Only plain objects, arrays, and "immerable classes" are drafted.
|
|
40019
|
-
|
|
40020
|
-
if (isDraftable(base)) {
|
|
40021
|
-
var scope = ImmerScope.enter();
|
|
40022
|
-
var proxy = this.createProxy(base);
|
|
40023
|
-
var hasError = true;
|
|
40024
|
-
|
|
40025
|
-
try {
|
|
40026
|
-
result = recipe(proxy);
|
|
40027
|
-
hasError = false;
|
|
40028
|
-
} finally {
|
|
40029
|
-
// finally instead of catch + rethrow better preserves original stack
|
|
40030
|
-
if (hasError) { scope.revoke(); }else { scope.leave(); }
|
|
40031
|
-
}
|
|
40032
|
-
|
|
40033
|
-
if (result instanceof Promise) {
|
|
40034
|
-
return result.then(function (result) {
|
|
40035
|
-
scope.usePatches(patchListener);
|
|
40036
|
-
return this$1$1.processResult(result, scope);
|
|
40037
|
-
}, function (error) {
|
|
40038
|
-
scope.revoke();
|
|
40039
|
-
throw error;
|
|
40040
|
-
});
|
|
40041
|
-
}
|
|
40042
|
-
|
|
40043
|
-
scope.usePatches(patchListener);
|
|
40044
|
-
return this.processResult(result, scope);
|
|
40045
|
-
} else {
|
|
40046
|
-
result = recipe(base);
|
|
40047
|
-
if (result === undefined) { return base; }
|
|
40048
|
-
return result !== NOTHING ? result : undefined;
|
|
39235
|
+
const computeErrorEntries = (formState) => {
|
|
39236
|
+
const fields = Object.entries(formState);
|
|
39237
|
+
for (let entry of fields) {
|
|
39238
|
+
let fieldName = entry[0];
|
|
39239
|
+
let errors = computeErrors(fieldName, formState);
|
|
39240
|
+
formState[fieldName].errors = errors;
|
|
39241
|
+
formState[fieldName].hasErrors = errors.length > 0;
|
|
40049
39242
|
}
|
|
40050
39243
|
};
|
|
40051
39244
|
|
|
40052
|
-
|
|
40053
|
-
|
|
40054
|
-
|
|
40055
|
-
|
|
40056
|
-
|
|
40057
|
-
|
|
40058
|
-
|
|
40059
|
-
|
|
40060
|
-
return this$1$1.produceWithPatches(state, function (draft) { return arg1.apply(void 0, [ draft ].concat( args )); });
|
|
40061
|
-
};
|
|
40062
|
-
} // non-curried form
|
|
40063
|
-
|
|
40064
|
-
|
|
40065
|
-
if (arg3) { throw new Error("A patch listener cannot be passed to produceWithPatches"); }
|
|
40066
|
-
var patches, inversePatches;
|
|
40067
|
-
var nextState = this.produce(arg1, arg2, function (p, ip) {
|
|
40068
|
-
patches = p;
|
|
40069
|
-
inversePatches = ip;
|
|
40070
|
-
});
|
|
40071
|
-
return [nextState, patches, inversePatches];
|
|
40072
|
-
};
|
|
40073
|
-
|
|
40074
|
-
Immer.prototype.createDraft = function createDraft (base) {
|
|
40075
|
-
if (!isDraftable(base)) {
|
|
40076
|
-
throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object"); // prettier-ignore
|
|
40077
|
-
}
|
|
40078
|
-
|
|
40079
|
-
var scope = ImmerScope.enter();
|
|
40080
|
-
var proxy = this.createProxy(base);
|
|
40081
|
-
proxy[DRAFT_STATE].isManual = true;
|
|
40082
|
-
scope.leave();
|
|
40083
|
-
return proxy;
|
|
40084
|
-
};
|
|
40085
|
-
|
|
40086
|
-
Immer.prototype.finishDraft = function finishDraft (draft, patchListener) {
|
|
40087
|
-
var state = draft && draft[DRAFT_STATE];
|
|
40088
|
-
|
|
40089
|
-
if (!state || !state.isManual) {
|
|
40090
|
-
throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`"); // prettier-ignore
|
|
40091
|
-
}
|
|
40092
|
-
|
|
40093
|
-
if (state.finalized) {
|
|
40094
|
-
throw new Error("The given draft is already finalized"); // prettier-ignore
|
|
39245
|
+
const computeDirtyEntries = (formState, changedFieldName) => {
|
|
39246
|
+
const fields = Object.entries(formState);
|
|
39247
|
+
for (let entry of fields) {
|
|
39248
|
+
let fieldName = entry[0];
|
|
39249
|
+
let field = entry[1];
|
|
39250
|
+
let dirty = fieldName === changedFieldName ? true : field.dirty;
|
|
39251
|
+
formState[fieldName].dirty = dirty;
|
|
40095
39252
|
}
|
|
40096
|
-
|
|
40097
|
-
var scope = state.scope;
|
|
40098
|
-
scope.usePatches(patchListener);
|
|
40099
|
-
return this.processResult(undefined, scope);
|
|
40100
39253
|
};
|
|
40101
39254
|
|
|
40102
|
-
Immer.prototype.setAutoFreeze = function setAutoFreeze (value) {
|
|
40103
|
-
this.autoFreeze = value;
|
|
40104
|
-
};
|
|
39255
|
+
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;
|
|
40105
39256
|
|
|
40106
|
-
|
|
40107
|
-
this.useProxies = value;
|
|
40108
|
-
assign(this, value ? modernProxy : legacyProxy);
|
|
40109
|
-
};
|
|
40110
|
-
|
|
40111
|
-
Immer.prototype.applyPatches = function applyPatches$1 (base, patches) {
|
|
40112
|
-
// If a patch replaces the entire state, take that replacement as base
|
|
40113
|
-
// before applying patches
|
|
40114
|
-
var i;
|
|
40115
|
-
|
|
40116
|
-
for (i = patches.length - 1; i >= 0; i--) {
|
|
40117
|
-
var patch = patches[i];
|
|
40118
|
-
|
|
40119
|
-
if (patch.path.length === 0 && patch.op === "replace") {
|
|
40120
|
-
base = patch.value;
|
|
40121
|
-
break;
|
|
40122
|
-
}
|
|
40123
|
-
}
|
|
40124
|
-
|
|
40125
|
-
if (isDraft(base)) {
|
|
40126
|
-
// N.B: never hits if some patch a replacement, patches are never drafts
|
|
40127
|
-
return applyPatches(base, patches);
|
|
40128
|
-
} // Otherwise, produce a copy of the base state.
|
|
40129
|
-
|
|
40130
|
-
|
|
40131
|
-
return this.produce(base, function (draft) { return applyPatches(draft, patches.slice(i + 1)); });
|
|
40132
|
-
};
|
|
40133
|
-
/** @internal */
|
|
40134
|
-
|
|
40135
|
-
|
|
40136
|
-
Immer.prototype.processResult = function processResult (result, scope) {
|
|
40137
|
-
var baseDraft = scope.drafts[0];
|
|
40138
|
-
var isReplaced = result !== undefined && result !== baseDraft;
|
|
40139
|
-
this.willFinalize(scope, result, isReplaced);
|
|
40140
|
-
|
|
40141
|
-
if (isReplaced) {
|
|
40142
|
-
if (baseDraft[DRAFT_STATE].modified) {
|
|
40143
|
-
scope.revoke();
|
|
40144
|
-
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
|
|
40145
|
-
}
|
|
40146
|
-
|
|
40147
|
-
if (isDraftable(result)) {
|
|
40148
|
-
// Finalize the result in case it contains (or is) a subset of the draft.
|
|
40149
|
-
result = this.finalize(result, null, scope);
|
|
40150
|
-
}
|
|
40151
|
-
|
|
40152
|
-
if (scope.patches) {
|
|
40153
|
-
scope.patches.push({
|
|
40154
|
-
op: "replace",
|
|
40155
|
-
path: [],
|
|
40156
|
-
value: result
|
|
40157
|
-
});
|
|
40158
|
-
scope.inversePatches.push({
|
|
40159
|
-
op: "replace",
|
|
40160
|
-
path: [],
|
|
40161
|
-
value: baseDraft[DRAFT_STATE].base
|
|
40162
|
-
});
|
|
40163
|
-
}
|
|
40164
|
-
} else {
|
|
40165
|
-
// Finalize the base draft.
|
|
40166
|
-
result = this.finalize(baseDraft, [], scope);
|
|
40167
|
-
}
|
|
40168
|
-
|
|
40169
|
-
scope.revoke();
|
|
40170
|
-
|
|
40171
|
-
if (scope.patches) {
|
|
40172
|
-
scope.patchListener(scope.patches, scope.inversePatches);
|
|
40173
|
-
}
|
|
40174
|
-
|
|
40175
|
-
return result !== NOTHING ? result : undefined;
|
|
40176
|
-
};
|
|
40177
|
-
/**
|
|
40178
|
-
* @internal
|
|
40179
|
-
* Finalize a draft, returning either the unmodified base state or a modified
|
|
40180
|
-
* copy of the base state.
|
|
40181
|
-
*/
|
|
40182
|
-
|
|
40183
|
-
|
|
40184
|
-
Immer.prototype.finalize = function finalize (draft, path, scope) {
|
|
40185
|
-
var this$1$1 = this;
|
|
40186
|
-
|
|
40187
|
-
var state = draft[DRAFT_STATE];
|
|
40188
|
-
|
|
40189
|
-
if (!state) {
|
|
40190
|
-
if (Object.isFrozen(draft)) { return draft; }
|
|
40191
|
-
return this.finalizeTree(draft, null, scope);
|
|
40192
|
-
} // Never finalize drafts owned by another scope.
|
|
40193
|
-
|
|
40194
|
-
|
|
40195
|
-
if (state.scope !== scope) {
|
|
40196
|
-
return draft;
|
|
40197
|
-
}
|
|
40198
|
-
|
|
40199
|
-
if (!state.modified) {
|
|
40200
|
-
return state.base;
|
|
40201
|
-
}
|
|
40202
|
-
|
|
40203
|
-
if (!state.finalized) {
|
|
40204
|
-
state.finalized = true;
|
|
40205
|
-
this.finalizeTree(state.draft, path, scope);
|
|
40206
|
-
|
|
40207
|
-
if (this.onDelete) {
|
|
40208
|
-
// The `assigned` object is unreliable with ES5 drafts.
|
|
40209
|
-
if (this.useProxies) {
|
|
40210
|
-
var assigned = state.assigned;
|
|
40211
|
-
|
|
40212
|
-
for (var prop in assigned) {
|
|
40213
|
-
if (!assigned[prop]) { this.onDelete(state, prop); }
|
|
40214
|
-
}
|
|
40215
|
-
} else {
|
|
40216
|
-
var base = state.base;
|
|
40217
|
-
var copy = state.copy;
|
|
40218
|
-
each(base, function (prop) {
|
|
40219
|
-
if (!has$1(copy, prop)) { this$1$1.onDelete(state, prop); }
|
|
40220
|
-
});
|
|
40221
|
-
}
|
|
40222
|
-
}
|
|
40223
|
-
|
|
40224
|
-
if (this.onCopy) {
|
|
40225
|
-
this.onCopy(state);
|
|
40226
|
-
} // At this point, all descendants of `state.copy` have been finalized,
|
|
40227
|
-
// so we can be sure that `scope.canAutoFreeze` is accurate.
|
|
40228
|
-
|
|
40229
|
-
|
|
40230
|
-
if (this.autoFreeze && scope.canAutoFreeze) {
|
|
40231
|
-
Object.freeze(state.copy);
|
|
40232
|
-
}
|
|
40233
|
-
|
|
40234
|
-
if (path && scope.patches) {
|
|
40235
|
-
generatePatches(state, path, scope.patches, scope.inversePatches);
|
|
40236
|
-
}
|
|
40237
|
-
}
|
|
40238
|
-
|
|
40239
|
-
return state.copy;
|
|
40240
|
-
};
|
|
40241
|
-
/**
|
|
40242
|
-
* @internal
|
|
40243
|
-
* Finalize all drafts in the given state tree.
|
|
40244
|
-
*/
|
|
40245
|
-
|
|
40246
|
-
|
|
40247
|
-
Immer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) {
|
|
40248
|
-
var this$1$1 = this;
|
|
40249
|
-
|
|
40250
|
-
var state = root[DRAFT_STATE];
|
|
40251
|
-
|
|
40252
|
-
if (state) {
|
|
40253
|
-
if (!this.useProxies) {
|
|
40254
|
-
// Create the final copy, with added keys and without deleted keys.
|
|
40255
|
-
state.copy = shallowCopy(state.draft, true);
|
|
40256
|
-
}
|
|
40257
|
-
|
|
40258
|
-
root = state.copy;
|
|
40259
|
-
}
|
|
40260
|
-
|
|
40261
|
-
var needPatches = !!rootPath && !!scope.patches;
|
|
40262
|
-
|
|
40263
|
-
var finalizeProperty = function (prop, value, parent) {
|
|
40264
|
-
if (value === parent) {
|
|
40265
|
-
throw Error("Immer forbids circular references");
|
|
40266
|
-
} // In the `finalizeTree` method, only the `root` object may be a draft.
|
|
40267
|
-
|
|
40268
|
-
|
|
40269
|
-
var isDraftProp = !!state && parent === root;
|
|
40270
|
-
|
|
40271
|
-
if (isDraft(value)) {
|
|
40272
|
-
var path = isDraftProp && needPatches && !state.assigned[prop] ? rootPath.concat(prop) : null; // Drafts owned by `scope` are finalized here.
|
|
40273
|
-
|
|
40274
|
-
value = this$1$1.finalize(value, path, scope); // Drafts from another scope must prevent auto-freezing.
|
|
40275
|
-
|
|
40276
|
-
if (isDraft(value)) {
|
|
40277
|
-
scope.canAutoFreeze = false;
|
|
40278
|
-
} // Preserve non-enumerable properties.
|
|
40279
|
-
|
|
40280
|
-
|
|
40281
|
-
if (Array.isArray(parent) || isEnumerable(parent, prop)) {
|
|
40282
|
-
parent[prop] = value;
|
|
40283
|
-
} else {
|
|
40284
|
-
Object.defineProperty(parent, prop, {
|
|
40285
|
-
value: value
|
|
40286
|
-
});
|
|
40287
|
-
} // Unchanged drafts are never passed to the `onAssign` hook.
|
|
40288
|
-
|
|
40289
|
-
|
|
40290
|
-
if (isDraftProp && value === state.base[prop]) { return; }
|
|
40291
|
-
} // Unchanged draft properties are ignored.
|
|
40292
|
-
else if (isDraftProp && is(value, state.base[prop])) {
|
|
40293
|
-
return;
|
|
40294
|
-
} // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.
|
|
40295
|
-
else if (isDraftable(value) && !Object.isFrozen(value)) {
|
|
40296
|
-
each(value, finalizeProperty);
|
|
40297
|
-
}
|
|
40298
|
-
|
|
40299
|
-
if (isDraftProp && this$1$1.onAssign) {
|
|
40300
|
-
this$1$1.onAssign(state, prop, value);
|
|
40301
|
-
}
|
|
40302
|
-
};
|
|
40303
|
-
|
|
40304
|
-
each(root, finalizeProperty);
|
|
40305
|
-
return root;
|
|
40306
|
-
};
|
|
40307
|
-
|
|
40308
|
-
var immer = new Immer();
|
|
40309
|
-
/**
|
|
40310
|
-
* The `produce` function takes a value and a "recipe function" (whose
|
|
40311
|
-
* return value often depends on the base state). The recipe function is
|
|
40312
|
-
* free to mutate its first argument however it wants. All mutations are
|
|
40313
|
-
* only ever applied to a __copy__ of the base state.
|
|
40314
|
-
*
|
|
40315
|
-
* Pass only a function to create a "curried producer" which relieves you
|
|
40316
|
-
* from passing the recipe function every time.
|
|
40317
|
-
*
|
|
40318
|
-
* Only plain objects and arrays are made mutable. All other objects are
|
|
40319
|
-
* considered uncopyable.
|
|
40320
|
-
*
|
|
40321
|
-
* Note: This function is __bound__ to its `Immer` instance.
|
|
40322
|
-
*
|
|
40323
|
-
* @param {any} base - the initial state
|
|
40324
|
-
* @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified
|
|
40325
|
-
* @param {Function} patchListener - optional function that will be called with all the patches produced here
|
|
40326
|
-
* @returns {any} a new state, or the initial state if nothing was modified
|
|
40327
|
-
*/
|
|
40328
|
-
|
|
40329
|
-
var produce = immer.produce;
|
|
40330
|
-
/**
|
|
40331
|
-
* Like `produce`, but `produceWithPatches` always returns a tuple
|
|
40332
|
-
* [nextState, patches, inversePatches] (instead of just the next state)
|
|
40333
|
-
*/
|
|
40334
|
-
|
|
40335
|
-
immer.produceWithPatches.bind(immer);
|
|
40336
|
-
/**
|
|
40337
|
-
* Pass true to automatically freeze all copies created by Immer.
|
|
40338
|
-
*
|
|
40339
|
-
* By default, auto-freezing is disabled in production.
|
|
40340
|
-
*/
|
|
40341
|
-
|
|
40342
|
-
immer.setAutoFreeze.bind(immer);
|
|
40343
|
-
/**
|
|
40344
|
-
* Pass true to use the ES2015 `Proxy` class when creating drafts, which is
|
|
40345
|
-
* always faster than using ES5 proxies.
|
|
40346
|
-
*
|
|
40347
|
-
* By default, feature detection is used, so calling this is rarely necessary.
|
|
40348
|
-
*/
|
|
40349
|
-
|
|
40350
|
-
immer.setUseProxies.bind(immer);
|
|
40351
|
-
/**
|
|
40352
|
-
* Apply an array of Immer patches to the first argument.
|
|
40353
|
-
*
|
|
40354
|
-
* This function is a producer, which means copy-on-write is in effect.
|
|
40355
|
-
*/
|
|
40356
|
-
|
|
40357
|
-
immer.applyPatches.bind(immer);
|
|
40358
|
-
/**
|
|
40359
|
-
* Create an Immer draft from the given base state, which may be a draft itself.
|
|
40360
|
-
* The draft can be modified until you finalize it with the `finishDraft` function.
|
|
40361
|
-
*/
|
|
40362
|
-
|
|
40363
|
-
immer.createDraft.bind(immer);
|
|
40364
|
-
/**
|
|
40365
|
-
* Finalize an Immer draft from a `createDraft` call, returning the base state
|
|
40366
|
-
* (if no changes were made) or a modified copy. The draft must *not* be
|
|
40367
|
-
* mutated afterwards.
|
|
40368
|
-
*
|
|
40369
|
-
* Pass a function as the 2nd argument to generate Immer patches based on the
|
|
40370
|
-
* changes that were made.
|
|
40371
|
-
*/
|
|
40372
|
-
|
|
40373
|
-
immer.finishDraft.bind(immer);
|
|
40374
|
-
|
|
40375
|
-
const createInitialState = formConfig => {
|
|
39257
|
+
const createInitialState = (formConfig) => {
|
|
40376
39258
|
let initialForm = {};
|
|
40377
39259
|
const formConfigKeys = Object.keys(formConfig);
|
|
40378
39260
|
for (let formKey of formConfigKeys) {
|
|
40379
39261
|
initialForm[formKey] = {
|
|
40380
39262
|
dirty: false,
|
|
40381
|
-
rawValue: formConfig[formKey].defaultValue ||
|
|
39263
|
+
rawValue: formConfig[formKey].defaultValue || '',
|
|
40382
39264
|
validators: formConfig[formKey].validators || [],
|
|
40383
|
-
constraints: formConfig[formKey].constraints || []
|
|
39265
|
+
constraints: formConfig[formKey].constraints || [],
|
|
40384
39266
|
};
|
|
40385
39267
|
}
|
|
40386
39268
|
// Because validators require the entire form we have to do a
|
|
@@ -40391,82 +39273,99 @@ const createInitialState = formConfig => {
|
|
|
40391
39273
|
initialForm[formKey].errors = errors;
|
|
40392
39274
|
initialForm[formKey].hasErrors = errors.length > 0;
|
|
40393
39275
|
}
|
|
39276
|
+
|
|
40394
39277
|
return initialForm;
|
|
40395
39278
|
};
|
|
40396
39279
|
|
|
40397
|
-
const SET =
|
|
40398
|
-
const set$
|
|
39280
|
+
const SET = 'field/SET';
|
|
39281
|
+
const set$1 = (fieldName) => (value) => ({
|
|
40399
39282
|
type: SET,
|
|
40400
|
-
payload: { fieldName, value }
|
|
39283
|
+
payload: { fieldName, value },
|
|
40401
39284
|
});
|
|
40402
39285
|
|
|
40403
|
-
const CLEAR =
|
|
39286
|
+
const CLEAR = 'form/CLEAR';
|
|
40404
39287
|
const clear = () => ({ type: CLEAR });
|
|
40405
39288
|
|
|
40406
|
-
const ADD_VALIDATOR =
|
|
40407
|
-
const addValidator = fieldName => validator => ({
|
|
39289
|
+
const ADD_VALIDATOR = 'field/ADD_VALIDATOR';
|
|
39290
|
+
const addValidator = (fieldName) => (validator) => ({
|
|
40408
39291
|
type: ADD_VALIDATOR,
|
|
40409
|
-
payload: { fieldName, validator }
|
|
39292
|
+
payload: { fieldName, validator },
|
|
40410
39293
|
});
|
|
40411
39294
|
|
|
40412
|
-
const
|
|
40413
|
-
|
|
40414
|
-
|
|
40415
|
-
|
|
40416
|
-
|
|
40417
|
-
case SET:
|
|
40418
|
-
const changedFieldName = action.payload.fieldName;
|
|
40419
|
-
const newRawValue = action.payload.value;
|
|
40420
|
-
|
|
40421
|
-
return produce(state, draftState => {
|
|
40422
|
-
let originalValue = draftState[changedFieldName].rawValue;
|
|
40423
|
-
draftState[changedFieldName].rawValue = newRawValue;
|
|
40424
|
-
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
40425
|
-
// If the change violates constraints, revert the change
|
|
40426
|
-
draftState[changedFieldName].rawValue = originalValue;
|
|
40427
|
-
return draftState;
|
|
40428
|
-
}
|
|
39295
|
+
const REMOVE_VALIDATOR = 'field/REMOVE_VALIDATOR';
|
|
39296
|
+
const removeValidator = (fieldName) => (validator) => ({
|
|
39297
|
+
type: REMOVE_VALIDATOR,
|
|
39298
|
+
payload: { fieldName, validator },
|
|
39299
|
+
});
|
|
40429
39300
|
|
|
40430
|
-
|
|
40431
|
-
|
|
40432
|
-
|
|
40433
|
-
|
|
40434
|
-
|
|
40435
|
-
|
|
40436
|
-
|
|
40437
|
-
|
|
40438
|
-
|
|
40439
|
-
|
|
40440
|
-
|
|
40441
|
-
|
|
40442
|
-
|
|
40443
|
-
|
|
40444
|
-
|
|
40445
|
-
|
|
40446
|
-
|
|
40447
|
-
|
|
40448
|
-
|
|
40449
|
-
|
|
40450
|
-
|
|
40451
|
-
|
|
40452
|
-
|
|
40453
|
-
|
|
40454
|
-
|
|
40455
|
-
|
|
40456
|
-
|
|
40457
|
-
|
|
40458
|
-
|
|
40459
|
-
|
|
40460
|
-
|
|
40461
|
-
|
|
40462
|
-
|
|
40463
|
-
|
|
39301
|
+
const CLEAR_FIELD_VALIDATORS = 'field/CLEAR_FIELD_VALIDATORS';
|
|
39302
|
+
const clearFieldValidators = (fieldName) => () => ({
|
|
39303
|
+
type: CLEAR_FIELD_VALIDATORS,
|
|
39304
|
+
payload: { fieldName },
|
|
39305
|
+
});
|
|
39306
|
+
|
|
39307
|
+
const createFormReducer =
|
|
39308
|
+
(formConfig) =>
|
|
39309
|
+
(state = createInitialState(formConfig), action) => {
|
|
39310
|
+
switch (action.type) {
|
|
39311
|
+
case SET: {
|
|
39312
|
+
const changedFieldName = action.payload.fieldName;
|
|
39313
|
+
const newRawValue = action.payload.value;
|
|
39314
|
+
|
|
39315
|
+
return produce(state, (draftState) => {
|
|
39316
|
+
let originalValue = draftState[changedFieldName].rawValue;
|
|
39317
|
+
draftState[changedFieldName].rawValue = newRawValue;
|
|
39318
|
+
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
39319
|
+
// If the change violates constraints, revert the change
|
|
39320
|
+
draftState[changedFieldName].rawValue = originalValue;
|
|
39321
|
+
return draftState;
|
|
39322
|
+
}
|
|
39323
|
+
|
|
39324
|
+
computeDirtyEntries(draftState, changedFieldName);
|
|
39325
|
+
computeErrorEntries(draftState);
|
|
39326
|
+
});
|
|
39327
|
+
}
|
|
39328
|
+
case CLEAR:
|
|
39329
|
+
return createInitialState(formConfig);
|
|
39330
|
+
case ADD_VALIDATOR: {
|
|
39331
|
+
const fieldWithOverride = action.payload.fieldName;
|
|
39332
|
+
const newValidator = action.payload.validator;
|
|
39333
|
+
|
|
39334
|
+
return produce(state, (draftState) => {
|
|
39335
|
+
draftState[fieldWithOverride].validators.push(newValidator);
|
|
39336
|
+
computeErrorEntries(draftState);
|
|
39337
|
+
});
|
|
39338
|
+
}
|
|
39339
|
+
case REMOVE_VALIDATOR: {
|
|
39340
|
+
const fieldToOverride = action.payload.fieldName;
|
|
39341
|
+
const targetValidator = action.payload.validator;
|
|
39342
|
+
|
|
39343
|
+
return produce(state, (draftState) => {
|
|
39344
|
+
let fieldValidators = draftState[fieldToOverride].validators;
|
|
39345
|
+
draftState[fieldToOverride].validators = fieldValidators.filter(
|
|
39346
|
+
(validator) => validator.type !== targetValidator.type
|
|
39347
|
+
);
|
|
39348
|
+
computeErrorEntries(draftState);
|
|
39349
|
+
});
|
|
39350
|
+
}
|
|
39351
|
+
case CLEAR_FIELD_VALIDATORS: {
|
|
39352
|
+
const fieldToClear = action.payload.fieldName;
|
|
39353
|
+
|
|
39354
|
+
return produce(state, (draftState) => {
|
|
39355
|
+
draftState[fieldToClear].validators = [];
|
|
39356
|
+
computeErrorEntries(draftState);
|
|
39357
|
+
});
|
|
39358
|
+
}
|
|
39359
|
+
default:
|
|
39360
|
+
return state;
|
|
39361
|
+
}
|
|
39362
|
+
};
|
|
40464
39363
|
|
|
40465
|
-
const createMapDispatchToProps = formConfig => {
|
|
39364
|
+
const createMapDispatchToProps = (formConfig) => {
|
|
40466
39365
|
// Do memo-ization
|
|
40467
39366
|
let cachedDispatch;
|
|
40468
39367
|
let cacheValue;
|
|
40469
|
-
return dispatch => {
|
|
39368
|
+
return (dispatch) => {
|
|
40470
39369
|
if (dispatch == cachedDispatch) {
|
|
40471
39370
|
return cacheValue;
|
|
40472
39371
|
}
|
|
@@ -40475,8 +39374,11 @@ const createMapDispatchToProps = formConfig => {
|
|
|
40475
39374
|
const keys = Object.keys(formConfig);
|
|
40476
39375
|
for (let fieldName of keys) {
|
|
40477
39376
|
dispatchObj.fields[fieldName] = {
|
|
40478
|
-
set: value => dispatch(set$
|
|
40479
|
-
addValidator: validator => dispatch(addValidator(fieldName)(validator))
|
|
39377
|
+
set: (value) => dispatch(set$1(fieldName)(value)),
|
|
39378
|
+
addValidator: (validator) => dispatch(addValidator(fieldName)(validator)),
|
|
39379
|
+
removeValidator: (validator) =>
|
|
39380
|
+
dispatch(removeValidator(fieldName)(validator)),
|
|
39381
|
+
clear: () => dispatch(clearFieldValidators(fieldName)()),
|
|
40480
39382
|
};
|
|
40481
39383
|
}
|
|
40482
39384
|
dispatchObj.form = { clear: () => dispatch(clear()) };
|
|
@@ -40486,12 +39388,12 @@ const createMapDispatchToProps = formConfig => {
|
|
|
40486
39388
|
};
|
|
40487
39389
|
};
|
|
40488
39390
|
|
|
40489
|
-
const mapStateToProps = state => ({ fields: state });
|
|
39391
|
+
const mapStateToProps = (state) => ({ fields: state });
|
|
40490
39392
|
|
|
40491
|
-
const createFormState = formConfig => ({
|
|
39393
|
+
const createFormState = (formConfig) => ({
|
|
40492
39394
|
reducer: createFormReducer(formConfig),
|
|
40493
39395
|
mapDispatchToProps: createMapDispatchToProps(formConfig),
|
|
40494
|
-
mapStateToProps: mapStateToProps
|
|
39396
|
+
mapStateToProps: mapStateToProps,
|
|
40495
39397
|
});
|
|
40496
39398
|
|
|
40497
39399
|
var AddressForm = function AddressForm(_ref) {
|
|
@@ -43356,12 +42258,12 @@ LoginForm.mapDispatchToProps = mapDispatchToProps$5;
|
|
|
43356
42258
|
* This source code is licensed under the MIT license found in the
|
|
43357
42259
|
* LICENSE file in the root directory of this source tree.
|
|
43358
42260
|
*/
|
|
43359
|
-
var b$
|
|
43360
|
-
Symbol.for("react.suspense_list"):60120,r=b$
|
|
43361
|
-
function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$
|
|
43362
|
-
var Profiler=g;var StrictMode=f$
|
|
43363
|
-
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$
|
|
43364
|
-
var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f$
|
|
42261
|
+
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?
|
|
42262
|
+
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;
|
|
42263
|
+
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;
|
|
42264
|
+
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};
|
|
42265
|
+
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};
|
|
42266
|
+
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;
|
|
43365
42267
|
|
|
43366
42268
|
var reactIs_production_min = {
|
|
43367
42269
|
AsyncMode: AsyncMode,
|
|
@@ -43732,14 +42634,14 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
|
43732
42634
|
|
|
43733
42635
|
var ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
|
43734
42636
|
|
|
43735
|
-
var has$
|
|
42637
|
+
var has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
43736
42638
|
|
|
43737
42639
|
var printWarning = function() {};
|
|
43738
42640
|
|
|
43739
42641
|
if (process.env.NODE_ENV !== 'production') {
|
|
43740
42642
|
var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
|
|
43741
42643
|
var loggedTypeFailures = {};
|
|
43742
|
-
var has$
|
|
42644
|
+
var has$2 = has$1;
|
|
43743
42645
|
|
|
43744
42646
|
printWarning = function(text) {
|
|
43745
42647
|
var message = 'Warning: ' + text;
|
|
@@ -43769,7 +42671,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
43769
42671
|
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
|
43770
42672
|
if (process.env.NODE_ENV !== 'production') {
|
|
43771
42673
|
for (var typeSpecName in typeSpecs) {
|
|
43772
|
-
if (has$
|
|
42674
|
+
if (has$2(typeSpecs, typeSpecName)) {
|
|
43773
42675
|
var error;
|
|
43774
42676
|
// Prop type validation may throw. In case they do, we don't want to
|
|
43775
42677
|
// fail the render phase where it didn't fail before. So we log it.
|
|
@@ -44168,7 +43070,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44168
43070
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
|
44169
43071
|
}
|
|
44170
43072
|
for (var key in propValue) {
|
|
44171
|
-
if (has$
|
|
43073
|
+
if (has$1(propValue, key)) {
|
|
44172
43074
|
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
|
|
44173
43075
|
if (error instanceof Error) {
|
|
44174
43076
|
return error;
|
|
@@ -44205,7 +43107,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44205
43107
|
if (checkerResult == null) {
|
|
44206
43108
|
return null;
|
|
44207
43109
|
}
|
|
44208
|
-
if (checkerResult.data && has$
|
|
43110
|
+
if (checkerResult.data && has$1(checkerResult.data, 'expectedType')) {
|
|
44209
43111
|
expectedTypes.push(checkerResult.data.expectedType);
|
|
44210
43112
|
}
|
|
44211
43113
|
}
|
|
@@ -44265,7 +43167,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44265
43167
|
var allKeys = objectAssign({}, props[propName], shapeTypes);
|
|
44266
43168
|
for (var key in allKeys) {
|
|
44267
43169
|
var checker = shapeTypes[key];
|
|
44268
|
-
if (has$
|
|
43170
|
+
if (has$1(shapeTypes, key) && typeof checker !== 'function') {
|
|
44269
43171
|
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
44270
43172
|
}
|
|
44271
43173
|
if (!checker) {
|
|
@@ -45003,7 +43905,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
|
|
|
45003
43905
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
45004
43906
|
*/
|
|
45005
43907
|
|
|
45006
|
-
function ownKeys$
|
|
43908
|
+
function ownKeys$2(object, enumerableOnly) {
|
|
45007
43909
|
var keys = Object.keys(object);
|
|
45008
43910
|
|
|
45009
43911
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -45019,9 +43921,9 @@ function ownKeys$3(object, enumerableOnly) {
|
|
|
45019
43921
|
function _objectSpread2$1(target) {
|
|
45020
43922
|
for (var i = 1; i < arguments.length; i++) {
|
|
45021
43923
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
45022
|
-
i % 2 ? ownKeys$
|
|
43924
|
+
i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {
|
|
45023
43925
|
_defineProperty$1(target, key, source[key]);
|
|
45024
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$
|
|
43926
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {
|
|
45025
43927
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
45026
43928
|
});
|
|
45027
43929
|
}
|