react-model-view-viewmodel
Version:
A library for developing ReactJS applications using Model-View-ViewModel, inspired by .NET.
1 lines • 63 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.reactMVVM=t(require("react")):e.reactMVVM=t(e.React)}(this,(e=>(()=>{"use strict";var t={5390:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObservableMap=t.ReadOnlyObservableMap=t.isSetLike=t.ObservableSet=t.ReadOnlyObservableSet=t.ReadOnlyObservableCollection=t.ObservableCollection=void 0;var n=i(7375);Object.defineProperty(t,"ObservableCollection",{enumerable:!0,get:function(){return n.ObservableCollection}}),Object.defineProperty(t,"ReadOnlyObservableCollection",{enumerable:!0,get:function(){return n.ReadOnlyObservableCollection}});var r=i(6846);Object.defineProperty(t,"ReadOnlyObservableSet",{enumerable:!0,get:function(){return r.ReadOnlyObservableSet}}),Object.defineProperty(t,"ObservableSet",{enumerable:!0,get:function(){return r.ObservableSet}}),Object.defineProperty(t,"isSetLike",{enumerable:!0,get:function(){return r.isSetLike}});var s=i(884);Object.defineProperty(t,"ReadOnlyObservableMap",{enumerable:!0,get:function(){return s.ReadOnlyObservableMap}}),Object.defineProperty(t,"ObservableMap",{enumerable:!0,get:function(){return s.ObservableMap}})},5194:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObservableCollection=void 0;const n=i(424);class r extends n.ReadOnlyObservableCollection{constructor(e){super(e)}get length(){return super.length}set length(e){super.length=e}push(...e){return super.push.apply(this,arguments)}pop(){return super.pop.apply(this,arguments)}unshift(...e){return super.unshift.apply(this,arguments)}shift(){return super.shift.apply(this,arguments)}get(e){return super.get.apply(this,arguments)}set(e,t){return super.set.apply(this,arguments)}splice(e,t,...i){return super.splice.apply(this,arguments)}sort(e){return super.sort.apply(this,arguments)}reverse(){return super.reverse.apply(this,arguments)}copyWithin(e,t,i){return super.copyWithin.apply(this,arguments)}fill(e,t,i){return super.fill.apply(this,arguments)}}t.ObservableCollection=r},424:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ReadOnlyObservableCollection=void 0;const n=i(6716),r=i(8502);class s extends r.ViewModel{constructor(e){if(super(),this._changeToken=0,this._length=0,null!=e)for(const t of e)h(this,this._length,t),this._length++;this.collectionChanged=this._collectionChangedEvent=new n.EventDispatcher,this.collectionReordered=this._collectionReorderedEvent=new n.EventDispatcher}get length(){return this._length}set length(e){if(this._length<e){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const t=this._length,i=new Array(e-this._length),n=new Array(i.length);for(let e=0;e<i.length;e++){const r=e+t;i[e]=void 0,n[e]=r,h(this,r,void 0)}this._length=e,this._collectionChangedEvent.dispatch(this,{operation:"expand",addedItems:i,removedItems:[],startIndex:t}),this.notifyPropertiesChanged("length",...n)}else if(this._length>e){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const t=e,i=new Array(this._length-e),n=new Array(i.length);for(let e=0;e<i.length;e++){const r=e+t;i[e]=this[r],n[e]=r,delete this[r]}this._length=e,this._collectionChangedEvent.dispatch(this,{operation:"contract",addedItems:[],removedItems:i,startIndex:t}),this.notifyPropertiesChanged("length",...n)}}[Symbol.iterator](){const e=this._changeToken;return new o(this,(()=>e!==this._changeToken),(e=>this[e]))}entries(){const e=this._changeToken;return new o(this,(()=>e!==this._changeToken),(e=>[e,this[e]]))}keys(){const e=this._changeToken;return new o(this,(()=>e!==this._changeToken),(e=>e))}values(){const e=this._changeToken;return new o(this,(()=>e!==this._changeToken),(e=>this[e]))}at(e){return this[e<0?e+this._length:e]}with(e,t){if(e<-this._length||e>=this._length)throw new RangeError(`The provided index '${e}' is outside the bounds of the collection.`);const i=new Array(this._length);let n=e<0?e+this._length:e;for(let e=0;e<n;e++)i[e]=this[e];i[n]=t;for(let e=n+1;e<this._length;e++)i[e]=this[e];return i}concat(...e){const t=this.toArray();return e.forEach((e=>{Array.isArray(e)?t.push(...e):t.push(e)})),t}join(e){return this.toArray().join(e)}slice(e,t){const i=a(this,e),n=l(this,t);if(n<=i)return[];{const e=new Array(n-i);for(let t=0;t<e.length;t++)e[t]=this[t+i];return e}}indexOf(e,t){let i=a(this,t);for(;i<this._length&&this[i]!==e;)i++;return i>=this._length?-1:i}lastIndexOf(e,t){let i=l(this,t);for(;i>=0&&this[i]!==e;)i--;return i<-1?-1:i}every(e,t){let i=!0;const n=this._changeToken;let r=0;for(;i&&r<this._length;)if(i=e.call(t,this[r],r,this),r++,n!==this._changeToken)throw new Error("Collection has changed while being iterated.");return i}some(e,t){let i=!1;const n=this._changeToken;let r=0;for(;!i&&r<this._length;)if(i=e.call(t,this[r],r,this),r++,n!==this._changeToken)throw new Error("Collection has changed while being iterated.");return i}forEach(e,t){const i=this._changeToken;for(let n=0;n<this._length;n++)if(e.call(t,this[n],n,this),i!==this._changeToken)throw new Error("Collection has changed while being iterated.")}map(e,t){const i=this._changeToken,n=new Array(this._length);for(let r=0;r<this._length;r++)if(n[r]=e.call(t,this[r],r,this),i!==this._changeToken)throw new Error("Collection has changed while being iterated.");return n}filter(e,t){const i=this._changeToken,n=[];for(let r=0;r<this._length;r++){const s=this[r];if(e.call(t,s,r,this)&&n.push(s),i!==this._changeToken)throw new Error("Collection has changed while being iterated.")}return n}reduce(e,t){if(1===arguments.length&&0===this._length)throw new Error("Cannot reduce an empty collection without providing an initial value.");const i=this._changeToken;let n=1===arguments.length?this[0]:t;for(let t=1===arguments.length?1:0;t<this._length;t++)if(n=e(n,this[t],t,this),i!==this._changeToken)throw new Error("Collection has changed while being iterated.");return n}reduceRight(e,t){if(1===arguments.length&&0===this._length)throw new Error("Cannot reduce an empty collection without providing an initial value.");const i=this._changeToken;let n=1===arguments.length?this[this._length-1]:t;for(let t=1===arguments.length?this._length-2:this._length-1;t>=0;t--)if(n=e(n,this[t],t,this),i!==this._changeToken)throw new Error("Collection has changed while being iterated.");return n}find(e,t){const i=this._changeToken;let n,r=!1,s=0;for(;!r&&s<this._length;){const o=this[s];if(e.call(t,o,s,this)?(r=!0,n=o):s++,i!==this._changeToken)throw new Error("Collection has changed while being iterated.")}return n}findLast(e,t){const i=this._changeToken;let n,r=!1,s=this._length-1;for(;!r&&s>=0;){const o=this[s];if(e.call(t,o,s,this)?(r=!0,n=o):s--,i!==this._changeToken)throw new Error("Collection has changed while being iterated.")}return n}findIndex(e,t){const i=this._changeToken;let n=!1,r=0;for(;!n&&r<this._length;)if(e.call(t,this[r],r,this)?n=!0:r++,i!==this._changeToken)throw new Error("Collection has changed while being iterated.");return r>=this._length?-1:r}findLastIndex(e,t){const i=this._changeToken;let n=!1,r=this._length-1;for(;!n&&r>=0;)if(e.call(t,this[r],r,this)?n=!0:r--,i!==this._changeToken)throw new Error("Collection has changed while being iterated.");return r}includes(e,t){let i=null==t||t<-this._length?0:t<0?t+this._length:t;for(;i<this._length&&this[i]!==e;)i++;return i<this._length}toReversed(){const e=new Array(this._length);for(let t=0,i=this._length-1;t<this._length;t++,i--)e[i]=this[t];return e}toSorted(e){const t=this._changeToken,i=c(this,e,(()=>t!==this._changeToken)),n=new Array(this._length);for(let e=0;e<this._length;e++)n[e]=this[i[e]];return n}toSpliced(e,t,...i){const n=a(this,e),r=n+(1===arguments.length?this._length-n:d(this,n,t));let s=0;const o=new Array(n+i.length+(this._length-r));for(let e=0;e<n;e++,s++)o[s]=this[e];for(let e=0;e<i.length;e++,s++)o[s]=i[e];for(let e=r;e<this._length;e++,s++)o[s]=this[e];return o}toArray(){const e=new Array(this._length);for(let t=0;t<this._length;t++)e[t]=this[t];return e}push(...e){if(e.length>0){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const t=this._length;for(let i=0;i<e.length;i++)h(this,t+i,e[i]);this._length+=e.length,this._collectionChangedEvent.dispatch(this,{operation:"push",startIndex:t,addedItems:e,removedItems:[]});const i=new Array(e.length);for(let n=0;n<e.length;n++)i[n]=n+t;this.notifyPropertiesChanged("length",...i)}return this._length}pop(){if(0!==this._length){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=this._length-1,t=this[e];return this._length--,delete this[e],this._collectionChangedEvent.dispatch(this,{operation:"pop",startIndex:e,addedItems:[],removedItems:[t]}),this.notifyPropertiesChanged("length",e),t}}unshift(...e){if(e.length>0){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;for(let t=this._length-1;t>=0;t--)h(this,t+e.length,this[t]);for(let t=0;t<e.length;t++)h(this,t,e[t]);this._length+=e.length,this._collectionChangedEvent.dispatch(this,{operation:"unshift",startIndex:0,addedItems:e,removedItems:[]});const t=new Array(this._length);for(let e=0;e<this._length;e++)t[e]=e;this.notifyPropertiesChanged("length",...t)}return this._length}shift(){if(0!==this._length){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=this[0],t=new Array(this._length);for(let e=0;e<this._length-1;e++)t[e]=e,h(this,e,this[e+1]);return t[this._length-1]=this._length-1,this._length--,delete this[this._length],this._collectionChangedEvent.dispatch(this,{operation:"shift",startIndex:0,addedItems:[],removedItems:[e]}),this.notifyPropertiesChanged("length",...t),e}}get(e){return this.at(e)}set(e,t){const i=function(e,t){return e<0?Math.max(0,e+t):e}(e,this._length);if(i<this._length){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=this[i];h(this,i,t),this._collectionChangedEvent.dispatch(this,{operation:"set",startIndex:i,addedItems:[t],removedItems:[e]}),this.notifyPropertiesChanged(i)}else{this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=this._length,n=new Array(i-e);for(let t=e;t<i;t++)h(this,t,void 0),n[t-e]=void 0;h(this,i,t),n[i-e]=t,this._length=i+1,this._collectionChangedEvent.dispatch(this,{operation:"set",startIndex:e,addedItems:n,removedItems:[]}),this.notifyPropertiesChanged("length",i)}return this._length}splice(e,t,...i){const n=a(this,e),r=1===arguments.length?this._length-n:d(this,n,t);if(0===r&&0===i.length)return[];{this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=new Array(r);for(let t=0;t<r;t++)e[t]=this[t+n];let t;const s=i.length-r;if(0===s){t=new Array(r);for(let e=0;e<r;e++){const r=e+n;t[e]=r,h(this,r,i[e])}}else{const e=this._length-n;if(s<0){t=new Array(1+e);for(let e=n+r;e<this._length;e++)h(this,e+s,this[e]);for(let e=this._length+s;e<this._length;e++)delete this[e]}else{t=new Array(1+e+s);for(let t=n+e-1;t>=n;t--)h(this,t+s,this[t])}this._length+=s,t[0]="length";for(let e=1;e<t.length;e++)t[e]=n+e-1;for(let e=0;e<i.length;e++)h(this,e+n,i[e])}return this._collectionChangedEvent.dispatch(this,{operation:"splice",startIndex:n,addedItems:i,removedItems:e}),this.notifyPropertiesChanged.apply(this,t),e}}sort(e){if(this.length>1){const t=this._changeToken,i=c(this,e,(()=>t!==this._changeToken));if(i.some(((e,t)=>e!==t))){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=new Array(i.filter(((e,t)=>e!==t)).length),t=new Array(e.length);let n=0;i.forEach(((i,r)=>{i!==r&&(e[n]={currentIndex:r,currentItem:this[i],previousIndex:i,previousItem:this[r]},t[n]=r,n++)})),e.forEach((({currentItem:e,currentIndex:t})=>{h(this,t,e)})),this._collectionReorderedEvent.dispatch(this,{operation:"sort",movedItems:e}),this.notifyPropertiesChanged.apply(this,t)}}return this}reverse(){if(this.length>1){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=this.length-this.length%2,t=new Array(e),i=new Array(e);for(let n=0,r=e/2;n<r;n++){const e=this.length-1-n;t[n]={currentIndex:n,currentItem:this[e],previousIndex:e,previousItem:this[n]},t[t.length-1-n]={currentIndex:e,currentItem:this[n],previousIndex:n,previousItem:this[e]},i[n]=n,i[i.length-1-n]=e;const r=this[n];h(this,n,this[e]),h(this,e,r)}this._collectionReorderedEvent.dispatch(this,{operation:"reverse",movedItems:t}),this.notifyPropertiesChanged.apply(this,i)}return this}copyWithin(e,t,i){const n=a(this,e),r=a(this,t),s=l(this,i);if(n!==r&&r<s){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=s-r,t=new Array(e),i=new Array(e),o=new Array(e);if(n<r)for(let s=0;s<e;s++){const e=s+n,a=s+r;t[s]=e,i[s]=this[a],o[s]=this[e],h(this,e,this[a])}else for(let s=e-1;s>=0;s--){const e=s+n,a=s+r;t[s]=e,i[s]=this[a],o[s]=this[e],h(this,e,this[a])}this._collectionChangedEvent.dispatch(this,{operation:"copyWithin",addedItems:i,removedItems:o,startIndex:n}),this.notifyPropertiesChanged.apply(this,t)}return this}fill(e,t,i){const n=a(this,t),r=l(this,i);if(r>n){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const t=r-n,i=new Array(t),s=new Array(t),o=new Array(t);for(let r=0;r<t;r++){const t=r+n;i[r]=t,s[r]=e,o[r]=this[t],h(this,t,e)}this._collectionChangedEvent.dispatch(this,{operation:"fill",startIndex:n,addedItems:s,removedItems:o}),this.notifyPropertiesChanged.apply(this,i)}return this}}t.ReadOnlyObservableCollection=s;class o{constructor(e,t,i){this._index=0,this._index=0,this._observableCollection=e,this._completed=this._index>=this._observableCollection.length,this._collectionChanged=t,this._getCurrentValue=i}[Symbol.iterator](){return this}next(){if(this._completed)return{done:!0,value:void 0};if(this._collectionChanged())throw new Error("Collection has changed while being iterated.");{const e=this._getCurrentValue(this._index,this._observableCollection);return this._index++,this._completed=this._index>=this._observableCollection.length,{done:!1,value:e}}}return(e){return this._completed=!0,{done:!0,value:e}}throw(){return this._completed=!0,{done:!0,value:void 0}}}function a(e,t){const i=e.length,n=Number(t)||0;return n<-i?0:n<0?n+i:Math.min(n,i)}function l(e,t){const i=e.length,n=Number(t)||Number.POSITIVE_INFINITY;return n>=i?i:n<0?n+i:n}function d(e,t,i){const n=e.length,r=Number(i)||0;return 1===arguments.length?n-t:r<0?0:Math.min(r,n-t)}function h(e,t,i){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:i,writable:!1})}function c(e,t,i){if(e.length<=1)return[0];if(null==t){const t=new Array(e.length);for(let i=0;i<e.length;i++){const n=e[i];null===n?t[i]="null":void 0===n?t[i]=void 0:n.toString?t[i]=n.toString():t[i]=""+n}return g(t,((e,t)=>e.localeCompare(t)))}return g(e,((e,n)=>{const r=t(e,n);if(i&&i())throw new Error("Collection has changed while being iterated.");return r}))}function g(e,t){let i,n=new Array(e.length);for(let t=0;t<e.length;t++)n[t]=t;let r=new Array(e.length),s=1;do{s<<=1;for(let i=0;i<e.length;i+=s)u(e,n,r,i,s,t);i=r,r=n,n=i}while(s<e.length);return i}function u(e,t,i,n,r,s){let o=n;const a=Math.min(e.length,n+Math.floor(r/2));let l=a;const d=Math.min(e.length,n+r);let h=n;for(;o<a&&l<d;){const n=e[t[o]],r=e[t[l]];(void 0===n?void 0===r?0:1:void 0===r?-1:s(e[t[o]],e[t[l]]))<=0?(i[h]=t[o],o++):(i[h]=t[l],l++),h++}for(;o<a;)i[h]=t[o],o++,h++;for(;l<d;)i[h]=t[l],l++,h++}},7375:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObservableCollection=t.ReadOnlyObservableCollection=void 0;var n=i(424);Object.defineProperty(t,"ReadOnlyObservableCollection",{enumerable:!0,get:function(){return n.ReadOnlyObservableCollection}});var r=i(5194);Object.defineProperty(t,"ObservableCollection",{enumerable:!0,get:function(){return r.ObservableCollection}})},1581:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObservableMap=void 0;const n=i(7927);class r extends n.ReadOnlyObservableMap{constructor(e){super(e)}set(e,t){return super.set.apply(this,arguments)}delete(e){return super.delete.apply(this,arguments)}clear(){return super.clear.apply(this,arguments)}}t.ObservableMap=r},7927:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ReadOnlyObservableMap=void 0;const n=i(6716),r=i(8502);class s extends r.ViewModel{constructor(e){super(),this._changeToken=0,this._map=new Map(e),this.mapChanged=this._mapChangedEvent=new n.EventDispatcher}get size(){return this._map.size}[Symbol.iterator](){return this.entries()}entries(){let e=this._changeToken;return new o(this._map.entries(),(()=>e!==this._changeToken))}keys(){let e=this._changeToken;return new o(this._map.keys(),(()=>e!==this._changeToken))}values(){let e=this._changeToken;return new o(this._map.values(),(()=>e!==this._changeToken))}has(e){return this._map.has(e)}get(e){return this._map.get(e)}forEach(e,t){const i=this._changeToken;for(const[n,r]of this)if(e.call(t,r,n,this),i!==this._changeToken)throw new Error("Map has changed while being iterated.")}toMap(){return new Map(this._map)}set(e,t){if(!this._map.has(e)||t!==this._map.get(e)){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const i=this.size;this._map.set(e,t),this._mapChangedEvent.dispatch(this,{operation:"set",addedEntries:[[e,t]],removedEntries:[]}),i!==this.size&&this.notifyPropertiesChanged("size")}return this}delete(e){const t=this._map.get(e),i=this._map.delete(e);return i&&(this._changeToken=(this._changeToken+1)%Number.MAX_VALUE,this._mapChangedEvent.dispatch(this,{operation:"delete",addedEntries:[],removedEntries:[[e,t]]}),this.notifyPropertiesChanged("size")),i}clear(){if(this.size>0){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=Array.from(this._map.entries());this._map.clear(),this._mapChangedEvent.dispatch(this,{operation:"clear",addedEntries:[],removedEntries:e}),this.notifyPropertiesChanged("size")}}}t.ReadOnlyObservableMap=s;class o{constructor(e,t){this._iterator=e,this._mapChanged=t}[Symbol.iterator](){return this}next(){if(this._completed)return{done:!0,value:void 0};if(this._mapChanged())throw new Error("Map has changed while being iterated.");{const{done:e=!1,value:t}=this._iterator.next();return e?(this._completed=!0,{done:!0,value:void 0}):{done:!1,value:t}}}return(e){return this._completed=!0,{done:!0,value:e}}throw(){return this._completed=!0,{done:!0,value:void 0}}}},884:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObservableMap=t.ReadOnlyObservableMap=void 0;var n=i(7927);Object.defineProperty(t,"ReadOnlyObservableMap",{enumerable:!0,get:function(){return n.ReadOnlyObservableMap}});var r=i(1581);Object.defineProperty(t,"ObservableMap",{enumerable:!0,get:function(){return r.ObservableMap}})},1893:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObservableSet=void 0;const n=i(5103);class r extends n.ReadOnlyObservableSet{constructor(e){super(e)}add(e){return super.add.apply(this,arguments)}delete(e){return super.delete.apply(this,arguments)}clear(){return super.clear.apply(this,arguments)}}t.ObservableSet=r},5103:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ReadOnlyObservableSet=void 0;const n=i(6716),r=i(8502),s=i(8677);class o extends r.ViewModel{constructor(e){super(),this._changeToken=0,this._set=new Set(e),this.setChanged=this._setChangedEvent=new n.EventDispatcher}get size(){return this._set.size}[Symbol.iterator](){return this.values()}entries(){let e=this._changeToken;return new a(this._set.entries(),(()=>e!==this._changeToken))}keys(){return this.values()}values(){let e=this._changeToken;return new a(this._set[Symbol.iterator](),(()=>e!==this._changeToken))}has(e){return this._set.has(e)}isDisjointFrom(e){if(null==e||0===this.size)return!0;for(const t of(0,s.isSetLike)(e)?e.keys():e)if(this.has(t))return!1;return!0}isSubsetOf(e){if(null==e)return!1;if(0===this.size)return!0;const t=(0,s.isSetLike)(e)?e:new Set(e);if(t.size<this.size)return!1;for(const e of this)if(!t.has(e))return!1;return!0}isSupersetOf(e){if(null==e)return!1;for(const t of(0,s.isSetLike)(e)?e.keys():e)if(!this.has(t))return!1;return!0}difference(e){const t=new Set(this);if(null!=e)for(const i of(0,s.isSetLike)(e)?e.keys():e)t.delete(i);return t}intersection(e){const t=new Set;if(null!=e)for(const i of(0,s.isSetLike)(e)?e.keys():e)this.has(i)&&t.add(i);return t}union(e){const t=new Set(this);if(null!=e)for(const i of(0,s.isSetLike)(e)?e.keys():e)t.add(i);return t}symmetricDifference(e){if(null==e)return new Set(this);if(0===this.size)return new Set((0,s.isSetLike)(e)?e.keys():e);{const t=new Set,i=new Set;for(const n of(0,s.isSetLike)(e)?e.keys():e)this.has(n)?i.add(n):t.add(n);for(const e of this)i.has(e)||t.add(e);return t}}forEach(e,t){const i=this._changeToken;for(const n of this)if(e.call(t,n,n,this),i!==this._changeToken)throw new Error("Set has changed while being iterated.")}toSet(){return new Set(this)}add(e){const t=this.size;return this._set.add(e),t!==this.size&&(this._changeToken=(this._changeToken+1)%Number.MAX_VALUE,this._setChangedEvent.dispatch(this,{operation:"add",addedItems:[e],removedItems:[]}),this.notifyPropertiesChanged("size")),this}delete(e){return!!this._set.delete(e)&&(this._changeToken=(this._changeToken+1)%Number.MAX_VALUE,this._setChangedEvent.dispatch(this,{operation:"delete",addedItems:[],removedItems:[e]}),this.notifyPropertiesChanged("size"),!0)}clear(){if(this._set.size>0){this._changeToken=(this._changeToken+1)%Number.MAX_VALUE;const e=Array.from(this._set);this._set.clear(),this._setChangedEvent.dispatch(this,{operation:"clear",addedItems:[],removedItems:e}),this.notifyPropertiesChanged("size")}}}t.ReadOnlyObservableSet=o;class a{constructor(e,t){this._iterator=e,this._setChanged=t}[Symbol.iterator](){return this}next(){if(this._completed)return{done:!0,value:void 0};if(this._setChanged())throw new Error("Set has changed while being iterated.");{const{done:e=!1,value:t}=this._iterator.next();return e?(this._completed=!0,{done:!0,value:void 0}):{done:!1,value:t}}}return(e){return this._completed=!0,{done:!0,value:e}}throw(){return this._completed=!0,{done:!0,value:void 0}}}},6846:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isSetLike=t.ObservableSet=t.ReadOnlyObservableSet=void 0;var n=i(5103);Object.defineProperty(t,"ReadOnlyObservableSet",{enumerable:!0,get:function(){return n.ReadOnlyObservableSet}});var r=i(1893);Object.defineProperty(t,"ObservableSet",{enumerable:!0,get:function(){return r.ObservableSet}});var s=i(8677);Object.defineProperty(t,"isSetLike",{enumerable:!0,get:function(){return s.isSetLike}})},8677:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isSetLike=function(e){return"number"==typeof e.size&&"function"==typeof e.has&&"function"==typeof e.keys}},2096:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DependencyContainer=void 0;const n=i(272);class r{constructor(e){this._singletonDependencyFactories=new Map,this._scopedDependencyFactories=new Map,this._parent=void 0===e?null:e,this.createScope=this.createScope.bind(this),this.resolve=this.resolve.bind(this)}createScope(){return new r(this)}registerSingletonType(e,t=(t=>new e(t))){return this._singletonDependencyFactories.set(e,new s(this,t)),this._scopedDependencyFactories.delete(e),this}registerInstanceToToken(e,t){return this._singletonDependencyFactories.set(e,new a(t)),this._scopedDependencyFactories.delete(e),this}registerSingletonTypeToToken(e,t){return this.registerSingletonFactoryToToken(e,(e=>new t(e)))}registerSingletonFactoryToToken(e,t){return this._singletonDependencyFactories.set(e,new s(this,t)),this._scopedDependencyFactories.delete(e),this}registerScopedType(e,t=(t=>new e(t))){return this._singletonDependencyFactories.delete(e),this._scopedDependencyFactories.set(e,new s(this,t)),this}registerScopedTypeToToken(e,t){return this.registerScopedFactoryToToken(e,(e=>new t(e)))}registerScopedFactoryToToken(e,t){return this._singletonDependencyFactories.delete(e),this._scopedDependencyFactories.set(e,new s(this,t)),this}registerTransientType(e,t){return this._singletonDependencyFactories.delete(e),this._scopedDependencyFactories.set(e,new o(this,t)),this}registerTransientTypeToToken(e,t){return this.registerTransientFactoryToToken(e,(e=>new t(e)))}registerTransientFactoryToToken(e,t){return this._singletonDependencyFactories.delete(e),this._scopedDependencyFactories.set(e,new o(this,t)),this}resolve(e,t){try{if(r._dependencyResolutionChain.push(e),r._dependencyResolutionChain.lastIndexOf(e,-2)>=0)throw new Error(`Circular dependency detected while trying to resolve '${r._dependencyResolutionChain.map((e=>{var t;return null!==(t=null==e?void 0:e.name)&&void 0!==t?t:e})).join(" -> ")}'.`);if(null==(s=e)||!("function"==typeof s||s instanceof n.DependencyToken))return e;if(null!=(i=t)&&Array.isArray(i)&&i.length>0)return new e(this,...t);let o=null,a=this;do{let t=a._scopedDependencyFactories.get(e);null!=t?a===this?o=t:(o=t.withScope(this),this._scopedDependencyFactories.set(e,o)):(t=a._singletonDependencyFactories.get(e),null!=t?o=t:a=a._parent)}while(null!==a&&null===o);if(null===o){if(e instanceof n.DependencyToken)throw new Error(`There is no configured dependency for token '${e.toString()}'.`);return new e(this)}return o.resolve()}finally{r._dependencyResolutionChain.pop()}var i,s}}t.DependencyContainer=r,r._dependencyResolutionChain=[];class s{constructor(e,t){this._initialized=!1,this._instance=null,this._dependencyResolver=e,this._factoryCallback=t}resolve(){return this._initialized||(this._instance=this._factoryCallback(this._dependencyResolver),this._initialized=!0),this._instance}withScope(e){return new s(e,this._factoryCallback)}}class o{constructor(e,t){this._dependencyResolver=e,this._factoryCallback=t}resolve(){return this._factoryCallback(this._dependencyResolver)}withScope(e){return new o(e,this._factoryCallback)}}class a{constructor(e){this._instance=e}resolve(){return this._instance}withScope(e){return this}}},1090:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDependencyResolver=o,t.DependencyResolverProvider=function(e){const{dependencyResolver:t,children:i}=e;return(0,n.createElement)(s.Provider,{value:t,children:i})},t.DependencyResolverScope=function({deps:e,children:t}){const i=null!=e&&Array.isArray(e)&&0!==e.length?e:a,r=o(),l=(0,n.useRef)(null),d=(0,n.useRef)(i);return(null===l.current||d.current.length!==i.length||d.current.some(((e,t)=>e!==i[t])))&&(l.current=r.createScope(),d.current=i.slice()),(0,n.createElement)(s.Provider,{value:l.current,children:t})};const n=i(8036),r=i(2096),s=(0,n.createContext)(new r.DependencyContainer);function o(){return(0,n.useContext)(s)}const a=[]},272:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DependencyToken=void 0,t.DependencyToken=class{constructor(e){this.description=e}toString(){return this.description}}},2490:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDependency=function(e,t){const i=null!=t&&Array.isArray(t)&&0!==t.length?t:s,o=(0,r.useDependencyResolver)(),a=(0,n.useRef)(i);(a.current.length!==i.length||a.current.some(((e,t)=>!Object.is(e,i[t]))))&&(a.current=i.slice());const{current:l}=a;return(0,n.useMemo)((()=>o.resolve(e,l)),[o,e,l])};const n=i(8036),r=i(1090),s=[]},3268:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useViewModelDependency=function(e,t){const i=(0,r.useDependency)(e,t);return(0,n.useViewModel)(i),i};const n=i(6839),r=i(2490)},284:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDependencyResolver=t.DependencyResolverScope=t.DependencyResolverProvider=t.useViewModelDependency=t.useDependency=t.DependencyContainer=t.DependencyToken=void 0,i(2490);var n=i(272);Object.defineProperty(t,"DependencyToken",{enumerable:!0,get:function(){return n.DependencyToken}});var r=i(2096);Object.defineProperty(t,"DependencyContainer",{enumerable:!0,get:function(){return r.DependencyContainer}});var s=i(2490);Object.defineProperty(t,"useDependency",{enumerable:!0,get:function(){return s.useDependency}});var o=i(3268);Object.defineProperty(t,"useViewModelDependency",{enumerable:!0,get:function(){return o.useViewModelDependency}});var a=i(1090);Object.defineProperty(t,"DependencyResolverProvider",{enumerable:!0,get:function(){return a.DependencyResolverProvider}}),Object.defineProperty(t,"DependencyResolverScope",{enumerable:!0,get:function(){return a.DependencyResolverScope}}),Object.defineProperty(t,"useDependencyResolver",{enumerable:!0,get:function(){return a.useDependencyResolver}})},2561:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventDispatcher=void 0,t.EventDispatcher=class{constructor(){this._eventHandlers=[]}subscribe(e){null!=e&&(this._eventHandlers=this._eventHandlers.concat(e))}unsubscribe(e){const t=this._eventHandlers.indexOf(e);t>=0&&(this._eventHandlers=this._eventHandlers.filter(((e,i)=>i!==t)))}dispatch(e,t){this._eventHandlers.forEach((i=>{this._eventHandlers.indexOf(i)>=0&&i.handle(e,t)}))}}},6716:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventDispatcher=t.isEvent=void 0;var n=i(8152);Object.defineProperty(t,"isEvent",{enumerable:!0,get:function(){return n.isEvent}});var r=i(2561);Object.defineProperty(t,"EventDispatcher",{enumerable:!0,get:function(){return r.EventDispatcher}})},8152:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isEvent=function(e){return null!=e&&"function"!=typeof e&&"subscribe"in e&&"function"==typeof e.subscribe&&"unsubscribe"in e&&"function"==typeof e.unsubscribe}},772:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Form=void 0;const n=i(5390),r=i(6954),s=i(6544);class o extends r.Validatable{constructor(){super(),this.validation=new r.ObjectValidator({target:this,shouldTargetTriggerValidation:(e,t)=>this.onShouldTriggerValidation(t)}),this.fields=this._fields=new a,this.sections=this._sections=new a,this.sectionsCollections=this._sections.aggregatedCollections;const e={handle:this.onFieldChanged.bind(this)};this.fields.collectionChanged.subscribe({handle(t,{addedItems:i,removedItems:n}){n.forEach((t=>{t.propertiesChanged.unsubscribe(e),t.reset()})),i.forEach((t=>{t.propertiesChanged.subscribe(e)}))}});const t={handle:this.onSectionChanged.bind(this)};this.sections.collectionChanged.subscribe({handle(e,{addedItems:i,removedItems:n}){n.forEach((e=>{e.propertiesChanged.unsubscribe(t)})),i.forEach((e=>{e.propertiesChanged.subscribe(t)}))}});const i={handle:this.onSectionsCollectionChanged.bind(this)};this._sections.aggregatedCollections.collectionChanged.subscribe({handle(e,{addedItems:t,removedItems:n}){n.forEach((e=>{e.propertiesChanged.unsubscribe(i),e.reset()})),t.forEach((e=>{e.propertiesChanged.subscribe(i)}))}})}get isValid(){return super.isValid&&this.fields.every((e=>e.isValid))&&this.sectionsCollections.every((e=>e.isValid))}get isInvalid(){return super.isInvalid||this.fields.some((e=>e.isInvalid))||this.sectionsCollections.some((e=>e.isInvalid))}reset(){this.sectionsCollections.forEach((e=>{e.reset()})),this.fields.forEach((e=>e.reset())),this.validation.reset()}withFields(...e){const t=new n.ObservableCollection(e);return this._fields.aggregatedCollections.push(t),t}withSections(...e){const t=new s.FormCollection(e);return this.withSectionsCollection(t),t}withSectionsCollection(e){return this._sections.aggregatedCollections.push(e),e}onFieldChanged(e,t){t.some((e=>"isValid"===e||"isInvalid"===e))&&this.notifyPropertiesChanged("isValid","isInvalid")}onSectionChanged(e,t){}onSectionsCollectionChanged(e,t){t.some((e=>"isValid"===e||"isInvalid"===e))&&this.notifyPropertiesChanged("isValid","isInvalid")}onShouldTriggerValidation(e){return e.some((e=>"error"!==e&&"isValid"!==e&&"isInvalid"!==e))}}t.Form=o;class a extends n.ReadOnlyObservableCollection{constructor(){super(),this.aggregatedCollections=new n.ObservableCollection;const e={handle:(e,{startIndex:t,addedItems:i,removedItems:n})=>{for(let r=0,s=0;s<this.aggregatedCollections.length;s++)e===this.aggregatedCollections[s]?(this.splice(t+r,n.length,...i),r+=this.aggregatedCollections[s].length-(i.length-n.length)):r+=this.aggregatedCollections[s].length}},t={handle:e=>{for(let t=0,i=0;i<this.aggregatedCollections.length;t+=this.aggregatedCollections[i].length,i++)e===this.aggregatedCollections[i]&&this.splice(t,e.length,...e.toArray())}};this.aggregatedCollections.collectionChanged.subscribe({handle:(i,{startIndex:n,addedItems:r,removedItems:s})=>{s.forEach((i=>{i.collectionReordered.unsubscribe(t),i.collectionChanged.unsubscribe(e)})),r.forEach((i=>{i.collectionChanged.subscribe(e),i.collectionReordered.subscribe(t)}));let o=0,a=0;for(;a<n&&a<this.aggregatedCollections.length;)o+=this.aggregatedCollections[a].length,a++;this.splice(o,s.reduce(((e,t)=>e+t.length),0),...r.reduce(((e,t)=>(e.push(...t),e)),new Array))}})}}},6544:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FormCollection=void 0;const n=i(1630);class r extends n.ReadOnlyFormCollection{constructor(e){super(e)}get length(){return super.length}set length(e){super.length=e}push(...e){return super.push.apply(this,arguments)}pop(){return super.pop.apply(this,arguments)}unshift(...e){return super.unshift.apply(this,arguments)}shift(){return super.shift.apply(this,arguments)}get(e){return super.get.apply(this,arguments)}set(e,t){return super.set.apply(this,arguments)}splice(e,t,...i){return super.splice.apply(this,arguments)}sort(e){return super.sort.apply(this,arguments)}reverse(){return super.reverse.apply(this,arguments)}copyWithin(e,t,i){return super.copyWithin.apply(this,arguments)}fill(e,t,i){return super.fill.apply(this,arguments)}}t.FormCollection=r},1366:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FormField=void 0;const n=i(6954);class r extends n.Validatable{constructor(e){super();const{name:t,initialValue:i,value:r=i,validators:s=[],validationTriggers:o=[]}=e;this._name=t,this._value=r,this._initialValue=i,this.validation=new n.ObjectValidator({target:this,shouldTargetTriggerValidation:(e,t)=>this.onShouldTriggerValidation(t)}),this.validation.add.apply(this.validation,s),(0,n.resolveAllValidationTriggers)(o).forEach(this.validation.triggers.add,this.validation.triggers)}get name(){return this._name}set name(e){this._name!==e&&(this._name=e,this.notifyPropertiesChanged("name"))}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.notifyPropertiesChanged("value"))}get initialValue(){return this._initialValue}set initialValue(e){this._initialValue!==e&&(this._initialValue=e,this.notifyPropertiesChanged("initialValue"))}reset(){this.validation.reset(),this.error=null}onShouldTriggerValidation(e){return e.some((e=>"value"===e))}}t.FormField=r},1630:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ReadOnlyFormCollection=void 0;const n=i(5390),r=i(6954);class s extends n.ReadOnlyObservableCollection{constructor(e){super(e),this._setupCallbacks=[],this.validation=new r.ObjectValidator({target:this,shouldTargetTriggerValidation:(e,t)=>this.onShouldTriggerValidation(t)});const t={handle:this.onSectionChanged.bind(this)};this.forEach((e=>{e.propertiesChanged.subscribe(t)})),this.collectionChanged.subscribe({handle:(e,{addedItems:i,removedItems:n})=>{n.forEach((e=>{e.propertiesChanged.unsubscribe(t),e.reset()})),i.forEach((e=>{e.propertiesChanged.subscribe(t),this._setupCallbacks.forEach((t=>{t(e)}))})),this.notifyPropertiesChanged("isValid","isInvalid")}}),this._setupSections()}get isValid(){return null===this._error&&this.every((e=>e.isValid))}get isInvalid(){return null!==this._error||this.some((e=>e.isInvalid))}get error(){return this._error}set error(e){const t=!1===e||null==e?null:e;this._error!==t&&(this._error=t,this.notifyPropertiesChanged("error","isValid","isInvalid"))}withItemSetup(e){return"function"==typeof e&&(this._setupCallbacks.push(e),this.forEach((t=>{e(t)}))),this}withoutItemSetup(e){if("function"==typeof e){const t=this._setupCallbacks.indexOf(e);t>0&&(this._setupCallbacks.splice(t,1),this.forEach((e=>e.reset())),this._setupSections())}return this}clearItemSetups(){this._setupCallbacks.splice(0,Number.POSITIVE_INFINITY),this.forEach((e=>e.reset()))}reset(){this._setupCallbacks.splice(0,Number.POSITIVE_INFINITY),this.forEach((e=>e.reset())),this.validation.reset()}onSectionChanged(e,t){t.some((e=>"isValid"===e||"isInvalid"===e))&&this.notifyPropertiesChanged("isValid","isInvalid")}onShouldTriggerValidation(e){return e.some((e=>"error"!==e&&"isValid"!==e&&"isInvalid"!==e))}_setupSections(){this.forEach((e=>{this._setupCallbacks.forEach((t=>t(e)))}))}}t.ReadOnlyFormCollection=s},5300:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FormCollection=t.ReadOnlyFormCollection=t.FormField=t.Form=void 0;var n=i(772);Object.defineProperty(t,"Form",{enumerable:!0,get:function(){return n.Form}});var r=i(1366);Object.defineProperty(t,"FormField",{enumerable:!0,get:function(){return r.FormField}});var s=i(1630);Object.defineProperty(t,"ReadOnlyFormCollection",{enumerable:!0,get:function(){return s.ReadOnlyFormCollection}});var o=i(6544);Object.defineProperty(t,"FormCollection",{enumerable:!0,get:function(){return o.FormCollection}})},9581:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useObservableCollection=function(e){const[t,i]=(0,n.useState)(null);return(0,n.useEffect)((()=>{const t={handle(){i({})}};return null!=e&&("collectionChanged"in e&&e.collectionChanged.subscribe(t),"collectionReordered"in e&&e.collectionReordered.subscribe(t)),()=>{null!=e&&("collectionReordered"in e&&e.collectionReordered.unsubscribe(t),"collectionChanged"in e&&e.collectionChanged.unsubscribe(t))}}),[e]),e};const n=i(8036)},3231:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useObservableMap=function(e){const[t,i]=(0,n.useState)(null);return(0,n.useEffect)((()=>{const t={handle(){i({})}};return null!=e&&e.mapChanged.subscribe(t),()=>{null!=e&&e.mapChanged.unsubscribe(t)}}),[e]),e};const n=i(8036)},3969:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useObservableSet=function(e){const[t,i]=(0,n.useState)(null);return(0,n.useEffect)((()=>{const t={handle(){i({})}};return null!=e&&e.setChanged.subscribe(t),()=>{null!=e&&e.setChanged.unsubscribe(t)}}),[e]),e};const n=i(8036)},5444:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useViewModel=function(e,t){const[,i]=(0,n.useState)(null),o=(0,n.useRef)(null);null===o.current&&(o.current=new Map);const{current:a}=o,l=null!=t&&Array.isArray(t)?t:s,d=(0,n.useRef)(null),h=(0,n.useRef)(e),c=(0,n.useRef)(l);(null===d.current||h.current!==e||c.current.length!==l.length||c.current.some(((e,t)=>!Object.is(e,l[t]))))&&(h.current=e,c.current=l.slice(),d.current=null!=e?{instance:(0,r.isViewModel)(e)?e:new e(...l)}:{instance:e});const{current:{instance:g}}=d;return(0,n.useEffect)((()=>{const e={handle(e,t){let n=!1;t.forEach((t=>{const i=e[t];n=n||a.get(t)!==i,a.set(t,i)})),n&&i({})}};return null!=g&&g.propertiesChanged.subscribe(e),()=>{null!=g&&g.propertiesChanged.unsubscribe(e),a.clear()}}),[g,a,i]),g};const n=i(8036),r=i(8502),s=[]},9010:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useViewModelMemo=function(e,t){const i=null!=t&&Array.isArray(t)?t:s,o=(0,n.useRef)(null),a=(0,n.useRef)(i);(null===o.current||a.current.length!==i.length||a.current.some(((e,t)=>!Object.is(e,i[t]))))&&(a.current=i.slice(),o.current={instance:e()});const{current:{instance:l}}=o;return(0,r.useViewModel)(l),l};const n=i(8036),r=i(5444),s=[]},6839:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useObservableMap=t.useObservableSet=t.useObservableCollection=t.useViewModelMemo=t.useViewModel=void 0;var n=i(5444);Object.defineProperty(t,"useViewModel",{enumerable:!0,get:function(){return n.useViewModel}});var r=i(9010);Object.defineProperty(t,"useViewModelMemo",{enumerable:!0,get:function(){return r.useViewModelMemo}});var s=i(9581);Object.defineProperty(t,"useObservableCollection",{enumerable:!0,get:function(){return s.useObservableCollection}});var o=i(3969);Object.defineProperty(t,"useObservableSet",{enumerable:!0,get:function(){return o.useObservableSet}});var a=i(3231);Object.defineProperty(t,"useObservableMap",{enumerable:!0,get:function(){return a.useObservableMap}})},1101:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Validatable=void 0;const n=i(8502);class r extends n.ViewModel{constructor(){super()}get isValid(){return null===this._error}get isInvalid(){return null!==this._error}get error(){return this._error}set error(e){const t=!1===e||null==e?null:e;this._error!==t&&(this._error=t,this.notifyPropertiesChanged("error","isValid","isInvalid"))}}t.Validatable=r},6954:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveAllValidationTriggers=t.resolveValidationTriggers=t.MapItemValidationTrigger=t.SetItemValidationTrigger=t.CollectionItemValidationTrigger=t.MapChangedValidationTrigger=t.SetChangedValidationTrigger=t.CollectionReorderedValidationTrigger=t.CollectionChangedValidationTrigger=t.ViewModelChangedValidationTrigger=t.ValidationTrigger=t.ObjectValidator=t.Validatable=void 0;var n=i(1101);Object.defineProperty(t,"Validatable",{enumerable:!0,get:function(){return n.Validatable}});var r=i(6386);Object.defineProperty(t,"ObjectValidator",{enumerable:!0,get:function(){return r.ObjectValidator}});var s=i(594);Object.defineProperty(t,"ValidationTrigger",{enumerable:!0,get:function(){return s.ValidationTrigger}}),Object.defineProperty(t,"ViewModelChangedValidationTrigger",{enumerable:!0,get:function(){return s.ViewModelChangedValidationTrigger}}),Object.defineProperty(t,"CollectionChangedValidationTrigger",{enumerable:!0,get:function(){return s.CollectionChangedValidationTrigger}}),Object.defineProperty(t,"CollectionReorderedValidationTrigger",{enumerable:!0,get:function(){return s.CollectionReorderedValidationTrigger}}),Object.defineProperty(t,"SetChangedValidationTrigger",{enumerable:!0,get:function(){return s.SetChangedValidationTrigger}}),Object.defineProperty(t,"MapChangedValidationTrigger",{enumerable:!0,get:function(){return s.MapChangedValidationTrigger}}),Object.defineProperty(t,"CollectionItemValidationTrigger",{enumerable:!0,get:function(){return s.CollectionItemValidationTrigger}}),Object.defineProperty(t,"SetItemValidationTrigger",{enumerable:!0,get:function(){return s.SetItemValidationTrigger}}),Object.defineProperty(t,"MapItemValidationTrigger",{enumerable:!0,get:function(){return s.MapItemValidationTrigger}}),Object.defineProperty(t,"resolveValidationTriggers",{enumerable:!0,get:function(){return s.resolveValidationTriggers}}),Object.defineProperty(t,"resolveAllValidationTriggers",{enumerable:!0,get:function(){return s.resolveAllValidationTriggers}})},2193:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectValidator=void 0;const n=i(5390),r=i(594);class s{static _defaultShouldTargetTriggerValidation(e,t){return t.some((e=>"error"!==e&&"isValid"!==e&&"isInvalid"!==e))}constructor(e){const{target:t,shouldTargetTriggerValidation:i=s._defaultShouldTargetTriggerValidation}=e;this.target=t,this.validators=new n.ObservableCollection,this.validators.collectionChanged.subscribe({_target:this.target,_validate:this.validate.bind(this),handle(e,{addedItems:t,removedItems:i}){i.forEach((e=>e.onRemove&&e.onRemove(this._target))),t.forEach((e=>e.onAdd&&e.onAdd(this._target))),this._validate()}});const o={handle:()=>{this.validate()}};new r.ViewModelChangedValidationTrigger({viewModel:t,shouldTriggerValidation:i}).validationTriggered.subscribe(o);const a=new Map;this.triggers=new n.ObservableSet,this.triggers.setChanged.subscribe({handle(e,{addedItems:t,removedItems:i}){i.forEach((e=>{var t;null===(t=a.get(e))||void 0===t||t.forEach((e=>{e.validationTriggered.unsubscribe(o)})),a.delete(e)})),t.forEach((e=>{const t=(0,r.resolveValidationTriggers)(e);t.forEach((e=>{e.validationTriggered.subscribe(o)})),a.set(e,t)}))}}),this.target.error=null}add(...e){return null!=e&&Array.isArray(e)&&this.validators.push(...e.map((e=>"function"==typeof e?{validate:e}:e))),this}validate(){let e=null,t=0;for(;t<this.validators.length&&null===e;){const i=this.validators[t].validate(this.target);null!=i?e=i:t++}return this.target.error=e,e}reset(){return this.triggers.clear(),this.validators.splice(0),this}}t.ObjectValidator=s},6386:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectValidator=void 0;var n=i(2193);Object.defineProperty(t,"ObjectValidator",{enumerable:!0,get:function(){return n.ObjectValidator}})},4525:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CollectionChangedValidationTrigger=void 0;const n=i(5411);class r extends n.ValidationTrigger{constructor(e){const{collection:t,shouldTriggerValidation:i}=e;super(t),this._collectionChangedEventHandler={_notifyValidationTriggered:this.notifyValidationTriggered.bind(this),handle(e,t){i&&!i(e,t)||this._notifyValidationTriggered()}}}subscribeToTarget(){this.trigger.collectionChanged.subscribe(this._collectionChangedEventHandler)}unsubscribeFromTarget(){this.trigger.collectionChanged.unsubscribe(this._collectionChangedEventHandler)}}t.CollectionChangedValidationTrigger=r},7510:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CollectionItemValidationTrigger=void 0;const n=i(8257),r=i(5411);class s extends r.ValidationTrigger{static _defaultShouldTriggerValidation(e){return!0}constructor(e){const{collection:t,validationTriggerSelector:i,shouldTriggerValidation:n=s._defaultShouldTriggerValidation}=e;super(t),this._validationTriggerSelector=i,this._shouldTriggerValidation=n,this._itemValidationTriggersByItem=new Map,this._collectionChangedEventHandler={handle:(e,{addedItems:t,removedItems:i})=>{t.forEach(this._ensureItemValidationTriggers,this),i.forEach((e=>{const t=this._itemValidationTriggersByItem.get(e);null!=t&&(t.itemCount--,0===t.itemCount&&(t.validationTriggers.forEach((e=>{e.validationTriggered.unsubscribe(t.validationTriggerEventHandler)})),this._itemValidationTriggersByItem.delete(e)))})),this.notifyValidationTriggered()}}}subscribeToTarget(){Array.from(this.trigger).forEach(this._ensureItemValidationTriggers,this),this.trigger.collectionChanged.subscribe(this._collectionChangedEventHandler)}unsubscribeFromTarget(){this.trigger.collectionChanged.unsubscribe(this._collectionChangedEventHandler),this._itemValidationTriggersByItem.forEach((({validationTriggers:e,validationTriggerEventHandler:t})=>{e.forEach((e=>{e.validationTriggered.unsubscribe(t)}))})),this._itemValidationTriggersByItem.clear()}_ensureItemValidationTriggers(e){let t=this._itemValidationTriggersByItem.get(e);if(null==t){const t={handle:()=>{this._shouldTriggerValidation(e)&&this.notifyValidationTriggered()}},i=(0,n.resolveAllValidationTriggers)(this._validationTriggerSelector(e));i.forEach((e=>{e.validationTriggered.subscribe(t)})),this._itemValidationTriggersByItem.set(e,{itemCount:1,validationTriggerEventHandler:t,validationTriggers:i})}else t.itemCount++}}t.CollectionItemValidationTrigger=s},75:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CollectionReorderedValidationTrigger=void 0;const n=i(5411);class r extends n.ValidationTrigger{constructor(e){const{collection:t,shouldTriggerValidation:i}=e;super(t),this._collectionReorderedEventHandler={_notifyValidationTriggered:this.notifyValidationTriggered.bind(this),handle(e,t){i&&!i(e,t)||this._notifyValidationTriggered()}}}subscribeToTarget(){this.trigger.collectionReordered.subscribe(this._collectionReorderedEventHandler)}unsubscribeFromTarget(){this.trigger.collectionReordered.unsubscribe(this._collectionReorderedEventHandler)}}t.CollectionReorderedValidationTrigger=r},2893:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MapChangedValidationTrigger=void 0;const n=i(5411);class r extends n.ValidationTrigger{constructor(e){const{map:t,shouldTriggerValidation:i}=e;super(t),this._mapChangedEventHandler={_notifyValidationTriggered:this.notifyValidationTriggered.bind(this),handle(e,t){i&&!i(e,t)||this._notifyValidationTriggered()}}}subscribeToTarget(){this.trigger.mapChanged.subscribe(this._mapChangedEventHandler)}unsubscribeFromTarget(){this.trigger.mapChanged.unsubscribe(this._mapChangedEventHandler)}}t.MapChangedValidationTrigger=r},2438:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MapItemValidationTrigger=void 0;const n=i(8257),r=i(5411);class s extends r.ValidationTrigger{static _defaultShouldTriggerValidation(e){return!0}constructor(e){const{map:t,validationTriggerSelector:i,shouldTriggerValidation:n=s._defaultShouldTriggerValidation}=e;super(t),this._validationTriggerSelector=i,this._shouldTriggerValidation=n,this._itemValidationTriggersByItem=new Map,this._maChangedEventHandler={handle:(e,{addedEntries:t,removedEntries:i})=>{t.forEach((([,e])=>this._ensureItemValidationTriggers(e))),i.forEach((([,e])=>{const t=this._itemValidationTriggersByItem.get(e);null!=t&&(t.itemCount--,0===t.itemCount&&(t.validationTriggers.forEach((e=>{e.validationTriggered.unsubscribe(t.validationTriggerEventHandler)})),this._itemValidationTriggersByItem.delete(e)))})),this.notifyValidationTriggered()}}}subscribeToTarget(){Array.from(this.trigger).forEach((([,e])=>this._ensureItemValidationTriggers(e))),this.trigger.mapChanged.subscribe(this._maChangedEventHandler)}unsubscribeFromTarget(){this.trigger.mapChanged.unsubscribe(this._maChangedEventHandler),this._itemValidationTriggersByItem.forEach((({validationTriggers:e,validationTriggerEventHandler:t})=>{e.forEach((e=>{e.validationTriggered.unsubscribe(t)}))})),this._itemValidationTriggersByItem.clear()}_ensureItemValidationTriggers(e){let t=this._itemValidationTriggersByItem.get(e);if(null==t){const t={handle:()=>{this._shouldTriggerValidation(e)&&this.notifyValidationTriggered()}},i=(0,n.resolveAllValidationTriggers)(this._validationTriggerSelector(e));i.forEach((e=>{e.validationTriggered.subscribe(t)})),this._itemValidationTriggersByItem.set(e,{itemCount:1,validationTriggerEventHandler:t,validationTriggers:i})}else t.itemCount++}}t.MapItemValidationTrigger=s},2127:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SetChangedValidationTrigger=void 0;const n=i(5411);class r extends n.ValidationTrigger{constructor(e){const{set:t,shouldTrigger