@thecb/components 9.0.0-beta.11 → 9.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +254 -1345
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +254 -1346
- package/dist/index.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/molecules/partial-amount-form/PartialAmountForm.state.js +40 -22
- package/src/components/molecules/partial-amount-form/index.js +9 -2
package/dist/index.esm.js
CHANGED
|
@@ -38587,44 +38587,52 @@ var TableHeading_styled = styled.th.withConfig({
|
|
|
38587
38587
|
return extraStyles;
|
|
38588
38588
|
});
|
|
38589
38589
|
|
|
38590
|
-
const validatorToPredicate =
|
|
38591
|
-
|
|
38592
|
-
...rest
|
|
38593
|
-
|
|
38590
|
+
const validatorToPredicate =
|
|
38591
|
+
(validatorFn, emptyCase) =>
|
|
38592
|
+
(value, ...rest) =>
|
|
38593
|
+
value === '' ? emptyCase : validatorFn(value, ...rest);
|
|
38594
38594
|
|
|
38595
38595
|
var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
38596
38596
|
|
|
38597
|
+
function getDefaultExportFromCjs (x) {
|
|
38598
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
38599
|
+
}
|
|
38600
|
+
|
|
38597
38601
|
var dayjs_min = {exports: {}};
|
|
38598
38602
|
|
|
38599
38603
|
(function (module, exports) {
|
|
38600
|
-
!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"
|
|
38601
|
-
}(dayjs_min));
|
|
38604
|
+
!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}));
|
|
38605
|
+
} (dayjs_min));
|
|
38602
38606
|
|
|
38603
|
-
var
|
|
38607
|
+
var dayjs_minExports = dayjs_min.exports;
|
|
38608
|
+
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
|
|
38604
38609
|
|
|
38605
38610
|
var customParseFormat$1 = {exports: {}};
|
|
38606
38611
|
|
|
38607
38612
|
(function (module, exports) {
|
|
38608
|
-
!function(t
|
|
38609
|
-
}(customParseFormat$1));
|
|
38613
|
+
!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);};}}));
|
|
38614
|
+
} (customParseFormat$1));
|
|
38610
38615
|
|
|
38611
|
-
var
|
|
38616
|
+
var customParseFormatExports = customParseFormat$1.exports;
|
|
38617
|
+
var customParseFormat = /*@__PURE__*/getDefaultExportFromCjs(customParseFormatExports);
|
|
38612
38618
|
|
|
38613
38619
|
var isSameOrBefore$1 = {exports: {}};
|
|
38614
38620
|
|
|
38615
38621
|
(function (module, exports) {
|
|
38616
|
-
!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)};}}));
|
|
38617
|
-
}(isSameOrBefore$1));
|
|
38622
|
+
!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)};}}));
|
|
38623
|
+
} (isSameOrBefore$1));
|
|
38618
38624
|
|
|
38619
|
-
var
|
|
38625
|
+
var isSameOrBeforeExports = isSameOrBefore$1.exports;
|
|
38626
|
+
var isSameOrBefore = /*@__PURE__*/getDefaultExportFromCjs(isSameOrBeforeExports);
|
|
38620
38627
|
|
|
38621
38628
|
var isSameOrAfter$1 = {exports: {}};
|
|
38622
38629
|
|
|
38623
38630
|
(function (module, exports) {
|
|
38624
|
-
!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)};}}));
|
|
38625
|
-
}(isSameOrAfter$1));
|
|
38631
|
+
!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)};}}));
|
|
38632
|
+
} (isSameOrAfter$1));
|
|
38626
38633
|
|
|
38627
|
-
var
|
|
38634
|
+
var isSameOrAfterExports = isSameOrAfter$1.exports;
|
|
38635
|
+
var isSameOrAfter = /*@__PURE__*/getDefaultExportFromCjs(isSameOrAfterExports);
|
|
38628
38636
|
|
|
38629
38637
|
/* eslint-disable no-unused-vars */
|
|
38630
38638
|
|
|
@@ -38640,24 +38648,24 @@ dayjs.extend(isSameOrAfter);
|
|
|
38640
38648
|
|
|
38641
38649
|
let validatorFns = {};
|
|
38642
38650
|
|
|
38643
|
-
const INCLUDED_IN =
|
|
38644
|
-
const INCLUDED_IN_ERROR =
|
|
38651
|
+
const INCLUDED_IN = 'validator/INCLUDED_IN';
|
|
38652
|
+
const INCLUDED_IN_ERROR = 'error/INCLUDED_IN';
|
|
38645
38653
|
const includedIn = createValidator(INCLUDED_IN, INCLUDED_IN_ERROR);
|
|
38646
38654
|
validatorFns[INCLUDED_IN] = (value, args, form) =>
|
|
38647
38655
|
Array.isArray(args[0]) ? args[0].includes(value) : args[0] === value;
|
|
38648
38656
|
|
|
38649
|
-
const REQUIRED =
|
|
38650
|
-
const REQUIRED_ERROR =
|
|
38657
|
+
const REQUIRED = 'validator/REQUIRED';
|
|
38658
|
+
const REQUIRED_ERROR = 'error/REQUIRED';
|
|
38651
38659
|
const required = createValidator(REQUIRED, REQUIRED_ERROR);
|
|
38652
|
-
validatorFns[REQUIRED] = (value, args, form) => value !==
|
|
38660
|
+
validatorFns[REQUIRED] = (value, args, form) => value !== '';
|
|
38653
38661
|
|
|
38654
|
-
const ONLY_INTEGERS =
|
|
38655
|
-
const ONLY_INTEGERS_ERROR =
|
|
38662
|
+
const ONLY_INTEGERS = 'validator/ONLY_INTEGERS';
|
|
38663
|
+
const ONLY_INTEGERS_ERROR = 'error/ONLY_INTEGERS';
|
|
38656
38664
|
const onlyIntegers = createValidator(ONLY_INTEGERS, ONLY_INTEGERS_ERROR);
|
|
38657
38665
|
validatorFns[ONLY_INTEGERS] = (value, args, form) => /^(-?\d+)?$/.test(value);
|
|
38658
38666
|
|
|
38659
|
-
const ONLY_NATURALS =
|
|
38660
|
-
const ONLY_NATURALS_ERROR =
|
|
38667
|
+
const ONLY_NATURALS = 'validator/ONLY_NATURALS';
|
|
38668
|
+
const ONLY_NATURALS_ERROR = 'error/ONLY_NATURALS';
|
|
38661
38669
|
const onlyNaturals = createValidator(ONLY_NATURALS, ONLY_NATURALS_ERROR);
|
|
38662
38670
|
validatorFns[ONLY_NATURALS] = (value, args, form) => /^(\d+)?$/.test(value);
|
|
38663
38671
|
|
|
@@ -38670,8 +38678,8 @@ not tested as validation function
|
|
|
38670
38678
|
to validate exp date instead use combo of:
|
|
38671
38679
|
required(), hasLength(), isValidMonth(), dateAfterToday()
|
|
38672
38680
|
*/
|
|
38673
|
-
const ONLY_EXPIRATION_DATE =
|
|
38674
|
-
const ONLY_EXPIRATION_DATE_ERROR =
|
|
38681
|
+
const ONLY_EXPIRATION_DATE = 'validator/ONLY_EXPIRATION_DATE';
|
|
38682
|
+
const ONLY_EXPIRATION_DATE_ERROR = 'error/ONLY_EXPIRATION_DATE';
|
|
38675
38683
|
const onlyExpirationDate = createValidator(
|
|
38676
38684
|
ONLY_EXPIRATION_DATE,
|
|
38677
38685
|
ONLY_EXPIRATION_DATE_ERROR
|
|
@@ -38679,64 +38687,63 @@ const onlyExpirationDate = createValidator(
|
|
|
38679
38687
|
validatorFns[ONLY_EXPIRATION_DATE] = (value, args, form) =>
|
|
38680
38688
|
/^(\d?\d?\/?\d?\d?)?$/.test(value);
|
|
38681
38689
|
|
|
38682
|
-
const NUMBER_LESS_THAN =
|
|
38683
|
-
const NUMBER_LESS_THAN_ERROR =
|
|
38690
|
+
const NUMBER_LESS_THAN = 'validator/NUMBER_LESS_THAN';
|
|
38691
|
+
const NUMBER_LESS_THAN_ERROR = 'error/NUMBER_LESS_THAN';
|
|
38684
38692
|
const numberLessThan = createValidator(
|
|
38685
38693
|
NUMBER_LESS_THAN,
|
|
38686
38694
|
NUMBER_LESS_THAN_ERROR
|
|
38687
38695
|
);
|
|
38688
38696
|
validatorFns[NUMBER_LESS_THAN] = (value, args, form) => {
|
|
38689
|
-
if (value ===
|
|
38697
|
+
if (value === '') {
|
|
38690
38698
|
return true;
|
|
38691
38699
|
}
|
|
38692
38700
|
return Number(value) < args[0];
|
|
38693
38701
|
};
|
|
38694
38702
|
|
|
38695
|
-
const NUMBER_LESS_THAN_OR_EQUAL_TO =
|
|
38696
|
-
"validator/NUMBER_LESS_THAN_OR_EQUAL_TO";
|
|
38703
|
+
const NUMBER_LESS_THAN_OR_EQUAL_TO = 'validator/NUMBER_LESS_THAN_OR_EQUAL_TO';
|
|
38697
38704
|
const NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR =
|
|
38698
|
-
|
|
38705
|
+
'error/NUMBER_LESS_THAN_OR_EQUAL_TO';
|
|
38699
38706
|
const numberLessThanOrEqualTo = createValidator(
|
|
38700
38707
|
NUMBER_LESS_THAN_OR_EQUAL_TO,
|
|
38701
38708
|
NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR
|
|
38702
38709
|
);
|
|
38703
38710
|
validatorFns[NUMBER_LESS_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
38704
|
-
if (value ===
|
|
38711
|
+
if (value === '') {
|
|
38705
38712
|
return true;
|
|
38706
38713
|
}
|
|
38707
38714
|
return Number(value) <= args[0];
|
|
38708
38715
|
};
|
|
38709
38716
|
|
|
38710
|
-
const NUMBER_GREATER_THAN =
|
|
38711
|
-
const NUMBER_GREATER_THAN_ERROR =
|
|
38717
|
+
const NUMBER_GREATER_THAN = 'validator/NUMBER_GREATER_THAN';
|
|
38718
|
+
const NUMBER_GREATER_THAN_ERROR = 'error/NUMBER_GREATER_THAN';
|
|
38712
38719
|
const numberGreaterThan = createValidator(
|
|
38713
38720
|
NUMBER_GREATER_THAN,
|
|
38714
38721
|
NUMBER_GREATER_THAN_ERROR
|
|
38715
38722
|
);
|
|
38716
38723
|
validatorFns[NUMBER_GREATER_THAN] = (value, args, form) => {
|
|
38717
|
-
if (value ===
|
|
38724
|
+
if (value === '') {
|
|
38718
38725
|
return true;
|
|
38719
38726
|
}
|
|
38720
38727
|
return Number(value) > args[0];
|
|
38721
38728
|
};
|
|
38722
38729
|
|
|
38723
38730
|
const NUMBER_GREATER_THAN_OR_EQUAL_TO =
|
|
38724
|
-
|
|
38731
|
+
'validator/NUMBER_GREATER_THAN_OR_EQUAL_TO';
|
|
38725
38732
|
const NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR =
|
|
38726
|
-
|
|
38733
|
+
'error/NUMBER_GREATER_THAN_OR_EQUAL_TO';
|
|
38727
38734
|
const numberGreaterThanOrEqualTo = createValidator(
|
|
38728
38735
|
NUMBER_GREATER_THAN_OR_EQUAL_TO,
|
|
38729
38736
|
NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR
|
|
38730
38737
|
);
|
|
38731
38738
|
validatorFns[NUMBER_GREATER_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
38732
|
-
if (value ===
|
|
38739
|
+
if (value === '') {
|
|
38733
38740
|
return true;
|
|
38734
38741
|
}
|
|
38735
38742
|
return Number(value) >= args[0];
|
|
38736
38743
|
};
|
|
38737
38744
|
|
|
38738
|
-
const MATCHES_FIELD =
|
|
38739
|
-
const MATCHES_FIELD_ERROR$1 =
|
|
38745
|
+
const MATCHES_FIELD = 'validator/MATCHES_FIELD';
|
|
38746
|
+
const MATCHES_FIELD_ERROR$1 = 'error/MATCHES_FIELD';
|
|
38740
38747
|
const matchesField = createValidator(MATCHES_FIELD, MATCHES_FIELD_ERROR$1);
|
|
38741
38748
|
validatorFns[MATCHES_FIELD] = (value, args, form) => {
|
|
38742
38749
|
const dependentField = form[args[0]];
|
|
@@ -38749,7 +38756,7 @@ validatorFns[MATCHES_FIELD] = (value, args, form) => {
|
|
|
38749
38756
|
return value === dependentFieldValue;
|
|
38750
38757
|
};
|
|
38751
38758
|
|
|
38752
|
-
const validateWhenErrorMessage = type =>
|
|
38759
|
+
const validateWhenErrorMessage = (type) =>
|
|
38753
38760
|
`${type} was passed to validateWhen, but that validator type does not exist.
|
|
38754
38761
|
Please check that you are only calling validator creator functions exported from
|
|
38755
38762
|
redux-freeform in your form config and that you didn't forget to
|
|
@@ -38757,25 +38764,21 @@ const validateWhenErrorMessage = type =>
|
|
|
38757
38764
|
createFormState). Also make sure you aren't passing validateWhen() to validateWhen
|
|
38758
38765
|
as the primary validator.`;
|
|
38759
38766
|
|
|
38760
|
-
const VALIDATE_WHEN =
|
|
38761
|
-
const VALIDATE_WHEN_ERROR =
|
|
38762
|
-
const validateWhen = (
|
|
38763
|
-
dependentValidator,
|
|
38764
|
-
primaryValidator,
|
|
38765
|
-
optionalFieldName
|
|
38766
|
-
) => ({
|
|
38767
|
+
const VALIDATE_WHEN = 'validator/VALIDATE_WHEN';
|
|
38768
|
+
const VALIDATE_WHEN_ERROR = 'error/VALIDATE_WHEN';
|
|
38769
|
+
const validateWhen = (dependentValidator, primaryValidator, optionalFieldName) => ({
|
|
38767
38770
|
type: VALIDATE_WHEN,
|
|
38768
38771
|
args: [dependentValidator, primaryValidator, optionalFieldName],
|
|
38769
|
-
error: dependentValidator.error
|
|
38772
|
+
error: dependentValidator.error,
|
|
38770
38773
|
});
|
|
38771
38774
|
validateWhen.error = VALIDATE_WHEN_ERROR;
|
|
38772
38775
|
validatorFns[VALIDATE_WHEN] = (value, args, form) => {
|
|
38773
38776
|
const [dependentValidator, primaryValidator, optionalFieldName] = args;
|
|
38774
|
-
const dependsOnOtherField = typeof optionalFieldName ===
|
|
38777
|
+
const dependsOnOtherField = typeof optionalFieldName === 'string';
|
|
38775
38778
|
|
|
38776
38779
|
if (
|
|
38777
38780
|
primaryValidator.type === undefined ||
|
|
38778
|
-
typeof validatorFns[primaryValidator.type] !==
|
|
38781
|
+
typeof validatorFns[primaryValidator.type] !== 'function'
|
|
38779
38782
|
) {
|
|
38780
38783
|
throw new Error(validateWhenErrorMessage(primaryValidator.type));
|
|
38781
38784
|
}
|
|
@@ -38799,26 +38802,22 @@ validatorFns[VALIDATE_WHEN] = (value, args, form) => {
|
|
|
38799
38802
|
);
|
|
38800
38803
|
|
|
38801
38804
|
return primaryPredicatePassed
|
|
38802
|
-
? validatorFns[dependentValidator.type](
|
|
38803
|
-
value,
|
|
38804
|
-
dependentValidator.args,
|
|
38805
|
-
form
|
|
38806
|
-
)
|
|
38805
|
+
? validatorFns[dependentValidator.type](value, dependentValidator.args, form)
|
|
38807
38806
|
: true;
|
|
38808
38807
|
};
|
|
38809
38808
|
|
|
38810
|
-
const validateSumErrorMessage = type =>
|
|
38809
|
+
const validateSumErrorMessage = (type) =>
|
|
38811
38810
|
`${type} was passed to validateSum, but that validator type does not exist.
|
|
38812
38811
|
Please check that you are only calling validator creator functions exported from
|
|
38813
38812
|
redux-freeform in your form config and that you didn't forget to
|
|
38814
38813
|
invoke the validator creator (you cannot pass the functions themselves to
|
|
38815
38814
|
createFormState).`;
|
|
38816
|
-
const VALIDATE_SUM =
|
|
38817
|
-
const VALIDATE_SUM_ERROR =
|
|
38815
|
+
const VALIDATE_SUM = 'validator/VALIDATE_SUM';
|
|
38816
|
+
const VALIDATE_SUM_ERROR = 'error/VALIDATE_SUM';
|
|
38818
38817
|
const validateSum = (validator, fieldNamesArray) => ({
|
|
38819
38818
|
type: VALIDATE_SUM,
|
|
38820
38819
|
args: [validator, fieldNamesArray],
|
|
38821
|
-
error: validator.error
|
|
38820
|
+
error: validator.error,
|
|
38822
38821
|
});
|
|
38823
38822
|
validateSum.error = VALIDATE_SUM_ERROR;
|
|
38824
38823
|
validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
@@ -38826,7 +38825,7 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
|
38826
38825
|
|
|
38827
38826
|
if (
|
|
38828
38827
|
validator.type === undefined ||
|
|
38829
|
-
typeof validatorFns[validator.type] !==
|
|
38828
|
+
typeof validatorFns[validator.type] !== 'function'
|
|
38830
38829
|
) {
|
|
38831
38830
|
throw new Error(validateSumErrorMessage(validator.type));
|
|
38832
38831
|
}
|
|
@@ -38847,37 +38846,35 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
|
38847
38846
|
return validatorFns[validator.type](sum, validator.args, form);
|
|
38848
38847
|
};
|
|
38849
38848
|
|
|
38850
|
-
const HAS_LENGTH =
|
|
38851
|
-
const HAS_LENGTH_ERROR =
|
|
38849
|
+
const HAS_LENGTH = 'validator/HAS_LENGTH';
|
|
38850
|
+
const HAS_LENGTH_ERROR = 'error/HAS_LENGTH';
|
|
38852
38851
|
const hasLength = createValidator(HAS_LENGTH, HAS_LENGTH_ERROR);
|
|
38853
38852
|
validatorFns[HAS_LENGTH] = (value, args, form) => {
|
|
38854
|
-
if (value ===
|
|
38853
|
+
if (value === '') {
|
|
38855
38854
|
return true;
|
|
38856
38855
|
}
|
|
38857
38856
|
const min = args[0];
|
|
38858
38857
|
const max = args[1];
|
|
38859
38858
|
if (max == undefined || min == undefined) {
|
|
38860
38859
|
throw new Error(
|
|
38861
|
-
|
|
38860
|
+
'Max and min need to be defined for hasLength, both or one of them is undefined'
|
|
38862
38861
|
);
|
|
38863
38862
|
}
|
|
38864
38863
|
if (max < min) {
|
|
38865
|
-
throw new Error(
|
|
38866
|
-
"hasLength validator was passed a min greater than the max"
|
|
38867
|
-
);
|
|
38864
|
+
throw new Error('hasLength validator was passed a min greater than the max');
|
|
38868
38865
|
}
|
|
38869
38866
|
const valueLength = value.length;
|
|
38870
38867
|
return max >= valueLength && valueLength >= min;
|
|
38871
38868
|
};
|
|
38872
38869
|
|
|
38873
|
-
const DATE_BEFORE_TODAY =
|
|
38874
|
-
const DATE_BEFORE_TODAY_ERROR =
|
|
38870
|
+
const DATE_BEFORE_TODAY = 'validator/DATE_BEFORE_TODAY';
|
|
38871
|
+
const DATE_BEFORE_TODAY_ERROR = 'error/DATE_BEFORE_TODAY';
|
|
38875
38872
|
const dateBeforeToday = createValidator(
|
|
38876
38873
|
DATE_BEFORE_TODAY,
|
|
38877
38874
|
DATE_BEFORE_TODAY_ERROR
|
|
38878
38875
|
);
|
|
38879
38876
|
validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
38880
|
-
if (value ===
|
|
38877
|
+
if (value === '') {
|
|
38881
38878
|
return true;
|
|
38882
38879
|
}
|
|
38883
38880
|
const dateFormat = args[0];
|
|
@@ -38886,7 +38883,7 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
|
38886
38883
|
|
|
38887
38884
|
if (dateFormat == undefined || unit == undefined) {
|
|
38888
38885
|
throw new Error(
|
|
38889
|
-
|
|
38886
|
+
'Date format and unit need to be defined for dateBeforeToday, one or both are undefined'
|
|
38890
38887
|
);
|
|
38891
38888
|
}
|
|
38892
38889
|
const now = dayjs();
|
|
@@ -38898,14 +38895,14 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
|
38898
38895
|
return dateValue.isBefore(now, unit);
|
|
38899
38896
|
};
|
|
38900
38897
|
|
|
38901
|
-
const DATE_AFTER_TODAY =
|
|
38902
|
-
const DATE_AFTER_TODAY_ERROR =
|
|
38898
|
+
const DATE_AFTER_TODAY = 'validator/DATE_AFTER_TODAY';
|
|
38899
|
+
const DATE_AFTER_TODAY_ERROR = 'error/DATE_AFTER_TODAY';
|
|
38903
38900
|
const dateAfterToday = createValidator(
|
|
38904
38901
|
DATE_AFTER_TODAY,
|
|
38905
38902
|
DATE_AFTER_TODAY_ERROR
|
|
38906
38903
|
);
|
|
38907
38904
|
validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
38908
|
-
if (value ===
|
|
38905
|
+
if (value === '') {
|
|
38909
38906
|
return true;
|
|
38910
38907
|
}
|
|
38911
38908
|
const dateFormat = args[0];
|
|
@@ -38914,7 +38911,7 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
|
38914
38911
|
|
|
38915
38912
|
if (dateFormat == undefined || unit == undefined) {
|
|
38916
38913
|
throw new Error(
|
|
38917
|
-
|
|
38914
|
+
'Date format and unit need to be defined for dateAfterToday, one or both are undefined'
|
|
38918
38915
|
);
|
|
38919
38916
|
}
|
|
38920
38917
|
const now = dayjs();
|
|
@@ -38926,14 +38923,11 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
|
38926
38923
|
return dateValue.isAfter(now, unit);
|
|
38927
38924
|
};
|
|
38928
38925
|
|
|
38929
|
-
const IS_VALID_MONTH =
|
|
38930
|
-
const IS_VALID_MONTH_ERROR =
|
|
38931
|
-
const isValidMonth = createValidator(
|
|
38932
|
-
IS_VALID_MONTH,
|
|
38933
|
-
IS_VALID_MONTH_ERROR
|
|
38934
|
-
);
|
|
38926
|
+
const IS_VALID_MONTH = 'validator/IS_VALID_MONTH';
|
|
38927
|
+
const IS_VALID_MONTH_ERROR = 'error/IS_VALID_MONTH';
|
|
38928
|
+
const isValidMonth = createValidator(IS_VALID_MONTH, IS_VALID_MONTH_ERROR);
|
|
38935
38929
|
validatorFns[IS_VALID_MONTH] = (value, args, form) => {
|
|
38936
|
-
if (value ===
|
|
38930
|
+
if (value === '') {
|
|
38937
38931
|
return true;
|
|
38938
38932
|
}
|
|
38939
38933
|
// Function takes one argument representing the character position
|
|
@@ -38943,43 +38937,43 @@ validatorFns[IS_VALID_MONTH] = (value, args, form) => {
|
|
|
38943
38937
|
// Only works with two digit months (01, 02, 03, etc)
|
|
38944
38938
|
const monthStartPosition = parseInt(args[0]);
|
|
38945
38939
|
const monthEndPosition = monthStartPosition + 2;
|
|
38946
|
-
if (monthStartPosition
|
|
38947
|
-
throw new Error(
|
|
38940
|
+
if (isNaN(monthStartPosition)) {
|
|
38941
|
+
throw new Error('Month start position has to be a valid integer string');
|
|
38948
38942
|
}
|
|
38949
38943
|
const month = parseInt(value.slice(monthStartPosition, monthEndPosition));
|
|
38950
|
-
if (month
|
|
38944
|
+
if (isNaN(month)) {
|
|
38951
38945
|
return false;
|
|
38952
38946
|
}
|
|
38953
38947
|
return month >= 1 && month <= 12;
|
|
38954
38948
|
};
|
|
38955
38949
|
|
|
38956
|
-
const MATCHES_REGEX =
|
|
38957
|
-
const MATCHES_REGEX_ERROR =
|
|
38950
|
+
const MATCHES_REGEX = 'validator/MATCHES_REGEX';
|
|
38951
|
+
const MATCHES_REGEX_ERROR = 'error/MATCHES_REGEX';
|
|
38958
38952
|
const matchesRegex = createValidator(MATCHES_REGEX, MATCHES_REGEX_ERROR);
|
|
38959
38953
|
validatorFns[MATCHES_REGEX] = (value, args, form) => {
|
|
38960
|
-
if (value ===
|
|
38954
|
+
if (value === '') {
|
|
38961
38955
|
return true;
|
|
38962
38956
|
}
|
|
38963
38957
|
return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
|
|
38964
38958
|
};
|
|
38965
38959
|
|
|
38966
38960
|
// based on http://www.brainjar.com/js/validation/
|
|
38967
|
-
const IS_ROUTING_NUMBER =
|
|
38968
|
-
const IS_ROUTING_NUMBER_ERROR =
|
|
38961
|
+
const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
|
|
38962
|
+
const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
|
|
38969
38963
|
const isRoutingNumber = createValidator(
|
|
38970
38964
|
IS_ROUTING_NUMBER,
|
|
38971
38965
|
IS_ROUTING_NUMBER_ERROR
|
|
38972
38966
|
);
|
|
38973
38967
|
validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
|
|
38974
|
-
if (value ===
|
|
38968
|
+
if (value === '') {
|
|
38975
38969
|
return true;
|
|
38976
38970
|
}
|
|
38977
38971
|
if (value.length != 9) {
|
|
38978
38972
|
return false;
|
|
38979
38973
|
}
|
|
38980
38974
|
const sum = value
|
|
38981
|
-
.split(
|
|
38982
|
-
.map(ch => parseInt(ch))
|
|
38975
|
+
.split('')
|
|
38976
|
+
.map((ch) => parseInt(ch))
|
|
38983
38977
|
.reduce((acc, cur, idx) => {
|
|
38984
38978
|
switch (idx % 3) {
|
|
38985
38979
|
case 0:
|
|
@@ -38993,69 +38987,69 @@ validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
|
|
|
38993
38987
|
return sum != 0 && sum % 10 == 0;
|
|
38994
38988
|
};
|
|
38995
38989
|
|
|
38996
|
-
const HAS_NUMBER =
|
|
38997
|
-
const HAS_NUMBER_ERROR$1 =
|
|
38990
|
+
const HAS_NUMBER = 'validator/HAS_NUMBER';
|
|
38991
|
+
const HAS_NUMBER_ERROR$1 = 'error/HAS_NUMBER';
|
|
38998
38992
|
const hasNumber = createValidator(HAS_NUMBER, HAS_NUMBER_ERROR$1);
|
|
38999
38993
|
validatorFns[HAS_NUMBER] = (value, args, form) => {
|
|
39000
|
-
if (value ===
|
|
38994
|
+
if (value === '') {
|
|
39001
38995
|
return true;
|
|
39002
38996
|
}
|
|
39003
38997
|
return new RegExp(/[0-9]/).test(value);
|
|
39004
38998
|
};
|
|
39005
38999
|
|
|
39006
|
-
const HAS_LOWERCASE_LETTER =
|
|
39007
|
-
const HAS_LOWERCASE_LETTER_ERROR$1 =
|
|
39000
|
+
const HAS_LOWERCASE_LETTER = 'validator/HAS_LOWERCASE_LETTER';
|
|
39001
|
+
const HAS_LOWERCASE_LETTER_ERROR$1 = 'error/HAS_LOWERCASE_LETTER';
|
|
39008
39002
|
const hasLowercaseLetter = createValidator(
|
|
39009
39003
|
HAS_LOWERCASE_LETTER,
|
|
39010
39004
|
HAS_LOWERCASE_LETTER_ERROR$1
|
|
39011
39005
|
);
|
|
39012
39006
|
validatorFns[HAS_LOWERCASE_LETTER] = (value, args, form) => {
|
|
39013
|
-
if (value ===
|
|
39007
|
+
if (value === '') {
|
|
39014
39008
|
return true;
|
|
39015
39009
|
}
|
|
39016
39010
|
return new RegExp(/[a-z]/).test(value);
|
|
39017
39011
|
};
|
|
39018
39012
|
|
|
39019
|
-
const HAS_UPPERCASE_LETTER =
|
|
39020
|
-
const HAS_UPPERCASE_LETTER_ERROR$1 =
|
|
39013
|
+
const HAS_UPPERCASE_LETTER = 'validator/HAS_UPPERCASE_LETTER';
|
|
39014
|
+
const HAS_UPPERCASE_LETTER_ERROR$1 = 'error/HAS_UPPERCASE_LETTER';
|
|
39021
39015
|
const hasUppercaseLetter = createValidator(
|
|
39022
39016
|
HAS_UPPERCASE_LETTER,
|
|
39023
39017
|
HAS_UPPERCASE_LETTER_ERROR$1
|
|
39024
39018
|
);
|
|
39025
39019
|
validatorFns[HAS_UPPERCASE_LETTER] = (value, args, form) => {
|
|
39026
|
-
if (value ===
|
|
39020
|
+
if (value === '') {
|
|
39027
39021
|
return true;
|
|
39028
39022
|
}
|
|
39029
39023
|
return new RegExp(/[A-Z]/).test(value);
|
|
39030
39024
|
};
|
|
39031
39025
|
|
|
39032
|
-
const HAS_SPECIAL_CHARACTER =
|
|
39033
|
-
const HAS_SPECIAL_CHARACTER_ERROR$1 =
|
|
39026
|
+
const HAS_SPECIAL_CHARACTER = 'validator/HAS_SPECIAL_CHARACTER';
|
|
39027
|
+
const HAS_SPECIAL_CHARACTER_ERROR$1 = 'error/HAS_SPECIAL_CHARACTER';
|
|
39034
39028
|
const hasSpecialCharacter = createValidator(
|
|
39035
39029
|
HAS_SPECIAL_CHARACTER,
|
|
39036
39030
|
HAS_SPECIAL_CHARACTER_ERROR$1
|
|
39037
39031
|
);
|
|
39038
39032
|
validatorFns[HAS_SPECIAL_CHARACTER] = (value, args, form) => {
|
|
39039
|
-
if (value ===
|
|
39033
|
+
if (value === '') {
|
|
39040
39034
|
return true;
|
|
39041
39035
|
}
|
|
39042
39036
|
return new RegExp(/[!@#$%^&*.?]/).test(value);
|
|
39043
39037
|
};
|
|
39044
39038
|
|
|
39045
|
-
const IS_PROBABLY_EMAIL =
|
|
39046
|
-
const IS_PROBABLY_EMAIL_ERROR =
|
|
39039
|
+
const IS_PROBABLY_EMAIL = 'validator/IS_PROBABLY_EMAIL';
|
|
39040
|
+
const IS_PROBABLY_EMAIL_ERROR = 'error/IS_PROBABLY_EMAIL';
|
|
39047
39041
|
const isProbablyEmail = createValidator(
|
|
39048
39042
|
IS_PROBABLY_EMAIL,
|
|
39049
39043
|
IS_PROBABLY_EMAIL_ERROR
|
|
39050
39044
|
);
|
|
39051
39045
|
validatorFns[IS_PROBABLY_EMAIL] = (value, args, form) => {
|
|
39052
|
-
if (value ===
|
|
39046
|
+
if (value === '') {
|
|
39053
39047
|
return true;
|
|
39054
39048
|
}
|
|
39055
39049
|
return new RegExp(/^\S+@\S+\.\S+$/).test(value);
|
|
39056
39050
|
};
|
|
39057
39051
|
|
|
39058
|
-
const runValidatorErrorMessage = type =>
|
|
39052
|
+
const runValidatorErrorMessage = (type) =>
|
|
39059
39053
|
`${type} was passed to runValidator, but that validator type does not exist.
|
|
39060
39054
|
Please check that you are only calling validator creator functions exported from
|
|
39061
39055
|
redux-freeform in your form config and that you didn't forget to
|
|
@@ -39070,1165 +39064,53 @@ const runValidator = (validator, value, form) => {
|
|
|
39070
39064
|
return validatorFn(value, validator.args, form) ? null : validator.error;
|
|
39071
39065
|
};
|
|
39072
39066
|
|
|
39073
|
-
const
|
|
39067
|
+
const runFormValidators = (fieldName, form, validators) => {
|
|
39074
39068
|
return validators
|
|
39075
|
-
.map(v => runValidator(v, form[fieldName].rawValue, form))
|
|
39076
|
-
.filter(x => x !== null);
|
|
39069
|
+
.map((v) => runValidator(v, form[fieldName].rawValue, form))
|
|
39070
|
+
.filter((x) => x !== null);
|
|
39077
39071
|
};
|
|
39078
39072
|
|
|
39079
39073
|
const computeConstraints = (fieldName, form) => {
|
|
39080
39074
|
const constraints = form[fieldName].constraints;
|
|
39081
|
-
return
|
|
39075
|
+
return runFormValidators(fieldName, form, constraints);
|
|
39082
39076
|
};
|
|
39083
39077
|
|
|
39084
39078
|
const computeErrors = (fieldName, form) => {
|
|
39085
39079
|
const validators = form[fieldName].validators;
|
|
39086
|
-
return
|
|
39087
|
-
};
|
|
39088
|
-
|
|
39089
|
-
var obj;
|
|
39090
|
-
var NOTHING = typeof Symbol !== "undefined" ? Symbol("immer-nothing") : ( obj = {}, obj["immer-nothing"] = true, obj );
|
|
39091
|
-
var DRAFTABLE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-draftable") : "__$immer_draftable";
|
|
39092
|
-
var DRAFT_STATE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-state") : "__$immer_state";
|
|
39093
|
-
function isDraft(value) {
|
|
39094
|
-
return !!value && !!value[DRAFT_STATE];
|
|
39095
|
-
}
|
|
39096
|
-
function isDraftable(value) {
|
|
39097
|
-
if (!value) { return false; }
|
|
39098
|
-
return isPlainObject(value) || !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE];
|
|
39099
|
-
}
|
|
39100
|
-
function isPlainObject(value) {
|
|
39101
|
-
if (!value || typeof value !== "object") { return false; }
|
|
39102
|
-
if (Array.isArray(value)) { return true; }
|
|
39103
|
-
var proto = Object.getPrototypeOf(value);
|
|
39104
|
-
return !proto || proto === Object.prototype;
|
|
39105
|
-
}
|
|
39106
|
-
var assign = Object.assign || function assign(target, value) {
|
|
39107
|
-
for (var key in value) {
|
|
39108
|
-
if (has$1(value, key)) {
|
|
39109
|
-
target[key] = value[key];
|
|
39110
|
-
}
|
|
39111
|
-
}
|
|
39112
|
-
|
|
39113
|
-
return target;
|
|
39114
|
-
};
|
|
39115
|
-
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;
|
|
39116
|
-
function shallowCopy(base, invokeGetters) {
|
|
39117
|
-
if ( invokeGetters === void 0 ) invokeGetters = false;
|
|
39118
|
-
|
|
39119
|
-
if (Array.isArray(base)) { return base.slice(); }
|
|
39120
|
-
var clone = Object.create(Object.getPrototypeOf(base));
|
|
39121
|
-
ownKeys$2(base).forEach(function (key) {
|
|
39122
|
-
if (key === DRAFT_STATE) {
|
|
39123
|
-
return; // Never copy over draft state.
|
|
39124
|
-
}
|
|
39125
|
-
|
|
39126
|
-
var desc = Object.getOwnPropertyDescriptor(base, key);
|
|
39127
|
-
var value = desc.value;
|
|
39128
|
-
|
|
39129
|
-
if (desc.get) {
|
|
39130
|
-
if (!invokeGetters) {
|
|
39131
|
-
throw new Error("Immer drafts cannot have computed properties");
|
|
39132
|
-
}
|
|
39133
|
-
|
|
39134
|
-
value = desc.get.call(base);
|
|
39135
|
-
}
|
|
39136
|
-
|
|
39137
|
-
if (desc.enumerable) {
|
|
39138
|
-
clone[key] = value;
|
|
39139
|
-
} else {
|
|
39140
|
-
Object.defineProperty(clone, key, {
|
|
39141
|
-
value: value,
|
|
39142
|
-
writable: true,
|
|
39143
|
-
configurable: true
|
|
39144
|
-
});
|
|
39145
|
-
}
|
|
39146
|
-
});
|
|
39147
|
-
return clone;
|
|
39148
|
-
}
|
|
39149
|
-
function each(value, cb) {
|
|
39150
|
-
if (Array.isArray(value)) {
|
|
39151
|
-
for (var i = 0; i < value.length; i++) { cb(i, value[i], value); }
|
|
39152
|
-
} else {
|
|
39153
|
-
ownKeys$2(value).forEach(function (key) { return cb(key, value[key], value); });
|
|
39154
|
-
}
|
|
39155
|
-
}
|
|
39156
|
-
function isEnumerable(base, prop) {
|
|
39157
|
-
var desc = Object.getOwnPropertyDescriptor(base, prop);
|
|
39158
|
-
return !!desc && desc.enumerable;
|
|
39159
|
-
}
|
|
39160
|
-
function has$1(thing, prop) {
|
|
39161
|
-
return Object.prototype.hasOwnProperty.call(thing, prop);
|
|
39162
|
-
}
|
|
39163
|
-
function is(x, y) {
|
|
39164
|
-
// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js
|
|
39165
|
-
if (x === y) {
|
|
39166
|
-
return x !== 0 || 1 / x === 1 / y;
|
|
39167
|
-
} else {
|
|
39168
|
-
return x !== x && y !== y;
|
|
39169
|
-
}
|
|
39170
|
-
}
|
|
39171
|
-
function clone(obj) {
|
|
39172
|
-
if (!isDraftable(obj)) { return obj; }
|
|
39173
|
-
if (Array.isArray(obj)) { return obj.map(clone); }
|
|
39174
|
-
var cloned = Object.create(Object.getPrototypeOf(obj));
|
|
39175
|
-
|
|
39176
|
-
for (var key in obj) { cloned[key] = clone(obj[key]); }
|
|
39177
|
-
|
|
39178
|
-
return cloned;
|
|
39179
|
-
}
|
|
39180
|
-
|
|
39181
|
-
/** Each scope represents a `produce` call. */
|
|
39182
|
-
|
|
39183
|
-
var ImmerScope = function ImmerScope(parent) {
|
|
39184
|
-
this.drafts = [];
|
|
39185
|
-
this.parent = parent; // Whenever the modified draft contains a draft from another scope, we
|
|
39186
|
-
// need to prevent auto-freezing so the unowned draft can be finalized.
|
|
39187
|
-
|
|
39188
|
-
this.canAutoFreeze = true; // To avoid prototype lookups:
|
|
39189
|
-
|
|
39190
|
-
this.patches = null;
|
|
39080
|
+
return runFormValidators(fieldName, form, validators);
|
|
39191
39081
|
};
|
|
39192
39082
|
|
|
39193
|
-
|
|
39194
|
-
|
|
39195
|
-
|
|
39196
|
-
|
|
39197
|
-
|
|
39198
|
-
|
|
39199
|
-
|
|
39200
|
-
|
|
39201
|
-
ImmerScope.prototype.revoke = function revoke$1 () {
|
|
39202
|
-
this.leave();
|
|
39203
|
-
this.drafts.forEach(revoke);
|
|
39204
|
-
this.drafts = null; // Make draft-related methods throw.
|
|
39205
|
-
};
|
|
39206
|
-
|
|
39207
|
-
ImmerScope.prototype.leave = function leave () {
|
|
39208
|
-
if (this === ImmerScope.current) {
|
|
39209
|
-
ImmerScope.current = this.parent;
|
|
39210
|
-
}
|
|
39211
|
-
};
|
|
39212
|
-
ImmerScope.current = null;
|
|
39213
|
-
|
|
39214
|
-
ImmerScope.enter = function () {
|
|
39215
|
-
return this.current = new ImmerScope(this.current);
|
|
39216
|
-
};
|
|
39217
|
-
|
|
39218
|
-
function revoke(draft) {
|
|
39219
|
-
draft[DRAFT_STATE].revoke();
|
|
39220
|
-
}
|
|
39221
|
-
|
|
39222
|
-
// but share them all instead
|
|
39223
|
-
|
|
39224
|
-
var descriptors$1 = {};
|
|
39225
|
-
function willFinalize(scope, result, isReplaced) {
|
|
39226
|
-
scope.drafts.forEach(function (draft) {
|
|
39227
|
-
draft[DRAFT_STATE].finalizing = true;
|
|
39228
|
-
});
|
|
39229
|
-
|
|
39230
|
-
if (!isReplaced) {
|
|
39231
|
-
if (scope.patches) {
|
|
39232
|
-
markChangesRecursively(scope.drafts[0]);
|
|
39233
|
-
} // This is faster when we don't care about which attributes changed.
|
|
39234
|
-
|
|
39235
|
-
|
|
39236
|
-
markChangesSweep(scope.drafts);
|
|
39237
|
-
} // When a child draft is returned, look for changes.
|
|
39238
|
-
else if (isDraft(result) && result[DRAFT_STATE].scope === scope) {
|
|
39239
|
-
markChangesSweep(scope.drafts);
|
|
39240
|
-
}
|
|
39241
|
-
}
|
|
39242
|
-
function createProxy(base, parent) {
|
|
39243
|
-
var isArray = Array.isArray(base);
|
|
39244
|
-
var draft = clonePotentialDraft(base);
|
|
39245
|
-
each(draft, function (prop) {
|
|
39246
|
-
proxyProperty(draft, prop, isArray || isEnumerable(base, prop));
|
|
39247
|
-
}); // See "proxy.js" for property documentation.
|
|
39248
|
-
|
|
39249
|
-
var scope = parent ? parent.scope : ImmerScope.current;
|
|
39250
|
-
var state = {
|
|
39251
|
-
scope: scope,
|
|
39252
|
-
modified: false,
|
|
39253
|
-
finalizing: false,
|
|
39254
|
-
// es5 only
|
|
39255
|
-
finalized: false,
|
|
39256
|
-
assigned: {},
|
|
39257
|
-
parent: parent,
|
|
39258
|
-
base: base,
|
|
39259
|
-
draft: draft,
|
|
39260
|
-
copy: null,
|
|
39261
|
-
revoke: revoke$1,
|
|
39262
|
-
revoked: false // es5 only
|
|
39263
|
-
|
|
39264
|
-
};
|
|
39265
|
-
createHiddenProperty(draft, DRAFT_STATE, state);
|
|
39266
|
-
scope.drafts.push(draft);
|
|
39267
|
-
return draft;
|
|
39268
|
-
}
|
|
39269
|
-
|
|
39270
|
-
function revoke$1() {
|
|
39271
|
-
this.revoked = true;
|
|
39272
|
-
}
|
|
39273
|
-
|
|
39274
|
-
function source(state) {
|
|
39275
|
-
return state.copy || state.base;
|
|
39276
|
-
} // Access a property without creating an Immer draft.
|
|
39277
|
-
|
|
39278
|
-
|
|
39279
|
-
function peek(draft, prop) {
|
|
39280
|
-
var state = draft[DRAFT_STATE];
|
|
39281
|
-
|
|
39282
|
-
if (state && !state.finalizing) {
|
|
39283
|
-
state.finalizing = true;
|
|
39284
|
-
var value = draft[prop];
|
|
39285
|
-
state.finalizing = false;
|
|
39286
|
-
return value;
|
|
39287
|
-
}
|
|
39288
|
-
|
|
39289
|
-
return draft[prop];
|
|
39290
|
-
}
|
|
39291
|
-
|
|
39292
|
-
function get$1(state, prop) {
|
|
39293
|
-
assertUnrevoked(state);
|
|
39294
|
-
var value = peek(source(state), prop);
|
|
39295
|
-
if (state.finalizing) { return value; } // Create a draft if the value is unmodified.
|
|
39296
|
-
|
|
39297
|
-
if (value === peek(state.base, prop) && isDraftable(value)) {
|
|
39298
|
-
prepareCopy(state);
|
|
39299
|
-
return state.copy[prop] = createProxy(value, state);
|
|
39300
|
-
}
|
|
39301
|
-
|
|
39302
|
-
return value;
|
|
39303
|
-
}
|
|
39304
|
-
|
|
39305
|
-
function set$1(state, prop, value) {
|
|
39306
|
-
assertUnrevoked(state);
|
|
39307
|
-
state.assigned[prop] = true;
|
|
39308
|
-
|
|
39309
|
-
if (!state.modified) {
|
|
39310
|
-
if (is(value, peek(source(state), prop))) { return; }
|
|
39311
|
-
markChanged(state);
|
|
39312
|
-
prepareCopy(state);
|
|
39313
|
-
}
|
|
39314
|
-
|
|
39315
|
-
state.copy[prop] = value;
|
|
39316
|
-
}
|
|
39317
|
-
|
|
39318
|
-
function markChanged(state) {
|
|
39319
|
-
if (!state.modified) {
|
|
39320
|
-
state.modified = true;
|
|
39321
|
-
if (state.parent) { markChanged(state.parent); }
|
|
39322
|
-
}
|
|
39323
|
-
}
|
|
39324
|
-
|
|
39325
|
-
function prepareCopy(state) {
|
|
39326
|
-
if (!state.copy) { state.copy = clonePotentialDraft(state.base); }
|
|
39327
|
-
}
|
|
39328
|
-
|
|
39329
|
-
function clonePotentialDraft(base) {
|
|
39330
|
-
var state = base && base[DRAFT_STATE];
|
|
39331
|
-
|
|
39332
|
-
if (state) {
|
|
39333
|
-
state.finalizing = true;
|
|
39334
|
-
var draft = shallowCopy(state.draft, true);
|
|
39335
|
-
state.finalizing = false;
|
|
39336
|
-
return draft;
|
|
39337
|
-
}
|
|
39338
|
-
|
|
39339
|
-
return shallowCopy(base);
|
|
39340
|
-
}
|
|
39341
|
-
|
|
39342
|
-
function proxyProperty(draft, prop, enumerable) {
|
|
39343
|
-
var desc = descriptors$1[prop];
|
|
39344
|
-
|
|
39345
|
-
if (desc) {
|
|
39346
|
-
desc.enumerable = enumerable;
|
|
39347
|
-
} else {
|
|
39348
|
-
descriptors$1[prop] = desc = {
|
|
39349
|
-
configurable: true,
|
|
39350
|
-
enumerable: enumerable,
|
|
39351
|
-
|
|
39352
|
-
get: function get$1$1() {
|
|
39353
|
-
return get$1(this[DRAFT_STATE], prop);
|
|
39354
|
-
},
|
|
39355
|
-
|
|
39356
|
-
set: function set$1$1(value) {
|
|
39357
|
-
set$1(this[DRAFT_STATE], prop, value);
|
|
39358
|
-
}
|
|
39359
|
-
|
|
39360
|
-
};
|
|
39361
|
-
}
|
|
39362
|
-
|
|
39363
|
-
Object.defineProperty(draft, prop, desc);
|
|
39364
|
-
}
|
|
39365
|
-
|
|
39366
|
-
function assertUnrevoked(state) {
|
|
39367
|
-
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))); }
|
|
39368
|
-
} // This looks expensive, but only proxies are visited, and only objects without known changes are scanned.
|
|
39369
|
-
|
|
39370
|
-
|
|
39371
|
-
function markChangesSweep(drafts) {
|
|
39372
|
-
// The natural order of drafts in the `scope` array is based on when they
|
|
39373
|
-
// were accessed. By processing drafts in reverse natural order, we have a
|
|
39374
|
-
// better chance of processing leaf nodes first. When a leaf node is known to
|
|
39375
|
-
// have changed, we can avoid any traversal of its ancestor nodes.
|
|
39376
|
-
for (var i = drafts.length - 1; i >= 0; i--) {
|
|
39377
|
-
var state = drafts[i][DRAFT_STATE];
|
|
39378
|
-
|
|
39379
|
-
if (!state.modified) {
|
|
39380
|
-
if (Array.isArray(state.base)) {
|
|
39381
|
-
if (hasArrayChanges(state)) { markChanged(state); }
|
|
39382
|
-
} else if (hasObjectChanges(state)) { markChanged(state); }
|
|
39383
|
-
}
|
|
39384
|
-
}
|
|
39385
|
-
}
|
|
39386
|
-
|
|
39387
|
-
function markChangesRecursively(object) {
|
|
39388
|
-
if (!object || typeof object !== "object") { return; }
|
|
39389
|
-
var state = object[DRAFT_STATE];
|
|
39390
|
-
if (!state) { return; }
|
|
39391
|
-
var base = state.base;
|
|
39392
|
-
var draft = state.draft;
|
|
39393
|
-
var assigned = state.assigned;
|
|
39394
|
-
|
|
39395
|
-
if (!Array.isArray(object)) {
|
|
39396
|
-
// Look for added keys.
|
|
39397
|
-
Object.keys(draft).forEach(function (key) {
|
|
39398
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39399
|
-
if (base[key] === undefined && !has$1(base, key)) {
|
|
39400
|
-
assigned[key] = true;
|
|
39401
|
-
markChanged(state);
|
|
39402
|
-
} else if (!assigned[key]) {
|
|
39403
|
-
// Only untouched properties trigger recursion.
|
|
39404
|
-
markChangesRecursively(draft[key]);
|
|
39405
|
-
}
|
|
39406
|
-
}); // Look for removed keys.
|
|
39407
|
-
|
|
39408
|
-
Object.keys(base).forEach(function (key) {
|
|
39409
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39410
|
-
if (draft[key] === undefined && !has$1(draft, key)) {
|
|
39411
|
-
assigned[key] = false;
|
|
39412
|
-
markChanged(state);
|
|
39413
|
-
}
|
|
39414
|
-
});
|
|
39415
|
-
} else if (hasArrayChanges(state)) {
|
|
39416
|
-
markChanged(state);
|
|
39417
|
-
assigned.length = true;
|
|
39418
|
-
|
|
39419
|
-
if (draft.length < base.length) {
|
|
39420
|
-
for (var i = draft.length; i < base.length; i++) { assigned[i] = false; }
|
|
39421
|
-
} else {
|
|
39422
|
-
for (var i$1 = base.length; i$1 < draft.length; i$1++) { assigned[i$1] = true; }
|
|
39423
|
-
}
|
|
39424
|
-
|
|
39425
|
-
for (var i$2 = 0; i$2 < draft.length; i$2++) {
|
|
39426
|
-
// Only untouched indices trigger recursion.
|
|
39427
|
-
if (assigned[i$2] === undefined) { markChangesRecursively(draft[i$2]); }
|
|
39428
|
-
}
|
|
39429
|
-
}
|
|
39430
|
-
}
|
|
39431
|
-
|
|
39432
|
-
function hasObjectChanges(state) {
|
|
39433
|
-
var base = state.base;
|
|
39434
|
-
var draft = state.draft; // Search for added keys and changed keys. Start at the back, because
|
|
39435
|
-
// non-numeric keys are ordered by time of definition on the object.
|
|
39436
|
-
|
|
39437
|
-
var keys = Object.keys(draft);
|
|
39438
|
-
|
|
39439
|
-
for (var i = keys.length - 1; i >= 0; i--) {
|
|
39440
|
-
var key = keys[i];
|
|
39441
|
-
var baseValue = base[key]; // The `undefined` check is a fast path for pre-existing keys.
|
|
39442
|
-
|
|
39443
|
-
if (baseValue === undefined && !has$1(base, key)) {
|
|
39444
|
-
return true;
|
|
39445
|
-
} // Once a base key is deleted, future changes go undetected, because its
|
|
39446
|
-
// descriptor is erased. This branch detects any missed changes.
|
|
39447
|
-
else {
|
|
39448
|
-
var value = draft[key];
|
|
39449
|
-
var state$1 = value && value[DRAFT_STATE];
|
|
39450
|
-
|
|
39451
|
-
if (state$1 ? state$1.base !== baseValue : !is(value, baseValue)) {
|
|
39452
|
-
return true;
|
|
39453
|
-
}
|
|
39454
|
-
}
|
|
39455
|
-
} // At this point, no keys were added or changed.
|
|
39456
|
-
// Compare key count to determine if keys were deleted.
|
|
39457
|
-
|
|
39458
|
-
|
|
39459
|
-
return keys.length !== Object.keys(base).length;
|
|
39460
|
-
}
|
|
39461
|
-
|
|
39462
|
-
function hasArrayChanges(state) {
|
|
39463
|
-
var draft = state.draft;
|
|
39464
|
-
if (draft.length !== state.base.length) { return true; } // See #116
|
|
39465
|
-
// If we first shorten the length, our array interceptors will be removed.
|
|
39466
|
-
// If after that new items are added, result in the same original length,
|
|
39467
|
-
// those last items will have no intercepting property.
|
|
39468
|
-
// So if there is no own descriptor on the last position, we know that items were removed and added
|
|
39469
|
-
// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check
|
|
39470
|
-
// the last one
|
|
39471
|
-
|
|
39472
|
-
var descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)
|
|
39473
|
-
|
|
39474
|
-
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
|
|
39475
|
-
|
|
39476
|
-
return false;
|
|
39477
|
-
}
|
|
39478
|
-
|
|
39479
|
-
function createHiddenProperty(target, prop, value) {
|
|
39480
|
-
Object.defineProperty(target, prop, {
|
|
39481
|
-
value: value,
|
|
39482
|
-
enumerable: false,
|
|
39483
|
-
writable: true
|
|
39484
|
-
});
|
|
39485
|
-
}
|
|
39486
|
-
|
|
39487
|
-
var legacyProxy = /*#__PURE__*/Object.freeze({
|
|
39488
|
-
willFinalize: willFinalize,
|
|
39489
|
-
createProxy: createProxy
|
|
39490
|
-
});
|
|
39491
|
-
|
|
39492
|
-
function willFinalize$1() {}
|
|
39493
|
-
function createProxy$1(base, parent) {
|
|
39494
|
-
var scope = parent ? parent.scope : ImmerScope.current;
|
|
39495
|
-
var state = {
|
|
39496
|
-
// Track which produce call this is associated with.
|
|
39497
|
-
scope: scope,
|
|
39498
|
-
// True for both shallow and deep changes.
|
|
39499
|
-
modified: false,
|
|
39500
|
-
// Used during finalization.
|
|
39501
|
-
finalized: false,
|
|
39502
|
-
// Track which properties have been assigned (true) or deleted (false).
|
|
39503
|
-
assigned: {},
|
|
39504
|
-
// The parent draft state.
|
|
39505
|
-
parent: parent,
|
|
39506
|
-
// The base state.
|
|
39507
|
-
base: base,
|
|
39508
|
-
// The base proxy.
|
|
39509
|
-
draft: null,
|
|
39510
|
-
// Any property proxies.
|
|
39511
|
-
drafts: {},
|
|
39512
|
-
// The base copy with any updated values.
|
|
39513
|
-
copy: null,
|
|
39514
|
-
// Called by the `produce` function.
|
|
39515
|
-
revoke: null
|
|
39516
|
-
};
|
|
39517
|
-
var ref = Array.isArray(base) ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants,
|
|
39518
|
-
// although state itself is an object
|
|
39519
|
-
Proxy.revocable([state], arrayTraps) : Proxy.revocable(state, objectTraps);
|
|
39520
|
-
var revoke = ref.revoke;
|
|
39521
|
-
var proxy = ref.proxy;
|
|
39522
|
-
state.draft = proxy;
|
|
39523
|
-
state.revoke = revoke;
|
|
39524
|
-
scope.drafts.push(proxy);
|
|
39525
|
-
return proxy;
|
|
39526
|
-
}
|
|
39527
|
-
var objectTraps = {
|
|
39528
|
-
get: get$1$1,
|
|
39529
|
-
|
|
39530
|
-
has: function has(target, prop) {
|
|
39531
|
-
return prop in source$1(target);
|
|
39532
|
-
},
|
|
39533
|
-
|
|
39534
|
-
ownKeys: function ownKeys(target) {
|
|
39535
|
-
return Reflect.ownKeys(source$1(target));
|
|
39536
|
-
},
|
|
39537
|
-
|
|
39538
|
-
set: set$1$1,
|
|
39539
|
-
deleteProperty: deleteProperty,
|
|
39540
|
-
getOwnPropertyDescriptor: getOwnPropertyDescriptor$2,
|
|
39541
|
-
|
|
39542
|
-
defineProperty: function defineProperty() {
|
|
39543
|
-
throw new Error("Object.defineProperty() cannot be used on an Immer draft"); // prettier-ignore
|
|
39544
|
-
},
|
|
39545
|
-
|
|
39546
|
-
getPrototypeOf: function getPrototypeOf(target) {
|
|
39547
|
-
return Object.getPrototypeOf(target.base);
|
|
39548
|
-
},
|
|
39549
|
-
|
|
39550
|
-
setPrototypeOf: function setPrototypeOf() {
|
|
39551
|
-
throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft"); // prettier-ignore
|
|
39083
|
+
const computeErrorEntries = (formState) => {
|
|
39084
|
+
const fields = Object.entries(formState);
|
|
39085
|
+
for (let entry of fields) {
|
|
39086
|
+
let fieldName = entry[0];
|
|
39087
|
+
let errors = computeErrors(fieldName, formState);
|
|
39088
|
+
formState[fieldName].errors = errors;
|
|
39089
|
+
formState[fieldName].hasErrors = errors.length > 0;
|
|
39552
39090
|
}
|
|
39553
|
-
|
|
39554
39091
|
};
|
|
39555
|
-
var arrayTraps = {};
|
|
39556
|
-
each(objectTraps, function (key, fn) {
|
|
39557
|
-
arrayTraps[key] = function () {
|
|
39558
|
-
arguments[0] = arguments[0][0];
|
|
39559
|
-
return fn.apply(this, arguments);
|
|
39560
|
-
};
|
|
39561
|
-
});
|
|
39562
39092
|
|
|
39563
|
-
|
|
39564
|
-
|
|
39565
|
-
|
|
39093
|
+
const computeDirtyEntries = (formState, changedFieldName) => {
|
|
39094
|
+
const fields = Object.entries(formState);
|
|
39095
|
+
for (let entry of fields) {
|
|
39096
|
+
let fieldName = entry[0];
|
|
39097
|
+
let field = entry[1];
|
|
39098
|
+
let dirty = fieldName === changedFieldName ? true : field.dirty;
|
|
39099
|
+
formState[fieldName].dirty = dirty;
|
|
39566
39100
|
}
|
|
39567
|
-
|
|
39568
|
-
return objectTraps.deleteProperty.call(this, state[0], prop);
|
|
39569
39101
|
};
|
|
39570
39102
|
|
|
39571
|
-
arrayTraps.set = function (state, prop, value) {
|
|
39572
|
-
if (prop !== "length" && isNaN(parseInt(prop))) {
|
|
39573
|
-
throw new Error("Immer only supports setting array indices and the 'length' property"); // prettier-ignore
|
|
39574
|
-
}
|
|
39575
|
-
|
|
39576
|
-
return objectTraps.set.call(this, state[0], prop, value);
|
|
39577
|
-
}; // returns the object we should be reading the current value from, which is base, until some change has been made
|
|
39578
|
-
|
|
39579
|
-
|
|
39580
|
-
function source$1(state) {
|
|
39581
|
-
return state.copy || state.base;
|
|
39582
|
-
} // Access a property without creating an Immer draft.
|
|
39583
|
-
|
|
39103
|
+
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;
|
|
39584
39104
|
|
|
39585
|
-
|
|
39586
|
-
var state = draft[DRAFT_STATE];
|
|
39587
|
-
var desc = Reflect.getOwnPropertyDescriptor(state ? source$1(state) : draft, prop);
|
|
39588
|
-
return desc && desc.value;
|
|
39589
|
-
}
|
|
39590
|
-
|
|
39591
|
-
function get$1$1(state, prop) {
|
|
39592
|
-
if (prop === DRAFT_STATE) { return state; }
|
|
39593
|
-
var drafts = state.drafts; // Check for existing draft in unmodified state.
|
|
39594
|
-
|
|
39595
|
-
if (!state.modified && has$1(drafts, prop)) {
|
|
39596
|
-
return drafts[prop];
|
|
39597
|
-
}
|
|
39598
|
-
|
|
39599
|
-
var value = source$1(state)[prop];
|
|
39600
|
-
|
|
39601
|
-
if (state.finalized || !isDraftable(value)) {
|
|
39602
|
-
return value;
|
|
39603
|
-
} // Check for existing draft in modified state.
|
|
39604
|
-
|
|
39605
|
-
|
|
39606
|
-
if (state.modified) {
|
|
39607
|
-
// Assigned values are never drafted. This catches any drafts we created, too.
|
|
39608
|
-
if (value !== peek$1(state.base, prop)) { return value; } // Store drafts on the copy (when one exists).
|
|
39609
|
-
|
|
39610
|
-
drafts = state.copy;
|
|
39611
|
-
}
|
|
39612
|
-
|
|
39613
|
-
return drafts[prop] = createProxy$1(value, state);
|
|
39614
|
-
}
|
|
39615
|
-
|
|
39616
|
-
function set$1$1(state, prop, value) {
|
|
39617
|
-
if (!state.modified) {
|
|
39618
|
-
var baseValue = peek$1(state.base, prop); // Optimize based on value's truthiness. Truthy values are guaranteed to
|
|
39619
|
-
// never be undefined, so we can avoid the `in` operator. Lastly, truthy
|
|
39620
|
-
// values may be drafts, but falsy values are never drafts.
|
|
39621
|
-
|
|
39622
|
-
var isUnchanged = value ? is(baseValue, value) || value === state.drafts[prop] : is(baseValue, value) && prop in state.base;
|
|
39623
|
-
if (isUnchanged) { return true; }
|
|
39624
|
-
markChanged$1(state);
|
|
39625
|
-
}
|
|
39626
|
-
|
|
39627
|
-
state.assigned[prop] = true;
|
|
39628
|
-
state.copy[prop] = value;
|
|
39629
|
-
return true;
|
|
39630
|
-
}
|
|
39631
|
-
|
|
39632
|
-
function deleteProperty(state, prop) {
|
|
39633
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39634
|
-
if (peek$1(state.base, prop) !== undefined || prop in state.base) {
|
|
39635
|
-
state.assigned[prop] = false;
|
|
39636
|
-
markChanged$1(state);
|
|
39637
|
-
} else if (state.assigned[prop]) {
|
|
39638
|
-
// if an originally not assigned property was deleted
|
|
39639
|
-
delete state.assigned[prop];
|
|
39640
|
-
}
|
|
39641
|
-
|
|
39642
|
-
if (state.copy) { delete state.copy[prop]; }
|
|
39643
|
-
return true;
|
|
39644
|
-
} // Note: We never coerce `desc.value` into an Immer draft, because we can't make
|
|
39645
|
-
// the same guarantee in ES5 mode.
|
|
39646
|
-
|
|
39647
|
-
|
|
39648
|
-
function getOwnPropertyDescriptor$2(state, prop) {
|
|
39649
|
-
var owner = source$1(state);
|
|
39650
|
-
var desc = Reflect.getOwnPropertyDescriptor(owner, prop);
|
|
39651
|
-
|
|
39652
|
-
if (desc) {
|
|
39653
|
-
desc.writable = true;
|
|
39654
|
-
desc.configurable = !Array.isArray(owner) || prop !== "length";
|
|
39655
|
-
}
|
|
39656
|
-
|
|
39657
|
-
return desc;
|
|
39658
|
-
}
|
|
39659
|
-
|
|
39660
|
-
function markChanged$1(state) {
|
|
39661
|
-
if (!state.modified) {
|
|
39662
|
-
state.modified = true;
|
|
39663
|
-
state.copy = assign(shallowCopy(state.base), state.drafts);
|
|
39664
|
-
state.drafts = null;
|
|
39665
|
-
if (state.parent) { markChanged$1(state.parent); }
|
|
39666
|
-
}
|
|
39667
|
-
}
|
|
39668
|
-
|
|
39669
|
-
var modernProxy = /*#__PURE__*/Object.freeze({
|
|
39670
|
-
willFinalize: willFinalize$1,
|
|
39671
|
-
createProxy: createProxy$1
|
|
39672
|
-
});
|
|
39673
|
-
|
|
39674
|
-
function generatePatches(state, basePath, patches, inversePatches) {
|
|
39675
|
-
Array.isArray(state.base) ? generateArrayPatches(state, basePath, patches, inversePatches) : generateObjectPatches(state, basePath, patches, inversePatches);
|
|
39676
|
-
}
|
|
39677
|
-
|
|
39678
|
-
function generateArrayPatches(state, basePath, patches, inversePatches) {
|
|
39679
|
-
var assign, assign$1;
|
|
39680
|
-
|
|
39681
|
-
var base = state.base;
|
|
39682
|
-
var copy = state.copy;
|
|
39683
|
-
var assigned = state.assigned; // Reduce complexity by ensuring `base` is never longer.
|
|
39684
|
-
|
|
39685
|
-
if (copy.length < base.length) {
|
|
39686
|
-
(assign = [copy, base], base = assign[0], copy = assign[1]);
|
|
39687
|
-
(assign$1 = [inversePatches, patches], patches = assign$1[0], inversePatches = assign$1[1]);
|
|
39688
|
-
}
|
|
39689
|
-
|
|
39690
|
-
var delta = copy.length - base.length; // Find the first replaced index.
|
|
39691
|
-
|
|
39692
|
-
var start = 0;
|
|
39693
|
-
|
|
39694
|
-
while (base[start] === copy[start] && start < base.length) {
|
|
39695
|
-
++start;
|
|
39696
|
-
} // Find the last replaced index. Search from the end to optimize splice patches.
|
|
39697
|
-
|
|
39698
|
-
|
|
39699
|
-
var end = base.length;
|
|
39700
|
-
|
|
39701
|
-
while (end > start && base[end - 1] === copy[end + delta - 1]) {
|
|
39702
|
-
--end;
|
|
39703
|
-
} // Process replaced indices.
|
|
39704
|
-
|
|
39705
|
-
|
|
39706
|
-
for (var i = start; i < end; ++i) {
|
|
39707
|
-
if (assigned[i] && copy[i] !== base[i]) {
|
|
39708
|
-
var path = basePath.concat([i]);
|
|
39709
|
-
patches.push({
|
|
39710
|
-
op: "replace",
|
|
39711
|
-
path: path,
|
|
39712
|
-
value: copy[i]
|
|
39713
|
-
});
|
|
39714
|
-
inversePatches.push({
|
|
39715
|
-
op: "replace",
|
|
39716
|
-
path: path,
|
|
39717
|
-
value: base[i]
|
|
39718
|
-
});
|
|
39719
|
-
}
|
|
39720
|
-
}
|
|
39721
|
-
|
|
39722
|
-
var replaceCount = patches.length; // Process added indices.
|
|
39723
|
-
|
|
39724
|
-
for (var i$1 = end + delta - 1; i$1 >= end; --i$1) {
|
|
39725
|
-
var path$1 = basePath.concat([i$1]);
|
|
39726
|
-
patches[replaceCount + i$1 - end] = {
|
|
39727
|
-
op: "add",
|
|
39728
|
-
path: path$1,
|
|
39729
|
-
value: copy[i$1]
|
|
39730
|
-
};
|
|
39731
|
-
inversePatches.push({
|
|
39732
|
-
op: "remove",
|
|
39733
|
-
path: path$1
|
|
39734
|
-
});
|
|
39735
|
-
}
|
|
39736
|
-
}
|
|
39737
|
-
|
|
39738
|
-
function generateObjectPatches(state, basePath, patches, inversePatches) {
|
|
39739
|
-
var base = state.base;
|
|
39740
|
-
var copy = state.copy;
|
|
39741
|
-
each(state.assigned, function (key, assignedValue) {
|
|
39742
|
-
var origValue = base[key];
|
|
39743
|
-
var value = copy[key];
|
|
39744
|
-
var op = !assignedValue ? "remove" : key in base ? "replace" : "add";
|
|
39745
|
-
if (origValue === value && op === "replace") { return; }
|
|
39746
|
-
var path = basePath.concat(key);
|
|
39747
|
-
patches.push(op === "remove" ? {
|
|
39748
|
-
op: op,
|
|
39749
|
-
path: path
|
|
39750
|
-
} : {
|
|
39751
|
-
op: op,
|
|
39752
|
-
path: path,
|
|
39753
|
-
value: value
|
|
39754
|
-
});
|
|
39755
|
-
inversePatches.push(op === "add" ? {
|
|
39756
|
-
op: "remove",
|
|
39757
|
-
path: path
|
|
39758
|
-
} : op === "remove" ? {
|
|
39759
|
-
op: "add",
|
|
39760
|
-
path: path,
|
|
39761
|
-
value: origValue
|
|
39762
|
-
} : {
|
|
39763
|
-
op: "replace",
|
|
39764
|
-
path: path,
|
|
39765
|
-
value: origValue
|
|
39766
|
-
});
|
|
39767
|
-
});
|
|
39768
|
-
}
|
|
39769
|
-
|
|
39770
|
-
var applyPatches = function (draft, patches) {
|
|
39771
|
-
for (var i$1 = 0, list = patches; i$1 < list.length; i$1 += 1) {
|
|
39772
|
-
var patch = list[i$1];
|
|
39773
|
-
|
|
39774
|
-
var path = patch.path;
|
|
39775
|
-
var op = patch.op;
|
|
39776
|
-
var value = clone(patch.value); // used to clone patch to ensure original patch is not modified, see #411
|
|
39777
|
-
|
|
39778
|
-
if (!path.length) { throw new Error("Illegal state"); }
|
|
39779
|
-
var base = draft;
|
|
39780
|
-
|
|
39781
|
-
for (var i = 0; i < path.length - 1; i++) {
|
|
39782
|
-
base = base[path[i]];
|
|
39783
|
-
if (!base || typeof base !== "object") { throw new Error("Cannot apply patch, path doesn't resolve: " + path.join("/")); } // prettier-ignore
|
|
39784
|
-
}
|
|
39785
|
-
|
|
39786
|
-
var key = path[path.length - 1];
|
|
39787
|
-
|
|
39788
|
-
switch (op) {
|
|
39789
|
-
case "replace":
|
|
39790
|
-
// if value is an object, then it's assigned by reference
|
|
39791
|
-
// in the following add or remove ops, the value field inside the patch will also be modifyed
|
|
39792
|
-
// so we use value from the cloned patch
|
|
39793
|
-
base[key] = value;
|
|
39794
|
-
break;
|
|
39795
|
-
|
|
39796
|
-
case "add":
|
|
39797
|
-
if (Array.isArray(base)) {
|
|
39798
|
-
// TODO: support "foo/-" paths for appending to an array
|
|
39799
|
-
base.splice(key, 0, value);
|
|
39800
|
-
} else {
|
|
39801
|
-
base[key] = value;
|
|
39802
|
-
}
|
|
39803
|
-
|
|
39804
|
-
break;
|
|
39805
|
-
|
|
39806
|
-
case "remove":
|
|
39807
|
-
if (Array.isArray(base)) {
|
|
39808
|
-
base.splice(key, 1);
|
|
39809
|
-
} else {
|
|
39810
|
-
delete base[key];
|
|
39811
|
-
}
|
|
39812
|
-
|
|
39813
|
-
break;
|
|
39814
|
-
|
|
39815
|
-
default:
|
|
39816
|
-
throw new Error("Unsupported patch operation: " + op);
|
|
39817
|
-
}
|
|
39818
|
-
}
|
|
39819
|
-
|
|
39820
|
-
return draft;
|
|
39821
|
-
};
|
|
39822
|
-
|
|
39823
|
-
function verifyMinified() {}
|
|
39824
|
-
|
|
39825
|
-
var configDefaults = {
|
|
39826
|
-
useProxies: typeof Proxy !== "undefined" && typeof Reflect !== "undefined",
|
|
39827
|
-
autoFreeze: typeof process !== "undefined" ? process.env.NODE_ENV !== "production" : verifyMinified.name === "verifyMinified",
|
|
39828
|
-
onAssign: null,
|
|
39829
|
-
onDelete: null,
|
|
39830
|
-
onCopy: null
|
|
39831
|
-
};
|
|
39832
|
-
var Immer = function Immer(config) {
|
|
39833
|
-
assign(this, configDefaults, config);
|
|
39834
|
-
this.setUseProxies(this.useProxies);
|
|
39835
|
-
this.produce = this.produce.bind(this);
|
|
39836
|
-
};
|
|
39837
|
-
|
|
39838
|
-
Immer.prototype.produce = function produce (base, recipe, patchListener) {
|
|
39839
|
-
var this$1$1 = this;
|
|
39840
|
-
|
|
39841
|
-
// curried invocation
|
|
39842
|
-
if (typeof base === "function" && typeof recipe !== "function") {
|
|
39843
|
-
var defaultBase = recipe;
|
|
39844
|
-
recipe = base;
|
|
39845
|
-
var self = this;
|
|
39846
|
-
return function curriedProduce(base) {
|
|
39847
|
-
var this$1$1 = this;
|
|
39848
|
-
if ( base === void 0 ) base = defaultBase;
|
|
39849
|
-
var args = [], len = arguments.length - 1;
|
|
39850
|
-
while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
|
|
39851
|
-
|
|
39852
|
-
return self.produce(base, function (draft) { return recipe.call.apply(recipe, [ this$1$1, draft ].concat( args )); }); // prettier-ignore
|
|
39853
|
-
};
|
|
39854
|
-
} // prettier-ignore
|
|
39855
|
-
|
|
39856
|
-
|
|
39857
|
-
{
|
|
39858
|
-
if (typeof recipe !== "function") {
|
|
39859
|
-
throw new Error("The first or second argument to `produce` must be a function");
|
|
39860
|
-
}
|
|
39861
|
-
|
|
39862
|
-
if (patchListener !== undefined && typeof patchListener !== "function") {
|
|
39863
|
-
throw new Error("The third argument to `produce` must be a function or undefined");
|
|
39864
|
-
}
|
|
39865
|
-
}
|
|
39866
|
-
var result; // Only plain objects, arrays, and "immerable classes" are drafted.
|
|
39867
|
-
|
|
39868
|
-
if (isDraftable(base)) {
|
|
39869
|
-
var scope = ImmerScope.enter();
|
|
39870
|
-
var proxy = this.createProxy(base);
|
|
39871
|
-
var hasError = true;
|
|
39872
|
-
|
|
39873
|
-
try {
|
|
39874
|
-
result = recipe(proxy);
|
|
39875
|
-
hasError = false;
|
|
39876
|
-
} finally {
|
|
39877
|
-
// finally instead of catch + rethrow better preserves original stack
|
|
39878
|
-
if (hasError) { scope.revoke(); }else { scope.leave(); }
|
|
39879
|
-
}
|
|
39880
|
-
|
|
39881
|
-
if (result instanceof Promise) {
|
|
39882
|
-
return result.then(function (result) {
|
|
39883
|
-
scope.usePatches(patchListener);
|
|
39884
|
-
return this$1$1.processResult(result, scope);
|
|
39885
|
-
}, function (error) {
|
|
39886
|
-
scope.revoke();
|
|
39887
|
-
throw error;
|
|
39888
|
-
});
|
|
39889
|
-
}
|
|
39890
|
-
|
|
39891
|
-
scope.usePatches(patchListener);
|
|
39892
|
-
return this.processResult(result, scope);
|
|
39893
|
-
} else {
|
|
39894
|
-
result = recipe(base);
|
|
39895
|
-
if (result === undefined) { return base; }
|
|
39896
|
-
return result !== NOTHING ? result : undefined;
|
|
39897
|
-
}
|
|
39898
|
-
};
|
|
39899
|
-
|
|
39900
|
-
Immer.prototype.produceWithPatches = function produceWithPatches (arg1, arg2, arg3) {
|
|
39901
|
-
var this$1$1 = this;
|
|
39902
|
-
|
|
39903
|
-
if (typeof arg1 === "function") {
|
|
39904
|
-
return function (state) {
|
|
39905
|
-
var args = [], len = arguments.length - 1;
|
|
39906
|
-
while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
|
|
39907
|
-
|
|
39908
|
-
return this$1$1.produceWithPatches(state, function (draft) { return arg1.apply(void 0, [ draft ].concat( args )); });
|
|
39909
|
-
};
|
|
39910
|
-
} // non-curried form
|
|
39911
|
-
|
|
39912
|
-
|
|
39913
|
-
if (arg3) { throw new Error("A patch listener cannot be passed to produceWithPatches"); }
|
|
39914
|
-
var patches, inversePatches;
|
|
39915
|
-
var nextState = this.produce(arg1, arg2, function (p, ip) {
|
|
39916
|
-
patches = p;
|
|
39917
|
-
inversePatches = ip;
|
|
39918
|
-
});
|
|
39919
|
-
return [nextState, patches, inversePatches];
|
|
39920
|
-
};
|
|
39921
|
-
|
|
39922
|
-
Immer.prototype.createDraft = function createDraft (base) {
|
|
39923
|
-
if (!isDraftable(base)) {
|
|
39924
|
-
throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object"); // prettier-ignore
|
|
39925
|
-
}
|
|
39926
|
-
|
|
39927
|
-
var scope = ImmerScope.enter();
|
|
39928
|
-
var proxy = this.createProxy(base);
|
|
39929
|
-
proxy[DRAFT_STATE].isManual = true;
|
|
39930
|
-
scope.leave();
|
|
39931
|
-
return proxy;
|
|
39932
|
-
};
|
|
39933
|
-
|
|
39934
|
-
Immer.prototype.finishDraft = function finishDraft (draft, patchListener) {
|
|
39935
|
-
var state = draft && draft[DRAFT_STATE];
|
|
39936
|
-
|
|
39937
|
-
if (!state || !state.isManual) {
|
|
39938
|
-
throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`"); // prettier-ignore
|
|
39939
|
-
}
|
|
39940
|
-
|
|
39941
|
-
if (state.finalized) {
|
|
39942
|
-
throw new Error("The given draft is already finalized"); // prettier-ignore
|
|
39943
|
-
}
|
|
39944
|
-
|
|
39945
|
-
var scope = state.scope;
|
|
39946
|
-
scope.usePatches(patchListener);
|
|
39947
|
-
return this.processResult(undefined, scope);
|
|
39948
|
-
};
|
|
39949
|
-
|
|
39950
|
-
Immer.prototype.setAutoFreeze = function setAutoFreeze (value) {
|
|
39951
|
-
this.autoFreeze = value;
|
|
39952
|
-
};
|
|
39953
|
-
|
|
39954
|
-
Immer.prototype.setUseProxies = function setUseProxies (value) {
|
|
39955
|
-
this.useProxies = value;
|
|
39956
|
-
assign(this, value ? modernProxy : legacyProxy);
|
|
39957
|
-
};
|
|
39958
|
-
|
|
39959
|
-
Immer.prototype.applyPatches = function applyPatches$1 (base, patches) {
|
|
39960
|
-
// If a patch replaces the entire state, take that replacement as base
|
|
39961
|
-
// before applying patches
|
|
39962
|
-
var i;
|
|
39963
|
-
|
|
39964
|
-
for (i = patches.length - 1; i >= 0; i--) {
|
|
39965
|
-
var patch = patches[i];
|
|
39966
|
-
|
|
39967
|
-
if (patch.path.length === 0 && patch.op === "replace") {
|
|
39968
|
-
base = patch.value;
|
|
39969
|
-
break;
|
|
39970
|
-
}
|
|
39971
|
-
}
|
|
39972
|
-
|
|
39973
|
-
if (isDraft(base)) {
|
|
39974
|
-
// N.B: never hits if some patch a replacement, patches are never drafts
|
|
39975
|
-
return applyPatches(base, patches);
|
|
39976
|
-
} // Otherwise, produce a copy of the base state.
|
|
39977
|
-
|
|
39978
|
-
|
|
39979
|
-
return this.produce(base, function (draft) { return applyPatches(draft, patches.slice(i + 1)); });
|
|
39980
|
-
};
|
|
39981
|
-
/** @internal */
|
|
39982
|
-
|
|
39983
|
-
|
|
39984
|
-
Immer.prototype.processResult = function processResult (result, scope) {
|
|
39985
|
-
var baseDraft = scope.drafts[0];
|
|
39986
|
-
var isReplaced = result !== undefined && result !== baseDraft;
|
|
39987
|
-
this.willFinalize(scope, result, isReplaced);
|
|
39988
|
-
|
|
39989
|
-
if (isReplaced) {
|
|
39990
|
-
if (baseDraft[DRAFT_STATE].modified) {
|
|
39991
|
-
scope.revoke();
|
|
39992
|
-
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
|
|
39993
|
-
}
|
|
39994
|
-
|
|
39995
|
-
if (isDraftable(result)) {
|
|
39996
|
-
// Finalize the result in case it contains (or is) a subset of the draft.
|
|
39997
|
-
result = this.finalize(result, null, scope);
|
|
39998
|
-
}
|
|
39999
|
-
|
|
40000
|
-
if (scope.patches) {
|
|
40001
|
-
scope.patches.push({
|
|
40002
|
-
op: "replace",
|
|
40003
|
-
path: [],
|
|
40004
|
-
value: result
|
|
40005
|
-
});
|
|
40006
|
-
scope.inversePatches.push({
|
|
40007
|
-
op: "replace",
|
|
40008
|
-
path: [],
|
|
40009
|
-
value: baseDraft[DRAFT_STATE].base
|
|
40010
|
-
});
|
|
40011
|
-
}
|
|
40012
|
-
} else {
|
|
40013
|
-
// Finalize the base draft.
|
|
40014
|
-
result = this.finalize(baseDraft, [], scope);
|
|
40015
|
-
}
|
|
40016
|
-
|
|
40017
|
-
scope.revoke();
|
|
40018
|
-
|
|
40019
|
-
if (scope.patches) {
|
|
40020
|
-
scope.patchListener(scope.patches, scope.inversePatches);
|
|
40021
|
-
}
|
|
40022
|
-
|
|
40023
|
-
return result !== NOTHING ? result : undefined;
|
|
40024
|
-
};
|
|
40025
|
-
/**
|
|
40026
|
-
* @internal
|
|
40027
|
-
* Finalize a draft, returning either the unmodified base state or a modified
|
|
40028
|
-
* copy of the base state.
|
|
40029
|
-
*/
|
|
40030
|
-
|
|
40031
|
-
|
|
40032
|
-
Immer.prototype.finalize = function finalize (draft, path, scope) {
|
|
40033
|
-
var this$1$1 = this;
|
|
40034
|
-
|
|
40035
|
-
var state = draft[DRAFT_STATE];
|
|
40036
|
-
|
|
40037
|
-
if (!state) {
|
|
40038
|
-
if (Object.isFrozen(draft)) { return draft; }
|
|
40039
|
-
return this.finalizeTree(draft, null, scope);
|
|
40040
|
-
} // Never finalize drafts owned by another scope.
|
|
40041
|
-
|
|
40042
|
-
|
|
40043
|
-
if (state.scope !== scope) {
|
|
40044
|
-
return draft;
|
|
40045
|
-
}
|
|
40046
|
-
|
|
40047
|
-
if (!state.modified) {
|
|
40048
|
-
return state.base;
|
|
40049
|
-
}
|
|
40050
|
-
|
|
40051
|
-
if (!state.finalized) {
|
|
40052
|
-
state.finalized = true;
|
|
40053
|
-
this.finalizeTree(state.draft, path, scope);
|
|
40054
|
-
|
|
40055
|
-
if (this.onDelete) {
|
|
40056
|
-
// The `assigned` object is unreliable with ES5 drafts.
|
|
40057
|
-
if (this.useProxies) {
|
|
40058
|
-
var assigned = state.assigned;
|
|
40059
|
-
|
|
40060
|
-
for (var prop in assigned) {
|
|
40061
|
-
if (!assigned[prop]) { this.onDelete(state, prop); }
|
|
40062
|
-
}
|
|
40063
|
-
} else {
|
|
40064
|
-
var base = state.base;
|
|
40065
|
-
var copy = state.copy;
|
|
40066
|
-
each(base, function (prop) {
|
|
40067
|
-
if (!has$1(copy, prop)) { this$1$1.onDelete(state, prop); }
|
|
40068
|
-
});
|
|
40069
|
-
}
|
|
40070
|
-
}
|
|
40071
|
-
|
|
40072
|
-
if (this.onCopy) {
|
|
40073
|
-
this.onCopy(state);
|
|
40074
|
-
} // At this point, all descendants of `state.copy` have been finalized,
|
|
40075
|
-
// so we can be sure that `scope.canAutoFreeze` is accurate.
|
|
40076
|
-
|
|
40077
|
-
|
|
40078
|
-
if (this.autoFreeze && scope.canAutoFreeze) {
|
|
40079
|
-
Object.freeze(state.copy);
|
|
40080
|
-
}
|
|
40081
|
-
|
|
40082
|
-
if (path && scope.patches) {
|
|
40083
|
-
generatePatches(state, path, scope.patches, scope.inversePatches);
|
|
40084
|
-
}
|
|
40085
|
-
}
|
|
40086
|
-
|
|
40087
|
-
return state.copy;
|
|
40088
|
-
};
|
|
40089
|
-
/**
|
|
40090
|
-
* @internal
|
|
40091
|
-
* Finalize all drafts in the given state tree.
|
|
40092
|
-
*/
|
|
40093
|
-
|
|
40094
|
-
|
|
40095
|
-
Immer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) {
|
|
40096
|
-
var this$1$1 = this;
|
|
40097
|
-
|
|
40098
|
-
var state = root[DRAFT_STATE];
|
|
40099
|
-
|
|
40100
|
-
if (state) {
|
|
40101
|
-
if (!this.useProxies) {
|
|
40102
|
-
// Create the final copy, with added keys and without deleted keys.
|
|
40103
|
-
state.copy = shallowCopy(state.draft, true);
|
|
40104
|
-
}
|
|
40105
|
-
|
|
40106
|
-
root = state.copy;
|
|
40107
|
-
}
|
|
40108
|
-
|
|
40109
|
-
var needPatches = !!rootPath && !!scope.patches;
|
|
40110
|
-
|
|
40111
|
-
var finalizeProperty = function (prop, value, parent) {
|
|
40112
|
-
if (value === parent) {
|
|
40113
|
-
throw Error("Immer forbids circular references");
|
|
40114
|
-
} // In the `finalizeTree` method, only the `root` object may be a draft.
|
|
40115
|
-
|
|
40116
|
-
|
|
40117
|
-
var isDraftProp = !!state && parent === root;
|
|
40118
|
-
|
|
40119
|
-
if (isDraft(value)) {
|
|
40120
|
-
var path = isDraftProp && needPatches && !state.assigned[prop] ? rootPath.concat(prop) : null; // Drafts owned by `scope` are finalized here.
|
|
40121
|
-
|
|
40122
|
-
value = this$1$1.finalize(value, path, scope); // Drafts from another scope must prevent auto-freezing.
|
|
40123
|
-
|
|
40124
|
-
if (isDraft(value)) {
|
|
40125
|
-
scope.canAutoFreeze = false;
|
|
40126
|
-
} // Preserve non-enumerable properties.
|
|
40127
|
-
|
|
40128
|
-
|
|
40129
|
-
if (Array.isArray(parent) || isEnumerable(parent, prop)) {
|
|
40130
|
-
parent[prop] = value;
|
|
40131
|
-
} else {
|
|
40132
|
-
Object.defineProperty(parent, prop, {
|
|
40133
|
-
value: value
|
|
40134
|
-
});
|
|
40135
|
-
} // Unchanged drafts are never passed to the `onAssign` hook.
|
|
40136
|
-
|
|
40137
|
-
|
|
40138
|
-
if (isDraftProp && value === state.base[prop]) { return; }
|
|
40139
|
-
} // Unchanged draft properties are ignored.
|
|
40140
|
-
else if (isDraftProp && is(value, state.base[prop])) {
|
|
40141
|
-
return;
|
|
40142
|
-
} // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.
|
|
40143
|
-
else if (isDraftable(value) && !Object.isFrozen(value)) {
|
|
40144
|
-
each(value, finalizeProperty);
|
|
40145
|
-
}
|
|
40146
|
-
|
|
40147
|
-
if (isDraftProp && this$1$1.onAssign) {
|
|
40148
|
-
this$1$1.onAssign(state, prop, value);
|
|
40149
|
-
}
|
|
40150
|
-
};
|
|
40151
|
-
|
|
40152
|
-
each(root, finalizeProperty);
|
|
40153
|
-
return root;
|
|
40154
|
-
};
|
|
40155
|
-
|
|
40156
|
-
var immer = new Immer();
|
|
40157
|
-
/**
|
|
40158
|
-
* The `produce` function takes a value and a "recipe function" (whose
|
|
40159
|
-
* return value often depends on the base state). The recipe function is
|
|
40160
|
-
* free to mutate its first argument however it wants. All mutations are
|
|
40161
|
-
* only ever applied to a __copy__ of the base state.
|
|
40162
|
-
*
|
|
40163
|
-
* Pass only a function to create a "curried producer" which relieves you
|
|
40164
|
-
* from passing the recipe function every time.
|
|
40165
|
-
*
|
|
40166
|
-
* Only plain objects and arrays are made mutable. All other objects are
|
|
40167
|
-
* considered uncopyable.
|
|
40168
|
-
*
|
|
40169
|
-
* Note: This function is __bound__ to its `Immer` instance.
|
|
40170
|
-
*
|
|
40171
|
-
* @param {any} base - the initial state
|
|
40172
|
-
* @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified
|
|
40173
|
-
* @param {Function} patchListener - optional function that will be called with all the patches produced here
|
|
40174
|
-
* @returns {any} a new state, or the initial state if nothing was modified
|
|
40175
|
-
*/
|
|
40176
|
-
|
|
40177
|
-
var produce = immer.produce;
|
|
40178
|
-
/**
|
|
40179
|
-
* Like `produce`, but `produceWithPatches` always returns a tuple
|
|
40180
|
-
* [nextState, patches, inversePatches] (instead of just the next state)
|
|
40181
|
-
*/
|
|
40182
|
-
|
|
40183
|
-
immer.produceWithPatches.bind(immer);
|
|
40184
|
-
/**
|
|
40185
|
-
* Pass true to automatically freeze all copies created by Immer.
|
|
40186
|
-
*
|
|
40187
|
-
* By default, auto-freezing is disabled in production.
|
|
40188
|
-
*/
|
|
40189
|
-
|
|
40190
|
-
immer.setAutoFreeze.bind(immer);
|
|
40191
|
-
/**
|
|
40192
|
-
* Pass true to use the ES2015 `Proxy` class when creating drafts, which is
|
|
40193
|
-
* always faster than using ES5 proxies.
|
|
40194
|
-
*
|
|
40195
|
-
* By default, feature detection is used, so calling this is rarely necessary.
|
|
40196
|
-
*/
|
|
40197
|
-
|
|
40198
|
-
immer.setUseProxies.bind(immer);
|
|
40199
|
-
/**
|
|
40200
|
-
* Apply an array of Immer patches to the first argument.
|
|
40201
|
-
*
|
|
40202
|
-
* This function is a producer, which means copy-on-write is in effect.
|
|
40203
|
-
*/
|
|
40204
|
-
|
|
40205
|
-
immer.applyPatches.bind(immer);
|
|
40206
|
-
/**
|
|
40207
|
-
* Create an Immer draft from the given base state, which may be a draft itself.
|
|
40208
|
-
* The draft can be modified until you finalize it with the `finishDraft` function.
|
|
40209
|
-
*/
|
|
40210
|
-
|
|
40211
|
-
immer.createDraft.bind(immer);
|
|
40212
|
-
/**
|
|
40213
|
-
* Finalize an Immer draft from a `createDraft` call, returning the base state
|
|
40214
|
-
* (if no changes were made) or a modified copy. The draft must *not* be
|
|
40215
|
-
* mutated afterwards.
|
|
40216
|
-
*
|
|
40217
|
-
* Pass a function as the 2nd argument to generate Immer patches based on the
|
|
40218
|
-
* changes that were made.
|
|
40219
|
-
*/
|
|
40220
|
-
|
|
40221
|
-
immer.finishDraft.bind(immer);
|
|
40222
|
-
|
|
40223
|
-
const createInitialState = formConfig => {
|
|
39105
|
+
const createInitialState = (formConfig) => {
|
|
40224
39106
|
let initialForm = {};
|
|
40225
39107
|
const formConfigKeys = Object.keys(formConfig);
|
|
40226
39108
|
for (let formKey of formConfigKeys) {
|
|
40227
39109
|
initialForm[formKey] = {
|
|
40228
39110
|
dirty: false,
|
|
40229
|
-
rawValue: formConfig[formKey].defaultValue ||
|
|
39111
|
+
rawValue: formConfig[formKey].defaultValue || '',
|
|
40230
39112
|
validators: formConfig[formKey].validators || [],
|
|
40231
|
-
constraints: formConfig[formKey].constraints || []
|
|
39113
|
+
constraints: formConfig[formKey].constraints || [],
|
|
40232
39114
|
};
|
|
40233
39115
|
}
|
|
40234
39116
|
// Because validators require the entire form we have to do a
|
|
@@ -40239,82 +39121,99 @@ const createInitialState = formConfig => {
|
|
|
40239
39121
|
initialForm[formKey].errors = errors;
|
|
40240
39122
|
initialForm[formKey].hasErrors = errors.length > 0;
|
|
40241
39123
|
}
|
|
39124
|
+
|
|
40242
39125
|
return initialForm;
|
|
40243
39126
|
};
|
|
40244
39127
|
|
|
40245
|
-
const SET =
|
|
40246
|
-
const set$
|
|
39128
|
+
const SET = 'field/SET';
|
|
39129
|
+
const set$1 = (fieldName) => (value) => ({
|
|
40247
39130
|
type: SET,
|
|
40248
|
-
payload: { fieldName, value }
|
|
39131
|
+
payload: { fieldName, value },
|
|
40249
39132
|
});
|
|
40250
39133
|
|
|
40251
|
-
const CLEAR =
|
|
39134
|
+
const CLEAR = 'form/CLEAR';
|
|
40252
39135
|
const clear = () => ({ type: CLEAR });
|
|
40253
39136
|
|
|
40254
|
-
const ADD_VALIDATOR =
|
|
40255
|
-
const addValidator = fieldName => validator => ({
|
|
39137
|
+
const ADD_VALIDATOR = 'field/ADD_VALIDATOR';
|
|
39138
|
+
const addValidator = (fieldName) => (validator) => ({
|
|
40256
39139
|
type: ADD_VALIDATOR,
|
|
40257
|
-
payload: { fieldName, validator }
|
|
39140
|
+
payload: { fieldName, validator },
|
|
40258
39141
|
});
|
|
40259
39142
|
|
|
40260
|
-
const
|
|
40261
|
-
|
|
40262
|
-
|
|
40263
|
-
|
|
40264
|
-
|
|
40265
|
-
case SET:
|
|
40266
|
-
const changedFieldName = action.payload.fieldName;
|
|
40267
|
-
const newRawValue = action.payload.value;
|
|
40268
|
-
|
|
40269
|
-
return produce(state, draftState => {
|
|
40270
|
-
let originalValue = draftState[changedFieldName].rawValue;
|
|
40271
|
-
draftState[changedFieldName].rawValue = newRawValue;
|
|
40272
|
-
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
40273
|
-
// If the change violates constraints, revert the change
|
|
40274
|
-
draftState[changedFieldName].rawValue = originalValue;
|
|
40275
|
-
return draftState;
|
|
40276
|
-
}
|
|
39143
|
+
const REMOVE_VALIDATOR = 'field/REMOVE_VALIDATOR';
|
|
39144
|
+
const removeValidator = (fieldName) => (validator) => ({
|
|
39145
|
+
type: REMOVE_VALIDATOR,
|
|
39146
|
+
payload: { fieldName, validator },
|
|
39147
|
+
});
|
|
40277
39148
|
|
|
40278
|
-
|
|
40279
|
-
|
|
40280
|
-
|
|
40281
|
-
|
|
40282
|
-
|
|
40283
|
-
let dirty = fieldName === changedFieldName ? true : field.dirty;
|
|
40284
|
-
draftState[fieldName].errors = errors;
|
|
40285
|
-
draftState[fieldName].dirty = dirty;
|
|
40286
|
-
draftState[fieldName].hasErrors = errors.length > 0;
|
|
40287
|
-
}
|
|
40288
|
-
});
|
|
40289
|
-
case CLEAR:
|
|
40290
|
-
return createInitialState(formConfig);
|
|
40291
|
-
case ADD_VALIDATOR:
|
|
40292
|
-
const fieldWithOverride = action.payload.fieldName;
|
|
40293
|
-
const newValidator = action.payload.validator;
|
|
40294
|
-
|
|
40295
|
-
return produce(state, draftState => {
|
|
40296
|
-
draftState[fieldWithOverride].validators.push(newValidator);
|
|
40297
|
-
const fields = Object.entries(draftState);
|
|
40298
|
-
for (let entry of fields) {
|
|
40299
|
-
let fieldName = entry[0];
|
|
40300
|
-
let field = entry[1];
|
|
40301
|
-
let errors = computeErrors(fieldName, draftState);
|
|
40302
|
-
let dirty = field.dirty;
|
|
40303
|
-
draftState[fieldName].errors = errors;
|
|
40304
|
-
draftState[fieldName].dirty = dirty;
|
|
40305
|
-
draftState[fieldName].hasErrors = errors.length > 0;
|
|
40306
|
-
}
|
|
40307
|
-
});
|
|
40308
|
-
default:
|
|
40309
|
-
return state;
|
|
40310
|
-
}
|
|
40311
|
-
};
|
|
39149
|
+
const CLEAR_FIELD_VALIDATORS = 'field/CLEAR_FIELD_VALIDATORS';
|
|
39150
|
+
const clearFieldValidators = (fieldName) => () => ({
|
|
39151
|
+
type: CLEAR_FIELD_VALIDATORS,
|
|
39152
|
+
payload: { fieldName },
|
|
39153
|
+
});
|
|
40312
39154
|
|
|
40313
|
-
const
|
|
39155
|
+
const createFormReducer =
|
|
39156
|
+
(formConfig) =>
|
|
39157
|
+
(state = createInitialState(formConfig), action) => {
|
|
39158
|
+
switch (action.type) {
|
|
39159
|
+
case SET: {
|
|
39160
|
+
const changedFieldName = action.payload.fieldName;
|
|
39161
|
+
const newRawValue = action.payload.value;
|
|
39162
|
+
|
|
39163
|
+
return produce(state, (draftState) => {
|
|
39164
|
+
let originalValue = draftState[changedFieldName].rawValue;
|
|
39165
|
+
draftState[changedFieldName].rawValue = newRawValue;
|
|
39166
|
+
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
39167
|
+
// If the change violates constraints, revert the change
|
|
39168
|
+
draftState[changedFieldName].rawValue = originalValue;
|
|
39169
|
+
return draftState;
|
|
39170
|
+
}
|
|
39171
|
+
|
|
39172
|
+
computeDirtyEntries(draftState, changedFieldName);
|
|
39173
|
+
computeErrorEntries(draftState);
|
|
39174
|
+
});
|
|
39175
|
+
}
|
|
39176
|
+
case CLEAR:
|
|
39177
|
+
return createInitialState(formConfig);
|
|
39178
|
+
case ADD_VALIDATOR: {
|
|
39179
|
+
const fieldWithOverride = action.payload.fieldName;
|
|
39180
|
+
const newValidator = action.payload.validator;
|
|
39181
|
+
|
|
39182
|
+
return produce(state, (draftState) => {
|
|
39183
|
+
draftState[fieldWithOverride].validators.push(newValidator);
|
|
39184
|
+
computeErrorEntries(draftState);
|
|
39185
|
+
});
|
|
39186
|
+
}
|
|
39187
|
+
case REMOVE_VALIDATOR: {
|
|
39188
|
+
const fieldToOverride = action.payload.fieldName;
|
|
39189
|
+
const targetValidator = action.payload.validator;
|
|
39190
|
+
|
|
39191
|
+
return produce(state, (draftState) => {
|
|
39192
|
+
let fieldValidators = draftState[fieldToOverride].validators;
|
|
39193
|
+
draftState[fieldToOverride].validators = fieldValidators.filter(
|
|
39194
|
+
(validator) => validator.type !== targetValidator.type
|
|
39195
|
+
);
|
|
39196
|
+
computeErrorEntries(draftState);
|
|
39197
|
+
});
|
|
39198
|
+
}
|
|
39199
|
+
case CLEAR_FIELD_VALIDATORS: {
|
|
39200
|
+
const fieldToClear = action.payload.fieldName;
|
|
39201
|
+
|
|
39202
|
+
return produce(state, (draftState) => {
|
|
39203
|
+
draftState[fieldToClear].validators = [];
|
|
39204
|
+
computeErrorEntries(draftState);
|
|
39205
|
+
});
|
|
39206
|
+
}
|
|
39207
|
+
default:
|
|
39208
|
+
return state;
|
|
39209
|
+
}
|
|
39210
|
+
};
|
|
39211
|
+
|
|
39212
|
+
const createMapDispatchToProps = (formConfig) => {
|
|
40314
39213
|
// Do memo-ization
|
|
40315
39214
|
let cachedDispatch;
|
|
40316
39215
|
let cacheValue;
|
|
40317
|
-
return dispatch => {
|
|
39216
|
+
return (dispatch) => {
|
|
40318
39217
|
if (dispatch == cachedDispatch) {
|
|
40319
39218
|
return cacheValue;
|
|
40320
39219
|
}
|
|
@@ -40323,8 +39222,11 @@ const createMapDispatchToProps = formConfig => {
|
|
|
40323
39222
|
const keys = Object.keys(formConfig);
|
|
40324
39223
|
for (let fieldName of keys) {
|
|
40325
39224
|
dispatchObj.fields[fieldName] = {
|
|
40326
|
-
set: value => dispatch(set$
|
|
40327
|
-
addValidator: validator => dispatch(addValidator(fieldName)(validator))
|
|
39225
|
+
set: (value) => dispatch(set$1(fieldName)(value)),
|
|
39226
|
+
addValidator: (validator) => dispatch(addValidator(fieldName)(validator)),
|
|
39227
|
+
removeValidator: (validator) =>
|
|
39228
|
+
dispatch(removeValidator(fieldName)(validator)),
|
|
39229
|
+
clear: () => dispatch(clearFieldValidators(fieldName)()),
|
|
40328
39230
|
};
|
|
40329
39231
|
}
|
|
40330
39232
|
dispatchObj.form = { clear: () => dispatch(clear()) };
|
|
@@ -40334,12 +39236,12 @@ const createMapDispatchToProps = formConfig => {
|
|
|
40334
39236
|
};
|
|
40335
39237
|
};
|
|
40336
39238
|
|
|
40337
|
-
const mapStateToProps = state => ({ fields: state });
|
|
39239
|
+
const mapStateToProps = (state) => ({ fields: state });
|
|
40338
39240
|
|
|
40339
|
-
const createFormState = formConfig => ({
|
|
39241
|
+
const createFormState = (formConfig) => ({
|
|
40340
39242
|
reducer: createFormReducer(formConfig),
|
|
40341
39243
|
mapDispatchToProps: createMapDispatchToProps(formConfig),
|
|
40342
|
-
mapStateToProps: mapStateToProps
|
|
39244
|
+
mapStateToProps: mapStateToProps,
|
|
40343
39245
|
});
|
|
40344
39246
|
|
|
40345
39247
|
var AddressForm = function AddressForm(_ref) {
|
|
@@ -43205,12 +42107,12 @@ LoginForm.mapDispatchToProps = mapDispatchToProps$5;
|
|
|
43205
42107
|
* This source code is licensed under the MIT license found in the
|
|
43206
42108
|
* LICENSE file in the root directory of this source tree.
|
|
43207
42109
|
*/
|
|
43208
|
-
var b$
|
|
43209
|
-
Symbol.for("react.suspense_list"):60120,r=b$
|
|
43210
|
-
function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$
|
|
43211
|
-
var Profiler=g;var StrictMode=f$
|
|
43212
|
-
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$
|
|
43213
|
-
var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f$
|
|
42110
|
+
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?
|
|
42111
|
+
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;
|
|
42112
|
+
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;
|
|
42113
|
+
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};
|
|
42114
|
+
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};
|
|
42115
|
+
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;
|
|
43214
42116
|
|
|
43215
42117
|
var reactIs_production_min = {
|
|
43216
42118
|
AsyncMode: AsyncMode,
|
|
@@ -43581,14 +42483,14 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
|
43581
42483
|
|
|
43582
42484
|
var ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
|
43583
42485
|
|
|
43584
|
-
var has$
|
|
42486
|
+
var has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
43585
42487
|
|
|
43586
42488
|
var printWarning = function() {};
|
|
43587
42489
|
|
|
43588
42490
|
if (process.env.NODE_ENV !== 'production') {
|
|
43589
42491
|
var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
|
|
43590
42492
|
var loggedTypeFailures = {};
|
|
43591
|
-
var has$
|
|
42493
|
+
var has$2 = has$1;
|
|
43592
42494
|
|
|
43593
42495
|
printWarning = function(text) {
|
|
43594
42496
|
var message = 'Warning: ' + text;
|
|
@@ -43618,7 +42520,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
43618
42520
|
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
|
43619
42521
|
if (process.env.NODE_ENV !== 'production') {
|
|
43620
42522
|
for (var typeSpecName in typeSpecs) {
|
|
43621
|
-
if (has$
|
|
42523
|
+
if (has$2(typeSpecs, typeSpecName)) {
|
|
43622
42524
|
var error;
|
|
43623
42525
|
// Prop type validation may throw. In case they do, we don't want to
|
|
43624
42526
|
// fail the render phase where it didn't fail before. So we log it.
|
|
@@ -44017,7 +42919,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44017
42919
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
|
44018
42920
|
}
|
|
44019
42921
|
for (var key in propValue) {
|
|
44020
|
-
if (has$
|
|
42922
|
+
if (has$1(propValue, key)) {
|
|
44021
42923
|
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
|
|
44022
42924
|
if (error instanceof Error) {
|
|
44023
42925
|
return error;
|
|
@@ -44054,7 +42956,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44054
42956
|
if (checkerResult == null) {
|
|
44055
42957
|
return null;
|
|
44056
42958
|
}
|
|
44057
|
-
if (checkerResult.data && has$
|
|
42959
|
+
if (checkerResult.data && has$1(checkerResult.data, 'expectedType')) {
|
|
44058
42960
|
expectedTypes.push(checkerResult.data.expectedType);
|
|
44059
42961
|
}
|
|
44060
42962
|
}
|
|
@@ -44114,7 +43016,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44114
43016
|
var allKeys = objectAssign({}, props[propName], shapeTypes);
|
|
44115
43017
|
for (var key in allKeys) {
|
|
44116
43018
|
var checker = shapeTypes[key];
|
|
44117
|
-
if (has$
|
|
43019
|
+
if (has$1(shapeTypes, key) && typeof checker !== 'function') {
|
|
44118
43020
|
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
44119
43021
|
}
|
|
44120
43022
|
if (!checker) {
|
|
@@ -44852,7 +43754,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
|
|
|
44852
43754
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
44853
43755
|
*/
|
|
44854
43756
|
|
|
44855
|
-
function ownKeys$
|
|
43757
|
+
function ownKeys$2(object, enumerableOnly) {
|
|
44856
43758
|
var keys = Object.keys(object);
|
|
44857
43759
|
|
|
44858
43760
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -44868,9 +43770,9 @@ function ownKeys$3(object, enumerableOnly) {
|
|
|
44868
43770
|
function _objectSpread2$1(target) {
|
|
44869
43771
|
for (var i = 1; i < arguments.length; i++) {
|
|
44870
43772
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
44871
|
-
i % 2 ? ownKeys$
|
|
43773
|
+
i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {
|
|
44872
43774
|
_defineProperty$1(target, key, source[key]);
|
|
44873
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$
|
|
43775
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {
|
|
44874
43776
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
44875
43777
|
});
|
|
44876
43778
|
}
|
|
@@ -47841,24 +46743,7 @@ var createPartialAmountFormState = function createPartialAmountFormState(lineIte
|
|
|
47841
46743
|
var minimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
47842
46744
|
var blockPartialPaymentOverpay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
47843
46745
|
var formConfig = lineItems.reduce(function (acc, item) {
|
|
47844
|
-
var validators =
|
|
47845
|
-
return lineItem != item;
|
|
47846
|
-
}).reduce(function (acc, curr) {
|
|
47847
|
-
return [].concat(_toConsumableArray(acc), [curr.id]);
|
|
47848
|
-
}, []))];
|
|
47849
|
-
|
|
47850
|
-
if (!!maximum) {
|
|
47851
|
-
validators.push(validateSum(numberLessThanOrEqualTo(maximum), lineItems.filter(function (lineItem) {
|
|
47852
|
-
return lineItem != item;
|
|
47853
|
-
}).reduce(function (acc, curr) {
|
|
47854
|
-
return [].concat(_toConsumableArray(acc), [curr.id]);
|
|
47855
|
-
}, [])));
|
|
47856
|
-
}
|
|
47857
|
-
|
|
47858
|
-
if (blockPartialPaymentOverpay) {
|
|
47859
|
-
validators.push(numberLessThanOrEqualTo(item.amount));
|
|
47860
|
-
}
|
|
47861
|
-
|
|
46746
|
+
var validators = createPartialAmountFormValidators(item, lineItems, maximum, minimum, blockPartialPaymentOverpay);
|
|
47862
46747
|
return _objectSpread2(_objectSpread2({}, acc), {}, _defineProperty({}, item.id, {
|
|
47863
46748
|
validators: validators,
|
|
47864
46749
|
constraints: [onlyNaturals()],
|
|
@@ -47877,6 +46762,29 @@ var createPartialAmountFormState = function createPartialAmountFormState(lineIte
|
|
|
47877
46762
|
partialAmountFormMapDispatchToProps: mapDispatchToProps
|
|
47878
46763
|
};
|
|
47879
46764
|
};
|
|
46765
|
+
var createPartialAmountFormValidators = function createPartialAmountFormValidators(item, lineItems, maximum) {
|
|
46766
|
+
var minimum = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
46767
|
+
var blockPartialPaymentOverpay = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
46768
|
+
var validators = [required(), validateSum(numberGreaterThanOrEqualTo(minimum), lineItems.filter(function (lineItem) {
|
|
46769
|
+
return lineItem != item;
|
|
46770
|
+
}).reduce(function (acc, curr) {
|
|
46771
|
+
return [].concat(_toConsumableArray(acc), [curr.id]);
|
|
46772
|
+
}, []))];
|
|
46773
|
+
|
|
46774
|
+
if (!!maximum) {
|
|
46775
|
+
validators.push(validateSum(numberLessThanOrEqualTo(maximum), lineItems.filter(function (lineItem) {
|
|
46776
|
+
return lineItem != item;
|
|
46777
|
+
}).reduce(function (acc, curr) {
|
|
46778
|
+
return [].concat(_toConsumableArray(acc), [curr.id]);
|
|
46779
|
+
}, [])));
|
|
46780
|
+
}
|
|
46781
|
+
|
|
46782
|
+
if (blockPartialPaymentOverpay) {
|
|
46783
|
+
validators.push(numberLessThanOrEqualTo(item.amount));
|
|
46784
|
+
}
|
|
46785
|
+
|
|
46786
|
+
return validators;
|
|
46787
|
+
};
|
|
47880
46788
|
|
|
47881
46789
|
var arrowColor = WHITE;
|
|
47882
46790
|
var numberColor = MATISSE_BLUE;
|
|
@@ -50571,5 +49479,5 @@ var SidebarStackContent = function SidebarStackContent(_ref) {
|
|
|
50571
49479
|
|
|
50572
49480
|
var SidebarStackContent$1 = withWindowSize(themeComponent(SidebarStackContent, "Global", fallbackValues$U));
|
|
50573
49481
|
|
|
50574
|
-
export { AccountNumberImage, AccountsAddIcon$1 as AccountsAddIcon, AccountsIcon$1 as AccountsIcon, AccountsIconSmall$1 as AccountsIconSmall, AchReturnIcon, AddObligation$1 as AddObligation, AddressForm, Alert$1 as Alert, AllocatedIcon, AmountCallout$1 as AmountCallout, ArrowDownCircleIconSmall, ArrowLeftCircleIconMedium, ArrowLeftCircleIconSmall, ArrowRightCircleIconSmall, ArrowRightIcon, ArrowUpCircleIconSmall, AutopayIcon, AutopayOnIcon, Badge$1 as Badge, BankIcon, BankIconLarge, Banner$1 as Banner, Box, BoxWithShadow$1 as BoxWithShadow, Breadcrumbs as Breadcrumb, ButtonWithAction, ButtonWithLink, CalendarIcon, Card$1 as Card, CarrotIcon$1 as CarrotIcon, CashIcon, Center, CenterSingle$1 as CenterSingle, CenterStack$1 as CenterStack, ChangePasswordForm, ChargebackIcon, ChargebackIconMedium, ChargebackIconSmall, ChargebackReversalIcon, ChargebackReversalIconMedium, ChargebackReversalIconSmall, CheckIcon, Checkbox$1 as Checkbox, CheckboxList$1 as CheckboxList, CheckmarkIcon, ChevronIcon$1 as ChevronIcon, Cluster, CollapsibleSection$1 as CollapsibleSection, Copyable, CountryDropdown, Cover, CustomerSearchIcon, DefaultPageTemplate, Detail$1 as Detail, DisplayBox$1 as DisplayBox, DisplayCard, Dropdown$1 as Dropdown, DuplicateIcon, EditNameForm, EditableList, EditableTable, EmailForm, EmptyCartIcon$1 as EmptyCartIcon, ErroredIcon, ExternalLink, ExternalLinkIcon, FailedIcon, FindIconSmall$1 as FindIconSmall, FooterWithSubfooter$1 as FooterWithSubfooter, ForgotPasswordForm, ForgotPasswordIcon$1 as ForgotPasswordIcon, FormContainer$1 as FormContainer, FormFooterPanel$1 as FormFooterPanel, FormInput$1 as FormInput, FormInputColumn, FormInputRow, FormSelect$1 as FormSelect, FormattedAddress$1 as FormattedAddress, FormattedBankAccount$1 as FormattedBankAccount, FormattedCreditCard$1 as FormattedCreditCard, Frame, GenericCard, GenericCardLarge, GenericErrorIcon, GoToEmailIcon$1 as GoToEmailIcon, Grid, GuidedCheckoutImage, HamburgerButton, Heading$1 as Heading, HighlightTabRow$1 as HighlightTabRow, HistoryIconSmall$1 as HistoryIconSmall, IconAdd, IconQuitLarge, ImageBox, Imposter, InternalLink, Jumbo$1 as Jumbo, KioskImage, LabeledAmount$1 as LabeledAmount, LineItem$1 as LineItem, LinkCard$1 as LinkCard, Loading, LoadingLine, LoginForm, Modal$1 as Modal, Module$1 as Module, Motion, NavFooter, NavHeader, NavMenuDesktop$1 as NavMenuDesktop, NavMenuMobile$1 as NavMenuMobile, NavTabs, NoCustomerResultsIcon, NoPaymentResultsIcon, NotFoundIcon, Obligation, iconsMap as ObligationIcons, Pagination$1 as Pagination, Paragraph$1 as Paragraph, PartialAmountForm, PasswordRequirements, PaymentButtonBar, PaymentDetails$1 as PaymentDetails, PaymentFormACH, PaymentFormCard$1 as PaymentFormCard, PaymentMethodAddIcon$1 as PaymentMethodAddIcon, PaymentMethodIcon$1 as PaymentMethodIcon, PaymentSearchIcon, PaymentsIconSmall$1 as PaymentsIconSmall, PencilIcon$1 as PencilIcon, PendingIcon, PeriscopeDashboardIframe, PeriscopeFailedIcon, PhoneForm, Placeholder$1 as Placeholder, PlusCircleIcon, PointOfSaleImage, Popover$1 as Popover, ProcessingFee$1 as ProcessingFee, ProfileIcon$1 as ProfileIcon, ProfileIconSmall$1 as ProfileIconSmall, ProfileImage, PropertiesAddIcon$1 as PropertiesAddIcon, PropertiesIconSmall$1 as PropertiesIconSmall, RadioButton$2 as RadioButton, RadioButtonWithLabel$1 as RadioButtonWithLabel, RadioGroup, RadioSection$1 as RadioSection, Reel, RefundIcon, RefundIconMedium, RefundIconSmall, RegistrationForm, RejectedIcon, RejectedVelocityIcon, ResetConfirmationForm$1 as ResetConfirmationForm, ResetPasswordForm, ResetPasswordIcon, ResetPasswordSuccess, RevenueManagementImage, RoutingNumberImage, SearchIcon, SearchableSelect$1 as SearchableSelect, SettingsIconSmall$1 as SettingsIconSmall, ShoppingCartIcon, Sidebar, SidebarSingleContent$1 as SidebarSingleContent, SidebarStackContent$1 as SidebarStackContent, SolidDivider$1 as SolidDivider, Spinner$2 as Spinner, Stack, StandardCheckoutImage, FormStateDropdown as StateProvinceDropdown, StatusUnknownIcon, SuccessfulIcon, SuccessfulIconMedium, SuccessfulIconSmall, Switcher, TabSidebar$1 as TabSidebar, Table_styled as Table, TableBody_styled as TableBody, TableCell_styled as TableCell, TableHead$1 as TableHead, TableHeading_styled as TableHeading, TableListItem, TableRow$1 as TableRow, Tabs$1 as Tabs, TermsAndConditions, TermsAndConditionsModal$1 as TermsAndConditionsModal, Text$1 as Text, Timeout$1 as Timeout, TimeoutImage, Title$1 as Title, ToggleSwitch$1 as ToggleSwitch, TrashIcon$1 as TrashIcon, TypeaheadInput, VerifiedEmailIcon$1 as VerifiedEmailIcon, VoidedIcon, WalletBannerIcon$1 as WalletBannerIcon, WalletIcon$1 as WalletIcon, WalletIconSmall$1 as WalletIconSmall, WarningIconXS, WelcomeModule$1 as WelcomeModule, WorkflowTile, XCircleIconMedium, XCircleIconSmall, cardRegistry, index$5 as constants, createPartialAmountFormState, index$4 as util, withWindowSize };
|
|
49482
|
+
export { AccountNumberImage, AccountsAddIcon$1 as AccountsAddIcon, AccountsIcon$1 as AccountsIcon, AccountsIconSmall$1 as AccountsIconSmall, AchReturnIcon, AddObligation$1 as AddObligation, AddressForm, Alert$1 as Alert, AllocatedIcon, AmountCallout$1 as AmountCallout, ArrowDownCircleIconSmall, ArrowLeftCircleIconMedium, ArrowLeftCircleIconSmall, ArrowRightCircleIconSmall, ArrowRightIcon, ArrowUpCircleIconSmall, AutopayIcon, AutopayOnIcon, Badge$1 as Badge, BankIcon, BankIconLarge, Banner$1 as Banner, Box, BoxWithShadow$1 as BoxWithShadow, Breadcrumbs as Breadcrumb, ButtonWithAction, ButtonWithLink, CalendarIcon, Card$1 as Card, CarrotIcon$1 as CarrotIcon, CashIcon, Center, CenterSingle$1 as CenterSingle, CenterStack$1 as CenterStack, ChangePasswordForm, ChargebackIcon, ChargebackIconMedium, ChargebackIconSmall, ChargebackReversalIcon, ChargebackReversalIconMedium, ChargebackReversalIconSmall, CheckIcon, Checkbox$1 as Checkbox, CheckboxList$1 as CheckboxList, CheckmarkIcon, ChevronIcon$1 as ChevronIcon, Cluster, CollapsibleSection$1 as CollapsibleSection, Copyable, CountryDropdown, Cover, CustomerSearchIcon, DefaultPageTemplate, Detail$1 as Detail, DisplayBox$1 as DisplayBox, DisplayCard, Dropdown$1 as Dropdown, DuplicateIcon, EditNameForm, EditableList, EditableTable, EmailForm, EmptyCartIcon$1 as EmptyCartIcon, ErroredIcon, ExternalLink, ExternalLinkIcon, FailedIcon, FindIconSmall$1 as FindIconSmall, FooterWithSubfooter$1 as FooterWithSubfooter, ForgotPasswordForm, ForgotPasswordIcon$1 as ForgotPasswordIcon, FormContainer$1 as FormContainer, FormFooterPanel$1 as FormFooterPanel, FormInput$1 as FormInput, FormInputColumn, FormInputRow, FormSelect$1 as FormSelect, FormattedAddress$1 as FormattedAddress, FormattedBankAccount$1 as FormattedBankAccount, FormattedCreditCard$1 as FormattedCreditCard, Frame, GenericCard, GenericCardLarge, GenericErrorIcon, GoToEmailIcon$1 as GoToEmailIcon, Grid, GuidedCheckoutImage, HamburgerButton, Heading$1 as Heading, HighlightTabRow$1 as HighlightTabRow, HistoryIconSmall$1 as HistoryIconSmall, IconAdd, IconQuitLarge, ImageBox, Imposter, InternalLink, Jumbo$1 as Jumbo, KioskImage, LabeledAmount$1 as LabeledAmount, LineItem$1 as LineItem, LinkCard$1 as LinkCard, Loading, LoadingLine, LoginForm, Modal$1 as Modal, Module$1 as Module, Motion, NavFooter, NavHeader, NavMenuDesktop$1 as NavMenuDesktop, NavMenuMobile$1 as NavMenuMobile, NavTabs, NoCustomerResultsIcon, NoPaymentResultsIcon, NotFoundIcon, Obligation, iconsMap as ObligationIcons, Pagination$1 as Pagination, Paragraph$1 as Paragraph, PartialAmountForm, PasswordRequirements, PaymentButtonBar, PaymentDetails$1 as PaymentDetails, PaymentFormACH, PaymentFormCard$1 as PaymentFormCard, PaymentMethodAddIcon$1 as PaymentMethodAddIcon, PaymentMethodIcon$1 as PaymentMethodIcon, PaymentSearchIcon, PaymentsIconSmall$1 as PaymentsIconSmall, PencilIcon$1 as PencilIcon, PendingIcon, PeriscopeDashboardIframe, PeriscopeFailedIcon, PhoneForm, Placeholder$1 as Placeholder, PlusCircleIcon, PointOfSaleImage, Popover$1 as Popover, ProcessingFee$1 as ProcessingFee, ProfileIcon$1 as ProfileIcon, ProfileIconSmall$1 as ProfileIconSmall, ProfileImage, PropertiesAddIcon$1 as PropertiesAddIcon, PropertiesIconSmall$1 as PropertiesIconSmall, RadioButton$2 as RadioButton, RadioButtonWithLabel$1 as RadioButtonWithLabel, RadioGroup, RadioSection$1 as RadioSection, Reel, RefundIcon, RefundIconMedium, RefundIconSmall, RegistrationForm, RejectedIcon, RejectedVelocityIcon, ResetConfirmationForm$1 as ResetConfirmationForm, ResetPasswordForm, ResetPasswordIcon, ResetPasswordSuccess, RevenueManagementImage, RoutingNumberImage, SearchIcon, SearchableSelect$1 as SearchableSelect, SettingsIconSmall$1 as SettingsIconSmall, ShoppingCartIcon, Sidebar, SidebarSingleContent$1 as SidebarSingleContent, SidebarStackContent$1 as SidebarStackContent, SolidDivider$1 as SolidDivider, Spinner$2 as Spinner, Stack, StandardCheckoutImage, FormStateDropdown as StateProvinceDropdown, StatusUnknownIcon, SuccessfulIcon, SuccessfulIconMedium, SuccessfulIconSmall, Switcher, TabSidebar$1 as TabSidebar, Table_styled as Table, TableBody_styled as TableBody, TableCell_styled as TableCell, TableHead$1 as TableHead, TableHeading_styled as TableHeading, TableListItem, TableRow$1 as TableRow, Tabs$1 as Tabs, TermsAndConditions, TermsAndConditionsModal$1 as TermsAndConditionsModal, Text$1 as Text, Timeout$1 as Timeout, TimeoutImage, Title$1 as Title, ToggleSwitch$1 as ToggleSwitch, TrashIcon$1 as TrashIcon, TypeaheadInput, VerifiedEmailIcon$1 as VerifiedEmailIcon, VoidedIcon, WalletBannerIcon$1 as WalletBannerIcon, WalletIcon$1 as WalletIcon, WalletIconSmall$1 as WalletIconSmall, WarningIconXS, WelcomeModule$1 as WelcomeModule, WorkflowTile, XCircleIconMedium, XCircleIconSmall, cardRegistry, index$5 as constants, createPartialAmountFormState, createPartialAmountFormValidators, index$4 as util, withWindowSize };
|
|
50575
49483
|
//# sourceMappingURL=index.esm.js.map
|