New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mobx-react-form

Package Overview
Dependencies
Maintainers
1
Versions
249
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mobx-react-form - npm Package Compare versions

Comparing version 6.2.1 to 6.2.2

2

lib/Base.js

@@ -478,3 +478,3 @@ "use strict";

if (lodash_1.default.isString(prop)) {
if (this.fields.size === 0) {
if (strict && this.fields.size === 0) {
const retrieveNullifiedEmptyStrings = this.state.options.get(OptionsModel_1.OptionsEnum.retrieveNullifiedEmptyStrings, this);

@@ -481,0 +481,0 @@ return (0, parser_1.parseCheckOutput)(this, prop, strict ? retrieveNullifiedEmptyStrings : false);

{
"name": "mobx-react-form",
"license": "MIT",
"version": "6.2.1",
"version": "6.2.2",
"author": "Claudio Savino <claudio.savino@me.com> (https://twitter.com/foxhound87)",

@@ -6,0 +6,0 @@ "description": "Automagically manage React forms state and automatic validation with MobX.",

@@ -488,3 +488,3 @@ import {

if (_.isString(prop)) {
if (this.fields.size === 0) {
if (strict && this.fields.size === 0) {
const retrieveNullifiedEmptyStrings = this.state.options.get(OptionsEnum.retrieveNullifiedEmptyStrings, this);

@@ -491,0 +491,0 @@ return parseCheckOutput(this, prop, strict ? retrieveNullifiedEmptyStrings : false);

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("_"),require("mobx")):"function"==typeof define&&define.amd?define(["_","mobx"],t):"object"==typeof exports?exports.MobxReactForm=t(require("_"),require("mobx")):e.MobxReactForm=t(e._,e.mobx)}(self,((e,t)=>(()=>{"use strict";var i={311:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=i(593),n=i(215),o=i(561),d=i(93),u=i(951);t.default=class{constructor(){Object.defineProperty(this,"noop",{enumerable:!0,configurable:!0,writable:!0,value:()=>{}}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:r.observable.map({})}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$submitted",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"$submitting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$validated",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"$validating",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$clearing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$resetting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$touched",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$changed",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"$hooks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"$handlers",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"execHook",{enumerable:!0,configurable:!0,writable:!0,value:(e,t={})=>(0,l.$try)(t[e],this.$hooks[e],this.hooks&&this.hooks.apply(this,[this])[e],this.noop).apply(this,[this])}),Object.defineProperty(this,"execHandler",{enumerable:!0,configurable:!0,writable:!0,value:(e,t,i=null,s=null)=>[(0,l.$try)(this.$handlers[e]&&this.$handlers[e].apply(this,[this]),this.handlers&&this.handlers.apply(this,[this])[e]&&this.handlers.apply(this,[this])[e].apply(this,[this]),i,this.noop).apply(this,[...t]),this.execHook(s||e)]}),Object.defineProperty(this,"intercept",{enumerable:!0,configurable:!0,writable:!0,value:e=>this.MOBXEvent(a.default.isFunction(e)?{type:"interceptor",call:e}:Object.assign({type:"interceptor"},e))}),Object.defineProperty(this,"observe",{enumerable:!0,configurable:!0,writable:!0,value:e=>this.MOBXEvent(a.default.isFunction(e)?{type:"observer",call:e}:Object.assign({type:"observer"},e))}),Object.defineProperty(this,"onClear",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onClear,e,(e=>{e.preventDefault(),this.clear(!0,!1)}))}),Object.defineProperty(this,"onReset",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onReset,e,(e=>{e.preventDefault(),this.reset(!0,!1)}))}),Object.defineProperty(this,"onSubmit",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onSubmit,e,((e,t={})=>{e.preventDefault(),this.submit(t,!1)}))}),Object.defineProperty(this,"onAdd",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onAdd,e,((e,t)=>{e.preventDefault(),this.add((0,l.$isEvent)(t)?null:t,!1)}))}),Object.defineProperty(this,"onDel",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onDel,e,((e,t)=>{e.preventDefault(),this.del((0,l.$isEvent)(t)?this.path:t,!1)}))}),(0,r.makeObservable)(this,{$submitted:r.observable,$submitting:r.observable,$validated:r.observable,$validating:r.observable,$clearing:r.observable,$resetting:r.observable,$touched:r.observable,$changed:r.observable,changed:r.computed,submitted:r.computed,submitting:r.computed,validated:r.computed,validating:r.computed,clearing:r.computed,resetting:r.computed,hasIncrementalKeys:r.computed,hasNestedFields:r.computed,size:r.computed,initField:r.action,submit:r.action,deepUpdate:r.action,set:r.action,add:r.action,del:r.action})}get resetting(){return this.hasNestedFields?this.check(o.FieldPropsEnum.resetting,!0):this.$resetting}get clearing(){return this.hasNestedFields?this.check(o.FieldPropsEnum.clearing,!0):this.$clearing}get submitted(){return(0,r.toJS)(this.$submitted)}get submitting(){return(0,r.toJS)(this.$submitting)}get validated(){return(0,r.toJS)(this.$validated)}get validating(){return(0,r.toJS)(this.$validating)}get hasIncrementalKeys(){return!!this.fields.size&&(0,l.hasIntKeys)(this.fields)}get hasNestedFields(){return 0!==this.fields.size}get size(){return this.fields.size}get changed(){return!a.default.isNil(this.path)&&this.hasNestedFields?this.reduce(((e,t)=>e+t.changed),0)+this.$changed:this.$changed}initFields(e,t=!1){const i=this.state.options.get(d.OptionsEnum.fallback),s=e=>a.default.trimStart([this.path,e].join("."),".");let r;r=(0,n.prepareFieldsData)(e,this.state.strict,i),r=(0,n.mergeSchemaDefaults)(r,this.validator),a.default.forIn(r,((e,r)=>{const n=s(r),o=this.select(n,null,!1);if(a.default.isNil(o))if(i)this.initField(r,n,e,t);else{const i=(0,l.pathToStruct)(n);this.state.struct().filter((e=>e.startsWith(i))).find((e=>"."===e.charAt(i.length)||"[]"===e.substring(i.length,i.length+2)||e===i))&&this.initField(r,n,e,t)}}))}initField(e,t,i,s=!1){const r=this.state.get("current","props"),n=(0,l.pathToStruct)(t),d=e=>{const t=a.default.get(r[e],n);if(e!==o.FieldPropsEnum.input&&e!==o.FieldPropsEnum.output||"function"==typeof t)return t},u={$value:a.default.get(r[o.SeparatedPropsMode.values],t),$label:d(o.SeparatedPropsMode.labels),$placeholder:d(o.SeparatedPropsMode.placeholders),$default:d(o.SeparatedPropsMode.defaults),$initial:d(o.SeparatedPropsMode.initials),$disabled:d(o.SeparatedPropsMode.disabled),$deleted:d(o.SeparatedPropsMode.deleted),$type:d(o.SeparatedPropsMode.types),$related:d(o.SeparatedPropsMode.related),$rules:d(o.SeparatedPropsMode.rules),$options:d(o.SeparatedPropsMode.options),$bindings:d(o.SeparatedPropsMode.bindings),$extra:d(o.SeparatedPropsMode.extra),$hooks:d(o.SeparatedPropsMode.hooks),$handlers:d(o.SeparatedPropsMode.handlers),$validatedWith:d(o.SeparatedPropsMode.validatedWith),$validators:d(o.SeparatedPropsMode.validators),$observers:d(o.SeparatedPropsMode.observers),$interceptors:d(o.SeparatedPropsMode.interceptors),$input:d(o.SeparatedPropsMode.input),$output:d(o.SeparatedPropsMode.output),$autoFocus:d(o.SeparatedPropsMode.autoFocus),$ref:d(o.SeparatedPropsMode.refs)},p=this.state.form.makeField({key:e,path:t,data:i,props:u,update:s,state:this.state});return this.fields.merge({[e]:p}),p}validate(e={},t={}){const i=a.default.merge(e,{path:this.path});return this.state.form.validator.validate(i,t)}submit(e={},t=!0){if(t&&this.execHook(o.FieldPropsEnum.onSubmit,e),this.$submitting=!0,this.$submitted+=1,!this.state.options.get(d.OptionsEnum.validateOnSubmit,this))return Promise.resolve(this).then((0,r.action)((()=>this.$submitting=!1))).then((()=>this));const i=t=>t?this.execHook(u.ValidationHooks.onSuccess,e):this.execHook(u.ValidationHooks.onError,e);return this.validate({showErrors:this.state.options.get(d.OptionsEnum.showErrorsOnSubmit,this)}).then((({isValid:e})=>{const t=i(e);if(e)return t;const s=this.state.options.get(d.OptionsEnum.defaultGenericError,this);return this.state.options.get(d.OptionsEnum.submitThrowsError,this)&&s&&this.invalidate(),t})).then((0,r.action)((()=>this.$submitting=!1))).catch((0,r.action)((e=>{throw this.$submitting=!1,e}))).then((()=>this))}check(e,t=!1){return(0,l.allowedProps)(o.AllowedFieldPropsTypes.computed,[e]),t?(0,l.checkPropOccurrence)({type:l.props.occurrences[e],data:this.deepCheck(l.props.occurrences[e],e,this.fields)}):this[e]}deepCheck(e,t,i){const s=(0,l.getObservableMapValues)(i);return a.default.transform(s,((i,s)=>(s.fields.size&&a.default.isArray(s.initial)||i.push(s[t]),i.push((0,l.checkPropOccurrence)({data:this.deepCheck(e,t,s.fields),type:e})),i)),[])}update(e){if(!a.default.isPlainObject(e))throw new Error("The update() method accepts only plain objects.");this.deepUpdate((0,n.prepareFieldsData)({fields:e},this.state.strict),void 0,void 0,e)}deepUpdate(e,t="",i=!0,s){a.default.each(e,((e,r)=>{var u;const p=a.default.has(e,o.FieldPropsEnum.name)?e.name:r,h=a.default.trimStart(`${t}.${p}`,"."),c=this.select(h,null,!1),f=this.select(t,null,!1)||this.state.form.select(this.path,null,!1);if(!a.default.isNil(c)&&!a.default.isUndefined(e)){if(a.default.isArray(c.values())){const t=null!==(u=a.default.max(a.default.map(e.fields,((e,t)=>Number(t)))))&&void 0!==u?u:-1;a.default.each((0,l.getObservableMapValues)(c.fields),(e=>{Number(e.name)>t&&(c.$changed++,c.state.form.$changed++,c.fields.delete(e.name))}))}if(null==e?void 0:e.fields){const e=this.state.options.get(d.OptionsEnum.fallback),t=this.state.struct().findIndex((e=>e.startsWith(c.path.replace(/\.\d+\./,"[].")+"[]")));if(!e&&0===c.fields.size&&t<0)return void(c.value=a.default.get(s,h))}if(a.default.isNull(e)||a.default.isNil(e.fields))return void(c.value=e)}if(!a.default.isNil(f)&&a.default.isNil(c)){const t=a.default.trimStart([this.path,h].join("."),".");f.$changed++,f.state.form.$changed++,f.initField(p,t,e,!0)}else if(i)if(a.default.has(e,o.FieldPropsEnum.fields)&&!a.default.isNil(e.fields))this.deepUpdate(e.fields,h);else{const e=(0,n.pathToFieldsTree)(this.state.struct(),h);this.deepUpdate(e,h,!1)}}))}get(e=null,t=!0){if(a.default.isNil(e))return this.deepGet([...l.props.computed,...l.props.editable,...l.props.validation],this.fields,t);if((0,l.allowedProps)(o.AllowedFieldPropsTypes.all,a.default.isArray(e)?e:[e]),a.default.isString(e)){if(0===this.fields.size){const i=this.state.options.get(d.OptionsEnum.retrieveNullifiedEmptyStrings,this);return(0,n.parseCheckOutput)(this,e,!!t&&i)}const i=this.deepGet(e,this.fields,t),s=this.state.options.get(d.OptionsEnum.removeNullishValuesInArrays,this);return(0,n.parseCheckArray)(this,i,e,!!t&&s)}return this.deepGet(e,this.fields,t)}deepGet(e,t,i=!0){return a.default.transform((0,l.getObservableMapValues)(t),((t,s)=>{if(Object.assign(t,{[s.key]:{fields:(t=>0!==t.size?this.deepGet(e,t,i):void 0)(s.fields)}}),a.default.isString(e)){const r=this.state.options,a=r.get(d.OptionsEnum.retrieveOnlyDirtyFieldsValues,this)&&e===o.FieldPropsEnum.value&&s.isPristine||r.get(d.OptionsEnum.retrieveOnlyEnabledFieldsValues,this)&&e===o.FieldPropsEnum.value&&s.disabled||r.get(d.OptionsEnum.retrieveOnlyEnabledFieldsErrors,this)&&e===o.FieldPropsEnum.error&&s.disabled&&s.isValid&&(!s.error||!s.hasError)||r.get(d.OptionsEnum.softDelete,this)&&e===o.FieldPropsEnum.value&&s.deleted;if(0===s.fields.size){if(delete t[s.key],a)return t;const r=this.state.options.get(d.OptionsEnum.retrieveNullifiedEmptyStrings,this);return Object.assign(t,{[s.key]:(0,n.parseCheckOutput)(s,e,!!i&&r)})}let l=this.deepGet(e,s.fields,i);if(e===o.FieldPropsEnum.value&&(l=s.$output(l)),delete t[s.key],a)return t;const u=this.state.options.get(d.OptionsEnum.removeNullishValuesInArrays,this);return Object.assign(t,{[s.key]:(0,n.parseCheckArray)(s,l,e,!!i&&u)})}return a.default.each(e,(e=>Object.assign(t[s.key],{[e]:s[e]}))),t}),{})}set(e,t){if(a.default.isString(e)&&!a.default.isUndefined(t))return(0,l.allowedProps)(o.AllowedFieldPropsTypes.editable,[e]),(a.default.isObject(t)&&e===o.FieldPropsEnum.value||a.default.isPlainObject(t))&&this.hasNestedFields?this.deepSet(e,t,"",!0):void(e===o.FieldPropsEnum.value?this.value=t:a.default.set(this,`$${e}`,t));a.default.isNil(t)&&(this.hasNestedFields?this.deepSet(o.FieldPropsEnum.value,e,"",!0):this.set(o.FieldPropsEnum.value,e))}deepSet(e,t,i="",s=!1){const r=this.state.options.get(d.OptionsEnum.strictUpdate,this);a.default.isNil(t)?this.each((e=>e.$value=(0,n.defaultValue)({fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue,this),value:e.$value,type:e.type}))):a.default.each(t,((t,n)=>{const o=a.default.trimStart(`${i}.${n}`,"."),d=this.select(o,null,r);r&&(0,l.throwError)(o,d,"You are updating a not existent field:"),a.default.isUndefined(d)||(a.default.isUndefined(t)||d.set(e,t,s),d.fields.size&&a.default.isObject(t)&&this.deepSet(e,t,o,s))}))}add(e,t=!0){if((0,l.isArrayOfObjects)(e))return a.default.each(e,(e=>this.update({[(0,l.maxKey)(this.fields)]:e}))),this.$changed++,this.state.form.$changed++,void(t&&this.execHook(o.FieldPropsEnum.onAdd));let i;a.default.has(e,o.FieldPropsEnum.key)&&(i=e.key),a.default.has(e,o.FieldPropsEnum.name)&&(i=e.name),i||(i=(0,l.maxKey)(this.fields));const s=(0,n.pathToFieldsTree)(this.state.struct(),this.path,0,!0),r=this.initField(i,(e=>a.default.trimStart([this.path,e].join("."),"."))(i),a.default.merge(s[0],e));if(!a.default.has(e,o.FieldPropsEnum.value)&&!this.state.options.get(d.OptionsEnum.preserveDeletedFieldsValues,this)){const e=this.state.options.get(d.OptionsEnum.fallbackValue,this);r.$value=(0,n.defaultValue)({fallbackValueOption:e,value:r.$value,type:r.type}),r.each((t=>t.$value=(0,n.defaultValue)({fallbackValueOption:e,value:t.$value,type:t.type})))}return this.$changed++,this.state.form.$changed++,t&&this.execHook(o.FieldPropsEnum.onAdd),r}del(e=null,t=!0){const i=this.state.options.get(d.OptionsEnum.strictDelete,this),s=(0,n.parsePath)(null!=e?e:this.path),r=a.default.trim([this.path,s].join("."),"."),u=this.container(e),p=a.default.split(s,"."),h=a.default.last(p);if(i&&!u.fields.has(h)){const e=`Key "${h}" not found when trying to delete field`;(0,l.throwError)(r,null,e)}return u.$changed++,u.state.form.$changed++,this.state.options.get(d.OptionsEnum.softDelete,this)?this.select(r).set(o.FieldPropsEnum.deleted,!0):(u.each((e=>e.debouncedValidation.cancel())),t&&this.execHook(o.FieldPropsEnum.onDel),u.fields.delete(h))}MOBXEvent({prop:e=o.FieldPropsEnum.value,key:t=null,path:i=null,call:s,type:n}){let d=t||e;(0,l.allowedProps)(o.AllowedFieldPropsTypes.observable,[d]);const u=this.select(i||this.path,null,null)||this,p=e=>s.apply(null,[{change:e,form:this.state.form,path:u.path||null,field:u.path?u:null}]);let h,c;"observer"===n&&(h=r.observe,c=e=>(0,r.observe)(u.fields,e)),"interceptor"===n&&(d=`$${e}`,h=r.intercept,c=u.fields.intercept);const f=u.path?`${d}@${u.path}`:d;a.default.merge(this.state.disposers[n],{[f]:d===o.FieldPropsEnum.fields?c.apply((e=>p(e))):h(u,d,(e=>p(e)))})}dispose(e=null){return this.path&&e?this.disposeSingle(e):this.disposeAll()}disposeAll(){const e=e=>e.apply();return a.default.each(this.state.disposers.interceptor,e),a.default.each(this.state.disposers.observer,e),this.state.disposers={interceptor:{},observer:{}},null}disposeSingle({type:e,key:t=o.FieldPropsEnum.value,path:i=null}){const s=(0,n.parsePath)(null!=i?i:this.path);"interceptor"===e&&(t=`$${t}`),this.state.disposers[e][`${t}@${s}`].apply(),delete this.state.disposers[e][`${t}@${s}`]}select(e,t=null,i=!0){const s=(0,n.parsePath)(e),r=a.default.split(s,"."),o=a.default.head(r);r.shift();let d=a.default.isNil(t)?this.fields.get(o):t.get(o),u=!1;return a.default.each(r,(e=>{u||(a.default.isNil(d)?(d=void 0,u=!0):d=d.fields.get(e))})),i&&(0,l.throwError)(e,d),d}container(e){const t=(0,n.parsePath)(null!=e?e:this.path),i=a.default.trim(t.replace(new RegExp("[^./]+$"),""),".");return this.path&&a.default.isNil(e)?""!==i?this.state.form.select(i,null,!1):this.state.form:""!==i?this.select(i,null,!1):this}has(e){return this.fields.has(e)}map(e){return(0,l.getObservableMapValues)(this.fields).map(e)}each(e,t=null,i=0){const s=t||this.fields;a.default.each((0,l.getObservableMapValues)(s),((t,s)=>{e(t,s,i),0!==t.fields.size&&this.each(e,t.fields,i+1)}))}reduce(e,t){return a.default.reduce((0,l.getObservableMapValues)(this.fields),e,t)}$(e){return this.select(e)}values(){return this.get(o.FieldPropsEnum.value)}errors(){return this.get(o.FieldPropsEnum.error)}labels(){return this.get(o.FieldPropsEnum.label)}placeholders(){return this.get(o.FieldPropsEnum.placeholder)}defaults(){return this.get(o.FieldPropsEnum.default)}initials(){return this.get(o.FieldPropsEnum.initial)}types(){return this.get(o.FieldPropsEnum.type)}}},169:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(i(479)),a=i(593),l=i(561);t.default=class{constructor(){Object.defineProperty(this,"templates",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"rewriters",{enumerable:!0,configurable:!0,writable:!0,value:{default:{id:l.FieldPropsEnum.id,name:l.FieldPropsEnum.name,type:l.FieldPropsEnum.type,value:l.FieldPropsEnum.value,checked:l.FieldPropsEnum.checked,label:l.FieldPropsEnum.label,placeholder:l.FieldPropsEnum.placeholder,disabled:l.FieldPropsEnum.disabled,onChange:l.FieldPropsEnum.onChange,onBlur:l.FieldPropsEnum.onBlur,onFocus:l.FieldPropsEnum.onFocus,autoFocus:l.FieldPropsEnum.autoFocus,inputMode:l.FieldPropsEnum.inputMode,onKeyUp:l.FieldPropsEnum.onKeyUp,onKeyDown:l.FieldPropsEnum.onKeyDown}}})}register(e){return r.default.each(e,((e,t)=>{r.default.isFunction(e)&&r.default.merge(this.templates,{[t]:e}),r.default.isPlainObject(e)&&r.default.merge(this.rewriters,{[t]:e})})),this}load(e,t=l.FieldPropsEnum.default,i){const s={keys:r.default.get(this.rewriters,l.FieldPropsEnum.default),form:e.state.form,field:e,props:i,$try:a.$try};if(r.default.has(this.templates,l.FieldPropsEnum.default))return r.default.get(this.templates,t)(s);if(r.default.has(this.rewriters,t)){const s={};return r.default.each(r.default.get(this.rewriters,t),((t,l)=>r.default.merge(s,{[t]:(0,a.$try)(i[l],e[l])}))),s}return r.default.get(this.templates,t)(s)}}},506:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=s(i(311)),n=i(593),o=i(215),d=i(93),u=i(561),p=(e,t,i)=>Object.assign(e,{$label:t.$label||i&&i.label||"",$placeholder:t.$placeholder||i&&i.placeholder||"",$disabled:t.$disabled||i&&i.disabled||!1,$rules:t.$rules||i&&i.rules||null,$related:t.$related||i&&i.related||[],$deleted:t.$deleted||i&&i.deleted||!1,$validators:(0,r.toJS)(t.$validators||i&&i.validators||null),$validatedWith:t.$validatedWith||i&&i.validatedWith||u.FieldPropsEnum.value,$bindings:t.$bindings||i&&i.bindings||u.FieldPropsEnum.default,$observers:t.$observers||i&&i.observers||null,$interceptors:t.$interceptors||i&&i.interceptors||null,$extra:t.$extra||i&&i.extra||null,$options:t.$options||i&&i.options||{},$hooks:t.$hooks||i&&i.hooks||{},$handlers:t.$handlers||i&&i.handlers||{},$autoFocus:t.$autoFocus||i&&i.autoFocus||!1,$inputMode:t.$inputMode||i&&i.inputMode||void 0,$ref:t.$ref||i&&i.ref||void 0}),h=(e,t,i,s,{isEmptyArray:r,fallbackValueOption:a})=>(0,o.parseInput)((e=>e),{defaultValue:o.defaultValue,nullable:!0,isEmptyArray:r,type:e.type,unified:s?(0,o.defaultValue)({fallbackValueOption:a,type:e.type,value:e.value}):t&&t.default,separated:i.$default,fallback:e.$initial});class c extends l.default{constructor({key:e,path:t,data:i={},props:s={},update:l=!1,state:o}){super(),Object.defineProperty(this,"hasInitialNestedFields",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"incremental",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$observers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$interceptors",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$input",{enumerable:!0,configurable:!0,writable:!0,value:e=>e}),Object.defineProperty(this,"$output",{enumerable:!0,configurable:!0,writable:!0,value:e=>e}),Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$label",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$placeholder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$initial",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$bindings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$related",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$validatedWith",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$validators",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$rules",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$focused",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$blurred",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$deleted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$autoFocus",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$inputMode",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$ref",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showError",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"errorSync",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"errorAsync",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"validationErrorStack",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"validationFunctionsData",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"validationAsyncData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"debouncedValidation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposeValidationOnBlur",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposeValidationOnChange",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"files",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sync",{enumerable:!0,configurable:!0,writable:!0,value:(0,r.action)(((e,t=null)=>{const i=e=>(0,n.$isBool)(e,this.value)?e.target.checked:e.target.value;if(a.default.isNil(e)||a.default.isNil(e.target))return a.default.isNil(t)||a.default.isNil(t.target)||(t=i(t)),void(this.value=(0,n.$try)(e,t));a.default.isNil(e.target)?this.value=e:this.value=i(e)}))}),Object.defineProperty(this,"onSync",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>"file"===this.type?this.onDrop(...e):this.execHandler(u.FieldPropsEnum.onChange,e,this.sync,u.FieldPropsEnum.onSync)}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:this.onSync}),Object.defineProperty(this,"onToggle",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onToggle,e,this.sync)}),Object.defineProperty(this,"onBlur",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onBlur,e,(0,r.action)((()=>{this.$focused=!1,this.$blurred=!0})))}),Object.defineProperty(this,"onFocus",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onFocus,e,(0,r.action)((()=>{this.$focused=!0,this.$touched=!0})))}),Object.defineProperty(this,"onDrop",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onDrop,e,(0,r.action)((()=>{const t=e[0];let i=null;(0,n.$isEvent)(t)&&(0,n.$hasFiles)(t)&&(i=a.default.map(t.target.files)),this.files=[...a.default.map(this.files),...i||e]})))}),Object.defineProperty(this,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onKeyDown,e)}),Object.defineProperty(this,"onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onKeyUp,e)}),(0,r.makeObservable)(this,{$options:r.observable,$value:r.observable,$type:r.observable,$label:r.observable,$placeholder:r.observable,$default:r.observable,$initial:r.observable,$bindings:r.observable,$extra:r.observable,$related:r.observable,$validatedWith:r.observable,$validators:r.observable,$rules:r.observable,$disabled:r.observable,$focused:r.observable,$blurred:r.observable,$deleted:r.observable,showError:r.observable,errorSync:r.observable,errorAsync:r.observable,validationErrorStack:r.observable,validationFunctionsData:r.observable,validationAsyncData:r.observable,files:r.observable,autoFocus:r.computed,inputMode:r.computed,ref:r.computed,checkValidationErrors:r.computed,checked:r.computed,value:r.computed,initial:r.computed,default:r.computed,actionRunning:r.computed,type:r.computed,label:r.computed,placeholder:r.computed,extra:r.computed,options:r.computed,bindings:r.computed,related:r.computed,disabled:r.computed,rules:r.computed,validators:r.computed,validatedValue:r.computed,error:r.computed,hasError:r.computed,isValid:r.computed,isDefault:r.computed,isDirty:r.computed,isPristine:r.computed,isEmpty:r.computed,blurred:r.computed,touched:r.computed,deleted:r.computed,setupField:r.action,initNestedFields:r.action,invalidate:r.action,setValidationAsyncData:r.action,resetValidation:r.action,clear:r.action,reset:r.action,focus:r.action,blur:r.action,showErrors:r.action,showAsyncErrors:r.action,update:r.action}),this.state=o,this.setupField(e,t,i,s,l),this.checkValidationPlugins(),this.initNestedFields(i,l),this.incremental=this.hasIncrementalKeys,this.debouncedValidation=a.default.debounce(this.validate,this.state.options.get(d.OptionsEnum.validationDebounceWait,this),this.state.options.get(d.OptionsEnum.validationDebounceOptions,this)),this.observeValidationOnBlur(),this.observeValidationOnChange(),this.initMOBXEvent(u.FieldPropsEnum.observers),this.initMOBXEvent(u.FieldPropsEnum.interceptors),this.execHook(u.FieldPropsEnum.onInit),(0,r.autorun)((()=>this.changed&&this.execHook(u.FieldPropsEnum.onChange)))}get checkValidationErrors(){var e;return!1===(null===(e=this.validationAsyncData)||void 0===e?void 0:e.valid)&&!a.default.isEmpty(this.validationAsyncData)||!a.default.isEmpty(this.validationErrorStack)||a.default.isString(this.errorAsync)||a.default.isString(this.errorSync)}get checked(){return"checkbox"===this.type?this.value:void 0}get value(){return this.getComputedProp(u.FieldPropsEnum.value)}set value(e){if(a.default.isString(e)&&this.state.options.get(d.OptionsEnum.autoTrimValue,this)&&(e=e.trim()),this.$value!==e){if(this.state.options.get(d.OptionsEnum.autoParseNumbers,this)&&a.default.isNumber(this.$initial)&&new RegExp("^-?\\d+(,\\d+)*(\\.\\d+([eE]\\d+)?)?$","g").exec(e))return this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue,this),separated:a.default.toNumber(e)}),this.$changed++,void(this.actionRunning||this.state.form.$changed++);this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue,this),separated:e}),this.$changed++,this.actionRunning||this.state.form.$changed++}}get initial(){return this.$initial?(0,r.toJS)(this.$initial):this.getComputedProp(u.FieldPropsEnum.initial)}get default(){return this.$default?(0,r.toJS)(this.$default):this.getComputedProp(u.FieldPropsEnum.default)}set initial(e){this.$initial=e}set default(e){this.$default=e}get actionRunning(){return this.submitting||this.clearing||this.resetting}get extra(){return this.$extra}get ref(){return this.$ref}get autoFocus(){return this.$autoFocus}get inputMode(){return this.$inputMode}get type(){return(0,r.toJS)(this.$type)}get label(){return(0,r.toJS)(this.$label)}get placeholder(){return(0,r.toJS)(this.$placeholder)}get options(){return(0,r.toJS)(this.$options)}get bindings(){return(0,r.toJS)(this.$bindings)}get related(){return(0,r.toJS)(this.$related)}get disabled(){return(0,r.toJS)(this.$disabled)}get rules(){return(0,r.toJS)(this.$rules)}get validators(){return(0,r.toJS)(this.$validators)}get validatedValue(){return(0,o.parseCheckOutput)(this,this.$validatedWith)}get error(){return!1===this.showError?null:this.errorAsync||this.errorSync||null}get hasError(){return this.checkValidationErrors||this.check(u.FieldPropsEnum.hasError,!0)}get isValid(){return!this.checkValidationErrors&&this.check(u.FieldPropsEnum.isValid,!0)}get isDefault(){return!a.default.isNil(this.default)&&a.default.isEqual(this.default,this.value)}get isDirty(){const e=this.changed?this.value:this.initial;return!a.default.isNil(this.initial)&&!a.default.isEqual(this.initial,e)}get isPristine(){const e=this.changed?this.value:this.initial;return!a.default.isNil(this.initial)&&a.default.isEqual(this.initial,e)}get isEmpty(){return this.hasNestedFields?this.check(u.FieldPropsEnum.isEmpty,!0):a.default.isBoolean(this.value)?!!this.$value:!a.default.isNumber(this.value)&&!a.default.isDate(this.value)&&a.default.isEmpty(this.value)}get focused(){return this.hasNestedFields?this.check(u.FieldPropsEnum.focused,!0):this.$focused}get blurred(){return this.hasNestedFields?this.check(u.FieldPropsEnum.blurred,!0):this.$blurred}get touched(){return this.hasNestedFields?this.check(u.FieldPropsEnum.touched,!0):this.$touched}get deleted(){return this.hasNestedFields?this.check(u.FieldPropsEnum.deleted,!0):this.$deleted}setupField(e,t,i,s,r){var l;this.key=e,this.path=t,this.id=null===(l=this.state.options.get(d.OptionsEnum.uniqueId))||void 0===l?void 0:l.apply(this,[this]);const u=this.state.options.get(d.OptionsEnum.fallbackValue,this),c=this.state.struct(),f=(0,n.pathToStruct)(this.path),b=Array.isArray(c)?!!c.filter((e=>e.startsWith(f))).find((e=>"[]"===e.substring(f.length))):!!Array.isArray(a.default.get(c,this.path)),{$type:m,$input:v,$output:g}=s;if(a.default.isPlainObject(i)){const{type:t,input:l,output:d}=i;return this.name=a.default.toString(i.name||e),this.$type=m||t||"text",this.$input=(0,n.$try)(v,l,this.$input),this.$output=(0,n.$try)(g,d,this.$output),this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:u,isEmptyArray:b,type:this.type,unified:i.value,separated:s.$value,fallback:s.$initial}),this.$initial=(0,o.parseInput)((e=>e),{fallbackValueOption:u,nullable:!0,isEmptyArray:b,type:this.type,unified:i.initial,separated:s.$initial,fallback:this.$value}),this.$default=h(this,i,s,r,{fallbackValueOption:u,isEmptyArray:b}),void p(this,s,i)}this.name=a.default.toString(e),this.$type=m||"text",this.$input=(0,n.$try)(v,this.$input),this.$output=(0,n.$try)(g,this.$output),this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:u,isEmptyArray:b,type:this.type,unified:i,separated:s.$value}),this.$initial=(0,o.parseInput)((e=>e),{fallbackValueOption:u,nullable:!0,isEmptyArray:b,type:this.type,unified:i,separated:s.$initial,fallback:this.$value}),this.$default=h(this,i,s,r,{fallbackValueOption:u,isEmptyArray:b}),p(this,s,i)}getComputedProp(e){if(this.incremental||this.hasNestedFields)return e===u.FieldPropsEnum.value?this.get(e,!1):(0,r.untracked)((()=>this.get(e,!1)));const t=this[`$${e}`];return a.default.isArray(t)||(0,r.isObservableArray)(t)?[].slice.call(t):(0,r.toJS)(t)}checkValidationPlugins(){const{drivers:e}=this.state.form.validator,t=this.state.form.name?`${this.state.form.name}/`:"";if(a.default.isNil(e.dvr)&&!a.default.isNil(this.rules))throw new Error(`The DVR validation rules are defined but no DVR plugin provided. Field: "${t+this.path}".`);if(a.default.isNil(e.vjf)&&!a.default.isNil(this.validators))throw new Error(`The VJF validators functions are defined but no VJF plugin provided. Field: "${t+this.path}".`)}initNestedFields(e,t){const i=a.default.isNil(e)?null:e.fields;a.default.isArray(i)&&!a.default.isEmpty(i)&&(this.hasInitialNestedFields=!0),this.initFields({fields:i},t),!t&&a.default.isArray(i)&&a.default.isEmpty(i)&&a.default.isArray(this.value)&&!a.default.isEmpty(this.value)&&(this.hasInitialNestedFields=!0,this.initFields({fields:i,values:this.value},t))}invalidate(e,t=!1){if(!0!==t){if(a.default.isArray(e))return this.validationErrorStack=e,void this.showErrors(!0);this.validationErrorStack.unshift(e),this.showErrors(!0)}else this.errorAsync=e}setValidationAsyncData(e=!1,t=""){this.validationAsyncData={valid:e,message:t}}resetValidation(e=!1){this.showError=!0,this.errorSync=null,this.errorAsync=null,this.validationAsyncData={},this.validationFunctionsData=[],this.validationErrorStack=[],Promise.resolve().then((0,r.action)((()=>{this.$resetting=!1,this.$clearing=!1}))),e&&this.each((t=>t.resetValidation(e)))}clear(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onClear),this.$clearing=!0,this.$touched=!1,this.$blurred=!1,this.$changed=0,this.files=void 0,this.$value=(0,o.defaultValue)({fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue),value:this.$value,type:this.type}),e&&this.each((t=>t.clear(e))),this.state.options.get(d.OptionsEnum.validateOnClear,this)?this.validate({showErrors:this.state.options.get(d.OptionsEnum.showErrorsOnClear,this)}):this.resetValidation(e)}reset(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onReset),this.$resetting=!0,this.$touched=!1,this.$blurred=!1,this.$changed=0,this.files=void 0;const i=this.$default!==this.$initial;i&&(this.value=this.$default),i||(this.value=this.$initial),e&&this.each((t=>t.reset(e))),this.state.options.get(d.OptionsEnum.validateOnReset,this)?this.validate({showErrors:this.state.options.get(d.OptionsEnum.showErrorsOnReset,this)}):this.resetValidation(e)}focus(){this.ref&&!this.focused&&this.ref.focus(),this.$focused=!0,this.$touched=!0}blur(){this.ref&&this.focused&&this.ref.blur(),this.$focused=!1,this.$blurred=!0}trim(){a.default.isString(this.value)&&(this.$value=this.value.trim())}showErrors(e=!0){this.showError=e,this.errorSync=a.default.head(this.validationErrorStack),this.each((t=>t.showErrors(e)))}showAsyncErrors(){var e,t;!1!==(null===(e=this.validationAsyncData)||void 0===e?void 0:e.valid)?this.errorAsync=null:this.errorAsync=null===(t=this.validationAsyncData)||void 0===t?void 0:t.message}observeValidationOnBlur(){const e=this.state.options;e.get(d.OptionsEnum.validateOnBlur,this)&&(this.disposeValidationOnBlur=(0,r.observe)(this,"$focused",(t=>!1===t.newValue&&this.debouncedValidation({showErrors:e.get(d.OptionsEnum.showErrorsOnBlur,this)}))))}observeValidationOnChange(){const e=this.state.options;e.get(d.OptionsEnum.validateOnChange,this)?this.disposeValidationOnChange=(0,r.observe)(this,"$value",(()=>!this.actionRunning&&this.debouncedValidation({showErrors:e.get(d.OptionsEnum.showErrorsOnChange,this)}))):(e.get(d.OptionsEnum.validateOnChangeAfterInitialBlur,this)||e.get(d.OptionsEnum.validateOnChangeAfterSubmit,this))&&(this.disposeValidationOnChange=(0,r.observe)(this,"$value",(()=>!this.actionRunning&&(e.get(d.OptionsEnum.validateOnChangeAfterInitialBlur,this)&&this.blurred||e.get(d.OptionsEnum.validateOnChangeAfterSubmit,this)&&this.state.form.submitted)&&this.debouncedValidation({showErrors:e.get(d.OptionsEnum.showErrorsOnChange,this)}))))}initMOBXEvent(e){if(!a.default.isArray(this[`$${e}`]))return;let t;e===u.FieldPropsEnum.observers&&(t=this.observe),e===u.FieldPropsEnum.interceptors&&(t=this.intercept),this[`$${e}`].map((e=>t(a.default.omit(e,u.FieldPropsEnum.path))))}bind(e={}){return Object.assign(Object.assign({},this.state.bindings.load(this,this.bindings,e)),{ref:e=>this.$ref=e})}update(e){if(!a.default.isPlainObject(e))throw new Error("The update() method accepts only plain objects.");const t=this.state.options.get(d.OptionsEnum.fallback,this),i=this.state.struct().findIndex((e=>e.startsWith(this.path.replace(/\.\d+\./,"[].")+"[]")));!t&&0===this.fields.size&&i<0?this.value=e:super.update(e)}}t.default=c},338:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=s(i(311)),n=s(i(265)),o=s(i(107)),d=s(i(506)),u=i(561),p=i(93);class h extends l.default{constructor(e={},{name:t="",options:i={},plugins:s={},bindings:l={},hooks:d={},handlers:h={}}={}){super(),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"validator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"debouncedValidation",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,r.makeObservable)(this,{fields:r.observable,validatedValues:r.computed,error:r.computed,hasError:r.computed,isValid:r.computed,isPristine:r.computed,isDirty:r.computed,isDefault:r.computed,isEmpty:r.computed,focused:r.computed,touched:r.computed,disabled:r.computed,invalidate:r.action,clear:r.action,reset:r.action}),this.name=t,this.$hooks=d,this.$handlers=h;const c=a.default.each({setup:e,options:i,plugins:s,bindings:l},((e,t)=>a.default.isFunction(this[t])?a.default.merge(e,this[t].apply(this,[this])):e));this.state=new o.default({form:this,initial:c.setup,options:c.options,bindings:c.bindings}),this.validator=new n.default({form:this,plugins:c.plugins}),this.initFields(c.setup),this.debouncedValidation=a.default.debounce(this.validate,this.state.options.get(p.OptionsEnum.validationDebounceWait),this.state.options.get(p.OptionsEnum.validationDebounceOptions)),this.state.options.get(p.OptionsEnum.validateOnInit)&&this.validator.validate({showErrors:this.state.options.get(p.OptionsEnum.showErrorsOnInit)}),this.execHook(u.FieldPropsEnum.onInit),(0,r.autorun)((()=>this.$changed&&this.execHook(u.FieldPropsEnum.onChange)))}get validatedValues(){const e={};return this.each((t=>e[t.path]=t.validatedValue)),e}get error(){return this.validator.error}get hasError(){return!!this.validator.error||this.check(u.FieldPropsEnum.hasError,!0)}get isValid(){return!this.validator.error&&this.check(u.FieldPropsEnum.isValid,!0)}get isPristine(){return this.check(u.FieldPropsEnum.isPristine,!0)}get isDirty(){return this.check(u.FieldPropsEnum.isDirty,!0)}get isDefault(){return this.check(u.FieldPropsEnum.isDefault,!0)}get isEmpty(){return this.check(u.FieldPropsEnum.isEmpty,!0)}get focused(){return this.check(u.FieldPropsEnum.focused,!0)}get touched(){return this.check(u.FieldPropsEnum.touched,!0)}get disabled(){return this.check(u.FieldPropsEnum.disabled,!0)}makeField(e){return new d.default(e)}invalidate(e=null){this.debouncedValidation.cancel(),this.each((e=>e.debouncedValidation.cancel())),this.validator.error=e||this.state.options.get(p.OptionsEnum.defaultGenericError)||!0}showErrors(e=!0){this.each((t=>t.showErrors(e)))}resetValidation(e){this.validator.error=null,this.each((t=>t.resetValidation(e)))}clear(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onClear),this.$touched=!1,this.$changed=0,this.each((t=>t.clear(e)))}reset(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onReset),this.$touched=!1,this.$changed=0,this.each((t=>t.reset(e)))}}t.default=h},666:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=i(593);t.default=class{constructor(){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:{uniqueId:l.uniqueId,fallback:!0,fallbackValue:"",defaultGenericError:null,submitThrowsError:!0,showErrorsOnInit:!1,showErrorsOnSubmit:!0,showErrorsOnBlur:!0,showErrorsOnChange:!0,showErrorsOnClear:!1,showErrorsOnReset:!0,validateOnInit:!0,validateOnSubmit:!0,validateOnBlur:!0,validateOnChange:!1,validateOnChangeAfterInitialBlur:!1,validateOnChangeAfterSubmit:!1,validateOnClear:!1,validateOnReset:!1,validateDisabledFields:!1,validateDeletedFields:!1,validatePristineFields:!0,strictUpdate:!1,strictDelete:!0,softDelete:!1,retrieveOnlyDirtyFieldsValues:!1,retrieveOnlyEnabledFieldsValues:!1,retrieveOnlyEnabledFieldsErrors:!1,retrieveNullifiedEmptyStrings:!1,autoTrimValue:!1,autoParseNumbers:!1,removeNullishValuesInArrays:!1,preserveDeletedFieldsValues:!1,validationDebounceWait:250,validationDebounceOptions:{leading:!1,trailing:!0},stopValidationOnError:!1,validationPluginsOrder:void 0,resetValidationBeforeValidate:!0,validateTrimmedValue:!1}}),(0,r.makeObservable)(this,{options:r.observable,set:r.action})}get(e,t=null){return a.default.has(t,"path")&&a.default.has(t.$options,e)?t.$options[e]:e?a.default.get(this.options,e):(0,r.toJS)(this.options)}set(e){r.set?(0,r.set)(this.options,e):(0,r.extendObservable)(this.options,e)}}},107:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=s(i(666)),n=s(i(169)),o=i(593),d=i(138),u=i(93);t.default=class{constructor({form:e,initial:t,options:i,bindings:s}){Object.defineProperty(this,"mode",{enumerable:!0,configurable:!0,writable:!0,value:d.RuntimeMode.mixed}),Object.defineProperty(this,"strict",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"form",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"bindings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$struct",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"disposers",{enumerable:!0,configurable:!0,writable:!0,value:{interceptor:{},observer:{}}}),Object.defineProperty(this,"initial",{enumerable:!0,configurable:!0,writable:!0,value:{props:{},fields:{}}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:{props:{},fields:{}}}),this.set("form",e),this.initProps(t),this.options=new l.default,this.options.set(i),this.bindings=new n.default,this.bindings.register(s),this.observeOptions()}initProps(e={}){const t=a.default.pick(e,[...o.props.separated,...o.props.validation,...o.props.functions,...o.props.handlers]);this.set("initial","props",t);const i=(0,o.hasUnifiedProps)(e),s=(0,o.hasSeparatedProps)(e);if(i&&s&&console.warn("WARNING: Your mobx-react-form instance ",this.form.name," is running in MIXED Mode (Unified + Separated) as fields properties definition.","This mode is experimental, use it at your own risk, or use only one mode."),(s||(0,o.isArrayOfStrings)(e.fields))&&!i){const t=(0,o.$try)(e.struct,e.fields);return this.struct(t),this.strict=!0,void(this.mode=d.RuntimeMode.separated)}this.struct(e.struct),this.mode=d.RuntimeMode.unified}struct(e=null){return e&&(this.$struct=e),this.$struct}get(e,t){return this[e][t]}set(e,t,i=null){"form"===e&&(this.form=t),"initial"===e&&(Object.assign(this.initial[t],i),Object.assign(this.current[t],i)),"current"===e&&Object.assign(this.current[t],i)}extra(e=null){return a.default.isString(e)?a.default.get(this.$extra,e):null===e?this.$extra:(this.$extra=e,null)}observeOptions(){(0,r.observe)(this.options.options,(0,o.checkObserve)([{type:"update",key:u.OptionsEnum.validateOnChange,to:!0,exec:()=>this.form.each((e=>e.observeValidationOnChange()))},{type:"update",key:u.OptionsEnum.validateOnChange,to:!1,exec:()=>this.form.each((e=>e.disposeValidationOnChange()))},{type:"update",key:u.OptionsEnum.validateOnBlur,to:!0,exec:()=>this.form.each((e=>e.observeValidationOnBlur()))},{type:"update",key:u.OptionsEnum.validateOnBlur,to:!1,exec:()=>this.form.each((e=>e.disposeValidationOnBlur()))}]))}}},265:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=i(593),n=i(93);t.default=class{constructor(e={}){Object.defineProperty(this,"promises",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"form",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"drivers",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{vjf:void 0,dvr:void 0,svk:void 0,yup:void 0}}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,r.makeObservable)(this,{error:r.observable,validate:r.action,validateField:r.action}),a.default.merge(this.plugins,e.plugins),this.form=e.form,this.initDrivers(),this.checkSVKValidationPlugin()}initDrivers(){a.default.map(this.plugins,((e,t)=>this.drivers[t]=e&&a.default.has(e,"class")&&new e.class({config:e.config,state:this.form.state,promises:this.promises})))}validate(e={},t={}){const i=(0,l.$try)(e.path,e),s=(0,l.$try)(e.field,this.form.select(i,null,null),this.form),n=(0,l.$try)(e.related,t.related,!0),o=(0,l.$try)(e.showErrors,t.showErrors,!1);return s.$validating=!0,s.$validated+=1,this.error=null,new Promise((e=>{(s.path||a.default.isString(i))&&this.validateField({field:s,showErrors:o,related:n,path:i}),s.each((e=>this.validateField({path:e.path,field:e,showErrors:o,related:n}))),e(Promise.all(this.promises))})).then((0,r.action)((()=>{s.$validating=!1,s.$clearing=!1,s.$resetting=!1}))).catch((0,r.action)((e=>{throw s.$validating=!1,s.$clearing=!1,s.$resetting=!1,e}))).then((()=>s))}validateField({showErrors:e=!1,related:t=!1,field:i=null,path:s}){const r=i||this.form.select(s),{options:l}=this.form.state;if(!r.path)throw new Error("Validation Error: Invalid Field Instance");if(r.deleted&&!l.get(n.OptionsEnum.validateDeletedFields,r))return;if(r.disabled&&!l.get(n.OptionsEnum.validateDisabledFields,r))return;if(r.isPristine&&!l.get(n.OptionsEnum.validatePristineFields,r))return;l.get(n.OptionsEnum.resetValidationBeforeValidate,r)&&r.resetValidation(),l.get(n.OptionsEnum.validateTrimmedValue,r)&&r.trim();const o=l.get(n.OptionsEnum.stopValidationOnError,r),d=l.get(n.OptionsEnum.validationPluginsOrder,r),u=d?d.map((e=>this.drivers[e])):this.drivers;a.default.each(u,(e=>{if(e&&e.validate(r),o&&r.hasError)return!1})),r.showErrors(e),t&&this.validateRelatedFields(r,e)}validateRelatedFields(e,t){e.related&&e.related.length&&a.default.each(e.related,(e=>this.validateField({related:!1,showErrors:t,path:e})))}checkSVKValidationPlugin(){if(a.default.isNil(this.drivers.svk)&&a.default.get(this.plugins,"svk.config.schema")){const e=this.state.form.name?`Form: ${this.state.form.name}`:"";throw new Error(`The SVK validation schema is defined but no plugin provided (SVK). ${e}`)}}}},607:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Field=t.Form=void 0;const r=s(i(338));t.Form=r.default;const a=s(i(506));t.Field=a.default,t.default=r.default},561:(e,t)=>{var i,s,r,a;Object.defineProperty(t,"__esModule",{value:!0}),t.SeparatedPropsMode=t.FieldPropsOccurrence=t.AllowedFieldPropsTypes=t.FieldPropsEnum=void 0,(a=t.FieldPropsEnum||(t.FieldPropsEnum={})).key="key",a.id="id",a.path="path",a.name="name",a.fields="fields",a.ref="ref",a.type="type",a.value="value",a.initial="initial",a.default="default",a.checked="checked",a.label="label",a.placeholder="placeholder",a.error="error",a.validatedWith="validatedWith",a.validators="validators",a.rules="rules",a.related="related",a.options="options",a.extra="extra",a.bindings="bindings",a.hooks="hooks",a.handlers="handlers",a.input="input",a.output="output",a.interceptors="interceptors",a.observers="observers",a.disabled="disabled",a.deleted="deleted",a.blurred="blurred",a.validating="validating",a.submitting="submitting",a.clearing="clearing",a.resetting="resetting",a.changed="changed",a.touched="touched",a.focused="focused",a.isEmpty="isEmpty",a.isDefault="isDefault",a.isPristine="isPristine",a.isDirty="isDirty",a.isValid="isValid",a.hasError="hasError",a.onInit="onInit",a.onSync="onSync",a.onChange="onChange",a.onBlur="onBlur",a.onFocus="onFocus",a.onToggle="onToggle",a.onDrop="onDrop",a.onSubmit="onSubmit",a.onReset="onReset",a.onClear="onClear",a.onAdd="onAdd",a.onDel="onDel",a.autoFocus="autoFocus",a.inputMode="inputMode",a.onKeyDown="onKeyDown",a.onKeyUp="onKeyUp",(r=t.AllowedFieldPropsTypes||(t.AllowedFieldPropsTypes={})).computed="computed",r.observable="observable",r.editable="editable",r.all="all",(s=t.FieldPropsOccurrence||(t.FieldPropsOccurrence={})).some="some",s.every="every",(i=t.SeparatedPropsMode||(t.SeparatedPropsMode={})).values="values",i.labels="labels",i.placeholders="placeholders",i.defaults="defaults",i.initials="initials",i.disabled="disabled",i.deleted="deleted",i.types="types",i.related="related",i.rules="rules",i.options="options",i.bindings="bindings",i.extra="extra",i.hooks="hooks",i.handlers="handlers",i.validatedWith="validatedWith",i.validators="validators",i.observers="observers",i.interceptors="interceptors",i.input="input",i.output="output",i.autoFocus="autoFocus",i.inputMode="inputMode",i.refs="refs"},93:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsEnum=void 0,(i=t.OptionsEnum||(t.OptionsEnum={})).uniqueId="uniqueId",i.fallback="fallback",i.fallbackValue="fallbackValue",i.defaultGenericError="defaultGenericError",i.submitThrowsError="submitThrowsError",i.showErrorsOnInit="showErrorsOnInit",i.showErrorsOnSubmit="showErrorsOnSubmit",i.showErrorsOnBlur="showErrorsOnBlur",i.showErrorsOnChange="showErrorsOnChange",i.showErrorsOnClear="showErrorsOnClear",i.showErrorsOnReset="showErrorsOnReset",i.validateOnInit="validateOnInit",i.validateOnSubmit="validateOnSubmit",i.validateOnBlur="validateOnBlur",i.validateOnChange="validateOnChange",i.validateOnChangeAfterInitialBlur="validateOnChangeAfterInitialBlur",i.validateOnChangeAfterSubmit="validateOnChangeAfterSubmit",i.validateDisabledFields="validateDisabledFields",i.validateDeletedFields="validateDeletedFields",i.validatePristineFields="validatePristineFields",i.validateTrimmedValue="validateTrimmedValue",i.validateOnClear="validateOnClear",i.validateOnReset="validateOnReset",i.strictUpdate="strictUpdate",i.strictDelete="strictDelete",i.softDelete="softDelete",i.retrieveOnlyDirtyFieldsValues="retrieveOnlyDirtyFieldsValues",i.retrieveOnlyEnabledFieldsValues="retrieveOnlyEnabledFieldsValues",i.retrieveOnlyEnabledFieldsErrors="retrieveOnlyEnabledFieldsErrors",i.retrieveNullifiedEmptyStrings="retrieveNullifiedEmptyStrings",i.removeNullishValuesInArrays="removeNullishValuesInArrays",i.preserveDeletedFieldsValues="preserveDeletedFieldsValues",i.autoTrimValue="autoTrimValue",i.autoParseNumbers="autoParseNumbers",i.validationDebounceWait="validationDebounceWait",i.validationDebounceOptions="validationDebounceOptions",i.stopValidationOnError="stopValidationOnError",i.validationPluginsOrder="validationPluginsOrder",i.resetValidationBeforeValidate="resetValidationBeforeValidate"},138:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.RuntimeMode=void 0,(i=t.RuntimeMode||(t.RuntimeMode={})).mixed="mixed",i.unified="unified",i.separated="separated"},951:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ValidationHooks=void 0,(i=t.ValidationHooks||(t.ValidationHooks={})).onSuccess="onSuccess",i.onError="onError"},215:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.pathToFieldsTree=t.prepareFieldsData=t.handleFieldsArrayOfStrings=t.handleFieldsNested=t.mergeSchemaDefaults=t.parseCheckOutput=t.parseCheckArray=t.parseArrayProp=t.parsePath=t.parseInput=t.defaultValue=void 0;const r=s(i(479)),a=i(561),l=i(593),n=({type:e,value:t,nullable:i=!1,isEmptyArray:s=!1,fallbackValueOption:a=""})=>"file"===e?"":"nullable"===e||"datetime-local"===e||r.default.isDate(t)||"date"===e?null:r.default.isNumber(t)||"number"===e?0:!r.default.isBoolean(t)&&"checkbox"!==e&&(r.default.isString(t)?"":r.default.isArray(t)?[]:i?null:s?[]:a);t.defaultValue=n,t.parsePath=e=>{let t=e;return t=r.default.replace(t,new RegExp("\\[","g"),"."),t=r.default.replace(t,new RegExp("\\]","g"),""),t},t.parseInput=(e,{fallbackValueOption:t="",type:i,isEmptyArray:s,nullable:r,separated:a,unified:o,fallback:d})=>e((0,l.$try)(a,o,d,n({fallbackValueOption:t,type:i,isEmptyArray:s,nullable:r})));const o=(e,t,i)=>{const s=r.default.values(e),l=t===a.FieldPropsEnum.value||t===a.FieldPropsEnum.initial||t===a.FieldPropsEnum.default;return i&&l?r.default.without(s,null,void 0,""):s};t.parseArrayProp=o,t.parseCheckArray=(e,t,i,s)=>e.hasIncrementalKeys?o(t,i,s):t,t.parseCheckOutput=(e,t,i=!1)=>{if(t===a.FieldPropsEnum.value||t.startsWith("value.")){const s=e.$output?e.$output(e[a.FieldPropsEnum.value]):e[a.FieldPropsEnum.value],l=t.startsWith("value.")?r.default.get(s,t.substring(6)):s;return r.default.isString(l)&&r.default.isEmpty(l)&&i?null:l}return e[t]};const d=(e,t=!1)=>{let i=e;return(0,l.isArrayOfStrings)(i)&&(i=r.default.transform(i,((e,i)=>{const s=r.default.split(i,".");return s.length?r.default.merge(e,((e,t=!1)=>r.default.reduceRight(e,((i,s)=>{const a={};if(r.default.endsWith(s,"[]")){const e=t?[i]:[];return a[r.default.trimEnd(s,"[]")]=e,a}const l=e[e.indexOf(s)-1],n=r.default.endsWith(l,"[]")&&r.default.last(e)===s;return!t&&n||(a[s]=i),a}),{}))(s,t)):Object.assign(e,{[i]:""})}),{})),i};t.handleFieldsArrayOfStrings=d;const u=(e,t=!0)=>r.default.transform(e,((e,i,s)=>(0,l.allowNested)(i,t)?Object.assign(e,{[s]:{fields:(0,l.isEmptyArray)(i)?[]:u(i)}}):Object.assign(e,{[s]:i})),{});t.handleFieldsNested=u;t.mergeSchemaDefaults=(e,t)=>{if(t){const i=r.default.get(t.plugins,"svk.config.schema");r.default.isEmpty(e)&&i&&i.properties&&r.default.each(i.properties,((t,i)=>{r.default.set(e,i,{value:t.default,label:t.title})}))}return e},t.prepareFieldsData=(e,t=!0,i=!0)=>{let s=r.default.merge(d(e.fields,!1),d(e.struct,!1));return s=(e=>{let t=e;return(0,l.isArrayOfObjects)(t)&&(t=r.default.transform(t,((e,t)=>{if(!(0,l.hasUnifiedProps)({fields:{field:t}})||r.default.has(t,a.FieldPropsEnum.name))return Object.assign(e,{[t.name]:t})}),{})),t})(s),s=((e,t,i)=>{if(!r.default.has(t,"values"))return e;let{values:s}=t;return(0,l.hasUnifiedProps)({fields:t.fields})&&(s=(e=>r.default.transform(e,((e,t,i)=>{return Object.assign(e,{[i]:{value:t,fields:(s=t,r.default.isPlainObject(s)?r.default.map(s,((e,t)=>({value:e,name:t}))):void 0)}});var s}),{}))(s)),r.default.merge(e,r.default.transform(s,((t,s,a)=>{r.default.isArray(e[a])&&(t[a]=s),a in e||isNaN(Number(a))&&!i||(t[a]=s)}),{}))})(s,e,i),s=u(s,t),s},t.pathToFieldsTree=(e,t,i=0,s=!1)=>{const n=(0,l.pathToStruct)(t),o=r.default.filter(e,(e=>r.default.startsWith(e,n))),p=d(o,s),h=r.default.replace(n,new RegExp("\\[]","g"),`[${i}]`),c=u(r.default.get(p,h));return e.length&&e.filter((e=>e.startsWith(t+"[]"))).map((e=>e.substring((t+"[].").length))).filter((e=>e.endsWith("[]"))).map((e=>e.substring(0,e.length-2))).forEach((e=>{var t,i;const s=e.split(".");let r=null===(t=c[0])||void 0===t?void 0:t.fields;for(let e=0;e<s.length&&(r=null===(i=null==r?void 0:r[s[e]])||void 0===i?void 0:i[a.FieldPropsEnum.fields],r);e++);r&&delete r[0]})),c}},529:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.props=void 0;const s=i(561);t.props={editable:[s.FieldPropsEnum.type,s.FieldPropsEnum.value,s.FieldPropsEnum.initial,s.FieldPropsEnum.default,s.FieldPropsEnum.label,s.FieldPropsEnum.placeholder,s.FieldPropsEnum.related,s.FieldPropsEnum.options,s.FieldPropsEnum.extra,s.FieldPropsEnum.bindings,s.FieldPropsEnum.hooks,s.FieldPropsEnum.handlers,s.FieldPropsEnum.error,s.FieldPropsEnum.deleted,s.FieldPropsEnum.disabled,s.FieldPropsEnum.autoFocus,s.FieldPropsEnum.inputMode,s.FieldPropsEnum.ref],handlers:[s.FieldPropsEnum.onChange,s.FieldPropsEnum.onToggle,s.FieldPropsEnum.onFocus,s.FieldPropsEnum.onBlur,s.FieldPropsEnum.onDrop,s.FieldPropsEnum.onSubmit,s.FieldPropsEnum.onReset,s.FieldPropsEnum.onClear,s.FieldPropsEnum.onAdd,s.FieldPropsEnum.onDel],computed:[s.FieldPropsEnum.hasError,s.FieldPropsEnum.isValid,s.FieldPropsEnum.isDirty,s.FieldPropsEnum.isPristine,s.FieldPropsEnum.isDefault,s.FieldPropsEnum.isEmpty,s.FieldPropsEnum.focused,s.FieldPropsEnum.touched,s.FieldPropsEnum.changed,s.FieldPropsEnum.validating,s.FieldPropsEnum.submitting,s.FieldPropsEnum.resetting,s.FieldPropsEnum.clearing,s.FieldPropsEnum.blurred,s.FieldPropsEnum.deleted,s.FieldPropsEnum.disabled],separated:[s.SeparatedPropsMode.values,s.SeparatedPropsMode.labels,s.SeparatedPropsMode.placeholders,s.SeparatedPropsMode.defaults,s.SeparatedPropsMode.initials,s.SeparatedPropsMode.disabled,s.SeparatedPropsMode.deleted,s.SeparatedPropsMode.types,s.SeparatedPropsMode.related,s.SeparatedPropsMode.rules,s.SeparatedPropsMode.options,s.SeparatedPropsMode.bindings,s.SeparatedPropsMode.extra,s.SeparatedPropsMode.hooks,s.SeparatedPropsMode.handlers,s.SeparatedPropsMode.validatedWith,s.SeparatedPropsMode.validators,s.SeparatedPropsMode.observers,s.SeparatedPropsMode.interceptors,s.SeparatedPropsMode.input,s.SeparatedPropsMode.output,s.SeparatedPropsMode.autoFocus,s.SeparatedPropsMode.inputMode,s.SeparatedPropsMode.refs],functions:[s.FieldPropsEnum.observers,s.FieldPropsEnum.interceptors,s.FieldPropsEnum.input,s.FieldPropsEnum.output],validation:[s.FieldPropsEnum.rules,s.FieldPropsEnum.validators,s.FieldPropsEnum.validatedWith],occurrences:{isDirty:s.FieldPropsOccurrence.some,isPristine:s.FieldPropsOccurrence.every,isDefault:s.FieldPropsOccurrence.every,isValid:s.FieldPropsOccurrence.every,isEmpty:s.FieldPropsOccurrence.every,hasError:s.FieldPropsOccurrence.some,focused:s.FieldPropsOccurrence.some,blurred:s.FieldPropsOccurrence.some,touched:s.FieldPropsOccurrence.some,deleted:s.FieldPropsOccurrence.every,disabled:s.FieldPropsOccurrence.every,clearing:s.FieldPropsOccurrence.every,resetting:s.FieldPropsOccurrence.every}}},593:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getObservableMapValues=t.getObservableMapKeys=t.$try=t.$isBool=t.$hasFiles=t.$isEvent=t.uniqueId=t.maxKey=t.hasIntKeys=t.parseIntKeys=t.allowNested=t.hasSeparatedProps=t.hasUnifiedProps=t.pathToStruct=t.isArrayOfObjects=t.isEmptyArray=t.isArrayOfStrings=t.throwError=t.allowedProps=t.hasProps=t.checkPropOccurrence=t.checkObserve=t.props=void 0;const r=s(i(479)),a=i(259),l=i(561),n=i(529);Object.defineProperty(t,"props",{enumerable:!0,get:function(){return n.props}}),t.getObservableMapValues=e=>(0,a.values)(e);const o=e=>(0,a.keys)(e);t.getObservableMapKeys=o,t.checkObserve=e=>t=>e.map((e=>({key:t,to:i,type:s,exec:r})=>e.type===s&&e.name===t&&e.newValue===i&&r.apply(e,[e]))(t)),t.checkPropOccurrence=({type:e,data:t})=>{let i;switch(e){case l.FieldPropsOccurrence.some:i=e=>r.default.some(e,Boolean);break;case l.FieldPropsOccurrence.every:i=e=>r.default.every(e,Boolean);break;default:throw new Error("Occurrence not found for specified prop")}return i(t)};const d=(e,t)=>{let i;switch(e){case l.AllowedFieldPropsTypes.computed:i=n.props.computed;break;case l.AllowedFieldPropsTypes.observable:i=[l.FieldPropsEnum.fields,...n.props.computed,...n.props.editable];break;case l.AllowedFieldPropsTypes.editable:i=[...n.props.editable,...n.props.validation,...n.props.functions,...n.props.handlers];break;case l.AllowedFieldPropsTypes.all:i=[l.FieldPropsEnum.id,l.FieldPropsEnum.key,l.FieldPropsEnum.name,l.FieldPropsEnum.path,...n.props.computed,...n.props.editable,...n.props.validation,...n.props.functions,...n.props.handlers];break;default:i=null}return r.default.intersection(t,i).length>0};t.hasProps=d,t.allowedProps=(e,t)=>{if(!d(e,t))throw new Error(`The selected property is not allowed (${JSON.stringify(t)})`)},t.throwError=(e,t,i=null)=>{if(!r.default.isNil(t))return;const s=r.default.isNil(i)?"The selected field is not defined":i;throw new Error(`${s} (${e})`)},t.pathToStruct=e=>{let t;return t=r.default.replace(e,new RegExp("[.]\\d+($|.)","g"),"[]."),t=r.default.replace(t,"..","."),t=r.default.trim(t,"."),t};const u=(e,t)=>r.default.some(t,r.default.partial(r.default.has,e));t.isEmptyArray=e=>r.default.isEmpty(e)&&r.default.isArray(e);const p=e=>r.default.isArray(e)&&r.default.every(e,r.default.isString);t.isArrayOfStrings=p,t.isArrayOfObjects=e=>r.default.isArray(e)&&r.default.every(e,r.default.isPlainObject),t.hasUnifiedProps=({fields:e})=>!p({fields:e})&&d(l.AllowedFieldPropsTypes.editable,(e=>r.default.union(...r.default.map(r.default.values(e),(e=>r.default.keys(e)))))(e)),t.hasSeparatedProps=e=>u(e,n.props.separated)||u(e,n.props.validation),t.allowNested=(e,t)=>r.default.isObject(e)&&!r.default.isDate(e)&&!r.default.has(e,l.FieldPropsEnum.fields)&&(!u(e,[...n.props.editable,...n.props.validation,...n.props.functions,...n.props.handlers])||t);const h=e=>r.default.map(o(e),r.default.ary(r.default.toNumber,1));t.parseIntKeys=h,t.hasIntKeys=e=>r.default.every(h(e),r.default.isInteger),t.maxKey=e=>{const t=r.default.max(h(e));return r.default.isUndefined(t)?0:t+1},t.uniqueId=e=>r.default.uniqueId([r.default.replace(e.path,new RegExp("\\.","g"),"-"),"--"].join("")),t.$isEvent=e=>!r.default.isNil(e)&&"undefined"!=typeof Event&&(e instanceof Event||!r.default.isNil(e.target)),t.$hasFiles=e=>e.target.files&&0!==e.target.files.length,t.$isBool=(e,t)=>r.default.isBoolean(t)&&r.default.isBoolean(e.target.checked),t.$try=(...e)=>{let t=null;return e.map((e=>null===t&&!r.default.isUndefined(e)&&(t=e))),t}},479:t=>{t.exports=e},259:e=>{e.exports=t}},s={};return function e(t){var r=s[t];if(void 0!==r)return r.exports;var a=s[t]={exports:{}};return i[t].call(a.exports,a,a.exports,e),a.exports}(607)})()));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("_"),require("mobx")):"function"==typeof define&&define.amd?define(["_","mobx"],t):"object"==typeof exports?exports.MobxReactForm=t(require("_"),require("mobx")):e.MobxReactForm=t(e._,e.mobx)}(self,((e,t)=>(()=>{"use strict";var i={311:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=i(593),n=i(215),o=i(561),d=i(93),u=i(951);t.default=class{constructor(){Object.defineProperty(this,"noop",{enumerable:!0,configurable:!0,writable:!0,value:()=>{}}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:r.observable.map({})}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$submitted",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"$submitting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$validated",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"$validating",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$clearing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$resetting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$touched",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$changed",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"$hooks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"$handlers",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"execHook",{enumerable:!0,configurable:!0,writable:!0,value:(e,t={})=>(0,l.$try)(t[e],this.$hooks[e],this.hooks&&this.hooks.apply(this,[this])[e],this.noop).apply(this,[this])}),Object.defineProperty(this,"execHandler",{enumerable:!0,configurable:!0,writable:!0,value:(e,t,i=null,s=null)=>[(0,l.$try)(this.$handlers[e]&&this.$handlers[e].apply(this,[this]),this.handlers&&this.handlers.apply(this,[this])[e]&&this.handlers.apply(this,[this])[e].apply(this,[this]),i,this.noop).apply(this,[...t]),this.execHook(s||e)]}),Object.defineProperty(this,"intercept",{enumerable:!0,configurable:!0,writable:!0,value:e=>this.MOBXEvent(a.default.isFunction(e)?{type:"interceptor",call:e}:Object.assign({type:"interceptor"},e))}),Object.defineProperty(this,"observe",{enumerable:!0,configurable:!0,writable:!0,value:e=>this.MOBXEvent(a.default.isFunction(e)?{type:"observer",call:e}:Object.assign({type:"observer"},e))}),Object.defineProperty(this,"onClear",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onClear,e,(e=>{e.preventDefault(),this.clear(!0,!1)}))}),Object.defineProperty(this,"onReset",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onReset,e,(e=>{e.preventDefault(),this.reset(!0,!1)}))}),Object.defineProperty(this,"onSubmit",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onSubmit,e,((e,t={})=>{e.preventDefault(),this.submit(t,!1)}))}),Object.defineProperty(this,"onAdd",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onAdd,e,((e,t)=>{e.preventDefault(),this.add((0,l.$isEvent)(t)?null:t,!1)}))}),Object.defineProperty(this,"onDel",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(o.FieldPropsEnum.onDel,e,((e,t)=>{e.preventDefault(),this.del((0,l.$isEvent)(t)?this.path:t,!1)}))}),(0,r.makeObservable)(this,{$submitted:r.observable,$submitting:r.observable,$validated:r.observable,$validating:r.observable,$clearing:r.observable,$resetting:r.observable,$touched:r.observable,$changed:r.observable,changed:r.computed,submitted:r.computed,submitting:r.computed,validated:r.computed,validating:r.computed,clearing:r.computed,resetting:r.computed,hasIncrementalKeys:r.computed,hasNestedFields:r.computed,size:r.computed,initField:r.action,submit:r.action,deepUpdate:r.action,set:r.action,add:r.action,del:r.action})}get resetting(){return this.hasNestedFields?this.check(o.FieldPropsEnum.resetting,!0):this.$resetting}get clearing(){return this.hasNestedFields?this.check(o.FieldPropsEnum.clearing,!0):this.$clearing}get submitted(){return(0,r.toJS)(this.$submitted)}get submitting(){return(0,r.toJS)(this.$submitting)}get validated(){return(0,r.toJS)(this.$validated)}get validating(){return(0,r.toJS)(this.$validating)}get hasIncrementalKeys(){return!!this.fields.size&&(0,l.hasIntKeys)(this.fields)}get hasNestedFields(){return 0!==this.fields.size}get size(){return this.fields.size}get changed(){return!a.default.isNil(this.path)&&this.hasNestedFields?this.reduce(((e,t)=>e+t.changed),0)+this.$changed:this.$changed}initFields(e,t=!1){const i=this.state.options.get(d.OptionsEnum.fallback),s=e=>a.default.trimStart([this.path,e].join("."),".");let r;r=(0,n.prepareFieldsData)(e,this.state.strict,i),r=(0,n.mergeSchemaDefaults)(r,this.validator),a.default.forIn(r,((e,r)=>{const n=s(r),o=this.select(n,null,!1);if(a.default.isNil(o))if(i)this.initField(r,n,e,t);else{const i=(0,l.pathToStruct)(n);this.state.struct().filter((e=>e.startsWith(i))).find((e=>"."===e.charAt(i.length)||"[]"===e.substring(i.length,i.length+2)||e===i))&&this.initField(r,n,e,t)}}))}initField(e,t,i,s=!1){const r=this.state.get("current","props"),n=(0,l.pathToStruct)(t),d=e=>{const t=a.default.get(r[e],n);if(e!==o.FieldPropsEnum.input&&e!==o.FieldPropsEnum.output||"function"==typeof t)return t},u={$value:a.default.get(r[o.SeparatedPropsMode.values],t),$label:d(o.SeparatedPropsMode.labels),$placeholder:d(o.SeparatedPropsMode.placeholders),$default:d(o.SeparatedPropsMode.defaults),$initial:d(o.SeparatedPropsMode.initials),$disabled:d(o.SeparatedPropsMode.disabled),$deleted:d(o.SeparatedPropsMode.deleted),$type:d(o.SeparatedPropsMode.types),$related:d(o.SeparatedPropsMode.related),$rules:d(o.SeparatedPropsMode.rules),$options:d(o.SeparatedPropsMode.options),$bindings:d(o.SeparatedPropsMode.bindings),$extra:d(o.SeparatedPropsMode.extra),$hooks:d(o.SeparatedPropsMode.hooks),$handlers:d(o.SeparatedPropsMode.handlers),$validatedWith:d(o.SeparatedPropsMode.validatedWith),$validators:d(o.SeparatedPropsMode.validators),$observers:d(o.SeparatedPropsMode.observers),$interceptors:d(o.SeparatedPropsMode.interceptors),$input:d(o.SeparatedPropsMode.input),$output:d(o.SeparatedPropsMode.output),$autoFocus:d(o.SeparatedPropsMode.autoFocus),$ref:d(o.SeparatedPropsMode.refs)},p=this.state.form.makeField({key:e,path:t,data:i,props:u,update:s,state:this.state});return this.fields.merge({[e]:p}),p}validate(e={},t={}){const i=a.default.merge(e,{path:this.path});return this.state.form.validator.validate(i,t)}submit(e={},t=!0){if(t&&this.execHook(o.FieldPropsEnum.onSubmit,e),this.$submitting=!0,this.$submitted+=1,!this.state.options.get(d.OptionsEnum.validateOnSubmit,this))return Promise.resolve(this).then((0,r.action)((()=>this.$submitting=!1))).then((()=>this));const i=t=>t?this.execHook(u.ValidationHooks.onSuccess,e):this.execHook(u.ValidationHooks.onError,e);return this.validate({showErrors:this.state.options.get(d.OptionsEnum.showErrorsOnSubmit,this)}).then((({isValid:e})=>{const t=i(e);if(e)return t;const s=this.state.options.get(d.OptionsEnum.defaultGenericError,this);return this.state.options.get(d.OptionsEnum.submitThrowsError,this)&&s&&this.invalidate(),t})).then((0,r.action)((()=>this.$submitting=!1))).catch((0,r.action)((e=>{throw this.$submitting=!1,e}))).then((()=>this))}check(e,t=!1){return(0,l.allowedProps)(o.AllowedFieldPropsTypes.computed,[e]),t?(0,l.checkPropOccurrence)({type:l.props.occurrences[e],data:this.deepCheck(l.props.occurrences[e],e,this.fields)}):this[e]}deepCheck(e,t,i){const s=(0,l.getObservableMapValues)(i);return a.default.transform(s,((i,s)=>(s.fields.size&&a.default.isArray(s.initial)||i.push(s[t]),i.push((0,l.checkPropOccurrence)({data:this.deepCheck(e,t,s.fields),type:e})),i)),[])}update(e){if(!a.default.isPlainObject(e))throw new Error("The update() method accepts only plain objects.");this.deepUpdate((0,n.prepareFieldsData)({fields:e},this.state.strict),void 0,void 0,e)}deepUpdate(e,t="",i=!0,s){a.default.each(e,((e,r)=>{var u;const p=a.default.has(e,o.FieldPropsEnum.name)?e.name:r,h=a.default.trimStart(`${t}.${p}`,"."),c=this.select(h,null,!1),f=this.select(t,null,!1)||this.state.form.select(this.path,null,!1);if(!a.default.isNil(c)&&!a.default.isUndefined(e)){if(a.default.isArray(c.values())){const t=null!==(u=a.default.max(a.default.map(e.fields,((e,t)=>Number(t)))))&&void 0!==u?u:-1;a.default.each((0,l.getObservableMapValues)(c.fields),(e=>{Number(e.name)>t&&(c.$changed++,c.state.form.$changed++,c.fields.delete(e.name))}))}if(null==e?void 0:e.fields){const e=this.state.options.get(d.OptionsEnum.fallback),t=this.state.struct().findIndex((e=>e.startsWith(c.path.replace(/\.\d+\./,"[].")+"[]")));if(!e&&0===c.fields.size&&t<0)return void(c.value=a.default.get(s,h))}if(a.default.isNull(e)||a.default.isNil(e.fields))return void(c.value=e)}if(!a.default.isNil(f)&&a.default.isNil(c)){const t=a.default.trimStart([this.path,h].join("."),".");f.$changed++,f.state.form.$changed++,f.initField(p,t,e,!0)}else if(i)if(a.default.has(e,o.FieldPropsEnum.fields)&&!a.default.isNil(e.fields))this.deepUpdate(e.fields,h);else{const e=(0,n.pathToFieldsTree)(this.state.struct(),h);this.deepUpdate(e,h,!1)}}))}get(e=null,t=!0){if(a.default.isNil(e))return this.deepGet([...l.props.computed,...l.props.editable,...l.props.validation],this.fields,t);if((0,l.allowedProps)(o.AllowedFieldPropsTypes.all,a.default.isArray(e)?e:[e]),a.default.isString(e)){if(t&&0===this.fields.size){const i=this.state.options.get(d.OptionsEnum.retrieveNullifiedEmptyStrings,this);return(0,n.parseCheckOutput)(this,e,!!t&&i)}const i=this.deepGet(e,this.fields,t),s=this.state.options.get(d.OptionsEnum.removeNullishValuesInArrays,this);return(0,n.parseCheckArray)(this,i,e,!!t&&s)}return this.deepGet(e,this.fields,t)}deepGet(e,t,i=!0){return a.default.transform((0,l.getObservableMapValues)(t),((t,s)=>{if(Object.assign(t,{[s.key]:{fields:(t=>0!==t.size?this.deepGet(e,t,i):void 0)(s.fields)}}),a.default.isString(e)){const r=this.state.options,a=r.get(d.OptionsEnum.retrieveOnlyDirtyFieldsValues,this)&&e===o.FieldPropsEnum.value&&s.isPristine||r.get(d.OptionsEnum.retrieveOnlyEnabledFieldsValues,this)&&e===o.FieldPropsEnum.value&&s.disabled||r.get(d.OptionsEnum.retrieveOnlyEnabledFieldsErrors,this)&&e===o.FieldPropsEnum.error&&s.disabled&&s.isValid&&(!s.error||!s.hasError)||r.get(d.OptionsEnum.softDelete,this)&&e===o.FieldPropsEnum.value&&s.deleted;if(0===s.fields.size){if(delete t[s.key],a)return t;const r=this.state.options.get(d.OptionsEnum.retrieveNullifiedEmptyStrings,this);return Object.assign(t,{[s.key]:(0,n.parseCheckOutput)(s,e,!!i&&r)})}let l=this.deepGet(e,s.fields,i);if(e===o.FieldPropsEnum.value&&(l=s.$output(l)),delete t[s.key],a)return t;const u=this.state.options.get(d.OptionsEnum.removeNullishValuesInArrays,this);return Object.assign(t,{[s.key]:(0,n.parseCheckArray)(s,l,e,!!i&&u)})}return a.default.each(e,(e=>Object.assign(t[s.key],{[e]:s[e]}))),t}),{})}set(e,t){if(a.default.isString(e)&&!a.default.isUndefined(t))return(0,l.allowedProps)(o.AllowedFieldPropsTypes.editable,[e]),(a.default.isObject(t)&&e===o.FieldPropsEnum.value||a.default.isPlainObject(t))&&this.hasNestedFields?this.deepSet(e,t,"",!0):void(e===o.FieldPropsEnum.value?this.value=t:a.default.set(this,`$${e}`,t));a.default.isNil(t)&&(this.hasNestedFields?this.deepSet(o.FieldPropsEnum.value,e,"",!0):this.set(o.FieldPropsEnum.value,e))}deepSet(e,t,i="",s=!1){const r=this.state.options.get(d.OptionsEnum.strictUpdate,this);a.default.isNil(t)?this.each((e=>e.$value=(0,n.defaultValue)({fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue,this),value:e.$value,type:e.type}))):a.default.each(t,((t,n)=>{const o=a.default.trimStart(`${i}.${n}`,"."),d=this.select(o,null,r);r&&(0,l.throwError)(o,d,"You are updating a not existent field:"),a.default.isUndefined(d)||(a.default.isUndefined(t)||d.set(e,t,s),d.fields.size&&a.default.isObject(t)&&this.deepSet(e,t,o,s))}))}add(e,t=!0){if((0,l.isArrayOfObjects)(e))return a.default.each(e,(e=>this.update({[(0,l.maxKey)(this.fields)]:e}))),this.$changed++,this.state.form.$changed++,void(t&&this.execHook(o.FieldPropsEnum.onAdd));let i;a.default.has(e,o.FieldPropsEnum.key)&&(i=e.key),a.default.has(e,o.FieldPropsEnum.name)&&(i=e.name),i||(i=(0,l.maxKey)(this.fields));const s=(0,n.pathToFieldsTree)(this.state.struct(),this.path,0,!0),r=this.initField(i,(e=>a.default.trimStart([this.path,e].join("."),"."))(i),a.default.merge(s[0],e));if(!a.default.has(e,o.FieldPropsEnum.value)&&!this.state.options.get(d.OptionsEnum.preserveDeletedFieldsValues,this)){const e=this.state.options.get(d.OptionsEnum.fallbackValue,this);r.$value=(0,n.defaultValue)({fallbackValueOption:e,value:r.$value,type:r.type}),r.each((t=>t.$value=(0,n.defaultValue)({fallbackValueOption:e,value:t.$value,type:t.type})))}return this.$changed++,this.state.form.$changed++,t&&this.execHook(o.FieldPropsEnum.onAdd),r}del(e=null,t=!0){const i=this.state.options.get(d.OptionsEnum.strictDelete,this),s=(0,n.parsePath)(null!=e?e:this.path),r=a.default.trim([this.path,s].join("."),"."),u=this.container(e),p=a.default.split(s,"."),h=a.default.last(p);if(i&&!u.fields.has(h)){const e=`Key "${h}" not found when trying to delete field`;(0,l.throwError)(r,null,e)}return u.$changed++,u.state.form.$changed++,this.state.options.get(d.OptionsEnum.softDelete,this)?this.select(r).set(o.FieldPropsEnum.deleted,!0):(u.each((e=>e.debouncedValidation.cancel())),t&&this.execHook(o.FieldPropsEnum.onDel),u.fields.delete(h))}MOBXEvent({prop:e=o.FieldPropsEnum.value,key:t=null,path:i=null,call:s,type:n}){let d=t||e;(0,l.allowedProps)(o.AllowedFieldPropsTypes.observable,[d]);const u=this.select(i||this.path,null,null)||this,p=e=>s.apply(null,[{change:e,form:this.state.form,path:u.path||null,field:u.path?u:null}]);let h,c;"observer"===n&&(h=r.observe,c=e=>(0,r.observe)(u.fields,e)),"interceptor"===n&&(d=`$${e}`,h=r.intercept,c=u.fields.intercept);const f=u.path?`${d}@${u.path}`:d;a.default.merge(this.state.disposers[n],{[f]:d===o.FieldPropsEnum.fields?c.apply((e=>p(e))):h(u,d,(e=>p(e)))})}dispose(e=null){return this.path&&e?this.disposeSingle(e):this.disposeAll()}disposeAll(){const e=e=>e.apply();return a.default.each(this.state.disposers.interceptor,e),a.default.each(this.state.disposers.observer,e),this.state.disposers={interceptor:{},observer:{}},null}disposeSingle({type:e,key:t=o.FieldPropsEnum.value,path:i=null}){const s=(0,n.parsePath)(null!=i?i:this.path);"interceptor"===e&&(t=`$${t}`),this.state.disposers[e][`${t}@${s}`].apply(),delete this.state.disposers[e][`${t}@${s}`]}select(e,t=null,i=!0){const s=(0,n.parsePath)(e),r=a.default.split(s,"."),o=a.default.head(r);r.shift();let d=a.default.isNil(t)?this.fields.get(o):t.get(o),u=!1;return a.default.each(r,(e=>{u||(a.default.isNil(d)?(d=void 0,u=!0):d=d.fields.get(e))})),i&&(0,l.throwError)(e,d),d}container(e){const t=(0,n.parsePath)(null!=e?e:this.path),i=a.default.trim(t.replace(new RegExp("[^./]+$"),""),".");return this.path&&a.default.isNil(e)?""!==i?this.state.form.select(i,null,!1):this.state.form:""!==i?this.select(i,null,!1):this}has(e){return this.fields.has(e)}map(e){return(0,l.getObservableMapValues)(this.fields).map(e)}each(e,t=null,i=0){const s=t||this.fields;a.default.each((0,l.getObservableMapValues)(s),((t,s)=>{e(t,s,i),0!==t.fields.size&&this.each(e,t.fields,i+1)}))}reduce(e,t){return a.default.reduce((0,l.getObservableMapValues)(this.fields),e,t)}$(e){return this.select(e)}values(){return this.get(o.FieldPropsEnum.value)}errors(){return this.get(o.FieldPropsEnum.error)}labels(){return this.get(o.FieldPropsEnum.label)}placeholders(){return this.get(o.FieldPropsEnum.placeholder)}defaults(){return this.get(o.FieldPropsEnum.default)}initials(){return this.get(o.FieldPropsEnum.initial)}types(){return this.get(o.FieldPropsEnum.type)}}},169:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(i(479)),a=i(593),l=i(561);t.default=class{constructor(){Object.defineProperty(this,"templates",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"rewriters",{enumerable:!0,configurable:!0,writable:!0,value:{default:{id:l.FieldPropsEnum.id,name:l.FieldPropsEnum.name,type:l.FieldPropsEnum.type,value:l.FieldPropsEnum.value,checked:l.FieldPropsEnum.checked,label:l.FieldPropsEnum.label,placeholder:l.FieldPropsEnum.placeholder,disabled:l.FieldPropsEnum.disabled,onChange:l.FieldPropsEnum.onChange,onBlur:l.FieldPropsEnum.onBlur,onFocus:l.FieldPropsEnum.onFocus,autoFocus:l.FieldPropsEnum.autoFocus,inputMode:l.FieldPropsEnum.inputMode,onKeyUp:l.FieldPropsEnum.onKeyUp,onKeyDown:l.FieldPropsEnum.onKeyDown}}})}register(e){return r.default.each(e,((e,t)=>{r.default.isFunction(e)&&r.default.merge(this.templates,{[t]:e}),r.default.isPlainObject(e)&&r.default.merge(this.rewriters,{[t]:e})})),this}load(e,t=l.FieldPropsEnum.default,i){const s={keys:r.default.get(this.rewriters,l.FieldPropsEnum.default),form:e.state.form,field:e,props:i,$try:a.$try};if(r.default.has(this.templates,l.FieldPropsEnum.default))return r.default.get(this.templates,t)(s);if(r.default.has(this.rewriters,t)){const s={};return r.default.each(r.default.get(this.rewriters,t),((t,l)=>r.default.merge(s,{[t]:(0,a.$try)(i[l],e[l])}))),s}return r.default.get(this.templates,t)(s)}}},506:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=s(i(311)),n=i(593),o=i(215),d=i(93),u=i(561),p=(e,t,i)=>Object.assign(e,{$label:t.$label||i&&i.label||"",$placeholder:t.$placeholder||i&&i.placeholder||"",$disabled:t.$disabled||i&&i.disabled||!1,$rules:t.$rules||i&&i.rules||null,$related:t.$related||i&&i.related||[],$deleted:t.$deleted||i&&i.deleted||!1,$validators:(0,r.toJS)(t.$validators||i&&i.validators||null),$validatedWith:t.$validatedWith||i&&i.validatedWith||u.FieldPropsEnum.value,$bindings:t.$bindings||i&&i.bindings||u.FieldPropsEnum.default,$observers:t.$observers||i&&i.observers||null,$interceptors:t.$interceptors||i&&i.interceptors||null,$extra:t.$extra||i&&i.extra||null,$options:t.$options||i&&i.options||{},$hooks:t.$hooks||i&&i.hooks||{},$handlers:t.$handlers||i&&i.handlers||{},$autoFocus:t.$autoFocus||i&&i.autoFocus||!1,$inputMode:t.$inputMode||i&&i.inputMode||void 0,$ref:t.$ref||i&&i.ref||void 0}),h=(e,t,i,s,{isEmptyArray:r,fallbackValueOption:a})=>(0,o.parseInput)((e=>e),{defaultValue:o.defaultValue,nullable:!0,isEmptyArray:r,type:e.type,unified:s?(0,o.defaultValue)({fallbackValueOption:a,type:e.type,value:e.value}):t&&t.default,separated:i.$default,fallback:e.$initial});class c extends l.default{constructor({key:e,path:t,data:i={},props:s={},update:l=!1,state:o}){super(),Object.defineProperty(this,"hasInitialNestedFields",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"incremental",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$observers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$interceptors",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$input",{enumerable:!0,configurable:!0,writable:!0,value:e=>e}),Object.defineProperty(this,"$output",{enumerable:!0,configurable:!0,writable:!0,value:e=>e}),Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$label",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$placeholder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$initial",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$bindings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$related",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$validatedWith",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$validators",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$rules",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$focused",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$blurred",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$deleted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$autoFocus",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"$inputMode",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$ref",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showError",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"errorSync",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"errorAsync",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"validationErrorStack",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"validationFunctionsData",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"validationAsyncData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"debouncedValidation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposeValidationOnBlur",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposeValidationOnChange",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"files",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sync",{enumerable:!0,configurable:!0,writable:!0,value:(0,r.action)(((e,t=null)=>{const i=e=>(0,n.$isBool)(e,this.value)?e.target.checked:e.target.value;if(a.default.isNil(e)||a.default.isNil(e.target))return a.default.isNil(t)||a.default.isNil(t.target)||(t=i(t)),void(this.value=(0,n.$try)(e,t));a.default.isNil(e.target)?this.value=e:this.value=i(e)}))}),Object.defineProperty(this,"onSync",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>"file"===this.type?this.onDrop(...e):this.execHandler(u.FieldPropsEnum.onChange,e,this.sync,u.FieldPropsEnum.onSync)}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:this.onSync}),Object.defineProperty(this,"onToggle",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onToggle,e,this.sync)}),Object.defineProperty(this,"onBlur",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onBlur,e,(0,r.action)((()=>{this.$focused=!1,this.$blurred=!0})))}),Object.defineProperty(this,"onFocus",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onFocus,e,(0,r.action)((()=>{this.$focused=!0,this.$touched=!0})))}),Object.defineProperty(this,"onDrop",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onDrop,e,(0,r.action)((()=>{const t=e[0];let i=null;(0,n.$isEvent)(t)&&(0,n.$hasFiles)(t)&&(i=a.default.map(t.target.files)),this.files=[...a.default.map(this.files),...i||e]})))}),Object.defineProperty(this,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onKeyDown,e)}),Object.defineProperty(this,"onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:(...e)=>this.execHandler(u.FieldPropsEnum.onKeyUp,e)}),(0,r.makeObservable)(this,{$options:r.observable,$value:r.observable,$type:r.observable,$label:r.observable,$placeholder:r.observable,$default:r.observable,$initial:r.observable,$bindings:r.observable,$extra:r.observable,$related:r.observable,$validatedWith:r.observable,$validators:r.observable,$rules:r.observable,$disabled:r.observable,$focused:r.observable,$blurred:r.observable,$deleted:r.observable,showError:r.observable,errorSync:r.observable,errorAsync:r.observable,validationErrorStack:r.observable,validationFunctionsData:r.observable,validationAsyncData:r.observable,files:r.observable,autoFocus:r.computed,inputMode:r.computed,ref:r.computed,checkValidationErrors:r.computed,checked:r.computed,value:r.computed,initial:r.computed,default:r.computed,actionRunning:r.computed,type:r.computed,label:r.computed,placeholder:r.computed,extra:r.computed,options:r.computed,bindings:r.computed,related:r.computed,disabled:r.computed,rules:r.computed,validators:r.computed,validatedValue:r.computed,error:r.computed,hasError:r.computed,isValid:r.computed,isDefault:r.computed,isDirty:r.computed,isPristine:r.computed,isEmpty:r.computed,blurred:r.computed,touched:r.computed,deleted:r.computed,setupField:r.action,initNestedFields:r.action,invalidate:r.action,setValidationAsyncData:r.action,resetValidation:r.action,clear:r.action,reset:r.action,focus:r.action,blur:r.action,showErrors:r.action,showAsyncErrors:r.action,update:r.action}),this.state=o,this.setupField(e,t,i,s,l),this.checkValidationPlugins(),this.initNestedFields(i,l),this.incremental=this.hasIncrementalKeys,this.debouncedValidation=a.default.debounce(this.validate,this.state.options.get(d.OptionsEnum.validationDebounceWait,this),this.state.options.get(d.OptionsEnum.validationDebounceOptions,this)),this.observeValidationOnBlur(),this.observeValidationOnChange(),this.initMOBXEvent(u.FieldPropsEnum.observers),this.initMOBXEvent(u.FieldPropsEnum.interceptors),this.execHook(u.FieldPropsEnum.onInit),(0,r.autorun)((()=>this.changed&&this.execHook(u.FieldPropsEnum.onChange)))}get checkValidationErrors(){var e;return!1===(null===(e=this.validationAsyncData)||void 0===e?void 0:e.valid)&&!a.default.isEmpty(this.validationAsyncData)||!a.default.isEmpty(this.validationErrorStack)||a.default.isString(this.errorAsync)||a.default.isString(this.errorSync)}get checked(){return"checkbox"===this.type?this.value:void 0}get value(){return this.getComputedProp(u.FieldPropsEnum.value)}set value(e){if(a.default.isString(e)&&this.state.options.get(d.OptionsEnum.autoTrimValue,this)&&(e=e.trim()),this.$value!==e){if(this.state.options.get(d.OptionsEnum.autoParseNumbers,this)&&a.default.isNumber(this.$initial)&&new RegExp("^-?\\d+(,\\d+)*(\\.\\d+([eE]\\d+)?)?$","g").exec(e))return this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue,this),separated:a.default.toNumber(e)}),this.$changed++,void(this.actionRunning||this.state.form.$changed++);this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue,this),separated:e}),this.$changed++,this.actionRunning||this.state.form.$changed++}}get initial(){return this.$initial?(0,r.toJS)(this.$initial):this.getComputedProp(u.FieldPropsEnum.initial)}get default(){return this.$default?(0,r.toJS)(this.$default):this.getComputedProp(u.FieldPropsEnum.default)}set initial(e){this.$initial=e}set default(e){this.$default=e}get actionRunning(){return this.submitting||this.clearing||this.resetting}get extra(){return this.$extra}get ref(){return this.$ref}get autoFocus(){return this.$autoFocus}get inputMode(){return this.$inputMode}get type(){return(0,r.toJS)(this.$type)}get label(){return(0,r.toJS)(this.$label)}get placeholder(){return(0,r.toJS)(this.$placeholder)}get options(){return(0,r.toJS)(this.$options)}get bindings(){return(0,r.toJS)(this.$bindings)}get related(){return(0,r.toJS)(this.$related)}get disabled(){return(0,r.toJS)(this.$disabled)}get rules(){return(0,r.toJS)(this.$rules)}get validators(){return(0,r.toJS)(this.$validators)}get validatedValue(){return(0,o.parseCheckOutput)(this,this.$validatedWith)}get error(){return!1===this.showError?null:this.errorAsync||this.errorSync||null}get hasError(){return this.checkValidationErrors||this.check(u.FieldPropsEnum.hasError,!0)}get isValid(){return!this.checkValidationErrors&&this.check(u.FieldPropsEnum.isValid,!0)}get isDefault(){return!a.default.isNil(this.default)&&a.default.isEqual(this.default,this.value)}get isDirty(){const e=this.changed?this.value:this.initial;return!a.default.isNil(this.initial)&&!a.default.isEqual(this.initial,e)}get isPristine(){const e=this.changed?this.value:this.initial;return!a.default.isNil(this.initial)&&a.default.isEqual(this.initial,e)}get isEmpty(){return this.hasNestedFields?this.check(u.FieldPropsEnum.isEmpty,!0):a.default.isBoolean(this.value)?!!this.$value:!a.default.isNumber(this.value)&&!a.default.isDate(this.value)&&a.default.isEmpty(this.value)}get focused(){return this.hasNestedFields?this.check(u.FieldPropsEnum.focused,!0):this.$focused}get blurred(){return this.hasNestedFields?this.check(u.FieldPropsEnum.blurred,!0):this.$blurred}get touched(){return this.hasNestedFields?this.check(u.FieldPropsEnum.touched,!0):this.$touched}get deleted(){return this.hasNestedFields?this.check(u.FieldPropsEnum.deleted,!0):this.$deleted}setupField(e,t,i,s,r){var l;this.key=e,this.path=t,this.id=null===(l=this.state.options.get(d.OptionsEnum.uniqueId))||void 0===l?void 0:l.apply(this,[this]);const u=this.state.options.get(d.OptionsEnum.fallbackValue,this),c=this.state.struct(),f=(0,n.pathToStruct)(this.path),b=Array.isArray(c)?!!c.filter((e=>e.startsWith(f))).find((e=>"[]"===e.substring(f.length))):!!Array.isArray(a.default.get(c,this.path)),{$type:m,$input:v,$output:g}=s;if(a.default.isPlainObject(i)){const{type:t,input:l,output:d}=i;return this.name=a.default.toString(i.name||e),this.$type=m||t||"text",this.$input=(0,n.$try)(v,l,this.$input),this.$output=(0,n.$try)(g,d,this.$output),this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:u,isEmptyArray:b,type:this.type,unified:i.value,separated:s.$value,fallback:s.$initial}),this.$initial=(0,o.parseInput)((e=>e),{fallbackValueOption:u,nullable:!0,isEmptyArray:b,type:this.type,unified:i.initial,separated:s.$initial,fallback:this.$value}),this.$default=h(this,i,s,r,{fallbackValueOption:u,isEmptyArray:b}),void p(this,s,i)}this.name=a.default.toString(e),this.$type=m||"text",this.$input=(0,n.$try)(v,this.$input),this.$output=(0,n.$try)(g,this.$output),this.$value=(0,o.parseInput)(this.$input,{fallbackValueOption:u,isEmptyArray:b,type:this.type,unified:i,separated:s.$value}),this.$initial=(0,o.parseInput)((e=>e),{fallbackValueOption:u,nullable:!0,isEmptyArray:b,type:this.type,unified:i,separated:s.$initial,fallback:this.$value}),this.$default=h(this,i,s,r,{fallbackValueOption:u,isEmptyArray:b}),p(this,s,i)}getComputedProp(e){if(this.incremental||this.hasNestedFields)return e===u.FieldPropsEnum.value?this.get(e,!1):(0,r.untracked)((()=>this.get(e,!1)));const t=this[`$${e}`];return a.default.isArray(t)||(0,r.isObservableArray)(t)?[].slice.call(t):(0,r.toJS)(t)}checkValidationPlugins(){const{drivers:e}=this.state.form.validator,t=this.state.form.name?`${this.state.form.name}/`:"";if(a.default.isNil(e.dvr)&&!a.default.isNil(this.rules))throw new Error(`The DVR validation rules are defined but no DVR plugin provided. Field: "${t+this.path}".`);if(a.default.isNil(e.vjf)&&!a.default.isNil(this.validators))throw new Error(`The VJF validators functions are defined but no VJF plugin provided. Field: "${t+this.path}".`)}initNestedFields(e,t){const i=a.default.isNil(e)?null:e.fields;a.default.isArray(i)&&!a.default.isEmpty(i)&&(this.hasInitialNestedFields=!0),this.initFields({fields:i},t),!t&&a.default.isArray(i)&&a.default.isEmpty(i)&&a.default.isArray(this.value)&&!a.default.isEmpty(this.value)&&(this.hasInitialNestedFields=!0,this.initFields({fields:i,values:this.value},t))}invalidate(e,t=!1){if(!0!==t){if(a.default.isArray(e))return this.validationErrorStack=e,void this.showErrors(!0);this.validationErrorStack.unshift(e),this.showErrors(!0)}else this.errorAsync=e}setValidationAsyncData(e=!1,t=""){this.validationAsyncData={valid:e,message:t}}resetValidation(e=!1){this.showError=!0,this.errorSync=null,this.errorAsync=null,this.validationAsyncData={},this.validationFunctionsData=[],this.validationErrorStack=[],Promise.resolve().then((0,r.action)((()=>{this.$resetting=!1,this.$clearing=!1}))),e&&this.each((t=>t.resetValidation(e)))}clear(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onClear),this.$clearing=!0,this.$touched=!1,this.$blurred=!1,this.$changed=0,this.files=void 0,this.$value=(0,o.defaultValue)({fallbackValueOption:this.state.options.get(d.OptionsEnum.fallbackValue),value:this.$value,type:this.type}),e&&this.each((t=>t.clear(e))),this.state.options.get(d.OptionsEnum.validateOnClear,this)?this.validate({showErrors:this.state.options.get(d.OptionsEnum.showErrorsOnClear,this)}):this.resetValidation(e)}reset(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onReset),this.$resetting=!0,this.$touched=!1,this.$blurred=!1,this.$changed=0,this.files=void 0;const i=this.$default!==this.$initial;i&&(this.value=this.$default),i||(this.value=this.$initial),e&&this.each((t=>t.reset(e))),this.state.options.get(d.OptionsEnum.validateOnReset,this)?this.validate({showErrors:this.state.options.get(d.OptionsEnum.showErrorsOnReset,this)}):this.resetValidation(e)}focus(){this.ref&&!this.focused&&this.ref.focus(),this.$focused=!0,this.$touched=!0}blur(){this.ref&&this.focused&&this.ref.blur(),this.$focused=!1,this.$blurred=!0}trim(){a.default.isString(this.value)&&(this.$value=this.value.trim())}showErrors(e=!0){this.showError=e,this.errorSync=a.default.head(this.validationErrorStack),this.each((t=>t.showErrors(e)))}showAsyncErrors(){var e,t;!1!==(null===(e=this.validationAsyncData)||void 0===e?void 0:e.valid)?this.errorAsync=null:this.errorAsync=null===(t=this.validationAsyncData)||void 0===t?void 0:t.message}observeValidationOnBlur(){const e=this.state.options;e.get(d.OptionsEnum.validateOnBlur,this)&&(this.disposeValidationOnBlur=(0,r.observe)(this,"$focused",(t=>!1===t.newValue&&this.debouncedValidation({showErrors:e.get(d.OptionsEnum.showErrorsOnBlur,this)}))))}observeValidationOnChange(){const e=this.state.options;e.get(d.OptionsEnum.validateOnChange,this)?this.disposeValidationOnChange=(0,r.observe)(this,"$value",(()=>!this.actionRunning&&this.debouncedValidation({showErrors:e.get(d.OptionsEnum.showErrorsOnChange,this)}))):(e.get(d.OptionsEnum.validateOnChangeAfterInitialBlur,this)||e.get(d.OptionsEnum.validateOnChangeAfterSubmit,this))&&(this.disposeValidationOnChange=(0,r.observe)(this,"$value",(()=>!this.actionRunning&&(e.get(d.OptionsEnum.validateOnChangeAfterInitialBlur,this)&&this.blurred||e.get(d.OptionsEnum.validateOnChangeAfterSubmit,this)&&this.state.form.submitted)&&this.debouncedValidation({showErrors:e.get(d.OptionsEnum.showErrorsOnChange,this)}))))}initMOBXEvent(e){if(!a.default.isArray(this[`$${e}`]))return;let t;e===u.FieldPropsEnum.observers&&(t=this.observe),e===u.FieldPropsEnum.interceptors&&(t=this.intercept),this[`$${e}`].map((e=>t(a.default.omit(e,u.FieldPropsEnum.path))))}bind(e={}){return Object.assign(Object.assign({},this.state.bindings.load(this,this.bindings,e)),{ref:e=>this.$ref=e})}update(e){if(!a.default.isPlainObject(e))throw new Error("The update() method accepts only plain objects.");const t=this.state.options.get(d.OptionsEnum.fallback,this),i=this.state.struct().findIndex((e=>e.startsWith(this.path.replace(/\.\d+\./,"[].")+"[]")));!t&&0===this.fields.size&&i<0?this.value=e:super.update(e)}}t.default=c},338:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=s(i(311)),n=s(i(265)),o=s(i(107)),d=s(i(506)),u=i(561),p=i(93);class h extends l.default{constructor(e={},{name:t="",options:i={},plugins:s={},bindings:l={},hooks:d={},handlers:h={}}={}){super(),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"validator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"debouncedValidation",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,r.makeObservable)(this,{fields:r.observable,validatedValues:r.computed,error:r.computed,hasError:r.computed,isValid:r.computed,isPristine:r.computed,isDirty:r.computed,isDefault:r.computed,isEmpty:r.computed,focused:r.computed,touched:r.computed,disabled:r.computed,invalidate:r.action,clear:r.action,reset:r.action}),this.name=t,this.$hooks=d,this.$handlers=h;const c=a.default.each({setup:e,options:i,plugins:s,bindings:l},((e,t)=>a.default.isFunction(this[t])?a.default.merge(e,this[t].apply(this,[this])):e));this.state=new o.default({form:this,initial:c.setup,options:c.options,bindings:c.bindings}),this.validator=new n.default({form:this,plugins:c.plugins}),this.initFields(c.setup),this.debouncedValidation=a.default.debounce(this.validate,this.state.options.get(p.OptionsEnum.validationDebounceWait),this.state.options.get(p.OptionsEnum.validationDebounceOptions)),this.state.options.get(p.OptionsEnum.validateOnInit)&&this.validator.validate({showErrors:this.state.options.get(p.OptionsEnum.showErrorsOnInit)}),this.execHook(u.FieldPropsEnum.onInit),(0,r.autorun)((()=>this.$changed&&this.execHook(u.FieldPropsEnum.onChange)))}get validatedValues(){const e={};return this.each((t=>e[t.path]=t.validatedValue)),e}get error(){return this.validator.error}get hasError(){return!!this.validator.error||this.check(u.FieldPropsEnum.hasError,!0)}get isValid(){return!this.validator.error&&this.check(u.FieldPropsEnum.isValid,!0)}get isPristine(){return this.check(u.FieldPropsEnum.isPristine,!0)}get isDirty(){return this.check(u.FieldPropsEnum.isDirty,!0)}get isDefault(){return this.check(u.FieldPropsEnum.isDefault,!0)}get isEmpty(){return this.check(u.FieldPropsEnum.isEmpty,!0)}get focused(){return this.check(u.FieldPropsEnum.focused,!0)}get touched(){return this.check(u.FieldPropsEnum.touched,!0)}get disabled(){return this.check(u.FieldPropsEnum.disabled,!0)}makeField(e){return new d.default(e)}invalidate(e=null){this.debouncedValidation.cancel(),this.each((e=>e.debouncedValidation.cancel())),this.validator.error=e||this.state.options.get(p.OptionsEnum.defaultGenericError)||!0}showErrors(e=!0){this.each((t=>t.showErrors(e)))}resetValidation(e){this.validator.error=null,this.each((t=>t.resetValidation(e)))}clear(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onClear),this.$touched=!1,this.$changed=0,this.each((t=>t.clear(e)))}reset(e=!0,t=!0){t&&this.execHook(u.FieldPropsEnum.onReset),this.$touched=!1,this.$changed=0,this.each((t=>t.reset(e)))}}t.default=h},666:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=i(593);t.default=class{constructor(){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:{uniqueId:l.uniqueId,fallback:!0,fallbackValue:"",defaultGenericError:null,submitThrowsError:!0,showErrorsOnInit:!1,showErrorsOnSubmit:!0,showErrorsOnBlur:!0,showErrorsOnChange:!0,showErrorsOnClear:!1,showErrorsOnReset:!0,validateOnInit:!0,validateOnSubmit:!0,validateOnBlur:!0,validateOnChange:!1,validateOnChangeAfterInitialBlur:!1,validateOnChangeAfterSubmit:!1,validateOnClear:!1,validateOnReset:!1,validateDisabledFields:!1,validateDeletedFields:!1,validatePristineFields:!0,strictUpdate:!1,strictDelete:!0,softDelete:!1,retrieveOnlyDirtyFieldsValues:!1,retrieveOnlyEnabledFieldsValues:!1,retrieveOnlyEnabledFieldsErrors:!1,retrieveNullifiedEmptyStrings:!1,autoTrimValue:!1,autoParseNumbers:!1,removeNullishValuesInArrays:!1,preserveDeletedFieldsValues:!1,validationDebounceWait:250,validationDebounceOptions:{leading:!1,trailing:!0},stopValidationOnError:!1,validationPluginsOrder:void 0,resetValidationBeforeValidate:!0,validateTrimmedValue:!1}}),(0,r.makeObservable)(this,{options:r.observable,set:r.action})}get(e,t=null){return a.default.has(t,"path")&&a.default.has(t.$options,e)?t.$options[e]:e?a.default.get(this.options,e):(0,r.toJS)(this.options)}set(e){r.set?(0,r.set)(this.options,e):(0,r.extendObservable)(this.options,e)}}},107:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=s(i(666)),n=s(i(169)),o=i(593),d=i(138),u=i(93);t.default=class{constructor({form:e,initial:t,options:i,bindings:s}){Object.defineProperty(this,"mode",{enumerable:!0,configurable:!0,writable:!0,value:d.RuntimeMode.mixed}),Object.defineProperty(this,"strict",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"form",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"bindings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"$struct",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"disposers",{enumerable:!0,configurable:!0,writable:!0,value:{interceptor:{},observer:{}}}),Object.defineProperty(this,"initial",{enumerable:!0,configurable:!0,writable:!0,value:{props:{},fields:{}}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:{props:{},fields:{}}}),this.set("form",e),this.initProps(t),this.options=new l.default,this.options.set(i),this.bindings=new n.default,this.bindings.register(s),this.observeOptions()}initProps(e={}){const t=a.default.pick(e,[...o.props.separated,...o.props.validation,...o.props.functions,...o.props.handlers]);this.set("initial","props",t);const i=(0,o.hasUnifiedProps)(e),s=(0,o.hasSeparatedProps)(e);if(i&&s&&console.warn("WARNING: Your mobx-react-form instance ",this.form.name," is running in MIXED Mode (Unified + Separated) as fields properties definition.","This mode is experimental, use it at your own risk, or use only one mode."),(s||(0,o.isArrayOfStrings)(e.fields))&&!i){const t=(0,o.$try)(e.struct,e.fields);return this.struct(t),this.strict=!0,void(this.mode=d.RuntimeMode.separated)}this.struct(e.struct),this.mode=d.RuntimeMode.unified}struct(e=null){return e&&(this.$struct=e),this.$struct}get(e,t){return this[e][t]}set(e,t,i=null){"form"===e&&(this.form=t),"initial"===e&&(Object.assign(this.initial[t],i),Object.assign(this.current[t],i)),"current"===e&&Object.assign(this.current[t],i)}extra(e=null){return a.default.isString(e)?a.default.get(this.$extra,e):null===e?this.$extra:(this.$extra=e,null)}observeOptions(){(0,r.observe)(this.options.options,(0,o.checkObserve)([{type:"update",key:u.OptionsEnum.validateOnChange,to:!0,exec:()=>this.form.each((e=>e.observeValidationOnChange()))},{type:"update",key:u.OptionsEnum.validateOnChange,to:!1,exec:()=>this.form.each((e=>e.disposeValidationOnChange()))},{type:"update",key:u.OptionsEnum.validateOnBlur,to:!0,exec:()=>this.form.each((e=>e.observeValidationOnBlur()))},{type:"update",key:u.OptionsEnum.validateOnBlur,to:!1,exec:()=>this.form.each((e=>e.disposeValidationOnBlur()))}]))}}},265:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(259),a=s(i(479)),l=i(593),n=i(93);t.default=class{constructor(e={}){Object.defineProperty(this,"promises",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"form",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"drivers",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{vjf:void 0,dvr:void 0,svk:void 0,yup:void 0}}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,r.makeObservable)(this,{error:r.observable,validate:r.action,validateField:r.action}),a.default.merge(this.plugins,e.plugins),this.form=e.form,this.initDrivers(),this.checkSVKValidationPlugin()}initDrivers(){a.default.map(this.plugins,((e,t)=>this.drivers[t]=e&&a.default.has(e,"class")&&new e.class({config:e.config,state:this.form.state,promises:this.promises})))}validate(e={},t={}){const i=(0,l.$try)(e.path,e),s=(0,l.$try)(e.field,this.form.select(i,null,null),this.form),n=(0,l.$try)(e.related,t.related,!0),o=(0,l.$try)(e.showErrors,t.showErrors,!1);return s.$validating=!0,s.$validated+=1,this.error=null,new Promise((e=>{(s.path||a.default.isString(i))&&this.validateField({field:s,showErrors:o,related:n,path:i}),s.each((e=>this.validateField({path:e.path,field:e,showErrors:o,related:n}))),e(Promise.all(this.promises))})).then((0,r.action)((()=>{s.$validating=!1,s.$clearing=!1,s.$resetting=!1}))).catch((0,r.action)((e=>{throw s.$validating=!1,s.$clearing=!1,s.$resetting=!1,e}))).then((()=>s))}validateField({showErrors:e=!1,related:t=!1,field:i=null,path:s}){const r=i||this.form.select(s),{options:l}=this.form.state;if(!r.path)throw new Error("Validation Error: Invalid Field Instance");if(r.deleted&&!l.get(n.OptionsEnum.validateDeletedFields,r))return;if(r.disabled&&!l.get(n.OptionsEnum.validateDisabledFields,r))return;if(r.isPristine&&!l.get(n.OptionsEnum.validatePristineFields,r))return;l.get(n.OptionsEnum.resetValidationBeforeValidate,r)&&r.resetValidation(),l.get(n.OptionsEnum.validateTrimmedValue,r)&&r.trim();const o=l.get(n.OptionsEnum.stopValidationOnError,r),d=l.get(n.OptionsEnum.validationPluginsOrder,r),u=d?d.map((e=>this.drivers[e])):this.drivers;a.default.each(u,(e=>{if(e&&e.validate(r),o&&r.hasError)return!1})),r.showErrors(e),t&&this.validateRelatedFields(r,e)}validateRelatedFields(e,t){e.related&&e.related.length&&a.default.each(e.related,(e=>this.validateField({related:!1,showErrors:t,path:e})))}checkSVKValidationPlugin(){if(a.default.isNil(this.drivers.svk)&&a.default.get(this.plugins,"svk.config.schema")){const e=this.state.form.name?`Form: ${this.state.form.name}`:"";throw new Error(`The SVK validation schema is defined but no plugin provided (SVK). ${e}`)}}}},607:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Field=t.Form=void 0;const r=s(i(338));t.Form=r.default;const a=s(i(506));t.Field=a.default,t.default=r.default},561:(e,t)=>{var i,s,r,a;Object.defineProperty(t,"__esModule",{value:!0}),t.SeparatedPropsMode=t.FieldPropsOccurrence=t.AllowedFieldPropsTypes=t.FieldPropsEnum=void 0,(a=t.FieldPropsEnum||(t.FieldPropsEnum={})).key="key",a.id="id",a.path="path",a.name="name",a.fields="fields",a.ref="ref",a.type="type",a.value="value",a.initial="initial",a.default="default",a.checked="checked",a.label="label",a.placeholder="placeholder",a.error="error",a.validatedWith="validatedWith",a.validators="validators",a.rules="rules",a.related="related",a.options="options",a.extra="extra",a.bindings="bindings",a.hooks="hooks",a.handlers="handlers",a.input="input",a.output="output",a.interceptors="interceptors",a.observers="observers",a.disabled="disabled",a.deleted="deleted",a.blurred="blurred",a.validating="validating",a.submitting="submitting",a.clearing="clearing",a.resetting="resetting",a.changed="changed",a.touched="touched",a.focused="focused",a.isEmpty="isEmpty",a.isDefault="isDefault",a.isPristine="isPristine",a.isDirty="isDirty",a.isValid="isValid",a.hasError="hasError",a.onInit="onInit",a.onSync="onSync",a.onChange="onChange",a.onBlur="onBlur",a.onFocus="onFocus",a.onToggle="onToggle",a.onDrop="onDrop",a.onSubmit="onSubmit",a.onReset="onReset",a.onClear="onClear",a.onAdd="onAdd",a.onDel="onDel",a.autoFocus="autoFocus",a.inputMode="inputMode",a.onKeyDown="onKeyDown",a.onKeyUp="onKeyUp",(r=t.AllowedFieldPropsTypes||(t.AllowedFieldPropsTypes={})).computed="computed",r.observable="observable",r.editable="editable",r.all="all",(s=t.FieldPropsOccurrence||(t.FieldPropsOccurrence={})).some="some",s.every="every",(i=t.SeparatedPropsMode||(t.SeparatedPropsMode={})).values="values",i.labels="labels",i.placeholders="placeholders",i.defaults="defaults",i.initials="initials",i.disabled="disabled",i.deleted="deleted",i.types="types",i.related="related",i.rules="rules",i.options="options",i.bindings="bindings",i.extra="extra",i.hooks="hooks",i.handlers="handlers",i.validatedWith="validatedWith",i.validators="validators",i.observers="observers",i.interceptors="interceptors",i.input="input",i.output="output",i.autoFocus="autoFocus",i.inputMode="inputMode",i.refs="refs"},93:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsEnum=void 0,(i=t.OptionsEnum||(t.OptionsEnum={})).uniqueId="uniqueId",i.fallback="fallback",i.fallbackValue="fallbackValue",i.defaultGenericError="defaultGenericError",i.submitThrowsError="submitThrowsError",i.showErrorsOnInit="showErrorsOnInit",i.showErrorsOnSubmit="showErrorsOnSubmit",i.showErrorsOnBlur="showErrorsOnBlur",i.showErrorsOnChange="showErrorsOnChange",i.showErrorsOnClear="showErrorsOnClear",i.showErrorsOnReset="showErrorsOnReset",i.validateOnInit="validateOnInit",i.validateOnSubmit="validateOnSubmit",i.validateOnBlur="validateOnBlur",i.validateOnChange="validateOnChange",i.validateOnChangeAfterInitialBlur="validateOnChangeAfterInitialBlur",i.validateOnChangeAfterSubmit="validateOnChangeAfterSubmit",i.validateDisabledFields="validateDisabledFields",i.validateDeletedFields="validateDeletedFields",i.validatePristineFields="validatePristineFields",i.validateTrimmedValue="validateTrimmedValue",i.validateOnClear="validateOnClear",i.validateOnReset="validateOnReset",i.strictUpdate="strictUpdate",i.strictDelete="strictDelete",i.softDelete="softDelete",i.retrieveOnlyDirtyFieldsValues="retrieveOnlyDirtyFieldsValues",i.retrieveOnlyEnabledFieldsValues="retrieveOnlyEnabledFieldsValues",i.retrieveOnlyEnabledFieldsErrors="retrieveOnlyEnabledFieldsErrors",i.retrieveNullifiedEmptyStrings="retrieveNullifiedEmptyStrings",i.removeNullishValuesInArrays="removeNullishValuesInArrays",i.preserveDeletedFieldsValues="preserveDeletedFieldsValues",i.autoTrimValue="autoTrimValue",i.autoParseNumbers="autoParseNumbers",i.validationDebounceWait="validationDebounceWait",i.validationDebounceOptions="validationDebounceOptions",i.stopValidationOnError="stopValidationOnError",i.validationPluginsOrder="validationPluginsOrder",i.resetValidationBeforeValidate="resetValidationBeforeValidate"},138:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.RuntimeMode=void 0,(i=t.RuntimeMode||(t.RuntimeMode={})).mixed="mixed",i.unified="unified",i.separated="separated"},951:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ValidationHooks=void 0,(i=t.ValidationHooks||(t.ValidationHooks={})).onSuccess="onSuccess",i.onError="onError"},215:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.pathToFieldsTree=t.prepareFieldsData=t.handleFieldsArrayOfStrings=t.handleFieldsNested=t.mergeSchemaDefaults=t.parseCheckOutput=t.parseCheckArray=t.parseArrayProp=t.parsePath=t.parseInput=t.defaultValue=void 0;const r=s(i(479)),a=i(561),l=i(593),n=({type:e,value:t,nullable:i=!1,isEmptyArray:s=!1,fallbackValueOption:a=""})=>"file"===e?"":"nullable"===e||"datetime-local"===e||r.default.isDate(t)||"date"===e?null:r.default.isNumber(t)||"number"===e?0:!r.default.isBoolean(t)&&"checkbox"!==e&&(r.default.isString(t)?"":r.default.isArray(t)?[]:i?null:s?[]:a);t.defaultValue=n,t.parsePath=e=>{let t=e;return t=r.default.replace(t,new RegExp("\\[","g"),"."),t=r.default.replace(t,new RegExp("\\]","g"),""),t},t.parseInput=(e,{fallbackValueOption:t="",type:i,isEmptyArray:s,nullable:r,separated:a,unified:o,fallback:d})=>e((0,l.$try)(a,o,d,n({fallbackValueOption:t,type:i,isEmptyArray:s,nullable:r})));const o=(e,t,i)=>{const s=r.default.values(e),l=t===a.FieldPropsEnum.value||t===a.FieldPropsEnum.initial||t===a.FieldPropsEnum.default;return i&&l?r.default.without(s,null,void 0,""):s};t.parseArrayProp=o,t.parseCheckArray=(e,t,i,s)=>e.hasIncrementalKeys?o(t,i,s):t,t.parseCheckOutput=(e,t,i=!1)=>{if(t===a.FieldPropsEnum.value||t.startsWith("value.")){const s=e.$output?e.$output(e[a.FieldPropsEnum.value]):e[a.FieldPropsEnum.value],l=t.startsWith("value.")?r.default.get(s,t.substring(6)):s;return r.default.isString(l)&&r.default.isEmpty(l)&&i?null:l}return e[t]};const d=(e,t=!1)=>{let i=e;return(0,l.isArrayOfStrings)(i)&&(i=r.default.transform(i,((e,i)=>{const s=r.default.split(i,".");return s.length?r.default.merge(e,((e,t=!1)=>r.default.reduceRight(e,((i,s)=>{const a={};if(r.default.endsWith(s,"[]")){const e=t?[i]:[];return a[r.default.trimEnd(s,"[]")]=e,a}const l=e[e.indexOf(s)-1],n=r.default.endsWith(l,"[]")&&r.default.last(e)===s;return!t&&n||(a[s]=i),a}),{}))(s,t)):Object.assign(e,{[i]:""})}),{})),i};t.handleFieldsArrayOfStrings=d;const u=(e,t=!0)=>r.default.transform(e,((e,i,s)=>(0,l.allowNested)(i,t)?Object.assign(e,{[s]:{fields:(0,l.isEmptyArray)(i)?[]:u(i)}}):Object.assign(e,{[s]:i})),{});t.handleFieldsNested=u;t.mergeSchemaDefaults=(e,t)=>{if(t){const i=r.default.get(t.plugins,"svk.config.schema");r.default.isEmpty(e)&&i&&i.properties&&r.default.each(i.properties,((t,i)=>{r.default.set(e,i,{value:t.default,label:t.title})}))}return e},t.prepareFieldsData=(e,t=!0,i=!0)=>{let s=r.default.merge(d(e.fields,!1),d(e.struct,!1));return s=(e=>{let t=e;return(0,l.isArrayOfObjects)(t)&&(t=r.default.transform(t,((e,t)=>{if(!(0,l.hasUnifiedProps)({fields:{field:t}})||r.default.has(t,a.FieldPropsEnum.name))return Object.assign(e,{[t.name]:t})}),{})),t})(s),s=((e,t,i)=>{if(!r.default.has(t,"values"))return e;let{values:s}=t;return(0,l.hasUnifiedProps)({fields:t.fields})&&(s=(e=>r.default.transform(e,((e,t,i)=>{return Object.assign(e,{[i]:{value:t,fields:(s=t,r.default.isPlainObject(s)?r.default.map(s,((e,t)=>({value:e,name:t}))):void 0)}});var s}),{}))(s)),r.default.merge(e,r.default.transform(s,((t,s,a)=>{r.default.isArray(e[a])&&(t[a]=s),a in e||isNaN(Number(a))&&!i||(t[a]=s)}),{}))})(s,e,i),s=u(s,t),s},t.pathToFieldsTree=(e,t,i=0,s=!1)=>{const n=(0,l.pathToStruct)(t),o=r.default.filter(e,(e=>r.default.startsWith(e,n))),p=d(o,s),h=r.default.replace(n,new RegExp("\\[]","g"),`[${i}]`),c=u(r.default.get(p,h));return e.length&&e.filter((e=>e.startsWith(t+"[]"))).map((e=>e.substring((t+"[].").length))).filter((e=>e.endsWith("[]"))).map((e=>e.substring(0,e.length-2))).forEach((e=>{var t,i;const s=e.split(".");let r=null===(t=c[0])||void 0===t?void 0:t.fields;for(let e=0;e<s.length&&(r=null===(i=null==r?void 0:r[s[e]])||void 0===i?void 0:i[a.FieldPropsEnum.fields],r);e++);r&&delete r[0]})),c}},529:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.props=void 0;const s=i(561);t.props={editable:[s.FieldPropsEnum.type,s.FieldPropsEnum.value,s.FieldPropsEnum.initial,s.FieldPropsEnum.default,s.FieldPropsEnum.label,s.FieldPropsEnum.placeholder,s.FieldPropsEnum.related,s.FieldPropsEnum.options,s.FieldPropsEnum.extra,s.FieldPropsEnum.bindings,s.FieldPropsEnum.hooks,s.FieldPropsEnum.handlers,s.FieldPropsEnum.error,s.FieldPropsEnum.deleted,s.FieldPropsEnum.disabled,s.FieldPropsEnum.autoFocus,s.FieldPropsEnum.inputMode,s.FieldPropsEnum.ref],handlers:[s.FieldPropsEnum.onChange,s.FieldPropsEnum.onToggle,s.FieldPropsEnum.onFocus,s.FieldPropsEnum.onBlur,s.FieldPropsEnum.onDrop,s.FieldPropsEnum.onSubmit,s.FieldPropsEnum.onReset,s.FieldPropsEnum.onClear,s.FieldPropsEnum.onAdd,s.FieldPropsEnum.onDel],computed:[s.FieldPropsEnum.hasError,s.FieldPropsEnum.isValid,s.FieldPropsEnum.isDirty,s.FieldPropsEnum.isPristine,s.FieldPropsEnum.isDefault,s.FieldPropsEnum.isEmpty,s.FieldPropsEnum.focused,s.FieldPropsEnum.touched,s.FieldPropsEnum.changed,s.FieldPropsEnum.validating,s.FieldPropsEnum.submitting,s.FieldPropsEnum.resetting,s.FieldPropsEnum.clearing,s.FieldPropsEnum.blurred,s.FieldPropsEnum.deleted,s.FieldPropsEnum.disabled],separated:[s.SeparatedPropsMode.values,s.SeparatedPropsMode.labels,s.SeparatedPropsMode.placeholders,s.SeparatedPropsMode.defaults,s.SeparatedPropsMode.initials,s.SeparatedPropsMode.disabled,s.SeparatedPropsMode.deleted,s.SeparatedPropsMode.types,s.SeparatedPropsMode.related,s.SeparatedPropsMode.rules,s.SeparatedPropsMode.options,s.SeparatedPropsMode.bindings,s.SeparatedPropsMode.extra,s.SeparatedPropsMode.hooks,s.SeparatedPropsMode.handlers,s.SeparatedPropsMode.validatedWith,s.SeparatedPropsMode.validators,s.SeparatedPropsMode.observers,s.SeparatedPropsMode.interceptors,s.SeparatedPropsMode.input,s.SeparatedPropsMode.output,s.SeparatedPropsMode.autoFocus,s.SeparatedPropsMode.inputMode,s.SeparatedPropsMode.refs],functions:[s.FieldPropsEnum.observers,s.FieldPropsEnum.interceptors,s.FieldPropsEnum.input,s.FieldPropsEnum.output],validation:[s.FieldPropsEnum.rules,s.FieldPropsEnum.validators,s.FieldPropsEnum.validatedWith],occurrences:{isDirty:s.FieldPropsOccurrence.some,isPristine:s.FieldPropsOccurrence.every,isDefault:s.FieldPropsOccurrence.every,isValid:s.FieldPropsOccurrence.every,isEmpty:s.FieldPropsOccurrence.every,hasError:s.FieldPropsOccurrence.some,focused:s.FieldPropsOccurrence.some,blurred:s.FieldPropsOccurrence.some,touched:s.FieldPropsOccurrence.some,deleted:s.FieldPropsOccurrence.every,disabled:s.FieldPropsOccurrence.every,clearing:s.FieldPropsOccurrence.every,resetting:s.FieldPropsOccurrence.every}}},593:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getObservableMapValues=t.getObservableMapKeys=t.$try=t.$isBool=t.$hasFiles=t.$isEvent=t.uniqueId=t.maxKey=t.hasIntKeys=t.parseIntKeys=t.allowNested=t.hasSeparatedProps=t.hasUnifiedProps=t.pathToStruct=t.isArrayOfObjects=t.isEmptyArray=t.isArrayOfStrings=t.throwError=t.allowedProps=t.hasProps=t.checkPropOccurrence=t.checkObserve=t.props=void 0;const r=s(i(479)),a=i(259),l=i(561),n=i(529);Object.defineProperty(t,"props",{enumerable:!0,get:function(){return n.props}}),t.getObservableMapValues=e=>(0,a.values)(e);const o=e=>(0,a.keys)(e);t.getObservableMapKeys=o,t.checkObserve=e=>t=>e.map((e=>({key:t,to:i,type:s,exec:r})=>e.type===s&&e.name===t&&e.newValue===i&&r.apply(e,[e]))(t)),t.checkPropOccurrence=({type:e,data:t})=>{let i;switch(e){case l.FieldPropsOccurrence.some:i=e=>r.default.some(e,Boolean);break;case l.FieldPropsOccurrence.every:i=e=>r.default.every(e,Boolean);break;default:throw new Error("Occurrence not found for specified prop")}return i(t)};const d=(e,t)=>{let i;switch(e){case l.AllowedFieldPropsTypes.computed:i=n.props.computed;break;case l.AllowedFieldPropsTypes.observable:i=[l.FieldPropsEnum.fields,...n.props.computed,...n.props.editable];break;case l.AllowedFieldPropsTypes.editable:i=[...n.props.editable,...n.props.validation,...n.props.functions,...n.props.handlers];break;case l.AllowedFieldPropsTypes.all:i=[l.FieldPropsEnum.id,l.FieldPropsEnum.key,l.FieldPropsEnum.name,l.FieldPropsEnum.path,...n.props.computed,...n.props.editable,...n.props.validation,...n.props.functions,...n.props.handlers];break;default:i=null}return r.default.intersection(t,i).length>0};t.hasProps=d,t.allowedProps=(e,t)=>{if(!d(e,t))throw new Error(`The selected property is not allowed (${JSON.stringify(t)})`)},t.throwError=(e,t,i=null)=>{if(!r.default.isNil(t))return;const s=r.default.isNil(i)?"The selected field is not defined":i;throw new Error(`${s} (${e})`)},t.pathToStruct=e=>{let t;return t=r.default.replace(e,new RegExp("[.]\\d+($|.)","g"),"[]."),t=r.default.replace(t,"..","."),t=r.default.trim(t,"."),t};const u=(e,t)=>r.default.some(t,r.default.partial(r.default.has,e));t.isEmptyArray=e=>r.default.isEmpty(e)&&r.default.isArray(e);const p=e=>r.default.isArray(e)&&r.default.every(e,r.default.isString);t.isArrayOfStrings=p,t.isArrayOfObjects=e=>r.default.isArray(e)&&r.default.every(e,r.default.isPlainObject),t.hasUnifiedProps=({fields:e})=>!p({fields:e})&&d(l.AllowedFieldPropsTypes.editable,(e=>r.default.union(...r.default.map(r.default.values(e),(e=>r.default.keys(e)))))(e)),t.hasSeparatedProps=e=>u(e,n.props.separated)||u(e,n.props.validation),t.allowNested=(e,t)=>r.default.isObject(e)&&!r.default.isDate(e)&&!r.default.has(e,l.FieldPropsEnum.fields)&&(!u(e,[...n.props.editable,...n.props.validation,...n.props.functions,...n.props.handlers])||t);const h=e=>r.default.map(o(e),r.default.ary(r.default.toNumber,1));t.parseIntKeys=h,t.hasIntKeys=e=>r.default.every(h(e),r.default.isInteger),t.maxKey=e=>{const t=r.default.max(h(e));return r.default.isUndefined(t)?0:t+1},t.uniqueId=e=>r.default.uniqueId([r.default.replace(e.path,new RegExp("\\.","g"),"-"),"--"].join("")),t.$isEvent=e=>!r.default.isNil(e)&&"undefined"!=typeof Event&&(e instanceof Event||!r.default.isNil(e.target)),t.$hasFiles=e=>e.target.files&&0!==e.target.files.length,t.$isBool=(e,t)=>r.default.isBoolean(t)&&r.default.isBoolean(e.target.checked),t.$try=(...e)=>{let t=null;return e.map((e=>null===t&&!r.default.isUndefined(e)&&(t=e))),t}},479:t=>{t.exports=e},259:e=>{e.exports=t}},s={};return function e(t){var r=s[t];if(void 0!==r)return r.exports;var a=s[t]={exports:{}};return i[t].call(a.exports,a,a.exports,e),a.exports}(607)})()));
//# sourceMappingURL=MobxReactForm.umd.min.js.map

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc